Spørsmål:
tid til å knekke filkrypteringspassordet - mer enn bare iterasjon
wayne_h
2011-05-02 20:59:54 UTC
view on stackexchange narkive permalink

Jeg har ofte sett det tar x tid å knekke et passord med en viss lengde. Men dette ser ut til å være hvor lang tid det tar å gjenta gjennom alle mulighetene. Hva med tiden det tar å sjekke hver iterasjon for å se om den fungerer? Ville ikke det få prosessen til å ta lengre tid?

Jeg er mest interessert i en situasjon der det er en fil som antas å være kryptert, men etter en ukjent metode. (Ikke så mye interessert i påloggings på nettet). Hva er prosedyren for å prøve milliarder passord på denne filen, og hvordan vil det påvirke den totale tiden for dekryptering?

Når det gjelder redigering: mener du noe kryptoanalyse? Du sier * fil som antas å være kryptert * - en slags steganografi eller ukjent kryptering? Dette vil gå ut på en tangens til det opprinnelige spørsmålet.
Hvis du leter etter tidsverdien som blir tildelt per passordforsøk, kan du ikke bare gjøre matematikken fra "x mengden tid" du får (som skal redusere ned til forsøk per sekund)? Husk også at dette er avhengig av maskinen som prosessen den finner sted på.
Tre svar:
Thomas Pornin
2011-05-02 23:13:01 UTC
view on stackexchange narkive permalink

Å telle gjennom alle mulige passord, og ha hvert i minnet på et tidspunkt, er en ekstremt rask prosess. Man kan anta at en enkel PC vil være i stand til å bygge et slikt passord per klokkesyklus og per CPU-kjerne. Så PCen vil telle opp milliarder passord per sekund. Hvis tallene du ser er vesentlig mindre enn det, inkluderer de også passordbekreftelseskostnaden.

Passordbekreftelseskostnaden er svært variabel. Normalt lagrer systemet som vil bekrefte passord saltede hashpassord . Hvis hash-funksjonen er SHA-1, vil en Intel Core2 x86-prosessor, som kjører på 2,4 GHz, kunne prøve omtrent 12 millioner passord per sekund (og per kjerne): dette er hva hastighet som prosessoren vil kunne bruke hash-funksjonen på hvert passord (passordopptellingen i seg selv er mindre enn 1% av den kostnaden). PC-en min er en firekjerne, så det er 48 millioner per sekund. Jeg har også et ikke så ille Nvidia-grafikkort som kan gjøre passordhashing, faktisk 160 millioner per sekund med en enkel rå SHA-1. I den hastigheten blir alle passordene på 8 tegn (med store og små bokstaver og sifre) sjekket inn omtrent fjorten dager.

Gode ordninger for lagring av passord bruker itererte eller sammenkoblede hashes, der passordet er hashed tusenvis ganger: Dette gjør bekreftelse av passord tusenvis av ganger langsommere, noe som ikke innebærer en merkbar nedgang, men gjør oppgaven mye vanskeligere (nemlig tusenvis av ganger mye vanskeligere) for angriperen.

Karol J. Piczak
2011-05-02 22:03:58 UTC
view on stackexchange narkive permalink

Ja, det er også en viktig faktor . Å gjøre det til ressurskrevende å kontrollere passordets korrekthet er i det minste en måte å gjøre det vanskeligere for angriperen . Det er akkurat det KeePass prøver å beskytte mot ordbokangrep.

Men problemet er, basert bare på dette tiltaket, regner du med det faktum at angriperen ikke bare bytter til en mye raskere datamaskin / sprekkemaskin.

Det kan virkelig hjelpe, men hvis du kan tvinge noen eksterne grenser til denne prosessen. Faktisk er en hastighetsbegrensning av passordkontrollene dine en god løsning hvis det er aktuelt - normalt får du tre forsøk på å "gjette" passordet til bankkontoen, og du er låst i en periode eller på ubestemt tid. Prøv å tvinge dette.

nealmcb
2011-05-03 00:08:37 UTC
view on stackexchange narkive permalink

Hvis jeg får riktig spørsmål, handler det om å tvinge et passord som brukes til filkryptering, snarere enn å knekke et passord i en standard samling med hashed-passord. Og du vet kanskje ikke engang formatet på den krypterte filen.

Det er således relatert til begrepet Unicity distance - Wikipedia, og nært knyttet til det forrige spørsmålet her Hvis noen bryter kryptering, hvordan vet de at de lykkes? - IT-sikkerhet.

Jeg mistenker at tiden som trengs for å verifisere suksessen til et gitt passord, vanligvis er veldig rask for de fleste filer med vanlige dataformater. Men i den andre enden av spekteret, hvis filen er nøye valgt for å se veldig tilfeldig ut (f.eks. Høyt komprimert og fjernet de typiske overskriftene og metadataene), kan det faktisk være vilkårlig vanskelig å verifisere hvert passord.

ja det er mer relevant for spørsmålet mitt.
ja det er mer det jeg spurte om. For å være mer presis siteres det ofte at en bestemt prosessor til slutt kan gjenta gjennom alle mulige kombinasjoner av et bestemt passord. Er det imidlertid riktig at dette bare vil være en brøkdel av tiden det tar å prøve alle disse passordene mot filen?
@wayne_h Dette avhenger av den underliggende filen. En smart person kan få det samlede angrepet til å ta veldig lang tid, men å knekke kryptering på typiske filer vil være veldig rask.


Denne spørsmålet ble automatisk oversatt fra engelsk.Det opprinnelige innholdet er tilgjengelig på stackexchange, som vi takker for cc by-sa 3.0-lisensen den distribueres under.
Loading...