Bitcoin Forum
December 17, 2017, 06:52:59 PM *
News: Latest stable version of Bitcoin Core: 0.15.1  [Torrent].
 
   Home   Help Search Donate Login Register  
Pages: [1]
  Print  
Author Topic: Personal 2-factor storing of private keys (10 BTC bounty)  (Read 2748 times)
curious
Member
**
Offline Offline

Activity: 73


View Profile
January 30, 2013, 05:13:12 AM
 #1

I'm trying to come up with a safe way to store my bitcoins where you would need 2-factor to spend the coins. The simple approach I can come up with is to store my private keys in a bank safe, but make sure that the private keys are encrypted with a strong password that only I know. I would then set up a dead man's switch to send that password out in case anything happens to me. This way, you would need to have access to my bank safe and know my password in order to spend the coins. That seems pretty safe to me. Thoughts?

Now the question is, what is a simple way to encrypt my private keys? I need something that's secure but also easy to use to decrypt. Since I have to describe how to decrypt the keys in my dead man's switch email.

I will give 10 BTC bounty for someone to create a pull request to modify bitaddress.org to give me an option to create an encrypted paper wallet using BIP 38. Claimed!
1513536779
Hero Member
*
Offline Offline

Posts: 1513536779

View Profile Personal Message (Offline)

Ignore
1513536779
Reply with quote  #2

1513536779
Report to moderator
1513536779
Hero Member
*
Offline Offline

Posts: 1513536779

View Profile Personal Message (Offline)

Ignore
1513536779
Reply with quote  #2

1513536779
Report to moderator
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction. Advertise here.
1513536779
Hero Member
*
Offline Offline

Posts: 1513536779

View Profile Personal Message (Offline)

Ignore
1513536779
Reply with quote  #2

1513536779
Report to moderator
Stephen Gornick
Legendary
*
Offline Offline

Activity: 2338


✪ NEXCHANGE | BTC, LTC, ETH & DOGE ✪


View Profile
January 30, 2013, 05:36:41 AM
 #2

I'm trying to come up with a safe way to store my bitcoins where you would need 2-factor to spend the coins. The simple approach I can come up with is to store my private keys in a bank safe, but make sure that the private keys are encrypted with a strong password that only I know. I would then set up a dead man's switch to send that password out in case anything happens to me. This way, you would need to have access to my bank safe and know my password in order to spend the coins. That seems pretty safe to me. Thoughts?

Now the question is, what is a simple way to encrypt my private keys? I need something that's secure but also easy to use to decrypt. Since I have to describe how to decrypt the keys in my dead man's switch email.

Some related threads:

Dead Man's Switch?
 - http://bitcointalk.org/index.php?topic=110353.0

Casascius "accidentally" creates a 2-party escrow GUI.
 - http://www.reddit.com/r/Bitcoin/comments/14j7wx

pybtcsplit - m-of-n Private Key Splitting made easy in one simple python utility
 - http://bitcointalk.org/index.php?topic=104086.0

To generate a split key there is a new feature (v2.1) in the Vanity Wallet on bitaddress.org
- http://bitcointalk.org/index.php?topic=43496.msg1421075#msg1421075


That or how about just a password-protected PDF?  That has the benefit of being completely usable by a layperson given only the file and the password.  This also uses AES under the hood.
- http://bitcointalk.org/index.php?topic=92374.0

Lately I have been working on an iPhone app to implement a BIP 38 tool for the end user.
 - http://bitcointalk.org/index.php?topic=129317.msg1430037#msg1430037

curious
Member
**
Offline Offline

Activity: 73


View Profile
January 30, 2013, 05:41:00 AM
 #3

Thanks BIP38 seems like what I want. But there doesn't seem to be an easy tool to do the encryption or decryption yet. I don't run Windows. Smiley
And here's my dead man's switch: http://www.deadmansswitch.net/
dancupid
Hero Member
*****
Offline Offline

Activity: 956



View Profile
January 30, 2013, 06:31:00 AM
 #4

A simple non-techie approach, which I use, is to print out a paper wallet and then use this private key as the first factor.
Paste this into http://brainwallet.org/ passphrase field and then add your password as the second factor creating a new private key/address - send all your bitcoins to this address.
You can allow some access to the original paper wallet, so you can safely store it in many places, with family members etc

example.
paper wallet address 1JwSSubhmg6iPtRjtyqhUYYH7bZg3Lfy1T
private key 5KJvsngHeMpm884wtkJNzQGaCErckhHJBGFsvd3VyK5qMZXj3hS

passphrase for brainwallet:

5KJvsngHeMpm884wtkJNzQGaCErckhHJBGFsvd3VyK5qMZXj3hSthisismydifficulttoguesspass word

producing address 1GuJmVpp4x1bhNoj67ngViEyk6Aa1yadVB - to which you can send all your stored wealth.

Goes without saying that this should all be done offline on a fresh os install.



paybitcoin
Member
**
Offline Offline

Activity: 85


1h79nc


View Profile WWW
January 30, 2013, 07:00:46 AM
 #5

Thanks BIP38 seems like what I want. But there doesn't seem to be an easy tool to do the encryption or decryption yet. I don't run Windows. Smiley
And here's my dead man's switch: http://www.deadmansswitch.net/

There was a BIP38 bounty that Casascius posted a few days ago to implement it in javascript. There is now an implementation you can run here: http://scintill.github.com/bitaddress.org-bip38.html (go to wallet details)

Also see this thread for more info: https://bitcointalk.org/index.php?topic=136651.msg1477914
curious
Member
**
Offline Offline

Activity: 73


View Profile
January 30, 2013, 07:27:20 AM
 #6

Thanks BIP38 seems like what I want. But there doesn't seem to be an easy tool to do the encryption or decryption yet. I don't run Windows. Smiley
And here's my dead man's switch: http://www.deadmansswitch.net/

There was a BIP38 bounty that Casascius posted a few days ago to implement it in javascript. There is now an implementation you can run here: http://scintill.github.com/bitaddress.org-bip38.html (go to wallet details)

Also see this thread for more info: https://bitcointalk.org/index.php?topic=136651.msg1477914

Looks like the webpage will only decrypt the private key. That's useful, but what I really need is a way to generate a bunch of keys from bitaddress.org. I would just use my chromebook in guest mode to open up that webpage, generate my paper wallet, and print it out.
curious
Member
**
Offline Offline

Activity: 73


View Profile
January 30, 2013, 05:50:04 PM
 #7

Actually this is my plan:
  • use my chromebook in guest mode to access the bitaddress.org
  • generate the encrypted paper wallet
  • print 3 copies out
  • put a copy each in 3 different bank safes
  • save the passphrase in LastPass
  • save the passphrase somewhere encrypted on Google Drive
  • use deadmansswitch.net to send the passphrase (and instructions) out in case something happens to me

3 physical locations and 3 electronic locations. If someone manages to hack my computer and get access to the passphrase, it's useless without the encrypted paper wallet. If someone breaks into my bank safe and steals the encrypted paper wallet, it's useless without my passphrase. And if anything happens to me, my family will know how to recover the bitcoins.
curious
Member
**
Offline Offline

Activity: 73


View Profile
January 30, 2013, 05:53:13 PM
 #8

I will give 10 BTC bounty for someone to create a pull request to modify bitaddress.org to give me an option to create an encrypted paper wallet using BIP 38.
paybitcoin
Member
**
Offline Offline

Activity: 85


1h79nc


View Profile WWW
January 31, 2013, 07:32:15 AM
 #9

I will give 10 BTC bounty for someone to create a pull request to modify bitaddress.org to give me an option to create an encrypted paper wallet using BIP 38.
You should contact the winner of the bounty of the other thread, I know there were some other competing entries as well so you should have a good shot at getting this implemented.
Oops, didn't check the other thread first. Good luck!
curious
Member
**
Offline Offline

Activity: 73


View Profile
February 01, 2013, 10:59:45 PM
 #10

This has been implemented. Thanks!
Vitalik Buterin
Sr. Member
****
Offline Offline

Activity: 331


View Profile
February 05, 2013, 11:19:46 AM
 #11

Here's a script that lets you split a private key into N parts, of which any K can be used to reconstitute the original, where you pick the N and K when splitting.

https://github.com/vbuterin/btckeysplit

Argumentum ad lunam: the fallacy that because Bitcoin's price is rising really fast the currency must be a speculative bubble and/or Ponzi scheme.
Pages: [1]
  Print  
 
Jump to:  

Sponsored by , a Bitcoin-accepting VPN.
Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!