web-dev-qa-db-ja.com

PGP暗号化と復号化にRSAキーペアを使用する

PGPでRSAキーペアを使用する方法はありますか?つまり、2048の長さのキーペアがあり、それを使用してデータを暗号化および復号化したいと思います。しかし、私が発見したのは、PGPがいくつかの鍵リングといくつかのpgp鍵を使用していることだけです。そして、なぜそれらが異なるのか、どこにも見つかりませんでしたか?私が尋ねている理由は、HSMにキーを保存する必要があるということですが、PGPキーではそれができません。周りを見回しても、グーグルでそれについて何も見つかりませんでした。

誰かが私にそれを説明したり、リンクを共有したりできますか?.

15
t678

PGPの機能は OpenPGP 標準で説明されています。 OpenPGPでは、「鍵リング」は「OpenPGPで記述された形式でエンコードされた公開鍵および/または秘密鍵」のいくつかの用語です。

OpenPGPが鍵リング形式を記述する鍵のタイプには、RSA鍵があります。 OpenPGP実装がHSMに格納されているRSA秘密鍵を使用することを妨げる基本的な問題はありません。ただし、実際には GnuPG と呼ばれる無料のOpenPGP実装は本質的にそれをサポートしていません-しかし gnupg-pkcs11 プロジェクトは役立つかもしれません:暗号デバイスの統合を可能にしますPKCS#11ドライバー(事実上すべてのHSMがそれを行う)をGnuPGの世界に提供します。

インポート既存の「PGPキー」(つまり、現在OpenPGP形式でファイルとして保存されているRSA秘密キー)をHSMに入れることは、必ずしも良い考えではありません。HSMは、決して目的としない高価なデバイスです。 HSMの改ざん防止ハードウェアの外部に秘密鍵が存在することを許可します。キーがインポートされた場合、そのキーは外界のどこかに存在するか、存在しなかったため、HSMの使用が正当化されなくなりました。

10
Thomas Pornin

PGPについては知りませんが、GPGはスマートカード(場合によってはさらに興味深いPKCS#11 USBトークン)を使用して秘密鍵を保護できます。

http://www.gnupg.org/howtos/card-howto/en/smartcard-howto-single.html

HSMを使用する手間がかかる場合は、専用のキーパッドを使用することを検討する必要があります。そうでなければ、保護はほとんど役に立ちません。

これをITセキュリティ部門に知らせたい場合もあります: http://secgroup.ext.dsi.unive.it/projects/security-apis/pkcs11-security/tookan/

彼らはACM CCS 2010でこの問題を説明する論文を持っています。

5
pepe

PGPキー以外のPGPでは何も使用できません。一部の機能は証明書とS/MIMEキーでも機能しますが、すべてではありません(たとえば、追加の復号化キーは機能しません)。これを知らずに購入していないことを願っています。

ただし、キー生成時のPGPとPGP Universalでポリシー設定としてRSAアルゴリズムを設定できます。

PGP Key

一部 教訓 組織でのPGP電子メール暗号化の実装

4
Rakkhi

RSA証明書を使用している場合は、cms(PCCS#7およびs/mimeから発展)を使用する必要があります。これはopensslでサポートされています。 http://www.openssl.org/docs/apps/cms.html

ファイルに署名して暗号化するには:

openssl cms –encrypt –text –in compressed-file.txt –out encrypted-file.txt public-key.pem

次に、ファイルの内容に署名します。

openssl cms –sign –text –in encrypted-file.Zip –signer certificate.pem –inkey certtificate.key –out signed-file.txt

確認して復号化するには:

openssl cms –verify –in file –signer certificate.pem 

検証が成功した場合、ファイルの内容を復号化できます。

openssl cms –decrypt –in file –inkey private-key.pem –out decrypted-file
4
Stuart

HSM AFAIKにキーをインポートすることはできません。これらは、暗号化された重要なデータの暗号化オンボード生成/保存/使用を実行するように設計されたデバイスです。秘密鍵をHSMにインポートできると、HSM自体の目的が無効になります。

バックアップ手順はあると思いますが。しかし、私はHSMカードを手にしたことがありませんでした(私が持っていればいいのに:P)。暗号化されていない情報をHSMからエクスポートすることもできません。

しかし、あなたの言うとおり、2048長のRSA鍵が埋め込まれています(2010年以降のNIST推奨)。

Wikipedia で入手できる情報のほとんど

2
M'vy