Mengapa Password Complexity Rules Sudah Usang dan Malah Bisa Membikin Sistem Lebih Rentan?
Selama bertahun-tahun, banyak layanan digital menerapkan aturan password yang terlihat semakin ketat. Pengguna diminta membuat kata sandi dengan kombinasi huruf besar, huruf kecil, angka, dan simbol. Bahkan, beberapa layanan menolak password tertentu hanya karena dianggap kurang “kompleks”.
Sekilas, aturan seperti ini memang terlihat masuk akal. Password password123 jelas tampak lebih lemah dibandingkan P@ssw0rd!2026. Masalahnya, manusia tidak memilih password secara benar-benar acak. Ketika dipaksa mengikuti pola tertentu, pengguna justru sering membuat perubahan yang mudah ditebak.
Akibatnya, password yang secara teori terlihat kompleks belum tentu memiliki keamanan yang jauh lebih baik.
Pendekatan keamanan modern mulai bergeser. National Institute of Standards and Technology (NIST) dalam panduannya menekankan panjang password sebagai salah satu faktor utama kekuatan password dan mendorong penggunaan passphrase. NIST juga menjelaskan bahwa aturan komposisi yang mewajibkan campuran karakter memiliki manfaat yang lebih kecil daripada perkiraan awal, sementara dampaknya terhadap kemudahan penggunaan dan kemampuan mengingat password cukup besar.
Lantas, mengapa aturan password yang terlalu rumit justru bisa menjadi masalah?
Password Rumit Belum Tentu Sulit Ditebak
Kesalahan terbesar dalam memahami keamanan password adalah menganggap bahwa semakin banyak jenis karakter yang digunakan, otomatis semakin aman.
Misalnya, sebuah sistem mengharuskan password memiliki huruf besar, angka, dan simbol. Pengguna yang awalnya ingin menggunakan kata password mungkin akan mengubahnya menjadi Password1!.
Secara aturan, password tersebut sudah memenuhi persyaratan kompleksitas. Ada huruf besar, angka, dan simbol.
Namun bagi penyerang, pola tersebut bukan sesuatu yang mengejutkan.
NIST sendiri memberikan contoh bahwa pengguna cenderung merespons aturan komposisi dengan cara yang dapat diprediksi. Password sederhana dapat berubah menjadi bentuk seperti Password1 atau Password1! ketika sistem memaksa penggunaan huruf besar, angka, dan simbol.
Artinya, masalahnya bukan pada simbol ! atau angka 1 itu sendiri. Masalahnya adalah manusia cenderung menempatkan karakter tersebut menggunakan pola yang sama.
Penyerang modern dapat memasukkan pola-pola tersebut ke dalam daftar tebakan mereka.
Masalah Utamanya Ada pada Perilaku Pengguna
Aturan keamanan yang bagus seharusnya tidak hanya mempertimbangkan kemampuan komputer, tetapi juga perilaku manusia.
Password seperti Kucing123! mungkin mudah dibuat dan memenuhi aturan kompleksitas. Namun jika pengguna memiliki puluhan akun dan setiap akun harus mempunyai password berbeda dengan kombinasi karakter yang rumit, masalah baru muncul: bagaimana mengingat semuanya?
Ada beberapa kemungkinan.
Pengguna bisa menggunakan password yang sama untuk banyak akun. Ini berbahaya karena ketika satu layanan mengalami kebocoran data, password yang sama berpotensi dicoba pada layanan lainnya.
Kemungkinan lain adalah pengguna menuliskan password di kertas atau menyimpannya di tempat yang tidak aman. NIST mencatat bahwa password yang terlalu kompleks lebih sulit diingat dan dapat meningkatkan kemungkinan pengguna mencatat atau menyimpannya dengan cara yang tidak aman.
Jadi, aturan yang dimaksudkan untuk meningkatkan keamanan justru dapat mendorong perilaku yang melemahkan keamanan.
Baca juga : Mengenal Honeypot: Umpan Cerdas untuk Menghadapi Serangan Siber
Panjang Password Lebih Penting
Jika kompleksitas bukan satu-satunya jawaban, lalu apa yang sebaiknya diprioritaskan?
Salah satu jawabannya adalah panjang password.
NIST menjelaskan bahwa panjang merupakan faktor utama dalam menentukan kekuatan password. Password yang terlalu pendek lebih rentan terhadap brute-force maupun dictionary attack. Penggunaan passphrase yang terdiri atas beberapa kata juga menjadi salah satu cara efektif untuk membuat password lebih panjang.
Sebagai ilustrasi, password acak delapan karakter memang dapat berisi huruf besar, huruf kecil, angka, dan simbol. Tetapi password tersebut tetap memiliki jumlah karakter yang relatif pendek.
Sebaliknya, passphrase yang terdiri atas beberapa kata dapat jauh lebih panjang sekaligus lebih mudah diingat.
Contohnya, daripada membuat pola seperti P@ssword1!, seseorang dapat menggunakan kombinasi beberapa kata yang tidak berhubungan dan memiliki panjang lebih besar.
Tentu, contoh passphrase untuk akun sungguhan sebaiknya tidak disalin mentah-mentah dari artikel. Yang penting adalah memahami prinsipnya: buat rahasia yang panjang, unik, dan sulit ditebak, bukan sekadar memenuhi checklist simbol.
Kenapa Passphrase Menjadi Alternatif Menarik?
Passphrase merupakan password yang menggunakan beberapa kata atau rangkaian kata.
Keunggulannya terletak pada keseimbangan antara keamanan dan kemudahan mengingat. Pengguna tidak harus menghafalkan kombinasi karakter acak yang sulit.
Selain itu, panjang passphrase dapat membuat ruang tebakan menjadi lebih besar.
NIST juga menekankan bahwa pengguna sebaiknya diperbolehkan membuat password sepanjang yang mereka inginkan dalam batas yang wajar. Tidak ada alasan teknis umum untuk melarang password panjang hanya karena jumlah karakternya banyak, meskipun batas tertentu tetap masuk akal untuk menghindari beban pemrosesan yang tidak perlu.
Namun, panjang bukan berarti boleh menggunakan kalimat yang sangat mudah ditebak.
Passphrase seperti nama lengkap, tanggal lahir, nama pasangan, atau kutipan populer tetap berisiko. Penyerang dapat menggunakan informasi pribadi maupun daftar kata dan password yang sudah diketahui sebelumnya.
Karena itu, panjang harus dikombinasikan dengan keunikan dan ketidakmudahan ditebak.
Password yang Pernah Bocor Sebaiknya Ditolak
Selain menetapkan panjang minimum, sistem keamanan modern juga sebaiknya memiliki blocklist password.
Blocklist merupakan daftar password yang tidak boleh digunakan pengguna karena terlalu umum atau sudah diketahui pernah digunakan dalam kebocoran data.
Contohnya adalah password yang sangat populer seperti 123456, password, atau variasi password yang sudah sering muncul dalam database kebocoran.
Pendekatan ini lebih masuk akal dibanding sekadar memaksa setiap pengguna menambahkan karakter tertentu.
NIST merekomendasikan agar password yang dibuat pengguna dibandingkan dengan daftar password yang tidak dapat diterima. Daftar tersebut dapat mencakup password dari kebocoran sebelumnya, kata-kata yang umum digunakan sebagai password, serta kata tertentu yang kemungkinan dipilih pengguna, seperti nama layanan itu sendiri.
Dengan demikian, sistem tidak hanya bertanya, “Apakah password ini memiliki simbol?”
Sistem juga bertanya, “Apakah password ini termasuk rahasia yang terlalu umum atau sudah diketahui penyerang?”
Ini merupakan pendekatan yang lebih berorientasi pada ancaman nyata.
Jangan Lupa Rate Limiting
Password yang panjang tetap membutuhkan perlindungan tambahan.
Salah satu mekanisme penting adalah rate limiting, yaitu membatasi seberapa cepat seseorang dapat mencoba login berulang kali.
Bayangkan seorang penyerang mencoba ribuan kombinasi password dalam waktu singkat. Jika server tidak membatasi percobaan tersebut, penyerang dapat melakukan online password guessing secara terus-menerus.
Dengan rate limiting, jumlah percobaan dapat dibatasi sehingga serangan semacam itu menjadi jauh lebih sulit.
NIST menjelaskan bahwa pembatasan laju percobaan login merupakan salah satu mitigasi penting untuk serangan password secara online.
Jadi, keamanan password tidak seharusnya hanya dibebankan kepada pengguna.
Server juga harus ikut bertanggung jawab.
Password Harus Disimpan dengan Aman
Ada satu aspek yang sering terlupakan: password tidak hanya harus aman saat dibuat, tetapi juga harus aman ketika disimpan.
Sistem tidak seharusnya menyimpan password pengguna dalam bentuk teks biasa. Password idealnya diproses menggunakan mekanisme hashing yang aman, dilengkapi salt dan algoritma yang dirancang agar mahal secara komputasi.
Hal ini penting karena penyerang dapat mencoba melakukan serangan offline apabila berhasil memperoleh database password yang telah di-hash.
NIST menjelaskan bahwa pada serangan offline, kemampuan penyerang untuk menemukan password bergantung antara lain pada bagaimana password tersebut disimpan. Penggunaan salt acak dan algoritma hashing yang mahal secara komputasi menjadi bagian penting dalam perlindungan tersebut.
Dengan kata lain, password yang kuat tetap membutuhkan sistem penyimpanan yang benar.
MFA Memberikan Lapisan Perlindungan Tambahan
Bahkan password yang sangat panjang tidak akan menyelesaikan semua masalah keamanan.
Ada serangan yang memang tidak bergantung pada panjang maupun kompleksitas password.
Contohnya adalah phishing, keylogger, dan social engineering. Jika pengguna secara tidak sengaja memberikan password kepada penyerang melalui situs phishing, password yang panjang sekalipun dapat dicuri.
NIST juga menegaskan bahwa sejumlah serangan seperti phishing, social engineering, dan keystroke logging tidak otomatis menjadi tidak efektif hanya karena password dibuat lebih panjang dan kompleks.
Karena itu, organisasi sebaiknya menggunakan Multi-Factor Authentication (MFA) sebagai lapisan perlindungan tambahan.
Dengan MFA, seseorang tidak cukup hanya mengetahui password. Mereka juga perlu memberikan faktor autentikasi lain sesuai mekanisme yang digunakan layanan.
Pendekatan ini membuat pencurian password saja tidak selalu cukup bagi penyerang untuk mengambil alih akun.
Apakah Aturan Kompleksitas Harus Dihapus Sepenuhnya?
Bukan berarti setiap aturan mengenai password harus dihapus.
Yang perlu ditinggalkan adalah pendekatan lama yang terlalu bergantung pada checklist karakter.
Misalnya, sistem tidak harus memaksa pengguna memasukkan satu huruf besar, satu angka, dan satu simbol jika aturan tersebut tidak memberikan manfaat yang sebanding dengan masalah usability yang ditimbulkannya.
Sebaliknya, sistem dapat memprioritaskan beberapa hal:
- Menetapkan panjang minimum yang masuk akal.
- Mengizinkan penggunaan passphrase.
- Tidak melarang spasi tanpa alasan keamanan yang kuat.
- Memblokir password yang terlalu umum atau pernah bocor.
- Menggunakan rate limiting untuk mencegah percobaan login berulang.
- Menyimpan password menggunakan hashing dan salt yang tepat.
- Menambahkan MFA untuk perlindungan ekstra.
NIST bahkan menyebut bahwa persyaratan panjang dan kompleksitas yang berlebihan dapat meningkatkan frustrasi pengguna dan mendorong mereka mencari jalan keluar yang kontraproduktif. Mitigasi lain seperti blocklist, penyimpanan password dengan hashing yang aman, password acak yang dibuat mesin, dan rate limiting dinilai lebih efektif untuk menghadapi serangan brute-force modern.
Kesimpulan
Password complexity rules bukan sepenuhnya “jahat”, tetapi pendekatan yang terlalu kaku memang semakin sulit dipertahankan sebagai strategi utama keamanan akun.
Memaksa pengguna membuat password dengan huruf besar, angka, dan simbol tidak otomatis menghasilkan password yang sulit ditebak. Manusia cenderung mengikuti pola yang sama, sementara penyerang dapat mempelajari pola tersebut.
Pendekatan yang lebih modern adalah membuat password panjang, unik, mudah dikelola, dan tidak termasuk password yang sudah umum atau pernah bocor.
Namun keamanan akun tidak berhenti pada password. Rate limiting, hashing yang aman, blocklist, password manager, serta MFA harus menjadi bagian dari pertahanan berlapis.
Jadi, daripada bertanya, “Apakah password ini sudah punya simbol dan angka?”, sistem keamanan seharusnya mulai bertanya lebih jauh: Apakah password ini cukup panjang, unik, tidak bocor, dan didukung mekanisme autentikasi yang kuat?
Itulah perubahan paradigma yang jauh lebih relevan untuk menghadapi ancaman keamanan siber modern.