Mengapa SHA-256 saja tidak cocok untuk penyimpanan kata sandi
Checksum File dan penyimpanan kata sandi sisi-server menyelesaikan masalah yang berbeda. Penyimpanan kata sandi juga harus membuat setiap tebakan offline menjadi mahal.
Dalam panduan ini
Hashing bukan enkripsi: tidak ada operasi penyandian yang sesuai. Namun demikian, setelah sebuah database bocor seorang penyerang dapat menebak dan membandingkannya dengan catatan curian tanpa melewati batas tarif log masuk aplikasi Anda.
Kecepatan SHA menjadi tidak menguntungkan
SHA-256 berguna untuk pemeriksaan integritas dan banyak aplikasi kriptografi. Kecepatannya tidak diinginkan untuk penyimpanan kata sandi. Andin Menambah garam ke SHA256(salt + password) Nafas tidak membuat perkiraan cukup mahal. Salt dan biaya komputasional melayani tujuan yang berbeda-beda.
Jangan menciptakan format kredensial atau lingkaran hashes biasa. UUse a contended password-hasheng perpustakaan.
Pilih sebuah fungsi yang berdedikasi password-hashing
OWASP Lebih suka nama Argon2id Á untuk sistem baru, dengan scrypt sebagai alternatif ketika tidak tersedia. PBKDF2 Kepatuhan khusus melayani persyaratan. Takeless Bcrypt tetap relevan untuk sistem warisan tetapi memiliki keterbatasan, termasuk panjang input.
F.O.D. menggunakan fungsi pustaka untuk pembuatan dan verifikasi, pembuatan garam dan penyimpanan parameter. OFIK memilih parameter biaya dari panduan dan pengukuran saat ini pada server target. Akun untuk log masuk dan batas sumber yang bersamaan: hashing mahal tidak boleh membuat penolakan terhadap layanan sepele. Keterbatasan tingkat darah tetap diperlukan.
Garam dan lada
Garam garam adalah acak dan unik untuk setiap catatan; itu tidak perlu rahasia. Kedailah algoritma pengidentifikasi dan parameter verifikasi juga, sering kali dalam catatan yang dikodekan perpustakaan.
Lada lada adalah rahasia pilihan yang disimpan di luar basis data kata sandi. Hal ini dapat membantu dalam beberapa skenario pelanggaran tetapi memperumit rotasi dan manajemen kunci. Ini menggantikan garam maupun fungsi hashing yang cocok.
Catatan upgrade setelah verifikasi sukses
Pada log masuk yang sukses, verifikasi rekor lama terlebih dahulu, kemudian rehash kata sandi yang diajukan jika parameter sudah usang. Anda tidak dapat memulihkan sandi asli dari hashes yang ada untuk memigrasikan seluruh basis data. Rekening yang tidak aktif membutuhkan reset atau kebijakan migrasi yang terpisah. \"Rehashing\" tidak membatalkan kebocoran sebelumnya.
Sebelum penyebaran, tes kata sandi yang salah, migrasi warisan, batasan panjang dan beban. Jangan pernah log kata sandi tes atau kirim ke analitik.