利用可能なエントロピーを確認するにはどうすればよいですか?


14

Linuxシステムでは、利用可能なエントロピーをチェックできます(/dev/randomPRNG目的でタップしているかどうかを知るのに役立ちます)。

cat /proc/sys/kernel/random/entropy_avail

ただし、/procMac(AFAIK)に相当するものはありません。Macで利用可能なシステムエントロピーを確認するにはどうすればよいですか?OS X 10.7.3(Lion)を実行しています


Kyleの答えの下で私のコメントを更新するには— Macがこの情報を表示しない理由の1つは、それが必要ないことです(ほとんどの場合)。/dev/randomプールに十分なエントロピーがない場合、Linuxシステムはへの呼び出しをブロックします。Macでは、デーモンを使用して定期的にエントロピープールに追加続けSecurityServerます。

ただし、何らかの理由でデーモンに障害が発生した場合、障害を示すことなく出力品質が低下することにも注意してください。

ただし、その出力の品質は、適切なエントロピーの定期的な追加に依存します。場合はSecurityServer、システムのデーモンが何らかの理由で失敗し、出力品質は、ランダムなデバイス自体からのいかなる明示せずに時間をかけて低下します。

そのため、エントロピーの量は簡単に入手できませんが、それが存在しないという意味ではなく、その知識が役立つ可能性がある場合があります。


本当に確認する必要がありますか、それとも使用するのに十分なものがあることを確認するだけですか?developer.apple.com/library/mac/#documentation/Darwin/Reference/…を参照してください。Quote:「パラノイドプログラマーは、選択のエントロピーを(キーストロークやマウスのタイミングから)収集し、random取得する前に直接シードすることで、このリスクにある程度対抗できます。重要な乱数。」
クリスW.レア

使用するのに十分であることを確認する必要があります。
rm -rf

回答:


6

これは解決策ではなく、エントロピーがLinuxでどのように収集され使用されるかを明確にするものです。

Linuxには、実際には2つの異なるエントロピープールがあります。

/dev/randomおよび/dev/urandom

前者は、システムエントロピーソースによって供給される真のランダムプールです。
後者は、BSDやOS Xで見られるようなPRNGです。

ただし、urandomでさえ、高品質の疑似ランダムデータを生成するために、「実際の」ランダムエントロピーのシードが必要です。最近のカーネルでは、/ dev / randomにエントロピーがまったくない場合でもurandomはブロックされませんが、urandomはさらにエントロピーが利用可能になるまで最後の有効なシードを再利用します。urandomはノンブロッキングなので、エントロピーの安定したストリームを必要とするほとんどのサービスは、/ dev / randomに依存するのではなく、それを使用します。

ただし、さまざまなSSLスイートなど、擬似ランダムエントロピーでは対応できないサービスもありますが、真に予測不可能なエントロピーソースが必要です。この場合、urandom(または他のPRNG)は使用できず、/ dev / randomが作用します。


2

Mac OS Xは単純にYarrowを使用します。さらにFreeBSDでさえ、「Fortuna」と呼ばれる改良版に切り替えました。

Yarrowの強度は、キーのサイズによって制限されます。たとえば、Yarrow-160の有効なキーサイズは160ビットです。セキュリティが256ビットを必要とする場合、Yarrow-160はジョブを実行できません。

これは、Appleの優先事項にセキュリティ/堅牢性などが含まれていないことを思い出させるものです。


1

Mac OS Xは、FreeBSDと同様に、外部のエントロピーソースに依存しません。代わりに、Yarrowアルゴリズムに基づいた擬似乱数ジェネレーターを使用します。エントロピープールではなくアルゴリズムを使用しているため、「十分な」エントロピーがあることを確認する必要はありません- ブロックせずに/ dev / randomから常に読み取ることができます

したがって、質問に答えるには、「偏執狂的」で、外部ソース(キーストローク/マウスの動きなど)に基づいてエントロピーを作成する必要がある場合を除きます。その場合、自分で行う必要があり、/ dev /で使用可能なエントロピーの量ランダムな使用は常に無限です。


4
これは完全に正しいわけではありません。アルゴリズムを使用しても、無限エントロピーになりません。Linuxの場合、エントロピープールが低いとブロックしますが、Macの場合:「追加のエントロピーは、カーネルのランダムジッタ測定からSecurityServerデーモンによってジェネレータに定期的に供給されます」。基本的に、それはそれを処理し、起動直後に使用するためにエントロピーをディスクに保存します。また、ノコギリソウは弾力性のある一方で、品質はエントロピーの定期的な添加に依存していることを述べている-それは本当に無限のエントロピーであれば必要ではないだろう何か
-rf RM

1
さらに、「何らかの理由でSecurityServerシステムデーモンに障害が発生した場合、ランダムなデバイス自体からの明示的な指示なしに、出力品質が徐々に低下する」述べています。エントロピー値が、1がないことを意味するものではありません...ところで、私が言及していた。このmanページ上記の私の引用符で
RM -rf

私はは/ dev /ランダムへの呼び出しは、エントロピーの品質よりもブロックするかどうかという点で、より考えていた@RM真、
カイルクローニン

>あなたが「偏執狂的」でない限り— Mac OS Xは、安全であると少しでも考慮されるために、合理的な量のランダム性を単に欠いている
-poige
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.