Yazan : Şadi Evren ŞEKER

Sertifikaların doğrulanması sırasında umumi anahtarlar kullanılır. Bir umumi anahtarın doğrulanması için ise sertifika (certificate) gerekir. Bu durumda birbirini zincirleme olarak takip eden anahtar-sertifika-anahtar-sertifika şeklinde devam eden bir yapı oluşur. Bu yapıya sertifika zinciri (certificate chain) ismi verilir. Daha net bir anlatımla sertifikanın onayı için bir sertifika ve onun onayı için başka bir sertifika şeklinde devam eden zincirin ismidir.

Sertifika zincirleri bir sonu olması dolayısıyla güvenilir bir kaynak tarafından başlatılırlar. Bu kaynaya güvenilir otorite (trusted authority) ismi de verilir. Örneğin VeriSign gibi güvenli kabul edilen kaynaklar kendileri tarafından imzalanan sertifikalar üretirler. Bundan sonraki zincir halkaları bu kaynaktan başlayarak birbirine bağlanırlar (anahtar veya sertifika kaynağı olarak bir önceki kaynağı gösterirler)

Bu senaryoyu adım adım anlatmamız gerekirse. Bekir’in bir dosya sunucusu olduğunu ve bu sunucudaki bir dosyayı kendi anahtarı ile imzaladığını düşünelim. Bu dosyayı almak isteyen Ali’nin elinde Bekir’in umumi anahtarı bulunmuyor. Ali, Bekir’in umumi anahtarını Bekir’den talep edebilir ve bu anahtarı alıp kullanabilir ancak bu noktada Bekir’in anahtarının sahte olmadığından emin olamaz. Yani anahtarı yayınlayan gerçekten Bekir olmayabilir. Bu noktada 3. Bir kişi tarafından yayınlanan sertifika devreye girer. 3. Ve güvenilir kişi olan örneğin Cüneyt sertifika halinde Bekir’in anahtarını yayınlar. Ali hem Cüneyt hem de Bekir’den elde ettiği bu anahtarları karşılaştırır. Şayet anahtarlar aynıysa ve güvendiği kişi olan Cüneyt tarafından yayınlanıyorsa elindeki anahtarın Bekir’in anahtarı olduğuna güvenerek işlemini yapar.

Yukarıdaki senaryoyu aşağıdaki şekil üzerinde görmek mümkündür:

  1. Adımda işlem bir dosya transferi talebi ile başlar:

Ali, Bekir’in dosya sunucusundan bir dosya talebinde bulunur. Bekir’in dosya sunucusundaki dosyalar Bekir’in imzasını taşımaktadır. Bu sayede Ali, aldığı dosyanın Bekir’in imzaladığı ve gerçekten Bekir’den gelen dosya olduğuna emin olur. Ancak sorun kullanılan anahtarın gerçekte Bekir’in olup olmadığıdır.

Örneğin yukarıdaki şekildeki gösterildiği üzere her şey beklendiği gibiyse; gerçekten Bekir’in dosyası Bekir tarafından imzalanmıştır ve Ali bu dosyayı almak ister. Dosyanın dışında Bekir’in anahtarını da alarak dosyanın içeriğinden emin olur. Ancak Bekir’i taklit eden bir saldırgan pek âlâ ben Bekir’im diyerek hem Bekir’in anahtarının hem de dosyanın sahtesini üretebilir:

Bu durumda örneğin Bekir’i taklit eden ve Ali’yi yanıltmak isteyen Burcu, dosyanın ve anahtarın sahtesini üreterek yayınlayabilir. Anahtarı ve dosyayı Bekir yerine Burcudan alan ve aslında Bekir’den aldığını sanan Ali bu durumda yanlış dosyayı alacak ve Bekir’den almadığını fark edemeyecektir.

İşte bu noktada Ali’nin almış olduğu anahtar ve dolayısıyla dosyanın imzalandığı anahtarı kontrol edebileceği güvendiği bir kişiye ihtiyacı vardır. Bu kişi örneğimizde Cüneyt olarak geçen kişidir.

Bu yeni durumda Cüneyt, Bekir’in sertifikasını yayınlamaktadır. Yayınlanan bu sertifikanın içerisinde Bekir’in anahtarı da bulunmaktadır. Ali bu iletişim sırasında Cüneyt’ten de Bekir’in anahtarını alarak aldığı anahtarın gerçekten Bekir’e ait olduğunu kontrol eder. Şayet doğruysa dosya transferini gerçekleştirir ve aldığı dosyanın Bekir’in dosyası olduğundan emin olur.

Şayet saldırgan olan Burcu, Bekir’i taklit etmek isteseydi bu durumda Cüneyt’in yayınladığı sertifikanın da sahtesini üretmeliydi ve Ali’nin güvendiği bir kaynak üzerinden bu sertifikayı yayınlamalıydı. Ancak bu mümkün değildir çünkü bunu gerçekleştirmek için örneğin VeriSign gibi güvenilir kaynakların taklit edilmesi veya kırılarak sistemlerinde taklit sertifikaların yayınlanması gerekir ki bu oldukça güçtür.

Bu yazı şadi evren şeker tarafından yazılmış ve bilgisayarkavramlari.com sitesinde yayınlanmaktadır.

Elbette yukarıdaki sertifika örneğinde hemen göze çarpabilecek bir zincir durumu söz konusudur. Yani Cüneyt’in gerçekte Cüneyt olup olmadığını sorguladığımız anda aynı sertifika işlemi Cüneyt’in doğruluğunu ispatlayan 4. Bir kişi tarafından yapılmalıdır. Bu durumda örneğin Davut isimli bu yeni sertifika sağlayıcısı önce Cüneyt’in doğruluğunu ispatlayacak sonra Cüneyt, Bekir’in doğruluğunu ispatlayacaktır. Bu tip zincirlere de sertifika zinciri ( Certificate Chains) ismi verilir.

Yeni durumda aşağıdaki doğrulama gerekmektedir:

Yukarıda görüldüğü üzere bir umumi anahtarın (public key) doğrulanması için bir sertifika ve onunda doğrulanması için bir umumi anahtar yayını gerekmiştir. Bu işlem istenildiği kadar arttırılabilir. Ancak zincirin sonunda kendi kendine imzalanmış bir sertifika bulunmalıdır ki zincir sonsuza kadar uzayıp gitmesin. Yani zincirin kullanılabilir, işe yarar bir zincir olması için bir yerde sona ermesi gerekir.

Bu güvenilir kişilere Sertifika Otoritesi (Certificat authorities) ismi verilir.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir