Teknolojinin bu kadar gelişmediği dönemlerde insanlar birbirlerine mektuplar yazar ve bu şekilde iletişim kurarlardı. Mektubu alan gelen mektubun gerçekten beklediği kişiden geldiğini anlamak isterdi. Bunun için mektubu gönderen taraf mektuba bir işaret bırakırdı. Bu işaret imzası olabilirdi, kokusu olabilirdi ya da aralarındaki şifreli bir mesajı bırakabilirdi. Devir değişti mektupların yerini elektronik veri iletileri aldı. Peki bu e-iletilerin kimlik doğrulama işlemini nasıl yağacağız sorusunun yanıtı ise Elektronik İmza ya da Sayısal İmza’dır. Özellikle e-ticaretin arttığı dönemlerde iletilerin doğruluğu ve teyidi için elektronik imzalar çok önemli olmaya başlamıştır.
özellikleri
- Integrity (Verinin Bütünlüğü): Bir veri yollanıldıktan sonra değiştirilebilir. Nakit transferi yapan bir işlem olduğunu düşünelim; veri gönderildikten sonra veri değiştirilip bana gelen veri bu değildi tarzı dolandırıcılıklar olmasını kimse istemez. Bu tarz durumlara e-imzalar çözüm getirmektedir. E-imzalar veride history log oluşturabilmektedir. Yani veri değiştirildiğinde artık history log(Aslında buna Hash Fonksiyonu denilir ) değişeceğinden verinin geçerliliği kalmaz ve yukarıda anlattığım dolandırıcılıkları ortadan kaldırır.
- Non-repudiation (Ben atmadım diyememe 🙂 ): e-imzaların bu özelliği sayesinde mesaj gönderen taraf ya da alan taraf birbirlerine inkar edemez. Bir taraf ben almadım diğer taraf ben yollamadım diyemez. Yani kısacası kuzenim yazmış dolandırıcılığını ortadan kaldıran bir özelliktir 🙂
- HandShake – Authentication(Kimlik Doğrulama): İki farklı kurum haberleşmesinde kurumlar gelen mesajlar üzerinden birbirinden emin olmak ister. Yani mesajı alan gelen mesajın gerçekten beklediği kişiden mi geldiğini bilmek ister. Handshake(el sıkışma) işlemiyle bu sorunda ortadan kalkar. Bunu şöyle örnekleyebiliriz eski mektuplara insanların kokusunu bırakması gibi. Mektubu alan kişi kokuyu tanır ve gönül rahatlığı ile mektubu okumaya başlayabilir.
ÇALIŞMA MANTIĞI
Güvenli bir iletim iki bileşenden oluşur. İlk bileşen veriyi şifrelemeye yaracak şifreleme(kriptograf) bileşeni, diğeri ise şifrelenmiş veriyi açabilecek anahtar(key) bileşeni. Kriptograf bileşeni sayesinde iletiyi alan kimse eğer elinde anahtar yoksa bu veriyi anlayamaz. Bu sayede iletimin güvenliği sağlanmış olacaktır. Peki bu şifreleme ve şifreyi çözme yöntemleri nelerdir ?
Bir üst paragrafta anlattığım şifrele-çöz mantığı 2 farklı yöntemle yapılabilir.
Simetrik Anahtar Algoritmaları : Hem şifrelemenin hem de şifre çözme işleminin aynı/benzer anahtar yardımıyla yapıldığı algoritmalardır. Bu durum aslında şöyledir mesajı gönderen taraf ve alan taraf aynı şifreleme bilgilerine sahiptir. Her iki tarafında şifreleme yöntemini bilmesine gerek. Örnek vermek bir evde kasa olduğunu düşünelim. Bir kişi diğer kişiye para vermek istiyorsa bu kasayı kendi anahtarı ile açmalı ve içine parayı koymalı. Parayı almak isteyen ise aynı anahtarla aynı kasayı açıp parayı almalı. İşte tam olarak bu algoritmalara simetrik anahtar algoritmaları denilmektedir. Bu algoritmaların en bilinirleri IDEA, RC4’tür.
Asimetrik Anahtar Algoritmaları – Açık Anahtarlı Şifreleme: Simetrik anahtara göre farklıdır. Simetrik anahtarda tek bir şifre varken burada 2 şifreden söz ederiz. Bunlar public(açık) ve private(gizli) şifrelerdir. Bu anahtarlardan bir tanesiyle şifreleme yapılırken diğeriyle de şifre çözme işlemi gerçekleştirilir. Bu iki anahtar çifti matematiksel olarak birbirleriyle bağlantılıdır. Public key herkesle paylaşılabilir. Dikkat edilmesi gereken husus public keyden private keye ulaşılamaması olmalıdır. Sadi Evren Şeker blog yazısında açık anahtarla şifrelemeyi posta kutusu örneği ile açıklamış. Herkes bir posta kutusuna mektup bırakabilir ancak o posta kutusunu sadece sahibi açabilir. Açık anahtarla şifreleme metodu sayısal imzalarda sıkça kullanılmaktadır. Mesajın kimden geldiğini bulmakta ve mesajın yanlış kişiler tarafından okunmasını engellemeye yarar. En sık kullanılan uygulaması ise RSA’dir. XML imzalama yazımda bu yöntemin örneklerini görebilirsiniz.