SSL sertifikalarım için hangi RSA anahtar uzunluğunu kullanmalıyım?


97

Bir CSR oluşturma sürecindeyim ve tartışmasız RSA anahtarım için en iyi uzunluğun hangisi olduğunu merak ediyorum.

Tabii 384 muhtemelen çok zayıf ve 16384 muhtemelen çok yavaş.

Sertifika ömrüne bağlı olarak anahtar uzunluğu konusunda bir fikir birliği var mı?

Düzenleme: Çoğu insan gibi, anahtarımın oldukça güçlü olmasını istiyorum. NSA'nın 2019'da anahtarımı kırabileceğinden endişelenmiyorum. Sadece biri normal iş yapmayı planladığında (örneğin bir e-ticaret sitesi) en iyi uygulamanın ne olduğunu bilmek istiyorum.

Yanıtlar:


104

2020 itibariyle, RSA anahtarları 2048 bit olmalıdır.

1024 bit

  • 1024 bit RSA sertifikaları geçersizdir ve tarayıcılar tarafından kabul edilmez.
  • Firefox , 2014 yılında 1024 bit RSA sertifikalarını kabul etmeyi durdurdu.
  • Sertifika yetkilileri, 2014 veya daha önce 1024 bit RSA sertifikası sağlamayı durdurdu. GlobalSign veya Comodo bildirimine bakın .
  • 1024 bit anahtarlar, küçük bir veri merkezi (belki birkaç ay içinde binlerce CPU veya yüzlerce GPU) verildiğinde kırılabilecekleri için kullanımdan kaldırıldı. Çok görünebilir, ancak herhangi bir büyük kuruluş veya hükümetin erişebileceği bir yerdeydi.

2048 bit

  • 2048 bit RSA sertifikaları şu anda kullanımda kabul edilen normdur.
  • CA tarafından sağlanan ve yazılım tarafından kullanılan varsayılan temel.
  • Sonunda da kırılacak. Ne zaman bilmiyorum ama on yıllarca sürebilir.
  • Boyutu iki katına çıkarmak, kırmak için birçok büyüklükte daha fazla hesaplama gücü gerektirir. RSA 2048'in 1024'e kıyasla ne kadar güçlü olduğu sorusuna bakın .

4096 bit

  • 4096 bit RSA sertifikaları bir sonraki adımdır
  • Yaygın olarak bulunur ve desteklenir. Tüm büyük CA, şifreleyelim de dahil olmak üzere hem 2048 hem de 4096 bit RSA sağlayabilir .
  • Hesaplama maliyeti, anahtar boyutuyla doğrusal değildir. 4096, 2048'in iki katı değil, işlenmesi belki 10 kat daha yavaştır. Performans etkisini dikkate almadan sertifikaları körü körüne 4096 bit'e yükseltmeyin .
  • "Web", büyük ölçüde 2048 bitlik sertifikalarda kalmıştır çünkü 4096 bitlik donanım maliyetini karşılayamaz. Google, CloudFlare, NetFlix gibi muazzam trafik ve donanım ayak izine sahip büyük aktörleri düşünün.

3072 bit

  • 3072 bit bir şey değildir. Doğrudan 4096 bite atlayın.
  • 3072 bitlik kriptografi yapmak tamamen mümkündür, sadece hiçbir yazılım resmi olarak uygulamaz, desteklemez ve reklamını yapmaz.
  • Tarihsel olarak, 2010-2015 dolaylarında, 4096 ekstra hesaplama maliyetinin ideal olmadığı kullanım durumları için 3072'yi başlatma girişimi vardı. Soldu ama hala 3072'nin (daha hızlı) faziletlerini yayan bazı eski makaleler var.

Ekstra

  • RSA ilk kez 1977'de kamuoyuna açıklandı ve neredeyse 50 yıl sonra hala güçlü. Daha hızlı bilgisayarlara ayak uydurmak için bit sayısını artırmanız yeterlidir.
  • Eliptik eğrilere dayanan açık anahtarlı şifreleme için başka bir yöntem vardır, bkz. ECDSA (1992).
  • Bir kullanıcı ile bir saldırganın kapasitesi arasında büyük bir kopukluk vardır. Bir web sunucusu veya bir mobil istemcinin bir (düşük güçlü) CPU'su vardır. Bir saldırganın tam bir veri merkezi olabilir, referans olarak yeni oluşturulmuş bir AWS veri merkezi yaklaşık 60.000 sunucu barındırmaktadır.
  • Tek bir mobil cihazın, milyonlarca bilgisayarın bir ömür boyu hayal bile edemeyeceği bazı matematiği birkaç saniye içinde hesaplayabilmesi inanılmaz.

13
Farklılıklar ("256-bit sonsuza kadar çalışacak" ve diğer yanda "1024-bit zaten saçma") simetrik ve asimetrik algoritmalar arasındaki farklardan ve her birinde kullanılan anahtar türlerinden kaynaklanmaktadır. Herhangi bir "eşdeğer güvenlik seviyesi" ile, anahtar uzunlukları için simetrik ve asimetrik olarak çok farklı ham sayılar göreceksiniz.
Ti Strga

1
Eylül 2015 itibarıyla, sektörün 2048 bit CSR'den daha azını kabul etmemeye başladığı görülüyor. Aşağıdaki yanıtlara ve Comodo destek makalesine bakın
angularsen

2
@anjdreas, 2048'in minimum olduğu doğru olsa da , CA makalelerinden alıntı yaparken çok dikkatli olacağım .
Pacerier

RSA Labs bağlantısı artık 404 oldu, btw
jocull

2
not: cevabı 11 yıl sonra güncel tavsiyeler ve referanslarla tamamen yeniden yazınız. Buradaki yorumlar önceki revizyonlara yorum yapıyordu.
user5994461

12

Pek çok müşteri NIST şifreleme standartlarına uygunluk gerektirdiğinden, NIST Özel Yayını 800‑57, Anahtar Yönetim Önerisi Bölüm 1, §5.6'daki kılavuzu kullanıyorum . Uygulamalarımızın çoğu 112 "bitlik" güvenlik için çok uygundur, bu nedenle simetrik şifreler için üçlü DES'e (veya 128 bit AES'ye kadar küçük bir çıkıntıya) ve RSA için 2048 bitlik bir anahtara karşılık gelir. Kaba bir eşdeğerlik için Tablo 2'ye bakın.

Geçerli olsun ya da olmasın, onları bir NIST yayınına yönlendirebilmek, müşterilerin güvenlik konusunda daha iyi hissetmelerine yardımcı olur (eğer sormaya zahmet ederlerse).


Bu cevapta bahsedilen Madde , Anahtar Yönetim Önerisi: Bölüm 1: Genel (Revizyon 3) olarak revize edilmiştir . Güncel revizyon Temmuz 2012
AaA

NIST sayfasının kaldırıldığını ve bir mesajla değiştirildiğini görüyorum: "Devlet finansmanındaki kesinti nedeniyle, csrc.nist.gov ve ilgili tüm çevrimiçi etkinlikler bir sonraki duyuruya kadar kullanılamayacak."
wu-lee

Bazı önemli uzunluk önerilerini karşılaştıran bu sayfa var keylength.com/en/compare
wu-lee


7

Önümüzdeki Ağustos ayında Microsoft, Server 2003/2008, Win7 vb. İçin en az 1024 bit RSA anahtarının kullanılmasını gerektiren bir yama dağıtacak. Bu nedenle, bunu "minimum" standardınız yapmaya başlayabilirsiniz.


6

Web sitelerinde kullanılan SSL sertifikaları için, Thawte.com web sitesinden alınan bu metin (2014-07-22'de olduğu gibi) not edilmesi önemlidir:

Sertifika Yetkilisi / Tarayıcı (CA / B) Forumu tarafından belirlenen endüstri standartları , 1 Ocak 2014'ten sonra yayınlanan sertifikaların en az 2048 bit anahtar uzunluğunda OLMASINI gerektirir.


Mouais, Facebook hala 256 anahtar uzunluğunda => b3.ms/XmWn0e1BMYOk
Thomas Decaux

Facebook'un RSA kullanmadığını açıklığa kavuşturmak için ECDHE_ECDSA kullanıyor, dolayısıyla daha küçük anahtar uzunluğu.
Michael

5

Birkaç yeni SSL sertifikası oluşturmam gerekiyordu ve yukarıdaki cevaplardan memnun kalmadım çünkü belirsiz veya eski görünüyorlardı, bu yüzden biraz araştırma yaptım. Alt satırda, seçilen yanıt doğru kullanım "2048-bit anahtarlar ... daha uzun anlamsız" şeklindedir .

Bit uzunluğunu 4096'ya çıkarmak, temelde önemsiz bir güvenlik yükseltmesi sunarken sunucunuza potansiyel olarak anlamlı bir yük ekler (mevcut yükünüze bağlı olarak)

2048 bitlik bir anahtardan daha uzun ihtiyacınız olan bir durumdaysanız, daha uzun bir bit uzunluğuna ihtiyacınız yok, yeni bir algoritmaya ihtiyacınız var


1

4096'nın RSA için uygun olduğunu düşünüyorum

Bu bağlantıyı kontrol et

SHA-1 imzasının sonu yeni bir şey değil, ancak Google Chrome sürecini hızlandırdı. Önümüzdeki birkaç hafta içinde, SSL sertifikalarını kontrol etmelisiniz.

Bu yardımcı olabilir


1
Lütfen bazı İngilizce bağlantıları da gönderebilir misiniz? Almancam oldukça zayıf.
Wai Ha Lee

De juro, RSA anahtarları yalnızca 1024, 2048 veya 3072 bit uzunluğunda olabilir (PKCS # 1 2.2 ve FIPS 186-4'e göre).
aprelev

Alev , saldırganların daha büyük modül yerine hash'e saldıracağını gösterdi. SHA-1 kullanıyorsanız, hash ve modül eşdeğer güvenlik sağladığından, 1024 bitlik bir modül de kullanabilirsiniz. 1024 bitlik modül, daha büyük olan 4096 modülünden daha hızlı işlem yapılmasını sağlayacaktır.
jww

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.