Bitcoin Forum
June 14, 2024, 04:32:49 PM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: USB key security.  (Read 686 times)
leemar (OP)
Full Member
***
Offline Offline

Activity: 193
Merit: 100


View Profile
June 12, 2016, 05:04:25 PM
 #1

Hi Guys.

With cold storage/airgaps, this seems like the only real attack vector beside physical of course.

Does anyone have any best practice advice on how not to leak private keys, through signing via a usb device. 

Would this be something that eventual Trezor support could help with?  I suspect not unless you could set up multisig with one part on the Trezor device?
achow101
Staff
Legendary
*
Offline Offline

Activity: 3430
Merit: 6704


Just writing some code


View Profile WWW
June 12, 2016, 05:18:33 PM
 #2

Your question is hard to understand.

With cold storage/airgaps, this seems like the only real attack vector beside physical of course.
What is "this"?

Does anyone have any best practice advice on how not to leak private keys, through signing via a usb device. 
USB devices can't sign. What you do is have a watching only wallet on an online computer. Use that to create an unsigned transaction. Copy the unsigned transaction to your usb drive. Take that to your offline signing machine which has the private keys. Sign the unsigned transaction from the usb drive and copy the signed transaction to the usb drive. Then go back to the online computer and broadcast the signed transaction.

Would this be something that eventual Trezor support could help with?  I suspect not unless you could set up multisig with one part on the Trezor device?
Trezor is a hardware wallet and completely separate from cold storage and air gapping.

leemar (OP)
Full Member
***
Offline Offline

Activity: 193
Merit: 100


View Profile
June 12, 2016, 05:25:58 PM
 #3

Quote
USB devices can't sign. What you do is have a watching only wallet on an online computer. Use that to create an unsigned transaction. Copy the unsigned transaction to your usb drive. Take that to your offline signing machine which has the private keys. Sign the unsigned transaction from the usb drive and copy the signed transaction to the usb drive. Then go back to the online computer and broadcast the signed transaction.

I am no expert on malware/viruses/key loggers, but  it would seem to me that this is the only practical risk when using digital media that might expose private keys.  I seem to remember reading something on the armory site saying this was a remote risk, but a risk never the less?

Quote
Trezor is a hardware wallet and completely separate from cold storage and air gapping.

I know, but I was wondering, if you had a multisig cold storage with one of those signers on the trezor device you would get the benefit of effective multi-device/multi-sig?  i.e. someone would need both the cold storage machine and the trezor device to sign, and the above leakage risk would be mitigated.
achow101
Staff
Legendary
*
Offline Offline

Activity: 3430
Merit: 6704


Just writing some code


View Profile WWW
June 12, 2016, 05:37:01 PM
 #4

Quote
USB devices can't sign. What you do is have a watching only wallet on an online computer. Use that to create an unsigned transaction. Copy the unsigned transaction to your usb drive. Take that to your offline signing machine which has the private keys. Sign the unsigned transaction from the usb drive and copy the signed transaction to the usb drive. Then go back to the online computer and broadcast the signed transaction.

I am no expert on malware/viruses/key loggers, but  it would seem to me that this is the only practical risk when using digital media that might expose private keys.  I seem to remember reading something on the armory site saying this was a remote risk, but a risk never the less?
Yes, there is a remote risk that a virus is smart enough to hop onto your usb drive, steal your wallet and password when you connect to an offline computer, and send all that data to an attacker once returned to the online computer.

There is a way to mitigate that though. Another project: https://bitcointalk.org/index.php?topic=134833.0 exists where you can actually transfer the necessary data using webcams and QR codes. It encodes the transaction in a qr code and the offline computer uses a webcam to read the qr code from the screen of the online computer to get the unsigned transaction. Then the reverse happens with the signed transaction. I don't think it works with Armory though.

Quote
Trezor is a hardware wallet and completely separate from cold storage and air gapping.

I know, but I was wondering, if you had a multisig cold storage with one of those signers on the trezor device you would get the benefit of effective multi-device/multi-sig?  i.e. someone would need both the cold storage machine and the trezor device to sign, and the above leakage risk would be mitigated.
Theoretically, I think it is possible. Whether it has been done and how, I don't know.

Carlton Banks
Legendary
*
Offline Offline

Activity: 3430
Merit: 3074



View Profile
June 12, 2016, 06:02:15 PM
Last edit: June 12, 2016, 06:54:22 PM by Carlton Banks
 #5

My advice would be not to use USB flash drives at all, and instead use CD-ROMs to transfer transactions for signing between cold storage and broadcast machines. Take an image file of the CD with the un-signed tx burned to it, hash it, then compare the corresponding image hash on an/the trustworthy offline machine before signing the transaction. The USB protocol has several attack vectors when used as a flash storage device, so it's not worth trusting it with a large amount of money.

Vires in numeris
leemar (OP)
Full Member
***
Offline Offline

Activity: 193
Merit: 100


View Profile
June 12, 2016, 06:07:12 PM
 #6

Thanks for that guys, some good advice there.  Both of those sound like interesting options.
Newar
Legendary
*
Offline Offline

Activity: 1358
Merit: 1001


https://gliph.me/hUF


View Profile
June 13, 2016, 01:27:45 AM
 #7

You also could use your soundcard: https://bitcointalk.org/index.php?topic=735111.0

OTC rating | GPG keyid 1DC91318EE785FDE | Gliph: lightning bicycle tree music | Mycelium, a swift & secure Bitcoin client for Android | LocalBitcoins
leemar (OP)
Full Member
***
Offline Offline

Activity: 193
Merit: 100


View Profile
June 13, 2016, 04:34:10 PM
 #8

You also could use your soundcard: https://bitcointalk.org/index.php?topic=735111.0

Very clever.
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!