it-swarm-tr.com

Hangi SSL / TLS şifrelemeleri güvenli kabul edilebilir?

OpenSSL web sitesi , SSL ve TLS için kullanılabilen farklı şifrelerin uzun bir listesini sunar. Sorum şu ki bu şifrelerden hangileri günümüzde güvenli kabul edilebilir. Özellikle HTTPS ile ilgileniyorum, eğer önemli olsa da, sanmıyorum. SSLCipherSuite HIGH:MEDIUM 'U kullanmak için Apache Öneri ' nin farkındayım ve bunun en iyi uygulama olduğunu kabul ediyorum.

Aradığım şey resmi bir standart veya iyi bilinen bir güvenlik kuruluşu gibi kabul edilmiş ve tanınmış bir kaynaktan yeni bir makale. Belirli bir anahtar uzunluğuna sahip belirli şifrelerin ne kadar süre güvenli kabul edileceğine ilişkin tahminleri içeren böyle bir makale varsa, bu daha da iyi olacaktır. Böyle bir şey var mı?

33
Demento

"NULL" içeren şifre paketleri veri şifreleme sunmaz, yalnızca bütünlük kontrolü sağlar. Bu, çoğu kullanım için "güvenli değil" anlamına gelir.

"EXPORT" içeren şifre süitleri tasarım gereği zayıftır. Onlar şifrelenmiş, ancak sadece amatör donanımlarla bile çatlayacak kadar küçük tuşlarla (örneğin, temel bir ev bilgisayarı - 40- bit anahtarları). Bu süitler ABD'nin kriptografik sistemlere ilişkin ihracat kurallarına, 2000'den önce oldukça katı kurallara uyacak şekilde tanımlanmıştır. Günümüzde bu kısıtlamalar kaldırılmıştır ve "EXPORT" şifre paketlerini desteklemenin pek bir anlamı yoktur.

"DES" ("3DES" Değil) olan şifre paketleri eski bir blok olan DES üzerindeki simetrik şifrelemeye dayanır 56 bitlik anahtar ( teknik olarak kullanan bir şifre, 64 bitlik bir anahtar kullanır, ancak bu bitlerin 8'ini yok sayar, böylece etkin anahtar boyutu 56 bittir). 56 bitlik anahtar bir bilgisayarla beş dakika içinde olmasa da kırılabilir. Deep crack , 1998 yılında yaklaşık 250.000 $ karşılığında özel amaçlı bir makineydi ve ortalama 4,5 gün içinde 56 bit DES anahtarını) kırdı. ve bu birkaç düzinelerce FPGA ile çoğaltılabilir. Yine de Walmart'ta kullanıma hazır donanım değil, birçok kişi tarafından satın alınabilir.

OpenSSL tarafından desteklenen diğer tüm şifre paketleri zayıf değildir; onlarla ilgili bir sorununuz varsa, bunun nedeni algoritmaların kendisindeki kriptografik zayıflıktan kaynaklanmayacaktır. "MD5" Özelliğine sahip şifre paketlerinden, bilinen gerçek bir zayıflıktan değil, halkla ilişkilerden kaçınmak isteyebilirsiniz. MD5 , bir karma işlevi olarak, "kırık" çünkü bu işlev için birçok çarpışmayı etkin bir şekilde bulabiliriz. SSL'de kullanıldığı için MD5 için bu bir sorun değildir; yine de, MD5'in kötü bir üne sahip olması yeterlidir ve bundan kaçınmanız daha iyidir.

Şifreleme paketinin, yeterli sağlamlık (RSA veya DSS için, en az 1024 bit, 1536 bit) sağlayacak kadar büyük olması gereken sunucu anahtarı boyutunda (sunucu sertifikasındaki ortak anahtar) hiçbir şey uygulamadığını unutmayın. daha iyi olmak - ama çok fazla itmeyin, çünkü hesaplama yükü anahtar boyutuyla keskin bir şekilde yükselir).


NIST , kabul edilen ve herhangi bir güvenlik kuruluşu olarak bilinen ABD federal kuruluşu muhtemelen bazı yayınladı öneriler (özellikle sayfa 22 ve 23'teki tablolara bakınız); bu 2005'ten beri ama bugün hala geçerli. NIST'in "onaylanmış/onaylanmamış" esasına göre çalıştığını unutmayın: "onaylanmayan" algoritmaların hiçbir şekilde zayıf olduğunu iddia etmezler; sadece örgüt olarak kendilerine kefil olmadıklarını.

37
Thomas Pornin

Eric Rescorla tarafından SSL ve TLS: Güvenli Sistemler Tasarlama ve Oluşturma yazdınız mı? SSL üzerinde IETF standartları çalışma grubunun önde gelen katılımcılarından biri tarafından yazılan, SSL'de kabul edilen klasiktir. Çeşitli SSL şifrelemelerinin gücü hakkında uygun ifadeler içerebileceğini umuyorum.

Bu ihtiyaçlarınızı karşılamıyorsa, dost kütüphanenize gidebilir ve sahip oldukları tüm şifreleme ve güvenlik kitaplarına göz atabilir ve SSL/TLS'de yazılmış bölümleri okuyabilirsiniz.

Temel olarak, her güvenlik uzmanının zaten bildiği gerçekleri belgelemek için bir referans arıyorsanız, en iyi alıntıyı bulmak için kendi başınıza bazı işlemler yapmanız gerekebilir.

4
D.W.

Thomas Pornin'in cevabına bazı küçük eklemeler: NIST SP800-52 genel olarak TLS için resmi olarak kalmaya devam ederken (biraz güncel değilse), anahtar boyutlar için özellikle SP800-57'nin yerini alır: bölüm1, anahtar boyutları ve genel olarak ömürleri kapsar, en son revize edilir yıl2012; Kısım 3, 2011'de yayınlanan TLS de dahil olmak üzere bazı belirli uygulamaları kapsamaktadır. (2048 veya 3072 bit DSA, 2009 yılında FIPS 186-3 ile belirtilmiştir, ancak henüz çok fazla uygulama görmüyorum. Hatta openssl bunu oldukça beceriksizce yaptı.) Www.CABforum.org RSA 2048 ile aynı fikirde 2014 yılında; sertifikanızı bir "resmi" CA'dan almanıza gerek yokken, yaygın "standart" uygulamalardan gözle görülür biçimde daha az yapmak sizi şüphecilikle tedavi etme eğilimindedir. FWIW NIST şu anda 2030'a kadar gücün (Z_n 2048, ECC 224, simetrik 112) "kabul edilebilir" olduğunu söylüyor, bundan sonra 3072/256/128 gerekiyor; onlar yanlış olduğu ortaya çıksa bile, onlarla giderseniz, bulabileceğiniz kadar iyi bir bahaneniz vardır ve kesinlikle çok sayıda iyi şirketiniz olacaktır. Son olarak, csrc.nist.gov, siber güvenlik için daha iyi bir başlangıç ​​URL'sidir (bir bütün olarak NIST birkaç şey daha yapar).

3
Dave Thompson

Resmi önerileri takip etmek çoğu kullanıcı için göz korkutucu bir görev olabilir.

Modern şifrelerin güncel bir listesini almanın en hızlı yolu, periyodik olarak Mozilla SSL Configuration Generator öğesini kontrol etmektir.

Ağustos 2016 itibarıyla, (sıralı) liste:

ECDHE-ECDSA-AES256-GCM-SHA384
ECDHE-RSA-AES256-GCM-SHA384
ECDHE-ECDSA-CHACHA20-POLY1305
ECDHE-RSA-CHACHA20-POLY1305
ECDHE-ECDSA-AES128-GCM-SHA256
ECDHE-RSA-AES128-GCM-SHA256
ECDHE-ECDSA-AES256-SHA384
ECDHE-RSA-AES256-SHA384
ECDHE-ECDSA-AES128-SHA256
ECDHE-RSA-AES128-SHA256

Bu şifreleri basitçe uygulamanın ötesinde, şunları sağlayın:

  • tLS sürümünü 1.2 (veya daha yüksek) olarak ayarlayın
  • güvenli bir eğri kullanın ( safecurves.cr.yp.to 'da tanımlandığı gibi).

Not: Tüm bu şifreler (yaklaşmakta olan) TLS1.3 ile uyumludur.

2
ATo