Live data from Hacker News

Firefly – An open-source $5 DIY hardware wallet

firefly.city

31–39 of 39 posts

Re: Firefly – An open-source $5 DIY hardware wallet

#31
post #4

The firefly certainly can transmit it has a display. I imagine an attacker could get the firefly to display enough information to extract the ether from the wallet.

It's a proof of concept, and at least passively interesting. Of course, I didn't see a "decline" button, and without a power button it could be an issue.. btle could be sufficient with a screen sleep. Also no idea how to add currency to the wallet... that could be another issue.

> Also no idea how to add currency to the wallet... that could be another issue.

Isn't that just sending coins to an address given as QR? In the demo it shows two kinds of QR:

- Address (to deposit) - Signed transaction (to send)

And the unsigned transaction is sent via BLE (I'm guessing only one way, so while not completely air gapped, it sounds fairly secure).

Re: Firefly – An open-source $5 DIY hardware wallet

#32
post #9

Could someone explain how this costs $5? Does that mean if you already have most of the parts laying around? I'm actually curious.

radio + application processor $3.18 https://m.aliexpress.com/item/1387904044.html OLED $2.59 https://m.aliexpress.com/s/item/32233342471.html The rest is passive junk that's probably about 25¢. That's more than $5, but this is what 120 seconds of searching on AliExpress turned up. Software is where a lot of the value comes from. I assume it's using a clever hack like http://dmitry.gr/index.php?r=05.Projects&proj=11.%…

well: arduino [1]: 1.38$ nrf [2]: 0.55$ oled [3]: 2.33$ ------------------ total: 4.26$

like you said the passive components are pretty cheap, and you stay under 5$.

[1] https://www.aliexpress.com/item/EYEWINK-1pcs-lot-ATMEGA328P-... [2] https://www.aliexpress.com/item/LCD-Board-T420XW01-V2-06A39-... [3] https://www.aliexpress.com/item/Free-Shipping-Blue-0-96-inch...

Re: Firefly – An open-source $5 DIY hardware wallet

#34
post #24
post #23

Forgive my ignorance, but could someone explain what a "hardware wallet" is?

A hardware wallet is a device to store cryptocurrency. When you have bitcoins or ether or whatever, you're 100% responsible of its safety, lose the keys, lose the coins. Just like cash or gold, and unlike PayPal or banks (where they owe you the quantity of your balance). The problem is that holding keys in a PC or a phone is very risky: malware, security holes, etc. A hardware wallet allows very little communication…

> You can even use it in a virus-ridden Windows machine.

FTFY.

Re: Firefly – An open-source $5 DIY hardware wallet

#35
post #3

Can you really call it an air-gap if you're using a BLE radio? I mean, yes, technically the information is transferred over the air rather than through a wire, but you wouldn't call a cell-phone an air-gapped device because it has half a zillion radios inside, many of which you can't even reliably turn off. Looking at the recent Broadcom wifi vulnerability -- just having a phone sitting there with the radio on is eno…

I had the same thought. The presenter takes pains to emphasize that it cannot transmit. Is that a software limitation or a hardware limitation? If it's just software that doesn't transmit during its normal operation, the wallet could still be vulnerable to a malicious payload that turns on the radio and sends data.

Re: Firefly – An open-source $5 DIY hardware wallet

#36

Earlier quoted context omitted.

I'm sure an image could be generated that would crash the QR code recognizer.

I'm just critiquing the air gap design/claim. Getting a malicious QR code in front of the camera would either require the attacker to gain physical access to the device, at which point it is game over for any device, or they would have to compromise the app presenting the first QR code. This would be a problem regardless of the air gap design for something like this, even if you had to enter the data by hand into the…

If I understood correctly, the wireless transmission is one way. So the attacker would ask the wallet to sign a transaction, then the confirm button would be mistakingly pressed... and you have to scan the screen to be able to send that transaction.

Possible problem: The attacker sends a transaction at the same time (or just before) a legit one is sent.

Not a big deal: The user is asked to send a specific quantity to a specific address on the screen. If somehow the user didn't check or the attacker fooled him with the same quantity etc, the picture still has to be taken and check it is the same transaction. Additionally, the wireless communication can have a second authentication factor.

Re: Firefly – An open-source $5 DIY hardware wallet

#37
post #3

Can you really call it an air-gap if you're using a BLE radio? I mean, yes, technically the information is transferred over the air rather than through a wire, but you wouldn't call a cell-phone an air-gapped device because it has half a zillion radios inside, many of which you can't even reliably turn off. Looking at the recent Broadcom wifi vulnerability -- just having a phone sitting there with the radio on is eno…

Another question about the "air-gap"

I maybe am not understanding some part of the Ethereum protocol that is important to knowing how this can work...

If the wallet is stored on the device, and the device can only receive payment requests over BLE and nothing else, and the device does not store the block chain, and the device does not have Wi-Fi to go out and ask for information about the block chain state, how can the device know its own balance, or know whether it has sufficient funds to sign a transaction?

(Can it sign transactions that it can not immediately fulfill from the stored balances? Can they be used as IOUs?)

Re: Firefly – An open-source $5 DIY hardware wallet

#39
post #4

The firefly certainly can transmit it has a display. I imagine an attacker could get the firefly to display enough information to extract the ether from the wallet.

It's a proof of concept, and at least passively interesting. Of course, I didn't see a "decline" button, and without a power button it could be an issue.. btle could be sufficient with a screen sleep. Also no idea how to add currency to the wallet... that could be another issue.

I saw another diagram of the device where it has two buttons -- one to accept (pay) and the other appears to be a power cutoff switch. I'm thinking that power cutoff will be the payment rejection button.

> Also no idea how to add currency to the wallet

If you get past the crowdfunding page, you are assigned a *.firefly.eth "ENS" name. This corresponds to a wallet address. So, the same way you add currency to any other wallet. (How does it know that it has an available balance, though...)

Post reply on HN