Cryptology Academy · Pelajaran

Argon2: Peng-hash Kata Sandi yang Membutuhkan Banyak Memori

Pelajari Argon2i, Argon2d, Argon2id, dan alasan penggunaan banyak memori itu penting.

Pelajaran 3 dari 413 langkah

Argon2: Peng-hash Kata Sandi yang Membutuhkan Banyak Memori adalah pelajaran Cryptology Academy gratis di CoddyKit. Ini adalah pelajaran 3 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Cryptology Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Cryptology Academy mencakup 4 pelajaran total.

Selamat Datang

Argon2 memenangkan Password Hashing Competition (PHC) pada 2015 dan merupakan rekomendasi utama OWASP. Desainnya yang membutuhkan banyak memori menggagalkan serangan GPU dan ASIC yang tidak dapat ditangani bcrypt.

Mengapa Kebutuhan Memori Besar Penting

GPU memiliki ribuan inti, tetapi RAM yang tersedia untuk setiap inti terbatas (~1 KB). Argon2 membutuhkan RAM minimal 64 MB untuk setiap hash. Penyerang yang mencoba 1.000 hash secara paralel membutuhkan RAM 64 GB — mahal dan terbatas.

Varian Argon2

Argon2d: akses yang bergantung pada data — paling cepat, tetapi rentan terhadap serangan saluran samping berbasis waktu. Argon2i: akses yang tidak bergantung pada data — aman terhadap serangan berbasis waktu. Argon2id: gabungan keduanya — direkomendasikan untuk sebagian besar aplikasi.

Parameter Argon2

m: memori dalam kilobita (OWASP: 19456 KB = minimum 19 MB, 64 MB direkomendasikan) t: biaya waktu / iterasi (3 direkomendasikan) p: paralelisme / utas (4 direkomendasikan) salt: 16 bita acak output: 32 bita

Argon2id dalam Python

from argon2 import PasswordHasher ph = PasswordHasher( memory_cost=65536, # 64 MB time_cost=3, parallelism=4 ) hash = ph.hash('my_password') # Verify: ph.verify(hash, 'my_password') # True

Format Hash Argon2

$argon2id$v=19$m=65536,t=3,p=4$ bmFuZG9tc2FsdHJhbmRvbQ$ KaE5Jjy7E8...hashed... Semua parameter tersimpan dalam string hash. Verifikasi dapat dilakukan secara mandiri — tidak diperlukan penyimpanan parameter terpisah.

Rekomendasi Argon2id OWASP 2024

Minimum: m=19456 KB (19 MB), t=2, p=1 Direkomendasikan: m=65536 KB (64 MB), t=3, p=4 Keamanan tinggi: m=262144 KB (256 MB), t=4, p=8 Sesuaikan berdasarkan memori yang tersedia di server Anda.

Argon2 vs bcrypt vs PBKDF2

Argon2id: membutuhkan banyak memori, tahan terhadap ASIC, direkomendasikan untuk sistem baru. bcrypt: didukung secara luas, tidak membutuhkan banyak memori, dukungan sistem lama yang baik. PBKDF2: memenuhi standar FIPS, tidak membutuhkan banyak memori, gunakan untuk lingkungan yang diatur.

Strategi Peningkatan Hash

Saat beralih dari bcrypt ke Argon2: 1. Tambahkan kolom baru untuk hash baru 2. Saat masuk berikutnya: verifikasi dengan bcrypt lama, hitung ulang dengan Argon2, lalu simpan hash baru 3. Setelah X bulan, wajibkan pengaturan ulang kata sandi bagi pengguna yang belum diperbarui

Argon2 dalam Kerangka Kerja Nyata

Django: set PASSWORD_HASHERS=['django.contrib.auth.hashers.Argon2PasswordHasher'] Node.js: gunakan paket argon2 (bukan argon2-ffi) PHP 7.2+: konstanta bawaan PASSWORD_ARGON2ID dalam password_hash()

Pepper: Rahasia di Sisi Server

Pepper adalah rahasia di sisi server yang dicampurkan dengan kata sandi sebelum pencincangan: hash(password + pepper). Bahkan jika basis data bocor, penyerang juga memerlukan pepper. Merotasi pepper = membatalkan semua hash.

Pemeriksaan Singkat

Mengapa Argon2 lebih tahan terhadap serangan GPU dibandingkan bcrypt?

Rangkuman

Argon2id adalah alat terbaik untuk pencincangan kata sandi saat ini. Selanjutnya kita membandingkan ketiga algoritma dan mempelajari cara memilih yang tepat untuk konteks Anda.
Gratis untuk memulai

Belajar Cryptology Academy dengan tutor AI — gratis

Tulis dan jalankan kode asli di browser kamu, dapatkan bantuan instan dari tutor AI 24/7, dan lanjutkan di mana kamu tinggalkan di web atau aplikasi.

Kursus
67
Pelajaran
261

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Argon2: Peng-hash Kata Sandi yang Membutuhkan Banyak Memori” gratis?

Ya — teks lengkap “Argon2: Peng-hash Kata Sandi yang Membutuhkan Banyak Memori” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Cryptology Academy, upgrade ke CoddyKit PRO. Kursus Cryptology Academy mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Argon2: Peng-hash Kata Sandi yang Membutuhkan Banyak Memori”?

Pelajari Argon2i, Argon2d, Argon2id, dan alasan penggunaan banyak memori itu penting. Kamu berlatih Cryptology Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai Cryptology Academy?

Tidak diperlukan pengalaman sebelumnya. Cryptology Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 3 dari 4.

Berapa lama pelajaran “Argon2: Peng-hash Kata Sandi yang Membutuhkan Banyak Memori” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran Cryptology Academy ini?

Ya. Setiap pelajaran Cryptology Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Mengapa SHA-256 Biasa Gagal untuk Kata Sandi
  2. bcrypt: Algoritma & Faktor Biaya
  3. Argon2: Peng-hash Kata Sandi yang Membutuhkan Banyak Memori
  4. PBKDF2 & Memilih Algoritma yang Tepat
← Kembali ke Cryptology Academy