İçeriğe atla
0 XP 0
0/6

Puan ders bitince hesaba yazılır. Bu dersi tamamlayınca +55 XP alacaksın. Giriş yapmadan ilerlersen puan yalnız bu tarayıcıda durur.

10 dk · 55 XP · 6 etkinlik

TLS el sıkışması

Adres çubuğundaki kilit simgesi tek şey söyler: tarayıcı ile sunucu arasında TLS (Transport Layer Security) kuruldu. TLS, HTTP mesajlarını olduğu gibi alır ve şifreli bir tünelde taşır. HTTPS'in varsayılan portu 443'tür. Aynı protokol e-posta sunucularında, veritabanı bağlantılarında ve API çağrılarında da çalışır.

Tünel kurulmadan önce iki taraf pazarlık eder. Hangi şifre takımını kullanacaklar? Sunucu gerçekten iddia ettiği sunucu mu? Veriyi hangi anahtarla şifreleyecekler? Bu pazarlığın adı el sıkışmadır (handshake). Önceki derste gördüğün iki aile burada birlikte çalışır. Asimetrik kısım anahtar anlaşmasını ve kimliği, simetrik kısım veriyi üstlenir.

TLS 1.2'de tam el sıkışma iki gidiş dönüş sürerdi. TLS 1.3 bunu bire indirdi. Yöntem basit: istemci anahtar payını (key_share) doğrudan ilk mesajına koyar. Sunucu yanıtında kendi payını döner ve iki taraf ortak sırrı hemen hesaplar. Bu kısaltmanın adı 1-RTT'dir.

ClientHelloanahtar payıServerHelloanahtar payıSertifikazincir + imzaFinishediki tarafŞifreli verioturum anahtarı
TLS 1.3 el sıkışması. Anahtar payları önce gider, sertifika ServerHello'dan sonra şifreli gelir.

Şemayı soldan sağa oku. ClientHello, desteklenen şifre takımlarını ve istemcinin anahtar payını taşır. ServerHello sunucunun payını döner. RFC 8446'ya göre ServerHello'dan sonraki bütün el sıkışma mesajları şifreli gider, sertifika da artık açıkta dolaşmaz. Sunucu sertifikasını ve el sıkışmanın tamamı üzerinden attığı imzayı (CertificateVerify) yollar. İki tarafın Finished mesajı pazarlığı mühürler. Ardından uygulama verisi akar.