Keepassxc: Adding support for KDBX4 file format

Created on 9 Jan 2017  路  26Comments  路  Source: keepassxreboot/keepassxc

KeePass 2.35 introduces version 4 of the KDBX file format. This new format features both improvements and new capabilities. These are outlined in the following sections.

http://keepass.info/help/kb/kdbx_4.html

help wanted security

Most helpful comment

Dependency wise it requires ChaCha20 and Argon2.

ChaCha20 is implemented in libgcrypt 1.7 but the release is less than a year old so not widely supported in current Linux distros.

For Argon2 embedding https://github.com/P-H-C/phc-winner-argon2 seems to be the best option for now.

All 26 comments

That's gonna be a doozy to implement... looks like a fun challenge!

Yep, I think the same :smile:

Dependency wise it requires ChaCha20 and Argon2.

ChaCha20 is implemented in libgcrypt 1.7 but the release is less than a year old so not widely supported in current Linux distros.

For Argon2 embedding https://github.com/P-H-C/phc-winner-argon2 seems to be the best option for now.

Just include library statically, you do not have to folow Linux rules to stay behind with development.

Didn't see this sorry, so please keep us updated on your progress :). I appreciate your work on KDBX 4 support.

Wouldn't the PR in @TheZ3ro's comment actually resolve this?

It kind of does, but the way it was implemented was not very good. It intertwined the code between kdbx3 and kdbx4 instead of building a new reader/writer class specifically for kdbx4.

O ChaCha20, where art thou?

We are basically through all the ground work and will add new ciphers from here: https://github.com/keepassxreboot/keepassxc/pull/1230

Is there any way to keep building the develop branch of KPXC on current Ubuntu LTS based Linux distros? Due to the lack of Argon2 and the required gcrypt libs, this looks like a dead end, at least until April this year.

I've been using the develop branch since a long time ago. Probably the suggestion would be to use the master branch, but there is a long list of features/bugfixes that are only in the develop branch as the most "stable" one (more than 6 months of code).

Perhaps due to the intrinsic complications of the KDBX4 implementation, I'm missing something and this WIP with no ETA can't be done in a feature branch.

Any suggestions are welcome, thanks

Why don鈥檛 you just build argon2 yourself? See #1401.

Ubuntu ships libargon2-0-dev starting with 16.04. For 14.04 you can install it from our PPA: https://launchpad.net/~phoerious/+archive/ubuntu/keepassxc

We also ship the required versions of libgcrypt20 and libgpg-error for both 14.04 and 16.04 through that PPA.

Thanks for the suggestions. I'll try those.

Is there a Windows build available with implemented KDBX4 features?

Not yet. We will release a beta version soon.

The FAQ should be updated: https://keepassxc.org/docs/#faq-kdbx4.

Done. Thanks for the reminder.

Why not make argon2 by default KDF?

It's going to be the default in 2.4.

@phoerious thanks for your answer!

@phoerious, btw. Where can I find upcoming release dates?

@Generator, thanks!

The release dates set for milestones are not accurate. They are merely ballpark guesses of when we think we'll be finished.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

bleepnetworks picture bleepnetworks  路  3Comments

MisterY picture MisterY  路  3Comments

nfnty picture nfnty  路  3Comments

shaneknysh picture shaneknysh  路  3Comments

n1trux picture n1trux  路  3Comments