Toon posts:

[asp] Hoe een safe login creeren?

Pagina: 1
Acties:

Verwijderd

Topicstarter
Hey

Ik heb het volgende probleem, ik zou een login pagina willen met userid / pw met controle uit een databank.

Nu zijn er verschillende manieren om uw geg veilig te versturen naar de server maar er zijn een paar eisen:
- SSL is laatste alternatief
- op de server moet ik mijn userID en pw terug gedecrypteerd kunnen versturen naar mijn databank, dus MD5 encryptie valt al uit de boot aangezien je niet kan decrypten
- volgend alternatief: RC4, maar daar zit hem het probleem dat we de sleutel zowel op de client als op de server nodig hebben, die versturen is dus geen optie en aanmaken op client lijkt me ook al niet zo handig

Wie weet hier raad mee?

  • simon
  • Registratie: Maart 2002
  • Laatst online: 21-08 13:41
md5 is in princiepe genoeg.. de 'login-status' in een sessie opslaan en het is al vrij veilig..

|>


Verwijderd

Topicstarter
Ik weet dat MD5 veilig genoeg is, maar ik het mijn userid en pw nodig aan de server side, en dat lukt niet met md5.... aangezien je niet kan decrypteren.

  • whoami
  • Registratie: December 2000
  • Laatst online: 23:02
Waarom zou je moeten decrypten?

Je kunt toch de het ingegeven passwoord encrypten en de encrypted strings met elkaar gaan vergelijken?

https://fgheysels.github.io/


Verwijderd

Topicstarter
Inderdaad, zo ver waren we ook gekomen maar de volgende stap voor ons is te verifiëren of de login geldig is. We doen dit door iedere user een ander db account te geven en dan dus daarop in te loggen. Als dit niet lukt weten we ook dat de website log ongeldig is. Maar om dus in te loggen op de db hebben we het paswoord gedecrypteerd nodig....

  • MAZZA
  • Registratie: Januari 2000
  • Laatst online: 17-08 14:00

MAZZA

Barbie is er weer!

De users hebben dus direct toegang op je database??

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 23-08 10:39

Janoz

Moderator Devschuur®

!litemod

Wat is de reden om voor elke user een ander DB acount te nemen?

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 21:27

Creepy

Tactical Espionage Splatterer

Verwijderd schreef op 13 maart 2003 @ 16:08:
Inderdaad, zo ver waren we ook gekomen maar de volgende stap voor ons is te verifiëren of de login geldig is. We doen dit door iedere user een ander db account te geven en dan dus daarop in te loggen. Als dit niet lukt weten we ook dat de website log ongeldig is. Maar om dus in te loggen op de db hebben we het paswoord gedecrypteerd nodig....
Eehh.. ik snap je niet?

Dat betekent dus dat elke gebruiker toegang heeft tot de database??? Waarom niet in je ASP scripts hardcoded een wachtwoord en gebruikersnaam, en dan in je database een tabel met gebruikers en encrypted wachtwoorden??

Als het gaat om gegevens veilig van de client naar de server te krijgen ontkom je niet aan SSL. Waarom is dat een laatste optie?? SSL beveiligd overigens alleen de gegevens overdracht, niet je database, dataopslag, files, servertoegang e.d.

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


Verwijderd

Creepy schreef op 13 maart 2003 @ 16:16:
Eehh.. ik snap je niet?

Dat betekent dus dat elke gebruiker toegang heeft tot de database??? Waarom niet in je ASP scripts hardcoded een wachtwoord en gebruikersnaam, en dan in je database een tabel met gebruikers en encrypted wachtwoorden??
Dat bedoelt de TS volgens mij ook. Alleen dat hardcoded wachtwoord dat moet natuurlijk versleutelt zijn, anders is het voor iedereen te lezen. (En zeker als je het wachtwoord in een config-file zet)

Wat ik heb gedaan is met DES-encryptie het wachtwoord encrypt. De sleutel waarmee dit is gedaan is wel in code opgeslagen. Dus, die is altijd bekend in de applicatie zelf. Het decrypten gaat dus ook met deze sleutel.

Verwijderd

Topicstarter
Dat betekent dus dat elke gebruiker toegang heeft tot de database??? Waarom niet in je ASP scripts hardcoded een wachtwoord en gebruikersnaam, en dan in je database een tabel met gebruikers en encrypted wachtwoorden??
Waarom? Als je server wordt gehackt kan er uit je asp code de hardcoded login info gehaald worden, daarna halen ze eventueel uw database bestand (mdb) af
en kan de hacker alles lezen en aan alle paswoorden. En als bij zo een hack de sleutel te vinden is in een bestand dan is het weer mogelijk het hardcoded encrypted paswoord te decrypteren....
Elke gebruiker heeft trouwens geen toegang tot de database, enkel degene met een account met bijhorende restricties.
Als het gaat om gegevens veilig van de client naar de server te krijgen ontkom je niet aan SSL. Waarom is dat een laatste optie?? SSL beveiligd overigens alleen de gegevens overdracht, niet je database, dataopslag, files, servertoegang e.d.
Waarschijnlijk zal SSL een goede oplossing zijn, maar ik probeer juist een manier te vinden zonder SSL -> kostprijs certificaat

[ Voor 8% gewijzigd door Verwijderd op 13-03-2003 16:30 ]


  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 21:27

Creepy

Tactical Espionage Splatterer

Verwijderd schreef op 13 maart 2003 @ 16:21:
[...]


Dat bedoelt de TS volgens mij ook. Alleen dat hardcoded wachtwoord dat moet natuurlijk versleutelt zijn, anders is het voor iedereen te lezen. (En zeker als je het wachtwoord in een config-file zet)

Wat ik heb gedaan is met DES-encryptie het wachtwoord encrypt. De sleutel waarmee dit is gedaan is wel in code opgeslagen. Dus, die is altijd bekend in de applicatie zelf. Het decrypten gaat dus ook met deze sleutel.
De ASP sourcecode is door helemaal niemand te lezen als je dat goed configged hoor, aangezien je ASP file geparset word voordat ie naar de gebruiker word gezonden. Dus een passwd in een ASP file hoeft helemaal geen probleem te zijn.
En er zit echt geen verschil in om een een wachtwoord te encrypten waarvoor je weer een sleutel (=wachtwoord) gebruikt om je wachtwoord te decrypten als die sleutel ook gewoon in je ASP file staat.

Ow.. en als iemand in staat is om je server te hacken, is die persoon ook best instaat om je SQL server (die 9 van de 10 keer toch op dezelfde machine draait) te hacken.

[ Voor 11% gewijzigd door Creepy op 13-03-2003 16:51 ]

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


  • maikel
  • Registratie: Januari 2001
  • Laatst online: 20-08 09:32
Verwijderd schreef op 13 March 2003 @ 16:24:
[...]

Waarschijnlijk zal SSL een goede oplossing zijn, maar ik probeer juist een manier te vinden zonder SSL -> kostprijs certificaat
Je kunt ook je eigen certificaat aanmaken, dan kost het niks. Het nadeel is wel dat de gebruiker dan een melding krijgt met de vraag of hij het certificaat wel 'trusten'.
Pagina: 1