Cryptology Academy · Pelajaran

Argon2: Pencincangan Kata Laluan Sukar Memori

Terokai Argon2i, Argon2d, Argon2id dan sebab sifat sukar memori penting.

Pelajaran 3 daripada 413 langkah

Argon2: Pencincangan Kata Laluan Sukar Memori ialah pelajaran Cryptology Academy percuma di CoddyKit. Ini ialah pelajaran 3 daripada 4. Anda boleh membaca keseluruhan pelajaran di bawah secara percuma — kemudian berlatih secara praktikal dalam pelayar menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran Cryptology Academy, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus Cryptology Academy merangkumi sejumlah 4 pelajaran.

Selamat Datang

Argon2 memenangi Pertandingan Pencincangan Kata Laluan (PHC) pada tahun 2015 dan merupakan cadangan utama OWASP. Reka bentuknya yang memerlukan banyak memori menewaskan serangan GPU dan ASIC yang tidak dapat ditangani oleh bcrypt.

Mengapa Keperluan Memori Tinggi Penting

GPU mempunyai beribu-ribu teras tetapi RAM yang terhad bagi setiap teras (~1KB). Argon2 memerlukan RAM sekurang-kurangnya 64MB bagi setiap cincangan. Penyerang yang mencuba 1000 cincangan selari memerlukan 64GB RAM — mahal dan terhad.

Varian Argon2

Argon2d: capaian bergantung pada data — paling pantas tetapi terdedah kepada serangan pemasaan saluran sisi. Argon2i: capaian tidak bergantung pada data — selamat daripada serangan pemasaan. Argon2id: hibrid — disyorkan untuk kebanyakan aplikasi.

Parameter Argon2

m: memori dalam kilobait (OWASP: 19456 KB = minimum 19 MB, 64 MB disyorkan) t: kos masa / lelaran (3 disyorkan) p: keparalelan / bebenang (4 disyorkan) salt: 16 bait rawak output: 32 bait

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 Cincangan Argon2

$argon2id$v=19$m=65536,t=3,p=4$ bmFuZG9tc2FsdHJhbmRvbQ$ KaE5Jjy7E8...hashed... Semua parameter disimpan dalam rentetan cincangan. Pengesahan dilakukan secara kendiri — tiada penyimpanan parameter berasingan diperlukan.

Cadangan OWASP Argon2id 2024

Minimum: m=19456 KB (19 MB), t=2, p=1 Disyorkan: m=65536 KB (64 MB), t=3, p=4 Keselamatan tinggi: m=262144 KB (256 MB), t=4, p=8 Laraskan berdasarkan memori tersedia pada pelayan anda.

Argon2 berbanding bcrypt berbanding PBKDF2

Argon2id: memerlukan banyak memori, tahan terhadap ASIC, disyorkan untuk sistem baharu. bcrypt: disokong secara meluas, tidak memerlukan banyak memori, sokongan sistem lama yang baik. PBKDF2: mematuhi FIPS, tidak memerlukan banyak memori, gunakan untuk persekitaran yang dikawal selia.

Strategi Naik Taraf Cincangan

Semasa beralih daripada bcrypt kepada Argon2: 1. Tambah lajur baharu untuk cincangan baharu 2. Pada log masuk seterusnya: sahkan dengan bcrypt lama, lakukan pencincangan semula dengan Argon2, kemudian simpan cincangan baharu 3. Selepas X bulan, paksa penetapan semula kata laluan bagi pengguna yang masih belum dinaik taraf

Argon2 dalam Kerangka Kerja Sebenar

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

Lada: Rahsia pada Sisi Pelayan

Lada ialah rahsia pada sisi pelayan yang dicampurkan dengan kata laluan sebelum pencincangan: hash(password + pepper). Walaupun pangkalan data dibocorkan, penyerang masih memerlukan lada tersebut. Menukar lada = membatalkan semua cincangan.

Semakan Ringkas

Mengapakah Argon2 lebih tahan terhadap serangan GPU berbanding bcrypt?

Ringkasan

Argon2id ialah alat terbaik untuk pencincangan kata laluan pada masa ini. Seterusnya kita membandingkan ketiga-tiga algoritma dan mempelajari cara memilih algoritma yang tepat untuk konteks anda.
Percuma untuk bermula

Pelajari Cryptology Academy dengan tutor kecerdasan buatan — percuma

Tulis dan jalankan kod sebenar dalam pelayar anda, dapatkan bantuan segera daripada tutor kecerdasan buatan yang tersedia 24/7, dan sambung semula dari tempat anda berhenti di web atau dalam aplikasi.

Kursus
67
Pelajaran
261

Soalan Lazim

Adakah pelajaran “Argon2: Pencincangan Kata Laluan Sukar Memori” percuma?

Ya — teks penuh “Argon2: Pencincangan Kata Laluan Sukar Memori” boleh dibaca secara percuma di web ini. Untuk berlatih secara interaktif menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7, serta membuka kunci baki kursus Cryptology Academy, tingkat taraf kepada CoddyKit PRO. Kursus Cryptology Academy merangkumi sejumlah 4 pelajaran.

Apakah yang akan saya pelajari dalam “Argon2: Pencincangan Kata Laluan Sukar Memori”?

Terokai Argon2i, Argon2d, Argon2id dan sebab sifat sukar memori penting. Anda berlatih Cryptology Academy menggunakan kod praktikal yang dijalankan terus dalam pelayar, manakala tutor kecerdasan buatan 24/7 menjawab soalan anda semasa anda mengikuti pelajaran.

Adakah saya memerlukan pengalaman untuk memulakan Cryptology Academy?

Tiada pengalaman terdahulu diperlukan. Pembelajaran Cryptology Academy di CoddyKit disusun untuk pelajar daripada peringkat pemula hingga lanjutan, jadi anda boleh bermula di sini atau dari awal dan belajar mengikut kadar anda sendiri. Ini ialah pelajaran 3 daripada 4.

Berapa lamakah pelajaran “Argon2: Pencincangan Kata Laluan Sukar Memori” diambil?

Kebanyakan pelajaran CoddyKit mengambil masa kira-kira 5–10 minit. Setiap pelajaran ringkas dan interaktif, jadi anda boleh membuat kemajuan secara berterusan dan menyambung tepat dari tempat anda berhenti di web atau aplikasi.

Bolehkah saya menulis dan menjalankan kod dalam pelajaran Cryptology Academy ini?

Ya. Setiap pelajaran Cryptology Academy menyertakan penyunting kod terbina dalam, jadi anda boleh menulis dan menjalankan kod sebenar terus dalam pelayar serta menerima maklum balas kecerdasan buatan serta-merta — tanpa memerlukan persediaan setempat.

Semua pelajaran dalam kursus ini

  1. Mengapa SHA-256 Biasa Gagal untuk Kata Laluan
  2. bcrypt: Algoritma & Faktor Kos
  3. Argon2: Pencincangan Kata Laluan Sukar Memori
  4. PBKDF2 & Memilih Algoritma yang Tepat
← Kembali ke Cryptology Academy