Nenosiri na Entropia: Sayansi nyuma ya usalama wako

Sahau sheria zilizopitwa na wakati za nywila. Gundua nadharia ya entropia ya Shannon, tishio la quantum la Grover, na vidokezo vya kweli vya OPSEC ili kulinda ufikiaji wako.

|

Muda wa kusoma: dakika 9

Nenosiri na Entropia: Sayansi nyuma ya usalama wako

« Nenosiri lako lazima liwe na herufi 8, herufi kubwa, herufi ndogo, nambari na herufi maalum. »

Sote tunajua sheria hii. Na bado, katika usalama wa mtandao, hii ndiyo tunayoiita “ukumbi wa usalama” (security theater). Nenosiri kama P@ssw0rd1! linafuata sheria hizi zote. Lakini ni neno la kawaida lenye ubadilishaji unaotabirika, na hicho ndicho hasa vifaa vya kuvunja manenosiri hujaribu kwanza.

Usalama wa kweli hautegemei sheria za kuona za kiholela, bali kwenye ukweli wa kihesabu usiosamehe: entropia.

Entropia kulingana na Claude Shannon

Ili kuelewa uimara wa nenosiri, lazima tumwangalie Claude Shannon, baba wa nadharia ya habari. Entropia hupima kiwango cha kutokuwa na uhakika au kutotabirika kwa habari.

Ikitumika kwa nywila, entropia huhesabiwa kwa bits. Kadiri idadi ya bits inavyokuwa kubwa, ndivyo nenosiri linavyokuwa lisilotabirika kwa kompyuta. Fomula iliyorahisishwa ya entropia (E) ya nenosiri lililoundwa kwa nasibu ni:

E = L × log2(R)

  • L ni urefu wa nenosiri.
  • R ni ukubwa wa dimbwi (pool size) (26 kwa herufi ndogo, 62 zikiwa na herufi kubwa na nambari, 94 zikiwa na kila alama inayoweza kuchapishwa). Makundi manne ya herufi ya jenereta yetu yanatoa 91, kwa sababu kundi lake la alama lina herufi 29.

Kuongeza ukubwa wa dimbwi (kuongeza alama) kunaongeza entropia, lakini kuongeza urefu (kuongeza herufi) kunaiongeza kwa kasi zaidi. Hata hivyo, urefu hushinda ugumu kwa sharti moja tu: nenosiri lazima litolewe kwa nasibu kabisa.

Brute Force dhidi ya Shambulio la Kamusi

Ikiwa unatumia maneno au miundo inayotabirika, utawala wa urefu safi huporomoka.

Programu za udukuzi hazijaribu mchanganyiko wote wa herufi moja baada ya nyingine (hii inaitwa Brute Force). Wanatumia orodha kubwa za manenosiri halisi kutoka uvujaji wa data uliopita, pamoja na maneno na misemo ya kawaida. Hili ni Shambulio la Kamusi (Dictionary Attack).

Ikiwa nenosiri lako ni refu, lakini linajumuisha maneno ya kamusi au ubadilishaji unaotabirika, entropia yake halisi ni ya chini sana kuliko entropia yake ya kihesabu ya kinadharia.

Jedwali lililo hapa chini linatumia kanuni moja: majaribio bilioni 100 kwa sekunde, kasi ambayo ukurasa wa jenereta yetu unadhania kwa shambulio la nje ya mtandao kwenye hashi ya kasi. Muda ni wa wastani (nusu ya uwezekano wote), uliozungushwa chini kwa fomula ile ile ya ukurasa huo. Njia ya haraka zaidi kwa kila nenosiri iko kwa herufi nzito:

NenosiriEntropia ikiwa kila herufi ingekuwa ya nasibuBrute force (wastani)Shambulio la kamusi (makadirio yetu)
password123bits 56 (herufi 11, herufi ndogo na nambari)siku 7Chini ya sekunde moja
S3cr3t!99bits 58 (herufi 9, makundi yote manne)siku 24Chini ya sekunde moja
correct horse battery staplebits 133 (herufi 28, herufi ndogo na nafasi)Zaidi ya miaka trilioni 1dakika 1
gL7!pQ9z#vX2bits 78 (herufi 12, makundi yote manne)miaka elfu 51Hakuna njia ya mkato

Safu ya kamusi ni makadirio. Inadhania kwamba majaribio ya mshambuliaji yanafuata muundo wa kila nenosiri, na kwamba kila neno la msingi ni miongoni mwa maneno 1,000 ya kawaida zaidi:

  • password123: neno moja la kawaida na tarakimu tatu. Hiyo ni 1,000 × 1,000, karibu majaribio milioni moja.
  • S3cr3t!99: neno moja la kawaida, likiwa na herufi kubwa au bila, kila “e” ikibadilishwa kuwa “3” au la, kisha kiambishi chochote cha herufi tatu. Hiyo ni karibu majaribio bilioni 7.
  • correct horse battery staple: maneno manne ya kawaida. Katuni ya xkcd iliyoyafanya maarufu inahesabu bits 44 kwa maneno manne kutoka orodha ya maneno 2,048. Kwa kasi ile ile, hiyo ni sekunde 88 kwa wastani, iliyozungushwa chini hadi dakika 1.
  • gL7!pQ9z#vX2: hakuna neno wala muundo, kwa hiyo brute force ndiyo njia ya haraka zaidi.

Makadirio haya yanachukulia kila nenosiri kuwa halijulikani kwa mshambuliaji. Kila nenosiri katika makala hii sasa ni la umma, kwa hiyo kila moja linastahili kuwa kwenye kamusi. Nenosiri lililochapishwa ni nenosiri lililoungua.

Udanganyifu wa Leetspeak na Kanuni za Mabadiliko

Chukua mfano S3cr3t!99. Kwa kuona, inaonekana ngumu na thabiti. Na bado, ni neno la kamusi tu “secret”, ambapo ’e’ zimebadilishwa na ‘3’, ambalo kiambishi tamati cha kawaida sana kimeongezwa (!99). Hii inaitwa leetspeak.

Dhidi ya shambulio la kamusi, nenosiri hili linadumu chini ya sekunde moja, si siku 24 ambazo urefu wake ungeashiria. Programu za kisasa za kuvunja (kama Hashcat) haziridhiki na kujaribu orodha tuli za maneno; hutumia moja kwa moja kanuni za mabadiliko (mutation rules). Watachukua kila neno katika kamusi yao, watajaribu michanganyiko yote inayowezekana ya leetspeak, kubadilisha herufi kubwa, na kuongeza miaka au alama. Leetspeak hutoa hisia ya uongo ya usalama.

Mbinu ya Kubadilisha Kibodi (Keyboard Shift)

Ili kutatiza msemo unaokumbukwa, wengine hutumia mbinu ya kubadilisha muundo wa kibodi. Kwa mfano, unakariri kifungu cha maneno kama my-cat. Lakini wakati wa kuiandika, unaweka vidole vyako kwenye kibodi halisi ya QWERTY wakati mfumo wako wa uendeshaji umesanidiwa kuwa AZERTY (Kifaransa).

  • Neno linalokusudiwa: my-cat
  • Matokeo yaliyoandikwa: ,y)cqt (Ufunguo wa ’m’ unakuwa ‘,’; ‘-’ inakuwa ‘)’; ‘a’ inakuwa ‘q’).

Je, hili ni wazo zuri katika OPSEC? Hapana, njia hii haitoshi ikiwa inatumiwa peke yake. Kama leetspeak, kubadilisha mpangilio wa kibodi ni ubadilishaji usiobadilika: mshambuliaji anayeushuku anatumia ubadilishaji huo huo kwa kila jaribio. Katika OPSEC, huu ni usalama kupitia kutoeleweka vizuri (security by obscurity): unachelewesha mshambuliaji ambaye si mtaalamu, lakini hautazuia shambulio lililolengwa na lenye vifaa.

Ikiunganishwa na nenosiri ambalo tayari lina nguvu (kama nenosiri-fungu refu la nasibu), inaongeza kidogo tu. Hata kama mshambuliaji atajaribu jozi elfu moja za mipangilio, hiyo inaongeza chini ya bits 10, kwa sababu log2(1,000) ≈ 9.97. Nguvu bado inatoka kwenye nenosiri-fungu lililo chini yake.

Kujenga Nenosiri Kuu (~250 bits)

Ikiwa orodha za maneno, leetspeak na hila za kuchapa zina mipaka yake, tunaundaje nenosiri kuu linalodumu? Jenereta yetu tayari inakadiria bits 80 kuwa “Imara” na bits 100 kuwa “Imara Sana”. Kwa nenosiri kuu linalokusudiwa kudumu kwa miongo kadhaa, makala hii inalenga juu zaidi sana: karibu bits 250 za entropia. Sehemu ya quantum hapa chini inaeleza kwa nini, na kile ambacho nafasi hiyo ya ziada haitoi.

Kuna njia mbili za kufikia hili kulingana na mahitaji yako:

1. Herufi za Nasibu (kwa kidhibiti nenosiri)

Mfuatano wa herufi uliotolewa kwa nasibu kabisa, bila muundo wowote ambao mashine inaweza kuutumia: 8}8,_$-p)M&n,XvUCT0o+.5hDE6P^w6b@U-evS0 Herufi 39 zilizochaguliwa kwa nasibu kutoka herufi 91 za jenereta yetu: jenereta inaonyesha “≈ Biti 253”. Nenosiri hili lilichaguliwa kwa ajili ya makala hii, kwa hiyo sasa ni la umma. Usilitumie kamwe.

2. Nenosiri-Fungu la Nasibu (kwa nenosiri unalokariri)

Maneno ya nasibu ni rahisi kukumbuka kuliko herufi za nasibu. Kila neno linalochaguliwa kutoka orodha ya EFF ya maneno 7,776 linaongeza karibu bits 12.9, kwa hiyo idadi ya maneno ndiyo inayotoa entropia. Maneno 12 yanatoa “≈ Biti 155”, juu sana ya kiwango cha “Imara Sana” cha jenereta yetu. Maneno matupu yanapita bits 250 tu yakiwa maneno 20.

Jenereta yetu inaishia kwenye maneno 12. Ili kupita bits 250 kwa maneno machache zaidi, weka alama kwenye “Namba ya kubahatisha baada ya kila neno” na uchague “Namba + Alama” kama kitenganishi. Maneno 11 basi yanatoa “≈ Biti 260”: depletion78$sporting14~overlap11>macaw86>paced95,paramedic41}blot41$flagstone07;uncanny92/broadways77#say2 Imechaguliwa kwa nasibu kwa ajili ya makala hii, kwa mipangilio hiyo hasa. Nenosiri lililochapishwa ni nenosiri lililoungua: usitumie kamwe hili, wala mfano wowote unaousoma. Kinachohesabika ni kile tu kilichochaguliwa kwa nasibu. Kuanza kila neno kwa herufi kubwa hakuongezi chochote, na maneno unayojichagulia mwenyewe ni dhaifu zaidi sana kuliko yale ya nasibu.

Tishio la Quantum: Algorithm ya Grover

Kwa nini kulenga bits 250 wakati bits 128 tayari zinazuia kompyuta kuu za leo? Jibu liko katika matarajio ya kompyuta kubwa za quantum.

Katika kriptografia, algorithm ya Grover inaruhusu kompyuta ya quantum kutafuta hifadhidata ambayo haijapangwa kwa haraka zaidi kuliko kompyuta ya kawaida. Kwa kweli, Grover hupunguza kwa nusu kiwango cha ufanisi cha usalama cha ufunguo wa ulinganifu (symmetric key) au nenosiri.

Dhidi ya kompyuta ya quantum inayoendesha algorithm ya Grover, nenosiri lenye entropia ya bits 128 lingetoa, kwa nadharia, upinzani sawa na bits 64 tu. Hiyo ni nafasi ya ziada finyu zaidi kwa kiasi kikubwa.

Kuongeza entropia mara mbili kunadumisha nafasi hiyo ya ziada: karibu bits 256 bado zingebakiza karibu bits 128 dhidi ya Grover. Hapo ndipo lengo la makala hii la bits 250 linapotoka. Ni tahadhari ambayo makala hii inachagua, si takwimu iliyochukuliwa kutoka kwa kiwango chochote.

Nafasi hiyo ya ziada ina mipaka. Kuongeza kasi kwa Grover ni kwa kipeo cha pili (quadratic), si bila kikomo. Kila hatua yake bado lazima ikokotoe hash ya nenosiri ya tovuti, kwenye kompyuta ya quantum kubwa ya kutosha kuiendesha. Kwa kulinganisha, kwa majaribio bilioni 100 kwa sekunde ambayo ukurasa wa jenereta yetu unachukulia, utafutaji wa wastani wa bits 100 tayari unachukua angalau miaka bilioni 200.

Mantiki hii inafanana na Harvest Now, Decrypt Later (HNDL): hifadhidata iliyoibiwa ya hash za manenosiri inaweza kuhifadhiwa leo na kushambuliwa baadaye, kwa mashine bora zaidi. Nafasi kubwa zaidi ya ziada inainua kiwango dhidi ya hilo. Si dhamana ya kudumu.

Arpokrat Password Generator: Tengeneza Lako Mwenyewe

Usiache usalama wa ufikiaji wako kwa bahati nasibu. Jenereta yetu ya bure hutengeneza manenosiri na nenosiri-fungu za nasibu. Kwa kila moja, inaonyesha entropia kwa biti na muda wa wastani ambao utafutaji ungechukua.

Inazalisha tu: haikadirii nenosiri unalotumia tayari. Kwa lengo la bits 250 lililotajwa hapo juu, chagua nenosiri la herufi 39 lenye makundi yote manne ya herufi. Jenereta inalionyesha kama “≈ Biti 253”.

👉 Arpokrat Password Generator

Inafanya kazi ndani ya kivinjari chako. Kile inachozalisha hakitumwi wala kuhifadhiwa kamwe.

Kiungo cha Mwisho Dhaifu: Usafishaji na Usimamizi wa Ufikiaji

Entropia ya kihesabu hailindi dhidi ya makosa ya binadamu. Nenosiri la 250-bit linapoteza thamani yake pindi linapovuja, ikiwa linatumiwa tena kwenye tovuti nyingi (shambulio linaloitwa Credential Stuffing) au ikiwa halijalindwa na sababu ya pili ya uthibitishaji (2FA).

Kanuni ya dhahabu ya usafi wa kidijitali ni kulazimika kukumbuka nenosiri moja tu: nenosiri lako kuu la 250-bit (nenosiri-fungu la nasibu, kama hapo juu). Ufikiaji wako mwingine wote (benki, mitandao ya kijamii, seva) lazima utumie manenosiri ya kipekee ya nasibu, yanayozalishwa maalum kwa ajili yao.

Ili kuhifadhi manenosiri haya yote ambayo huwezi kuyakumbuka, tumia kidhibiti cha manenosiri. Chagua kile kinachosimba hifadhi yako kwenye kifaa chako kabla ya kuisawazisha (mara nyingi huitwa zero-knowledge), ikiwezekana kile chenye chanzo huria na kinachokaguliwa kwa uhuru.