Live data from Hacker News

Show HN: The SC4-HSM, a fully open USB hardware secure module

sc4.us

11–20 of 62 posts

Re: Show HN: The SC4-HSM, a fully open USB hardware secure module

#11

Totally unrelated, but I was looking through their repo and discovered tinyscheme: https://github.com/Spark-Innovations/sc4-hsm/blob/master/src... https://github.com/Spark-Innovations/sc4-hsm/blob/master/src... Neat! Super-readable, self-contained, and from 1994. What's not to love?

TinyScheme is indeed very cool, but it's a bit of a parlor trick to run it on the HSM. I don't think you'd actually want to use that in production. But it's awfully neat to run Scheme on a gadget the size of a lipstick case. :-)

Here's the original TinyScheme site:

http://tinyscheme.sourceforge.net/home.html

Re: Show HN: The SC4-HSM, a fully open USB hardware secure module

#12
post #4

Earlier quoted context omitted.

> Calling this an HSM is somewhat disingenuous Well, I had to call it something. I'm open to suggestions. > tamper self-destruction of key material That's true, but there is readout protection built into the SoC. > and likely no side-channel protection Side-channel protection is provided by the software, which is a side-channel-resistant implementation. But the principal attack model is a compromised client machine,…

At least in my mind, the defining attribute of an HSM is protection against physical compromise of the device. Maybe we disagree on that definition: I guess it is hardware, and it exists for security, and it's a module. I admit it's unfair to compare this with a $10,000 HSM from Thales or Safenet, of course. But it seems like a smartcard based solution might be better on that front, as they're designed to withstand p…

>> At least in my mind, the defining attribute of an HSM is protection against physical compromise of the device.

FIPS definitions help a bit here.

A hardware FIPS 140 Level 2 cryptographic module (HSM) is only required to show evidence of tampering. A $5 broken seal if often the solution. Note that applying a seal to the module in the link is not sufficient because I can compromise the thing without opening it (just press the button and reflash with non-signed images).

Level 3 is a step up in that you must have some degree of tamper resistance, but in several cases, most of this security behemoths just drop a layer of epoxy on the board and call it a day. Then they sell it to you for $10.000.

With Level 4 things get serious, but then you can count your suppliers in on hand and pay accordingly (and Safenet is not one of them).

I agree that smartcard-based solution would be ideal, but specs and native firmware and SDK are never open, so you cannot build an open-source product with them.

Re: Show HN: The SC4-HSM, a fully open USB hardware secure module

#13
post #10
post #8

Awesome. One question... why STM/ARM? I'm not an expert in the available choices, but I'm generally curious about RiskV devices because they're fully open. Are the designs of this chip at least available, and audit-able, or could it contain something like Intel's HM?

> Awesome. Thanks! > why STM/ARM? The STM32F415 is specifically designed for crypto and security-sensitive applications. It has built-in support for AES and other crypto primitives (though I'm not actually using any of those at the moment), a hardware random number generator, and built-in readout protection modes that prevent you from externally accessing the flash or the RAM. And it has plenty of flash and RAM for t…

It looks like a very nice piece of kit - I just might have to get one :-) But speaking of hardware, I was recently reminded of the new BBC:Micro[m] project thanks to an email by the PythonAnywhere[p]-team.

I wonder how much of the features could be implemented on that? I'm guessing that while the micro-usb might allow for power and data connection to the host - there'd probably not be a way to prevent compromise when connected (I'm guessing malware could reprogram the device without overwriting the stored keys). Thoughts?

[m] https://www.microbit.co.uk/device

[p] https://www.pythonanywhere.com/

[ed: As for adding (some) tamper-proofing to either device, remember the glitter-nailpolish-picture-trick: https://www.wired.com/2013/12/better-data-security-nail-poli...

I wonder if it would be possible to epoxy up the BBC:Micro's micro USB port, and use the connectors/headers for communicating, possibly emulating USB 1.1 or something, with an soldered connector. ]

Re: Show HN: The SC4-HSM, a fully open USB hardware secure module

#14
post #13
post #10

Earlier quoted context omitted.

> Awesome. Thanks! > why STM/ARM? The STM32F415 is specifically designed for crypto and security-sensitive applications. It has built-in support for AES and other crypto primitives (though I'm not actually using any of those at the moment), a hardware random number generator, and built-in readout protection modes that prevent you from externally accessing the flash or the RAM. And it has plenty of flash and RAM for t…

It looks like a very nice piece of kit - I just might have to get one :-) But speaking of hardware, I was recently reminded of the new BBC:Micro[m] project thanks to an email by the PythonAnywhere[p]-team. I wonder how much of the features could be implemented on that? I'm guessing that while the micro-usb might allow for power and data connection to the host - there'd probably not be a way to prevent compromise when…

> I just might have to get one

Better hurry. My stock of prototypes is very nearly sold out.

> BBC:Micro[m] project

I have no idea about that particular device. But very few things end up being secure by accident. But if it's not designed for security like the STM32F415 is, then I'd say odds are good it's not secure.

Re: Show HN: The SC4-HSM, a fully open USB hardware secure module

#16
post #11

Totally unrelated, but I was looking through their repo and discovered tinyscheme: https://github.com/Spark-Innovations/sc4-hsm/blob/master/src... https://github.com/Spark-Innovations/sc4-hsm/blob/master/src... Neat! Super-readable, self-contained, and from 1994. What's not to love?

TinyScheme is indeed very cool, but it's a bit of a parlor trick to run it on the HSM. I don't think you'd actually want to use that in production. But it's awfully neat to run Scheme on a gadget the size of a lipstick case. :-) Here's the original TinyScheme site: http://tinyscheme.sourceforge.net/home.html

it's a bit of a parlor trick to run it on the HSM. I don't think you'd actually want to use that in production.

Challenge accepted! I bet I could port Arc to it. Hmm...

It'd work. Eventually.

Thanks for the link. I'm intrigued by the idea of lisp-powered businesses. I wonder if there's a survey of the state of non-Clojure lisps circa 2016? Nothing against Clojure, of course. It powers many businesses. I'm just curious how the rest are faring.

I think I'd like to work somewhere that intentionally uses a less-popular language just because they feel like it. Or that makes Scheme-powered devices the size of a lipstick case.

Re: Show HN: The SC4-HSM, a fully open USB hardware secure module

#17
post #11

Earlier quoted context omitted.

TinyScheme is indeed very cool, but it's a bit of a parlor trick to run it on the HSM. I don't think you'd actually want to use that in production. But it's awfully neat to run Scheme on a gadget the size of a lipstick case. :-) Here's the original TinyScheme site: http://tinyscheme.sourceforge.net/home.html

it's a bit of a parlor trick to run it on the HSM. I don't think you'd actually want to use that in production. Challenge accepted! I bet I could port Arc to it. Hmm... It'd work. Eventually. Thanks for the link. I'm intrigued by the idea of lisp-powered businesses. I wonder if there's a survey of the state of non-Clojure lisps circa 2016? Nothing against Clojure, of course. It powers many businesses. I'm just curiou…

> It'd work. Eventually.

I have no doubt you could get it to run. Arc is just a thin layer on top of Scheme. The question is whether or not it's prudent to run any Lisp on a security device. I'm as big a Lisp fan as they come (look at my handle!) and running Lisp on an HSM makes me a little queasy.

> I'm intrigued by the idea of lisp-powered businesses.

My back-end server is using Clozure Common Lisp, and I certainly believe in using Lisp to cross-compile code for the HSM. There are a lot of ways to leverage Lisp besides actually running it on the device itself. But I have a lot of other Lispy tricks up my sleeve. Stay tuned!

Re: Show HN: The SC4-HSM, a fully open USB hardware secure module

#18
post #17

Earlier quoted context omitted.

it's a bit of a parlor trick to run it on the HSM. I don't think you'd actually want to use that in production. Challenge accepted! I bet I could port Arc to it. Hmm... It'd work. Eventually. Thanks for the link. I'm intrigued by the idea of lisp-powered businesses. I wonder if there's a survey of the state of non-Clojure lisps circa 2016? Nothing against Clojure, of course. It powers many businesses. I'm just curiou…

> It'd work. Eventually. I have no doubt you could get it to run. Arc is just a thin layer on top of Scheme. The question is whether or not it's prudent to run any Lisp on a security device. I'm as big a Lisp fan as they come (look at my handle!) and running Lisp on an HSM makes me a little queasy. > I'm intrigued by the idea of lisp-powered businesses. My back-end server is using Clozure Common Lisp, and I certainly…

Please write about this! It's awesome. Basically everything you're saying. If you could just put all of that into about 9300 words sometime, that'd be great. :)

Re: Show HN: The SC4-HSM, a fully open USB hardware secure module

#20
I've been looking for something like this in a while. It would be feasible to make something like this but with a Bluetooth interface instead (I'm concerned about MITM attacks)? I've been wondering about the possibility of writing a mobile app that uses a Bluetooth HSM to sign documents.

Great work and nice project by the way

Post reply on HN