TLS 1.3 (RFC 8446), TLS 1.2'ye göre hem daha hızlı hem de daha sade bir protokoldür: el sıkışma tam bağlantıda tek gidiş-dönüşle (1-RTT) tamamlanır ve zayıf kabul edilen birçok özellik protokolden çıkarılmıştır.
Nasıl çalışır?
- İstemci, ClientHello içinde desteklediği grupları ve anahtar paylaşımını (key_share) hemen gönderir.
- Sunucu ServerHello ile kendi anahtar paylaşımını yanıtlar; bundan sonrası zaten şifrelidir.
- Sertifika ve imza şifreli mesajlar olarak iletilir; sertifika artık ağdaki gözlemciye açık değildir.
- Her iki taraf Finished mesajıyla el sıkışmayı doğrular.
TLS 1.2'den farkları
- RSA anahtar değişimi, statik DH, CBC modları, RC4, SHA-1 ve sıkıştırma kaldırıldı; yalnızca AEAD şifreler kalır.
- Her oturumda ileri gizlilik (forward secrecy) sağlayan geçici anahtar değişimi zorunludur.
- Cipher suite sayısı azdır:
TLS_AES_128_GCM_SHA256,TLS_AES_256_GCM_SHA384,TLS_CHACHA20_POLY1305_SHA256başlıca örneklerdir.
Sunucuda etkinleştirme
# nginx
ssl_protocols TLSv1.2 TLSv1.3;
# Apache
SSLProtocol -all +TLSv1.2 +TLSv1.3
TLS 1.3 için sunucunuzun OpenSSL 1.1.1 veya üzeri bir kütüphaneyle derlenmiş olması gerekir.
Doğrulama
openssl s_client -connect ornek.com:443 -tls1_3
Çıktıda "Protocol : TLSv1.3" görünmelidir. TLS 1.2'yi tamamen kapatmak, eski istemcileri dışarıda bırakabileceğinden, çoğu site için iki sürümü birlikte açık tutmak daha dengeli bir tercihtir. Genel durumu görmek için SSL denetleme aracını deneyebilirsiniz.
Ek notlar
- Bazı eski ara cihazlar (güvenlik duvarı, IDS) TLS 1.3 trafiğini bozabilir; sorun yaşarsanız bu cihazların yazılımını güncelleyin.
- Oturum devamı için PSK kullanıldığı için TLS 1.3'te yeniden bağlantı daha hızlıdır.
- TLS 1.2'de ileri gizlilik için ECDHE tercih etmek gerekirken, 1.3'te bu zaten zorunludur.
Geçişten önce istemci profilinizi günlüklerden inceleyin.
TLS 1.3, sertifikalarınızı değiştirmenizi gerektirmez; mevcut bir SSL sertifikası ile çalışır. Kısacası sürüm yükseltmesi çoğunlukla yalnızca yapılandırma ve kütüphane güncellemesidir.