Undang-Undang Pelindungan Data Pribadi Indonesia (UU PDP No. 27/2022) mewajibkan pengendali data menerapkan "langkah teknis dan operasional yang layak" untuk melindungi data pribadi, termasuk kata sandi pengguna, tanpa menyebut algoritma tertentu. Dalam praktiknya, fungsi turunan kunci seperti PBKDF2 sering menjadi cara konkret perusahaan fintech dan perbankan Indonesia memenuhi kewajiban umum tersebut.
Prinsip peregangan kunci
Alih-alih hashing kata sandi satu kali, PBKDF2 menerapkan fungsi hash dasar (biasanya HMAC-SHA256) berkali-kali ribuan kali berturut-turut, menggunakan hasil setiap iterasi sebagai masukan untuk iterasi berikutnya. Ini sengaja memperlambat perhitungan satu hash, membuat brute force massal jauh lebih mahal bagi penyerang.
PBKDF2 di Wi-Fi: WPA2
Salah satu penggunaan PBKDF2 paling luas di dunia adalah menurunkan kunci enkripsi Wi-Fi dari kata sandi jaringan pada standar WPA2-PSK: kata sandi jaringan diproses melalui PBKDF2-HMAC-SHA1 dengan 4096 iterasi, menggunakan nama jaringan (SSID) sebagai salt, menghasilkan kunci 256-bit. Inilah sebabnya kata sandi Wi-Fi yang pendek begitu rentan terhadap brute force offline setelah satu "handshake" berhasil disadap.
Mengapa alat ini membutuhkan HTTPS
Alat ini menghitung PBKDF2 menggunakan Web Crypto API bawaan browser, bukan implementasi JavaScript buatan sendiri. Browser hanya mengekspos crypto.subtle dalam "konteks aman" — HTTPS, atau localhost saat pengembangan — jadi tanpa koneksi terenkripsi, alat ini dan semua alat kriptografi lain di situs ini sama sekali tidak akan berfungsi, tak peduli seberapa kuat perangkatnya.
Untuk apa ini dibutuhkan
- Menurunkan kunci kriptografis dari kata sandi untuk enkripsi (misalnya di WPA2/WPA3 untuk Wi-Fi).
- Mempertahankan kompatibilitas dengan sistem lama yang menggunakan PBKDF2 untuk penyimpanan kata sandi.
- Memahami mengapa jumlah iterasi yang direkomendasikan terus meningkat di versi standar yang lebih baru.
Pemilihan Fungsi Hash Dasar Itu Penting
Implementasi PBKDF2 lama sering menggunakan HMAC-SHA1 secara default — SHA-1 sendiri dianggap lemah secara kriptografis untuk hashing langsung, tetapi dalam konstruksi HMAC kelemahan ini bukan kerentanan kritis. Namun rekomendasi modern dengan tegas menyarankan HMAC-SHA256 atau HMAC-SHA512 — bukan karena ancaman langsung dari SHA-1, melainkan karena output yang lebih panjang dan fungsi yang lebih modern memberikan margin keamanan lebih besar tanpa kehilangan kecepatan yang berarti.