Açık Anahtar Altyapısı (AAA) Sistemindeki Sertifikasyon Problemleri

Transkript

Açık Anahtar Altyapısı (AAA) Sistemindeki Sertifikasyon Problemleri
Açık Anahtar Altyapısı (AAA) Sistemindeki
Sertifikasyon Problemleri ve Diğer Güvenlik
Sorunları
Dinçer Önel
Gebze Yüksek Teknoloji Enstitüsü
Mühendislik Fakültesi
Gebze, Kocaeli
[email protected]
Özet
Bu makalede İnternet üzerinden güvenli haberleşmeyi sağlayan ve son yıllarda
uygulamalarını sıkça gördüğümüz açık anahtar altyapısının (AAA) kullanımıyla
ortaya çıkmaya başlayan problemler tartışılmıştır. Üretici firmalar tarafından, ilk
ortaya çıktığında tüm dertlere çözüm getiren bir sihirli değnek gibi tanıtılan açık
anahtar altyapısı sistemine bu makaleyle eleştirel bir bakış getirilmeye çalışılmıştır.
Teoride sorunsuz çalıştığı ve güvenliği garanti ettiği iddia edilen açık anahtar
altyapıları günlük hayatta uygulamaya geçtikçe bir takım sorunları da beraberinde
getirmiştir. Özellikle güven sorunu ve sertifikasyon problemi üzerinde durulmakla
beraber diğer güvenlik sorunlarına da değinilmiştir.
1. Giriş
Açık anahtar altyapısının temeli, 1976 yılında Stanford Üniversitesinden Diffie ve
Hellman tarafından ortaya atılan yeni bir şifreleme mantığına dayanmaktadır [1]. Açık
anahtar tabanlı şifreleme adını verdikleri bu yeni sistemde karşı tarafa gizli bir mesaj
göndermek istediğimizde eskiden olduğu gibi aynı gizli anahtarla mesajı kapatıp açma
yerine, mesajı şifrelerken açık anahtar karşı tarafta açarken de özel anahtar
kullanılmaktadır. Böylece gizli mesajı sadece özel anahtara sahip olan kişi açıp
okuyabilmektedir.
Kriptografi tarihinde yeni bir çığır açan bu düşünce zaman içinde daha da
geliştirilmiş gizlilik dışında, bütünlük, kimlik doğrulama ve inkar edememe gibi
olmazsa olmaz güvenlik işlevlerini de açık anahtar altyapıları bünyesinde sağlar hale
getirilmiştir.
Açık anahtar altyapısı sisteminde her kullanıcıya sertifika otoritesi dediğimiz
güvenilir merkezler tarafından, kullanıcıların kimlikleriyle ilişkilendirilmiş sertifikalar
dağıtılmaktadır. Kullanıcın açık anahtarı, ismi, e-posta adresi gibi kimlik bilgilerini
içeren bu sertifikalar, sertifika otoriteleri tarafından imzalanarak oluşturulurlar ve
erişime açık bir depolama merkezinde tutulurlar. Bu sistemde herkese ait bir anahtar
çifti bulunmak zorundadır. Birbirleriyle ilişkili bu anahtarlardan deşifreleme ve imza
atma için kullanılan, ve sadece sahibi tarafından bilinene özel anahtar; şifreleme ve
imza doğrulama için kullanılan ve herkes tarafından bilinebilen anahtara da açık
anahtar denmektedir.
2
Burak ismindeki kullanıcının, Ayşe isimli kullanıcıya şifreli ve imzalı bir mesaj
iletmek istediği durumu ele alalım. Her iki kullanıcı da bir adet özel anahtara ve bir
adet açık anahtara sahiptir. Açık anahtarlar kullanıcılara ait diğer kimlik bilgileriyle
beraber sertifikalar halinde, sertifika otoritelerinde erişime açık halde bulunmaktadır.
Burak öncelikle Ayşe’nin sertifikasını sertifika otoritesinden ister. Ayşe’nin
sertifikasının sonundaki sertifika otoritesine ait imza sayesinde Burak doğru
kaynaktan bir sertifika aldığına emin olur. İletmek istediği mesajı Ayşe’nin açık
anahtarını da kullanarak bir şifreleme algoritmasından geçiren Burak mesajı gizlemiş
olur. Elde ettiği gizli mesajı sadece kendisinde bulunan özel anahtarla da imzaladıktan
sonra Burak mesajı Ayşe’ye gönderir.
Karşı taraftaki Ayşe ise mesaj kendine ulaştıktan sonra sertifika otoritesinden elde
ettiği Burak’a ait açık anahtarın bulunduğu sertifika ile önce mesajın gerçekten
Burak’tan gelip gelmediğine emin olur. İmza doğrulamasıyla mesajın kimden
geldiğine emin olan Ayşe kendi özel anahtarıyla şifreli mesajı açar ve böylece güvenli
haberleşme süreci tamamlanmış olur.
İlk bakışta yukarıda anlatılan sistemin işleyişinde herhangi bir kusur görülmemekte,
her şeyin son derece mantıklı ve güvenlik prensiplerine uygun geliştiği
söylenebilmektedir. Teorik olarak bunu doğru kabul edebiliriz, fakat kullanımının
yaygınlaşmasıyla açık anahtar altyapısının aslında hala bazı sorunları ortadan
kaldırmadığı, bir takım önemli problemleri bünyesinde barındırdığı daha da bariz bir
şekilde ortaya çıkmıştır [2]. Bu problemleri sırayla ele alalım.
2. Güven Sorunu
Açık anahtar altyapısında sistemin en önemli öğesi olarak kabul edilen unsurlar
sertifika otoriteleridir (SO). Açık anahtarlar herkese dağıtılabilir, ancak hangi
anahtarın kime ait olduğundan emin olmak gerekmektedir. Bu konuda kişisel
beyanlara güvenilemez. Bu sebeple sertifikalar kullanılmaktadır. Güvenilir olduğu
kabul edilen sertifika otoriteleri kendi sayısal imzalarını kullanarak sertifika üretirler
ve bunları sistemdeki kullanıcılara dağıtırlar. En basit anlatımı ile sertifika, bir açık
anahtar ile sahibinin kimliği arasında bağıntının belgesidir. Diğer bir anlatımla
sertifika, bir açık anahtarın kime ait olduğunu ispatlayan belge hükmündedir. Sertifika
otoriteleri kendi sayısal imzalarını kullanarak bu sertifikaları üretirler. Sertifika
otoritesinin imzasını doğrulayarak sertifika otoritesinden emin olan kişi aynı zamanda
onun ürettiği sertifikalardaki açık anahtarların sahiplerinin kimliklerinden de emin
olur. Güvenilir sertifika otoriteleri tarafından üretilen sertifikaların içerdiği bilgilerin
doğru olduğu varsayılır.
Açık anahtar altyapısında güven sorunu olarak tanımladığımız problemin temelinde
bu varsayım yatmaktadır. Sertifika otoriteleri tanım olarak “güvenilir” diye tabir
edilirler. Güvenilir olduğu kabul edilen sertifika otoritelerinin ürettiği sertifikaların
içerdiği bilgilerin sadece doğru varsayılabilmesi bu noktada bir çelişki
oluşturmaktadır. Güvenilir sıfatı, varsayımdan daha kuvvetli bir anlam içermelidir.
Aslında buradaki sorun “güvenilir” kelimesinin tam kesinlik ifade etmeyen
kullanımından kaynaklanmaktadır [3]. Kriptografi literatüründe sertifika otoriteleri,
özel anahtarlarının idaresini kendi başlarına halledebilen unsurlar olarak
3
tanımlanmaktadır. Bu ifade, bir kişinin belirli bir sertifika otoritesinden alınmış olan
ve başka bir kişiye ait sertifikaya kayıtsız şartsız güvenmesini gerektirmemektedir.
Kullanıcılardan
sertifika otoritelerine ve altlarında onların imzasını taşıyan
sertifikalara güvenilmesi beklenmektedir [4]. Kullanıcılar bu güvenin nerden ve
kimden geldiğini sorgulayamamaktadır. Zaten bu işi açık anahtar altyapısına uyumlu
uygulamalar kullanıcı yerine otomatik olarak yapmaktadır. Sertifikaları doğrulamak
için gerekli olan kök sertifika otoritelerine ait olan sertifikalar İnternet tarayıcı
programları ve elektronik posta uygulamalarıyla beraber gelmektedir. Kullanıcılar bu
uygulamalarla beraber gelen kök sertifika otoritelerine güvenmek zorunda
bırakılmaktadır. Açık anahtar altyapısı kavramsal olarak karmaşık bir yapı arz
ettiğinden dolayı çoğu kullanıcı sistemi anlayamamaktadır. Bu sebeple çoğu kullanıcı
kavramdan habersiz bir şekilde sistemi kullanmakta ve farkında bile olmadan bu kök
sertifika otoritelerine güvenmektedir. Sistemi az da olsa anlayan kullanıcılar ise
isteyerek veya istemeyerek, “İnternet tarayıcı program üreticisi bunlara güveniyorsa
ben de güvenirim” gibi veya benzeri bir mantıkla, kök sertifika otoritelerine
güvenmektedir, daha doğru bir ifadeyle güvenmek zorunda bırakılmaktadır.
Güvenmek zorundadırlar çünkü aksi takdirde sistemi kullanmaları imkansız hale
gelmektedir. Uygulamalarla beraber gelen kök sertifika otoriteleri dışında bir sertifika
otoritesi ile karşılaşıldığında ise, uygulama yazılımı kullanıcıya söz konusu sertifika
otoritesine güvenilip güvenilmediğini soracaktır. Bu soruya cevap vermek çoğu
kullanıcı için zordur. Çünkü söz konusu yeni sertifika otoritesi tanınmış biri değildir.
Kullanıcıda, “güvenilir biri olsa zaten listede olurdu” şeklinde bir düşünce hakim
olacaktır. Belki de geçerli olduğu halde uygulama yazılımı üreticisi ile anlaşması
olmadığından dolayı kullanıcı o sertifika otoritesine güvenmeyecektir. Görüldüğü gibi
kullanıcılar kime ne sebeple güvenmeleri gerektiği konusunda yeterli bilgi sahibi
olamamakta ve sadece kendilerinden bekleneni yerine getirmektedirler.
Giriş bölümünde verdiğimiz örnek modele tekrar geri dönüp güven sorununun nasıl
ortaya çıktığına bakalım. Burak ve Ayşe isimli kullanıcılar açık anahtar altyapısını
kullanarak aralarında güvenli bir haberleşme gerçekleştirmek istiyorlar. Burak
ismindeki kullanıcı Ayşe isimli kullanıcıya şifreli ve imzalı bir elektronik posta
iletmek istemektedir. Bunu gerçekleştirmek için Burak, Ayşe’nin sertifikasına ihtiyaç
duymaktadır. Burak, öncelikle Ayşe’ye sertifikasını vermiş olan sertifika
otoritesinden Ayşe’ye ait sertifikayı ister. Aldığı sertifikanın güvenli bir otoriteden
gelip gelmediğini anlamak için, Burak’ın kendisine iletilen sertifikayı kontrol etmesi
gerekmektedir. Ayşe’ye ait olduğu iddia edilen sertifikayı açan Burak, bu sertifikayı
üretmiş olan sertifika üreticisinin kullandığı elektronik posta uygulamasında önceden
tanımlanmış güvenilir kök sertifika otoritelerinden biri olup olmadığını
görebilmektedir. Fakat yukarıda da belirttiğimiz gibi, bu güvenilir kabul edilen kök
sertifika otoriteleri kullanılan uygulama yazılımları ile beraber gelmektedir. Burak
hangi kök sertifika otoritesine güvenip güvenmeyeceğini kendisi seçmemiştir. Kaldı
ki Burak’ın kendi başına sertifika otoritelerine bir güven onayı vermesi gibi bir olay
da zaten söz konusu bile değildir. Kullandığı elektronik posta uygulaması Burak’tan
önceden tanımlı bu kök sertifika otoritelerine güvenmesini beklemektedir.
Sertifika üretip dağıtmak için gerekli yazılımları bulmak günümüzde hiç de zor
değildir. Kişisel bir sertifika otoritesi kurup herkese ücretsiz sertifika dağıtmak da
mümkündür. Ancak bu şekilde kurulan sertifika otoritelerinin var olan güven ağına
girmeleri pek olası değildir. O yüzden bu sertifika otoriteleri tarafından üretilen
4
sertifikalar, kullanılan uygulama yazılımının verdiği uyarı mesajından ötürü
kullanıcılar tarafından kuşkuyla karşılanacaktır. Geçerli bir sertifika otoritesi dahi olsa
güvenilir kabul edilen kök sertifika otoriteleri arasında değilse uygulama yazılımı
kullanıcıları bu sertifika otoritesine karşı uyaracaktır. Dolayısıyla Burak isimli
kullanıcı uygulama yazılımının belirttiği kişilere güvenmek zorunda bırakılmaktadır.
Burak kime ne sebeple güvenmeliyim sorularıyla sistemi sorgulamak istediğinde de
sistemi kullanması imkansız hale gelmektedir.
Burak isteyerek veya istemeyerek güvenilir kabul ettiği Ayşe’ye ait olan sertifika ile
mesajını şifreleyip kendi sertifikasıyla da imzaladıktan sonra mesajı karşı tarafa
gönderir. Mesajı alan Ayşe eğer mesaj gerçekten de kendisine ait olan doğru sertifika
ile şifrelenmişse mesajın şifresini başarıyla çözebilecek ve mesajın açık halini
okuyabilecektir. Bundan sonra Ayşe’nin mesajın gerçekten Burak’tan gelip
gelmediğine emin olması, yani Burak’ın imzasını doğrulaması gerekmektedir. Bunun
için Ayşe, Burak’a sertifikasını vermiş olan sertifika otoritesinden Burak’a ait olan
sertifikayı ister. Kendisine gönderilen sertifika ile imzayı doğruladığı takdirde Ayşe,
mesajın Burak olduğu iddia edilen kişi tarafından gönderildiğine emin olur. İmza
doğrulanamazsa bu durum, mesajın Ayşe’nin kullandığı elektronik posta yazılımı
tarafından güvenilir kabul edilmeyen bir sertifika otoritesinden alınmış bir sertifika ile
imzalandığı anlamına gelmektedir. Yukarıda Burak için bahsettiğimiz kime ne
sebeple güvenmeliyim sorularıyla ilgili durumlar Ayşe için de geçerlidir. Ayşe de
sadece kendisinden güvenmesi beklenen kişilere güvenmek durumunda
bırakılmaktadır. Ayşe’nin kullandığı uygulama yazılımı hangi sertifika otoritelerine
güveniyorsa Ayşe’de onlara güvenmek zorundadır.
Sonuç olarak örnek modelle de gördüğümüz gibi, açık anahtar altyapılarını kullanan
sistemlerde “güven” ve “güvenilirlik” problematik bir konu olarak karşımıza
çıkmaktadır. Kullanıcılar bir varsayımla sistemdeki diğer kullanıcılardan ve
unsurlardan emin olabilmekte, kendilerinden beklenenin ötesinde bir güven
sorgulamasına girdiklerinde ise sistemi kullanamaz duruma düşmektedirler.
3. Sertifikasyon Problemi
Güven sorunu bölümünde de anlatıldığı gibi açık anahtar altyapısı tabanlı
sistemlerde, sertifika otoriteleri denilen güvenilir merkezler tarafından sistemdeki
kullanıcılara kendilerinin kimlik bilgilerini içeren sertifikalar dağıtılmaktadır.
Sertifika edinme isteğiyle sertifika otoritesine başvuran bir kullanıcının kimlik
bilgilerinin ve diğer tanımlayıcı bilgilerinin doğrulanması, diğer bir deyişle gerçekten
iddia ettiği kişi olduğunun onaylanması işlemine sertifikasyon denmektedir. Bu işlem
sertifika otoriteleri tarafından yürütülmekte ve yeni kullanıcıları sisteme dahil etme
esnasında gerçekleştirilmektedir.
Sertifika üretilirken sertifikanın sahibi olacak kişinin kimliği sertifika otoritesi
tarafından doğrulanmalıdır. Bunun için ise kullanışlı olmayan, örneğin kişisel başvuru
veya kimlik fotokopisi fakslamayı gerektiren, çevrim dışı yöntemlerin devreye
girmesi gerekmektedir. Bu tür yöntemler sertifika sahibi olmayı zorlaştırmaktadır.
Diğer taraftan, çevrim içi kayıt etme ve kimlik doğrulama yöntemlerini kullanan ve
class-1 sertifika olarak sınıflandırılan sertifika tipleri de bulunmaktadır. Ancak bu tür
sertifikalarda kullanılan kimlik doğrulama yöntemlerinin güvenlik açısından zayıf
5
tarafları bulunmaktadır. Bu sebeple de çevrim içi yöntemler değişik ataklara karşı
korumasız kalmaktadırlar.
Sertifikasyon problemi olarak adlandırdığımız sorun, en basit anlatımı ile,
sertifikadaki açık anahtar ile sertifika sahibine ait tanımlayıcı bilgiler arasındaki
bağıntının sağlamlığını ve doğruluğunu garanti edebilmenin zorluğundan
kaynaklanmaktadır [5]. Sertifikalar genelde bir açık anahtar ile sahibinin ismini
ilişkilendirirler, fakat bu ilişkilendirmenin ne derece gerçeği yansıttığının kesin olarak
bilinebilmesi zorluklar içermektedir [6].
Problemi daha da netleştirmek için Burak Demir isimli kullanıcıdan imzalı bir
elektronik posta aldığımız durumu inceleyelim. Bizim tanıdığımız sadece bir tane
Burak Demir olabilir, peki sertifika otoritesi kaç tane Burak Demir isminde
kullanıcıyı biliyor? İmzayı doğrulamak için sertifika otoritesinden Burak Demir’in
sertifikasını istediğimizde, bize verilen sertifikanın tanıdığımız kişiye mi yoksa aynı
isimde başka bir kişiye mi ait olup olmadığını nasıl anlayacağız? Mesajla beraber açık
anahtarı da şahsen tanıdığımız Burak Demir’in elinden almış olsaydık doğru kişi
olduğundan emin olabilirdik. Fakat mesajı elektronik posta yoluyla aldığımızdan
sertifika otoritesinin bize verdiği sertifikaya, dolayısıyla açık anahtarın Burak Demir’e
ait olduğuna inanmak zorundayız. Sertifikadaki açık anahtar ile sahibinin ismi
arasındaki bağıntının, sertifika sahibine ait daha çok tanımlayıcı bilgiyle
genişletilmesi gerekmektedir. Bu sayede aynı isimdeki birçok kullanıcı arasından
bizim tanıdığımız kişiyi ayırabilmemiz kolaylaşacaktır. Bu seferde tanıdığımız kişinin
tanımlayıcı bilgileri hakkında ne kadar detaylı bilgi sahibi olduğumuz sorunu
karşımıza çıkmaktadır. Bizim bilmediğimiz küçük bir fark dışında diğer bilgileri
tanıdığımız kişiyle aynı olan başka bir Burak Demir’den bu elektronik postayı almış
olamaz mıyız? [3]. Bu tip kuşkular, açık anahtar altyapısındaki sertifikasyon olayının
aslında göründüğünden daha da zor bir işlem olduğunu anlamamıza yardımcı
olmaktadır.
Açık anahtar altyapısı sisteminde, açık anahtarla mesajın şifrelenmesi ve sadece özel
anahtarla şifreli mesajın açılabilmesi sayesinde gizliliğin büyük bir başarı ile
sağlandığı konusunda kimsenin şüphesi bulunmamaktadır [3]. Mesajını alıcının açık
anahtarıyla şifreleyerek gönderen taraf, mesajının sadece şifrelemede kullandığı açık
anahtarın çifti olan özel anahtarla açılabileceğinden emin olabilmektedir. Mesaj iletim
esnasında kimin eline geçerse geçsin, özel anahtar olmadan gizli mesajın okuması
mümkün değildir. Fakat güvenlik sadece gizliliğin başarılı bir şekilde sağlanmasıyla
gerçekleşmez, bunun yanında başka prensiplerin de sağlanmış olması gerekmektedir
ki, sertifikasyonla alakalı olarak, kimlik doğrulama bunların en önemlilerinden biridir.
Bu mesaj gerçekte kimden gelmiştir? Anahtar gerçekten gönderen kişiye mi aittir?
Gönderilen anahtar hala geçerli bir anahtar mıdır? Bu tarz soruların artmasıyla zaman
içinde açık anahtar altyapısının, doğru anahtarın edinilmesi, tanınması, dağıtımı ve
onaylanması problemlerine yeterli çözümler getirmekte zorlandığı ortaya çıkmıştır.
Kimlik doğrulaması düzgün olmayan bir haberleşmenin gizli olabileceğini
söyleyebiliriz, ama güvenli olduğunu iddia etmek mümkün değildir.
Yukarıda da belirttiğimiz gibi sertifikasyondaki temel amaç açık anahtar ile sahibi
arasındaki bağın yüzde yüz kesinlik taşıyan bir gerçeklik ile oluşturulmasıdır. Şurası
açıktır ki, herhangi bir kişiyle ilişkilendirilmemiş bir anahtar bit dizisinden başka bir
şey değildir. Bana ait olabileceği gibi bir başkasına da ait olabilir. Açık anahtarla
6
bağıntı kurulurken kullanılan isimler veya diğer tanımlayıcı bilgiler de (elektronik
posta adresi, çalıştığı şirket ismi gibi) çoğu zaman yeterli olmamaktadır [7]. Bu
noktada da devreye noter gibi legal birimlerin girmesi gerekmektedir. Bu durumda
sertifika sahibi olmak isteyen kişinin kimliğini ve kendisiyle ilgili tüm tanımlayıcı
bilgileri böyle bir legal birim huzurunda onaylatmasını zorunlu hale gelmektedir. Bu
türdeki sertifikalar ise ücret karşılığı verilmektedir. Öte yandan deneme amaçlı
ücretsiz class-1 sertifikalar da bulunmaktadır; fakat bunlar genelde geçici süreyle
verilmekte olup süre bitiminde aynı anahtarın kullanımına devam etmek için ücretli
sisteme geçmek gerekmektedir. Kaldı ki class-1 sertifikalarda kullanılan kimlik
doğrulama yöntemleri yukarıda da belirtildiği üzere ataklara açık yöntemlerdir. Legal
bir birim onayı gerektiren daha yüksek derecede güvenlik ve kimlik doğrulama
prosedürlerinin kullanıldığı durumlarda (class-2, class-3 sertifikalar için) ise yıllık
ücretler ödemek şarttır. Az sayıdaki kullanıcıyı yüksek güvenlikli sertifika (class-2,
class-3 gibi) sahibi yapmak kolay olabilir, fakat bir şirketteki tüm kullanıcılara bu tip
sertifikalardan dağıtmak maliyeti çok fazla arttıracağı gibi herkesin teker teker legal
bir birim tarafından onaylanmasını da gerektirdiğinden pratik olmayacaktır.
W. Diffie ve M. E. Hellman açık anahtar kriptografiyi ilk kez bilim dünyasına
duyurduklarında açık anahtarlara kolayca erişime imkan veren ve bildiğimiz telefon
rehberlerinin benzer bir biçimi olan bir sistem öne sürmüşlerdi. Bu sistemde, telefon
rehberlerindeki isim, adres, telefon numarası bağıntısı yerine isim, adres, açık anahtar
bir arada sunuluyordu. Diyelim Burak Demir’in açık anahtarını bulmamız
gerektiğinde, rehberden Burak Demir ismini bulup adresinin doğruluğunu kontrol
ettikten sonra karşılık gelen açık anahtarı almamız yeterliydi. Küçük ölçekli bir kurum
veya işletmede bu sistem sorunsuz çalışabilir. Fakat altyapının çok daha büyük olduğu
alanlarda bu tip bir sistemin sağlıklı çalışabilmesi kat kat zor olacaktır. Hatta küresel
İnternet dünyasını ele aldığımızda, tüm İnternet kullanıcılarını içeren bir rehberde
aradığımız kişiyi bulmamız ve doğru kişi olduğundan emin olmanın imkansız
olacağını hayal etmek hiç de zor olmasa gerek [3].
Aşağıdaki resimlerde açık anahtar altyapısındaki sertifikasyon esnasında yapılan
kimlik doğrulama işleminin değişik durumlarda ne gibi problemler içerdiği
açıklanmaya çalışılmıştır [3].
Örnek 1.
Ceren
Ceren
Ayşe
Bu örnekteki durumda herhangi bir problem yoktur. Ayşe Ceren’i
yüz yüze görmüştür ve kimliğini doğrulamıştır. Ceren’in açık
anahtarlarının kendisine ait olduğu Ayşe tarafından kesin olarak
bilinmektedir.
7
Örnek 2.
Ayşe
Burak
Bu örnekte Burak Kc anahtarının kime ait olduğunu bilmek
istemektedir. Fakat Burak Örnek 1’de olduğu gibi yüz yüze
Ceren’in kimliğini doğrulayamamaktadır. Kc anahtarının Ceren’e
ait olup olmadığını bulmak için Burak, Ayşe’nin Ceren hakkındaki
bilgisinden yararlanır. Fakat her ikisi de tanıdıkları Ceren’in aynı
kişi olup olmadığını bilememektedirler.
Örnek 3.
Ceren
Ceren
Burak
Ayşe
Bu örnekte Burak ve Ayşe isimleri karşılaştırma yoluyla tanıdıkları
Ceren’lerin aynı kişiler olup olmadığını anlamaya çalışmaktadır.
Buradaki problem tanıdıkları kişilerin aynı isme sahip olmalarına
rağmen farklı kişiler olabilmelerinden kaynaklanmaktadır.
8
Örnek 4.
Onay
İmza
Ayşe
Burak
Bu örnekle Ayşe ve Burak güvenli haberleşmek istediklerinde ortaya
çıkabilecek riskler gösterilmek istenmiştir. Resimdeki harf belirteçlerini takip
ederek:
A) Ayşe’nin bilgisayarına bir saldırı olabilir.
B) Bir saldırgan Ayşe’nin imzasıyla gönderilmek üzere Ayşe’ye bir
doküman gösterip, farklı bir dokümanı imzalayıp gönderebilir.
C) Ayşe’nin anahtarları bilgisayarından çalınabilir.
D) Mesajların iletildiği kanal üzerinde bir atak gerçekleşebilir.
E) Bir saldırgan Burak’ın bilgisayarındaki Ayşe’ye ait anahtar yerine
kendi anahtarını koyup Burak’ı yanıltabilir.
F) Bir saldırgan Burak’a Ayşe’nin imzasının onaylanmadığı yalanını
söyleyerek Burak’ı yanıltabilir.
4. Özel Anahtar Güvenliği
Açık anahtar altyapısı tabanlı sistemlerin taşıdığı en büyük risklerden birisi de
kullanıcılara ait özel anahtarların korunmasıyla ilgili olandır. Giriş bölümünde de
belirtildiği gibi özel anahtarlar; şifreli mesajları açmada (deşifreleme) gerekli olan ve
iletilecek mesaja imza atma için kullanılan anahtarlardır. Özel anahtarların sadece
sahibi tarafından bilinmesi gerekmektedir. Bana ait olan özel anahtarlarımın bir
başkasının elinde olması o kişiye, bana gelmiş olan gizli mesajları okuyabilme ve
benim yerime imzalı mesaj gönderebilme imkanı vermektedir [8].
Özel anahtarlar yüksek derecede koruma gerektiren değerli unsurlardır. Peki bunları
nasıl korumamız gerekmektedir? Genelde çoğu kişi veya kurum fiziksel erişim
kontrolü yapılan, elektromanyetik kaçaklara karşı korumalı veya diğer koruma
yöntemleri ile korunmuş, yeterli seviyede güvenli sayılabilecek bir bilgisayar
9
sistemine sahip değildir. Özel anahtarlar çoğunlukla sıradan kişisel bilgisayarlarda
saklanmaktadır. Bu bilgisayarlar ise virüs yazılımlarının veya diğer kötü niyetli
programların saldırılarına maruz kalabilmektedir. Özel anahtarlarımızın kişisel
bilgisayarımızda güvenli bir şekilde saklandığını kabul etsek bile, bilgisayarımızı
kapısı kilitli ve kamera gözetimli bir odada tutmadıkça, onları sadece kendimizin
kullanabildiğinden nasıl emin olabiliriz? Eğer özel anahtarlarımızı bir parola ile
koruyorsak, bu parolayı tahmin etmenin zor olmadığından emin olabiliyor muyuz?
Eğer özel anahtarlarımızı bir akıllı kartta saklıyorsak, bu akıllı kartın ataklara karşı
direncinin yeterli düzeyde olup olmadığını bilebiliyor muyuz? [3]. Bu türden sorular
açık anahtar altyapısı kullanıcılarında kuşkulara yol açmakta ve sisteme
güvenmelerini zorlaştıran faktörler olarak karşılarına çıkmaktadır.
Özel anahtarın sadece sahibi tarafından kullanılabilmesi, dört ana güvenlik
prensibinden “inkar edememe” olarak bilinen ilkenin hayata geçirilmesini
sağlamaktadır. İmzalanmış olarak gönderilen bir mesajın altındaki imzanın sahibi bu
mesajı gönderdiğini legal bağlamda inkar edemez. Yukarıda da ifade ettiğimiz gibi
imzalama işlemi sadece sahibi tarafından bilinen özel anahtarla yapılabilmektedir.
Güvenilir bir sertifika otoritesi tarafından onaylanan bir imzalama anahtarı (özel
anahtar) ile yapılan işlemlerin tek sorumlusu anahtar sahibidir. Bu işlemler bir başkası
veya bir virüs yazılımı tarafından yapılmış bile olsa sorumlu olarak anahtar sahibi
bilinir. Dolayısıyla, imzalı bir mesajın, imza yada özel anahtar sahibi kişi tarafından
gönderildiği kabul edilir. Bir başkasının bizim açık bilgilerimizden yola çıkarak bu
özel anahtarı üretmesi ise matematiksel açıdan imkansız kabul edilmektedir. Bu
sebeple özel anahtarlar çok iyi korunmalı, bir başkasının veya zararlı bir yazılımın
erişimine kesinlikle engel olunmalıdır. Aksi takdirde haberimiz bile olmadığı halde
bizi çok zor bir duruma düşürecek bir metnin altında kendi imzamızla karşılaşabiliriz.
5. Kullanıcı Hataları
Açık anahtar altyapısının sunduğu güvenlik hizmetlerinin önündeki en büyük
engellerden biri de kullanıcılardan kaynaklanan hatalardır. Açık anahtar
teknolojilerinin kavramsal olarak zor anlaşılması kullanıcılar tarafından kritik
güvenlik hataları yapılmasına yol açabilmektedir [9].
Güvenliği pek çok halkanın bir araya gelmesiyle oluşan bir zincire benzetebiliriz.
Bu zincirin sağlamlığı en zayıf halkanın sağlamlığına eşittir. Açık anahtar tabanlı bir
sistemin güvenliği de birden çok unsurun sağlamlığı üzerine inşa edilmektedir [3]. Bu
unsurların her biri kriptografik değildir. Algoritmalar, protokoller, otoriteler, şifreleme
anahtarları gibi unsurların dışında insanlar da bu sistemin bir parçasını teşkil
etmektedir. Açık anahtar altyapıları insandan bağımsız olarak düşünülemez. Çünkü bu
altyapıları belli amaçlar için kullananlar insanlardır.
Yukarıda da belirtildiği gibi açık anahtar altyapıları kavramsal açıdan karmaşık bir
yapı arz ettiklerinden dolayı olayların işleyişini anlamak çoğu kullanıcı için zor
olmaktadır. Zaten çoğu kullanıcı sistemi anlayamadığı için altyapıyı bir çok temel
kavramdan habersiz şekilde bilmeden kullanmaktadır. Bu sebeple kullanıcı olarak
sistemi kullanırken dikkat etmesi gereken kurallara uymamakta ve kendisine ait
sorumlulukların bilincinde olamamaktadır. Örneğin çoğu kullanıcının, oldukça kritik
öneme sahip özel anahtarının nerede ve nasıl saklandığı konusunda bilgisi yoktur.
Özel anahtarın bir başkasının eline geçmesi durumunda yaşanabilecek kötü
durumlardan bir önceki bölümde bahsetmiştik. Bir diğer örnek ise çoğu kullanıcının
kendisine ulaşan diğer kişi veya kurumlara ait sertifikaların geçerliliğini nasıl kontrol
10
edileceğini bilmemesidir. Bu durumda kullanıcıların geçersiz sertifikalar ile
yanıltılması söz konusu olabilmektedir. İnternet üzerinden tarayıcı programı
kullanarak bankacılık işlemleri yapmak isteyen bilinçsiz bir kullanıcıyı bu yolla
bankaya ait olmayan bir siteye yönlendirmek ve şifre bilgisini çalmak hiç de zor
değildir. Bu gibi örnekleri çoğaltmak mümkün.
Sonuç olarak şunu söyleyebiliriz ki açık anahtar tabanlı sistemlerin anlaşılması
kullanıcıların kapasitelerini aşmaktadır. Bu da sistemin sağlıklı kullanımını olumsuz
yönde etkilemektedir.
6. Uygulama Kaynaklı Sorunlar
Açık anahtar altyapısı sihirli bir değnek değildir. Sadece bir altyapıdır. Bu altyapının
sağlıklı bir şekilde kullanımına imkan veren uygulamalar olmak zorundadır. Bunun
için kurumların bu konuda ciddi yatırımlara girmesi gerekmektedir. Ayrıca geliştirilen
uygulamalar da açık anahtar altyapısının etkin ve kolay kullanımına imkan
verebilmelilerdir [10]. Öte yandan varolan uygulamaların da bu altyapıya uyumlu hale
getirilmeleri zorunludur. En fazla sorun da bu noktada yaşanmaktadır. Zaten hatırı
sayılır bir yatırım yaparak açık anahtar altyapısı kuran kuruluşlar, bir de
uygulamalarını değiştirmek zorunda kalmakta ve bu konuda yatırıma gitmek
istememektedirler.
Uygulama ile ilgili başka bir sorun ise, sertifika kullanımını gerektiren e-ticaret gibi
kişisel yanı da olan uygulamalarda, son kullanıcının bazı yazılımlar kurmak zorunda
bırakılmasıdır. Kullanıcılar genellikle bu tür yazılımlara kuşkuyla yaklaşmaktadırlar.
Gerek kurulumda karşılaşılabilecek bazı zorluklar, gerek zaman ve bant genişliği
eksikliği, gerekse de virüs korkusu yazılım kurmayı gerektiren uygulamaların
yaygınlaşması önündeki önemli engellerden birkaçıdır.
7. Sonuç
Yaklaşık olarak 25 senelik bir mazisi olan açık anahtar tabanlı şifreleme sistemleri
ancak son 10 yılda son kullanıcılara erişen uygulamaların parçası olmuştur. Bu 10 yıl
içinde de açık anahtar tabanlı şifreleme sistemlerinin hız ve açık anahtar dağıtım
sorunları sistemlerin hızlı gelişmesinin önünde engel teşkil etmiştir. Bununla beraber
teorik olarak sorunsuz çalıştığı ve güvenliği garanti ettiği öne sürülen açık anahtar
altyapıları günlük hayatta insanlar tarafından kullanılmaya başlandıkça bir takım
sorunları da beraberinde getirmiştir. Bu çalışmada özellikle güven sorunu ve
sertifikasyon problemi üzerinde durulmuştur. Kime ne sebeple güvenmeliyim
sorularına verilen cevaplardaki yetersizlikler gözler önüne konulmaya çalışılmış,
ayrıca açık anahtar ile sahibi arasındaki ilişkilendirmenin ne derece gerçeği yansıttığı
sorgulanmıştır. Bunun yanında güvenlikle ilgili olarak özel anahtarlar, kullanıcıların
sistem etkisi ve kullanılan uygulamalarla ortaya çıkan sorunlar da vurgulanmıştır.
Sonuç olarak açık anahtar altyapısı dediğimiz sistemin iyileştirmeye açık yönlerinin
hala mevcut olduğu gösterilmiş ve bu sistemin bütün sorunları ortadan kaldıran sihirli
bir değnek gibi görülmemesi gerektiği mesajı çıkarılmıştır. Açık anahtar altyapısının
çok iyi anlaşılması gerektiği; onun verebileceği ve veremeyeceği şeylerin bilincinde
olmanın, ondan kazanılacak faydayı önemli ölçüde arttıracağı gerçeğinin göz ardı
edilmemesi gerektiği belirtilmiştir.
11
Kaynaklar
1.
Diffie W., ve M. E. Hellman, “New directions in cryptography,” IEEE
Transactions on Information Theory, vol. 22, pp. 644-654, Kasım 1976.
2.
Charrot, T., “What's Wrong With Public Key Cryptography?”, Elsevier
Computer Fraud & Security Journal, Issue.7, 2001, pp.12-15
3.
Ellison C., ve B. Schneier, “Ten Risks of PKI: What You're Not Being Told
About Public Key Infrastructure,” Computer Security Journal, vol. 16, no. 1, pp.
1-7, 2000.
4.
Chadwick, D. W., Basden, A., “Evaluating Trust in a Public Key Certification
Authority”, Computers&Security Journal, Vol.20, No.7, pp.592-611, 2001
5.
Gerck, E., “Why Is Certification Harder Than It Looks?”,
http://www.mcg.org.br/whycert.htm
6.
Perlman, R., “An Overview of PKI Trust Models”, IEEE Network Journal,
November/December 1999, pp.38-43
7.
Gerck, E., “Overview of Certification Systems: X.509, PKIX, PGP&SKIP”,
http://www.mcg.org.br/cert.htm
8.
Naor, M., Nissim, K., “Certificate Revocation and Certificate Update”, IEEE
Journal on Selected Areas in Communications, Vol. 18, NO.4, April 2000
9.
Wright, M. A., “An Overview of PKI”, Elsevier Network Security Journal,
September 1999, pp.14-17
10. Breed, C., “PKI: The Myth, The Magic and The Reality”, Information Security, 2
(6) ,1999, pp.20-27
12

Benzer belgeler