私が見つけたほぼすべての文書Debian パッケージ署名暗号化アルゴリズムのトピックは完全に省略されており、このトピックを扱った少数の人々はRSAとDSAについてのみ言及しました。
gpgは、すべてのDebianパッケージ署名のルートのようです。
gpgには2011年から楕円曲線があり、2014年の2.1.0リリースではこれを定式化しました。しかし、その用途への言及はないようです。
質問:
- EdDSA(Ed25519)キーペアを使用してDebianパッケージに署名できますか?
- インストールされているgpgのバージョンが2.1.0以上の2014年から適用されますか?それとも他の制限はありますか?
- Debianパッケージの署名に使用しないgpgでサポートされているアルゴリズムはありますか?それでは、どのようなアルゴリズムとその理由は何ですか?
ベストアンサー1
APTリポジトリ署名(一般的)に言及し、個々のパッケージ署名(そうでない)に言及しないと仮定すると、APTはそのバイナリgpgv
によって実行されるすべてのアルゴリズムを使用してサポートするということです。 GnuPGの一部なので、gpgv
同等のGnuPGバージョンでサポートされているすべての関連アルゴリズムをサポートする必要があります。
したがって、適切なgpgvバージョンがあると仮定すると、実際にEdDSAアルゴリズムを使用できます。これはGnuPG 2.1.0の新機能であるため、スケーラブルまたはアップデートする必要があります。依存関係に注意してくださいするこれをサポートしていないv1の使用は許可されていますが、gpgv
奇妙な設定になります。
通常、少なくとも128ビットのセキュリティレベルを目指す必要があります。つまり、RSAまたはDSAを使用する場合は、最小3072ビットキー(DSAの最大値)または256ビット以上の楕円曲線を使用する必要があります。 DSAは実際には1024ビットに制限されており、安全ではないSSHとは異なり、DSAはOpenPGPでは安全ではありませんが、ほとんどのECアルゴリズムよりも遅いため、暗号化コミュニティでは好まれません。
また、署名がSHA-256またはSHA-512を使用して署名されていることを確認する必要があります。 SHA-1はデフォルトであり、署名するのに安全ではなく、APTはもはやそれを許可しません(もしそうなら、あなたはそれをしたくないでしょう)。
歴史的な理由とEdDSAがまだOpenPGPの一部として標準化されていないため、現在RSAはデフォルトです。ただし、GnuPG以外の実装と相互運用する必要がない限り、EdDSAを使用しない理由はありません。