Yazan : Şadi Evren ŞEKER

Veri güvenliğinde kullanılan bir konudur. Basitçe bir kullanıcının veya programın bir sisteme girip giremeyeceğini veya girmesi durumunda hangi yetkilerle ne kadar iş yapabileceğini belirleyen yapıdır.

En basit anlamda cep telefonlarında kullanılan PIN (personal identification number, kişisel tanıtma numarası) veya hemen her kapının üzerinde bulunan kilitler ve bu kilitleri açan anahtarlar güncel birer yetkilendirme olarak düşünülebilir. Basitçe kapıyı açma yetkisi olan kişi, kapıyı açan anahtarı taşıyan kişidir.

Örneğin bir ATM (automatic teller machine, bankamatik ) makinesinden para çekmek isteyen bir kişinin yetkilendirilmesi için hem bir bankamatik kartı olması hem de bu kartın şifresini biliyor olması gerekir. Bu durumda kart ve şifre ikilisi yetkilendirme için kullanılmaktadır.

Bilgisayar bilimlerinde kullanılan veri güvenliği açısından üç çeşit yetkilendirmeden bahsedilebilir:

Mesaj özetlerinin yetkilendirmede kullanımı

Mesaj özetleri (message digests) basitçe yetkilendirme sırasında şifrenin geri dönülemez şekilde saklanması amacıyla çıkmıştır. Buna göre bir kullanıcının yetkilendirilmesi için şifresi saklanmak zorundadır. Ancak şifre açık bir şekilde saklanırsa bir saldırgan ele geçirebilir. Şayet şifre bir algoritma tarafından şifreli olarak saklanırsa bu defa algoritmayı bilen veya anahtarı tutan kişi tarafından öğrenilebilir. (tahminen sistem yöneticisi). Oysaki sistem yöneticisinin bile ulaşamayacağı bir güvenlik mümkündür.

Bunun için kullanıcının şifresi mesaj özeti alınarak veri tabanında (database) saklanır. Mesaj özetleri tek yönlü fonksiyonlardır (trapdoor functions) dolayısıyla veritabanındaki bu özetlenmiş şifreden orijinal şifreye hiç kimse geri dönemez.

Yukarıdaki şekilde gösterildiği üzere sisteme giriş yapmak isteyen Ali, şifresini özetleme fonksiyonundan geçirir. Ardından ağ üzerinden sisteme şifresini yollayan Ali’nin şifresi sunucuda kontrol edilir. Sunucuda sadece özetlenmiş haldeki şifre tutulduğundan iki özetlenmiş şifre karşılaştırılmış olur.

Kullanıcı sisteme girmek istediğinde şifresini yazar. Yazılan bu şifrenin de mesaj özeti alınır ve veri tabanındaki (database) özetlenmiş şifre ile karşılaştırılır. Şayet iki özet aynıysa kullanıcı doğru şifre girmiştir. Şayet farklıysa kullanıcının şifresi hatalıdır.

Bu noktada 2 problem bulunur. Birincisi bir mesaj özeti birden fazla şifreye tekabül edebilir. Bu çok düşük bir ihtimaldir ancak saldırgan tarafın şifre denemesi sırasında yapacağı deneme sayısını azaltır.

İkinci problem ise şifre tekrarlama saldırısıdır. Yani sistemi gözetleyen (veya internet üzerinden sisteme giriş yapan birisi için internetteki veri iletişimini kaydeden) bir saldırgan tarafından şifrenin özetlenmiş hali saklanıp, şifrenin orijinal hali hiç bilinmeden sisteme giriş için özetlenmiş hali kullanılabilir.

Dijital imza kullanılarak yetkilendirme

Bir bilgi kaynağının doğrulanması sırasında dijital imzalar kullanılabilir. Dolayısıyla tam olarak kullanıcının beklenen kişi olduğundan emin olunabilir. Dijital imza basitçe bir asimetrik şifrelemenin (umumi anahtar şifrelemesi) kullanılmasıyla kişinin beklenen kişi olduğunu sağlamaktadır.

Bunun için kişinin umumi olarak yayınladığı şifre (örneğin internet üzerinden) alınır ve bu kaynaktan gelen veriyi açmak için kullanılır. Kaynaktan gelen veri daha önceden yetkilendirilecek olan kişinin hususi anahtarı (private key) ile şifrelenmiş olduğu için sadece kullanıcının gerçek umumi anahtarı bu şifreyi açabilmelidir.

Örneğin kullanıcı sisteme giriş için gereken şifresini bir asimetrik şifreleme yöntemi ile kendi hususi anahtarını kullanarak şifrelemiş olsun. Şifrelenmiş bu bilgiyi sunucuya yollayarak sisteme giriş izni ister. Sunucu kullanıcının herkes tarafından erişilebilen umumi anahtarını kullanarak şifrelenmiş olan giriş şifresini açmaya çalışır. Sonuçta elde ettiği değer sunucudaki şifre ile aynıysa kullanıcı yetkilendirilir ve sisteme giriş izni verilir.

Yukarıdaki şekilde görüldüğü üzere Ali’nin umumi anahtarı ve Ali’nin yetkilendirilme bilgileri ayrı ayrı yetkilendirme sistemine yollanır. Sistem bu iki bilgiyi kullanarak Ali’nin yetkilendirilme bilgilerine ulaşır ve bu bilgiyi sistemdeki bilgi ile karşılaştırır.

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

Herhangi bir şekilde bir saldırganın sistemde yetkilendirilme için bilinen umumi anahtardan gizli tutulan hususi anahtara erişmesi gerekir. Bu işlem kullanılan asimetrik şifreleme yöntemine göre değişmekle birlikte genelde ulaşılması zor ve vakit alan bir işlemdir.

Sertifika kullanılarak yetkilendirme

Bir kullanıcının yetkilendirilmesi sırasında beklenen kişi olduğundan emin olmak için sertifikalar kullanılabilir. Sertifikaların (certificates) amacı taşımış olduğu kişisel bilgiler ve şifre parçaları ile güvenilir bir kaynak tarafından (sertifika otoritesi , certificate authority) doğrulanmasıdır.

Basitçe kullanıcı kendisini tanıtan şifreli bilgiyi ve bu şifreli bilgiyi açmak için gereken umumi anahtarı yetkilendirilmek istediği sunucuya yollar. Sunucu bu bilgilerin doğruluğunu kontrol edebilir ancak tahmin edileceği üzere herhangi bir kişi ben yetkiliyim bu da şifrem diyerek başvurabilir. Bu kişinin gerçekten doğru umumi anahtar taşıdığından emin olmak için bir otorite tarafından onayı gerekir.

Sunucu kullanıcıyı onaylamadan önce sertifika otoritesinden kullanıcının sertifikasını talep eder. Elde ettiği sertifika ile kullanıcının umumi anahtarını doğrular ve ardından kullanıcının yetkilendirme sırasında ihtiyaç duyulan bilgilerini açar. Sonuçta açılan bilgiler doğruysa sistem tarafından kullanıcı yetkilendirilir.

Yukarıdaki şekilde görüldüğü üzere Ali’nin sisteme giriş bilgileri ve umumi anahtarına ilave olarak sertifikası marifetiyle doğru umumi anahtarı sunduğundan emin olunmaktadır.

Bir cevap yazın

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