ZoRaC Skrevet 12. januar 2005 Skrevet 12. januar 2005 (endret) Først et generelt spørsmål: Ser at det er 4 forskjellige typer krypterings metoder (crypt()). Alle 4 trenger et "salt" eller man kan la den generere selv. Hvordan kan man sjekke at et passord er korrekt når "salt" genereres automatisk? $password = "123456"; $crypt_pass = crypt($password); if ($crypt_pass == crypt($password) echo "OK"; Her vil jo det aldri bli "OK"...? Eller? Så et lite problem: Ønsker å bruke et skript til å oppdatere en .htpasswd-fil på en Windows-server. Hvis jeg bruker programmet til å genererer passordet "password" blir det slik: "$apr1$cM......$6yp3aUGze/kcfKwJqzILR/". Passordet "12345" blir: "$apr1$9P......$5pqZV4LWRXCouyFrOXOB1." Hvilken krypterings metode er det og hva bruker jeg som salt? Endret 12. januar 2005 av ZoRaC
EirikO Skrevet 12. januar 2005 Skrevet 12. januar 2005 $password = "123456"; $crypt_pass = md5($password); if ($crypt_pass == md5($password)) { echo "OK"; }
PoleCat Skrevet 12. januar 2005 Skrevet 12. januar 2005 (endret) Omgåelse av tre-ords-regelen. Les hva nettiketten sier om riktig bruk av emnefeltet. Prøv å beskrive problemstillingen så godt som mulig ut fra emnefeltet, ikke vær redd for å bruke alle de 40 tegnene. Stenges. ----- EDIT: Og trådstarter får en ny sjanse til å endre til en bedre emnetittel. Endret 12. januar 2005 av PoleCat
ZoRaC Skrevet 12. januar 2005 Forfatter Skrevet 12. januar 2005 PoleCat: Takk, visste ikke om noen slik regel jeg. Var ikke her før... Eirik0: Min host bruker ikke MD5 på .htpasswd...
RipZ- Skrevet 12. januar 2005 Skrevet 12. januar 2005 (endret) Husker jeg ikke helt feil, er det riktige for .htpasswd-filer å bruke de tre første bokstavene i passordet som salt. Man bruker funksjonen crypt() i PHP for dette. Edit: Det kan forresten variere mellom hvilke krypteringer det brukes. Dette er en innstilling i apache. Metoden jeg henviser til er default (altså ikke MD5). Endret 12. januar 2005 av RipZ-
ZoRaC Skrevet 12. januar 2005 Forfatter Skrevet 12. januar 2005 RipZ-: På min host med Standard DES bruker jeg "aa" som salt... Problemet er hvilket salt jeg skal bruke på eksemplet over...?
???????? Skrevet 13. januar 2005 Skrevet 13. januar 2005 Det er begrenset hvilken effekt det har å "salte" et passord før det krypteres. Hvis det er noen som hacker seg tilgang til databasen og henter alle passordene, så har det liten effekt å "salte" et passord. Etter å ha f.eks. brukt brute force for å løse to passord så ser de jo det, og kan lett bare legge det til automatisk - så forsvinner hele effekten. Eneste klare fordelen med å salte et passord er at stringen blir lengre, noe som gjør at det i de fleste brute force scripts vil ta lengre tid å finne. Grunnen til at du ønsker å "salte" passordet er antagligvis fordi det skal bli vanskligere å snu. Da er det ikke så effektivit å legge til "aa". Det du kan gjøre er å bruke f.eks. id feltet eller et dato felt. Regner med at du bruker en database, og da regner jeg også med at du minst har et id felt på brukerene og helst også et felt for dato de ble medlem. Du kan f.eks. gange id med dagen de ble medlem å bruke det tallet for å "salte" passordet. Eventuelt også legge til noen tegn for å øke lengden. Kanskje mer effektivt enn å salte passordet kan det være å endre på den krypterte stringen. Klipp bort de 5 første tegnene og lim de inn på slutten av stringen - eller lignende. Gjør du dette i tillegg til å "salte" så begynner det å bli en ganske sikker kryptering. Når det er snakk om å beskytte krypterte passord, så er det kanskje ofte litt mer avanserte hackere - og da holder det ikke med enkle løsninger. Regner også med at du bruker SSL. Uten dette er i alle fall siden "lettere" å hacke for litt mer avanserte hackere. Da holder det med at de "sniffer" på linjen.
ZoRaC Skrevet 13. januar 2005 Forfatter Skrevet 13. januar 2005 ????????: Å bruke id*tid som salt funger når jeg bruker PHP til å sjekke passordet, men jeg bruker jo .htaccess og .htpasswd. Hva skal jeg da bruke som salt? "aa" fungerer, fant det i et annet script så aner ikke hvorfor... I spørsmålet mitt over er det 2 forskjellige passord med samme salt som er generert med programmet som følger med, hvilket salt er det som er brukt der da?
Anbefalte innlegg
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 kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå