Ssl nedİr?

Katılım
31 Ocak 2008
Mesajlar
227
Puanları
1
SSL NEDİR?







Tanım: Secure Socket Layer



Bildiğimiz gibi Internet herkese açık bir ortamdır. Teknolojinin ilerlemesi ile beraber artık internet gündelik hayatımızın vazgeçilmez bir parçası haline gelmiştir. Internetin bu denli yaygınlaşması beraberinde güvenlik sorunlarını da getirmiştir.



İşte 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’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. SSL, güvenli olmayan bir ortamda verinin göndericiden alıcıdan 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. 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.



SSL teknolojisi, veri iletimi esnasında Hashing metodunu kullanır. Hashing metodolojisi ile , sunucu , veriden tek bir hash değeri yollar. Istemciye veri ile beraber bu hash değerini de yollar. Istemci bu data paketini aldığında, aynı hash fonksiyonunu kullanarak , gelen bu paketten yeni bir hash değeri üretir. Burada altının çizilmesi gerekn nokta, veri istemcisinin ürettiği anahtar değerinin , sunucunun kullanmış olduğu aynı hash fonksiyonu ile üretilmiş olmasıdır. Istemci ile sunucu, aralarında bağlantı sağlarken, aynı hash fonksiyonu kullanmak için anlaşırlar. Istemcinin üretmiş olduğu bu yeni hash değeri, sunucunun yolladığı hash değeri ile aynı olmak zorundadır. Eğer aynı değilse veri değişmiştir. Aynı değilse verinin değişmediğinden sunucu emin olmuş olur.



SSL, web sunucusunda tanımlanmış olan digital imzaları kullanır.

Böylece web sunucusunun yayınlamış olduğu digital 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.Bir sunucu sertifikası, sunucuda tanımlanmış olan bir digital imza ile belldir. Ve sunucunun gerçek kimlik bilgilerini içerir.Sertifika otoritesi, bahsi geçen sertifikayı sunucu firmaya verirken, öncesinde o da 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 otoritesi, Verisign gibi firmalardır. Ve bu sertifika otoriteleri, internette alışveriş hizmeti sağlamak isteyen firmalara dağıtabilecekleri sertifikaları, bir onay aşamasından sonra verir.

(NOT: Digital Imza, Sertifikasyon Otoriitesi ve PKI konularınde detay bilgi için PKI konulu makaleyi inceleyiniz.)



Sunucuya istemciden bir SSL isteği geldiğinde, istemcinin web browserı , sunucu ile irtibata geçer. Ve sunucu, istemciye Sertifika Otoritesi tarafından kendisine verilmiş olan sertifikayı yollar. İşte kısaca diyebiliriz ki, sertifika, bir digital imzadan ibarettir. Istemci, sunucunun yollamış olduğu bu sertifikayı aldığında, bu sertifikadan sunucunun firma kimlik bilgilerini ve herekese açık anahtar bilgisini okuyabilir.Istemci, sertifika otoritesinin herkese açık anahtarı ile sayısal imzayı cözer ve otoritenin ürettiği hash değerini bulur. 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 istemcinin gerçekten iletişime geçmek istediği bir firma demektir.

Böylelikle sunucu ve istemci arasında bir SSL “güvenli” bir bağlantı kurulumu gerçeklenmiş olur ve bu bağlantı esnasında giden gelen paketler şifrelendiği için üçüncü kişiler, sunucu ile istemci arasında gidip gelen veri paketlerini okuyamaz. Eğer üçüncü şahıslar, veri okumaya başlayabilirse, bundan anında hem sunucunun hem de istemcinin haberi olur ve bağlantı hemen kesilir. SSL ile, yukarıda da görebildiğimiz gibi hem sunucu istemciye kendini tanıtır hem de istemci sunucuya kendini tanıtır. Böylelikle iki taraflı bir güven ilişkisi kurulmuştur.



O halde istemci ile sunucu arasında iki taraflı bir el sıkışması yapılır. (HandShake). Bu el sıkışma anlaşması, istemci sunucuya ilk ulaştığı anda yapılır. El sıkışma aşamaları şöyle cereyan eder:

* Istemci, 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.

* Istemci, sunucunun kimliğini denetler.

* Istemci, sunucudan almış olduğu digital imzadan bir anahtar oluşturur ve bunu sunucuya yollar.

* Sunucu bu anahtarı alınca, kontrol eder.

* Eğer istenirse, sunucu da tarayıcıdan bir kimlik denetimi isteyebilir. Bu da demek ki, çift taraflı bir güven anlaşması desteklenmektedir.



Bu el sıkışma aşamaları başarılı bir biçimde gerçeklenirse, sunucu ve istemci arasında bir veri iletişim kanalı açılmıştır ve veri iletişimi başlar.



Konuya daha açıklık getirmek istersek, şunları da burada yeri geldiğinde söylemekte fayda var: El sıkışma başladığında, istemci sunucudan kimlik bilgilerini ister. Bunun üzerine sunucu, istemciye sertifikasını yollar. Istemci aldığı bu bilgiler eşiğ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, istemcinin yolladığı bu şifrelenmiş anahtarı çözer.

Bu aşamalar sonucu istemci ve sunucunun birbirine yollamış olduğu anahtarlar eğer aynı ise,

El sıkışma başarılı bir biçimde kurulmuş demektir ve veri alışverişi başlar.



Bu el sıkışma protokolü ve verinin şifrelenerek istemci ve sunucu arasında yollanması işlemleri, OSI referans modelinin Application ve Presentation seviyelerinde gerçeklenir.

(Application seviyesinde, istemci ve tarayıcı World Wide Web üzerinden oturum açıp veri alişverişinde bulunurlarken, şifreleme işlemleri Presentation seviyesinde yapılır.



Burada değinilmesi gereken bir diğer nokta ise, yapılan şifreleme tekniğidir.

3 farklı şifreleme tekniği kullanılır.

a. Hash Tekniği ile Şifreleme: Veri trafiği esnasında, verinin değişmediğinin ve bütünlüğünün korunduğunu anlamak için kullanılır.

b. Anahtar Değişim Tekniği ile Şifreleme: Istemci ve sunucunun, el sıkışma sonrasında , veriyi şifrelemek amacı ile kullandıkları simetrik anahtarı nasıl birbirine 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.



SSL desteği veren web sunucunun host ettiği web adresleri “https” ile başlar.







O SSL tekniği ile güvenliği sağlanmış olan bir web sunucuya bir istemci bağlanıp veri alıs verişini başlatmak istediğinde şu adımlar gerçeklenir:



Öncelike 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.

Istenci, sunuya bağlandığında aralarında bir el sıkışma protokolü kurumu başlatılır. Bu bağlamda, istemci ve sunucu hangi şifreleme tekniğini kullanacakları konusunda anlaşır.

Sunucu, istemciye, kendisine Sertifika Otoritesi tarafından verilmiş olan sertifikayı yollar.

Istemci, sunucunun kendine yollamış olduğu sertifikayı kullanarak sunucunun kimlik denetimini yapar.

Istemci, 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 istemci arasındaki verinin şifrelenmesi için kullanılacaktır.

Sunucu, istemciye 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.

Istemci 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. Iki hash değerini karşılaştırır. Aynı ise, iletişime devam edilir.



Bu adımlar, istemci ve sunucu arasındaki veri trafiği boyunca devam eder.



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.

Saygılarımla. KASIM YILMAZ : System & Network Trainer
 

Forum istatistikleri

Konular
128,327
Mesajlar
916,731
Kullanıcılar
450,170
Son üye
billurwan

Yeni konular

Geri
Üst