SSL network üzerindeki bilgi transferi sırasında güvenlik ve gizliliğin sağlanması amacıyla Netscape tarafından geliştirilmiş bir güvenlik protokolüdür. SSL 1994 yılında Netscape Navigator tarayıcısının ilk sürümü ile tanıtıldı. Navigator`un haberleşmeyi kriptolayabilmesi Netscape’in seçilmesinde ana etkendi. SSL teknolojisi TCP/IP protokolü üzerinde çalışır ve web sunucusu ile web tarayıcısı arasındaki tüm bilgi akışını korur.1996 yılında 3.0 versiyonunun çıkarılmasıyla hemen hemen bütün popüler web sunucuları ve web tarayıcılarının (Microsoft Explorer, Netscape Navigator vb.) desteklediği bir standart haline gelmiş ve çok geniş uygulama alanları bulmuştur.

SSL’in üç adet sürümü vardı. SSL 1.0, Netscape içerisinde dâhili olarak kullanıldı ve bazı ciddi hatalar içerdiğinden piyasaya sürülmedi. SSL 2.0 Netscape 1.0 ile 2.x sürümleri içerisine dahil edildi fakat ‘man-in-the-middle’ saldırıları ile ilgili bazı zayıflıklar içeriyordu. Ek olarak iki üniversite öğrencisi Netscape’in rastgele sayı üreticisindeki bir açıktan yararlanarak SSL 2.0’ı dakikalar içerisinde kırdı. SSL’ in güvenliği konusunda oluşan endişelerden yararlanmak isteyen Microsoft 1996 yılında Internet Explorer’ın ilk sürümünde rakip protokol PCT’yi sundu. Netscape karşılık olarak 2.0 daki problemlerin giderildiği ve (Diffie-Hellman anonim anahtar değiş-tokuşu ve Fortezza akıllı kart desteği gibi) yeni özelliklerin eklendiği SSL 3.0′ı sundu. Bu noktada Microsoft geri adım atarak Internet yazılımlarının tüm sürümlerinde SSL’ i desteklemeye karar verdi (geriye uyumluluk için halen PCT desteği bulunuyor). SSL v3.0 Netscape Navigator 3.0 ve yukarısı sürümlerde ve Internet explorer 3.0 ve yukarısında bulunuyor. SSL daha sonra Internet Engineering Task Force (IETF) tarafından Internet standartları aktivitelerinde odak noktası oldu. TLS, önerilen Transport Layer Security protokolü SSL v3.0’ dan türetilmiştir ve farklı mesaj özeti ve kriptolama algoritmaları kullanır.

Okumaya devam et

Bu bölümde Gizli Anahtarlı şifreleme ve Açık Anahtarlı şifrelemede kullanılan bazı şifreleme algoritmalarından bahsedeceğim.

DES (Data Encryption Algorithm)

Amerika Birleşik Devletleri tarafından kullanılan bir şifreleme algoritmasıdır. 1960’ların sonunda IBM’de çalışan Horst Feistel adlı bir araştırmacı başkanlığındaki bir grup LUCIFER adı verilen bir şifreleme sistemi geliştirmiştir. 1973 yılında ABD standartlar enstitüsü NIST(National Institute of Standards and Technology) sivil kullanım için bir standart saptamak için firmaları davet eder. Yapılan incelemeler sonucu amaca en yakın çözüm LUCIFER bulundu. 128 bitlik bir şifre anahtarına sahip LUCIFER üzerinde çalışan ABD Güvenlik Teşkilatı(NSA) uzmanları bazı düzenlemeler yaptılar ve anahtar uzunluğunu 56 bit’e indirdiler. Bu yeni algoritma 1977 yılında DES (Data Encryption Standard) olarak yayınlandı ve kısa bir zamanda başta finans endüstrisi olmak üzere birçok alanda standart halinde kullanıma alındı. DES aynı zamanda, sabit diskte veri saklamak gibi tek kullanıcılı şifreleme amaçlı da kullanılabilir.

DES algoritması gizli anahtar yönetimini kullanan Simetrik şifrelemeli bir algoritmadır. Aynı anahtar hem şifrelemeye hem de deşifrelemeye yarar. Yani şifreleyen algoritmaya(DES) şifreli bilgi verilip aynı anahtar kullanılarak algoritma tersten işletildiğinde şifre çözülür. DES günümüzdeki birçok simetrik şifreleme algoritması gibi şifreleme için Fiestel yapısını kullanılır. Fiestel yapısı şifrelenecek bloğun iki parçaya bölünmesi ve her aşamada sadece biri üzerinde işlem yapılması ve bu işleminin sonucununda bir sonraki aşamada verinin ikinci yarısına etkimesi esasına dayanan bir sarmal bir yapıdır.

DES klasik şifreleme sistemleri içinde efsanevi bir yere sahiptir ve bugün bile VISA, MASTERCARD, BKM, v.s. tüm kart sistemlerinin şifreleme omurgasını oluşturmaktadır. DES, karıştırma, yerine koyma işlemlerini son derece dikkatli ve sistematik olarak yapacak şekilde tasarlanmıştır. Bunun yanı sıra en küçük değişikliğini çok büyük farklar yarattığı çığ etkisi(avalanche effect) bulunmaktadır. Yeni tek bitlik bir değişiklik bile sonucu tamamen değiştirmekte ve değişiklikler önceden tahmin edilememektedir.

Okumaya devam et

Açık Anahtar Altyapısında (Public Key Infrastructure) sayısal imza bir anahtar çifti (açık ve özel anahtarlar) ile elektronik ortamda iletilen veriye vurulan bir mühürdür. Sayısal imzalar göndericinin kimliğinin kesin bir biçimde teyit edilmesini ve elektronik dokümanın bütünlüğünün kontrolünü mümkün kılar. Sayısal İmza inkâr edilemez özelliktedir (Non-repudiation).

Sayısal imza, imzalanacak metin ve imzalayacak kişinin gizli anahtarı kullanılarak elde edilen bir dizi karakterden oluşur. Elle atılan imzanın elektronik ortamdaki karşılığıdır. Sayısal imza, doğru şekilde kullanıldığında, mesajın bütünlüğünün korunmasını, kaynağın doğruluğunun ispatlanmasını ve reddedilemez olmasını sağlar.

Sayısal İmzanın İşleyişi

Sayısal imzanın nasıl işlediğini anlamak için yeni bir kriptografik algoritmadan, özet fonksiyonundan (hash function) bahsetmek gerekir. Asimetrik (açık anahtarlı) şifreleme yöntemleri şifreleme ve şifre çözme için farklı anahtarlar, simetrik (gizli anahtarlı) şifreleme yöntemleri ise iki işlem için de aynı anahtarı kullanır. Özet fonksiyonları ise sadece şifreler. Özet fonksiyonu bir mesajın 16 veya 20 bitlik parmak izini çıkarır. Belli bir mesaj aynı özet algoritması kullanıldığında, aynı mesaj özetini verir. Eğer iyi bir özet fonksiyonu kullanılıyorsa, mesajda yapılan tek bitlik bir değişim bile mesaj özetinin değişmesine sebep olur. Özet fonksiyonu kullanarak, kimlik denetimi amacıyla gizli anahtarla bütün mesajı şifrelemek zorunluluğu ortadan kalkar. Özet fonksiyonları verilen mesajı şifreler, ancak bunun geri dönüşü yoktur, yani eldeki mesaj özeti kullanılarak orijinal mesaj elde edilemez.

Bir mesajı imzalamak, öncelikle mesajın, özet fonksiyonundan geçirerek özetini çıkarmak ve çıkan özeti şifrelemek anlamına gelir.

Okumaya devam et

Açık Anahtarlı Kriptografi Asimetrik Anahtarlı Kriptografi olarak da adlandırılır. Açık Anahtarlı Kriptografi tek anahtar kullanan simetrik şifreleme algoritmalarının yerine iki ayrı anahtarın asimetrik kullanımını öngörür. Bu sistemde her bir kişi iki ayrı anahtar edinir. Bu anahtarlardan bir kamusal anahtar(public key), diğeri ise, özel anahtar(private key) olarak adlandırılır. Açık anahtar kişinin şifreli iletişim kuracağı kişilere iletilir yani herkesin erişimine açıktır, gizli anahtar ise sadece sahibinin erişebileceği şekilde saklanmalıdır. Bu anahtarlar biribirine matematiksel bir ilişkiyle bağlanmıştır, fakat anahtarlardan birini kullanarak diğerini bulmak çok zor hatta imkânsızdır.

Şifreleme deyince akla iki temel tehditin ortadan kaldırılması gelmektedir. Bunlardan bir tanesi ağ üzerinden gönderilen mesajın şifreli olarak gitmesi, bu şekilde mesajı sadece alıcı ve gönderenin görebilmesidir (şifreleme/deşifreleme). Diğeri ise alıcının mesajı gönderen kişinin gönderdiğinden emin olması, yani alıcının mesajın yolda değiştirilmediğinden ve gönderen kişinin sahte olmadığından emin olmasıdır. Gizli Anahtarlı şifreleme yönteminde güvenli anahtar yönetimi sağlamada problem yaşanır. Bunda şifreleme ve deşifreleme için gizli anahtarı, iletişim kuracak kişiler ya birbirlerine güvenli olduğuna inandıklarına bir iletim kanalıyla alacaklar ya da bir anahtar dağıtım merkezinden faydalanmak zorunda kalacaklar. Açık Anahtarlı şifreleme sisteminde bu gizli anahtarı tutma durumu ortadan kalkmıştır. Bütün iletişim sadece açık anahtarları gerektirir, gizli anahtarlar ne iletilir ne de paylaşılır, sadece şifrelenmiş veriyi çözme işinde kullanılır. Bu sistemde kaygı duyulucak tek nokta açık anahtarı kullanacak kişinin ve anahtar sahibinin doğru şekilde eşleştirilmesidir. Açık anahtarlı kriptografi sadece şifreleme ve deşifrelem işinde değil, kimlik denetimi (sayısal imza) ve daha birçok teknik için kullanılır.

Okumaya devam et

Gizli anahtarlı kriptografi, simetrik kriptografi ya da tek anahtarlı kriptografi olarak da adlandırılır. Tek bir anahtarın hem şifreleme hem de şifre çözme amacıyla kullanıldığı daha geleneksel bir yöntemdir. Simetrik anahtarlamada genel olarak basit şifreleme algoritmaları kullanılmaktadır. Bu tip anahtarlamada, aynı anahtar hem gönderen kişide, hem de alan kişide bulunmalıdır. Bu şekilde şifrelenmiş veri ağdan geçerken bir başkası tarafından elde edilip okunmak istendiğinde, kişi anahtara sahip değilse anlaşılamaz.

Gizli anahtarlı kriptografi sadece şifreleme değil, kimlik denetimiyle de ilgilenir. Kimlik denetiminde kullanılan yöntemlerden biri MAC (message authentication codes) ‘tir. MAC’lar, sayısal imza ile benzer amaçlarla kullanılır. Ancak burada kimlik denetimi için çift anahtarlı kriptografi yerine tek anahtarlı kriptografi, yani sadece üzerinde anlaşılan ortak anahtar kullanılır. Yani bu şekilde kimlik denetimini sadece istenilen kullanıcı yapabilir; sayısal imzada olduğu gibi gönderenin açık anahtarına sahip herhangi birinin imzayı doğrulayabilmesi gibi bir durum söz konusu değildir.

Gizli anahtarlı kriptografide temel problem, göndericinin ve alıcının, üçüncü bir kişinin eline geçmesini engelleyerek ortak bir anahtar üzerinde anlaşmalarıdır. Bu iki tarafın dinlenme korkusu duymadan iletişim kurmasını sağlayacak bir yöntem gerektirir. Gizli Anahtarlı şifrelemede amaç şifrelemede kullanılan iki kullanıcınında anlaştığı anahtarın istenmeyen kişilerin eline geçmesini engellemektir. Anahtarların üretilmesi, iletilmesi ve saklanması anahtar yönetimi olarak bilinir. Güvenli anahtarlı yapılarda, genelde güvenli anahtar yönetimi sağlamada problem yaşanır.

Anahtar Anlaşma Protokolü, tek anahtarlı yapılarda iki tarafın gizli anahtar üzerinde anlaşması gereken durumlarda kullanılır. Bu protokoller ortam güvenli olmasa da, daha önceden üzerinde anlaşılmış anahtara gerek duymaksızın tarafların güvenli bir şekilde gizli anahtar üzerinde anlaşması sağlanır. Bir benzetme yapacak olursak, Gizli Anahtar Kriptografisi şifresi fabrikada sabitleştirilmiş bir kasaya; Gizli Anahtar Anlaşmalı şifreler ise şifresi sahibi tarafından değiştirilebilen daha gelişmiş kasalara benzetilebilir.

Gizli Anahtarlı Kriptografi ile haberleşmenin nasıl olduğunu inceleyelim:

Okumaya devam et