TLS Nedir? (Transport Layer Security – Aktarım Katmanı Güvenliği
Aktarım Katmanı Güvenliği veya TLS, İnternet üzerinden iletişim için gizliliği ve veri güvenliğini kolaylaştırmak için tasarlanmış, yaygın olarak kabul edilen bir güvenlik protokolüdür. TLS’nin birincil kullanım durumu, web uygulamaları ve web siteleri yükleyen web tarayıcıları gibi sunucular arasındaki iletişimi şifrelemektir. TLS, e-posta, mesajlaşma ve IP üzerinden ses (VOIP) gibi diğer iletişimleri şifrelemek için de kullanılabilir. Bu yazıda TLS’nin web uygulama güvenliğindeki rolüne odaklanacağız.
TLS, uluslararası standartlar organizasyonu İnternet Mühendisliği Görev Gücü (IETF) tarafından önerilmiş ve protokolün ilk versiyonu 1999’da yayınlanmıştır. En son versiyon 2018’de yayınlanan TLS 1.3‘tür.
TLS ve SSL arasındaki fark nedir?
TLS, Netscape tarafından geliştirilen Secure Socket Layer (SSL) adlı önceki bir şifreleme protokolünden gelişti. TLS sürüm 1.0 gerçekte SSL sürüm 3.1 olarak geliştirilmeye başlandı, ancak protokolün adı artık Netscape ile ilişkili olmadığını göstermek için yayından önce değiştirildi. Bu tarihten dolayı TLS ve SSL terimleri bazen birbirlerinin yerine kullanılır.
TLS ve HTTPS arasındaki fark nedir?
HTTPS, tüm web siteleri ve bazı diğer web servisleri tarafından kullanılan, HTTP protokolünün üstüne bir TLS şifreleme uygulamasıdır. HTTPS kullanan tüm web siteleri bu nedenle TLS şifrelemesi kullanıyor.
Neden TLS kullanmalısınız?
TLS şifrelemesi, web uygulamalarının veri ihlalleri ve DDoS saldırıları gibi saldırılardan korunmasına yardımcı olabilir. Ayrıca, TLS korumalı HTTPS, web siteleri için hızla standart bir uygulama haline geliyor. Örneğin, Google Chrome tarayıcısı HTTPS olmayan sitelerde çöküyor ve günlük İnternet kullanıcıları HTTPS asma kilit simgesine sahip olmayan web sitelerinde daha temkinli olmaya başlıyor.
TLS nasıl çalışır?
TLS, TCP gibi bir taşıma katmanı güvenlik protokolünün üstünde kullanılabilir. TLS’nin üç ana bileşeni vardır: Şifreleme, Kimlik Doğrulama ve Bütünlük.
- Şifreleme: Üçüncü taraflardan aktarılan verileri gizler.
- Kimlik doğrulama: bilgi alışverişi yapan tarafların iddia ettikleri kişi olmasını sağlar.
- Bütünlük: Verilerin sahte olmadığını veya değiştirilmediğini doğrular.
TLS anlaşması olarak bilinen bir sekans kullanılarak bir TLS bağlantısı başlatılır. TLS anlaşması, her iletişim oturumu için bir şifre paketi oluşturur. Şifreleme paketi, söz konusu oturum için paylaşılan şifreleme anahtarlarının veya oturum anahtarlarının kullanılacağı gibi ayrıntıları belirten bir algoritmalar kümesidir. TLS, ortak anahtar şifrelemesi olarak bilinen bir teknoloji sayesinde, eşleşen oturum anahtarlarını şifrelenmemiş bir kanal üzerinden ayarlayabilir.
El sıkışma ayrıca, genellikle istemciye kimliğini ispatlayan sunucudan oluşan kimlik doğrulaması da yapar. Bu, genel anahtarlar kullanılarak yapılır. Genel anahtarlar, tek yönlü şifreleme kullanan şifreleme anahtarlarıdır; bu, orijinalliğini sağlamak için herkesin özel anahtarla şifrelenmiş verileri deşifre edebileceği anlamına gelir;
Veri şifrelenip kimliği doğrulandıktan sonra, bir mesaj doğrulama kodu (MAC) ile imzalanır. Alıcı daha sonra verilerin bütünlüğünü sağlamak için MAC’yi doğrulayabilir. Bu, bir şişe aspirinin üzerinde bulunan kurcalamaya karşı dayanıklı folyoya benzer; Tüketici, satın aldığı bir ilaca kimsenin müdahele etmediğini üzerindeki folyonun bozulmadığını görerek anlayabiliyor.
TLS web uygulama performansını nasıl etkiler?
Bir TLS bağlantısı kurmak için gereken karmaşık işlem nedeniyle, biraz yükleme süresi ve hesaplama gücü kullanılmalıdır. İstemci ve sunucu, herhangi bir veri iletilmeden önce birkaç kez ileri geri iletişim kurmalıdır ve bu, web uygulamaları için değerli milisaniye sürelerini, hem istemci hem de sunucu için bir miktar bellek tüketir.
Neyse ki, TLS anlaşmasının yarattığı gecikmeyi azaltmaya yardımcı olan teknolojiler var. Birincisi, TLS anlaşması tamamlanmadan önce sunucu ve istemcinin veri iletmeye başlamasına izin veren TLS False Start. TLS’yi hızlandıran diğer bir teknoloji de, daha önce kısaltılmış bir el sıkışma kullanmak için iletişim kuran istemcilere ve sunuculara izin veren TLS Session Resumption‘dur.
Bu gelişmeler, TLS’yi yükleme sürelerini belirgin şekilde etkilememesi gereken çok hızlı bir protokol haline getirmeye yardımcı oldu. TLS ile ilgili hesaplama maliyetlerine gelince, bugünün standartlarına göre ihmal edilebilir. Örneğin, Google 2010’da tüm Gmail platformlarını HTTPS’ye taşıdığında, ek donanım sağlamalarına gerek kalmadı. TLS şifrelemesinin bir sonucu olarak sunucularındaki ekstra yük %1’den azdı.
TLS / SSL sertifikalarının nasıl çalıştığı hakkında daha fazla bilgi için, bkz. SSL sertifikası nedir?