Eski TLS sürümlerinde istemci, oturum için kullanılacak gizli değeri (pre-master secret) sunucunun sertifikasındaki RSA açık anahtarıyla şifreleyip gönderebiliyordu. Bu yönteme RSA anahtar değişimi denir ve TLS 1.3 tarafından tamamen kaldırılmıştır. Burada karıştırılmaması gereken bir nokta var: RSA anahtarlı bir sertifika kullanmak (imza için) hâlâ normaldir; kaldırılan şey anahtar değişiminin RSA ile yapılmasıdır.
Sorunlar
- İleri gizlilik yok: Tüm oturumların gizli değeri aynı özel anahtarla çözülebilir. Sunucu anahtarı ileride sızarsa, kaydedilmiş geçmiş trafik de açılır.
- Dolgu oracle saldırıları: Bleichenbacher saldırısının varyantları (ROBOT gibi) hatalı dolgu yanıtlarındaki farklardan anahtar çözmeyi mümkün kılar.
- Anahtar yükü: Özel anahtar, her el sıkışmada çözme işlemine maruz kalır.
Nasıl tespit edilir?
Cipher suite adı TLS_RSA_WITH_... (OpenSSL adlandırmasında AES128-GCM-SHA256 gibi, ECDHE içermeyen ad) biçimindeyse anahtar değişimi RSA iledir. Sunucunuzu tarayın:
nmap --script ssl-enum-ciphers -p 443 ornek.com
Sunucuda kapatma
# nginx
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers ECDHE+AESGCM:ECDHE+CHACHA20:!kRSA:!aNULL:!MD5;
# Apache
SSLCipherSuite ECDHE+AESGCM:ECDHE+CHACHA20:!kRSA:!aNULL:!MD5
Değişiklikten sonra çok eski istemcilerin (ör. ECDHE desteklemeyen eski platformlar) bağlanamayabileceğini unutmayın; günlüklerden kullanımı kontrol edin.
Sonuç ve ipuçları
- Mevcut RSA anahtarlı SSL sertifikanız değişmeden kalır; yalnızca cipher listesi güncellenir.
- Değişiklik sonrası durumu SSL denetleme aracıyla teyit edin.
Ek notlar
- Sunucu yapılandırmanızda yalnızca TLS 1.3 bırakırsanız bu sorun zaten ortadan kalkar; ancak TLS 1.2 istemcileri için ECDHE setleri açık kalmalıdır.
- Uyumluluk taramalarında statik RSA setleri sıkça bulgu olarak listelenir.
- Yeni kurulumlarda bu setleri hiç açmamak en basit yoldur.
Değişiklikten sonra bir tarama ile doğrulama yapmak iyi bir kapanış adımıdır.
Özet: Statik RSA anahtar değişimi, ileri gizlilik sağlamadığı ve saldırılara açık olduğu için bırakıldı; ECDHE tabanlı setler bunun yerini aldı.