4

A short premise: HW wallets and password managers have surely different scopes, but they both seems to cover what I'm interested in, which is securely storing a private key.

Hardware wallets: a device such as TREZOR (or LedgerNanoS) is usually recommended for storing a PK because it never expose it to the machine operating the Ethereum client, so your PK can't leave the device. Seems good so far, but what if the device breaks? You can then recover seed from a paper backup. This seems to me the most fragile passage: a paper can get lost easily, can be stolen, etc. Otherwise a password manager db can be easily spread into several clouds, storages.

Password Manager: a SW such as KeePass can encrypt very securerly (Argon 2 for key derivation and AES256 as cipher) your PK. Assuming you don't directly store the PK but a Keystore File (with encrypted PK), you'll just need to enter its passphrase in MEW. The only vulnerability that comes to my mind is about keyloggers, then it can be hardened using a keyfile + passphrase authentication in KeePass. A KeePass db is strongly encrypted and can be easily backed up.

Which is the actual advantage in using a device like TREZOR here?

  • 1
    An advantage of hardware wallets is the private key is protected inside the device and is never in the user computer. If you use KeePass you have to desencrypt the private key so perhaps briefly but your private key was unencrypted in your computer memory. If you copy&paste into MEW any program running can grab the clipboard, an antivirus program can make a copy for examination. Meanwhile KeePass make a serious effort to avoid leaks other program will not. – Ismael Jul 30 '17 at 19:58
  • Ok, I recognize the advantages of HW wallets. But the paper back up still seems an horrible system... Would it be wrong to use then Keepass to store the passphrase backup and only decrypt it in a safe environment? Like a tails live installation – refex Jul 31 '17 at 7:38
  • 1
    It is only a matter of how much are you willing to lose vs your paranoid self. You can set up two wallets, an online wallet for every day transaction with an small amount, and another offline where most of your funds are. The private key will be in a pendrive, and to use you booting from a live iso to avoid worms or viruses. – Ismael Jul 31 '17 at 14:26
  • For most users if you avoid clicking any link, or going to dubious sites or pages, or installing software without checking signatures, installing updates in your pc frequently, or allow another person access to it. Should be enough to have a reasonable degree of trust in your computer. If you have an important amount a hardware wallet is not such a big cost. – Ismael Jul 31 '17 at 14:30
2

The benefits of using a hardware wallet include:

  • You don't need to carry another trusted device with you (e.g., a phone or laptop): you can go up to any old Internet kiosk and perform a transaction. The hardware wallet can be much smaller/convenient. It's also supposedly running in a more trustable environment (but many/most hardware wallets are closed source, so take that as you will).
  • Need less trust in your own general computing device (against things like side-channel attacks, cold-boot attacks, evil maid attacks, compromised firmware, etc.)
  • Since the keys in the hardware device cannot (supposedly) be dumped, even in encrypted form, this makes it much harder to perform an off-line, brute-force attack of your keys. You would need to attack the wallet's software in an on-line attack. With software like KeePass, a dump of your hard disk enables someone to perform an off-line attack.
  • Allowing only on-line attacks means you don't have to have as complicated a password for accessing the system; this makes it faster to enter your password and easier to remember. For example, if you have a phone set to erase all its data after 10 incorrect password attempts, a 6-digit key is enough to give at an attacker only a 0.001% (one in a hundred-thousand) chance of being able to ever successfully retrieve your data vs. an off-line attacker who could retrieve data protected by a six digit password in a fraction of a second. A six-character alphanumeric password gives an attacker only one in a 8-billion chance of success. Statistically, if the password were generated randomly and every person in the world had a HW wallet and an attacker stole every one of them, they would statistically wouldn't even be able to break a handful, even assuming they could even try that many passcodes in their lifetime. Meanwhile, such a password can easily be broken in an off-line attack (a few seconds or minutes using commodity hardware for common encryption software, depending on encryption method).
  • The smaller, more portable form factor of a hardware wallet means it's easier to maintain physical security over the device: you can carry it with you everywhere. Even if a shoulder-surfer or security camera were to capture your password as it was being entered, one would still need to get the device from you. I'm assuming you don't take your laptop with you to shower or while you go swimming.
  • Portability in terms of devices: Having to install a plug-in to use a web application is a lot more convenient than syncing a blockchain.
  • Smaller attack surface than an entire computer, making it easier to secure, software-wise.

Downsides include:

  • AFAIK, lack of good wallet with audit-able software.
  • High attack value: Because there are few hardware wallets varieties, attackers can focus their energy on compromising one of these wallets.
  • Requires an unused compatible hardware port (and, if you use a USB-C connector-only machine, this may be annoying).
  • The wallet producer may go out of business, leaving you with a dead-end technology (especially due to lack of open source firmware).
  • Only available on-line (?): the device can be intercepted and tampered with before it reaches you.
  • Potentially worse support for things like contracts.
  • Cost (vs. free).
  • May need administrator access to install drivers/software.

If you are afraid of device breakage and don't want do deal with paper or worry that your computer may be compromised (which may not be a terrible assumption, given that all it takes is a corrupt person at a trusted root certificate authority issuer to deliver malware to you and 0-day vulnerabilities are discovered in "hardware" and software all the time), you can get multiple devices, re-seed the devices, and then store the devices in secure locations.

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.