it-swarm-id.com

Seberapa andalkah pemeriksa kekuatan kata sandi?

Saya telah menguji alat dari Microsoft tersedia di sini yang menguji kekuatan kata sandi dan menilai mereka. Untuk kata sandi seperti "saya akan makan siang malam ini", alat ini menilai kekuatannya sebagai "TERBAIK" dan untuk kata sandi seperti "th1 $ .v4l" ini menilainya sebagai "Sedang".

Saya bertanya-tanya seberapa penting panjang kata sandi sebenarnya. Dalam hal ini kata sandi pertama lebih baik menurut alat mereka tetapi apakah ini benar-benar lebih baik? Ini didasarkan pada kata-kata kamus dan tidak memiliki kombinasi angka dan karakter lain selain spasi, dan tampaknya sangat mudah retak (tidak mempertimbangkan kekuatan kasar).

Apakah alat itu memberikan prioritas panjang daripada kekuatan yang sebenarnya?

74
iijj

"Tidak mempertimbangkan kekerasan" - itulah yang diukur oleh alat ini.
Jelas mereka tidak mencoba rekayasa sosial, atau mencoba mencari tahu apakah itu ulang tahun anjing pacar pertama pengguna. Penyerang mungkin tahu itu, tetapi alat ini tidak.

Apa yang mereka ukur hanyalah kesulitan bagi alat bruteforcing untuk memecahkannya. Bahkan entropi kata sandi, yang merupakan atribut dari metode pembuatan, hanya perkiraan berapa lama alat bruteforcing berhasil menemukan kata sandi yang benar.
Jelas, entropi berpengaruh pada ini, tetapi itu hanya total entropi yang penting, bukan entropi per karakter. Jadi ya, memiliki banyak opsi yang mungkin untuk setiap karakter memang menambah entropi, tetapi panjang dapat memainkan bagian yang lebih penting dalam membuat kata sandi tidak dapat dipecahkan, dengan menaikkan entropi per karakter ke kekuatan yang lebih tinggi, berdasarkan karakter menghitung. Ini menghasilkan entropi total yang jauh lebih tinggi , yang merupakan satu-satunya hal yang penting.

Jadi, dalam kasus Anda - ya, frasa sandi alfa-saja 32 karakter lebih kuat daripada kata sandi tanda baca 8 karakter.


Saya akan mencoba dan mengerjakan matematika di sini sebentar: (tolong perbaiki saya kalau saya salah):

Jika kita mengasumsikan papan ketik standar US-gaya, ada 85 kemungkinan karakter yang dapat dicetak (mungkin dapat mengikis beberapa lagi, tetapi mari kita lanjutkan dengan ini sekarang): huruf kecil + huruf besar + angka + tanda baca + ruang standar.
Ini memberikan ~ kekuatan 6,3 bit per karakter; dengan panjang 8 karakter kata sandi memberi Anda kekuatan ~ 50,4 bit.
Catatan benar-benar sangat kuat ... Sekalipun kita menambahkan beberapa karakter "spesial", Anda tidak akan terlalu banyak meningkatkannya.

Sekarang, untuk 32 karakter Anda, frasa sandi hanya alfa ...
Mari kita anggap hanya huruf kecil dan besar (meskipun Anda tidak menggunakan apa pun), ditambah spasi (U + 32). Bahkan bukan angka ...
Itu memberi Anda 54 kemungkinan karakter, sekitar ~ 5,8 bit per karakter. Pada 32 char panjang, itu lebih dari 185 bit kekuatan. Secara substansial lebih kuat. Dan itu bahkan tanpa angka, yang biasanya diterima bahkan dalam skema kata sandi "sederhana".


Bruce Schneier sering berbicara tentang bagaimana beralih ke frasa sandi lama yang mengesankan akan jauh lebih aman daripada kata sandi pendek yang tampak aneh dan acak.
Sekarang Anda tahu sebabnya.

60
AviD

Anda khawatir karena frasa sandi menggunakan kata-kata kamus, mungkin lebih mudah untuk memecahkan daripada sesuatu yang harus dipaksakan.

tl; dr: Ini adalah kekhawatiran teoretis yang valid, tetapi saat ini ini bukan masalah praktis.

"Saya akan makan siang malam ini" adalah frasa lima kata yang menggunakan kata-kata dari 5000 yang paling umum dalam bahasa Inggris. Secara naif, menebak isomorfis untuk menebak kata sandi 5 huruf dalam alfabet 5.000 huruf, yaitu 3x10 ^ 18 kemungkinan. Itu hampir sama dengan kata sandi 10 karakter menggunakan huruf besar dan kecil, angka, dan simbol.

Tentu saja, program cracking yang cukup pintar dapat mengurangi ini secara signifikan. Kalimat tersebut adalah prosa bahasa Inggris standar, yang mengikuti aturan ketat seperti itu sehingga memiliki tingkat entropi informasi sekitar 1 bit per huruf . Itu berarti frasa Anda memiliki 33 bit entropi, membuatnya hanya serumit kata sandi acak sempurna yang dapat dicetak ASCII karakter).

Itu tidak terlalu rumit.

Namun, untuk mengeksploitasi kurangnya kompleksitas, Anda akan memerlukan "cracker frasa sandi Inggris" khusus yang dapat mengoptimalkan sesuatu seperti pemodelan rantai markov menjadi kernel untuk pemrosesan GPGPU. Sejauh pengetahuan saya, tidak ada yang seperti itu bahkan dalam pengembangan saat ini. Jadi, kecuali seseorang dengan sumber daya untuk membuat perangkat lunak itu menginginkan frasa sandi Anda, Anda harus aman untuk sementara waktu.

17
user502

Entropi adalah hal yang aneh untuk diukur.

Publikasi Khusus NIST 800-63, Pedoman Otentikasi Elektronik n termasuk panduan untuk memperkirakan kekuatan kata sandi:

Entropi sangat bervariasi tergantung pada apakah kata sandi dipilih oleh pengguna atau dihasilkan secara acak. Secara statistik, menebak karakter pertama dari kata sandi yang dipilih oleh pengguna itu sulit, tetapi menebak yang kedua lebih mudah dan yang ketiga lebih mudah. Pedoman NIST memberikan karakter pertama 4 bit entropi saat menggunakan 94 karakter yang tersedia pada keyboard standar, tetapi hanya 2 bit untuk masing-masing dari tujuh karakter berikutnya, dan seterusnya.

Kata sandi yang dipilih secara acak tidak menampilkan pola, sehingga setiap karakter memiliki tingkat entropi yang sama, sekitar 6,6 bit.

Ini berarti kata sandi delapan karakter yang dipilih oleh pengguna memiliki 18 bit entropi, sementara kata sandi acak dengan panjang yang sama memiliki sekitar 52,7 bit.

Dengan kata lain, jika Anda dapat menentukan 3 karakter pertama kata sandi saya

Perasaan kagum

Maka kemungkinan karakter berikutnya adalah s adalah jauh, jauh lebih tinggi dari itu menjadi *.

Jadi ketika kita mengatakan karakter kata sandi bisa ada karakter, itu tidak benar; kebanyakan orang menggunakan kata-kata yang memiliki pola kuat di dalamnya dan secara implisit mengurangi set karakter-karakter berikut - sehingga menghasilkan kata sandi dengan entropi yang lebih rendah (keacakan).

15
Jeff Atwood

Saya tidak yakin bagaimana "saya akan makan siang malam ini" adalah kamus yang rentan, ini adalah frase tujuh kata. Di mana "th1 $ .v4l" adalah frasa Word dua dengan karakter bergabung, dan substitusi karakter sesuatu yang cracker password telah ditangani sejak selamanya sepertinya.

Beberapa penguji kata sandi menggunakan tes seperti cracklib + ajax dengan basis aturan kecil untuk menghilangkan kata sandi "this.val" Anda.

14
hpavc

Pertanyaan tentang reliabilitas checker kekuatan kata sandi juga meluas ke keamanan checker secara umum. Menakutkan melihat proliferasi meter kekuatan kata sandi online. Anda tidak perlu mengekspos kata sandi Anda ke beberapa situs di internet! Bahkan aplikasi lokal untuk pengecekan kata sandi mungkin jahat. Klaim bahwa situs menggunakan javascript dan tidak pernah mengirimkan kata sandi melalui Internet tidak dapat dipercaya. Beberapa situs pengujian kekuatan kata sandi pasti dijalankan oleh topi hitam, yang hanya menambahkannya ke kamus mereka bersama dengan informasi apa pun yang mereka dapat kumpulkan tentang Anda. Situs lain dijalankan oleh orang-orang dengan niat baik, tetapi kemungkinan implementasi yang buruk, seperti server yang rentan, atau kurangnya https. Dan yang lain lagi rentan terhadap serangan oleh "pihak berwenang" yang memiliki cara memaksa situs untuk mengungkapkan, mis. kata sandi yang dikirimkan oleh rentang alamat IP tertentu.

Saya menyarankan siapa pun yang menggunakan situs semacam itu tidak boleh mengirimkan kata sandi yang sebenarnya ingin mereka gunakan.

8
nealmcb

Panjangnya hampir semuanya saat mencoba mempertahankan diri dari serangan brute force.

Bahkan cracker kata sandi dasar memungkinkan penggantian gaya 1337-berbicara, jadi dalam contoh Anda, Anda secara efektif membandingkan frasa sandi 7 kata dengan frasa sandi 2 kata.

Selama Anda memiliki kata sandi yang panjang (di mana definisi yang tepat untuk panjang dapat bervariasi tergantung pada kebutuhan Anda, tetapi setidaknya harus lebih dari 13 karakter untuk memperkecil kemungkinan serangan tabel Rainbow), Anda memaksa penyerang untuk mencoba bentuk serangan lainnya. , seperti rekayasa sosial; mencari tahu di mana Anda menulis frasa sandi; memegang sandera kucing Anda dll.

7
Rory Alsop

Secara teoritis, "meter kekuatan kata sandi" tidak dapat berfungsi . Alat ini hanya melihat hasil dari proses pembuatan kata sandi, sedangkan kata sandi "kekuatan" sebenarnya adalah properti dari proses tersebut. Lihat jawaban ini lalu jawaban it untuk detailnya.

Yang terbaik yang bisa diberikan oleh aplikasi pengukur kekuatan kata sandi adalah berapa banyak waktu yang dibutuhkan untuk memecahkan kata sandi Anda - dengan kata lain, ia berasumsi bahwa penyerang menjalankan kode yang sama persis dan tidak tahu apa-apa lagi tentang Anda. Ini bukan asumsi yang masuk akal dalam praktiknya: penyerang, ketika dia menyerang Anda, adalah, yah, setelah Anda, secara khusus. Mengandalkan kata sandi keamanan adalah seperti berdoa agar semua penyerang tidak kompeten: itu semacam "lompatan iman".

7
Thomas Pornin

Melihat Javascript untuk alat Microsoft itu tampaknya hanya memiliki daftar terbatas kata-kata kamus (Lihat Baris 264 dan seterusnya dalam file js ), sehingga mungkin menjelaskan mengapa frasa sandi Anda mendapatkan peringkat yang lebih tinggi dari yang seharusnya.

Saya pribadi akan merekomendasikan tester kekuatan kata sandi ini itu memberikan rincian yang baik dari unsur-unsur yang membentuk kata sandi Anda dan memberitahu Anda bagaimana hal itu dapat ditingkatkan. Ini menilai kata sandi Anda "saya akan makan siang malam ini" pada 56% dan kata sandi kedua Anda "th1 $ .v4l" pada 74% yang tampaknya lebih realistis.

Namun, alat ini sama sekali tidak menggunakan daftar kata - frasa sandi Anda ditandai hanya karena huruf kecil, sementara "saya akan makan siang malam ini!" mendapat 98%. Anda dapat menarik kesimpulan sendiri tentang seberapa bermanfaat peringkat% usia.

Sehubungan dengan pengaruh pada panjang pada waktu checkout cracking artikel ini . Perhatikan bahwa ini masih jauh dari tahun 2009, dan cracker kata sandi berbasis GPGPU sekarang dapat mengelola 10 ^ 9/detik (tingkat serangan tertinggi "kelas F" dalam artikel) pada PC gaming/workstation tunggal dengan GPU $ 500 kartu.

5
Mark Davidson

Saya melihat komik di koran baru-baru ini. Atau mungkin itu salinan digital komik online, saya tidak ingat.

Ini menggambarkan perdebatan ini. Dan sekarang saya akan menjelaskan kepada Anda poin yang dibuatnya:

Hanya karena kata sandi pendek tidak berarti mudah ditebak, seperti halnya dengan "th1 $ .v4l". Tetapi hanya karena kata sandi panjang, bukan berarti mudah ditebak, seperti dalam kasus "saya akan makan siang malam ini".

Faktanya adalah, tidak ada peretas manusia serius yang akan duduk di sana dan menebak kata sandi Anda. Mereka mungkin menggunakan kata-kata kamus, tetapi kamus-kamus itu tidak mengandung setiap kalimat yang mungkin. Hanya kata - kata.

Tidak, apa yang dilakukan peretas (ketika mereka telah kehabisan kamus khas KATA), adalah mereka biasanya memiliki komputer berjalan secara sistematis melalui setiap kombinasi yang mungkin. Awal hingga akhir. Jika mereka dipaksa melewati jalan ini, semakin pendek kata sandi, semakin buruk. Semakin lama, semakin baik. Terlepas dari apakah ada angka atau simbol. Digit dan simbol hanya penting untuk diingat manusia dan tebakan manusia. Untuk komputer, mereka adalah hal yang sama ... urutan 1 dan 0 ... dan tidak ada bedanya.

Bantulah dirimu sendiri. Tetap panjang tapi sederhana. Singkat dan kompleks mungkin menghabiskan waktu seorang hacker, tetapi panjang dan sederhana akan melakukan hal yang sama. Pertanyaannya adalah, apakah Anda menginginkan kata sandi yang mudah diingat atau sulit diingat?

4

Kekuatan kata sandi hanya dapat diperkirakan dengan Anda sendirian atau oleh orang lain jika Anda memberi tahu mereka cara membuat kata sandi Anda. Misalnya, jika saya menggunakan generator kata sandi acak yang menggunakan set 50 karakter dan kata sandi saya panjangnya 8 karakter, kata sandi saya akan menjadi 1 di antara sekitar 3,9 × 1013 atau 245. Jika saya menggunakan kata sandi berbasis Pinyin China dan kata sandi saya adalah frasa 4 kata, mengingat bahwa setiap kata keluar dari kemungkinan 2.05 , kata sandi saya 1 dari kemungkinan 1.8 × 1013. Rata-rata romanisasi Pinyin untuk karakter Cina sekitar 3 hingga 4 karakter, sehingga kata sandi "4-Kata" sekitar 16 karakter. Namun, kata sandi Pinyin ini lebih lemah daripada kata sandi 8 karakter yang dihasilkan dari serangkaian karakter 50.

Jika seorang penyerang tahu bagaimana kata sandi dihasilkan (katakanlah dengan memeriksa kata sandi teks biasa yang dicuri dari beberapa situs tidak aman) oleh orang tertentu, mereka memiliki pengetahuan yang diperlukan untuk menurunkan tingkat kekerasan dengan memaksa dengan banyak ! Karena mereka tahu bahwa Anda tidak lagi menggunakan semua karakter yang mungkin pada keyboard Anda, mereka dapat menghilangkan kombinasi yang tidak mungkin dan menghemat waktu.

Lain kali Anda membuat kata sandi, pikirkan tentang algoritma/metode yang Anda gunakan untuk membuatnya. Menggunakan Kata Sandi Aman untuk menghasilkan kata sandi 21-karakter dari rangkaian 72 karakter ([email protected]#$%^&<>/~\?abcdefghijkmnopqrstuvwxyzandABCDEFGHJKLMNPQRTUVWXY346789), Anda mendapatkan sekitar 1,0 × 1039 kemungkinan kombinasi atau keamanan 130-bit.

3
Kevin Li

Yah semua alat pemeriksa kekuatan kata sandi memverifikasi berapa banyak upaya yang diperlukan untuk menemukan kata sandi menggunakan brute force dan serangan kamus.

seperti jika Anda membandingkan hasil Anda di sini dari kedua kata sandi.

http://www.passwordmeter.com/

"th1 $ .v4l" adalah

Kata sandi kuat dengan 74%

"Aku akan makan siang malam ini"

Kata sandi baik 56%

kata sandi ini akan membutuhkan waktu lebih sedikit untuk dipecahkan menggunakan brute force.

3
mr_eclair

Nah, jika Anda mendefinisikan kekuatan kata sandi sebagai tingkat kesulitan atau kemungkinan untuk di-crack, maka hampir secara intuisi, kekuatan kata sandi lebih merupakan fungsi panjangnya daripada kesulitan mengingatnya.

Ketika seorang penyerang potensial tidak tahu apa-apa tentang kata sandi Anda dan hanya dapat menggunakan kekerasan untuk memecahkan kata sandi Anda, kata sandi yang lebih lama akan lebih mudah diingat, seperti

"Aku akan makan siang malam ini"

akan membutuhkan lebih banyak waktu untuk retak daripada

"th1 $ .v4l"

hanya karena ada lebih banyak karakter yang perlu ditebak penyerang dengan benar untuk memecahkan kata sandi. Kata sandi yang lebih panjang menghadirkan ruang pencarian yang lebih besar untuk dibuang, berikan jarum (kata sandi) Anda jauh lebih besar tumpukan jerami untuk disembunyikan.

3
Daniel Miladinov

Pemeriksa kekuatan kata sandi biasanya tidak dapat diandalkan. Mereka cenderung mengandalkan perhitungan terlalu sederhana yang menganggap penyerang akan only mencoba menebak kata sandi Anda dengan mencoba setiap kombinasi karakter yang mungkin, sebuah asumsi yang jarang benar dalam praktiknya.

Pada kenyataannya, penyerang yang termotivasi dapat memunculkan berbagai macam strategi berbeda untuk menebak kata sandi Anda, yang beberapa di antaranya tidak pernah diprogram untuk memeriksa kekuatan kata sandi.

Misalnya, kata sandi "! QAZXSW @ # EDC" mungkin terlihat sangat acak, sampai Anda menyadari bahwa saya menulisnya dengan menekan pola tombol yang sangat sederhana pada papan tombol standar bahasa Inggris. Seorang penyerang yang menggunakan program yang dirancang untuk menebak kata sandi berbasis tata letak papan ketik dapat dengan mudah memecahkan kata sandi seperti itu dalam hitungan menit. (Dan memang, Sudahkah Saya Menjadi Pwned (Pwned Passwords Checker menunjukkan bahwa kata sandi yang tepat ini telah digunakan dan dipecahkan beberapa kali.) Demikian pula, "saya akan makan siang malam ini" mungkin tampak kuat dengan tipikal Anda pemeriksa kekuatan kata sandi, tetapi bisa dengan mudah dipecahkan oleh penyerang menggunakan program yang dirancang untuk menebak kalimat bahasa Inggris yang umum.

There are checker kekuatan kata sandi yang lebih baik dalam hal semacam ini daripada yang lain ( ZXCVBN , misalnya, dapat mendeteksi kata sandi berbasis pola keyboard yang saya berikan di atas dan memberikan perkiraan kekuatan yang lebih realistis) tetapi pada akhirnya tidak selalu mungkin untuk mengatakan seberapa kuat kata sandi hanya dengan menganalisis kata sandi itu sendiri . Tidaklah aman untuk berasumsi bahwa hanya karena pemeriksa kekuatan kata sandi yang Anda gunakan tidak dapat menebak metode apa yang Anda gunakan untuk memilih kata sandi, sehingga penyerang yang mencoba menebak kata sandi Anda tidak akan bisa. Asumsi itu dikenal sebagai "keamanan oleh ketidakjelasan" dan itu dianggap praktik buruk untuk diandalkan dalam komunitas keamanan informasi.

Jadi, apa yang harus Anda lakukan? Pilih kata sandi Anda secara acak, lebih disukai menggunakan sumber keacakan seperti dadu yang tidak dapat dilemahkan oleh bias alami manusia. Dengan begitu, bahkan jika Anda menganggap penyerang tahu persis cara Anda membuat kata sandi, Anda masih dapat dengan mudah menghitung berapa tebakan yang harus dilakukan penyerang sebelum mencoba menebak kata sandi Anda dengan benar.

Diceware adalah contoh yang bagus untuk metode pembuatan kata sandi. Empat kata Diceware acak akan mengambil 77764/ 2 = ~ 1,83 kuadriliun menebak rata-rata bagi penyerang untuk menebak, bahkan jika mereka tahu tepat daftar kata dari kata sandi yang Anda pilih. Kata sandi yang dihasilkan oleh pengelola kata sandi kuat karena alasan yang sama.

Untuk informasi lebih lanjut tentang cara memilih kata sandi dengan aman, saya sarankan jawaban Thomas Pornin ke "XKCD # 936: Kata sandi kompleks yang pendek, atau frasa sandi kamus yang panjang?", Yang menjelaskan secara terperinci tentang entropi kata sandi dan cara menghitung kekuatan kata sandi yang dihasilkan secara acak.

1
Ajedi32