create account

Tomshwom's Advanced Crypto Security Guide (Part 2) - Wallet Analysis by tomshwom

View this thread on: hive.blogpeakd.comecency.com
· @tomshwom · (edited)
$12.63
Tomshwom's Advanced Crypto Security Guide (Part 2) - Wallet Analysis
# Purpose
---

**In this part of the guide**, we're going to look at the existing security measures present in cryptocurrency wallet solutions.  We'll look at some specific products as examples, but this is intended to be a generalized overview of the *types* of wallets rather than specific implementations that may break the mould. 

**If you missed part 1** of the guide that discusses how privacy, security, and trust apply to the cryptocurrency world, check it out **[here](https://steemit.com/bitcoin/@tomshwom/tomshwom-s-advanced-crypto-security-guide-part-1-privacy-security-and-trust)**.  

**The final part** will detail the steps for creating a  wallet that surpasses current options in terms of both cost and security, so follow me if you haven't already and keep an eye out for it! UPDATE: part 3 is out and can be found [here](https://steemit.com/cryptocurrency/@tomshwom/tomshwom-s-advanced-crypto-security-guide-part-3-creating-a-secure-wallet)



# Analysis
---

## Definitions

First, lets get clarify some terms I'll be using:

* **Wallet & address** - the address refers to the public key portion of the cryptographic key-pair referenced by the blockchain, wallets are address managers that keep track of public/private keys.
* **Cold storage** - cold storage refers to a wallet that is never connected to an online system.  Generally, funds are placed into cold storage and not removed for long periods of time (for security reasons).
* **Hot wallet** - hot wallets are the opposite of cold storage.  They are stored on online devices are should be used for "fast & loose" transactions, not secure storage.
* **Air-gapped** - systems that are physically separated from any network that is linked to the internet are considered "air-gapped".  For security, all devices used on air-gapped systems should be limited to that system's offline network.  That means no sticking USB drives that were previously in your online computer into your offline systems, and it's not recommended to use devices that were once on your offline network on your online one since exploits can originate at a pre-user stage.
* **Hardware wallet** - hardware wallets are physical devices that manage addresses with the use of software.
* **Paper wallet** - paper wallets are physical storage of address information such as private keys.
* **Software wallet** - software wallets exist on online systems connected to the internet.


## Hardware Wallets

<div class="pull-right">https://steemitimages.com/DQmU7YPDvLaDsJKtvSub5HHKVFaiFLQKnggXaPHFpRbqUCw/image.png</div>

I'll be using the **[Ledgeron Nano S](https://www.ledgerwallet.com/products/ledger-nano-s)** as my example for hardware wallets since it's one of the most popular.  The **[TREZOR](https://shop.trezor.io/)** works in slightly different ways, but both have the same advantages and disadvantages I'll be going over.

The LNS utilizes **multi-factor authentication**, namely knowledge and possession factors.  It requires that you *know* the 4 to 8 digit PIN, and that you *have* the LNS itself in order to sign transactions. The device is further hardened from software alteration or key sniffing by using secure elements that support *attestation*, a clever way of solving the "compile it from source yourself" barrier.  Overall, **this is a very secure and easy to use solution.**  Unfortunately, the convenience comes at a price, and the demand has created a backlog of orders.

<center>![](https://steemitimages.com/DQmYpuyV22oQwUUpYPy9P95dwRLsdA9BigvgS1Q8HAx89HS/image.png)</center>

One problem I *do* have with hardware wallets is that they do not provide a robust method of storing the backup seed (generally a phrase of 24 random words that follow the **[BIP39 standard](https://iancoleman.github.io/bip39/)**).  **If you lose control of this seed, you are completely compromised.**  Thus, the seed is critical to keep safe and secure, kind of like your private key... **Now we're back at square one**, you still need an air-gapped, encrypted system or physically secure location to store your sensitive data.  **Hardware wallets are just convenience items that still rely on conventional security practices.** 

You may think the solution to this problem is to not keep the backup seed.  **This is a terrible idea.**  Hardware wallets will degrade and eventually break or be lost/stolen.  Additionally, there are security features in many of them that will **[completely wipe all the private keys](https://www.ledgerwallet.com/start/ledger-nano-s)** if the PIN is entered incorrectly a small number of times.  

In summary, hardware wallets are great at making wallets easily accessible while maintaining the security that is already in place. That means they are malware and end-user resistant *(nothing is exploit-proof)*, but are only as secure as the seed which is left up to the user to manage. Ultimately, I would **highly recommend them** for 99% of use cases since storing the seed should be doable with very low risk.  The only problem I have with them is that you are really just paying for convenience, not *added* security.  Since inconvenience is one of the largest reasons that end-users fail to practice good security, I find the price justifiable for the average user.  However, the price itself is an inconvenience that will not be attractive to many people (myself included), so for those who are willing to put in a small amount of effort, stay tuned for the third part of this guide.


## Paper Wallets

<div class="pull-right">https://steemitimages.com/DQmWywWB7UjT3bpNqTqByPRLKqb5fefCRJU5whiKx84jEDq/image.png</div>

Paper wallets, at their worst, are a QR code image of the plaintext private key to an address.  It's not human readable, but I don't personally have the ability to memorize an entire hex encoded private key at a glance either, so this is not an added security.  Since you have to actually dig out the wallet in order to sign transactions, **they are less secure than hardware wallets** because they can't remain in their secure location.  

Additionally, paper wallets only cover the possession factor unless additional measures are taken to add a knowledge requirement.  You could have a "paper" usb key with the keystore file paired with a memorized password to decrypt the wallet, but you're still in need of an air-gapped system to actually input any of this information on if you don't want it to be intercepted.  They are susceptible to theft/loss and degradation, and the methods to account for this like lamination, metal engraving, and secure storage all entail some level of risk and/or cost.  Additionally, the actual printing of a paper wallet is not 100% secure.  Printers have memory and are often connected to networks that can be insecure and allow unwanted interception.

In summary, paper wallets - when created in a secure manner - can be effectively used as cold storage up until a transaction needs to be signed from the address.  At this point, careful handling of the wallet and a secure system is required if the wallet is to be used afterwards.  In my opinion, **the overhead of properly creating and storing paper wallets justifies the cost of picking up a hardware wallet** since that removes the need for a secure system and the risk of actually using the wallet is mitigated.  I would **only recommend paper wallets as a temporary solution** to cold storage.


## Software Wallets

<div class="pull-right">https://steemitimages.com/DQmSqVf6W97tMZ9MnvRfiJZsvFGHF2GuXHUU5oMdxdpCPuJ/image.png</div>

Software wallets like **[Jaxx](https://jaxx.io/)** have a wide range of security levels.  Some use rigorous multi-factor authentication to allow access while others only require that you hit 'run'.  **[MetaMask](https://metamask.io/)** at least requires that you enter your password to access the wallet.  Still, software wallets are completely dependent on the security of the platform they exist on, and my opinion is that very, very few people have an appropriate level of security on their computers.  The recent **[compromise of Jaxx](https://vxlabs.com/2017/06/10/extracting-the-jaxx-12-word-wallet-backup-phrase/)**, and the official response to not fix it, are good examples of just how easy it can be to exploit a wallet if the system is compromised.  

The major issue with software wallets is that there is *some exploit* for every security measure.  Passwords can be keylogged or sniffed from the clipboard, keystore files can be copied or corrupted, SMS verification can be attacked with SIM swapping, etc.  Backup seeds still need to be securely stored and generated offline, so an air-gapped system should be used.  In the end, there is no truly secure software-only approach. Aside from features and usability, **software wallets are rarely better than simple password managers.**


## Password Managers

<div class="pull-right">https://steemitimages.com/DQmUs6NR7zdN5idaE9HSPn6UNzehTMprPKfgegNnHjqR5vJ/image.png</div>

Password managers like **KeePass, LastPass, 1Password**, etc. are an extremely valuable piece of security that **you should be using.**  However, passwords are very different from private keys.  Generally, **you can recover from a compromised password**, and even if the account is lost it is unlikely that permanent, irreversible damage was caused.  If losing passwords *were* this big of a deal, security would not be an afterthought to many people these days and everything would use 3 or 4 level MFA.

**Blockchain is different**.  There is no ~~aggro~~ transaction reset.  There is no authority to help you get your funds back, no 'undo' button.  This means **password managers are completely out of the question** in terms of having a highly secure wallet. 

# Summary
---

In this post, we've gone over the requirements for a secure wallet solution such as offline generation and storage, multi-factor authentication, and redundancy.  We've also looked at how hardware, paper, and software wallets differ and the trade-offs associated with using them. 

In the final part of this guide, we will address the issues of cost and seed phrase security in hardware wallets and follow a step-by-step guide for creating a cheap, usable, and extremely secure wallet for all your cryptocurrency needs. 

---

<center><sub>Remember to follow so you can be updated when the final part is released.  Like and resteem if you find this post useful, and support the author by donating Ethereum and ERC20 tokens to **Tomshwom.eth**.  Let me hear what you think in the comments below!</sub></center>
👍  , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
properties (23)
authortomshwom
permlinktomshwom-s-official-security-guide-part-2-wallet-analysis
categorycryptocurrency
json_metadata{"tags":["cryptocurrency","money","bitcoin","ethereum","security"],"image":["https://steemitimages.com/DQmU7YPDvLaDsJKtvSub5HHKVFaiFLQKnggXaPHFpRbqUCw/image.png","https://steemitimages.com/DQmYpuyV22oQwUUpYPy9P95dwRLsdA9BigvgS1Q8HAx89HS/image.png","https://steemitimages.com/DQmWywWB7UjT3bpNqTqByPRLKqb5fefCRJU5whiKx84jEDq/image.png","https://steemitimages.com/DQmSqVf6W97tMZ9MnvRfiJZsvFGHF2GuXHUU5oMdxdpCPuJ/image.png","https://steemitimages.com/DQmUs6NR7zdN5idaE9HSPn6UNzehTMprPKfgegNnHjqR5vJ/image.png"],"links":["https://steemit.com/bitcoin/@tomshwom/tomshwom-s-advanced-crypto-security-guide-part-1-privacy-security-and-trust","https://steemit.com/cryptocurrency/@tomshwom/tomshwom-s-advanced-crypto-security-guide-part-3-creating-a-secure-wallet","https://www.ledgerwallet.com/products/ledger-nano-s","https://shop.trezor.io/","https://iancoleman.github.io/bip39/","https://www.ledgerwallet.com/start/ledger-nano-s","https://jaxx.io/","https://metamask.io/","https://vxlabs.com/2017/06/10/extracting-the-jaxx-12-word-wallet-backup-phrase/"],"app":"steemit/0.1","format":"markdown"}
created2017-07-05 16:39:27
last_update2017-07-06 20:28:57
depth0
children16
last_payout2017-07-12 16:39:27
cashout_time1969-12-31 23:59:59
total_payout_value9.842 HBD
curator_payout_value2.787 HBD
pending_payout_value0.000 HBD
promoted5.001 HBD
body_length10,560
author_reputation1,713,446,395,686
root_title"Tomshwom's Advanced Crypto Security Guide (Part 2) - Wallet Analysis"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id7,417,426
net_rshares2,469,375,114,015
author_curate_reward""
vote details (37)
@atrickpay ·
recommend highly hardware wallets for 99% of cases, would like to define the characteristics of the 1% of other cases?
👍  
properties (23)
authoratrickpay
permlinkre-tomshwom-tomshwom-s-official-security-guide-part-2-wallet-analysis-20180618t195224258z
categorycryptocurrency
json_metadata{"tags":["cryptocurrency"],"app":"steemit/0.1"}
created2018-06-18 18:40:54
last_update2018-06-18 18:40:54
depth1
children1
last_payout2018-06-25 18:40:54
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length118
author_reputation-40,761,585
root_title"Tomshwom's Advanced Crypto Security Guide (Part 2) - Wallet Analysis"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id61,260,743
net_rshares220,816,007
author_curate_reward""
vote details (1)
@tomshwom ·
If you need greater security than what a hardware wallet can provide, or if you're very security-capable and just don't want to spend the money.  I fall into the latter, which is why the bulk of my funds are stored in a similar set up to what I describe in part 3 of this guide.
👍  
properties (23)
authortomshwom
permlinkre-atrickpay-re-tomshwom-tomshwom-s-official-security-guide-part-2-wallet-analysis-20180619t152211309z
categorycryptocurrency
json_metadata{"tags":["cryptocurrency"],"app":"steemit/0.1"}
created2018-06-19 15:22:09
last_update2018-06-19 15:22:09
depth2
children0
last_payout2018-06-26 15:22:09
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length278
author_reputation1,713,446,395,686
root_title"Tomshwom's Advanced Crypto Security Guide (Part 2) - Wallet Analysis"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id61,372,848
net_rshares216,399,686
author_curate_reward""
vote details (1)
@bitcoin1488 ·
Great post. Thanks for the upvote. I have updated my post here. https://steemit.com/steemit/@bitcoin1488/steemit-resteem-upvote-auction-also-on-ebay-as-a-reserve-auction
👍  
👎  
properties (23)
authorbitcoin1488
permlinkre-tomshwom-tomshwom-s-official-security-guide-part-2-wallet-analysis-20170726t202549031z
categorycryptocurrency
json_metadata{"tags":["cryptocurrency"],"links":["https://steemit.com/steemit/@bitcoin1488/steemit-resteem-upvote-auction-also-on-ebay-as-a-reserve-auction"],"app":"steemit/0.1"}
created2017-07-26 20:25:48
last_update2017-07-26 20:25:48
depth1
children0
last_payout2017-08-02 20:25:48
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length169
author_reputation-1,036,342,845,975
root_title"Tomshwom's Advanced Crypto Security Guide (Part 2) - Wallet Analysis"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id9,835,497
net_rshares-8,044,318,380
author_curate_reward""
vote details (2)
@bmcilw1 ·
$0.03
Great post! I was wondering though, you say password managers are "completely out of the question," but then you tell us how to use KeePass to store a wallet. I understand why you would never use LastPass or your hot KeePass database to store private keys, so I'm guessing cold-storage KeePass is your solution of choice...
👍  
properties (23)
authorbmcilw1
permlinkre-tomshwom-tomshwom-s-official-security-guide-part-2-wallet-analysis-20170902t025626535z
categorycryptocurrency
json_metadata{"tags":["cryptocurrency"],"app":"steemit/0.1"}
created2017-09-02 02:56:24
last_update2017-09-02 02:56:24
depth1
children4
last_payout2017-09-09 02:56:24
cashout_time1969-12-31 23:59:59
total_payout_value0.029 HBD
curator_payout_value0.002 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length323
author_reputation140,939,086
root_title"Tomshwom's Advanced Crypto Security Guide (Part 2) - Wallet Analysis"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id13,608,977
net_rshares9,020,101,548
author_curate_reward""
vote details (1)
@tomshwom ·
$0.03
Password managers *alone* are out of the question.  In part 3, I go over the method I find to be most secure for personal cold storage.  KeePass is involved, but the database is doubly encrypted (by KeePass and the persistent storage volume on Tails).  You also need a secondary USB key containing the keystore file.  Accessing the contents of the database requires:

1) one of the redundant main USBs with the encrypted KeePass database in the persistent storage volume on Tails (which is also encrypted & accessed via password at boot)
2) a separate USB with the keystore (which should be redundantly stored in **different**, multiple secure locations)
3) the KeePass password that is either memorized or stored on a separate secure system

An attacker could have 2/3 and still be totally unable to access the system, and if you are storing these properly you should be able to verify their physical security and take measures to move funds if one of the devices is compromised.  This is why you should memorize at least one password, whether it's the KeePass one or the Tails encrypted volume one.  That way there's no way that somebody can physically steal all the parts.

The wallet should only be used during creating (for testing), and for a one-time withdrawal (at which point you should create a new wallet for maximum security).
👍  ,
properties (23)
authortomshwom
permlinkre-bmcilw1-re-tomshwom-tomshwom-s-official-security-guide-part-2-wallet-analysis-20170902t032912586z
categorycryptocurrency
json_metadata{"tags":["cryptocurrency"],"app":"steemit/0.1"}
created2017-09-02 03:29:12
last_update2017-09-02 03:29:12
depth2
children3
last_payout2017-09-09 03:29:12
cashout_time1969-12-31 23:59:59
total_payout_value0.032 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length1,338
author_reputation1,713,446,395,686
root_title"Tomshwom's Advanced Crypto Security Guide (Part 2) - Wallet Analysis"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id13,610,967
net_rshares8,866,349,817
author_curate_reward""
vote details (2)
@rephill ·
$0.04
How does anyone access the funds of a deceased family member/spouse, if an essential password was stored in the deceased family members brain (e.g. brain wallet)? In terms of security (securing your blockchain assets), this is THE ultimate security risk for loosing all your funds (yes, you will be dead too, but you lost everything, right in the end there), that is overlooked all too often, I believe. What would you recommend, a a private key recovery mechanic for family members?
👍  ,
properties (23)
authorrephill
permlinkre-tomshwom-re-bmcilw1-re-tomshwom-tomshwom-s-official-security-guide-part-2-wallet-analysis-20170924t110402765z
categorycryptocurrency
json_metadata{"tags":["cryptocurrency"],"app":"steemit/0.1"}
created2017-09-24 11:04:03
last_update2017-09-24 11:04:03
depth3
children2
last_payout2017-10-01 11:04:03
cashout_time1969-12-31 23:59:59
total_payout_value0.032 HBD
curator_payout_value0.007 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length483
author_reputation748,738,011
root_title"Tomshwom's Advanced Crypto Security Guide (Part 2) - Wallet Analysis"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id15,784,687
net_rshares11,352,808,351
author_curate_reward""
vote details (2)
@tomshwom ·
$0.04
Remember to read through [part 1](https://steemit.com/bitcoin/@tomshwom/tomshwom-s-advanced-crypto-security-guide-part-1-privacy-security-and-trust) of the guide to get a better understanding of the importance of security, privacy, and trust!
👍  ,
properties (23)
authortomshwom
permlinkre-tomshwom-tomshwom-s-official-security-guide-part-2-wallet-analysis-20170705t164200223z
categorycryptocurrency
json_metadata{"tags":["cryptocurrency"],"links":["https://steemit.com/bitcoin/@tomshwom/tomshwom-s-advanced-crypto-security-guide-part-1-privacy-security-and-trust"],"app":"steemit/0.1"}
created2017-07-05 16:42:00
last_update2017-07-05 16:42:00
depth1
children1
last_payout2017-07-12 16:42:00
cashout_time1969-12-31 23:59:59
total_payout_value0.038 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length242
author_reputation1,713,446,395,686
root_title"Tomshwom's Advanced Crypto Security Guide (Part 2) - Wallet Analysis"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id7,417,715
net_rshares7,726,924,963
author_curate_reward""
vote details (2)
@dizzzzzy1 ·
Part one was actually more insightful for me....I already had most of the concepts of part two.  But I actually have a better feel for security after reading part one and will be further researching some of the links after reading part 3.
👍  
properties (23)
authordizzzzzy1
permlinkre-tomshwom-re-tomshwom-tomshwom-s-official-security-guide-part-2-wallet-analysis-20180901t195031837z
categorycryptocurrency
json_metadata{"tags":["cryptocurrency"],"app":"steemit/0.1"}
created2018-09-01 19:50:30
last_update2018-09-01 19:50:30
depth2
children0
last_payout2018-09-08 19:50:30
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length238
author_reputation16,342,386
root_title"Tomshwom's Advanced Crypto Security Guide (Part 2) - Wallet Analysis"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id70,033,056
net_rshares220,816,007
author_curate_reward""
vote details (1)
@valderrama ·
$0.03
My Ledger Nano s arrived today finally: https://steemit.com/cryptocurrency/@valderrama/my-ledger-nano-s-has-finally-arrived

I'm hoping I can set it up tonight.
👍  
properties (23)
authorvalderrama
permlinkre-tomshwom-tomshwom-s-official-security-guide-part-2-wallet-analysis-20170705t170433629z
categorycryptocurrency
json_metadata{"tags":["cryptocurrency"],"links":["https://steemit.com/cryptocurrency/@valderrama/my-ledger-nano-s-has-finally-arrived"],"app":"steemit/0.1"}
created2017-07-05 17:04:33
last_update2017-07-05 17:04:33
depth1
children5
last_payout2017-07-12 17:04:33
cashout_time1969-12-31 23:59:59
total_payout_value0.025 HBD
curator_payout_value0.008 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length160
author_reputation4,696,312,692,441
root_title"Tomshwom's Advanced Crypto Security Guide (Part 2) - Wallet Analysis"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id7,419,967
net_rshares6,995,362,969
author_curate_reward""
vote details (1)
@tomshwom ·
Awesome, remember to store your seed securely!
properties (22)
authortomshwom
permlinkre-valderrama-re-tomshwom-tomshwom-s-official-security-guide-part-2-wallet-analysis-20170705t175101668z
categorycryptocurrency
json_metadata{"tags":["cryptocurrency"],"app":"steemit/0.1"}
created2017-07-05 17:51:03
last_update2017-07-05 17:51:03
depth2
children4
last_payout2017-07-12 17:51:03
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length46
author_reputation1,713,446,395,686
root_title"Tomshwom's Advanced Crypto Security Guide (Part 2) - Wallet Analysis"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id7,424,637
net_rshares0
@valderrama ·
$0.03
I will store it in 1Password. :)
👍  
properties (23)
authorvalderrama
permlinkre-tomshwom-re-valderrama-re-tomshwom-tomshwom-s-official-security-guide-part-2-wallet-analysis-20170705t175314229z
categorycryptocurrency
json_metadata{"tags":["cryptocurrency"],"app":"steemit/0.1"}
created2017-07-05 17:52:36
last_update2017-07-05 17:52:36
depth3
children3
last_payout2017-07-12 17:52:36
cashout_time1969-12-31 23:59:59
total_payout_value0.025 HBD
curator_payout_value0.007 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length32
author_reputation4,696,312,692,441
root_title"Tomshwom's Advanced Crypto Security Guide (Part 2) - Wallet Analysis"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id7,424,781
net_rshares6,873,350,824
author_curate_reward""
vote details (1)