Password_hash uitlezen!

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Senior Front-End Developer

As a Senior Front-end Developer you maintain the balance between creativity and functionality for our webshop, and you coach your fellow developers. How do I become a Senior Front-End Developer at Coolblue? As a Front-end Developer you work on the user-friendliness of our webshop for millions of customers. You enjoy working with the UX Designer to pick up stories. You get energy from coming up with creative solutions and are happy to present this within the team. You are also proud of your work and welcome all feedback. Would you also like to become a Senior Front-End Developer at Coolblue?

Bekijk vacature »

Software developer

Functieomschrijving Voor een gewaardeerde werkgever in de regio van Middelburg zijn wij op zoek naar een ambitieuze PHP/Symfony Developer. Een enthousiast persoon die het development team komt versterken met het aanpakken van complexe en nieuwe projecten. Ben jij op zoek naar een baan met veel uitdaging binnen een snelgroeiend e-commerce bedrijf, waar je de tijd en ruimte krijgt voor zowel persoonlijke als professionele groei? Lees dan snel verder! Dit ga je doen: Aanpassingssuggesties van collega’s in kaart brengen, vervolgens te analyseren en daarna te concluderen of de aanpassing een verbetering is; Ontwikkeling en beheer van de serviceportal in Symfony en

Bekijk vacature »

Full stack Javascript ontwikkelaar

Functie Benieuwd hoe jouw dag eruit ziet? Je komt binnen rond een uur of 10 en dat start je met de morning call. Dit doen we vanaf het hoofdkantoor of op het lab, ligt eraan welk project je mee bezig bent. Na de call en het verdelen van de tickets ga je met je team aan de slag. Rond een uur of 12 is er een goede lunch en ga je smiddags weer lekker door met je werk. De ene keer maak jij een game voor een groot merk om de interactie tussen product en eindgebruiker te vergroten. De andere

Bekijk vacature »

Back-end programmeur

Functieomschrijving Heb jij kort geleden jouw HBO ICT diploma in ontvangst mogen nemen? Of ben je toe aan een nieuwe uitdaging? Voor een uitdagende werkgever in omgeving Waalwijk zijn wij op zoek naar een enthousiaste softwareontwikkelaar met kennis of ervaring met C# en SQL. In een uitdagende rol als C#.NET Developer werk je samen met een enthousiast en informeel team aan het bouwen van maatwerk software voor variërende klanten. Verder ziet jouw takenpakket er als volgt uit: Je draagt bij aan de implementatie van aanpassingen, verbeteringen en aanvullingen in de C# based applicaties; Je houdt je bezig met het ontwikkelen

Bekijk vacature »

Backend Developer Scrummaster .NET

Samengevat: Deze werkgever is een ambitieus internetbedrijf met een passie voor digitale communicatie. Ben jij geschikt als Backend Developer? Heb je ervaring met .NET platform? Vaste baan: Backend Developer / SCRUM Master Scrum HBO WO €3.800 - €6.000 Deze werkgever is een innovatief bedrijf met enthousiaste mensen die jarenlang ervaring hebben met het ontwikkelen internet- en intranetoplossingen. Wij houden van korte lijnen en open en eerlijke communicatie. Wij zetten graag onze jarenlange ervaring in om perfect werkende oplossingen te ontwikkelen. Wij ondersteunen dienstverlenende organisaties bij het ontwikkelen en realiseren van een effectief, adaptief communicatieplatform. Je ontwikkelt met ons de meest

Bekijk vacature »

BizTalk/ Azure Developer

Dit ga je doen •Understanding the scope of required functionality, translate them within context of way of working of the team into developed solutions, whilst safeguarding documentation; •Planning based on assigned sprint tasks; •Acting as an expert in estimation techniques and planning; •Understanding your role in the agile process and act in this way; •Facilitating internal communication and effective collaboration; •Working closely with scrum master to handle backlogs and new requests; •Providing information to the third parties about activities and needs for compliance. Hier ga je werken Our client is a leading organization focusing on animal nutrition, offering solutions that

Bekijk vacature »

Fullstack Developer

Functieomschrijving Voor een erkende werkgever in regio Etten-Leur zijn wij op zoek naar een Fullstack Developer met PHP/Laravel ervaring. Je gaat aan de slag met het bouwen van maatwerk software voor klanten die actief zijn in een specifieke markt. Als fullstack developer ben je samen met een enthousiast team van 7 collega’s verantwoordelijk voor de ontwikkeling, beheer en innovatie van informatiesystemen voor klanten in een specifieke branche. Verder ondersteun je complexe uitdagingen van klanten. Je brengt hun wensen in kaart en vertaalt deze door naar maatwerk software. Ervaring met Laravel is een must. Om de klant zo goed mogelijk te

Bekijk vacature »

Junior PHP (Laravel) Developer

Functie omschrijving Wij zijn op zoek naar een PHP Laravel Developer! Sta je aan het begin van je carrière en ben je op zoek naar een leuke baan? Lees dan verder! Voor een softwarebedrijf in omgeving van Schiphol zijn wij op zoek naar een ervaren PHP (Laravel) Developer. Je gaat je bezighouden met het ontwikkelen van innovatieve bedrijfsapplicaties. Samen met het team, bestaande uit designers en developers, maak je mooie oplossingen voor bedrijven in diverse branches. Je zorgt dat de opgeleverde websites perfect werken en de klant meer dan tevreden is. Je kunt rekenen op een afwisselende baan met leuke

Bekijk vacature »

Embedded Software Developer

Functie omschrijving Voor een mooi softwarebedrijf in omgeving Ridderkerk zijn wij op zoek naar een Embedded Software developer. Ben jij enthousiast en een echte team player? Lees dan snel of dit iets voor jou is! Binnen deze rol houdt jij je bezig met alle werkzaamheden die nodig zijn om een functionaliteit te bouwen. Denk aan ontwerpen, architectuur, programmeren en algoritmes. Je voert test en validatie werkzaamheden uit bij de implementatie bij de klant. Ben jij een Embedded Software Developer die affiniteit heeft met de allernieuwste technieken? Laat dan snel wat van je horen! Bedrijfsprofiel Onze opdrachtgever bestaat uit een groot

Bekijk vacature »

Lead developer (PHP, Symfony, DDD)

Functie Als Lead developer zorg je ervoor dat het team (bestaande uit zowel junior als ervaren developers) in staat is om de kwaliteit van de software (en code) verder te verhogen. In samenwerking met het team, de product owner en de andere lead developers zet je technische lijnen uit en bepaal je de prioriteiten per sprint. Lijkt het jou interessant om complexe problemen op te lossen en bijvoorbeeld een nieuwe applicatiestructuur in Symfony op te zetten? Dan komen wij graag met je in contact. Eisen • HBO werk- en denkniveau (ze kijken niet naar papieren, maar naar denkniveau, motivatie en

Bekijk vacature »

Als Front-end developer bijdragen aan het onderwij

Functie Als front-end developer om je terecht in een team van goede en ervaren developers, en ga je werken aan de software die door miljoenen mensen gebruikt wordt. Je bent in staat om designs effectief te vertalen naar werkende feautures en hebt oog voor een goede UX van het product. Je staat voor clean code en goede documentatie. Je ziet toegevoegde waarde in het beoordelen van het werk van collega’s om zo samen te streven naar hoge kwaliteit software en code. Je dagelijkse werk bestaat uit het werken aan componenten in de Storybook. Het verbeteren en refactoren van de huidige

Bekijk vacature »

Senior Full Stack developer

Bedrijfsomschrijving tbd Functieomschrijving Full Stack Java Development bij Randstad Groep Nederland (HQ) Er is een vacature in het Corporate Client Solutions (CCS) team. Dit team is met een ander team net begonnen aan het project ‘Grip op Inhuur’. Het doel van dit project is de tevredenheid van onze leveranciers te verhogen en de efficiëntie van onze administratie te verbeteren. Onderdeel daarvan is een ‘Mijn-omgeving’ voor ZZP’ers en leveranciers. Naast dit nieuwe project werkt het team ook aan het onderhoud en verbeteren van een digitaal vacature management systeem waarmee dagelijks vele vacatures worden voorzien. Het team ontwikkelt zo veel mogelijk zelf

Bekijk vacature »

Creatieve Front-end developer gezocht!

Functie Het front-end team bestaat momenteel uit 4 collega’s en is hard aan het groeien! Samen leveren jullie een essentiële bijdrage aan de applicaties die ze voor hun klanten realiseren. Je werkt in het front-end team samen met de back-end teams en product owners om te zorgen dat de applicaties een fijne gebruikerservaring opleveren. Jouw expertise zorgt ervoor dat de juiste keuzes gemaakt worden qua techniek en ontwerp, van back-end tot aan gebruiker. In samenspraak met je team bepalen jullie de beste keuze voor techniek. Ook is er altijd ruimte om nieuwe technieken te ontdekken. Eisen • Je hebt gedegen

Bekijk vacature »

Als Lead PHP developer bijdragen aan het onderwijs

Functie Als Lead PHP developer zet je samen met het team en de andere lead developers de technische lijnen uit als het gaat om het ontwikkelen van de applicaties en bepaal je samen met de PO waar elke sprint aan gewerkt zal worden. Je kunt op basis van een user story een goede aanpak formuleren en een planning opstellen, en andere hierin meenemen. Wanneer je team code schrijft verwacht je degelijke oplossingen, bij voorkeur gebruik makend van Domain Driven Design. Je ziet toegevoegde waarde in het beoordelen van het werk van collega’s om zo samen te streven naar hoge kwaliteit

Bekijk vacature »

Oracle APEX developer

Wat je gaat doen: Als Oracle APEX ontwikkelaar bij DPA werk je samen met collega’s aan de meest interessante opdrachten. Je zult je ervaring met SQL, PL/SQL, JavaScript, HTML en CSS inzetten om wensen van opdrachtgevers te vertalen naar technische oplossingen. Je werk is heel afwisselend, omdat DPA zich niet beperkt tot een specifieke branche. Zo ben je de ene keer bezig binnen de zorgsector, de andere keer is dit bij de overheid. Wat we vragen: Klinkt goed? Voor deze functie breng je het volgende mee: Je hebt een hbo- of universitaire opleiding afgerond Je hebt 2 tot 5 jaar

Bekijk vacature »

Pagina: 1 2 volgende »

Nick van der heijden

nick van der heijden

24/10/2017 17:21:31
Quote Anchor link
Goededag PHPHulpers,

Zoals de titel al aangeeft is het mogelijk om een gehashed password te echoen?
ik heb geen idee hoe dit moet. Ik heb het al gegoogled en dan kom ik op password_verify maar dat is volgens mij alleen om in te loggen zodra er iets gepost word en niet om te echoen.

Kan iemand mij uitleggen hoe ik dit wil kan doen?

Mvg,

Nick
 
PHP hulp

PHP hulp

10/05/2024 09:44:38
 
Ozzie PHP

Ozzie PHP

24/10/2017 17:32:07
Quote Anchor link
>> Zoals de titel al aangeeft is het mogelijk om een gehashed password te echoen?

Ik denk dat je bedoelt of je het originele wachtwoord kunt tonen. Het antwoord is nee.
 
Ben van Velzen

Ben van Velzen

24/10/2017 17:33:44
Quote Anchor link
Wat je wil kan niet, dat is de kracht van hashing. Een betere vraag is waarom je dat zou willen.
 
Nick van der heijden

nick van der heijden

24/10/2017 17:34:13
Quote Anchor link
ja dat klopt Ozzie dat bedoel ik inderdaad.

Oke dan weet ik genoeg Bedankt!
 
Frank Nietbelangrijk

Frank Nietbelangrijk

24/10/2017 17:35:59
Quote Anchor link
Tja waarschijnlijk is je vraag goed bedoeld maar het antwoord zou zijn iets als:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
echo $hash;
?>

Dat is natuurlijk niet het antwoord waarop je zit te wachten.

De meeste wachtwoord hashes zijn niet reversible hetgeen wil zeggen dat je van 'Frank' wel '0df02da8548eeef2174c97c2ade67b4c5adc3160' kunt maken maar andersom niet.

Maar misschien is het handig als je je probleem wat meer uitlegt.
 
Nick van der heijden

nick van der heijden

24/10/2017 17:44:58
Quote Anchor link
@frank ja zo echoen is geen probleem haha, ik moet inderdaad juist andersom van hash naar normale tekst maar dat kan dus niet...
 
Frank Nietbelangrijk

Frank Nietbelangrijk

24/10/2017 17:48:14
Quote Anchor link
Met openSSL kun je encrypten en decrypten mocht je daar iets aan hebben. https://secure.php.net/openssl_encrypt

Echter dit is echt NIET bedoeld om passwords mee te gaan encrypten
Gewijzigd op 24/10/2017 17:49:13 door Frank Nietbelangrijk
 
- Ariën  -
Beheerder

- Ariën -

24/10/2017 18:07:47
Quote Anchor link
En waarom zou je een paswoord willen uitlezen?
 
Toms Diner

Toms Diner

24/10/2017 23:37:13
Quote Anchor link
Je kunt bij de hash, en je wil het password weten, neem ik aan. Als je je eigen (admin) password moet recoveren, vervang de hash door een nieuwe hash waarvan je het bijbehorende password wel weet. (Dus een nieuw wachtwoord hashen, en dat wachtwoord op de plaats van het wachtwoord dat je moet hebben plaatsen) Daarbij moet je het hashen eigenlijk door hetzelfde systeem laten doen, omdat er een salting gebruikt kan zijn. (het toevoegen van tekens aan het wachtwoord voor het hashen, zodat er geen standaard hash ontstaat)

Deze truc kan niet bij andere users: ze zullen doorhebben dat hun wachtwoord veranderd is.

Zijn hashes dan niet te kraken? Niet met een formule. Vergelijk het met een sinus of cosinus berekening: als je de output weet, kun je onmogelijk de input raden. Hetzelfde met restwaarde berekeningen: neem een getal in gedachte (tussen de 100 en de 999), en onthoud de rest bij een deling door 7. Dat getal is niet meer te herleiden naar het getal wat je in je hoofd had.

Een hash berekening is dus een soort controlegetal, en het is niet ondenkbaar dat er in theorie meerdere passwords zijn met dezelfde hash. Overigens is de berekening zo gekozen dat het veranderen van 1 letter in een password van 20 tekens tot een totaal verschillende hash leidt: niet één teken is gelijk... En bij het inloggen op een site zou het dus in theorie ook kunnen dat een ander password met dezelfde hash ook toegang biedt. Maar die kans is bijna net zo groot als zes keer de staatsloterij in een jaar winnen.

Een inlogfunctie genereert dus bij het inschrijven de hash van het password, en onthoudt deze. Bij een inlogpoging wordt hetzelfde trucje gedaan, waarna de hash vergeleken wordt met een opgeslagen hash. Op deze manier kan je op een veilige website (zonder overname users-sessie door admin) een goede logging bij houden: niemand kan elkaars rol overnemen, zelfs als hij toegang heeft tot de hashes. Je zult immers het wachtwoord moeten veranderen om je voor te doen als iemand anders, en dat gaat die persoon merken.

Maar zijn hashed helemaal onkraakbaar? Dat hangt er vanaf. De hash van "Welkom123" of "12345" of "datraadjenooit" is op heel veel servers aanwezig. In tegenstelling tot "*us1&*Skj09aUY". Er bestaan tabellen van veelvoorkomende wachtwoorden en hashes (zei iemand rainbow?) en websites als hashkiller. Deze vormen gelijk het bewijs dat een zwak wachtwoord geen goed idee is.
 
Rob Doemaarwat

Rob Doemaarwat

25/10/2017 07:53:04
Quote Anchor link
Rainbow tables gaan hier niet werken. Omdat er "zout" wordt toegevoegd zal hetzelfde wachtwoord (zonder kennis van het gebruikte "zout") steeds een andere hash genereren. Alleen als je inderdaad een "vrij standaard" wachtwoord hebt zou je nog een "woordenboek aanval" (= alle "bekende" wachtwoorden proberen) kunnen doen. Brute-force (= alle combinaties van alle karakters proberen) is niet te doen.
 
Toms Diner

Toms Diner

25/10/2017 22:45:34
Quote Anchor link
Rob Doemaarwat op 25/10/2017 07:53:04:
Rainbow tables gaan hier niet werken. Omdat er "zout" wordt toegevoegd zal hetzelfde wachtwoord (zonder kennis van het gebruikte "zout") steeds een andere hash genereren. Alleen als je inderdaad een "vrij standaard" wachtwoord hebt zou je nog een "woordenboek aanval" (= alle "bekende" wachtwoorden proberen) kunnen doen. Brute-force (= alle combinaties van alle karakters proberen) is niet te doen.


Ehhh... Waar lees jij dat? Ik zie in de info van de TS nergens een aanwijzing dat salting speelt.. En mocht hij wel gesalte hashes hebben: daar waarschuw ik in mijn post zelf ook al voor....
 
Rob Doemaarwat

Rob Doemaarwat

25/10/2017 23:06:23
Quote Anchor link
Hij heeft het over password_verify(), dan begin je bij password_hash(), en die voegt zelf zout toe: http://php.net/manual/en/function.password-hash.php
 
Thomas van den Heuvel

Thomas van den Heuvel

26/10/2017 13:34:50
Quote Anchor link
Quote:
Er bestaan tabellen van veelvoorkomende wachtwoorden en hashes (zei iemand rainbow?) en websites als hashkiller. Deze vormen gelijk het bewijs dat een zwak wachtwoord geen goed idee is.

Ik dacht dat dat juist wilde zeggen dat de hashingmethode zelf zwak was. Natuurlijk is een sterk wachtwoord goed, maar als de hashingmethode zelf zwak is helpt een sterk wachtwoord niet echt (of liever gezegd, minder goed).

Hashes zijn, zoals @Frank zegt, niet omkeerbaar. Hashing moet je zien als invoer die je door de papierversnipperaar gooit en wat er uitkomt opvangt in verschillende emmers. Deze "rest na deling" (waar @Toms Diner het over had), of de "emmer configuratie" is je hash. Wanneer iemand inlogt met een wachtwoord gooi je deze invoer door dezelfde papierversnipperaar en kijk je of deze "rest na deling" overeenkomt met de eerder opgeslagen hash.

Dit maakt het dus effectief onmogelijk om een wachtwoord te herleiden. Wanneer iemand zijn/haar wachtwoord kwijt is geraakt zal deze persoon via een "lost password" routine deze moeten (kunnen) resetten. Dit gebeurt meestal via e-mail en een unieke hyperlink (ook weer met een hash :)) die een tijdelijke geldigheid heeft.

Iets doet mij vermoeden dat daar mogelijk het probleem zit (het ontbreken van een dergelijke routine).
 
Toms Diner

Toms Diner

26/10/2017 23:09:45
Quote Anchor link
Thomas van den Heuvel op 26/10/2017 13:34:50:
Quote:
Er bestaan tabellen van veelvoorkomende wachtwoorden en hashes (zei iemand rainbow?) en websites als hashkiller. Deze vormen gelijk het bewijs dat een zwak wachtwoord geen goed idee is.

Ik dacht dat dat juist wilde zeggen dat de hashingmethode zelf zwak was. Natuurlijk is een sterk wachtwoord goed, maar als de hashingmethode zelf zwak is helpt een sterk wachtwoord niet echt (of liever gezegd, minder goed).


Mijn interpretatie is dat de hashing niet zwak is, maar het feit dat de hash al in teveel tabellen voorkomt. (de rainbows en andere hash-databases bevatten de hashes van de meest voorkomende wachtwoorden) En dus "herkend worden", als een reeds eerder gehashte waarde.

Een zwakke hash zou te kraken zijn, en bij mijn weten is een hash niet kraakbaar.

Toch heb ik in custom code voor de zorgsector er bewust voor gekozen om een variabele salt te kiezen. Bij elke user is wel een tweede var te vinden die nooit meer wijzigt, maar wel per persoon verschillend is. Denk aan usernumber, username, UTS of registration, enzovoort. Dit was de salt, en levert een tweetraps login op: eerst de username controleren, en de tweede var uit de database halen. Dan die als salt voor het wachtwoord gebruiken, en de hash controleren met de database.

Wat ik overigens lastig vind, is dat het niet ondenkbaar is dat we binnen enkele jaren met een (te) grote onveiligheid in het systeem geconfronteerd worden. De kans is groot dat die uit de hoek van de steeds sneller wordende computers gaat komen, waardoor brute forcen opeens wèl regelmatig tot resultaat leidt. (was geloof ik vorige maand al in het nieuws, dat de rekensnelheid van computers ervoor zorgt dat 5-10 jaar oude beveiligingssystemen te onveilig beginnen te worden).

In bovenstaande situatie zou je graag de boel beter beveiligen, maar omdat je een hash niet om kan draaien, zou je hooguit de hash met een verbeterde hash kunnen behandelen om het gevaar te keren. Om die reden past een kennis van mij AES256 encryptietoe ipv hashing. Dat zou je wel compleet om kunnen zetten naar wat nieuws. Overigens vind ik dit niet kunnen: het is in strijd met de basisbeginselen van veiligheid. De admin kan elk wachtwoord decrypten en zich voordoen als iemand anders.

Rob Doemaarwat op 25/10/2017 23:06:23:
Hij heeft het over password_verify(), dan begin je bij password_hash(), en die voegt zelf zout toe: http://php.net/manual/en/function.password-hash.php


?

Lees nog eens wat hij schrijft? Dat was een term die hij op google vond.....
 
Willem vp

Willem vp

27/10/2017 18:20:58
Quote Anchor link
Toms Diner op 26/10/2017 23:09:45:
Mijn interpretatie is dat de hashing niet zwak is, maar het feit dat de hash al in teveel tabellen voorkomt. (de rainbows en andere hash-databases bevatten de hashes van de meest voorkomende wachtwoorden) En dus "herkend worden", als een reeds eerder gehashte waarde.

Een zwakke hash zou te kraken zijn, en bij mijn weten is een hash niet kraakbaar.

Een hash is niet terug te rekenen naar het origineel, maar bij een zwakke hash is het wel mogelijk om collisions te krijgen, oftewel meerdere input-strings die dezelfde hash geven. De zwakte van MD5 en SHA1 is dan ook dat het té eenvoudig is geworden om dergelijke collisions te vinden.

Quote:
Toch heb ik in custom code voor de zorgsector er bewust voor gekozen om een variabele salt te kiezen. Bij elke user is wel een tweede var te vinden die nooit meer wijzigt, maar wel per persoon verschillend is. Denk aan usernumber, username, UTS of registration, enzovoort. Dit was de salt,

Toegegeven, het is beter dan niets, maar het is nog steeds suboptimaal. Het beste is om elke keer dat een gebruiker zijn wachtwoord wijzigt een volledig willekeurige string te genereren en die als salt te gebruiken. In de oplossing die je nu hebt gekozen wijzigt de salt niet als de gebruiker zijn wachtwoord wijzigt, en ook dat is een zwak punt.

Quote:
Wat ik overigens lastig vind, is dat het niet ondenkbaar is dat we binnen enkele jaren met een (te) grote onveiligheid in het systeem geconfronteerd worden. De kans is groot dat die uit de hoek van de steeds sneller wordende computers gaat komen, waardoor brute forcen opeens wèl regelmatig tot resultaat leidt.

Om die reden moet je bcrypt gebruiken voor het genereren van password-hashes. Bcrypt (ook wel Blowfish genoemd, maar dat is niet volledig correct) voegt naast de salt een cost-parameter toe, waarmee je ervoor zorgt dat het hashen langer duurt. Worden de computers sneller, dan verhoog je simpelweg de cost. Elke hash begint met een identifier waaraan je kunt zien met welke cost die gegenereerd is; gebruikers met een te lage cost kun je vervolgens dwingen hun wachtwoord te veranderen.

Momenteel gebruik ik een cost van 14; bcrypt gebruikt dan 2^14 expansierondes, wat op mijn server ongeveer een seconde duurt. Voor het checken van een wachtwoord vind ik dat acceptabel.
 
Ward van der Put
Moderator

Ward van der Put

27/10/2017 18:33:37
Quote Anchor link
Willem vp op 27/10/2017 18:20:58:
Momenteel gebruik ik een cost van 14; bcrypt gebruikt dan 2^14 expansierondes, wat op mijn server ongeveer een seconde duurt. Voor het checken van een wachtwoord vind ik dat acceptabel.

Willem, hoe ga je dan om met een aanvullende vereiste: als de gebruiker het wachtwoord wijzigt (per 90 dagen bijvoorbeeld), mag het nieuwe wachtwoord niet gelijk zijn aan een eerder gebruikt wachtwoord.

Bij een hoge work factor / cost is dat een bijna onoplosbaar probleem: je moet namelijk de hash berekenen van het huidige wachtwoord, van het nieuwe wachtwoord én van alle vorige wachtwoorden. De serverbelasting daarvan is hoog, heel hoog.

Wij hebben het opgelost door steekproefsgewijs, in leeglooptijd als een serverfarm nauwelijks belast is, de nieuwe wachtwoorden te controleren. Dat is een werkbare situatie voor adminaccounts, maar ik moet er niet aan denken dit op grotere schaal in te zetten voor reguliere gebruikersaccounts.

Hoe zou jij dit oplossen?
 
Willem vp

Willem vp

27/10/2017 18:39:24
Quote Anchor link
Ward van der Put op 27/10/2017 18:33:37:
Willem, hoe ga je dan om met een aanvullende vereiste: als de gebruiker het wachtwoord wijzigt (per 90 dagen bijvoorbeeld), mag het nieuwe wachtwoord niet gelijk zijn aan een eerder gebruikt wachtwoord.

Hoe zou jij dit oplossen?

Niet, want ik vind dat een belachelijke vereiste.

Maar het is volgens mij wel oplosbaar. Bij het wijzigen van een wachtwoord moet je meestal ook je oude wachtwoord opgeven. Dat oude wachtwoord zou je met een simpele SHA-512 of zo kunnen hashen en opslaan in de tabel met niet meer toegestane wachtwoorden.

Edit:

De reden dat ik het een belachelijke vereiste vind, is omdat je met dat soort maatregelen vaak het tegenovergestelde bereikt van wat je zou willen. Je wilt een veilig systeem waar niemand zomaar een wachtwoord kan kraken, maar je werkt ermee in de hand dat mensen hun wachtwoord gaan bewaren op een briefje onder hun toetsenbord, omdat ze het anders vergeten.

Ik heb ooit gewerkt bij een organisatie waar je elke 6 weken een nieuw wachtwoord moest kiezen. Daar word ik recalcitrant van. Mijn wachtwoord veranderde van Welkom01 naar Welkom02 naar Welkom03, etc. En dat alles in het kader van veiligheid. :-/
Gewijzigd op 27/10/2017 18:47:12 door Willem vp
 
Ward van der Put
Moderator

Ward van der Put

27/10/2017 19:10:08
Quote Anchor link
Willem vp op 27/10/2017 18:39:24:
De reden dat ik het een belachelijke vereiste vind, is omdat je met dat soort maatregelen vaak het tegenovergestelde bereikt van wat je zou willen.

Eens, maar dit is een van hogerhand opgelegde vereiste.

Op het onveiliger hashen van een onveilig verklaard wachtwoord was ik zelf nooit gekomen.
Dank!! Dat sowieso zo op de vrijdagavond!
 
Thomas van den Heuvel

Thomas van den Heuvel

27/10/2017 19:46:46
Quote Anchor link
Los hiervan, alles is een tradeoff (bijvoorbeeld veiligheid <--> gebruikersgemak).

Daarnaast, als je met veiligheid bezig bent lijkt het mij dat je met lagen moet werken, en niet met een enkele oplossing die alles wat niet goed is tegenhoudt. Ben je die barriere voorbij, dan zou dat in dat geval inhouden dat iemand vrij spel heeft?

Los van het feit hoe snel iets uitgerekend kan worden zou je bijvoorbeeld ook een restrictie op kunnen leggen hoe vaak iemand in een bepaald tijdsbestek kan inloggen? Zelfs al maak je dan gebruik van MD5 of SHA1 (misschien niet aan te raden, maar illustreert wel goed wat ik probeer te zeggen) dan wordt je login al aanzienlijk "veiliger". Al je geld op één oplossing inzetten is sowieso niet verstandig.

En elke oplossing staat of valt toch met de eindgebruiker. Je systeem kan dan nog zo'n goed loginmechanisme hebben, als iemand besluit een memo aan zijn/haar monitor te plakken, hier is geen kruid tegen gewassen.
Gewijzigd op 27/10/2017 19:50:44 door Thomas van den Heuvel
 
Willem vp

Willem vp

27/10/2017 20:27:55
Quote Anchor link
Ward van der Put op 27/10/2017 19:10:08:
Eens, maar dit is een van hogerhand opgelegde vereiste.

Tsja, hogerhand... dat bewijst maar weer eens dat you don't need a brain to be a boss.

In eerste instantie kwam het op mij over als een workaround. En inderdaad. De vereiste is dat het wachtwoord minimaal 7 alfanumerieke tekens bevat. En zelf geven ze al aan dat dat gekraakt kan worden in de tijd die nodig is om een diepvriespizza op te warmen. In dat kader vind ik het eigenlijk nog best soepel dat je zo'n wachtwoord 90 dagen mag gebruiken.

En tsja, die beperking dat je de laatste 4 wachtwoorden niet mag hergebruiken is eenvoudig te omzeilen door op 'password changing day' gewoon je wachtwoord 4x te veranderen. Dat zou je weer kunnen ondervangen door in te stellen dat je pas na drie dagen of zo je wachtwoord meer mag veranderen (de organisatie waar ik in een eerdere post over sprak hanteerde zelfs een periode van een week), maar dat lees ik niet terug in de requirements. Zou trouwens ook dom zijn, want als dan na een dag blijkt dat je nieuwe wachtwoord gecompromitteerd is, kun je het de eerste paar dagen niet eens veranderen. ;-)

Wat me een veel werkbaarder compromis zou lijken, is dat de sterkte van je wachtwoord bepaalt hoelang je dat wachtwoord mag gebruiken. Een wachtwoord van 8 tekens moet na uiterlijk een week worden veranderd, een wachtwoord van 9 letters en cijfers na 2 weken, of na 4 weken als er ook andere tekens worden gebruikt, een wachtwoord van 10 tekens na 6 maanden, etc. Op die manier moedig je mensen aan om sterkere wachtwoorden te gebruiken. Afhankelijk van de rechten die een gebruiker heeft zou je een strenger regime kunnen toepassen.
 
Remco nvt

Remco nvt

27/10/2017 22:11:22
Quote Anchor link
Ik ben zelf ook erg voorstander om naar entropy te kijken als je wachtwoorden wilt gebruiken (en natuurlijk two factor authentication)

https://github.com/dropbox/zxcvbn
 

Pagina: 1 2 volgende »



Overzicht Reageren

 
 

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