Puncte:1

dacă introduc o parolă care este incorectă, dar care se ciocnește de una atunci când este indexată, mă va lăsa să intru?

drapel cz

Să presupunem că nu se folosește sare sau piper și parolele sunt împărțite simplu, introducerea unei parole incorecte care doar hashuri mă va permite să intru? Știu că o utilizare a tehnicilor de sărare/piperare este, pe lângă faptul că forța brută consumă mai mult timp, să împiedice un hash să compromită toți utilizatorii care folosesc aceeași trecere.dar cum funcționează pentru a împiedica folosirea interschimbabilă a parolelor care se ciocnesc? cu alte cuvinte, sunt aceste tehnici motivul pentru care trecerea incorectă nu vă va lăsa să intrați sau oricum nu funcționează?

kelalaka avatar
drapel in
Nu este chiar o coliziune, ați găsit o altă imagine prealabilă pentru hash-ul parolei curente, care este doar diferită de cea actuală.
user2357 avatar
drapel us
În mod normal, rezumatul este mult mai lung decât parolele permise, ceea ce înseamnă că este mult mai probabil să atingeți parola corectă decât să aveți o a doua imagine prealabilă
Puncte:4
drapel si

Da, ar fi, dar (pentru orice funcție de hashing a parolei decentă) este practic imposibil să găsiți o astfel de coliziune.

Funcțiile hash parolei sunt funcții hash criptografice cu unele proprietăți suplimentare.

Funcțiile de hashing criptografic au o singură intrare și sunt rezistente la coliziuni, preimagine și a doua preimagine.

Rezistența la coliziune înseamnă că este imposibil să găsiți două intrări diferite care au ca rezultat aceeași ieșire. i.e. este imposibil să găsești vreo pereche de mesaje $m \neq m'$ astfel încât $H(m)=H(m')$.

Rezistența înainte de imagine înseamnă că este imposibil să găsești orice intrare care se trimite la o ieșire prespecificată. i.e. dat orice ieșire $y$, este greu să găsești un mesaj $m$ astfel încât $H(m)=y$.

Rezistența la a doua preimagine înseamnă că este imposibil să găsiți o a doua intrare care să aibă aceeași ieșire ca o intrare specificată. i.e. dat un mesaj $m$, este imposibil să găsiți un alt mesaj $m' \neq m$ astfel încât $H(m)=H(m')$.

Funcțiile de hașare a parolei au (cel puțin) trei intrări, parola, sare și parametrii de dificultate. Ele pot avea, de asemenea, un fel de intrare de separare a domeniilor, dacă sunt destinate să fie utilizate ca funcții de derivare a cheilor. Parametrii de dificultate permit programatorului să mărească puterea de calcul necesară pentru a rula funcția, ceea ce încetinește unele atacuri.Sarea asigură că utilizatorii diferiți cu aceeași parolă vor primi hashuri diferite, astfel încât un atacator care obține acces la o bază de date de hashuri nu poate spune care utilizatori împărtășesc o parolă. Sarea previne, de asemenea, câteva atacuri mai complexe, cum ar fi utilizarea Rainbow Tables.

Funcțiile de hașare a parolelor respectă în continuare toate proprietățile funcțiilor de hash criptografic, așa că este imposibil să găsești o a doua preimagine a unei anumite parole sau chiar să găsești două parole cu același hash.

kelalaka avatar
drapel in
Coliziunea este irelevantă în hashingul parolei, OP-ul găsește mai degrabă o altă imagine prealabilă pentru parolă.
drapel cn
Btw PBKDF2-HMAC-SHA256 nu îndeplinește criteriul dvs. „la jumătate decent”. Dar, din moment ce coliziunile și chiar a doua imagini prealabile sunt irelevante, aceasta nu este o practică mare.
Puncte:1
drapel kz

Te va lăsa să intri? Bănuiesc că da. În calitate de dezvoltator de software, sunt destul de sigur că acest lucru nu s-a întâmplat niciodată, așa că situația este netestată, deci nu se știe. (Ca dezvoltator de software, puteți modifica funcția hash, astfel încât să trimită orice care conține șirul „smith” la numărul 0 și să vedeți ce se întâmplă.)

Dar nu se va întâmpla. Spune că există $2^{64}$ parole posibile și $2^{256}$ posibile hasheuri. Dacă ghiciți o parolă și are hash-ul potrivit, atunci probabilitatea este $1 - 2^{-192}$ că de fapt ai ghicit parola corectă.

Puncte:0
drapel in

În termeni simpli, un algoritm de hashing a parolei $pH$ ia o sare $sare$ și a introdus parola $pwd$ si calculeaza $h' = pH(sare,pwd)$ si verifica $h$ cu hash-ul parolei curente stocate $h$, $h \overset{?}{=} h'$.

Îmi va permite introducerea unei parole incorecte care doar hash la aceeași?

Dacă introduceți o parolă arbitrară, poate avea o modificare neglijabilă pentru a avea același hash de parolă cu sare. Dacă se întâmplă acest lucru, acesta este valid și puteți intra în sistem.

Nu o voi numi o parolă incorectă, mai degrabă numesc o altă imagine prealabilă pentru $h$. În afară de forța brută (și mesele curcubeu unde sarea împiedică acest lucru), acesta este atacul care trebuie să fie efectuat de atacatori. Acest atac este de fapt un atac pre-imagine;

  • Dată o valoare hash $h$ găsiți și introduceți astfel $m$ acea $h = hash(m)$. Costul generic al acestui atac este $\mathcal{O}(2^n)$ pentru $n$-funcții hash de biți (funcții de hash de tip passord sau hash criptografic)

Cel mai slab punct al spargerii parolelor este factorul uman. Oamenii tind să aibă parole slabe iar în prezent una dintre metodele bune este zaruri. Utilizați dicewire pentru a vă genera parola sau, mai bine, utilizați un manager de parole în care acestea generează parole cu adevărat aleatorii și vă păstrați baza de date a parolelor cu parola puternică generată de dicewire.

dar cum funcționează pentru a împiedica folosirea interschimbabilă a parolelor care se ciocnesc?

Nu o poți preveni, există prin principiul porumbeilor. Mai degrabă, algoritmul de hashing al parolei este sigur împotriva lui, chiar dacă ați folosit pur și simplu MD5. MD5 este încă securizat împotriva atacurilor pre-imagine, veți avea o rezistență pre-imagine de ~128 de biți. Desigur, trebuie să folosiți algoritmi de hashing moderni, cum ar fi Argon2.

cu alte cuvinte, sunt aceste tehnici motivul pentru care trecerea incorectă nu vă va lăsa să intrați sau oricum nu funcționează?

Așa funcționează, va funcționa întotdeauna. Rețineți că, veți avea o probabilitate de $\dfrac{1}{2^{128}}$ pentru o singură parolă aleatorie care se potrivește cu hash-ul parolei dvs. (presupunând o ieșire pe 128 de biți). Dacă probabilitatea unui eveniment este $\geq \dfrac{1}{2^{100}}$ pur și simplu spunem asta nu-se-va-întâmpla.

Chiar dacă vă temeți de acest lucru, utilizați sisteme de autentificare cu doi factori și, de fapt, ar trebui să le folosiți ori de câte ori este posibil.


O notă laterală: găsirea unei coliziuni este irelevantă în hashingul parolei în ceea ce privește atacul de coliziune, unde trebuie să găsiți doar două intrări arbitrare $a$ și $b$ astfel încât $hash(a) = hash(b)$. În hashingul parolei, atacatorul are hash-ul și încearcă să găsească unul care să producă același hash,

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.