Password_hash uitlezen!

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Lead Webdeveloper

As Lead Web Developer at KUBUS you are responsible for the implementation design of requirements and the software architecture of the web application and services of BIMcollab. In your role as lead developer you will naturally search for the optimum between the required implementation time, the performance of the application and a fast go-to-market of features, in line with our automated test and release train. Together with the other senior developers in your team you monitor the architecture of the application and you advise the product owner about necessary refactoring to improve the maintainability of the platform. Our development team

Bekijk vacature »

Software Developer

Dit ga je doen Je bent verantwoordelijk voor de warehouse applicatie die een integratie heeft met de PLC laag; Je ontwikkelt in C#/.Net; Je werkt mee aan de migratie naar .NET 6; Je bent verantwoordelijk voor het ontwikkelen van interfaces en het visualiseren van componenten; Je denkt mee over het design voor business oplossingen; Je bent verantwoordelijk voor het testen van de gebouwde oplossing. Hier ga je werken Voor een internationale organisatie in de transport zijn wij momenteel op zoek naar een Software Developer. Zij zijn wereldwijd de grootste speler en lopen voorop met het automatiseren van alle processen van

Bekijk vacature »

Frontend Developer

Dit ga je doen Door ontwikkelen van het online platform Deel uitmaken van verschillende ontwikkelteams Meedenken over UI/UX vraagstukken Uitdragen van Front-end binnen de organisatie Hier ga je werken Deze organisatie, gevestigd in de omgeving van Amsterdam, is een grote onderwijs instelling met meerdere vestigingen en een groot aantal studenten. Zo telt deze organisatie +/- 35.000 gebruikers. Bij deze organisatie staat jouw ontwikkeling centraal en is er veel ruimte voor eigen initiatieven. In samenwerking met jouw team ga jij de online omgeving verder ontwikkelen. In de rol van Front end Developer zal jij 50% van jouw tijd werken in het

Bekijk vacature »

Senior Front-end developer Consultancy

Functie Als front-end developer ga je aan de slag voor verschillende klanten, waarbij veel rekening wordt gehouden met waar je woont (dit is altijd binnen het uur), en word er gezocht naar een organisatie die past bij jou. Zowel qua persoonlijke ambities als de technische aansluiting. De opdrachten duren gemiddeld 1 à 2 jaar maar dit hangt ook af van je wensen. Je werkt in een teamverband voor een klant en zult nauw samenwerken met zowel eigen collega’s als die bij de klant werkzaam zijn. Ze zijn op zoek naar een technische front-end developer die ruime ervaring heeft in één

Bekijk vacature »

Oracle APEX Ontwikkelaar (3.500-6.000 euro)

Bedrijfsomschrijving Ben jij een getalenteerde Oracle APEX ontwikkelaar met minimaal één jaar ervaring in het ontwikkelen van Oracle APEX-applicaties? Ben je gepassioneerd over het ontwikkelen van bedrijfskritische oplossingen en wil je werken bij een toonaangevend consultancybedrijf? Dan zijn wij op zoek naar jou! Deze organisatie beschikt over zowel inhouse als externe projecten, maar bovenal over een sterk team en netwerk van opdrachten waardoor jij jezelf verder kunt ontwikkelen. Het team bestaat uit een aantal junior en medior developers, maar vooral uit senioren. De business unit managers binnen het team zijn mensen die hun vak verstaan en zelf als Oracle APEX

Bekijk vacature »

Fullstack Software Developer

Bedrijfsomschrijving Functieomschrijving Java ontwerpen, bouwen en testen (T-shaped). Als senior ontwikkelaar ben je bekend in zowel de back-end als de frontend van een applicatie. Angular, Continious Delivery / Integration. Een ervaren iemand die de leiding kan nemen, een weg vindt in nieuwe situaties, en in oude applicaties. Initiatiefrijk, bekend met de (technische) omgevingen die we bij duo gebruiken, niet te beroerd om collega’s te helpen. Als senior programmeur in staat om op te treden als lead programmeur. Ondersteunt de testers bij de testautomatisering en minder ervaren programmeurs bij dagelijks werkzaamheden. Dit laatste met name op het gebied van Angular. Achtergrond

Bekijk vacature »

Android developer

De functie Schiphol is een plek om te reizen, te verblijven en te werken. Door middel van data en technologie richten we op al deze gebieden het leef- en werkklimaat optimaal in en zorgen we voor een slimmere en efficiëntere operatie. Wij ontwikkelen nieuwe producten en diensten vanuit de wensen en behoeften van onze klanten, voorspellen passagier flows en testen digitale oplossingen om rijen en andere pijnpunten in het proces te verminderen. Met slimme feedback van sensortechnologie maken we zelfs data van toiletten en stoelen inzichtelijk en bruikbaar. Het Commercial Platform bestaat uit multidisciplinaire teams met een end-2-end verantwoordelijkheid voor

Bekijk vacature »

PHP developer (Symfony, Doctrine)

Functie Als PHP developer wordt er een hoge mate van zelfstandigheid verwacht, maar ook dat je goed opereert in een team waar kennis wordt gedeeld en dingen als codereviews erg veel voorkomen. Kwaliteit staat voorop, mede hierom werken ze bijvoorbeeld zonder echte deadlines in hun sprints. De SaaS-applicatie wordt volledig ontwikkeld in PHP en Symfony. De module bestaat uit een stuk informatie verrijking en intelligentie wat resulteert in een medische check. De logica wordt daarom in de code geïntrigeerd. Je bent onder andere bezig met complexe databases waar meer dan 80.000 medicijnen op verschillende niveaus in staan, die maandelijks worden

Bekijk vacature »

Software Ontwikkelaar C# .NET

Functie omschrijving C# .NET Developer gezocht. Ben jij een full stack developer die op zoek is naar een nieuwe uitdaging binnen een leuk snel groeiend bedrijf? Lees dan snel verder! Wij zijn op zoek naar een Developer met ervaring op het gebied van .NET die een organisatie in de regio Amersfoort gaat versterken. Jij gaat je binnen dit bedrijf vooral bezighouden met het verbeteren van de functionaliteiten van hun dataplatform. Samen met andere ontwikkelaars denk je mee in oplossingsrichtingen, architectuur en nieuwe technologieën. Bedrijfsprofiel De organisatie waar je voor gaat werken heeft een onafhankelijk dataplatform ontwikkelt voor de agrarische sector.

Bekijk vacature »

Back-end Software Developer

Functie omschrijving Ben jij op zoek naar een uitdagende development functie bij een klein gespecialiseerd softwarebedrijf? Wil jij graag hybride werken (combi tussen thuis + kantoor), loop jij warm voor maatwerk software en voel jij je prettig in een informele cultuur? Zoek dan niet verder! Reageer direct! Voor een gewilde werkgever in omgeving Tilburg zoeken wij een back-end software developer met een aantal jaar werkervaring. Je gaat werken voor een klein softwarebedrijf dat gespecialiseerd is in de ontwikkeling van integratiesoftware. Jouw werkzaamheden zien er als volgt uit: In een klein team met 4 ontwikkelaars houd jij je bezig met afwisselende

Bekijk vacature »

Back end developer Digital Agency

Functie Wij zijn van origine een wordpress bureau, maar sinds 2006 zijn wij dit wel redelijk ontgroeid. Naar mate de jaren verstreken zijn we gegroeid in omvang, maar ook in de complexiteit van opdrachten waarin wij onze klanten kunnen bedienen. Momenteel bestaat onze organisatie uit 4 front end developers, 12 back end developer 3 projectmanagers en een 2 koppig management. Wij zijn een hele informele, bijna familiaire organisatie. Geen strak pak of overhemd, nee gewoon dragen waar jij je prettig bij voelt. De gemiddelde leeftijd ligt tussen de 25 en 30 en wij doen er veel aan om onze hechte

Bekijk vacature »

WordPress & Azure Developer

Dit ga je doen Zowel front- als back-end development aan de online website omgeving; Het up-to-date houden van alle WordPress-sites; Koppelingen maken tussen applicaties; Meedenken en adviseren over verbeteringen; Development door middel van WordPress, Javascript, HTML en CSS; Werken binnen Scrum/Agile team. Hier ga je werken Voor een grote overheidsinstelling in Den Haag zijn wij opzoek naar een WordPress developer, met kennis en ervaring op het gebied van Azure. De organisatie zit in een grote transitie waarbij de gehele website/online omgeving vernieuwd zal gaan worden. Binnen dit Scrum/Agile team ben je verantwoordelijk voor deze grote migratie/ombouw van de omgeving. De

Bekijk vacature »

Front-end (Angular) developer

Functie Om bovenstaande ambities waar te kunnen maken zijn ze op zoek naar een Front-end (Angular) developer. Het it-team bestaat momenteel uit de IT Manager, 2 back-end developers, 1 fullstack developer, 1 designer en een DevOps engineer. Ze zijn dus op zoek naar professionals die autonoom en gedisciplineerd aan de slag gaan, en bij aanvang als enige developer met hun Front-end applicaties aan de slag gaat. Wel hebben ze de ambitie om hier snel een 2e developer bij te vinden die jij dan ook zal kunnen aansturen/begeleiden. Je zult aan de slag gaan met het doorontwikkelen van hun bestaande UI

Bekijk vacature »

Back-end Developer

Functie omschrijving Als Back-end Developer heb je de eer om als eerste interne developer bij deze organisatie te beginnen. Op dit moment zijn er externe developers, maar daar wil de organisatie verandering in brengen. Op termijn moet de gehele afdeling uit intern personeel bestaan. Je kan je voorstellen dat de eerste interne developer ook de nodige kennis mee moet brengen. Dat klopt. Je gaat je namelijk aan het begin bekommeren over de externe developers en uiteindelijk over je interne collega's. Verder ga je het volgende doen: Het bedenken, beheren en onderhouden van webportalen, API-koppelingen en applicaties; Je bedenkt en werkt

Bekijk vacature »

Frontend Developer

Functieomschrijving Voor de NIPV zijn wij opzoek naar een Frontend Developer. Als Frontend Developer ga jij aan de slag om dashboards te bouwen vanuit het datawarehouse. Dit stelt NIPV in staat om snel en eenvoudig bij correcte bedrijfsvoeringsinformatie te kunnen. Je ontwikkelt dashboards in PowerBI, publiceert en onderhoud die, verzameld en verwerkt feedback in overleg met het ontwikkelteam. Naast dashboards ontwikkel en onderhoud je een datamodel in Excel waarmee adviseurs, controllers en analisten in staat worden gesteld om de gegevens uit de dashboards te raadplegen en anders te filteren of bepaalde gegevens nader te verfijnen, zodat verdiepende vragen kunnen worden

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

25/01/2025 16:01: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.