RSAキーペアをWindowsに保存するにはどうすればよいですか?


1

Openssl-RSAを使用して簡単な暗号化/復号化プログラムを作成しようとしています。データが暗号化されると、キーペアが生成されます。データを復号化する場合、暗号化中に生成された正確なキーペアが必要です。

では、可能な場合はいつでも暗号化されたコンテンツを解読できるように、このキーペアをどこにどのように保存すればよいのでしょうか?

暗号化には公開鍵を使用し、復号化には秘密鍵を使用しています。

回答:


1

キーペアは、技術的にはどこにでも保存できますが、一般的な方法がいくつかあります。

データが特に機密であり、定期的/継続的に必要とされない場合、秘密キーを保存する最も安全な方法は、フラッシュドライブ上、または金庫または銀行の金庫の紙に印刷することです。(公開鍵は好きな場所に保存できることに注意してください-結局のところ、それは「公開」情報です。

データに簡単にアクセスできるようにする必要がある場合、毎回取得する手間がかかるため、通常、秘密キーをオフラインで安全な場所に保管することは実用的ではありません。キーストレージによく使用される一般的な場所は、.sshホームディレクトリ内の名前のフォルダーです。(これはLinuxのOpenSSLのデフォルトであり、他のシステムでもよく使用されます。)一般的な方法は、キーを次の方法で説明する名前を持つ2つのファイルとして保存することです:purpose_type秘密鍵とpurpose_type.pub公開鍵。あなたが識別キーを作成し、RSAするためにOpenSSLのコマンドラインを使用している場合たとえば、あなたが、それがファイルにデフォルトで保存されるid_rsaid_rsa.pubして.sshディレクトリ。あなたの場合、キーファイルに次のような名前を付けることができますmydatastorage_rsaおよびmydatastorage_rsa.pub

重要:この方法で秘密鍵を保存する場合は、パスフレーズで秘密鍵を保護することを強くお勧めします。これにより、ファイルへのアクセスを取得したユーザーが秘密キーを使用できなくなります。最初にキーペアを作成したときに、キーパスフレーズの入力を求められた可能性があります。そうでない場合は、OpenSSLコマンドラインツールを使用して、秘密鍵にパスフレーズを追加できます。

機密性の高い暗号化作業を多数行う場合は、「HSM」と略される「Hardware Security Module」と呼ばれる、秘密鍵の安全な保管用に設計されたハードウェアキーストアを購入できます。実際にセキュリティ/暗号化業界で働いているのでなければ、これはほぼ間違いなくやり過ぎです。「スマートカード」や「USB暗号化トークン」など、他のハードウェアソリューションもあります。これらはフルHSMよりも安価ですが、必要以上のハードウェアへの投資が必要です。


パスワードで秘密鍵を保護することが推奨されていますが、Webサーバーなどのサービス内でこの復号化を行う必要がある場合、問題が発生する可能性があります。その場合、次の3つのオプションがあります。

  1. サーバーアプリケーションが起動するたびにパスフレーズを提供します。
  2. 構成ファイルでパスフレーズを提供します。(一部のサーバーでのみサポート)
  3. パスフレーズを削除します(または、そもそもパスフレーズを設定しないでください)。

最初のものは最も安全ですが、毎回手動でサービスを開始する場合にのみ使用できます。他のオプションのいずれかを実行する必要がある場合は、設定ファイル(オプション2)または秘密キー(オプション3)を適切に保護して、アクセスできないようにしてください。

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