Alat Kata Sandi Kembali ke penjana

Panduan keselamatan

Apakah Web Crypto API?

Pelajari bagaimana Web Crypto API menyokong penjanaan kata laluan rawak setempat dalam pelayar dan mengapa ia berbeza daripada rawak JavaScript biasa.

Ringkasan

Web Crypto API ialah piawaian pelayar untuk operasi kriptografi. Untuk penjanaan kata laluan, ciri yang paling penting ialah crypto.getRandomValues(), yang memberikan halaman web akses kepada nilai rawak yang kuat secara kriptografi yang sesuai untuk memilih aksara kata laluan.

Mengapa ia penting untuk kata laluan

Kata laluan memerlukan ketidakramalan. Rawak JavaScript biasa tidak direka untuk rahsia. Web Crypto wujud supaya pelayar boleh mendedahkan primitif kriptografi yang lebih selamat melalui API piawai. PwdGen menggunakan API tersebut untuk pemilihan rawak terikat dan mengelakkan Math.random() untuk penjanaan kata laluan.

Sempadan sistem pengendalian

Web Crypto tidak bermaksud halaman mengawal sumber entropi perkakasan secara langsung. Pelayar biasanya bergantung pada sistem pengendalian dan penyedia kriptografi platform. Metodologi yang teliti harus menyatakan bahawa Web Crypto membekalkan output CSPRNG, bukan bahawa setiap panggilan membaca bunyi fizikal daripada CPU.

Bagaimana PwdGen menggunakannya

PwdGen meminta integer rawak 32-bit, menggunakan pensampelan penolakan untuk mengelakkan bias modulo, memetakan nilai yang diterima kepada indeks aksara, dan mengocok kelas aksara yang diperlukan. Ini memastikan pelaksanaan kecil dan boleh diaudit.

Panduan terperinci

Panduan ini memberi tumpuan kepada memahami Web Crypto API sebagai primitif keselamatan pelayar. Ia ditulis untuk pengguna dan pembangun yang ingin tahu mengapa rawak pelayar penting, jadi matlamat praktikal bukan untuk membuat tuntutan keselamatan yang dramatik. Matlamatnya adalah untuk memilih tabiat kata laluan yang boleh bertahan dalam penggunaan harian: borang log masuk, pengurus kata laluan, papan kekunci mudah alih, pemulihan akaun, peranti kongsi, dan perkhidmatan sekali-sekala dengan peraturan pengesahan yang pelik. Cadangan yang selamat hanya berguna jika orang sebenar boleh mengikutinya secara konsisten.

Titik permulaan paling selamat ialah rawak ditambah keunikan. Rawak bermaksud nilai dipilih daripada ruang yang besar oleh sumber rawak yang sesuai secara kriptografi, bukan dicipta daripada hari lahir, nama haiwan peliharaan, corak papan kekunci, atau petikan kegemaran. Keunikan bermaksud kata laluan yang sama tidak digunakan di tempat lain. Kata laluan yang panjang tetapi digunakan semula boleh gagal dengan cepat selepas satu pelanggaran yang tidak berkaitan, manakala kata laluan rawak yang unik mengehadkan kerosakan kepada satu akaun di mana ia digunakan.

Untuk topik ini, pratetap praktikal ialah Chrome, Edge, Safari, dan Firefox moden dengan crypto.getRandomValues tersedia. Anda boleh menggunakan pratetap itu dengan halaman sokongan pelayar dan kemudian simpan nilai akhir dalam pengurus kata laluan yang dipercayai. PwdGen menjana nilai secara setempat dalam pelayar dengan Web Crypto; kata laluan yang dijana tidak dihantar ke pelayan PwdGen. Reka bentuk setempat itu mengurangkan pendedahan sebelah pelayan, tetapi ia tidak melindungi daripada setiap ancaman. Sambungan pelayar berniat jahat, peranti terjejas, halaman pancingan data, atau pengendalian papan klip yang tidak selamat masih boleh mendedahkan rahsia selepas ia dijana.

Masalah paling biasa yang perlu dielakkan ialah pelayar lama, konteks tidak selamat, polyfill yang secara senyap menggunakan Math.random, dan kekeliruan pengekodan dengan penyulitan. Masalah ini penting kerana penyerang jarang perlu mengesan secara kasar setiap kemungkinan kata laluan apabila tabiat manusia memberi mereka jalan pintas. Serangan isian bukti kelayakan, pancingan data, senarai kata laluan bocor, dan penyalahgunaan pemulihan akaun selalunya lebih realistik daripada carian matematik tulen. Itulah sebabnya nasihat terbaik menggabungkan kualiti kata laluan dengan kawalan peringkat akaun seperti MFA, kunci laluan, penyimpanan kod pemulihan, dan semakan tetap e-mel pemulihan atau tetapan telefon.

Gunakan senarai semak ini semasa menggunakan cadangan:

Jika laman web menolak tetapan ideal, jangan paksa kata laluan ke dalam corak yang lebih lemah secara manual. Laraskan satu pembolehubah pada satu masa. Jika simbol ditolak, kekalkan huruf besar, huruf kecil, dan nombor diaktifkan dan tingkatkan panjang. Jika panjang maksimum rendah, gunakan panjang terbesar yang diterima dan pastikan nilai itu unik. Jika kata laluan mesti dibaca dengan kuat, dicetak, atau ditaip pada skrin televisyen atau penghala, pertimbangkan untuk mengecualikan aksara yang mengelirukan dan tingkatkan panjang untuk mengimbangi abjad yang lebih kecil.

Akhir sekali, ingat sempadan nasihat kata laluan. Kata laluan yang kuat adalah satu lapisan pertahanan, bukan jaminan. Ia tidak boleh menjadikan halaman pancingan data selamat, membetulkan perisian hasad, atau mengimbangi perkhidmatan yang menyimpan bukti kelayakan dengan buruk. Tabiat yang berguna adalah membosankan tetapi tahan lama: jana nilai unik, simpan dengan selamat, lindungi laluan pemulihan, dan gantikan dengan cepat jika anda mengesyaki pendedahan.

Langkah seterusnya yang selamat

Selepas membaca panduan ini, lakukan satu audit akaun kecil dan bukannya cuba membetulkan semuanya sekaligus. Pilih akaun yang akan menyebabkan masalah paling banyak jika diambil alih, sahkan bahawa kata laluannya unik, dan semak e-mel pemulihan, telefon pemulihan, kaedah MFA, dan storan kod sandaran. Jika mana-mana bahagian rantai itu lemah, perbaiki bahagian itu sebelum beralih ke akaun berisiko rendah. Susunan ini memastikan kerja terurus dan melindungi akaun yang paling mungkin digunakan oleh penyerang sebagai batu loncatan. Untuk apakah web crypto api?, hasil terbaik ialah tabiat yang boleh diulang: jana secara setempat, simpan dengan teliti, dan elakkan penggunaan semula.

Soalan lazim

Bahagian Web Crypto manakah yang digunakan oleh PwdGen?

PwdGen menggunakan crypto.getRandomValues() untuk meminta nilai rawak yang kuat secara kriptografi daripada pelayar.

Adakah Web Crypto bermaksud setiap bait datang terus daripada perkakasan?

Tidak. Pelayar biasanya menggunakan penyedia kriptografi sistem pengendalian yang disemai dengan entropi berkualiti tinggi; pelayar dan OS memilih pelaksanaan.

Adakah Web Crypto tersedia dalam semua pelayar?

Ia tersedia dalam pelayar moden. Jika ia tiada, PwdGen melumpuhkan penjanaan dan bukannya kembali kepada rawak tidak selamat.

Sumber