The ESP32 used by these signers is not a very secure chip. Most MCUs in general including STM32, ESP32, RP2350 etc lack security features.
While most devices use secure elements, they export the key to the insecure MCU once the boot is complete.
This requires an on-SE signing solution. I am currently building the first secure element designed for Nostr and Bitcoin, ensuring your keys never leave the device.
This is based on an EAL6+ chip from a large SE vendor that also protects billions of credit cards and passports.
There are 2 distinct possible use cases:
- A USB stick you can plug into a home server like an Umbrel or a Start9, that provides a secure storage for your keys and a trusted anchor for future use cases, and can allow most actions without review.
- The HWW device I am working on will be able to store and handle Nostr key operations with manual approval for the more sensitive event kinds. This also uses a security-hardened MCU.
Maybe one can simply extend SpecterDIY to handle Nostr keys. With the keys stored on a SmartCard this should be rather secure.
Thread collapsed
Wow sounds very good. Looking forward to get one.
yeah i want also. lightning and nostr have the UX advantages all over the legacy payment clearinghouse networks and centralised silos. nostr will scale a lot bigger but what people don't realise it's not about the social network it's about collaborative systems.
also, one of the projects i'm collaborating with, similar to the market stuff as well, is replacing stuff like mongo and postgresql and mariadb and app servers with nostr clients and relays. nostr can implement all existing web protocols as well as more that you can't without that small simple base architecture, lacking from most specialised protocols.
being able to replace microservices and solve problems that you can't solve without self-authenticating, atomic, immutable and growing datasets, is where nostr is really gonna kick the big bois in the nuts. i think at 3 years in nostr is now finally reaching the point where people are seeing that this is a model for replacing all existing web tech with a single uniform, simple protocol that lets you do anything on top of it.
But under it all: websockets.
Thread collapsed
Thread collapsed
Thread collapsed
Thread collapsed
Any chance your work could also include VLS support too?
This may be offered as an enterprise product some (long) time in the future
Why focus it as enterprise over consumer? Why don't we see more consumer focused VLS products?
Enterprise customers benefit more from this, are usually easier to work with unlike less experienced average users, B2B workload is inherently simpler than B2C, and they can pay better rates for the service they get.
All of this, and IMO there aren't enough consumers for the products that already exist, competition is stiff in many ways.
Thread collapsed
Thread collapsed
Thread collapsed
Thread collapsed
Thread collapsed
> they export the key to the insecure MCU once the boot is complete
Why would they do that? An SE can sign on-chip which is its very purpose. Can you point me to the code in any open source firmware implementation where that happens?
I don't even believe SEs have functionality to export persistent keys.
They use an authenticated data storage slot.
All of the ones using ATECC series do this. It has data storage slots & a few ECC key slots. Of course it’s P-256 only (not secp256k1) and only supports signing, so you get this.
Same thing with Infineon Optiga based ones which can’t do the required algorithms for Bitcoin but can at least keep more types of keys on SE.
Oww #btcfail. Satoshi had to have his funky off-beat curve for no other reason than to be funky.
SE050 does secp256k1 afaik so no excuses there.
BIP-32 and Schnorr not supported without a hack.
The choice of secp256k1 is at least better than the turd that is NIST curves.
Thread collapsed
Thread collapsed
Thread collapsed
Thread collapsed
> This is based on an EAL6+ chip from a large SE vendor that also protects billions of credit cards and passports.
You mentioned the NXP SE050 before which is marketed as an IoT chip ... Nitrokey uses the NXP P5DF081 which is more geared towards smart card use but otherwise not much different.
SmartMX1 (P5 series) is a dinosaur. SmartMx2, the successor, was introduced in about 2010 and it is at P71/SmartMX3 now.
SE050 is similar to the Infineon Optiga ones. Both are better than ATECC.
The problem is there is no SEs supporting Bitcoin algorithms, or content-aware signing (so you can for example block a Request to Vanish event from ever being signed)
Not sure what's so special about Bitcoin algorithms other than the koblitz curve but neither do I care.
As for content aware signing not the role of the SE to my knowledge.
Thread collapsed
Thread collapsed
Thread collapsed
isn't the problem that there is no SE for schnoor at the moment?
Thread collapsed
It's probably secure *enough*. It's one of those perfect is the enemy of good things.
I hear that the TROPIC02 chip will have on chip secp256k1 signing. Big deal.
But, yes, I largely agree.
Thread collapsed
Tropic reminds me of https://betrusted.io/
i've not come across this before. i don't quite understand what it actually is after reading the website. is it a full stack open source device with secure storage?
I think it's an abandoned project but the idea was open source hardware down to the VHDL.
Thread collapsed
Thread collapsed
Thread collapsed
Why accept “secure enough” when you can have “secure” which is very attainable?
I do this because “secure enough” is not enough.
Thread collapsed
Thread collapsed