Bug 444252 - [Feature Request] Add support for encryption algorithms other than Blowfish and GPG
Summary: [Feature Request] Add support for encryption algorithms other than Blowfish a...
Status: REPORTED
Alias: None
Product: frameworks-kwallet
Classification: Frameworks and Libraries
Component: general (show other bugs)
Version: unspecified
Platform: unspecified All
: NOR normal
Target Milestone: ---
Assignee: Valentin Rusu
URL:
Keywords:
: 276634 281237 (view as bug list)
Depends on:
Blocks:
 
Reported: 2021-10-23 06:37 UTC by Celeste Liu
Modified: 2022-09-06 15:19 UTC (History)
5 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Celeste Liu 2021-10-23 06:37:18 UTC
SUMMARY

Add support for encryption algorithms other than Blowfish and GPG, such as Twofish, AES and CAMELLIA. They are safer than Blowfish and easier to use than GPG.

ADDITIONAL INFORMATION
Comment 1 Celeste Liu 2022-07-21 13:29:21 UTC
Gnome-keyring use AES128 and SHA256 for a long time, but kwallet still uses Blowfish and SHA1. This is bad for our users' security.
Comment 2 Mingye Wang 2022-07-22 15:29:42 UTC
It should be emphasized that Blowfish has not yet been broken at all, and that the way Kwallet uses SHA1 (amateur KDF, essentially) is not attacked either — for now. It is true that SHA1 has been "broken", but Kwallet since 4.13 has been using proper PBKDF2_SHA512. This is not to say moving up to a more commonly used / "modern" pair like AES-scrypt or chacha20-argon2 is useless — more eyes on an algo is always a good thing; rather, any benefit from such a move need to be balanced against additional complexity in data structure and versioning information.
Comment 3 Celeste Liu 2022-07-22 15:39:08 UTC
(In reply to Mingye Wang from comment #2)
> rather, any benefit
> from such a move need to be balanced against additional complexity in data
> structure and versioning information.

One thing that can be noticed is that there is a block cipher abstraction layer in the code of kwallet for adding other block encryption algorithms in the future. I think the original designer planned to add other algorithms, but we don't know why it was shelved. 

https://github.com/KDE/kwallet/tree/master/src/runtime/kwalletd/backend
Comment 4 michaelk83 2022-09-06 15:19:02 UTC
*** Bug 276634 has been marked as a duplicate of this bug. ***
Comment 5 michaelk83 2022-09-06 15:19:19 UTC
*** Bug 281237 has been marked as a duplicate of this bug. ***