2014-11-25 14:29 door ab2604: Ik gebruik nu sinds 2 weken Keepass en ben er erg tevreden over, het werkt perfect!
Ik zit met een vraag over het backuppen van Keepass. Ik heb gezocht op de Keepass website, het forum en op grote vriend Google natuurlijk. Maar kan het antwoord niet vinden dus probeer ik het hier...
- Wie weet waar mijn master password is opgeslagen? Is dat in het .kdbx database file?
Ervan uitgaande dat je met "master password" het wachtwoord bedoelt om de database te unlocken (niet een keyfile o.i.d.): dat wachtwoord
zelf wordt nergens opgeslagen. Het werkt als volgt (bron:
http://keepass.info/help/base/security.html#seckeyhash.):
1) Toen je de database aanmaakte en voor het eerst jouw wachtwoord invoerde, heeft Keypass een random getal met een lengte van 128 bits (16 bytes) gegenereerd. Dit wordt een "salt" genoemd (key_salt in dit geval);
2) Keypass heeft vervolgens dat random getal en jouw wachtwoord achter elkaar "geplakt";
3) Over het geheel heeft Keypass een
cryptografische hash, genaamd SHA-256, uitgerekend. Een cryptografische hash is een ingewikkelde "checksum" (er wordt niet alleen opgeteld, bitjes worden ook meerdere keren "door elkaar gehusseld", maar wel elke keer op dezelfde manier zodat het antwoord altijd hetzelfde is) met als resultaat een getal van vaste lengte (aantal bits, bij SHA-256 is dit... 256 ;) - zie
http://www.unixwiz.net/techtips/iguide-crypto-hashes.html voor uitleg hoe cryptografische hashes werken.
Voorbeeld: stel jouw wachtwoord is:
Ant1c1perenM03tJeLerenEn stel het random "getal" dat Keepass heeft gegenereerd bestaat toevallig uit leesbare tekens (in de praktijk zal dat niet zo zijn, maar dat kan ik niet goed laten zien:
Dal#MHgZ_'?5>x^s (dit zijn 16 tekens van 8 bits, dus 128 bits)
Dan plakt Keepass deze achter elkaar, bijv. als volgt:
Dal#MHgZ_'?5>x^sAnt1c1perenM03tJeLerenOver dat geheel berekent Keepass een SHA-256 hash, dat wordt:
10300a1c8b4ccf302ffdd065e91f7299518b2ac3129d96a60f82d85d19b8c3b3(in
https://www.security.nl/posting/401468/sha256+onder+Windows+zonder+tools laat ik zien hoe je dat soort hashes zelf kunt uitrekenen, mocht je dat interessant vinden).
4) Keepass slaat zowel de hash:
10300a1c8b4ccf302ffdd065e91f7299518b2ac3129d96a60f82d85d19b8c3b3 als de key_salt:
Dal#MHgZ_'?5>x^s op in de database, maar
niet jouw wachtwoord.
5) Zodra je de database opnieuw wilt openen, voer je weer jouw wachtwoord in. Keepass haalt de key_salt uit de database, plakt jouw wachtwoord weer achter die salt, en rekent over het geheel de hash uit. Dat resultaat vergelijkt Keepass vervolgens met de, in de database, opgeslagen hash. Alleen als die overeenkomen moet het om hetzelfde wachtwoord gaan, en wordt de database ontsloten.
2014-11-25 14:29 door ab2604: - Als ik mijn database wil back-uppen naar een online back-up service (om de database te synchroniseren) kan het dan kwaad de hele Keepass map (ik gebruik de portable versie dus alle bestanden zitten bij elkaar in één map) te back-uppen? Of is het verstandiger alleen het .kdbx databae file te back-uppen omdat er in die andere files belangrijke gegevens staan zoals bijvoorbeeld het master password?
In principe zou het veilig moeten zijn om alle files te backuppen.
Zelf speel ik alleen graag op safe, zeker als het om clouddiensten gaat. Stel dat een onverlaat op een gegeven moment jouw gegevens weet te kopiëren. Mocht er ooit een lek gevonden worden in de versleuteling die Keepass gebruikt (of in de gebruikte random number generator), dan kun je niet uitsluiten dat die onverlaat daarmee toegang krijgt tot jouw (historische) gegevens.
Ik bouw dan liever een extra "layer of defense" in. als je alle bestanden met 7-Zip, gebruik makend van AES-encryptie, versleutelt en zipt voordat je ze in de cloud zet, minimaliseer je de kansen dat een onverlaat daar ooit wat aan heeft.