3

Folks,

I'm trying to improve my password management, and I have a vision in mind for a solution. However, I'm having a problem putting it all together or finding a product(s) that fits.

First I would like to find out if my overall specification/strategy is workable?

Baseline (non-negotiable) requirements:

  1. A password manager with an encrypted (AES-256 or better) local-only password database/vault. No cloud storage: so services like LastPass etc. are not going to work for me. (Password manager in the sense that all account passwords are accessible from a single master password)
  2. Installable / integrated onto a hardware-encrypted USB-3 thumb drive, preferably one of those with a numerical keypad on the side of the thumb drive that unlocks the drive before inserting into a USB port. The password manager software runs directly from the thumb drive (Windows minimum, but Windows + Android preferred) without any software installation required onto the host system.
  3. Ability to backup the password database/vault (in case the encrypted thumb drive gets lost or stolen).

Feature requirements (really, really want these, too):

  1. Can generate randomized passwords for new accounts
  2. Can autofill login ID and password fields in a browser window without the need for copy/paste (and therefore avoids the security holes involved with Windows clipboard).

Next-level features (all above could likely be accomplished with KeePass + hardware/keypad encrypted thumb, but the below would bring the overall security to the next level - if this is achievable and a product(s) exists...?)

  1. Multifactor authentication (like U2F) of the password manager software/vault itself: the encrypted USB drive itself serves as the hardware token that allows the software/vault to unlock (something along the lines of a Yubikey). That way if the password vault file itself is copied from the thumb drive (from across the network, say at work), and they grabbed my master vault password (for example a keylogger), the vault still could not be unlocked / unencrypted because they wouldn't have the physical hardware token serving as the 2nd authentication/decryption factor.
  2. And to really ensure a robust solution, the USB drive would adhere to the military spec for encrypted drives (FIPS 140-2 Level 3 compliance, incl. testing by an independent lab)

My last arrangement was close: the Ironkey (before the company was purchased by Kingston). It was a FIPS compliant encrypted (USB2) drive with onboard proprietary password manager software. But the password manager has been dropped from the product line, leaving it (basically) just an expensive hardware encrypted thumb drive.

Any advice on the above would be very much appreciated.

  • fyi FIPS 140-2 compliance reduces security. It's 1990s cryptography, and crypto 'best-practices' from that era are basically all misguided trash. Popular software has a separate "FIPS mode" that defaults to OFF for a reason. You don't want FIPS 140-2, or anything made by people who think it's the gold standard. For actual security, look for stuff made by people who attend Real World Crypto and are closely following the work of the IRTF Crypto Forum Research Group (CFRG). Example: If they use RSA and don't plan to move to Curve25519 any time soon, run far away. Argon2 is a good sign. – dlitz Apr 8 at 18:17
3

As you wrote, 1-5 can be achieved using KeePass + thumb drive.

As for point 6, It seems YubiKey already thought of that. You can use YubiKey or other HW token with KeePass using the OtpKeyProv plugin. However, I could not find a detailed explanation of how it works and it does not seem to me as very secure. I have a feeling it could be bypassed rather easily by a more advanced attacker.

There are plugins for KeePass that allow use of RSA keys, but I am not convinced they are usable with a HW token. Check (here, here and here)

The RSA key approach if implemented correctly would be very secure and would protect against the theft of the password vault from unlocked thumb drive.

For point 7, just pick a good USB drive, maybe the one recommended by Steven. But honestly, the thumb drive will never provide significant increase in security.

Final note: KeePass can be used on android, but I don't believe the plugins can be. So using 2FA would be at the cost of using it on Android.

  • Peter, thank you for a thoughtful response. I admit that I am out of my element with the technical details. For example I don't know the difference between one-time passwords (as used by the Keepass OtpKeyProv plugin) and RSA. Aren't they effectively the same thing? What is the difference between a hardware token that generates a one-time password (OTP); or one that generates an RSA key? Both serve the purpose of decrypting the password vault? Or am I offbase with that: the OTP is strictly for MFA (and not decryption) and the RSA key is for the actual decryption of the Keepass vault? – hikingnola May 2 '18 at 13:08
  • @hikingnola because OTPs change, they can't be used for decryption directly. And there isn't and can't be a way to get some sort of not changing secret from them, otherwise they would not be one-time anymore. Therefore they way to translate OTPs into a decryption key has to be hacky and insecure IMO. RSA can decrypt directly, so it does not need hacky workarounds. OTPs are meant to be used with authentication to server, not for encryption. That is why they are not very secure here. – Peter Harmann May 2 '18 at 13:13
  • Peter - again thank you for your time. I've done a bit more reading, and understand (slightly!) more. I get why asymmetric encryption / decryption (RSA) is appropriate for the password vault file(s), and not OTP. Concerning the above statement about an RSA solution, implemented correctly, would be very robust. A follow-on question comes to mind concerning the idea of a hardware 'token.' Do some tokens simply provide OTPs? While others (e.g. RSA smart-card type solutions that have been around forever?) store private keys to allow just such decryption of files as we are discussing here? – hikingnola May 13 '18 at 11:29
  • @hikingnola Some tokens provide just OTPs. The first of these were authentication calculators used by banks. Some tokens only hold RSA keys, to prevent theft of the private key. Many tokens these days, like YubiKey provide both (and more), as adding OTP support is relatively cheap and they want to have as many features as possible. – Peter Harmann May 13 '18 at 12:14
1

Disclosure: this post describes our product, however I think it is an answer to your question.

Dashlane + Yubikey could be a solution for you.

Another possibility would be HushioKey and Hushio ID Lock app: Hushio ID Lock is Android password manager app and it can Bluetooth pair with HushioKey (plugged into a computer and simulates a USB keyboard and more) to avoid any password tying.

BASELINE (non-negotiable) REQUIREMENTS:

  1. AES256 encrypted. No cloud.
  2. PIN and/or fingerprint login.
  3. Can backup to an old Android device per your choice. Backup and restore can only happen in your pre-specified location (A.K.A trusted location, like your home).

FEATURE REQUIREMENTS (really, REALLY want these, too):

  1. Can generate randomized passwords for new accounts
  2. Can send a password to your computer via encrypted Bluetooth 4 connection. Just long tap an account icon. No typing.

  3. Can turn your smartphone into a U2F token. Just reach your HushioKey with your phone.

  4. Location-aware security. Auto self-lock after detecting not in the trusted location for a certain period of time. Unlock by entering trusted-location again. Temporary trusted location available for trip/vacation.

Sorry but no FIPS 140-2 Level 3 compliance test yet.

Demo of HushioKey Laptop login: https://youtu.be/wzGs_17XUkM

Demo of HushioKey U2F authentication: https://youtu.be/DGzU0OltgF4

https://www.hushio.com

  • went answering a question with information about your product, please make your connection very clear, otherwise your posts will be flagged as spam and removed. – Rory Alsop Jun 20 '18 at 6:55
0

You might also want to take a look at the mooltipass. This is an external password storage, that is protected by smartcard and PIN. It acts as a USB Keyboard and, triggered on the hardware device, paste credenials into your application.

  • Wondering if this meets the user's requirements? Looks like a good start, but would be good to elaborate on your answer. – Jonathan Jun 15 '18 at 20:29
  • 1
    The OP is asking for a hardware password manager. The OP also speaks of a USB connected device. The mooltipass fullfills these requirements. It is connected via USB. Encrypted. 2FA with PIN and smartcard on the device. encrypted backup... But it might be best to take a look at their webpage. If you have more specific quesions, shoot. Maybe I can answer, but I am only a user of such device, not the project owner or vendor. – cornelinux Jun 16 '18 at 7:37
0

I do not want to elaborate to much on this. But simply another solution could be the nitrokey storage.

Just some short pointes:

  • Comes with flash
  • full blown smartcard (-> Hardware encryption)
  • can store encrypted passwords on the device

In contrast to the combination thumb drive, keepass and yubikey, you only need one device on one usb port.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.