Nenosiri la Nasibu Jenereta
Tengeneza manenosiri salama bila mpangilio papo hapo kwenye kivinjari chako. Geuza mapendeleo ya urefu na aina za wahusika - bila malipo, faragha, na hakuna data iliyotumwa kwa seva yoyote.
Tengeneza manenosiri salama bila mpangilio papo hapo kwenye kivinjari chako. Geuza mapendeleo ya urefu na aina za wahusika - bila malipo, faragha, na hakuna data iliyotumwa kwa seva yoyote.
Jenereta ya nenosiri nasibu hutoa mifuatano iliyoundwa ili kupinga kubahatisha na mashambulizi ya nguvu ya kinyama. Uthabiti wa nenosiri linalozalishwa hutegemea urefu wake na alfabeti (seti ya herufi zinazowezekana) inayotumiwa: herufi 12 kutoka kwa herufi 94 (herufi kubwa + ndogo + tarakimu + alama) hutoa takriban biti 79 za entropy, zinazochukuliwa kuwa zenye nguvu kwa matumizi ya jumla. Nenosiri fupi au rahisi zaidi hutoa entropy kidogo na ni dhaifu dhidi ya maunzi ya kisasa ya uvamizi.
Kimsingi, jenereta hii hutumia vyanzo visivyo salama vya siri (window.crypto.getRandomValues), si Math.random rahisi zaidi ambayo haifai kwa madhumuni ya usalama. Matokeo yanafaa kwa matumizi halisi kama manenosiri ya akaunti, funguo za usimbaji fiche kwa matumizi ya kibinafsi, na muktadha mwingine wowote ambapo kutotabirika ni muhimu.
Vizazi vyote hufanyika kwenye kivinjari chako. Nenosiri kamwe halisafiri hadi kwa seva, halijaingia, na halihifadhiwi popote tunapoweza kufikia. Ili kutumia nenosiri lililotolewa, nakili moja kwa moja hadi unakoenda - kidhibiti cha nenosiri, fomu ya kuunda akaunti, au popote inapohitajika.
Wanadamu huchagua manenosiri yanayotabirika. Uchunguzi wa hifadhidata zilizokiukwa za nenosiri unaonyesha mara kwa mara kuwa mifumo sawa rahisi huonekana mara milioni: '123456', 'nenosiri', maneno ya kamusi yenye nambari iliyoambatishwa, majina ya wanyama vipenzi na wanafamilia. Manenosiri yaliyotengenezwa nasibu huepuka ruwaza hizi kabisa.
Kutumia tena nenosiri kwenye akaunti pia ni hatari kubwa. Wakati hifadhidata ya tovuti moja inavuja, kila akaunti nyingine inayotumia nenosiri sawa inaathirika. Nywila za kipekee za nasibu kwa kila akaunti, zilizohifadhiwa kwenye kidhibiti cha nenosiri, ondoa vekta hii ya shambulio. Jenereta hutoa nenosiri moja mpya la kipekee kwa wakati mmoja.
Weka urefu na seti ya tabia, toa.
window.crypto.getRandomValues hujaza safu iliyochapwa na baiti nasibu zilizo salama za kriptografia kutoka kwa chanzo salama bila mpangilio cha kivinjari. Kila herufi ya nenosiri huchaguliwa kwa kupanga baiti nasibu kwa alfabeti iliyochaguliwa, na sampuli za kukataliwa ili kuepuka upendeleo wa modulo.
Entropy: log2(alfabeti_size^urefu). Vibambo 12 kutoka kwa alfabeti ya herufi 94 = 12 × log2(94) ≈ biti 78.7. Vibambo 16 kutoka kwa alfabeti yenye herufi 62 (alphabeti na nambari pekee) ≈ biti 95.3. Entropy ya juu ni ngumu sana kulazimisha kwa nguvu.
Viwango vinavyotumika vya mashambulizi: GPU za kisasa hulipa takribani majaribio bilioni 100 ya bcrypt-cost-12 kwa sekunde kwenye kundi. Biti 78 za entropy = 2^78 ≈ 3 × 10^ watahiniwa 23. Nguvu isiyo na nguvu katika kiwango cha GPU ingechukua takriban miaka 10^14 - haiwezekani. Manenosiri ya chini kabisa huanguka katika safu zinazoweza kufikiwa kwa haraka.