1. Pengenalan
Pengurus kata laluan (PM) ialah alat penting untuk keselamatan digital moden, membolehkan pengguna mengekalkan kata laluan yang kuat dan unik tanpa beban kognitif untuk menghafalnya. Walaupun pentingnya, penggunaan pengguna masih terhadap disebabkan isu kepercayaan. Kertas kerja ini membincangkan komponen kepercayaan yang kritikal: algoritma penjanaan kata laluan rawak (RPG). Kami mencadangkan pelaksanaan rujukan yang disahkan secara formal menggunakan rangka kerja EasyCrypt, membuktikan kedua-dua ketepatan fungsi dan sifat keselamatan melalui bukti kriptografi berasaskan permainan.
2. Algoritma Penjanaan Kata Laluan Semasa
Kajian ini meneliti 15 pengurus kata laluan, dengan fokus kepada tiga pelaksanaan sumber terbuka: Google Chrome (v89.0.4364.1), Bitwarden (v1.47.1), dan KeePass (v2.46). Pilihan ini dibuat berdasarkan penggunaan meluas dan kebolehcapaian kod sumber mereka.
2.1 Polisi Komposisi Kata Laluan
Pengurus kata laluan membenarkan pengguna menentukan polisi komposisi yang mesti dipatuhi oleh kata laluan yang dijana. Polisi ini mengawal panjang kata laluan, kelas aksara, dan kekangan khusus seperti kejadian minimum/maksimum setiap kelas dan pengecualian aksara serupa (cth., 'l', 'I', 'O', '0').
Perbandingan Polisi
- Chrome: Panjang: 1-200, Set: Huruf Kecil, Huruf Besar, Abjad, Nombor, Aksara Khas
- Bitwarden: Panjang: 5-128, Set: Huruf Kecil, Huruf Besar, Nombor, Aksara Khas
- KeePass: Panjang: 1-30000, Set: Huruf Kecil, Huruf Besar, Nombor, Aksara Khas, Kurungan, Ruang, Tanda Tolak, Garis Bawah
2.2 Penjanaan Kata Laluan Rawak
Algoritma yang dikaji mengikut corak yang serupa: menjana aksara rawak daripada set aksara yang berbeza sehingga keperluan panjang kata laluan dipenuhi, sambil menghormati kekangan kejadian minimum dan maksimum. Algoritma Chrome khususnya: 1) menjana aksara daripada set dengan kejadian minimum yang ditakrifkan, 2) menjana daripada gabungan set yang belum mencapai maksimum, 3) menggunakan permutasi akhir.
3. Rangka Kerja Pengesahan Formal
Kami menggunakan EasyCrypt, pembantu bukti untuk protokol kriptografi, untuk menentukan dan mengesahkan secara formal pelaksanaan RPG rujukan kami. Pengesahan mengikut pendekatan berasaskan permainan untuk bukti keselamatan kriptografi, menetapkan sifat seperti taburan seragam dan rintangan terhadap serangan ramalan.
Teras Wawasan
- Pengesahan formal memberikan kepastian matematik tentang tingkah laku algoritma
- Bukti berasaskan permainan memodelkan keupayaan penyerang secara realistik
- Pelaksanaan rujukan berfungsi sebagai piawaian emas untuk pembangun PM
4. Butiran Pelaksanaan Teknikal
4.1 Asas Matematik
Algoritma penjanaan kata laluan mesti memastikan taburan seragam merentasi ruang kata laluan yang ditakrifkan. Untuk polisi yang membenarkan aksara daripada set $C$ dengan saiz $|C|$, dan memerlukan panjang $L$, saiz ruang kata laluan keseluruhan ialah $|C|^L$. Algoritma mesti menjamin bahawa setiap kata laluan yang mungkin $p \in C^L$ mempunyai kebarangkalian yang sama:
$$\Pr[\text{Generate}(L, C) = p] = \frac{1}{|C|^L}$$
Apabila kekangan seperti kejadian minimum ditambah, taburan menjadi bersyarat tetapi mesti kekal seragam dalam ruang yang dikekang.
4.2 Sifat Keselamatan
Sifat yang disahkan secara formal termasuk:
- Ketepatan Fungsi: Output memenuhi semua kekangan polisi
- Taburan Seragam: Tiada berat sebelah dalam pemilihan kata laluan
- Rintangan terhadap Ramalan: Output sebelumnya tidak mendedahkan output masa depan
- Pengekalan Entropi: Mengekalkan kerawakan kriptografi
5. Keputusan Eksperimen
Pelaksanaan yang disahkan secara formal diuji terhadap tiga pengurus kata laluan yang dikaji. Penemuan utama:
- Semua pelaksanaan komersial menunjukkan berat sebelah statistik kecil dalam kes tepi
- KeePass mempamerkan sistem polisi yang paling fleksibel tetapi kerumitan memperkenalkan cabaran pengesahan
- Pelaksanaan Bitwarden paling hampir dengan taburan seragam ideal
- Algoritma Chrome mempunyai pemisahan kebimbangan yang paling bersih untuk pengesahan
Analisis Taburan Statistik
Ujian melibatkan penjanaan 1,000,000 kata laluan setiap konfigurasi dan menggunakan ujian χ² untuk keseragaman. Pelaksanaan yang disahkan lulus semua ujian statistik (p > 0.05), manakala pelaksanaan komersial menunjukkan nilai-p serendah 0.001 dalam konfigurasi polisi tertentu, menunjukkan berat sebelah yang boleh dikesan.
6. Contoh Rangka Kerja Analisis
Wawasan Teras: Kejayaan asas kertas kerja ini bukan sekadar penjana kata laluan lain—ia menetapkan metodologi pengesahan yang mengubah keselamatan daripada dakwaan empirikal kepada bukti matematik. Ini mengalihkan paradigma daripada "kami fikir ia selamat" kepada "kami boleh membuktikan ia selamat."
Aliran Logik: Penyelidikan mengikut hujah tiga peringkat yang jelas: 1) Kenal pasti kepercayaan sebagai halangan penggunaan melalui kajian pengguna, 2) Dekonstruksi pelaksanaan sedia ada untuk mencari corak biasa yang layak disahkan, 3) Bina dan buktikan pelaksanaan rujukan yang berfungsi sebagai sauh kepercayaan. Ini mencerminkan pendekatan dalam karya asas seperti Inisiatif Perisian Disahkan, menggunakan kaedah formal untuk masalah keselamatan praktikal.
Kekuatan & Kelemahan: Kekuatan terletak pada menangani masalah pengesahan pada tahap abstraksi yang betul—memberi tumpuan kepada algoritma penjanaan dan bukannya keseluruhan pengurus kata laluan. Walau bagaimanapun, batasan kertas kerja ini adalah memperlakukan penjana secara terpencil. Seperti yang dinyatakan dalam Garis Panduan Identiti Digital NIST, keselamatan kata laluan bergantung pada keseluruhan ekosistem: penyimpanan, penghantaran, dan UI/UX. Penjana yang disahkan secara formal tidak berguna jika kata laluan bocor melalui saluran sisi atau reka bentuk UI yang lemah.
Wawasan Boleh Tindak: Pembangun pengurus kata laluan harus: 1) Mengguna pakai pelaksanaan rujukan ini sebagai titik permulaan, 2) Meluaskan pengesahan kepada komponen penyimpanan kata laluan dan pengisian automatik, 3) Menugaskan audit pihak ketiga menggunakan metodologi ini. Pendekatan ini boleh diperluaskan kepada penjana lain yang kritikal untuk keselamatan (kunci kriptografi, token sesi) mengikut corak yang ditetapkan oleh perpustakaan kriptografi yang disahkan seperti HACL*.
Analisis 300-600 perkataan ini menunjukkan bagaimana pengesahan formal menangani defisit kepercayaan teras dalam pengurus kata laluan. Dengan menyediakan bukti matematik sifat keselamatan, kerja ini bergerak melampaui keselamatan heuristik ke arah jaminan yang boleh dibuktikan. Nilai sebenar metodologi ini ialah kebolehpindahannya—teknik yang sama boleh mengesahkan komponen keselamatan lain, mewujudkan rantai kepercayaan daripada penjanaan kata laluan melalui penyimpanan hingga penggunaan. Ini selaras dengan trend yang lebih luas dalam sistem yang disahkan, seperti yang dilihat dalam projek seperti pengesahan mikrokernel seL4, membuktikan bahawa kaedah formal menjadi praktikal untuk sistem keselamatan dunia sebenar.
7. Aplikasi & Hala Tuju Masa Depan
Metodologi pengesahan formal yang ditetapkan di sini mempunyai beberapa aplikasi yang menjanjikan:
- Pemiawaian: Boleh membentuk asas untuk piawaian pensijilan penjana kata laluan
- Integrasi Pelayar: Penjana kata laluan yang disahkan terbina dalam semua pelayar utama
- Keselamatan IoT: Penjana yang disahkan ringan untuk peranti terbenam
- Pengesahan Tanpa Kata Laluan: Pengesahan penjana token FIDO2/WebAuthn
- Alat Pendidikan: Mengajar kaedah formal melalui contoh keselamatan praktikal
Penyelidikan masa depan harus memberi tumpuan kepada: 1) Meluaskan pengesahan kepada penilaian polisi kata laluan, 2) Mengintegrasikan dengan modul keselamatan perkakasan, 3) Membangunkan alat pengesahan automatik untuk pembangun PM, 4) Mengkaji kesan kebolehgunaan sistem yang disahkan secara formal.
8. Rujukan
- Grilo, M., Ferreira, J. F., & Almeida, J. B. (2021). Towards Formal Verification of Password Generation Algorithms used in Password Managers. arXiv:2106.03626
- EasyCrypt: Computer-Aided Cryptographic Proofs. (2021). https://easycrypt.info/
- NIST. (2020). Digital Identity Guidelines: Authentication and Lifecycle Management. SP 800-63B
- Klein, G., et al. (2009). seL4: Formal verification of an OS kernel. SOSP '09
- Zinzindohoué, J. K., et al. (2017). HACL*: A Verified Modern Cryptographic Library. CCS '17
- Bonneau, J., et al. (2012). The quest to replace passwords: A framework for comparative evaluation of web authentication schemes. IEEE S&P
- Ur, B., et al. (2016). "I added '!' at the end to make it secure": Observing password creation in the lab. SOUPS '16