Bagaimana saya bisa memperbaiki "W: <...> repositori tidak cukup ditandatangani oleh kunci <...> (digest lemah)" di repositori pribadi saya?

8

Saya memelihara serangkaian repositori pribadi. Kunci gpg yang digunakan untuk menandatangani repo dibuat dengan "Key-Type: RSA" dan "Key-Length: 4096". Versi GPG yang digunakan untuk menghasilkan kunci adalah 1.4.16 pada Ubuntu 14.04. Mesin yang mengeluh memiliki gpg 1.4.20 (pada beta 16,04).

Bagaimana saya bisa memperbaiki "W: <...> Repositori tidak cukup ditandatangani oleh kunci <...> (digest lemah)" di repositori pribadi saya?

Saya akan mengakui bahwa saya tidak tahu terlalu banyak tentang enkripsi, tetapi saya akan berpikir bahwa kunci RSA 4096-panjang sudah cukup.

Michael Peek
sumber
1
Ini pada fungsi hash tanda tangan, BUKAN kuncinya. Mengeluh tentang hash tanda tangan SHA-1 pada benda itu, saat mengharapkan SHA-2.
Thomas Ward
1
Anda perlu mengedit kunci Anda. Halaman ini kurang lebih menjelaskannya. debian-administration.org/users/dkg/weblog/48 Keluar sebagai komentar karena itu bukan jawaban yang tepat.
balon

Jawaban:

7

Pesan peringatan bukan tentang algoritma enkripsi (kunci RSA 4k dianggap benar-benar baik dan praktik terbaik saat ini). The mencerna algoritma adalah sesuatu yang lain meskipun: algoritma hashing diterapkan pada tubuh pesan (dalam kasus Anda, paket atau daftar paket) yang kemudian ditandatangani. GnuPG memiliki standar agak konservatif untuk tetap kompatibel, tetapi secara perlahan-lahan dikalahkan oleh kemajuan yang dibuat dalam kriptanalisis.

Anda tidak harus membuat kunci baru, tetapi cukup mengubah pengaturan untuk GnuPG. The proposal oleh blog Debian-administrator masih baik-baik saja dan membantu Anda menetapkan default wajar yang agak sedikit memagut terlalu berlebihan:

  1. Siapkan preferensi untuk digunakan oleh GnuPG (untuk menandatangani pesan, mengenkripsi ke orang lain, ...):

    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
    
  2. Menyetel algoritma pilihan di kunci Anda untuk digunakan oleh orang lain (pada saat yang sama menambahkan tanda tangan sendiri dengan pengaturan yang diperbarui dari # 1 di atas):

    $ gpg --edit-key $KEYID
    Command> setpref SHA512 SHA384 SHA256 SHA224 AES256 AES192 AES CAST5 ZLIB BZIP2 ZIP Uncompressed
    Command> save
    

Di masa depan, algoritma digest yang dianggap aman harus dipilih oleh GnuPG.

Jens Erat
sumber
Saya mengkonsumsi repositori yang dibuat oleh yang lain, dan saya tidak bisa membuat mereka mengubah hash (mereka "tidak mendukung" versi sistem operasi saya yang lebih baru). Apakah ada cara untuk cenderung mengabaikan masalah ini?
Guss
GnuPG tahu opsi itu --allow-weak-digest-algos, tapi saya tidak yakin bagaimana Anda bisa melewatinya apt. Beri tahu pihak lain bahwa MD5 juga rusak untuk sistem operasi yang lebih lama dan lainnya.
Jens Erat
Saya juga menambahkan opsi konfigurasi 'digest-algo SHA512', tanpa itu saya masih mendapatkan tanda tangan SHA1. Diverifikasi dengan gpg --verbose --verify Release.gpg Release, menambahkan '--verbose' membuatnya menunjukkan tipe intisari.
Herman van Rink