Dengan skala pengguna super-app seperti Gojek dan Tokopedia serta dompet digital yang menyimpan jutaan kredensial, Indonesia adalah target besar untuk credential stuffing. UU Pelindungan Data Pribadi (UU PDP) mewajibkan pengendali data menerapkan "langkah teknis yang memadai", tanpa menyebut algoritma spesifik — sehingga pilihan jatuh ke praktik terbaik industri. Sejak memenangkan Password Hashing Competition 2015, Argon2 menjadi rekomendasi utama OWASP di atas bcrypt, dan sudah tersedia langsung di password_hash() PHP maupun Hash facade Laravel — dua fondasi umum backend Indonesia.
Kenapa memori sama pentingnya dengan waktu
Bcrypt dan PBKDF2 hanya memperlambat komputasi. Argon2 memaksa setiap percobaan mengalokasikan RAM dalam jumlah yang bisa diatur — inilah yang disebut fungsi memory-hard. Farm GPU sewaan di cloud bisa memparalelkan komputasi sederhana dengan murah, tapi memparalelkan akses simultan ke memori besar jauh lebih mahal: memori, berbeda dari inti komputasi, secara fisik terbatas per kartu.
Tiga varian: d, i, id
- Argon2d — akses memori bergantung pada kata sandi itu sendiri, memberi resistansi GPU maksimal tapi berpotensi rentan terhadap serangan side-channel secara teoretis.
- Argon2i — akses memori tidak bergantung pada kata sandi, menutup celah itu dengan sedikit mengorbankan resistansi GPU.
- Argon2id — menggabungkan kedua strategi pada tahap komputasi berbeda. Ini varian yang direkomendasikan RFC 9106 dan menjadi default di sebagian besar framework.
Tiga parameter independen
Berbeda dari satu "cost factor" bcrypt, Argon2 memungkinkan pengaturan memori, iterasi, dan paralelisme secara terpisah. Ini berguna secara praktis: fungsi serverless dengan memori terbatas bisa mengompensasi dengan menambah iterasi, sementara server autentikasi khusus dengan RAM berlimpah bisa melakukan sebaliknya.
Untuk apa ini dibutuhkan
- Memilih algoritma modern untuk sistem autentikasi baru, bukan MD5 atau SHA-256 polos.
- Memahami mengapa Argon2 secara spesifik membuat serangan dengan GPU sewaan atau perangkat penambangan kripto jadi lebih mahal.
- Merencanakan migrasi dari bcrypt atau PBKDF2 sebagai bagian dari audit keamanan.
Jebakan parameter paralelisme
Paralelisme terlihat seperti keuntungan gratis — makin banyak thread, makin cepat hashing di server multi-core. Tapi penyerang dengan hardware multi-core yang sama mendapat percepatan identik di setiap percobaan. Menyetel paralelisme sesuai jumlah core server yang sebenarnya itu aman; menaikkannya "untuk jaga-jaga" hanya memberi penyerang diskon yang proporsional.