Gå til innhold

Anbefalte innlegg

Jeg leser stadig vekk at MD5 er udekrypterbar.. det går ikke an å dekryptere det. Men det skal jo i teorien gå an hvis man prøver seg fram og krypterer j**** mange tekst- snutter?

 

Enda en ting.. .htaccess bruker en slags kryptering, (vet ikke hva den heter). Men når jeg lager et passord til systemet kan jeg få ut veldig mange forksjellige kombinasjoner.

 

eks.: Jeg lager passordet 'Google' mange ganger og får ut forksjellige krypterte passord hver gang!

 

36ZOCJNthI8uY

47NMwdzUxBidQ

97crVlMPZO/6g

58.vsZUqAHDlc

osv.

osv.

 

Hvordan skal serveren klare å verifisere passordet mitt da ? :ermm:

Lenke til kommentar
Videoannonse
Annonse

De to første tegnene (et annet antall kan selvsagt brukes) er noe man kaller salt. Når du hasher et passord genereres en tilfeldig salt. Denne legges til passordet før strengen hashes og lagres i klartekst ved siden av hashen. Effekten av salt er at to passord hasher ikke er like selv om passordet i klartekst kanskje er likt. Således kan ikke for eksempel en bruker kikke i passwd filen (eventuelt shadow) og se på hashen at han og Gunnar har det samme passordet.

 

Forklaring nok?

Endret av ketilkn
Lenke til kommentar
Jeg leser stadig vekk at MD5 er udekrypterbar.. det går ikke an å dekryptere det.  Men det skal jo i teorien gå an hvis man prøver seg fram og krypterer j**** mange tekst- snutter?

Selvsagt kan man ha en stor tekstfil med hasher og klartekstversjoner av disse. Denne typen tekstfiler kan enkelt lages med en elektronisk ordbok, og md5 programmet. Grunnen til at du ikke skal bruke enkle ord i passordene er for at ditt passord ikke skal forekomme i denne typen tekstfiler.

 

Se forøvrig om salt i posten over.

Endret av ketilkn
Lenke til kommentar
De to første tegnene (et annet antall kan selvsagt brukes) er noe man kaller salt. Når du hasher et passord genereres en tilfeldig salt. Denne legges til passordet før strengen hashes og lagres i klartekst ved siden av hashen. Effekten av salt er at to passord hasher ikke er like selv om passordet i klartekst kanskje er likt. Således kan ikke for eksempel en bruker kikke i passwd filen (eventuelt shadow) og se på hashen at han og Gunnar har det samme passordet.

 

Forklaring nok?

nja.. egentlig ikke :ermm:

 

Er ganske grønn når det gjelder slikt.. :blush:

 

Skjønte litt mer, men jeg skjønner ennå ikke hvordan serveren skal verifisere et passord, når det fins j***** mange forskjellige "hash"-ede strenger av det passordet ... :(

 

er det slik at f.eks: '36ZOCJNthI8uY' kan "oversettes" med mange forskjellige passord? Dette må da være veldig usikkert?

Endret av no_remorse
Lenke til kommentar
nei, for saltet foran bestemmer hvordan det etter skal dekrypteres,

slik at passorda i seg selv ikke skal gi noen logikk på hvordan passordet skal dekrypteres.

Hele poenget med en hash (som md5) er at den ikke kan dekrypteres. Den finnes ingen kjente måter å finne ut (dekryptere) originalstrengen ved analysere md5-strengen.

 

Eksempel med bruk av md5 som passord for autentisering av brukere:

 

Brukeren velger et passord. md5-strengen til dette passordet lagres i systemets passordfil. Når brukeren så skal logge inn lager datamaskinen md5 av strengen brukeren taster inn. Dersom denne strengen er lik md5 strengen som er lagret i passordfilen godkjennes brukeren for innlogging. Taster brukeren feil, foreksempel stemmer ikke md5-strengene med hverandre og brukeren avvises.

Lenke til kommentar
Skjønte litt mer, men jeg skjønner ennå ikke hvordan serveren skal verifisere et passord, når det fins j***** mange forskjellige "hash"-ede strenger av det passordet ...  :(

Bruker du Mac os x, GNU/Linux eller en annen unix variant kan du teste eksemplet under.

 

Jeg velger å bruke hashfunksjonen crypt. Litt klarere output. Prinsippet er det samme. Apache bruker crypt om jeg ikke tar helt feil.

 

$ openssl passwd -crypt -salt xy Google
gir output: xy.ACvt/HOsoA

Lager crypt av "Google" med salt xy. Som du ser lagres salt som klartekst. I tillegg legges salt sammen med Google når passordets hash skal bergnes. Tenk at man lager crypt av strengen xyGoogle i stedet for Google. (Forenkling. Det er ikke helt sånn det virker).

 

openssl passwd -crypt -salt zz Google
gir outout: zzSI8OCFR5NDk

Som du ser gir crypt av google med zz som salt et helt ulikt resultat. Men siden salt lagres i klartekst i tillegg til å være med i hash kan serveren lett gjennskape hash på riktig måte. Når brukeren oppgir passordet Google legger serveren til salt som er lagret i passordfilen før det hashes.

 

Bare spør hvis det fortsatt er uklart.

Endret av ketilkn
Lenke til kommentar
36ZOCJNthI8uY

47NMwdzUxBidQ

97crVlMPZO/6g

58.vsZUqAHDlc

Hvordan skal serveren klare å verifisere passordet mitt da ?  :ermm:

Det to første tegnene i disse hasher er salt.

 

Jeg reptererer eksemplet mitt:

 

openssl passwd -crypt -salt 36 google

output: 36ZOCJNthI8uY

 

openssl passwd -crypt -salt 47 google

output: 47NMwdzUxBidQ

Lenke til kommentar
Hele poenget med en hash (som md5) er at den ikke kan dekrypteres. Den finnes ingen kjente måter å finne ut (dekryptere) originalstrengen ved analysere md5-strengen.

Men det skal i teorien gå an ?

 

Mener da det må gå an å finne orginalen(passordet i klartekst), når man har en kryptert versjon av det og metoden som ble brukt til å kryptere ?

Endret av no_remorse
Lenke til kommentar
Men det skal i teorien gå an ?

 

Mener da det må gå an å finne orginalen(passordet i klartekst), når man har en kryptert versjon av det og metoden som ble brukt til å kryptere ?

Som sagt finnes det ingen teori som beskriver hvordan man dekrypterer en enveis hash funksjon. Det eneste mulige er et såkalt brute force angrep som går på at man tester alle tenkelige kombinasjoner.

 

For å være 100% sikker på at man knekker en ren md5 med brute force kreves det 340,282,366,920,938,463,463,374,607,431,768,211,456 forsøk. Dette er et langt tall. For å ha en 50% sjanse for å knekke en ren md5 må man undersøke 170141183460469231731687303715884105728 kombinasjoner.

 

En datamaskin som klarer 1.000.000.000 (en milliard) md5 konverteringer i sekundet vil bruke omtrent 10768429332941090615929576184549 år på denne oppgaven. Dette er mange mange ganger lengre tid enn det har gått siden det såkalte "Big Bang".

 

Når det gjelder passord kan man begrense et brute force angrep mye, men det er uansett snakk om år for å knekke hashen til et passord man ikke kan finne i en ordbok. Innen den tid bør du uansett bytte passord. Nytt passord en gang i måneden, og du er usårbar mot angrep på din md5 hash.

 

Heng opp en lapp på samvirklaget om du vil, eller send den til epost til alle du kjenner. En md5 er i utgangspunktet å anse som trygg.

 

Crypt, som apache benytter er noe enklere å knekke.

Lenke til kommentar
For å være 100% sikker på at man knekker en ren md5 med brute force kreves det 340,282,366,920,938,463,463,374,607,431,768,211,456 forsøk

 

Såpass ja :D

 

Men finnes det noen nøyaktig gjennomgang / utgreiing om hvordan MD5 hashing foregår ?

 

*nysgjerrig*

Endret av no_remorse
Lenke til kommentar

Hehe.. ble så inspirert av disse krypteringsgreiene at jeg lagde min egen.. (har lagd to nå..)

 

de er ikke veldig elegante, men tror de funker :D

 

Dette var jo dritartig ! :yes:

 

edit: ..eller; vet ikke om det kan kalles kryptering, men det er iallfall en helt annen måte å vise data på.. :ermm:

Endret av no_remorse
Lenke til kommentar

er det noen som klarer å dekryptere dette??

 

det kommer fra et krypteringsprogram jeg laga selv, beskjeden er ganske enkel........

 

8b/+li+øla+lø/l+ø/l+ø/l+b/l+k/l/ø+nl/ø+l//k^+l/bø+/æølk*/lø/l/k*/l/jh*/økøl//l/j*/j/k/l/k/ø/nlk/j/f/dh/fd/f/rgs//gh/lø/æp/¨æ

 

Sorry for Offtpic.

Endret av robgar
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...