Bitcoin Forum
November 19, 2024, 04:49:45 AM *
News: Latest Bitcoin Core release: 28.0 [Torrent]
 
   Home   Help Search Login Register More  
Poll
Question: [10-Sep-14] Should sigsafe turn into a real product?
No, it was a good proof-of-concept but NFC is not ubiquitous enough to create a market.
Yes, if you can get a commitment for integration with a popular Android wallet.
Yes, it's already a useable product on its own (assuming you publish a communication protocol and a command-line interface program).  
None of the above.

Pages: « 1 2 3 4 5 6 [7] 8 »  All
  Print  
Author Topic: Sigsafe: A NFC key tag for signing bitcoin transactions  (Read 23227 times)
Peter R (OP)
Legendary
*
Offline Offline

Activity: 1162
Merit: 1007



View Profile
September 08, 2014, 02:08:36 AM
Last edit: September 10, 2014, 05:24:55 AM by Peter R
 #121

... for the less tech savvy of us, I think a button of some sort still provides the best protection. I do understand that the button can add a cost, but then it may be cheaper to just make it some sort of a small switch or even lever.

The idea is that this device is for the less tech savvy (I'm imagining my dad).  The button isn't required because the "tapping" motion is the button press.  

A valid argument for a screen can be made (and if a screen was included a button would make sense too), but I worry that something with a tiny screen would be too hard to read and confusing for someone like my dad.  He would know to keep his sigsafe secure and he would be able to tap it against his phone to authorize larger transfers too.    
  

Run Bitcoin Unlimited (www.bitcoinunlimited.info)
Peter R (OP)
Legendary
*
Offline Offline

Activity: 1162
Merit: 1007



View Profile
September 08, 2014, 03:57:20 AM
 #122

I was thinking more about the "lack of a screen" concern when using the sigsafe as a second signer, as I was paddle boarding on the ocean this afternoon.  The more I think about this, the more confident I am that it's an edge concern and that sigsafe reduces the attack surface significantly.

Let's brainstorm the ways that coins could be stolen remotely:

1. Key logger
2. Wallet.dat stealer
3. Bad k-value used during signing
4. Low-entropy seed / supply-chain mole
5. Man-in-the-middle attack
6. ?

Sigsafe as a second signer solves #1 and #2 by design.  All wallets can eliminate #3 by using deterministic signatures.  #4 is addressed with sigsafe so long as the wallet you pair it with is independently controlled.  That leaves #5 and #6.  

We can resist #5 with "per tap" spend limits, locking the spend address, PIN access, authenticating the wallet, etc.

But how exactly could malware perform a MITM attack in the first place?  It would need to insert itself between the wallet app and the NFC API (which seems very difficult), fool the wallet app into thinking that it opened a handle to the NFC device normally, and, decrypt the wallet app's private keys, and steal any sigsafe authentication credentials.  When the user requests a transfer from the multisig address, the super-malware would have to manipulate the partially-signed transaction, re-sign it with the private key that it stole from the wallet app, modify the pubkey hash in the output script, use the stolen sigsafe authentication credentials to fool the sigsafe into thinking that it's the wallet so that sigsafe signs, and then connect to the internet to push the modified TX to the network.  

This seems far fetched to me.  I think most people lose the coins under their personal control because their wallet.dat file was stolen and cracked (e.g., from a wallet backup stored in a compromised email account).  Sigsafe solves this problem nicely.  

Run Bitcoin Unlimited (www.bitcoinunlimited.info)
dillpicklechips
Hero Member
*****
Offline Offline

Activity: 994
Merit: 507


View Profile
September 08, 2014, 04:27:29 AM
 #123

I agree, because the sigsafe is using multisig you have strengths and weaknesses for both the phone and sigsafe but together they are quite secure.
intron
Sr. Member
****
Offline Offline

Activity: 427
Merit: 251


- electronics design|embedded software|verilog -


View Profile
September 10, 2014, 06:56:50 AM
 #124

So it seems the ARM can be powered from
EM field. Willing to share the part number of
the NFC chip?
Peter R (OP)
Legendary
*
Offline Offline

Activity: 1162
Merit: 1007



View Profile
September 10, 2014, 04:17:02 PM
 #125

So it seems the ARM can be powered from
EM field. Willing to share the part number of
the NFC chip?

Yes, the microcontroller can be entirely powered from the EM field produced by the NFC reader, and it can draw enough current to perform elliptic curve operations at a reasonable speed (currently about 1.5 s for a multiplication and I think this can still be improved).   

I'm using the AS3953 chip from AMS.  It sources up to 5mA at 3.3V for your external circuitry, but in practice if I draw 3-4mA the voltage falls closer to 2.5V.  It's a bit tricky to get this chip working because you'll simultaneously be debugging the reader side and the target side, so let me know if I can help. 

I'm using an "Energy Micro" Cortex M3 from Silabs, as these have good efficiency and very low sleep currents.  With no LEDs illuminated, I'm able to perform elliptic curve multiplication running its internal RC oscillator at 21 MHz powered entirely from the EM field (in the video, I was running the micro at 21 MHz).  At faster clock speeds, the device browns out. 


Run Bitcoin Unlimited (www.bitcoinunlimited.info)
intron
Sr. Member
****
Offline Offline

Activity: 427
Merit: 251


- electronics design|embedded software|verilog -


View Profile
September 10, 2014, 05:47:54 PM
 #126

So it seems the ARM can be powered from
EM field. Willing to share the part number of
the NFC chip?

Yes, the microcontroller can be entirely powered from the EM field produced by the NFC reader, and it can draw enough current to perform elliptic curve operations at a reasonable speed (currently about 1.5 s for a multiplication and I think this can still be improved).   

I'm using the AS3953 chip from AMS.  It sources up to 5mA at 3.3V for your external circuitry, but in practice if I draw 3-4mA the voltage falls closer to 2.5V.  It's a bit tricky to get this chip working because you'll simultaneously be debugging the reader side and the target side, so let me know if I can help. 

I'm using an "Energy Micro" Cortex M3 from Silabs, as these have good efficiency and very low sleep currents.  With no LEDs illuminated, I'm able to perform elliptic curve multiplication running its internal RC oscillator at 21 MHz powered entirely from the EM field (in the video, I was running the micro at 21 MHz).  At faster clock speeds, the device browns out. 



Thanks a lot, like the details:-)
Peter R (OP)
Legendary
*
Offline Offline

Activity: 1162
Merit: 1007



View Profile
September 10, 2014, 08:03:19 PM
Last edit: September 10, 2014, 10:46:12 PM by Peter R
 #127

Sigsafe at a Crossroad

Hopefully some readers can help me decide what to do next because this project is now at a crossroad.

I've proven that a passive NFC device can parse and sign a bitcoin transaction and demonstrated that in a video.  I've obtained hands-on experience with elliptic curve cryptography, I've learned how bitcoin transactions are structured at the bit level, and I now I have a working device I can use to secure my personal bitcoins much better than the wad of paper wallets that inspired the project in the first place.  In short, I've achieved a lot of what I set out to achieve.  Of course, I was also hoping this would turn into something that others could use...

So the question is, do I keep pushing forward?  The next steps would be time and resource consuming.  If I had a firm commitment from one or more developers of popular Android wallets that "yes, if we can prove that this works, we will add NFC hardware wallet support to our main line of code" then I think I would probably continue.  

But this device has limitations:

- It would only work seamlessly on Android phones at the moment.  Many computers would need an external USB NFC reader, and it's unclear if/when the NFC chip in the new iPhone 6 will be "open" to custom Apps.

- There's no screen.    

But of course it has advantages too:

- It's very simple and intuitive to use (e.g., "tap to sign").

- It's low cost.

- It's more secure than using multisig paper wallets without also having an offline machine (but less secure than a fully offline machine).  

- NFC will likely become more widespread given Apple's new payment system.

- Android is > 80% of the smartphone market worldwide.

- Since the device has a sophisticated Cortex M3 processor, it's a good platform for developing more sophisticated devices (for example, a device with a tiny low-power screen that could draw power from the NFC EM field).

So, what should I do?  [see poll at top]

Run Bitcoin Unlimited (www.bitcoinunlimited.info)
dillpicklechips
Hero Member
*****
Offline Offline

Activity: 994
Merit: 507


View Profile
September 10, 2014, 08:17:47 PM
 #128

So, what should I do?
I wish you luck in making the right call. I'd suggest messaging the mycellium developers. They seem to be dominating with android and have very leading edge features.
starsoccer9
Legendary
*
Offline Offline

Activity: 1630
Merit: 1000



View Profile
September 10, 2014, 08:51:51 PM
 #129

Sigsafe at a Crossroad

Hopefully some readers can help me decide what to do next because this project is now at a crossroad.

I've proven that a passive NFC device can parse and sign a bitcoin transaction and demonstrated that in a video.  I've obtained hands-on experience with elliptic curve cryptography, I've learned how bitcoin transactions are structured at the bit level, and I now I have a working device I can use to secure my personal bitcoins much better than the wad of paper wallets that inspired the project in the first place.  In short, I've achieved a lot of what I set out to achieve.  Of course, I was also hoping this would turn into something that others could use; non-bitcoin R&D is no longer as fulfilling to me Sad ...

So the question is, do I keep pushing forward?  The next steps would be time and resource consuming.  If I had a firm commitment from one or more developers of popular Android wallets that "yes, if we can prove that this works, we will add NFC hardware wallet support to our main line of code" then I think I would probably continue.  

But this device has limitations:

- It would only work seamlessly on Android phones at the moment.  Many computers would need an external USB NFC reader, and it's unclear if/when the NFC chip in the new iPhone 6 will be "open" to custom Apps.

- There's no screen.    

But of course it has advantages too:

- It's very simple and intuitive to use.

- It's low cost.

- It's more secure than using multisig paper wallets without also having an offline machine (but less secure than a fully offline machine).  

- NFC will likely become more widespread given Apple's new payment system.

- Android is > 80% of the smartphone market worldwide.

- Since the device has a sophisticated Cortex M3 processor, it's a good platform for developing more sophisticated devices (for example, a device with a tiny low-power screen that could draw power from the NFC EM field).

So, what should I do?

Just wanted to mention that adding windows phone support shouldnt be a problem either. Tho windows phone is a smaller percentage of the market but it is still something that should be considered.
Newar
Legendary
*
Offline Offline

Activity: 1358
Merit: 1001


https://gliph.me/hUF


View Profile
September 11, 2014, 05:25:08 AM
 #130


I'd love to see this go forward.

Maybe write a nice email to (Android) wallet developers and see what you get for feedback? I don't think there's more than 10.

OTC rating | GPG keyid 1DC91318EE785FDE | Gliph: lightning bicycle tree music | Mycelium, a swift & secure Bitcoin client for Android | LocalBitcoins
railzand
Sr. Member
****
Offline Offline

Activity: 462
Merit: 250

Lux e tenebris


View Profile
September 11, 2014, 07:06:26 AM
Last edit: September 11, 2014, 07:59:57 AM by railzand
 #131

voted 'none of the above', but my 'no' is not about ubiquity. where do you live, Antarctica?
sigsafe is ideologically unsound. bitcoin is not for normal people, cups of coffee or tanks of gas.
financially, though, it could go all the way, because of everyone's stupidity and fashion-following - some idiot vc will snap it up.
you've written the opening chapters of '50 Hard Wallets of Grey'

btchip
Hero Member
*****
Offline Offline

Activity: 623
Merit: 500

CTO, Ledger


View Profile WWW
September 11, 2014, 07:17:12 AM
 #132

I'd suggest you keep working on the specification and tests - doing NFC correctly is not that easy (in a portable & working way), this is already great work and can turn into an even greater resource.

I don't think you should count on a commitment by a wallet developer to continue - I didn't get one, Trezor had to work on their own wallet, Mycelium are doing their own device ...


Newar
Legendary
*
Offline Offline

Activity: 1358
Merit: 1001


https://gliph.me/hUF


View Profile
September 11, 2014, 04:37:38 PM
 #133

I'd suggest you keep working on the specification and tests - doing NFC correctly is not that easy (in a portable & working way), this is already great work and can turn into an even greater resource.

I don't think you should count on a commitment by a wallet developer to continue - I didn't get one, Trezor had to work on their own wallet, Mycelium are doing their own device ...

And yet you got GreenAddress?

OTC rating | GPG keyid 1DC91318EE785FDE | Gliph: lightning bicycle tree music | Mycelium, a swift & secure Bitcoin client for Android | LocalBitcoins
btchip
Hero Member
*****
Offline Offline

Activity: 623
Merit: 500

CTO, Ledger


View Profile WWW
September 11, 2014, 06:32:38 PM
 #134

And yet you got GreenAddress?

off topic, but technically after the feature set was defined (thus, my point  Grin)

Newar
Legendary
*
Offline Offline

Activity: 1358
Merit: 1001


https://gliph.me/hUF


View Profile
September 17, 2014, 02:02:54 AM
 #135

And yet you got GreenAddress?
off topic, but technically after the feature set was defined (thus, my point  Grin)

Just trying to be a bit more optimistic.



Came accross this "Aegis" wallet I have not heard of before and they seem to be involved with NFC technology already.
https://bitcointalk.org/index.php?topic=697430.msg7880853#msg7880853

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

Activity: 73
Merit: 10


View Profile
September 17, 2014, 03:12:33 AM
 #136

Sigsafe: A NFC key tag for signing bitcoin transactions

I wanted to share a project I’ve been working on.  It’s called “sigsafe” and it is an electronic key tag that signs bitcoin transactions over a non-exploitable air gap.  The device is probably too simple to be considered a hardware wallet; instead, it’s more like a paper wallet that can produce ECDSA signatures.  The device has both high-security applications such as implementing a cold/hot wallet system where the cold wallet can only send coins to the hot wallet, and low-security applications such as a “tap and pay” tag for purchasing retail items at PoS terminals.  Because the device uses the NFC standard, it is highly interoperable with existing phones, laptops, PoS terminals, and other RFID readers.  In fact, when HTML5 browsers begin to support the Web NFC API, it should be possible to create webpages that request signatures from the sigsafe to complete an online payment or to login to a website using the bitID protocol and a single tap.




Here is a link to the white paper: http://sigsafe.org

Abstract. A small electronic key tag for signing bitcoin transactions over a non-exploitable air gap is described. The tag communicates via a simple protocol with a NFC-enabled host, harvesting power directly from the NFC electromagnetic field and eliminating the need for a battery. After receiving a signature request from a host device, the tag checks the request against a set of rules and signs the transaction, provided none are violated. User-defined signing rules permit various levels of security from none (sign all requests), to locking the spend addresses, limiting the value of transactions, and requiring a password from the tag’s owner or cryptographic authentication from the host. Malware, hackers or thieves cannot feasibly extract the private keys even with physical access to the tag. A tag manufacturer could store a funded private key within each device sold, with a rule to produce only bitcoin-signed messages, as a proof-of-intent bond to earn customers’ trust.



I like it, it will be useful and convenient if it can be created.
gtraah
Sr. Member
****
Offline Offline

Activity: 420
Merit: 250



View Profile
September 17, 2014, 02:15:04 PM
 #137

PLEASE Speak to "Jan" on this forum, he is from mycelium and thinking about offline signing, this would be there PERFECT match
Bonam
Sr. Member
****
Offline Offline

Activity: 420
Merit: 250


View Profile
September 18, 2014, 04:28:23 PM
 #138

I think you should go ahead with it. But then, I'm biased! Smiley
Adrian-x
Legendary
*
Offline Offline

Activity: 1372
Merit: 1000



View Profile
October 07, 2014, 06:55:39 PM
 #139

here is an interesting product applepay plus in a card. just add bitcoin - (BIP: 70)?

http://thenextweb.com/apps/2014/10/07/plastc-one-payment-card/ check out the video, looks like you can program the NFC its also powered with wireless inductive charging.

Thank me in Bits 12MwnzxtprG2mHm3rKdgi7NmJKCypsMMQw
unamis76
Legendary
*
Offline Offline

Activity: 1512
Merit: 1012


View Profile
December 01, 2014, 04:12:01 PM
 #140

After the crossroad, where is this at? Is this being developed further? Did any wallet commit to support sigsafe?

I think this is a great idea that should become mainstream...
Pages: « 1 2 3 4 5 6 [7] 8 »  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!