Mertcan GÖKGÖZ
Takip Et
Horus Teknoloji, Sistem Uzmanı & DevOps & Python
· 4 dak. Okunur

TLS 1.3'e Genel Bakış - Daha Hızlı ve Daha Güvenli

Son şifreleme protokolü güncellemesi yapılalı sekiz yıl geçti, ancak yeni TLS 1.3 protokol standardı 21 Mart 2018 itibariyle son haline getirildiği duyurulmuştu. Şimdi TLS 1.3'ün çok fazla güvenlik içermesi ve performans iyileştirmeleri yapıldığını biliyoruz.

2015'in sonlarında yapılan HTTP/2 protokol güncellemesi ve 2018'de TLS 1.3 ile şifrelenmiş bağlantılar artık her zamankinden daha güvenli ve daha hızlı bir hale geldi.

TLS 1.3 ile gelen değişiklikler ve bir site sahibi olarak yapılan bu yeniliği size biraz bahsetmek istiyorum.

TLS nedir?

TLS direk olarak Transport Layer Security'nin kısaltmasıdır ve SSL'nin (Secure Sockets Layer) yerine geçecek olan bir varisdir.

Ancak, her iki terim de genellikle ortamlarda yalnızca SSL olarak anılıyorlar. TLS, web tarayıcıları ve sunucular arasında güvenli iletişim sağlar. Bağlantının kendisi güvenlidir, çünkü iletilen verileri şifrelemek için simetrik kriptografi(symmetric cryptography) kullanılır. Buraya kadar herşey normal bir şekilde işler.

guzel-bir-ssl-gorseli-tls-falan

Anahtarlar her bağlantı için benzersiz olarak oluşturulur ve TLS el sıkışma(handshake) olarak da bilinen oturumun başında anahtar değiştirme gerçekleşir. HTTPS, SMTP, POP3, FTP gibi birçok IP tabanlı protokol, verileri şifrelemek için TLS'yi destekler.(Bir zahmet desteklesin...)

Bu noktada web tarayıcıları, dijital olarak imzalanmış bir sertifika yetkilisine ait olduğunu anlamak için sertifika kullanır. Teknik olarak bu, TLS sertifikaları olarak da bilinir, ancak çoğu SSL sağlayıcısı, genellikle daha iyi bilindiği için "SSL sertifikaları" terimini sıkça kullanır.

SSL/TLS sertifikaları, pek çok kişinin tarayıcılarının adres çubuğunda gördükleri HTTPS olarak bilinen şeydir. Adından sıkça bahsederiz çünkü günümüzde güvenlik denilince aklımıza gelenlerin başındadır.

https-kullaninca-hacker-ne-gorur

TLS 1.3 vs TLS 1.2

Internet Engineering Task Force (IETF), çeşitli iterasyonlardan geçen TLS protokolünü tanımlamakla görevli olan gruptur.(Bilmeyeniniz yoktur diye düşünüyorum.)
TLS'nin önceki versiyonu olan TLS 1.2, RFC 5246'da tanımlanmıştı ve tüm web tarayıcılarının çoğunluğu tarafından son sekiz yıldır kullanılmaktadır ve kullanılmaya devam edilmektedir.

21 Mart 2018 itibariyle TLS 1.3, 28 adet taslaktan başarılı bir şekilde geçti.

Özellikle Cloudflare gibi şirketler zaten TLS 1.3'ü müşterilerine sunuyor.(2 yıl kadardır) Bunun dışında kalanlar ise yavaş bir şekilde sistemlerini TLS 1.3 için güncellemeye başladılar bile. Bu aşamada CloudFlare kullananlar biraz daha şanslıydılar.

Konu hakkında CloudFlare firmasından Filippo Valsorda'yı Londra'daki konuşmasından dinleyebilir ve genel başlıklara göz atabilirsiniz.

TLS 1.3 - CloudFlare London Tech Talk from Filippo Valsorda on Vimeo.

35 Dakikalık bu konuşmada ise özellikle üzerinde durulan noktalar;

  • TLS 1.2'ye oranla TLS 1.3 Protokolünün 0RTT özelliğinden dolayı daha hızlı olması
  • TLS 1.2'de bulunan ve artık geçerliliği olmayan tüm şifreleme algoritmalarının protokolden çıkartılması ve bir takım güvenlik zafiyetlerinin bu noktada kapatılmış olması
  • ServerHello'nun şifrelenmesinden sonra tüm mesajlarında şifrelenmesi
  • El sıkışma durum makinesi daha tutarlı ve gereksiz mesajları kaldırmak için yeniden yapılandırılmıştır.
  • Özel DHE grupları ve DSA kaldırıldı, RSA artık PSS kullanıyor.
  • TLS'nin önceki sürümlerinin PSK tabanlı şifreleme birimleri yeni bir PSK değişimi ile değiştirilmış.

baban-dami-tls-1.3-kullanirdi-bee-cloudflare

Web performansı söz konusu olduğunda TLS ve şifreli bağlantılar her zaman web sitelerine hafif bir ek yük ekledi. HTTP/2 bu soruna yardımcı oldu, ancak TLS 1.3, TLS false start ve Zero Round Trip Time (0-RTT) gibi özelliklerle şifrelenmiş bağlantıları daha da hızlandırmaya yardımcı oluyor.

Yukarıdaki referansları takip edip detaya inmek istemeyebilirsiniz. Bu yüzden kısaca özet geçmemiz gerekirse TLS 1.2, TLS el sıkışmalarını tamamlamak için iki gidiş ve iki geri dönüş yapılması gerekiyordu. TLS 1.3 de bu durum değiştirilerek, sadece bir gidiş-dönüş yapılacak hale getirildi, bu da şifreleme gecikmesini yarıya indirmiş oldu.

Bir başka avantajından bahsetmemiz gerekirse, TLS 1.3 aslında hisli bir protokol bir anlamdada sizi hatırlıyor.

Daha önce ziyaret ettiğiniz sitelerde, ilk mesaja sunucunun hemen veriyi gönderdiğini fark edeceksiniz. Buna "Zero Round Trip Time (0-RTT)" denir.

TLS 1.3 ile Geliştirilmiş Güvenlik

TLS 1.2 ile ilgili en büyük sorun, genellikle düzgün yapılandırılmadığı için web sitelerini saldırılara karşı savunmasız bırakıyor olmasıdır.

TLS 1.3 aşağıdakilerde dahil olmak üzere TLS 1.2'den eski ve güvenli olmayan tüm şifreleme algoritmalarını kaldırır:

  • SHA-1
  • RC4
  • DES
  • 3DES
  • AES-CBC
  • MD5
  • Arbitrary Diffie-Hellman groups
  • RSA EXPORT Strength (LogJam ve FREAK)

Peki tüm bunlar olurken hangi tarayıcılar TLS 1.3 protokolünü destekliyor;

destekleyen-tls13-tarayici

Firefox 58 ve üstü, Chrome 63 ve üstü bu yeni protokolü desteklemektedir. Diğer tarayıcılar ise önümüzdeki zamanlarda güncellemeler yaparak desteklemeye başlayacaklardır diye de düşünüyorum.

Diğer tarayıcıların ise neden TLS 1.3 protokolünü desteklemeye başlamadıklarını CloudFlare'nin yayınlamış olduğu Why TLS 1.3 isn't in browsers yet adlı makalesinden okuyabilirsiniz.