it-swarm-id.com

Apakah kedaluwarsa kunci OpenPGP menambah keamanan?

Saya telah membuat kunci OpenPGP baru untuk menandatangani paket perangkat lunak dalam repositori sumber dengan tanggal kedaluwarsa tiga tahun dari sekarang. Sepertinya ini adalah langkah pengamanan yang baik, karena jika kuncinya dikompromikan atau dicuri kerusakannya akan terbatas.

Tetapi kemudian saya berpikir tentang hari ketika saya harus menandatangani kunci baru saya. Menandatangani kunci baru dengan kunci lama tampaknya sama dengan menjaga kunci lama, dan dengan demikian tidak menambah keamanan.

Apakah pengaturan tanggal kedaluwarsa meningkatkan keamanan kunci? Jika demikian, apa kebijakan kedaluwarsa/penggantian kunci yang terbaik?

60
Adam Matan

tl; dr : tanggal kedaluwarsa bukanlah mekanisme yang masuk akal untuk lindungi kunci utama, dan Anda harus memiliki pencabutan sertifikat di tangan.


Versi yang sedikit lebih lama adalah, bahwa efek tanggal kedaluwarsa berbeda antara primer dan subkunci, dan juga apa yang ingin Anda cegah.

Subkunci

Untuk subkunci, efeknya agak sederhana: setelah jangka waktu tertentu, subkunci akan kedaluwarsa. Tanggal kedaluwarsa ini hanya dapat diubah menggunakan kunci utama. Jika penyerang memegang subkunci Anda (dan hanya ini), maka secara otomatis akan dinonaktifkan setelah tanggal kedaluwarsa.

Tanggal kedaluwarsa dari subkunci adalah alat yang hebat untuk mengumumkan Anda mengganti subkunci Anda pada basis reguler, dan sudah waktunya bagi orang lain untuk memperbarui kunci Anda setelah waktu tertentu.

Kunci Utama

Untuk kunci utama, situasinya berbeda. Jika Anda memiliki akses ke kunci pribadi, Anda dapat mengubah tanggal kedaluwarsa seperti yang Anda inginkan . Ini berarti, jika seorang penyerang mendapatkan akses ke kunci pribadi Anda, ia dapat memperpanjang periode validitas secara sewenang-wenang. Kasus terburuk, Anda kehilangan akses ke kunci pribadi pada saat yang sama, maka bahkan Anda tidak dapat mencabut kunci publik lagi (Anda memiliki sertifikat pencabutan yang dicetak atau offline dan disimpan dengan aman, bukan?). Tanggal kedaluwarsa mungkin membantu jika Anda hanya kehilangan kendali atas kunci (sementara tidak ada penyerang memiliki kendali atas itu). Kunci akan secara otomatis kedaluwarsa setelah waktu tertentu, jadi tidak akan ada kunci yang tidak dapat digunakan dengan nama Anda yang berada selamanya di server kunci.

Memulihkan Lemah Kunci Unrevoked

Lebih buruk lagi, tanggal kadaluwarsa mungkin memberikan rasa aman palsu. Kunci pada server kunci telah kedaluwarsa, jadi mengapa repot-repot mencabutnya? Ada sejumlah besar kunci RSA 512 bit yang terhubung dengan baik pada jaringan server kunci, dan mungkin sejumlah besar kunci DSA yang lemah (karena masalah RNG Debian). Dengan prosesor yang lebih cepat dan mungkin pengetahuan baru tentang kelemahan algoritma, penyerang di masa depan mungkin dapat memecahkan kunci yang sudah kadaluwarsa, tetapi tidak dicabut dan menggunakannya!

Menjaga agar Sertifikat Pencabutan Tetap Aman

Jika Anda memiliki sertifikat pencabutan dan yakin Anda tidak akan pernah kehilangan akses ke kunci pribadi dan sertifikat pencabutan pada saat yang sama (pertimbangkan kebakaran, pencurian (fisik), lembaga resmi menggeledah rumah Anda), ada sama sekali tidak digunakan dalam menetapkan tanggal kedaluwarsa selain dari kemungkinan kebingungan dan lebih banyak pekerjaan memperpanjangnya.

69
Jens Erat

Perhatikan bahwa tanggal kedaluwarsa pada kunci master tidak benar-benar melakukan apa pun untuk keamanan, karena siapa pun yang berkompromi itu dapat selalu memperpanjangnya. Lihat http://madduck.net/blog/2006.06.20:expiring-gpg/ .

(Subkunci yang kedaluwarsa, di sisi lain, dapat berguna, dan opsi pada pembuatan kunci menentukan tanggal pada semua kunci.)

7
SamB

Apakah pengaturan tanggal kedaluwarsa meningkatkan keamanan utama?

Iya. Anda sudah mengatakan alasannya juga:

Sepertinya ini adalah langkah pengamanan yang baik, karena jika kuncinya dikompromikan atau dicuri - kerusakan akan terbatas.

Dengan asumsi Anda dikompromikan dan kuncinya dicuri, jelas, tindakan pertama Anda adalah mencabut kuncinya dan mengeluarkan yang baru. Namun, tidak semua orang akan memeriksa kunci yang dicabut; mereka akan terus menggunakannya secara membabi buta sampai menjadi tidak valid.

Demikian juga, jika Anda dikompromikan, seseorang hanya bisa berpura-pura menjadi Anda untuk jendela tetap.

Jika demikian, apa kebijakan penggantian kadaluwarsa\kunci yang terbaik?

Sebenarnya tidak ada satu - pertanyaannya adalah lebih "apa yang terbaik yang bisa saya lakukan diberikan kendala X Y Z". Misalnya, jika Anda mengatur Jendela terlalu kecil, Anda merepotkan pengguna; Namun, terlalu tinggi dan Anda membuka risiko jika dikompromikan. Itu benar-benar turun ke panggilan penilaian - seberapa sensitif sebenarnya apa yang Anda lindungi dan seberapa sering/tidak nyaman untuk sering mengganti kunci?

0
user2213