Elektronik Posta Güvenliði için PGP Kullanýmý

Albert Levi ve M. Ufuk Çaðlayan
Bilgisayar Mühendisliði Bölümü
Boðaziçi Üniversitesi
Bebek Ýstanbul 80815
Tel : (212) 263 1540/2125 ve 1698, Faks : (212) 287 2461
E-posta : levi@boun.edu.tr, caglayan@boun.edu.tr

Giriþ
Internet'te Genel Güvenlik Sorunlarý
E-posta uygulamalarýnýn güvenlik sorunlarý
PGP (Pretty Good Privacy)
Þifreleme ve Ýmzalama
Anahtar Ýþlemleri
PGP ne Kadar Güvenli?
PGP ile Ýlgili Kaynaklar

Özet

Internet'in geniþ çevrelerce yaygýn olarak kullanýlmasý birtakým güvenlik sorunlarýný da beraberinde getirmiþtir. Bu bildiride, Internet'in genel güvenlik sorunlarýnýn yanýsýra özellikle E-posta uygulamalarýndaki güvenlik sorunlarýndan bahsedilmiþ ve çözüm olarak yaygýn olarak kullanýlan PGP yazýlýmýnýn temel iþlev ve özellikleri anlatýlmýþtýr.

Giriþ

Son yýlarda Internet kullanýmýnýn yaygýnlaþmasý birtakým güvenlik sorunlarýný [4,9] da beraberinde getirmiþtir. Bunun baþlýca sebepleri, Internet'in açýk bir sistem olmasý ve üzerinde dolaþan verinin gaspedilmeye uygun olmasýdýr. Deðiþik Internet uygulamalarýnýn deðiþik güvenlik isterleri olabilir. Örneðin, Elektronik posta (E-posta) uygulamasýnda bilgi gizliliði önemli iken WWW uygulamalarýnda bilginin gizli olmasýnýn bir anlamý yoktur.

Bu bildiride öncelikle Internet'in genel güvenlik sorunlarýndan bahsedilecektir. Daha sonra E-posta uygulamalarýndaki güvenlik sorunlarý ve genel çözüm yaklaþýmlarý verilecektir. En sonda ise PGP (Pretty Good Privacy) E-posta güvenlik yazýlýmýnýn genel özellikleri anlatýlacaktýr.

Internet'te Genel Güvenlik Sorunlarý

Internet'te güvenlik denince ilk olarak yetkisiz kiþilerin paylaþýmlý bilgisayarlara sýzýp bilgi hýrsýzlýðý yapmasý veya bilgilere zarar vermesi akla gelmektedir. Gerçekten de en ciddi zararlar bu þekilde verilmektedir. Ancak buradaki sorun, iletiþim aðýndan çok kullanýlan uygulama katmaný yazýlýmlarýnýn (telnet, ftp, http, sendmail vb.) ve sunucu (server) tarafýndaki iþletim sisteminin tasarým hatalarýdýr. Bu tür güvenlik sorunlarý "uzaktan eriþim" sorunlarý olarak adlandýrýlýr. Günümüzde bu sorunlarýn çözümü olarak firewall'lar yaygýn olarak kullanýlmaktadýr. Firewall iç aðý dýþ aðdan (Internet'ten) ayýran bir duvar olarak düþünülebilir. Temel iþlevi güvenlik gediði olan uygulamalara ait veri paketlerinin iç aða ulaþmasýný engellemektir. Böylelikle, iyi veya kötü niyetli olduðuna bakýlmaksýzýn hiç kimse að dýþýndan að içine izin verilen uygulamalar dýþýndaki uygulamalar için ulaþamayacaktýr. Baþka bir deyiþle kurunun yanýnda yaþ da yanacaktýr.

Firewall'lar kolay uygulanabilirliði yüzünden yaygýn olarak kullanýlmaktadýr. Ancak "ya hep ya hiç" mantýðýndaki bu çözümün kesin çözüm olmadýðý da açýktýr. Çoðu kuruluþlar sadece kendi izin verdikleri kiþilerin kendilerine ulaþmasýna olanak tanýyan sistemler kurmak istemektedir. Bu da ancak, kimlik kanýtlama (authentication) özelliði olan sistemlerle mümkün olabilmektedir. Kimlik kanýtlama sistemleri þifrelemeye dayalý sistemlerdir. Ýstemci ile sunucu bir protokolle olarak aralarýnda haberleþerek ortak bir sýrrý paylaþýrlar. Böylelikle, birbirlerinin kimliklerinden emin olurlar. Açýk kanallardan giden bilginin yetkisiz insanlar tarafýndan öðrenilmesini engellemek için þifreleme yöntemleri kullanýlýr. Bu þekilde insanlarýn birbirlerinin kimliklerini kullanmasý önlenir. Bunun dýþýnda, iletiþimde bulunan taraflar ortak bir oturum anahtarý üzerinde anlaþarak aralarýnda ilettikleri veriyi þifrelerler. MIT tarafýndan geliþtirilen Kerberos [1] yaygýn olarak kullanýlan özel anahtar (private key) tabanlý bir kimlik kanýtlama sistemidir. Bunun dýþýnda açýk anahtar (public key) tabanlý kimlik kanýtlama sistemleri de vardýr (SecureID, SSL, SET, vb.). Açýk anahtar þifreleme algoritmalarý yapýlarýndan dolayý yavaþtýrlar, fakat kýrýlmalarý güç ve anahtar daðýtým sorunu da özel anahtar tabanlý sistemlere göre daha azdýr. Bankacýlýk, elektronik alýþveriþ ve elektronik ödeme gibi paraya dayalý Internet uygulamalarýnda daha güvenli olduðu için açýk anahtar tabanlý sistemler tercih edilmektedir. Ancak, performans düþüklüðü bu açýk anahtar tabanlý sistemlerin gerçek zamanlý uygulamalardaki þansýný azaltmaktadýr.

Genel olarak að güvenliðinden bahsedildi-ðinde akla gelen diðer bir sorun da açýk kanallarda dolaþan bilginin gizliliði ve bütünlüðüdür. Bilgi gizliliði, verinin alýcýsý dýþýnda hiç kimse tarafýndan okunamamasý, bilgi bütünlüðü ise, verinin deðiþmeden alýcýsýna ulaþmasý anlamýna gelmektedir. Kimlik kanýtlama sistemleri oluþturduklarý oturum anahtarlarý ile bu sorunlarý çözebilmektedirler. Ýlk bakýþta pek önemsenmeyen ama bazý uygulamalarda elzem olan diðer bir güvenlik sorunu ise inkar edememe (non-repudiation) sorunudur. Özellikle doðrudan parayla ilgili uygulamalarda ortaya çýkan bu sorun, gönderenin gönderdiði bir mesajý daha sonra inkar edememesi, etse bile alýcýnýn gönderenin mesajý gönderdiðini üçüncü kiþilere ispat edebilmesi zorunluluðundan kaynaklanmaktadýr. Kerberos gibi uzaktan eriþim için kullanýlan özel anahtar tabanlý sistemlerin inkar edememeyi saðlamasý ortak anahtar kavramýndan dolayý imkansýzdýr. Çünkü, gönderici gönderdiði bir mesajýn alýcý tarafýndan uydurulduðunu iddia edebilir, alýcý da ayný anahtarý bildiði için bu durumun aksini ispatlayamaz. Açýk anahtar tabanlý sistemlerde ise þifreleme anahtarý ile þifreyi çözme anahtarý farklý anahtarlar olduðundan inkar edememe saðlanabilir. Bunun dataylarý bir sonraki kýsýmda verilecektir.

E-posta uygulamalarýnýn güvenlik sorunlarý

Gönderilen mesajýn içeriðine ve iletiþim uçlarýnýn isteðine baðlý olmakla beraber, E-posta uygulamalarýnda bir önceki kýsýmda bahsi geçen kimlik kanýtlama, bilgi gizliliði, bilgi bütünlüðü ve inkar edememe sorunlarýnýn hepsinin varlýðýndan bahsedilebilir. Kimlik kanýtlama, gönderenin ve alýcýnýn E-posta adreslerinin gerçekten de bahsi geçen kiþilere ait olup olmadýðý ile ilgilidir ve iki taraf da birbirlerinin gerçek kimliklerinden emin olmak isteyebilir. Ýnkar edememe ise alýcýnýn gönderenin kimliðini gerektiðinde üçüncü bir kiþiye E-posta mesajýný göstererek ispatlayabilmesidir. Bu sorunu çözen bir sistemde kimse baþkasýnýn adýný kullanarak E-posta gönderemeyecektir. Bilgi gizliliði, gönderilen E-posta mesajýnýn sadece alýcý tarafýndan okunabilmesinin saðlanmasý sorunudur. Bilgi bütünlüðü ise E-posta mesajýnýn deðiþmeden alýcýsýna ulaþmasý ile ilgilidir.

Ýnkar edememe ve dolayýsýyla baþkasýnýn adýný kullanarak E-posta mesajý gönderememe özelliði, ancak açýk anahtar tabanlý þifreleme algoritmalarý kullanan sayýsal imzalar (digital signatures) destekli sistemler ile mümkündür. Açýk anahtar tabanlý þifreleme algoritmalarýnda þifreleme anahtarý (açýk anahtar) ve þifre çözme anahtarý (gizli anahtar) farklýdýr ve þifreleme anahtarý herkese açýktýr. Ancak, þifreleme anahtarýndan þifreyi çözme anahtarýný elde etmek pratik olarak imkansýzdýr. Bundan baþka, bu iki anahtar birbirlerinin tersi iþlemler yaparlar. Birinin kodladýðýný diðeri çözer. Bu özelliði sayesinde açýk anahtar tabanlý sistemler hem mesaj gizleme, hem de sayýsal imzalama yapabilmektedir. Bir mesaj, alýcýnýn açýk anahtarý (public key) ile kodlandýðýnda, ancak alýcýnýn gizli anahtarý (secret key) ile açýlabileceðinden ve bu anahtara sadece alýcý sahip olduðundan, esas mesajý sadece alýcý okuyabilecektir. O yüzden, bu kodlama bilgiyi gizleyen bir þifreleme iþlemidir. Böylelikle, bilgi gizleme ve bilgi bütünlüðü sorunlarý çözümlenebilir. Öte yandan, bir mesajýn gönderenin gizli anahtarý ile kodlandýðýný düþünelim. Sözkonusu gizli anahtarý sadece gönderen bildiðinden, bu kodlama islemi o mesaja gönderenin attýðý bir sayýsal imza olarak deðerlendirilebilir. Ýmzanýn kontrolü ise kodlanmýþ mesajýn gönderenin açýk anahtarý ile açýlmasýndan baþka bir þey deðildir. Açýk anahtar da herkes tarafýndan bilindiðinden, herkes sayýsal imza kontrolü yapabilmektedir. Böylelikle, inkar edememe, baþkasýnýn yerine mesaj gönde-rememe ve gönderenin alýcýya kimliðini kanýtlamasý sorunlarý çözülebilmektedir.

Geriye kalan tek sorun alýcýnýn gönderene kimliðini kanýtlamasý sorunudur. Baþka bir deyiþle, gönderenin mesajý, alýcýya ait olduðuna emin olduðu bir açýk anahtarla þifrelemesi gerekir. Aksi halde alýcý þifreyi çözemeyecektir ve doðru olmayan açýk anahtarýn gizli anahtarýný bilen fakat gerçekte istenilen alýcý olmayan biri gizli mesajý okuyabilecektir. Benzer bir durum sayýsal imza doðrulanmasýnda da yaþanabilir. Eðer alýcý yanlýþ bir açýk anahtar biliyorsa, sayýsal imzayý doðrulayamayacaktýr. O yüzden, hem alýcýnýn hem de gönderenin kullandýklarý açýk anahtarlarýn doðruluðundan emin olmalarý gerekir. Bunun için de en iyi yöntem açýk anahtarlarý sahibinden doðrudan almaktýr. Bunun mümkün olmadýðý durumlarda kefalet (certification) mekanizmalarý kullanýlabilir. Kefalet, bir açýk anahtar, açýk anahtarýn sahibininin kimliði ve E-posta adresinden oluþan bir veriye herhangi birinin koyduðu sayýsal imzadýr. Eðer bir baþkasý kefaleti imzalayan insana güveniyorsa, kefaletin içindeki açýk anahtara ve açýk anahtarýn sahibininin kimliðine de güvenecektir.

PGP (Pretty Good Privacy), yukarýda sözü edilen çözümleri içeren bir mesaj þifreleme ve sayýsal imzalama programýdýr. PGP ayný zamanda açýk ve gizli anahtarlarla ilgili iþlemleri de yapabilmektedir. Sonraki kýsýmda PGP'nin genel yapýsý ve iþlevlerinden bahsedilecektir.

PGP (Pretty Good Privacy)

PGP [2,3,4] tamamen Phil Zimmerman'ýn kiþisel çabalarý ile oluþturulmuþ bir yazýlýmdýr. Aslýnda temel olarak bakýldýðýnda, dosya bazýnda iþlem yapan bir þifreleme ve sayýsal imzalama programýdýr. E-posta gönderme özelliði yoktur. Sadece E-posta olarak gönderilebilir halde dosyalar yaratýr. Deðiþik platformlarda (MS-DOS, UNIX, Macintosh, Atari, Amiga, OS/2, VMS) çalýþabilmektedir.

PGP þu anda dünyada kullanýlan en yaygýn E-posta þifreleme programýdýr. Ancak, bu geliþim süreci içinde yaratýcýsý Phil Zimmermann'ýn baþýný oldukça aðrýtmýþtýr. PGP güçlü þifreleme algoritmalarý içerdiðin-den, ABD gümrük kurallarýna göre ABD dýþýna çýkartýlmasý yasak bir üründür. Ancak, henüz bilinmeyen (!) bir þekilde ABD dýþýna çýkmýþtýr. Þu anda PGP'nin uluslararasý sürümü ABD ve Kanada dýþýndaki ülkelerde WWW ve FTP sitelerinden daðýtýlmaktadýr. PGP'nin uluslarasý sürümü ile Amerikan sürümü arasýnda iþlevsel hiç bir fark yoktur. Tek fark Amerikan sürümünün hukuki olarak ABD dýþýnda bulunamamasýndan kaynaklanan isim farklýlýðýdýr. Amerikan hükümeti, PGP'nin ABD dýþýna çýkartýlma-sýndan Phil Zimmermann'ý sorumlu tutmuþ ve hakkýnda soruþturma baþlatmýþtý. Ancak, Phil Zimmermann bu olaydan hakkýnda dava açýlmasýný gerektirecek deliller bulunamadý-ðýndan aklandý. PGP'nin nasýl ABD dýþýna çýkartýldýðý ise henüz belirlenemedi. PGP'nin uluslararasý sürümünün ABD ve Kanada dýþýnda kullanýmý kanunidir. Ancak bazý ülkelerin (Ýran, Irak, Çin, Fransa, vs.) þifreleme konusunda birtakým yasaklayýcý düzenlemeleri vardýr.

PGP'nin ticari olamayan kiþiler ve kuruluþlar tarafýndan edinilmesi ve kullanýmý tüm dünyada ücretsizdir. PGP'nin tüm ticari haklarý ViaCrypt adlý bir ABD þirketinindir. O yüzden, ticari kullaným için bu þirketten lisans alýnmasý gereklidir. PGP'nin ABD dýþýna çýkmasý yasak olduðu için ViaCrypt'in ABD dýþýna lisans vermesi de þu anda mümkün gözükmemektedir. PGP, RSA ve IDEA adlý iki patentli þifreleme algoritmasý kullanmaktadýr. RSA'nýn patenti ABD dýþýnda geçerli deðildir. Ancak IDEA'nýn patenti Ascom-Tech AG isimli bir Ýsviçreli þirkete aittir. ABD ve Kanada dýþýndaki ülkelerde, bu þirketten IDEA lisansý alarak ticari olarak PGP'yi kullanmak mümkündür.

PGP emir bazýnda iþlem yapan bir arayüze sahiptir. Orjinal PGP'nin grafik arayüzü yoktur. O yüzden kullanýmý gayet zordur. PGP'nin program kodunun da daðýtýlmasý, Phil Zimmermann'ýn dýþýnda bu konu ile ilgilenen baþka insanlarý PGP uyumlu programlar yazmaya teþvik etmiþtir. Böylelikle, PGP Eudora ve Pine gibi E-posta iþlemleri yapan diðer programlarla entegre edilmiþ ve birtakým Windows ön uçlarý üretilmiþtir. Ancak, bu bildiride orjinal PGP'nin özelliklerinden bahsedilecektir.

PGP mesaj þifreleme ve imzalama özellik-lerinin yanýsýra açýk ve gizli anahtarlarla ilgili iþlemler de yapabilmektedir. Bu özellikler aþaðýda anlatýlacaktýr.

Þifreleme ve Ýmzalama

PGP, temel olarak Rivest, Shamir ve Adleman tarafýndan geliþtirilen RSA [5] açýk anahtar þifreleme algoritmasýna dayanýr. Ancak PGP, RSA'nýn performansýnýn diðer özel anahtar tabanlý þifreleme algoritmalarýna göre düþük olmasý nedeniyle, mesaj þifrelerken IDEA özel anahtar algoritmasýný kullanýr. Bu þifrelemede kullanýlan 128 bitlik anahtar ise RSA kullanýlarak þifrelenir ve mesaj paketinin baþýna eklenir. IDEA'nin kullandýðý 128 bitlik bu oturum anahtarý rasgele yaratýlýr ve sadece bir kere kullanýlýr. Mesaj imzalanýrken ise mesajýn tümü deðil 128 bitlik bir özü (hash) imzalanýr ve bu imza mesaj paketine konur. Öz yaratmak için ise MD5 [6] tek yönlü öz yaratma algoritmasý kullanýlýr. Bu yöntemle elde edilen özden ana mesajý elde etmenin yolu yoktur. Þifreleme ve imza yaratmada gidilen bu yöntem PGP'nin performansýný önemli ölçüde artýrmaktadýr.

PGP'nin baþka bir özelliði ise mesajý þifrele-meden önce ZIP yöntemiyle sýkýþtýrmasýdýr. Bu þekilde, hem saklama alanýndan, hem de bant geniþliðinden tasarruf saðlanmýþ olur. Sýkýþtýrmanýn diðer bir yararý ise harflerin sýklýðýný kullanan þifre çözümleyici ataklara karþý þifreyi koruyabilmesidir.

PGP, þifrelenmiþ mesajý ve sayýsal imzayý ayný pakete koyabildiði gibi ayrý ayrý þifrelenmiþ mesaj ve imza da üretebilmek-tedir. Hatta istenirse sadece mesaj þifreleme veya sadece sayýsal imzalama da yapabilir. Sadece imzalama modunda sýkýþtýrma yapýp yapmamasý kullanýcýya baðlýdýr. Sýkýþtýrma yapýldýðýnda, sadece PGP kullanýcýlarý mesajý açabildiðinden, herkesin okuyabilmesi için haber gruplarýna veya E-posta listelerine gönderilen imzalý E-postalarda mesajýn açýk (þifresiz ve sýkýþtýrmadan) gitmesi tercih edilmektedir. Bu durumda, imza mesajýn sonuna eklenir.

Þifreleme ve sýkýþtýrma sonunda elde edilen dosya ikili (binary) bir dosyadýr ve ikili bir dosyanýn E-posta kanallarýndan mesaj olarak gönderilmesi imkansýzdýr. O yüzden, PGP bu dosyalarý radix 64 çevrimini kullanarak ASCII formatýna çevirir. Ancak, bu çevrim dosyanýn boyunu 1/3 oranýnda artýrýr. Bu çevrim isteðe baðlýdýr, eðer dosya E-posta ile gönderilmeyecekse ASCII formatýna çevril-mesine de gerek yoktur.

PGP deðiþik iþletim sistemlerinde çalýþabilen bir programdýr. Her iþletim sisteminin de text dosyalarý iþleme yöntemi farklýdýr. O yüzden, PGP E-postanýn bir text dosyasý olduðu ve hangi iþletim sisteminden geldiði bilgisini de mesaj paketine ekleyebilmektedir. Bu iþlem isteðe baðlý bir iþlemdir ve sadece text dosya-lar için yapýlmalý, ikili dosyalar için yapýlma-malýdýr.

E-posta haberleþmesinin baþka bir güvenlik tehdidi ise, þifrelenmiþ ve imzalanmýþ bile olsa bir mesajýn Internet dinlenerek kopyalanmasý ve daha sonraki bir zamanda tekrar alýcýya gönderilmesidir. Böyle bir durumda mesajýn üzerindeki þifre ve imza doðru olduðu için, alýcý mesajýn gönderenden geldiðini zannedebilir. Bu sorunu çözmek için imzanýn ve þifrelenmiþ mesajýn baþýna zaman damgalarý (time stamp) konur. Böylelikle, alýcý mesajýn ve imzanýn ne zaman gönderildiðinden emin olur.

Eðer çok gizli bir mesaj gönderilecekse, gönderen mesajý þifreledikten sonra bilgisaya-rýndaki açýk mesajý içeren dosyayý silmek isteyecektir. Ancak, iþletim sistemlerindeki dosya silme iþlemleri genelde geriye dönü-þümlü iþlemlerdir. PGP buna çözüm olarak kullanýcýya, þifreleme iþleminden sonra açýk mesajýn olduðu dosyanýn içini tamamen 0 ile doldurup silme olanaðý tanýmaktadýr.

PGP'de eðer bir mesaj hem imzalanýp hem de þifrelenecekse, önce gönderenin gizli anahtarý ile mesajýn özü imzalanýr, sonra mesaj ile imza birlikte sýkýþtýrýlýr, daha sonra da þifrelenir. Bu þifrelemede kullanýlan IDEA oturum anahtarý ise alýcýnýn açýk anahtarý ile þifrelendikten sonra paketin baþýna konur. ASCII formatýna çevriliþ ise bu eklemeden sonra yapýlýr. Alýcý tarafýndaki PGP programý þifrelenmiþ ve imzalanmýþ bir mesajý aldýðýnda, önce ASCII formatýndan ikili formata çevirir. Daha sonra, kendi gizli anahtarýný kullanarak IDEA oturum anahtarýný çözer ve imza ile birlikte mesajý ortaya çýkarýr. Artýk, açýk mesaj alýcýnýn elindedir. PGP, imzayý doðrulamak için ise E-posta ile gelen imzaya gönderenin açýk anahtarýný kullanarak RSA algoritmasýný uygular. Sonuçta ortaya çýkan mesajýn özü olmalýdýr. Bu kontrolü de gerçek mesajýn özünü bularak yapar. Bu iki öz birbirinin ayný ise mesaj üzerindeki imza doðrudur. Þifrelenmeden imzalanmýþ bir mesajýn imzasýný kontrol etmek için ise sadece yukarýda belirtilen imza kontrolü ile ilgili iþlemler uygulanýr. PGP, ayrý dosyalardaki imza ile mesajý kontrol edebildiði gibi, bir imzayý imzalanmýþ bir mesajdan ayýrýp ayrý bir dosyaya da kaydedebilir. Bundan baþka, kullanýcý þifrelenip imzalanmýþ bir mesajý açarken imzayý mesaj üzerinde býrakma hakkýna da sahiptir.

PGP, þifreleme ve imzalamanýn yanýsýra açýk ve gizli anahtarla ilgili iþlemler de yapmaktadýr. Bunlarla ilgili özellikler aþaðýda anlatýlmýþtýr.

Anahtar Ýþlemleri

PGP kullanarak RSA anahtarlarý yaratmak mümkündür. Bu þekilde gizli anahtar ve ona karþýlýk gelen açýk anahtar yaratýlýr. RSA anahtarlarýnýn boyu kullanýcýnýn güvenlik gereksinimine baðlý olarak 512 ile 2048 bit arasýnda deðiþebilir. O yüzden, gizli anahtar-larý ezberlemek ve her gerektiðinde klavyeyi kullanarak girmek nerdeyse imkansýzdýr. O yüzden, PGP'de gizli anahtarlar þifrelenerek bir dosyada saklanýr ve gerektiðinde bu dosyadan okunarak iþlem yapýlýr. Bu dosyanýn adý 'secring.pgp'dir. Gizli anahtarý þifrelemek için IDEA algoritmasý kullanýlýr. Þifreleme anahtarý 128 bit uzunluðundadýr. Sözkonusu anahtar kullanýcýnýn belirlediði bir þifre cümlenin (passphrase) MD5 kullanýlarak çýkartýlan özüdür. Þifre çözücü ataklara karþý koyabilmek için bu þifre cümlenin mümkün olduðunca uzun ve anlamsýz olmasý önerilir. Gizli anahtarýn ele geçirilmesini önleyecek diðer bir önlem ise, secring.pgp dosyasýnýn sabit disk üzerinde deðil de taþýnabilir disketler üzerinde tutulmasý ve bu disketin sýký bir þekilde korunmasýdýr. Kullanýcý isterse birden fazla gizli anahtar yaratýp þifreleyerek secring.pgp dosyasý içinde saklayabilir. PGP'de bir gizli anahtarý secring.pgp'den silmek de mümkündür. Bundan baþka, kullanýcý bir gizli anahtarý ayrý bir dosya olarak da tutabilir, gerektiðinde ayrý bir dosyadaki gizli anahtarý secring.pgp içine taþýyabilir. PGP'de gizli anahtara ait kullanýcý bilgilerini ve þifre cümleyi deðiþtirme özellikleri de vardýr.

PGP, açýk anahtarlarý 'pubring.pgp' isimli bir dosyada saklar. Açýk anahtarlarýn gizlilik gibi bir gereksinimleri olmadýklarý için þifrelenme-lerine de gerek yoktur. Açýk anahtarlarla ilgili tek sorun yanlýþ açýk anahtar sorunudur. Gönderenin veya alýcýnýn þifreleme ve imza kontrollerinde yanlýþ açýk anahtar kullanma-larý yanlýþ sonuçlara sebep olabilir. PGP bu sorunu aþmak için açýk anahtar imzalama (public key signatures), baþka bir deyiþle kefalet (certification) mekanizmasýný kullanýr. Aslýnda en iyi açýk anahtar edinme yolu sahibinden doðrudan edinmektir. Bu þekilde elde edilen açýk anahtarlar kullanýcý tarafýn-dan imzalanarak pubring.pgp dosyasýna kaydedilir. Bunun imkansýz olduðu durum-larda ise kefalet (açýk anahtar imzalama) yöntemi kullanýlýr. Kefalet, bir açýk anahtarýn doðruluðuna bir baþkasýnýn verdiði garantidir. Bu garanti, açýk anahtar ve sahibinin kimliðinden oluþan bir bilginin kefaleti verenin gizli anahtarýyla imzalanmasý ile verilir. Bir açýk anahtar ve bu anahtara atýlan imzalar (kefaletler) birarada pubring.pgp dosyasý içinde tutulur.

PGP'de kefalet mekanizmasý þu þekilde iþler: bir kullanýcý bir açýk anahtara doðrudan güvenemiyorsa, o anahtar için verilmiþ anah-tar imzalarýnýn sahiplerini tanýyýp tanýmadýðý-ný kontrol eder. Bu kontrol pubring.pgp dosyasý içinde imzalayýcý ile ilgili bir anahta-rýn olup olmadýðýdýr. Eðer imzalayýcýnýn açýk anahtarý varsa ve o anahtar üzerinde kullaný-cýnýn tanýdýðý ve güvendiði baþka birinin (veya kendisinin) imzasý varsa, kullanýcýnýn imzalayan insaný tanýdýðýna hükmedilir. Bun-dan sonraki kontrol ise tanýnan imzalayýcýnýn imzaladýðý açýk anahtarlara güvenilip güvenil-meyeceðinin kontrolüdür. Eðer o anahtarý güvenilen biri imzalamýþsa, kullanýcý sözko-nusu açýk anahtarý güvenerek kullanabilir. Bu mekanizmanýn iþlemesi için pubring.pgp içindeki her anahtar için bir güven bilgisi tutulur ve bu bilgiye göre kullanýcýnýn açýk anahtar sahibinin verdiði imzalara güvenip güvenmeyeceði hesaplanýr. Bu hesaplama PGP tarafýndan otomatik olarak yapýlýr. Eðer sonuçta açýk anahtarýn doðruluðuna karar verilmiþse kullanýcýnýn sözkonusu anahtarý imzalayarak pubring.pgp dosyasýna kaydet-mesinde bir sakýnca yoktur. Burada önemli olan diðer bir konu ise zincirleme güven konusudur. Bir kullanýcý bir baþka kullanýcýya güveniyorsa onun güvendiði baþka kullanýcý-lara da güvenmeli midir? Bu sorunun cevabý evet ise kullanýcý zincirleme kefalete izin veriyor demektir. Burada hiyerarþik bir geçiþ söz konusudur. Bu hiyerarþide kaç seviye gidileceðini ise kullanýcý belirler.

Özetlemek gerekirse, bir kullanýcýnýn doðru-luðuna güvenmediði bir açýk anahtarý çekin-meden kullanabilmesi için ortakça tanýnan ve güvenilen bir veya birkaç kiþinin, ya doðrudan ya da hiyerarþik bir düzende birkaç seviyede geçiþli olarak, sözkonusu açýk anahtarý imzalayarak kefalet vermesi gerekir.

Açýk anahtarlar ve üzerlerindeki imzalar, Internet üzerinden açýk anahtar sunucularý vasýtasýyla istem bazýnda daðýtýlýrlar. Biri bir baþkasýnýn açýk anahtarýný arýyorsa, bir anahtar kelime vererek açýk anahtar sunucu-sunun veritabanýný arattýrýr ve sunucunun döndürdükleri arasýndan kendi istediði kiþiye ait olan açýk anahtarý kopyalar. PGP, bir dosya içindeki açýk anahtarý üzeindeki imzalarý kontrol ederek pubring.pgp içine koyabilmektedir. Bir kullanýcý, kendi açýk anahtarýný baþkalarýnýn kullanýmýna sunmak istiyorsa sözkonusu anahtarý açýk anahtar sunucusuna kaydettirmelidir. Açýk anahtar sunucularý, uç kullanýcýlarýn kullandýðý PGP'den baðýmsýz çalýþan bir veritabaný arama ve kaydetme sistemidir. Bu veritaba-nýnda kullanýcýlarýn açýk anahtarlarý ve bunlarýn kefaletleri saklanýr. Açýk anahtar sunucularý anahtarlarýn doðruluðunu garanti edemezler. Bir açýk anahtarýn herhangi bir sunucuya kaydettirilmesi yeterlidir. Açýk anahtar sunucularý kendi aralarýnda haberleþerek tutarlýlýk saðlarlar. Bir kullanýcý açýk anahtarýný iptal etmek isterse bunu açýk anahtar sunucusuna bildirmek zorundadýr. Yetkisiz kiþilerin açýk anahtarlarý silmesini önlemek için, açýk anahtarýný sunucudan silmek isteyen biri önce PGP'yi ve kendi gizli anahtarýný kullanarak bir açýk anahtar silme mesajý hazýrlar ve imzalar. Daha sonra bu mesajý açýk anahtar sunucusuna gönderir. Açýk anahtar sunucusu da sözkonusu açýk anahtarý iptal eder. Buradaki en önemli sorun, diðer PGP kullanýcýlarýndaki pubring.pgp'lerde bulunan geçersiz açýk anahtarlarýn nasýl iptal edileceðidir. PGP bunun için bir çözüm önermemektedir.

PGP, pubring.pgp üzerinde herhangi bir açýk anahtarý silme, güven durumunu kontrol edip parametrelerini deðiþtirme, geçici olarak devre dýþý býrakma, bir dosya olarak kaydet-me, üzerindeki imzalarý listeleme özellikle-rine de sahiptir. Bundan baþka, kullanýcý PGP kullanarak herhangi bir açýk anahtarý imzalayabilir veya imzasýný silebilir. PGP, pubring.pgp'deki açýk anahtarlarý, üzerindeki imzalarý ve güven durumlarýný da listeleye-bilmektedir.

Kefalet mantýðý, PGP dýþýnda diðer açýk anahtar tabanlý sistemlerde de kullanýlmak-tadýr. Ancak PGP'nin yaklaþýmý, diðerlerin-den farklý olarak, tamamen daðýtýktýr. PGP, açýk anahtar imzalama yetkisini belirli kefalet otoritelerine vermektense herkesi kefalet otoritesi yapma yolunu seçmiþtir. Bu durumun faydalarý ve zararlarý tartýþýlabilir. Ancak, günümüzde açýk anahtar tabanlý sistemler daha merkeziyetçi bir yapýya doðru standartlaþmaktadýr. ITU (International Tele-communications Union) tarafýndan geliþtiri-len X.509 [7] standart önerisi bu yönde yapýlmýþ bir çalýþmadýr. Günümüzde açýk anahtar tabanlý sistemler X.509 uyumlu olmaya çalýþmaktadýrlar, ama PGP tamamýyla bu standartlara uymayan baðýmsýz bir yapý sergilemektedir. E-posta güvenliði konusun-da üretilen bir baþka ürün ise Internet Privacy Enhanced Mail (PEM) [4] yazýlýmýdýr. PEM, PGP kadar yaygýn kullanýlmasa da, E-posta güvenliði konusunda standart olmaya çalýþan X.509 uyumlu bir üründür.

PGP ne Kadar Güvenli?

PGP'nin þu andaki en son uluslararasý sürümü 2.6.3i sürümüdür. Þimdiye kadar bu sürümle ilgili güvenliði etkileyecek herhangi bir hata rapor edilmemiþtir [8]. PGP'nin güvenliði, temel olarak RSA ve IDEA algoritmalarýnýn ne kadar güvenli olduðu ile ilgilidir. Her iki algoritma da geniþ çevreler tarafýndan yeterli anahtar uzunluðu var oldu-ðunda güvenli olarak nitelendirilen algorit-malardýr. O yüzden, PGP þifreleme bilimi açýsýndan tamamen güvenlidir. Yine de, PGP'nin güvenliðini artýrmak ve iþletim sisteminin hatalarýndan doðabilecek güvenlik gediklerini en aza indirmek için aþaðýdaki önlemleri almak gereklidir.

Gizli anahtarýn güvenliðini pekiþtirmek için secring.pgp dosyasý bilgisayarýn sabit diski üzerinde býrakýlmamalýdýr. Bununla beraber, gizli anahtarý þifrelemek için kullanýlan þifre cümlesi mümkün olduðunca uzun (128 karakter) ve anlamsýz olmalý ve hiç bir yere kaydedilmemelidir. Yanlýþ açýk anahtar kulla-nýmýný önlemek için ise kefalet kurallarýna sýký bir þekilde uyulmalýdýr. Bunun mümkün olmadýðý durumlarda ise güvensiz açýk anahtarýn MD5 kullanýlarak çýkartýlacak bir özünün E-posta dýþý bir iletiþim kanalýyla sahibinden doðrulanmasýný istemek en uygun davranýþtýr. Bir açýk anahtarýn özünü çýkarmak için PGP kullanýlabilir. Öte yandan, pubring.pgp dosyasýnýn sabit disk üzerinde tutulmamasý bu dosyanýn yetkisiz kiþilerce silinip deðiþtirilmesini önleyecektir.

PGP ile Ýlgili Kaynaklar

Hem kaðýt hem de Internet ortamýnda PGP ile birçok kaynak vardýr. Bunlardan bazýlarý aþaðýda verilmiþtir.

PGP ile ilgili kitaplar

PGP ile ilgili bazý WWW siteleri

PGP ile ilgili bazý haber gruplarý

Kaynakça

1. Neuman C., and T. Ts'o, "Kerberos: An Authentication Service for Computer Networks," IEEE Communications Magazine, vol. 32, no. 9, sayfa 33-38, Eylül 1994.

2. PGP User's Guide Volume I: Essential Topics, Philip Zimmermann,
http://www.pegasus.esprit.ec.org/people/arne/pgpdoc1/pgpdoc1.html

3. PGP User's Guide Volume II: Special Topics, Philip Zimmermann,
http://www.pegasus.esprit.ec.org/people/arne/pgpdoc2/pgpdoc2.html

4. Stallings, W., Network and Internetwork Security, Prentice-Hall, New Jersey, 1995.

5. Rivest, R. L., A. Shamir and L. Adleman, "A Method For Obtaining Digital Signatures and Public-Key Cryptosystems," Commun. ACM, vol. 21, no. 2, sayfa. 120-126 , Þubat 1978.

6. Rivest, R., The MD5 Message - Digest Algorithm, Internet RFC 1321, Nisan 1992

7. ITU-T Recommendation X.509, ISO/IEC 9594-8, Information Technology - Open Systems Interconnection - The Directory: Authentication Framework, 1993.

8. Known bugs in PGP 2.6.3i, Ståle Schumacher, http://www.ifi.uio.no/pgp/bugs.shtml

9. Tanenbaum A. S., Computer Networks, 3rd Edition, Prentice-Hall, New Jersey, 1996.

Özgeçmiþ - Albert Levi : 1969 yýlýnda Ýstanbul'da doðdu. Boðaziçi Üniversitesi Bilgisayar Mühendisliði bölümünden 1991'de lisans, 1993'da yüksek lisans derecelerini aldý. Þu anda Boðaziçi Üniversitesi, Bilgisayar Mühendisliði Bölümü'nde doktora çalýþmalarýna devam etmekte ve araþtýrma görevlisi olarak çalýþmaktadýr.

Özgeçmiþ - M. Ufuk Çaðlayan : 1951 yýlýnda Ankara'da doðdu. 1973'te ODTÜ Elektrik Mühendisliði bölümünden lisans, 1975'te ODTÜ Bilgisayar Mühendisliði bölümünden yüksek lisans derecelerini aldý. 1981'de Northwestern Üniversitesi'nde doktorasýný tamamladý. Yurt içi ve dýþýndaki çeþitli þirket ve üniversitelerde çalýþtýktan sonra þu anda Boðaziçi Üniversitesi, Bilgisayar Mühendisliði Bölümü'nde öðretim üyesi olarak görevini sürdürmektedir.