SSL/TLS karmaşası

SSL ile TLS arasındaki versus’ları internette görebilirsiniz. Malesef bu versus günümüz için yapılmaması gereken bir versus. Bu yazımda bu protokoller için karşılaştırmanın günümüz için neden yanlış olduğunu teknik detaylara girmeden anlatmaya çalışacağım.

Bilgisayarla ilk tanıştığım çocukluk yıllarımda Netscape’e ait bir web tarayıcısını kullandığımı dün gibi hatırlıyorum. SSL protokolü işte bu Netscape tarafından geliştirildi. Ancak bu sürüm kendilerine ait herhangi yayınlanmış bir uygulamada kullanılmadı. SSL ‘in 2.sürümüde 1994’in sonlarına doğru çıktı ve daha sonra Netscape Navigator tarayıcısında kullanılmaya başlandı. Tam da bu dönemden sonra Microsoft’un Internet Explorer’ı ile Netscape’in Navigator tarayıcıları arasında bir yarış, savaş başladı.

Microsoft, Netscape’in SSL2’sini revize ederek ve ek özellikler ekleyerek kendisi de kullanmak istiyor. Hatta bu protokolün adını belirleyip sadece kendi ürünlerinde çalışacak şekilde yapılandırmayı düşünüyordu. Bu arada Netscape sorunları gidererek SSL3’ü çıkardı. Netscape, o zamanın lideri Microsoft’un bu hamlesine karşın Microsoft ile görüşmelere başladı. Bu görüşmeler esnasında her iki firmada SSL’in bir standart protokol olması gerektiğini ve IETF ‘in RFC’sine uyum konusunda anlaşmaya gittiler.

Bu anlaşmadan sonra SSL3 üzerinde ufak değişiklikler yapılarak yeni ismiyle ortak isim olan TLS ‘in 1.0 sürümü 1999’da yayınlandı. Bu yüzden her yerde SSL3.1 = TLS 1.0 ‘dır diye anlatılır. SSL ilk olması sebebiyle bir çok kaynakta TLS yerine günümüz için hala SSL ifadesi kullanılıyor. Ancak günümüzden SSL’den kastın TLS olduğunu bilinmelidir.

TLS 1.0 ‘da güvenlik sıkıntıları bulunuyordu. 2006 yılında büyük bir değişlik yapıldı ve TLS 1.1 yayınlandı. Bu iki major sürüm arasında ufak değişiklikler elbette olmadı değil. Örneğin 2000 yılında HTTP 1.1 protokolünün TLS üzerinden çalışması gerçekleştirildi. TLS 1.2 ‘de ise SSL ile güvenlik önemlerinin yanı sıra başka özelliklerde eklenerek yayınlandı. Bu yazıyı yazdığımız tarih itibariyle hala son ve en güvenli major sürüm olarak 1.2 sürümü kullanılmaktadır. Eski uyum için hala eski SSL3.1, TLS 1.0 ve TLS 1.1 sürümlerini de görebilirsiniz. Ancak eğer SSL3’ü kullanılıyorsa hemen bu protokolü sunucunuz tarafından destek verilmeyecek hale getirmelisiniz.

Bu tarihsel detaydan sonra neden SSL ile TLS ‘i günümüz için direkt karşılaştırmanın yanlış olduğunu anlatabilmişimdir umarım. Araştırmalarınızı eski SSL yapısını kullanmıyorsanız, TLS ‘e göre yapmalısınız. TLS ile ilgili ve eski SSL için yayınlanmış gelişmeleri, dokümanları buradan, mail listelerini buradan takip edebilirsiniz.