Blog
Het wachtwoord van een Ethereum keystore/UTC/JSON-bestand herstellen
In het kort
Een Ethereum-keystore in UTC/JSON-formaat bevat een versleutelde privésleutel. Met het bewaarde bestand kunnen wachtwoordkandidaten offline worden getest. Het wachtwoord is niet in het bestand af te lezen en kan niet via de blockchain worden gereset. De haalbaarheid hangt af van de bestandsstaat, versleutelingsinstellingen en aannemelijke wachtwoorden.
Bewaar eerst een onaangeroerde back-up en werk op een kopie. Controleer of het om het juiste bestand gaat en kijk naar oude wachtwoorden, toetsenbordindeling, hoofdletters en waarschijnlijke varianten. Weet u het wachtwoord, gebruik dan geschikte officiële software in plaats van een online ontgrendeldienst. Een keystore bewaart een specifieke sleutel, niet automatisch alle accounts van een herstelzin. Ook oude presale-JSON-bestanden vereisen een passende aanpak voor hun formaat.

U heeft het bestand. Het is een .json-keystore, vaak met een naam als UTC--2018-03-14T..., en het bevat uw Ethereum wallet. Wat u niet heeft, is het wachtwoord dat het opent. Voordat u begint met gokken, is het de moeite waard te begrijpen wat dit bestand precies is, want dat bepaalt of het wachtwoord van uw Ethereum keystore überhaupt te herstellen is.
Wat een keystore bestand werkelijk is
Een keystore wachtwoord is niet weg zoals een verloren herstelzin weg is. Het bestand voor u is uw privésleutel, opgesloten in een versleuteld JSON-bestand, en uw wachtwoord is wat dat slot opent. De blockchain slaat dat wachtwoord nergens op: het bestaat alleen in dit ene bestand. Wat er ontbreekt, is dus niet uw sleutel. Het is het wachtwoord van de kopie die u al in handen heeft.
Dat onderscheid verandert alles. Omdat u het bestand heeft, kunt u een wachtwoordgok er op uw eigen computer tegen testen, offline, zo vaak als u wilt. Geen server bepaalt of u nog een poging mag doen. Uw ETH staat onaangeroerd op de blockchain, en dit bestand is alleen de weg terug naar binnen.
Zo'n bestand heeft een vaste opbouw: het bevat uw publieke Ethereum adres, de versleutelde sleutel, de gebruikte versleutelingsinstellingen, de parameters waarmee uit uw wachtwoord de ontsleutelsleutel wordt afgeleid en een controlewaarde (de mac) waaraan de software een verkeerd wachtwoord herkent. Bestanden van geth en van de wallets die daarop bouwen heten UTC--datum--adres. Het wachtwoord zelf staat nergens leesbaar in het bestand.
Niet ieder JSON-bestand is een keystore
JSON is alleen een manier om gegevens gestructureerd op te slaan. Wallets gebruiken het ook voor configuratiebestanden, adreslijsten, watch-only exports, browserextensiegegevens en eigen back-upformaten, bestanden die soms geen enkele privésleutel bevatten. Een JSON-back-up van een andere wallet wordt geen keystore door hem te hernoemen naar UTC-- of in andere software te openen. Weigert uw bestand, stel dan eerst vast welke software het heeft aangemaakt en of het om een Ethereum keystore gaat, voordat u van een verkeerd wachtwoord of een beschadigd bestand uitgaat.
Voordat u iets probeert: werk alleen met een kopie
Kopieer het eerst. Maak twee kopieën en zet er één ergens weg waar u nooit aankomt, want een keystore is één klein bestand met alles erin, en oude schijven falen op het slechtste moment. Bewaar ook de map eromheen en noteer op welk apparaat en waar u het bestand vond. Wilt u zeker weten dat een kopie identiek is, vergelijk dan de SHA-256-hash van origineel en kopie.
Twee fouten sluiten mensen voorgoed buiten:
- Hernoem het bestand niet, verander de extensie niet en bewerk de inhoud niet, ook niet 'even opschonen' in een tekstverwerker. Een keystore moet geldige JSON blijven; anders kan het breken op een manier die moeilijk terug te draaien is. Laat ook geen reparatieprogramma op het origineel los en probeer het niet lukraak in allerlei wallets te importeren.
- Houd het offline en plak uw keystore bestand, uw wachtwoord of uw privésleutel nooit in een website die aanbiedt het te ontgrendelen. Nepversies van MyEtherWallet en MyCrypto draaien op zoekadvertenties en zien er identiek uit. Zodra een oplichter het bestand én het wachtwoord heeft, is de wallet leeg. Echt herstel gebeurt op uw eigen machine, nooit in een browsertabblad dat u via een advertentie bereikte.
U kent het wachtwoord nog: zo opent u het bestand
Dit is de sterkste positie. Weet u het wachtwoord echt nog, dan heeft u geen herstel nodig, maar een actuele tool, want de tool die deze gids vroeger aanraadde, is verouderd.
De MyCrypto-desktopapp wordt naar eigen zeggen van MyCrypto niet meer actief onderhouden, dus bouw uw herstel daar niet omheen. Gebruik in plaats daarvan een van deze:
- MetaMask. Installeer de extensie en kies in de Engelstalige interface 'Import Account' > 'JSON File', selecteer uw keystore en voer het wachtwoord in. Voor de meeste mensen is dit de eenvoudigste actuele route.
- MyEtherWallet (MEW). De officiële offline webversie van MEW Portfolio kan een Ethereum-keystore openen. Volg daarvoor de offline handleiding van MEW; dit is niet de MEW Mobile app. Voer uw wachtwoord niet op de live website in. Een aparte gids behandelt inlogproblemen met MEW.
Bent u binnen, neem dan afscheid van de oude wallet. Een keystore bevat één enkele sleutel, en u heeft het wachtwoord nu in software ingevoerd; stuur daarom alles naar een verse wallet die u zelf beheert. Hoe u dat veilig doet, staat verderop.
U bent het wachtwoord vergeten: zo werkt herstel werkelijk
Dit is vaak te herstellen, en de eerlijke reden waarom is belangrijk voordat u er een cent aan uitgeeft. Het wachtwoord staat niet ergens in het bestand opgeschreven: u vindt het door kandidaten te testen tot er één de sleutel ontsleutelt. Omdat het bestand van u is, loopt die zoektocht offline, zonder blokkering en zonder snelheidslimiet. Die vrijheid geeft een volledig verloren herstelzin u nooit.
Er zit wel een addertje onder het gras. Een keystore zet uw sleutel achter een bewust trage functie: scrypt (met een werkfactor van rond de 262.144) of PBKDF2, gecombineerd met AES-128-CTR-versleuteling. Die traagheid is een beveiligingskenmerk: iedere gok kost door het ontwerp echte rekentijd. Een paar duizend waarschijnlijke wachtwoorden testen is snel gebeurd. Iedere mogelijke willekeurige reeks van tien tekens testen niet; die zoekruimte is veel te groot om in een mensenleven uit te putten, zelfs op krachtige hardware.
Blind brute force valt dus af; gericht zoeken is wat werkt. De open-source tool hiervoor is BTCRecover, die Ethereum-UTC-keystore bestanden ondersteunt en volledig offline draait. U voert er geen willekeurige reeksen in, maar wat u zich herinnert:
- een basiswachtwoord waarvan u denkt dat u het gebruikte, plus regels om varianten te proberen: een hoofdletter, een jaartal aan het einde, een verwisseld symbool, een voor- of achtervoegsel, een toetsenbordpatroon;
- een korte lijst woorden, namen of getallen die u vaker hergebruikt, in verschillende volgordes geprobeerd, inclusief eerdere wachtwoorden en aannemelijke typefouten;
- de lengte en de soorten tekens, als u die nog weet, om de zoektocht smal te houden.
BTCRecover werkt die kandidaten daarna systematisch af. Waar het walletformaat het toelaat, werkt een specialist met de wachtwoordhash die uit het versleutelde bestand is gehaald, niet met het wachtwoord zelf. De zoektocht loopt offline tegen die hash. Een publiek Ethereum adres of een aankoopbewijs kan het wachtwoord niet vervangen, maar het adres is wel nuttig: daarmee controleert u na afloop of het keystore bestand bij de gezochte wallet hoort.
In de gevallen die wij het vaakst zien, is het winnende wachtwoord een vertrouwde basis met een vergeten staart: het juiste woord, maar een onzekere hoofdletter, een cijfer of een symbool aan het eind. Dat is een kleine, begrensde zoektocht, en die slaagt in de regel. Hoe breder uw onzekerheid, hoe groter de zoektocht wordt.
Beschadigd of onvolledig bestand: een ander probleem
Een onbekend wachtwoord en een beschadigd bestand zijn twee verschillende problemen, en het onderscheid bepaalt de aanpak. Een intact versleuteld bestand heeft een geldige JSON-structuur en bevat alle noodzakelijke cryptografische velden; het weigert alleen omdat het wachtwoord niet klopt. Daar hoort de wachtwoordzoektocht van hierboven bij.
Een beschadigd bestand is onvolledig gekopieerd, halverwege afgebroken, opnieuw opgeslagen met veranderde tekens, bevat lege of ongeldige velden, is maar een fragment van het origineel, of het is helemaal geen Ethereum keystore. De eerste vraag is dan niet welk wachtwoord u gebruikte, maar of er genoeg sleutelmateriaal is overgebleven. Schade aan niet-essentiële metadata is niet altijd fataal. Ontbreken er echter delen van de versleutelde sleutel, de initialisatievector, de salt of de parameters van de wachtwoordafleiding, dan is ontsleutelen onmogelijk, hoe goed u het wachtwoord ook weet. Open het enige exemplaar daarom niet in een tekstverwerker en vul ontbrekende velden niet zelf aan: een bestand dat er bijna compleet uitziet, kan cryptografisch toch onbruikbaar zijn.
Is het bestand verwijderd, of stond het op een schijf die het begeeft, stop dan zo veel mogelijk met dat apparaat: updates, downloads en tijdelijke bestanden overschrijven verwijderde gegevens, en een defecte schijf raakt bij ieder opstarten verder beschadigd. Laat het onderzoek op een kopie of schijfimage doen. Een teruggevonden bestandsnaam is nog geen herstel: het bestand moet compleet en bruikbaar zijn, en een gedeeltelijk teruggevonden keystore bevat soms nog wel het adres, maar juist niet meer de versleutelde sleutel.
Wanneer een keystore wachtwoord niet te herstellen is
Het versleutelde keystore bestand blijft het doelwit voor het testen van kandidaten. Details die u zich herinnert kunnen de zoektocht gerichter maken, en de volledige zaak moet worden beoordeeld voordat u zich ergens aan verbindt.
De andere doodlopende weg is helemaal geen bestand hebben. Zonder keystore, zonder opgeslagen privésleutel en zonder herstelzin is er niets meer om te ontsleutelen en voor niemand een weg naar binnen. Dat zeggen we liever meteen dan dat we een zaak aannemen waarvan we al weten dat die niet kan slagen.
Keystore bestand versus herstelzin: niet dezelfde back-up
Mensen halen deze twee door elkaar, en het verschil bepaalt uw opties. Een keystore bestand is één privésleutel, versleuteld met een wachtwoord en opgeslagen als JSON. Een herstelzin is een lijst woorden (meestal 12 of 24) die volgens de BIP-39-standaard een hele reeks sleutels opnieuw kan genereren. Het zijn aparte back-ups met aparte herstelroutes.
De praktische conclusie: heeft u de keystore, dan heeft u de herstelzin niet nodig om binnen te komen. U heeft het wachtwoord nodig. En vraagt iets of iemand ooit om uw herstelzin om een keystore te 'herstellen', dan is dat een oplichtingspatroon, geen echte stap.
Bent u weer binnen: vertrouw niet opnieuw op de keystore
Laat hem achter u. Een keystore is één sleutel met één wachtwoord, en één vergeten wachtwoord is precies wat u buitensloot. Maak een nieuwe wallet die u zelf beheert, bij voorkeur een hardware wallet, en verplaats uw ETH en tokens daarnaartoe. Controleer eerst of de back-up van de nieuwe wallet klopt, stuur een klein testbedrag en verplaats de rest pas als dat is aangekomen. Een opzet met een herstelzin geeft u een herstelroute die een keystore van één bestand nooit had.
Zit u buitengesloten van een keystore, omdat het wachtwoord weg is of omdat u twijfelt aan het bestand, begin dan met een gratis beoordeling: een eerlijk oordeel over de vraag of het wachtwoord te reconstrueren is, vóór enige verplichting. Herstel sinds 2019, Geen herstel, geen vergoeding, en wij komen nooit aan uw geld.
Veelgestelde vragen
Waarom zegt mijn wallet dat het wachtwoord van mijn Ethereum keystore onjuist is, terwijl ik zeker weet dat het klopt?
Een melding over een onjuist wachtwoord komt niet altijd door een vergeten wachtwoord. Mogelijk opent u de verkeerde wallet, gebruikt u een andere toetsenbordindeling of maakt u een kleine typefout, zoals een verkeerde hoofdletter, een verkeerd symbool of een verkeerd cijfer.
Kan ik de privésleutel uit een keystore bestand halen zonder het wachtwoord?
Nee. Een Ethereum keystore-bestand bewaart uw privésleutel in versleutelde vorm. Zonder het juiste wachtwoord kan de privésleutel niet worden ontsleuteld of gebruikt.
Kan ik mijn wallet herstellen als ik het keystore bestand kwijt ben?
Alleen als u een andere back-up heeft, zoals de privésleutel of de herstelzin. Is het keystore bestand per ongeluk verwijderd, dan kan software voor bestandsherstel het mogelijk terughalen van het oorspronkelijke opslagapparaat.
Is het veilig om MyCrypto te gebruiken om een Ethereum keystore-bestand te openen?
MyCrypto wordt niet meer actief onderhouden. Het is over het algemeen veiliger om ondersteunde walletsoftware te gebruiken die JSON-keystore-bestanden kan importeren, en alleen officiële walletapplicaties.
Hoe lang duurt het herstellen van een Ethereum keystore-wachtwoord?
De doorlooptijd hangt af van de complexiteit van het wachtwoord en van hoeveel u zich nog herinnert. Sommige zaken zijn snel afgerond, andere vragen dagen van testen of blijken niet te herstellen.
Kan ik een Ethereum keystore-wachtwoord brute-forcen met Hashcat?
Technisch is het mogelijk, maar Ethereum keystore-bestanden zijn ontworpen om brute force te weerstaan. Wachtwoordherstel werkt veel beter op basis van aanwijzingen of gedeeltelijke kennis van het oorspronkelijke wachtwoord.
Zijn oude Ethereum presale- of legacy-JSON-walletbestanden nog te herstellen?
Ja, in veel gevallen. Oudere Ethereum-walletbestanden gebruiken vaak andere JSON-formaten, maar zijn nog steeds offline te testen met compatibele hersteltools. Herstel is alleen mogelijk als het walletbestand beschikbaar is.
