1. Utangulizi
Nywila bado ndio kipengele kikuu cha uthibitishaji kwa programu nyingi za wavuti, lakini matumizi mabaya ya vitambulisho na uvunjaji wa data unaendelea kuwasumbua watumiaji. Wasimamizi wa nywila wanaotegemea wingu kama LastPass na Dashlane hutoa urahisi lakini huunda sehemu za kushindwa zilizojikita. Jenereta za Nywila za Kiamua (DPGs) zimependekezwa kama njia mbadala, zinazozalisha nywila za kipekee kwa kila kikoa bila kuhifadhi siri. Hata hivyo, kupitishwa kumezuiliwa na kasoro za usalama, faragha, na urahisi wa matumizi. Karatasi hii inachambua DPG 45 zilizopo na inawasilisha MFDPG, jenereta ya nywila ya kiamua yenye vipengele vingi inayoshughulikia mapungufu haya.
2. Jedwali la Yaliyomo
3. Uchambuzi wa DPG Zilizopo
Waandishi walichunguza DPG 45 zilizopo, wakizipanga kulingana na kanuni za msingi za kriptografia na mifano ya uendeshaji. Uchambuzi unaonyesha aina tatu kuu za masuala.
3.1 Masuala ya Usalama
DPG nyingi huruhusu neno la siri kuu la mtumiaji kushambuliwa moja kwa moja ikiwa nywila yoyote iliyozalishwa itaathiriwa. Hii ni kwa sababu neno la siri kuu mara nyingi ndio pembejeo pekee kwa kazi ya hashi. Zaidi ya hayo, mipango mingi haina usiri wa mbele, ikimaanisha kuwa uvunjaji wa neno la siri kuu unaweza kufichua nywila zote za zamani na za baadaye.
3.2 Masuala ya Faragha
DPG zinazohitaji sehemu ya upande wa seva au huduma ya usawazishaji zinaweza kuvuja orodha ya vikoa ambavyo mtumiaji hutembelea. Hata DG za upande wa mteja zinaweza kuvuja taarifa kupitia njia za pembeni au kupitia muundo wa nywila zilizozalishwa.
3.3 Masuala ya Urahisi wa Matumizi
Kubadilisha nywila ni ngumu katika DPG nyingi, kwani kubadilisha nywila kunahitaji kukumbuka nambari ya toleo au kutumia neno la siri kuu tofauti. Sera changamano za nywila (kwa mfano, zinazohitaji herufi maalum, urefu wa chini) mara nyingi hazitumiki, na kusababisha kushindwa kuingia mara kwa mara.
4. Muundo wa MFDPG
MFDPG inashughulikia masuala haya kupitia uvumbuzi mkuu tatu: utoaji wa funguo kwa vipengele vingi, vichujio vya Cuckoo kwa ubatilishaji, na uzalishaji wa nywila unaotegemea DFA.
4.1 Utoaji wa Funguo kwa Vipengele Vingi
Badala ya kutegemea neno la siri kuu pekee, MFDPG inajumuisha vipengele vya ziada kama vile tokeni ya maunzi (kwa mfano, YubiKey) au neno la siri la wakati mmoja linalotegemea wakati (TOTP). Siri kuu inatokana na kazi ya utoaji wa funguo (KDF) inayochanganya vipengele vyote:
$K = \text{KDF}(P, T, H)$
ambapo $P$ ni neno la siri kuu, $T$ ni thamani ya TOTP, na $H$ ni siri ya tokeni ya maunzi. Hii inahakikisha kwamba kuathiriwa kwa neno la siri kuu pekee hakutoshi kuzalisha nywila.
4.2 Kichujio cha Cuckoo kwa Ubatilishaji
Ili kusaidia kubadilisha nywila bila kuvuja matumizi ya huduma, MFDPG inatumia kichujio cha Cuckoo—muundo mdogo wa data wa uwezekano—kuhifadhi matoleo ya nywila yaliyobatilishwa. Kichujio kinahifadhiwa ndani ya kifaa na kinaweza kuulizwa ili kuangalia ikiwa toleo fulani limebatilishwa. Hii inaepuka hitaji la hifadhidata ya upande wa seva na inalinda faragha.
4.3 Uzingatiaji wa Sera ya Nywila kupitia DFA
MFDPG inatumia Kiotomatiki Kikomo cha Kiamua (DFA) kuiga sera ya nywila ya kila tovuti. DFA inahakikisha kwamba nywila zilizozalishwa zinakidhi mahitaji yote ya sera (kwa mfano, angalau herufi moja kubwa, tarakimu moja, herufi maalum moja). Algorithmu ya uzalishaji inapitia DFA ili kutoa nywila halali kwa njia ya kiamua.
5. Tathmini na Matokeo
MFDPG ilitathminiwa dhidi ya programu 100 maarufu za wavuti. Matokeo yanaonyesha utangamano wa 100% na sera zilizopo za nywila. Vigezo vya utendaji vinaonyesha kuwa uzalishaji wa nywila unachukua chini ya 10ms kwa wastani, na kichujio cha Cuckoo kinahitaji tu 1.5 KB ya hifadhi kwa matoleo 1000 yaliyobatilishwa. Utoaji wa funguo kwa vipengele vingi unaongeza mzigo mdogo wa 2ms.
Takwimu Muhimu
- Utangamano wa 100% na tovuti 100 bora
- Muda wa wastani wa uzalishaji: <10ms
- Hifadhi ya kichujio cha Cuckoo: 1.5 KB kwa viingizo 1000
- Mzigo wa vipengele vingi: 2ms
6. Ufahamu Mkuu, Mtiririko wa Mantiki, Nguvu na Udhaifu, Ufahamu Unaotekelezeka
Ufahamu Mkuu
MFDPG inafikiria upya usimamizi wa nywila kwa kuondoa hitaji la siri zozote zilizohifadhiwa—wala kwenye kifaa cha mteja wala kwenye seva. Hii ni mabadiliko ya dhana kutoka kwa mfano wa sasa wa hazina iliyojikita. Ufahamu mkuu ni kwamba kwa kuchanganya vipengele vingi vya uthibitishaji wakati wa uzalishaji wa nywila, unaweza kufikia usalama wa tokeni ya maunzi bila kuhitaji msaada wa upande wa seva.
Mtiririko wa Mantiki
Karatasi inafuata mwendelezo wazi wa mantiki: kwanza, inatambua kushindwa kwa DPG zilizopo kupitia utafiti wa kina; pili, inapendekeza muundo unaoshughulikia moja kwa moja kila kushindwa; tatu, inathibitisha muundo kupitia tathmini makini. Mtiririko ni wa kukata, kutoka kwa matatizo ya jumla hadi ufumbuzi maalum.
Nguvu na Udhaifu
Nguvu: Mbinu ya vipengele vingi ni uvumbuzi halisi unaoinua kiwango kwa washambuliaji. Matumizi ya vichujio vya Cuckoo kwa ubatilishaji ni maridadi na yanalinda faragha. Uzingatiaji wa sera unaotegemea DFA ni suluhisho la vitendo kwa tatizo la muda mrefu la urahisi wa matumizi.
Udhaifu: Karatasi haishughulikii uzoefu wa mtumiaji wa kusimamia tokeni nyingi za maunzi. Utegemezi wa kichujio cha Cuckoo cha ndani unamaanisha kuwa data ya ubatilishaji haijasawazishwa kwenye vifaa mbalimbali, ambayo inaweza kuwa tatizo kwa watumiaji walio na vifaa vingi. Tathmini, ingawa ni ya kina, imepunguzwa kwa tovuti 100 bora na inaweza isitumike kwa programu zote za wavuti.
Ufahamu Unaotekelezeka
Kwa wataalamu, MFDPG inatoa njia inayowezekana ya kuondoa hazina za nywila. Kwa watafiti, karatasi inafungua njia kadhaa: kuboresha usawazishaji wa data ya ubatilishaji, kuchunguza miundo mbadala ya data kwa ubatilishaji, na kupanua mbinu ya vipengele vingi kwa miktadha mingine ya uthibitishaji. Ufahamu unaotekelezeka wa haraka zaidi ni kwamba shirika lolote linalotumia sasa msimamizi wa nywila unaotegemea wingu linapaswa kutathmini MFDPG kama njia mbadala salama zaidi.
7. Uchambuzi wa Asili
MFDPG inawakilisha hatua muhimu mbele katika harakati za usimamizi wa nywila unaotumika na salama. Mchango mkuu wa karatasi—kuondoa siri zilizohifadhiwa kupitia utoaji wa funguo kwa vipengele vingi—unashughulikia moja kwa moja sehemu kuu ya kushindwa iliyowatesa wasimamizi wa nywila wanaotegemea wingu. Hii inakumbusha mabadiliko kutoka kwa mifumo iliyojikita hadi mifumo iliyosambazwa inayoonekana katika nyanja nyingine, kama vile mpito kutoka kwa usanifu wa mteja-seva hadi usanifu wa rika-kwa-rika (kwa mfano, BitTorrent). Matumizi ya vichujio vya Cuckoo kwa ubatilishaji ni ya busara hasa, kwani yanatoa utaratibu wa kulinda faragha unaoepuka hitaji la hifadhidata ya upande wa seva. Hii inalingana na msisitizo unaoongezeka wa teknolojia za kulinda faragha, kama ilivyoangaziwa na Kanuni ya Jumla ya Ulinzi wa Data ya Umoja wa Ulaya (GDPR).
Hata hivyo, tathmini ya karatasi ni ndogo kwa kiasi fulani. Ingawa tovuti 100 maarufu zinawakilisha sehemu kubwa ya shughuli za watumiaji, zinaweza zisiwakilishe mkia mrefu wa tovuti ambazo watumiaji hutembelea. Zaidi ya hayo, karatasi haishughulikii urahisi wa kusimamia tokeni nyingi za maunzi, ambayo inaweza kuwa kikwazo kwa kupitishwa. Uzoefu wa mtumiaji wa kusanidi na kutumia tokeni ya maunzi bado ni mgumu kwa mtumiaji wa kawaida, kama ilivyobainishwa katika tafiti za Taasisi ya Kitaifa ya Viwango na Teknolojia (NIST).
Kwa mtazamo wa kiufundi, uzalishaji wa nywila unaotegemea DFA ni suluhisho thabiti kwa tatizo la sera ya nywila. Hata hivyo, karatasi haijadili ugumu wa kuunda DFA kwa kila tovuti. Kwa vitendo, hii ingehitaji hifadhidata ya sera za nywila, ambayo inaweza kudumishwa na jamii au na wasanidi wa MFDPG. Hii ni changamoto kubwa ya uhandisi.
Kwa kumalizia, MFDPG ni mfumo ulioundwa vizuri unaoshughulikia mapungufu mengi ya DPG zilizopo. Mbinu yake ya vipengele vingi na matumizi ya vichujio vya Cuckoo ni uvumbuzi halisi. Hata hivyo, karatasi ingefaidika na tathmini pana zaidi na mjadala wa changamoto za vitendo za usambazaji. Wakati ujao wa usimamizi wa nywila unaweza kuwa katika mifumo kama MFDPG inayoondoa siri zilizohifadhiwa, lakini kazi kubwa inabaki ili kufanya mifumo hii itumike kwa mtu wa kawaida.
8. Maelezo ya Kiufundi na Uundaji wa Hisabati
Kiini cha MFDPG ni kazi ya utoaji wa funguo kwa vipengele vingi. Hebu $P$ iwe neno la siri kuu, $T$ iwe thamani ya TOTP kwa wakati $t$, na $H$ iwe siri ya tokeni ya maunzi. Funguo kuu $K$ inatokana kama:
$K = \text{PBKDF2}(P \oplus T \oplus H, \text{salt}, \text{iterations})$
ambapo $\oplus$ inaashiria XOR. Nywila ya kikoa $d$ yenye toleo $v$ basi ni:
$\text{Password} = \text{DFA-Generate}(\text{HMAC-SHA256}(K, d || v), \text{policy})$
Kazi ya DFA-Generate inachukua mbegu ya nasibu bandia na DFA inayowakilisha sera ya nywila, na kutoa nywila halali. Kichujio cha Cuckoo kinahifadhi tuple $(d, v)$ kwa kila toleo la nywila lililobatilishwa. Kichujio kinaunga mkono uingizaji na utafutaji kwa muda wa $O(1)$.
9. Uchunguzi Kifani: Mfano wa MFDPG Ikifanya Kazi
Fikiria mtumiaji Alice ambaye anataka kusimamia nywila zake kwa kutumia MFDPG. Ana neno la siri kuu "MySecureP@ss1" na YubiKey yenye siri "YubiSecret123". Anatembelea tovuti, example.com, ambayo inahitaji nywila yenye angalau herufi 8, herufi moja kubwa, tarakimu moja, na herufi maalum moja.
- Alice anaingiza neno lake la siri kuu na kuunganisha YubiKey yake.
- MFDPG inakokotoa thamani ya TOTP (kwa mfano, "847291") na kutoa funguo kuu: $K = \text{PBKDF2}(\text{MySecureP@ss1} \oplus 847291 \oplus \text{YubiSecret123}, \text{salt}, 10000)$.
- MFDPG inazalisha nywila ya example.com kwa kutumia DFA ya sera: $\text{Password} = \text{DFA-Generate}(\text{HMAC-SHA256}(K, \text{example.com} || 1), \text{policy})$.
- Nywila iliyozalishwa ni, kwa mfano, "A8b!cD2e".
- Ikiwa Alice baadaye atabadilisha nywila yake, anaongeza nambari ya toleo hadi 2 na kuongeza toleo la zamani (example.com, 1) kwenye kichujio cha Cuckoo.
10. Matumizi na Maelekezo ya Baadaye
MFDPG inafungua njia kadhaa za kusisimua za utafiti na maendeleo ya baadaye. Kwanza, utoaji wa funguo kwa vipengele vingi unaweza kupanuliwa kujumuisha vipengele vya kibayometriki, kama vile alama za vidole au utambuzi wa uso, na hivyo kuongeza usalama zaidi. Pili, kichujio cha Cuckoo kinaweza kubadilishwa na muundo wa data wa hali ya juu zaidi, kama vile kichujio cha Bloom chenye uwezo wa kufuta, ili kuboresha ufanisi. Tatu, uzalishaji wa nywila unaotegemea DFA unaweza kujumlishwa ili kusaidia sera za nywila za kiholela, ikijumuisha zile zinazohitaji mifumo maalum (kwa mfano, hakuna herufi mfululizo).
Kwa mtazamo wa vitendo, MFDPG inaweza kuunganishwa kwenye vivinjari vya wavuti kama programu-jalizi, ikitoa usimamizi wa nywila usio na mshono bila hitaji la programu tofauti. Inaweza pia kutumika katika mazingira ya biashara kutekeleza sera kali za nywila katika programu zote. Mfano wa kutokuhifadhi siri ni wa kuvutia hasa kwa mashirika yanayotii kanuni kali za ulinzi wa data, kama vile HIPAA au PCI-DSS.
Hatimaye, kanuni za msingi za MFDPG zinaweza kutumika katika miktadha mingine ya uthibitishaji, kama vile usimamizi wa funguo za SSH au uzalishaji wa tokeni za API. Wazo la kupata siri kutoka kwa vipengele vingi bila kuzihifadhi ni wazo lenye nguvu ambalo linaweza kubadilisha jinsi tunavyofikiria kuhusu uthibitishaji.
11. Marejeleo
- V. Nair na D. Song, "MFDPG: Multi-Factor Authenticated Password Management With Zero Stored Secrets," UC Berkeley, 2023.
- B. Ross na wenz., "PwdHash: A Browser-Based Password Manager," katika USENIX Security Symposium, 2005.
- J. Bonneau na wenz., "The Quest to Replace Passwords: A Framework for Comparative Evaluation of Web Authentication Schemes," katika IEEE Symposium on Security and Privacy, 2012.
- D. Florencio na C. Herley, "A Large-Scale Study of Web Password Habits," katika WWW, 2007.
- NIST, "Digital Identity Guidelines," NIST Special Publication 800-63B, 2017.
- Umoja wa Ulaya, "General Data Protection Regulation (GDPR)," 2016.
- B. Fan na wenz., "Cuckoo Filter: Practically Better Than Bloom," katika CoNEXT, 2014.
- M. Bellare na wenz., "Key Derivation Functions and Their Uses," katika CRYPTO, 1999.
- J. Kelsey na wenz., "PBKDF2: Password-Based Key Derivation Function 2," RFC 2898, 2000.
- D. M'Raihi na wenz., "TOTP: Time-Based One-Time Password Algorithm," RFC 6238, 2011.