Researchers have uncovered a critical vulnerability in a GnuPG cryptographic library, enabling them to completely bypass the inherent RSA-1024 encryption and extract the decryption RSA key.
Gnu Privacy Guard (GnuPG or GPG), a popular open source encryption software, is used by the likes of former NSA contractor Edward Snowden in keeping with secure encrypted communication channels. The software is compatible and put to use among all major operating systems and platforms including Linux, Windows and macOS X.
A team of researchers from from the Technical University of Eindhoven, the University of Illinois, the University of Pennsylvania, the University of Maryland, and the University of Adelaide discovered a vulnerability in the software, labeled CVE-2017-7526. The “left-to-right sliding window” method sees a vulnerability in the Libgcrypt cryptographic library used by the software, which is prone to local FLUSH+RELOAD side-channel attack.
“In this paper, we demonstrate a complete break of RSA-1024 as impelemented in Libgcrypt. Our attack makes essential use of the fact that Libgcrypt uses the left-to-right method for computing the sliding-window expansion,” the security researchers wrote in the research paper.
The pattern of squarings and multiplications in left-to-right sliding windows leaks significantly more information about the exponent than right-to-left. We show how to extend the Heninger-Shacham algorithm for partial key reconstruction to make use of this information and obtain a very efficient full key recovery for RSA-1024.
The L3 Cache Side-Channel attack typically sees an attacker ruin an arbitrary software on the hardware embedded with the private RSAS key. The attack enables the attacker to extract the decryption key from the targeted system by analyzing the electromagnetic outputs of the device emitted during the decryption process.
“Thus, in practice,” the researchers wrote, “there are easier ways to access the private keys than to mount this side-channel attack. However, on boxes with virtual machines, this attack may be used by one VM to steal private keys from another VM.”
Libcrypt has since released a fix for the vulnerability in version 1.7.8, which can be found here.
Image credit: Pixabay.