起動時にメモリ内に秘密鍵を生成するサーバーがあるとします。
サーバーインスタンスの実行中に(つまり、何らかの形でメモリ内でアクセスして)スヌーピング管理者(HerokuまたはNodejitsuから)がその秘密鍵を回復する方法はありますか?
問題があれば、これを Node.JS で実行しています
起動時にメモリ内に秘密鍵を生成するサーバーがあるとします。
サーバーインスタンスの実行中に(つまり、何らかの形でメモリ内でアクセスして)スヌーピング管理者(HerokuまたはNodejitsuから)がその秘密鍵を回復する方法はありますか?
問題があれば、これを Node.JS で実行しています
秘密鍵を生成するだけでなく、鍵のペアを生成します。次に、相手がそのキーペアの信頼できる公開キーを使用していることを確認する必要があります(署名の検証またはデータの暗号化のため)。公開鍵を使用するだけでは、それが攻撃者のものではないことを確認できません。したがって、管理者が秘密鍵にアクセスできない場合でも、公開鍵を自分で生成したものに置き換えることができます。したがって、中間者攻撃の男性にとっては大きなチャンスがあります。
キー管理は難しいです。単純に無計画なスキームに置き換えることはできません。実行ごとにキーペアを生成することにも、多くの(セキュリティ)欠点があります。一般的に、それはそれほど良い考えではありません。
それは、彼らが使用しているシステムと、それを防ぐ機能があるかどうかによって異なります. そうでなければ、ホストにアクセスできる管理者は、さまざまな方法で秘密鍵を取得できると言えます。たとえば、インスタントをフリーズしてその状態を保存し、基本的にメモリをハードディスクにコピーしてからフリーズを解除できます。高速なシステムでは時間がかかりません。また、インスタンスは単にハイパーバイザーの下で実行中のアプリであるため、インスタンスのメモリをダンプすることもできます。これらを実行するのは簡単ではないかもしれませんが、セキュリティ分野での私の経験に基づくと、非常に可能性が高いと言えます。
ただし、キーの暗号化されたバージョンをメモリに保存する必要があると思います。また、使用されているときにのみ復号化するため、復号化されたバージョンは一時的に CPU レジスタに格納されるだけです。