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

Kodeord


Reklame
Top 10 brugere
ASP
#NavnPoint
smorch 9259
Harlekin 1866
molokyle 1040
Steffanst.. 758
gandalf 657
smilly 564
gibson 560
cumano 530
MouseKeep.. 480
10  Random 410
Gemme Password krypteret i MS SQL database~
Fra : M@ds


Dato : 15-03-02 18:33

Hej

Jeg har et ASP site hvortil mine brugere skal bruge password. Jeg gemmer
username/password i en tabel på MS SQL 2000 serveren.
Folk har jo en tendens til at bruge det samme password flere steder. Nu kan
det måske være meget fedt at kunne se alle mine brugeres password, så jeg
kan hacke deres email etc.

MEN kunne jeg ikke på en måde gemme deres password krypteret i databasen. Så
deres password ikke står i klar tekst i databasen?

Det skal vel være en eller anden form for hash funktion? Altså en funktion
uden en invers funktion.
Men hvilke vil I anbefale?
Jeg har hørt lidt om MD5, men kan den integreres i ASP uden brug af DLL? Og
findes der et eksempel til fri brug?

Hilsen
Mads



 
 
Bjørn Fossen (15-03-2002)
Kommentar
Fra : Bjørn Fossen


Dato : 15-03-02 19:17

>
> Jeg har et ASP site hvortil mine brugere skal bruge password. Jeg gemmer
> username/password i en tabel på MS SQL 2000 serveren.
> Folk har jo en tendens til at bruge det samme password flere steder. Nu
kan
> det måske være meget fedt at kunne se alle mine brugeres password, så jeg
> kan hacke deres email etc.
>
> MEN kunne jeg ikke på en måde gemme deres password krypteret i databasen.

> deres password ikke står i klar tekst i databasen?
>
> Det skal vel være en eller anden form for hash funktion? Altså en funktion
> uden en invers funktion.
> Men hvilke vil I anbefale?
> Jeg har hørt lidt om MD5, men kan den integreres i ASP uden brug af DLL?
Og
> findes der et eksempel til fri brug?
>
> Hilsen
> Mads

Har du sett denne: http://www.frez.co.uk/freecode.htm#sha256

Mvh
Bjørn




Jesper Stocholm (15-03-2002)
Kommentar
Fra : Jesper Stocholm


Dato : 15-03-02 19:40

Bjørn Fossen wrote in news:RUqk8.10691$TU3.281497@news4.ulv.nextra.no:

>>
>> Jeg har et ASP site hvortil mine brugere skal bruge password. Jeg
>> gemmer username/password i en tabel på MS SQL 2000 serveren.
>> Folk har jo en tendens til at bruge det samme password flere steder.
>> Nu
> kan
>> det måske være meget fedt at kunne se alle mine brugeres password, så
>> jeg kan hacke deres email etc.
>>
>> MEN kunne jeg ikke på en måde gemme deres password krypteret i
>> databasen.
> Så
>> deres password ikke står i klar tekst i databasen?
>>
>> Det skal vel være en eller anden form for hash funktion? Altså en
>> funktion uden en invers funktion.
>> Men hvilke vil I anbefale?
>> Jeg har hørt lidt om MD5, men kan den integreres i ASP uden brug af
>> DLL?
> Og
>> findes der et eksempel til fri brug?
>>
> Har du sett denne: http://www.frez.co.uk/freecode.htm#sha256
>

hvis featuren er i kategorien "nice to have", så vil jeg mene, at det vil
være langt rigeligt med MD5 (samme side). Hvis featuren derimod er en
"must have", så ville jeg nok også vælge SHA-256.

Til Mads: hvis du allerede i den eksisterende løsning har implementeret
en "Send mg password, som jeg har glemt"-feature, så kan du jo ikke
længere bruge den, hvis du vælger at hashe værdierne i din database.

Anyway - hvis det er mere for at du personligt ikke vil kunne læse disse
passwords - altså fordi du gerne vil tilfredsstille eventuelle spørgsmål
om hvorvidt du kan læse passwords med et svar som "du kan selv se, at jeg
ikke kan læse det" - så kan du også vælge blot at bruge BASE64/Radix64
til "sløre" dine passwords :)

--
Jesper Stocholm
http://stocholm.dk
http://asp.stocholm.dk
Svar til gruppen og ikke til mig privat pr. email :|

M@ds (19-03-2002)
Kommentar
Fra : M@ds


Dato : 19-03-02 17:33

"Jesper Stocholm" <spam200203@stocholm.dk> wrote in message
news:Xns91D2C80D8478Fspamstocholmdk@192.38.208.81...
>
> hvis featuren er i kategorien "nice to have", så vil jeg mene, at det vil
> være langt rigeligt med MD5 (samme side). Hvis featuren derimod er en
> "must have", så ville jeg nok også vælge SHA-256.
>
Grunden til du vil vælge SHA-256 er det at den er 256 bit i modsætning til
MD5's 128bit??
Eller er der andre grunde?

> Til Mads: hvis du allerede i den eksisterende løsning har implementeret
> en "Send mg password, som jeg har glemt"-feature, så kan du jo ikke
> længere bruge den, hvis du vælger at hashe værdierne i din database.
>
Hvis jeg havde implementeret en sådan feature, kunne det da vist også være
ligemeget om passwordsene var krypteret i databasen.
Jeg har implementeret en feature hvor brugeren får en mail med et link, som
indeholder UserID og en 30 chars lang tekst streng bestående af
tilnærmelsesvis tilfældige bogstaver og tal.
Jeg har så i databasen gemt denne 30 chars tekst streng sammen med et
tidspunkt, så hvis brugeren har denne streng, og komme inden den udløber, så
kan han få lov til at indtaste et ny password.

> Anyway - hvis det er mere for at du personligt ikke vil kunne læse disse
> passwords - altså fordi du gerne vil tilfredsstille eventuelle spørgsmål
> om hvorvidt du kan læse passwords med et svar som "du kan selv se, at jeg
> ikke kan læse det" - så kan du også vælge blot at bruge BASE64/Radix64
> til "sløre" dine passwords :)
>
Ja, det er primært for at os server admins ikke kan læse alle andres
passwords. Da man vel regner/håber med at ens SQL server er beskyttet mod
hackere. Men altså man kan jo ikke være sikker, så i det tilfælde at en
hacker kommer ind, så kan han ikke bruge User tabellen til noget.

Hvor lang tid vil I mene at det vil tage at knække et MD5 digest til et
password? Uden brug af dictionary.
Til en MD5 digest er der jo flere mulige løsninger. Men passwords overstiger
jo sjædent 10-15 bogstaver. Så man burde kunne finde et fåtal mulige.

Hilsen
Mads B. Tandrup



Jesper Stocholm (20-03-2002)
Kommentar
Fra : Jesper Stocholm


Dato : 20-03-02 13:54

M@ds wrote in news:3c9767a1$0$66980$edfadb0f@dspool01.news.tele.dk:

> "Jesper Stocholm" <spam200203@stocholm.dk> wrote in message
> news:Xns91D2C80D8478Fspamstocholmdk@192.38.208.81...
>>
>> hvis featuren er i kategorien "nice to have", så vil jeg mene, at det
>> vil være langt rigeligt med MD5 (samme side). Hvis featuren derimod
>> er en "must have", så ville jeg nok også vælge SHA-256.
>>
> Grunden til du vil vælge SHA-256 er det at den er 256 bit i modsætning
> til MD5's 128bit??
> Eller er der andre grunde?
>

næeh ... det er sådan set det. Der er angreb på MD5, hvor man "kun"
behøver at udregne noget i retning af 2^61 værdier for at finde et hul
.... og dette hul eksisterer ikke ved SHA-256.

> Hvis jeg havde implementeret en sådan feature, kunne det da vist også
> være ligemeget om passwordsene var krypteret i databasen.
> Jeg har implementeret en feature hvor brugeren får en mail med et
> link, som indeholder UserID og en 30 chars lang tekst streng bestående
> af tilnærmelsesvis tilfældige bogstaver og tal.
> Jeg har så i databasen gemt denne 30 chars tekst streng sammen med et
> tidspunkt, så hvis brugeren har denne streng, og komme inden den
> udløber, så kan han få lov til at indtaste et ny password.
>

det lyder rimeligt :)

> Hvor lang tid vil I mene at det vil tage at knække et MD5 digest til
> et password? Uden brug af dictionary.

Du kan ikke antage, at der ikke bruges et dictionary-attack. Du må altid
antage, at det værst mulige vil ske - og i tilfældet passwords, så er det
nok en anvendelse af en ordbog.

--
Jesper Stocholm
http://stocholm.dk
http://asp.stocholm.dk
Svar til gruppen og ikke til mig privat pr. email :|

M@ds (19-03-2002)
Kommentar
Fra : M@ds


Dato : 19-03-02 20:19

"Bjørn Fossen" <bjorn@fossen.cc> wrote in message
news:RUqk8.10691$TU3.281497@news4.ulv.nextra.no...
> Har du sett denne: http://www.frez.co.uk/freecode.htm#sha256
>
tak for linket...

Men kan du forklare hvorfor en MD5 hashing bliver er forskellig fra den man
kan få vha. ASP.NET.
http://www.dotnet101.com/articles/art013_encrypt.asp er der en artikel om
MD5 i ASP.NET
Ifølge http://www.dotnet101.com/articles/demo/art013_encrypt.aspx er:
md5("madstandrup") = 7CC6036B40B5A1AEDADA2FF6357CB69C

Mens den ASP.VBScript kode som du gav mig giver:
md5("madstandrup") = 8739f2bc662740c57f753454b4ed8ba2

Når jeg prøver med andre exe programmer som også kan lave MD5 digests giver
de også "8739f2bc662740c57f753454b4ed8ba2".

Men det er da ikke så smart hvis man en dag vil gå over til ASP.NET og så
pludselig skal have alle folk til at indtaste deres password igen.

Er der nogen forklaring på dette?

Hilsen
Mads



Jesper Stocholm (20-03-2002)
Kommentar
Fra : Jesper Stocholm


Dato : 20-03-02 14:01

M@ds wrote in news:3c978e5c$0$66973$edfadb0f@dspool01.news.tele.dk:

> "Bjørn Fossen" <bjorn@fossen.cc> wrote in message
> news:RUqk8.10691$TU3.281497@news4.ulv.nextra.no...
>
> Men kan du forklare hvorfor en MD5 hashing bliver er forskellig fra
> den man kan få vha. ASP.NET.
> På http://www.dotnet101.com/articles/art013_encrypt.asp er der en
> artikel om MD5 i ASP.NET
> Ifølge http://www.dotnet101.com/articles/demo/art013_encrypt.aspx er:
> md5("madstandrup") = 7CC6036B40B5A1AEDADA2FF6357CB69C
>
> Mens den ASP.VBScript kode som du gav mig giver:
> md5("madstandrup") = 8739f2bc662740c57f753454b4ed8ba2
>
> Når jeg prøver med andre exe programmer som også kan lave MD5 digests
> giver de også "8739f2bc662740c57f753454b4ed8ba2".
>
> Er der nogen forklaring på dette?
>

en af implementationerne er buggy ?



Der findes nogle test-vektorer, som du kan teste din algoritme på. Disse
er specificerede i den RFC, der definerer MD5-algoritmen [1]. Prøv begge
algoritmer med disse vektorer og se, om der er nogen forskel.

Test-vektorerne er:

MD5 ("") = d41d8cd98f00b204e9800998ecf8427e
MD5 ("a") = 0cc175b9c0f1b6a831c399e269772661
MD5 ("abc") = 900150983cd24fb0d6963f7d28e17f72
MD5 ("message digest") = f96b697d7cb7938d525a2f31aaf161d0
MD5 ("abcdefghijklmnopqrstuvwxyz") = c3fcd3d76192e4007dfb496cca67e13b
MD5 ("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789") = d174ab98d277d9f5a5611c2c9f419d9f
MD5 ("12345678901234567890123456789012345678901234567890123456789012345678901234567890") = 57edf4a22be3c955ac49da2e2107b67a

[1] http://www.ietf.org/rfc/rfc1321.txt

Jeg er ikke klar over, om der også er overensstemmelserne i SHA-1, men
den kan du finde på NISTs hjemmeside [2]. Det dybe link er:

http://www.itl.nist.gov/fipspubs/fip180-1.htm

[2] http://www.nist.gov
--
Jesper Stocholm
http://stocholm.dk
http://asp.stocholm.dk
Svar til gruppen og ikke til mig privat pr. email :|

Jesper Stocholm (20-03-2002)
Kommentar
Fra : Jesper Stocholm


Dato : 20-03-02 17:09

Jesper Stocholm wrote in dk.edb.internet.webdesign.serverside.asp:
> M@ds wrote in news:3c978e5c$0$66973$edfadb0f@dspool01.news.tele.dk:
>
> > "Bjørn Fossen" <bjorn@fossen.cc> wrote in message
> > news:RUqk8.10691$TU3.281497@news4.ulv.nextra.no...
> >
> > Men kan du forklare hvorfor en MD5 hashing bliver er forskellig fra
> > den man kan få vha. ASP.NET.
> >
> > Er der nogen forklaring på dette?
>
> en af implementationerne er buggy ?
>

jeg skal måske lige præcisere min udtalelse. En hash-funktion har to input-parametre, 1: et seed (initial value, IV) og den
streng, som man ønsker at lave en hash-værdi af. Derfor kan det være, at der i dokumentationen til VB.Nets implementation af
MD5 er givet en default IV, som kan ændres ved input-parametrene. Jeg har dog ikke kigget i dokumentationen for at se, om det
er korrekt. Det er derfor ikke nødvendigvis sandt, at deres implementation er fejlbehæftet - blot fordi det ikke stemmer
overens med resultaterne af de test-vektorer du kan finde i det link jeg postede tidligere i dag.

/Jesper


--
KONKURRENCE PÅ HTML.dk:
fortæl hvordan din drømmeeditor ser ud
og vind luksus webhoteller fra Wannafind
KLIK HER! => http://www.html.dk/editor

M@ds (23-03-2002)
Kommentar
Fra : M@ds


Dato : 23-03-02 18:31

Mange tak for de fine forklaringer og links. Dem vil jeg kigge på.

Hilsen
Mads



Jesper Stocholm (20-03-2002)
Kommentar
Fra : Jesper Stocholm


Dato : 20-03-02 17:32

M@ds wrote in dk.edb.internet.webdesign.serverside.asp:>
> Men kan du forklare hvorfor en MD5 hashing bliver er forskellig fra den man
> kan få vha. ASP.NET.
> På http://www.dotnet101.com/articles/art013_encrypt.asp er der en artikel om
> MD5 i ASP.NET
> Ifølge http://www.dotnet101.com/articles/demo/art013_encrypt.aspx er:
> md5("madstandrup") = 7CC6036B40B5A1AEDADA2FF6357CB69C
>
> Mens den ASP.VBScript kode som du gav mig giver:
> md5("madstandrup") = 8739f2bc662740c57f753454b4ed8ba2
> Er der nogen forklaring på dette?
>

jaja ... jeg har lidt mere information til dig. Jeg faldt over denne artikel i
dag [1]. Det ser ud til, at der er ændret i
HashPasswordForStoringInConfigFile-metoden fra Beta2 til RTM-versionen af .Net
Framework. Man kan så håbe på, at det er Beta2 de har kørende på deres
webserver :)

Evt kan du prøve at spørge i news://microsoft.public.dotnet.framework.aspnet
... det kan være, at der er nogen derinde, der ved noget mere om det.

/Jesper

[1] http://www.aewnet.com/newsgroups/rnews.asp?newsid=119958&group=22

--
KONKURRENCE PÅ HTML.dk:
fortæl hvordan din drømmeeditor ser ud
og vind luksus webhoteller fra Wannafind
KLIK HER! => http://www.html.dk/editor

Søg
Reklame
Statistik
Spørgsmål : 177506
Tips : 31968
Nyheder : 719565
Indlæg : 6408555
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste