16 Nisan 2014

SSL Nedir? - 1.Bölüm




HTTP nedir?

HTTP, "Hyper Text Transfer Protocol" (Hiper Metin Transferi Protokolü) kelimelerinin baş harflerinden oluşan bir kısaltmadır. İnternette sunucular ve son kullanıcılar arasında bilgilerin nasıl aktarılacağına dair kurallar ve yöntemleri düzenleyen bir sistemdir. Web sayfalarını internet kullanıcısına ulaştıran temel protokoldür. İnternet sitelerinin açılmasını sağlayan komutlar HTTP protokolü aracılığıyla iletilir. İnternet üzerinde en çok kullanılan ve en önemli protokoldür. Hyperlink HTML sayfasında bir takı (tag) kullanılarak başka bir dosya ile oluşturulan bağlantıdır.

Bir web adresine girmek istediğimizde ilgili sayfayı, bilgisayarımızda görüntülemeden önce arka planda bir dizi işlem  gerçekleşir. Tarayıcılar (browser ; ie, chrome, safari, firefox, opera vb.) sunuculardan web sitelerine ait bilgileri indirebilmek  için  "HTTP" protokolü ile  istekte bulunur. Önce HTTP servisine girilmek istenen adres  bildirilir. HTTP, isteği alır ve çok hızlı bir işlemden sonra bilgileri bilgisayarımıza  gönderir. İşlem gerçekleşmezse hata mesajı alınır. İşlemin gerçekleşmesi hâlinde son olarak HTTP servisiyle yapılan bağlantı kesilir. 

Adreslerin başına eklenen " HTTP ", karşı tarafın sunucusuna  web sitesi ile ilgili bilgileri tarayıcınıza " HTTP " kuralları çerçevesinde iletmesi komutunu verir ve iletişim başlar. HTTP ile yapılan bilgi alışverişinde ise bir şifreleme yoktur. Başka kişiler de sizin aldığınız ve verdiğiniz bilgilere ulaşabilir. 

HTTPS nedir?

HTTPS, "Hyper Text Transfer Protocol Secure" (Hiper Metin Transferi Protokolü - Güvenli) kelimelerinin baş harflerinden oluşan bir kısaltmadır. Hypertext, bir web sitesinin kod veya eklenti gerektirmeyen, metin, tablo veya resim gibi içeriklerini açıklar.  "Secure", http ve SSL/TLS protokollerinin birleşimini temsil eder. Bu protokoller web'de gezinme dışında e-postalar, anında mesajlaşma ve voip gibi içeriğin de şifrelenmesinde kullanılır. https, web sitelerinin "düz metin" ile kurduğu iletişimin güvenliği artırmak amacıyla şifrelenmesi demektir.

İnternette sunucular ve son kullanıcılar arasında bilgilerin "başkaları tarafından" okunamayacak şekilde nasıl aktarılacağına dair kurallar ve yöntemleri düzenleyen bir sistemdir. HTTPS HTTP'den farklı olarak  internette bilgi güvenliğini sağlamak amacı ile kullanılan bir güvenli iletişim protokolüdür. HTTPS verilerinizi ağ üzerinden güvenli bir biçimde karşı  tarafa aktarmak ile görevlidir. Bu görevini yerine getirirken, güvenli bir bağlantı kurmak  üzere, SSL (Güvenli Soket Katmanı) kullanır.

İnternet üzerinden yürütülen ve yüksek seviye güvenlik gerektiren bankacılık, kredi kartı ile ödeme vb. işlemlerde kullanılır. Tarayıcınız başında " HTTPS " yazılan adreslerle bağlantı kurduğunda, bilgiler sadece iki tarafın okuyabileceği şekilde şifrelenir.  E-Ticaret siteleri başta olmak üzere karşılıklı bilgi alışverişi ve iletişim gerçekleştirilen tüm web sayfalarında bu protokolün kullanılması gerekmektedir.


SSL nedir?

SSL Secure Socket Layer  (Güvenli Soket Katmanı) kelimelerinin baş harflerinden oluşan bir kısaltmadır. Sunucu ile istemci arasındaki iletişimin şifrelenmiş şekilde yapılabilmesine imkan veren standartlaşmış bir teknolojidir. SSL networkler üzerindeki bilgi transferleri sırasında güvenlik ve gizliliğin sağlanması amacıyla Netscape tarafından geliştirilmiş bir güvenlik protokolüdür. 1996 yılında 3.0 versiyonunun çıkarılmasıyla bütün Internet tarayıcılarının desteklediği bir standart haline gelmiştir (örn. IE (Internet Explorer), Mozilla Firefox, Opera, Safari gibi.). Bugün çok geniş uygulama alanları bulan SSL milyonlarca web sitesinde güvenli veri iletişimi için kullanılmaktadır .En yaygın kullanımı internette web ortamında olan SSL sunucu ile tarayıcı arasındaki iletişimin şifrenlenmesini sağlar. 


SSL Public Key/Private Key adı verilen anahtarların kullanımına dayalı bir şifreleme yöntemidir. Şifrelemede 2 adet anahtar kullanılır. Bu anahtarlar, dijital olarak kodlanmış yazılımdır ve 2 anahtardan oluşan bu sisteme asitmetrik şifreleme denir. Bir anahtarın kilitlediği veriyi, sadece diğeri açabilir. Anahtarlar otomatik olarak yaratılır. Anahtarlardan biri (private key), bağlantı kurmak isteyende kalırken,  diğeri (public key), ise bağlantı kurulmak istenene gönderilir. Public key ile gönderilmek istenen veri güvence altına alınır. Veri ulaştırılırken yolda alıkonsa bile, şifrenin çözülebilmesi için  private key gerekecektir. 


 


Veri + Anahtar1(Private Key) = Şifreli Veri 

Şifreli Veri + Anahtar 2(Public Key) = Veri

Kriptografi hakkında bilgi edinmek için tıklayınız.

Veri akışında kullanılan şifreleme yönteminin gücü kullanılan anahtar uzunluğuna bağlıdır. Anahtar uzunluğu bilginin korunması için çok önemlidir. SSL protokolünde 40 bit ve 128 bit şifreleme kullanılmaktadır. Bit, ikilik sayma düzeninde bir rakamı ifade eder. Bir bit, 0 veya 1 olmak üzere 2 farklı değer alabilir. 128 bit şifrelemede  değişik anahtar vardır ve bu şifrenin çözülebilmesi çok büyük bir maliyet ve zaman gerektirir. Örneğin;128 bit'lik bir şifreyi çözmek için 1 milyon dolarlık yatırım ve 67 yıl gerekir. 


TLS nedir?


TLS  Transport Layer Security  (Aktarım Katmanı Güvenliği) kelimelerinin baş harflerinden oluşan bir kısaltmadır. internet üzerinden verilerin aktarılması sırasında şifrelenmesini sağlayan bir protokoldür .TLS, SSL protokolünün devamı niteliğinde olup İnternet Mühendislik Görev Güçleri (IETF) tarafından SSL baz alınarak geliştirilmiş bir güvenlik protokolüdür. Ağ üzerinde, veri iletişimi sırasında, bilgilerin şifrelenerek gönderilip alınmasını sağlar. STARTTLS saf metin iletilerinin güvenliği için farklı bir port kullanmak yerine şifreli bağlantı olarak güncelleyen, bağlantı protokolleri için TLS tarafından geliştirilmiş bir çözümdür. TLS, SMTP kullanırken güvenli olmayan bir sunucu bağlantısıyla başlar ve bir STARTTLS komutuyla devam eder. Ardından veri aktarımı sırasında ise güvenli bağlantıya geçer.

Standart bir algoritma olan SSL/TLS gönderilen bilginin kesinlikle ve sadece doğru adreste deşifre edilebilmesini sağlarken, bilgi gönderilmeden önce otomatik olarak şifrelenir ve sadece doğru alıcı tarafından deşifre edilebilir. Her iki tarafta da doğrulama yapılarak işlemin ve bilginin gizliliği, bütünlüğü korunur. SSL/TLS fonksiyonun çalışabilmesi için sunucu tarafında bir anahtar ve istemci tarafında çalışacak bir sertifikaya ihtiyaç duyulmaktadır. Özellikleri ise ;
  • Mesajların şifrelenmesi ve deşifre edilmesindeki güvenlik ve gizliliği sağlar (Simetrik Anahtarlama).
  • Mesajı gönderenin ve mesajı alanın doğru yerler olduğunu garanti eder (Public/Private Key).
  • İletilen dokümanların tarih ve zamanını doğrular (Hashing tekniğiyle).
  • Doküman arşivi oluşturulmasını kolaylaştırır (Sıkıştırma teknikleriyle).

Yeniden HTTPS’i ele alırsak, HTTP trafiğin SSL protokolü ile sağlanan kanal üzerinden iletilmesi olarak tanımlayabiliriz. Bu kanal şifreleme ve kimlik doğrulama seçenekleriyle ya da her ikisi da olacak şekilde oluşturulabilir ama hem şifreleme hem de karşı tarafın kimliğinin doğrulanması gibi bir şart yok. OSI katmanda SSL "Presentation" katmanında yer alan bir protokol yığını,dolayısıyla "Application" katmanındaki HTTP ve asıl veri iletişimin yapıldığı "Transport" katmanı TCP protokolü arasında konumlanıyor.  


Sonraki Bölüm>>