[Cryptech Tech] goals / use cases
Bernd Paysan
bernd at net2o.de
Wed Jan 28 19:26:26 UTC 2015
Am Mittwoch, 28. Januar 2015, 19:43:06 schrieb Fredrik Thulin:
> Hmm, no I think that sounds like the age old SSH passive monitoring attack
> by Solar Designer
>
> http://www.openwall.com/articles/SSH-Traffic-Analysis
>
> (see Interactive session weaknesses).
>
> I think the one I remembered and talked about was this USENIX paper
>
>
> https://www.usenix.org/legacy/event/sec06/tech/shah/shah_html/jbug-Usenix06
> .html
>
> Anyway, the point as Randy says is that there is no end to the possible side
> channel attacks in black box chips.
Yes, indeed. The literature is full of side-channel attacks against AES, but
one difficulty is that hardening against one side-channel attack might not
give anything for other side-channels. One of my concerns with AES is that
the key for long encryptions is constant for a very long time, and so even
very small differences between different keys can be extracted through side
channels. Modern stream ciphers like ChaCha or block ciphers like Threefish
have the same problem: constant key + tweak.
That's why I use Keccak for encryption, because the sponge function makes sure
that nothing is constant; each round will mix the entire state.
Side channel attacks are even more successful at slower operations like
RSA/DH-style exponentiation, that includes elliptic curves. Even when you
have constant timing, constant current is difficult to achieve, and you don't
control an FPGA well enough to get constant curent (with an ASIC and special
care, this is easier).
Possible example attack: Dan Bernstein's Ed25519 reference code first computes
the 8 values pubkey*[1..8] to be multiplied with the accumulator. Let's
assume that each of these pre-computed numbers have their specific current
consumption pattern when multiplied with other numbers. So this optimization
vs. a simple "always multiply with the pubkey, and then decide" instead
"select one of 8 possible attacker-known inputs to multiply with the
accumulator" opens up a possible side channel. And we can't control it if we
use the FPGA's multiplication units, because those aren't designed for
constant current.
This attack is probably not generally feasible, but as the attacker controls
the pubkey, it might be possible to extract enough information from several
DHEs with different prepared pubkeys to get at the secret. You know, simply
by having a special microphone seveal meters away, and recording the
ultrasonic sound of the deblocking caps.
--
Bernd Paysan
"If you want it done right, you have to do it yourself"
http://bernd-paysan.de/
net2o ID: kQusJzA;7*?t=uy at X}1GWr!+0qqp_Cn176t4(dQ*
More information about the Tech
mailing list