Panjang kunci RSA apa yang harus saya gunakan untuk sertifikat SSL saya?

95

Saya sedang dalam proses membuat CSR, dan saya bertanya-tanya mana yang bisa dibilang panjang terbaik untuk kunci RSA saya.

Tentu saja, 384 mungkin terlalu lemah, dan 16384 mungkin terlalu lambat.

Apakah ada konsensus tentang panjang kunci yang harus digunakan, tergantung pada masa pakai sertifikat?

Sunting: Seperti kebanyakan orang, saya ingin kunci saya cukup kuat. Saya tidak khawatir NSA dapat merusak kunci saya pada tahun 2019. Saya hanya ingin tahu apa praktik terbaik ketika seseorang berencana untuk melakukan bisnis normal (misalnya situs e-commerce)

Brann
sumber

Jawaban:

102

Mulai tahun 2020, kunci RSA harus 2048 bit.

1024 bit

  • Sertifikat RSA 1024 bit kedaluwarsa dan tidak diterima oleh browser.
  • Firefox berhenti menerima sertifikat RSA 1024 bit pada tahun 2014.
  • Otoritas sertifikat berhenti mengirimkan sertifikat RSA 1024 bit pada tahun 2014 atau sebelumnya. Lihat pemberitahuan GlobalSign atau Comodo .
  • Kunci 1024 bit sudah tidak digunakan lagi karena dapat diretas jika ada pusat data yang kecil (ribuan CPU atau ratusan GPU, mungkin dalam beberapa bulan). Ini mungkin terlihat banyak tetapi itu dapat dijangkau oleh organisasi besar atau pemerintah mana pun.

2048 bit

  • Sertifikat RSA 2048 bit saat ini merupakan norma yang diterima yang digunakan.
  • Garis dasar default dikirimkan oleh CA dan digunakan oleh perangkat lunak.
  • Akhirnya akan retak juga. Tidak tahu kapan tapi bisa memakan waktu puluhan tahun.
  • Menggandakan ukuran membutuhkan banyak kali lipat lebih banyak kekuatan komputasi untuk memecahkannya. Lihat pertanyaan seberapa kuat RSA 2048 dibandingkan dengan 1024 .

4096 bit

  • Sertifikat RSA 4096 bit adalah langkah berikutnya
  • Tersedia dan didukung secara luas. Semua CA utama dapat menyediakan RSA 2048 dan 4096 bit, termasuk mari enkripsi .
  • Biaya komputasi tidak linier dengan ukuran kunci. 4096 tidak dua kali lebih lambat dari 2048, ini mungkin 10 kali lebih lambat untuk diproses. Jangan mengupgrade sertifikat secara membabi buta ke 4096 bit tanpa mempertimbangkan dampak kinerja .
  • "Web" sebagian besar tersisa pada sertifikat 2048 bit karena tidak dapat menanggung biaya perangkat keras untuk 4096 bit. Pertimbangkan aktor besar seperti Google, CloudFlare, NetFlix dengan lalu lintas besar dan jejak perangkat keras.

3072 bit

  • 3072 bit bukanlah sesuatu. Lompat langsung ke 4096 bit.
  • Sangat mungkin untuk melakukan kriptografi 3072 bit, hanya saja tidak ada perangkat lunak yang benar-benar mengimplementasikan, mendukung dan mengiklankannya secara resmi.
  • Secara historis, ada upaya sekitar 2010-2015 untuk meluncurkan 3072 kasus penggunaan di mana biaya komputasi tambahan 4096 tidak ideal. Ini memudar tetapi masih ada beberapa artikel lama yang menyebarkan manfaat (lebih cepat) 3072.

Tambahan

  • RSA pertama kali dijelaskan secara terbuka pada tahun 1977 dan masih kuat hampir 50 tahun kemudian. Hanya perlu menambah jumlah bit untuk mengimbangi komputer yang lebih cepat.
  • Ada metode lain untuk kriptografi kunci publik berdasarkan kurva elips, lihat ECDSA (1992).
  • Ada keterputusan yang sangat besar antara kapasitas pengguna dan penyerang. Server web atau klien seluler memiliki satu CPU (daya rendah). Penyerang dapat memiliki seluruh pusat data, untuk referensi, pusat data AWS yang baru dibuat menghosting sekitar 60.000 server.
  • Sungguh luar biasa bahwa satu perangkat seluler dapat menghitung beberapa matematika selama beberapa detik ... yang tidak dapat diimpikan oleh jutaan komputer seumur hidup.
Georg Schölly
sumber
13
Perbedaan ("256-bit akan bekerja selamanya" di satu sisi, dan "1024-bit sudah tidak berguna" di sisi lain) disebabkan oleh perbedaan antara algoritme simetris dan asimetris , dan jenis kunci yang digunakan di masing-masing. Dengan "tingkat keamanan yang setara", Anda akan melihat angka mentah yang sangat berbeda untuk panjang kunci dalam simetris versus asimetris.
Ti Strga
1
Pada Sep 2015, tampaknya industri telah beralih untuk menerima CSR kurang dari 2048-bit. Lihat di bawah jawaban dan artikel dukungan Comodo
angularsen
2
@anjdreas, Meskipun benar bahwa 2048 adalah minimum , saya akan sangat berhati - hati mengutip poin dari artikel CA.
Pacerier
Tautan RSA Labs adalah 404 sekarang, btw
jocull
1
catatan: tulis ulang sepenuhnya jawaban setelah 11 tahun, dengan rekomendasi dan referensi terbaru. komentar di atas adalah mengomentari revisi sebelumnya.
pengguna5994461
12

Karena banyak pelanggan memerlukan kepatuhan dengan standar kriptografi NIST, saya menggunakan panduan dalam NIST Special Publication 800‑57, Recommendation for Key Management Part 1, §5.6. Sebagian besar aplikasi kami cocok untuk keamanan 112 "bit", sehingga sesuai dengan triple-DES (atau peningkatan kecil hingga 128-bit AES) untuk cipher simetris dan kunci 2048-bit untuk RSA. Lihat Tabel 2 untuk persamaan kasar.

Valid atau tidak, dapat merujuk mereka ke publikasi NIST membantu pelanggan merasa lebih baik tentang keamanan (jika mereka repot-repot bertanya).

erickson
sumber
Artikel yang disebutkan dalam jawaban ini direvisi menjadi Rekomendasi untuk Manajemen Kunci: Bagian 1: Umum (Revisi 3) . Revisi saat ini adalah Juli 2012
AaA
Saya melihat bahwa halaman NIST telah dihapus dan diganti dengan pesan: "Karena jeda dalam pendanaan pemerintah, csrc.nist.gov dan semua aktivitas online terkait tidak akan tersedia sampai pemberitahuan lebih lanjut."
wu-lee
Ada halaman ini yang membandingkan beberapa rekomendasi panjang kunci keylength.com/en/compare
wu-lee
10

Otoritas sertifikat tidak akan menandatangani csrs yang berukuran kurang dari 2048 bit sehingga Anda harus membuat csr menjadi 2048 bit.

Yogi
sumber
6
[butuh rujukan]
CodesInChaos
2
Sumber - answer.ssl.com/877/… - beberapa CA seperti Affirmtrust / Trend Micro sudah menanamkan 4096 bit root jadi kami kemungkinan akan mengalihkannya di tahun-tahun mendatang
Yogi
Saya baru saja mencoba Comodo dan mereka tidak menerima kurang dari 2048-bit .
angularsen
7

Agustus mendatang, Microsoft akan menyebarkan patch ke Server 2003/2008, Win7 dll .. yang akan membutuhkan penggunaan kunci RSA 1024 bit minimum. Jadi sebaiknya Anda mulai menjadikannya sebagai standar "minimal" Anda.

Fed
sumber
6

Untuk sertifikat SSL yang digunakan di situs web, teks dari situs web Thawte.com ini (seperti pada 2014-07-22) penting untuk diperhatikan:

Standar industri yang ditetapkan oleh Forum Otoritas Sertifikasi / Browser (CA / B) mewajibkan sertifikat yang diterbitkan setelah 1 Januari 2014 HARUS memiliki panjang kunci minimal 2048-bit.

Mike
sumber
Mouais, Facebook masih menggunakan 256 panjang kunci => b3.ms/XmWn0e1BMYOk
Thomas Decaux
Untuk memperjelas bahwa Facebook tidak menggunakan RSA, ia menggunakan ECDHE_ECDSA sehingga panjang kuncinya lebih kecil.
Michael
5

Saya perlu membuat beberapa sertifikat SSL baru dan tidak puas dengan jawaban di atas karena tampaknya tidak jelas atau ketinggalan zaman, jadi saya melakukan sedikit penggalian. Intinya jawaban yang dipilih benar gunakan "kunci 2048-bit ... lagi tidak ada artinya" .

Meningkatkan panjang bit menjadi 4096 menambahkan beban yang berpotensi berarti ke server Anda (tergantung pada beban Anda yang ada) sambil pada dasarnya menawarkan peningkatan keamanan yang tidak signifikan

Jika Anda berada dalam situasi di mana Anda membutuhkan kunci yang lebih panjang dari 2048 bit, Anda tidak memerlukan panjang bit yang lebih panjang, Anda memerlukan algoritme baru

SemanticZen
sumber
1

Saya pikir 4096 ok untuk RSA

Periksa link ini

Akhir dari tanda tangan SHA-1 bukanlah hal baru, tetapi Google telah mempercepat proses chrome. Dalam beberapa minggu ke depan, Anda harus memeriksa sertifikat SSL mereka.

Ini mungkin berguna

Vim
sumber
1
Bisakah Anda memposting beberapa tautan bahasa Inggris juga? Bahasa Jerman saya agak lemah.
Wai Ha Lee
De juro, kunci RSA hanya dapat memiliki panjang 1024, 2048 atau 3072 bit (sesuai dengan PKCS # 1 2.2 dan FIPS 186-4).
aprelev
Api menunjukkan penyerang akan menyerang hash daripada modulus yang lebih besar. Jika Anda menggunakan SHA-1, Anda juga dapat menggunakan modulus 1024-bit karena hash dan modulus memberikan keamanan yang setara. Modulus 1024-bit akan membuat operasi lebih cepat daripada modulus 4096 yang lebih besar.
jww
0

ENISA merekomendasikan 15360 Bit. Lihat PDF (halaman 35)

http://www.enisa.europa.eu/activities/identity-and-trust/library/deliverables/algorithms-key-sizes-and-parameters-report/at_download/fullReport

Micha
sumber
4
Tidak persis. Rekomendasi untuk jangka pendek (setidaknya sepuluh tahun) adalah 3072. RSA 15360 adalah untuk jangka panjang (tiga puluh sampai lima puluh tahun) dan hanya masuk akal jika Anda berharap dapat menjaga rahasia kunci privat selama itu.
Henrick Hellström