Chagua Lugha

Kizazi Salama cha Nenosiri Kikokotolewa kwa Mzazi wa Nambari Bandia Zisizo za Kawaida (PRNG)

Makala yanapendekeza kizazi cha nenosiri salama kinachotumia PRNG zenye msingi wa HMAC, CMAC, au KMAC, zilizothibitishwa kupitia majaribio ya entropy ya NIST SP 800-90B na IID.
computationalcoin.com | PDF Size: 0.5 MB
Ukadiriaji: 4.5/5
Ukadiriaji Wako
Umekadiria waraka huu tayari
Kifuniko cha Waraka PDF - Kizazi Salama cha Nenosiri Kikokotolewa kwa Mzazi wa Nambari Bandia Zisizo za Kawaida (PRNG)

Yaliyomo

1. Utangulizi

Miaka ya hivi karibuni imeona ripoti za mfululizo za uvujaji wa akaunti za tovuti na nenosiri zenye msingi wa maandishi, zikionyesha umuhimu mkubwa wa usalama wa habari na nenosiri. Zaidi ya udhaifu wa tovuti, usalama wa nenosiri lenyewe ndio jambo la msingi. Mazoea ya kawaida ya nenosiri zisizo salama ni pamoja na nenosiri zenye msingi wa neno kuu, nenosiri maarufu zenye msingi wa misemo, nenosiri zenye msingi wa habari za mtumiaji, na matumizi ya nenosiri mara kwa mara. Ukuzaji wa haraka wa AI na Miundo Mikubwa ya Lugha (LLM) zaidi ya hayo huwawezesha washambulizi kukisia nenosiri kwa ufanisi zaidi.

Ingawa majukwaa yanatumia ulinzi kama vile Nenosiri za Wakati Mmoja (OTP), uthibitishaji wa sababu nyingi (MFA), na uhifadhi wa nenosiri uliosimbwa, kuimarisha usalama wa asili wa nenosiri bado ni muhimu. Utafiti huu unapendekeza kizazi salama cha nenosiri kikokotolewa kwa Mzazi Salama wa Nambari Bandia Zisizo za Kawaida (PRNG). PRNG imejengwa kwa kutumia Nambari ya Uthibitishaji wa Ujumla Wenye Msingi wa Kichujio (HMAC), Nambari ya Uthibitishaji wa Ujumla Wenye Msingi wa Siri (CMAC), au Nambari ya Uthibitishaji wa Ujumla ya KECCAK (KMAC) ili kuzalisha nambari za nasibu salama za kriptografia, ambazo kisha hutumiwa kutengeneza nenosiri.

Michango mikuu ni:

2. Ukaguzi wa Fasihi

2.1. Mzazi wa Nambari Bandia Zisizo za Kawaida Wenye Msingi wa Mzazi wa Mfululizo wa Mlinganisho wa Mstari (LCG)

Lugha nyingi za programu (k.m., C, Java) zinatekeleza PRNG zenye msingi wa Mizazi ya Mfululizo wa Mlinganisho wa Mstari (LCG). Kwa kuzingatia mbegu $k$, mfululizo unazalishwa kama:

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

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

Hata hivyo, LCG hazina usalama kwa sababu hali inayofuata inatokana kwa mstari kutoka kwa ile ya awali ($f_{i-1}(k) \equiv (f_i(k) - c) \times a^{-1} \ (\text{mod} \ m)$), ikiruhusu mshambulizi kurudi nyuma hadi kwenye mbegu.

2.2. Mzazi Salama wa Nambari Bandia Zisizo za Kawaida

2.2.1. Wenye Msingi wa Nambari ya Uthibitishaji wa Ujumla Wenye Msingi wa Kichujio (HMAC)

Usalama wa HMAC unategemea sifa ya mwelekeo mmoja ya vitendakazi vya kichujio vya kriptografia (k.m., SHA-2, SHA-3). Kwa ufunguo $k$ na ujumbe $M$, HMAC inakokotolewa kama:

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

ambapo $ipad$ na $opad$ ni viunga thabiti vya kujazia, na $h$ ni kitendakazi cha kichujio. Ili kuzalisha mkondo wa biti za nasibu za urefu $L$, hali ya kihesabu hutumiwa, ikibadilisha ujumbe kwa kila kizuizi cha pato: $M_i = i \ || \ \text{KDF} \ || \ 0x00 \ || \ M \ || \ L$, ikitoa $r_{hmac,i}(k, M_i)$.

2.2.2. Wenye Msingi wa Nambari ya Uthibitishaji wa Ujumla Wenye Msingi wa Siri (CMAC)

Usalama wa CMAC unategemea Kigezo cha Usimbaji cha Juu (AES). Kwa ufunguo $k$ na ujumbe $M$ uliogawanywa katika vizuizi $M'_i$ vya urefu $l_a$, hufanya kazi katika hali ya Mnyororo wa Kizuizi cha Siri (CBC):

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

Pato la mwisho $r_{cmac}(k, Split(M))$ linatokana na kizuizi cha mwisho cha maandishi ya siri baada ya kujazia maalum (Pad1).

2.2.3. Wenye Msingi wa Nambari ya Uthibitishaji wa Ujumla ya KECCAK (KMAC)

KMAC inategemea ujenzi wa sponge wa SHA-3 (KECCAK), ikitoa umbile na usalama. Inaweza kutumika kama HMAC katika hali ya kihesabu ili kuzalisha mkondo wa biti usioaminika na usiotabirika unaofaa kwa madhumuni ya PRNG, kama ilivyoelezwa katika NIST SP 800-108 Rev. 1.

2.3. Njia za Kuthibitisha Utendakazi bila Mpangilio

Makala yanachukua mfumo wa NIST SP 800-90B wa kuthibitisha utendakazi bila mpangilio, ikilenga vipengele viwili muhimu:

3. Kizazi Kilichopendekezwa cha Nenosiri Salama Kikokotolewa kwa PRNG Salama

Usanidi wa mfumo uliopendekezwa unajumuisha:

  1. Ingizo: "Ujumbe wa Kutakiwa Kuchujwa" (TBHM) wa hiari uliotolewa na mtumiaji na vigezo (urefu unaotakiwa wa nenosiri, seti ya herufi).
  2. Kiini cha PRNG Salama: PRNG iliyojengwa kwa kutumia moja ya vitendakazi vitatu vya MAC (HMAC, CMAC, au KMAC) katika hali ya kihesabu, kulingana na NIST SP 800-108. Kiini hiki kinachukua TBHM (na ufunguo/ mbegu ya ndani) ili kuzalisha mfululizo wa biti za bandia za nasibu salama za kriptografia.
  3. Uzalishaji wa Nenosiri: Biti za nasibu huwekwa ramani kwenye seti ya herufi iliyobainishwa na mtumiaji (k.m., herufi na nambari + alama) ili kuunda nenosiri la urefu unaotakiwa.

Uchambuzi wa usalama unalinganisha nafasi ya ufunguo inayofaa ya nenosiri zilizozalishwa (kulingana na ukubwa wa seti ya herufi $C$ na urefu $L$, ikitoa uwezekano $C^L$) dhidi ya upinzani wa nguvu kwa nguvu wa AES-128 ($2^{128}$) na AES-256 ($2^{256}$). Kwa mfano, nenosiri la herufi 16 kutoka kwa seti ya herufi 94 linatoa uwezekano wa ~$94^{16} \approx 2^{105}$, ambao ni dhaifu kuliko AES-128 lakini bado ni thabiti kwa madhumuni mengi.

4. Mazingira ya Majaribio na Matokeo

4.1. Usanidi wa Majaribio

Majaribio yalifanywa ili kuzalisha mfululizo mkubwa wa nambari za nasibu kwa kutumia PRNG zilizopendekezwa zenye msingi wa HMAC, CMAC, na KMAC. Mifululizo hii kisha ilipitiwa kwa mkusanyiko wa majaribio ya NIST SP 800-90B.

4.2. Matokeo ya Uthibitishaji wa Utendakazi bila Mpangilio

Ugunduzi Muhimu: Matokeo ya majaribio yalionyesha kuwa nambari za nasibu zilizozalishwa na njia zote tatu zilizopendekezwa za PRNG (HMAC/SHA-256, CMAC/AES-256, KMAC) zilifanikiwa kupita majaribio ya uthibitishaji wa entropy na uthibitishaji wa IID yaliyobainishwa katika NIST SP 800-90B.

Maana: Hii inathibitisha kuwa mfululizo wa pato una entropy ya juu na haionyeshi utegemezi wa kitakwimu unaoweza kugundulika au upendeleo, ikitimiza hitaji la msingi la chanzo salama cha utendakazi bila mpangilio katika uzalishaji wa nenosiri.

4.3. Uchambuzi wa Ufanisi wa Kukokotoa

Ingawa sio lengo kuu, makala yanadokeza usawazishaji. HMAC/SHA-256 na KMAC kwa ujumla zina ufanisi mkubwa katika programu. CMAC/AES inaweza kuwa na faida ya kuharakishwa kwa vifaa kwenye majukwaa maalum. Uchaguzi unaweza kubinafsishwa kulingana na vikwazo vya utendaji wa mazingira ya utekelezaji.

5. Hitimisho na Kazi ya Baadaye

Utafiti huu umefanikiwa kubuni na kuthibitisha mfumo wa kizazi cha nenosiri salama kikokotolewa kwa PRNG zenye nguvu za kriptografia (HMAC, CMAC, KMAC). Nenosiri zilizozalishwa hupata usalama wao kutoka kwa sifa zilizothibitishwa za vitendakazi hivi vya MAC na utendakazi wa juu bila mpangilio wa msingi wa mkondo wa biti uliothibitishwa.

Maelekezo ya baadaye ni pamoja na:

6. Uchambuzi wa Asili & Ufahamu wa Mtaalamu

Ufahamu wa Msingi: Kazi ya Chen ni suluhisho la kiufundi la vitendo, linalofuata viwango, kwa tatizo la msingi la usalama: entropy dhaifu ya nenosiri. Inatambua kwa usahihi kuwa sababu ya msingi ya uvujaji mwingi wa nenosiri sio tu kasoro za uhifadhi bali uzalishaji unaotabirika. Kwa kuweka msingi wa suluhisho katika miundo iliyoidhinishwa na NIST (HMAC, CMAC, KMAC) na mifumo ya uthibitishaji (SP 800-90B), utafiti unaepuka ubunifu wa kriptografia kwa ajili yake mwenyewe na badala yake hutoa njia salama inayoweza kuthibitishwa. Mbinu hii inafanana na falsafa nyuma ya mifumo imara kama kiolesura cha /dev/urandom katika Linux, ambacho hukusanya entropy kutoka kwa matukio ya mfumo, lakini hapa lengo ni mchakato wa kuamua, wenye mbegu, na unaoweza kushawishiwa na mtumiaji unaofaa kwa uzalishaji wa nenosiri unaoweza kurudiwa.

Mtiririko wa Kimantiki: Hoja ni ya kimfumo: 1) Kuanzisha tatizo (nenosiri dhaifu, zinazoweza kukisiwa). 2) Kukataa suluhisho za kawaida lakini zenye kasoro (RNG zenye msingi wa LCG). 3) Kupendekeza vitu vya kujengea vilivyo na usalama uliothibitishwa (MAC za kriptografia). 4) Kuvikusanya kulingana na viwango vilivyopo (hali ya kihesabu ya NIST SP 800-108). 5) Kuthibitisha pato dhidi ya viwango vikali (NIST SP 800-90B). Mtiririko huu ni thabiti na unafanana na mazoea bora katika utafiti wa kriptografia uliotumika, sawa na tathmini iliyopangwa iliyoonwa katika kazi muhimu kama karatasi ya CycleGAN ambayo ilithibitisha kwa utaratibu ubora wa tafsiri ya picha katika nyanja na vipimo vingi.

Nguvu na Kasoro: Nguvu kuu ni kuegemea kwake. Kutumia misingi ya kriptografia iliyojaribiwa na mwongozo wa NIST hupunguza hatari. Ingizo la hiari la mtumiaji (TBHM) ni kipengele cha werevu, kinachoruhusu mbegu za kibinafsi lakini salama. Hata hivyo, kasoro kubwa ni kukosekana kwa uchambuzi wa usalama wa moja kwa moja, wa kulinganisha dhidi ya vizazi vya kisasa vya nenosiri kama vile zile zinazotumia Argon2 au bcrypt kwa kunyoosha ufunguo katika muktadha sawa. Ulinganisho na nguvu ya nguvu kwa nguvu ya AES ni muhimu lakini rahisi. Njia halisi ya shambulio mara nyingi ni kuvunja nenosiri zilizochujwa nje ya mtandao; makala yanaweza kuimarisha hoja yao kwa kuiga upinzani dhidi ya zana kama Hashcat na seti za kanuni zilizoboreshwa. Zaidi ya hayo, ingawa majaribio ya NIST ni ya kiautorati, hayajumuishi sifa zote za kriptografia; majadiliano ya upinzani dhidi ya mashambulio ya njia za upande kwenye utekelezaji wa PRNG yangekuwa ya thamani.

Ufahamu Unaoweza Kutekelezeka: Kwa wasanifu wa usalama, karatasi hii hutoa mpango tayari. Mapendekezo 1: Tekeleza lahaja yenye msingi wa KMAC. Kama kinzani cha SHA-3, imeundwa kuwa thabiti dhidi ya mashambulio ya kupanua urefu ambayo kwa kinadharia huathiri HMAC yenye msingi wa SHA-2 katika hali fulani, na inawakilisha chaguo la kudumu zaidi la siku zijazo. Mapendekezo 2: Unganisha kizazi hiki kama injini ya msingi kwa vyumba vya usalama vya nenosiri vya biashara au mifumo ya SSO ambapo uundaji wa nenosiri wenye msingi wa sera unahitajika. Asili yake ya kuamua (TBHM sawa + vigezo = nenosiri sawa) inaweza kuwa kipengele kwa hali ya kurejesha. Mapendekezo 3: Tambulisha suluhisho hili la kiufundi na elimu ya mtumiaji. Kizazi kinaweza kutoa mfuatano wa nasibu wa herufi 20, lakini ikiwa mtumiaji atachagua TBHM fupi, inayokumbukwa na urefu wa herufi 8, usalama hushuka kwa kasi. Kiolesura kinapaswa kulazimisha chaguo-msingi zenye akili (k.m., herufi 12 kwa chini, seti kamili ya herufi) na kuwasilisha kwa kuonekana nguvu ya entropy, sawa na vipima vya nguvu za nenosiri vilivyojulishwa na utafiti kutoka kwa mashirika kama NCC Group.

7. Maelezo ya Kiufundi & Miundo ya Kihisabati

Usalama wa msingi unategemea sifa ya kitendakazi cha bandia cha nasibu (PRF) ya MAC. PRNG katika hali ya kihesabu inaweza kuchukuliwa kama:

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

ambapo $PRF$ ni $HMAC$, $CMAC$, au $KMAC$, $K$ ni ufunguo wa siri, na $R_i$ ni vizuizi vya pato vilivyounganishwa ili kuunda mkondo wa mwisho wa biti.

Wekeo ramani wa Nenosiri: Kwa kuzingatia thamani kamili ya nasibu $v$ inayotokana na mkondo wa biti na seti ya herufi ya ukubwa $C$, faharasa ya herufi huchaguliwa kama: $index = v \mod C$. Hii inarudiwa $L$ mara.

8. Mfumo wa Uchambuzi & Mfano wa Kimawazo

Hali: Huduma ya wavuti inahitaji kuzalisha nenosiri la awali lenye nguvu ya juu, la nasibu kwa watumiaji wapya.

Utumiaji wa Mfumo:

  1. Uchaguzi wa Kigezo: Huduma huchagua KMAC256 kama PRF, ufunguo wa kriptografia $K_{sys}$ unaotokana na mfumo uliohifadhiwa kwa usalama, na TBHM inayojumuisha UserID ya kipekee, isiyobadilika ya mtumiaji na muhuri wa wakati.
  2. Mchakato:
    • Ingizo: TBHM = "USER12345@2023-10-27T10:30:00Z", Urefu $L$ = 16, Seti ya Herufi = ASCII 94 zinazoweza kuchapishwa.
    • Kiini cha PRNG kinachakata hii na $K_{sys}$ katika hali ya kihesabu ili kuzalisha biti 128 za nasibu (herufi 16 * log2(94) ≈ biti 105, kwa hivyo biti 128 hutoa entropy ya kutosha).
    • Biti hubadilishwa kuwa mfuatano kama: s9*!Lq9@Pz%2m#X&
  3. Sifa za Usalama:
    • Kutotabirika: Bila $K_{sys}$, pato halitabiriki hata kama TBHM inajulikana.
    • Uamuzi: Mtumiaji huyo huyo wakati huo halisi angepata nenosiri sawa, ikisaidia katika utatuzi wa hitilafu.
    • Entropy ya Juu: Nenosiri lina entropy ya ~biti 105, na kufanya nguvu kwa nguvu isiwezekani.

9. Matumizi ya Baadaye & Mwelekeo wa Maendeleo

10. Marejeo

  1. M. Bellare, R. Canetti, na H. Krawczyk, "Kufungua Vitendakazi vya Kichujio kwa Uthibitishaji wa Ujumbe," CRYPTO 1996.
  2. NIST, "Mapendekezo ya Hali za Uendeshaji za Siri za Kizuizi: Hali ya CMAC kwa Uthibitishaji," SP 800-38B.
  3. NIST, "Kigezo cha SHA-3: Kitendakazi cha Kichujio chenye Msingi wa Kubadilishana na Kitendakazi cha Pato Kinachopanuka," FIPS PUB 202.
  4. NIST, "Mapendekezo ya Vyanzo vya Entropy Vinavyotumika kwa Uzalishaji wa Biti za Nasibu," SP 800-90B.
  5. NIST, "Mapendekezo ya Kutoa Ufunguo Kwa Kutumia Vitendakazi vya Bandia vya Nasibu," SP 800-108 Rev. 1.
  6. J. Kelsey, B. Schneier, na N. Ferguson, "Yarrow-160: Vidokezo juu ya Ubunifu na Uchambuzi wa Mzazi wa Bandia wa Kriptografia wa Nambari za Nasibu wa Yarrow," SAC 1999.
  7. J. Zhu, T. Park, P. Isola, A.A. Efros, "Tafsiri ya Picha hadi Picha Isiyo na Jozi kwa kutumia Mtandao wa Adversarial Thabiti wa Mzunguko," ICCV 2017. (Iliotajwa kama mfano wa tathmini ya kimbinia iliyopangwa).
  8. NCC Group, "Karatasi ya Udanganyifu ya Uhifadhi wa Nenosiri," OWASP Foundation. (Iliotajwa kama chanzo cha mwongozo wa vitendo wa sera ya nenosiri).