Pilih Bahasa

Penjana Kata Laluan Selamat Berdasarkan Penjana Nombor Rawak Pseudo (PRNG)

Kertas penyelidikan mencadangkan penjana kata laluan selamat menggunakan PRNG berasaskan HMAC, CMAC, atau KMAC, disahkan melalui ujian entropi dan IID NIST SP 800-90B.
computationalcoin.com | PDF Size: 0.5 MB
Penilaian: 4.5/5
Penilaian Anda
Anda sudah menilai dokumen ini
Sampul Dokumen PDF - Penjana Kata Laluan Selamat Berdasarkan Penjana Nombor Rawak Pseudo (PRNG)

Kandungan

1. Pengenalan

Penyelidikan ini menangani isu berterusan kebocoran kata laluan dan risiko pendedahan data peribadi yang terhasil. Walaupun keselamatan laman web adalah satu faktor, kekuatan semula jadi kata laluan itu sendiri adalah paling penting. Kelemahan biasa termasuk kata laluan berdasarkan kata kunci, frasa popular, maklumat pengguna, dan penggunaan semula kata laluan. Kebangkitan AI dan model bahasa besar seterusnya memperkasakan penyerang untuk meneka kata laluan dengan lebih berkesan.

Sebagai tindak balas, kertas ini mencadangkan penjana kata laluan selamat yang dibina di atas Penjana Nombor Rawak Pseudo (PRNG) yang selamat. Teras PRNG dibina menggunakan primitif kriptografi seperti HMAC, CMAC, atau KMAC untuk menjana nombor rawak berkualiti tinggi, yang kemudiannya digunakan untuk mencipta kata laluan. Sistem ini membenarkan input pengguna pilihan (Mesej Untuk Di-Hash, TBHM) untuk dijadikan benih proses. Sumbangan utama adalah:

2. Sorotan Literatur

2.1. Penjana Nombor Rawak Pseudo Berasaskan Penjana Kongruen Linear

Bahasa pengaturcaraan biasa (C, Java) menggunakan Penjana Kongruen Linear (LCG). Diberi benih $k$, jujukan dijana sebagai: $f_0(k) \equiv a \oplus k \ (\text{mod} \ m)$ dan $f_i(k) \equiv a \times f_{i-1}(k) + c \ (\text{mod} \ m)$. Kaedah ini tidak selamat kerana keadaan boleh diterbalikkan: $f_{i-1}(k) \equiv (f_i(k) - c) \times a^{-1} \ (\text{mod} \ m)$, mendedahkan benih dan keseluruhan jujukan.

2.2. Penjana Nombor Rawak Pseudo Selamat

PRNG selamat adalah berdasarkan primitif kriptografi seperti yang digariskan dalam NIST SP 800-108 Rev. 1.

2.2.1. Berasaskan HMAC

Keselamatan bergantung pada sifat satu hala fungsi hash (contohnya, SHA2, SHA3). Untuk kunci $k$ dan mesej $M$, HMAC dikira sebagai: $r_{hmac}(k, M) = h((k \oplus opad) \ || \ h((k \oplus ipad) \ || \ M))$. Untuk menjana aliran bit rawak panjang $L$, mod pembilang digunakan: $M_i = i \ || \ \text{KDF} \ || \ 0x00 \ || \ M \ || \ L$, menghasilkan output $r_{hmac,i}$.

2.2.2. Berasaskan CMAC

Keselamatan bergantung pada penyekat cipher AES dalam mod CBC. Mesej $M$ dibahagikan kepada blok $M'_1, M'_2, ...$. Proses berulang: $c_{i+1} = AES(k, c_i \oplus M'_{i+1})$ dengan $c_0 = Pad0(0)$. Output akhir $r_{cmac}$ diperoleh daripada blok cipher terakhir selepas padding khusus (Pad1).

2.2.3. Berasaskan KMAC

Menggunakan fungsi span KECCAK (asas SHA-3), menawarkan fungsi MAC yang fleksibel dan teguh sesuai untuk menjana bit rawak deterministik.

2.3. Kaedah untuk Mengesahkan Kerawakan

Kertas ini menggunakan kerangka NIST SP 800-90B, yang merupakan piawaian de facto untuk mengesahkan sumber entropi. Ia termasuk dua suite pengesahan kritikal:

3. Penjana Kata Laluan Selamat yang Dicadangkan

Seni bina sistem yang dicadangkan adalah mudah tetapi berkuasa:

  1. Input/Benih: Menerima TBHM yang disediakan pengguna secara pilihan. Jika disediakan, ia diproses; jika tidak, benih selamat yang dijana sistem digunakan.
  2. Teras PRNG Selamat: TBHM/benih dimasukkan ke dalam salah satu daripada tiga pembinaan PRNG kriptografi (berasaskan HMAC, berasaskan CMAC, berasaskan KMAC) untuk menjana jujukan bit pseudo-rawak yang kuat secara kriptografi.
  3. Pembinaan Kata Laluan: Bit rawak dipetakan ke set aksara yang ditakrifkan pengguna atau sistem (contohnya, alfanumerik + simbol) untuk menghasilkan kata laluan dengan panjang yang dikehendaki.

Analisis Keselamatan: Kertas ini berhujah bahawa keselamatan kata laluan yang dijana bergantung secara langsung pada entropi output PRNG dan saiz set aksara. Ia melakukan analisis perbandingan, menunjukkan bahawa kata laluan 16 aksara daripada set 94 aksara yang dijana oleh kaedah ini boleh menawarkan rintangan serangan brute-force yang setanding atau melebihi kunci AES-128 atau AES-256, dengan andaian output PRNG adalah benar-benar rawak.

4. Keputusan Eksperimen dan Analisis

Pengesahan eksperimen adalah kekuatan utama kertas ini.

Penerangan Carta (Tersirat): Carta bar akan berkesan membandingkan anggaran min-entropi (dalam bit per bit) untuk tiga kaedah PRNG berbanding nilai ideal 1.0. Semua bar akan sangat hampir dengan 1.0. Carta kedua boleh menunjukkan nilai-p daripada ujian IID utama (contohnya, Chi-Square, Kolmogorov-Smirnov), dengan semua nilai jauh melebihi ambang kepentingan tipikal (contohnya, 0.01), menunjukkan kelulusan.

5. Kesimpulan dan Kerja Masa Depan

Penyelidikan ini berjaya menunjukkan kerangka penjanaan kata laluan selamat berdasarkan PRNG kriptografi. Kaedah yang dicadangkan menjana kata laluan dengan kerawakan yang mencukupi, seperti yang disahkan dengan ketat oleh piawaian NIST. Hala tuju kerja masa depan termasuk:

6. Analisis Asli & Pandangan Pakar

Pandangan Teras: Kertas ini bukan tentang mencipta primitif kriptografi baharu; ia adalah tentang aplikasi dan pengesahan berdisiplin primitif sedia ada yang telah disahkan (HMAC, CMAC, KMAC) untuk menyelesaikan masalah penjanaan kata laluan yang biasa tetapi kritikal. Nilai sebenarnya terletak pada merapatkan jurang antara kriptografi teori dan kebersihan keselamatan praktikal, membuktikan dengan ketat bahawa outputnya sesuai untuk tujuan menggunakan suite ujian piawai emas NIST.

Aliran Logik: Hujah adalah kukuh: 1) LCG piawai telah dipecahkan secara kriptografi. 2) PRNG selamat yang dibina daripada MAC kriptografi terbukti teguh. 3) Oleh itu, kata laluan yang diperoleh daripada PRNG tersebut mewarisi keteguhan itu. 4) Tuntutan ini disahkan bukan hanya oleh teori, tetapi dengan lulus ujian empirikal yang ketat (NIST SP 800-90B). Pengesahan hujung ke hujung ini adalah apa yang kurang pada banyak alat "penjana kata laluan selamat".

Kekuatan & Kelemahan:
Kekuatan: Ketegasan metodologi adalah terpuji. Menggunakan NIST SP 800-90B untuk pengesahan serta-merta meningkatkan kredibilitinya, sama seperti bagaimana algoritma kriptografi disahkan melalui CAVP (Cryptographic Algorithm Validation Program). Perbandingan dengan kekuatan kunci AES adalah metrik keselamatan yang praktikal dan mudah difahami untuk pasukan keselamatan.
Kelemahan: Kertas ini beroperasi dalam persekitaran terkawal dan ideal. Ia mengandaikan benih/TBHM awal mempunyai entropi yang mencukupi—pautan kritikal dan sering lemah dalam sistem sebenar. Input pengguna "pilihan" adalah pedang bermata dua; frasa pengguna yang lemah dan boleh diramal (contohnya, "katasayalaluan") boleh melemahkan keseluruhan pembinaan kriptografi, risiko yang tidak dikuantifikasi sepenuhnya. Tambahan pula, seperti yang dinyatakan dalam ulasan 2023 "Post-Quantum Cryptography: A Ten-Year Journey" oleh NIST, bidang ini sedang bergerak ke arah algoritma rintang kuantum. Pembinaan kertas ini, walaupun selamat terhadap komputer klasik, bergantung pada SHA2/AES, yang ketahanan kuantum jangka panjangnya tidak pasti.

Pandangan Boleh Tindak: Untuk arkitek keselamatan, kertas ini menyediakan pelan. Jangan bina PRNG sendiri. Gunakan binaan kriptografi yang mantap sebagai blok binaan. Lebih penting lagi, sahkan, sahkan, sahkan. Integrasikan pengesahan entropi berterusan (seperti ujian NIST) ke dalam sistem penjanaan nombor rawak kritikal anda, amalan yang ditekankan oleh organisasi seperti usaha CCC (Common Criteria Certification) Yayasan Linux. Untuk pembangunan produk, pengambilan segera adalah untuk menggantikan sebarang penjanaan kata laluan berasaskan LCG dalam sistem anda dengan penjana berasaskan KMAC atau HMAC-SHA256, menggunakan benih yang diperoleh dengan selamat. Langkah persediaan masa depan adalah untuk memulakan prototaip dengan reka bentuk berasaskan SHA-3/KECCAK (seperti KMAC) dan memantau evolusi piawaian kriptografi pasca-kuantum NIST untuk integrasi akhirnya.

7. Butiran Teknikal & Formulasi Matematik

Operasi matematik teras ditakrifkan dalam Sorotan Literatur (Seksyen 2). Formula utama termasuk:

Penjanaan kata laluan memetakan integer rawak $R$ (daripada output PRNG) kepada indeks aksara: $\text{index} = R \ \text{mod} \ |S|$, di mana $|S|$ adalah saiz set aksara.

8. Kerangka Analisis & Contoh Kes

Contoh Kes: Menilai Penjana Kata Laluan Sistem Warisan
Skenario: Aplikasi web warisan menggunakan LCG yang diubah suai untuk menjana kata laluan sementara pengguna. Audit keselamatan diperlukan.
Aplikasi Kerangka:

  1. Kenal pasti Jenis PRNG: Periksa kod sumber. Cari: seed = (a * seed + c) % m; Sahkan ia adalah varian LCG.
  2. Nilai Keselamatan Kriptografi: LCG adalah deterministik dan boleh diterbalikkan. Penyerang yang memperoleh beberapa kata laluan berturut-turut boleh menyelesaikan untuk benih dan meramalkan semua kata laluan masa depan, melanggar garis panduan NIST SP 800-63B mengenai kerawakan pengesah.
  3. Cadangkan Pemulihan Menggunakan Kaedah Kertas:
    • Sumber Benih: Gantikan benih masa sistem dengan CSPRNG (contohnya, /dev/urandom pada Linux, CryptGenRandom pada Windows).
    • Penjana Teras: Laksanakan PRNG berasaskan HMAC-SHA256 mengikut reka bentuk kertas.
    • Pengesahan: Jana sampel besar (1,000,000 bit) daripada penjana baharu dan jalankan NIST STS (Statistical Test Suite) atau penganggar entropi daripada SP 800-90B untuk mengesahkan kerawakan sebelum penyebaran.
Kerangka ini mengalihkan penilaian daripada "adakah ia kelihatan rawak?" kepada "adakah ia lulus pengesahan kriptografi piawai?"

9. Aplikasi Masa Depan & Hala Tuju Pembangunan

Prinsip ini melangkaui kata laluan pengguna:

10. Rujukan

  1. M. Bishop, “Computer Security: Art and Science”, Addison-Wesley, 2019.
  2. NIST, “Special Publication 800-63B: Digital Identity Guidelines”, 2020.
  3. NIST, “Special Publication 800-90B: Recommendation for the Entropy Sources Used for Random Bit Generation”, 2018.
  4. NIST, “Special Publication 800-108 Rev. 1: Recommendation for Key Derivation Using Pseudorandom Functions”, 2022.
  5. NIST, “FIPS 202: SHA-3 Standard: Permutation-Based Hash and Extendable-Output Functions”, 2015.
  6. J. Kelsey, B. Schneier, D. Wagner, “Secure Applications of Low-Entropy Keys”, Information Security Workshop, 1997.
  7. M. Dworkin, “Recommendation for Block Cipher Modes of Operation: The CMAC Mode for Authentication”, NIST SP 800-38B, 2005.
  8. NIST, “Status Report on the Third Round of the NIST Post-Quantum Cryptography Standardization Process”, 2022. [Online]. Available: https://csrc.nist.gov/projects/post-quantum-cryptography
  9. Linux Foundation, “Common Criteria Certification and Open Source”, 2023. [Online]. Available: https://www.linuxfoundation.org/