web-dev-qa-db-ja.com

PGPマスターキーにECCをYubikeyと組み合わせて使用​​する

先月、Yubikey Neoを購入しました。次に、PGPのスマートカード機能を使用します。私は Yubicoウェブサイトの公式ガイド を2048 RSAキーでテストしましたが、問題なく動作しました。しかし、キーを紛失した場合、メインの秘密キーがYubikeyにのみ保存されていたため、問題が発生します。だから私は別のアプローチを試しました。コンピューターでキーを作成し、それを使用して、署名用、認証用、暗号化用の3つのサブキーを生成しました。次に、Yubikeyの3つのサブキーを移動しました。マスターキーを安全な場所に保管し、Yubikeyを日常的に使用したいと考えていました。 Yubikeyはそれ以上のキーをサポートしていないため、マスターキーにはRSA 4096を、サブキーにはRSA 2048を使用しました。これもうまくいきました。

質問:

GPGは、新しいバージョンのECCをサポートしています。 RSAの代わりにECCを使用してマスターキーを作成することは可能ですか(サブキーはRSAのままです)、まだECCをサポートしていないシステムを使用している他の人と(私のサブキーを使用して)通信できますか?そして、彼らは私の鍵と私に彼らに問題なく署名することができますか?

8
Max

まず第一に、YubikeyはECCキーをサポートしていないことに注意してください(ただし、あなたがそう想定している質問からは読みません)。

ECCプライマリキーを使用する場合、ECCキーをサポートしないGnuPGの古い実装を使用している他のユーザー(つまり、GnuPG 2.1より前のすべて)は、新しいアルゴリズムを理解していないため、プライマリキーや発行された署名を検証できません。つまり、全体として、ECC以前のバージョンのGnuPGを実行している人は、

  • 鍵に署名する
  • あなたが暗号化したメッセージを受信します(あなたのキーはまったく関与していません)
  • 署名されたメッセージをあなたに送信します(あなたのキーはまったく関与していません)

しかしnotできる

  • あなたが発行した署名/証明書を確認する
  • キーを検証する(自己署名の検証を含む)
  • サブキーのバインディング署名は事前に検証する必要があるため、RSAサブキーによって発行された署名を確認します
  • 暗号化されたメッセージをECC暗号化サブキーに送信する
  • 事前にサブキーのバインディング署名を検証する必要があるため、RSA暗号化サブキーに暗号化されたメッセージを送信する

your公開鍵を使用した暗号化は実行する必要がないため、鍵に署名することは可能ですが、署名者は(自分の鍵を使用して)署名を計算していますキーの指紋。

PS:私はいくつかの期待を持っていたので、GnuPG 1.4と2.1の間でこれらの操作を検証しましたが、GnuPGが実際にそれらを満たしているかどうかはわかりませんでした。

5
Jens Erat