web-dev-qa-db-ja.com

SSH秘密鍵を回復しますか?

SSHを介して多数のマシンにログインするために設定された(PuTTYgenによって生成された)RSAキーがあります。むしろ、私はそのような鍵を持っていました。 (クラッシュしたコンピューター、XPの再インストールが必要になるまで。秘密鍵ファイルはファイルシステムによって暗号化されており、基本的に全体として他のOSとユーザー、何でもXPがキーを解読するために行うことは、どうやらもう不可能です。)

私が残したのは、公開鍵のOpenSSL互換のbase64(まだパスワードを受け入れるように設定されているマシンの1つから)と、もちろん鍵のパスフレーズです。マシンが停止する前のレジストリの古いバックアップがまだあるかもしれませんが、それを検索する必要があります。いずれにしても、キーファイル自体を復元できない可能性があるようです。 (それがisである場合、それは素晴らしいことです。しかし、見込み客は今のところ見た目が良くありません。)

秘密キーを含む実際のファイルを回復できない場合、秘密キーを回復する方法はありますか?おそらく、公開鍵をPuTTYgenまたはopensslにインポートし、それに対して逆の処理を行うことによってでしょうか?関係するすべての管理者に連絡してそれらに新しいキーを送信するのは面倒なので、これはほとんど最後の手段です。

5
cHao

現在、公開鍵から秘密鍵を「回復」する唯一の方法は、徹底的な検索(ブルートフォース)です。このシステムは、この方法で特別に設計されており、秘密鍵が誰かに知られることを心配することなく、誰にでも公開鍵を発行できるようになっています。

編集:
警告!簡単な説明を先に!

RSA鍵(最も一般的)があるとすると、公開鍵にはnとeの2つの数字が含まれます。秘密鍵のnは同じで、別の番号はdです。元々、nとeがテキストを暗号化できるように、n、d、eを計算するために使用される2つの巨大な素数pとqがありました。 nとdは暗号文を復号化できます。あなたはnとeを持っています。 nを因数分解してpとqを計算できます。問題は、nが膨大な数のpおよびq数を含む異常な巨大数であることです。現在、これをすばやく行う方法は知られていません。ハッカーが筆記用具を試してみたかどうかはわかりません。したがって、本質的に、それは現実的に不可能ではありません。

パスフレーズをキーに割り当てると、コンピューターに保存されている秘密キーが単純に暗号化されます。これによる公開鍵への影響はまったくありません。パスフレーズは、秘密鍵自体に比べて解読が比較的簡単です。そのため、これはプライマリセキュリティに依存すべきではありません(秘密キーは安全な場所にのみ保管する必要があります)。

13
Chris S

公開鍵があれば、秘密鍵を回復する方法はないと確信しています。公開鍵を持っている人なら誰でも、そこから秘密鍵を判別できるため、セキュリティ上の大きなリスクになります。

5
Richard

私が正しく理解していれば、公開鍵から互換性のある秘密鍵を生成する必要があります。これが可能であれば、システム全体は無意味です。管理している場合、SSL証明書から銀行の秘密鍵を生成する方法を教えてください。

4
James L

公開鍵から秘密鍵を回復することは絶対に不可能です。プライベートからパブリックを生成できますが、その逆はできません。これは完全に不可能であり、非対称暗号化のポイントでもあります。

1
DrDamnit

すばやくできる唯一のことは、新しい秘密および公開鍵セットを生成し、アクセスしようとしているサーバーの公開鍵を置き換えることですが、これを行うには、公開したサーバーに物理的にアクセスできる必要があります。以前に保存されたキー。

マシンに物理的にアクセスできない場合、それは事実上不可能です。

また、サーバーに物理的にアクセスできる場合でも、ハードドライブまたはキーが格納されている領域が暗号化されている場合は、事実上不可能です。

ダグパン

0
Doug Pan