Argon2 Hash Üreteci

Ücretsiz çevrimiçi Argon2 Hash Üreteci aracı. %100 yerel işlem — verileriniz asla cihazınızı terk etmez.

General
Password Hashing / KDF
Specialized
Deprecated
KiB
iterations

Verify: input format is "password|hash"

Çıkış

Sonuç burada görüntülenecek...

Giriş Karma Hesapla

Usage Guide

Argon2 Hakkında

Argon2, Lüksemburg Üniversitesi tarafından tasarlanan 2015 Password Hashing Competition'ın kazananıdır. Şu anda en güvenli parola karma algoritmasıdır ve OWASP ve NIST gibi yetkili kuruluşlar tarafından parola depolama için önerilmektedir. Argon2'nin üç varyantı vardır: Argon2d (GPU'ya dayanıklı), Argon2i (yan kanal saldırılarına dayanıklı) ve Argon2id (hibrit mod, önerilen). Geleneksel karma algoritmalarının aksine, Argon2'nin ayarlanabilir hesaplama maliyeti ve bellek tüketimi vardır ve kaba kuvvet, GPU ve ASIC saldırılarına etkili biçimde direnir.

OWASP Tarafından Önerilen: Argon2id, OWASP Parola Depolama Hile Sayfası'nda tercih edilen algoritmadır. Argon2d'nin GPU direncini Argon2i'nin yan kanal saldırı direnciyle birleştirerek en kapsamlı güvenlik korumasını sağlar. Tüm yeni projelerin parola depolaması için önerilir.

Kullanım Adımları

Argon2 iki işlemi destekler: parola karma ve doğrulama:

1. Mod SeçimiParolaları karma için 'Şifrele' modunu, parolaları doğrulamak için 'Şifre Çöz' modunu seçin
2. Parola GirişiKarma veya doğrulanacak parolayı giriş kutusuna doldurun
3. Karma Hesaplama'Karma Hesapla' düğmesine tıklayın, Argon2 otomatik olarak rastgele tuz oluşturacak ve karma hesaplayacak
4. Sonucu KaydetVeritabanında saklamak için tam karma dizesini (algoritma parametreleri, tuz ve karma dahil) kopyalayın
5. Parola DoğrulamaDoğrulama için orijinal parolayı ve tam karma dizesini girin, sistem otomatik olarak parametreleri çıkarıp doğrulayacak
Gizlilik Koruması: Tüm hesaplamalar tarayıcınızda yerel olarak gerçekleştirilir, veriler hiçbir zaman sunuculara yüklenmez, tamamen çevrimdışı işleme.

Algoritma Özellikleri

Argon2, parola depolama için özel olarak tasarlanmış olup aşağıdaki benzersiz avantajlara sahiptir:

Bellek YoğunBüyük miktarda bellek gerektirir (varsayılan 64MB), GPU ve ASIC saldırılarını son derece maliyetli hale getirir
Ayarlanabilir MaliyetFarklı güvenlik ihtiyaçlarını karşılamak için zaman maliyetini (yineleme), bellek maliyetini ve paralelliği ayarlayabilir
Yan Kanal DirenciArgon2i ve Argon2id, önbellek zamanlama saldırılarına ve diğer yan kanal saldırılarına karşı dirençlidir
Otomatik TuzlamaYerleşik rastgele tuz oluşturma, manuel tuz yönetimine gerek yok
SürümlüKarma dizesi algoritma sürümü ve parametreleri içerir, gelecekteki yükseltmeleri ve geçişleri kolaylaştırır
Parametre Yapılandırması: Argon2'nin güvenliği parametre yapılandırmasına bağlıdır. OWASP önerir: bellek maliyeti ≥ 47MB (m=47104), zaman maliyeti ≥ 1 yineleme (t=1), paralellik = 1 (p=1). Sunucu performansı izin veriyorsa, bellek maliyetini 64MB veya daha yükseğe artırın. Çok düşük parametreler kullanmaktan kaçının, güvenliği azaltır.

Üç Varyantın Karşılaştırması

Argon2'nin farklı senaryolara uygun üç varyantı vardır:

Argon2dVeriye bağımlı, en yüksek GPU/ASIC direnci, ancak yan kanal saldırılarına karşı savunmasız, kripto para madenciliği için uygun
Argon2iVeriden bağımsız, yan kanal direnci var, ancak GPU direnci biraz daha zayıf, parola karma için uygun
Argon2idHibrit mod (önerilen), her ikisinin avantajlarını birleştirir, hem GPU hem de yan kanala karşı dirençli, tüm senaryolar için uygun
Önerilen Seçim: Özel ihtiyaçlarınız olmadıkça, her zaman Argon2id kullanın. OWASP, NIST ve kriptografi uzmanlarının oybirliğiyle önerisidir ve en kapsamlı güvenlik korumasını sağlar.

FAQ

Q: Argon2 ile bcrypt/PBKDF2 arasındaki fark nedir?

A: Argon2: Modern algoritma (2015), bellek yoğun, GPU/ASIC direnci, OWASP tarafından tercih edilir. bcrypt: Klasik algoritma (1999), hesaplama yoğun, orta düzey GPU direnci, yaygın kullanılır ancak yavaş yavaş Argon2 ile değiştiriliyor. PBKDF2: Standart algoritma (2000), hesaplama yoğun, GPU saldırılarına karşı savunmasız, güvenlik için son derece yüksek yineleme (≥ 600k) gerektirir. Performans karşılaştırması: Aynı güvenlik seviyesinde, Argon2 bcrypt'ten 2-3 kat daha hızlı ve PBKDF2'den 10+ kat daha hızlıdır. Öneri: Yeni projeler için Argon2id kullanın, mevcut projeleri yavaş yavaş Argon2'ye geçirin.

Q: Argon2 parametreleri nasıl yapılandırılmalıdır?

A: OWASP önerilen yapılandırma: Bellek maliyeti (m): 47104 KB (yaklaşık 47MB), sunucu performansı iyiyse 64MB veya daha yükseğe artırılabilir. Zaman maliyeti (t): 1-3 yineleme, genellikle 1 yeterlidir. Paralellik (p): 1 (tek iş parçacıklı), paralel saldırılardan kaçının. Karma uzunluğu: 32 bayt (256 bit). Ayarlama yöntemi: Geliştirme ortamında test edin, tek bir karmanın 0,5-1 saniye sürdüğünden emin olun, ardından sunucu performansına göre ayarlayın. Not: Daha yüksek parametreler daha fazla güvenlik anlamına gelir, ancak sunucu yükünü ve yanıt süresini artırır.

Q: Neden Argon2, SHA-256'dan parola depolama için daha uygundur?

A: SHA-256 hızlı hesaplama için tasarlanmış genel amaçlı bir karma fonksiyonudur; bu, parola depolama senaryolarında ölümcül bir zayıflıktır. GPU'lar saniyede milyarlarca SHA-256 karması hesaplayabilir, bu da tuzlu parolaları bile kaba kuvvet saldırılarına karşı savunmasız kılar. Argon2'nin avantajları: 1) Yavaş tasarım: Tek karma 0,5-1 saniye sürer, kaba kuvvet hızını dramatik biçimde azaltır. 2) Bellek yoğun: Büyük bellek (64MB) gerektirir, GPU'lar ve ASIC'ler saldırıları paralel hale getiremez. 3) Ayarlanabilir maliyet: Donanım geliştikçe güvenliği korumak için parametreler artırılabilir. Sonuç: Parola depolama, genel amaçlı karma fonksiyonları (SHA-256, MD5) değil, özel parola karma algoritmaları (Argon2, bcrypt, PBKDF2) kullanmalıdır.

Q: Argon2 karma dizesi formatı nedir?

A: Argon2, PHC (Password Hashing Competition) dize formatını kullanır: $argon2id$v=19$m=65536,t=3,p=1$saltbase64$hashbase64.
Bileşen anlamları:
$argon2id: Algoritma varyantı (id/i/d).
v=19: Algoritma sürümü (şu anda 19).
m=65536,t=3,p=1: Bellek maliyeti (KB), zaman maliyeti (yineleme), paralellik.
saltbase64: Base64 kodlu tuz (16 bayt).
hashbase64: Base64 kodlu karma (32 bayt).
Avantaj: Tüm parametrelerle kendi kendine yeterli, doğrulama için ek depolama gerekmez, gelecekteki yükseltmeleri kolaylaştırır.

Q: bcrypt'ten Argon2'ye nasıl geçiş yapılır?

A: Aşamalı geçiş yaklaşımı: 1) Çift doğrulama: bcrypt doğrulama mantığını koruyun, yeni kullanıcılar ve parola değişiklikleri için Argon2 kullanın. 2) Şeffaf yükseltme: Kullanıcılar giriş yaptığında önce bcrypt ile doğrulayın, ardından başarı durumunda hemen Argon2 ile yeniden karma yapın ve veritabanını güncelleyin. 3) Tanımlayıcı alan: Karma algoritma türünü (bcrypt/argon2) tanımlamak için veritabanı alanı ekleyin. 4) Tam geçiş: Bir süre sonra (örneğin 6 ay), aktif kullanıcıların çoğu geçiş yapmış olacak, kalan kullanıcıları parola sıfırlamaya zorlayabilirsiniz. Not: bcrypt ve Argon2 farklı karma formatlarına sahiptir, önek ile otomatik olarak tanımlanabilir ($2a$ vs $argon2id$).

Q: Argon2 tarayıcılarda çok yavaş olmaz mı?

A: Argon2'nin tasarım hedefi yavaş hesaplamadır; bu bir güvenlik garantisidir, kusur değil. WebAssembly kullanarak tarayıcılarda Argon2 hesaplamak, tek karma 0,5-1 saniye sürer; bu kullanıcı deneyimi üzerinde minimum etki yapar (parola girdikten sonra 1 saniye beklemek kabul edilebilir). Optimizasyon önerileri: 1) Asenkron hesaplama: Arka planda hesaplamak için Web Workers kullanın, UI'yi bloke etmekten kaçının. 2) İlerleme göstergesi: Kullanıcı deneyimini iyileştirmek için “Şifreleniyor...” mesajı görüntüleyin. 3) Parametre ayarı: Tarayıcı ortamı bellek maliyetini orta düzeyde azaltabilir (örneğin 32MB), ancak OWASP minimum önerisinin (47MB) altına düşmeyin. Not: Sunucu tarafı doğrulama da aynı hesaplama süresini gerektirir; bu Argon2'nin temel güvenlik mekanizmasıdır.

Use Cases

Önerilen: Kullanıcı Parola Depolama

Bu, Argon2'nin birincil kullanım durumudur. Kullanıcılar kayıt olduğunda veya parola değiştirdiğinde, Argon2id kullanarak parolaları karma yapın ve veritabanında saklayın. Giriş sırasında saklanan karma dizesini çıkarın, aynı parametrelerle kullanıcının girdiği parolayı karma yapın, ardından sonuçları karşılaştırın. Argon2'nin bellek yoğun özellikleri, kaba kuvvet saldırılarını son derece maliyetli kılar ve veritabanı ele geçirilse bile kullanıcı parolalarını korur.

Recommended Configuration:
  • ✅ Argon2id (OWASP önerilen, tercih edilen)
  • bcrypt (klasik seçim, maliyet faktörü ≥ 12)
  • PBKDF2-SHA256 (≥ 600k yineleme)
  • ❌ SHA-256, MD5 veya diğer genel amaçlı karmaları kullanmayın
Önerilen: API Anahtarı Karma

API anahtarları (API Tokenları, Erişim Anahtarları gibi) genellikle veritabanında saklanması gerekir ancak düz metin olarak saklanmamalıdır. API anahtarlarını karma yapmak için Argon2 kullanın; veritabanı ele geçirilse bile saldırganlar orijinal anahtarları elde edemez. Doğrulama için kullanıcı tarafından sağlanan anahtarı karma yapın ve karşılaştırın. Not: API anahtarları genellikle rastgele oluşturulmuş yüksek entropili dizelerdir, performansı artırmak için Argon2 parametrelerini orta düzeyde azaltabilirsiniz (örneğin t=1, m=32MB).

Recommended Configuration:
  • ✅ Argon2id (yüksek güvenlik)
  • bcrypt (performans ve güvenlik dengesi)
  • SHA-256 + tuz (yüksek entropili anahtarlar için kullanılabilir)
  • 💡 Sorguları hızlandırmak için karma önek indeksleme kullanmayı düşünün
Önerilen: Kripto Para Cüzdanları

Kripto para cüzdanları özel anahtarları korumak için parolalara ihtiyaç duyar. Kullanıcı parolasından şifreleme anahtarı türetmek için Argon2d (veriye bağımlı) kullanın, ardından bu anahtarı özel anahtarı şifrelemek için kullanın. Argon2d'nin GPU direnci, cüzdan parolalarını kaba kuvvetle kırmayı son derece maliyetli kılar. Not: Cüzdan senaryoları genellikle Argon2id yerine Argon2d kullanır çünkü yan kanal saldırı riski daha düşüktür ve GPU direnci daha önemlidir.

Recommended Configuration:
  • ✅ Argon2d (GPU direnci, cüzdan için önerilen)
  • ✅ Argon2id (daha kapsamlı güvenlik)
  • scrypt (klasik seçim, Bitcoin Core tarafından kullanılır)
  • 💡 Daha yüksek güvenlik için donanım cüzdanlarıyla birleştirin
Önerilen: Dosya Şifreleme Anahtarı Türetme

Kullanıcı parolasından dosya şifreleme anahtarı türetmek için Argon2 kullanın. Kullanıcı parolayı sağladıktan sonra, Argon2 sabit uzunluklu bir anahtar (örneğin 256 bit) oluşturur, ardından bu anahtarı dosyayı şifrelemek için kullanın (örneğin AES-256-GCM kullanarak). Tuz ve Argon2 parametreleri dosya başlığında saklanır; şifre çözme sırasında parametreleri çıkarın ve anahtarı yeniden türetin. Bu yaklaşım şifreli arşivlerde (7-Zip, WinRAR gibi) ve disk şifrelemede (VeraCrypt gibi) yaygın olarak kullanılır.

Recommended Configuration:
  • ✅ Argon2id (önerilen)
  • ✅ Argon2i (yan kanal direnci)
  • scrypt (klasik seçim)
  • 💡 Tuz ve parametreleri dosya başlığında saklayın
Önerilen: İki Faktörlü Kimlik Doğrulama Yedek Kodları

İki faktörlü kimlik doğrulama (2FA) yedek kodlarının, veritabanı ele geçirilirse kötüye kullanımı önlemek için depolamadan önce karma yapılması gerekir. Yedek kodlar rastgele oluşturulmuş yüksek entropili dizeler (genellikle 8-16 karakter) olduğundan, performansı artırmak için daha düşük Argon2 parametreleri (örneğin t=1, m=32MB) kullanılabilir. Doğrulama sırasında kullanıcının girdiği yedek kodu karma yapın ve karşılaştırın; başarılı doğrulamanın ardından yedek kodu hemen geçersiz kılın.

Recommended Configuration:
  • ✅ Argon2id (önerilen)
  • bcrypt (daha iyi performans)
  • SHA-256 + tuz (yüksek entropili yedek kodlar için kullanılabilir)
  • 💡 Kullanımdan sonra yedek kodu hemen geçersiz kılın
Önerilmez: Gerçek Zamanlı Performansa Duyarlı Senaryolar

Argon2'nin yavaş özellikleri, yüksek frekanslı API kimlik doğrulama, gerçek zamanlı oyun girişi, IoT cihaz kimlik doğrulama gibi son derece yüksek performans gerektiren senaryolar için uygun değildir. Bu senaryolar, her istek için parola karma yerine token tabanlı kimlik doğrulama (JWT, OAuth gibi) veya oturum yönetimi kullanmalıdır. Argon2 yalnızca kullanıcı girişi sırasında bir kez kullanılır; başarılı doğrulamanın ardından token yayınlayın, sonraki istekler token kimlik doğrulaması kullanır.

Recommended Configuration:
  • ✅ JWT + HMAC-SHA256 (yüksek performans)
  • ✅ Session + Cookie (geleneksel yaklaşım)
  • ✅ OAuth 2.0 (standart protokol)
  • ❌ Yüksek frekanslı senaryolarda Argon2 kullanmayın

En İyi Uygulama Önerileri

  • Argon2id, parola depolama için en iyi seçimdir ve tüm yeni projeler için önerilir. Mevcut projeler bcrypt/PBKDF2'den Argon2'ye yavaş yavaş geçiş yapmalıdır.
  • Parametre yapılandırması OWASP önerilerini takip eder: m ≥ 47MB, t ≥ 1, p = 1. Sunucu performansı iyiyse, bellek maliyetini 64MB veya daha yükseğe artırabilirsiniz.
  • Yüksek frekanslı senaryolarda Argon2 kullanmayın; yüksek performans için token kimlik doğrulaması (JWT, Session) ile birleştirilmelidir.
  • bcrypt'ten geçiş yaparken aşamalı yaklaşım kullanın: bcrypt doğrulamasını koruyun, yeni kullanıcılar ve parola değişiklikleri için Argon2 kullanın, giriş sırasında şeffaf biçimde yükseltin.
  • Tarayıcı ortamı Argon2'yi hesaplamak için WebAssembly kullanır, kullanıcı deneyimini iyileştirmek için Web Workers ve ilerleme göstergeleriyle birleştirin.

Tartışma ve Geri Bildirim

0 yorum
Ben