アカウント名:
パスワード:
僕は Linux のソースコードを読んだことがほとんどないので、以下の説明は間違っているかもしれないので念のため。
drivers/char/random.c [kernel.org] でハードウェア乱数を利用する部分は 2 箇所ある。
一つは get_random_bytes_arch 関数 [kernel.org]で、これは明示的にこの関数を呼ばないと使われない。
もう一つは extract_buf 関数の中 [kernel.org]で、他の手段で乱数を得た後に、ハードウェア乱数を XOR している。こっちは CPU がハードウェア乱数をサポートしていれば自動的に使われるが、仮に誰かがハードウェア乱数の値を任意に設定できたとしても、 XOR する前の乱数と比べてエントロピーが減少することはないので安全。……ただし、 XOR する前の乱数の値によってハードウェア乱数の値を変化させることができたら、この限りではない。例えば XOR する前の値とハードウェア乱数の値がいつでも一致するなら、 XOR の結果は常に 0 になってしまう! 脆弱性! 脆弱性!!
いや、そんなのとっくに考慮済みで、事実上不可能なのだろうとは思いますが。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
アレゲはアレゲ以上のなにものでもなさげ -- アレゲ研究家
drivers/char/random.c を読んでみた (スコア:5, 参考になる)
僕は Linux のソースコードを読んだことがほとんどないので、以下の説明は間違っているかもしれないので念のため。
drivers/char/random.c [kernel.org] でハードウェア乱数を利用する部分は 2 箇所ある。
一つは get_random_bytes_arch 関数 [kernel.org]で、これは明示的にこの関数を呼ばないと使われない。
もう一つは extract_buf 関数の中 [kernel.org]で、他の手段で乱数を得た後に、ハードウェア乱数を XOR している。こっちは CPU がハードウェア乱数をサポートしていれば自動的に使われるが、仮に誰かがハードウェア乱数の値を任意に設定できたとしても、 XOR する前の乱数と比べてエントロピーが減少することはないので安全。……ただし、 XOR する前の乱数の値によってハードウェア乱数の値を変化させることができたら、この限りではない。例えば XOR する前の値とハードウェア乱数の値がいつでも一致するなら、 XOR の結果は常に 0 になってしまう! 脆弱性! 脆弱性!!
いや、そんなのとっくに考慮済みで、事実上不可能なのだろうとは思いますが。