As an electrical engineer I will offer a few observations/opinions regarding 
this issue.  Signal egress and ingress commonly occur internally and externally 
with communication (et al) devices.  You can realistically end up with 
signaling artifacts on your power lines.  There could be a wide variety of 
signaling types that could comprise signals aggregated onto these lines.  
Signals in the frequency range in the Mhz can propagate on power cables such as 
these for a short but significant distance.   Much slower signals can also 
appear on these lines (e.g., key strokes etc.).  Potentially I would say that 
it is possible that unencrypted data signals could be in this mix.  Btw I think 
that the grounding cable will quickly dissipate any residue signals - assuming 
the device is properly grounded.  The Hot power line is much more susceptible.  
I believe it is quite feasible that these signals can be detected externally 
from the box and some at distances exceeding 100 ft.  This is especially true 
for network cables that can be detected, demodulated and decrypted at much 
further distances.  Usually; however, these data communication signals would be 
encrypted on a local network but perhaps not as strongly as those destined for 
remote locations.  I think that if there is a large enough sample and enough 
time then this introduces a degree of susceptibility to the security design.  
In summary I'd say it is a glaring hole in most contemporary security solutions.

-----Original Message-----
From: Edward Ned Harvey (bouncycastle) [mailto:bouncycas...@nedharvey.com] 
Sent: Thursday, August 28, 2014 12:11 PM
To: Sid Shetye; dev-crypto-csharp@bouncycastle.org
Subject: RE: [dev-crypto-csharp] Side channel vulnerabilities: Power 
consumption and ground potential attacks?

> From: Sid Shetye [mailto:sid...@outlook.com]
> 
> Does anyone have comments/insights to bouncy castle's resilience to 
> side- channel attacks like power consumption or ground potential 
> attacks? Asking here since it's the crypto library that would 
> contribute most to the signals being analyzed.

If the described attacks were real, bouncy castle would be just as susceptible 
as everything else in the computer, because bouncy castle runs on the CPU, 
using system RAM.  If they were able to read protected memory contents and CPU 
instructions, then they would have bypassed all the system security 
successfully.

Personally, I don't buy it.  I'll wait to see if anybody debunks this, or it's 
proven to be non-repeatable, just plain FUD hoax.  Here's my reasoning why:

First, they say, despite the GHz instruction frequency, they're extracting the 
keys using MHz and kHz signals.  Which is *nearly* implausible in and of 
itself, but for the sake of argument, let's just give them the benefit of the 
doubt.  Of all the unbelievable things, the insufficient sample rate is the 
most nearly plausible.
 
The part that I *absolutely* don't believe is the principle itself.  They're 
saying they sample the ground signal, which fluctuates in a 
computation-dependent way.  That's the core principle concept.  Which could be 
*plausible* as a method of accessing protected memory or CPU instructions, if 
the keys were serialized bit by bit and sent as a serialized signal somewhere, 
and that serialized signal at least bled over into the ground signal a little 
bit.  But that's not how computers work.

Your CPU has a 32bit or 64bit instruction set.  Every time memory is copied 
around, at least 32 bits get latched simultaneously, *and* the power 
consumption is not related to what the bits are.  The power consumption is more 
closely related to the number of bits that change (again, not what the bits 
are.)  Similarly, when you perform compute instructions, the power consumption 
is related to the number of bits that *change*, not what the bits *are*.  In 
order to translate "number of bits that changed" into some meta-information 
about "what the bits are" you would need to somehow figure out the old memory 
contents, which would mean knowing the memory address (at least).  You would 
really need 32 or 64 independent channels of sampling the CPU or RAM bus.  
Having a single channel for sampling the power consumption of the system as a 
whole is going to be insufficient to leak protected memory contents, even if 
you had a sufficient sampling rate (which they don't; by a factor of 1,000 to 
1,000,000).  I simply don't buy it.

Physics.

Reply via email to