Show HN: The SC4-HSM, a fully open USB hardware secure module
1–10 of 62 posts
Re: Show HN: The SC4-HSM, a fully open USB hardware secure module
#2This is essentially just putting your keys on a dedicated computer, connected over USB. That does have value, mind you. Keeping your keys isolated definitely makes it harder for malware to exfiltrate them, and a "trusted UI" makes it clearer to the end user what's happening.
Re: Show HN: The SC4-HSM, a fully open USB hardware secure module
#3https://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?
Re: Show HN: The SC4-HSM, a fully open USB hardware secure module
#4Calling this an HSM is somewhat disingenuous, as it seems to contain none of the usual defenses found in a "real" hardware security module, like tamper self-destruction of key material, and likely no side-channel protection. This is essentially just putting your keys on a dedicated computer, connected over USB. That does have value, mind you. Keeping your keys isolated definitely makes it harder for malware to exfilt…
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, not physical compromise of the device. There's only so much you can offer for <$100.
Re: Show HN: The SC4-HSM, a fully open USB hardware secure module
#5Re: Show HN: The SC4-HSM, a fully open USB hardware secure module
#6Calling this an HSM is somewhat disingenuous, as it seems to contain none of the usual defenses found in a "real" hardware security module, like tamper self-destruction of key material, and likely no side-channel protection. This is essentially just putting your keys on a dedicated computer, connected over USB. That does have value, mind you. Keeping your keys isolated definitely makes it harder for malware to exfilt…
> 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,…
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 physical attacks.
You can defend against some side channels (timing from the host, for example) but I was thinking more like EM/RF emissions.
I want to be clear that I think this is still a great project, and I commend your work so far!
Re: Show HN: The SC4-HSM, a fully open USB hardware secure module
#7Earlier 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…
Those are not at all secure against compromised hosts.
> EM/RF emissions
You probably don't want to use this to secure the nuclear launch codes. But I think you'd have to work pretty damn hard to get anything out of it. There are no external parts here, it's all one SoC, one that is specifically designed to keep proprietary code out of the hands of Chinese hackers. If it were easy to attack it would lose most of its market.
> I commend your work so far!
Thanks!
Re: Show HN: The SC4-HSM, a fully open USB hardware secure module
#8Re: Show HN: The SC4-HSM, a fully open USB hardware secure module
#9Earlier 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…
Having provided near-perfect defense against a software-only adversary, many HSM vendors then add layers and layers of protection for the hardware. But the real key is ensuring that someone who gets root on your server can use your keys but not copy them.
Re: Show HN: The SC4-HSM, a fully open USB hardware secure module
#10Awesome. 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?
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 this sort of application, and it's reasonably priced. If you designed a SoC from scratch for this application you couldn't do much better than this chip.
> Are the designs of this chip at least available, and audit-able, or could it contain something like Intel's HM?
No, I don't think so. And yes, it's possible there's a back-door in there, but I think it's unlikely. The market for this chip is embedded devices with sensitive code. If it became known that there was a back door that would destroy the market for the chip.
But if you want one based on a RiskV I'd be happy to discuss doing a custom development.