一連のプライベートリポジトリを管理しています。リポジトリの署名に使用されるgpgキーは、「Key-Type:RSA」および「Key-Length:4096」で作成されました。キーの生成に使用されるGPGのバージョンは、Ubuntu 14.04では1.4.16です。文句を言うマシンにはgpg 1.4.20(16.04のベータ版)があります。
プライベートリポジトリの「W:<...>リポジトリのキー<...>(弱いダイジェスト)による署名が不十分です」を修正するにはどうすればよいですか?
暗号化についてあまり知りませんが、4096の長さのRSAキーで十分だと思いました。
警告メッセージは暗号化アルゴリズムに関するものではありません(4k RSAキーは今のところ完全に正常でベストプラクティスと見なされています)。ただし、digestアルゴリズムは別のものです。メッセージ本文(場合によってはパッケージまたはパッケージリスト)に適用されるハッシュアルゴリズムは、その後署名されます。 GnuPGには互換性を保つためにかなり控えめなデフォルトがありますが、それらは暗号解読の進歩によって徐々に追い越されています。
新しいキーを作成する必要はありませんが、GnuPGの設定を変更するだけです。 Debian-administratorブログによる提案はまだ大丈夫です であり、かなり慎重すぎる合理的なデフォルトを設定するのに役立ちます:
GnuPGが使用する設定をセットアップします(メッセージの署名、他者への暗号化など):
cat >>~/.gnupg/gpg.conf <<EOF
personal-digest-preferences SHA256
cert-digest-algo SHA256
default-preference-list SHA512 SHA384 SHA256 SHA224 AES256 AES192 AES CAST5 ZLIB BZIP2 Zip Uncompressed
EOF
他のユーザーが使用するキーの優先アルゴリズムを設定します(同時に、上記の#1の更新された設定で新しい自己署名を追加します)。
$ gpg --edit-key $KEYID
Command> setpref SHA512 SHA384 SHA256 SHA224 AES256 AES192 AES CAST5 ZLIB BZIP2 Zip Uncompressed
Command> save
将来的には、安全であると考えられるダイジェストアルゴリズムをGnuPGで選択する必要があります。