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.
Jawaban:
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.
sumber
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.
sumber
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 Tree
laluBiaT
. Hal ini memiliki keuntungan bahwa jika Anda menulis sebuah karya yang sesuai frase samar-samar sepertipick Up milk
atauMeetings all day
pada 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 @ tree
pada 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.
sumber
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:
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):
Mencegah serangan percobaan dan kesalahan kombinatorial yang akan dengan cepat memecah kata sandi yang sangat singkat.
Ini mencegah serangan kamus.
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).
Ungkapan yang diberikan oleh Queen
Setelah saya mengetiknya beberapa kali ketika memikirkan frasa saya tidak akan pernah memiliki masalah mengingat.
sumber
real
keamanan (mereka hanya meningkatkan persepsi keamanan) dan benar-benar dapat membahayakan keamanan.Mama, just killed a man.
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 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
P4ssw0rd1
digunakan, Anda tidak dapat menggunakanP4ssw0rd2
, jugaP4ssw0rd0
).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.
sumber
Menggunakan bcrypt saat menyimpan kata sandi adalah langkah awal yang baik, hanya karena itu membuat upaya peretasan yang brutal menjadi tidak mungkin.
sumber
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.
sumber
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.
sumber
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.
sumber