Avatar
semisol
52b4a076bcbbbdc3a1aefa3735816cf74993b1b8db202b01c883c58be7fad8bd
👨‍💻 software developer 🔒 secure element firmware dev 📨 nostr.land relay all opinions are my own.
Replying to Avatar hzrd149

This kind of exists right now https://github.com/lnbits/nostr-signing-device although its based on an esp32 so not very secure

I have it working in noStrudel on chome using web serial. But I agree we need something better.

If there is a way for web apps to connect to it I would love to add support for it in noStrudel

That is what I mentioned in my post as not a shitty ESP32

Welcome to Nostr

Fast paced low quality half working projects are incentivized more than quality products that take months to build nostr:note1jmav6c840xj2fkzlsjw9c984wvmms422a4mplremq8ga3audjqls9kuagf

The benefit of a proper hardware solution is that:

- unlike nsecBunker, nsec.app and browser extensions, the impact of malware is limited

- unlike nsec.app your keys cannot be stolen by the app developer with a silent update

- unlike other “hardware” nostr signers, it doesn’t store keys in an easily dumpable ESP32 nostr:note140nfz32f6w0urdj0zv5agxznd226g6whn43n7auz7q2qkggrfeusxwuhlv

we do not need that either

it also supports negotiation

you set a list of protocols to request, server sends a protocol picked or none as a response

I’m on iOS 17 though. It works fine with HEIC also from Damus. But it most likely is a color space issue.

2. No.

All chips have some sort of hardware boot ROM, from your CPU to a Raspberry Pi to the STM32s used in a lot of HWWs including CC.

RPi boot ROM cannot be modified and such an attack would need to target your Pi specifically, which is impossible, and then somehow figure out a way to detect SS code and add a backdoor.

you can't do that... it's a chicken and egg problem

if you are going to make a canonical binary encoding, exactly the same as the json canonical you do not hash on the hash (obviously) or the signature (also obviously) but when i say obviously, you don't realise that until you think about it

the ID and signature are external to the event, even if they appear in the naive version sent over the wire, that is only there really for fast access, a convenience, but to make the hash again you remove the signature and ID from the event and remove the object keys and replace it with a strict faithful ordering as received otherwise

the same rules can be applied to a binary encoding, so a hypothetical "b" tag could be added with other variations but if the signature is missing that is not an available verification method, so fall back to the json canonical for that, as the signature field is also present there, and would be retained in a binary wire format for the same reason (legacy, perhaps, but probably it will never go away, and good i say)

so, yeah, in summary IDs and Signature fields are inherently external to the data, thus they can be added or removed with impunity and if we were to propose a NIP to use them, this makes it simpler to explain, "b tags must not be added in the canonical form to derive the json ID hash"

in this way the event can be sent on the wire with this binary signature on it, enabling the forming of the binary encoding corresponding to it later, but it has to be omitted

so, yeah, maybe that's too complicated for people's brains, but ultimately that's how it would have to work

yes, I’m also saying the new binary signature is another detached field like id/sig