4 ms·
> Giving your HW for somebody else to operate, while hoping that this person won't recover secrets from the inside. [...] is a trust issue, and I would avoid th
by segfaultbuserr 6y ago
> Giving your HW for somebody else to operate, while hoping that this person won't recover secrets from the inside. [...] is a trust issue, and I would avoid those situations anyway.
I hate DRM with a passion, but the same problem is always my concern. If I lost my smartcard (or USB dongle) that stores an OpenPGP private key in a hotel - yes, everything is possible with physical attack, and I should use an extra PIN to symmetrically encrypt the key material on the card anyway - But still, if the attacker decides to extract anything from the card, I'd like to find a way that forces the attacker to pay the maximum price.
An inexpensive security chip can bill the attacker an extra $1000. If the attacker must decap the chip and use some semiconductor test equipment, it's even better.
However, there's a small problem - while forcing the attacker to pay, say $1000, to develop the attack is easy, but it's difficult to guarantee the cost per attack will remain the same - if a noninvasive attack has ever been found (e.g. fault injection), the marginal cost of new attacks becomes essentially zero. And unlike software, the smartcard is useless at this point, and it cannot be patched. If it's a FOSS hardware design, everyone is now vulnerable. Worse, it doesn't help that these attacks are rarely published - before you start using it, you have no idea how secure it really is, and after you start using it, you have no idea how vulnerable it has become. Solution? Use the latest security chip and upgrade your smartcard to a new design frequently. Unfortunately, the secure chip industry is basically owned by the DRM/financial companies, and the best chips are behind layers and layers of NDA, and even then, they're often only sold to a restricted list of consumers. It protects them, not us...
- MayeulC 6y agoAh, yes, this is true. One option is to use that as just one authentication factor, and revoke it if it is lost. One could use it with a password, as is commonly done, but you could imagine combining it with a key stored on a server, making it a two-layer key system. That way, extracting the key would likely be of no use to someone who stole it, provided you can revoke access quickly enough. So yeah, hardware security measures can be useful, but do not necessarily need to be 100% foolproof.