1. Utangulizi
Kidisasishi cha Nenosiri (PM) ni chombo muhimu cha kutoa na kuhifadhi nenosiri zenye nguvu na nasibu, zinazotumika kukabiliana na udhaifu katika uthibitishaji wa nenosiri. Hata hivyo, imani ya mtumiaji bado ni kikwazo cha kuenea kwake. Makala hii inatoa utekelezaji wa kumbukumbu uliothibitishwa kwa njia rasmi wa Kitoa Nenosiri Nasibu (RPG) kwa kutumia mazingira ya uthibitishaji ya EasyCrypt, ikilenga usahihi wa utendaji na sifa za usalama.
2. Yali
- 1. Utangulizi
- 2. Yali
- 3. Algorithmu za sasa za kuzalisha nenosiri
- 4. Mfumo wa Uthibitishaji Rasmi
- 5. Technical Details and Mathematical Formulas
- 6. Experimental Results and Charts
- 7. Analysis Framework Example
- 8. Raw Analysis
- 9. Future Applications and Prospects
- 10. References
3. Algorithmu za sasa za kuzalisha nenosiri
The authors studied 15 password managers, focusing on three widely used open-source products: Google Chrome (v89.0.4364.1), Bitwarden (v1.47.1), and KeePass (v2.46). These products were selected due to their high popularity and the easy accessibility of their source code.
3.1 Mikakati ya muundo wa nenosiri
Msimamizi wa nywila huruhusu mtumiaji kufafanua sera ya utungaji wa nywila, ikijumuisha urefu, aina za herufi (herufi ndogo, herufi kubwa, nambari, herufi maalum), idadi ya chini/ya juu ya kutokea kwa kila aina ya herufi, kutenga herufi zinazofanana, na seti ya herufi maalum. Jedwali 1 linafupisha sera za Chrome, Bitwarden, na KeePass.
3.2 Uundaji wa Nenosiri Nasibu
Algorithmu ya msingi inazalisha herufi nasibu kutoka kwenye seti ya herufi iliyofafanuliwa, hadi urefu wa nenosiri ukidhi, na kuzingatia vikwazo vya idadi ya chini/ya juu ya kutokea. Algorithmu ya Chrome kwanza inazalisha herufi kutoka kwenye seti za herufi zenye idadi ya chini ya kutokea, kisha inazalisha herufi kutoka kwenye muungano wa seti zote za herufi zisizozidi idadi ya juu ya kutokea, na mwishowe hupanga mfuatano wa herufi.
4. Mfumo wa Uthibitishaji Rasmi
4.1 Muhtasari wa EasyCrypt
EasyCrypt ni msaidizi wa uthibitishaji unaotumika kwa uthibitishaji wa usalama wa kriptografia, ukichukua mbinu ya msingi wa michezo. Inaruhusu kubainishwa kwa utekelezaji wa kumbukumbu, na kufanya uthibitishaji rasmi wa usahihi wa utendakazi na sifa za usalama.
4.2 Sifa za Usalama
Ufafanuzi rasmi unajumuisha sifa kama usambazaji sare wa nasibu, uwezo wa kupinga mashambulizi ya njia za upande, na kufuata vikwazo vya sera. Njia ya msingi wa mchezo hutumika kuiga uwezo wa adui, na kuthibitisha kutoweza kutofautishwa kati yake na uzalishaji wa nasibu unaotarajiwa.
5. Technical Details and Mathematical Formulas
Usalama wa kizazi cha nenosiri unafanywa kuwa mfano kwa kutumia dhana ya kutoweza kutofautishwa kwa hesabu. Acha $\mathcal{G}$ iwe algorithm ya kuzalisha nenosiri, na $\mathcal{U}$ iwe kizazi cha nasibu sare. Faida ya adui $\mathcal{A}$ inafafanuliwa kama:
$$\text{Adv}_{\mathcal{G}}(\mathcal{A}) = |\Pr[\mathcal{A}^{\mathcal{G}} = 1] - \Pr[\mathcal{A}^{\mathcal{U}} = 1]|$$
Lengo ni kuthibitisha kuwa kwa adui wote wa wakati wa polynomial wenye uwezekano, $\text{Adv}_{\mathcal{G}}(\mathcal{A})$ haifai kuzingatiwa. Uthibitisho rasmi katika EasyCrypt unahusisha kujenga mfululizo wa michezo, kila moja ikiwa tofauti kidogo na iliyotangulia, na kufungia tofauti katika uwezekano wa mafanikio ya adui.
6. Experimental Results and Charts
Uthibitishaji rasmi ulifanywa kwenye utekelezaji wa kumbukumbu wa kizalishi cha nywila. Uthibitisho unajumuisha takriban mistari 500 ya msimbo wa EasyCrypt, ukifunika usahihi wa utendakazi (nywila zinazozalishwa zinakidhi sera) na usalama (matokeo hayatofautishwi na nasibu sare). Kwenye kompyuta ya kawaida ya mkononi, wakati wa uthibitisho haukuzidi sekunde 10. Mchoro wa muundo wa uthibitisho unaozingatia mchezo unaonyeshwa hapa chini:
Mchoro 1: Muundo wa Uthibitisho unaozingatia Mchezo: Mchezo 0 (algorithm halisi) → Mchezo 1 (kubadilisha kizalishi cha nasibu bandia na nasibu) → Mchezo 2 (kubadilisha uteuzi wa herufi kuwa sare) → Mchezo 3 (bora). Kila mabadiliko yanasaidiwa na dhana ya kriptografia au uthibitisho wa kupunguza.
7. Analysis Framework Example
Utafiti wa Kesi: Uthibitishaji wa Uzalishaji wa Nenosiri la KeePass
Fikiria mkakati unaohitaji kuzalisha nenosiri la tarakimu 12, ambalo linajumuisha angalau herufi ndogo 2, herufi kubwa 2, nambari 2, na wahusika maalum 2. Uainishaji rasmi katika EasyCrypt unafafanua:
- Masharti ya awali: Vigezo vya mkakati (urefu, idadi ya chini/ya juu kwa kila aina ya herufi, herufi zilizotengwa).
- Masharti ya baadaye: Nenosiri linalozalishwa linakidhi vikwazo vyote, na ni nasibu sawasawa kwenye seti yote ya nenosiri halali.
- Usalama: Hakuna adui awezaye kutofautisha pato na mfuatano wa nasibu wa kweli wenye urefu sawa.
Uthibitishaji unafanywa kwa kutumia utangulizi kwa urefu wa nenosiri, unaonyesha kila herufi inachaguliwa kwa usawa kutoka kwenye seti inayofaa ya herufi, na mpangilio wa mwisho unahakikisha hakuna upendeleo wa nafasi.
8. Raw Analysis
Ufahamu Muhimu: Makala hii inashughulikia pengo muhimu la uaminifu katika usimamizi wa nenosiri kwa kutumia uthibitisho rasmi kwenye algorithm ya uzalishaji wa nenosiri. Ingawa wengi wa wasimamizi wa nenosiri wanadai usalama, wachache hutoa dhamana ya hisabati. Kutumia EasyCrypt ni hatua muhimu kuelekea uzalishaji wa nenosiri wenye usalama unaothibitika.
Mpangilio wa Mantiki: Waandishi kwanza wanachunguza algorithm zilizopo, kutambua mifumo ya kawaida na dosari zinazowezekana. Kisha wanatoa utekelezaji wa kumbukumbu na kutumia uthibitisho unaotokana na mchezo kuthibitisha usahihi na usalama wake kwa njia rasmi. Mchakato ni wa kimantiki: Kutambua tatizo → Kubuni suluhisho → Uthibitisho rasmi → Uchambuzi wa athari.
Nguvu na Udhaifu: Nguvu iko katika mbinu madhubuti ya kuthibitisha kwa njia rasmi, inayotoa dhamana zinazozidi majaribio ya kawaida. Hata hivyo, makala hii inalenga utekelezaji mmoja wa kumbukumbu, badala ya kuthibitisha msimbo halisi wa Chrome, Bitwarden, au KeePass. Hii inapunguza athari halisi. Zaidi ya hayo, uthibitisho unadhania kizazi cha nambari nasibu kinachotegemewa, ambacho kinaweza kukosekana katika matumizi yote. Kama Bellare na Rogaway (1993) walivyoonyesha katika kazi yao ya kipindi cha uvumbuzi kuhusu nabii wa nasibu, pengo bado lipo kati ya mfano wa kinadharia na utekelezaji halisi.
Ufahamu Unaoweza Kutekelezwa: Kwa watengenezaji wa meneja wa nywila, kutumia zana za uthibitishaji rasmi kama EasyCrypt kunaweza kuimarisha imani na kupunguza udhaifu. Kwa watafiti, kupanua kazi hii ili kuthibitisha chanzo halisi cha msimbo wa meneja wa nywila (kwa mfano, kupitia ufafanuzi nyuma au utekelezaji wa alama) kungekuwa na thamani kubwa. Watumiaji wanapaswa kudai uwazi na dhamana rasmi kutoka kwa watoa huduma wa meneja wa nywila. Njia hii inalingana na mwelekeo mpana wa njia rasmi katika uwanja wa usalama, kama ilivyoongozwa na Taasisi ya Kitaifa ya Viwango na Teknolojia (NIST) katika mwongozo wake wa Uthibitishaji wa Moduli ya Usimbuaji.
9. Future Applications and Prospects
Mfumo huu wa uthibitishaji rasmi unaweza kupanuliwa kwa vipengele vingine vya meneja wa nywila, kama vile uhifadhi wa nywila na kujaza kiotomatiki. Ujumuishaji na mfereji wa ujumuishaji endelevu unaweza kuwezesha uthibitishaji otomatiki wa msimbo wa uzalishaji wa nywila. Kazi ya baadaye inaweza pia kuchunguza uzalishaji wa nasibu salama dhidi ya mashambulizi ya njia za upande na salama kwa kompyuta ya quantum. Kadiri meneja wa nywila unavyozidi kuenea, dhamana rasmi itakuwa muhimu kwa kujenga imani ya watumiaji na kukidhi mahitaji ya udhibiti (kama vile GDPR, eIDAS).
10. References
- Bellare, M., & Rogaway, P. (1993). Random oracles are practical: A paradigm for designing efficient protocols. Proceedings of the 1st ACM Conference on Computer and Communications Security, 62-73.
- Barthe, G., et al. (2011). EasyCrypt: Mafunzo. Msingi wa Uchambuzi wa Usalama na Ubunifu VII, 146-204.
- NIST. (2020). Mpango wa Uthibitishaji wa Moduli ya Fiche (CMVP). Taasisi ya Kitaifa ya Viwango na Teknolojia.
- Shoup, V. (2004). Mfululizo wa michezo: Zana ya kudhibiti utata katika uthibitisho wa usalama. Kumbukumbu ya IACR Cryptology ePrint, 2004/332.
- Grilo, M., Ferreira, J. F., & Almeida, J. B. (2021). Towards Formal Verification of Password Generation Algorithms used in Password Managers. arXiv:2106.03626v2.