Secure Socket Layer (SSL) Nedir? Hazırlayan: İsmail KIRBAŞ 055122007 [email protected] 1 Açık metin HTTP trafiği internet BB Mehmet Peksaf Batmaz Bank Internet Şubesi Ali Pekfesat Mehmet Peksaf Müşteri No : 6980871 Şifre : aliveli4950 internet Müşteri No : 6980871 Şifre : aliveli4950 Müşteri No : 6980871 Şifre : aliveli4950 Ali Pekfesat Batmaz Bank Internet Şubesi 2 Verinin güvenliksiz bir ortam olan internette bir yerden bir yere taşınması sorununa bir çözüm olması için SSL ortaya atılmıştır. SSL, güvenli olmayan bir ortamda verinin göndericiden alıcıya güvenli bir şekilde iletimini sağlamak amacı ile hem herkese açık bir anahtar şifrelemesini hem de özel anahtar şifrelemesini aynı anda kullanabilen bir yapıda tasarlanmıştır. 3 • SSL’i ilk ortaya atan Netscape firmasıdır. Daha sonra IETF tarafından bir güvenlik standardı olarak kabul edilmiş ve Netscape’ten devralınmıştır. • Veriyi sunan Web Server, Sertifika otoritesi tarafından imzalanmış özel ve herkese açık bir anahtara sahiptir. • Bu anahtar değerleri verinin alıcı tarafından sunucudan güvenli bir şekilde alınmasını sağlar. 4 SSL’in Kullanım Amacı 1. Sunucu ile istemci arasında bir bağ oluşturmak, 2. Şifreleme ve sıkıştırma kurallarını belirlemek, 3. Tarafları asıllamak, 4. Oturum için gerekli anahtarları oluşturmaktır. 5 SSL teknolojisi, veri iletimi esnasında Hashing metodunu kullanır. Hashing metodolojisi ile sunucu, veriden tek bir hash değeri yollar. İstemci bu veri paketini aldığında, aynı hash fonksiyonunu kullanarak, gelen bu paketten bir hash değeri üretir. İstemci ile sunucu, aralarında bağlantı sağlarken, aynı hash fonksiyonunu kullanmak için anlaşırlar. İstemcinin üretmiş olduğu bu hash değeri, sunucunun yolladığı hash değeri ile aynı olmak zorundadır. Eğer aynı değilse veri değişmiştir. 6 SSL, web sunucusunda tanımlanmış olan digital imzaları kullanır. Böylece web sunucusunun yayınlamış olduğu dijital imza sayesinde, browserdan web sunucusuna erişen istemci, gerçekten alışverişte bulunacağı firma ile bir bağlantının kurulduğundan emin olur. 7 Sertfikanın Edinilmesi Sertifika otoritesi, bahsi geçen sertifikayı sunucu firmaya verirken, öncesinde bir kimlik denetiminde bulunur. Güvenilir bir firma olduğuna kanaat getirdiğinde, sunucu firmaya sertifika verir. Sertifika Otoritesinin vermiş olduğu bu sertifika, sunucu firmanın güvenilir ve onaylanmış bir firma olduğunu belgeler. Sertifika otoriteleri, Verisign gibi firmalardır. 8 Sertfikanın Onaylanması • Sunucuya İstemciden bir SSL isteği geldiğinde, İstemcinin web browserı, sunucu ile irtibata geçer. Ve sunucu, İstemciye Sertifika Otoritesi tarafından kendisine verilmiş olan sertifikayı yollar. • Sonuçta, sertifika, bir dijital imzadan ibarettir. • İstemci, sunucunun yollamış olduğu bu sertifikayı aldığında, bu sertifikadan sunucunun firma kimlik bilgilerini ve herkese açık anahtar bilgisini okuyabilir. • İstemci, sertifika otoritesinin herkese açık anahtarı ile sayısal imzayı çözer ve otoritenin ürettiği hash değerini bulur. 9 • Daha sonra sertifika içinden kendisi de bir hash değeri üretir. Bu iki hash değerinin aynı olması gerekmektedir. • Eğer aynı ise, web sunucusu, Sertifika Otoritesi tarafından onaylanmıştır ve İstemcinin gerçekten iletişime geçmek istediği bir firma demektir. 10 • Böylelikle sunucu ve İstemci arasında bir SSL “güvenli” bağlantı kurulumu gerçeklenmiş olur ve bu bağlantı esnasında giden gelen paketler şifrelendiği için üçüncü kişiler, sunucu ile İstemci arasında gidip gelen veri paketlerini okuyamaz. • Eğer üçüncü şahıslar, veri okumaya başlayabilirse, bundan anında hem sunucunun hem de İstemcinin haberi olur ve bağlantı hemen kesilir. 11 • SSL ile, hem sunucu İstemciye kendini tanıtır hem de İstemci sunucuya kendini tanıtır. Böylelikle iki taraflı bir güven ilişkisi kurulmuştur. • İstemci ile sunucu arasında iki taraflı bir el sıkışması yapılır. (HandShake). • Bu el sıkışma anlaşması, İstemci sunucuya ilk ulaştığı anda yapılır. 12 El Sıkışma Aşamaları 1. İstemci, sunucuya ilk ulaştığında el sıkışma başlar ve her iki taraf, güvenlik amacı ile kullanılacak olan şifreleme fonksiyonu üzerinde anlaşır. 2. İstemci, sunucunun kimliğini denetler. 3. İstemci, sunucudan almış olduğu dijital imzadan bir anahtar oluşturur ve bunu sunucuya yollar. 4. Sunucu bu anahtarı alıp, kontrol eder. 5. Eğer istenirse, sunucu da tarayıcıdan bir kimlik denetimi isteyebilir. 13 • El sıkışma başladığında, İstemci sunucudan kimlik bilgilerini ister. Bunun üzerine sunucu, İstemciye sertifikasını yollar. • İstemci aldığı bu bilgiler eşliğinde simetrik bir anahtar oluşturur. Daha sonra sunucunun herkese açık anahtarı ile, bu bulduğu anahtarı şifreler. Ve bu değeri sunucuya yollar. • Kendi özel anahtarını kullanarak, sunucu, İstemcinin yolladığı bu şifrelenmiş anahtarı çözer. 14 SSL’de Kullanılan Şifreleme Sistemleri a. Hash Tekniği ile Şifreleme: Veri trafiği esnasında, verinin değişmediğini ve bütünlüğünün korunduğunu anlamak için kullanılır. b. Anahtar Değişim Tekniği ile Şifreleme: İstemci ve sunucunun, el sıkışma sonrasında , veriyi şifrelemek amacı ile kullandıkları simetrik anahtarı birbirine nasıl ulaştıracağını belirlemek için kullanılır. c. Simetrik Veri Şifreleme: Veri şifrelenmesinde kullanılacak olan RC2 gibi bir veri şifreleme tekniğidir. 15 • İstemci ve sunucunun Web üzerinden oturum açıp veri alışverişinde bulunma işlemleri, OSI modelinin Uygulama katmanında, şifreleme işlemleri de Sunuş katmanında yapılır. İstemci Sunucu Uygulama Uygulama SSL Tokalaşma SSL Tokalaşma SSL SSL Kayıt SSL Kayıt TCP / IP TCP / IP 16 1 İstemci, sunucuya bağlandığında aralarında bir el sıkışma protokolü kurumu başlatılır. Bu bağlamda, İstemci ve sunucu hangi şifreleme tekniğini kullanacakları konusunda anlaşırlar. İstemci Öncelikle Web sunucu, bir Sertifika Otoritesinin kendisine tahsis etmiş olduğu sertifikayı yüklemiş olması gerekmektedir. Böylelikle, Sertifika Otoritesi, sunucuyu onayladığını, istemcilere garanti etmiş olur. Sunucu 17 2 Sunucu, istemciye, kendisine Sertifika Otoritesi tarafından verilmiş olan sertifikayı yollar. İstemci, sunucunun kendine yollamış olduğu sertifikayı kullanarak sunucunun kimlik denetimini yapar. İstemci Sunucu 18 3 İstemci, bu kimlik denetiminden sonra, eğer geçerli bir sertifika aldı ise; bu sertifika bilgisinden, simetrik şifreleme anahtarını yaratır ve bunu sunucuya yollar. Bu şifreleme anahtarı, sunucu ve İstemci arasındaki verinin şifrelenmesi için kullanılacaktır. İstemci Sunucu 19 4 Sunucu, İstemciye veri yollarken, bu şifre anahtarı ile veriyi şifreler, veri için bir hash değeri üretir. Şifrelenmiş veri ve hash değeri istemciye yollanır. İstemci Sunucu 20 5 İstemci veriyi alır, bir hash değeri üretir. Veriyi ve hash değerini simetrik anahtar ile şifreler, sunucuya yollar. Sunucu aldığı bu şifrelenmiş veriyi ve hash değerini çözer. Veri için yeni bir hash değeri üretir. İki hash değerini karşılaştırır. Aynı ise, iletişime devam edilir. İstemci Sunucu Bu adımlar, İstemci ve sunucu arasındaki veri trafiği boyunca devam eder. 21 SSL Sertifika Örneği Bir SSL Sertifikasının görünümü: Bir Netscape istemcisi ile, güvenli bölgenin detayları alınıyor. LKD SSL sunucusunun sertifikası.... This Certificate belongs to: www.linux.org.tr [email protected] Bilgi Guvenligi Grubu Linux Kullanicilari Dernegi Ankara, TR, TR This Certificate was issued by: LKD Root Certificate Authority [email protected] Bilgi Guvenligi Grubu Linux Kullanicilari Dernegi (LKD) Ankara, TR Serial Number: 01 This Certificate is valid from Tue Sep 12, 2000 to Wed Sep 12, 2001 Certificate Fingerprint: BF:F1:06:75:DE:56:F4:77:82:C1:FD:34:A5:40:2B:62 SSL teknolojisi, 40 bit, 56 bit ve 128 bit veriyi destekler. Ama daha güvenli olması için tercih edilen 128 bitlik veri alışverişidir. 22 Avantajları: • Ucuz ve kurulumu kolaydır. • Mevcut donanım yapısıyla entegre çalışabilir. • Anahtar büyüklüğü arttırılarak güvenlik seviyesi arttırılabilir. • Küresel anlamda yaygın olarak kullanılmaktadır. Dezavantajları: • Yerini kendisinden daha güvenli bir sistem olan IPSec sistemine bırakmaktadır. • Trafik çözümlemesine ya da sel (flooding) saldırılarına karşı savunması yoktur. • SSL ve TLS’nin uygulama iletişim kurallarının yapılarını değiştirmediğini ve bu sebeple ancak geçici bir çözüm olarak ele alınması gerektiğini savunanlar da vardır. 23