it-swarm.asia

Kegunaan dan keamanan untuk akses pengguna dan penanganan kata sandi dalam aplikasi web?

Saya sedang mencari untuk membuat sebuah situs web yang ditujukan untuk pengguna biasa yang akan menangani data pribadi yang saya tidak ingin dikompromikan. Bagaimana saya bisa membuat situs aman tetapi juga dapat digunakan?

Tampaknya sebagian besar situs menggunakan pengidentifikasi pengguna (alamat email tampaknya terbaik) dan kata sandi, yang cukup dipahami.

Beberapa situs perbankan melampaui ini dengan memiliki PIN atau pertanyaan keamanan berikut dari pengidentifikasi standar atau mengganti kata sandi. Saya tertarik untuk mendengar tentang alternatif apa pun yang telah terbukti berhasil dalam hal ini) .

Saya juga pernah mendengar tentang memungkinkan pengguna untuk memilih colourscheme mereka sendiri atau mencari dan merasakan situs setelah mereka diidentifikasi untuk mempersulit memalsukan detail akun. Adakah yang tahu situs menggunakan ini dan seberapa baik kerjanya?

Kelemahan nyata dalam kebanyakan sistem bagi saya adalah fasilitas pengaturan ulang kata sandi. Karena pengguna lupa kata sandi mereka sepanjang waktu, kami perlu memiliki sesuatu untuk membantu mereka di sini, tetapi tampaknya sangat sulit untuk menemukan keseimbangan antara membantu dan tidak aman. Sekali lagi pendekatan pertanyaan keamanan pengguna tampaknya banyak digunakan di sini, tetapi kedua sisi yang saya temui ini memiliki pertanyaan yang ditetapkan pengguna dan memberikan jawaban atau memiliki beberapa pertanyaan abadi tentang pengguna.

Dengan pertanyaan yang diberikan pengguna, saya tidak percaya mereka tidak akan mengajukan pertanyaan "apa 1 + 1" tidak peduli seberapa keras Anda mencoba memberi tahu mereka bahwa ini --- sangat penting.

Dengan pertanyaan abadi - dan jika Anda menanyakan pendapat pengguna tentang hal-hal alih-alih fakta sederhana, mereka cenderung berubah - cenderung berubah menjadi jenis hal (nama depan orang tua, hewan peliharaan pertama) yang sebenarnya cukup mudah ditemukan keluar jika Anda menargetkan pengguna untuk diserang.

Saya menyadari akan selalu ada kompromi di sini antara apa yang aman dan apa yang mudah digunakan, tetapi harus dimungkinkan untuk melakukan lebih baik daripada kebanyakan situs sekarang. Dapatkah Anda menyarankan pendekatan yang kurang konvensional namun dapat diandalkan untuk keamanan akun pengguna? Saya pernah mendengar pembicaraan tentang kisi-kisi gambar, custom captcha dan sebagainya - ada pengalaman dalam praktik ini? Apakah ada situs yang mengelola ini dengan sangat baik dan jika menunjukkan bagaimana/mengapa mereka bekerja?

10
glenatron

Pertanyaan bagus.

Versi singkat

Ada beberapa opsi yang melampaui nama pengguna/email/kata sandi seperti kebanyakan situs. Anda tidak dapat memecahkan masalah keamanan utama, tetapi Anda dapat mendidik. Ada alternatif untuk captcha. Keamanan vs kemudahan penggunaan adalah perdebatan yang sehat dan tidak pernah berakhir.

Opsi keamanan ekstra saat masuk

  • Yahoo! menggunakan konsep " segel masuk ", di mana Anda dapat memilih beberapa teks atau gambar, dan penyesuaian itu akan disimpan dalam cookie dan ditampilkan pada halaman masuk saat Anda kembali. Idenya di sini adalah membantu mencegah serangan phishing: alih-alih menjelaskan rincian teknis phishing kepada pengguna, dan mengharapkan mereka mengingat hal-hal seperti "pastikan url dimulai dengan (https://www.yahoo.com ", Anda hanya memberi tahu pengguna untuk mencari teks atau gambar khusus mereka pada halaman. Jika tidak ada di sana, Anda tidak berada di situs yang tepat, jadi jangan berikan kredensial login Anda.

  • World of Warcraft menggunakan Blizzard Authenticator , yang merupakan perangkat yang dapat Anda pesan dan kirim kepada Anda, atau aplikasi iPhone/Android. Keduanya menghasilkan kode unik yang diikat ke akun Anda setiap menit. Saat Anda masuk, Anda harus memberikan alamat email terdaftar Battleword, kata sandi akun, dan kode Blizzard Authenticator Anda. Meskipun ini adalah permainan, World of Warcraft adalah benua phishing sendiri, pendekatan ini telah terbukti sangat efektif dalam mengurangi jumlah akun yang diretas melalui phishing (karena bahkan jika Anda meretas ke dalam akun email seseorang dan mengambil atau mengubah kata sandi World of Warcraft mereka , Anda tidak dapat masuk kecuali jika Anda memiliki kode Authenticator aktual yang disinkronkan). Perlu dicatat bahwa Authenticator secara teoritis dapat diretas, tetapi butuh lebih banyak pekerjaan untuk melakukannya.

  • myOpenID menggunakan segel masuk serupa dengan Yahoo! disebut "ikon pribadi Anda". Karena OpenID memiliki implikasi keamanan tambahan (mis. Jika Anda mendapatkan akses ke OpenID saya, Anda sekarang berpotensi memiliki akses ke semua situs yang saya gunakan dengan OpenID itu), setiap opsi menuju peningkatan perlindungan sangat membantu. Saya tidak berpikir sebagian besar pengguna nonteknis memiliki akun OpenID dengan penyedia OpenID, jadi ini mungkin bukan masalah besar. Namun, bagus untuk JanRain karena berusaha lebih keras.

Apa yang harus dilakukan ketika pengguna memberikan pertanyaan dan jawaban keamanan yang jelas

Ini adalah masalah yang tidak bisa Anda selesaikan, dan itu bukan tanggung jawab Anda. Yang harus Anda fokuskan adalah mempromosikan perilaku yang benar pada pengguna Anda dengan mendidik mereka tentang apa yang perlu mereka perhatikan. Tergantung pada jenis basis pengguna yang Anda miliki, Anda bisa menjadi lebih atau kurang agresif tentang hal itu - misalnya, Yahoo! dan Blizzard sangat agresif dan juga menerapkan bantuan keamanan yang lebih proaktif, seperti yang disebutkan di atas.

Beberapa hal yang dapat Anda lakukan:

  • Ingatkan pengguna untuk menggunakan kata sandi unik yang terdiri dari tidak hanya karakter alfanumerik
  • Jelaskan bahwa kata sandi harus dibuat dari kata-kata yang tidak ada, dan bantu menjelaskan cara membuat kata sandi yang mudah diingat yang sesuai dengan cetakan itu
  • Gunakan salinan yang jelas selama alur di mana pengguna membuat pertanyaan setel ulang kata sandi keamanan dan garis bawahi pentingnya menanyakan pertanyaan yang tidak sepele yang orang lain tidak akan tahu jawabannya
  • Berikan contoh pertanyaan yang dapat digunakan orang ( jangan berikan contoh seperti "nama gadis ibu", yang mudah ditemukan melalui Facebook hari ini)
  • Tulis FAQ memberikan tips tentang cara mengamankan akun Anda. Karena webmail adalah lubang keamanan yang sering digunakan, berikan tips dasar tentang pengamanan akun email Anda dan cara mengawasi upaya phishing)

Jadilah pemilik situs web yang bertanggung jawab. Saya menyamakannya dengan stasiun kereta yang memiliki tanda mengatakan "hati-hati dengan pencopet" - adalah tanggung jawab Anda sebagai individu untuk tidak memiliki dompet Anda dalam pandangan yang jelas dan kemudian mengeluh ketika dicuri. Tapi itu bagus dari manajemen stasiun untuk mengingatkan orang untuk mengingat hal-hal. Masalahnya di Web adalah banyak orang tidak tahu apa yang harus diwaspadai atau bagaimana mengidentifikasi ancaman. Kami dapat membantu dengan terus-menerus, secara konsisten mendidik semua orang yang berhubungan dengan kami.

Captcha dan alternatif

Captcha ada karena dua alasan: satu, untuk mencegah situs Anda terkena DDOS dan dua, untuk mencegah peretas melakukan serangan kamus. Tetapi downside adalah bahwa, dalam banyak kasus, mereka sangat tidak ramah dan sama sekali tidak " Don't Make Me Think ".

Jika Anda ingin mencegah, atau setidaknya mencegah, serangan kamus, pertimbangkan untuk menambahkan penghitung waktu ke layar login yang meningkat untuk setiap upaya (setelah angka tertentu). Sebagian besar pengguna akan masuk setelah, katakanlah, 5 upaya, dan lebih dari itu adalah perilaku yang meragukan. Buat serangan kamus menjengkelkan untuk dieksekusi dengan menyebabkan masalah bagi pelanggar, bukan pengguna biasa.

Keamanan vs. kemudahan penggunaan

Jakob Nielsen menyebabkan percikan tahun lalu ketika ia menulis bahwa bidang kata sandi menghadirkan masalah kegunaan dan harus berhenti menyembunyikan masukan mereka . Dia berpendapat bahwa menutupi input hanya benar-benar mencegah kebocoran keamanan ketika seseorang berdiri tepat di belakang Anda, dan itu bukan kasus 99% dari waktu, jadi mengapa membuat hal-hal lebih sulit untuk digunakan hanya untuk kasus Edge? Sebagai ahli kegunaan, sulit untuk berdebat dengannya. Dan pakar keamanan Bruce Schneier bahkan setuj dengan dia!

Jadi keamanan vs kemudahan penggunaan adalah masalah kontroversial yang tidak bisa diselesaikan. Dan itu argumen yang sehat: jika segala sesuatunya berayun terlalu jauh, itu tidak baik bagi pengguna akhir. Sebagai perancang UI, penting untuk mengenali argumen pakar keamanan, dan mempertimbangkannya saat merancang pengalaman pengguna Anda.

9
Rahul

Sebenarnya, dengan sebagian besar penyedia di luar sana menawarkan login API (biasanya berbasis Open Auth), Anda bahkan tidak perlu berurusan dengan masalah login/otentikasi pengguna. Biarkan saja pengguna Anda masuk dengan Facebook, Google, Yahoo, Twitter, dll ... Saya merasa bahwa Google, Microsoft, Yahoo, et. Al. akan melakukan pekerjaan yang lebih baik untuk mengamankan kredensial masuk dan berurusan dengan pengaturan ulang kata sandi daripada saya. Ini benar-benar kasus terbaik bagi pengguna Anda karena mereka tidak perlu mengingat set kredensial baru dan, dalam kebanyakan kasus, jika mereka sudah masuk ke email mereka, mereka tidak akan melalui memasukkan kata sandi lagi. Masuk sekali dengan sempurna (tanpa mengetik).

Ada dua gotcha kecil untuk membuat ini bekerja. (1) Anda harus mendukung sejumlah besar penyedia login untuk memastikan Anda menangkap semua pengguna Anda tanpa mengganggu mereka. (2) Anda harus mendukung dan mendorong penautan akun sehingga pengguna dapat menambahkan beberapa penyedia masuk ke akun mereka di situs Anda karena penyedia dapat (dan sering melakukan tanpa peringatan) mengubah API mereka atau turun untuk pemeliharaan secara efektif mengunci pengguna tersebut keluar dari situs Anda.

Di sisi atas Anda, Anda biasanya dapat mengambil parameter pengguna langsung dari penyedia sehingga pengguna tidak harus memasukkan info seperti alamat email, nama, telepon, dll ...

1
Jonathan

Sejujurnya, sebagai seorang programmer, saya tidak terlalu suka langkah keamanan pertanyaan/jawaban pribadi karena jawaban dapat dimasukkan secara salah dari sudut pandang pemrograman ketat. Apa yang terjadi jika jawaban mereka adalah sebuah nama, tetapi mereka tidak ingat jika mereka meletakkan seluruh nama atau hanya nama pendek mereka atau hanya nama mereka, atau mereka kehilangan tanda kutip dan tidak menyadari.

Di lain pihak, Captcha (dari berbagai jenis) memerlukan jawaban hitam dan putih. Entah valid atau tidak. Karena itu, keterbacaan captcha terkadang menghadirkan masalah bagi pengguna. Sebagian besar bisa dibaca, tetapi ada juga yang hanya bisa diputar-balikkan.

Saya pikir metode yang memerlukan verifikasi email ketika mengatur ulang kata sandi selalu tampak cukup aman bagi saya, karena jelas mengharuskan saya untuk mengetahui detail login saya untuk --- kedua sistem (akun email saya) untuk mengakses tautan kembali ke situs untuk meminta kata sandi baru.

0
Nick Bedford