Apa persyaratan kata sandi yang masuk akal dan aman untuk pendaftaran pengguna?

10

Ini adalah kebijakan kata sandi yang baru saya dapatkan dari UPS (hanya untuk pengecekan status paket):

Kata sandi Anda harus antara 8 dan 26 karakter. Itu harus mengandung setidaknya tiga jenis karakter berikut: huruf kecil, huruf kapital, angka, karakter khusus, atau spasi. Kata sandi mungkin tidak mengandung ID Pengguna Anda, nama Anda, atau alamat email Anda. (SSO_1007)

Saya sebenarnya harus mengacaukan otak saya untuk menghasilkan kata sandi ini, tetapi tidak hanya itu, yang paling penting, saya yakin bahwa setelah 3 hari saya akan lupa apa kata sandi ini. Pengguna tidak akan begitu bahagia. Reset kata sandi bisa sering dilakukan. Saya pikir pengguna akan mencoba menghindari menggunakan situs kecuali mereka harus melakukannya.

Apa kebijakan kata sandi yang masuk akal dan aman ketika membuat situs web? Saya pikir beberapa perusahaan mungkin takut beberapa peretas mencoba kata sandi sejuta kali atau lebih, sehingga mereka menambahkan semua persyaratan untuk "karakter khusus, huruf kecil, huruf besar", tetapi tidakkah masuk akal untuk mematikan akun atau hanya menonaktifkan kata sandi dan memerlukan pengaturan ulang kata sandi jika pengguna telah mencoba 30 kali atau 100 kali? Atau, tambahkan penundaan 5 detik setiap kali setelah pengguna mencoba 30 kali? Jika demikian, maka karakter khusus itu tidak akan terlalu dibutuhkan.

nonopolaritas
sumber
1
jika Anda mengatur ulang kata sandi setelah 30 kali mencoba, Anda hanya memberikan kemungkinan besar untuk mengganggu pengguna lain kepada orang jahat (peretas / skrip-kiddys) yang akan membuat segalanya lebih buruk.
oezi
@ Ezi maksudmu, peretas dapat mengganggu orang-orang baik hanya dengan login 30 kali dengan kata sandi palsu? Bagaimana dengan penundaan 5 detik setelah 30 kali upaya yang baru saja saya tambahkan?
nonopolaritas
14
Belum lagi bahwa saya tidak bisa menganggap kata sandi panjang maksimum kata sandi serius ketika itu tidak memungkinkan "staple baterai kuda yang benar".
David Thornley
6
Bagaimana dengan metode kedua di bawah ini dalam komik Xkcd ini ?
Robert Harvey
6
Hai 動靜 能量, ini mungkin pertanyaan yang lebih baik untuk situs saudara, Keamanan TI , tetapi sudah ditanyakan dan dijawab di sana dalam beberapa bentuk berbeda. Lihatlah pertanyaan seperti ini atau untuk informasi lebih lanjut tentang konteks di sekitar komentar Robert Harvey, lihat pertanyaan ini .

Jawaban:

15

Sejujurnya, saya menemukan memiliki persyaratan kata sandi yang ketat menjadi gangguan dan bukan manfaat. Saya akan mengatakan sebagai aturan yang paling masuk akal adalah dengan hanya menentukan panjang, mungkin karakter khusus + alfanumerik. Yang lebih penting adalah meminta orang untuk menuliskan kata sandi mereka, yang mengalahkan seluruh tujuan memiliki kata sandi yang aman. Saya juga benci harus mengganti kata sandi Anda setiap x hari dengan seperangkat aturan konyol yang biasa (mis. Tidak dapat menggunakan kembali 25 kata sandi terakhir) - sekali lagi yang dilakukan adalah memaksa orang untuk menuliskannya sehingga mereka tidak lupa, pada titik mana Anda mungkin juga tidak meminta kata sandi sama sekali.

Wayne Molina
sumber
4
Menulis kata sandi tidak mengalahkan tujuan. Jika saya memiliki kata sandi yang sangat rumit yang ditulis pada post-it macet di monitor saya maka satu-satunya cara seseorang dapat mengakses akun saya adalah jika mereka masuk ke rumah saya dan duduk di meja saya di ruang belajar saya. Dalam situasi ini saya memiliki masalah yang jauh, jauh lebih besar daripada seseorang yang dapat melacak pengiriman UPS saya.
Qwerky
2
Bagaimana jika itu kebijakan perusahaan dan rekan kerja menemukan kata sandi seseorang? Kerusakan masih dapat disebabkan, dan kebijakan password yang seharusnya aman tidak banyak membantu jika itu sangat kompleks sehingga kebanyakan orang hanya mempostingnya ke monitor mereka sehingga siapa pun yang lewat dapat menemukan kata sandi mereka untuk data perusahaan.
Wayne Molina
2
+1, saya sepenuhnya setuju dg Wayne. Sejumlah besar ancaman keamanan terbesar berasal dari 'bagian dalam'. Kebijakan yang memaksa pengguna untuk akhirnya menuliskan kata sandi benar-benar mengalahkan tujuan.
GrandmasterB
1
Belum lagi fakta bahwa Anda dapat mengganggu pengguna jika mereka perlu memikirkan beberapa kata sandi yang terlalu rumit agar sesuai dengan aturan.
Mavrik
1
@mouviciel Saya cukup percaya untuk meletakkan hal-hal seperti dompet dan telepon saya di sana, yang saya nilai lebih dari hampir setiap akun online yang saya miliki.
Qwerky
13

Pendapat saya adalah bahwa kata sandi harus hanya memiliki persyaratan panjang. Anda tidak ingin seseorang memasukkan "a" sebagai kata sandi mereka. Dan seperti yang ditunjukkan oleh jawaban xkcd, kata sandi yang sangat sulit untuk diingat tidak selalu seaman itu. Selalu izinkan orang untuk mengubah kata sandi mereka juga. Dan lupakan omong kosong "Anda tidak dapat menggunakan salah satu karakter yang terkandung dalam kata sandi Anda sebelumnya".

Membuat kebijakan kata sandi yang tidak senonoh akan lebih berbahaya daripada baik. Di kampus saya pergi ke kebijakan kata sandi mirip dengan kebijakan UPS DAN Anda harus mengubahnya setiap 2 minggu DAN Anda tidak dapat menggunakan 50 kata sandi sebelumnya yang Anda gunakan. Jadi, apa yang disarankan oleh guru saya ketika mengatur kami akun adalah dengan menggunakan kata sandi reguler kami yang sesuai dengan aturan dan menambahkan penghitung di bagian akhir dan memasukkan kata sandi Anda petunjuk apa nomor penghitung itu.

Selain itu, kebijakan kata sandi yang ketat tidak akan melakukan apa pun kapan pun database teks biasa Anda diretas oleh bug injeksi SQL ... atau Anda mengirim kata sandi email ke pengguna Anda dan ia dicegat ..

Pada dasarnya, jangan membuat sistem kata sandi Anda merepotkan bagi pengguna Anda atau itu akan mendorong mereka untuk melakukan hal-hal yang tidak aman sehingga mereka dapat mengatasinya. Misalnya, perusahaan saya ketika mendapatkan server khusus dari pusat data, mereka mengatur kami kata sandi yang panjangnya 20 karakter. Mereka terlalu aman untuk diemailkan kepada kami dan harus mengirim faks. Kami tidak dapat mengubah kata sandi, hanya meminta kata sandi 20 karakter baru yang akan dihasilkan. Dan begitulah cara untuk setiap pengguna ... jadi yang akhirnya kami lakukan hanyalah membuat dokumen teks di desktop kami dengan kata sandi. Juga, kami tidak menggunakannya lagi karena untuk semua "keamanan" yang mereka miliki, mereka benar-benar tidak aman.

Earlz
sumber
Belum lagi jika Anda membuat kata sandi yang cukup sulit untuk diingat, pengguna Anda beralih ke buku catatan yang lengket di meja mereka. Kata sandi "aman" yang membuat semua orang sedih terbuka untuk rekayasa sosial tidak aman.
Fomite
4

Pastikan untuk memberi ruang. Semua orang yang saya kenal dapat mengetikkan frasa pendek lebih cepat daripada mereka dapat mengetik huruf pertama dari setiap kata dalam frasa. Misalnya, coba ketikkan Bird in a Treelalu BiaT. Hal ini memiliki keuntungan bahwa jika Anda menulis sebuah karya yang sesuai frase samar-samar seperti pick Up milkatau Meetings all daypada catatan lengket, tidak jelas password.

Saya bukan penggemar aturan "Anda harus memiliki angka dan simbol", tetapi jika Anda menerapkannya secara konsisten (mis. Saya selalu 1, a selalu @) maka Anda masih dapat menulis frasa bahasa Inggris pada sticky, menerapkan aturan yang diketahui hanya berbicara dengan Anda, dan masukkan B1rd in @ treepada dialog kata sandi. Dari sudut pandang keamanan, angka dan simbol tidak menambah banyak, tetapi mereka tidak perlu membuat Anda gila sebagai pengguna.

Situs dengan panjang kata sandi maksimum membuat saya marah jika frasa saya dianggap "terlalu panjang". 26 tampaknya masuk akal. Saya mengerti seseorang harus mendesain lebar kolom, tapi 12 hanya pendek.

Kate Gregory
sumber
1
Ini sangat pintar. Gunakan frasa hari terpisah spasi ... Pintar. Meskipun saya akan tetap menggunakan sistem saya dengan kata sandi kuat yang umum dengan menambahkan angka dan huruf tergantung pada layanan yang saya masuki. Hanya saya yang tahu cara membentuknya dan selalu sama tetapi kata sandi yang dihasilkan sangat mungkin berbeda (tidak selalu berbeda tetapi saya tidak terlalu peduli dengan duplikat langka itu).
Robert Koritnik
1
Lebar kolom apa? Kotak teks biasanya memiliki pengguliran internal, dan jika Anda menyimpan kata sandi plaintext di DB Anda Melakukannya Salah.
Peter Taylor
Dbs murah sekarang. Dengan penyandian yang baik juga jika Anda mengizinkan 50 kata sandi panjang, lebar dari itu dalam db akan menjadi 110 maks (tepatnya 102). Tapi saya akan membuatnya 150 varchar ... desain db yang baik seharusnya berarti tidak ada tabel yang memiliki lebih dari 20 kolom, jadi ini tidak akan menimbulkan masalah besar.
tgkprog
2

Aman vs. Nyaman

Kebijakan keamanan kata sandi harus sesuai dengan biaya kompromi. Jika situs web Anda di depan akun keuangan saya, saya ingin perlindungan kata sandi yang ketat. Jika ini adalah situs penggemar khusus tentang Autobots, Anda tidak perlu terlalu banyak perlindungan.

Aturan UPS masuk akal dengan pengecualian:

  • Panjang maksimum terlalu kecil. Anda harus memfasilitasi penggunaan kata sandi yang lebih mudah diingat dan dapat lebih aman.

Saya tidak melihat pengaturan ulang setelah sejumlah percobaan dalam aturan yang dikutip, saya pikir ini konyol dalam kebanyakan kasus. Saya pikir lebih baik Anda mengunci seseorang keluar untuk jangka waktu tertentu, daripada memaksa reset. Ini menyiratkan tingkat keamanan tertentu. Jika itu tidak perlu, maka itu tidak dan penguncian / reset adalah titik diperdebatkan.

Ada banyak aturan kebijakan kata sandi yang paling tidak memberikan manfaat keamanan marginal. Namun, ada juga aturan yang memiliki manfaat nyata dan nyata bagi keamanan kata sandi Anda.

Aturan (dan alasannya):

  • panjang minimum

Mencegah serangan percobaan dan kesalahan kombinatorial yang akan dengan cepat memecah kata sandi yang sangat singkat.

  • melarang penggunaan satu kata bahasa Inggris (atau bahasa lain apa pun)

Ini mencegah serangan kamus.

  • inklusi paksa dari berbagai kategori (mis. case campuran, angka, tanda baca)

Ini meningkatkan ruang serangan rata-rata.

Semua alasan ini dapat ditelusuri untuk meminimalkan bias pengguna dalam memilih kata sandi. Sebagian besar pengguna cenderung membuat kata sandi yang lebih pendek dan mudah diingat. Sayangnya itu biasanya membuat kata sandi lebih mudah diserang. Yang paling dibutuhkan pengguna adalah instruksi tentang cara membuat kata sandi aman yang dapat diingat atau frasa sandi yang lebih panjang.

Amankan Kata Sandi Yang Dapat Diingat

Ketika saya perlu membuat kata sandi dengan batas panjang, saya selalu mulai dengan frasa sehingga saya memiliki mnemonik bawaan. Saya mengambil frasa dan saya mendapatkan karakter posisi yang sama dari setiap kata. Saya sekarang memiliki urutan karakter yang adil. Saya kemudian memilih huruf besar, beberapa berdasarkan nama yang tepat dalam frasa, atau berdasarkan pola (pertama dan terakhir, setiap huruf lainnya, dll). Saya kemudian menambahkan tanda baca dan angka berdasarkan beberapa aturan atau pola arbitrer. (mis. semua 'j's adalah 7, menggunakan' & 'di mana ada' dan 'dalam frasa, dll).

Mama, baru saja membunuh seorang pria. Menodongkan pistol ke kepalanya. Menarik pelatukku, sekarang dia sudah mati.

Ungkapan yang diberikan oleh Queen

  1. mjkampagahhpmtnhd - huruf pertama dari setiap kata
  2. MjkamPagahhPmtnhd - casing cocok dengan casing of phrase
  3. Mjk0mP0g0hhPmtnhd - mengubah 'a' menjadi 0
  4. Mjk0mP0g0 () Pmtnhd - mengubah 'kepalanya' menjadi ()

Setelah saya mengetiknya beberapa kali ketika memikirkan frasa saya tidak akan pernah memiliki masalah mengingat.

dietbuddha
sumber
1
Masalah sebenarnya adalah bahwa akun UPS akan digunakan oleh selusin orang di perusahaan. Mengunci mereka semua karena Fred dalam pengiriman salah ketik akan menyebabkan 1, kekacauan 2, orang-orang beralih ke Fedex
Martin Beckett
2
Saya pikir masalahnya adalah bahwa kebijakan kata sandi yang menjengkelkan tidak meningkatkan realkeamanan (mereka hanya meningkatkan persepsi keamanan) dan benar-benar dapat membahayakan keamanan.
Martin York
@ Martin Beckett: 1) Untuk lingkungan yang menggunakan kebijakan penguncian harus ada, dan biasanya ada cara alternatif untuk segera membuka sandi Anda 2) Setiap orang harus memiliki akun sendiri 3) Keamanan B2B biasanya lebih baik dilakukan melalui sistem kunci publik seperti PKCS yang tidak harus menggunakan kata sandi.
dietbuddha
@Loki Astari: Ya, itu benar untuk kebijakan yang menjengkelkan, pertanyaannya adalah aturan mana yang membuat kebijakan itu menjengkelkan mengingat konteksnya. Sebagai contoh saya pikir kita berdua dapat menyetujui persyaratan panjang minimum adalah masuk akal. Saya setuju dengan persyaratan apa pun yang termasuk menjaga riwayat kata sandi Anda menjengkelkan karena tidak meningkatkan keamanan.
dietbuddha
3
Gagasan Anda di atas tampak logis tetapi pada kenyataannya Anda mengalahkan diri Anda xkcd.com/936 . Saya pada dasarnya tidak setuju dengan tiga dari 4 poin Anda dan akan menyarankan bahwa ini semua mengarah pada lebih mudah untuk menjebak kata sandi. (Panjang menjadi satu-satunya positif). Kata sandi terbaik adalah:Mama, just killed a man.
Martin York
1

Kata sandi Anda harus antara 8 dan 26 karakter

Kata sandi minimum yang panjangnya 8 karakter adalah warisan dari Lan Manager. Lan Manager memilah- milah kata sandi dengan memecahnya menjadi 2 string 7-karakter, kemudian mem-hashnya. Dengan mewajibkan 8 karakter minimum, mereka menjamin bahwa kata ke-2 tidak sama dengan kata sandi kosong (tidak ada garam, jadi setiap instance dari 7 kosong di hash untuk hasil yang sama).

Saya yakin bahwa setelah 3 hari saya akan lupa apa kata sandi ini.

Saya sudah menyerah, aturannya begitu konyol dan konyol sehingga saya menuliskannya sekarang. Semua kecuali beberapa yang saya gunakan untuk situs web. Majikan saya saat ini juga melacak 24 kata sandi terakhir yang digunakan sehingga tidak dapat didaur ulang, juga kata sandi tersebut tidak mengandung kata bahasa Inggris 3+ karakter (maju atau mundur). Itu juga memastikan Anda tidak menggunakan kata sebelumnya dan menambah beberapa angka sebagai bagian dari kata itu (jadi jika P4ssw0rd1digunakan, Anda tidak dapat menggunakan P4ssw0rd2, juga P4ssw0rd0).

Saya belajar pelajaran saya dengan cara yang sulit di kantor ketika saya harus mengganti kata sandi, butuh waktu 45 menit untuk mendapatkan sistem untuk menerima pengganti, kemudian segera lupa apa yang saya dapatkan dan harus mengatur ulang dan membuang yang lain 45 menit mencoba mendapatkan sesuatu yang saya ingat yang cukup kompleks untuk memenuhi persyaratan (beberapa persyaratan tercantum di atas, beberapa tidak, dan beberapa saya tidak tahu). Tidak terlalu menyenangkan mencoba menemukan sesuatu yang memenuhi aturan yang tidak boleh Anda ketahui. Setidaknya dengan gim seperti Mastermind Anda diberikan petunjuk seberapa dekat Anda. Di kantor, beberapa orang menggunakan kartu pintar , saya bukan salah satu dari mereka.

Tangurena
sumber
1

Menggunakan bcrypt saat menyimpan kata sandi adalah langkah awal yang baik, hanya karena itu membuat upaya peretasan yang brutal menjadi tidak mungkin.

Semut
sumber
0

Wajar dan Aman saling eksklusif. Mereka adalah dua ujung batang. Mencapai keseimbangan di tengah akan menjadi yang terbaik. Untuk jauh menuju keamanan dan orang-orang menuliskan kata sandi atau menggunakan fitur buka kunci kata sandi yang sama sekali tidak aman.

Contoh di atas memang lebih condong ke arah aman daripada masuk akal. Saya telah melihat yang lebih buruk.

Saya lebih suka condong ke arah yang masuk akal. Kuncinya adalah untuk condong ke arah yang aman di back-end Anda. Simpan sesedikit mungkin menggunakan garam, dll. Semua metode yang direkomendasikan terbaru untuk menyandikan kata sandi ke dalam basis data Anda dan menyandikannya juga. Kemudian jaga database dan kode Anda tetap aman. Juga latih siapa pun yang memiliki hak admin untuk sistem Anda bahwa mereka perlu menggunakan kata sandi aman unik. Baru-baru ini ditunjukkan bahwa merangkai beberapa kata kamus lebih aman daripada menyeret karakter dan huruf khusus. Untuk itu diperlukan pencocokan kamus majemuk yang benar-benar menambah waktu bijaksana bagi peretas, namun, ini masih mengesankan bagi pengguna.

Bill Leeper
sumber
1
Alasan dan keamanan bukanlah konsep yang bertentangan. Mereka dapat konflik, tetapi biasanya mungkin muncul dengan sesuatu yang cukup aman dan cukup dapat digunakan. Mungkin memerlukan sedikit pemikiran kreatif, dan tidak dapat diukur secara memadai pada daftar periksa, yang mungkin mengapa tidak terlihat seperti itu di banyak tempat.
David Thornley
Ada banyak sejarah di mana kewajaran dan keamanan berada di ujung yang berlawanan. Anda dapat mengizinkan pengguna untuk memiliki kata sandi yang masuk akal (tidak ada pemeriksaan, apa pun berjalan) dan itu mungkin yang paling tidak aman, atau mungkin tidak ada kata sandi yang bahkan kurang aman. Microsoft mempelajari ini dengan cara yang sulit. Orang-orang menginginkan email yang lebih baik, jadi mereka memutuskan untuk membiarkan skrip seperti dalam kata, lalu muncul virus email. Sejak itu menjadi pertempuran. Anda tidak dapat memiliki email yang diaktifkan web (masuk akal) tanpa membuka diri Anda terhadap risiko keamanan
Bill Leeper
Tentu saja, mudah untuk menggunakan kemudahan dan keamanan ditentang secara diametris, jika Anda tidak membuat pilihan yang baik. Banyak pilihan Microsoft pada tahun 2005 dan sebelumnya dibuat tanpa memperhatikan keamanan.
David Thornley
Tolong, berikan contoh di mana Anda memiliki kemudahan penggunaan DAN keamanan. Saya telah bekerja di banyak tempat dan menerapkan banyak sistem yang aman dan belum melihat ini. Dan ini akan menjadi aplikasi web biasa bukan sesuatu seperti menggunakan kunci .ssh untuk mengakses sistem jarak jauh. Nenek saya harus dapat melakukan ini pada sistem Windows Vista-nya :-)
Bill Leeper
Pertimbangkan frasa sandi, seperti xkcd baru-baru ini. Lebih aman daripada kebanyakan kata sandi, biasanya lebih mudah diingat daripada yang baik, dan seringkali lebih dari 26 karakter yang dibolehkan situs.
David Thornley
0

Bukan kata kamus, atau variasi yang sepele. Itu dia. Satu bundel dari dua kata kamus tidak bisa dipecahkan. Pengganti satu huruf untuk karakter yang bukan pengganti yang jelas (0-O, 1-I, 5-S) juga.

Juga, jika Anda membatasi waktu respons - kata sandi diterima / ditolak setelah 1s, dan tidak ada dua upaya paralel untuk login yang sama diizinkan - satu harus selesai (OK atau kesalahan) sebelum Anda mencoba yang lain, semua huruf 6-kamus semua huruf kecil semua huruf kecil no Kata sandi khusus karakter akan membutuhkan 9 tahun untuk dipecahkan.

SF.
sumber
0

Kompleksitas persyaratan kata sandi harus seimbang dengan konten situs Anda. Bank harus memerlukan kata sandi yang sangat kompleks (huruf besar, huruf kecil, angka, dan karakter khusus). Namun, jika kontennya sepele, seperti pencarian yang disimpan dan nomor pelacakan, persyaratan kata sandi harus santai. Panjang minimum 6 karakter harus cukup. Jika tidak, itu hanya akan mengganggu audiens Anda dan mencegah mereka membuat login.

Jeson Martajaya
sumber