Seberapa amankah kata sandi dengan panjang di bawah 20 karakter?

10

Baru-baru ini saya menerima rekomendasi untuk mengatur kata sandi saya di atas 20 karakter. Algoritma yang digunakan untuk enkripsi adalah AES dengan kunci primer 256 bit. Seberapa aman, katakanlah, 8 kata sandi char terhadap serangan brute force untuk menguraikan file yang dienkripsi?

Saya tahu ini dianggap ukuran kata sandi yang baik di sebagian besar situs web. Salah satu alasannya adalah mereka dapat menghentikan serangan setelah 3 kali percobaan.

cmserv
sumber

Jawaban:

4

Ini adalah artikel yang menarik http://www.lockdown.co.uk/?pg=combi&s=articles merinci berapa lama waktu yang dibutuhkan secara teoritis untuk memaksa paksa kata sandi untuk panjang yang berbeda dan kumpulan simbol.

Mark Davidson
sumber
Ok, ini tautan yang sangat menarik. Ini memberi idea yang bagus tentang jenis kekuatan apa yang Anda butuhkan untuk jangka waktu berapa. Jadi, dengan sumber daya yang cukup, Anda juga dapat memecahkan kata sandi 8 karakter, terutama jika kata sandinya tidak bagus.
cmserv
Masih membutuhkan 83,5 hari pada 100.000 kata sandi / detik. Itu tidak benar-benar mungkin untuk sebagian besar serangan. Terutama jika Anda berbicara tentang kata sandi server, bukan frasa sandi pgp. Jika mereka tidak memiliki hash, 8 karakter (acak) pada dasarnya tidak bisa dipecahkan.
Cian
Saya tidak berbicara tentang kata sandi server karena saya tahu di sana Anda dapat menggunakan kata sandi yang jauh lebih sederhana karena server menawarkan perlindungan ekstra terhadap serangan. Saya berarti dalam kasus lain, misalnya enkripsi file.
cmserv
Akan bagus untuk memperbarui jawaban ini. Tautan tidak lagi berguna, menawarkan "Ditutup secara permanen". Bagi siapa pun yang ingin melihat kontennya, mesin wayback
Howard Lince III
Kesimpulan yang saya lihat: mencampur sedikit dan huruf besar dan angka. Panjangnya> 15 bagus.
Siswa
6

Anda mungkin ingin menunjukkan siapa pun yang menulis kebijakan itu di posting blog ini dari Bruce Schneier .

Ini adalah artikel bagus mengapa kekuatan kata sandi adalah yang paling sedikit dari masalah siapa pun di web.

womble
sumber
+1 Karena Bruce Schneier adalah raja keamanan, kata-katanya adalah hukum.
Mark Davidson
4

Lihatlah jawaban yang diterima di pos ini . Menunjukkan bahwa kata sandi 8 karakter menggunakan berbagai karakter dapat memakan waktu ~ 10.000 tahun untuk dipecahkan!

Marko Carter
sumber
1
Saya kira Anda merujuk pada serangan kelas A (10.000 Kata Sandi / dtk). Jika saya melihat tabel ini dan berpikir tentang institusi besar daripada yang mungkin bisa dilakukan untuk 86 Karakter, 8 kata sandi char, serangan kelas E atau F: dari 34 hingga 346 Hari. Ini bukan 10.000 tahun;)
cmserv
Sejujurnya saya tidak memeriksa matematika di pos!
Marko Carter
3

Jika Anda menghitung penggunaan tabel pelangi sebagai brute force (pendapat berbeda-beda) maka untuk 8 karakter, menggunakan tabel pelangi yang menyertakan semua karakter dalam kata sandi, sekitar 10 detik. Kata sandi 20 karakter (karakter yang sama, tabel pelangi yang sama), kurang dari 30 detik. Tangkapannya adalah bahwa dibutuhkan waktu lama untuk menghasilkan tabel. Milik saya membutuhkan waktu sekitar satu bulan untuk menghasilkan mesin 3GHz yang hanya memproses pada malam hari. Di sisi lain, Anda hanya perlu melakukannya sekali.

Masalah mencoba mengingat kata sandi panjang mudah diselesaikan dengan kombinasi substitusi karakter dan menggunakan frasa. Bahkan sesuatu yang sesederhana "# Fr3ddy M3rcury #" cukup kompleks untuk sebagian besar penggunaan, namun sangat mudah diingat.

John Gardeniers
sumber
Kata sandi MD5 menggunakan garam yang cukup besar. Saya tidak berpikir tabel pelangi Anda akan cukup besar untuk memiliki semua 8 kata sandi karakter dan semua garam untuk setiap kata sandi yang mungkin.
chris
Apakah Anda akan mempertaruhkan keamanan Anda untuk itu? Tabel saya adalah total 25GB. Itu masing-masing 40 meja dengan 650MB. Suatu hari saya akan menghasilkan satu set besar. :)
John Gardeniers
1
Um, bukankah ada 2 ^ 32 garam untuk kata sandi MD5? Itu 2 ^ 32 * 650mb. Semoga beruntung dengan itu.
chris
Saya melakukan tabel pelangi untuk semua karakter ASCII LM hash 64Gb membutuhkan waktu hampir seminggu menggunakan 20 node cluster universitas saya. Butuh sekitar 3 menit untuk menjalani cukup mental. Mengizinkan cracking semua kata sandi windows <= 16 karakter.
Mark Davidson
2
Menurut wikipedia, hash LM tidak memiliki garam. Kata sandi MD5 memiliki garam, yang berarti bahwa setiap kata sandi tunggal mungkin memiliki hash (saltspace * kata sandi), yang berarti Anda harus memiliki 1 tabel pelangi per garam.
chris
2

Pertimbangkan kata sandi delapan karakter yang dapat diingat. Kata sandi 20 karakter akan ditulis.

Dan kemudian seseorang dapat membacanya.

John Saunders
sumber
Kamu benar. Dan ada juga banyak faktor lain yang akan mempengaruhi jenis keamanan untuk file yang dienkripsi.
cmserv
Kata sandi yang sangat panjang mungkin tidak perlu dituliskan jika kata tersebut merupakan kumpulan 5 kata bahasa Inggris / bahasa normal Anda. Otak pandai mengingatnya dan ada banyak di luar sana.
chris
1
Bicaralah untuk otak Anda sendiri. Milik saya menutup sampai memikirkan mengingat 20 karakter.
John Saunders
Jika kata sandi Anda adalah "ruang bawah tanah metafisik menembus stagnasi" Anda mungkin akan dapat mengingatnya setelah menggunakannya beberapa kali.
chris
Nggak. Tidak ada hubungan antara kata-kata. Tidak ada cerita yang mengatakan pada diri sendiri bahwa saya akan ingat untuk mengatakan pada diri sendiri pada saat saya membutuhkan kata sandi. Saya menggunakan program penghasil kata sandi untuk menghasilkan kata sandi acak (saya menggunakan setidaknya delapan karakter setiap saat). Saya terus menghasilkan sampai saya melihat kata sandi yang dapat saya buat menjadi kata yang dapat saya ingat, seperti "cinnademo" = "cinnamon" + "demonstration". Itu , saya bisa tangani.
John Saunders
2

Anda mungkin tertarik pada artikel " Kata Sandi vs. Kata Sandi ". Kesimpulan mereka adalah bahwa kata sandi acak total 9 karakter kira-kira setara dengan frasa sandi 6 kata. Namun mereka merasa frasa 6 kata akan lebih mudah diingat.

Josh
sumber
1

Itu semua tergantung pada karakter yang Anda gunakan, karena ini mengubah jumlah kombinasi yang Anda miliki. Dengan asumsi 8 karakter:

  • Kata kamus:

    egrep "^. {8} $" / usr / share / dict / words | wc -l
    15601
  • Huruf kecil: 26 8 atau 208827064576

  • Huruf kecil dan huruf besar: 52 8 atau 53459728531456

  • Lebih rendah, atas dan angka: 62 8 atau 218340105584896

Tambahkan tanda baca dan simbol lainnya dan pemaksaan kasar akan memakan waktu.

Angka-angka itu adalah kombinasi total yang harus dicoba. Jelas, seorang hacker tidak akan mencoba setiap kombinasi setelah mereka mendapatkan kata sandi, jadi bagi dua untuk mendapatkan jumlah rata-rata kombinasi yang diperlukan.

Hash yang lebih keras menghasilkan waktu cpu yang lebih lama untuk menghitung hash, sehingga total waktu lebih lama. Contoh dari john:

Benchmarking: DES Tradisional [64/64 BS] ... DONE
Banyak garam: 819187 c / s nyata, 828901 c / s virtual
Hanya satu garam: 874717 c / s nyata, 877462 c / s virtual

Benchmarking: BSDI DES (x725) [64/64 BS] ... DONE
Banyak garam: 29986 c / s nyata, 30581 c / s virtual
Hanya satu garam: 29952 c / s nyata, 30055 c / s virtual

Pembandingan: FreeBSD MD5 [32/64 X2] ... DONE
Mentah: 8761 c / s nyata, 8796 c / s virtual

Pembandingan: OpenBSD Blowfish (x32) [32/64] ... DONE
Mentah: 354 c / s nyata, 356 c / s virtual

Benchmarking: Kerberos AFS DES [48/64 4K] ... DONE
Singkat: 294507 c / s real, 295754 c / s virtual
Panjang: 858582 c / s real, 863887 c / s virtual

Pembandingan: NT LM DES [64/64 BS] ... DONE
Mentah: 6379K c / s nyata, 6428K c / s virtual

Benchmarking: NT MD4 [Generic 1x] ... DONE
Mentah: 7270K c / s nyata, 7979K c / s virtual

Pembandingan: M $ Cache Hash [Generic 1x] ... DONE
Banyak garam: 12201K c / s nyata, 12662K c / s virtual
Hanya satu garam: 4862K c / s nyata, 4870K c / s virtual

Benchmarking: LM C / R DES [netlm] ... SELESAI
Banyak garam: 358487 c / s nyata, 358487 c / s virtual
Hanya satu garam: 348363 c / s nyata, 348943 c / s virtual

Pembandingan: NTLMv1 C / R MD4 DES [netntlm] ... DONE
Banyak garam: 510255 c / s nyata, 512124 c / s virtual
Hanya satu garam: 488277 c / s nyata, 489416 c / s virtual

Tentu saja ini semua sepenuhnya bersifat akademis, karena peretas hanya akan menelepon sekretaris Anda yang memberi tahu mereka bahwa mereka berasal dari TI dan mereka membutuhkan kata sandi mereka untuk sesuatu dan kata sandi Anda yang kuat tidak berharga.

David Pashley
sumber
1

Saya menggunakan kata sandi non-sepele untuk melindungi

* Aset yang penting
* hal-hal yang tidak terkena anti-palu (penguncian setelah upaya berulang kali)
* Hal-hal yang bisa terkena serangan brutal / berbasis kamus / hybrid

Saya kurang peduli dengan akun gmail saya, karena upaya brute-force untuk memecahkan kata sandi itu hanya akan mengunci akun (dan siapa pun yang memiliki akses ke server hanya akan mengganti hash dengan salah satu yang mereka pilih, bukan mencoba memecahkannya).

Frasa sandi terbaik adalah panjang (> 12 karakter) dan acak secara kriptografis. Namun, itu lebih sulit untuk diingat. Jadi, frasa sandi yang menggabungkan beberapa kata dengan karakter yang tampaknya acak mungkin merupakan kompromi yang baik (mungkin 1 atau 2 huruf pertama dari beberapa baris pertama dari lirik lagu favorit Anda).

Garrett
sumber
0

Ada keamanan yang Anda dapatkan dari berkomunikasi klien / server, misalnya seperti yang Anda katakan, ketika Anda dapat menghentikan penyerang setelah 3 upaya (ketika mereka menyerang melalui jaringan, seperti dengan aplikasi web). Dengan skenario ini, hampir semua panjang kata sandi dapat dianggap memadai.

Namun, jika orang dalam mengambil basis data ini dengan kata sandi singkat yang di-hash dan mampu melewati batasan "over the net" dari 3 upaya, permainan berubah.

Peringatan dengan membatasi jumlah upaya per akun adalah bahwa ini hanya cukup untuk upaya yang ditargetkan pada satu akun tertentu. Anda juga perlu melindungi terhadap serangan pada semua akun dengan kata sandi yang diberikan (atau diijinkan) - ini tidak akan memicu alarm ketika Anda hanya membatasi jumlah upaya per akun. Mengingat NAT dan botnet saat ini, Anda bahkan tidak dapat berdebat bahwa membatasi jumlah upaya per IP adalah cara berpikir keamanan yang baik.

Sumber daya yang baik untuk membaca telah diberikan dalam jawaban lain.

Olaf
sumber