Kata Sandi dan Entropi: Ilmu di balik keamanan Anda

Lupakan aturan kata sandi yang usang. Temukan teori entropi Shannon, ancaman kuantum Grover, dan tips OPSEC sejati untuk mengamankan akses Anda.

|

Waktu baca: 8 menit

Kata Sandi dan Entropi: Ilmu di balik keamanan Anda

« Kata sandi Anda harus berisi 8 karakter, huruf besar, huruf kecil, angka, dan karakter khusus. »

Kita semua tahu aturan ini. Namun, dalam keamanan siber, ini adalah apa yang kita sebut “teater keamanan”. Kata sandi seperti P@ssw0rd1! mematuhi semua aturan ini. Tetapi ini adalah kata umum dengan substitusi yang mudah ditebak, persis hal yang pertama kali dicoba oleh alat peretas kata sandi.

Keamanan sejati tidak bergantung pada aturan visual yang sewenang-wenang, tetapi pada realitas matematis yang tak kenal ampun: entropi.

Entropi menurut Claude Shannon

Untuk memahami kekuatan sebuah kata sandi, kita harus melihat pada Claude Shannon, bapak teori informasi. Entropi mengukur tingkat ketidakpastian atau ketidakpastian dari suatu informasi.

Diterapkan pada kata sandi, entropi dihitung dalam bit. Semakin tinggi jumlah bit, semakin tidak dapat diprediksi kata sandi tersebut bagi komputer. Rumus yang disederhanakan untuk entropi (E) dari kata sandi yang dihasilkan secara acak adalah:

E = L × log2(R)

  • L adalah panjang kata sandi.
  • R adalah ukuran kumpulan (26 untuk huruf kecil, 62 dengan huruf besar dan angka, 94 dengan semua simbol yang dapat dicetak). Keempat set karakter generator kami berjumlah 91, karena set simbolnya berisi 29 karakter.

Meningkatkan ukuran kumpulan (menambahkan simbol) meningkatkan entropi, tetapi meningkatkan panjang (menambahkan karakter) meningkatkannya jauh lebih drastis. Namun, panjang hanya mengalahkan kompleksitas dengan satu syarat: kata sandi harus dihasilkan secara acak sepenuhnya.

Brute Force vs. Serangan Kamus

Jika Anda menggunakan kata-kata atau struktur yang dapat diprediksi, aturan panjang murni akan runtuh.

Perangkat lunak peretasan tidak mencoba semua kombinasi huruf satu per satu (ini disebut Brute Force). Mereka menggunakan daftar besar kata sandi nyata dari kebocoran data masa lalu, bersama kata dan frasa umum. Ini adalah Serangan Kamus (Dictionary Attack).

Jika kata sandi Anda panjang, tetapi terdiri dari kata-kata kamus atau substitusi yang dapat diprediksi, entropi aktualnya secara dramatis lebih rendah daripada entropi matematis teoretisnya.

Tabel di bawah menggunakan satu aturan: 100 miliar percobaan per detik, kecepatan yang diasumsikan halaman generator kami untuk serangan offline terhadap hash cepat. Waktu adalah rata-rata (setengah dari semua kemungkinan), dibulatkan ke bawah dengan rumus yang sama seperti halaman tersebut. Rute tercepat untuk setiap kata sandi dicetak tebal:

Kata SandiEntropi jika setiap karakter acakBrute force (rata-rata)Serangan kamus (perkiraan kami)
password12356 bit (11 karakter, huruf kecil dan angka)7 hariKurang dari satu detik
S3cr3t!9958 bit (9 karakter, keempat set)24 hariKurang dari satu detik
correct horse battery staple133 bit (28 karakter, huruf kecil dan spasi)Lebih dari 1 triliun tahun1 menit
gL7!pQ9z#vX278 bit (12 karakter, keempat set)51 ribu tahunTidak ada jalan pintas

Kolom kamus adalah perkiraan. Kolom ini mengasumsikan tebakan penyerang mengikuti struktur setiap kata sandi, dan bahwa setiap kata dasarnya termasuk 1.000 kata paling umum:

  • password123: satu kata umum dan tiga angka. Itu 1.000 × 1.000, sekitar satu juta tebakan.
  • S3cr3t!99: satu kata umum, dengan atau tanpa huruf kapital, setiap “e” diganti “3” atau tidak, lalu akhiran apa pun sepanjang tiga karakter. Itu sekitar 7 miliar tebakan.
  • correct horse battery staple: empat kata umum. Komik xkcd yang membuatnya terkenal menghitung 44 bit untuk empat kata dari daftar berisi 2.048 kata. Dengan kecepatan yang sama, itu rata-rata 88 detik, dibulatkan ke bawah menjadi 1 menit.
  • gL7!pQ9z#vX2: tidak ada kata dan tidak ada pola, jadi brute force adalah rute tercepat.

Perkiraan ini memperlakukan setiap kata sandi sebagai tidak diketahui oleh penyerang. Setiap kata sandi dalam artikel ini kini bersifat publik, jadi masing-masing layak masuk kamus. Kata sandi yang dipublikasikan adalah kata sandi yang sudah terbakar.

Ilusi Leetspeak dan Aturan Mutasi

Ambil contoh S3cr3t!99. Secara visual, ini terlihat kompleks dan kuat. Namun, ini hanyalah kata kamus “secret”, di mana huruf ’e’ telah diganti dengan ‘3’, dan ditambahkan akhiran yang sangat umum (!99). Ini disebut leetspeak.

Terhadap serangan kamus, kata sandi ini bertahan kurang dari satu detik, bukan 24 hari seperti yang tersirat dari panjangnya. Perangkat lunak peretasan modern (seperti Hashcat) tidak hanya menguji daftar kata statis; mereka secara otomatis menerapkan aturan mutasi. Mereka akan mengambil setiap kata dalam kamus mereka, menguji semua kemungkinan kombinasi leetspeak, menukar huruf besar, dan menambahkan tahun atau simbol. Leetspeak memberikan rasa aman yang palsu.

Trik Pergeseran Keyboard (Keyboard Shift)

Untuk memperumit frasa yang mudah diingat, beberapa orang menggunakan trik pergeseran tata letak keyboard. Misalnya, Anda menghafal frasa seperti my-cat. Tetapi saat mengetiknya, Anda menempatkan jari-jari Anda pada keyboard QWERTY fisik sementara sistem operasi Anda dikonfigurasi ke AZERTY (Prancis).

  • Kata yang dimaksud: my-cat
  • Hasil yang diketik: ,y)cqt (Tombol ’m’ menjadi ‘,’; ‘-’ menjadi ‘)’; ‘a’ menjadi ‘q’).

Apakah ini ide OPSEC yang baik? Tidak, metode ini tidak cukup jika digunakan sendiri. Sama seperti leetspeak, pergeseran tata letak keyboard adalah substitusi tetap: penyerang yang mencurigainya cukup menerapkan pemetaan yang sama pada setiap tebakan. Dalam OPSEC, ini adalah keamanan melalui ketidakjelasan: ini menunda penyerang amatir, tetapi tidak akan menghentikan serangan yang ditargetkan dan dilengkapi.

Jika digabungkan dengan kata sandi yang sudah kuat (seperti frasa sandi acak yang panjang), trik ini hanya menambah sedikit. Bahkan jika penyerang mencoba seribu pasangan tata letak, itu menambah kurang dari 10 bit, karena log2(1.000) ≈ 9,97. Kekuatannya tetap berasal dari frasa sandi di bawahnya.

Membangun Kata Sandi Utama (~250 bit)

Jika daftar kata, leetspeak, dan trik pengetikan memiliki batasannya, bagaimana kita membangun kata sandi utama yang tahan lama? Generator kami sudah menilai 80 bit sebagai “Kuat” dan 100 bit sebagai “Sangat Kuat”. Untuk kata sandi utama yang dimaksudkan bertahan puluhan tahun, artikel ini membidik jauh lebih tinggi: sekitar 250 bit entropi. Bagian kuantum di bawah menjelaskan alasannya, dan apa yang tidak diberikan oleh margin tersebut.

Ada dua cara untuk mencapai ini tergantung pada kebutuhan Anda:

1. Karakter Acak (untuk pengelola kata sandi)

String karakter yang dihasilkan sepenuhnya secara acak, tanpa pola yang bisa dimanfaatkan mesin: 8}8,_$-p)M&n,XvUCT0o+.5hDE6P^w6b@U-evS0 39 karakter yang diambil secara acak dari 91 karakter generator kami: ≈ 253 bit. Kata sandi ini diambil untuk artikel ini, jadi kini bersifat publik. Jangan pernah menggunakannya.

2. Frasa Sandi Acak (untuk kata sandi yang Anda hafal)

Kata acak lebih mudah diingat daripada karakter acak. Setiap kata yang diambil dari daftar EFF berisi 7.776 kata menambah sekitar 12,9 bit, jadi jumlah kata yang menentukan entropi. 12 kata memberi ≈ 155 bit, jauh di atas ambang “Sangat Kuat” generator kami. Kata biasa baru melewati 250 bit pada 20 kata.

Generator kami berhenti di 12 kata. Untuk melewati 250 bit dengan lebih sedikit kata, centang “Angka acak setelah setiap kata” dan pilih “Angka + Simbol” sebagai pemisah. 11 kata kemudian memberi ≈ 260 bit: depletion78$sporting14~overlap11>macaw86>paced95,paramedic41}blot41$flagstone07;uncanny92/broadways77#say2 Diambil secara acak untuk artikel ini, dengan pengaturan persis seperti itu. Kata sandi yang dipublikasikan adalah kata sandi yang sudah terbakar: jangan pernah menggunakan yang ini, atau contoh apa pun yang Anda baca. Hanya yang diambil secara acak yang dihitung. Membuat huruf kapital di setiap kata tidak menambah apa pun, dan kata yang Anda pilih sendiri jauh lebih lemah daripada kata acak.

Ancaman Kuantum: Algoritma Grover

Mengapa membidik 250 bit ketika 128 bit sudah memblokir superkomputer saat ini? Jawabannya terletak pada prospek komputer kuantum berskala besar.

Dalam kriptografi, algoritma Grover memungkinkan komputer kuantum untuk mencari basis data yang tidak disortir jauh lebih cepat daripada komputer klasik. Secara konkret, Grover secara efektif membagi dua tingkat keamanan dari kunci simetris atau kata sandi.

Terhadap komputer kuantum yang menjalankan algoritma Grover, kata sandi dengan entropi 128 bit secara teori hanya akan menawarkan resistensi setara dengan 64 bit. Itu margin yang jauh lebih tipis.

Menggandakan entropi menjaga margin: sekitar 256 bit masih akan menyisakan sekitar 128 bit terhadap Grover. Dari situlah target 250 bit artikel ini berasal. Ini adalah langkah kehati-hatian yang dipilih artikel ini, bukan angka yang diambil dari sebuah standar.

Margin ini ada batasnya. Percepatan Grover bersifat kuadratik, bukan tanpa batas. Setiap langkahnya tetap harus menghitung hash kata sandi situs tersebut, pada komputer kuantum yang cukup besar untuk menjalankannya. Sebagai perbandingan, dengan 100 miliar percobaan per detik yang diasumsikan halaman generator kami, pencarian rata-rata atas 100 bit sudah membutuhkan setidaknya 200 miliar tahun.

Logikanya mirip dengan Harvest Now, Decrypt Later (HNDL): basis data hash kata sandi yang dicuri dapat disimpan hari ini dan diserang nanti, dengan mesin yang lebih baik. Margin yang lebih besar menaikkan standar keamanan terhadap hal itu. Ini bukan jaminan permanen.

Arpokrat Password Generator: Buat Sendiri

Jangan biarkan keamanan akses Anda bergantung pada kebetulan. Generator gratis kami membuat kata sandi dan frasa sandi acak. Untuk masing-masing, generator menampilkan entropi dalam bit dan waktu rata-rata yang dibutuhkan sebuah pencarian.

Generator ini hanya membuat: ia tidak menilai kata sandi yang sudah Anda gunakan. Untuk target 250 bit di atas, pilih kata sandi 39 karakter dengan keempat set karakter. Generator menampilkannya sebagai “≈ 253 bit”.

👉 Arpokrat Password Generator

Generator ini berjalan di browser Anda. Apa yang dihasilkannya tidak pernah dikirim atau disimpan.

Mata Rantai Lemah Terakhir: Daur Ulang dan Manajemen Akses

Entropi matematis tidak melindungi terhadap kesalahan manusia. Kata sandi 250-bit kehilangan nilainya begitu bocor, jika digunakan kembali di beberapa situs (serangan yang disebut Credential Stuffing) atau jika tidak dilindungi oleh faktor otentikasi kedua (2FA).

Aturan emas kebersihan digital adalah Anda hanya perlu mengingat satu kata sandi tunggal: kata sandi utama 250-bit Anda (frasa sandi acak, seperti di atas). Semua akses Anda yang lain (bank, jejaring sosial, server) harus menggunakan kata sandi acak yang unik, yang dibuat khusus untuk masing-masing.

Untuk menyimpan semua kata sandi yang tidak bisa Anda ingat ini, gunakan pengelola kata sandi. Pilih yang mengenkripsi brankas Anda di perangkat Anda sebelum menyinkronkannya (sering disebut Zero-Knowledge), idealnya yang sumber terbuka dan diaudit secara independen.