SSL ve Şifreleme Teknikleri
Temelden Uygulamaya, Güvenlik Açıklarından Geleceğe
1 Kriptografinin Temelleri
1.1 Kriptografi Nedir?
Kriptografi, bilgilerin yetkisiz kişilerin erişimine karşı korunmasını sağlayan matematik ve bilgisayar bilimi disiplinidir. Yunanca kryptos (gizli) ve graphein (yazmak) kelimelerinden türeyen bu kavram, tarihin en eski güvenlik yöntemlerinden birini temsil eder. Modern kriptografi ise dijital çağda veri güvenliğinin temel taşı haline gelmiştir.
Bilgi güvenliğinde kriptografi dört temel amaca hizmet eder:
Yetkisiz kişilerin veriye erişmesini önlemek
Verinin iletim sırasında değiştirilmediğini garanti etmek
İletişim kuran tarafların kimliğini doğrulamak
Bir tarafın gerçekleştirdiği eylemi sonradan reddetmesini engellemek
1.2 Şifreleme ile Hashleme Arasındaki Fark
- İki yönlüdür (geri döndürülebilir)
- Anahtar kullanılarak yapılır
- Veriyi okunaksız hale getirir
- Deşifre edilebilir
- Kullanım: Veri iletimi, depolama
- Örnek: AES, RSA, TLS
- Tek yönlüdür (geri döndürülemez)
- Anahtar gerekmez
- Sabit uzunlukta özet üretir
- Deşifre edilemez
- Kullanım: Parola saklama, bütünlük kontrolü
- Örnek: SHA-256, MD5, bcrypt
1.3 Simetrik ve Asimetrik Şifreleme
Simetrik şifrelemede şifreleme ve deşifre işlemlerinin ikisinde de aynı anahtar kullanılır. Bu yöntem son derece hızlı ve verimlidir; ancak anahtarın güvenli bir şekilde paylaşılması kritik bir sorun oluşturur.
Gönderen: Mesaj + Gizli Anahtar → Şifreli Veri
Alıcı: Şifreli Veri + Aynı Gizli Anahtar → Orijinal Mesaj
Algoritmalar: AES-128, AES-256, DES, 3DES, ChaCha20
Asimetrik şifrelemede birbirine matematiksel olarak bağlı iki farklı anahtar kullanılır: açık anahtar (public key) ve özel anahtar (private key). Açık anahtarla şifrelenen veri yalnızca o anahtara ait özel anahtarla çözülebilir.
- Herkesle serbestçe paylaşılır
- Veriyi şifrelemek için kullanılır
- Dijital imzayı doğrulamak için kullanılır
- Sertifikalarda yer alır
- Kaybedilse de güvenlik sorunu yaratmaz
- Yalnızca sahibinde bulunur
- Şifreli veriyi çözmek için kullanılır
- Dijital imza oluşturmak için kullanılır
- Asla paylaşılmaz
- Kaybedilirse tüm şifreli veriye erişim yitirilir
1.4 Klasik ve Modern Kriptografi
Klasik kriptografi, Sezar şifresi gibi karakter ikame yöntemlerine dayanır ve günümüz bilgisayarlarıyla kolayca kırılabilir. Modern kriptografi ise matematiksel karmaşıklığa —büyük asal sayıların çarpanlarına ayrılması ve ayrık logaritma problemi— dayanır. AES, RSA, ECC gibi algoritmalar günümüzün güvenlik standartlarını oluşturur.
2 SSL / TLS Protokolü
2.1 SSL Nedir ve Neden Geliştirilmiştir?
SSL (Secure Sockets Layer), Netscape Communications tarafından 1994 yılında geliştirilen güvenli iletişim protokolüdür. Web üzerinden alışveriş ve bankacılık işlemlerinin güvenliğini sağlama ihtiyacından doğmuştur. SSL’in geliştirilme motivasyonları; şifrelenmemiş HTTP trafiğinin saldırganlar tarafından okunabilmesi, sunucu kimliğinin doğrulanamaması ve aktarılan verinin bütünlüğünün garanti edilememesiydi.
2.2 TLS Nedir ve SSL’den Farkı Nedir?
TLS (Transport Layer Security), SSL 3.0’ın devamı niteliğinde olup IETF tarafından standardize edilmiştir. İsim değişikliğinin temel nedeni açık bir standart oluşturma isteğidir.
2.3 SSL/TLS Hangi Katmanda Çalışır?
SSL/TLS, OSI modelinin Oturum ve Sunum katmanları arasında, TCP/IP modelinin ise Uygulama ve Transport katmanları arasında konumlanır. TCP bağlantısı kurulduktan sonra devreye girer ve HTTP, SMTP, FTP gibi protokollere şeffaf biçimde güvenlik katmanı ekler.
3 TLS Handshake Süreci
3.1 TLS 1.2 Handshake
TLS handshake, istemci ile sunucu arasındaki güvenli bağlantının kurulmasını sağlayan müzakere sürecidir. Şifreleme algoritmaları kararlaştırılır, kimlik doğrulama gerçekleştirilir ve oturum anahtarı oluşturulur.
- ClientHello: İstemci, desteklediği TLS sürümlerini, şifre paketlerini ve rastgele bir sayıyı (client random) gönderir.
- ServerHello: Sunucu, seçilen TLS sürümünü ve şifre paketini, kendi rastgele sayısını (server random) gönderir.
- Certificate: Sunucu, dijital sertifikasını (açık anahtarını) gönderir.
- ServerHelloDone: Sunucu, ilk mesaj grubunu tamamladığını bildirir.
- ClientKeyExchange: İstemci, pre-master secret’ı sunucunun açık anahtarıyla şifreleyerek gönderir.
- ChangeCipherSpec: Her iki taraf da artık şifreli iletişime geçeceğini bildirir.
- Finished: Her iki taraf da handshake’in başarıyla tamamlandığını doğrular.
3.2 TLS 1.2 vs TLS 1.3 Karşılaştırması
- 2 round-trip gerektirir
- RSA anahtar değişimini destekler
- Birçok eski şifre paketini destekler
- Daha yavaş bağlantı kurulumu
- Perfect Forward Secrecy opsiyoneldir
- Yalnızca 1 round-trip gerektirir
- RSA anahtar değişimini kaldırmıştır
- Eski ve güvensiz algoritmalar çıkarılmıştır
- Çok daha hızlı bağlantı kurulumu
- Perfect Forward Secrecy zorunludur
3.3 Perfect Forward Secrecy (PFS)
Her oturum için bağımsız ve geçici oturum anahtarları türetilir. Sunucunun özel anahtarı ele geçirilse dahi geçmiş oturumlar güvende kalır; zira her oturumun anahtarı o oturumla birlikte silinir.
PFS’i sağlayan algoritmalar: DHE (Diffie-Hellman Ephemeral) ve ECDHE (Elliptic Curve Diffie-Hellman Ephemeral). TLS 1.3 ile PFS artık zorunlu hale getirilmiş olup statik RSA anahtar değişimi tamamen kaldırılmıştır.
4 Kriptografik Algoritmalar
4.1 Simetrik Şifreleme Algoritmaları
AES (Advanced Encryption Standard) — 2001 yılında NIST tarafından DES’in halefi olarak standardize edilen blok şifreleme algoritmasıdır. 128 bitlik bloklar üzerinde çalışır; 128, 192 veya 256 bitlik anahtar uzunluklarını destekler. AES-256, günümüzde askeri ve devlet kurumlarının güvenilir standardı olarak kabul edilmektedir.
DES ve 3DES — DES, 1977 yılında standardize edilmiş 56 bitlik anahtar kullanan bir blok şifreleme algoritmasıdır. 1999 yılında 22 saatte kırılması üzerine güvensiz ilan edilmiştir. 3DES de bugün önerilmemektedir.
4.2 RSA Algoritması
RSA, Ron Rivest, Adi Shamir ve Leonard Adleman tarafından 1977’de geliştirilen asimetrik şifreleme algoritmasıdır. Büyük asal sayıların çarpımını çarpanlarına ayırmanın hesaplama açısından çok güç olduğu gerçeğine dayanır.
1. Büyük iki asal sayı (p ve q) seçilir 2. n = p × q hesaplanır (açık modül) 3. e değeri seçilir; (n, e) çifti açık anahtar olur 4. d değeri hesaplanır; (n, d) çifti özel anahtar olur Şifreleme: C = Mᵉ mod n Deşifreleme: M = Cᵈ mod n Güvenlik: p ve q bilinmeden d hesaplanamaz
4.3 Diffie-Hellman Anahtar Değişimi
1976’da Whitfield Diffie ve Martin Hellman tarafından önerilen bu protokol, iki tarafın güvenli olmayan bir kanal üzerinden ortak bir gizli anahtarda anlaşmasını sağlar. SSL/TLS’de ECDHE (Elliptic Curve Diffie-Hellman Ephemeral) varyantı kullanılmakta olup hem daha güçlü hem de daha hızlıdır.
4.4 Elliptic Curve Cryptography (ECC)
256 bitlik bir ECC anahtarı, 3072 bitlik bir RSA anahtarıyla eşdeğer güvenlik sunar. Bu avantaj özellikle mobil cihazlar ve IoT sistemleri için kritik öneme sahiptir.
4.5 Hash Algoritmaları ve HMAC
Hash algoritmaları, herhangi uzunluktaki girdiyi sabit uzunlukta çıktıya dönüştürür. SHA-256 ve SHA-3 günümüzde güvenli kabul edilirken MD5 ve SHA-1 artık güvensizdir. HMAC, bir hash algoritmasını gizli bir anahtarla birleştirerek hem bütünlük hem de kimlik doğrulama sağlar; HMAC-SHA256, TLS’de mesaj bütünlüğünü doğrulamak için yaygın biçimde kullanılır.
5 Dijital Sertifikalar
5.1 Dijital Sertifika Nedir?
Dijital sertifika, bir varlığın kimliğini açık anahtarıyla ilişkilendiren elektronik belgedir. Pasaport veya nüfus cüzdanının dijital dünyadaki karşılığı olarak düşünülebilir. Güvenilir bir üçüncü taraf olan Sertifika Otoritesi (CA) tarafından imzalanır.
5.2 X.509 Sertifikası İçeriği
• Sürüm numarası (Version) • Seri numarası (Serial Number) • İmza algoritması (Signature Algorithm) • Yayımlayan CA bilgisi (Issuer) • Geçerlilik tarihleri — başlangıç ve bitiş (Validity Period) • Sertifika sahibi bilgisi (Subject) • Açık anahtar (Public Key) • Alternatif alan adları (Subject Alternative Names - SAN) • Anahtar kullanım alanları (Key Usage) • CA'nın dijital imzası
5.3 SSL Sertifikası Türleri
- DV (Domain Validation): Alan adı sahipliği doğrulanır, hızlı verilir
- OV (Organization Validation): Kuruluş kimliği de doğrulanır
- EV (Extended Validation): En kapsamlı doğrulama
- Single Domain: Yalnızca tek alan adını kapsar
- Wildcard: *.example.com — tüm alt alan adlarını kapsar
- Multi-Domain (SAN): Birden fazla alan adını tek sertifikayla kapsar
6 Güvenlik Açıkları ve Saldırılar
SSL/TLS protokolünün tarihsel gelişimi, çeşitli ciddi güvenlik açıklarının keşfedilmesi ve giderilmesiyle şekillenmiştir.
| Saldırı / Açık | Ciddiyet | Açıklama |
|---|---|---|
| Heartbleed CVE-2014-0160 |
Kritik | OpenSSL’in TLS heartbeat uzantısındaki bellek okuma hatası. Saldırganlar sunucu belleğinden 64KB’a kadar veri okuyabiliyordu; özel anahtarlar ve parolalar dahil. 2014’te milyonlarca sunucu etkilendi. |
| POODLE SSL 3.0 |
Yüksek | SSL 3.0’ın CBC modundaki padding oracle açığı. Saldırgan, istemciyi SSL 3.0’a düşürerek şifreli HTTP çerezlerini kurtarabiliyordu. Çözüm: SSL 3.0’ı devre dışı bırakmak. |
| BEAST TLS 1.0 |
Orta | TLS 1.0’ın CBC modundaki IV tahmin edilebilirliği açığı. TLS 1.1+ ile giderildi. |
| CRIME / BREACH | Yüksek | TLS sıkıştırmasını kullanan saldırılar. Saldırgan şifreli trafikteki boyut değişimlerini izleyerek oturum token’larını kurtarabiliyordu. Çözüm: TLS sıkıştırmasını devre dışı bırakmak. |
| FREAK / Logjam | Yüksek | İhracat kısıtlı zayıf kriptografi algoritmalarının kullanımına zorlayan saldırılar. Saldırgan el sıkışma sürecini manipüle ederek zayıf anahtarların kullanılmasını sağlıyordu. |
| SSL Stripping SSLstrip |
Yüksek | MITM saldırısının bir çeşidi. Saldırgan HTTPS bağlantısını HTTP’ye düşürür. HSTS ile önlenebilir. |
| Man-in-the-Middle MITM |
Kritik | Saldırgan istemci ile sunucu arasına girerek trafiği okur ve değiştirebilir. Certificate Pinning ile önlenebilir. |
7 Uygulama ve Kullanım Alanları
7.1 HTTPS Nasıl Çalışır?
HTTPS (HTTP Secure), HTTP protokolünün TLS şifrelemesiyle korunmuş versiyonudur. Varsayılan olarak 443. portu kullanır.
- Tarayıcı, sunucuya TCP bağlantısı kurar (port 443)
- TLS handshake gerçekleşir: sürüm ve şifre paketi müzakeresi, sertifika doğrulaması, oturum anahtarı türetimi
- HTTP isteği, TLS üzerinden şifreli biçimde gönderilir
- Sunucu yanıtı, aynı şifreli kanal üzerinden iletilir
- Bağlantı kapatıldığında oturum anahtarları silinir
7.2 SSL Termination ve Load Balancer
SSL termination, şifreli TLS bağlantısının yük dengeleyici veya reverse proxy’de sonlandırılması pratiğidir. Bu mimari yaklaşım, arka uç sunucularını TLS işlem yükünden kurtarır ve sertifika yönetimini merkezileştirir.
Ara nokta ile arka uç sunucu arasındaki iç trafiğin de şifrelenmesi kritik önemdedir. Aksi takdirde ‘güvenli’ bağlantının iç ağda açık hale gelmesi söz konusudur.
7.3 CDN ve Reverse Proxy’de SSL
Cloudflare, Akamai gibi CDN sağlayıcıları TLS işlemlerini kenar sunucularında gerçekleştirir. Bu yapı hem coğrafi yakınlık nedeniyle gecikmeyi azaltır hem de DDoS gibi saldırılara karşı ek koruma sağlar.
8 Performans ve Optimizasyon
8.1 TLS Handshake Maliyeti
TLS handshake, hesaplama ve ağ gecikmesi açısından maliyetli bir süreçtir. 100ms round-trip gecikmesinde TLS 1.2 handshake 200ms’lik ek gecikmeye yol açarken TLS 1.3 bunu yarıya indirir.
8.2 Session Resumption
Session resumption mekanizmaları, tamamlanmış bir TLS handshake’in oturum kimliğini veya anahtarını saklayarak tekrar bağlantılarda tam handshake’i atlama imkânı tanır. TLS 1.3’te 0-RTT Pre-Shared Key (PSK) mekanizması devreye girer.
8.3 TLS 1.3 Performans Avantajları
Round-trip sayısı 2’den 1’e düşürüldü
Daha önce bağlanılan sunuculara anında veri gönderilebilir
Zayıf algoritmalar kaldırılarak karar karmaşıklığı azaltıldı
9 Gelecek Teknolojileri
9.1 Kuantum Bilgisayarlar ve Kriptografiye Etkisi
- RSA ve ECC’nin güvenliğini tehdit eder
- Büyük sayı çarpanlara ayırmayı polinom zamanda çözer
- Yeterince büyük kuantum bilgisayar mevcut açık anahtar altyapısını kırabilir
- Simetrik şifreleme için etkin anahtar uzunluğunu yarıya indirir
- AES-128 etkili güvenliği AES-64’e eşdeğer hale gelir
- AES-256 ise 128 bitlik güvenliğini korur
2026 itibarıyla mevcut kuantum bilgisayarlar RSA veya ECC’yi kıracak ölçeğe henüz ulaşamamıştır; ancak saldırganlar bugün şifreli veriyi biriktirip ileride çözme stratejisi kullanabilir.
9.2 Post-Quantum Cryptography (PQC)
NIST, 2016’dan bu yana sürdürdüğü standartlaştırma sürecini 2024’te tamamlamıştır.
ML-KEM (CRYSTALS-Kyber) → Kafes tabanlı anahtar kapsülleme mekanizması → TLS gibi protokollerde anahtar değişimi için ML-DSA (CRYSTALS-Dilithium) → Kafes tabanlı dijital imza algoritması SLH-DSA (SPHINCS+) → Hash tabanlı dijital imza → Kafes algoritmalarına alternatif Temel Strateji: "Hibrit" yaklaşım → Mevcut algoritmalar (ECDH) + PQC algoritmalarını birlikte kullan
9.3 TLS’nin Geleceği
10 Uygulamalı Analiz
10.1 Wireshark TLS Filtreleri
tls → Tüm TLS trafiğini göster tls.handshake → Handshake paketlerini göster tls.handshake.type==1 → ClientHello mesajlarını göster tls.handshake.type==2 → ServerHello mesajlarını göster Deşifre için: Edit > Preferences > Protocols > TLS > (Pre)-Master-Secret log filename Ortam değişkeni: SSLKEYLOGFILE (Chrome/Firefox)
10.2 OpenSSL Komutları
# Uzak sunucu sertifikasını incele: openssl s_client -connect example.com:443 -showcerts # Sertifika dosyasının içeriğini oku: openssl x509 -in cert.pem -text -noout # Self-signed sertifika oluştur: openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -days 365 # TLS 1.3 desteğini test et: openssl s_client -connect example.com:443 -tls1_3
10.3 TLS Test Araçları
Web sitelerinin TLS yapılandırmasını A+ ile F arası notalandırır; görsel rapor sunar
Komut satırından kapsamlı TLS analizi; protokol sürümleri, açık taraması
Python tabanlı TLS tarayıcı; sertifika validasyonu ve güvenlik açığı taraması
10.4 Güvenli TLS Yapılandırması Kontrol Listesi
- ✅ TLS 1.2 ve TLS 1.3’ü etkinleştir
- ✅ SSL 2.0, SSL 3.0, TLS 1.0, TLS 1.1’i devre dışı bırak
- ✅ AES-GCM veya ChaCha20-Poly1305 tercih et
- ✅ Perfect Forward Secrecy (ECDHE) zorunlu kıl
- ✅ RC4, DES, 3DES, NULL şifrelerini devre dışı bırak
- ✅ RSA için en az 2048 bit (4096 önerilir) veya ECC P-256/P-384 kullan
- ✅ SHA-256 veya üstü imza algoritması kullan
- ✅ Sertifika geçerlilik süresini yakından takip et
- ✅ HSTS (HTTP Strict Transport Security) uygula
- ✅ Certificate Transparency (CT) değerlendir
- ✅ OCSP Stapling etkinleştir
Sonuç
SSL/TLS protokolü ve kriptografi, modern dijital güvenliğin temel direklerini oluşturmaktadır. 1994’te Netscape’in geliştirdiği SSL’den günümüzün TLS 1.3’üne uzanan yolculuk, hem teknolojinin evrimini hem de güvenlik araştırmacılarının bu protokole olan katkısını gözler önüne sermektedir.
Heartbleed, POODLE ve BEAST gibi kritik güvenlik açıkları, protokol tasarımının ne denli dikkat gerektirdiğini göstermiştir. Bugün TLS 1.3, geçmiş sürümlerin tüm hatalarından öğrenilerek tasarlanmış en güvenli ve performanslı standart olarak öne çıkmaktadır.
Modern Şifreleme Teknikleri: AES’ten Post-Kuantum Kriptografiye
Verilerinizi koruyan algoritmalar nasıl çalışır? Simetrik ve asimetrik şifrelemenin farkı ne? Ve kuantum bilgisayarlar bu dengeleri nasıl değiştirecek? Bir şifreyi kırmak…
SSL Sertifikası Türleri: DV, OV ve EV Hangisi Size Uygun?
Her web sitesi aynı SSL sertifikasına ihtiyaç duymaz. Kişisel blog ile banka arasındaki fark, yalnızca tasarımda değil seçilen sertifika türünde…
SSL Nedir? İnternetin Görünmez Kalkanı
Her gün milyonlarca kez kullandığınız o küçük kilit simgesinin arkasında ne var? SSL, verilerinizi kötü niyetli kişilerden koruyan güçlü bir…
