İçeriğe geç

Argon2i Hash Oluşturucu

Yan kanal (side-channel) ve zamanlama saldırılarına karşı optimize Argon2 türevi.

RFC 9106

Parametreler: m = 19 456 KiB (19 MiB), t = 2, p = 1, 16 bayt rastgele salt, 32 bayt çıktı (OWASP önerisi).

Her çalıştırmada yeni bir salt kullanılır; aynı parola farklı hash üretir. Doğrulama için çıktının tamamını saklayın.

Araç hakkında

Argon2i ne zaman kullanılır?

Argon2i belleğe parola değerinden bağımsız sırayla erişir. Bu, aynı makinede çalışan bir saldırganın önbellek zamanlamasından parola hakkında bilgi çıkarmasını (yan kanal saldırısı) zorlaştırır; buna karşılık bellek-zaman takası saldırılarına Argon2d’den daha açıktır.

RFC 9106, parola saklama için iki yöntemi birleştiren Argon2id türünü önerir. Bu araç, belirli bir sistemle uyumluluk gerektiğinde veya türler arasındaki farkı incelemek için vardır.

Kullanılan parametreler

Araç Argon2id ile aynı parametreleri kullanır: m=19456 KiB bellek, t=2 tur, p=1 paralellik, 16 bayt salt ve 32 bayt çıktı. Çıktı PHC dize biçimindedir:

$argon2i$v=19$m=19456,t=2,p=1$<salt>$<hash>
Salt ve hash dolgusuz Base64’tür. Dize, doğrulama için gereken tüm bilgiyi içerir.

Argon2i’yi kim kullanır ve nelere dikkat edilmeli?

libsodium 1.0.9–1.0.14 sürümlerinde crypto_pwhash_str varsayılan olarak Argon2i kullanıyordu; 1.0.15’ten itibaren varsayılan Argon2id oldu. Bu yüzden eski PHP (sodium) ve libsodium tabanlı uygulamaların veritabanlarında $argon2i$ önekli hash’lere rastlanır.

Argon2i’ye yönelik bellek-zaman takası saldırıları düşük tur sayılarında daha etkilidir; libsodium bu nedenle Argon2i için en az 3 tur zorunlu kılar. Bu araç türleri karşılaştırmayı kolaylaştırmak için Argon2id ile aynı t = 2 değerini kullanır. Argon2i’yi gerçekten kullanacaksanız tur sayısını artırın ya da Argon2id’ye geçin; eski hash’ler kullanıcı bir sonraki girişinde yeniden hash’lenerek taşınabilir.

Sık sorulan sorular

Argon2i hash’ini nasıl doğrularım?

Hash’i Hash doğrulama sayfasında “Beklenen hash” alanına yapıştırın; $argon2i$ ve $argon2d$ önekleri orada desteklenir. Argon2id Hash Doğrulayıcı aracı yalnız $argon2id$ kabul eder.

Kaynaklar