İzleyiciler

20 Eylül 2008 Cumartesi

Simetrik Kriptolama ve kullanım alanları

Şu sıralar Emre'nin tavsiye ettiği Ağ güvenliği adlı bir kitabı okumaktayım. Şimdiye kadar okuduklarım bana baya bir ilgi çekici geldi o yüzden öğrendiklerimi sizlerle paylaşmak istedim. Kriptografik fonksiyon çeşitleri 3 ana başlık altında gruplandırılabilir. Bunlar;


1-Secret Key

2-Public Key

3-Hash


1-Secret Key Kriptografi

Bu kriptolama yönteminde sadece bir adet anahtar kullanılır. Yani, şifrelenmek istenen veri, anahtar ile şifrelenir ve ortaya yine şifrelemek istediğimiz veri boyutunda şifreli bir veri ortaya çıkar. Şifre çözümünde ise yine aynı anahtar ile şifrelenmiş veri çözümlenerek veri elde edilir.


(Düz metin,anahtar)-----------------Şifreleme------>Şifrelenmiş metin

(Şifrelenmiş metin,anahtar)-----Deşifreleme----->Deşifrelenmiş metin


Secret Key kriptografi aynı zamanda konvansiyonel kriptografi ya da simetrik kriptografi olarak da bilinmektedir.


Secret Key Kriptografinin güvenlikde kullanım yöntemleri

a)Güvenli olmayan kanallar üzerinden veri iletimi

Veriyi gönderirken hattın dinlenmesini engellemek neredeyse imkansızdır. Örneğin,bir telefon konuşmasına gizlice bağlantı kurulabilir Ya da bir ağ üzerinde gönderilen veri yetkisi olmayan istasyonlar tarafından alınabilir.

Fakat eğer ki güvenli iletişim yapmak isteyen 2(yada daha fazla) kişi ortak bir anahtarı kullanırsa, hattın yine dinlenilmesi olasılığına rağmen veri güvenli bir şekilde taşınır. Gönderici iletmek istediği veriyi ortak anahtar ile şifreler ve alıcı bu anahtar ile veriyi deşifre eder. Sistemi dinleyen kişi olsa dahi ancak şifrelenmiş veriyi elde etmiş olur. Bu kriptografinin klasik kullanımıdır.

b)Güvenli olmayan medya aygıtlarında güvenli veri depolama

Eğer kimsenin görmesini istemediğiniz bir bilgiyi güvenli bir şekilde saklayacaksanız bilgiyi, anahtarı hatırladığınız müddetçe bir anahtar ile şifreleyerek saklamış olursunuz. Elbette, anahtarı unutmak veriye elveda demenize eşdeğerdir bu yüzden anahtar titizlikle saklanmalıdır.

c)Doğrulama

Hani ajan filmlerinde vardır ya hep,2 ajan birbirlerini tanıması için gizli birkaç cümle ya da parola verilir ve bu şekilde birbirlerini doğruladıktan sonra iletişim başlar. Fakat 3.kişinin şifreyi öğrenmesi sonucu büyük bir güvenlik sorunu meydana gelir. Bu sorunu Secret key kriptografi yöntemiyle şu şekilde çözebiliriz;Örneğin Egemen ve Şükrü bir adet ortak anahtara(Bu anahtarın adı K olsun) sahipler ve birbirlerinin gerçek Egemen ve Şükrü olduklarından emin olmak istiyorlar. Egemen ve Şükrü rastgele bir sayı üretirler(Egemen'in ürettiği numara Re,Şükrü'nünki Rş olsun) ve doğrulama aşağıdaki gibi devam eder;


Egemen ______________________Şükrü

Re---------------------------------------------->

<-----------------------------------------------Re, K anahtarı ile şifrelenir

<-----------------------------------------------Rş

Rş, K anahtarı ile şifrelenir------------------------------------------------->


Yukardaki şemada da görüldüğü üzere,Egemen karşıdaki kişinin Şükrü olduğunu anlama için Re'yi Şükrü'ye gönderiyor. Şükrü Re'yi alıp ortak olan K anahtarı ile şifreleyip geri gönderiyor. Egemen, Şükrü'nün gönderdiği şifrelenmiş veriyi anahtar ile açıp Re'ye eşit olup olmadığını kontrol eder. Şükrü de aynı şekilde karşıdaki kişinin Egemen olup olmadığını anlayabilir. Fakat akıllara şöyle bir fikir gelebilir;Bu iletişimi dinleyen 3.bir kişi olursa iletişim güvensiz olmaz mı?Bu sorun şu şekilde çözümlenebilir;Örneğin,yine aynı örnek üzerinden diyelim ki Egemen Şükrü ile birbirlerini doğrulamak isterlerken Kutay bu iletişimi dinliyor ve Şükrü'ye kendini Egemen olarak tanıtmaya çalışıyor ve bunun için de Şükrü'ye bir rastgele sayı ya da bir değer göndererek kendisi için şifrelemesini istiyor ve eline K anahtarı ile şifrelenmiş bir veriler elde ediyor. Bu durumda Kutay'ın K anahtarını elde etme gibi bir şansı doğduğu için anahtarın çok uzun olması önem taşıyor.


d)Sağlamlık Kontrolü

Bir Secret Key şemasından gönderilen mesajla ilgili sabit uzunlukta kriptografik bir checksum üretilebilir. Peki nedir bu checksum?Sıradan bir cheksum bir mesajın bozulmasına karşı koruyan bir yöntemdir. Örneğin, Egemen Şükrü'ye bilgi yolluyacak. Bunun için Egemen gönderdiği mesajın başına gönderdiği bilginin byte uzunluklarını da beraberinde gönderir. Şükrü aldığı mesajı 2'ye böler. İlki bildiğimiz checksum, 2.si ise verinin kendisidir. Verinin byte uzunluklarını toplar ve checksum değeriyle karşılaştırılır. Doğruysa veri bozulmadan gelmiş demektir. Checksum en basit şekilde bu biçimde çalışır. Fakat, Kutay yine araya girip mesajda bazı değişiklikler yapabilir. Mesajda yapılan bu değişikliği engellemek için, bir secret checksum algoritması gereklidir, öyle ki Kutay algoritmayı bilmediği için mesaj için doğru checksum'ı hesaplayamaz. Mesajı bir anahtar ile şifreleme sonucunda algoritma sabit uzunlukta bir adet doğrulama kodu(MAC-Message Authentication Code) üretir. Kutay mesajı değiştirmeye kalkışması anahtarı bilmesi gerekir ama bilmediğinden dolayı MAC'i tahmin etmeye çalışır ama tipik bir MAC 48 bit uzunluğunda olduğu için tahmin etme olasılığı 280 trilyonda birdir.

Hiç yorum yok: