Bitcoin Forum
May 21, 2024, 12:17:21 AM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: « 1 [2]  All
  Print  
Author Topic: Physical device to generate public/private key pairs  (Read 4636 times)
runeks
Legendary
*
Offline Offline

Activity: 980
Merit: 1008



View Profile WWW
October 08, 2012, 08:18:52 AM
Last edit: October 08, 2012, 11:22:21 AM by runeks
 #21

I've put up the code on GitHub, in case you want to take a stab at it casascius

https://github.com/runeksvendsen/sbag

The file grows to 2.0 MB when I statically link it.

I'm pretty sure we have a half-dozen or so credit card machines in stock. Love to find you some dev equipment....
Thank you very much for the offer! I would have no idea what to do with one of those machines though, so we're probably better off leaving the building and transferring of the binaries to either yourself or casascius.
hashman
Legendary
*
Offline Offline

Activity: 1264
Merit: 1008


View Profile
October 08, 2012, 12:08:19 PM
 #22

Watching development here in the keypair generation space.
I want these things to be disposable after use for maximum security. 
Remember remember the 5th of November
Legendary
*
Offline Offline

Activity: 1862
Merit: 1011

Reverse engineer from time to time


View Profile
October 08, 2012, 12:13:30 PM
 #23

Haha! Doh! I was using the Debug build. The Release build is 1.1 MB.

EDIT: Hmm. I see references to .so files when I check the executable via strings:

Code:
rune@rune-desktop:~/.workspace/sbag/Release$ strings sbag|grep "\.so"
/lib64/ld-linux-x86-64.so.2
libc.so.6


ld-linux.so is the dynamic linker and libc.so is the Standard C Library. All of these are specific to that ABI and therefore wont work on anything else.

BTC:1AiCRMxgf1ptVQwx6hDuKMu4f7F27QmJC2
bg002h (OP)
Donator
Legendary
*
Offline Offline

Activity: 1463
Merit: 1047


I outlived my lifetime membership:)


View Profile WWW
October 09, 2012, 12:38:14 AM
 #24

Watching development here in the keypair generation space.
I want these things to be disposable after use for maximum security. 


maximum security would be open code...not necessarily your being able to trash the device Smiley

Hardforks aren't that hard. It’s getting others to use them that's hard.
1GCDzqmX2Cf513E8NeThNHxiYEivU1Chhe
runeks
Legendary
*
Offline Offline

Activity: 980
Merit: 1008



View Profile WWW
October 09, 2012, 10:26:25 AM
 #25

Haha! Doh! I was using the Debug build. The Release build is 1.1 MB.

EDIT: Hmm. I see references to .so files when I check the executable via strings:

Code:
rune@rune-desktop:~/.workspace/sbag/Release$ strings sbag|grep "\.so"
/lib64/ld-linux-x86-64.so.2
libc.so.6


ld-linux.so is the dynamic linker and libc.so is the Standard C Library. All of these are specific to that ABI and therefore wont work on anything else.
The above output is from where I forgot to pass -static to the linker. With that option the file is 2.0 MB and this is the output of strings:

Code:
rune@rune-desktop:~/.workspace/sbag/Release$ strings sbag|grep "\.so"
/etc/ld.so.cache
ld.so-1.7.0
glibc-ld.so.cache1.1
/etc/ld.so.nohwcap

But I'm not sure this is relevant, as it's not me who will be building the code. It should be built with the SDK for whichever machine is to be used. casascius mentioned that the SDK he has used includes headers like stdio.h, string.h, stdlib.h and math.h, so I presume this would work as a replacement for glibc, and the dynamic linker that my build depends on.
hashman
Legendary
*
Offline Offline

Activity: 1264
Merit: 1008


View Profile
October 09, 2012, 01:14:55 PM
 #26

Watching development here in the keypair generation space.
I want these things to be disposable after use for maximum security. 


maximum security would be open code...not necessarily your being able to trash the device Smiley


I am worried about electronic traces of previous key generation being detectable.
Hardware backdoors could save the keys in memory.
Keyloggers, etc., could keep some trace of the keys.
If the device could be made cheaply enough and destroyed, it would provide that much more peace of mind. 

For this reason I don't even like to use an external printer for paper wallets, but write keys down by hand.
Obviously, this is not a scalable solution.

I'm wondering, has anybody destroyed any items for security? 

I would imagine that Casascius' trash might have some people going through it...   



casascius
Mike Caldwell
VIP
Legendary
*
Offline Offline

Activity: 1386
Merit: 1136


The Casascius 1oz 10BTC Silver Round (w/ Gold B)


View Profile WWW
October 09, 2012, 05:05:57 PM
 #27

I am worried about electronic traces of previous key generation being detectable.
Hardware backdoors could save the keys in memory.
Keyloggers, etc., could keep some trace of the keys.
If the device could be made cheaply enough and destroyed, it would provide that much more peace of mind.  

For this reason I don't even like to use an external printer for paper wallets, but write keys down by hand.
Obviously, this is not a scalable solution.


If the device is yours and never connects to a network, it's not going to be a big deal.  Even if it had a backdoor, if it never goes online, how is it ever going to snitch to command central?  Same goes for your printer if its only connection is USB.

I would imagine that Casascius' trash might have some people going through it...  

They'd find a lot of dirty diapers, but that's about it.  Maybe soon it will have chocolate bitcoins.  When I produced private keys, I made sure to produce exactly one copy.  Each sheet was hand-inspected to insure uniqueness and conformity with the planned sequence.  There were overprints, naturally, because those buggers are hard to line up in the printer on the first try, but they were overzealously destroyed and won't be found in the trash.

Most of them I destroyed by pulping with water in a commercial blender.  My other thought was to torch them in the outdoor barbecue, but I didn't want people coming and digging through the ashes of my barbecue looking for private keys! Smiley

Companies claiming they got hacked and lost your coins sounds like fraud so perfect it could be called fashionable.  I never believe them.  If I ever experience the misfortune of a real intrusion, I declare I have been honest about the way I have managed the keys in Casascius Coins.  I maintain no ability to recover or reproduce the keys, not even under limitless duress or total intrusion.  Remember that trusting strangers with your coins without any recourse is, as a matter of principle, not a best practice.  Don't keep coins online. Use paper or hardware wallets instead.
Realpra
Hero Member
*****
Offline Offline

Activity: 815
Merit: 1000


View Profile
October 09, 2012, 09:45:08 PM
 #28

Quote from: casascius  Same goes for your printer if its only connection is USB.
[/quote
Well:
1. You don't know whats in the driver connected to that USB port, for all you know it sends info online for "updating purposes".
2. Its all made in China, so both PC, printer AND whatever other devices (usb) you use may come with one hardware backdoor after the other.
3. I really like my wireless network printer *sob*.

For perfect security you really need an offline printer and PC in a Faraday's cage that you are both willing to toast after whatever amount of years used and with only power cords coming in/out that cage.

For an operation your size I would say its a must.. but of course anything is better than Bitcoinica's email reset for admin passwords......

Cheap and sexy Bitcoin card/hardware wallet, buy here:
http://BlochsTech.com
Pages: « 1 [2]  All
  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!