Pilih Bahasa

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

Kertas kerja ini 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 Berasaskan Penjana Nombor Rawak Pseudo (PRNG)

Kandungan

1. Pengenalan

Beberapa tahun kebelakangan ini menyaksikan laporan berterusan tentang kebocoran akaun laman web dan kata laluan berasaskan teks, menekankan kepentingan kritikal keselamatan maklumat dan kata laluan. Selain daripada kelemahan laman web, keselamatan kata laluan itu sendiri adalah paling utama. Amalan kata laluan tidak selamat yang biasa termasuk kata laluan berasaskan kata kunci, kata laluan berasaskan frasa popular, kata laluan berasaskan maklumat pengguna, dan penggunaan semula kata laluan. Perkembangan pesat AI dan Model Bahasa Besar (LLM) seterusnya memperkasakan penyerang untuk meneka kata laluan dengan lebih berkesan.

Walaupun platform menggunakan pertahanan seperti Kata Laluan Sekali Guna (OTP), pengesahan pelbagai faktor (MFA), dan penyimpanan kata laluan yang disulitkan, meningkatkan keselamatan semula jadi kata laluan masih penting. Penyelidikan ini mencadangkan penjana kata laluan selamat berasaskan Penjana Nombor Rawak Pseudo (PRNG) yang selamat. PRNG dibina menggunakan Kod Pengesahan Mesej Berasaskan Hash (HMAC), Kod Pengesahan Mesej Berasaskan Cipher (CMAC), atau Kod Pengesahan Mesej KECCAK (KMAC) untuk menjana nombor rawak kriptografi yang selamat, yang kemudiannya digunakan untuk menghasilkan kata laluan.

Sumbangan utama adalah:

2. Sorotan Literatur

2.1. Penjana Nombor Rawak Pseudo Berasaskan Penjana Kongruen Linear

Banyak bahasa pengaturcaraan (contohnya, C, Java) melaksanakan PRNG berasaskan Penjana Kongruen Linear (LCG). Diberikan benih $k$, jujukan dijana sebagai:

$f_0(k) \equiv a \oplus k \ (\text{mod} \ m)$

$f_i(k) \equiv a \times f_{i-1}(k) + c \ (\text{mod} \ m)$ untuk $i \ge 1$

Walau bagaimanapun, LCG tidak selamat kerana keadaan seterusnya diperoleh secara linear daripada keadaan sebelumnya ($f_{i-1}(k) \equiv (f_i(k) - c) \times a^{-1} \ (\text{mod} \ m)$), membolehkan penyerang menjejaki kembali kepada benih.

2.2. Penjana Nombor Rawak Pseudo Selamat

2.2.1. Berasaskan Kod Pengesahan Mesej Berasaskan Hash (HMAC)

Keselamatan HMAC bergantung pada sifat satu hala fungsi hash kriptografi (contohnya, SHA-2, SHA-3). Untuk kunci $k$ dan mesej $M$, HMAC dikira sebagai:

$r_{hmac}(k, M) = h((k \oplus opad) \ || \ h((k \oplus ipad) \ || \ M))$

di mana $ipad$ dan $opad$ adalah pemalar padding tetap, dan $h$ adalah fungsi hash. Untuk menjana aliran bit rawak panjang $L$, mod pembilang digunakan, mengubah suai mesej untuk setiap blok output: $M_i = i \ || \ \text{KDF} \ || \ 0x00 \ || \ M \ || \ L$, menghasilkan $r_{hmac,i}(k, M_i)$.

2.2.2. Berasaskan Kod Pengesahan Mesej Berasaskan Cipher (CMAC)

Keselamatan CMAC adalah berdasarkan Piawaian Penyulitan Lanjutan (AES). Untuk kunci $k$ dan mesej $M$ yang dibahagikan kepada blok $M'_i$ panjang $l_a$, ia beroperasi dalam mod Rantai Blok Cipher (CBC):

$c_{i+1} = AES(k, c_i \oplus M'_{i+1})$, dengan $c_0 = Pad0(0)$.

Output akhir $r_{cmac}(k, Split(M))$ diperoleh daripada blok cipherteks terakhir selepas padding tertentu (Pad1).

2.2.3. Berasaskan Kod Pengesahan Mesej KECCAK (KMAC)

KMAC adalah berdasarkan pembinaan span SHA-3 (KECCAK), menawarkan fleksibiliti dan keselamatan. Ia boleh digunakan sama seperti HMAC dalam mod pembilang untuk menjana aliran bit deterministik dan tidak boleh diramal yang sesuai untuk tujuan PRNG, seperti yang digariskan dalam NIST SP 800-108 Rev. 1.

2.3. Kaedah untuk Mengesahkan Kerawakan

Kertas kerja ini menggunakan rangka kerja NIST SP 800-90B untuk mengesahkan kerawakan, memberi tumpuan kepada dua aspek utama:

3. Cadangan Penjana Kata Laluan Selamat Berasaskan PRNG Selamat

Seni bina sistem yang dicadangkan melibatkan:

  1. Input: Mesej "Untuk-Dihash" (TBHM) pilihan yang disediakan pengguna dan parameter (panjang kata laluan yang dikehendaki, set aksara).
  2. Teras PRNG Selamat: PRNG dibina menggunakan salah satu daripada tiga fungsi MAC (HMAC, CMAC, atau KMAC) dalam mod pembilang, mengikut NIST SP 800-108. Teras ini mengambil TBHM (dan kunci/benih dalaman) untuk menjana jujukan bit pseudo-rawak kriptografi yang selamat.
  3. Penjanaan Kata Laluan: Bit rawak dipetakan ke set aksara yang ditentukan pengguna (contohnya, alfanumerik + simbol) untuk mencipta kata laluan dengan panjang yang dikehendaki.

Analisis keselamatan membandingkan ruang kunci berkesan kata laluan yang dijana (berdasarkan saiz set aksara $C$ dan panjang $L$, memberikan $C^L$ kemungkinan) dengan rintangan serangan brute-force AES-128 ($2^{128}$) dan AES-256 ($2^{256}$). Sebagai contoh, kata laluan 16 aksara daripada set 94 aksara menawarkan ~$94^{16} \approx 2^{105}$ kemungkinan, yang lebih lemah daripada AES-128 tetapi masih kukuh untuk banyak tujuan.

4. Persekitaran Eksperimen dan Keputusan

4.1. Persediaan Eksperimen

Eksperimen dijalankan untuk menjana jujukan besar nombor rawak menggunakan PRNG berasaskan HMAC, CMAC, dan KMAC yang dicadangkan. Jujukan ini kemudiannya dikenakan kepada suite ujian NIST SP 800-90B.

4.2. Keputusan Pengesahan Kerawakan

Penemuan Utama: Keputusan eksperimen menunjukkan bahawa nombor rawak yang dijana oleh ketiga-tiga kaedah PRNG yang dicadangkan (HMAC/SHA-256, CMAC/AES-256, KMAC) berjaya lulus kedua-dua ujian pengesahan entropi dan pengesahan IID yang ditetapkan dalam NIST SP 800-90B.

Implikasi: Ini mengesahkan bahawa jujukan output mempunyai entropi tinggi dan tidak menunjukkan kebergantungan statistik atau bias yang dapat dikesan, memenuhi keperluan teras untuk sumber kerawakan yang selamat dalam penjanaan kata laluan.

4.3. Analisis Kecekapan Pengiraan

Walaupun bukan fokus utama, kertas kerja ini membayangkan pertukaran. HMAC/SHA-256 dan KMAC umumnya sangat cekap dalam perisian. CMAC/AES mungkin mempunyai kelebihan pecutan perkakasan pada platform tertentu. Pilihan boleh disesuaikan berdasarkan kekangan prestasi persekitaran pelaksanaan.

5. Kesimpulan dan Kerja Masa Depan

Penyelidikan ini berjaya mereka bentuk dan mengesahkan rangka kerja penjana kata laluan selamat berasaskan PRNG kriptografi yang kuat (HMAC, CMAC, KMAC). Kata laluan yang dijana memperoleh keselamatan mereka daripada sifat terbukti fungsi MAC ini dan kerawakan tinggi yang disahkan bagi aliran bit asas.

Hala tuju masa depan termasuk:

6. Analisis Asli & Pandangan Pakar

Pandangan Teras: Kerja Chen adalah penyelesaian kejuruteraan pragmatik dan mematuhi piawaian untuk masalah keselamatan asas: entropi kata laluan yang lemah. Ia mengenal pasti dengan betul bahawa punca utama banyak pelanggaran kata laluan bukan hanya kelemahan penyimpanan tetapi penjanaan yang boleh diramal. Dengan mengikat penyelesaian dalam binaan yang diluluskan NIST (HMAC, CMAC, KMAC) dan rangka kerja pengesahan (SP 800-90B), penyelidikan ini mengelakkan kebaharuan kriptografi untuk kepentingan sendiri dan sebaliknya menyampaikan kaedah yang terbukti kukuh. Pendekatan ini mencerminkan falsafah di sebalik sistem yang mantap seperti antara muka /dev/urandom dalam Linux, yang mengagregat entropi daripada peristiwa sistem, tetapi di sini fokus adalah pada proses deterministik, boleh dibenih, dan boleh dipengaruhi pengguna yang sesuai untuk penjanaan kata laluan yang boleh dihasilkan semula.

Aliran Logik: Hujah adalah metodikal: 1) Menetapkan masalah (kata laluan lemah, boleh diteka). 2) Menolak penyelesaian biasa tetapi cacat (RNG berasaskan LCG). 3) Mencadangkan blok binaan dengan keselamatan terbukti (MAC kriptografi). 4) Mengumpulkannya mengikut piawaian sedia ada (mod pembilang NIST SP 800-108). 5) Mengesahkan output terhadap penanda aras yang ketat (NIST SP 800-90B). Aliran ini kukuh dan mencerminkan amalan terbaik dalam penyelidikan kriptografi gunaan, serupa dengan penilaian berstruktur yang dilihat dalam kerja-kerja penting seperti kertas kerja CycleGAN yang mengesahkan secara sistematik kualiti terjemahan imej merentasi pelbagai domain dan metrik.

Kekuatan & Kelemahan: Kekuatan utama adalah kebolehpercayaannya. Menggunakan primitif kriptografi yang teruji dan panduan NIST meminimumkan risiko. Input pengguna pilihan (TBHM) adalah ciri bijak, membenarkan benih yang diperibadikan tetapi selamat. Walau bagaimanapun, kelemahan ketara adalah kekurangan analisis keselamatan perbandingan langsung terhadap penjana kata laluan terkini seperti yang menggunakan Argon2 atau bcrypt untuk regangan kunci dalam konteks yang serupa. Perbandingan dengan kekuatan brute-force AES berguna tetapi terlalu ringkas. Vektor serangan dunia sebenar selalunya adalah penggodaman kata laluan berhash secara luar talian; kertas kerja ini boleh mengukuhkan kesnya dengan memodelkan rintangan terhadap alat seperti Hashcat dengan set peraturan yang dioptimumkan. Tambahan pula, walaupun ujian NIST berwibawa, ia tidak lengkap untuk semua sifat kriptografi; perbincangan tentang rintangan terhadap serangan saluran sisi pada pelaksanaan PRNG akan bernilai.

Pandangan Boleh Tindak: Untuk arkitek keselamatan, kertas kerja ini menyediakan cetak biru sedia. Cadangan 1: Laksanakan varian berasaskan KMAC. Sebagai terbitan SHA-3, ia direka untuk tahan terhadap serangan lanjutan panjang yang secara teori menjejaskan HMAC berasaskan SHA-2 dalam senario tertentu, dan ia mewakili pilihan yang lebih tahan masa depan. Cadangan 2: Integrasikan penjana ini sebagai enjin teras untuk peti besi kata laluan perusahaan atau sistem SSO di mana penciptaan kata laluan berasaskan polisi diperlukan. Sifat deterministiknya (TBHM + parameter yang sama = kata laluan yang sama) boleh menjadi ciri untuk senario pemulihan. Cadangan 3: Lengkapkan penyelesaian teknikal ini dengan pendidikan pengguna. Penjana boleh menghasilkan rentetan rawak 20 aksara, tetapi jika pengguna memilih TBHM pendek yang mudah diingati dan panjang 8 aksara, keselamatan merudum. Antara muka mesti menguatkuasakan tetapan lalai yang wajar (contohnya, minimum 12 aksara, set aksara penuh) dan menyampaikan kekuatan entropi secara visual, sama seperti meter kekuatan kata laluan yang dimaklumkan oleh penyelidikan dari organisasi seperti NCC Group.

7. Butiran Teknikal & Formulasi Matematik

Keselamatan teras bergantung pada sifat fungsi pseudo-rawak (PRF) MAC. PRNG dalam mod pembilang boleh diabstraksikan sebagai:

$R_i = PRF(K, \text{Pembilang} \ || \ \text{Label} \ || \ 0x00 \ || \ \text{Input} \ || \ L)$

di mana $PRF$ adalah $HMAC$, $CMAC$, atau $KMAC$, $K$ adalah kunci rahsia, dan $R_i$ adalah blok output yang disambungkan untuk membentuk aliran bit akhir.

Pemetaan Kata Laluan: Diberikan nilai integer rawak $v$ yang diperoleh daripada aliran bit dan set aksara saiz $C$, indeks aksara dipilih sebagai: $index = v \mod C$. Ini diulang $L$ kali.

8. Rangka Kerja Analisis & Contoh Konseptual

Senario: Perkhidmatan web perlu menjana kata laluan awal rawak kekuatan tinggi untuk pengguna baharu.

Aplikasi Rangka Kerja:

  1. Pemilihan Parameter: Perkhidmatan memilih KMAC256 sebagai PRF, kunci kriptografi terbitan sistem $K_{sys}$ yang disimpan dengan selamat, dan TBHM yang terdiri daripada UserID unik dan tidak berubah pengguna serta cap masa.
  2. Proses:
    • Input: TBHM = "USER12345@2023-10-27T10:30:00Z", Panjang $L$ = 16, Set Aksara = 94 ASCII boleh cetak.
    • Teras PRNG memproses ini dengan $K_{sys}$ dalam mod pembilang untuk menjana 128 bit rawak (16 aksara * log2(94) ≈ 105 bit, jadi 128 bit menyediakan entropi yang mencukupi).
    • Bit ditukar kepada rentetan seperti: s9*!Lq9@Pz%2m#X&
  3. Sifat Keselamatan:
    • Ketidakramalan: Tanpa $K_{sys}$, output tidak boleh diramal walaupun TBHM diketahui.
    • Determinisme: Pengguna yang sama pada saat yang tepat akan mendapat kata laluan yang sama, membantu dalam penyahpepijatan.
    • Entropi Tinggi: Kata laluan mempunyai ~105 bit entropi, menjadikan serangan brute-force tidak praktikal.

9. Aplikasi Masa Depan & Hala Tuju Pembangunan

10. Rujukan

  1. M. Bellare, R. Canetti, dan H. Krawczyk, "Keying Hash Functions for Message Authentication," CRYPTO 1996.
  2. NIST, "Recommendation for Block Cipher Modes of Operation: The CMAC Mode for Authentication," SP 800-38B.
  3. NIST, "SHA-3 Standard: Permutation-Based Hash and Extendable-Output Functions," FIPS PUB 202.
  4. NIST, "Recommendation for the Entropy Sources Used for Random Bit Generation," SP 800-90B.
  5. NIST, "Recommendation for Key Derivation Using Pseudorandom Functions," SP 800-108 Rev. 1.
  6. J. Kelsey, B. Schneier, dan N. Ferguson, "Yarrow-160: Notes on the Design and Analysis of the Yarrow Cryptographic Pseudorandom Number Generator," SAC 1999.
  7. J. Zhu, T. Park, P. Isola, A.A. Efros, "Unpaired Image-to-Image Translation using Cycle-Consistent Adversarial Networks," ICCV 2017. (Dirujuk sebagai contoh penilaian metodologi yang ketat).
  8. NCC Group, "Password Storage Cheat Sheet," OWASP Foundation. (Dirujuk sebagai sumber untuk panduan polisi kata laluan praktikal).