|
Günümüzde en sık kullanılan şifreleyerek veri
gönderme yöntemi olduğunu düşündüğüm Public Key
Infrastructure olayına bir miktar dokundurayım
dedim, dokundurayım ki IPSEC, SSL vs gibi
devamlı duyduğumuz ama tam olarak nasıl
çalıştığını bilmediğimiz ya da zor olduğunu
düşünüp pek te takılmadığımız kavramları da bir
nebze yurdum insanına zerketmiş olalım.
Kemerlerinizi çözün , gevşeyin, merak etmeyin
acımayacak. :-)
Şimdi Public Key Infrastructure ki ben
bundan sonra tembelliğimden dolayı ona PKI
diyeceğim, veriyi şifrelemek için farklı
anahtar, çözmek için de farklı anahtar kullansak
ya , mantığıyla doğmuş olan bir yöntem. İki
çeşit uygulanıyor, 1. si Public Key Encryption,
yani şifrele-gönder. 2.si ise Public Key
Authentication, yani imzala-gönder.
1. yöntem yani Public Key Encryption çok
basit bir mantıkla çalışır, bir örnek ile
anlatayım bakalım. ÖRNEK1: Ayşe , Bora'ya aşk
mektubu gönderecek ama başkalarının okumasını
istemiyor (bkz. şekil 1)
Şekil 1 :
Ayşe'nin 2 adet anahtarı olduğunu düşünün,
biri şifreleme yapıyor yani Public Key, diğeri
ise Ayşe'nin Public Key'i ile şifrelenmiş veriyi
çözüyor yani Private Key. Hazır düşünmüşken
Bora'nın da kendine özel aynı Ayşe'ninki gibi 2
adet anahtarı olduğunu düşünün (yani 1 tane
Private , 1 tane de Public Key'i var). Bu
durumda Ayşe'nin Public Key'i ile şifrelenmiş
verinin sadece Ayşe'nin Private Key'i ile,
Bora'nın Public Key'i ile şifrelenmiş verinin
ise sadece Bora'nın Private Key'i ile
çözülebildiğini de söylemeden geçmeyelim ki
kafalarda bir miktar baş dönmesi yaratmayalım.
Öyle ise Ayşe, Bora'ya mektup göndereceği zaman
Bora'dan Bora'nın Public Key'ini istese ve
göndereceği veriyi (aşk mektubunu yani) Bora'nın
Public Key'ini kullanarak şifrelese ve Bora'ya
bu şekilde gönderse, Bora da kendisine
şifrelenmiş olarak gelen verinin (yani aşk
mektubunu) kendi Private Key'ini kullanarak
şifresini çözse, güzel olmaz mı. (ZortSIM GSM
reklamına benzedi). Bu durumda şifreleyen
anahtarın (yani Public Key) başkaları tarafından
öğrenilmesi hiç bir şey ifade etmiyor, çünkü bir
kimsenin Public Key'i ile şifrelenen veri sadece
o kimsenin Private Key'i ile çözülebiliyor, o
zaman da Private Key'in önemi artıyor ve adı
gibi Private (özel) olması gerekiyor, yani hiç
kimse kendi Private Key'ini yabancılara
söylememeli. Hemen örneğime devam ediym. (bkz
şekil 2)

Ayşe Bora'nın Public Key'ini kullanarak
verisini şifreler ve Boraya gönderir(yani önce
Ayşe Bora'dan Bora'nın Public Key'ini ister Bora
da Ayşeye bunu söyler) , Bora da kendi Private
Key'ini kullanarak Ayşe'nin gönderdiği şifreli
veriyi çözer ve okur. Buna da Public Key
Encryption denir. Daha çok internet üzerinde
kullanılan IPSEC (IP Security) ve SSL (Secure
Socket Layer) protokolleri genelde bu mantıkla
çalışırlar. Mesela ben bir Web sitesi ile SSL
protokolünü kullanarak bağlantı kurduysam
veriler Public Key Encryption yöntemiyle
şifrelenerek aktarılır. Keza IPSEC'te de durum
böyledir. IPSEC ile SSL arasındaki temel fark
ise SSL in Web Sitesi ile kullanıcı arasında
HTTP protokolü kullanılarak akan veriyi
şifrelemesi, IPSEC'in ise genelde herhangi 2
veya daha fazla kullanıcı ve/veya server
arasındaki tüm veri iletimini (sadece HTTP diil)
şifrelemesi.
2. yöntem ise Public Key Authentication,
burda durum biraz farklılaşıyor, burda yine
Private Key, Public Key çifti kullanılıyor fakat
şifreleme yapılmıyor. Yine konu mankenimiz Ayşe
diğer konu mankeni Bora'ya veri göndermek
istesin ama Bora'nın bu veriyi gönderenin Ayşe
olduğuna emin olması gereksin. Bu durumda da
Ayşe , Bora'ya göndereceği veriyi kendi
(Ayşe'nin) Private Key'i ile dijital olarak
imzalıyor ve Bora'ya gönderiyor, Bora veriyi
aldıktan sonra Ayşe'nin Public Key'ini
kullanarak , Ayşe'nin kendi Private Key'i ile
attığı dijital imzayı kontrol ediyor.

Ayşe Bora'ya göndereceği veriyi kendi Private
Key'ini kullanarak imzalar ve öyle gönderir,
Bora'da Ayşenin gönderdiği ve Ayşe'nin Private
Key'i ile imzalanmış olan verideki imzayı
Ayşe'nin Public Key'ini kullanarak kontrol eder.
Buna da Public Key Authentication denir.
Bir kere şunu unutmayın bu Key'lerin
kullanımı işletim sistemi ve/veya kullandığınız
program tarafından gerçekleştirilmektedir sizin
elle bir şey yapmanıza gerek yoktur.Pekiiii ,
çalışma mantığı hiç te fena diil de bu Key'ler
(anahtarlar) nerde tutuluyor, herkesin 2 adet
Key'i var mı, mars'ta hayat var mı, nolcek bu
memleketin hali (anaaamm yavaştan yatıp uyusam
mı ne) . Public ve Private Key'ler Sertifika
dediğimiz (Certificate) paketlerin içinde
tutulur ve bu sertifikalar da Certification
Authority (CA) Server'lar tarafından dağıtılır
(Örnek: VeriSign, GlobalSign vs) Eğer 2 kişi
aynı CA'den birer sertifika almamış ise Public
Key Infrastructure ellerinde patlar.Internet
üzerinde hizmet veren ve herkes tarafından
güvenilip kullanılan CA'lere Trusted CA denir.
İsteyen herkes sırf kendi kullanımı veya şirket
içi kullanım için Untrusted CA'ler kurup
kullanıcılara sertifika dağıtım işlemini
gerçekleştirebilirler, böylece her kullanıcının
1 adet Private , 1 adet te Public Key'i olmuş
olur.
Public Key Infrastructure hakkinda daha
anlatilacak çok şey var aslında ama göz
kapaklarımın üzerindeki kum torbaları daha bi
ağırlaştı sanki, hemen yatay pozisyona geçmek
amacıyla ortopedik yatağıma doğru hamle
yapıyorum, horrrzzzz............
|