90'ların Sertifika Otoritesinin Şifrelerini Kırdım — Web Güvenliğinin Vahşi Batısından Çıkardığım Dersler
Şifreleme Dünyasında Zamanın İlerleyişi: 512 Bit'in Çöküşü
Kriptografi dünyasında ilginç bir döngü var: Her birkaç yılda bir, topluluk sessizce bir anahtar boyutunu tarihin tozlu raflarına kaldırıyor. 90'lı yıllarda 128-bit şifreleme son derece güvenli kabul ediliyordu; bugün ise aynı standart dehşet verici derecede yetersiz. Bir zamanlar kırılması imkansız görünen dev RSA anahtarları, artık ev bilgisayarlarında birkaç saat içinde çözülebiliyor.
İşte tam olarak bu durum, bir güvenlik araştırmacısı antik kök sertifika yetkililerinden (CA) gelen 512-bit RSA anahtarlarını çarpanlarına ayırdığını duyurduğunda yaşandı. Bu yetkililer, tarayıcıların web sitesi kimliklerini doğrulamak için güvendiği güven zincirinin temel halkaları. Söz konusu anahtarlar, Mart 1999'da piyasaya sürülen Netscape 4.51'den geliyordu ve Kanada merkezli E-Certify adlı bir CA'nın sertifikalarını içeriyordu. Bu kök sertifikalar, 2003 yılına kadar SSL bağlantıları için güvenilir kabul edildi — ta ki kriptografi topluluğu 512 bitin asla yeterli olmadığını kabul edene kadar.
Neden 512 Bit Baştan Beri Kötü Bir Fikirdi?
RSA-512, isminden de anlaşılacağı gibi 512-bit modulus kullanıyor — yani iki büyük asal sayının çarpımı. 1990'larda bu sayıyı çarpanlarına ayırmak teorik olarak mümkündü ama pratikte oldukça zordu. Ancak matematik değişmedi; değişen bizim hesaplama gücümüz oldu. Modern bir Ryzen 9 işlemci, CADO-NFS gibi açık kaynak araçları kullanarak bir 512-bit RSA anahtarını yaklaşık 30 saatte çarpanlarına ayırabiliyor. 1999'da aynı anahtar, ya bir süperbilgisayar ya da devasa bir dağıtık hesaplama çabası gerektirirdi.
Asıl dikkat çekici olan, 1999'da bile işlerin çok kıl payı olduğuydu. RSA-155 (155 ondalık basamaklı 512-bit bir sayı) Ağustos 1999'da, E-Certify sertifikalarının gönderilmesinden sadece aylar sonra çarpanlarına ayrıldı. Araştırmacının da belirttiği gibi, bu anahtarların baştan beri verilmemesi gerekirdi.
Web PKI'nin Tarihçesi
HTTPS'i güvence altına alan sertifika yetkilileri sistemi olan Web PKI, bugün oldukça muhafazakar olan güven varsayımları üzerine inşa edildi. 1990'larda tarayıcı üreticileri, dünya genelinden onlarca kök sertifikayla piyasaya çıkıyordu — anahtar boyutları veya operasyonel uygulamalar konusunda minimal standartlaştırma vardı.
1994'te SSL ile web ticaretini aslında icat eden Netscape, özellikle cömert davranıyordu. Internet Explorer daha muhafazakardı — Internet Explorer ile hiçbir zaman 512-bit RSA kök sertifikası gönderilmedi. Ancak Netscape'nin bu yaklaşımı tarihi bir miras bıraktı: Eski bir Netscape sürümü çalıştıran ve saati yanlış ayarlanmış herhangi bir sistemde güvenilen 512-bit CA sertifikaları.
Modern Güvenlik İçin Çıkarılacak Dersler
Buradaki ana ders sadece "512-bit RSA asla kullanmayın" değil — bu zaten apaçık. Daha önemli olan, güvenlik standartlarının canlı belgeler olduğunu anlamak. Bugün en iyi uygulamaların gerektirdiği 2048-bit RSA anahtarı da bir gün çok küçük kabul edilecek. NIST Post-Quantum Cryptography standardizasyon projesi zaten yolda — araştırmacılar kuantum bilgisayarların sonunda RSA'yı tamamen kırabileceğini öngörüyor.
Geliştiriciler ve kuruluşlar için bu tarihi ders birkaç temel ilkeyi pekiştiriyor:
- Algoritma göçünü planlayın: Altyapınız, kriptografi standartları evrildikçe güncellemelere ihtiyaç duyacak. Belirli algoritmaları kodun içine gömmeyin.
- Kullanımdan kaldırma takvimlerini izleyin: Sertifika yetkilileri ve tarayıcılar düzenli olarak eski anahtar boyutları ve hash fonksiyonları için son tarihler açıklıyor.
- Sertifika yenilemeyi otomatikleştirin: Manuel süreçler unutulan sertifikalara ve güncel olmayan yapılandırmalara yol açıyor.
- Sertifikat Transparency kullanın: Modern CA'lar sertifikaları herkese açık loglara kaydetmek zorunda — bu da kötü niyetli aktörlerin sahte sertifika almasını zorlaştırıyor.
Eğlenceli Kısım
Güvenlik etkilerinin ötesinde, kapalı bir sertifika yetkilisinden gelen şifreleme anahtarlarını kırmak inkâr edilemez biçimde havalı bir şey. Araştırmacı hem E-Certify özel anahtarlarını yayınladı hem de Netscape Navigator 4.51 ile çalışan bir test HTTPS sunucusu kurdu. Bu bir zaman kapsülü — eski sertifikaların hâlâ bağlantıları doğrulayabildiğini kanıtlıyor; en azından yazılımları bugünün geliştiricilerinden bile yaşlı olan tarayıcılar için.
Eski sertifika arşivlerini kendiniz keşfetmek istiyorsanız, araştırmacı tarihsel kök sertifikaları çıkarmak ve analiz etmek için araçlar ve talimatlar yayınladı. Benzer şekilde zayıf anahtarlara sahip başka unutulmuş CA'lar bulabilirsiniz. Bu, internet tarihinin izler bıraktığının ve hepsinin baştan güvenli olmadığının hatırlatıcısı.
Bir dahaki sefere uygulamanız için TLS yapılandırdığınızda, ne kadar yol katettiğimizi bir an için takdir etmeye zaman ayırın — ve hosting platformunuzun muhtemelen sertifika yenilemelerini, anahtar boyutlarını ve şifre paketi seçimini nasıl otomatik olarak hallettiğine şükredin. 512-bit CA'ların vahşi batı günleri geride kaldı, ama kriptografi hijyenine dair dersler bugün olduğu kadar geçerli.