プログラム開始時のエントロピー消費を防止できますか?


13

貴重な暗号キーを作成するための安全な環境として、Knoppix(または他のLive CD / DVD)を使用しています。残念ながら、そのような環境ではエントロピーは限られたリソースです。プログラムの開始ごとにかなりのエントロピーが消費されることに気付きました。これは、アドレスのランダム化が必要なスタック保護機能が原因であると思われます。

素晴らしい機能ですが、完全に役に立たず、さらに悪いことに、私のシナリオでは破壊的です。この機能を無効にする可能性はありますか?元のKnoppix(または何でも)イメージを引き続き使用でき、実行時に構成が必要なものを好むでしょう。

これはglibcが原因だと読みました。strace -p $PID -f -e trace=openプログラムを起動したときに、bashに対して/ dev / randomへのアクセスが表示されないことに驚いています。しかし、私はexecve()とリンカーの相互作用に慣れていません。


常にハードウェア暗号化カードに投資できます。
ヨルダン

2
「完全に役に立たない」=実際には、最新のオペレーティングシステムに普遍的なセキュリティ機能... Ps。カーネルがこれを行うため、ユーザー空間->トレースするシステムコールはありません。
-goldilocks

ASLR呼び出しget_random_intget_random_int何度か変更されました、エントロピーを枯渇させることはありません。これに気づいたカーネルのバージョンは何ですか?どのアーキテクチャですか?カーネルはでコンパイルされていCONFIG_ARCH_RANDOMますか?
ジル 'SO-邪悪な停止'

ところで、Linuxの/dev/randomエントロピーフェティシズムは見当違いです。システムに十分なエントロピーがあれば/dev/urandom、キー生成には問題なく、エントロピーを消費しません。
ジル 'SO-悪であるのをやめる'

5
@goldilocks引用するときは正直に言ってください:「[...]私のシナリオでは完全に役に立たない[...]」
Hauke Laging

回答:


18

これが実際にアドレスのランダム化によるものである場合(ASLRがプログラムのロード場所に関係している場合は、http//en.wikipedia.org/wiki/Address_space_layout_randomizationを参照)norandmaps、ブート時にカーネルに渡すことで無効にできます。オプション(http://www.linuxtopia.org/online_books/linux_kernel/kernel_configuration/re30.htmlを参照)。


このカーネルパラメーターは実際に問題を解決します。
ハウケレイジング
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.