OTP (One-Time Password) Çözümlerinin Araştırılması

One Time Password genel olarak araştırdığımda fazla bilgi yoktu fakat Tek Kullanımlık şžifre şuanda günümüzde sıkça kullanılmaktadır.Bununla birlikte şuanda herhangi bir bankada internet şubesine erişim sağlandıktan sonra yapılacak işlemler için Tek Kullanımlık şifre cep telefonumuza kısa mesaj yoluyla ulaştırılmaktadır. Bunun yanında cep telefonu şirketleride aynı uygulamayı önemli yerlerde kullanmaktadır. Bunun yanında tek kullanımlık şifre oluşturan şifrematikler bankalar tarafından müşterilerine verilmeye başlanmıştır bile.

Tek kullanımlık şifre ile ilk karşılaşmam Dan Brown’ ın İhanet Noktası kitabında dünyadaki tüm şifreleri kırabilen ve çok yüksek veri akışı olan bilgisayara; zamana göre şifresi değişen bir şifreleme metodu kullanılarak şifrelenmiş dosyanın, şifreyi çözmek için verilmesini konu alan bir romandı. Bu şifrenin kırılması gerçekten imkansızdı. Çünkü böyle bir şifre yoktu. Bunu yazan kişi sadece trojen yazıp, süper bilgisayara sokmuştu. Tabi bunu romanın sonuna kadar okuyup anlamanın heyecanı gerçekten Tek Kullanımlık Şifrenin önemini gösterdi.Bununla birlikte şuanda herhangi bir bankada internet şubesine erişim sağlandıktan sonra yapılacak işlemler için Tek Kullanımlık Şifre cep telefonumuza kısa mesaj yoluyla ulaştırılmaktadır. Bunun yanında cep telefonu şirketleride aynı uygulamayı önemli yerlerde kullanmaktadır. Bunun yanında tek kullanımlık şifre oluşturan şifrematikler bankalar tarafından müşterilerine verilmeye başlanmıştır bile. Neden tek kullanımlık şifre? Adındanda anlaşılacağı gibi kişinin şifreyi tek sefer kullanabilmesi daha sonrasında aynı şifrenin başkasının eline geçmesiyle yapabileceği bir şey olmamasını göstermektedir. Sonraki denemede bu şifre geçersiz olacaktır. Bu şifreler tek yönlü şifrelerdir.

Tek kullanımlık şifre 1995 yılında çıkmıştır. 13 yıllık bir geçmişinin olduğunu kim düşünebilirki. OTP; S/KEY (S/KEY; Bellcore’ nin markasıdır.) tarafından geliştirilmiştir. Ağa bağlı olan bilgisayar sistemlerinde  başkalarını gizlice dinleyip onların kullanıcı adı, şifre gibi gerçek bilgilerini bir form ile saldırarak alınabilir. Daha sonra kullanılmak üzere bu bilgiler kaydedilir. Tek kullanımlık şifreler (OTP – One Time Password) tekrar saldırısı adıyla anılan bu şifreye dayalı saldırıları engellemek amacıyla
tasarlanmıştır. Doğru sistemler tek kullanımlık şifre oluşturarak dosyadaki gizliliği kaldırır.

S/KEY tek kullanımlık şifreli sistemlerin iki yüzü vardır. Alıcı tarafında, hemen hemen şifre oluşturulmuştur. Verici tarafında, sunucu  tek kullanımlık şifreyi onaylamalı ve kullanıcının gizli birkaç sözcükten oluşan (phrase) şifresini değiştirmeye izin vermelidir.

S/KEY sistem alıcısı kullanıcı gizli şifresini bir çok  karmaşık fonksiyondan geçirir ve tek kullanımlık şifreyi oluşturur. Her kullanım için uygulamalar teke düşürülür. Böylece tek seri şifre oluşturulur. Verici tek kullanımlık şifreyi karmaşık fonksiyonla geçen şifreyi doğrular ve sonuçları bir önceki şifreyle karşılaştırır. Bu teknik ilk olarak Leslie Lamport tarafından önerilmiştir.

Güvenli Karmaşık Fonksiyon (Secure Hash Function) :
Güvenli karmaşık fonksiyon yönlendirme rotasını kolaylıkla hesaplar fakkat yapılamaz ölçümleri ters düz eder. S/KEY sistemleri MD4 mesaj kavrama algoritması temeli ile Ronald Rivest tarafından tasarlanmıştır. S/KEY doğruluğu kanıtlanmış sistemler hazırlarken, MD5 mesaj kavrama piyasaya sunuldu. MD4 kullanılmaya devam etti. Büyük sayıda alıcı programlar dağıtılmıştı. Bazı siteler MD5 e benzer özelliklerde temel sistemler geliştirdi. Açıktıki vericiler ve sunucular aynı güvenli karmaşık fonksiyonu kullanmalıydılar.

S/KEY tek kullanımlık şifreleri 64 bit uzunluğa sahiptir. Bu güvenlik için yeterli uzunlukta ve önemli durumlarda elle girmek için yeterli kısalıktaydı.

S/KEY sistemleri son çıkan 64 bitlik çıktı verisi ile güvenli karmaşık fonksiyonlarda çoğu zaman güvenliği ön planda tutmuştur. MD4; istenilen bit kadar giriş yapılabilmeyi ve çıktı olarakta 128 bit çıktı verebilmeyi kabul etmiştir. S/KEY gübenli karmaşık fonksiyonunda MD4; 64 bitlik giriş alıp gene 64 bitlik çıkış verir.

MD4 Mesaj Kavrama Algoritması :

MD4_CTX md;

unsigned char result[16];

strcpy(buf, seed); /* seed must be in lower case */ (küçük harflerle yazılmalı)

strcat(buf, passwd);

MD4Init(&md);

MD4Update(&md, (unsigned char *)buf, strlen(buf));

MD4Final(result, &md);

/* Fold the 128 bit result to 64 bits */ (128 bitlik veri 64 bit e dönüşür.)

for (i = 0; i < 8; i++)

result[i] ^= result[i+8];

SHA Güvenli Karmaşık Algoritması :

SHA_INFO sha;

unsigned char result[16];

strcpy(buf, seed); /* seed must be in lower case */ (küçük harflerle yazılmalı)

strcat(buf, passwd);

sha_init(&sha);

sha_update(&sha, (unsigned char *)buf, strlen(buf));

sha_final(&sha); /* NOTE: no result buffer */

/* Fold the 160 bit result to 64 bits */ (160 bitlik veri 64 bit e dönüşür.)

sha.digest[0] ^= sha.digest[2];

sha.digest[1] ^= sha.digest[3];

sha.digest[0] ^= sha.digest[4];

/*

* copy the resulting 64 bits to the result buffer in little endian

* fashion (analogous to the way MD4Final() and MD5Final() do).

*/

for (i = 0, j = 0; j < 8; i++, j += 4)

{

result[j] = (unsigned char)(sha.digest[i] & 0xff);

result[j+1] = (unsigned char)((sha.digest[i] >> 8) & 0xff);

result[j+2] = (unsigned char)((sha.digest[i] >> 16) & 0xff);

result[j+3] = (unsigned char)((sha.digest[i] >> 24) & 0xff);

}

 Tek kullanımlık Şifre Adımları :

Tek kullanımlık şifrenin oluşturulması.

Tek kullanımlık şifrenin doğrulanması.

 Tek Kullanımlık Şifre Örnekleri :

Input:

Pass Phrase: Too_short

Seed: iamvalid

Count: 99

Hash: ANY

Output:

ERROR: Pass Phrase too short

Input:

Pass Phrase:

1234567890123456789012345678901234567890123456789012345678901234

Seed: iamvalid

Count: 99

Hash: ANY

Output:

WARNING: Pass Phrase longer than the recommended maximum length of 63

Input:

Pass Phrase: A_Valid_Pass_Phrase

Seed: Length_Okay

Count: 99

Hash: ANY

Output:

ERROR: Seed must be purely alphanumeric

Input:

Phrase: A_Valid_Pass_Phrase

Seed: LengthOfSeventeen

Count: 99

Hash: ANY

Output:

ERROR: Seed must be between 1 and 16 characters in length

Input:

Pass Phrase: A_Valid_Pass_Phrase

Seed: A Seed

Count: 99

Hash: ANY

Output:

ERROR: Seed must not contain any spaces

Input:

Pass Phrase: A_Valid_Pass_Phrase

Seed: AValidSeed

Count: 99

Hash: MD5

Output:

Hex: 85c43ee03857765b

Six Word(CORRECT): FOWL KID MASH DEAD DUAL OAF

Six Word(INCORRECT PARITY): FOWL KID MASH DEAD DUAL NUT

Six Word(INCORRECT PARITY): FOWL KID MASH DEAD DUAL O

Six Word(INCORRECT PARITY): FOWL KID MASH DEAD DUAL OAK

Kaynaklar :

http://tools.ietf.org/html/rfc2289
http://tools.ietf.org/html/rfc1760

Bir Cevap Yazın

Connect with:

No provider registered!
Please visit the Settings\ WP Social Login administration page to configure this plugin.

İsim *
E-posta *
İnternet sitesi