Even meedenken over versleutelen password

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Harry

Harry

27/10/2007 16:00:00
Quote Anchor link
Ik ben al een tijdje bezig om met behulp van oplossingen (hijacking etc.) op PHPhulp een veilig login script te maken.

Het enige waar ik steeds tegen aanloop is het wachtwoord en 'the man in the middle' gebeuren die ook gehashde wachtwoorden zou kunnen misbruiken.

Nu had ik het volgende idee:

Wanneer gebruikersnaam en wachtwoord op de inlogpagina moet worden verwerkt gaat deze eerst m.b.v. 'onsubmit' door een functie alwaar een willekeurig gekozen code uit de codesdatabase met het wachtwoord wordt gehasd.
Dezelfde willekeurige code wordt ook meteen bij de gebruikersnaam in de gebruikersdatabase opgeslagen.
Daarna wordt gebruikersnaam en gecodeerde wachtwoord opgestuurd en vergeleken met het wachtwoord en opgeslagen code in de gebruikersdatabase (eerst samen hashen) waarna meteen de opgeslagen code wordt verwijderd. Alles OK dus doorgaan of nieuwe poging starten van voor af aan. Zo wordt er steeds een andere hash verstuurd die maar 1x geldig is.

Lijkt dit wat of kan ik mij schrap gaan zetten voor jullie (opbouwende) kritiek...

Harry
Gewijzigd op 01/01/1970 01:00:00 door Harry
 
PHP hulp

PHP hulp

26/04/2024 15:59:10
 
Onbekend Onbekend

Onbekend Onbekend

27/10/2007 16:02:00
Quote Anchor link
werkt met javascript, kunnen mensen uitzetten

leuke avatar btw (de vrouw dan xD)
Gewijzigd op 01/01/1970 01:00:00 door Onbekend Onbekend
 
Harry

Harry

27/10/2007 16:07:00
Quote Anchor link
Dat zou je toch kunnen ondervangen met <noscript> en JS als verplicht stellen.

Ja, dat is een leuke virtuele... ;-)
 
Arjan Kapteijn

Arjan Kapteijn

27/10/2007 16:17:00
Quote Anchor link
Of je pakt een https verbinding.
 
Harry

Harry

27/10/2007 16:19:00
Quote Anchor link
Ja, Arjan, dat is het beste maar die moet er dan wel zijn :-(
 
Jason de Ridder

Jason de Ridder

27/10/2007 17:03:00
Quote Anchor link
Die kan je toch gewoon aanvragen bij je provider? Certificaat aanvragen en klaar is Harry...
 
Red Crew

Red Crew

27/10/2007 17:23:00
Quote Anchor link
Dat kost wel veel geld

Ik dacht iets van een 30 € per maand voor een certificaat
 
- -

- -

27/10/2007 17:26:00
Quote Anchor link
Een certificaat kan je al vanaf $ 35 per jaar krijgen, dan heb je ook nog een eigen IP nodig. Maar fijne providers die hebben een gedeeld certificaat op hun servers, dan hoef je geen eigen certificaat meer te hebben.
 
Harry

Harry

27/10/2007 17:37:00
Quote Anchor link
Ja, ja, ok, ok, genoeg over de certificaten... ;-)

Maarre... lijkt mijn oplossing/idee wat of zeggen jullie... wow, wat lek!
 
Jurgen assaasas

Jurgen assaasas

27/10/2007 17:55:00
Quote Anchor link
RedCrew schreef op 27.10.2007 17:23:
Dat kost wel veel geld

Ik dacht iets van een 30 € per maand voor een certificaat



Mijn server heeft een eigen certificaat, compleet gratis. Hij is ook niet gekocht oid, de server maakt hem zelf aan. Ik kan met vele protocollen verbinden naar de server, incl HTTPS. Enige wat je moet doen is bij bijv firefox even op certificaat permanent accepteren klikken omdat het geen gekocht en dus offcieel certificaat is.
 
Arjan Kapteijn

Arjan Kapteijn

27/10/2007 18:22:00
Quote Anchor link
Harry schreef op 27.10.2007 17:37:
Ja, ja, ok, ok, genoeg over de certificaten... ;-)

Maarre... lijkt mijn oplossing/idee wat of zeggen jullie... wow, wat lek!


Het is geen oplossing. https wel.
 
Harry

Harry

27/10/2007 19:39:00
Quote Anchor link
Arjan Kapteijn schreef op 27.10.2007 18:22:
Harry schreef op 27.10.2007 17:37:
Ja, ja, ok, ok, genoeg over de certificaten... ;-)

Maarre... lijkt mijn oplossing/idee wat of zeggen jullie... wow, wat lek!


Het is geen oplossing. https wel.


Nou, dat is nog eens even opbouwend... bedankt voor het lezen.
 
- -

- -

27/10/2007 20:31:00
Quote Anchor link
Dat opslaan in de datbase met onsubmit moet ook naar de server gestuurd worden, dus daar kom je in de knoop.

Als je namelijk bij het opslaan een Ajax-request doet, loop je het risico dat het afhandelen van die request langer duurt dan het opvragen van de volgende pagina. Dan staat de code dus nog niet in de database.

Helaas, ik denk dat het je niet gaat lukken zo.
 

27/10/2007 21:03:00
Quote Anchor link
of je slaat het wachtwoord op als md5 en zodra je er een cookie ofzo van maakt doe je simpel base64_encode en base64_decode, dat is goed genoeg lijkt mij..
Gewijzigd op 01/01/1970 01:00:00 door
 
PHP Newbie

PHP Newbie

27/10/2007 21:05:00
Quote Anchor link
Koen Scheres schreef op 27.10.2007 21:03:
of je slaat het wachtwoord op als md5 en zodra je er een cookie ofzo van maakt doe je simpel base64_encode en base64_decode, dat is goed genoeg lijkt mij..


Zeg maar niets als je het probleem niet snapt.
 

27/10/2007 21:12:00
Quote Anchor link
PHP Newbie schreef op 27.10.2007 21:05:
Koen Scheres schreef op 27.10.2007 21:03:
of je slaat het wachtwoord op als md5 en zodra je er een cookie ofzo van maakt doe je simpel base64_encode en base64_decode, dat is goed genoeg lijkt mij..


Zeg maar niets als je het probleem niet snapt.


Sorry las even verkeerd :$
 
Paul K

Paul K

27/10/2007 21:13:00
Quote Anchor link
Zozo, dus bas vraagt hulp :P
Maar als je echt safe wilt zijn zul je toch echt https moeten gebruiken...
 
GaMer B

GaMer B

27/10/2007 21:14:00
Quote Anchor link
PHP Newbie schreef op 27.10.2007 21:05:
Koen Scheres schreef op 27.10.2007 21:03:
of je slaat het wachtwoord op als md5 en zodra je er een cookie ofzo van maakt doe je simpel base64_encode en base64_decode, dat is goed genoeg lijkt mij..


Zeg maar niets als je het probleem niet snapt.

Inderdaad, het probleem is namelijk dat bij punt 1 al de gegevens kunnen worden onderschept in het onderstaande:
(Uitleg: De stippellijn is de connectie tussen de verschillende elementen)
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
FORM (user)
|
| (1)
|
PHP script => MD5 (server)
|
| (2)
|
Database (server)
Gewijzigd op 01/01/1970 01:00:00 door GaMer B
 
Jelmer -

Jelmer -

27/10/2007 22:45:00
Quote Anchor link
Het is op zich een redelijk idee. Het is niet mogelijk om door verkeer af te luisteren het wachtwoord direct te achterhalen, En inloggen door de hash opnieuw in te sturen werkt ook niet. Echter weet je als afluisteraar nog steeds de code, het algoritme en de uitvoer. Brute-force er op los en je hebt alsnog het wachtwoord.

Maar ik denk niet dat je je over je wachtwoord zorgen moet gaan maken op dit moment. Als er iemand al op je lijn zit, kan deze hoogstwaarschijnlijk ook gewoon meekijken met de 'geheime' pagina's die jij bezoekt. Ook kan hij gewoon je cookie (en dus je sessie) overnemen.

Als hij zelfs daadwerkelijk tussen jou en de server inzit kan hij ook gewoon het formulier aanpassen. Simpel een kwestie van een ander formulier voorschotelen dat exact hetzelfde eruit ziet, en ik heb je wachtwoord als nog. Phishing wordt dat ook wel genoemd volgens mij. Of ik pas het javascript-gebeuren wat aan zodat deze ook het ongehashde wachtwoord naar mij toestuurt. Niemand die daar iets van merkt.

Oftewel: de enige echte oplossing is een beveiligde verbinding.
 
Frank -

Frank -

27/10/2007 23:41:00
Quote Anchor link
Quote:
Het enige waar ik steeds tegen aanloop is het wachtwoord en 'the man in the middle' gebeuren die ook gehashde wachtwoorden zou kunnen misbruiken.
En wat is het risico dat je loopt? Hoeveel geld gaat het je kosten als iemand een wachtwoord weet te onderscheppen en dit gaat misbruiken. En hoe groot is de kans dat je dit gaat gebeuren?

Wanneer er een kans van 1 op een miljoen is dat je wellicht 100 euro armer wordt, dan is er dus niks aan de hand.

Is er een kans van 1 op een miljoen dat je hiermee 100 miljoen euro armer wordt, dan is een kleine investering in een SSL-certificaatje van enkele tientjes geen slechte keuze.

Bij minstens 999 van de 1000 inlog-toepassingen is er niks aan de hand wanneer een wachtwoord wordt onderschept, dus niks om je druk over te maken. Ben je die ene uitzondering, dan doe je niet moeilijk over een ssl-certificaatje. Waar hebben we het over! Enkele tientjes per jaar, neem een krantenwijk en dat probleem is ook weer opgelost.
 
Harry

Harry

28/10/2007 20:00:00
Quote Anchor link
OK, OK, duidelijk allemaal.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.