CacheBleed: a timing attack on OpenSSL constant-time RSA

2017 ◽  
Vol 7 (2) ◽  
pp. 99-112 ◽  
Author(s):  
Yuval Yarom ◽  
Daniel Genkin ◽  
Nadia Heninger
Keyword(s):  
2020 ◽  
Vol 15 (1) ◽  
pp. 131-142
Author(s):  
Mehdi Tibouchi ◽  
Alexandre Wallet

AbstractAs one of the most efficient lattice-based signature schemes, and one of the only ones to have seen deployment beyond an academic setting (e.g., as part of the VPN software suite strongSwan), BLISS has attracted a significant amount of attention in terms of its implementation security, and side-channel vulnerabilities of several parts of its signing algorithm have been identified in previous works. In this paper, we present an even simpler timing attack against it. The bimodal Gaussian distribution that BLISS is named after is achieved using a random sign flip during signature generation, and neither the original implementation of BLISS nor strongSwan ensure that this sign flip is carried out in constant time. It is therefore possible to recover the corresponding sign through side-channel leakage (using, e.g., cache attacks or branch tracing). We show that obtaining this single bit of leakage (for a moderate number of signatures) is in fact sufficient for a full key recovery attack. The recovery is carried out using a maximum likelihood estimation on the space of parameters, which can be seen as a statistical manifold. The analysis of the attack thus reduces to the computation of the Fisher information metric.


Author(s):  
Alejandro Cabrera Aldaya ◽  
Cesar Pereida García ◽  
Luis Manuel Alvarez Tapia ◽  
Billy Bob Brumley

During the last decade, constant-time cryptographic software has quickly transitioned from an academic construct to a concrete security requirement for real-world libraries. Most of OpenSSL’s constant-time code paths are driven by cryptosystem implementations enabling a dedicated flag at runtime. This process is perilous, with several examples emerging in the past few years of the flag either not being set or software defects directly mishandling the flag. In this work, we propose a methodology to analyze security-critical software for side-channel insecure code path traversal. Applying our methodology to OpenSSL, we identify three new code paths during RSA key generation that potentially leak critical algorithm state. Exploiting one of these leaks, we design, implement, and mount a single trace cache-timing attack on the GCD computation step. We overcome several hurdles in the process, including but not limited to: (1) granularity issues due to word-size operands to the GCD function; (2) bulk processing of desynchronized trace data; (3) non-trivial error rate during information extraction; and (4) limited high-confidence information on the modulus factors. Formulating lattice problem instances after obtaining and processing this limited information, our attack achieves roughly a 27% success rate for key recovery using the empirical data from 10K trials.


2011 ◽  
Vol 18 (11) ◽  
pp. 651-654 ◽  
Author(s):  
K. N. Chaudhury
Keyword(s):  

IEEE Micro ◽  
1995 ◽  
Vol 15 (3) ◽  
pp. 60-71 ◽  
Author(s):  
A. Louri ◽  
J.A. Hatch ◽  
Jongwhoa Na

Author(s):  
Sebastian Banescu ◽  
Martin Derka ◽  
Jan Gorzny ◽  
Sung-Shine Lee ◽  
Alex Murashkin
Keyword(s):  

Author(s):  
Sunjay Cauligi ◽  
Craig Disselkoen ◽  
Klaus v. Gleissenthall ◽  
Dean Tullsen ◽  
Deian Stefan ◽  
...  
Keyword(s):  

1995 ◽  
Vol 27 (1) ◽  
pp. 86-99 ◽  
Author(s):  
V. Bokka ◽  
H. Gurla ◽  
S. Olariu ◽  
J.L. Schwing

Sign in / Sign up

Export Citation Format

Share Document