GNU/Linux >> Linux の 問題 >  >> Linux

/dev/urandom からのランドはログインキーとして安全ですか?

短い答えはイエスです。長い答えもイエスです。 /dev/urandom 既存の技術を考えると、真のランダム性と見分けがつかないデータが得られます。 /dev/urandom よりも「良い」ランダム性を得る 数少ない「情報理論的」暗号化アルゴリズムの 1 つを使用していない限り、提供は無意味です。

urandom の man ページ /dev/urandom を示唆している場合、やや誤解を招く可能性があり、間違いなく完全に間違っています。 「エントロピーを使い果たす」可能性があり、/dev/random 優先する必要があります。 /dev/urandom の唯一の瞬間 かも 低エントロピーによるセキュリティの問題が、自動化された新しい OS インストールの最初の瞬間に発生することを暗示します。マシンが何らかのネットワーク アクティビティを開始するポイントまで起動した場合、すべての実用的な用途に十分な高品質のランダム性を提供するのに十分な物理的ランダム性が収集されています (ここでは Linux について話していますが、FreeBSD では、わずかな瞬間の瞬間です)。弱点は全く出ません)。一方、/dev/random 不適切なタイミングでブロックする傾向があり、非常に現実的で煩わしいユーザビリティの問題につながります。または、簡潔に言うと、/dev/urandom を使用します。 そして、幸せになります; /dev/random を使用 申し訳ありません。

(編集: この Web ページでは、/dev/random の違いについて説明しています。 および /dev/urandom かなりはっきりしています。)

「Cookie」を生成する目的:そのような Cookie は、2 人のユーザーが同じ Cookie を共有しないようにする必要があり、既存の Cookie の値を「推測」することは計算上不可能です。適切な品質のランダム性 (/dev/urandom 十分な長さであること .経験則として、2 未満の場合 ユーザー (n =33 地球の全人口があなたのシステムを使用できる場合)、n+128 のシーケンス ビットは十分に広いです。既存の値との衝突をチェックする必要さえありません。一生のうちにそれを見ることはありません。 161 ビットは 21 バイトに収まります。

ある より短い Cookie が必要であり、それでもデータベースでの衝突の検索を避けたい場合に実行できるいくつかのトリック。しかし、これは Cookie にはほとんど必要ないはずです (Web ベースのコンテキストを想定しています)。また、Cookie の機密性を保持することを忘れないでください (つまり、HTTPS を使用し、Cookie の「secure」フラグと「HttpOnly」フラグを設定します)。


はい、素晴らしい方法です。

@トーマスの説明はそれを釘付けにします。そして彼が /dev/urandom を批判するのは完全に正しい マンページ。スポット。

ただし、「既に存在するかどうかの確認」はスキップしてください。そのチェックは無意味です。それは起こらないだろう。 (その可能性は、同じ日に複数回雷に打たれる可能性よりも低くなります。)


Linux
  1. / dev/randomを使用してLinuxでランダムパスワードを生成する方法

  2. Linuxは複数の連続したパスセパレーター(/ home //// username /// file)をどのように処理しますか?

  3. / dev / stdin、/ dev / stdout、および/ dev / stderrはどの程度移植可能ですか?

  1. / dev/randomと/dev/ urandomをいつ使用するか?

  2. /dev/dm-Z デバイスから /dev/sdX および /dev/mapper/mpathY デバイスをマップする方法

  3. /dev/shm/ と /tmp/ はいつ使用する必要がありますか?

  1. /dev/random からの RdRand

  2. Linux:/dev/console 、 /dev/tty 、 /dev/tty0 の違い

  3. カーネル:/dev/kmem と /dev/mem を無効化