§

Hali ya uzalishaji

§

Mipangilio ya herufi

Telezesha kuweka urefu wa nenosiri. Kipimo: herufi 4 hadi 128.
Huondoa herufi zinazofanana kwa macho: 0, O, o, 1, l, I, |, na alama ya backtick.
Kipimo: 1 hadi 50. Kila matokeo yana kitufe chake cha kunakili; Nakili vyote huvichanganya na mistari mipya.
§

Matokeo

    Timu za usalama Afrika Mashariki zinazalisha manenosiri chini ya mwongozo wa NIST SP 800-63B, ambao ulifuta darasa la utata wa lazima kwa ajili ya urefu na nasibu. Kizalishi hiki hutoa mifuatano ya herufi ya nasibu ya kisiri au misemo ya EFF-wordlist kabisa kupitia API ya Web Crypto ya kivinjari — kamwe kupitia `Math.random()`, kamwe kupitia safari ya kurudi-na-kuenda kwa seva. Inafaa kwa tokeni za API za mara moja, vitambulisho vya akaunti za huduma, au ingizo za mbegu za 1Password / Bitwarden ambazo hazipaswi kamwe kuonekana kwenye utafutaji wa historia ya kivinjari.

    Kizalishi hiki cha nenosiri kinatofautiana vipi?

    Hiki ni kizalishi cha nenosiri cha kwanza-faragha, cha kivinjari tu. Kila byte ya nasibu inatoka kwa kizalishi cha nambari za nasibu cha kisiri cha mfumo wako wa uendeshaji kupitia crypto.getRandomValues — kamwe kutoka Math.random. Ukurasa haufanyi ombi lolote la mtandao kuzalisha nenosiri, na thamani iliyozalishwa haiachi kichupo chako. Fungua paneli ya Mtandao katika DevTools na bonyeza Zalisha: inabaki kimya.

    Kizalishi hiki cha nenosiri kinafanya kazi vipi?

    Zana inafanya kazi kabisa katika JavaScript ndani ya kivinjari chako. Hakuna safari ya kwenda-na-kurudi kwa seva, hakuna ishara ya uchambuzi inayobeba nenosiri, na hakuna ombi la fonti la mbali baada ya ukurasa kupakia.

    1. Mbegu kutoka OS CSPRNG. Kila nambari kamili ya nasibu inachorwa kutoka crypto.getRandomValues(new Uint32Array(n)) — chanzo kile kile cha salama cha kisiri ambacho kivinjari kinatumia kwa nyenzo za ufunguo wa TLS na crypto.randomUUID. Math.random haiitwi kamwe kwa makusudi; grep ya mradi mzima inailazimisha.
    2. Ukusanyaji wa charset. Hali ya herufi za nasibu inachanganya madarasa ya herufi yaliyowezeshwa — herufi kubwa, herufi ndogo, tarakimu, alama — kuwa alfabeti moja. Kitufe cha 'Acha zisizo wazi' huondoa herufi zinazofanana kwa macho (0, O, o, 1, l, I, |, backtick) ili nenosiri liwe wazi unaposomwa kwa sauti au kunakiliwa kwa mkono.
    3. Uchoraji wa faharasa usio na upendeleo. Kuweka ramani nambari kamili ya bits 32 zisizoandikwa hadi faharasa ya charset kwa naiveli (modulo) inaanzisha upendeleo mdogo wakati ukubwa wa charset hauzigawi 2^32 kwa usawa. Zana inatumia sampuli ya kukataliwa: sampuli yoyote inayoangukia mkia wa modulo huachwa na kuchorwa tena, ili kila herufi katika charset iwe na uwezekano sawa.
    4. Uzalishaji wa wingi. Kwa hali ya herufi za nasibu unaweza kuomba manenosiri 1 hadi 50 kwa kubonyeza mara moja. Kila matokeo yanaonyeshwa kama safu na makadirio yake ya entropy, baketi ya nguvu, na kitufe cha Nakili. Kitufe cha 'Nakili vyote' huunganisha safu na mistari mipya ili uweze kubandika kwenye CSV au faili ya kuingiza kwa kafi.
    5. Hali ya msemo. Badilisha kitufe cha hali na ukurasa hupakia kwa unyororo EFF Short Wordlist #1 (maneno 1296 ya Kiingereza ya kikoa cha umma) mara ya kwanza. Misemo ya maneno matano inatoa takriban bits 51.7 za entropy — ya kutosha kwa akaunti za kawaida na inayokumbukwa zaidi kuliko mchezo wa herufi 9 za nasibu. Baada ya kupakia mara moja kule kule, ukurasa unabaki kimya tena.

    Kwa nini utumie kizalishi hiki cha nenosiri?

    • Nenosiri lako haliachi kivinjari chako. Hakuna endpoint ya seva, hakuna simu ya uchambuzi inayobeba thamani, hakuna fonti ya mbali, hakuna telemetri. Fungua DevTools, zalisha nenosiri, na uangalie paneli ya Mtandao ikibaki tupu.
    • Nasibu salama ya kisiri, kwa muundo. Kila nambari kamili inatoka kwa crypto.getRandomValues, na sampuli ya kukataliwa dhidi ya upendeleo wa modulo. Hitilafu ya kawaida zaidi katika vizalishi vya nenosiri vya kivinjari — kutumia Math.random kwa entropy — haiwezekani kimuundo hapa.
    • Hali mbili, zana moja. Hali ya herufi za nasibu huzalisha mifuatano yenye entropy ya juu kwa wasimamizi wa nenosiri; hali ya msemo huzalisha mifuatano inayokumbukwa na binadamu ya mtindo wa xkcd (farasi-sahihi-betri-staple) inayosaidiwa na EFF Short Wordlist #1. Modeli ile ile ya faragha katika zote mbili.
    • Entropy ya uwazi. Kila safu iliyozalishwa inaonyesha entropy yake katika bits na lebo wazi ya nguvu, ili uweze kuona kwa mtazamo kama mfuatano wa herufi 12 usio na alama una nguvu kama msemo wa maneno 5. Hakuna kujaza masoko, tu nambari.

    Matumizi ya kawaida ya manenosiri yaliyozalishwa ni yapi?

    Kila unapohitaji siri mpya ya nasibu, hii ndiyo zana inayopunguza uso wa uaminifu:

    • Kuingiza kwa wasimamizi wa nenosiri. Zalisha manenosiri 50 yenye nguvu kwa kundi moja, bonyeza Nakili vyote, bandika kwenye kuingiza CSV ya kafi yako. Thamani hazikuwahi kufanya safari ya kurudi-na-kuenda kupitia seva yoyote, kwa hivyo hakuna dirisha la kumwagika kati ya uzalishaji na uhifadhi.
    • Misemo kuu. Badilisha hadi hali ya msemo, chagua maneno 6 au 7, unaweza kuandika herufi kubwa kila neno, na una mfuatano wenye entropy ya juu ambao unaweza kukumbuka bila kuuandika. Takriban bits 62 za entropy kutoka maneno 6 — vizuri zaidi ya kiwango cha shambulio la nje ya mtandao.
    • Funguo za API na tokeni katika miradi ya pembeni. Unahitaji siri ya pamoja ya mara moja kwa ufunguo wa kusaini webhook au nenosiri la hifadhidata ya uendelezaji? Zalisha mfuatano wa herufi 32 wenye alama hapa, unakili mara moja, na mahali pekee ambapo iliwahi kuwepo katika usafirishaji ilikuwa ndani ya kichupo chako cha kivinjari.

    Mfano wa nenosiri lililozalishwa unaonekanaje?

    Weka urefu kuwa 16, acha madarasa yote manne ya herufi yamewezeshwa, na bonyeza Zalisha. Charset ina 26 + 26 + 10 + 32 = herufi 94, kwa hivyo kila herufi iliyozalishwa inabeba log2(94) ≈ bits 6.55 za entropy. Herufi kumi na sita zinafikia takriban bits 104.9 — vizuri zaidi ya kiwango cha 'nguvu sana' cha bits 80 na haiwezekani vitendo kwa nguvu ya kikatili na vifaa vya sasa. Sasa badilisha hadi hali ya msemo, chagua maneno 5 na kitenganishi cha chaguo-msingi cha kistari: cocktail-sprig-aspect-magenta-tonic inabeba log2(1296) x 5 ≈ bits 51.7. Inakumbukwa, inaweza kuandikwa, na yenye nguvu zaidi kuliko nenosiri la wastani linalochaguliwa na binadamu.

    Zalisha, nakili, endelea. Ukurasa hauwahi kuona seva, nenosiri haliachi kichupo chako, na entropy imekokotolewa kutoka kanuni za msingi. Hiyo ndiyo ahadi yote.