web-dev-qa-db-ja.com

/ dev / urandomで文字「u」は何を意味しますか?

/dev/randomの読み取りはブロックされる可能性があることを理解していますが、/dev/urandomの読み取りはブロックされないことが保証されています。

どこにuという文字が入りますか?それは何を意味していますか?

ユーザースペース?ブロックを解除しますか?マイクロ?

更新:

質問の最初の文言に基づいて、/dev/random/dev/urandomの有用性についていくつかの議論がありました。リンク / dev/urandomに関する神話 は以下に3回投稿されており、質問への この答え に要約されています / dev/random vs/dev/urandom

90
Tom Hale

無制限

Linuxでは、 random_read および random_read_unlimited という名前のカーネル関数を比較すると、u isurandom内の文字unlimitedの語源が示されます。

これは line 114 によって確認されます:

/ dev/urandomデバイスにはこの制限がありません[...]

更新:

Linuxの最初の/dev/randomまたは/dev/urandomについて、@StéphaneChazelasが 元のパッチを使用した投稿 を提供し、@ StephenKittが 両方が同時に導入されたことを示しました

89
Tom Hale

それはあなたが話しているどの「Unix」システムに依存します。

FreeBSDでは、/ dev/urandomと/ dev/randomは同じデバイスです。文字uは、下位互換性のために存在する歴史的な遺産です。起動時に、十分なエントロピーが収集されるまでブロックし、その後再びブロックすることはありません。詳細については、 尿毒症に関する神話 を参照してください。

最近のLinuxの世界(カーネル4.8以降)では、両方のデバイスが同じCSPRNGから取得するため、唯一の違いは、一部の人々が攻撃の存在を推測していることです。この攻撃はFTL [Faster than Light]の旅行に似ています。推測するのは簡単ですが、実際に設計するのは難しいです。

TLDRは/ dev/urandomを使用するだけです。

19
Walter