/ 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
Sikkerhed i passwords
Fra : Thomas Due


Dato : 09-10-03 14:25

Hej,

Jeg sidder og spekulerer over, hvorvidt mit password system er sikkert
nok. Det er det jo nok ikke. Systemet jeg bruger til password
kryptering er reversible, idet det tillader mig at sende brugerens
password, uden at skulle send et ny hvis han glemmer det.

Jeg lade brugeren indtaste sit password og username i en form, som så
submittes. Når serveren så behandler formen, krypterer den passwordet
og sammenligner med det der er i databasen.

Problemet er jo at selve passwordet faktisk sendes i ren form til
serveren ukrypteret. Hvad har jeg af muligheder. Hvis jeg laver
krypteringen client-side kan alle og enhver jo se algoritmen, så jeg er
lidt i tvivl om hvad man typisk gør.

Er der kun SSL tilbage?

--
Thomas Due
Software Developer
Scanvaegt Nordic A/S
Posted with XanaNews version 1.15.7.2

 
 
Jens Gyldenkærne Cla~ (09-10-2003)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 09-10-03 14:38

Thomas Due skrev:

> Problemet er jo at selve passwordet faktisk sendes i ren form
> til serveren ukrypteret. Hvad har jeg af muligheder. Hvis jeg
> laver krypteringen client-side kan alle og enhver jo se
> algoritmen, så jeg er lidt i tvivl om hvad man typisk gør.

Hvis du bruger envejskryptering, betyder det ikke noget at man kan
se hvilken algoritme du benytter. Man kan ikke finde den originale
værdi ud fra den krypterede. Jeg har ikke selv arbejdet med
kryptering, men så vidt jeg ved krypteres data normalt på
serversiden. Det er selvfølgelig sårbart over for programmer der
kan gå mellem klienten og serveren, men hovedsagen er at man ikke
kan hente passwords ud af databasen.

Et system med ikke-krypterede adgangskoder i en database er
sårbart, fordi uautoriseret adgang til databasen vil give adgang
til samtlige koder. Det gælder for så vidt også hvis koderne er
krypteret reversibelt - her skal tyven dog først finde algoritmen
til krypteringen.

De mere sikkerhedserfarne folk i gruppen plejer vist at sige at et
system hvor man kan få sendt en "gammel" adgangskode via mail ikke
er sikkert. Man skal generere en ny kode hvis brugeren ikke kan
huske den gamle.
--
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

Jesper Stocholm (09-10-2003)
Kommentar
Fra : Jesper Stocholm


Dato : 09-10-03 15:46

Thomas Due wrote :

> Jeg sidder og spekulerer over, hvorvidt mit password system er sikkert
> nok. Det er det jo nok ikke. Systemet jeg bruger til password
> kryptering er reversible, idet det tillader mig at sende brugerens
> password, uden at skulle send et ny hvis han glemmer det.
>
> Jeg lade brugeren indtaste sit password og username i en form, som så
> submittes. Når serveren så behandler formen, krypterer den passwordet
> og sammenligner med det der er i databasen.
>
> Problemet er jo at selve passwordet faktisk sendes i ren form til
> serveren ukrypteret. Hvad har jeg af muligheder.

Principielt bør al trafik der indeholder sensitive data sendes via SSL,
da "middle-man" angreb dermed "forhindres". Når det så er sagt, så er det
nok overkill at begynde at lege med SSL, med mindre du i forvejen har
muligheden for det (det er relativt dyrt hvis du vil have et certifikat,
der er inkluderet i browserne på forhånd). Dine sensitive informationer
sendes jo kun én gang til serveren, så realistisk er det nok ikke et
problem, med mindre man bruger på et bolignetværk uden sikkerhed - og ens
naboer har lidt for meget tid til overs til at sidde og lytte på
trafikken.

> Hvis jeg laver
> krypteringen client-side kan alle og enhver jo se algoritmen, så jeg er
> lidt i tvivl om hvad man typisk gør.

Som Jens skrev, så er algoritmen ligegyldig, da valg af den rigtige
algoritme ikke betyder et nedslag i sikkerheden. Til gengæld vil du ikke
vinde noget ved at hashe (kryptere) passwords inden de sendes til din
server, da det så blot åbner mulighed for at tage et password, hashe det
og derefter sende det til din server. Du vinder ikke noget ved det.

Mit råd til dig er:

1.Opbevar dine passwords hashede i din database
2.Tillad at dine passwords sendes i ren tekst til din server
3.Når du modtager et password, så hash det og sammenlig det med
dine eksisterende passwords og brugernavne i din database.
4.Implementer en metode til at nulstille et password, hvis en bruger
glemmer det. Send det nye password til brugeren til den emailadresse
hun har opgivet.

Søg evt efter "md5" på www.asp-faq.dk

--
Jesper Stocholm
http://stocholm.dk

Tillykke, Frederik og Mary

Thomas Due (10-10-2003)
Kommentar
Fra : Thomas Due


Dato : 10-10-03 07:17

Tak til begge for jeres svar. Det I skriver er nogenlunde også det jeg
selv er nået frem til. Jeg skulle dog lige høre om der var andre måder.
Jeg er personligt lidt imod irreversible kryptering, da jeg mener at
det er en bedre service at kunne sende password'et til kunden hvis han
glemmer det, end at sende et helt nyt til ham.

Jeg har leget en del med MD5, både i ASP og ASP.NET, og det er da nemt,
men metoden taber meget efter min mening når man ikke kan finde tilbage
til det oprindelige password igen. Det er helt sikkert den rigtige
metode til ultra sikre applikationer, så som net-bank, især når det så
kombineres med SSL, men til de fleste formål mener jeg lidt at det er
overkill. Men det er nok bare mig. ;)

--
Thomas Due
Software Developer
Scanvaegt Nordic A/S
Posted with XanaNews version 1.15.7.2

Jørn Andersen (10-10-2003)
Kommentar
Fra : Jørn Andersen


Dato : 10-10-03 14:57

On Fri, 10 Oct 2003 06:17:24 +0000 (UTC), "Thomas Due"
<t.due@scanvaegt_REMOVE.dk> wrote:

>Jeg er personligt lidt imod irreversible kryptering, da jeg mener at
>det er en bedre service at kunne sende password'et til kunden hvis han
>glemmer det, end at sende et helt nyt til ham.

Problemet er, at omkostningen ved denne service er større end værdien
af servicen. Du taber for meget sikkerhed i forhold til den lille
ulempe det er, at brugeren skal have et nyt password (og så straks
ændre dette igen).
Desuden har jeg det også sådan, at det ikke gør noget, at brugere
oplever *en vis form for gene* ved at de glemmer deres passwords.

>Jeg har leget en del med MD5, både i ASP og ASP.NET, og det er da nemt,
>men metoden taber meget efter min mening når man ikke kan finde tilbage
>til det oprindelige password igen. Det er helt sikkert den rigtige
>metode til ultra sikre applikationer, så som net-bank, især når det så
>kombineres med SSL, men til de fleste formål mener jeg lidt at det er
>overkill.

Problemet her er, at brugere ofte(st) bruger de samme passwords til
"banale" systemer som til mere værdifulde. Min filosofi er, at det
ikke skal være pga. *min* applikation, at "nogen" (ad omveje) får
adgang til brugernes bankkonti el.lign.

>Men det er nok bare mig. ;)

Sikkerhed er jo altid relativ, aldrig absolut, så selvfølgelig har du
ret i, at det er et spørgsmål om hvor store omkostninger man kaster
efter et bestemt niveau af sikkerhed.

Good luck!

--
Jørn Andersen,
Brønshøj

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

Månedens bedste
Årets bedste
Sidste års bedste