Security Professionals - ipfw add deny all from eindgebruikers to any

Keepass backup?

25-11-2014, 14:29 door ab2604, 7 reacties
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?

- 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?
Reacties (7)
25-11-2014, 15:01 door Anoniem
- Je master password staat niet opgeslagen in de .kdbx file. In plaats daarvan wordt je .kdbx file geencrypteerd (via AES of Twofish algoritme) met als sleutel de SHA-256 hash van je master password. Hierdoor ben je ervan verzekerd dat de database alleen gelezen kan worden door iemand met het master password, maar staat die nergens opgeslagen.

- Voor zover ik weet wordt je master password ook niet in andere bestanden van keepass weggeschreven (bij bijvoorbeeld invoeren). Kan het me ook niet voorstellen, zou wel heel slordig zijn.
Het backuppen van heel de keepass map kan in mijn ogen dus geen kwaad, maar heeft ook geen toegevoegde waarde aangezien deze bestanden gewoon online vrij beschikbaar zijn. Als je je instellingen van keepass wilt bewaren volstaat het enkel backuppen van KeePass.config.xml.
25-11-2014, 15:14 door Anoniem
Ik heb mijn .kdbx in een truecrypt folder gegooid en dat op google drive gezet. Werkt prima voor mij.
Ik zeg; trial and error.
25-11-2014, 16:04 door Anoniem
> Wie weet waar mijn master password is opgeslagen? Is dat in het .kdbx database file?

Lees 'Hashing and Key Derivation' op
http://keepass.info/help/base/security.html\

> 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 te back-uppen?

Alles zit in de kdbx.
25-11-2014, 16:27 door Erik van Straten - Bijgewerkt: 25-11-2014, 16:28
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: Ant1c1perenM03tJeLeren

En 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^sAnt1c1perenM03tJeLeren
Over 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.
25-11-2014, 16:37 door Anoniem
Je master password wordt nergens opgeslagen door Keepass. Het wachtwoord dat je intypt wordt (samen met andere gegevens) omgezet in de sleutel die voor encryptie en decryptie gebruikt wordt, op een manier die reproduceerbaar is. Ik vermoed dat je aanneemt dat het master password (of een hash ervan) ter verificatie wordt vergeleken met een opgeslagen waarde. Dat is niet zo, het lukt simpelweg niet om de wachtwoorddatabase te decoderen met een fout wachtwoord, en dat is meteen de wachtwoordcontrole.

Dit betekent dat een aanvaller niet in staat is om uit de wachtwoorddatabase de sleutel te achterhalen waarmee de database ontsleuteld kan worden. Het betekent ook dat jij niet in staat bent om dat te doen als je je master wachtwoord vergeten bent.

Details over hoe Keepass de sleutel aanmaakt uit een wachtwoord en andere gegevens: http://keepass.info/help/base/security.html
25-11-2014, 17:42 door ab2604
Bedankt voor alle uitleg (Erik vooral ook voor de zeer uitgebreide uitleg!).

Ik snap nu hoe het werkt!
02-12-2014, 14:29 door Anoniem
Tof Erik!
Reageren

Deze posting is gelocked. Reageren is niet meer mogelijk.