CAYENNE+: HMAC-Derived Peppers for Compartmentalized Password Hashing
CAYENNE+ is een deterministisch framework dat de wachtwoordbeveiliging verbetert door accountspecifieke peppers af te leiden uit een master secret en per-gebruiker staat, waardoor de risico's van brede compromittering die gepaard gaan met statische, globaal gedeelde peppers worden gemitigeerd, terwijl een lage authenticatie-overhead behouden blijft.
Oorspronkelijk artikel gelicentieerd onder CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). Dit is een AI-gegenereerde uitleg van het onderstaande artikel. Het is niet geschreven of goedgekeurd door de auteurs. Raadpleeg het oorspronkelijke artikel voor technische nauwkeurigheid. Lees de volledige disclaimer
In de digitale wereld blijven wachtwoorden de meest voorkomende sleutel tot ons online leven. Ze zijn eenvoudig te gebruiken, goedkoop op te zetten en werken met bijna elk systeem dat we bezitten. Om deze wachtwoorden veilig te houden, slaan computersystemen niet de werkelijke woorden op die mensen typen. In plaats daarvan halen ze het wachtwoord door een complexe wiskundige machine die het verandert in een gecodeerde reeks, bekend als een hash. Deze code wordt in een database opgeslagen. Als een hacker die database steelt, zien ze alleen de gecodeerde codes, niet de echte wachtwoorden. Om dit nog moeilijker te maken voor aanvallers, voegen beveiligingsexperts vaak een geheim ingrediënt toe genaamd een "pepper" (peper). Denk aan deze peper als een verborgen specerij die de computer aan het wachtwoord toevoegt voordat het wordt gecodeerd. Dit geheim wordt in een aparte, zeer beschermde kluis bewaard, ver weg van de database. Als een hacker de database steelt maar niet de kluis, kunnen ze de codering niet gemakkelijk terugdraaien om de originele wachtwoorden te vinden.
Een veelvoorkomende zwakte in deze aanpak is echter dat veel systemen exact dezelfde statische geheime pepper voor iedere gebruiker gebruiken. Als een hacker die ene geheime pepper weet te stelen, kan hij de bescherming voor alle accounts in het systeem in één keer ontcijferen. De hele verdediging stort in omdat het geheim te breed werd gedeeld. Onderzoekers aan de Iwate Prefectural University in Japan hebben een nieuwe manier voorgesteld om dit geheim te beheren, genaamd CAYENNE+. In plaats van één statisch geheim voor iedereen te gebruiken, creëert deze nieuwe methode een uniek geheim voor elke individuele gebruiker. Dit doen ze door een mastergeheim, dat in een beveiligde kluis wordt bewaard, te combineren met een uniek stukje data dat aan die specifieke gebruiker is toegewezen. Het systeem gebruikt vervolgens deze twee stukken om een op maat gemaakte pepper voor die persoon te genereren. Dit betekent dat zelfs als een hacker het mastergeheim steelt, hij de wachtwoorden voor individuele accounts nog steeds niet kan kraken zonder ook de unieke data voor elke persoon te vinden.
De onderzoekers testten dit idee door een massale database-inbraak te simuleren. Ze creëerden een systeem met tweehonderdduizend nepgebruikersaccounts en stelden verschillende scenario's op om te zien hoe lang het zou duren voordat een hacker de wachtwoorden kon kraken. In het eerste scenario gingen ze ervan uit dat de hacker helemaal geen geheime pepper had. In het tweede scenario gingen ze ervan uit dat de hacker de enkele, gedeelde geheim had gestolen die in traditionele systemen wordt gebruikt. In het derde scenario gingen ze ervan uit dat de hacker alles had gestolen: de database, het mastergeheim en de unieke gebruikersdata. Ten slotte testten ze de meest realistische gedeeltelijke compromis: de hacker had de database en het mastergeheim, maar de unieke gebruikersdata bleef veilig opgeborgen in een aparte, beveiligde locatie.
De resultaten toonden aan dat wanneer de hacker alles had, het nieuwe systeem geen extra bescherming bood bovenop de standaard coderingsmethode; de wachtwoorden werden met dezelfde snelheid gekraakt als voorheen. Dit is te verwachten, aangezien het systeem afhankelijk is van de geheimhouding van zijn componenten. Echter, de echte waarde kwam naar voren in het scenario van de gedeeltelijke compromis. Wanneer de hacker het mastergeheim had maar de unieke gebruikersdata miste, schoot de tijd die nodig was om de wachtwoorden te kraken omhoog. In hun simulaties vonden de onderzoekers dat de ontbrekende data de aanvaller dwong om door een enorme hoeveelheid mogelijkheden te gokken voordat hij zelfs maar een wachtwoord kon controleren. Voor de specifieke opstelling die zij testten, verhoogde dit de geschatte tijd om de helft van de accounts te kraken van ongeveer vijfenveertig jaar naar meer dan vier miljoen jaar. Deze dramatische toename gebeurde omdat de aanvaller voor elke wachtwoordpoging veel verschillende combinaties van de ontbrekende gebruikersdata moest proberen, wat de benodigde hoeveelheid werk effectief vermenigvuldigde.
De studie keek ook naar de invloed van deze nieuwe methode op de snelheid van het inloggen voor normale gebruikers. Ze maten de tijd die het kostte voor mensen om te registreren en in te loggen bij verschillende systeemgroottes, variërend van tienduizend tot tweehonderdduizend gebruikers. Ze ontdekten dat voor alledaagse logins het nieuwe systeem bijna geen merkbare vertraging toevoegde. De tijd die het inloggen kostte, was bijna identiek aan systemen die geen pepper of een traditionele gedeelde pepper gebruikten. Het systeem was snel genoeg zodat gebruikers geen verschil zouden merken. De onderzoekers testten ook een versie waarbij de unieke gebruikersdata periodiek werd gewijzigd om de beveiliging te vernieuwen. Dit vernieuwingsproces vereiste dat het systeem de wachtwoordcode opnieuw berekende, wat een lichte vertraging veroorzaakte, maar alleen tijdens de specifie evenementen waarop de vernieuwing plaatsvond. Voor het overgrote deel van de logins bleef het systeem net zo snel als voorheen.
De onderzoekers merkten er zorgvuldig bij op dat hun bevindingen voortkwamen uit simulaties en gecontroleerde experimenten, en niet uit een echte aanval op een live systeem. Ze gebruikten een specifieke methode om de unieke gebruikersdata te genereren die, in hun test, een limiet stelde aan hoeveel verschillende uitkomsten mogelijk waren. Ze erkenden dat een implementatie in de echte wereld een complexere methode zou moeten gebruiken om te garanderen dat het aantal mogelijkheden nog groter is. Ze wezen ook op het feit dat als een hacker zowel het mastergeheim als de unieke gebruikersdata tegelijkertijd steelt, het systeem geen extra bescherming biedt. De kracht van de nieuwe aanpak rust volledig op het geheimhouden van deze twee delen in aparte, beveiligde locaties, zodat het stelen van het ene niet automatisch de onthulling van het andere betekent.
Uiteindelijk demonstreert dit werk dat het mogelijk is om af te stappen van de risicovolle praktijk van het gebruik van één enkel geheim voor iedereen, zonder de systemen die mensen dagelijks gebruiken te vertragen. Door het geheim in twee delen te splitsen en ze gescheiden te houden, maakt het systeem het veel moeilijker voor aanvallers om succesvol te zijn als ze slechts een deel van de informatie stelen. De studie suggereert dat deze compartimentering een praktische manier is om de wachtwoordbeveiliging te versterken, mits de twee delen van het geheim in de echte wereld echt gescheiden worden gehouden. De onderzoekers concluderen dat de methode de noodzaak voor sterke wachtwoordhashing niet vervangt, maar een vitale laag van verdediging toevoegt die de schade van een gedeelde beveiligingsbreuk vermindert.
Verdrinkt u in papers in uw vakgebied?
Ontvang dagelijkse digests van de nieuwste papers die bij uw onderzoekswoorden passen — met technische samenvattingen, in uw taal.