Pilih Bahasa

Ke Arah Pengesahan Formal Algoritma Penjanaan Kata Laluan dalam Pengurus Kata Laluan

Kertas penyelidikan mencadangkan pelaksanaan rujukan yang disahkan secara formal untuk penjana kata laluan rawak dalam pengurus kata laluan, menggunakan EasyCrypt untuk pembuktian ketepatan fungsi dan keselamatan.
computationalcoin.com | PDF Size: 0.1 MB
Penilaian: 4.5/5
Penilaian Anda
Anda sudah menilai dokumen ini
Sampul Dokumen PDF - Ke Arah Pengesahan Formal Algoritma Penjanaan Kata Laluan dalam Pengurus Kata Laluan

1. Pengenalan

Pengurus kata laluan (PM) ialah alat kritikal yang disyorkan oleh pakar keselamatan untuk mengurangkan kelemahan yang berkaitan dengan pengesahan kata laluan, seperti kata laluan lemah dan penggunaan semula kata laluan. Ia membolehkan penggunaan kata laluan yang kuat dan unik dengan mengendalikan penyimpanan dan penjanaan. Walau bagaimanapun, penerimaan pengguna terbantut kerana kurangnya kepercayaan terhadap aplikasi ini. Kertas kerja ini mengenal pasti ciri penjanaan kata laluan rawak (RPG) sebagai faktor utama yang mempengaruhi kedua-dua kepercayaan dan penggunaan. Untuk menangani ini, penulis mencadangkan pembangunan dan pengesahan formal pelaksanaan rujukan untuk algoritma RPG, bertujuan untuk menyediakan asas kriptografi yang kukuh dan terbukti selamat yang boleh dipercayai oleh pengguna dan pembangun.

Masalah teras ialah walaupun PM menggalakkan keselamatan, mekanisme dalamannya—terutamanya penjanaan kata laluan—sering kali merupakan kotak hitam yang tidak telus. Tanpa jaminan yang boleh disahkan, pengguna kekal skeptikal. Laluan penyelesaian melibatkan penggunaan kaedah formal, khususnya rangka kerja EasyCrypt, untuk menentukan algoritma secara matematik dan membuktikan sifat ketepatan dan keselamatannya terhadap model musuh yang ditakrifkan dengan baik.

2. Algoritma Penjanaan Kata Laluan Semasa

Kertas kerja ini menyelidik 15 pengurus kata laluan, menumpukan pada tiga contoh sumber terbuka yang digunakan secara meluas: pengurus terbina dalam Google Chrome, Bitwarden, dan KeePass. Analisis mendedahkan corak biasa dan perbezaan kritikal dalam pendekatan mereka untuk menjana kata laluan rawak.

2.1 Polisi Komposisi Kata Laluan

Semua PM yang dikaji membenarkan pengguna menentukan polisi yang menyekat struktur kata laluan yang dijana. Polisi ini biasanya termasuk:

  • Panjang Kata Laluan: Julat dari 1-200 (Chrome) hingga ekstrem 1-30000 (KeePass).
  • Set Aksara: Set piawai termasuk huruf kecil, huruf besar, nombor, dan aksara khas. KeePass menawarkan granulariti tambahan dengan set berasingan untuk kurungan, ruang, sempang, dan garis bawah.
  • Minimum/Maksimum per Set: Chrome dan Bitwarden membenarkan menentukan kejadian minimum per set aksara. KeePass tidak.
  • Pengecualian Aksara Kabur: Ketiga-tiganya membenarkan pengecualian aksara yang serupa secara visual (cth., 'l', '1', 'O', '0') untuk mengurangkan ralat pengguna.
  • Set Tersuai & Pendua: KeePass secara unik membenarkan menentukan set aksara tersuai untuk dimasukkan atau dikecualikan, dan boleh mengalih keluar aksara pendua daripada kata laluan yang dijana.

Variasi dalam pilihan polisi menonjolkan kekurangan pemiawaian, yang merumitkan penciptaan model sejagat yang boleh disahkan.

2.2 Penjanaan Kata Laluan Rawak

Algoritma umum melibatkan pemilihan aksara secara rawak daripada set yang dibenarkan sambil menghormati kekangan polisi (panjang, minimum, maksimum). Kertas kerja ini menerangkan algoritma Chrome secara terperinci:

  1. Pertama, jana aksara untuk setiap set yang mempunyai bilangan kejadian minimum yang ditakrifkan.
  2. Kemudian, jana aksara yang tinggal dengan memilih secara rawak daripada kesatuan semua set yang belum mencapai kejadian maksimum yang dibenarkan.
  3. Akhir sekali, gunakan pilih atur rawak pada rentetan aksara yang dijana.

Proses ini, walaupun kelihatan mudah, mesti dilaksanakan dengan berhati-hati untuk memastikan kerawakan sebenar dan pengagihan tidak berat sebelah merentasi keseluruhan ruang kata laluan yang dikekang oleh polisi. Berat sebelah halus dalam pemilihan atau pilih atur boleh melemahkan kata laluan yang terhasil.

3. Pelaksanaan Disahkan Secara Formal yang Dicadangkan

Sumbangan utama kertas kerja ini ialah cadangan untuk membina pelaksanaan RPG rujukan dengan bukti yang diperiksa mesin bagi sifat-sifatnya.

3.1 Spesifikasi Formal

Langkah pertama ialah mencipta spesifikasi matematik yang tepat bagi algoritma penjanaan kata laluan dalam EasyCrypt. Spesifikasi ini mentakrifkan:

  • Input: Parameter polisi (panjang $L$, set aksara $S_1, S_2, ..., S_n$, minimum $min_i$, maksimum $max_i$).
  • Output: Rentetan kata laluan $p$ dengan panjang $L$.
  • Prasyarat: Polisi mesti konsisten (cth., $\sum min_i \leq L$).
  • Pascasyarat (Ketepatan Fungsian): Output $p$ mesti memenuhi semua kekangan polisi. Secara formal, $\forall i, min_i \leq count(p, S_i) \leq max_i$, di mana $count$ mengira aksara daripada set $S_i$ dalam $p$.

3.2 Sifat Keselamatan dan Bukti

Selain ketepatan, pelaksanaan mesti dibuktikan selamat. Kertas kerja ini menggunakan pendekatan bukti kriptografi berasaskan permainan. Sifat keselamatan utama ialah persampelan rawak seragam daripada set semua kata laluan yang memenuhi polisi yang diberikan.

Ini diformalkan sebagai permainan keselamatan di mana musuh cuba membezakan antara kata laluan yang dijana oleh algoritma sebenar dan kata laluan yang disampel secara seragam daripada ruang kata laluan yang sah. Bukti menunjukkan bahawa tiada musuh yang cekap boleh memenangi permainan ini dengan kebarangkalian yang jauh lebih baik daripada tekaan rawak (1/2). Ini memastikan algoritma tidak memperkenalkan corak atau berat sebelah yang boleh diramal.

Bukti akan memanfaatkan pustaka EasyCrypt untuk penaakulan tentang pengiraan kebarangkalian dan persampelan rawak.

4. Keputusan Eksperimen & Analisis

Walaupun PDF yang disediakan adalah kerja awal dan tidak mengandungi keputusan eksperimen penuh, ia menyediakan landasan untuknya. Pengesahan yang dicadangkan akan menghasilkan hasil yang ketara berikut:

  • Laporan Pengesahan: Sijil bukti yang dijana mesin daripada EasyCrypt, mengesahkan kod algoritma mematuhi spesifikasi formal dan teorem keselamatannya.
  • Analisis Perbandingan: Algoritma yang disahkan boleh dibandingkan dengan pelaksanaan sedia ada dalam Chrome, Bitwarden, dan KeePass. Ujian akan melibatkan penjanaan kelompok besar kata laluan (cth., 1 juta) di bawah polisi yang sama dan menganalisis pengagihan secara statistik.
  • Metrik: Metrik utama ialah Pencapahan Kullback-Leibler (KL) atau Ujian Chi-kuasa dua antara pengagihan empirikal kata laluan yang dijana dan pengagihan seragam teori merentasi ruang yang ditakrifkan oleh polisi. Algoritma yang disahkan secara formal sepatutnya menunjukkan pencapahan yang tidak dapat dibezakan secara statistik daripada sifar, manakala pelaksanaan yang tidak disahkan mungkin mendedahkan berat sebelah halus.
  • Penerangan Carta: Carta bar membandingkan entropi (dalam bit) pengagihan kata laluan yang dijana untuk setiap algoritma PM berbanding entropi maksimum teori untuk polisi yang diberikan. Bar pelaksanaan rujukan yang disahkan sepatutnya sejajar sempurna dengan bar "Maksimum Teori".

5. Butiran Teknikal & Kerangka Matematik

Pengesahan formal bergantung pada pemodelan matematik yang tepat. Mari kita takrifkan konsep teras:

Ruang Kata Laluan: Diberi polisi dengan panjang $L$ dan set aksara yang dibenarkan $S_1, ..., S_n$, set keseluruhan kata laluan yang mematuhi $\mathcal{P}$ ialah subset bagi hasil darab Cartesian $\mathcal{C}^L$, di mana $\mathcal{C} = \bigcup_{i=1}^n S_i$. Saiz $\mathcal{P}$ dikekang oleh peraturan minimum dan maksimum.

Pengagihan Seragam: Matlamat keselamatan adalah untuk algoritma $\mathcal{A}$ melaksanakan fungsi yang tidak dapat dibezakan daripada pensampel seragam sebenar $\mathcal{U}_{\mathcal{P}}$. Untuk sebarang kata laluan $p \in \mathcal{P}$, kebarangkalian sepatutnya: $$\Pr[\mathcal{A}(policy) = p] = \frac{1}{|\mathcal{P}|}$$ di mana $|\mathcal{P}|$ ialah kardinaliti set kata laluan yang sah.

Lakaran Bukti Berasaskan Permainan: Keselamatan dirangka sebagai permainan "Nyata-atau-Rawak" (RoR).

  1. Pencabar membaling duit sulit $b \xleftarrow{\$} \{0,1\}$.
  2. Musuh $\mathcal{D}$ boleh membuat pertanyaan kepada pencabar dengan polisi kata laluan.
  3. Jika $b=0$ (Nyata), pencabar menjalankan algoritma sebenar $\mathcal{A}$.
  4. Jika $b=1$ (Rawak), pencabar menyampel secara seragam daripada $\mathcal{P}$ menggunakan $\mathcal{U}_{\mathcal{P}}$.
  5. $\mathcal{D}$ mengeluarkan tekaan $b'$.
Kelebihan musuh ditakrifkan sebagai: $$\mathbf{Adv}^{ror}_{\mathcal{A},\mathcal{D}}(\lambda) = \left| \Pr[b' = b] - \frac{1}{2} \right|$$ Bukti menunjukkan bahawa untuk semua musuh masa polinomial kebarangkalian $\mathcal{D}$, kelebihan ini boleh diabaikan dalam parameter keselamatan $\lambda$ (berkaitan dengan sumber kerawakan).

6. Kerangka Analisis: Contoh Bukan Kod

Memandangkan PDF tidak termasuk kod sebenar, berikut ialah kerangka analisis konseptual untuk menilai algoritma RPG, dibentangkan sebagai senarai semak:

Kes: Menilai penjana kata laluan "PM-X".

Langkah 1 - Dekonstruksi Polisi: Petakan pilihan antara muka pengguna PM-X (kotak semak, peluncur) kepada tupel polisi formal: (L=12, Sets={Huruf_Kecil, Huruf_Besar, Digit}, min_Huruf_Kecil=1, min_Huruf_Besar=1, min_Digit=1, exclude={'l','O','0'}).

Langkah 2 - Ketelusan Algoritma: Bolehkah langkah-langkah algoritma (seperti proses 3 langkah Chrome) diterangkan dengan jelas daripada dokumentasi atau kod sumber? Jika tidak, ia gagal ujian ketelusan.

Langkah 3 - Pengiraan Entropi: Kira entropi maksimum teori untuk polisi: $log_2(|\mathcal{P}|)$ bit. Untuk polisi di atas, $|\mathcal{P}|$ ialah bilangan rentetan 12-aksara daripada abjad (cth., 70 aksara selepas pengecualian) yang memenuhi kekangan minimum. Ini ialah penanda aras keselamatan.

Langkah 4 - Reka Bentuk Ujian Statistik: Reka bentuk eksperimen untuk menjana $N$ kata laluan dan uji untuk pengagihan seragam. Gunakan ujian Chi-kuasa dua merentasi keseluruhan ruang kata laluan atau subset yang disampel dengan bijak.

Langkah 5 - Pengesanan Berat Sebelah: Cari berat sebelah khusus: Adakah kedudukan aksara tertentu kurang rawak? Adakah algoritma untuk memenuhi minimum mengurangkan kerawakan untuk slot yang tinggal?

Kerangka ini menyediakan metodologi berstruktur, bebas kod untuk memeriksa secara kritikal sebarang RPG, selaras dengan matlamat kertas kerja untuk beralih daripada ketidakjelasan kepada analisis yang boleh disahkan.

7. Aplikasi Masa Depan & Hala Tuju Penyelidikan

Kerja ini membuka beberapa laluan yang menjanjikan:

  • Pemiawaian: RPG yang disahkan secara formal boleh menjadi komponen piawai (seperti pustaka) yang disepadukan ke dalam PM merentasi industri, serupa dengan cara libsodium menyediakan primitif kriptografi yang disahkan.
  • Integrasi Pelayar dan OS: Sistem pengendalian (cth., Windows Hello, macOS Keychain) dan pelayar boleh menggunakan penjana yang disahkan untuk ciri cadangan kata laluan terbina dalam mereka, meningkatkan keselamatan asas untuk semua pengguna.
  • Penjanaan Disokong Perkakasan: Algoritma yang disahkan boleh dilaksanakan dalam elemen perkakasan selamat (TPM, Enklaf Selamat) untuk penjanaan yang selamat secara fizikal dan logik.
  • Pertimbangan Pasca-Kuantum: Penyelidikan masa depan boleh meneroka polisi penjanaan kata laluan yang menghasilkan kata laluan tahan terhadap serangan brute-force klasik dan kuantum, dengan bukti formal menyesuaikan diri dengan model ancaman baru.
  • Pengesahan Pertukaran Kebolehgunaan-Keselamatan: Kembangkan model formal untuk membuktikan sifat tentang kebolehingatan atau kebolehitaan kata laluan yang dijana, merapatkan jurang antara kriptografi tulen dan interaksi manusia-komputer.
  • Analisis Polisi Automatik: Bangunkan alat yang menggunakan model formal untuk menganalisis secara automatik polisi yang ditakrifkan pengguna dan melaporkan entropi berkesannya serta sebarang kekangan yang tidak diingini yang melemahkan ruang kata laluan.

8. Rujukan

  1. Grilo, M., Ferreira, J. F., & Almeida, J. B. (2021). Towards Formal Verification of Password Generation Algorithms used in Password Managers. arXiv preprint arXiv:2106.03626.
  2. Bellare, M., & Rogaway, P. (2006). The security of triple encryption and a framework for code-based game-playing proofs. In Advances in Cryptology-EUROCRYPT 2006 (pp. 409-426). Springer.
  3. Barthe, G., Dupressoir, F., Grégoire, B., Kunz, C., Schmidt, B., & Strub, P. Y. (2016). EasyCrypt: A computer-aided cryptography toolset. Lecture Notes in Computer Science, 9573, 3-32.
  4. National Institute of Standards and Technology (NIST). (2020). Digital Identity Guidelines: Authentication and Lifecycle Management (SP 800-63B).
  5. Shannon, C. E. (1948). A mathematical theory of communication. The Bell System Technical Journal, 27(3), 379-423. (Karya asas mengenai entropi dan teori maklumat).
  6. Florêncio, D., Herley, C., & Van Oorschot, P. C. (2014). An administrator's guide to internet password research. In 28th Large Installation System Administration Conference (LISA14) (pp. 44-61).

9. Perspektif Penganalisis: Inti Pati & Kritikan

Inti Pati

Kertas kerja ini betul mengenal pasti kelemahan kritikal, namun sering diabaikan, dalam rantaian bekalan keselamatan siber: kerawakan yang tidak disahkan di jantung pengurus kata laluan. Inti pati sebenar bukanlah penjanaan kata laluan itu kompleks—tetapi model kepercayaan untuk alat keselamatan asas telah rosak. Pengguna diminta mempercayai kotak hitam dengan kunci digital mereka. Cadangan penulis untuk menggunakan pengesahan formal, teknik yang lebih biasa dalam reka bentuk perkakasan dan perisian penerbangan kritikal (seperti sistem yang diperakui DO-178C), kepada primitif keselamatan pengguna adalah bercita-cita tinggi dan perlu. Ia adalah percubaan untuk memindahkan ketelitian makmal penyelidikan SRI International atau INRIA ke dalam dunia keselamatan aplikasi yang sering cuai.

Aliran Logik

Hujah mengalir secara logik daripada masalah yang mantap (ketidakpercayaan pengguna terhadap PM) kepada punca akar teknikal yang spesifik (penjanaan kata laluan tidak telus), dan kemudian kepada laluan penyelesaian konkrit dengan jaminan tinggi (spesifikasi formal dan bukti). Tinjauan PM sedia ada bukan sekadar akademik; ia berkesan menunjukkan ketidakkonsistenan liar dalam pelaksanaan, memperkukuh kes untuk rujukan piawai yang disahkan. Pusingan kepada EasyCrypt dan bukti berasaskan permainan adalah sesuai, kerana rangka kerja ini, dibangunkan oleh institusi terkemuka dalam kripto formal, direka khusus untuk kelas masalah ini. Aliran ini mencerminkan metodologi karya penting dalam kriptografi yang disahkan, seperti pengesahan penjana HMAC-DRBG.

Kekuatan & Kelemahan

Kekuatan: Kekuatan terbesar kertas kerja ini ialah tumpuannya pada masalah berimpak tinggi yang boleh diurus. Ia tidak cuba mengesahkan keseluruhan PM; ia menuju ke teras kriptografi. Menggunakan PM sumber terbuka untuk analisis membumikan penyelidikan dalam realiti. Pilihan bukti berasaskan permainan ialah piawai industri untuk analisis kripto moden.

Kelemahan & Jurang Kritikal: Kertas kerja ini, seperti yang dibentangkan, lebih merupakan cadangan yang menarik daripada kajian yang selesai. Kekurangan yang paling ketara ialah kod EasyCrypt sebenar dan bukti yang selesai. Tanpa ini, tuntutan kekal teori. Tambahan pula, ia kurang menekankan masalah kerumitan polisi. Spesifikasi formal mesti mengendalikan setiap kes tepi polisi yang ditakrifkan pengguna (cth., min/maks yang bercanggah, set aksara tersuai). Ini boleh membawa kepada spesifikasi yang setanding kerumitan dengan pelaksanaan, satu cabaran yang diketahui dalam kaedah formal. Ia juga mengelak sumber entropi dunia sebenar—algoritma hanya sebaik CSPRNG sistem (cth., /dev/urandom). Algoritma yang disahkan diberi kerawakan lemah masih lemah. Kertas kerja akan lebih kuat dengan secara eksplisit membataskan jaminannya berdasarkan andaian sumber entropi sempurna.

Wawasan Boleh Tindak

1. Untuk Pembangun PM: Segera buka sumber kod penjanaan kata laluan anda dan serahkan kepada audit pihak ketiga. Mulakan pemodelan algoritma anda, walaupun secara tidak formal, untuk mengenal pasti berat sebelah yang berpotensi. Pertimbangkan untuk menyepadukan pustaka yang disahkan seperti yang disasarkan oleh penyelidikan ini.

2. Untuk Juruaudit Keselamatan: Tambah "Analisis Algoritma RPG" ke senarai semak audit PM piawai anda. Gunakan kerangka statistik yang digariskan dalam Seksyen 6 untuk menguji berat sebelah pengagihan dalam output klien.

3. Untuk Badan Piawaian (cth., NIST, FIDO Alliance): Mulakan kumpulan kerja untuk mentakrifkan API piawai dan set keperluan keselamatan untuk penjana kata laluan, membuka jalan untuk pelaksanaan yang diperakui. Ini mencerminkan pemiawaian algoritma kriptografi yang berjaya.

4. Untuk Penyelidik: Kerja ini ialah titik permulaan yang sempurna. Langkah seterusnya ialah melengkapkan pelaksanaan dan bukti EasyCrypt. Fasa seterusnya yang penting ialah membangunkan harness ujian yang boleh mengambil kod yang disahkan dan fuzz terhadap kod dunia sebenar Chrome, Bitwarden, dsb., untuk mencari percanggahan dan kelemahan konkrit, beralih daripada teori kepada impak praktikal.

Kesimpulannya, kertas kerja ini menyinari sudut gelap infrastruktur keselamatan kita yang perlu. Walaupun tidak lengkap, arahnya betul. Industri pengurus kata laluan telah matang melepasi fasa "percaya sahaja"; sudah tiba masanya untuk kepercayaan matematik yang boleh disahkan. Kejayaan penyelidikan ini boleh menetapkan preseden baru untuk cara kita membina semua perisian keselamatan sebelah klien.