this post was submitted on 07 Sep 2023
979 points (99.0% liked)
Technology
57997 readers
2851 users here now
This is a most excellent place for technology news and articles.
Our Rules
- Follow the lemmy.world rules.
- Only tech related content.
- Be excellent to each another!
- Mod approved content bots can post up to 10 articles per day.
- Threads asking for personal tech support may be deleted.
- Politics threads may be removed.
- No memes allowed as posts, OK to post as comments.
- Only approved bots from the list below, to ask if your bot can be added please contact us.
- Check for duplicates before posting, duplicates may be removed
Approved Bots
founded 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
Use KeePass.
My concern with using a text file is you have to defrost it to use it and whenever it's not encrypted it's potentially exposed. You are also vulnerable to keyloggers or clipboard captures
KeePass works entirely locally, no cloud. And it's far more secure/functional than a text file.
I personally use KeePass, secured with a master password + YubiKey.
Then I sync the database between devices using SyncThing over a Tailscale network.
KeePass keeps the data secure at rest and transferring is always done P2P over SSL and always inside a WireGuard network so even on public networks it's protected.
You could just as easily leave out the Tailscale/SyncThing and just manually transfer your database using hardware air-gapped solutions instead but I am confident in the security of this solution for myself. Even if the database was intercepted during transit it's useless without the combined password/hardware key.
Is there a recovery process if your yubikey breaks?
Having a recovery process for the YubiKey would really just be a potential security hole.
Ideally you have a backup clone of the key in case yours is lost/broken.
Keeping a recovery seed or backup password instead would be inherently less secure as the YubiKey uses an HMAC challenge-response key for KeePass rather than a static password/key file.
A static password or key would be a better target for hackers as it would be easier to crack so having that option would lower your overall security.
Also worth noting that the way KeePassXC handles the HMAC challenge-response is different from how KeeChallenge does it.
In KeeChallenge the HMAC secret is used to encrypt the database, which requires storing the encrypted secret in a separate file.
In KeePassXC the database's seed is used as the challenge and the response is used to encrypt the database.
The benefit to the KeePassXC method is two-fold:
It's less vulnerable as the HMAC secret never leaves the YubiKey or get stored in a file.
It increases security because the challenge-response changes every time you save the database (changing its seed)
Thank you for your detailed responses - I'm going to look into KeePass and maybe a Yubikey after reading your description of how it works. I hadn't considered a Yubikey before mostly because I'm prone to lose things, but also because my encrypted file password is >12 characters and a fairly random mix of lower and uppercase letters, numbers and special characters.