TOTP Üretici
Google Authenticator ya da Authy size her 30 saniyede bir değişen altı haneli bir kod gösterdiğinde, gördüğünüz şey TOTP'dir: paylaşılan bir gizli anahtar ile geçerli Unix zamanından hesaplanan, RFC 6238 ile standartlaştırılmış bir HMAC. Bu üretici aynı kodları herhangi bir Base32 gizli anahtardan hesaplar; yeni bir iki faktörlü kimlik doğrulama (2FA) entegrasyonunda hata ayıklamak, bir hizmetin kodlarınızı neden reddettiğini bulmak ya da algoritmanın farklı parametrelere nasıl tepki verdiğini izlemek için kullanışlıdır. Burada test anahtarları kullanın: kod bizim sunucumuzda hesaplanır, bu yüzden hesaplarınızı koruyan gerçek gizli anahtarların yeri bir web sayfası değil, bir kimlik doğrulayıcı uygulamadır.
Bu TOTP üretici nasıl çalışır
-
1
Base32 gizli anahtarı yapıştırın
A-Z harfleri ve 2-7 rakamları, yani otpauth:// QR kodlarının içindeki biçim. Boşluklar ve küçük harfler sorun değildir; bunun dışındaki her şey geçersiz Base32 olarak bildirilir.
-
2
Özet algoritmasını seçin
Hemen her hizmet SHA-1 kullanır; SHA-256 ya da SHA-512 seçeneğine yalnızca hizmet açıkça istediğinde geçin.
-
3
Hane sayısını ve süreyi ayarlayın
6, 7 ya da 8 hane ile 30 veya 60 saniyelik bir pencere seçin. Standart kombinasyon her 30 saniyede 6 hanedir.
-
4
Geçerli kodu okuyun
Kod her saniye yenilenir; geri sayım, geçerli pencerenin kaç saniyesi kaldığını gösterir.
-
5
otpauth URI ile karşılaştırın
Araç, parametreleriniz için otpauth:// URI adresini gösterir; böylece bir hizmetin kurulum QR kodunun kodladığı değerle karşılaştırabilirsiniz.
Algoritma sade bir dille
TOTP, sayacın yerini geçerli Unix zamanının zaman adımına (genellikle 30 saniye) bölünmüş halinin aldığı HOTP’tur (HMAC tabanlı tek kullanımlık parola, RFC 4226):
counter = floor(unix_time / 30)
hash = HMAC-SHA1(secret, counter_as_8_byte_big_endian)
offset = last byte of hash AND 0x0F
truncated = 4 bytes from offset, with the top bit zeroed
code = truncated mod 10^digits
Cihazınız ve sunucu, aynı gizli anahtar ve aynı saat üzerinde aynı hesabı yapar; böylece kod hiçbir yere gönderilmeden ikisi de aynı koda ulaşır. 6 haneli kod, kısaltılmış HMAC’in 10^6 modülünden ibarettir. Sihir yok, sadece özetleme.
Yaygın parametreler
| Hizmet | Algoritma | Hane | Süre |
|---|---|---|---|
| Çoğu web sitesi ve uygulama | SHA-1 | 6 | 30 sn |
| GitHub | SHA-1 | 6 | 30 sn |
| Cloudflare | SHA-1 | 6 | 30 sn |
| Microsoft hesapları | SHA-1 | 6 | 30 sn |
| Bazı bankalar ve kurumsal VPN’ler | SHA-256 veya SHA-512 | 8 | 60 sn |
Bir hizmet kodlarınızı reddediyorsa önce hane sayısını ve süreyi, sonra algoritmayı kontrol edin. Ayrıca bazı kimlik doğrulayıcı uygulamaların standart dışı parametreleri sessizce yok saydığını unutmayın (Google Authenticator geçmişte her şeyi SHA-1, 6 hane, 30 saniye olarak ele alırdı); bu yüzden her zaman kullanıcılarınızın kullanacağı uygulamanın aynısıyla test edin.
Gizli anahtarları güvenle saklamak
- Bir 2FA gizli anahtarını asla e-posta ya da mesajla göndermeyin. Bir gelen kutusuna girdiği anda, sağlayıcının günlüklerinde ve yedeklerinde süresiz kalır.
- Kaydı QR kodu tarayarak yapın. QR kodu, gizli anahtarı, algoritmayı, hane sayısını ve süreyi tek ve net bir pakette taşıyan bir
otpauth://totp/...URI içerir. - Kayıt anında yedekleyin. Kurtarma kodlarını ya da gizli anahtarın kendisini bir parola yöneticisinde saklayın; onlar olmadan telefonu kaybetmek sizi dışarıda bırakır.
- Her hizmete ayrı gizli anahtar. Her hizmet kurulumda kendi gizli anahtarını üretir; biri sızarsa, eskisinin geçersiz kalması için o hizmette 2FA kaydını yenileyin.
Zaman kayması
TOTP yalnızca iki saat uyuştuğu sürece çalışır. Bu sayfa kodları sunucunun saatiyle hesaplar; buradaki kod telefonunuzdaki kimlik doğrulayıcıdan farklıysa ilk şüpheli cihazın saatidir. Çoğu doğrulayıcı her iki yönde bir pencerelik sapmayı kabul eder (30-60 saniye); bunun ötesinde, gizli anahtarı suçlamadan önce cihaz saatini NTP ile eşitleyin.
Burada test anahtarları kullanın
Bu araç kodu bizim sunucumuzda hesaplar: yazdığınız gizli anahtar her güncellemede HTTPS üzerinden iletilir ve aracın adımları arasında geçerken sayfa URL’sinde de görünür. Tek kullanımlık test anahtarlarıyla geliştirme, demo ve hata ayıklama için bu gayet uygundur. Ancak e-postanızı ya da banka hesabınızı koruyan gerçek gizli anahtarın yeri burası değildir; onun yeri telefonunuzdaki özel bir kimlik doğrulayıcı uygulamadır. Gerçek bir gizli anahtarı kimlik doğrulayıcınızın dışında bir yere zaten yapıştırdıysanız, anahtarın yenilenmesi için o hizmette 2FA kaydını baştan yapın.
Sık Sorulan Sorular
Bu sayfayı bir kasa değil, geliştirici ve test aracı olarak görün. Kod sunucu tarafında hesaplanır; yani gizli anahtar HTTPS üzerinden sunucumuza gider ve adımlar arasında sayfa URL’sinde görünebilir. Demo ya da geliştirme anahtarlarını gönül rahatlığıyla kullanın; önemsediğiniz bir hesabın gerçek gizli anahtarını asla yapıştırmayın. Yapıştırdıysanız, anahtarı yenilemek için o hizmette 2FA kaydını baştan yapın.
Önce parametreleri kontrol edin: algoritma, hane sayısı ve süre, hizmetin verdiğiyle birebir aynı olmalıdır. Sonra saatlere bakın: bu sayfa sunucunun saatini kullanır, dolayısıyla bir uyuşmazlık genellikle diğer cihaza işaret eder. Son olarak bazı uygulamaların standart dışı parametreleri yok saydığını hatırlayın; klasik örnek Google Authenticator’dır.
Yalnızca Base32: A’dan Z’ye harfler ve 2’den 7’ye rakamlar, isteğe bağlı = dolgusuyla. Boşluklar silinir, küçük harfler otomatik dönüştürülür. Onaltılık (hex) ya da ham bayt anahtarların önce Base32’ye çevrilmesi gerekir; aksi halde araç geçersiz Base32 anahtarı bildirir.
O hesabın 2FA’sının dışında kalırsınız. Hizmetin kurtarma akışını kullanın (kurtarma kodları, kimlik doğrulaması, SMS yedeği). Kurulumda kurtarma kodlarını ya da ilk QR kodunu her zaman güvenli bir yere kaydedin.
Evet. Sunucu tarafında en az 128 bit (RFC 4226, 160 bit önerir) rastgele bir gizli anahtar üretin, onu yalnızca bir kez QR kodu olarak gösterin ve gönderilen kodları aynı HMAC hesabını yaparak, genellikle her iki yönde bir pencerelik toleransla doğrulayın. Her teknoloji için olgun kütüphaneler var: pyotp (Python), otplib (JavaScript), rotp (Ruby).
İlgili Araçlar
Sayıdan Harfe Şifre
Bulmacalar, bilmeceler ve kaçış odası ipuçları için A=1, B=2 şifresiyle (A1Z26) sayıları harflere, harfleri sayılara çevirin.
Hash Oluşturucu
Kontrol toplamları ve karşılaştırmalar için kopyalamaya hazır özetlerle, metinden MD5, SHA-1, SHA-256, SHA-384, SHA-512 ve CRC32 hash değerleri oluşturun.
JWT Oluşturucu
Test amaçlı olarak özelleştirilmiş başlık, yük iddiaları, HMAC veya RSA imzası, geçerlilik süresi ve hedef kitle sınırlamalarına sahip imzalı JWT'ler oluşturun.
Dosya Hash Hesaplayıcı
Yapıştırdığınız metnin veya dosya içeriğinin MD5, SHA-1, SHA-256 ve SHA-512 hash değerlerini hesaplayarak indirmeleri ve dosya bütünlüğünü doğrulayın.
Checksum Doğrulayıcı
Herhangi bir dosyanın veya metnin MD5, SHA-1, SHA-256, SHA-384, SHA-512 veya CRC-32 checksum değerini hesaplayın ve yayıncının verdiği değerle karşılaştırarak eşleşip eşleşmediğine dair net bir sonuç alın.
CSR Oluşturucu
PEM kodlu bir sertifika imzalama isteği ve eşleşen RSA özel anahtarı oluşturun. Ortak adı, kuruluş alanlarını ve anahtar boyutunu (2048, 3072 veya 4096 bit) belirtin.
Araç diğer dillerde mevcuttur
- Generator TOTP [ID]
- Generator TOTP [PL]
- TOTP-generator [SV]
- ตัวสร้าง TOTP [TH]
- TOTP-Generator [DE]
- TOTPジェネレーター [JA]
- TOTP 생성기 [KO]
- Generador TOTP [ES]
- Gerador TOTP [PT]
- Bộ tạo TOTP [VI]
- Générateur TOTP [FR]
- مولد TOTP [AR]
- TOTP-generator [NL]
- TOTP Generator [EN]
- Generatore TOTP [IT]
- Генератор TOTP [RU]
- TOTP 生成器 [ZH]