TLS Temelleri
Aktarım Katmanı Güvenliği (TLS), özellikle şifreler, kredi kartı numaraları ve kişisel yazışmalar gibi özel ve hassas bilgiler için yararlı olan, dinleyicilerin ve bilgisayar korsanlarının ilettiğiniz şeyleri görememesini sağlamak için İnternet üzerinden gönderilen verileri şifreler. Bu sayfa TLS'nin ne olduğunu, nasıl çalıştığını ve neden dağıtmanız gerektiğini açıklar.
TLS nedir?
TLS, İnternet üzerinden uygulamalar arasında gönderilen verilerin uçtan uca güvenliğini sağlayan bir şifreleme protokolüdür. Kullanıcılara çoğunlukla güvenli web taramasında kullanımı ve özellikle güvenli bir oturum kurulduğunda web tarayıcılarında görünen asma kilit simgesi nedeniyle aşinadır. Ancak, e-posta, dosya aktarımları, video/ses konferansı, anlık mesajlaşma ve IP üzerinden ses gibi diğer uygulamaların yanı sıra DNS ve NTP gibi İnternet hizmetleri için de kullanılabilir ve gerçekten de kullanılmalıdır.
TLS, ilk olarak 1994 yılında Netscape Communications Corporation tarafından web oturumlarının güvenliğini sağlamak için geliştirilen Güvenli Yuva Katmanlarından (SSL) geliştirilmiştir. SSL 1.0 hiçbir zaman kamuya açıklanmadı, SSL 2.0 ise TLS'nin temel aldığı SSL 3.0 ile hızla değiştirildi. TLS ilk olarak 1999'da RFC 2246'da uygulamalardan bağımsız bir protokol olarak belirtildi ve SSL 3.0 ile doğrudan birlikte çalışamazken, gerekirse bir geri dönüş modu sundu. Ancak, SSL 3.0 artık güvensiz kabul ediliyor ve TLS 1.2'nin kullanılması önerisiyle Haziran 2015'te RFC 7568 tarafından kullanımdan kaldırıldı. TLS 1.3 de şu anda (Aralık 2015 itibariyle) geliştirme aşamasındadır ve daha az güvenli algoritmalar için desteği bırakacaktır.
TLS'nin uç sistemlerdeki verileri güvence altına almadığına dikkat edilmelidir. Yalnızca olası gizli dinlemeleri ve/veya içeriğin değiştirilmesini önleyerek verilerin İnternet üzerinden güvenli bir şekilde teslim edilmesini sağlar.
TLS normalde HTTP, FTP, SMTP ve IMAP gibi Uygulama Katmanı protokollerini şifrelemek için TCP'nin üzerine uygulanır, ancak UDP, DCCP ve SCTP'de de uygulanabilir (örn. VPN ve SIP tabanlı uygulama kullanımları için) . Bu, Datagram Aktarım Katmanı Güvenliği (DTLS) olarak bilinir ve RFC 6347 , 5238 ve 6083'te belirtilir .
TLS'yi neden önemsemeliyim?
Veriler geçmişte şifresiz olarak İnternet üzerinden iletildi ve şifrelemenin kullanıldığı yerlerde, genellikle şifreler veya ödeme ayrıntıları gibi hassas bilgiler için parça parça kullanıldı. İnternetin büyümesinin özel verilerin korunmasını gerektireceği 1996'da ( RFC 1984 tarafından) kabul edilmiş olsa da, aradan geçen süre boyunca, gizlice dinleyenlerin ve saldırganların yeteneklerinin önceden düşünülenden daha büyük ve daha yaygın olduğu giderek daha belirgin hale geldi. . Bu nedenle IAB , Kasım 2014'te protokol tasarımcılarını, geliştiricileri ve operatörleri, şifrelemeyi İnternet trafiği için norm haline getirmeye çağıran bir bildiri yayınladı; bu, esasen onu varsayılan olarak gizli yapmak anlamına geliyor.
TLS olmadan, oturum açma bilgileri, kredi kartı bilgileri ve kişisel bilgiler gibi hassas bilgiler başkaları tarafından kolayca toplanabilir, ancak tarama alışkanlıkları, e-posta yazışmaları, çevrimiçi sohbetler ve konferans aramaları da izlenebilir. İstemci ve sunucu uygulamalarının TLS'yi desteklemesini sağlayarak, aralarında iletilen verilerin güvenli algoritmalarla şifrelenmesini ve üçüncü şahıslar tarafından görüntülenememesini sağlar.
Tüm büyük web tarayıcılarının son sürümleri şu anda TLS'yi desteklemektedir ve web sunucularının varsayılan olarak TLS'yi desteklemesi giderek yaygınlaşmaktadır. Ancak, e-posta ve diğer bazı uygulamalar için TLS kullanımı hala zorunlu değildir ve görsel ipuçları sağlayan web tarayıcılarından farklı olarak, bağlantılarının şifreli olup olmadığı kullanıcılar için her zaman açık değildir.
Bu nedenle, tüm istemcilerin ve sunucuların, iletişimlerinde TLS'nin zorunlu kullanımında ve tercihen en son TLS 1.2 sürümünde ısrar etmeleri önerilir. Tam güvenlik için, genel olarak güvenilen bir X.509 Ortak Anahtar Altyapısı (PKI) ve tercihen DNSSEC ile birlikte kullanılması, bağlantı yapılan bir sistemin gerçekten iddia ettiği sistem olduğunu doğrulamak için gereklidir. olmak.
TLS nasıl çalışır?
TLS, verileri güvenli bir şekilde iletirken performans ve güvenlik arasında iyi bir uzlaşma sağladığı için simetrik ve asimetrik şifrelemenin bir kombinasyonunu kullanır.
Simetrik şifreleme ile, veriler hem gönderici hem de alıcı tarafından bilinen gizli bir anahtarla şifrelenir ve şifresi çözülür; tipik olarak 128, ancak tercihen 256 bit uzunluğundadır (80 bitin altındaki her şey artık güvensiz olarak kabul edilir). Simetrik kriptografi, hesaplama açısından verimlidir, ancak ortak bir gizli anahtara sahip olmak, güvenli bir şekilde paylaşılması gerektiği anlamına gelir.
Asimetrik şifreleme, anahtar çiftlerini kullanır - bir genel anahtar ve bir özel anahtar. Açık anahtar, matematiksel olarak özel anahtarla ilişkilidir, ancak yeterli anahtar uzunluğu verildiğinde, özel anahtarı açık anahtardan türetmek hesaplama açısından pratik değildir. Bu, alıcının açık anahtarının gönderici tarafından kendilerine göndermek istedikleri verileri şifrelemek için kullanılmasına izin verir, ancak bu verilerin şifresi yalnızca alıcının özel anahtarı ile çözülebilir.
Asimetrik kriptografinin avantajı, şifreleme anahtarlarını paylaşma sürecinin güvenli olması gerekmemesidir, ancak genel ve özel anahtarlar arasındaki matematiksel ilişki, çok daha büyük anahtar boyutlarının gerekli olduğu anlamına gelir. Önerilen minimum anahtar uzunluğu 1024 bittir ve 2048 bit tercih edilir, ancak bu, eşdeğer güçteki simetrik anahtarlardan bin kata kadar daha fazla hesaplama açısından yoğundur (örneğin, 2048 bitlik bir asimetrik anahtar, yaklaşık olarak 112 bitlik bir simetrik anahtara eşdeğerdir) ve asimetrik şifrelemeyi birçok amaç için çok yavaşlatır.
Bu nedenle TLS, bir oturum anahtarını güvenli bir şekilde oluşturmak ve değiştirmek için asimetrik şifreleme kullanır. Oturum anahtarı daha sonra bir tarafça iletilen verileri şifrelemek ve diğer uçtan alınan verilerin şifresini çözmek için kullanılır. Oturum bittiğinde, oturum anahtarı atılır.
RSA, Diffie-Hellman (DH), Ephemeral Diffie-Hellman (DHE), Eliptik Eğri Diffie-Hellman (ECDH) ve Geçici Eliptik Eğri Diffie-Hellman (ECDHE) dahil olmak üzere çeşitli farklı anahtar oluşturma ve değiştirme yöntemleri kullanılabilir. DHE ve ECDHE ayrıca, gelecekte özel anahtarlardan biri elde edilirse bir oturum anahtarının tehlikeye atılmayacağı ileri gizlilik sunar, ancak zayıf rasgele sayı üretimi ve/veya sınırlı bir asal sayı aralığının kullanılması, bunların kırılmasına izin vermek için varsayılmıştır. durum düzeyinde bilgi işlem kaynakları verilen 1024 bit DH anahtarları bile. Bununla birlikte, bunlar protokol sorunlarından ziyade uygulama olarak kabul edilebilir ve daha zayıf şifre takımlarını test etmek için kullanılabilecek araçlar vardır.
TLS ile, bir sunucuya bağlanan bir istemcinin, sunucunun genel anahtarının sahipliğini doğrulayabilmesi de istenir. Bu normalde, ortak anahtarın gerçekliğini doğrulayan Sertifika Yetkilisi (CA) olarak bilinen güvenilir bir üçüncü tarafça verilen bir X.509 dijital sertifikası kullanılarak gerçekleştirilir. Bazı durumlarda, bir sunucu, istemci tarafından açıkça güvenilmesi gereken kendinden imzalı bir sertifika kullanabilir (güvenilmeyen bir sertifikayla karşılaşıldığında tarayıcılar bir uyarı göstermelidir), ancak bu, özel ağlarda ve/veya güvenli sertifikanın olduğu durumlarda kabul edilebilir. dağıtımı mümkündür. Yine de, herkese açık olarak güvenilen CA'lar tarafından verilen sertifikaların kullanılması şiddetle tavsiye edilir.
Kaynak