1994 yılında Netscape tarafından geliştirilen, şifrelemesi açık anahtarlı şifrelemeye dayanan, Web tarayıcısı ile sunucu arasındaki güvenliği HTTPS:// üzerinden sağlamayı amaçlayan ve Türkçe’ye de “güvenli socket (yuva) katmanı” olarak çevrilebilen SSL (Secure Socket Layer) protokolü internet üzerinden şifrelenmiş güvenli veri iletişimini sağlar. Özellikle alışveriş sitelerinde, e-posta gönderiminde ve SFTP dosya transferinde güvenlik amacıyla kullanılmaktadır.
OSI referans modelinde etkili bir haberleşme için “transport/iletim” katmanını kullanıyoruz. Aynen fiziksel bir katmanda olduğu gibi virüsler normalde transport katmanına saldırmaktadır. Bundan ötürü verilerin iletilmesinden sorumlu olan transport katmanında bazı ekstra güvenlik önlemlerine ihtyaç duymaktayız. İşte bu transport katmanınındaki iletişimi herhangi bir sızmaya karşı güvenli ve korunaklı yapan bir güvenlikten bahsediyoruz. Özellikle alışveriş siteleri gibi kredi kartı ve kişisel bilgilerin girildiği web sitelerinde görülen ve de olması zorunlu olan https:// bağlantısı sizinle bilgileri girdiğiniz web sitesi arasındaki iletişimin bir takım şifreleme yöntemleriyle güvenli bir şekilde yapıldığını gösterir.
SSL, https:// bağlantısında kullanılan kriptografik protokolle gönderilen bilginin kesinlikle doğru adreste deşifre edilebilmesini sağlar. Bilgi gönderilmeden önce şifrelenir ve doğru alıcı tarafından deşifre edilir. Her iki tarafta da doğrulama yapılarak bilginin gizliliği, güvenliği ve bütünlüğü sağlanır. SSL bilgiyi şifrelemek içim 2 anahtar kullanır. Bunlardan biri her iki tarafın da bildiği açık/genel anahtar, diğeri ise sadece mesajı alan tarafın bildiği özel/şifreli anahtar.
Üstteki resimde A kişisi güvenli olmayan bir kanal üzerinden gizli ve önemli bilgilerini B tarafına göndermektedir. İletim kanalı güvenli olmadığı için C kişisi istediği an bu kanala bir sızma/giriş gerçekleştirerek A’nın sadece B’ye özel olarak göndermiş olduğu bilgileri çok kolay bir şekilde elde edebilmektedir. Çünkü gönderilen veriler şifrelenmemiş ve düz bir metin dosyası şeklinde iletilmiştir. Böylelikle araya sızan kişi bu verileri çok kolay bir şekilde elde etmiş ve dilediği gibi kullanma hakkına kavuşmuştur.
Şimdi de A ve B arasında güvenli bir iletim kanalının olduğu (https://) üsteki şemayı görüyorsunuz. Bu bağlantıda veri gönderici tarafından kriptografik yöntemlerle şifrelenerek HTTPS kanalı üzerinden yollanıyor. Bu esnada araya sızan kişi, verinin tek taraflı şifrelenmiş olması ve şifre çözücü anahtarın da sadece alıcı tarafında olmasından ötürü elindeki şifrelenmiş veriler hiçbir şekilde işine yaramamaktadır. Görüldüğü gibi HTTPS güvenli bir kanaldır ve HTTP’de SSL protokolünün kullanılması güvenli veri iletişimini sağlamaktadır.
Veri akışında kullanılan şifrelemenin gücü kullanılan anahtar uzunluğuna bağlıdır. Örneğin, 8 bit üzerinden bir iletimin çözülmesi son derece kolaydır. 8 bit sadece 28=256 olası farklı anahtar içerir. Bir bilgisayar bu 256 farklı olasılığı sıra ile inceleyerek bir sonuca ulaşabilir. SSL protokolünde ise 128 bit ve 256 bit şifreleme kullanılır. 128 bit şifrelemede 2128 değişik anahtar vardır ve bu şifrenin çözülebilmesi çok büyük bir maliyet ve zaman gerektirir. Kötü niyetli bir kişinin 128 bitlik şifreyi çözebilmesi için ciddi bir yatırım yaptıktan sonra uzun bir zaman harcaması gerekir. Tabii ki tüm bu güvenlik özellikleri ve yeteneklerine rağmen son zamanlarda bazı araştırmacıların bulmuş oldukları yöntemlerle SSL iletişiminin kırılabildiği görülmüştür. En tehlikeli yöntem ise bu sertifikaların doğrudan ilgili SSL sertifikası satıcılarından çalınıp kopyalanması yoluyla gerçekleştirilmektedir.