1. Utangulizi

Karatasi hii inashughulikia changamoto muhimu ya usimamizi wa nywila katika mifumo ya kisasa ya kidijitali. Licha ya wasiwasi wa usalama ulioenea, nywila bado ndio aina kuu ya uthibitishaji wa mtumiaji. Tunachunguza zana za kusanifisha nywila kama mbadala kwa wadhibiti wa kawaida wa nywila, tukipendekeza muundo wa kwanza wa jumla wa mifumo kama hiyo na kutathmini kwa kina chaguzi zilizopo na mpya za utekelezaji.

2. Msingi na Motisha

Mzigo usioweza kudumu kwa watumiaji kukumbuka nywila nyingi zenye nguvu na za kipekee ndio kiini cha utafiti huu. Utafiti unaonyesha watumiaji husimamia akaunti kadhaa, idadi ambayo imeongezeka tangu utafiti wa msingi wa Florêncio na Herley (2007).

2.1. Kudumu kwa Nywila

Kama ilivyojadiliwa na Herley, van Oorschot, na Patrick, nywila zinadumu kwa sababu ya gharama yake ndogo, unyenyekevu, na uzoefu wa watumiaji. Teknolojia mbadala kama FIDO/UAF zinakabiliwa na vikwazo vya kupitishwa.

2.2. Mapungufu ya Wadhibiti wa Nywila

Wadhibiti wa nywila, ingawa wamevuma, wana kasoro kubwa. Wadhibiti wa hifadhi ya ndani huzuia uhamaji, huku wadhibiti wa wingu wakileta sehemu kuu za kushindwa, kama inavyoonekana katika uvunjaji halisi wa usalama [3, 13, 18, 19].

3. Muundo wa Jumla wa Zana za Kusanifisha Nywila

Tunapendekeza muundo wa umoja ambapo nywila maalum ya tovuti $P_{site}$ inasanifishwa wakati wa hitaji kupitia utendakazi thabiti $G$.

3.1. Vipengele vya Muundo na Uundaji Rasmi

Utendakazi mkuu wa kusanifisha unaweza kuundwa kwa njia rasmi kama: $P_{site} = G(M, C, S, Aux)$. Ambapo:

  • $M$: Siri kuu (mfano, nywila au usemi wa mtumiaji).
  • $C$: Data maalum ya mteja (mfano, kitambulisho cha kifaa).
  • $S$: Data maalum ya seva/tovuti (mfano, jina la kikoa).
  • $Aux$: Vigezo vya ziada (mfano, hesabu ya kurudia).
Utendakazi $G$ kwa kawaida ni Utendakazi wa Kutoa Ufunguo (KDF) kama PBKDF2, bcrypt, au scrypt.

3.2. Mahitaji Makuu ya Utendaji

Zana thabiti ya kusanifisha nywila lazima itoe: Uthabiti (viingilio sawa vinatoa nywila sawa), Upekee (tovuti tofauti zinatoa nywila tofauti), Upinzani dhidi ya Mashambulizi (preimage, mgongano), na Urahisi wa Matumizi.

4. Uchambuzi wa Mipango Iliyopo

Mipango ya awali (mfano, PwdHash, SuperGenPass) inachambuliwa ndani ya muundo uliopendekezwa, ikionyesha utekelezaji wao wa $M$, $C$, $S$, na $G$.

4.1. Uainishaji wa Mipango

Mipango inaweza kuainishwa kulingana na:

  • Ugumu wa Kiingilio: Kutoka rahisi (siri kuu + kikoa) hadi ngumu (mambo mengi).
  • Utumizi: Kiongeza kivinjari, programu ya kujitegemea, tokeni ya vifaa.
  • Msingi wa Usimbuaji: Kulingana na hash, kulingana na usimbuaji.

4.2. Usalama dhidi ya Urahisi wa Matumizi

Upatikanaji mkuu ni mvutano wa asili. Mipango inayopendelea urahisi wa matumizi (kiingilio kidogo cha mtumiaji) mara nyingi hudhoofisha usalama dhidi ya mashambulizi maalum. Mipango inayohitaji juhudi zaidi za mtumiaji (mfano, kuingiza kihesabu) hupunguza utendaji.

Uchambuzi wa Usalama dhidi ya Urahisi wa Matumizi

Urahisi wa Juu / Usalama wa Chini: Mipango kama aina za awali za PwdHash zinazoweza kushambuliwa kwa udanganyifu ikiwa uchimbaji wa kikoa umedanganywa.

Usalama wa Juu / Urahisi wa Chini: Mipango inayohitaji uingizaji wa mwongozo wa kihesabu kinachobadilika ($Aux$) inaelekea kwa makosa ya mtumiaji na kutolingana.

5. AutoPass: Pendekezo Jipya

Kulingana na muundo na uchambuzi, tunatoa muhtasari wa AutoPass, ubunifu unaolenga kuunganisha nguvu na kupunguza udhaifu wa teknolojia za awali.

5.1. Kanuni za Ubunifu

  • Upinzani dhidi ya Udanganyifu: Unganisha njia salama na data ya uthibitishaji wa tovuti.
  • Usawazishaji wa Hali: Dhibiti vigezo vya ziada (kama vihesabu) kwa uwazi ili kuzuia kutolingana.
  • Uthabiti Katika Mfumo Mbalimbali: Hakikisha $C$ na hali zinasawazishwa kwa usalama katika vifaa vyote vya mtumiaji.

5.2. Muhtasari wa Usanifu

AutoPass inaona sehemu ya upande wa mteja inayoshirikiana na huduma ya (hiari) ya usawazishaji unaoaminika. Utendakazi wa kusanifisha $G_{AutoPass}$ ungejumlisha kipengele cha msingi cha wakati au changamoto ya seva ili kutoa upinzani dhidi ya mashambulizi ya kurudia bila mzigo kwa mtumiaji.

Ufahamu Muhimu Kuhusu AutoPass

  • Uvutio wake upo katika kusimamia kiotomatiki kigezo $Aux$ na kuunganisha kwa usalama $S$ kwenye kipindi kilichothibitishwa.
  • Inashughulikia moja kwa moja kasoro kuu ya zana "bila hali": usalama dhaifu dhidi ya udanganyifu wakati $S$ (kikoa) hakithibitishwi kwa uhakika.

6. Uchunguzi wa Kina wa Kiufundi

6.1. Uundaji Rasmi wa Kihisabati

Zana thabiti ya kusanifisha nywila inaweza kuonekana kama KDF maalum. Uundaji unaowezekana kwa mipango iliyochochewa na AutoPass: $$P_{site} = Truncate( HMAC( K_{derived}, S \, || \, C_{sync} \, || \, Challenge ) )$$ Ambapo: $K_{derived} = KDF(M, Salt, iterations)$, $C_{sync}$ ni hali ya mteja iliyosawazishwa, na $Challenge$ ni nambari ya mara moja kutoka kwa seva au kipande cha wakati. Utendakazi $Truncate$ unabadilisha matokeo ili kufuata sera maalum za nywila (urefu, seti za herufi).

6.2. Uchambuzi wa Muundo wa Vitisho

Muundo lazima ulinde dhidi ya:

  • Kuvurugwa kwa Mteja: Mshambuliaji anapata $M$. Suluhisho: Tumia moduli ya usalama ya vifaa au biometriki nguvu kwa ulinzi wa $M$.
  • Udanganyifu: Mshambuliaji anamdanganya mtumiaji kusanifisha nywila kwa tovuti bandia. Suluhisho: Unganisha kwa usimbuaji $S$ kwa cheti cha TLS au tumia uthibitishaji kama wa FIDO.
  • Kuvunjwa kwa Seva: Mshambuliaji anapata hash ya nywila $H(P_{site})$. Zana ya kusanifisha inapaswa kuhakikisha $P_{site}$ ina nguvu (entropy kubwa) ili kukabiliana na kuvunjwa.

7. Uchambuzi Muhimu na Mtazamo wa Sekta

Ufahamu Mkuu: Kazi ya Al Maqbali na Mitchell ni utaratibu muhimu, uliochelewa sana wa ujuzi (SoK) kwa zana za kusanifisha nywila. Uwanja huu umekuwa na mapendekezo ya kipekee na yaliyotengwa. Kwa kuanzisha muundo rasmi $P_{site} = G(M, C, S, Aux)$, wanaipa darubini muhimu ya kutathmini madai ya usalama na ahadi za urahisi wa matumizi. Hii inafanana na jukumu muhimu ambalo miundo rasmi ilicheza katika kuendeleza nyanja zingine za usimbuaji, kama miundo ya kutofautisha kwa usimbuaji.

Mtiririko wa Mantiki na Mchango: Mantiki ya karatasi hii ni kamili: 1) Kubali kutobadilika kwa tatizo la nywila, 2) Fichua kasoro katika suluhisho lililopo (wadhibiti wa nywila), 3) Pendekeza muundo wa umoja kwa mbadala (zana za kusanifisha), 4) Tumia muundo kuchambua teknolojia za awali, ukionyesha ushindani wao ambao mara nyingi umepuuzwa, na 5) Toa muhtasari wa ubunifu mpya (AutoPass) ambao muundo wenyewe unapendekeza. AutoPass iliyopendekezwa, ingawa haijabainishwa kikamilifu, inatambua kwa usahihi kipande muhimu kinachokosekana: usimamizi salama, wa kiotomatiki wa hali. Zana za sasa ama hazina hali (zina usalama dhaifu dhidi ya udanganyifu) au zinaweka usimamizi wa hali kwa mtumiaji (zinaweza kukosea). Dhamira ya AutoPass ya usawazishaji wa uwazi inashughulikia hili moja kwa moja.

Nguvu na Kasoro: Nguvu kuu ni muundo wenyewe—ni rahisi lakini unaonyesha wazi. Uchambuzi wa $S$ (kigezo cha tovuti) ni mkali hasa, ukionyesha jinsi mashambulizi ya udanganyifu yanavyodhoofisha kimsingi mipango inayotegemea jina la kikoa linaloonekana pekee. Kasoro ya karatasi hii, iliyokubaliwa na waandishi, ni hali ya awali ya AutoPass. Ni muhtasari wa ubunifu, sio maelezo. Zaidi ya hayo, uchambuzi unategemea sana usalama wa mantiki; utafiti mkali wa kimatumizi ya kihalisi unaolinganisha mipango ya zana za kusanifisha haupo. Je, mzigo wa kiakili wa kusimamia siri kuu kwa zana ya kusanifisha unalinganishaje na kutumia dhibiti wa wingu kama 1Password? Utafiti kama ule wa Pearman et al. (CHI 2017) juu ya urahisi wa matumizi ya wadhibiti wa nywila unaonyesha hili ni swala la msingi.

Ufahamu Unaoweza Kutekelezwa: Kwa wasanifu wa usalama, karatasi hii ni agizo: acha kutathmini zana za kusanifisha nywila peke yake. Tumia muundo $G(M, C, S, Aux)$ kama orodha ya ukaguzi. Utekelezaji halisi wa $S$ ni nini? Je, unaweza kudanganywa? $Aux$ inasimamiwaje, na nani anabeba gharama ya kushindwa? Kwa watafiti, njia ya mbele ni wazi. Kazi yenye thamani kubwa zaidi ni kujaza dhamira ya AutoPass, hasa utaratibu wa usawazishaji. Je, inaweza kufanywa kwa njia ya kujitegemea, inayohifadhi faragha kwa kutumia vifaa vya kibinafsi, sawa na iCloud Keychain ya Apple lakini kwa nywila zilizosanifishwa? Njia nyingine ni kuunganisha na dhana ya WebAuthn/FIDO2—je, $P_{site}$ ya zana ya kusanifisha inaweza kutolewa kutoka kwa hati inayoungwa mkono na vifaa, na kuunda "zana ya kusanifisha ufunguo wa kupita"? Karatasi hii imefanikiwa kusogeza mazungumzo kutoka "kama" zana za kusanifisha zinawezekana hadi "jinsi" ya kujenga ile inayoweza kufanya kazi, ambayo ndio mchango wake muhimu zaidi.

Muundo wa Uchambuzi: Kutathmini Mpango wa Zana ya Kusanifisha Nywila

Kesi: Kutathmini kiongeza cha kivinjari cha "SimpleHash" cha kubuni.

  1. Tambua Vigezo vya Muundo:
    • $M$: Nywila kuu ya mtumiaji.
    • $C$: Hakuna (bila hali).
    • $S$: Mfuatano wa kikoa wa URL uliochimbwa kutoka kwa upau wa anwani wa kivinjari.
    • $Aux$: Hakuna.
    • $G$: $SHA256(M \, || \, S)$, iliyokatwa hadi herufi 12 za nambari na herufi.
  2. Tathmini ya Usalama:
    • Usalama Dhaifu dhidi ya Udanganyifu (Kasoro Muhimu): $S$ inaweza kudanganywa kwa urahisi na tovuti bandia. Zana itatoa nywila sahihi kwa tovuti ya mshambuliaji.
    • Shambulio la Siri Kuu: Ikiwa $M$ ni dhaifu, mashambulizi ya nguvu ya nje yanawezekana.
    • Entropy: Matokeo yanaweza kukosa kufuata sheria zote za ugumu wa tovuti.
  3. Tathmini ya Urahisi wa Matumizi: Juu. Mtumiaji anakumbuka $M$ pekee.
  4. Hitimisho: Mpango huu unashindwa tathmini ya usalama kwa sababu ya kigezo $S$ kinachoweza kudanganywa, licha ya urahisi mzuri wa matumizi. Haipaswi kupitishwa.

8. Matumizi ya Baadaye na Mwelekeo wa Utafiti

  • Unganisho na FIDO/WebAuthn: Tumia kithibitishaji cha vifaa kulinda siri kuu $M$ au kusanifisha mbegu kwa $G$. Hii inaunganisha urahisi wa zana za kusanifisha na vifaa vikali vya usimbuaji.
  • Usawazishaji wa Hali wa Kujitegemea: Tumia mifumo ya vifaa vya kibinafsi (mfano, kupitia Bluetooth au itifaki ya ushirikiano) kusawazisha hali ya mteja $C_{sync}$ na vigezo vya ziada $Aux$ bila huduma ya wingu kuu, na kuimarisha faragha.
  • Uzingatiaji wa Sera Unaosaidiwa na Akili Bandia: Unda zana za kusanifisha zinazobadilisha kiotomatiki umbizo la matokeo la $G$ (kukata, seti ya herufi) kulingana na sera ya nywila ya tovuti lengwa, inayojifunza kupitia mwingiliano wa kivinjari au hifadhi data ya pamoja.
  • Usimbuaji wa Baada ya Quantum (PQC): Fanya utafiti wa KDF za msingi wa PQC kwa $G$ ili kuhakikisha usalama wa muda mrefu dhidi ya mashambulizi ya kompyuta za quantum.
  • Kuweka Viwango: Hatua inayofuata ya mantiki ni kupendekeza kiwango rasmi kulingana na muundo huu kwa IETF au W3C, na kuwezesha ushirikiano kati ya wateja na huduma tofauti za zana za kusanifisha.

9. Marejeo

  1. Al Maqbali, F., & Mitchell, C. J. (2016). Zana za Kusanifisha Nywila: Mawazo ya Zamani na Mapya. arXiv preprint arXiv:1607.04421.
  2. Herley, C., van Oorschot, P. C., & Patrick, A. S. (2014). Nywila: Kama Tuna Akili, Kwa Nini Bado Tunazitumia?. Katika Usimbuaji wa Fedha na Usalama wa Data.
  3. Florêncio, D., & Herley, C. (2007). Utafiti mkubwa wa tabia za nywila za wavuti. Katika Michango ya mkutano wa kimataifa wa 16 wa Wavuti Duniani.
  4. McCarney, D. (2013). Wadhibiti wa Nywila: Mashambulizi na Ulinzi. Chuo Kikuu cha British Columbia.
  5. Muungano wa FIDO. (2015). Uainishaji wa Itifaki ya FIDO UAF.
  6. Pearman, S., et al. (2017). Hebu Tuangalie Kwa Karibu: Kutazama Nywila Katika Makazi Yake ya Asili. Katika Michango ya Mkutano wa 2017 wa ACM SIGSAC juu ya Usalama wa Kompyuta na Mawasiliano.
  7. Bonneau, J., Herley, C., van Oorschot, P. C., & Stajano, F. (2012). Jitihada ya kubadilisha nywila: Muundo wa tathmini ya kulinganisha ya mipango ya uthibitishaji wa wavuti. Katika 2012 IEEE Mkutano wa Usalama na Faragha.
  8. Kaliski, B. (2000). PKCS #5: Uainishaji wa Usimbuaji Kulingana na Nywila Toleo la 2.0. RFC 2898.