Makale Özeti

Kimlik doğrulama, yazılımların güvenlikle ilgili olarak belki en hassas oldukları nokta. Kimlik doğrulamada yapacağınız bir hata, erişimi olmaması gereken bir kişinin belki de çok yüksek haklarla erişime sahip olmasını sağlayacaktır. Bu yazımızda kimlik doğrulamanın altyapısında kullanılan sistemlerden bahsedeceğiz.

Makale

Kimlik doğrulama

Kimlik doğrulama, bir kişinin ya da bir sistemin, olduğunu iddia ettiği kişi olduğunun ispatlanmasıdır. Tüm güvenlik sistemlerinin en kritik parçalarından birisi budur.
İnsanların gündelik hayatlarında, beş duyularını kullanarak yaptıkları bu işi, bilgisayar sistemleri çok daha az ölçüt kullanarak ve çok daha riskli bir şekilde yapmaktadır. Ama bu kadarı bile çok önemlidir, çünkü kimlik doğrulama olmadan, herhangi bir kişi ya da sistem, herhangi bir kaynak üzerinde hak iddia edebilir.
Kimlik doğrulama sistemleri ya da metotları aşağıdaki üç faktörden en az birine dayanır:
- Bildiğiniz bir şey: bir parola ya da PIN
- Sahip olduğunuz bir şey: bir akıllı kart ya da tanıtlama cihazı
- Doğrudan sizden olan bir şey: parmak iziniz ya da retina deseniniz gibi.
Sistemler birbirleri için de benzer şekillerde kimlik doğrulaması yaparlar. Sıklıkla sistemler arasında özel bilgiler kimlik doğrulama işlemi için gönderilir. Kimlik doğrulamadan sonra iki sistem nasıl tasarlanmışsa o şekilde iletişimi devam ettirecektir.
Kimlik doğrulama için yaygın kullanılan bazı metotlar vardır. Bunların her birinin avantajları ve dezavantajları bulunur. Güvenlik tasarımını yaparken hem olumlu hem olumsuz yönleri bilerek hareket etmek gerekir.

Kullanıcı ismi / Parola

Bir sisteme giriş sağlama sürecinde kullanıcı ismi ve parola en önemli iki faktördür. Bu ikili kullanılarak giriş yapmak isteyen kişinin kim olduğu doğrulanır. Sistem, güvenli bir ortamda sakladığı bilgilerle kıyaslayarak kişinin iddia ettiği kimliğin sahibi olup olmadığını denetler. Bunun ardından hangi kaynaklara erişime sahip olduğuna dair bilgiler gelir, ama bunlar kimlik doğrulama değil yetkilendirme konusuyla ilgili süreçlerdir.
Girilen kullanıcı ismi ve parola tek bir makineye olabileceği gibi bir ağa da genel giriş sağlayabilir.
Çoğu durumda, saklı bilgi girilen kullanıcı ismi ve parolanın kendisi değil, hash’idir. Hash fonksiyonları, geri dönüşümsüz fonksiyonlar oldukları için, sistemde saklı parola bilgilerinden orijinal parolaya geri dönüş yapılamaz. Ama girilen parolanın aynı mantıkla hash’i alındığında, iki hash’in birbirine eşit olma gerekliliği sayesinde, güvenli bir karşılaştırma yapmış oluruz.

CHAP (Challenge Handshake Authentication Protocol)

CHAP bir sistemi, kimliğini doğrulamaya davet eder. Bu protokolde kullanıcı ismi / parola mekanizması kullanılmaz. Bunun yerine, ilişkiyi başlatan istemci, sunucuya bir giriş isteği gönderir. Sunucu buna karşılık istemciye bir davet (challenge) gönderir. İstemci bu daveti önceden paylaşılmış bir anahtara göre şifreleyip sunucuya geri gönderir. Sunucu istemciden gelen bu şifreli daveti olması gereken halle karşılaştırır ve bilgiler uyuşursa yetkilendirme yapılır.

Sertifikalar

Sertifikalar, kimlik doğrulamanın bir başka yaygın kullanılan yoludur. Bir sunucu ya da sertifika otoritesi, kimlik doğrulanması talebinde bulunan sistem tarafından kabul edilecek bir sertifika yayınlayabilir. Sertifikalar akıllı kartlar gibi fiziksel bir cihaz şeklinde ya da elektronik olabilirler.
Okuduğunuz okulun size verdiği bir kimlik gibi düşünebilirsiniz sertifikayı. Kimliğiniz olduğu sürece, giriş noktalarından giriş yapabilirsiniz. Kimliğinizin süresi dolarsa, giriş hakkınız kaybolur. Yenisini almanız gerekir. Yenisini alabilmek için gerekli şartlara sahip olduğunuzu belgelemeniz gerekir.

Güvenlik jetonları

Güvenlik jetonları sertifikalara benzerler. Bu jetonlar, jetonu taşıyan kişinin haklarını ve erişim ayrıcalıklarını da içerirler. Pek çok işletim sistemi, bir kullanıcı bağlandığında ya da oturum başladığında güvenlik jetonunu oluşturur. Bu jeton, bilgisayarda yaptığınız her işlemde kullanılır. Eğer bir bilgiye erişmenize izin yoksa o bilgi görüntülenmeyebilir, ya da bir hata mesajıyla karşılaşabilirsiniz. Oturumun sonunda jeton yok edilir.

Kerberos

Kerberos yeni sayılabilecek bir protokoldür. MIT (Massachusetts Institute of Technology) tarafından tasarlanmış olan protokol bir kimlik doğrulama mekanizması olarak hayli yaygın kullanılmaktadır. Windows 2000’den itibaren Windows’ta da bu sistem uygulanmaya başlamıştır.
Kerberos, dağıtık bir network ortamına tek giriş yapılabilmesini sağlar. Kerberos kimlik doğrulama yöntemi, tüm süreci yönetmek için bir anahtar dağıtım merkezi (Key Distribution Center – KDC) kullanır. KDC, birimlerin orijinalliğini onaylar. Birimler, kullanıcılar, programlar ya da sistemler olabilir. KDC birime bir bilet sağlar. Bu bilet bir kez sağlandığında, diğer birimlere sunulmak üzere kullanılabilir. Bu süreç, diğer bir birim tarafından kimlik doğrulama istendiğinde otomatik olarak gerçekleşir.
Kerberos’un belirgin tek zayıf yönü, tek bir hata noktasının bulunmasıdır. KDC hizmet dışı kalırsa kimlik doğrulama süreci aksamaya uğrar.

Çoklu-faktör

Eğer bahsi geçen kimlik doğrulama sistemlerinden iki ya da daha fazlasını bir arada kullanıyorsanız, bir çoklu-faktör sistemi kullanıyorsunuz demektir. Mesela hem akıllı kart hem de parola kullanabilirsiniz.
Akıllı kartlar
Akıllı kart, pek çok kaynağa (binalar, park alanları ve bilgisayarlar gibi) erişim sağlayabilen bir çeşit karttır. Her alan, ya da bilgisayar, kartınızı okuyabilecek bir okuyucuya sahip olacaktır. Kartınız kimliğiniz ve erişim ayrıcalıklarınız üzerine bilgiler içerir. Kartın kaybolması ya da çalınması durumunda, bulan ya da çalan kişi kartı kullanabileceğinden, akıllı kartlarla birlikte bir başka kimlik doğrulama sistemi daha kullanılması akıllıca olacaktır. İkinci bir kimlik doğrulama sistemi ile birlikte akıllı kart kullanımı hayli etkin ve kolay uygulanabilen bir güvenlik seviyesi sağlar.

Biometrik

Biyometrik cihazlar, kullanıcıyı tanımlamak için fiziksel özelliklerini kullanırlar. Bilim kurgu / aksiyon filmlerinde sıklıkla gördüğümüz bu yöntemler, iş ortamlarında da giderek yaygınlaşmaktadır. El tarayıcıları, retina tarayıcıları bu tür cihazlardandır. Belki kısa sürede DNA tarayıcıları da bunların arasında, en azından çok yüksek güvenlik seviyesi gerektiren yerlerde yer alabilirler. Bu sistemde, erişim sağlamak için fiziksel tarama ortamından geçmeniz gerekir. El tarayıcıları, parmak izleri, yara izleri ve diğer işaretleri esas alınır. Retina tarayıcıları, daha önceden yüklü retina izinizle taranan izi karşılaştırır. DNA tarayıcıları, DNA’nın daha önceden yüklü belirli bölümlerini tarama ile karşılaştıracaktır.

Pratik sorunlar

Hangi yöntemi kullanırsanız kullanın, güvenlik tüm çalışanları ilgilendirdiği için, insana çok duyarlı bir konudur. Çalışanlarınızın teknik yönü zayıfsa, parola ezberletmek iyi bir yöntem olmayabilir. Gereken hassasiyeti göstermedikleri ya da gösteremedikleri için, uyguladığınız yüksek güvenlik kuralları, parolanın kağıtlara yazılmasına sebep olarak istediğinizin tam tersi bir etki bırakabilirler.
Pek çok güvenlik sistemi, büyük paralar harcandıktan sonra, kullanıcı tepkisi ve alışkanlıklarını yeterince göz önüne almadığı için yeniden tasarlanmak zorunda kalmıştır.
Güvenlik sistemlerinin bir yandan tüm çalışanlar tarafından rahatlıkla uygulanabilecek kadar kolay bir yandan da aşılamayacak denli güçlü olmasının gerekmesi, ciddi bir ikilem oluşturmaktadır. Ama bu ikilem açmaz değildir. Güvenlikten sorumlu kişilerin, değişen kullanıcı alışkanlıklarına ve değişen saldırı yapılarına karşı sürekli uyanık olması gerekir.