İçeriğe atla

Transport Layer Security

Taşıma Katmanı Güvenliği (TLS) ve onun öncülü/selefi olan Güvenli Soket Katmanı (SSL), bilgisayar ağı üzerinden güvenli haberleşmeyi sağlamak için tasarlanmış kriptolama protokolleridir.[1] X.509 sertifikalarını kullanırlar ve bundan dolayı karşı tarafla iletişime geçeceklerin kimlik doğrulaması asimetrik şifreleme ile yapılır[2] ve bir simetrik anahtar üzerinde anlaşılır. Bu oturum anahtarı daha sonra taraflar arasındaki veri akışını şifrelemek için kullanılır. Bu, mesaj/veri gizliliğine ve mesaj kimlik doğrulama kodları için mesaj bütünlüğüne izin verir. Protokollerin birçok versiyonu ağ tarama, elektronik mail, İnternet üzerinden faks, anlık mesajlaşma ve İnternet üzerinden sesli iletişim gibi uygulamalarda yaygın olarak kullanılmaktadır. Bu durumda/içerikte/bağlamda en önemli özellik iletme gizliliğidir. Bundan dolayı kısa süreli oturum anahtarı, uzun süreli gizli simetrik anahtardan türetilememelidir.[3]

X.509 sertifikalarının seçimi sonucunda, sertifika yöneticileri ve açık anahtar altyapısı, sertifika ve sahibi arasındaki ilişkinin doğrulanmasının yanı sıra oluşturulması, imzalanması ve sertifikaların geçerliliğinin yönetilmesi için gereklidir. Bu, güvenilirlik ağı yoluyla kimlik doğrulamasından daha faydalı olduğu halde, 2013'teki küresel izleme ifşası sertifika yöneticilerinin ortadaki adam saldırısına(man-in-the-middle attack) izin verdiğini bundan dolayı güvenlik bakımından zayıf bir nokta olduğunu bilinir hale getirdi.[4][5]

İnternet protokol takımında, SSL ve TLS uygulama katmanında ağ bağlantıları verisini şifreler. OSI modelde eşdeğer olarak, TLS/SSL 5.katmanda (oturum katmanı) başlatılır ve 6.katmanda (sunum katmanı) çalıştırılır. Oturum katmanı asimetrik şifrelemenin kullanıldığı bir el sıkışma işlemine sahiptir. Buradaki amaç, oturum için bir paylaşılan anahtar ve şifreleme ayarlarını oluşturmaktır. Sunum katmanı ise simetrik şifreleme ve oturum anahtarını kullanarak haberleşmenin geri kalanını şifreler. Bu iki modelde TLS ve SSL, bölütleri şifreli verileri iletmekte olan taşıma katmanı adına çalışmaktadır.

TLS, İnternet Mühendisliği Görev Gücü (IETF) standartlar yolu protokolüdür. İlk olarak 1999 yılında tanımlanmıştır ve RFC 5246(Ağustos 2008) ve RFC 6176(Mart 2011)da güncellenmiştir. Önceki SSL spesifikasyonları (1994, 1995, 1996) esas alınarak Netscape İletişim tarafından geliştirilmiştir.[6]

Netscape tarafından 1994 yılında geliştirilen[7]Secure Sockets Layer (Güvenli Soket Katmanı) protokolü, internet üzerinden güvenli veri iletişimi sağlayan bir protokoldür.[8] SSL 2.0 1995 yılında ve SSL'in günümüzde kullanılan versiyonu olan SSL 3.0 da 1996 yılında RFC 6101 koduyla piyasaya sürülmüştür.[9][10] Daha sonra IETF, SSL'in bir standart haline gelebilmesi için bir girişimde bulundu ve SSL 3.0'ı temel alan yeni bir protokol üzerinde çalışmaya başladı. IETF, Ocak 1999'da bu yeni protokolü TLS 1.0 (Transport Layer Security) adıyla ve RFC 2246 koduyla piyasaya sürdü.[11] TLS 1.1 Nisan 2006'da RFC 4346[12] koduyla, TLS 1.2 Ağustos 2008'de RFC 5246,[13] TLS 1.3 Ağustos 2018'de RFC 8446[14] koduyla yayınlanmıştır.

Yerini yavaş yavaş TLS 1.3'e bırakmış olsa da SSL 3.0 günümüzde tüm internet tarayıcıları tarafından desteklenmektedir.

İnternet tarayıcıların herhangi bir yerinde görülen asma kilit resmi, o siteye yapılan bağlantının SSL/TLS ile şifreli bir şekilde yapıldığını göstermektedir. Bazı tarayıcılarda bu asma kilit ikonuna tıklanarak SSL sertifikasının kimden alındığı, sitenin açık anahtar değeri, geçerlilik süresi, özet algoritması ve versiyon bilgisi gibi bilgiler görüntülenebilir.

SSL/TLS Çalışma Prensibi

SSL 3.0'ın çalışma prensibi açık anahtarlı şifrelemeye dayanmaktadır. SSL kısaca şu şekilde çalışmaktadır:

  1. Kullanıcı, internet sunucusundan güvenli bir bağlantı isteğinde bulunur,
  2. İnternet sunucusu, kullanıcıya sertifikasıyla birlikte açık anahtarını (public key) gönderir,
  3. Kullanıcının kullandığı internet tarayıcısı, sunucunun göndermiş olduğu bu sertifikanın güvenilir bir sertifika otoritesinden gelip gelmediğini ve sertifikanın geçerli olup olmadığını kontrol eder,
  4. Kullanıcının kullandığı internet tarayıcısı rastgele bir simetrik şifreleme anahtarı üretir. Daha sonra internet sunucusunun açık anahtarını (public key) kullanarak bu simetrik şifreleme anahtarını şifreler ve bağlanmaya çalıştığı internet sunucusuna gönderir,
  5. İnternet sunucusu, kendi açık anahtarıyla (public key) şifrelenmiş olan bu mesajı kendi özel anahtarıyla (private key) çözerek simetrik anahtarı elde eder,
  6. İnternet sunucusu bundan sonra kullanıcıya göndereceği verileri elde etmiş olduğu bu simetrik anahtarı kullanarak gönderir,
  7. Kullanıcı aynı simetrik anahtarla internet sunucusundan gelen verileri çözerek internet sayfasını güvenli bir şekilde görüntüler.[15]

Protokoller TLS ile ya da TLS olmaksızın işlem gördüğünden beri, istemcinin sunucuya TLS bağlantısının kurulmasını isteyip istemediğini belirtmesi gerekmektedir. Bunu gerçekleştirmenin başlıca iki yolu vardır; ilk seçenek TLS bağlantıları için farklı bir port numarası kullanılmasıdır (örneğin HTTPS için 443. port). Diğer seçenekte ise normal bir port numarası kullanılır ve istemci TLS protokolün özelleştirilmiş mekanizmasını kullanarak (örneğin mail ya da haber protokolleri için STARTTLS) sunucunun bağlantıyı TLS protokolüne yönlendirmesi için istekte bulunur.

İstemci ve sunucu TLS protokolü kullanmayı kararlaştırdıktan sonra, el sıkışma süreci kullanarak kararlı bir bağlantı kurarlar. Bu el sıkışma esnasında, istemci ve sunucu bağlantının güvenliğini sağlamak için çeşitli parametreler kullanmayı kararlaştırır:

  1. İstemci kendi SSL sürüm numarasını, şifre ayarlarını, oturuma özgü veriyi ve sunucunun istemciyle iletişime geçmek için ihtiyaç duyduğu diğer bilgileri sunucuya gönderir.
  2. Sunucu kendi SSL sürüm numarasını, şifre ayarlarını, oturuma özgü veriyi ve istemcinin sunucuyla iletişime geçmek için ihtiyaç duyduğu diğer bilgileri istemciye gönderir. Sunucu aynı zamanda kendi sertifikasını da istemciye gönderir. Eğer istemci sunucunun kimlik doğrulama gerektiren bir kaynağına ulaşmak isterse, sunucu istemcinin sertifikasını talep eder.
  3. İstemci sunucunun gönderdiği bilgileri kullanarak sunucuyu doğrular. Eğer sunucu doğrulanmazsa, kullanıcı hata uyarısı alır, şifrelemenin ve doğrulamanın sağlanamadığı hakkında bilgilendirilir. Eğer sunucu doğrulama başarılı olursa, istemci bir sonraki adıma geçer.
  4. İstemci oturum için bir ikincil paylaşılan gizli veri (sunucu işbirliğiyle ve şifreleme algoritmasına göre değişen) oluşturur, bunu sunucunun açık anahtarını kullanarak şifreler (2. adımda sunucunun sertifikasını elde etmişti) ve bu şifrelenmiş ikincil paylaşılan gizli veriyi sunucuya gönderir.
  5. Eğer sunucu istemciden kimlik kanıtlaması isterse (el sıkışmada isteğe bağlı bir adımdır) istemci aynı zamanda yeni bir veri imzalar. Bu veri el sıkışma için eşsiz olmalı ve hem istemci hem de sunucu tarafından bilinmeli. Bu durumda, istemci imzalanmış veriyi, kendi sertifikasını, şifrelenmiş ikincil paylaşılan gizli verinin yanında sunucuya yollar.
  6. Eğer sunucu istemciden kimlik kanıtlamasını istediyse, sunucu istemciyi doğrulamayı dener. Eğer istemci doğrulanmazsa, oturum sonra erer. Eğer istemci başarıyla doğrulanırsa, sunucu kendi gizli anahtarını kullanarak ikincil paylaşılan gizli veriyi deşifreler ve daha sonra bir dizi adımlar takip ederek esas paylaşılan gizli veriyi oluşturur (istemci de ikincil paylaşılan gizli veriden başlayarak aynı adımları izler).
  7. İstemci ve sunucu elde ettikleri esas paylaşılan gizli veriyi kullanarak oturum anahtarları oluşturur ki bu anahtarlar simetrik olup SSL oturumu boyunca şifreleme ve deşifreleme bilgilerinin değişiminde ve verilerin bütünlüğünün kontrol edilmesinde kullanılır (bu da, SSL bağlantı süresi boyunca verinin gönderilme saati ile alınma saati arasında herhangi bir değişikliğin olup olmadığı saptanarak yapılır).
  8. İstemci sunucuya bundan sonra kendisinden gelecek mesajların oturum anahtarıyla şifreleneceği bilgisini içeren bir mesaj gönderir. Ardından istemci farklı bir (şifrelenmiş) mesaj göndererek el sıkışmanın kendisine ait kısmının bittiğini belirtir.
  9. Sunucu istemciye bundan sonra kendisinden gelecek mesajların oturum anahtarıyla şifreleneceği bilgisini içeren bir mesaj gönderir. Ardından sunucu farklı bir (şifrelenmiş) mesaj göndererek el sıkışmanın kendisine ait kısmının bittiğini belirtir.

SSL el sıkışması artık sonra ermiş ve oturum açılmıştır. İstemci ve sunucu birbirlerine gönderdikleri verileri şifrelemek, deşifrelemek ve bütünlüğünü tasdik etmek için oturum anahtarlarını kullanırlar.

Bu güvenli kanalın normal işleyiş durumudur. Herhangi bir zamanda içeriden veya dışarıdan bir uyarı alınırsa, taraflardan biri bağlantının yeniden kurulmasını talep edebilir ve böylece süreç kendisini tekrarlar.

Eğer yukarıdaki adımlardan birisi başarısız olursa, TLS el sıkışması başarısız olur ve bağlantı oluşturulamaz.

Tanımlama

TLS protokolü gizli dinlemeyi ve onaysız değişiklik yapmayı önleyerek, ağ üzerinden istemci-sunucu uygulamalarının haberleşmesine izin verir.

Protokoller TLS ile ya da TLS olmaksızın işlem gördüğünden beri, istemcinin sunucuya TLS bağlantısının kurulmasını isteyip istemediğini belirtmesi gerekmektedir. Bunu gerçekleştirmenin başlıca iki yolu vardır; ilk seçenek TLS bağlantıları için farklı bir port numarası kullanılmasıdır (örneğin HTTPS için 443. port). Diğer seçenekte ise normal bir port numarası kullanılır ve istemci TLS protokolün özelleştirilmiş mekanizmasını kullanarak (örneğin mail ya da haber protokolleri için STARTTLS) sunucunun bağlantıyı TLS protokolüne yönlendirmesi için istekte bulunur.

İstemci ve sunucu TLS protokolü kullanmayı kararlaştırdıktan sonra, el sıkışma süreci kullanarak kararlı bir bağlantı kurarlar.[16] Bu el sıkışma esnasında, istemci ve sunucu bağlantının güvenliğini sağlamak için çeşitli parametreler kullanmayı kararlaştırır:

  • İstemci etkin olan sunucudan güvenli bir bağlantı isteğinde bulunduğunda el sıkışma işlemi başlar. Desteklediği şifreleme takımını(şifreleme ve özet fonksiyonu) liste halinde sunucuya bildirir,
  • Sunucu ise listeden şifreleme ve özet fonksiyonu bilgilerini alır ve istemcinin kararını destekler ve bildirir,
  • Sunucu genellikle kimliğini bir sayısal sertifika ile gönderir. Sertifika, sunucunun ismini, güvenilir sertifika yöneticisini ve sunucunun açık şifreleme anahtarını içerir,
  • İstemci, sunucunun göndermiş olduğu bu sertifikanın güvenilir bir sertifika otoritesinden gelip gelmediğini ve sertifikanın geçerli olup olmadığını kontrol eder,
  • Güvenli bağlantıda kullanılacak oturum anahtarını üretmek amacıyla, istemci bir rastgele sayıyı sunucunun açık anahtarını (public key) kullanarak şifreler ve elde edilen şifrelenmiş mesajı sunucuya gönderir. Bu şifreli mesajı, sadece sunucu özel anahtarını(private key) kullanarak çözebilmektedir.
  • İki tarafta rastgele sayıdan bir esas anahtar(master key) oluşturur ve daha sonra şifreleme ve şifre çözme için bir oturum anahtarı üzerinde anlaşırlar.

El sıkışması artık sonra ermiş ve güvenli bağlantı açılmıştır. İstemci ve sunucu birbirlerine gönderdikleri verileri şifrelemek, şifreli verileri çözmek ve bütünlüğünü tasdik etmek için oturum anahtarlarını kullanırlar.

Eğer yukarıdaki adımlardan birisi başarısız olursa, TLS el sıkışması başarısız olur ve bağlantı oluşturulamaz.

Tarihçesi ve Gelişimi

ProtokolYıl
SSL 1.0n/a
SSL 2.01995
SSL 3.01996
TLS 1.01999
TLS 1.12006
TLS 1.22008
TLS 1.32018

SSL 1.0, 2.0 ve 3.0

Özgün SSL protokolü Netscape tarafından geliştirilmiştir.[17] Versiyon 1.0, ciddi güvenlik kusurlarından dolayı hiçbir zaman piyasaya sürülmemiştir. Versiyon 2.0 ise Şubat 1995'te piyasaya sürülmüştür. SSL 3.0, protokolün yeniden tasarımını temsil etmektedir.[18] Paul Kocher ve Netscape mühendislerinden Phil Karlton ve Alan Freier tarafından 1996 yılında yayınlanmıştır. SSL protokolünün yeni versiyonlarında, SSL 3.0 temel alınmıştır. 1996 yılında IETF tarafından SSL 3.0 tasarısı yayınlanmıştır.

1995 ve 1998 yılları arasında Netscape İletişimde başmühendis olan Dr. Taher Elgamal, "SSL'in babası (father of SSL)" olarak tanınmıştır.[19][20]

SSL'deki tüm blok şifrelemelerini etkileyen POODLE saldırısına açık olduğu için, SSL 3.0 versiyonunun 2014 yılından itibaren güvensiz olduğu anlaşılmıştır.[21] SSL 3.0 tarafından blok olmayan şifreleme algoritmalarından yalnızca RC4 desteklenmektedir. Ancak muhtemel bir şekilde bu algoritmada kırılabilmektedir.

TLS 1.0

TLS 1.0, ilk olarak Ocak 1999'da RFC 2246'da tanımlanmıştır ve SSL 3.0 versiyonunun geliştirilmiş halidir.[22]

TLS 1.1

TLS 1.1, Nisan 2006'da RFC 4346'da tanımlanmıştır. TLS 1.0 versiyonunun güncellenmiş halidir. Bu versiyonlar arasındaki önemli değişiklikler şu şekildedir:[23]

  • Şifreli blok zincirlemesi (CBC) saldırılarına karşı koruma eklenmiştir.
  • Gizli tutulan başlangıç vektörü (IV) açık bir şekilde tutulur.
  • Padding hatalarını düzeltmede değişiklikler olmuştur.

TLS 1.2

TLS 1.2, Ağustos 2008'de RFC 5246'da tanımlanmıştır. TLS 1.1 spesifikasyonları esas alınmıştır. Başlıca farklılıklar şu şekildedir:

  • Sözde rastgele fonksiyonundaki MD5-SHA1 kombinasyonu SHA-256 ile değiştirilmiştir.
  • Tamamlanmış mesaj özetindeki MD5-SHA1 kombinasyonu SHA-256 ile değiştirilmiştir. Bununla birlikte tamamlanmış mesaj uzunluğu hala 96 bit olarak kesilmiştir.
  • Dijital olarak imzalanmış elemanda MD5-SHA1 kombinasyonu el sıkışması boyunca SHA1 ile değiştirilmiştir.
  • İstemci ve sunucu hangi özet ve imzalama algoritmasını kullanacağına karar verebilmektedir.
  • TLS uzantılarının tanımları ve Gelişmiş Şifreleme Standardının(AES) şifreleme parçaları eklenmiştir.

Tüm TLS versiyonları, Mart 2011'de RFC 6176'da düzeltilmiştir. SSL ile geçmişe yönelik uyumluluk özelliği kaldırılmıştır. Öyle ki, TLS oturumları hiçbir zaman SSL 2.0 versiyon kullanımını kabul etmeyecektir.

TLS 1.3

TLS 1.3, Ağustos 2018'de RFC 8446'da tanımlanmıştır. Önceki TLS 1.1 ve TLS 1.2 spesifikasyonları esas alınmıştır. TLS 1.2'den başlıca farkları şu şekildedir:

  • Cipher suite'lerden anahtar anlaşması ve kimlik doğrulama algoritmaları ayrılmıştır.
  • Zayıf ve daha az kullanılan eliptik eğrilere olan destek kaldırılmıştır.
  • MD5 ve SHA-224 kriptografik hash fonksiyonlarına olan destek kaldırılmıştır.
  • Önceki yapılandırma kullanılmış olsa bile dijital imzalar gerekli kılınmıştır.
  • 1-RTT el sıkışması desteği ve 0-RTT için ilk destek.
  • Birçok güvenli olmayan ve eskimiş özelliklere olan destek kaldırılmıştır. Bunlar; sıkıştırma, anlaşma tekrarı, AEAD olmayan şifrelemeler, PFS olmayan anahtar değişimi (statik RSA ve statik DH anahtar değişimi), özel DHE grupları, karşılama mesajındaki UNIX zamanı.
  • Oturum hash'i kullanımı entegre edilmiştir.
  • Geriye dönük uyumluluk için SSL veya RC4 anlaşmasının engellenmesi.
  • Geriye dönük uyumluluk için katman versiyon numarası kaydının kullanımdan kaldırılması ve numaranın dondurulması.
  • Bazı yeni dijital imza algoritmaları eklendi.

Açık anahtar sertifikaları

Açık anahtar sertifikası, açık anahtar sahipliğini onaylar ve bu, diğerlerinin onaylanmış açık anahtara karşılık gelen özel anahtar ile yapılan imzalara veya bildirimlere güvenmesini sağlamaktadır.

Sertifika otoriteleri

Güven ilişkisinin bu modelinde, sertifika otoritesi güvenilir üçüncü şahıstır (Trusted Third Party). Sertifika sahipleri ve sertifika kullanıcıları tarafından güvenilir.

Algoritma

Anahtar değişimi ve anahtar anlaşması

İstemci ve sunucu TLS tarafından korunan bilgilerin değişimine başlamadan önce, verileri şifreleme için kullanılacak şifreleme algoritması ve şifreleme anahtarı üzerinde anlaşmaları gerekmektedir. Anahtar değişimi için kullanılan metotlar şu şekildedir: açık ve gizli anahtarlar RSA(TLS el sıkışma protokolünde TLS_RSA olarak ifade edilir), Diffie-Hellman(TLS_DH), ephemeral Diffie-Hellman(TLS_DHE), Eliptik Eğri Diffie-Hellman(Elliptic Curve Diffie-Hellman / TLS_ECDH), ephemeral Elliptic Curve Diffie-Hellman(TLS_ECDHE), isimsiz Diffie-Hellman(anonymous Diffie-Hellman / TLS_DH_anon), önceden paylaştırılan anahtar (TLS_PSK)[24] ve Secure Remote Password(TLS_SRP)[25] ile oluşturulur.

TLS_DH_anon ve TLS_ECDH_anon anahtar değişim metotları sunucu veya kullanıcının kimliğini doğrulamaz. Aynı zamanda, ortadaki adam (MitM) saldırısına açık olduğu için nadiren kullanılmaktadır. Sadece TLS_DHE ve TLS_ECDHE iletme gizliliği sağlar.

Açık anahtar sertifikaları değişim boyunca kullanılır ve aynı zamanda değişim boyunca kullanılan açık ve gizli anahtarların boyutuna göre çeşitlilik gösterir. Bundan dolayı güvenliğin dayanıklılığı sağlanmış olur. Temmuz 2013 yılında, Google artık 1024 bitlik açık anahtarları kullanmak yerine 2048 bit anahtarlara geçerek kullanıcılarına sunduğu TLS şifreleme güvenliğini artırdığını duyurmuştur.[26]

Kimlik Doğrulama ve Anahtar değişimi
AlgoritmaSSL 2.0SSL 3.0TLS 1.0TLS 1.1TLS 1.2Statü
RSAEvetEvetEvetEvetEvetRFC dokümanlarında TLS 1.2 için tanımlanmıştır.
DH-RSAHayır Evet Evet Evet Evet
DHE-RSA
ECDH-RSAHayır Hayır Evet Evet Evet
ECDHE-RSA
DH-DSSHayır Evet Evet Evet Evet
DHE-DSS
ECDH-ECDSAHayır Hayır Evet Evet Evet
ECDHE-ECDSA
TLS-PSKHayır Hayır Evet Evet Evet
PSK-RSA
DHE-PSK
ECDHE-PSK
SRPHayır Hayır Evet Evet Evet
SRP-DSS
SRP-RSA
KerberosHayır Hayır Evet Evet Evet
DH-ANONHayırHayırEvetEvetEvet
ECDH-ANONHayırHayırEvetEvetEvet
GOST R 34.10-94 / 34.10-2001[27]Hayır Hayır Evet Evet Evet RFC tasarılarında önerilmiştir.

Şifreleme

Bilinen uygulanabilir saldırılara karşı şifreleme güvenliği
ŞifrelemeProtokol versiyonuDurum
Tip Algoritma Güç (bits) SSL 2.0 SSL 3.0
[n 1][n 2][n 3][n 4]
TLS 1.0
[n 1][n 3]
TLS 1.1
[n 1]
TLS 1.2
[n 1]
Block cipher mode of operation AES GCM[n 5]256, 128 GüvenliRFC'lerde TLS 1.2 için tanımlanmıştır
AES CCM[n 5]Güvenli
AES CBC[n 6]Alınan önlemlere göre değişirGüvenliGüvenli
Camellia GCM[n 5]256, 128 Güvenli
Camellia CBC[n 6]Alınan önlemlere göre değişirGüvenliGüvenli
ARIA GCM[n 5]256, 128 Güvenli
ARIA CBC[n 6]Alınan önlemlere göre değişirGüvenliGüvenli
SEED CBC[n 6]128 Alınan önlemlere göre değişirGüvenliGüvenli
3DES EDE CBC[n 6]112[n 7]GüvensizGüvensizAz güçlü, Alınan önlemlere göre değişirAz güçlüAz güçlü
GOST 28147-89 CNT256 GüvenliGüvenliGüvenliRFC taslaklarında önerilmiştir
IDEA CBC[n 6][n 8]128 GüvensizGüvensizDepends on mitigationsGüvenliTLS 1.2'den kaldırılmıştır
DES CBC[n 6][n 8]056 GüvensizGüvensizGüvensizGüvensiz
040 GüvensizGüvensizGüvensizTLS 1.1 ve sonrası için yasaklanmıştır
RC2 CBC[n 6]040 GüvensizGüvensizGüvensiz
Stream cipher ChaCha20-Poly1305[n 5]256 GüvenliRFC taslaklarında önerilmiştir
RC4[n 9]128 GüvensizGüvensizGüvensizGüvensizGüvensizTLS'nin tüm versiyonları için yasaklanmıştır
040 GüvensizGüvensizGüvensiz
None Null[n 10]- GüvensizGüvensizGüvensizGüvensizRFC'lerde TLS 1.2 için tanımlanmıştır
Notlar
  1. ^ a b c d RFC 5746, tekrar anlaşma kusurunu düzeltebilmek için uygulanmıştır. Aksi takdirde protokol kırılabilir.
  2. ^ Kütüphaneler RFC 5746'daki listelenmiş düzeltmeleri uygularsa bu, SSL 3.0'daki spesifikasyonları çiğnemiş olur.
  3. ^ a b İstemci veya sunucu tarafından hafifletilmezse BEAST saldırısı SSL 3.0 ve TLS 1.0'da kullanılan bütün blok şifrelemeleri kırabilir.
  4. ^ İstemci veya sunucu tarafından hafifletilmezse POODLE saldırısı SSL 3.0'da kullanılan bütün blok şifrelemeleri kırabilir.
  5. ^ a b c d e AEAD şifreleme sadece TLS 1.2'de kullanılmaktadır.
  6. ^ a b c d e f g h Eğer kütüphane dikkatlice yazılmazsa, CBC şifreleme Lucky 13 saldırısına maruz kalabilir.
  7. ^ 3DES anahtar uzunluğu 168 bit olmasına rağmen 3DES'in geçerli güvenlik dayanıklılığı sadece 112 bittir.
  8. ^ a b IDEA ve DES, TLS 1.2'den kaldırılmıştır.
  9. ^ Tüm TLS versiyonlarında RC4 kullanımı RFC 7465 tarafından yasaklanmıştır.
  10. ^ Şifreleme yoktur, yalnızca kimlik doğrulaması vardır.

Veri bütünlüğü

Veri bütünlüğü için mesaj kimlik doğrulama kodu kullanılır. Blok şifrelemenin CBC modu ve dizi şifreleme için HMAC kullanılır. GCM ve CCM mod gibi doğrulanmış şifreleme için AEAD kullanılır.

Veri Bütünlüğü
AlgoritmaSSL 2.0SSL 3.0TLS 1.0TLS 1.1TLS 1.2Durum
HMAC-MD5 EvetEvetEvetEvetEvetRFC dokümanlarında TLS 1.2 için tanımlanmıştır.
HMAC-SHA1 HayırEvetEvetEvetEvet
HMAC-SHA256/384 HayırHayırHayırHayırEvet
AEAD HayırHayırHayırHayırEvet
GOST 28147-89 IMIT HayırHayırEvetEvetEvetRFC tasarılarında önerilmiştir.
GOST R 34.11-94 HayırHayırEvetEvetEvet

Uygulamalar

Uygulamalarının dizayn aşamasında, TLS genelde herhangi bir taşıma katmanın - örneğin TCP, UDP- üzerinde geliştirilirken uygulamanın belirli protokollerini -örneğin HTTP, FTP, NNTP ve XMPP-  enkapsüle eder. Tarihsel açıdan, TLS öncelikli olarak güvenilir taşıma protokolleri -örneğin TCP- tercih edilirdi. Buna rağmen datagram tabanlı taşıma protokolleri kullanılarak da geliştirilmiştir -örneğin UDP ve Datagram Congestion Control Protocol (DCCP)-. Bu uygulama sonradan Datagram Transport Layer Security (DTLS) adı altında standartlandırılmıştır.

Web Siteleri

TLS’in öne çıkan kullanımı, internette web sayfası ve tarayıcı arasında oluşturulan trafiği HTTP formundan HTTPS formuna sokarak güvence altına almasıdır. Kayda değer uygulamaları e-ticaret ve varlık yönetimidir.

Web sayfası protokol desteği
Protokol versiyonuWeb sayfası desteğiGüvenlik
SSL 2.0%13,2 (−%0,8) Güvensiz
SSL 3.0%42,3 (−%3,2) Güvensiz
TLS 1.0%99,7 (±%0,0) Şifreye ve istemcide alınan önlemlere göre değişir
TLS 1.1%55,2 (+%2,2) Şifreye ve istemcide alınan önlemlere göre değişir
TLS 1.2%58,1 (+%2,1) Şifreye ve istemcide alınan önlemlere göre değişir

Web Tarayıcıları

Şubat 2015 itibarıyla, başlıca web tarayıcılarının son versiyonları TLS 1.0, 1.1 ve 1.2 desteklemekte ve bunları varsayılan olarak aktif olarak sunmaktadır. Buna rağmen, bazı tarayıcıların eski versiyonlarında bu konuda problemlerle karşılaşılmaktadır.[28]

  • · TLS 1.1 ve 1.2 desteklenmesine rağmen varsayılan olarak Internet Explorer (8–10 for Windows 7 / Server 2008 R2, 10 for Windows 8 / Server 2012, IE Mobile 10 for Windows Phone 8) versiyonlarında devre dışı olarak bulunmaktadır.
  • · TLS 1.1 ve 1.2 desteklenmesine rağmen varsayılan olarak Internet Explorer (6-8 for Windows Server 2003, 7–9 for Windows Vista / Server 2008), Safari 6 for Mac OS X 10.8 versiyonlarında devre dışı olarak bulunmaktadır.

Kütüphaneler

En çok kullanılan açık kaynak SSL and TLS programlama kütüphaneleri:

  • Botan, a BSD lisanslı C++ tabanlı kriptografik kütüphane.
  • cryptlib: Portatif açık kaynak kriptografi kütüphanesi (TLS/SSL uygulaması içerir)
  • Delphi programcıları, OpenSSL den yararlanılarak oluşturulan Indy kütüphanesini kullanabilir
  • GnuTLS: Kullanıma açık olan uygulama (LGPL lisanslı)
  • Java Secure Socket Extension: Java 7'den itibaren Java Runtime Environment, TLS 1.1 and 1.2 desteklemesine rağmen kullanıcı için devre dışı olarak bulunmasına karşın sunucu tarafında aktif olarak bulunmaktadır. Java 8'den itibaren hem kullanıcı hem de sunucu için varsayılan olarak aktif bulunmaktadır.
  • LibreSSL: OpenBSD tasarısının yaptığı OpenSSL çatallaması
  • MatrixSSL: Duble lisanslanmış uygulama
  • mbed TLS (önceden PolarSSL): Gömülü sistemlerde kullanabilmesi için oluşturulmuş küçük bir SSL kütüphanesi
  • Network Security Services: FIPS 140 tarafından onaylanmış açık kaynak kütüphanesi
  • OpenSSL: Kullanımı serbest olan bir uygulama (bazı eklemeli BSD lisanslı)
  • SChannel: Microsoft Windows sistemlerin SSL ve TLS paketini oluşturan uygulama
  • Secure Transport: OS X ve iOS sistemlerin SSL ve TLS paketini oluşturan uygulama
  • wolfSSL (önceden CyaSSL): Özellikle hıza ve büyüklüğe önem vermiş gömülü SSL/TLS kütüphanesi

Diğer kullanımları

Elektronik posta gönderme protokolünde (Simple Mail Transfer Protocol) de TLS aracılıyla korunma sağlanabilir. Bu uygulamalar, dijital sertifika kullanarak son noktaların birbirlerini doğrulaması sağlanmaktadır.

Ayrıca TLS kullanılarak bütün ağ, tünellenerek VPN oluşturulabilinir -örneğin OpenVPN ve OpenConnect. Birçok satıcı artık TLS'in şifreleme ve kimlik doğrulama özelliklerinden yararlanmaktadır. Bunun yanı sıra 90ların sonundan itibaren web tarayıcıları dışında da kullanıcı bazlı kullanıcı/sunucu uygulamalarında azımsanmayacak derece gelişme göstermiştir. Geleneksel IPsec VPN teknolojisiyle kıyaslandığında, TLS'in özünden gelen, güvenlik duvarlarına ve NAT teknolojisine faydaları bulunmaktadır, özellikle de geniş uzaktan kontrol gerektiren ağ hizmetlerini daha kolay haline getirmektedir.

Bunların dışında TLS, Session Initiation Protocol (SIP)(Oturum Başlatma Protokolü) uygulamasında korunma açısından standart bir metodudur. Ayrıca TLS, VoIP ve diğer SIP tabanlı uygulamalar ile birlikte SIP sinyalizasyonunda kimlik doğrulama ve şifreleme sağlamak için kullanılabilir.

Güvenlik

SSL 2.0

SSL 2.0 birçok açıdan kusurlu bulunmaktadır:[29]

  • Özdeş şifreleme anahtarları mesaj kimlik doğrulama ve şifreleme için kullanılmaktadır.
  • SSL 2.0 uzunluk uzatma saldırılarına karşı savunmasız hale getirebilecek, gizli önek ile MD5 hash fonksiyonu kullanan bir zayıf MAC yapıya sahiptir.
  • SSL 2.0'da el sıkışma sırasında herhangi bir güvenlik uygulanmamaktadır, diğer bir deyişle ortadaki adam saldırıları tespit edilememektedir.
  • SSL 2.0 veri sonunu belirtmek için TCP bağlantısı sonunu kullanır. Bu yüzden iletişim esnasında kesme saldırıları mümkün olmaktadır.
  • SSL 2.0, tek bir hizmet ve web sunucuların tek bir sertifikaları olduğunu varsayarak aslında sanal barındırma(virtual hosting) standart özelliği ile çalışan web sunucuları ile ters düşmektedir. Bu da çoğu web sitelerini, SSL kullanma konusunda engelli konumunda bırakır.

SSL 3.0

SSL 2.0 protokolüne SHA-1 tabanlı şifreler ve sertifika doğrulaması desteği eklenerek oluşturulmuştur.

SSL 3.0 şifre suitlerinde, zayıf anahtar üretme süreci bulunmaktadır; master anahtarın yarısı tamamen MD5 hash fonksiyonuna bağlı olarak üretilmektedir. Diğer tarafta ise TLS 1.0 protokolünde master anahtar hem MD5 hem de SHA-1 algoritmalarıyla üretilmektedir. Bu üretim süreci şimdilik zayıf olarak görülmemektedir.

Ekim 2014'te, SSL 3.0 tasarımında kritik bir açıklık rapor edilmiştir. Bu açıklık, CBC işleminde padding saldırılarına karşı savunmasız olmasından kaynaklanmaktadır (POODLE saldırısı).

TLS

TLS'de çeşitli güvenlik önlemleri bulunmaktadır:

  • Zayıf şifre protokolüne sahip önceki versiyonuna düşürülmesine karşı koruma (downgrade of the protocol)
  • Ardışık olarak oluşturan paketleri sıra numaralarıyla etiketleyip bu numaraları da mesaj doğrulama kodlarında (MAC) kullanmaktadır.
  • Bağlantı sonlandırma işleminde iki tarafta karşılıklı olarak ("Finished") mesajının hashini yollayarak dışarıdan bağlantı sonlandırma saldırılarına karşı önlem alınmıştır.
  • Sözde rastgelelik fonksiyonunda, gelen vereyi ikiye ayırarak bunları farklı hash fonksiyonlarıyla (MD5 vs SHA-1) hashlerini oluşturduktan sonra bu iki veriyi XORlayarak mesaj doğrulamak kodunu oluşturmaktadır.

Üçlü DES CBC'den kaçınma

Bazı uzmanlar, Triple-DES CBC kullanılmasından kaçınılmasını tavsiye etmektedir. Son desteklenen şifreleme algoritmaları, birçok program Windows XP'nin SSL/TLS kütüphanelerini kullandıkları için, bu kütüphanelere uygun olarak geliştirilmektedir.

Ortadaki adam(MitM) saldırısı ile ilişkisi

Ana makale için: Aradaki adam saldırısı

İğnelenmiş Dijital Sertifika

Aradaki adam saldırısını engelleme yöntemlerinden biri, dijital sertifikayı iğnelemektir. Bu yöntem iki türlü gerçekleştirilmektedir. Bunlardan ilki, ilk bağlantı esnasında web sitesinden alınan sertifikayı o sitenin gerçek sertifikası olarak kabul edip bundan sonraki bağlantılar sırasında web sitesinden alınan ilk alınan sertifikayla kıyaslayarak devam etme yöntemidir. Diğer yöntem ise Google firması, Chrome'da *.google.com domainleri için kullandığı sertifikayı gömülü olarak bulundurmaktadır. Bu sayede herhangi birisi google.com adresi için aradaki adam saldırısı gerçekleştirmeye çalıştığında, Chrome bunu otomatik olarak kendisinde gömülü olarak bulunan sertifikayla kıyaslayarak hata vermektedir.

DNSChain

DNSChain'deki güvenlik, "blok zincirleri" açık anahtarlarının dağıtımına dayanmaktadır. Belirli bir DNSChain sunucusuna güvenli bir kanal açıldıktan sonra diğer tüm açık anahtarlar bu kanal üzerinden iletilmektedir.

Daha fazla bilgi

Dış bağlantılar

Kaynakça

  1. ^ T. Dierks, E. Rescorla (Ağustos 2008). "The Transport Layer Security (TLS) Protocol, Version 1.2". 10 Haziran 2016 tarihinde kaynağından arşivlendi. Erişim tarihi: 17 Mart 2015. 
  2. ^ "RFC 5246: The Transport Layer Security (TLS) Protocol Version 1.2". Internet Engineering Task Force. 10 Haziran 2016 tarihinde kaynağından arşivlendi. Erişim tarihi: 9 Eylül 2013. 
  3. ^ SSL: Intercepted today, decrypted tomorrow 21 Eylül 2013 tarihinde Wayback Machine sitesinde arşivlendi., Netcraft, 2013-06-25.
  4. ^ Law Enforcement Appliance Subverts SSL 15 Mart 2014 tarihinde Wayback Machine sitesinde arşivlendi., Wired, 2010-04-03.
  5. ^ New Research Suggests That Governments May Fake SSL Certificates 4 Ocak 2016 tarihinde Wayback Machine sitesinde arşivlendi., EFF, 2010-03-24.
  6. ^ A. Freier, P. Karlton, P. Kocher (Ağustos 2011). "The Secure Sockets Layer (SSL) Protocol Version 3.0". 25 Mart 2016 tarihinde kaynağından arşivlendi. Erişim tarihi: 17 Mart 2015. 
  7. ^ "SSL Tarihi". 2 Nisan 2015 tarihinde kaynağından arşivlendi. Erişim tarihi: 17 Mart 2015. 
  8. ^ "SSL'in Amacı". 10 Haziran 2016 tarihinde kaynağından arşivlendi. Erişim tarihi: 17 Mart 2015. 
  9. ^ "SSL 3.0". 25 Mart 2016 tarihinde kaynağından arşivlendi. Erişim tarihi: 17 Mart 2015. 
  10. ^ "Secure Sockets Layer Protocol". 1 Ocak 2016 tarihinde kaynağından arşivlendi. Erişim tarihi: 17 Mart 2015. 
  11. ^ "TLS 1.0". 27 Aralık 2015 tarihinde kaynağından arşivlendi. Erişim tarihi: 17 Mart 2015. 
  12. ^ "TLS 1.1". 1 Ocak 2016 tarihinde kaynağından arşivlendi. Erişim tarihi: 17 Mart 2015. 
  13. ^ "TLS 1.2". 10 Haziran 2016 tarihinde kaynağından arşivlendi. Erişim tarihi: 17 Mart 2015. 
  14. ^ "TLS 1.3". 27 Ağustos 2018 tarihinde kaynağından arşivlendi. Erişim tarihi: 25 Ağustos 2018. 
  15. ^ "SSL/TLS". 21 Aralık 2015 tarihinde kaynağından arşivlendi. Erişim tarihi: 17 Mart 2015. 
  16. ^ "SSL/TLS in Detail". 4 Mart 2016 tarihinde kaynağından arşivlendi. Erişim tarihi: 10 Nisan 2016. 
  17. ^ "THE SSL PROTOCOL". netscape.com. 14 Haziran 1997 tarihinde kaynağından arşivlendi. Erişim tarihi: 10 Nisan 2016. 
  18. ^ Rescorla 2001. 
  19. ^ "Father of SSL, Dr. Taher Elgamal, finds fast-moving IT projects in the Middle East". 30 Mart 2016 tarihinde kaynağından arşivlendi. Erişim tarihi: 10 Nisan 2016. 
  20. ^ "Father of SSL says despite attacks, the security linchpin has lots of life left". 4 Ocak 2016 tarihinde kaynağından arşivlendi. Erişim tarihi: 10 Nisan 2016. 
  21. ^ "POODLE: SSLv3 vulnerability (CVE-2014-3566)". 17 Mart 2016 tarihinde kaynağından arşivlendi. Erişim tarihi: 10 Nisan 2016. 
  22. ^ "Guidelines for the Selection, Configuration, and Use of Transport Layer Security (TLS) Implementations" (PDF). 4 Mart 2016 tarihinde kaynağından arşivlendi (PDF). Erişim tarihi: 10 Nisan 2016. 
  23. ^ "The Transport Layer Security (TLS) Protocol Version 1.1, RFC 4346". 10 Haziran 2016 tarihinde kaynağından arşivlendi. Erişim tarihi: 10 Nisan 2016. 
  24. ^ "Pre-Shared Key Ciphersuites for Transport Layer Security (TLS)". 27 Mayıs 2016 tarihinde kaynağından arşivlendi. Erişim tarihi: 9 Nisan 2016. 
  25. ^ "Using the Secure Remote Password (SRP) Protocol for TLS Authentication". 26 Mayıs 2016 tarihinde kaynağından arşivlendi. Erişim tarihi: 9 Nisan 2016. 
  26. ^ "Google updates SSL certificates to 2048-bit encryption". 22 Eylül 2013 tarihinde kaynağından arşivlendi. Erişim tarihi: 10 Nisan 2016. 
  27. ^ "OST 28147-89 Cipher Suites for Transport Layer Security (TLS) draft-chudov-cryptopro-cptls-04". 21 Nisan 2016 tarihinde kaynağından arşivlendi. Erişim tarihi: 10 Nisan 2016. 
  28. ^ "HTTP VS HTTPS". 11 Haziran 2016 tarihinde kaynağından arşivlendi. Erişim tarihi: 9 Nisan 2016. 
  29. ^ "n the Security of Today's Online Electronic Banking Systems". 17 Ekim 2015 tarihinde kaynağından arşivlendi. Erişim tarihi: 10 Nisan 2016. 

İlgili Araştırma Makaleleri

<span class="mw-page-title-main">HTTP</span> iletişim protokolü

HTTP bir kaynaktan dağıtılan ve ortak kullanıma açık olan hiperortam bilgi sistemleri için uygulama seviyesinde bir iletişim protokolüdür. HTTP, World Wide Web için veri iletişiminin temelidir; burada köprü metni belgeleri, örneğin bir fare tıklamasıyla veya bir web tarayıcısında ekrana dokunarak kullanıcının kolayca erişebileceği diğer kaynaklara köprüler içerir.

POP3, OSI referans modelinin uygulama katmanında çalışan bir E-posta iletişim protokolüdür. Bu protokol yerel E-posta alıcıları tarafından uzak sunucudan E-postaları indirmek için kullanılır ve bu işlem TCP 110 numaralı port üzerinden gerçekleştirilir. POP ve IMAP günümüzde en çok kullanılan iki e-posta protokolüdür. Tüm güncel e-posta alıcıları ve sunucuları iki protokolü de destekler. POP birkaç versiyon olarak geliştirilmiştir ve şu anda standart olarak kullanılanı 3. versiyonudur. Bu yüzden POP3 adı kullanılır.

SMTP, bir e-posta göndermek için sunucu ile istemci arasındaki iletişim şeklini belirleyen protokoldür. Farklı işletim sistemleri için geliştirilmiş e-posta protokolleri bulunmaktadır. Bu e-posta protokollerinin SMTP'ye geçit yolu (gateway) vardır. SMTP, Aktarım Temsilcisi ve Kullanıcı Temsilcisi yazılımları arasındaki iletişimi sağlar. TCP'nin üst katmanında çalışır.

Bilgi işlemde, İnternet Mesaj Erişim Protokolü (IMAP), e-posta istemcilerinin bir TCP/IP bağlantısı üzerinden bir posta sunucusundan e-posta mesajları almak için kullandığı bir İnternet standart protokolüdür. IMAP, RFC 9051 tarafından tanımlanır.

<span class="mw-page-title-main">Dosya aktarım iletişim kuralı</span> Bilgisayarcılık terimi

Dosya aktarım iletişim kuralı,, bir veri yığınının - ASCII, EBCDIC ve binary- bir uç aygıttan diğerine iletimi için kullanılmaktadır.

Telnet, Internet ağı üzerindeki çok kullanıcılı bir makineye uzaktaki başka bir makineden bağlanmak için geliştirilen bir TCP/IP protokolü ve bu işi yapan programlara verilen genel isimdir. Telnet iki bileşenden oluşur: (1) iki tarafın nasıl iletişim kuracağını belirleyen protokolün kendisi ve (2) hizmeti sağlayan yazılım uygulaması.Kullanıcı verileri, İletim Kontrol Protokolü (TCP) üzerinden 8 bitlik bayt yönlendirmeli bir veri bağlantısında Telnet kontrol bilgisi ile bant içi serpiştirilir. Telnet, 1969'da RFC 15 ile başlayarak geliştirildi, RFC 855'te genişletildi ve ilk İnternet standartlarından biri olan İnternet Mühendisliği Görev Gücü (IETF) İnternet Standardı STD 8 olarak standartlaştırıldı. encryption sağlayan bazı Telnet eklentileri geliştirilmiştir. Bağlanılan makineye girebilmek (login) için orada bir kullanıcı isminizin (İng:username) ve bağlantının gerçekleşebilmesi için bir telnet erişim programınızın olması gereklidir. Fakat bazı kütüphane ve herkese açık telnet bazlı web servisleri, bağlantı sırasında kullanıcı ismi (numarası) istemeyebilirler; ya da, kullanıcı isim ve parola olarak ne yazmanız gerektiği bağlandığınızda otomatik olarak karşınıza çıkar. Telnet, BBS sistemlere İnternet üzerinden erişimde günümüzde yaygın olarak kullanılmaktadır. Telnet erişim programları, günümüzdeki işletim sistemlerinin çoğunda işletim sistemi ile birlikte gelmektedir. Çok kullanıcılı işletim sistemleri genellikle kullanıcılara metin tabanlı bir arayüz sunar ve bu sistemlerde tüm işlemler klavye vasıtası ile komut isteminden gerçekleştirilir.

HTTPS bir bilgisayar ağı üzerinden güvenli iletişim için internet üzerinde yaygın olarak kullanılan bir HTTP uzantısıdır. HTTPS'te, iletişim protokolü Taşıma Katmanı Güvenliği (TLS) veya öncesinde, onun öncülü/selefi olan Güvenli Soket Katmanı (SSL) ile şifrelenir. Bu nedenle protokol sık sık TLS üzerinden HTTP veya SSL üzerinden HTTP olarak da adlandırılır.

İngilizce: Lightweight Directory Access Protocol veya kısaca LDAP TCP/IP üzerinde çalışan indeks servislerini sorgulama ve değiştirme amacıyla kullanılan uygulama katmanı protokolü.

<span class="mw-page-title-main">Kerberos (iletişim kuralı)</span>

Kerberos / kərbərəs / güvenli olmayan bir ağ üzerinde haberleşen kaynakların, bilet mantığını kullanarak kendi kimliklerini ispatlamak suretiyle iletişim kurmalarını sağlayan bir bilgisayar ağı kimlik doğrulama protokolüdür. Protokolün tasarımcıları, ilk başta istemci-sunucu modelini hedef almış ve bu doğrultuda hem kullanıcının hem de sunucunun birbirlerinin kimliklerini doğrulamasını sağlayan karşılıklı kimlik doğrulama özelliğini sunmuşlardır. Kerberos protokol mesajları, izinsiz dinlemelere ve yansıtma ataklarına karşı dayanıklıdır.

<span class="mw-page-title-main">Aradaki adam saldırısı</span>

Man-in-the-middle saldırısı, saldırganın birbiri ile doğrudan iletişim kuran iki taraf arasındaki iletişimi gizlice ilettiği veya değiştirdiği saldırı türüdür. İletişim ağı üzerinde veri paketleri serbestçe dolaşır. Özellikle broadcast olarak salınan paketler, aynı ağa bağlı tüm cihazlar tarafından görülebilir. İlkesel olarak hedefinde kendi IP'si olmayan bir paketi alan makinelerin, bu paketlerle ilgili herhangi bir işlem yapmamaları gerekir. Ancak istenirse bu paketlere müdahale edebilir ya da içeriğini öğrenebilirler. Aradaki adam saldırısı ağ üzerindeki paketleri yakalayarak manipüle etmek olarak özetlenebilir.

<span class="mw-page-title-main">Heartbleed</span>

Heartbleed, Taşıma Güvenliği Katmanı (TLS) protokolü gerçekleştiriminde geniş biçimde kullanılan, açık kaynak kodlu kriptografi kütüphanesi OpenSSL'de 2014 yılı Nisan ayında tespit edilen bir yazılım hatasıdır. Heartbleed bu TLS için kullanılan OpenSSL örneğinin, istemci ya da sunucu olduğu fark etmeden kötü niyetle kullanılabilir. Bu açık sayesinde bir saldırgan sunucu hafızasından veri okuyabildiği gibi, bir sunucunun SSL özel anahtarlarını da ele geçirebilir.

POODLE atağı(Açılımı Padding Oracle On Downgraded Legacy Encryption) web tarayıcılarının SSL 3.0 mekanizmasının avantajından faydalanan ortadaki adam atağıdır.

Kriptografide, ileri güvenlik, uzun dönem anahtarlar istismar edilse bile geçmişte kullanılmış olan oturum anahtarlarının istismar edilemediği güvenli haberleşme protokollerinin bir özelliğidir. İleri güvenlik, geçmiş oturumları gelecekte gerçekleştirilmesi muhtemel gizli anahtar ya da şifre istismarlarına karşı korumaktadır. İleri güvenlik kullanılan durumlarda, geçmişte kaydedilmiş şifrelenmiş haberleşme ve oturumlar, uzun dönem anahtarlar ve şifreler elde edilse bile kırılamaz.

<span class="mw-page-title-main">Drown atağı</span>

DROWN atağı TLS protokol takımının, artık güvensiz olarak bilinen SSL v2 protokolünü desteklemesi sebebiyle yapılabilmektedir. DROWN, TLS ile hizmet veren bununla birlikte SSL v2 protokolünü destekleyen ve iki protokol arasında aynı açık anahtar bilgilerini paylaşan tüm sunucular üzerinde etkilidir. Ek olarak eğer açık anahtar sertifikası SSLv2 destekleyen farklı bir sunucu üzerinde kullanılıyor ise, TLS sunucusu yine bu zafiyetten etkilenerek bilgi sızıntısına maruz kalmaktadır.

<span class="mw-page-title-main">GnuTLS</span>

GnuTLS TLS, SSL ve DTLS iletişim kurallarının uyarlaması olan özgür bir yazılımdır. Uygulamaların ağ taşıma katmanı üzerinde güvenli haberleşmesini, X.509, PKCS #12, OpenPGP ve diğer yapılara erişebilmesi için uygulama programlama arayüzü sağlar.

<span class="mw-page-title-main">WebSocket</span> bilgisayar iletişim protokolü

WebSocket, tek bir TCP bağlantısı üzerinden tam çift yönlü iletişim kanalı sağlayan bir bilgisayar iletişim protokolüdür. WebSocket protokolü IETF tarafından 2011 yılında RFC 6455 ile standart hale getirilmiş ve WebIDL içerisindeki WebSocket API W3C tarafından standart hale getirilmektedir.

Bilişimde Java Secure Socket Extension (JSSE) (Türkçesi Java Güvenli Soket Uzantısı), güvenli İnternet iletişimi sağlayan bir paket seti sağlar. Secure Sockets Layer (SSL) (Güvenli Soket Katmanı) ve Transport Layer Security (TLS) (Aktarım Katmanı Güvenliği) prokollerinin Java teknolojisi sürümünü uygular. Veri şifreleme, sunucu kimlik doğrulama, mesaj bütünlüğü ve isteğe bağlı istemci kimlik doğrulaması için fonksiyonellik içerir.

Güvenli kabuk,, ağ hizmetlerinin güvenli olmayan bir ağ üzerinde güvenli şekilde çalıştırılması için kullanılan bir kriptografik ağ protokolüdür. En iyi bilinen örnek uygulaması bilgisayar sistemlerine uzaktan oturum açmak için olandır.

<span class="mw-page-title-main">Açık anahtar sertifikası</span>

Açık anahtar sertifikası ya da bilinen diğer adıyla dijital sertifika, açık anahtar sahipliğinin kanıtlanmasında kullanılan bir elektronik dokümandır. Sertifika, anahtar hakkında bilgiler, sahibinin kimliği hakkında bilgiler ve sertifikanın içeriğini doğrulayan bir varlığın dijital imzasını içerir. İmza geçerliyse ve yazılım, incelediği sertifikanın sağlayıcısına güveniyorsa, sertifikanın öznesi ile güvenli bir şekilde iletişim kurmak için bu anahtarı kullanabilir. E-posta şifreleme, kod imzalama ve elektronik imza sistemlerinde özne genelde bir kişi ya da kuruluştur. Ancak, Transport Layer Security (TLS)’de özne genelde bir bilgisayar ya da farklı aygıt olmasına rağmen TLS sertifikaları, cihazları tanımlamasındaki temel rollerine ek olarak kuruluşları ya da bireyleri tanımlayabilir. Bazen eski adı olan Secure Sockets Layer (SSL) olarak da anılan TLS, web’de güvenli gezinme için bir iletişim protokolü olan HTTPS’nin önemli bir parçasıdır.

İndirgeme saldırısı veya sürüm geri alma saldırısı, bir bilgisayar sistemine veya iletişim protokolüne yapılan yüksek kaliteli çalışma modunu terk etmesini sağlayarak genellikle eski sistemlerle geriye dönük uyumluluk için sağlanan daha eski, daha düşük kaliteli bir çalışma moduna geçiş yapılmasıyla gerçekleşen bir kriptografik saldırı türüdür. OpenSSL'de, saldırganın istemci ve sunucu arasında TLS'nin daha düşük bir sürümünün kullanılmasını müzakere etmesine izin veren böyle bir kusur örneği bulundu. Bu, en yaygın sürüm indirgeme saldırı türlerinden biridir. Başka bir örnek ise, web trafiğini sırasında araya girmek ve kullanıcıyı bir web sitesinin güvenli, HTTPS sürümünden şifrelenmemiş bir HTTP sürümüne yönlendirmektir.