WN

WN (https://www.wn.se/forum/index.php)
-   Serversidans teknologier (https://www.wn.se/forum/forumdisplay.php?f=4)
-   -   Hash + salt av lösenord (https://www.wn.se/forum/showthread.php?t=30777)

Jonas 2008-09-28 13:14

Citat:

Originally posted by stakes@Sep 28 2008, 13:10
Problemet ligger dock kvar i att det inte finns något sätt att sha512 lösenord i javascript (rätta mig om jag har fel), vilket gör att det skickas i klartext innan det når servern, om du inte har en SSL anslutning dvs.



SSL är det enda rätta oavsett...

Om du kodar på clientside, ja? Vad händer? Jo, du skickar en hash istället för ett lösenord, i vilket fall som helst så är hashen lösenordet istället.
Sniffar man trafiken så behöver man bara skicka hashen istället.

stakes 2008-09-28 13:39

Edit: läste igenom vad du skrev igen och ser att jag misstolkade helt.. :)

Ja som sagt.. SSL är det ända rätta om man vill vara på det torra.

Den ända tryggheten att hasha lösenordet med javascript sha256 är ju att hackaren inte får reda på själva lösenordet som potentiellt kanske används av användaren till andra konton på andra sidor (typ mailkonto etc.). SÅ jag syftade inte på att det var någon ersättare till SSL.

SimonP 2008-09-28 13:48

Citat:

Originally posted by Jonas@Sep 28 2008, 13:14
Om du kodar på clientside, ja? Vad händer? Jo, du skickar en hash istället för ett lösenord, i vilket fall som helst så är hashen lösenordet istället.
Sniffar man trafiken så behöver man bara skicka hashen istället.

Fast det är mkt bättre för användarna om attackeraren bara får tag på hashen istf. lösenordet, det är ju ofta som attackerarna försöker använda lösenordet på andra webbplatser.

Det bästa är att köra krypteringen på klientsidan och skydda trafiken med SSL.

stakes 2008-09-28 13:52

Citat:

Ursprungligen postat av SimonP
Citat:

Ursprungligen postat av Jonas
Om du kodar på clientside, ja? Vad händer? Jo, du skickar en hash istället för ett lösenord, i vilket fall som helst så är hashen lösenordet istället.
Sniffar man trafiken så behöver man bara skicka hashen istället.

Fast det är mkt bättre för användarna om attackeraren bara får tag på hashen istf. lösenordet, det är ju ofta som attackerarna försöker använda lösenordet på andra webbplatser.

Det bästa är att köra krypteringen på klientsidan och skydda trafiken med SSL.

Att hasha lösenordet på klientsidan och skicka det med en SSL anslutning blir väl kaka på kaka? Eller har jag missat något :)

SimonP 2008-09-28 13:56

Citat:

Originally posted by stakes@Sep 28 2008, 13:52
Att hasha lösenordet på klientsidan och skicka det med en SSL anslutning blir väl kaka på kaka? Eller har jag missat något :)
Ja, SSL skyddar bara trafiken, SSL har inget med webbsidans egna script att göra.

stakes 2008-09-28 14:12

Citat:

Ursprungligen postat av SimonP
Citat:

Ursprungligen postat av stakes
Att hasha lösenordet på klientsidan och skicka det med en SSL anslutning blir väl kaka på kaka? Eller har jag missat något :)

Ja, SSL skyddar bara trafiken, SSL har inget med webbsidans egna script att göra.

Jo det är jag medveten om, men frågan lyder då, varför hasha ett lösenord som skall skickas under en skyddad anslutning? Bortsett från att förhindra att ägaren av sajten hijackar lösenordet då...

SimonP 2008-09-28 22:07

Citat:

Originally posted by stakes@Sep 28 2008, 14:12
Jo det är jag medveten om, men frågan lyder då, varför hasha ett lösenord som skall skickas under en skyddad anslutning? Bortsett från att förhindra att ägaren av sajten hijackar lösenordet då...
Det , det kan finnas flera anledningar där SSL inte hjälper helt:
1. Ägaren är en bad guy
2. Man sitter på en delad webbserver där en annan webbsida blivit hackad och på så sätt kommer dom åt din webbsida
3. Servern blir stulen/omdirigerad

För ovanstående fall kan man göra en del grejor för att försvåra processen för hackarna:

-Skydda serverkoden, t.ex en med en PHP-encryptor
-Skydda klientkrypteringen med en signering, vilket innebär att om hackaren skickar ut en falsk klientkryptering så får klienten upp en varningsruta i webbläsaren, eller se till att klientkrypteringen måste installeras som en plugin i webbläsaren istf. att den skickas från servern.

Den bästa anledningen till att aldrig lagra lösenord i klartext är väl att hackarna måste vänta till varje användare loggar in för att kunna plocka lösenordet/hashen (dvs. man använder salt+en bra hashrutin i databasen)

Man kan göra all kryptering med Javascript, SHA-512, PGP etc. , nackdelen är att det går långsammare + att det är mkt svårare att göra någon sorts signering av klientkoden, Java/ActiveX är bättre på detta.

stakes 2008-09-28 23:50

Citat:

Ursprungligen postat av SimonP
Citat:

Ursprungligen postat av stakes
Jo det är jag medveten om, men frågan lyder då, varför hasha ett lösenord som skall skickas under en skyddad anslutning? Bortsett från att förhindra att ägaren av sajten hijackar lösenordet då...

Det , det kan finnas flera anledningar där SSL inte hjälper helt:
1. Ägaren är en bad guy
2. Man sitter på en delad webbserver där en annan webbsida blivit hackad och på så sätt kommer dom åt din webbsida
3. Servern blir stulen/omdirigerad

För ovanstående fall kan man göra en del grejor för att försvåra processen för hackarna:

-Skydda serverkoden, t.ex en med en PHP-encryptor
-Skydda klientkrypteringen med en signering, vilket innebär att om hackaren skickar ut en falsk klientkryptering så får klienten upp en varningsruta i webbläsaren, eller se till att klientkrypteringen måste installeras som en plugin i webbläsaren istf. att den skickas från servern.

Den bästa anledningen till att aldrig lagra lösenord i klartext är väl att hackarna måste vänta till varje användare loggar in för att kunna plocka lösenordet/hashen (dvs. man använder salt+en bra hashrutin i databasen)

Man kan göra all kryptering med Javascript, SHA-512, PGP etc. , nackdelen är att det går långsammare + att det är mkt svårare att göra någon sorts signering av klientkoden, Java/ActiveX är bättre på detta.

Låter vettigt, tack för tipsen.

stakes 2008-09-29 09:44

Btw vart hittar jag SHA-512 för javascript? Har googlat men utan framgång.

SimonP 2008-09-29 10:08

Ex: http:// jssha .sourceforge.net/

Men som jag skrev tidigare i denna tråd är SHA-512 overkill.


Alla tider är GMT +2. Klockan är nu 12:07.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson