SSL Sertifikası Nedir? HTTPS Nasıl Çalışır

Güvenlik · · 7 dk okuma · Sorgulaa Editör Ekibi

Adres çubuğundaki kilit aslında ne söylüyor?

Bir web sitesine bağlandığınızda tarayıcınız ile sunucu arasındaki veri, onlarca ağ cihazının üzerinden geçer: evinizdeki modem, internet servis sağlayıcınızın omurgası, ara taşıyıcılar, barındırma firmasının ağı. Şifresiz bir bağlantıda (HTTP) bu yol üzerindeki herhangi bir nokta, gidip gelen her şeyi düz metin olarak okuyabilir ve hatta değiştirebilir. Kafedeki ortak Wi-Fi ağında oturum çerezinizin çalınması ya da bir sayfaya sizden habersiz reklam kodu eklenmesi bu yüzden mümkündür.

HTTPS bu sorunu iki şeyi aynı anda çözerek giderir: bağlantıyı şifreler ve karşıdaki sunucunun gerçekten iddia ettiği alan adına ait olduğunu doğrular. İkinci işin belgesi SSL sertifikasıdır. Kilit simgesi "bu site güvenilirdir" demez; yalnızca "şu anda gerçekten bu alan adıyla konuşuyorsunuz ve araya kimse giremiyor" der. Bu ayrım yazının sonuna kadar önemini koruyacak.

SSL mi, TLS mi? İsim karmaşası

SSL (Secure Sockets Layer) 1990'ların ortasında geliştirilen ilk protokoldür. SSL 2.0 ve 3.0 sürümlerinde ciddi zayıflıklar bulununca protokol yeniden tasarlandı ve adı TLS (Transport Layer Security) oldu. Bugün SSL'in hiçbir sürümü güvenli kabul edilmez; TLS 1.0 ve 1.1 de modern tarayıcılarda devre dışıdır. Pratikte kullanılan sürümler TLS 1.2 ve TLS 1.3'tür.

Buna rağmen "SSL sertifikası" ifadesi alışkanlıkla yaşamaya devam ediyor. Teknik olarak doğrusu "TLS sertifikası" ya da standardın adıyla "X.509 sertifikası" demektir, ama satın aldığınız ürünün adı ne olursa olsun, sunucunuzda çalışan protokol TLS'tir. Sertifika protokolden bağımsızdır: aynı sertifika TLS 1.2 ile de 1.3 ile de kullanılır.

Bir sertifikanın içinde ne var?

Sertifika, küçük bir dijital kimlik belgesidir. İçindeki başlıca alanlar şunlardır:

  • Konu ve alternatif adlar (SAN): Sertifikanın geçerli olduğu alan adları. Tarayıcılar bugün yalnızca SAN alanına bakar. Burada ornek.com yazıyor ama siz www.ornek.com adresine girdiyseniz ve o ad listede yoksa hata alırsınız. Yıldızlı (wildcard) sertifikalar *.ornek.com biçiminde tek seviye alt alan adını kapsar; a.b.ornek.com bunun dışında kalır.
  • Açık anahtar: Sunucunun elindeki gizli anahtarın eşi. Gizli anahtar sunucudan hiç çıkmaz; sertifikada yalnızca açık kısım bulunur.
  • Veren kurum (issuer): Sertifikayı imzalayan sertifika otoritesi (CA).
  • Geçerlilik aralığı: Başlangıç ve bitiş tarihi. Bu aralığın dışında sertifika geçersizdir.
  • İmza: CA'nın, yukarıdaki bilgilerin tamamının özetini kendi gizli anahtarıyla imzalamasıyla oluşan değer. Tek bir bayt değişse imza tutmaz.

Güven zinciri

Tarayıcınız dünyadaki her siteyi tanıyamaz; bunun yerine işletim sisteminde ya da tarayıcıda gömülü gelen, sayısı yüzü biraz aşan kök sertifika listesine güvenir. Kök otoriteler kendi anahtarlarını çevrimdışı kasalarda tutar ve günlük imzalama işini ara sertifikalara devreder. Böylece zincir şöyle kurulur: sitenin sertifikası ara sertifika tarafından, ara sertifika kök tarafından imzalanmıştır. Tarayıcı bu zinciri aşağıdan yukarı doğrular ve güvendiği bir köke ulaşırsa kilidi gösterir.

Sahada en sık görülen yapılandırma hatası burada çıkar: sunucu yalnızca kendi sertifikasını gönderir, ara sertifikayı göndermez. Masaüstü tarayıcılar çoğu zaman eksik halkayı kendileri bulup tamamladığı için site sahibi sorunu fark etmez; ama bazı mobil cihazlar, eski Android sürümleri ve API istemcileri bağlantıyı reddeder. "Bende açılıyor, müşteride açılmıyor" şikâyetinin klasik nedeni budur.

HTTPS el sıkışması adım adım

Tarayıcı ile sunucu, ilk veri baytı gönderilmeden önce kısa bir pazarlık yapar. TLS 1.3'te bu süreç kabaca şöyle işler:

  1. İstemci selamı: Tarayıcı desteklediği TLS sürümlerini, şifre takımlarını, bağlanmak istediği alan adını (SNI) ve anahtar değişimi için ürettiği geçici açık değeri gönderir.
  2. Sunucu selamı: Sunucu bir şifre takımı seçer ve kendi geçici açık değerini yollar. Bu noktada iki taraf da, hatta dinleyen biri olsa bile onun hesaplayamayacağı ortak bir sırrı matematiksel olarak türetebilir (Diffie-Hellman anahtar değişimi). Mesajların geri kalanı artık şifrelidir.
  3. Sertifika ve kanıt: Sunucu sertifika zincirini gönderir ve o ana kadarki el sıkışma mesajlarının özetini gizli anahtarıyla imzalar. Bu imza, sunucunun sertifikadaki açık anahtarın eşine gerçekten sahip olduğunu kanıtlar; sertifikayı kopyalayan biri bu imzayı üretemez.
  4. Doğrulama: Tarayıcı zinciri, tarihleri, alan adı eşleşmesini ve imzayı denetler. Hepsi tutuyorsa "bitti" mesajını yollar.
  5. Veri akışı: Bundan sonra her şey, türetilen oturum anahtarlarıyla ve AES-GCM ya da ChaCha20-Poly1305 gibi hızlı simetrik algoritmalarla şifrelenir.

Burada gözden kaçan iki incelik var. Birincisi, sertifikadaki anahtar veriyi şifrelemek için değil, kimlik kanıtlamak için kullanılır; asıl şifreleme her oturuma özel geçici anahtarlarla yapılır. Bunun getirisi ileriye dönük gizliliktir: sunucunun gizli anahtarı bir gün çalınsa bile, geçmişte kaydedilmiş trafik çözülemez. İkincisi, TLS 1.3 bu pazarlığı tek gidiş-dönüşte tamamlar; TLS 1.2'de iki gidiş-dönüş gerekiyordu. Gecikmesi 80 milisaniye olan bir mobil bağlantıda bu, her yeni bağlantıda yaklaşık 80 milisaniyelik kazanç demektir. "HTTPS siteyi yavaşlatır" iddiası modern donanım ve protokollerle geçerliliğini yitirmiştir; üstelik HTTP/2 ve HTTP/3 tarayıcılarda yalnızca HTTPS üzerinden çalışır.

DV, OV ve EV: Fark şifrelemede değil, kimlik denetiminde

Üç sertifika türü de aynı şifreleme gücünü sağlar. Aralarındaki fark, sertifika otoritesinin başvuru sahibi hakkında neyi doğruladığıdır.

TürNe doğrulanır?Verilme süresiTipik kullanım
DV (Alan adı doğrulamalı)Yalnızca alan adının kontrolü: DNS kaydı, sitedeki bir dosya ya da e-posta ileDakikalar, tamamen otomatikBloglar, kurumsal siteler, API'ler, internetin büyük çoğunluğu
OV (Kuruluş doğrulamalı)Alan adı kontrolü ve kuruluşun tüzel varlığı (sicil kayıtları, telefon teyidi)Genellikle birkaç iş günüSertifikada şirket adının görünmesini isteyen kurumlar
EV (Genişletilmiş doğrulamalı)OV'ye ek olarak daha sıkı belge ve yetkili kişi denetimiGünler ile haftalar arasıBankalar, ödeme kuruluşları, mevzuat gereği isteyenler

EV sertifikalar eskiden adres çubuğunda yeşil renkte şirket adı gösteriyordu. Büyük tarayıcılar bu özel gösterimi kaldırdı, çünkü araştırmalar kullanıcıların bu işarete bakmadığını ve yokluğunu fark etmediğini gösterdi. Bugün OV ve EV bilgisi ancak kilit simgesine tıklanıp sertifika ayrıntıları açıldığında görülür. Dolayısıyla ziyaretçi açısından görünür bir fark beklemek gerçekçi değildir; bu türleri seçmenin gerekçesi genellikle sözleşme, denetim ya da sektör düzenlemesidir.

Ücretsiz sertifikalar güvenli mi?

Evet. Let's Encrypt gibi kâr amacı gütmeyen otoritelerin verdiği DV sertifikalar, ücretli DV sertifikalarla aynı kriptografiyi kullanır ve tarayıcılar tarafından aynı şekilde tanınır. Fark başka yerlerdedir: ücretsiz sertifikalar yalnızca DV türündedir, geçerlilik süreleri kısadır (tipik olarak 90 gün) ve telefonla destek ya da garanti poliçesi gibi ticari ekler sunmazlar.

Kısa süre bir kusur değil, bilinçli bir tasarımdır. Sertifikalar ACME adlı protokolle otomatik alınır ve yenilenir; sunucudaki bir istemci yazılımı alan adının kontrolünü kanıtlar, sertifikayı indirir, kurar ve süresi dolmadan tekrarlar. Süre ne kadar kısaysa çalınan bir anahtarın işe yaradığı pencere o kadar daralır. Sektörün genel yönü de budur: tarayıcı üreticileri ve sertifika otoritelerinin ortak forumu, ücretli sertifikalar dahil azami geçerlilik süresini yıllar içinde adım adım kısaltmıştır ve kısaltmaya devam etmektedir. Güncel üst sınır için sertifika sağlayıcınızın duyurularına bakın; ama pratik ders nettir: elle yenileme dönemi bitiyor, otomasyon kurmak zorunluluk haline geliyor.

Sertifikanın süresi dolarsa ne olur?

Tarayıcı tam sayfa bir uyarı gösterir ve ziyaretçinin çoğu burada geri döner. HSTS (tarayıcıya "bu siteye yalnızca HTTPS ile bağlan" diyen başlık) etkinse kullanıcıya "yine de devam et" seçeneği bile sunulmaz; site fiilen erişilemez olur. Daha sessiz ama daha pahalı hasar arka planda yaşanır: mobil uygulamanın API çağrıları, ödeme sağlayıcısından gelen bildirimler (webhook), başka sistemlerle entegrasyonlar hata vermeye başlar ve bunların hiçbiri ekranda uyarı olarak görünmez.

Büyük şirketlerin bile bu yüzden saatler süren kesintiler yaşadığı bilinir; neden neredeyse her zaman aynıdır: sertifikayı kuran kişi işten ayrılmış, hatırlatma e-postası kimsenin okumadığı bir adrese gitmiştir. Korunmanın yolu yenilemeyi otomatikleştirmek, bunun yanına da bağımsız bir izleme koymaktır. Bir SSL sorgulama aracıyla sitenizin sertifikasının bitiş tarihini, zincirin eksiksiz olup olmadığını ve kapsanan alan adlarını dışarıdan bir gözle denetlemek, otomasyonun sessizce bozulduğu durumları yakalamanın en ucuz yoludur.

Kilit simgesi neyi garanti etmez?

DV sertifika almak için tek şart alan adını kontrol etmektir. Bankanızın adına benzeyen bir alan adını tescil ettiren dolandırıcı da birkaç dakikada geçerli bir sertifika alır ve sahte sitesinde kilit simgesi görünür. Oltalama sitelerinin büyük çoğunluğu bugün HTTPS kullanmaktadır. Kilit, bağlantının gizli olduğunu söyler; karşıdakinin dürüst olduğunu değil. Güvenlik kararını verirken bakılacak yer adres çubuğundaki alan adının kendisidir.

Sık yapılan hatalar ve özet

  • Eksik zincir: Ara sertifikayı sunucuya yüklememek. Masaüstünde sorunsuz görünür, bazı istemcilerde bağlantı kopar.
  • Ad uyuşmazlığı: Sertifikayı yalnızca çıplak alan adı için alıp www'lu sürümü ya da alt alan adlarını unutmak.
  • Karışık içerik: HTTPS sayfanın içinden HTTP ile görsel ya da betik çağırmak. Tarayıcı bunları engeller veya uyarı verir.
  • Gizli anahtarı ortalıkta bırakmak: Anahtar dosyasını depoya, yedeğe ya da e-postaya koymak. Anahtar sızarsa sertifika iptal edilip yeniden alınmalıdır.
  • Yenilemeyi insana emanet etmek: Takvim hatırlatması otomasyon değildir.

Özetle: SSL sertifikası, bir alan adı ile bir açık anahtarı birbirine bağlayan ve güvenilen bir otoritece imzalanmış kimlik belgesidir. HTTPS el sıkışmasında sunucu bu belgeyle kim olduğunu kanıtlar, ardından iki taraf oturuma özel anahtarlarla şifreli konuşur. DV, OV ve EV arasındaki fark şifrelemenin gücünde değil, kimlik denetiminin derinliğindedir. Ücretsiz sertifikalar çoğu site için yeterlidir; asıl risk sertifikanın türü değil, unutulan yenileme ve hatalı kurulumdur.