KWallet explained

KDE Wallet Manager
KDE Frameworks 5
Logo Size:70px
Screenshot Size:250px
Developer:KDE
Programming Language:Mainly C++ (Qt), some C
Operating System:Cross-platform
License:Various LGPL

KDE Wallet Manager (KWallet) is free and open-source password management software written in C++ for UNIX-style operating systems. KDE Wallet Manager runs on a Linux-based OS and Its main feature is storing encrypted passwords in KDE Wallets.[1] The main feature of KDE wallet manager (KWallet) is to collect user's credentials such as passwords or IDs and encrypt them through Blowfish symmetric block cipher algorithm or GNU Privacy Guard encryption.

Installation

KDE Wallet Manager (KWallet) requires a Linux-based OS and the KDE Software Compilation desktop environment such as Kubuntu.[2]

Browser extensions

KDE Wallet manager (KWallet) can be integrated with various web browsers including Chrome, Opera, and Edge.

To use KDE Wallet manager (KWallet) integration on Google Chrome or any other Chromium based browsers, user needs to run the browser with argument --password-store=kwallet5 or --password-store=detect .[3]

Historically, there was a standalone add-on available for Firefox. This addon allows users to store passwords internally through KDE Wallet manager (KWallet) instead of the default Firefox password manager.

Since the release of Firefox v57 and the migration from XUL based extension to WebExtensions, there has been no attempt to make a new add-on to support the new Firefox.

Konqueror and Falkon, the official web browser of the K Desktop Environment (KDE) features KDE Wallet manager (KWallet) to store sensitive passwords encrypted.

API

KDE Wallet Manager’s APIs trigger authentication events when the application makes a request through Desktop Communications protocol (DCOP), which is KDE’s primary interprocess communication (IPC) mechanism, which causes a password dialog box to be displayed for the application. This causes the password dialog box to be launched by the KDE daemon process. Users can choose either to cancel the dialog box which will terminate the application or to fill the password box in. If the password box is filled, the Wallet will automatically open. KDE Wallet Manager’s Desktop communications protocol (DCOP) can only be accessed locally because it is an interprocess communication (IPC) protocol that is processed over UNIX local sockets.[4]

GUI

On KDE Wallet Manager’s GUI, users can manage every wallet and password assigned to them.

KDE Wallet Manager allows users to save or delete Wallets and users can identify which wallet applications should look in when attempting to access a stored password.

These are the lists of actions that users can take on the GUI of KDE Wallet manager (KWallet):

Wallets

The Wallet is a term for password storage used in KDE Wallet Manager software. Wallets can be created manually by the user or It is offered by dialogue when the user enters in a password on any KDE desktop environment or website. Once created, Wallet can store various passwords and It is controlled by one master password. This way users do not have to remember various passwords, instead, they can just manage them by memorizing one master password for the wallet. The default Wallet is named “kdewallet” and users can create more of their own if needed.

Managing wallets

Users can manage wallets on their own KDE Wallet Manager window. Packaging or combining wallets can be done by dragging and dropping. If the user wants to export information to other locations such as flash drives, the window allows for the user to choose whether to export data encrypted or not. Providing the master password, the user can similarly import the data encrypted.

Setting preference of wallets is also possible, user can set certain wallets to be the default wallet. The close wallet setting enables the user to close the wallet after:

Encryption of the password

The data stored by the KDE Wallet manager can be encrypted in two major ways. The GNU Privacy Guard (GnuPG or GPG) algorithm is used if GnuPG Made Easy library is installed on the user’s Linux-based OS. If not, Blowfish symmetric block cipher algorithm is used.[5]

Blowfish symmetric block cipher algorithm

KDE Wallet manager encrypts the data stored in the wallet using the Blowfish symmetric block cipher algorithm in CBC mode. To protect the user’s information, blowfish encrypted data is authenticated with the SHA-1 hashing algorithm.

KDE Wallet manager’s blowfish encryption provides faster encryption compared to Khufu, RC5, DES, IDEA, and Trip-DES. Blowfish encrypts at a rate of 18 clock cycles per byte in 32-bit microprocessors.

KDE Wallet manager’s Blowfish algorithm can be executed in memory within 5k, and a simple structure is easy to implement and easy to determine the strength of the algorithm. The algorithm is variable in key length, which can be long as 448 bites and it allows basic word addition and bit XOR operations.[6]

GNU Privacy Guard encryption

Users can create a GNU Privacy Guard (GnuPG or GPG) based wallet to store extra-sensitive passwords. This requires users to install GnuPG Made Easy library. If the library is installed and once the software found GNU Privacy Guard (GnuPG or GPG), users will be asked to choose a key to use for a new wallet. User stil can encrypt passwords with Blowfish symmetric block cipher algorithm since GNU Privacy Guard encrtpytion library includes DSA/Blowfish symmetric block cipher algorithm.

Security of KDE Wallet manager

Using KDE Wallet manager (KWallet) may ease the management of the passwords but It does not provide greater security conditions to user's system. Instead of getting user's other passwords, attackers may get the master password for user's wallets through user's PC.

Since the directory of encrypted files of KDE wallet manager (KWallet) are located in predictable files, It might be vulnerable to viruses or worms those are programmed to aim password management system itself.

Known vulnerabilities

References

  1. Zhang . Jie . Luo . Xin . Akkaladevi . Somasheker . Ziegelmayer . Jennifer . 2009 . Improving multiple-password recall: an empirical study . European Journal of Information Systems . en . 18 . 2 . 165–176 . 10.1057/ejis.2009.9 . 7244341 . 0960-085X.
  2. Book: Gray . Joshua . Franqueira . Virginia N. L. . Yu . Yijun . 2016 IEEE 24th International Requirements Engineering Conference Workshops (REW) . Forensically-Sound Analysis of Security Risks of Using Local Password Managers . 2016 . https://ieeexplore.ieee.org/document/7815617 . Beijing, China . IEEE . 114–121 . 10.1109/REW.2016.034 . 978-1-5090-3694-3. 15971740 .
  3. Toman . Zinah Hussein . Toman . Sarah Hussein . Hazar . Manar Joundy . 2019 . An In-Depth Comparison Of Software Frameworks For Developing Desktop Applications Using Web Technologies . Journal of Southwest Jiaotong University . 54 . 4 . 10.35741/issn.0258-2724.54.4.1 . 209057621 . 0258-2724. free .
  4. Mulligan . J. . Elbirt . A. J. . 2005 . Desktop Security and Usability Trade-Offs: An Evaluation of Password Management Systems . Information Systems Security . en . 14 . 2 . 10–19 . 10.1201/1086/45241.14.2.20050501/88289.3 . 21253225 . 1065-898X.
  5. Dudášová . Ludmila . Vaculík . Martin . Procházka . Jakub . 2021-12-29 . Psychologický kapitál v pracovní, klinické a školní psychologii: přehledová studie . Ceskoslovenska Psychologie . 65 . 6 . 558–574 . 10.51561/cspsych.65.6.558 . 245578091 . 0009-062X. free .
  6. Book: Mousa, A. . 47th International Symposium ELMAR, 2005 . Data encryption performance based on Blowfish . 2005 . http://dx.doi.org/10.1109/elmar.2005.193660 . 131–134 . IEEE . 10.1109/elmar.2005.193660 . 953-7044-04-1 . 1334-2630 . 21814142 .
  7. Web site: NVD - CVE-2005-4900 . 2022-05-27 . nvd.nist.gov.
  8. Web site: NVD - CVE-2018-12356 . 2022-05-27 . nvd.nist.gov.
  9. Web site: NVD - CVE-2020-25125 . 2022-05-27 . nvd.nist.gov.
  10. Web site: NVD - CVE-2019-14855 . 2022-05-27 . nvd.nist.gov.
  11. Web site: NVD - CVE-2013-4576 . 2022-05-27 . nvd.nist.gov.
  12. Web site: NVD - CVE-2014-9087 . 2022-05-27 . nvd.nist.gov.
  13. Web site: NVD - CVE-2010-2547 . 2022-05-27 . nvd.nist.gov.
  14. Web site: NVD - CVE-2018-12020 . 2022-05-27 . nvd.nist.gov.
  15. Web site: NVD - CVE-2005-0366 . 2022-05-27 . nvd.nist.gov.
  16. Web site: NVD - CVE-2006-6169 . 2022-05-27 . nvd.nist.gov.
  17. Web site: NVD - CVE-2007-1263 . 2022-05-27 . nvd.nist.gov.
  18. Web site: NVD - CVE-2018-12020 . 2022-05-27 . nvd.nist.gov.
  19. Web site: NVD - CVE-2016-6313 . 2022-05-27 . nvd.nist.gov.
  20. Web site: NVD - CVE-2015-1607 . 2022-05-27 . nvd.nist.gov.