仮想マシンのエントロピー


12

ご存知かもしれませんが、仮想マシンでエントロピーを生成することは、「通常の」PCほど簡単ではありません。正しいツールを使用しても、仮想マシンでgpgキーを生成するには時間がかかる場合があります。

gpgほどエントロピーに対応していない暗号関数がたくさんあります。

仮想マシンでの暗号化は安全性が低いと言えますか?


1
「実際の」マシンからの乱数は、実際には最初からランダムではありません(ハードウェア乱数ジェネレーターを使用している場合を除き、ほとんどの場合はそうではありません)。これらはすべて擬似ランダムであり、エントロピーは同じ方法で生成されます。VMで遅い場合は、仮想化プラットフォームが遅くなっています(Type 1ハイパーバイザーを使用していないと思います)。
クリスS

回答:


6

まず第一に、私はセキュリティ専門家ではありません。

gpgキーの作成は/dev/random乱数ジェネレーターとして使用されているため、仮想マシンでも実マシンでも安全です。
/dev/randomブロッキングデバイスであり、利用可能な量を超えるランダム性の配信を停止します。使用可能なランダム性を確認するには
cat /proc/sys/kernel/random/entropy_avail2000年前後である必要があります)

仮想マシンでは、ハードウェアへのアクセスが不足しているため、実際のマシンよりも実際に利用可能なランダム性は低くなります。エントロピーキー
適用したり、仮想化されていないマシンに切り替えるなどして、エントロピーを増やすことができます

ある素敵な記事の仮想マシン上のエントロピーで利用可能に。残念ながら 現在、記事の両方の部分はGoogleキャッシュでのみ利用可能です。

エントロピーは、ssl / tls暗号化にさらに影響します。そのため、実際に/dev/urandomランダムなソースを使用することは、実際にアプリケーションのセキュリティに影響を与えます。

/dev/urandom真のランダム性と比較した場合の信頼性の観点から。
私はそこにきちんとした答えを与えることができません、ごめんなさい。

このトピックの詳細については、http://security.stackexchange.comにアクセスするか、たとえば この郵便受け


1
/dev/urandomは暗号的に安全なPRNG(と同じプールによってシードされる/dev/random)を使用しているため、このプールに十分な初期エントロピーがあれば問題はないはずです。親マシンのエントロピープールからシードする点があるかもしれません。
パエロエベルマン

3

はい、ほとんどの状況では、暗号化は「実際の」サーバーよりも仮想マシンで安全性が低くなります。

後者は、少なくとも実際のハードウェアからエントロピーを収集できます。実際、HWの一部の動作は、ほとんどの場合、すべてのアカウントによってランダムな小さな変動の影響を常に受け​​る何らかの物理現象に縛られています。通常、サーバーはリセットせずに非常に長い時間実行されるため、結果のエントロピープールは最終的に十分な品質になります。

仮想マシンには3つの問題があります。

  1. 彼らが見るハードウェアは現実のものではないため、物理的な現象の影響はほとんどありません。彼らははるかに遅い方法でエントロピーを収集することができます。
  2. VMは実サーバーよりもはるかに頻繁にリセットされ、十分なエントロピーを収集する時間さえない場合があります(これは、シャットダウン時に現在のエントロピー状態を保存し、再起動時にエントロピープールに供給するために使用するのがよい理由です)。
  3. 実サーバー、不正なエントロピープールを処理するタイミングを判断する可能性があります、仮想マシンは、エントロピープールが良好であるという印象の下でより簡単に動作します(HWから収集されたが、HWが実際ではありません)、実際には悪いです。

最善の解決策は、VMに単純にあきらめて、見たHWがエントロピーの悪いソースであることを認識させることです。次に、高品質のエントロピーを配布するためのローカルネットワークサービスを手配します(Entropy Brokerを参照)。「エントロピーサーバー」は、汎用HW(十分な時間動作し、適切なOSが必要)または特定の暗号化HW(TPMチップ、VIAパドロックチップなど)からランダム性を抽出できます。

そのようなサービスを使用してA VMは偶数であり、よりちょうど起動しました「本当の」サーバーよりも(暗号学的に)安全な。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.