Apa yang dimaksud dengan Pengasinan?
sumber: medium.com |
Mengapa Pengasinan Diperlukan?
Bagaimana Menerapkan Penggaraman
Langkah 1: Buatlah Salt Unik Per Pengguna
import ossalt = os.urandom(16) # Generates a 16-byte salt
Langkah 2: Gabungkan Salt dengan Kata Sandi
Sebelum melakukan hashing, tambahkan terlebih dahulu salt dan kata sandi klien. Ini menjamin bahwa nilai hash yang dihasilkan akan unik untuk kombinasi salt dan kata sandi tersebut. Jangan gunakan pola statis atau pola yang dapat diprediksi untuk salah satu dari keduanya.
Langkah 3: Hash Nilai Gabungan
Hash kata sandi yang telah diasinkan dengan algoritma hashing kriptografi yang aman (contohnya, SHA-256 atau bcrypt). Hindari algoritma MD5 dan SHA-1, keduanya memiliki kerentanan terhadap serangan.
Contoh menggunakan hashlib dari Python:
import hashlib
hash_object = hashlib.sha256(salt + password.encode())
hashed_password = hash_object.hexdigest()
Langkah 4: Simpan Salt dan Hash
Selanjutnya, simpan salt dengan kata sandi hash di basis data Anda. Pastikan keduanya berada di bidang yang berbeda. Akses ke salt itu buruk, tetapi tidak akan menjadi bencana jika penyerang memiliki hash dan salt; selama algoritme hash dan implementasinya baik.
Langkah 5: Verifikasi Kata Sandi
Kata sandi login yang dikirimkan akan diasinkan dengan nilai salt yang sama dengan yang Anda gunakan ketika membuat hash kata sandi dan prosesnya akan terjadi secara identik dengan hash yang lebih kuat dan lebih lambat untuk menghasilkan hash yang akan dibandingkan dengan nilai hash kata sandi yang tersimpan. Jika nilainya sama, kata sandi yang dikirimkan diverifikasi sebagai benar.
Praktik Terbaik untuk Pengasinan
- Gunakan Generator Angka Acak yang Kuat: Ketika membentuk garam, nilai acak yang aman secara kriptografi sangat penting dalam membuat entropi pada kata sandi.
- Pilih Algoritma Hashing yang Aman: Algoritma modern seperti bcrypt, Argon2, dan PBKDF2 secara eksplisit didesain untuk meng-hash kata sandi; algoritma ini mengimplementasikan penggaraman sebagai bagian dari desain mereka.
- Tetapkan Panjang Garam yang Memadai: Panjang salt minimum 16 byte direkomendasikan untuk memastikan keacakan yang memadai.
- Hindari Penggunaan Ulang Garam: Jangan pernah menggunakan kembali salt untuk pengguna atau catatan yang berbeda. Salt yang unik akan meningkatkan keamanan dan mengurangi risiko serangan.
- Perbarui Praktik Keamanan Secara Teratur: Tetap terinformasi tentang kemajuan dalam kriptografi dan perbarui implementasi anda seperlunya untuk melawan ancaman yang muncul.
Kesimpulan
Salting merupakan teknik fundamental untuk meningkatkan keamanan kata sandi dan data sensitif yang tersimpan. Dengan memperkenalkan keacakan ke dalam proses hashing, salting membuatnya lebih sulit bagi penyerang untuk mengeksploitasi informasi hash. Menerapkan salting dengan benar, bersama dengan langkah-langkah keamanan lainnya, merupakan langkah penting dalam membangun sistem yang kuat dan aman. Memprioritaskan praktik terbaik dan mengikuti perkembangan tren keamanan siber akan memastikan data Anda tetap terlindungi dalam lanskap digital yang semakin kompleks.
Kembali ke>>>> Praktik Terbaik untuk Penyimpanan Kata Sandi yang Aman