web-dev-qa-db-ja.com

SSL証明書のCSRおよびキーファイルが生成される場所は重要ですか?

ワイルドカードSSL証明書のCSRを作成する必要があります。 SSLプロバイダーからのいくつかのFAQは、証明書をインストールするマシンでCSRファイルを生成する必要があると言っていますか?後でファイルを正しい場所に移動する限り、CSRまたはキーファイルをどこに生成するかは問題ではないと私は理解しています。

だから私の質問は:SSL証明書のCSRとキーファイルがどこで生成されるかは重要ですか?

18
Jan Deinhard

あなたの理解は正しいです。他のすべての条件が同じであれば、それは問題ではありません。しわがあります。

問題のサーバーでそれらを生成することの1つの利点は、転送中にキーが危険にさらされる可能性を最小限に抑えることです。安全なマシンを使用してそれらを生成し、安全な方法(MITM攻撃に耐性がある)を使用してそれらをサーバーに移動する限り、それを回避できます。故意にコピーを保持するつもりがなく、安全に保護されている場合を除き、生成システムでそれらを安全に消去することを忘れないでください。

別のマシンで生成する1つの利点:通常、これはデスクトップです。デスクトップにはキーボードとマウスのケーブル(つまり、あなた!)を介して接続されたランダム性の大きな原因があるため、デスクトップマシンのエントロピープールはほとんどの場合、無人サーバーよりも深いです。エントロピーが不足すると、キーの生成に時間がかかるか、代わりに/dev/urandom PRNG出力を使用します。これは、生成ツールのパラノイアの程度によって異なります。これにより、より弱いキーに;デスクトップマシンはこの問題を抱えていない傾向があります。

後の編集別の場所での議論 に従ってここにリンクされ、2つのポイントが提起されました。まず、たとえばdd if=/dev/random bs=1k count=10 of=/tmp/entropy.datを使用してデスクトップにentropyを生成し、thatをリモートサーバーにコピーしてフィードすることで、中途半端な家に行くことができます。直接、またはリモートサーバーのエントロピープールを深くすることにより、キー生成プロセスに追加します。私はまだ前者を行う方法を見つけていません。後者を行うには一般に特権を行使する必要があります。これは、ユーザーとリモートサーバーの間のチャネルが安全でない場合、むしろ反対意見全体のポイントであり、安全ではありません。

第二に、推定可能な mjg59 は、ハードウェアセキュリティモジュールの問題を引き起こします。つまり、秘密鍵を挿入するデバイス、または作成するデバイスの内部に、秘密鍵を作成し、鍵を公開せずに鍵操作を実行します。 。それは素晴らしい点ですが、この質問の範囲外です。

しかし、スレッドのより一般的な結果(正確な脅威モデルを用意し、適切に応答を選択する必要がある)は良いものです。私の脅威モデルでは、通信チャネルは安全ですが、エンドポイントはインテリジェントな攻撃を受けています。つまり、エントロピー的に強力なSSLキーペアをローカルで生成して配布します。私のモデルが不正確であることが判明し、通信が脆弱であることが判明した場合、すべてのSSLキーペアが危険にさらされていると思い込むことはすぐにわかります。 脅威モデルが異なる場合は、それに応じてプラクティスを調整する必要があります。

21
MadHatter

それは多少重要です。

別のマシンで生成すると、鍵は生成マシンで脆弱になり、サーバーで脆弱になります。感染したマシンを使用してそれらを生成する場合、一部のviriiは、それらが安全なサーバーに移動される前でも、キーを盗む可能性があります。

安全なサーバー上で生成し、CSR /証明書を移動するだけの場合、秘密鍵は1台のマシンにのみ存在するため、最初の場合よりも誰か/何かが秘密鍵を取得する可能性は低くなります。

7
mulaz