Olùṣàyẹ̀wò Agbára Ọ̀rọ̀-Ìgbaniwọlé Ọ̀fẹ́

Ṣàyẹ̀wò bí ọ̀rọ̀-ìgbaniwọlé rẹ ti lágbára tó pẹ̀lú ìtúpalẹ̀ entropy, àkókò ìwàráàyà tí a ṣírò, àti àkọsílẹ̀-ìṣàyẹ̀wò kíkún ti àwọn ohun tí a béèrè. Ó ń ṣiṣẹ́ pátápátá nínú ẹ̀rọ àwárí rẹ.

Ìṣàyẹ̀wò agbára ń ṣiṣẹ́ lórí ẹ̀rọ rẹ nìkan. Ìṣàyẹ̀wò ìjàǹbá tí kò pọndandan tó wà ní ìsàlẹ̀ ń fi àmì márùn-ún àkọ́kọ́ ti SHA-1 hash (kì í ṣe ọ̀rọ̀ìgbaniwọlé fúnra rẹ̀) ránṣẹ́ sí pwnedpasswords.com.

Ìṣírò àfojúdi nìkan. Ìdíwọ̀n náà jẹ́ àfojúsùn tí ó dá lórí ìṣètò àti àtòjọ ọ̀rọ̀ìgbaniwọlé tó wọ́pọ̀. Fún àwọn ọ̀rọ̀ìgbaniwọlé tó ti jò, ìṣàyẹ̀wò ìjàǹbá tó wà ní ìsàlẹ̀ ni ìdánwò tó ṣeé gbẹ́kẹ̀lé jù.

Bí Ó Ṣe Ń Ṣiṣẹ́

Ìtúpalẹ̀ agbára ń ṣiṣẹ́ pátápátá nínú aṣàwákiri rẹ pẹ̀lú ẹ́ńjìnnì JavaScript tí a fi ọwọ́ kọ — kò sí ìwé-ìṣirò, kò sí sáfà. Ó ń so ìṣírò entropy ìpapọ̀-àmì, ìdámọ̀ àwòṣe (àwọn ìṣàn kọ́kọ́rọ́ ẹ̀rọ ìtẹ̀wé, àwọn àmì tí a tún ṣe, àwọn ìdípò wọ́pọ̀), àti wíwádìí ìjì-àsírí yíyàn tí ó ń lo API Web Crypto àti k-anonymity nítorí náà ọ̀rọ̀-ìgbaniwọlé rẹ kì í kúrò lára ẹ̀rọ rẹ láé.

  1. 1
    A ṣírò entropy ìpapọ̀
    Bí o ṣe ń kọ, irinṣẹ́ náà ń wọn irú àmì tí ó wà — kékeré (26), ńlá (26), nọ́mbà (10), àmì (32) — ó ń pọ̀sí ìwọ̀n ìpapọ̀ àpapọ̀ pẹ̀lú log2 láti rí bit entropy fún àmì kọ̀ọ̀kan, kí ó sì pọ̀sí i pẹ̀lú gígùn ọ̀rọ̀-ìgbaniwọlé. Ọ̀rọ̀-ìgbaniwọlé kékeré-gbogbo àmì 10 kan ń bẹ̀rẹ̀ ní ìwọ̀n bit 47.
  2. 2
    Àwọn ìjìyà àwòṣe ni a fi sílo
    A sì ń dín entropy gan-an náà kù fún ìtòlẹ́sẹẹsẹ tí a lè sọ tẹ́lẹ̀: àwọn ìṣàn kọ́kọ́rọ́ ẹ̀rọ ìtẹ̀wé bí 'qwe' tàbí 'asd', àwọn ìṣàn ìtòlẹ́sẹẹsẹ bí 'abc' tàbí '321', àwọn ọdún àmì-mẹ́rin (1900–2099), àti àwọn ìṣàn àmì tí a tún ṣe ọ̀kọ̀ọ̀kan ń jẹ owó bit 10. Irinṣẹ́ náà tún ń yí àwọn ìdípò l33t wọ́pọ̀ padà (@ → a, 0 → o, $ → s) tí ó sì ń yọ àwọn nọ́mbà ìparí kúrò láti mú 'P@ssw0rd1' gẹ́gẹ́ bí ọ̀rọ̀-ìgbaniwọlé wọ́pọ̀-tí-a-mọ̀ 'password' tí ó jẹ́ gan-an.
  3. 3
    A fi àmì àti àkókò-fífọ́ sílo
    Entropy tí a ti ṣàtúnṣe àti àtòjọ-ìṣàyẹ̀wò mẹ́sàán-án (gígùn, irú àmì, kò sí àwọn ìṣàn tí a tún ṣe, kì í ṣe ọ̀rọ̀-ìgbaniwọlé wọ́pọ̀-tí-a-mọ̀) papọ̀ ń pinnu àmì kan láti Rẹ̀wẹ̀sì Gan-an sí Líle. A ń ṣírò àkókò-fífọ́ ní lílo bílíọ̀nù 10 ìdábàá fún ìṣẹ́jú-aaya — nọ́mbà tí ó wọ́pọ̀ ti àwọn ìkọlù GPU tí kò sórí ayélujára — tí a ṣírò gẹ́gẹ́ bí 2^entropy / 10,000,000,000.
  4. 4
    Ìṣàyẹ̀wò fífọ́ yíyàn nípasẹ̀ k-anonymity
    Bí o bá tẹ 'Ṣàyẹ̀wò lòdì sí àwọn fífọ́ tí a mọ̀', API Web Crypto ń fi SHA-1 kó ọ̀rọ̀-ìgbaniwọlé rẹ ládùúgbò nínú aṣàwákiri. Àmì hex márùn-ún àkọ́kọ́ nìkan ti hash yẹn ni a fi ránṣẹ́ sí API àyè Have I Been Pwned; a ń bá ìparí náà mu ní ẹgbẹ́-oníbàárà. Hash pípé náà — àti ọ̀rọ̀-ìgbaniwọlé fúnrarẹ̀ — kì í kúrò lára ẹ̀rọ rẹ láé.

A kì í fi ọ̀rọ̀-ìgbaniwọlé rẹ ránṣẹ́ síbikíbi láé — gbogbo ìtúpalẹ̀ agbára ń ṣiṣẹ́ ládùúgbò nínú JavaScript, ìṣàyẹ̀wò fífọ́ yíyàn sì ń lo k-anonymity (àmì hash àyọkà márùn-ún nìkan ni a fi ránṣẹ́ sí API Have I Been Pwned, tí ó ń mú kí ó ṣòro ní ìmọ̀-ẹ̀rọ fún iṣẹ́ yẹn láti tún ọ̀rọ̀-ìgbaniwọlé rẹ kọ́).

Àwọn Irinṣẹ Tó Jọra

Àwọn Ìbéèrè Tí A Máa Ń Béèrè