SHA-256 ve SHA-384, SHA-2 ailesinin iki üyesidir; çıktı uzunlukları sırasıyla 256 ve 384 bittir. SSL/TLS dünyasında karşınıza iki farklı bağlamda çıkarlar: sertifika imzası ve cipher suite adı. İkisini karıştırmamak gerekir.
Sertifika imzasında
CA sertifikanızı imzalarken bir hash algoritması kullanır; bu, sertifikadaki "Signature Algorithm" alanında görünür (ör. sha256WithRSAEncryption ya da ecdsa-with-SHA384). Güncel kamuya açık sertifikalarda SHA-256 yaygındır ve pratikte yeterli bir güvenlik düzeyi sunar. SHA-1 ise artık kabul edilmez.
openssl x509 -in sertifika.pem -noout -text | grep "Signature Algorithm"
Cipher suite adında
TLS_AES_256_GCM_SHA384 içindeki SHA384, bütünlük için kullanılan MAC değil, anahtar türetme fonksiyonunda (HKDF) kullanılan hash'i belirtir; AES-GCM kendi kimlik doğrulamasını sağlar. TLS 1.3'te TLS_AES_128_GCM_SHA256 ile TLS_AES_256_GCM_SHA384 bu yüzden yalnızca hash ve anahtar boyutunda ayrılır.
Hangisini seçmeli?
- SHA-256: Çoğu web sitesi için yeterli ve uyumludur; 64 bit işlemcilerde SHA-384/512 biraz daha hızlı olabilir ancak fark çoğu zaman ihmal edilebilir.
- SHA-384: Daha yüksek güvenlik payı aranan ortamlarda, özellikle P-384 eğrisi ve AES-256 ile birlikte kurumsal/uyum gerekçeleriyle tercih edilir.
- Hash uzunluğunu büyütmek, zayıf bir anahtar boyutunu (ör. kısa RSA anahtarı) telafi etmez; anahtar uzunluğu da ayrıca yeterli olmalıdır.
Pratik ipuçları
- Hash algoritması CSR oluştururken değil, CA tarafında imzalama sırasında belirlenir; CSR oluşturucu ile anahtar türünü ve boyutunu seçersiniz.
- Sitenizin kullandığı algoritmaları SSL denetleme aracıyla görebilirsiniz.
- Bir dosyanın özetini hesaplamak için:
openssl dgst -sha256 dosya.bin.
Ek notlar
- Bir sertifika zincirinde farklı halkalar farklı hash kullanabilir; kök ve ara sertifika imzaları da kontrol edilmelidir.
- Hash uzunluğu seçimi tek başına performansı belirlemez; ağ gecikmesi ve el sıkışma sayısı çok daha etkilidir.
- CA seçenekleri konusunda Türkçe teknik destek ekibimize sorabilirsiniz.
Sonuç olarak hash seçimi ikinci plandadır; asıl önemli olan güncel protokol ve doğru yapılandırmadır.
Özet: SHA-256 çoğu sertifika için yeterlidir; SHA-384 ek güvenlik payı isteyen özel ortamlar içindir ve SSL sertifikası seçimini tek başına belirlemez.