Teks & alat harian · Penjana Kata Laluan
Cara penjana kata laluan pelayar sahaja berfungsi (dan cara mengesahkannya)
· Bagaimana ia berfungsi
kata laluan privasi alat pelayar
Berjalan melalui perkara yang mesti dilakukan oleh halaman untuk menjana frasa laluan tanpa penglibatan pelayan — memuatkan senarai perkataan, melukis nombor rawak, memilih perkataan — dan memberikan tiga semakan yang boleh dilakukan oleh sesiapa sahaja untuk mengesahkan tiada apa-apa dihantar.
Siapa lagi yang melihat kata laluan baharu anda? — soalan setiap penjana dalam talian sepatutnya dapat menjawab dengan 'tiada sesiapa'
Soalan amanah yang berguna bukanlah sama ada penjana dalam talian menyebut dirinya peribadi; ia adalah apa yang berlaku kepada bait yang dihasilkan selepas pemilihan. Repositori ToolAcre memberikan jawapan terhad: penjanaan berlaku dalam tab, hasilnya dipaparkan sebagai teks dan ujian pelayar menegaskan bahawa menekan Generate tidak membuat permintaan rangkaian. Pendaftaran produk melumpuhkan analitis dan pengiklanan pada halaman kelayakan.
Bukti ini tidak membuktikan bahawa tiada sesiapa pada peranti boleh melihat nilainya. Sambungan pelayar, tangkapan skrin, perisian hasad dan sistem pengendalian yang terjejas berada di luar kawalan halaman. Tuntutan yang disokong berkenaan dengan kod dan gelagat rangkaian ToolAcre, bukan keseluruhan komputer atau setiap model ancaman yang mana nilai yang dijana mungkin digunakan kemudian.
Perkara yang boleh dibuktikan oleh repositori tentang siapa yang menerima nilai yang dijana
Ketiga-tiga bahan tersebut adalah berasingan dan boleh diperiksa. Senarai perkataan ialah fail teks statik asal yang sama. Web Crypto membekalkan bait rawak. Fungsi pakej menapis senarai yang dipilih, melukis indeks tidak berat sebelah dan menyertai perkataan yang dipilih mengikut tetapan pembatas dan kes. Mod aksara diambil daripada kelas eksplisit dan merombak kedudukan dengan selamat selepas menjamin setiap kelas yang dipilih muncul.
Memastikan kepingan itu kelihatan membantu pengulas membezakan pemuatan data daripada penghantaran rahsia. Permintaan untuk `wordlists/eff-long.txt` mengandungi perbendaharaan kata awam, bukan frasa laluan yang dihimpun. Nilai yang dijana sahaja wujud selepas indeks tempatan memilih dan menggabungkan entri, dan ujian hujung ke hujung menyemak bahawa rentetan yang dipasang tidak pernah muncul dalam respons senarai perkataan.
Perkara yang dilakukan oleh penjana sebelah pelayan — dan sebab kata laluan yang dijana di tempat lain telah dikongsi sekali
Penjana sebelah pelayan memerlukan permintaan atau respons yang membawa maklumat yang mencukupi untuk pelayan menghasilkan atau menyampaikan rahsia. Itu bukan laluan ToolAcre. Halaman itu mengambil aset awam, kemudian memanggil enjin yang diimport secara serentak dalam pelayar. Tiada titik akhir API penjanaan kata laluan dan tiada isi permintaan yang mengandungi output semasa.
Elakkan menukar kontras ini kepada dakwaan bahawa semua penjana jauh berniat jahat atau pelaksanaan tempatan secara automatik selamat. Halaman setempat masih melaksanakan kod dan memaparkan bukti kelayakan pada peranti. Kelebihan yang boleh disahkan di sini adalah lebih sempit: Pelayan aplikasi ToolAcre tidak menerima nilai yang dijana semasa tindakan Generate.
Perkara yang dielakkan penjana pelayar sahaja ini: tiada permintaan penjanaan kepada pelayan ToolAcre
Buka alat pembangun sebelum menekan Jana dan simpan log permintaan. Biarkan senarai lalai selesai dimuatkan, tandakan kiraan permintaan semasa, kemudian jana beberapa nilai. Delta yang dijangkakan ialah sifar. Ujian pelayar melakukan perbandingan tepat ini dan gagal jika penjanaan menambah trafik. Mereka mengulangi pemeriksaan untuk Salin kerana penulisan papan keratan juga merupakan operasi tempatan.
Jangan silap muat turun senarai perkataan awal sebagai kebocoran. Periksa URL, kaedah dan kandungannya: ujian memerlukan GET asal yang sama tanpa badan permintaan. Semakan rangkaian yang bermakna bertanya sama ada nilai yang baru dipasang muncul dalam URL, pengepala, kandungan permintaan atau respons, bukan sama ada aplikasi statik pernah memuatkan aset.
Semak dua: Dasar Keselamatan Kandungan — cara dasar yang ketat tanpa skrip pihak ketiga mengehadkan ke mana data boleh pergi
Dasar Keselamatan Kandungan produk kata laluan mengehadkan sambungan ke asalnya sendiri dan pendaftarannya mematikan penyedia iklan dan analitis. Ujian peringkat sumber juga melarang penulisan storan, pengelogan konsol dan peletakan URL dalam laluan kod yang boleh menyimpan bukti kelayakan. Kawalan ini mengurangkan destinasi yang tersedia untuk perubahan masa depan yang tidak disengajakan dan membuat regresi kelihatan dalam semakan.
CSP ialah pertahanan secara mendalam dan bukannya bukti bahawa setiap skrip asal yang sama adalah baik. Pemeriksaan sumber dan tingkah laku pelayar tetap diperlukan. Semak skrip yang dimuatkan, ikut tugasan output dan sahkan bahawa satu-satunya panggilan papan keratan berlaku selepas tindakan Salin eksplisit. Lencana atau ayat dasar tidak boleh menggantikan pemerhatian tersebut.
Semak tiga: putuskan sambungan — selepas halaman dimuatkan sepenuhnya, pergi ke luar talian dan jana semula; alat sebelah pelayar sepenuhnya harus terus berfungsi
Tingkah laku luar talian memerlukan satu kelayakan buku kerja yang ditinggalkan. Senarai perkataan yang dipilih mestilah telah dimuatkan ke dalam halaman semasa. Sebaik sahaja ia berada dalam ingatan, menjana frasa laluan lain melaksanakan aritmetik tempatan dan tidak memerlukan permintaan. Memilih senarai lain yang tidak dicache semasa diputuskan boleh gagal kerana halaman itu masih memerlukan fail statik awam itu.
Oleh itu, ujian yang adil memuatkan halaman dan senarai yang dikehendaki, memutuskan sambungan, kemudian menekan Jana semula. Kejayaan menunjukkan bahawa perhimpunan adalah tempatan; ia tidak menunjukkan bahawa setiap aset telah digabungkan atau halaman itu boleh membuat senarai yang tidak tersedia menjadi kenyataan. Pemuat senarai perkataan melaporkan kegagalan muat turun, fail hilang dan fail kosong secara jujur dan bukannya menggantikan senarai lain.
Semak tiga: selepas senarai perkataan yang dipilih dimuatkan, penjanaan itu sendiri tidak memerlukan permintaan
Semakan ini tidak mengaudit sambungan, pengurus papan keratan atau sistem pengendalian. Mereka juga tidak memutuskan di mana bukti kelayakan yang dijana harus disimpan. ToolAcre tidak mempunyai peti besi, sejarah, penyegerakan atau autolengkap dan tiada apa-apa tentang generasi tempatan mengesyorkan menghantar hasil melalui sembang, e-mel atau pengangkutan lain.
Peranti mesti dipercayai sebelum bukti kelayakan langsung dijana. Untuk mesin yang tidak dipercayai atau dikongsi, halaman had projek itu sendiri mengatakan untuk menggunakan sesuatu yang lain. Kesunyian rangkaian membuktikan sifat tindakan halaman, bukan imuniti daripada perisian dengan akses yang lebih luas kepada skrin atau proses pelayar.
Bawa pulang — Penjana Kata Laluan menjalankan keseluruhan kerja pada peranti anda dan setiap semakan ini mengambil masa kurang seminit
ToolAcre menyokong rantaian pengesahan konkrit: beban senarai perkataan asal yang sama statik, cabutan Web Crypto, pemilihan tidak berat sebelah tempatan, paparan teks sahaja, tiada permintaan pada Generate dan penulisan papan keratan eksplisit sahaja. Tetapan pendaftaran mengalih keluar skrip pengiklanan dan analitis daripada produk kata laluan, sementara ujian mencari regresi storan dan pengelogan.
Ulangi semakan tersebut dan bukannya mempercayai kesimpulan itu. Hasilnya mestilah pernyataan berskop tentang laluan binaan dan kod ini. Ia tidak sepatutnya menjadi "kata laluan ini selamat di mana-mana," dan ia tidak seharusnya mengaburkan penjana dengan pengurus atau dasar yang mengawal perkara yang berlaku seterusnya.