4 ms·
Are there simple techniques that can mitigate these attacks?
by monochromatic 8y ago
Are there simple techniques that can mitigate these attacks?
- remcob 8y agoThere is a software solution called blinding. The idea is to 1) scramble your input (message, private key) by multiplying with a random blinding factor, 2) do the crypto math and 3) divide out the random blinding factor. Since all the crypto math happens with what is now essentially random numbers, you gain no knowledge from power analysis. Downside of this method is that it requires additional operations and your crypto algorithm needs to be suitable for this. There is literature on this method, but don't be confused by "blind signatures" which is something different. Any crypto wizz around that can tell me if secp256k1 ecdsa can be blinded?
- letsgetphysITal 8y agoBut this is an enclosed system. Can't those blinding factor values also be pulled via the same monitoring techniques, or at least give enough information to reduce the number of possible values for brute forcing them?
- tempay 8y agoDefinitely not an expert, but I think this defends against differential power analysis as you can't statistically correlate multiple runs (assuming you can't force or precisely measure the random number used each time).
- jnwatson 8y agoThe first mistake is they used a non-constant-time scalar multiply. So, first do that. Of course that just hides the timing, not the power usage. There is a bunch of elliptic curve stuff you can do like "multiplicative blinding", e.g. https://www.iacr.org/archive/ches2010/62250433/62250433.pdf https://www.iacr.org/archive/ches2010/62250433/62250433.pdf.
- vvanders 8y agoIf I recall correctly most secure hw chips have "inverse" transistors that balance power draws so you can't read bits as easily. Still have to have solid software that doesn't do early returns and the like.
- adtac 8y agoI have absolutely zero experience in things like this, but would an integrated component (so that it can't be ripped off) that draws a random amount of heat (through a controllable variable resistor) solve this?
- jacobush 8y agoIt raises the bar, but dedicated (pros or super advanced hobbyists) attackers strip ICs of their packaging and probe at the die level.
- sannee 8y ago> random amount of heat Random noise would just mean that you have to take multiple measurements and average them. Depending on the system in question, "multiple" may or may not be impractically many.
- tzs 8y agoIn this particular attack, it looks like the attacker measured the power drawn over USB. This could probably be defeated by buffering power. Include some kind of energy storage on the device, such as a battery or an ultra-capacitor. Your external power source (e.g., USB) charges your storage device, and your computation is powered from the storage device. Only charge the storage device between complete operations. Someone watching power over USB would then see no power draw during key operations, and a smooth power draw between operations. If your threat model includes attackers that will be able to probe inside the device while it is doing operations, and so who could look at the power on the far side of the battery or capacity, then buffering power won't be sufficient.
- exoesquitur 8y agoAnyone measuring power will have the capability to bypass / defeat any external power filtering. To be of value this must be done at the die level.
- esmi 8y agoI was thinking the same thing. The equivalent of a power factor conversion stage at input makes this type of attack impossible unless they have access inside the product.