web-dev-qa-db-ja.com

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

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

Gpgのようにエントロピーをあまり認識していない暗号関数が他にもたくさんあります。

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

12
dbanck

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

Gpgキーの作成では、乱数ジェネレータとして/dev/randomを使用しているため、仮想マシンでも実際のマシンと同じように安全です。
/dev/randomはブロックデバイスであり、使用可能な量を超えるランダム性の配信を停止します。使用可能なランダム性を次の方法で確認できます
cat /proc/sys/kernel/random/entropy_avail(前後のはずです 20

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

仮想マシンのエントロピーで利用可能な 素敵な記事 があります。残念ながら、記事の bothparts は現在、Googleキャッシュでのみ利用できます。

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

真のランダム性と比較した場合の/dev/urandomの信頼性の点では、
申し訳ありませんが、適切な回答を提供することはできません。

このトピックの詳細については、 http://security.stackexchange.com にアクセスするか、例を参照してください。 この投稿

6
nce

はい、ほとんどの場合、仮想マシンでの暗号化は「実際の」サーバーよりも安全ではありません。

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

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

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

最善の解決策は、VMをあきらめて、見ているHWがエントロピーの悪いソースであることを理解することです。次に、高品質のエントロピーを配布するローカルネットワークサービスを準備します( Entropy Broker )。「エントロピーサーバー」は、一般的なハードウェア(十分な時間動作する必要があり、適切なOSが必要)または特定の暗号化ハードウェア(TPM)からランダム性を抽出する場合があります。チップ、VIA南京錠チップなど)。

A VMこのようなサービスの使用はmore起動したばかりの「実際の」サーバーよりも(暗号的に)安全です。