Base32 Gizli Anahtarla TOTP Kodu Oluşturma
Base32 gizli anahtarınızı kullanarak HMAC-SHA1 algoritmasıyla zamana dayalı TOTP ve sayaç tabanlı HOTP doğrulama kodları üretmenin adımlarını keşfedin.
İki adımlı kimlik doğrulama sistemlerinde kullanılan tek kullanımlık güvenlik kodları, kullanıcı hesaplarının korunmasında kritik bir rol oynar. Bu kodlar genellikle Base32 formatında saklanan bir gizli anahtar üzerinden HMAC-SHA1 algoritması ile türetilir. Doğrulama yapısını test etmek veya manuel kod üretmek istediğinizde doğru parametreleri girmek büyük önem taşır.
TOTP ve HOTP Kodlarının Çalışma Mantığı
Tek kullanımlık parolalar iki temel yöntemle hesaplanır. Zamana dayalı yöntem olan TOTP (RFC 6238), geçerli Unix zaman damgasını belirlediğiniz saniye periyoduna bölerek bir zaman adımı belirler. Sayaç tabanlı yöntem olan HOTP (RFC 4226) ise zaman yerine her kullanımda artan bir sayaç tam sayısını işler. İki yöntemde de aynı Base32 gizli anahtar kullanılır, ancak kodun yenilenme mantığı tamamen farklıdır.
Adım Adım OTP Oluşturma Adımları
Doğru ve geçerli bir doğrulama kodu üretmek için aşağıdaki adımları sırasıyla uygulayabilirsiniz:
- OTP Doğrulama Kodu Üretici aracını açın ve elinizdeki Base32 formatındaki gizli anahtarı metin kutusuna yapıştırın.
- Kullanacağınız yönteme göre TOTP veya HOTP modunu seçin. Varsayılan olarak TOTP modu etkindir.
- İhtiyacınıza göre kod uzunluğunu 6 veya 8 basamak olarak belirleyin. Standart kimlik doğrulama uygulamalarının büyük kısmı 6 basamaklı kodları tercih eder.
- TOTP modunda yenilenme aralığını saniye cinsinden girin. Varsayılan değer 30 saniyedir ancak 1 ile 86400 saniye arasında tam sayı bir değer seçebilirsiniz.
- HOTP modunu kullanıyorsanız, 0 ile 18446744073709551615 aralığında geçerli bir tam sayı sayaç değeri yazın.
- Hesaplama işlemini başlatın ve ekranda oluşan sayısal kodu inceleyin.
Üretilen Kodu ve Kalan Süreyi Değerlendirme
TOTP modunda hesaplama yapıldığında araç yalnızca 6 veya 8 basamaklı kodu üretmekle kalmaz, aynı zamanda içinde bulunulan periyodun bitmesine kaç saniye kaldığını da gösterir. Sayaç sıfıra ulaştığında sistem yeni bir zaman adımına geçeceği için kod otomatik olarak yenilenir. HOTP modunda ise sistem saati okunmaz; aynı sayaç değeri ve aynı gizli anahtar kullanıldığı sürece her zaman aynı sayısal çıktı elde edilir.
İki adımlı kimlik doğrulama kurulumlarında gizli anahtarlar çoğu zaman bir karekod içerisinde taşınır. Bu tür kurulum testlerini uçtan uca simüle etmek istediğinizde QR Kod Oluşturucu gibi araçlarla anahtar metnini görsel formata dönüştürerek mobil uygulamalarda taratabilirsiniz.
Uygulamalı Örnek
Bir test senaryosunda elinizde JBSWY3DPEHPK3PXP şeklinde bir Base32 gizli anahtarı olduğunu varsayalım. Bu anahtarla standart bir kimlik doğrulama kodu üretmek için:
- Gizli anahtar alanına metni girin.
- Mod seçimini TOTP olarak bırakın.
- Basamak sayısını 6, periyot değerini ise 30 saniye olarak ayarlayın.
- İşlemi çalıştırdığınızda sistem, geçerli Unix zaman damgasını 30'a bölerek o ana özgü 6 basamaklı kodu hesaplar. Ekranda üretilen sayısal kod ve periyottan kalan saniye bilgisi gösterilir.
Sık Yapılan Hatalar ve Sınırlamalar
- Ondalıklı değer girmek: Periyot veya sayaç alanlarına 30,5 veya 1,2 gibi virgüllü sayılar yazmak işlemin başarısız olmasına yol açar. Yalnızca tam sayı kullanılmalıdır.
- Geçersiz karakterler: Base32 standardı dışındaki karakterlerin anahtar metninde yer alması hesaplama hatasına sebep olur.
- Algoritma kapsamı: Araç HMAC-SHA1 standardına dayalı RFC 4226 ve RFC 6238 spesifikasyonlarıyla sınırlıdır; farklı şifreleme özetleri desteklenmez.
- Yanlış mod tercihi: Zaman tabanlı bir sisteme sayaç değeriyle kod üretmeye çalışmak kod uyuşmazlığına yol açar.
Sıkça Sorulan Sorular
TOTP dönemi kaç saniye olmalıdır?
Standart kimlik doğrulama sistemlerinde en yaygın periyot 30 saniyedir. İhtiyacınıza göre bu değeri 1 ile 86400 saniye arasında pozitif bir tam sayı olarak değiştirebilirsiniz.
HOTP için sayaç girmek gerekir mi?
Evet. HOTP modunda sistem saati okunmadığı için kodun hangi adımda üretileceğini sayaç tam sayısı belirler. Sayaç 0 veya daha büyük bir tam sayı olmalıdır.
Base32 anahtarında boşluk veya küçük harf olması sorun oluşturur mu?
Hayır. Girdideki kenar boşlukları otomatik olarak temizlenir, küçük harfler büyük harfe dönüştürülür ve eksik dolgu işaretleri kabul edilerek anahtar normalize edilir.
Oluşturulan sonuç gizli anahtarı gösterir mi?
Hayır. Sonuç panelinde yalnızca üretilen tek kullanımlık güvenlik kodu ve TOTP modu için kalan saniye yer alır; gizli anahtarınız ekranda tekrar listelenmez.