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.X.509 sertifikalarını kullanırlar ve bundan dolayı karşı tarafla iletişime geçeceklerin kimlik doğrulaması asimetrik şifreleme ile yapılır 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.
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.
İ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.
Netscape tarafından 1994 yılında geliştirilenSecure Sockets Layer (Güvenli Soket Katmanı) protokolü, internet üzerinden güvenli veri iletişimi sağlayan bir protokoldür. 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. 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ü. TLS 1.1 Nisan 2006'da RFC 4346 koduyla, TLS 1.2 Ağustos 2008'de RFC 5246, TLS 1.3 Ağustos 2018'de RFC 8446 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:
- Kullanıcı, internet sunucusundan güvenli bir bağlantı isteğinde bulunur,
- İnternet sunucusu, kullanıcıya sertifikasıyla birlikte açık anahtarını (public key) gönderir,
- 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,
- 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,
- İnternet sunucusu, kendi açık anahtarıyla (public key) şifrelenmiş olan bu mesajı kendi özel anahtarıyla (private key) çözerek simetrik anahtarı elde eder,
- İnternet sunucusu bundan sonra kullanıcıya göndereceği verileri elde etmiş olduğu bu simetrik anahtarı kullanarak gönderir,
- Kullanıcı aynı simetrik anahtarla internet sunucusundan gelen verileri çözerek internet sayfasını güvenli bir şekilde görüntüler.
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:
- İ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.
- 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.
- İ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.
- İ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.
- 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.
- 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).
- İ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).
- İ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.
- 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. 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
Protokol | Yıl |
---|---|
SSL 1.0 | (n/a) |
SSL 2.0 | 1995 |
SSL 3.0 | 1996 |
TLS 1.0 | 1999 |
TLS 1.1 | 2006 |
TLS 1.2 | 2008 |
TLS 1.3 | 2018 |
SSL 1.0, 2.0 ve 3.0
Özgün SSL protokolü Netscape tarafından geliştirilmiştir. 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. 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.
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. 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.
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:
- Ş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) ve Secure Remote Password(TLS_SRP) 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.
Algoritma | SSL 2.0 | SSL 3.0 | TLS 1.0 | TLS 1.1 | TLS 1.2 | Statü |
---|---|---|---|---|---|---|
RSA | Evet | Evet | Evet | Evet | Evet | RFC dokümanlarında TLS 1.2 için tanımlanmıştır. |
DH-RSA | Hayır | Evet | Evet | Evet | Evet | |
DHE-RSA | ||||||
ECDH-RSA | Hayır | Hayır | Evet | Evet | Evet | |
ECDHE-RSA | ||||||
DH-DSS | Hayır | Evet | Evet | Evet | Evet | |
DHE-DSS | ||||||
ECDH-ECDSA | Hayır | Hayır | Evet | Evet | Evet | |
ECDHE-ECDSA | ||||||
TLS-PSK | Hayır | Hayır | Evet | Evet | Evet | |
PSK-RSA | ||||||
DHE-PSK | ||||||
ECDHE-PSK | ||||||
SRP | Hayır | Hayır | Evet | Evet | Evet | |
SRP-DSS | ||||||
SRP-RSA | ||||||
Kerberos | Hayır | Hayır | Evet | Evet | Evet | |
DH-ANON | Hayır | Hayır | Evet | Evet | Evet | |
ECDH-ANON | Hayır | Hayır | Evet | Evet | Evet | |
GOST R 34.10-94 / 34.10-2001 | Hayır | Hayır | Evet | Evet | Evet | RFC tasarılarında önerilmiştir. |
Şifreleme
Şifreleme | Protokol versiyonu | Durum | ||||||
---|---|---|---|---|---|---|---|---|
Tip | Algoritma | Güç (bits) | SSL 2.0 | SSL 3.0 | TLS 1.0 | TLS 1.1 | TLS 1.2 | |
Block cipher mode of operation | AES GCM | 256, 128 | Yok | Yok | Yok | Yok | Güvenli | RFC'lerde TLS 1.2 için tanımlanmıştır |
AES CCM | Yok | Yok | Yok | Yok | Güvenli | |||
AES CBC | Yok | Yok | Alınan önlemlere göre değişir | Güvenli | Güvenli | |||
Camellia GCM | 256, 128 | Yok | Yok | Yok | Yok | Güvenli | ||
Camellia CBC | Yok | Yok | Alınan önlemlere göre değişir | Güvenli | Güvenli | |||
ARIA GCM | 256, 128 | Yok | Yok | Yok | Yok | Güvenli | ||
ARIA CBC | Yok | Yok | Alınan önlemlere göre değişir | Güvenli | Güvenli | |||
SEED CBC | 128 | Yok | Yok | Alınan önlemlere göre değişir | Güvenli | Güvenli | ||
3DES EDE CBC | 112 | Güvensiz | Güvensiz | Az güçlü, Alınan önlemlere göre değişir | Az güçlü | Az güçlü | ||
GOST 28147-89 CNT | 256 | Yok | Yok | Güvenli | Güvenli | Güvenli | RFC taslaklarında önerilmiştir | |
IDEA CBC | 128 | Güvensiz | Güvensiz | Depends on mitigations | Güvenli | Yok | TLS 1.2'den kaldırılmıştır | |
DES CBC | 56 | Güvensiz | Güvensiz | Güvensiz | Güvensiz | Yok | ||
40 | Güvensiz | Güvensiz | Güvensiz | Yok | Yok | TLS 1.1 ve sonrası için yasaklanmıştır | ||
RC2 CBC | 40 | Güvensiz | Güvensiz | Güvensiz | Yok | Yok | ||
Stream cipher | ChaCha20-Poly1305 | 256 | Yok | Yok | Yok | Yok | Güvenli | RFC taslaklarında önerilmiştir |
RC4 | 128 | Güvensiz | Güvensiz | Güvensiz | Güvensiz | Güvensiz | TLS'nin tüm versiyonları için yasaklanmıştır | |
40 | Güvensiz | Güvensiz | Güvensiz | Yok | Yok | |||
None | Null | - | Yok | Güvensiz | Güvensiz | Güvensiz | Güvensiz | RFC'lerde TLS 1.2 için tanımlanmıştır |
- Notlar
- ^ a b c d RFC 5746, tekrar anlaşma kusurunu düzeltebilmek için uygulanmıştır. Aksi takdirde protokol kırılabilir.
- ^ Kütüphaneler RFC 5746'daki listelenmiş düzeltmeleri uygularsa bu, SSL 3.0'daki spesifikasyonları çiğnemiş olur.
- ^ 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.
- ^ İstemci veya sunucu tarafından hafifletilmezse POODLE saldırısı SSL 3.0'da kullanılan bütün blok şifrelemeleri kırabilir.
- ^ a b c d e AEAD şifreleme sadece TLS 1.2'de kullanılmaktadır.
- ^ 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.
- ^ 3DES anahtar uzunluğu 168 bit olmasına rağmen 3DES'in geçerli güvenlik dayanıklılığı sadece 112 bittir.
- ^ a b IDEA ve DES, TLS 1.2'den kaldırılmıştır.
- ^ Tüm TLS versiyonlarında RC4 kullanımı RFC 7465 tarafından yasaklanmıştır.
- ^ Ş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.
Algoritma | SSL 2.0 | SSL 3.0 | TLS 1.0 | TLS 1.1 | TLS 1.2 | Durum |
---|---|---|---|---|---|---|
HMAC-MD5 | Evet | Evet | Evet | Evet | Evet | RFC dokümanlarında TLS 1.2 için tanımlanmıştır. |
HMAC-SHA1 | Hayır | Evet | Evet | Evet | Evet | |
HMAC-SHA256/384 | Hayır | Hayır | Hayır | Hayır | Evet | |
AEAD | Hayır | Hayır | Hayır | Hayır | Evet | |
GOST 28147-89 IMIT | Hayır | Hayır | Evet | Evet | Evet | RFC tasarılarında önerilmiştir. |
GOST R 34.11-94 | Hayır | Hayır | Evet | Evet | Evet |
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.
Protokol versiyonu | Web sayfası desteği | Gü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.
- · 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:
- , a BSD lisanslı C++ tabanlı kriptografik kütüphane.
- : Portatif açık kaynak kriptografi kütüphanesi (TLS/SSL uygulaması içerir)
- Delphi programcıları, OpenSSL den yararlanılarak oluşturulan 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.
- : OpenBSD tasarısının yaptığı OpenSSL çatallaması
- : Duble lisanslanmış uygulama
- (önceden PolarSSL): Gömülü sistemlerde kullanabilmesi için oluşturulmuş küçük bir SSL kütüphanesi
- : tarafından onaylanmış açık kaynak kütüphanesi
- OpenSSL: Kullanımı serbest olan bir uygulama (bazı eklemeli BSD lisanslı)
- : Microsoft Windows sistemlerin SSL ve TLS paketini oluşturan uygulama
- : OS X ve iOS sistemlerin SSL ve TLS paketini oluşturan uygulama
- (ö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:
- Ö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
- Wagner, David; Schneier, Bruce (Kasım 1996). "Analysis of the SSL 3.0 Protocol" (PDF). The Second USENIX Workshop on Electronic Commerce Proceedings. USENIX Press. ss. 29-40. 16 Ekim 2006 tarihinde kaynağından (PDF). Erişim tarihi: 18 Mart 2022.
- Eric Rescorla (2001). SSL and TLS: Designing and Building Secure Systems. ABD: Addison-Wesley Pub Co. ISBN .
- Stephen A. Thomas (2000). SSL and TLS essentials securing the Web. New York: Wiley. ISBN .
- Bard, Gregory (2006). . International Association for Cryptologic Research, 136. 23 Eylül 2011 tarihinde kaynağından arşivlendi. Erişim tarihi: 23 Eylül 2011.
- Canvel, Brice. . 20 Nisan 2016 tarihinde kaynağından arşivlendi. Erişim tarihi: 20 Nisan 2007.
- IETF Multiple Authors. "RFC of change for TLS Renegotiation". 10 Aralık 2015 tarihinde kaynağından . Erişim tarihi: 11 Aralık 2009.
- Creating VPNs with IPsec and SSL/TLS 12 Nisan 2015 tarihinde Wayback Machine sitesinde . Linux Journal article by Rami Rosen
- Polk, Tim; McKay, Kerry; Chokhani, Santosh (Nisan 2014). (PDF). National Institute of Standards and Technology. 4 Mart 2016 tarihinde kaynağından (PDF) arşivlendi. Erişim tarihi: 7 Mayıs 2014.
Dış bağlantılar
- OpenSSL Project 24 Nisan 2015 tarihinde Wayback Machine sitesinde .
- RFC 5246 - The Transport Layer Security (TLS) Protocol Version 1.2
- IETF (Internet Engineering Task Force) TLS Workgroup 2 Temmuz 2014 tarihinde Wayback Machine sitesinde .
- A talk on SSL/TLS that tries to explain things in terms that people might understand. 6 Temmuz 2015 tarihinde Wayback Machine sitesinde .
- SSL: Foundation for Web Security 11 Nisan 2015 tarihinde Wayback Machine sitesinde .
- TLS Renegotiation Vulnerability – IETF Tools 6 Temmuz 2015 tarihinde Wayback Machine sitesinde .
- – Survey of TLS/SSL implementation of the most popular web sites
- How to Generate CSR for SSL7 Haziran 2019 tarihinde Wayback Machine sitesinde .
Kaynakça
- ^ T. Dierks, E. Rescorla (Ağustos 2008). "The Transport Layer Security (TLS) Protocol, Version 1.2". 10 Haziran 2016 tarihinde kaynağından . Erişim tarihi: 17 Mart 2015.
- ^ "RFC 5246: The Transport Layer Security (TLS) Protocol Version 1.2". Internet Engineering Task Force. 10 Haziran 2016 tarihinde kaynağından . Erişim tarihi: 9 Eylül 2013.
- ^ SSL: Intercepted today, decrypted tomorrow 21 Eylül 2013 tarihinde Wayback Machine sitesinde ., Netcraft, 2013-06-25.
- ^ Law Enforcement Appliance Subverts SSL 15 Mart 2014 tarihinde Wayback Machine sitesinde ., Wired, 2010-04-03.
- ^ New Research Suggests That Governments May Fake SSL Certificates 4 Ocak 2016 tarihinde Wayback Machine sitesinde ., EFF, 2010-03-24.
- ^ A. Freier, P. Karlton, P. Kocher (Ağustos 2011). "The Secure Sockets Layer (SSL) Protocol Version 3.0". 25 Mart 2016 tarihinde kaynağından . Erişim tarihi: 17 Mart 2015.
- ^ "SSL Tarihi". 2 Nisan 2015 tarihinde kaynağından . Erişim tarihi: 17 Mart 2015.
- ^ "SSL'in Amacı". 10 Haziran 2016 tarihinde kaynağından . Erişim tarihi: 17 Mart 2015.
- ^ "SSL 3.0". 25 Mart 2016 tarihinde kaynağından . Erişim tarihi: 17 Mart 2015.
- ^ . 1 Ocak 2016 tarihinde kaynağından arşivlendi. Erişim tarihi: 17 Mart 2015.
- ^ "TLS 1.0". 27 Aralık 2015 tarihinde kaynağından . Erişim tarihi: 17 Mart 2015.
- ^ "TLS 1.1". 1 Ocak 2016 tarihinde kaynağından . Erişim tarihi: 17 Mart 2015.
- ^ "TLS 1.2". 10 Haziran 2016 tarihinde kaynağından . Erişim tarihi: 17 Mart 2015.
- ^ "TLS 1.3". 27 Ağustos 2018 tarihinde kaynağından . Erişim tarihi: 25 Ağustos 2018.
- ^ . 21 Aralık 2015 tarihinde kaynağından arşivlendi. Erişim tarihi: 17 Mart 2015.
- ^ "SSL/TLS in Detail". 4 Mart 2016 tarihinde kaynağından . Erişim tarihi: 10 Nisan 2016.
- ^ . netscape.com. 14 Haziran 1997 tarihinde kaynağından arşivlendi. Erişim tarihi: 10 Nisan 2016.
- ^ Rescorla 2001.
- ^ . 30 Mart 2016 tarihinde kaynağından arşivlendi. Erişim tarihi: 10 Nisan 2016.
- ^ . 4 Ocak 2016 tarihinde kaynağından arşivlendi. Erişim tarihi: 10 Nisan 2016.
- ^ . 17 Mart 2016 tarihinde kaynağından arşivlendi. Erişim tarihi: 10 Nisan 2016.
- ^ "Guidelines for the Selection, Configuration, and Use of Transport Layer Security (TLS) Implementations" (PDF). 4 Mart 2016 tarihinde kaynağından (PDF). Erişim tarihi: 10 Nisan 2016.
- ^ "The Transport Layer Security (TLS) Protocol Version 1.1, RFC 4346". 10 Haziran 2016 tarihinde kaynağından . Erişim tarihi: 10 Nisan 2016.
- ^ "Pre-Shared Key Ciphersuites for Transport Layer Security (TLS)". 27 Mayıs 2016 tarihinde kaynağından . Erişim tarihi: 9 Nisan 2016.
- ^ "Using the Secure Remote Password (SRP) Protocol for TLS Authentication". 26 Mayıs 2016 tarihinde kaynağından . Erişim tarihi: 9 Nisan 2016.
- ^ . 22 Eylül 2013 tarihinde kaynağından arşivlendi. Erişim tarihi: 10 Nisan 2016.
- ^ "OST 28147-89 Cipher Suites for Transport Layer Security (TLS) draft-chudov-cryptopro-cptls-04". 21 Nisan 2016 tarihinde kaynağından . Erişim tarihi: 10 Nisan 2016.
- ^ . 11 Haziran 2016 tarihinde kaynağından arşivlendi. Erişim tarihi: 9 Nisan 2016.
- ^ "n the Security of Today's Online Electronic Banking Systems". 17 Ekim 2015 tarihinde kaynağından . Erişim tarihi: 10 Nisan 2016.
wikipedia, wiki, viki, vikipedia, oku, kitap, kütüphane, kütübhane, ara, ara bul, bul, herşey, ne arasanız burada,hikayeler, makale, kitaplar, öğren, wiki, bilgi, tarih, yukle, izle, telefon için, turk, türk, türkçe, turkce, nasıl yapılır, ne demek, nasıl, yapmak, yapılır, indir, ücretsiz, ücretsiz indir, bedava, bedava indir, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, resim, müzik, şarkı, film, film, oyun, oyunlar, mobil, cep telefonu, telefon, android, ios, apple, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, pc, web, computer, bilgisayar
Tasima Katmani Guvenligi TLS ve onun onculu selefi olan Guvenli Soket Katmani SSL bilgisayar agi uzerinden guvenli haberlesmeyi saglamak icin tasarlanmis kriptolama protokolleridir X 509 sertifikalarini kullanirlar ve bundan dolayi karsi tarafla iletisime gececeklerin kimlik dogrulamasi asimetrik sifreleme ile yapilir ve bir simetrik anahtar uzerinde anlasilir Bu oturum anahtari daha sonra taraflar arasindaki veri akisini sifrelemek icin kullanilir Bu mesaj veri gizliligine ve mesaj kimlik dogrulama kodlari icin mesaj butunlugune izin verir Protokollerin bircok versiyonu ag tarama elektronik mail Internet uzerinden faks anlik mesajlasma ve Internet uzerinden sesli iletisim gibi uygulamalarda yaygin olarak kullanilmaktadir Bu durumda icerikte baglamda en onemli ozellik iletme gizliligidir Bundan dolayi kisa sureli oturum anahtari uzun sureli gizli simetrik anahtardan turetilememelidir X 509 sertifikalarinin secimi sonucunda sertifika yoneticileri ve acik anahtar altyapisi sertifika ve sahibi arasindaki iliskinin dogrulanmasinin yani sira olusturulmasi imzalanmasi ve sertifikalarin gecerliliginin yonetilmesi icin gereklidir Bu guvenilirlik agi yoluyla kimlik dogrulamasindan daha faydali oldugu halde 2013 teki kuresel izleme ifsasi sertifika yoneticilerinin ortadaki adam saldirisina man in the middle attack izin verdigini bundan dolayi guvenlik bakimindan zayif bir nokta oldugunu bilinir hale getirdi Internet protokol takiminda SSL ve TLS uygulama katmaninda ag baglantilari verisini sifreler OSI modelde esdeger olarak TLS SSL 5 katmanda oturum katmani baslatilir ve 6 katmanda sunum katmani calistirilir Oturum katmani asimetrik sifrelemenin kullanildigi bir el sikisma islemine sahiptir Buradaki amac oturum icin bir paylasilan anahtar ve sifreleme ayarlarini olusturmaktir Sunum katmani ise simetrik sifreleme ve oturum anahtarini kullanarak haberlesmenin geri kalanini sifreler Bu iki modelde TLS ve SSL bolutleri sifreli verileri iletmekte olan tasima katmani adina calismaktadir TLS Internet Muhendisligi Gorev Gucu IETF standartlar yolu protokoludur Ilk olarak 1999 yilinda tanimlanmistir ve RFC 5246 Agustos 2008 ve RFC 6176 Mart 2011 da guncellenmistir Onceki SSL spesifikasyonlari 1994 1995 1996 esas alinarak Netscape Iletisim tarafindan gelistirilmistir Netscape tarafindan 1994 yilinda gelistirilenSecure Sockets Layer Guvenli Soket Katmani protokolu internet uzerinden guvenli veri iletisimi saglayan bir protokoldur SSL 2 0 1995 yilinda ve SSL in gunumuzde kullanilan versiyonu olan SSL 3 0 da 1996 yilinda RFC 6101 koduyla piyasaya surulmustur Daha sonra IETF SSL in bir standart haline gelebilmesi icin bir girisimde bulundu ve SSL 3 0 i temel alan yeni bir protokol uzerinde calismaya basladi IETF Ocak 1999 da bu yeni protokolu TLS 1 0 Transport Layer Security adiyla ve RFC 2246 koduyla piyasaya surdu TLS 1 1 Nisan 2006 da RFC 4346 koduyla TLS 1 2 Agustos 2008 de RFC 5246 TLS 1 3 Agustos 2018 de RFC 8446 koduyla yayinlanmistir Yerini yavas yavas TLS 1 3 e birakmis olsa da SSL 3 0 gunumuzde tum internet tarayicilari tarafindan desteklenmektedir Internet tarayicilarin herhangi bir yerinde gorulen asma kilit resmi o siteye yapilan baglantinin SSL TLS ile sifreli bir sekilde yapildigini gostermektedir Bazi tarayicilarda bu asma kilit ikonuna tiklanarak SSL sertifikasinin kimden alindigi sitenin acik anahtar degeri gecerlilik suresi ozet algoritmasi ve versiyon bilgisi gibi bilgiler goruntulenebilir SSL TLS Calisma Prensibi SSL 3 0 in calisma prensibi acik anahtarli sifrelemeye dayanmaktadir SSL kisaca su sekilde calismaktadir Kullanici internet sunucusundan guvenli bir baglanti isteginde bulunur Internet sunucusu kullaniciya sertifikasiyla birlikte acik anahtarini public key gonderir Kullanicinin kullandigi internet tarayicisi sunucunun gondermis oldugu bu sertifikanin guvenilir bir sertifika otoritesinden gelip gelmedigini ve sertifikanin gecerli olup olmadigini kontrol eder Kullanicinin kullandigi internet tarayicisi rastgele bir simetrik sifreleme anahtari uretir Daha sonra internet sunucusunun acik anahtarini public key kullanarak bu simetrik sifreleme anahtarini sifreler ve baglanmaya calistigi internet sunucusuna gonderir Internet sunucusu kendi acik anahtariyla public key sifrelenmis olan bu mesaji kendi ozel anahtariyla private key cozerek simetrik anahtari elde eder Internet sunucusu bundan sonra kullaniciya gonderecegi verileri elde etmis oldugu bu simetrik anahtari kullanarak gonderir Kullanici ayni simetrik anahtarla internet sunucusundan gelen verileri cozerek internet sayfasini guvenli bir sekilde goruntuler Protokoller TLS ile ya da TLS olmaksizin islem gordugunden beri istemcinin sunucuya TLS baglantisinin kurulmasini isteyip istemedigini belirtmesi gerekmektedir Bunu gerceklestirmenin baslica iki yolu vardir ilk secenek TLS baglantilari icin farkli bir port numarasi kullanilmasidir ornegin HTTPS icin 443 port Diger secenekte ise normal bir port numarasi kullanilir ve istemci TLS protokolun ozellestirilmis mekanizmasini kullanarak ornegin mail ya da haber protokolleri icin STARTTLS sunucunun baglantiyi TLS protokolune yonlendirmesi icin istekte bulunur Istemci ve sunucu TLS protokolu kullanmayi kararlastirdiktan sonra el sikisma sureci kullanarak kararli bir baglanti kurarlar Bu el sikisma esnasinda istemci ve sunucu baglantinin guvenligini saglamak icin cesitli parametreler kullanmayi kararlastirir Istemci kendi SSL surum numarasini sifre ayarlarini oturuma ozgu veriyi ve sunucunun istemciyle iletisime gecmek icin ihtiyac duydugu diger bilgileri sunucuya gonderir Sunucu kendi SSL surum numarasini sifre ayarlarini oturuma ozgu veriyi ve istemcinin sunucuyla iletisime gecmek icin ihtiyac duydugu diger bilgileri istemciye gonderir Sunucu ayni zamanda kendi sertifikasini da istemciye gonderir Eger istemci sunucunun kimlik dogrulama gerektiren bir kaynagina ulasmak isterse sunucu istemcinin sertifikasini talep eder Istemci sunucunun gonderdigi bilgileri kullanarak sunucuyu dogrular Eger sunucu dogrulanmazsa kullanici hata uyarisi alir sifrelemenin ve dogrulamanin saglanamadigi hakkinda bilgilendirilir Eger sunucu dogrulama basarili olursa istemci bir sonraki adima gecer Istemci oturum icin bir ikincil paylasilan gizli veri sunucu isbirligiyle ve sifreleme algoritmasina gore degisen olusturur bunu sunucunun acik anahtarini kullanarak sifreler 2 adimda sunucunun sertifikasini elde etmisti ve bu sifrelenmis ikincil paylasilan gizli veriyi sunucuya gonderir Eger sunucu istemciden kimlik kanitlamasi isterse el sikismada istege bagli bir adimdir istemci ayni zamanda yeni bir veri imzalar Bu veri el sikisma icin essiz olmali ve hem istemci hem de sunucu tarafindan bilinmeli Bu durumda istemci imzalanmis veriyi kendi sertifikasini sifrelenmis ikincil paylasilan gizli verinin yaninda sunucuya yollar Eger sunucu istemciden kimlik kanitlamasini istediyse sunucu istemciyi dogrulamayi dener Eger istemci dogrulanmazsa oturum sonra erer Eger istemci basariyla dogrulanirsa sunucu kendi gizli anahtarini kullanarak ikincil paylasilan gizli veriyi desifreler ve daha sonra bir dizi adimlar takip ederek esas paylasilan gizli veriyi olusturur istemci de ikincil paylasilan gizli veriden baslayarak ayni adimlari izler Istemci ve sunucu elde ettikleri esas paylasilan gizli veriyi kullanarak oturum anahtarlari olusturur ki bu anahtarlar simetrik olup SSL oturumu boyunca sifreleme ve desifreleme bilgilerinin degisiminde ve verilerin butunlugunun kontrol edilmesinde kullanilir bu da SSL baglanti suresi boyunca verinin gonderilme saati ile alinma saati arasinda herhangi bir degisikligin olup olmadigi saptanarak yapilir Istemci sunucuya bundan sonra kendisinden gelecek mesajlarin oturum anahtariyla sifrelenecegi bilgisini iceren bir mesaj gonderir Ardindan istemci farkli bir sifrelenmis mesaj gondererek el sikismanin kendisine ait kisminin bittigini belirtir Sunucu istemciye bundan sonra kendisinden gelecek mesajlarin oturum anahtariyla sifrelenecegi bilgisini iceren bir mesaj gonderir Ardindan sunucu farkli bir sifrelenmis mesaj gondererek el sikismanin kendisine ait kisminin bittigini belirtir SSL el sikismasi artik sonra ermis ve oturum acilmistir Istemci ve sunucu birbirlerine gonderdikleri verileri sifrelemek desifrelemek ve butunlugunu tasdik etmek icin oturum anahtarlarini kullanirlar Bu guvenli kanalin normal isleyis durumudur Herhangi bir zamanda iceriden veya disaridan bir uyari alinirsa taraflardan biri baglantinin yeniden kurulmasini talep edebilir ve boylece surec kendisini tekrarlar Eger yukaridaki adimlardan birisi basarisiz olursa TLS el sikismasi basarisiz olur ve baglanti olusturulamaz Tanimlama TLS protokolu gizli dinlemeyi ve onaysiz degisiklik yapmayi onleyerek ag uzerinden istemci sunucu uygulamalarinin haberlesmesine izin verir Protokoller TLS ile ya da TLS olmaksizin islem gordugunden beri istemcinin sunucuya TLS baglantisinin kurulmasini isteyip istemedigini belirtmesi gerekmektedir Bunu gerceklestirmenin baslica iki yolu vardir ilk secenek TLS baglantilari icin farkli bir port numarasi kullanilmasidir ornegin HTTPS icin 443 port Diger secenekte ise normal bir port numarasi kullanilir ve istemci TLS protokolun ozellestirilmis mekanizmasini kullanarak ornegin mail ya da haber protokolleri icin STARTTLS sunucunun baglantiyi TLS protokolune yonlendirmesi icin istekte bulunur Istemci ve sunucu TLS protokolu kullanmayi kararlastirdiktan sonra el sikisma sureci kullanarak kararli bir baglanti kurarlar Bu el sikisma esnasinda istemci ve sunucu baglantinin guvenligini saglamak icin cesitli parametreler kullanmayi kararlastirir Istemci etkin olan sunucudan guvenli bir baglanti isteginde bulundugunda el sikisma islemi baslar Destekledigi sifreleme takimini sifreleme ve ozet fonksiyonu liste halinde sunucuya bildirir Sunucu ise listeden sifreleme ve ozet fonksiyonu bilgilerini alir ve istemcinin kararini destekler ve bildirir Sunucu genellikle kimligini bir sayisal sertifika ile gonderir Sertifika sunucunun ismini guvenilir sertifika yoneticisini ve sunucunun acik sifreleme anahtarini icerir Istemci sunucunun gondermis oldugu bu sertifikanin guvenilir bir sertifika otoritesinden gelip gelmedigini ve sertifikanin gecerli olup olmadigini kontrol eder Guvenli baglantida kullanilacak oturum anahtarini uretmek amaciyla istemci bir rastgele sayiyi sunucunun acik anahtarini public key kullanarak sifreler ve elde edilen sifrelenmis mesaji sunucuya gonderir Bu sifreli mesaji sadece sunucu ozel anahtarini private key kullanarak cozebilmektedir Iki tarafta rastgele sayidan bir esas anahtar master key olusturur ve daha sonra sifreleme ve sifre cozme icin bir oturum anahtari uzerinde anlasirlar El sikismasi artik sonra ermis ve guvenli baglanti acilmistir Istemci ve sunucu birbirlerine gonderdikleri verileri sifrelemek sifreli verileri cozmek ve butunlugunu tasdik etmek icin oturum anahtarlarini kullanirlar Eger yukaridaki adimlardan birisi basarisiz olursa TLS el sikismasi basarisiz olur ve baglanti olusturulamaz Tarihcesi ve Gelisimi Protokol YilSSL 1 0 n aSSL 2 0 1995SSL 3 0 1996TLS 1 0 1999TLS 1 1 2006TLS 1 2 2008TLS 1 3 2018SSL 1 0 2 0 ve 3 0 Ozgun SSL protokolu Netscape tarafindan gelistirilmistir Versiyon 1 0 ciddi guvenlik kusurlarindan dolayi hicbir zaman piyasaya surulmemistir Versiyon 2 0 ise Subat 1995 te piyasaya surulmustur SSL 3 0 protokolun yeniden tasarimini temsil etmektedir Paul Kocher ve Netscape muhendislerinden Phil Karlton ve Alan Freier tarafindan 1996 yilinda yayinlanmistir SSL protokolunun yeni versiyonlarinda SSL 3 0 temel alinmistir 1996 yilinda IETF tarafindan SSL 3 0 tasarisi yayinlanmistir 1995 ve 1998 yillari arasinda Netscape Iletisimde basmuhendis olan Dr Taher Elgamal SSL in babasi father of SSL olarak taninmistir SSL deki tum blok sifrelemelerini etkileyen POODLE saldirisina acik oldugu icin SSL 3 0 versiyonunun 2014 yilindan itibaren guvensiz oldugu anlasilmistir SSL 3 0 tarafindan blok olmayan sifreleme algoritmalarindan yalnizca RC4 desteklenmektedir Ancak muhtemel bir sekilde bu algoritmada kirilabilmektedir TLS 1 0 TLS 1 0 ilk olarak Ocak 1999 da RFC 2246 da tanimlanmistir ve SSL 3 0 versiyonunun gelistirilmis halidir TLS 1 1 TLS 1 1 Nisan 2006 da RFC 4346 da tanimlanmistir TLS 1 0 versiyonunun guncellenmis halidir Bu versiyonlar arasindaki onemli degisiklikler su sekildedir Sifreli blok zincirlemesi CBC saldirilarina karsi koruma eklenmistir Gizli tutulan baslangic vektoru IV acik bir sekilde tutulur Padding hatalarini duzeltmede degisiklikler olmustur TLS 1 2 TLS 1 2 Agustos 2008 de RFC 5246 da tanimlanmistir TLS 1 1 spesifikasyonlari esas alinmistir Baslica farkliliklar su sekildedir Sozde rastgele fonksiyonundaki MD5 SHA1 kombinasyonu SHA 256 ile degistirilmistir Tamamlanmis mesaj ozetindeki MD5 SHA1 kombinasyonu SHA 256 ile degistirilmistir Bununla birlikte tamamlanmis mesaj uzunlugu hala 96 bit olarak kesilmistir Dijital olarak imzalanmis elemanda MD5 SHA1 kombinasyonu el sikismasi boyunca SHA1 ile degistirilmistir Istemci ve sunucu hangi ozet ve imzalama algoritmasini kullanacagina karar verebilmektedir TLS uzantilarinin tanimlari ve Gelismis Sifreleme Standardinin AES sifreleme parcalari eklenmistir Tum TLS versiyonlari Mart 2011 de RFC 6176 da duzeltilmistir SSL ile gecmise yonelik uyumluluk ozelligi kaldirilmistir Oyle ki TLS oturumlari hicbir zaman SSL 2 0 versiyon kullanimini kabul etmeyecektir TLS 1 3 TLS 1 3 Agustos 2018 de RFC 8446 da tanimlanmistir Onceki TLS 1 1 ve TLS 1 2 spesifikasyonlari esas alinmistir TLS 1 2 den baslica farklari su sekildedir Cipher suite lerden anahtar anlasmasi ve kimlik dogrulama algoritmalari ayrilmistir Zayif ve daha az kullanilan eliptik egrilere olan destek kaldirilmistir MD5 ve SHA 224 kriptografik hash fonksiyonlarina olan destek kaldirilmistir Onceki yapilandirma kullanilmis olsa bile dijital imzalar gerekli kilinmistir 1 RTT el sikismasi destegi ve 0 RTT icin ilk destek Bircok guvenli olmayan ve eskimis ozelliklere olan destek kaldirilmistir Bunlar sikistirma anlasma tekrari AEAD olmayan sifrelemeler PFS olmayan anahtar degisimi statik RSA ve statik DH anahtar degisimi ozel DHE gruplari karsilama mesajindaki UNIX zamani Oturum hash i kullanimi entegre edilmistir Geriye donuk uyumluluk icin SSL veya RC4 anlasmasinin engellenmesi Geriye donuk uyumluluk icin katman versiyon numarasi kaydinin kullanimdan kaldirilmasi ve numaranin dondurulmasi Bazi yeni dijital imza algoritmalari eklendi Acik anahtar sertifikalari Acik anahtar sertifikasi acik anahtar sahipligini onaylar ve bu digerlerinin onaylanmis acik anahtara karsilik gelen ozel anahtar ile yapilan imzalara veya bildirimlere guvenmesini saglamaktadir Sertifika otoriteleri Guven iliskisinin bu modelinde sertifika otoritesi guvenilir ucuncu sahistir Trusted Third Party Sertifika sahipleri ve sertifika kullanicilari tarafindan guvenilir Algoritma Anahtar degisimi ve anahtar anlasmasi Istemci ve sunucu TLS tarafindan korunan bilgilerin degisimine baslamadan once verileri sifreleme icin kullanilacak sifreleme algoritmasi ve sifreleme anahtari uzerinde anlasmalari gerekmektedir Anahtar degisimi icin kullanilan metotlar su sekildedir acik ve gizli anahtarlar RSA TLS el sikisma protokolunde TLS RSA olarak ifade edilir Diffie Hellman TLS DH ephemeral Diffie Hellman TLS DHE Eliptik Egri Diffie Hellman Elliptic Curve Diffie Hellman TLS ECDH ephemeral Elliptic Curve Diffie Hellman TLS ECDHE isimsiz Diffie Hellman anonymous Diffie Hellman TLS DH anon onceden paylastirilan anahtar TLS PSK ve Secure Remote Password TLS SRP ile olusturulur TLS DH anon ve TLS ECDH anon anahtar degisim metotlari sunucu veya kullanicinin kimligini dogrulamaz Ayni zamanda ortadaki adam MitM saldirisina acik oldugu icin nadiren kullanilmaktadir Sadece TLS DHE ve TLS ECDHE iletme gizliligi saglar Acik anahtar sertifikalari degisim boyunca kullanilir ve ayni zamanda degisim boyunca kullanilan acik ve gizli anahtarlarin boyutuna gore cesitlilik gosterir Bundan dolayi guvenligin dayanikliligi saglanmis olur Temmuz 2013 yilinda Google artik 1024 bitlik acik anahtarlari kullanmak yerine 2048 bit anahtarlara gecerek kullanicilarina sundugu TLS sifreleme guvenligini artirdigini duyurmustur Kimlik Dogrulama ve Anahtar degisimi Algoritma SSL 2 0 SSL 3 0 TLS 1 0 TLS 1 1 TLS 1 2 StatuRSA Evet Evet Evet Evet Evet RFC dokumanlarinda TLS 1 2 icin tanimlanmistir DH RSA Hayir Evet Evet Evet EvetDHE RSAECDH RSA Hayir Hayir Evet Evet EvetECDHE RSADH DSS Hayir Evet Evet Evet EvetDHE DSSECDH ECDSA Hayir Hayir Evet Evet EvetECDHE ECDSATLS PSK Hayir Hayir Evet Evet EvetPSK RSADHE PSKECDHE PSKSRP Hayir Hayir Evet Evet EvetSRP DSSSRP RSAKerberos Hayir Hayir Evet Evet EvetDH ANON Hayir Hayir Evet Evet EvetECDH ANON Hayir Hayir Evet Evet EvetGOST R 34 10 94 34 10 2001 Hayir Hayir Evet Evet Evet RFC tasarilarinda onerilmistir Sifreleme Bilinen uygulanabilir saldirilara karsi sifreleme guvenligi Sifreleme Protokol versiyonu DurumTip Algoritma Guc bits SSL 2 0 SSL 3 0 TLS 1 0 TLS 1 1 TLS 1 2Block cipher mode of operation AES GCM 256 128 Yok Yok Yok Yok Guvenli RFC lerde TLS 1 2 icin tanimlanmistirAES CCM Yok Yok Yok Yok GuvenliAES CBC Yok Yok Alinan onlemlere gore degisir Guvenli GuvenliCamellia GCM 256 128 Yok Yok Yok Yok GuvenliCamellia CBC Yok Yok Alinan onlemlere gore degisir Guvenli GuvenliARIA GCM 256 128 Yok Yok Yok Yok GuvenliARIA CBC Yok Yok Alinan onlemlere gore degisir Guvenli GuvenliSEED CBC 128 Yok Yok Alinan onlemlere gore degisir Guvenli Guvenli3DES EDE CBC 112 Guvensiz Guvensiz Az guclu Alinan onlemlere gore degisir Az guclu Az gucluGOST 28147 89 CNT 256 Yok Yok Guvenli Guvenli Guvenli RFC taslaklarinda onerilmistirIDEA CBC 128 Guvensiz Guvensiz Depends on mitigations Guvenli Yok TLS 1 2 den kaldirilmistirDES CBC 0 56 Guvensiz Guvensiz Guvensiz Guvensiz Yok0 40 Guvensiz Guvensiz Guvensiz Yok Yok TLS 1 1 ve sonrasi icin yasaklanmistirRC2 CBC 0 40 Guvensiz Guvensiz Guvensiz Yok YokStream cipher ChaCha20 Poly1305 256 Yok Yok Yok Yok Guvenli RFC taslaklarinda onerilmistirRC4 128 Guvensiz Guvensiz Guvensiz Guvensiz Guvensiz TLS nin tum versiyonlari icin yasaklanmistir0 40 Guvensiz Guvensiz Guvensiz Yok YokNone Null Yok Guvensiz Guvensiz Guvensiz Guvensiz RFC lerde TLS 1 2 icin tanimlanmistirNotlar a b c d RFC 5746 tekrar anlasma kusurunu duzeltebilmek icin uygulanmistir Aksi takdirde protokol kirilabilir Kutuphaneler RFC 5746 daki listelenmis duzeltmeleri uygularsa bu SSL 3 0 daki spesifikasyonlari cignemis olur a b Istemci veya sunucu tarafindan hafifletilmezse BEAST saldirisi SSL 3 0 ve TLS 1 0 da kullanilan butun blok sifrelemeleri kirabilir Istemci veya sunucu tarafindan hafifletilmezse POODLE saldirisi SSL 3 0 da kullanilan butun blok sifrelemeleri kirabilir a b c d e AEAD sifreleme sadece TLS 1 2 de kullanilmaktadir a b c d e f g h Eger kutuphane dikkatlice yazilmazsa CBC sifreleme Lucky 13 saldirisina maruz kalabilir 3DES anahtar uzunlugu 168 bit olmasina ragmen 3DES in gecerli guvenlik dayanikliligi sadece 112 bittir a b IDEA ve DES TLS 1 2 den kaldirilmistir Tum TLS versiyonlarinda RC4 kullanimi RFC 7465 tarafindan yasaklanmistir Sifreleme yoktur yalnizca kimlik dogrulamasi vardir Veri butunlugu Veri butunlugu icin mesaj kimlik dogrulama kodu kullanilir Blok sifrelemenin CBC modu ve dizi sifreleme icin HMAC kullanilir GCM ve CCM mod gibi dogrulanmis sifreleme icin AEAD kullanilir Veri Butunlugu Algoritma SSL 2 0 SSL 3 0 TLS 1 0 TLS 1 1 TLS 1 2 DurumHMAC MD5 Evet Evet Evet Evet Evet RFC dokumanlarinda TLS 1 2 icin tanimlanmistir HMAC SHA1 Hayir Evet Evet Evet EvetHMAC SHA256 384 Hayir Hayir Hayir Hayir EvetAEAD Hayir Hayir Hayir Hayir EvetGOST 28147 89 IMIT Hayir Hayir Evet Evet Evet RFC tasarilarinda onerilmistir GOST R 34 11 94 Hayir Hayir Evet Evet EvetUygulamalar Uygulamalarinin dizayn asamasinda TLS genelde herhangi bir tasima katmanin ornegin TCP UDP uzerinde gelistirilirken uygulamanin belirli protokollerini ornegin HTTP FTP NNTP ve XMPP enkapsule eder Tarihsel acidan TLS oncelikli olarak guvenilir tasima protokolleri ornegin TCP tercih edilirdi Buna ragmen datagram tabanli tasima protokolleri kullanilarak da gelistirilmistir ornegin UDP ve Datagram Congestion Control Protocol DCCP Bu uygulama sonradan Datagram Transport Layer Security DTLS adi altinda standartlandirilmistir Web Siteleri TLS in one cikan kullanimi internette web sayfasi ve tarayici arasinda olusturulan trafigi HTTP formundan HTTPS formuna sokarak guvence altina almasidir Kayda deger uygulamalari e ticaret ve varlik yonetimidir Web sayfasi protokol destegi Protokol versiyonu Web sayfasi destegi GuvenlikSSL 2 0 13 2 0 8 GuvensizSSL 3 0 42 3 3 2 GuvensizTLS 1 0 99 7 0 0 Sifreye ve istemcide alinan onlemlere gore degisirTLS 1 1 55 2 2 2 Sifreye ve istemcide alinan onlemlere gore degisirTLS 1 2 58 1 2 1 Sifreye ve istemcide alinan onlemlere gore degisirWeb Tarayicilari Subat 2015 itibariyla baslica web tarayicilarinin son versiyonlari TLS 1 0 1 1 ve 1 2 desteklemekte ve bunlari varsayilan olarak aktif olarak sunmaktadir Buna ragmen bazi tarayicilarin eski versiyonlarinda bu konuda problemlerle karsilasilmaktadir TLS 1 1 ve 1 2 desteklenmesine ragmen varsayilan olarak Internet Explorer 8 10 for Windows 7 Server 2008 R2 10 for Windows 8 Server 2012 IE Mobile 10 for Windows Phone 8 versiyonlarinda devre disi olarak bulunmaktadir TLS 1 1 ve 1 2 desteklenmesine ragmen varsayilan olarak Internet Explorer 6 8 for Windows Server 2003 7 9 for Windows Vista Server 2008 Safari 6 for Mac OS X 10 8 versiyonlarinda devre disi olarak bulunmaktadir Kutuphaneler En cok kullanilan acik kaynak SSL and TLS programlama kutuphaneleri a BSD lisansli C tabanli kriptografik kutuphane Portatif acik kaynak kriptografi kutuphanesi TLS SSL uygulamasi icerir Delphi programcilari OpenSSL den yararlanilarak olusturulan kutuphanesini kullanabilir GnuTLS Kullanima acik olan uygulama LGPL lisansli Java Secure Socket Extension Java 7 den itibaren Java Runtime Environment TLS 1 1 and 1 2 desteklemesine ragmen kullanici icin devre disi olarak bulunmasina karsin sunucu tarafinda aktif olarak bulunmaktadir Java 8 den itibaren hem kullanici hem de sunucu icin varsayilan olarak aktif bulunmaktadir OpenBSD tasarisinin yaptigi OpenSSL catallamasi Duble lisanslanmis uygulama onceden PolarSSL Gomulu sistemlerde kullanabilmesi icin olusturulmus kucuk bir SSL kutuphanesi tarafindan onaylanmis acik kaynak kutuphanesi OpenSSL Kullanimi serbest olan bir uygulama bazi eklemeli BSD lisansli Microsoft Windows sistemlerin SSL ve TLS paketini olusturan uygulama OS X ve iOS sistemlerin SSL ve TLS paketini olusturan uygulama onceden CyaSSL Ozellikle hiza ve buyukluge onem vermis gomulu SSL TLS kutuphanesiDiger kullanimlari Elektronik posta gonderme protokolunde Simple Mail Transfer Protocol de TLS araciliyla korunma saglanabilir Bu uygulamalar dijital sertifika kullanarak son noktalarin birbirlerini dogrulamasi saglanmaktadir Ayrica TLS kullanilarak butun ag tunellenerek VPN olusturulabilinir ornegin OpenVPN ve OpenConnect Bircok satici artik TLS in sifreleme ve kimlik dogrulama ozelliklerinden yararlanmaktadir Bunun yani sira 90larin sonundan itibaren web tarayicilari disinda da kullanici bazli kullanici sunucu uygulamalarinda azimsanmayacak derece gelisme gostermistir Geleneksel IPsec VPN teknolojisiyle kiyaslandiginda TLS in ozunden gelen guvenlik duvarlarina ve NAT teknolojisine faydalari bulunmaktadir ozellikle de genis uzaktan kontrol gerektiren ag hizmetlerini daha kolay haline getirmektedir Bunlarin disinda TLS Session Initiation Protocol SIP Oturum Baslatma Protokolu uygulamasinda korunma acisindan standart bir metodudur Ayrica TLS VoIP ve diger SIP tabanli uygulamalar ile birlikte SIP sinyalizasyonunda kimlik dogrulama ve sifreleme saglamak icin kullanilabilir Guvenlik SSL 2 0 SSL 2 0 bircok acidan kusurlu bulunmaktadir Ozdes sifreleme anahtarlari mesaj kimlik dogrulama ve sifreleme icin kullanilmaktadir SSL 2 0 uzunluk uzatma saldirilarina karsi savunmasiz hale getirebilecek gizli onek ile MD5 hash fonksiyonu kullanan bir zayif MAC yapiya sahiptir SSL 2 0 da el sikisma sirasinda herhangi bir guvenlik uygulanmamaktadir diger bir deyisle ortadaki adam saldirilari tespit edilememektedir SSL 2 0 veri sonunu belirtmek icin TCP baglantisi sonunu kullanir Bu yuzden iletisim esnasinda kesme saldirilari mumkun olmaktadir SSL 2 0 tek bir hizmet ve web sunucularin tek bir sertifikalari oldugunu varsayarak aslinda sanal barindirma virtual hosting standart ozelligi ile calisan web sunuculari ile ters dusmektedir Bu da cogu web sitelerini SSL kullanma konusunda engelli konumunda birakir SSL 3 0 SSL 2 0 protokolune SHA 1 tabanli sifreler ve sertifika dogrulamasi destegi eklenerek olusturulmustur SSL 3 0 sifre suitlerinde zayif anahtar uretme sureci bulunmaktadir master anahtarin yarisi tamamen MD5 hash fonksiyonuna bagli olarak uretilmektedir Diger tarafta ise TLS 1 0 protokolunde master anahtar hem MD5 hem de SHA 1 algoritmalariyla uretilmektedir Bu uretim sureci simdilik zayif olarak gorulmemektedir Ekim 2014 te SSL 3 0 tasariminda kritik bir aciklik rapor edilmistir Bu aciklik CBC isleminde padding saldirilarina karsi savunmasiz olmasindan kaynaklanmaktadir POODLE saldirisi TLS TLS de cesitli guvenlik onlemleri bulunmaktadir Zayif sifre protokolune sahip onceki versiyonuna dusurulmesine karsi koruma downgrade of the protocol Ardisik olarak olusturan paketleri sira numaralariyla etiketleyip bu numaralari da mesaj dogrulama kodlarinda MAC kullanmaktadir Baglanti sonlandirma isleminde iki tarafta karsilikli olarak Finished mesajinin hashini yollayarak disaridan baglanti sonlandirma saldirilarina karsi onlem alinmistir Sozde rastgelelik fonksiyonunda gelen vereyi ikiye ayirarak bunlari farkli hash fonksiyonlariyla MD5 vs SHA 1 hashlerini olusturduktan sonra bu iki veriyi XORlayarak mesaj dogrulamak kodunu olusturmaktadir Uclu DES CBC den kacinma Bazi uzmanlar Triple DES CBC kullanilmasindan kacinilmasini tavsiye etmektedir Son desteklenen sifreleme algoritmalari bircok program Windows XP nin SSL TLS kutuphanelerini kullandiklari icin bu kutuphanelere uygun olarak gelistirilmektedir Ortadaki adam MitM saldirisi ile iliskisi Ana makale icin Aradaki adam saldirisi Ignelenmis Dijital Sertifika Aradaki adam saldirisini engelleme yontemlerinden biri dijital sertifikayi ignelemektir Bu yontem iki turlu gerceklestirilmektedir Bunlardan ilki ilk baglanti esnasinda web sitesinden alinan sertifikayi o sitenin gercek sertifikasi olarak kabul edip bundan sonraki baglantilar sirasinda web sitesinden alinan ilk alinan sertifikayla kiyaslayarak devam etme yontemidir Diger yontem ise Google firmasi Chrome da google com domainleri icin kullandigi sertifikayi gomulu olarak bulundurmaktadir Bu sayede herhangi birisi google com adresi icin aradaki adam saldirisi gerceklestirmeye calistiginda Chrome bunu otomatik olarak kendisinde gomulu olarak bulunan sertifikayla kiyaslayarak hata vermektedir DNSChain DNSChain deki guvenlik blok zincirleri acik anahtarlarinin dagitimina dayanmaktadir Belirli bir DNSChain sunucusuna guvenli bir kanal acildiktan sonra diger tum acik anahtarlar bu kanal uzerinden iletilmektedir Daha fazla bilgiWagner David Schneier Bruce Kasim 1996 Analysis of the SSL 3 0 Protocol PDF The Second USENIX Workshop on Electronic Commerce Proceedings USENIX Press ss 29 40 16 Ekim 2006 tarihinde kaynagindan PDF Erisim tarihi 18 Mart 2022 Eric Rescorla 2001 SSL and TLS Designing and Building Secure Systems ABD Addison Wesley Pub Co ISBN 0 201 61598 3 Stephen A Thomas 2000 SSL and TLS essentials securing the Web New York Wiley ISBN 0 471 38354 6 Bard Gregory 2006 International Association for Cryptologic Research 136 23 Eylul 2011 tarihinde kaynagindan arsivlendi Erisim tarihi 23 Eylul 2011 Canvel Brice 20 Nisan 2016 tarihinde kaynagindan arsivlendi Erisim tarihi 20 Nisan 2007 IETF Multiple Authors RFC of change for TLS Renegotiation 10 Aralik 2015 tarihinde kaynagindan Erisim tarihi 11 Aralik 2009 Creating VPNs with IPsec and SSL TLS 12 Nisan 2015 tarihinde Wayback Machine sitesinde Linux Journal article by Rami Rosen Polk Tim McKay Kerry Chokhani Santosh Nisan 2014 PDF National Institute of Standards and Technology 4 Mart 2016 tarihinde kaynagindan PDF arsivlendi Erisim tarihi 7 Mayis 2014 Dis baglantilarOpenSSL Project 24 Nisan 2015 tarihinde Wayback Machine sitesinde RFC 5246 The Transport Layer Security TLS Protocol Version 1 2 IETF Internet Engineering Task Force TLS Workgroup 2 Temmuz 2014 tarihinde Wayback Machine sitesinde A talk on SSL TLS that tries to explain things in terms that people might understand 6 Temmuz 2015 tarihinde Wayback Machine sitesinde SSL Foundation for Web Security 11 Nisan 2015 tarihinde Wayback Machine sitesinde TLS Renegotiation Vulnerability IETF Tools 6 Temmuz 2015 tarihinde Wayback Machine sitesinde Survey of TLS SSL implementation of the most popular web sites How to Generate CSR for SSL7 Haziran 2019 tarihinde Wayback Machine sitesinde Kaynakca T Dierks E Rescorla Agustos 2008 The Transport Layer Security TLS Protocol Version 1 2 10 Haziran 2016 tarihinde kaynagindan Erisim tarihi 17 Mart 2015 RFC 5246 The Transport Layer Security TLS Protocol Version 1 2 Internet Engineering Task Force 10 Haziran 2016 tarihinde kaynagindan Erisim tarihi 9 Eylul 2013 SSL Intercepted today decrypted tomorrow 21 Eylul 2013 tarihinde Wayback Machine sitesinde Netcraft 2013 06 25 Law Enforcement Appliance Subverts SSL 15 Mart 2014 tarihinde Wayback Machine sitesinde Wired 2010 04 03 New Research Suggests That Governments May Fake SSL Certificates 4 Ocak 2016 tarihinde Wayback Machine sitesinde EFF 2010 03 24 A Freier P Karlton P Kocher Agustos 2011 The Secure Sockets Layer SSL Protocol Version 3 0 25 Mart 2016 tarihinde kaynagindan Erisim tarihi 17 Mart 2015 SSL Tarihi 2 Nisan 2015 tarihinde kaynagindan Erisim tarihi 17 Mart 2015 SSL in Amaci 10 Haziran 2016 tarihinde kaynagindan Erisim tarihi 17 Mart 2015 SSL 3 0 25 Mart 2016 tarihinde kaynagindan Erisim tarihi 17 Mart 2015 1 Ocak 2016 tarihinde kaynagindan arsivlendi Erisim tarihi 17 Mart 2015 TLS 1 0 27 Aralik 2015 tarihinde kaynagindan Erisim tarihi 17 Mart 2015 TLS 1 1 1 Ocak 2016 tarihinde kaynagindan Erisim tarihi 17 Mart 2015 TLS 1 2 10 Haziran 2016 tarihinde kaynagindan Erisim tarihi 17 Mart 2015 TLS 1 3 27 Agustos 2018 tarihinde kaynagindan Erisim tarihi 25 Agustos 2018 21 Aralik 2015 tarihinde kaynagindan arsivlendi Erisim tarihi 17 Mart 2015 SSL TLS in Detail 4 Mart 2016 tarihinde kaynagindan Erisim tarihi 10 Nisan 2016 netscape com 14 Haziran 1997 tarihinde kaynagindan arsivlendi Erisim tarihi 10 Nisan 2016 Rescorla 2001 30 Mart 2016 tarihinde kaynagindan arsivlendi Erisim tarihi 10 Nisan 2016 4 Ocak 2016 tarihinde kaynagindan arsivlendi Erisim tarihi 10 Nisan 2016 17 Mart 2016 tarihinde kaynagindan arsivlendi Erisim tarihi 10 Nisan 2016 Guidelines for the Selection Configuration and Use of Transport Layer Security TLS Implementations PDF 4 Mart 2016 tarihinde kaynagindan PDF Erisim tarihi 10 Nisan 2016 The Transport Layer Security TLS Protocol Version 1 1 RFC 4346 10 Haziran 2016 tarihinde kaynagindan Erisim tarihi 10 Nisan 2016 Pre Shared Key Ciphersuites for Transport Layer Security TLS 27 Mayis 2016 tarihinde kaynagindan Erisim tarihi 9 Nisan 2016 Using the Secure Remote Password SRP Protocol for TLS Authentication 26 Mayis 2016 tarihinde kaynagindan Erisim tarihi 9 Nisan 2016 22 Eylul 2013 tarihinde kaynagindan arsivlendi Erisim tarihi 10 Nisan 2016 OST 28147 89 Cipher Suites for Transport Layer Security TLS draft chudov cryptopro cptls 04 21 Nisan 2016 tarihinde kaynagindan Erisim tarihi 10 Nisan 2016 11 Haziran 2016 tarihinde kaynagindan arsivlendi Erisim tarihi 9 Nisan 2016 n the Security of Today s Online Electronic Banking Systems 17 Ekim 2015 tarihinde kaynagindan Erisim tarihi 10 Nisan 2016