www.packerlx.com Packer for Linux eXecutables
Ana Sayfa
Ana Sayfa
Tux
Linux
Programlama
Programlama
Projeler
Projeler
enginkuzu blog
BLOG
Eskiler
Eskiler
Ben
Ben



Kullanıcı Doğrulama Yöntemleri


Günümüzde kullanıcının doğrulanması amacıyla genelde kullanıcı adı ve şifre ikilisi kullanılıyor. Daha çok ezberlenmesi gereken bu ikili genel anlamda başarılı olsa da yöntem kendi içinde bazı eksikleri de beraberinde getirmiştir. Öncelikle hep beraber bunlara bakalım :

  • Kullanıcı adı ve şifre ezberlenmek zorundadır.
  • Şifreler bazen kişinin özel bilgilerini içermekte (doğum yılı gibi) tahmini bazen zor olmamaktadır.
  • Bir yerde kullanılan şifre genelde başka yerde de aynen kullanılmaktadır. Birini bilen diğerine de ulaşabilir.
  • Şifrenizi yazarken gören bir kişi o şifreyi istediği kadar kullanabilir.
  • Şifreler sözle ve yazılı olarak kolayca aktarılabilir.

    Günümüzde aynı yöntemi iyileştirmek için neler yapılmaktadır?

  • Şifreler en az 6 yada 9 karakterli belirlenmektedir.
  • Şifre deneyen yazılımları durdurmak için genelde 3 hatalı denemeden sonra gizli soru sorulmakta yada sonraki deneme için araya zaman konulmaktadır.
  • Kullanıcı adı, isim, soyisim ve doğum tarihi ile ilgili şifre belirlenmesi kabul edilmemektedir.
  • Şifre deneyen yazılımların kelime hazinelerindeki şifreler kabul edilmemektedir.
  • Şifre doğru olsa bile kişinin özel bilgilerinden biri daha sorularak güçlendirilmektedir.

    Peki farklı bir yöntem nasıl olabilir? Hep birlikte düşünelim :

    Şifrenin bir kere ele geçmesi eriştiğiniz yetkiye göre farklı sonuçlar doğuracaktır. Şifre ele geçse de onu kullanılamaz hale getiremez miyiz? Şifrenin her seferinde farklı olduğu fakat algoritmanın değişmediği bir yöntem bu durumda işe yarayacaktır. Böylece şifrenin başka insanlara aktarımı da zorlaşır. Çünkü ortada tek bir şifre yoktur. Yalnızca değişmeyen bir yöntem vardır.

    Bunu gerçekleştirmek için her kullanıcıya kendi yöntemini ortaya koymasını istememiz gerekecek. Bu kullanıcı için ayrıca zaman ve düşünme gerektiriyor. Algoritma ortaya konduktan sonra şifre girişleri için de kullanıcı üzerinde biraz düşünmesi gerekecek.

    A34T TRF4710KR APT9TTY006 45AK13 98F1
    P0Y1K2H0 5U6 342 09
    K9
    Yukarıdaki ifadenin tek başına bir anlamı yok, rastgele üretilmiş olduğunu düşünün. Kullanıcının yapması gereken kendi algoritmasıyla bunu işlemek. Sonunda kullanıcı doğru şifreye ulaşacak ve bunu girecek. Arka tarafta kullanıcı algoritması bilindiği için yazılması gereken ifade de bellidir. Sonrası bunları karşılaştırmaya kalıyor. Sisteme tek kişi girmek istiyorsa bu yeterli fakat birden fazla giriş varsa buna kullanıcı adı eklenmesi zorunlu gibi görünüyor.

    Algoritmaların temelleri nasıl olabilir?

  • Girilen karakterden sonraki karaktere dönüştürerek. ( A->B, 7->8 )
  • Girilen karakterden önceki karaktere dönüştürerek. ( R->P, 7->6 )
  • Tekrarlamak. ( 4F->44FF veya 4F->4FFFF veya 4F->FFFF veya 4F->4F4F4F4F veya 4F->4444FFFF veya 4F->4444F )
  • Eklemek. ( ABC->A1B1C1 veya 5ABC->A6B7C8 )
  • Silmek. (ABCDEFG->ACEG veya A1B8Y7KK-> ABYKK veya A12E->12 )
  • Bir sayıdan çıkarma. ( Örnek:7 A99B->A92B veya A9B8C7U6FF->A2B1C0U9FF )
  • Eksiltme. ( Örnek:2 C6C->C4C veya C6C->A4A )
  • Toplama. ( Örnek:3 A5B->A8B veya A5B->D8E )
  • Aynen yazma ( FF81->FF81 )
  • Tek bir algoritma kolay çözülür. Bu nedenle yapı içinde birden fazla ve çok daha çeşitli algoritmalar kullanmak gerekir. Birden fazla algoritmanın hangi sınırlarda etkili olacağını anlamak için veriyi gruplandırmamız gereklidir.

  • Renklere göre gruplama.
  • Bloklara göre gruplama. ( AA BBB CCCC üç farklı grubu temsil eder. )
  • Satırlara göre gruplama. ( Her satır farklı algoritmaya göre. )
  • Belirli sayılara göre gruplama yapılabilir. ( 7 tanesi x, 3 tanesi y algoritmasına göre )
  • Belirli sayıdan küçük olmasına göre. ( 5 den küçük olanlar x algoritmasına göre )
  • Belirli sayıdan büyük olmasına göre. ( 3 den büyük olanlar x algoritmasına göre )
  • Sayının tek yada çift olmasına göre. ( 3, 5, 7 x algoritmasına göre. )

    Basit uygulama 1 :

    A34T TRF4710KR APT9TTY006 45AK13 98F1
    P0Y1K2H0 5U6 342 09
    Yukarıdaki ifade bize verilmiş olsun. Algoritmamız ise söyle :
  • Her blokta ilk rastlanan sayı ve harf alınacak.
    Sonuç aşağıdaki gibi görünmektedir.
    A3 T4 A9 4A 9F
    P0 5U 3 0

    Basit uygulama 2 :

    A34T TRF4710KR APT9TTY006 45AK13 98F1
    P0Y1K2H0 5U6 342 09
    Yukarıdaki ifade bize verilmiş olsun. Algoritmamız ise söyle :
  • Her iki harften sadece ilki aynen alınacak bir sonraki alınmayacak.
  • Sayılardan tek olanlar aynen alınacak çift olanlar alınmayacak.
    Sonuç aşağıdaki gibi görünmektedir.
    A3 TF71R P9TY 5K13 91
    P1K 5U 3

    Basit uygulama 3 :

    A34T TRF4710KR APT9TTY006 45AK13 98F1
    P0Y1K2H0 5U6 342 09
    Yukarıdaki ifade bize verilmiş olsun. Algoritmamız ise söyle :
  • Harfler bir sonraki harfe dönüştürülecek.
  • Tek sayılar aynen yazılıp kendinden sonra gelen ifadenin iki defa yazılmasını gerektirecek.
  • Çift sayılara ise 1 eklenecek.
    Sonuç aşağıdaki gibi görünmektedir.
    B355U USG57111LS BRU9UUUZ117 55BBL133 999G1
    RR1Z1LL3I1 5VV7 3553 19


    Sonuç :
  • Şifrenin taşınabilirliği azalmıştır.
  • Şifrenizin başkalarının eline geçmesi daha zordur.
  • Tek kullanıcılı sistemler için daha uygundur.
  • Şifre girişi daha uzun zaman alır ve düşünme gerektirir.
  • Yöntem her insan için kolay, her sistem için uygulanabilir değildir.



    Telif Hakkı © 2006 Engin KUZU Yayın tarihi : 3 Haziran 2006
    Dökümanın orjinal adresi : http://www.enginkuzu.org/kullanici-dogrulama.php
    Yukarıda belirtilen yöntemler bir kaynaktan alınmış değildir, yalnızca yazarın kendi düşüncelerini ortaya koyar.