Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.
Ach, 16 gebruikers hebben momenteel een 1-karakter wachtwoord. Geef mij de gebruikersnamen en ik ben best bereid om die te brute-forcen hoor....oisyn schreef op dinsdag 13 september 2011 @ 22:52:
[...]
Maar hoe helpen de nieuwe strenge wachtwoordeisen daar aan mee dan? 6 tekens bruteforcen via de loginprocedure van t.net gaat 'm ook niet echt worden.
Maar het ging mij niet specifiek om de eisen, maar meer om jouw stukje dat een t.net account niet belangrijk is. Bij 99% van alle sites / fora etc ben ik het met je eens. Maar bij t.net dan net weer niet omdat er daar ook gewoon een stukje marktplaats aanvasthangt.
Een wachtwoord van het viva-forum vind ik onbelangrijk (wow, iemand plaatst iets raars onder mijn naam in mijn vakantie). Als iemand onder jouw naam bijv de nieuwe TombRaider beta te koop aanbiedt op V&A dan denk ik dat er redelijk wat mensen instinken als ze jouw post-geschiedenis nakijken.
Daarom vind ik bij t.net een wachtwoord wel enige waarde hebben en mogen er best eisen aan het wachtwoord gesteld worden wmb.
De eisen zelf vind ik discutabel, magoe.
Ehm. Mag ik dan zeggen dat 'jullie' nieuwsbericht een rare kop heeft?crisp schreef op dinsdag 13 september 2011 @ 22:15:
[...]
uhm, sinds gisteren gaan alle my.tnet pagina's over https hoor
De kop had moeten zijn:
'Tweakers herstelt beveiligingslek en past veiligheidsbeleid aan'
(nog korter ook)
Nu wordt er in de kop alleen naar de gebruikers gewezen...
Hulp wordt niet gewaardeerd. Zoek het dus zelf uit
Tegelijkertijd kom ik dagelijks op tweakers en heb ik het echt wel door als er iets in mijn postgeschiedenis staat waarvan ik niets weetGomez12 schreef op dinsdag 13 september 2011 @ 23:10:
Als iemand onder jouw naam bijv de nieuwe TombRaider beta te koop aanbiedt op V&A dan denk ik dat er redelijk wat mensen instinken als ze jouw post-geschiedenis nakijken.
Behalve bij het aanmaken van een account zie ik het beveiligingslek niet. T.net biedt al jaren de optie aan om de wachtwoor "versleuteld te versturen" (eigenlijk een challenge/response system, maar soit), en dat staat standaard aan.Quacka schreef op dinsdag 13 september 2011 @ 23:35:
[...]
Ehm. Mag ik dan zeggen dat 'jullie' nieuwsbericht een rare kop heeft?
De kop had moeten zijn:
'Tweakers herstelt beveiligingslek en past veiligheidsbeleid aan'
(nog korter ook)
Nu wordt er in de kop alleen naar de gebruikers gewezen...
[ Voor 34% gewijzigd door .oisyn op 13-09-2011 23:41 ]
Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.
Jammer dat Google Chrome dan aangeeft dat de verbinding met de site niet goed is en dat zeer waarschijnlijk delen op de site niet goed beveiligd zijn, waardoor er wordt aangeraden geen persoonlijke informatie te delencrisp schreef op dinsdag 13 september 2011 @ 22:15:
[...]
uhm, sinds gisteren gaan alle my.tnet pagina's over https hoor

Viva-forum heeft volgens mij geen expliciet verkoop-gedeelte waardoor imho oplichting een veel minder grote rol gaat spelen..oisyn schreef op dinsdag 13 september 2011 @ 23:39:
[...]
Tegelijkertijd kom ik dagelijks op tweakers en heb ik het echt wel door als er iets in mijn postgeschiedenis staat waarvan ik niets weet. Maar wat jij zegt over het Viva forum gaat dan toch net zo goed op? Daar lopen ook vast wel meubelstukken rond die door iedereen gekend en vertrouwd worden.
Hier is een los stukje marktplaats waar meubelstuk zijn imho toch ietwat meeteelt aan de vertrouwensbasis. Oftewel wat extra uitgebuit kan worden bij misbruik.
Zie Ceritficaat erroralex3305 schreef op dinsdag 13 september 2011 @ 23:40:
[...]
Jammer dat Google Chrome dan aangeeft dat de verbinding met de site niet goed is en dat zeer waarschijnlijk delen op de site niet goed beveiligd zijn, waardoor er wordt aangeraden geen persoonlijke informatie te delen.
Intentionally left blank
All my posts are provided as-is. They come with NO WARRANTY at all.
32 bytes 10 000 maal door `sha256sum` halen: 14 seconden..oisyn schreef op dinsdag 13 september 2011 @ 22:39:
Je wilt wel een limiet. Zeker met een dure hash functie wil je voorkomen dat DoS attacks mogelijk zijn door simpelweg hele lange passphrases toe te staan. Het mag imho wel wat langer ja, maar het hoeft natuurlijk ook geen 1024 te zijn. Maar goed, 32 is dan nog redelijk.
1024 bytes 10 000 maal door `sha256sum` halen: 14 seconden.
Ok, 100 000 iteraties: 32 bytes: 2 minuten en 27,506 seconden.
100 000 iteraties 1024 bytes: 2 minuten en 28,481 seconden.
Hmm, da's wel apart.. Ik verwacht op z'n minst toch íets verschil..
[ Voor 9% gewijzigd door Osiris op 14-09-2011 00:53 ]
All my posts are provided as-is. They come with NO WARRANTY at all.
Denk dat we dus wel kunnen concluderen dat een potentieel DoS-risico geen reden is voor een max. password-length van 32. Of 1024 for that matter. Althans, in het geval van SHA-256. Ik kan zo snel geen *nix-CLI-proggie vinden wat die maffe hash-functie die T.net gebruikt doet.
Same difference. Dan doe je je metingen nog een keer en krijg je alles gedeeld door 1.4Osiris schreef op woensdag 14 september 2011 @ 01:22:
Maar dit is geen SHA-1, maar een SHA-2-variant, welke volgens Wikipedia 1,4x zo langzaam is
All my posts are provided as-is. They come with NO WARRANTY at all.
Ok... laten we hier beginnen. 8 tekens, 26 letters.stereohead schreef op dinsdag 13 september 2011 @ 14:04:
- Minimaal 8 tekens
Hier kan ik me in vinden, anders wordt Brute Force te makkelijk.
26 ^ 8 = 208827064576 mogelijkheden
Als het op dezelfde lokatie staat... inderdaad niet zinnig, anders verdubbelt het opeens de hoeveelheid tekens- Minimaal 1 hoofdletter,
Dit heeft maar weinig invloed op de sterkte van een wachtwoord, die ene hoofdletter staat toch bijna altijd op een voorspelbare plaats. Zoals jullie overigens zelf aangeven in het artikel.
52 ^ 8 = 53459728531456
Ok... dit vergroot de mogelijkheden.- Minimaal 1 cijfer of speciaal teken.
Dit heeft tevens maar weinig invloed op de sterkte van een wachtwoord, want ook hierbij geld dat die bijna altijd op een voorspelbare plaats staat.
10 cijfers + ~20 speciale tekens?
Now we're getting somewhere...
82 ^ 8 = 2044140858654976
Geen vreemde tekens verkleint het aantal mogelijkheden misschien wat kwa tekens, maar je hebt opeens wel veel meer tekens.Wat helemaal raar is, is dat jullie aan het eind van het artikel de tip geven om een zinnetje van willekeurige woorden te gebruiken (ala "correct horse battery staple"). Maar zo'n wachtwoord wordt dus helemaal niet toegestaan!
a-z + spatie = 27 met ~32 tekens?
27 ^ 32 = 6362685441135942358474828762538534230890216321
De eisen zijn slim genoeg imhoKortom. Het advies in het artikel, en de eisen aan het wachtwoord spreken elkaar tegen.
Niet dus, want met 'correct horse battery staple' (eventussendoor: spaties in een wachtwoord? wat een geniaal idee!*) ben je beduidend beter af dan met Tw3akers, om maar een voorbeeld te noemen.
Ik heb dit toevallig laatst ook even zitten proberen; mijn laptop kan 70 miljoen MD5sums per seconde uitproberen. En dat is dan een laptop met een mobile kaartje van 2009 (en waarschijnlijk niet de best geoptimaliseerde software). Een moderne bak met wat serieuzere GPU's kan er een miljard per seconde doen. Met die snelheid is élk 8-karakterig wachtwoord binnen no-time geraden, ongeacht hoeveel speciale karakters je gebruikt.
Sterker nog: voor heel veel van die wachtwoorden (ook dit heb ik proefondervindelijk ondervonden) kun je de MD5 gewoon in google prikken en dan zoekt die 't in een van de geindexeerde rainbow tables op. Kost je nog geen seconde.
Het enige wat ons op dit moment redt tegen dit soort aanvallen op hashes is lengte.
*) De grap is dus dat de meeste mensen van 'correct horse battery staple' direct 'correcthorsebatterystaple' maken omdat ze het concept spatie in je wachtwoord niet snappen.
[ Voor 7% gewijzigd door CyBeR op 14-09-2011 02:25 ]
All my posts are provided as-is. They come with NO WARRANTY at all.
Ik heb geen notificatiebalk of mailtje gekregen (ik zit bij de "goede" 50%.oisyn schreef op dinsdag 13 september 2011 @ 14:37:
Mijn huidige wachtwoord is blijkbaar sterk genoeg (geen mailtje gehad), maar bevat geen hoofdletter, dus ik laat het er maar bij, maar dit gaat werkelijkwaar helemaal nergens over.

Dat is natuurlijk helemaal geen probleem als je op je werk achter NAT of een proxy zit..oisyn schreef op dinsdag 13 september 2011 @ 15:51:
In je cookie staat niet je wachtwoord. Als je je sessie hebt gelinkt aan je ip is hij ook zo goed als niet te misbruiken door iemand anders.
Wat de neuk ìs een productteam en waarom werkt dat onafhankelijk van de crew?.oisyn schreef op dinsdag 13 september 2011 @ 16:45:
Fair enough
.edit: nee, eigenlijk niet fair enough. Waarom beslist een productteam over dergelijke eisen?
Nouja je wil niet dat mensen de laatste Transformers film in base64 als wachtwoord gaan gebruiken, maar 32 karakters is wel héél kort.Osiris schreef op dinsdag 13 september 2011 @ 19:19:
Overigens:
HTML:
1 <input type="password" name="NwPassword1" id="NwPassword1" maxlength="32">
Dus een beetje mooie lange zin als passphrase gaat sowieso niet lukken
Sowieso apart om daar een max aan te hebben? Het wordt toch gehasht, nobody cares als je daar een paragraaf Lorem ipsum indrukt lijkt me?
Overigens:
Vele uren? Moet je dan geen 9 of 10 tekens vereisen?Deze aanpak bleek efficiënter dan een brute-forceaanval. Het zou immers vele uren geduurd hebben om alle mogelijke wachtwoorden van maximaal acht tekens te berekenen,
http://xkcd.com/936/CyBeR schreef op woensdag 14 september 2011 @ 02:24:
*) De grap is dus dat de meeste mensen van 'correct horse battery staple' direct 'correcthorsebatterystaple' maken omdat ze het concept spatie in je wachtwoord niet snappen.
Ik haal hier geen spaties uit hoor.
Mag ik trouwens een carriage return in mijn wachtwoord hebben?
[ Voor 8% gewijzigd door Mentalist op 14-09-2011 03:09 ]
Verstuurd vanaf mijn Computer®
Dat kan nu natuurlijk sowieso nog wel; je zult 't altijd nog server-side moeten checken uiteraardW3ird_N3rd schreef op woensdag 14 september 2011 @ 03:04:
[...]
Nouja je wil niet dat mensen de laatste Transformers film in base64 als wachtwoord gaan gebruiken, maar 32 karakters is wel héél kort.
En ik bedoelde 't ook eigenlijk als 'opkrikken naar een limiet die in de praktijk niet gehaald zal worden'.
Ik zeg: pak PHP + CURL erbij en probeer het?W3ird_N3rd schreef op woensdag 14 september 2011 @ 03:04:
Mag ik trouwens een carriage return in mijn wachtwoord hebben?
[ Voor 17% gewijzigd door Osiris op 14-09-2011 04:22 ]
Dat zou ik ook voorstellen. Maak er gewoon 1024 van ofzo, het is te hopen dat niemand daaraan komt.Osiris schreef op woensdag 14 september 2011 @ 04:21:
[...]
Dat kan nu natuurlijk sowieso nog wel; je zult 't altijd nog server-side moeten checken uiteraardBesides, PHP heeft ook een maximum POST-data-limiet, maximum execution-time.
En ik bedoelde 't ook eigenlijk als 'opkrikken naar een limiet die in de praktijk niet gehaald zal worden'.
Ik bedoelde het meer als "Mag ik alsjeblieft een carriage return in mijn wachtwoord op t.net hebben?[...]
Ik zeg: pak PHP + CURL erbij en probeer het?
Verstuurd vanaf mijn Computer®
Hangt natuurlijk heel erg van je hashing algoritme af (een salt helpt daarbij natuurlijk ook wel iets, mits dit algoritme geheim blijft).CyBeR schreef op woensdag 14 september 2011 @ 02:24:
Niet dus, want met 'correct horse battery staple' (eventussendoor: spaties in een wachtwoord? wat een geniaal idee!*) ben je beduidend beter af dan met Tw3akers, om maar een voorbeeld te noemen.
Wederom... salted hashes gebruiken van hebben rainbow tables weinig nut meer.Sterker nog: voor heel veel van die wachtwoorden (ook dit heb ik proefondervindelijk ondervonden) kun je de MD5 gewoon in google prikken en dan zoekt die 't in een van de geindexeerde rainbow tables op. Kost je nog geen seconde.
Nee, laten we hier beginnen:Wolfboy schreef op woensdag 14 september 2011 @ 02:16:
[...]
Ok... laten we hier beginnen. 8 tekens, 26 letters.
26 ^ 8 = 208827064576 mogelijkheden
De keyspace is an, met a het aantal verschillende karakters dat je in kan voeren en n de lengte van het wachtwoord. Welke van de twee heeft meer zin om te verhogen, denk je?
De eisen zijn dom. Ik wil 'n' vergroten en 'a' klein houden om het makkelijk te kunnen onthouden, maar t.net eist van mij dat ik 'a' vergroot. De eisen helpen ook niet, want iemand die nu geen hoofdletter heeft denkt "oh, dan begin ik gewoon met een hoofdletter". Als iedereen dat doet blijft a dus gewoon exact gelijk.
En daarnaast, iedereen schijnt het alweer te vergeten, maar ze gebruiken dus geen MD5 hash meer, en het nu gebruikte algoritme is absoluut niet zo snel te kraken - en dit geldt dan ook nog eens alleen als de database bloot ligt, want via het inlogscherm kraken is sowieso een factor miljarden trager. Er wordt nu iets afgedekt dat niet echt lek meer was, maar aan andere serieuzere problemen (sessie stelen) wordt niet gewerkt
[ Voor 40% gewijzigd door .oisyn op 14-09-2011 12:05 ]
Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.
Dat is - kan ik je vertellen - een foute aannamemaar aan andere serieuzere problemen (sessie stelen) wordt niet gewerkt
Intentionally left blank
Hangt van de verhoudingen af natuurlijk, maar zoals de rest van m'n post wel duidelijk maakt is een langer wachtwoord al snel zinniger ja..oisyn schreef op woensdag 14 september 2011 @ 11:58:
[...]
Nee, laten we hier beginnen:
De keyspace is an, met a het aantal verschillende karakters dat je in kan voeren en n de lengte van het wachtwoord. Welke van de twee heeft meer zin om te verhogen, denk je?
De eisen zijn idd dom, de kwaliteitsindicatie lijkt me wel correct. Een betere eis lijkt me om een bepaalde entropy te vereisen.De eisen zijn dom. Ik wil 'n' vergroten en 'a' klein houden om het makkelijk te kunnen onthouden, maar t.net eist van mij dat ik 'a' vergroot.
Het productteam is niet de business maar bestaat uit mensen die visueel, interactie een functioneel ontwerp doen. Dat zijn dus allemaal dingen die op de gebruikservaring betrekking hebben, zo ook de eisen die aan het wachtwoord gesteld worden. Daarin willen we een balans vinden tussen veiligheid en gebruiksvriendelijkheid. Wij staan gewoon open voor feedback van onze bezoekers (en van development) en luisteren ook als er niet 'stevig' gepraat wordt.MrWilliams schreef op dinsdag 13 september 2011 @ 19:06:
[...]
Tijd dus voor de architect, die over invulling van dergelijke eisen gaat, om eens stevig te gaan praten met het product-team (dat mijns inziens wel kan stellen dat er ingelogd dient te worden, maar niet gaat over de security eisen die aan het inloggen zelf gesteld dienen te worden. Als ze dat wel doen dan is dat een typisch gevalletje business die zich met inhoudelijke IT zaken bezighoudt.)
Het lijkt me zinvol om de eisen voor het wachtwoord aan te passen zodat lengte en gebruik van verschillende soorten tekens (cijfers, lowercase letters, uppercase letters en bijzondere tekens) tegen elkaar worden afgewogen.
Verstuurd vanaf mijn Computer®
Tegen brute-forcen helpt een salt niets. Dat wil zeggen, je moet dan wel elk wachtwoord dat je hebt apart brute-forcen, maar als je sowieso al achter een enkel wachtwoord aan zat maakt dat niets uit.Wolfboy schreef op woensdag 14 september 2011 @ 09:31:
[...]
Hangt natuurlijk heel erg van je hashing algoritme af (een salt helpt daarbij natuurlijk ook wel iets, mits dit algoritme geheim blijft).
Het type hash in zichzelf maakt ook niet zo heel veel uit (het blijft een stukje data van een paar karakters), alleen wordt voor moderne password storage gebruik gemaakt van heel veel iteraties van dezelfde hash om 't langer te laten duren.
Dat is waar. Maar dat deed t.net eerder niet, dat was gewoon 'md5(passwd)' in de db.[...]
Wederom... salted hashes gebruiken van hebben rainbow tables weinig nut meer.
All my posts are provided as-is. They come with NO WARRANTY at all.
Daarnaast heeft het, helaas, als oorzaak dat ik nu mijn t.net wachtwoord niet verander omdat ik per se geen hoofdletters of vreemde tekens erin wil hebben.
Want dat stimuleert wachtwoord hergebruik totaaaaaal nietcrisp schreef op dinsdag 13 september 2011 @ 22:23:
[...]
True dat, lijkt mij een stukje legacy wat wel opgeruimd mag worden
Overigens vind ik het persoonlijk niet verkeerd om enigszins dwingend het gebruik van een relatief sterk wachtwoord te forceren

Wat mijn inziens een veel groter probleem is, want niet alle sites hashen de wachtwoorden, en dan kan je nog wel een ijzersterk wachtwoord hebben, als het bekend is, dan is het bekend.
Dat ben ik dus, bonzz.netninja en MI6W3ird_N3rd schreef op woensdag 14 september 2011 @ 15:11:
Mooi, dan zijn we het volgens mij allemaal eens met elkaar.Waar is het productteam?
Wat bedoel je precies? Een sterk wachtwoord hoeft niet te betekenen dat het voor een mens ook onmogelijk te onthouden is. Zoals in dit topic al meer gezegd is is een zogenaamde 'pass-phrase', bijvoorbeeld "op een dag keek ik omhoog en zag ik een roze koe", waarschijnlijk sterker dan iets als "oMg$1"DRaakje schreef op woensdag 14 september 2011 @ 16:12:
[...]
Want dat stimuleert wachtwoord hergebruik totaaaaaal niet
Intentionally left blank
Waarom beslissen jij, bonzz.netninja en MI6 dan stomme dingen?
>"Overigens vind ik het persoonlijk niet verkeerd om enigszins dwingend het gebruik van een relatief sterk wachtwoord te forceren"crisp schreef op woensdag 14 september 2011 @ 16:17:
[...]
Wat bedoel je precies? Een sterk wachtwoord hoeft niet te betekenen dat het voor een mens ook onmogelijk te onthouden is. Zoals in dit topic al meer gezegd is is een zogenaamde 'pass-phrase', bijvoorbeeld "op een dag keek ik omhoog en zag ik een roze koe", waarschijnlijk sterker dan iets als "oMg$1"
<"Want dat stimuleert wachtwoord hergebruik totaaaaaal niet

Ik denk dat DRaakje het las als dat jij het eens bent met de huidige eisen.
Tegelijk is "geefmetoegangofmehomiesdoenpipategenjekoppie" niet toegestaan, want:
• Geen hoofdletter.
• Geen cijfer of speciaal teken.
• Meer dan 32 karakters.
[ Voor 7% gewijzigd door Mentalist op 14-09-2011 22:38 ]
Verstuurd vanaf mijn Computer®
Zo was mijn (nieuwe) wachtwoord toen ik hem invoerde volgens de kwaliteit meting "supersterk". Toen ik account aanpassen drukte kreeg ik de melding dat er ook nog een hoofdletter in mijn wachtwoord moest. Terwijl die volgens de 'meting' al supersterk was.
"Write code as if the next maintainer is a vicious psychopath who knows where you live."
En dat is een geintje natuurlijk
In feite maakt het niet uit hoe veilig je wachtwoord is.
Er zijn altijd manieren om weer meer rekenkracht te bemachtigen en om weer meer hashes te vergelijken per seconde.
De enige manier om een wachtwoord veilig te krijgen is ervoor te zorgen dat het alle mogelijk tekens bevat die de computer maar snapt.
Je kunt ook een cijfercombinatie doen, maar uiteindelijk zal alles wel te brute-forcen zijn en hangt het er vanaf hoe de algoritmes door de mogelijkheden cyclen.
Ook algoritmes kennen hun flaws die ervoor zorgen dat ze bepaalde mogelijkheden buitensluiten.
Als je dus DIE uitzonderingen kent, dan ben je veilig. Theoretisch...
*edit*
En Ozzie bewijst dat die eisen meestal alleen maar frustratie met zich meebrengen.
Zonder dat zo iets verandering in het risico brengt.
[ Voor 87% gewijzigd door Yezpahr op 14-09-2011 23:24 ]
mobo: Asus Prime B450-Plus // cpu: AMD Ryzen 5 2600X // graka: Asus Dual Radeon RX 580 OC 8GB GDDR5 // mem: Corsair Vengeance LPX CMK16GX4M2B3200C16 // opslag: Crucial MX500 500GB
Dit is echt een schitterend gebied vanwege de vele literatuur die er over beschikbaar is inclusief empirische resultatencrisp schreef op woensdag 14 september 2011 @ 16:17:
[...]
Wat bedoel je precies? Een sterk wachtwoord hoeft niet te betekenen dat het voor een mens ook onmogelijk te onthouden is. Zoals in dit topic al meer gezegd is is een zogenaamde 'pass-phrase', bijvoorbeeld "op een dag keek ik omhoog en zag ik een roze koe", waarschijnlijk sterker dan iets als "oMg$1"
Specifiek over bovenstaande password mnemonics: Human selection of mnemonic phrase-based passwords
Op Google Scolar is enorm veel te vinden over (in)effectieve password policies inclusief een flink aantal papers met empirische resultaten:We show the majority of survey respondents based their mnemonic passwords on phrases that can be found on the Internet, and we generate a mnemonic password dictionary as a proof of concept. Our 400,000-entry dictionary cracked 4% of mnemonic passwords; in comparison, a standard dictionary with 1.2 million entries cracked 11% of control passwords.
password policy usable security empirical entropy of een subset danwel variatie erop. Cranor, Anderson en anderen hebben goede informatieve publicaties op hun naam staan.
The true cost of unusable password policies: password use in the wild
Password memorability and security: Empirical results
etc
De grap is dat juist heel veel 'good practices' bewezen ineffectief zijn omdat het niet aansluit op de mens.
[ Voor 10% gewijzigd door Rukapul op 14-09-2011 23:23 ]
Hehehe. In de achtergrond zijn dat 18 karakters.Yezpahr schreef op woensdag 14 september 2011 @ 22:56:
Mijn wachtwoord voldoet de komende 10 jaar nog wel: ლ(ಠ益ಠ)ლ
All my posts are provided as-is. They come with NO WARRANTY at all.
Jep, nog geen UTF8 hier helaas...CyBeR schreef op woensdag 14 september 2011 @ 23:24:
[...]
Hehehe. In de achtergrond zijn dat 18 karakters.
Intentionally left blank
Overigens ben ik wel benieuwd over welke encoding CyBeR het dan heeft?
Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.
Oh mischien heeft 'wc' de newline erbij geteld. 17, 18, bleh.oisyn schreef op donderdag 15 september 2011 @ 00:07:
In UTF-8 zijn het ook 17 bytes hoor
Overigens ben ik wel benieuwd over welke encoding CyBeR het dan heeft?
All my posts are provided as-is. They come with NO WARRANTY at all.
Bij ons is dit een wachtwoord van 38 bytes; het komt namelijk zo aan op de server:.oisyn schreef op donderdag 15 september 2011 @ 00:07:
In UTF-8 zijn het ook 17 bytes hoor
Overigens ben ik wel benieuwd over welke encoding CyBeR het dan heeft?
1
| ლ(ಠ益ಠ)ლ |
[ Voor 6% gewijzigd door crisp op 15-09-2011 08:14 ]
Intentionally left blank
Dit vind ik wel een goede eigenlijk. Met wat tips erbij die zeggen hoe je een wachtwoord "sterker" kan maken.Ozzie schreef op woensdag 14 september 2011 @ 22:40:
Zou er niet gewoon gebruik gemaakt kunnen worden van dezelfde functie die bepaald of je wachtwoord sterk is of niet?
Zo was mijn (nieuwe) wachtwoord toen ik hem invoerde volgens de kwaliteit meting "supersterk". Toen ik account aanpassen drukte kreeg ik de melding dat er ook nog een hoofdletter in mijn wachtwoord moest. Terwijl die volgens de 'meting' al supersterk was.
Als je de salted hash te pakken krijgt zonder de salt (en/of het algoritme, salt ervoor, salt erachter, salt er doorheen) is het opeens een stuk lastiger. Dan helpt een salt heel veel tegen brute-forcen.CyBeR schreef op woensdag 14 september 2011 @ 15:20:
[...]
Tegen brute-forcen helpt een salt niets. Dat wil zeggen, je moet dan wel elk wachtwoord dat je hebt apart brute-forcen, maar als je sowieso al achter een enkel wachtwoord aan zat maakt dat niets uit.
En in deze heeft Femme de lead
[ Voor 4% gewijzigd door bonzz.netninja op 15-09-2011 09:56 ]
vuistdiep in het post-pc tijdperk van Steve | Joepie joepie. Dat ging echt toppie! | https://www.dedigitaletuin.nl
Zonder de salt kan de originele code er ook niets mee. Als iemand de hash heeft is 't veilig om aan te nemen dat 'ie de salt ook heeft. Dat zijn namelijk stukjes informatie die onlosmakelijk met elkaar verbonden zijn. En zodanig ook meestal gewoon aan elkaar geplakt in de db staan. Bijvoorbeeld, UNIX password hashes:Wolfboy schreef op donderdag 15 september 2011 @ 09:39:
[...]
Als je de salted hash te pakken krijgt zonder de salt (en/of het algoritme, salt ervoor, salt erachter, salt er doorheen) is het opeens een stuk lastiger. Dan helpt een salt heel veel tegen brute-forcen.
$1$CqaUu7e4$c14V.Mu1LJTXnlfAd.t8D1
De salt is 'CqaUu7e4' en de hash 'c14V.Mu1LJTXnlfAd.t8D1'.
Salt ervoor of salt erachter, mwah maakt alles *2 als je 't niet weet, niet zo spannend dus in the grand scheme of things. Verder: als een aanvaller je wachtwoordendatabase heeft is 't ook alweer niet onredelijk om aan te nemen dat 'ie ook je code in kan zien.
Het lijkt me zeer sterk dat een wachtwoordveld door de server eerst gehtmlencode wordt, voordat 't naar de database gaat. De client levert 't niet zo aan, namelijk.crisp schreef op donderdag 15 september 2011 @ 08:13:
[...]
Bij ons is dit een wachtwoord van 38 bytes; het komt namelijk zo aan op de server:
code:(en wordt vervolgens afgekeurd vanwege geen letters)
1 ლ(ಠ益ಠ)ლ
[ Voor 18% gewijzigd door CyBeR op 15-09-2011 10:06 ]
All my posts are provided as-is. They come with NO WARRANTY at all.
Dat hoop ik toch echt van niet, want om je wachtwoord door htmlspecialchars() oid te gooien gaat dus echt nergens overcrisp schreef op donderdag 15 september 2011 @ 08:13:
[...]
Bij ons is dit een wachtwoord van 38 bytes; het komt namelijk zo aan op de server:
code:
1 ლ(ಠ益ಠ)ლ

[ Voor 9% gewijzigd door .oisyn op 15-09-2011 11:21 ]
Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.
Dat doen wij niet, dat doet je browser....oisyn schreef op donderdag 15 september 2011 @ 11:20:
[...]
Dat hoop ik toch echt van niet, want om je wachtwoord door htmlspecialchars() oid te gooien gaat dus echt nergens over
De client levert het dus wel zo aan via een pagina die als ISO-8859-15 geserveerd is...CyBeR schreef op donderdag 15 september 2011 @ 10:05:
[...]
Het lijkt me zeer sterk dat een wachtwoordveld door de server eerst gehtmlencode wordt, voordat 't naar de database gaat. De client levert 't niet zo aan, namelijk.
[ Voor 39% gewijzigd door crisp op 15-09-2011 11:25 ]
Intentionally left blank
%26%234314%3B%28%26%233232%3B%26%2330410%3B%26%233232%3B%29%26%234314%3B
Vervolgens zie je die data niet, want PHP decodet dat weer als een UTF-8 string. Je script ziet dus gewoon 17 tekens. Hoe de pagina geserveerd wordt doet er niet toe.
.edit: blijkbaar zitten daar wel html entities in

[ Voor 19% gewijzigd door .oisyn op 15-09-2011 11:34 ]
Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.
Het is echt serieus je browser die dat doet; testscriptje:.oisyn schreef op donderdag 15 september 2011 @ 11:29:
[...]
.edit: blijkbaar zitten daar wel html entities in. Dan hebben jullie waarschijnlijk gewoon een script dat dat doet. Why?!
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
| <?php header('Content-Type: text/html; charset=ISO-8859-15'); ?> <!doctype html> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-15"> <form action="" method="post"> <input name="s" type="text"> <input type="submit"> </form> <p>POST:</p> <pre><?php echo htmlspecialchars(print_r($_POST, 1)); ?></pre> |
En als je wilt verifieren dat het niet PHP is die stom doet, check dan ook maar wat er over de lijn gaat
Intentionally left blank
Ik stel voor dat t.net een beetje rap-achtig met de tijd meegaat en UTF-8 gaat gebruiken.
Kut, net te laat om niet gequote te worden
[ Voor 92% gewijzigd door CyBeR op 15-09-2011 12:02 ]
All my posts are provided as-is. They come with NO WARRANTY at all.
Test het zelf met het script hierboven als je me niet geloofd...CyBeR schreef op donderdag 15 september 2011 @ 11:57:
[...]
Dat doet mijn browser niet zonder het verteld te worden.
[...]
Als jullie er een script tussen proppen (waarom in godsnaam?) dat eerst alle velden htmlencode, dan wel ja, maar zolang jullie geen domme scripts inserten (even tussendoor, scripts die shit uithalen met je wachtwoord == giant red flag) komt 't gewoon als UTF-8 aan. Hoogstens urlencoded zoals .oisyn al zegt.
Intentionally left blank

Lekker handig voor de inlogprocedure ook. Dat betekent dat als je je wachtwoord wijzigt met de ene browser, je mogelijk niet kan inloggen met de andere browser
Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.
Alle major browsers doen dat hetzelfde; het staat ook in de HTML5 specificatie.oisyn schreef op donderdag 15 september 2011 @ 12:27:
Ah, wederom een gat in de HTTP standaard. Niemand zegt wat er moet gebeuren als je een karakter wilt encoden dat niet in je encoding past. De ene browser stuurt een HTML entity, de ander luistert naar RFC3986 en encodet 'm gewoon als UTF-8. Of ze worden gewoon gereplaced met een willekeurig karakter (zoals een vraagteken).
Lekker handig voor de inlogprocedure ook. Dat betekent dat als je je wachtwoord wijzigt met de ene browser, je mogelijk niet kan inloggen met de andere browser
Intentionally left blank
mja, we zouden wel willen maar zolang PHP nog niet volledig unicode-compliant is en dat dus ook een hoop workarounds vergt beginnen we daar liever nog niet aan (het is sowieso een behoorlijke ingreep)...CyBeR schreef op donderdag 15 september 2011 @ 11:57:
Ik sta gecorrigeerd. Voor ISO-8859-15 geldt dat inderdaad.
Ik stel voor dat t.net een beetje rap-achtig met de tijd meegaat en UTF-8 gaat gebruiken.
Intentionally left blank
Ah okcrisp schreef op donderdag 15 september 2011 @ 12:46:
[...]
Alle major browsers doen dat hetzelfde; het staat ook in de HTML5 specificatie
[ Voor 8% gewijzigd door .oisyn op 15-09-2011 13:49 ]
Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.
Ik zat meer te denken aan het stelen van de hashes alleen, maar als je beiden hebt dan heb je uiteraard volledig gelijkCyBeR schreef op donderdag 15 september 2011 @ 10:05:
[...]
Zonder de salt kan de originele code er ook niets mee. Als iemand de hash heeft is 't veilig om aan te nemen dat 'ie de salt ook heeft. Dat zijn namelijk stukjes informatie die onlosmakelijk met elkaar verbonden zijn. En zodanig ook meestal gewoon aan elkaar geplakt in de db staan. Bijvoorbeeld, UNIX password hashes:
Mwah... kan. Al zie ik toch vaker SQL injection exploits waarbij alle data zichtbaar is dan exploits waarbij de hele code ook zichtbaar is.Salt ervoor of salt erachter, mwah maakt alles *2 als je 't niet weet, niet zo spannend dus in the grand scheme of things. Verder: als een aanvaller je wachtwoordendatabase heeft is 't ook alweer niet onredelijk om aan te nemen dat 'ie ook je code in kan zien.
Niet ondenkbaar natuurlijk, maar zeker geen gegeven.
Aangezien de salt en de hash eigenlijk nooit apart worden opgeslagen, kun je stellen dat de kans dat iemand alleen de hash heeft vrij klein is.Wolfboy schreef op donderdag 15 september 2011 @ 15:18:
[...]
Ik zat meer te denken aan het stelen van de hashes alleen, maar als je beiden hebt dan heb je uiteraard volledig gelijk
Uiteraard kan het zo zijn dat iemand alleen de database-gegevens te pakken krijgt. Maar dan geldt nog steeds dat het niet weten of de salt voor- of achteraan moet, bijvoorbeeld, slechts een verdubbeling van de search space betekent. En dat is er van uitgaande dat je dom bent.Mwah... kan. Al zie ik toch vaker SQL injection exploits waarbij alle data zichtbaar is dan exploits waarbij de hele code ook zichtbaar is.
Niet ondenkbaar natuurlijk, maar zeker geen gegeven.
Over het algemeen is het namelijk moeilijker om die data úit de tabel te krijgen dan data er ín te krijgen. Dat kun je namelijk doen door een account aan te maken. Daarna weet je het wachtwoord van dat account (dat heb je er immers zelf in zitten proppen) en kun je het weer extraheren zoals geprocessed door het systeem. Gegeven dat je de plaintext weet is het achterhalen welke soort hash er precies gebruikt is en welke manier over 't algemeen een kwestie van een paar mogelijkheden proberen.
All my posts are provided as-is. They come with NO WARRANTY at all.
De salt kan toch in een los bestand staan, buiten de webroot, dat je include met PHP?CyBeR schreef op donderdag 15 september 2011 @ 15:43:
Aangezien de salt en de hash eigenlijk nooit apart worden opgeslagen, kun je stellen dat de kans dat iemand alleen de hash heeft vrij klein is.
En als je nou echt een klotesalt neemt?[...]
Uiteraard kan het zo zijn dat iemand alleen de database-gegevens te pakken krijgt. Maar dan geldt nog steeds dat het niet weten of de salt voor- of achteraan moet, bijvoorbeeld, slechts een verdubbeling van de search space betekent. En dat is er van uitgaande dat je dom bent.
Neem bijvoorbeeld dit als basis-salt:
F];^rzm4p~<xD.RoPs3$v%7r;?'=WmG[4"fx4QX?#YhwWMzN@ShKe$&8XUtY-T@
Dat vul je dan aan met (extrasalt):
Wachtwoordhash start met (of neem karakter X van de hash):
A: "lorem"
B: "ipsum"
C: "dolor"
etc
En dan maak je de finale hash (tis lang geleden dat ik PHP heb gedaan, maar je snapt wat ik bedoel, je kan beter geen md5 gebruiken natuurlijk
$hashvoordatabase = md5($basissalt.$wachtwoordhash.$extrasalt);
Zelfs bruteforce lijkt me zo vrij lastig en de volledige hashmethode kan je alleen achterhalen met toegang tot de harde schijf van de server.
Verstuurd vanaf mijn Computer®
Het is niet per se de bedoeling van een salt dat ie onbekend moet blijven. Waar het om gaat is dat, door elke gebruiker een eigen salt te geven, rainbowtables niet meer geschikt zijn om te gebruiken.W3ird_N3rd schreef op donderdag 15 september 2011 @ 20:52:
[...]
De salt kan toch in een los bestand staan, buiten de webroot, dat je include met PHP?
Als je de salt in een apart bestand op gaat slaan, waarom deed je dat dan niet al met het wachtwoord zelf?
[ Voor 5% gewijzigd door .oisyn op 15-09-2011 20:58 ]
Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.
Hmm, salten adhv. de gebruikersnaam ofzo? Misschien ook wel leuk..oisyn schreef op donderdag 15 september 2011 @ 20:56:
[...]
Het is niet per se de bedoeling van een salt dat ie onbekend moet blijven. Waar het om gaat is dat, door elke gebruiker een eigen salt te geven, rainbowtables niet meer geschikt zijn om te gebruiken.
Je kan iig dusdanig complex salten dat het eigenlijk niet te bruteforcen is. Desnoods stop je de laatste transformers film in base64 in je salt.
Omdat je op deze manier de PHP-code, dat aparte bestand èn de database te pakken moet krijgen. En omdat wachtwoorden of hashes in losse bestanden niet zo praktisch zijn?Als je de salt in een apart bestand op gaat slaan, waarom deed je dat dan niet al met het wachtwoord zelf?
Verstuurd vanaf mijn Computer®
Op zich een optie maar geeft moeilijkheden als je een gebruikersnaam wilt kunnen wijzigen (je weet het originele wachtwoord niet, dus je kunt ook geen nieuwe hash berekenen). Typisch sla je gewoon een random string op bij de hash van het wachtwoordW3ird_N3rd schreef op donderdag 15 september 2011 @ 20:59:
[...]
Hmm, salten adhv. de gebruikersnaam ofzo? Misschien ook wel leuk.
Als wachtwoorden opslaan in aparte bestanden niet zo praktisch is, waarom zou dat met salts dan wel zo zijn?Omdat je op deze manier de PHP-code, dat aparte bestand èn de database te pakken moet krijgen. En omdat wachtwoorden of hashes in losse bestanden niet zo praktisch zijn?
Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.
Dat zou inhouden dat de salt voor elke gebruiker hetzelfde is. Dat doet het punt van salted wachtwoordhashes nogal teniet.W3ird_N3rd schreef op donderdag 15 september 2011 @ 20:52:
[...]
De salt kan toch in een los bestand staan, buiten de webroot, dat je include met PHP?
Bovendien: de salt hoeft niet geheim te blijven. Die dient slechts twee redenen: het gebruik van rainbow tables onmogelijk (of toch op z'n mist heel irritant) te maken, en ervoor zorgen dat twee gebruikers die hetzelfde wachtwoord gebruiken, niet dezelfde hash hebben.
Idealiter is de salt dus gewoon 100% random.
Tsja, je maakt 't inderdaad iets lastiger en de eerste drie kneuzen zullen waarschijnlijk afhaken maar écht een veiliger geheel heb je er niet mee.En als je nou echt een klotesalt neemt?
Neem bijvoorbeeld dit als basis-salt:
F];^rzm4p~<xD.RoPs3$v%7r;?'=WmG[4"fx4QX?#YhwWMzN@ShKe$&8XUtY-T@
Dat vul je dan aan met (extrasalt):
Wachtwoordhash start met (of neem karakter X van de hash):
A: "lorem"
B: "ipsum"
C: "dolor"
etc
En dan maak je de finale hash (tis lang geleden dat ik PHP heb gedaan, maar je snapt wat ik bedoel, je kan beter geen md5 gebruiken natuurlijk):
$hashvoordatabase = md5($basissalt.$wachtwoordhash.$extrasalt);
Zelfs bruteforce lijkt me zo vrij lastig en de volledige hashmethode kan je alleen achterhalen met toegang tot de harde schijf van de server.
Voor de duidelijkheid: salts zijn in zichzelf geen beveiliging van hashes ofzo. Ze dienen alleen om het brute-forcen moeilijker te maken.
[ Voor 4% gewijzigd door CyBeR op 15-09-2011 21:37 ]
All my posts are provided as-is. They come with NO WARRANTY at all.
Afhankelijk van hoe je de salt implementeert natuurlijk denk ik niet dat 't echt veel tegen brute-forcen doet.. Immers, als ik uit mijn brute-force-proggie het volgende terugkrijg: "4QX?#YhwWMhottentottententententoonstelling" dan weet ik wel wat de salt en wat het wachtwoord isCyBeR schreef op donderdag 15 september 2011 @ 21:35:
Voor de duidelijkheid: salts zijn in zichzelf geen beveiliging van hashes ofzo. Ze dienen alleen om het brute-forcen moeilijker te maken.
Je eerder genoemde rainbowtables daarentegen
[ Voor 5% gewijzigd door Osiris op 15-09-2011 21:41 ]
[ Voor 73% gewijzigd door .oisyn op 15-09-2011 22:56 ]
Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.
Omdat ik eraan dacht om het allemaal met één salt te doen die voor iedere gebruiker hetzelfde is. Met die salt erbij re-hash je natuurlijk, dus het is met 1000 hashes voor je neus niet obvious wat de salt is..oisyn schreef op donderdag 15 september 2011 @ 21:02:
[...]
Als wachtwoorden opslaan in aparte bestanden niet zo praktisch is, waarom zou dat met salts dan wel zo zijn?
Iedere user een eigen salt geven geeft zover ik me kan bedenken theoretisch ook geen extra veiligheid. Sterker nog, omdat iedere user een eigen salt krijgt stop je die salt waarschijnlijk (omdat het makkelijk is) ook in de database - ligt je salt alsnog op straat als de database is gehackt. Ik lees nu de post van .oisyn, het kraken zal inderdaad een stuk langer duren.
Waarom?CyBeR schreef op donderdag 15 september 2011 @ 21:35:
Dat zou inhouden dat de salt voor elke gebruiker hetzelfde is. Dat doet het punt van salted wachtwoordhashes nogal teniet.
Vertel mij, waarom? Ik kan me niet verzinnen waarom dat het punt teniet doet. Je breekt rainbowtables en je kan zonder de salt geen aanval beginnen.
Hmm, met dat tweede heb je een punt. Ook al is dat op zich ook geen heel groot probleem zolang je nog steeds niks kan kraken.Bovendien: de salt hoeft niet geheim te blijven. Die dient slechts twee redenen: het gebruik van rainbow tables onmogelijk (of toch op z'n mist heel irritant) te maken, en ervoor zorgen dat twee gebruikers die hetzelfde wachtwoord gebruiken, niet dezelfde hash hebben.
Hoe kraak je zoiets dan? Bruteforce gaat niet volgens mij, daarvoor is de basissalt al te lang.Tsja, je maakt 't inderdaad iets lastiger en de eerste drie kneuzen zullen waarschijnlijk afhaken maar écht een veiliger geheel heb je er niet mee.
Met mijn methode gaat dat dus niet, want de zon is met een beetje pech opgebrand tegen de tijd dat jouw bruteforceproggie mijn 63 random karakters(+extrasalt+wachtwoordhash) heeft gebruteforced.Osiris schreef op donderdag 15 september 2011 @ 21:40:
[...]
Afhankelijk van hoe je de salt implementeert natuurlijk denk ik niet dat 't echt veel tegen brute-forcen doet.. Immers, als ik uit mijn brute-force-proggie het volgende terugkrijg: "4QX?#YhwWMhottentottententententoonstelling" dan weet ik wel wat de salt en wat het wachtwoord is
Je eerder genoemde rainbowtables daarentegen
Dus het beste is volgens mij een random salt per gebruiker om bruteforce te vertragen en een geheime niet-unieke salt buiten de webroot om enige aanval waarbij de hacker de geheime salt niet heeft weten te verkrijgen volstrekt nutteloos te maken.
[ Voor 5% gewijzigd door Mentalist op 15-09-2011 22:56 ]
Verstuurd vanaf mijn Computer®
Je kunt een nieuwe rainbowtable genereren die je op alle gebruikers kunt toepassen. En hoe meer gebruikers, hoe interessanter het wordt om een dergelijke custom rainbowtable te genereren.W3ird_N3rd schreef op donderdag 15 september 2011 @ 22:49:
Waarom?
Vertel mij, waarom? Ik kan me niet verzinnen waarom dat het punt teniet doet. Je breekt rainbowtables en je kan zonder de salt geen aanval beginnen.
Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.
De aanleiding van deze en de diverse andere discussies was ons onderzoek waarbij we een dictionary-attack uitvoerden. Die attack werkt door domweg woorden uit een lijstje te halen (of varianten erop te genereren) en die te hashen. Als je zo'n hash dan tegen 300.000 losse wachtwoorden aan kan houden is dat een hele efficiente manier om het gehele wachtwoordbestand te kraken. Het genereren van hashes is relatief duur, het vergelijken ervan is relatief goedkoop ook tegen een hele berg wachtwoorden.W3ird_N3rd schreef op donderdag 15 september 2011 @ 22:49:
Waarom?
Vertel mij, waarom? Ik kan me niet verzinnen waarom dat het punt teniet doet. Je breekt rainbowtables en je kan zonder de salt geen aanval beginnen.
In jouw voorstel is het slechts heel marginaal duurder om de salt te moeten gebruiken dan om gewoon geen salt te hebben bij de door ons uitgevoerde aanval. Als je er voor zorgt dat elke opgeslagen hash een eigen salt heeft, zorg je er automatisch voor dat je niet meer 300.000 vergelijkingen met 1 gegenereerde hash kunt doen, maar dat je de hele hash-constructieprocedure per wachtwoord moet uitvoeren.
En dat was nou net het 'dure' deel... dus hoe meer je een eventuele aanvaller dwingt dat te herhalen, hoe beter.
E.e.a. is natuurlijk wel te combineren, een losse systeem-salt kan gebruikt worden zodat een gevonden wachtwoordlijst nog een component mist, dat elders staat opgeslagen. Maar echt heel veel voegt dat niet toe voor de beveiliging.
Zodra je de basissalt weet is de lengte totaal niet van belang. Je zult sowieso ervan uit moeten gaan dat als je wachtwoordlijst achterhaald kon worden, dat ook je basissalt dan niet veilig is...Hoe kraak je zoiets dan? Bruteforce gaat niet volgens mij, daarvoor is de basissalt al te lang.
Je kan zonder salt helemaal niets genereren..oisyn schreef op donderdag 15 september 2011 @ 22:58:
[...]
Je kunt een nieuwe rainbowtable genereren die je op alle gebruikers kunt toepassen. En hoe meer gebruikers, hoe interessanter het wordt om een dergelijke custom rainbowtable te genereren.
Ik begrijp het (begreep het na de post van .oisyn ook al, die ik nog niet had gezien toen ik dat postteACM schreef op donderdag 15 september 2011 @ 23:16:
[...]
De aanleiding van deze en de diverse andere discussies was ons onderzoek waarbij we een dictionary-attack uitvoerden. Die attack werkt door domweg woorden uit een lijstje te halen (of varianten erop te genereren) en die te hashen. Als je zo'n hash dan tegen 300.000 losse wachtwoorden aan kan houden is dat een hele efficiente manier om het gehele wachtwoordbestand te kraken. Het genereren van hashes is relatief duur, het vergelijken ervan is relatief goedkoop ook tegen een hele berg wachtwoorden.
In jouw voorstel is het slechts heel marginaal duurder om de salt te moeten gebruiken dan om gewoon geen salt te hebben bij de door ons uitgevoerde aanval. Als je er voor zorgt dat elke opgeslagen hash een eigen salt heeft, zorg je er automatisch voor dat je niet meer 300.000 vergelijkingen met 1 gegenereerde hash kunt doen, maar dat je de hele hash-constructieprocedure per wachtwoord moet uitvoeren.
En dat was nou net het 'dure' deel... dus hoe meer je een eventuele aanvaller dwingt dat te herhalen, hoe beter.
Maar dan nog is een geheime salt niet zinloos.
Het is relatief simpel toe te voegen en àls de systeem-salt dan niet is gelekt dan reduceer je de kraak van de gelekte database van "dit gaat even duren" naar "vergeet het maar".E.e.a. is natuurlijk wel te combineren, een losse systeem-salt kan gebruikt worden zodat een gevonden wachtwoordlijst nog een component mist, dat elders staat opgeslagen. Maar echt heel veel voegt dat niet toe voor de beveiliging.
Dat begrijp ik, maar ik ga er juist vanuit dat je de hacker die mogelijk niet te pakken krijgt.Zodra je de basissalt weet is de lengte totaal niet van belang.
Dat is inderdaad mogelijk, maar het is toch een extra drempel. Er zijn ook veel hacks waarbij de hacker alleen de database weet binnen te hengelen, in die gevallen is de database absoluut waardeloos als je zo'n geheime salt hebt.Je zult sowieso ervan uit moeten gaan dat als je wachtwoordlijst achterhaald kon worden, dat ook je basissalt dan niet veilig is...
Verstuurd vanaf mijn Computer®
Voor dit soort data (in essentie configuratiedata) kun je er niet van uitgaan dat die geheim blijft. Als een haxx0rer inbreekt is zoiets het eerste waar 'ie achteraan gaat. En dan heb je dus een probleem: je wilt dan eigenlijk je salt veranderen, maar dat kan niet want je weet niet hoe je de wachtwoorden dan opnieuw moet hashen. Hier veroorzaak je dus een probleem voor jezelf. Zelfs als 't geen inbreker was maar een configuratiefout (zoals .php's die niet intepreted worden, dat komt nog best vaak voor) dan is je salt compromised en moet je dus een nieuwe gebruiken. Kan niet.W3ird_N3rd schreef op donderdag 15 september 2011 @ 23:35:
[...]
Maar dan nog is een geheime salt niet zinloos.
[...]
Het is relatief simpel toe te voegen en àls de systeem-salt dan niet is gelekt dan reduceer je de kraak van de gelekte database van "dit gaat even duren" naar "vergeet het maar".
[...]
Dat begrijp ik, maar ik ga er juist vanuit dat je de hacker die mogelijk niet te pakken krijgt.
Die extra drempel is alleen niet zo heel boeiend voor je beveiliging. Een salt helpt tegen rainbow tables en (als bijkomstigheid) identieke hashes, meer niet. Je moet 't ook niet voor meer dan dat gebruiken.Dat is inderdaad mogelijk, maar het is toch een extra drempel. Er zijn ook veel hacks waarbij de hacker alleen de database weet binnen te hengelen, in die gevallen is de database absoluut waardeloos als je zo'n geheime salt hebt.
En met een enkele systeemsalt heb je dat laatste voordeel dus niet en dat eerste is dan ook al niet meer boeiend want in plaats van md5(passwd) laat de hacker z'n systeem gewoon md5(salt+pw) uitrekenen. Een compleet oninteressante stap dus. Zoals je wellicht in het artikel las is kraken tegenwoordig ongeveer even snel als een rainbow table downloaden.
[ Voor 17% gewijzigd door CyBeR op 16-09-2011 01:03 ]
All my posts are provided as-is. They come with NO WARRANTY at all.
Verwijderd
Goed, opnieuw hashen is dan een probleem. True. Al kan je waarschijnlijk ook net als t.net rehashen bij het inloggen.CyBeR schreef op vrijdag 16 september 2011 @ 01:00:
[...]
Voor dit soort data (in essentie configuratiedata) kun je er niet van uitgaan dat die geheim blijft. Als een haxx0rer inbreekt is zoiets het eerste waar 'ie achteraan gaat. En dan heb je dus een probleem: je wilt dan eigenlijk je salt veranderen, maar dat kan niet want je weet niet hoe je de wachtwoorden dan opnieuw moet hashen.
Dit probleem heb je niet als je salt buiten de webroot staat.Hier veroorzaak je dus een probleem voor jezelf. Zelfs als 't geen inbreker was maar een configuratiefout (zoals .php's die niet intepreted worden, dat komt nog best vaak voor) dan is je salt compromised en moet je dus een nieuwe gebruiken. Kan niet.
Wèl interessant als de hacker de systeemsalt niet heeft, maar wel alle salts+wachtwoordhashes uit de database heeft.Die extra drempel is alleen niet zo heel boeiend voor je beveiliging. Een salt helpt tegen rainbow tables en (als bijkomstigheid) identieke hashes, meer niet. Je moet 't ook niet voor meer dan dat gebruiken.
En met een enkele systeemsalt heb je dat laatste voordeel dus niet en dat eerste is dan ook al niet meer boeiend want in plaats van md5(passwd) laat de hacker z'n systeem gewoon md5(salt+pw) uitrekenen. Een compleet oninteressante stap dus.
Als je er zo naar kijk maakt de geheime salt zelfs een wachtwoord als "123" sterk. En zo werkt het ook, zolang die salt geheim is is zelfs het wachtwoord "wachtwoord" niet te kraken, ook al heb je de hele database+unieke salts.Verwijderd schreef op vrijdag 16 september 2011 @ 01:12:
Een geheime salt is zinloos want de salt maakt dan technisch gezien deel uit van het wachtwoord.
Vanaf het moment dat ik de post van .oisyn las (een heel stuk terug dus al) zag ik al in dat de systeem/geheime salt geen complete oplossing is, maar als extra kan het in bepaalde situaties best helpen. Voor .oisyn zijn post had ik me nog niet bedacht dat de salt er o.a. is om het bruteforcen enorm te vertragen.
Toen ik 5 jaar terug met PHP zat te kloten las ik ook al suggesties om salts te gebruiken, maar toen kon niemand echt goed uitleggen waar het goed voor was. Het zijn ook vooral de GPGPU systemen van vandaag die hier echte grote risico's realistisch maken.
Neem nu jullie oude database met zuiver MD5 sums. Als die database was gelekt was er een groot probleem geweest. Had er dan een systeem/geheime salt in gezeten en de hacker had geen rootaccess, dan was er wat betreft wachtwoorden geen al te serieus probleem geweest.
[ Voor 19% gewijzigd door Mentalist op 16-09-2011 01:35 ]
Verstuurd vanaf mijn Computer®
Behalve dat in dat geval al je wachtwoorden ook al als compromised te beschouwen zijn en je dus alles moet resetten.W3ird_N3rd schreef op vrijdag 16 september 2011 @ 01:24:
[...]
Goed, opnieuw hashen is dan een probleem. True. Al kan je waarschijnlijk ook net als t.net rehashen bij het inloggen.
True, maar denk je werkelijk dat dat het enige is wat kan gebeuren?Dit probleem heb je niet als je salt buiten de webroot staat.
Neuh. Hij moet dan een iets langere string bruteforcen. Boo hoo. Wordt pas interessant als je salt langer is dan je hash, maar dan moet je weer aan collisions gaan denken waarmee in veel gevallen je salt buiten spel gezet wordt.Wèl interessant als de hacker de systeemsalt niet heeft, maar wel alle salts+wachtwoordhashes uit de database heeft.
Maar we hadden je toch geleerd dat je van die heimelijkheid niet uit mag gaan? Dit is een schoolvoorbeeld van security by obscurity.Als je er zo naar kijk maakt de geheime salt zelfs een wachtwoord als "123" sterk. En zo werkt het ook, zolang die salt geheim is is zelfs het wachtwoord "wachtwoord" niet te kraken, ook al heb je de hele database+unieke salts.
Juist. Het is uitermate simpel om vandaag nog (nouja, morgen) een systeem in elkaar te bakken wat een miljard hashes per seconde kan uitrekenen. Daarmee ga je snel door zo'n keyspace heen hoor.Toen ik 5 jaar terug met PHP zat te kloten las ik ook al suggesties om salts te gebruiken, maar toen kon niemand echt goed uitleggen waar het goed voor was. Het zijn ook vooral de GPGPU systemen van vandaag die hier echte grote risico's realistisch maken.
Again, iets meer moeite maar om 't noemenswaardig te noemen gaat me te ver. Zeker als je jezelf wat kunt helpen met een known plaintext (zodat je het bruteforcen van hegt wachtwoord zelf over kunt slaan.)Neem nu jullie oude database met zuiver MD5 sums. Als die database was gelekt was er een groot probleem geweest. Had er dan een systeem/geheime salt in gezeten en de hacker had geen rootaccess, dan was er wat betreft wachtwoorden geen al te serieus probleem geweest.
All my posts are provided as-is. They come with NO WARRANTY at all.
Nu is mijn voorbeeldsysteemhash van 63 karakters natuurlijk nergens op gebaseerd. Ik weet niet hoe krachtig zo'n GPGPU systeem precies is, maar kan je daarmee werkelijk een string van 1024chars bruteforcen? Of anders 4096. Of.. hoeveel moet het zijn voor je het niet meer realistisch kan bruteforcen?CyBeR schreef op vrijdag 16 september 2011 @ 02:17:
Again, iets meer moeite maar om 't noemenswaardig te noemen gaat me te ver. Zeker als je jezelf wat kunt helpen met een known plaintext (zodat je het bruteforcen van hegt wachtwoord zelf over kunt slaan.)
Als je 140chars kan bruteforcen kan je ieder bericht dat ooit op Twitter is gepost en in de toekomst zal worden gepost en iedere SMS die ooit is verzonden en ooit zal worden verzonden bruteforcen. Dat is.. wow.
[ Voor 14% gewijzigd door Mentalist op 16-09-2011 02:34 ]
Verstuurd vanaf mijn Computer®
Nogmaals: het is slechts obscurity. Het levert je wat extra tijd op maar vooral een groot ongemak.
All my posts are provided as-is. They come with NO WARRANTY at all.
Het ongemak hoeft niet zo groot te zijn (je kan de key in hetzelfde bestand als je SQL-password opslaan, dat staat ook buiten je webroot) en bij een kraak waarbij alle hashes+unieke salts op straat liggen kan het het verschil beteken tussen "langzaam maar zeker worden de meeste wachtwoorden gekraakt" en "laten we eens rustig nadenken hoe we een veiliger systeem op kunnen zetten".CyBeR schreef op vrijdag 16 september 2011 @ 02:56:
Nogmaals: het is slechts obscurity. Het levert je wat extra tijd op maar vooral een groot ongemak.
Als de systeemsalt ook op straat ligt werkt het natuurlijk niet, maar dat hoeft niet te gebeuren. Mocht het wel gebeuren, dan is de situatie niet slechter dan wanneer je geen systeemsalt had gehad.
[ Voor 14% gewijzigd door Mentalist op 16-09-2011 03:15 ]
Verstuurd vanaf mijn Computer®
Wij niet.
All my posts are provided as-is. They come with NO WARRANTY at all.
Iets voor de volgende scrum iteratie?Femme schreef op woensdag 14 september 2011 @ 15:08:
[...]
Het lijkt me zinvol om de eisen voor het wachtwoord aan te passen zodat lengte en gebruik van verschillende soorten tekens (cijfers, lowercase letters, uppercase letters en bijzondere tekens) tegen elkaar worden afgewogen.
In ieder geval een volgende iteratie of het de volgende al komt is natuurlijk even afwachtenstereohead schreef op vrijdag 16 september 2011 @ 12:54:
Iets voor de volgende scrum iteratie?
Type een testwachtwoord.
Sluit dit beter aan bij jullie verwachtingen van eis voor een relatief sterk wachtwoord, maar met voldoende vrijheid om daar een eigen interpretatie aan te geven?
T.o.v. het NIST-verhaal heb ik het iets aangepast, omdat de password-crackers die ik gezien heb met verschillende character-classes werken.
.edit: wel apart dat hoofdletters meer entropie opleveren dan kleine letters.
[ Voor 35% gewijzigd door .oisyn op 16-09-2011 17:49 ]
Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.
Verwijderd
Maar:
Mijn wachtwoord voor Tweakers levert 28bits, met 10 tekens. Klinkt goed. Niettemin kreeg ik met dat wachtwoord wel zo'n gele balk te zien dat mijn password niet sterk genoeg was... Vermoedelijk omdat een deel van mijn wachtwoord in zo'n dictionary stond? Dus dan is deze methode misschien toch niet zo heel goed. (maar wel beter dan wat we hadden.)
Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.
Nouja, je kan de hash-stap natuurlijk overslaan, dus wellicht dat het "maar" 5-10 minuten is danGomez12 schreef op vrijdag 16 september 2011 @ 18:12:
Enige manier om dezelfde check als de gele balk te krijgen is door per wachtwoordwijziging een half uur per gebruiker te gaan cracks, daar zit ook niemand op te wachten...
Met die check is een random wachtwoord met kleine-letters en cijfers nog steeds niet veilig genoeg. Bijvoorbeeld 'ab1c7d5ef', zo'n wachtwoord lijkt mij wel veilig genoeg. Tevens is mijn 'favoriete' wachtwoord een random reeks van kleine-letters en cijfers.ACM schreef op vrijdag 16 september 2011 @ 17:12:
...
Sluit dit beter aan bij jullie verwachtingen van eis voor een relatief sterk wachtwoord, maar met voldoende vrijheid om daar een eigen interpretatie aan te geven?
...
Ik pleit voor geen enkele restrictie op het wachtwoord, het is IMO de verantwoordelijkheid van de gebruiker om een veilig wachtwoord te gebruiken.
[ Voor 12% gewijzigd door stereohead op 17-09-2011 18:49 ]
Met 1 teken erbij is het wel genoegstereohead schreef op zaterdag 17 september 2011 @ 18:48:
[...]
Met die check is een random wachtwoord met kleine-letters en cijfers nog steeds niet veilig genoeg. Bijvoorbeeld 'ab1c7d5ef', zo'n wachtwoord lijkt mij wel veilig genoeg. Tevens is mijn 'favoriete' wachtwoord een random reeks van kleine-letters en cijfers.
Randgevallen zal je altijd houden waarbij de gebruiker het 'wel voldoende' vindt, maar ons algoritme het daar niet mee eens is...
Daar ben ik het niet geheel mee eens. Het is gebleken dat je de gemiddelde gebruiker op het gebied van wachtwoorden best als 'dom' kan beschouwen, dus er mag best wat opvoedkundige waarde uitgaan van een wachtwoordpolicy, vermits die policy ook redelijk is en de gebruiker weer niet te veel belemmerd in het kiezen van een goed wachtwoord.Ik pleit voor geen enkele restrictie op het wachtwoord, het is IMO de verantwoordelijkheid van de gebruiker om een veilig wachtwoord te gebruiken.
Redelijkheid is in het geding als de policy bepaalde eisen stelt die niet noodzakelijk bijdragen aan extra veiligheid bij een bepaald gekozen wachtwoord, dus moeten die eisen worden bijgesteld zodat het een betere indicatie geeft van de veiligheid van een bepaald wachtwoord. De entropy-berekening van ACM is een methode daartoe, maar we doen eigenlijk al langer een soort entropybereking van het wachtwoord in de vorm van de wachtwoordsterktemeter - alles wat minder dan 'vrij sterk' is zouden we eigenlijk kunnen afwijzen.
Je kan pleiten voor 'geen restricties', maar wij als Tweakers.net hebben ook een bepaalde zorgplicht naar onze gebruikers, waaronder de zorg om persoonsgegevens veilig te bewaren. Dat betekent dus automatisch dat wij verplicht zijn om een bepaalde mate van beveiliging op te dringen aan onze gebruikers waar het om hun account gaat.
Intentionally left blank
Maargoed mijn favoriete wachtwoord bestaat dus uit random 6 kleine letters + 2 cijfers. Deze is toch veilig tegen dictionary en bruteforce attacks. Om maar even een voorbeeld te nemen, google geeft aan dat mijn wachtwoord 'sterk' is.crisp schreef op zondag 18 september 2011 @ 01:39:
[...]
Met 1 teken erbij is het wel genoeg
Randgevallen zal je altijd houden waarbij de gebruiker het 'wel voldoende' vindt, maar ons algoritme het daar niet mee eens is...
[...]
Ik denk dus het algoritme te streng is.
Had al wel verwacht dat niet iedereen mijn mening zou delenDaar ben ik het niet geheel mee eens.
[...]
[ Voor 44% gewijzigd door stereohead op 18-09-2011 10:23 ]
Niet meer dus, want ik heb begrepen dat dit met GPGPU in een kwestie van uren te bruteforcen is.stereohead schreef op zondag 18 september 2011 @ 10:20:
[...]
Maargoed mijn favoriete wachtwoord bestaat dus uit random 6 kleine letters + 2 cijfers. Deze is toch veilig tegen dictionary en bruteforce attacks. Om maar even een voorbeeld te nemen, google geeft aan dat mijn wachtwoord 'sterk' is.
Verstuurd vanaf mijn Computer®
Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.
Ik ga er voor het gemak vanuit dat het huidige algoritme ook wel weer eens gekraakt zal worden..oisyn schreef op zondag 18 september 2011 @ 17:00:
Met MD5 ja, een hash algoritme dat t.net nu niet meer gebruikt.
En het aantal mogelijkheden met 8 karakters is blijkbaar gewoon snel genoeg te doorlopen.
Verstuurd vanaf mijn Computer®
Je wachtwoord is binnen een paar minuten gekraakt bij gebruik van MD5:stereohead schreef op zondag 18 september 2011 @ 10:20:
[...]
Maargoed mijn favoriete wachtwoord bestaat dus uit random 6 kleine letters + 2 cijfers. Deze is toch veilig tegen dictionary en bruteforce attacks. Om maar even een voorbeeld te nemen, google geeft aan dat mijn wachtwoord 'sterk' is.
http://golubev.com/gpuest.htm
Met 10 miljard pogingen per seconde op een nieuwe GPU gaat het hard
Gemiddeld genomen zal het wachtwoord dan dus gevonden worden na 2821 / 10 / 2 = 141 seconden oftewel 2 minuten en 21 seconden
Ter vergelijk PKBDF2 oplossingen zoals nu door tweakers toegepast zijn te vergelijken met de methoden voor MS Office 2007, WinZip/AES en WPA (iteraties verschillen, hash algo's evt ook) die slechts 50 duizend tot 1 miljoen passwords per seconde kunnen testen (zie gelinkte tabel).
Concreet: je wachtwoord kun je echt beter wat langer/complexer maken en een update zoals nu door t.net snijdt hout
[ Voor 10% gewijzigd door Rukapul op 18-09-2011 17:49 ]
MD5 is niet gekraakt (niet in de context van het omkeren van een hash althans - hij is hoogstens niet meer collision-resistant, wat voor de toepassing van het opslaan van wachtwoorden weinig uitmaakt). Het doel van MD5 is een snel message digest algoritme met een goede distributie van de hash space. Juist die eigenschap "snel" maakt het eigenlijk ongeschikt voor het gebruik van het hashen van wachtwoorden - dat is het feitelijk altijd al geweest.W3ird_N3rd schreef op zondag 18 september 2011 @ 17:03:
[...]
Ik ga er voor het gemak vanuit dat het huidige algoritme ook wel weer eens gekraakt zal worden.
Daarnet zei ik dat t.net geen MD5 meer gebruikt - dat is niet per se waar. Wat ik eigenlijk bedoelde te zeggen was dat ze geen md5($password) meer deden. PBKBF is een key derivation function dat gebruik maakt van key stretching en een bestaand hasing algoritme om de tijd van een enkele hash zo lang mogelijk te maken. Het is prima mogelijk om MD5 te gebruiken als hashing algoritme voor PBKBF, en feitelijk staat nergens dat t.net dat niet doet.
[ Voor 43% gewijzigd door .oisyn op 18-09-2011 18:55 ]
Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.
Klopt, ik bedoelde het meer in de zin van "er komt mogelijk weer betere hardware of een slim algoritme om de huidige methode net zo snel te hashen als md5 nu"..oisyn schreef op zondag 18 september 2011 @ 18:34:
MD5 is niet gekraakt (niet in de context van het omkeren van een hash althans - hij is hoogstens niet meer collision-resistant, wat voor de toepassing van het opslaan van wachtwoorden weinig uitmaakt). Het doel van MD5 is een snel message digest algoritme met een goede distributie van de hash space. Juist die eigenschap "snel" maakt het eigenlijk ongeschikt voor het gebruik van het hashen van wachtwoorden - dat is het feitelijk altijd al geweest.
Verstuurd vanaf mijn Computer®
Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.
Ik moet zeggen dat jouw post ook wel hout snijdtRukapul schreef op zondag 18 september 2011 @ 17:48:
[...]
Concreet: je wachtwoord kun je echt beter wat langer/complexer maken en een update zoals nu door t.net snijdt hout
Maar alsnog, waarom een T.net password 'veiliger' maken dan b.v. een gmail password. Ik neem aan dat google ook wel serieus nadenkt over dit soort kwesties.
Ik vind het positief dat T.net haar users op de hoogte brengt van de veiligheid van hun wachtwoorden. Maar vind nog steeds dat het de verantwoordelijkheid van de gebruiker is om een veilig wachtwoord te kiezen.
Je mag als T.net dan wel een zorgplicht hebben, maar 'zorgen' betekend niet dat je je users met een stok moet gaan slaan tot ie z'n bord leeg vreet.
Sorry dat ik zo eigenwijs ben, maar ik wil graag m'n huidige, slechte wachtwoord vervangen door mn favoriete, betere wachtwoord.
[ Voor 26% gewijzigd door .oisyn op 18-09-2011 23:01 ]
Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.
Ik heb inderdaad al onze backups 'gesloopt' door die tables eruit te halen, onsite en offsite. Als het goed is bestaat er nergens meer een kopie van die table..oisyn schreef op zondag 18 september 2011 @ 22:59:
Overigens aan de devvers / db admins, ik hoop dat de MD5 database inmiddels fysiek is verwijderd? En dus ook niet ergens nog in een archief of database backup staat oid.
"Een serveradmin, voluit een serveradministrator, is dan weer een slavenbeheerder oftewel een slavendrijver" - Rataplan
Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.
Ik voer een nieuw wachtwoord in: volgens het algoritme is dit 'Sterk'. Als ik hem op wil slaan, krijg ik echter te horen dat 'ie niet goed is, omdat er geen hoofdletter in zat.
Ik zou verwachten dat ik dan niet eerder te horen krijg dat mijn wachtwoord 'Sterk' is.
Dat is ook wat er in dit topic wordt voorgesteld en we uiteindelijk ook wel willen gaan implementeren: op het moment dat uit een entropy-check blijkt dat een wachtwoord voldoet aan een bepaalde minimum-sterkte dan worden er verder geen inhoudelijke restricties meer opgelegdRekcor schreef op maandag 19 september 2011 @ 13:25:
Misschien is dit al eerder gemeld hierboven (in dat geval kun je dit bericht als niet-gepost beschouwen)
Ik voer een nieuw wachtwoord in: volgens het algoritme is dit 'Sterk'. Als ik hem op wil slaan, krijg ik echter te horen dat 'ie niet goed is, omdat er geen hoofdletter in zat.
Ik zou verwachten dat ik dan niet eerder te horen krijg dat mijn wachtwoord 'Sterk' is.
Intentionally left blank
Verstuurd vanaf mijn Computer®
Hoeveel problemen zou jij ermee hebben als ik jouw javascriptje zou rippen en toepassen in m'n eigen password-change-appje?ACM schreef op vrijdag 16 september 2011 @ 17:12:
Ik heb op basis van dit NIST-verhaal een simpel javascriptje gebakken dat een "entropy" berekend en aan de hand daarvan je wachtwoord wel of niet accepteerd. Momenteel zit de arbitraire grens op 24 bits entropy en alsnog minimaal 8 tekens. 24 bits haal je o.a. door een wachtwoord van 8 karakters te typen volgens de oude eisen (dus met een hoofdletter en cijfer of speciaal teken), maar ook makkelijk door een passphrase toe te passen (bijv die uit het xkcd-voorbeeld).
[..]
Sluit dit beter aan bij jullie verwachtingen van eis voor een relatief sterk wachtwoord, maar met voldoende vrijheid om daar een eigen interpretatie aan te geven?
T.o.v. het NIST-verhaal heb ik het iets aangepast, omdat de password-crackers die ik gezien heb met verschillende character-classes werken.
All my posts are provided as-is. They come with NO WARRANTY at all.
Niet zoveel. Zo spannende code is het niet en het is een vrij straight-forward vertaling van die NIST-informatie.CyBeR schreef op maandag 19 september 2011 @ 17:17:
Hoeveel problemen zou jij ermee hebben als ik jouw javascriptje zou rippen en toepassen in m'n eigen password-change-appje?
Intentionally left blank
Dit topic is gesloten.