/ Forside / Teknologi / Udvikling / Java Scripts / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Java Scripts
#NavnPoint
molokyle 5410
Klaudi 2799
smorch 2439
kim 1360
Harlekin 1134
bentjuul 984
gibson 800
severino 695
Random 675
10  konsulent.. 626
md5-Kryptering af form
Fra : Alexander P.


Dato : 01-03-06 21:15

Er det muligt på clientsiden at kryptere med md5 inden man
submitter til en anden side fx.

Jeg har en side (login.php) som blot indeholder en form med 2
felter, brugernavn og password.

hvis man indstaster ovenstående kommer man vidre over på en anden
side. men hvis man har en ''flink'' person der lige kigger med
med en sniffer etc. kan han se hvad du indtastede i kodeords
feltet.

Så jeg tænkte om det var muligt at kryptere password feltet inden
man sendte det over til en anden side. hvis det er muligt med
md5-konceptet (eller hvad man kalder det)

Jeg har tænkt lidt over JS, men jeg kan ikke helt gennemskue
hvordan det skal laves. Jeg diskuterede det med min far som
foreslog en java applet - men hvordan??

- På forhånd tak

-/Ap

--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

 
 
Jens Gyldenkærne Cla~ (01-03-2006)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 01-03-06 22:56

Alexander P. skrev:

> Er det muligt på clientsiden at kryptere med md5 inden man
> submitter til en anden side fx.


Ja - man kan sagtens lave md5-kryptering med javascript. Følgende side er
fundet ved en simpel googling: <http://pajhome.org.uk/crypt/md5/>.


> Så jeg tænkte om det var muligt at kryptere password feltet inden
> man sendte det over til en anden side. hvis det er muligt med
> md5-konceptet (eller hvad man kalder det)

En simpel kryptering af adgangskoden giver ikke særlig høj sikkerhed - en
sniffer vil kunne opsnappe den krypterede værdi, og sende den videre til
loginsiden - så selv om adgangskoden ikke aflures direkte, kan en hacker
stadig logge ind. Det er også muligt at se hvilken krypteringsmetode der
anvendes - det kan benyttes til at lave brute force-angreb på
adgangskoden (man kan tjekke om md5-værdien stemmer med den opsnappede
værdi). Man kan imidlertid lave det noget mere sikkert hvis man kan få
modtagersiden til at spille med - ved at generere et tilfældigt nummer
der skal krypteres sammen med den normale værdi (adgangskoden).

Metoden er beskrevet her: <http://pajhome.org.uk/crypt/md5/auth.html>.

Selv om metoden er ganske effektiv, er den ikke helt skudsikker - når
forbindelsen mellem server og klient (browser) ikke er krypteret, kan man
risikere at en hacker opsnapper al kommunikation begge veje (man in the
middle-attack).

--
Jens Gyldenkærne Clausen

Christian Kragh (01-03-2006)
Kommentar
Fra : Christian Kragh


Dato : 01-03-06 23:05

> Er det muligt på clientsiden at kryptere med md5 inden man
> submitter til en anden side fx.

MD5 er ikke en form for kryptering.

Når man laver MD5 på en streng kommer der en checksum ud som er
entydig og dermed kan man kontrollere om koden er rigtig, hvis man
også laver en checksum på denne.

Så derfor kan det være lige meget om man opspore checksummen eller
den rigtige kode, da man så bare kan lave en anden html side med en
form indeholdende de respektive data.

En af de løsninger du kan bruge er SSL, som er serverside hvis du
har adgang til dette.

> Så jeg tænkte om det var muligt at kryptere password feltet inden
> man sendte det over til en anden side. hvis det er muligt med
> md5-konceptet (eller hvad man kalder det)

Du kan godt lave en javakode som er tidsbestemt fra serveren,
således at den kun virker i 3 minutter efter den er hentet fra
serveren, og dermed kan man sikre at andre ikke får adgang til
systemet...

> Jeg har tænkt lidt over JS, men jeg kan ikke helt gennemskue
> hvordan det skal laves. Jeg diskuterede det med min far som
> foreslog en java applet - men hvordan??

Hvis man siger at man har et skjult tekstfelt med en værdi som er
sendt af serveren... denne værdi er begrænset til maks 3 minutter
efter, ellers virker den ikke...

Så kan man jo lave en checksum af denne værdi + brugernavn inden den
sendes, og når serveren modtager forespørgslen, laver den ligeledes
en checksum af den begrænsede værdi og brugernavnet... og hvis de
matcher accepteres brugeren... og den begrænsede værdi ændres til en
ny med en random funktion således at man ikke kan bruge den mere...

Det er lidt kryptisk den løsning hvis man ikke ønsker at bruge SSL,
eller andre java applets, men det burde virke.

Christian

--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Jens Gyldenkærne Cla~ (01-03-2006)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 01-03-06 23:38

Christian Kragh skrev:

>> Er det muligt på clientsiden at kryptere med md5 inden man
>> submitter til en anden side fx.
>
> MD5 er ikke en form for kryptering.

Nja - det er ikke kryptering i sig selv, men det er vel en
krypteringsfunktion?    


> Når man laver MD5 på en streng kommer der en checksum ud som er
> entydig

En checksum er, sådan som jeg har lært begrebet, beregnet på at fange
tilfældige datafejl. Kryptografiske algoritmer (md5, sha o.l.) er derimod
designet til at yde sikkerhed mod manipulation af data. Det er en ret
væsentlig forskel.


--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html

Lasse Reichstein Nie~ (02-03-2006)
Kommentar
Fra : Lasse Reichstein Nie~


Dato : 02-03-06 00:48

"Jens Gyldenkærne Clausen" <jens@gyros.invalid> writes:

> Christian Kragh skrev:

>> MD5 er ikke en form for kryptering.
>
> Nja - det er ikke kryptering i sig selv, men det er vel en
> krypteringsfunktion?    

Nej, det er en hash-funktion. Den kan ikke "dekrypteres", da
resultatet ikke indeholder lige så meget information som input.

>> Når man laver MD5 på en streng kommer der en checksum ud som er
>> entydig
>
> En checksum er, sådan som jeg har lært begrebet, beregnet på at fange
> tilfældige datafejl. Kryptografiske algoritmer (md5, sha o.l.) er derimod
> designet til at yde sikkerhed mod manipulation af data. Det er en ret
> væsentlig forskel.

Det er væsentligt at md5 er bedre til at modstå bevidst forsøg på at
snyde end fx CRC32, men de bruges begge to til at lave tjeksumme med.

Både md5, sha og crc32 er hashfunktioner. Det vil sige at de giver et
resultat af en fast størrelse ligegyldigt hvor stort et input de får.
De har så forskellige egenskaber, så nogle er bedre at bruge i
forbindlese med sikkerhedsprotokoller end andre. De er ikke
kypteringsalgoritmer, men en kryptografisk sikker hashfunktion (en
hvor det er "svært" at slabe kollisioner) kan bruges til at lave
en krypteringsalgoritme ud fra.

/L
--
Lasse Reichstein Nielsen - lrn@hotpop.com
DHTML Death Colors: <URL:http://www.infimum.dk/HTML/rasterTriangleDOM.html>
'Faith without judgement merely degrades the spirit divine.'

Alexander P. (02-03-2006)
Kommentar
Fra : Alexander P.


Dato : 02-03-06 16:50

Jeg siger tusind tak for jerres idéer, og havde ikke lige overvejet
at man bare kan fake sin md5-hash så enkelt hvis man får opsnappet
den. men jeg vil læse linksne igennem og prøve mig frem :)

Tak :+)

-/Ap

--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408924
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste