SSL/TLS Sertifikaları Nasıl Çalışır? HTTPS Handshake Adım Adım (TLS 1.2/1.3)

🔐 SSL/TLS Sertifikaları Nasıl Çalışır?

SSL (Secure Sockets Layer) bugün pratikte yerini TLS (Transport Layer Security) protokolüne bırakmıştır. HTTPS bağlantılarında amaç; tarayıcı ile sunucu arasındaki trafiğin gizliliğini (encryption), bütünlüğünü (integrity) ve sunucu kimliğini (authentication) sağlamaktır.

Kısa düzeltme: Güncel web trafiğinde “SSL” ifadesi alışkanlıkla kullanılsa da gerçek standart ve aktif kullanılan protokol TLS (özellikle TLS 1.2/1.3)’tür.


✅ SSL/TLS nasıl çalışır? (Gerçekçi ve güncel akış)

Aşağıdaki akış, konsepti netleştirirken modern TLS’in (özellikle TLS 1.3) nasıl “daha kısa ve güvenli” hale geldiğini de doğru yerde anlatır.

1) Tarayıcı HTTPS bağlantısını başlatır (ClientHello)

Tarayıcı sunucuya:

  • desteklediği TLS sürümleri,
  • cipher suite tercihleri,
  • SNI (hangi domain’e bağlandığı),
  • (TLS 1.3’te) anahtar anlaşması için parametreler
    gibi bilgileri gönderir.

2) Sunucu yanıt verir (ServerHello) ve sertifika zincirini gönderir

Sunucu:

  • Seçtiği TLS sürümünü ve cipher suite’i belirtir,
  • Sertifika zincirini (leaf + intermediate) yollar,
  • Gerekirse ek güvenlik parametrelerini iletir.

3) Tarayıcı sertifikayı doğrular (Trust chain)

Tarayıcı şu kontrolleri yapar:

  • Sertifika CA tarafından imzalı mı?
  • Zincir güvenilen bir kök CA’ya kadar gidiyor mu?
  • Sertifika süresi geçerli mi?
  • Sertifika alan adıyla (CN/SAN) eşleşiyor mu?
  • (Varsa) CRL/OCSP ile iptal kontrolü

4) Anahtar anlaşması: “shared secret” güvenli biçimde üretilir

Modern TLS’te (özellikle TLS 1.3) yaygın yöntem:

  • (EC)DHE ile iki tarafın ortak anahtarı türetmesi (forward secrecy)
    Bu noktada “shared secret” doğrudan şifreli olarak gönderilmez; taraflar matematiksel olarak aynı gizli değeri türetir.

Sizin metindeki 4–5. adım (shared secret’ı tarayıcının üretip sunucunun public key’iyle şifrelemesi) TLS 1.2’de RSA key exchange yaklaşımına daha yakındır. Güncel pratikte (EC)DHE tercih edilir.

5) Oturum anahtarları türetilir ve “handshake” tamamlanır

Shared secret üzerinden:

  • şifreleme anahtarları,
  • bütünlük/kimlik doğrulama anahtarları
    üretilir. Taraflar birbirine “tamam, aynı anahtardayız” doğrulamasını verir.

6) Şifreli veri aktarımı başlar (Application Data)

Bundan sonra HTTP istek/yanıtları:

  • simetrik şifreleme ile hızlıca şifrelenir,
  • bütünlük doğrulaması ile korunur.

7) Kullanıcı güvenli oturumu görür (🔒)

Tarayıcı:

  • domain doğrulandıysa “kilit” simgesini gösterir,
  • EV/OV gibi doğrulama türlerine göre ek bilgi gösterebilir (tarayıcı politikalarına bağlı).

🎯 Bu yapı ne sağlar?

✅ Kimlik doğrulama (Authentication): Bağlandığınız sunucunun “o sunucu” olduğunu kanıtlarsınız.
✅ Gizlilik (Encryption): Trafik dinlense bile içerik okunamaz.
✅ Bütünlük (Integrity): Veri yolda değiştirilirse tespit edilir.
✅ MITM’e karşı koruma: Sertifika doğrulaması ve anahtar anlaşması MITM’i zorlaştırır.


⚠️ Sahada en sık görülen 5 hata (mini not)

  • Eksik intermediate (chain problemi)
  • Sertifika SAN/CN domain mismatch
  • Eski/uyumsuz TLS sürümü veya cipher suite
  • Yanlış SNI / yanlış vhost sertifikası
  • OCSP/CRL erişimi sorunları (kurumsal proxy/DNS kaynaklı)
Tarayıcı, web sunucusu ve sertifika otoritesi arasında SSL/TLS sertifikası doğrulama akışı

Cem Kemal Erbaş sitesinden daha fazla şey keşfedin

Subscribe to get the latest posts sent to your email.

About Cem Kemal Erbaş

Check Also

PayFac-as-a-Service Nedir? Ödeme Sistemlerinde Ölçeklenebilir Platform Modeli

Ödeme dünyasında yalnızca işlem gerçekleştirmek yeterli değildir. Asıl mesele, bu yapıyı ölçeklenebilir ve sürdürülebilir hale …

Bir yanıt yazın