I was thinking about how all of my passwords are compromised if I have malware on my system. It made me wonder, does Vaultwarden or KeePassXC/KeePassDX offer better protection on a malware infected system?

Vaultwarden

  • Only accessed locally via LAN/VPN
  • Set up for 2 factor authentication using WebAuthn (FIDO)

KeePasssXC/KeePassDX

  • Synced locally via syncthing
  • Set up for 2 factor authentication using HMAC-SHA1 Challenge-Response
  • All clients blocked from internet access

I don’t use browser extensions and I manually copy/paste my passwords to fill in entries.

KeePass has good memory protection, but the 2FA can be read from USB and doesn’t change every time the database is decrypted. Vaultwarden enables the more secure FIDO2 2FA, but to my knowledge has less secure memory management as the entire entire database is decrypted on unlock.

  • Daniel Hall@lemdro.id
    link
    fedilink
    English
    arrow-up
    1
    ·
    4 days ago

    Maybe I’m misunderstanding something then, what’s the private key embedded within the client API’s profile response?

    • Pup Biru@aussie.zone
      link
      fedilink
      English
      arrow-up
      1
      ·
      3 days ago

      which endpoint are you referring to?

      there are passwords exchanged when using the vault management API, but AFAIK that’s for local access (eg CLI talking to the app)

      i’m no expert on the specifics of the API; just in the description they give: https://bitwarden.com/help/what-encryption-is-used/

      Bitwarden always encrypts and/or hashes your data on your local device before anything is sent to cloud servers for storage. Bitwarden servers are only used for storing encrypted data.

      PBKDF2 SHA-256 is used to derive the encryption key from your master password

      this is exactly the way this should be done. any deviation from this formula by a password manager with a server component should be viewed with extreme scepticism