4 ms·
Even if it's finding a needle in a haystack, it's still a way smaller haystack that cracking the key. Let's say you can force a decryption operation somewhere
by AnarchismIsCool 3y ago
Even if it's finding a needle in a haystack, it's still a way smaller haystack that cracking the key. Let's say you can force a decryption operation somewhere in one billion samples you only need to try decryption with, worst case, just under a billion keys as you shift your way through the sample stream until you get something with low entropy. That's literally nothing compared to the time complexity of AES.
- jacquesm 3y agoOk, that makes good sense, so the 25 seconds in the article are optimistic, the billion keys you mention are a pessimistic view (a mere 800 years), and the real number would then be somewhere in between those two. Do you account for jitter in your billion keys example or do you assume that the samples will all nicely overlay each other even absent a convenient trigger?
- xw30992 3y agoYou would think things like spread spectrum clocking and low passing power would thwart this attack but really it just means you need to take a larger average and computers are really fast. See for example: http://www1.ece.neu.edu/~saoni/files/Chao_ICCD_2015.pdf http://www1.ece.neu.edu/~saoni/files/Chao_ICCD_2015.pdf I still can't believe that worked. That said, these techniques are pretty old now and vendors should be mitigating this attack.
- jacquesm 3y agoYes, agreed you'd need a larger average. The thing I'm trying to get at is whether or not this is a practical attack, as in: feasible in the real world, without being able to control the code running on the device. Because if you can do this to any random ESP32 without being able to manipulate the code and it coughs up the keys in a few days, weeks or even months that's an entirely different level of threat than being able to do this the way the article did it. And I'm having a hard time figuring out how big that difference is, it may well be 'impractical today, childsplay tomorrow'. And ESP32 devices are in a lot of different places. Access to the hardware should be assumed (because you're not going to be able to monitor the 3.3V line with this level of accuracy otherwise), I'd assume any caps after the monitoring point would be removed and the only capacitance left would sit on the supply side before the current transformer. If that's your setup and you have no knowledge of what's running on the chip is it doable or not? The article suggests that any key can be recovered in a couple of seconds but I don't think that's the case at all.
- xw30992 3y agoIn general: One needs to get code on the device for this attack to work. But, in many demonstrated cases, one doesn't need to get privileged code on the device, which is an important distinction. And in other cases this type of monitoring was done without direct access to the machine, for example by examining the intensity of LEDs with a camera. Admittedly that's within eyeshot, but it's not direct access either. For this ESP32 attack in particular, it's not clear how it would work without full control of the device.
- jacquesm 3y agoThank you.
- AnarchismIsCool 3y agoAES is fast and hardware accelerated, I'd have to test but it's probably in the realm of minutes?
- jacquesm 3y agoIf you can do this without your code on the device in minutes then yes, that would be a serious problem. If 100's of years, then not so much.