Slashdot Mirror


Scientists Extract RSA Key From GnuPG Using Sound of CPU

kthreadd writes "In their research paper titled RSA Key Extraction via Low-Bandwidth Acoustic Cryptanalysis, Daniel Genkin, Adi Shamir and Eran Tromer et al. present a method for extracting decryption keys from the GnuPG security suite using an interesting side-channel attack. By analysing the acoustic sound made by the CPU they were able to extract a 4096-bit RSA key in about an hour (PDF). A modern mobile phone placed next to the computer is sufficient to carry out the attack, but up to four meters have been successfully tested using specially designed microphones."

10 of 264 comments (clear)

  1. Remember TEMPEST? by Bruce+Perens · · Score: 5, Interesting

    TEMPEST was a details-secret government requirement meant to defeat means of eavesdropping on classified computer data from its electromagnetic emissions. I guess they need to include audio too.

    My impression is that the noise comes from the power supply, not the CPU. I can certainly hear it with some computers, and it is related to work on the video card in my experience. I'm astonished that you can actually pull data from that, and in fact I'd like to see independent confirmation before I believe it.

    1. Re:Remember TEMPEST? by DaveAtWorkAnnoyingly · · Score: 5, Interesting

      I'm not a computer scientist by trade, I'm an engineer (nukes), and this sounds dubious. Perhaps I'm way behind the curve on acoustic engineering, but being able to pull a 4096 bit key from noise that not only is pretty polluted, but also, surely depending on what the PC is doing, could be dependent of lots of other things?

      Also, it's Bruce Perens. Hi!

    2. Re:Remember TEMPEST? by Desler · · Score: 5, Interesting

      Q12: Won't the attack be foiled by loud fan noise, or by multitasking, or by several computers in the same room?

      Usually not. The interesting acoustic signals are mostly above 10KHz, whereas typical computer fan noise and normal room noise are concentrated at lower frequencies and can thus be filtered out. In task-switching systems, different tasks can be distinguished by their different acoustic spectral signatures. Using multiple cores turns out to help the attack (by shifting down the signal frequencies). When several computers are present, they can be told apart by spatial localization, or by their different acoustic signatures (which vary with the hardware, the component temperatures, and other environmental conditions).

    3. Re:Remember TEMPEST? by Prune · · Score: 5, Informative

      >The "audio" in question is most likely all below 24 kHz, that being the Nyquist limit for the 48 kHz sampling hardware, unless it happens that some phones can actually sample faster, and have microphones that can respond to higher frequencies. The instruction rate of the CPUs in question is many times that frequency. It doesn't sound likely.

      Your objection was directly addressed in the article:

      "Cryptanalytic side-channel attacks typically require measurements with temporal resolution similar to the time scale of the target operation, but here the target cryptographic computation is many orders of magnitude faster....the key extraction attack relies on crafting chosen ciphertexts that cause numerical cancellations deep inside GnuPG's modular exponentiation algorithm. This causes the special value zero to appear frequently in the innermost loop of the algorithm, where it affects control flow. A single iteration of that loop is much too fast for direct acoustic observation, but the effect is repeated and amplified over many thousands of iterations, resulting in a gross leakage effect that is discernible in the acoustic spectrum over hundreds of milliseconds

      I dare suggest that sometimes even the experts need to RTFA. :)

      --
      "Politicians and diapers must be changed often, and for the same reason."
    4. Re:Remember TEMPEST? by Anonymous Coward · · Score: 5, Insightful

      Using multiple cores turns out to help the attack (by shifting down the signal frequencies).

      Say what? Through what mechanism would multiple cores shift down the frequency? And what about parallel instruction streams contributing to noise?

      It is not the cores specifically but a mathematical property commonly used in radio communication.
      sin(a)*sin(b) = 1/2 * (cos(a-b) - cos(a+b))
      A transistor working in the non-linear section will have an exponential function. This will give a function similar to (a+b)^2 = a^2 + 2ab + b^2 (Not really, but close, the important part is that you get the product of the signals. The rest will be high frequency noise.)

      This means that if you have two frequencies that are cos to each other, like 3000000kHz and and 3000001kHz the interaction between them will create a component at 6000001kHz and one a 1kHz.
      Pretty much all audio equipment you can find will gladly filter out the higher frequencies and let the 1kHz component through.
      The frequency variations in the ~1kHz component will give you information about the runtimes of the instructions.

  2. It's not the fan or mechanical components by LNO · · Score: 5, Interesting

    It's more awesome than that. The white noise generated by the fan doesn't matter at all.

    "The acoustic signal of interest is generated by vibration of electronic components (capacitors and coils) in the voltage regulation circuit, as it struggles to maintain a constant voltage to the CPU despite the large fluctuations in power consumption caused by different patterns of CPU operations. The relevant signal is not caused by mechanical components such as the fan or hard disk, nor by the laptop's internal speaker."

    The attack scenarios are even more fantastical. I have no idea how plausible they are, but wow, regardless:

    "We discuss some prospective attacks in our paper. In a nutshell:
    Install an attack app on your phone. Set up a meeting with your victim, and during the meeting, place your phone on the desk next to the the victim's laptop (see Q2).
    Break into your victim's phone, install your attack app, and wait until the victim inadvertently places his phone next to the target laptop.
    Have a web page use the microphone of the the computer running the browser (using Flash or HTML Media Capture). Use that to steal the user's GnuPG key.
    Put your stash of eavesdropping bugs and laser microphones to a new use.
    Send your server to a colocation facility, with a good microphone inside the box. Then acoustically extract keys from all nearby servers.
    Get near a TEMPEST/1-92 protected machine, such as the one pictured to the right. Put your microphone next to its ventilation holes and extract its supposedly-protected secrets."

  3. New? by Anonymous Coward · · Score: 5, Interesting

    Wait, this is a new paper? Neat, they updated it since 2004. Um, this is a pretty old technique, I've seen it demonstrated, on GnuPG, no less, before. RSA squares and multiply have different loops. This one, I know, GCHQ did first.

    It's one of the reasons we like Ed25519 and the other safecurves - constant time loops, no key-dependent branches, massively reduces side-channel attack potential.

  4. Reminiscent of other attacks by cold+fjord · · Score: 5, Interesting

    There have been other attacks previous discussed here as I recall, such as using power fluctuations or timing attacks, and so on, as cribs to retrieve a key. It appears this sort of attack that exploits the characteristics of the system performing the encryption will continue to be an attack vector of growing importance.

    Timing Attacks on Implementations of Diffie-Hellman, RSA, DSS, and Other Systems

    Abstract. By carefully measuring the amount of time required to perform private key operations, attackers may be able to find fixed Diffie-Hellman exponents, factor RSA keys, and break other cryptosystems. Against a vulnerable system, the attack is computationally inexpensive and often requires only known ciphertext. Actual systems are potentially at risk, including cryptographic tokens, network-based cryptosystems, and other applications where attackers can make reasonably accurate timing measurements. Techniques for preventing the attack for RSA and Diffie-Hellman are presented. Some cryptosystems will need to be revised to protect against the attack, and new protocols and algorithms may need to incorporate measures to prevent timing attacks.

    Breaking DES with side-channel attacks

    This lab will demonstrate how power analysis of cryptographic hardware can reveal the key. We will be using basic electronic measurement tools such as oscilloscopes to demonstrate this side-channel attack.

    You will be using a small hardware board (fig. 1) with a generic microprocessor programmed to perform DES encryption and decryption. The scenario is that you are the attacker and want to find out the secret key stored inside the board. There is no way of getting to the key directly, so you will need to perform a side-channel attack by measuring the power consumption of the board while the algorithm is running. The hardware board also allows the user to load a custom key in order to compare the power consumption.

    And to think that there were people poopooing NSA for pulling cables and servers that Snowden had access to. More attack vectors for everybody!

    The technology inside Apple’s $50 Thunderbolt cable

    A source within the telecom industry explained to Ars that active cables are commonly used at data rates above 5Gbps. These cables contain tiny chips at either end that are calibrated to the attenuation and dispersion properties of the wire between them. Compensating for these properties "greatly improves the signal-to-noise ratio" for high-bandwidth data transmission.

    --
    much of left-wing thought is a kind of playing with fire by people who don't even know that fire is hot - George Orwell
  5. Re:Yeah right? by amicusNYCL · · Score: 5, Informative

    What sounds does a cpu make?

    They describe that in the paper's summary.

    Or better yet how does a CPU make sound?

    They describe that in the first line of the paper's summary, and also in question 2 of the Q&A.

    The clock speeds are in the GHZ range so it is so far outside of the sound range of any microphone it just is not funny.

    They address that at the end of the first paragraph of the paper's summary, and also in question 8.

    Throw in that all cpus today have more than one core you will have a more than one code stream executing at one time.

    They address that in question 12.

    Throw in the sound of the fans running to make picking up the sound just seem very unlikely.

    Also in question 12.

    Until it is duplicated I would really doubt it.

    OK, thanks for the valuable feedback.

    --
    "Our two-party system is like a bowl of shit looking at itself in a mirror." - Lewis Black
  6. Layman interpretation (generally) by avoisin · · Score: 5, Informative

    Ok, I'm impressed.

    For those that didn't want to RTFA, this works by letting the target computer spin on a carefully chosen piece of text. That text is chosen such that the CPU will do some predictable math (such as big equations that == 0). Then, those places where the CPU hits 0 can be heard through a sensitive microphone.

    The neat part is that you're not looking for a 4096-bit key. Computers don't actually handle things with that large of a size, they have to break it down into 32-bit/64-bit chunks to be able to do the math. That's the real vulnerability - despite the key length itself being massive, because the number gets broken down into small chunks, you can start to handle it. The paper goes through a very complicated way of sensing each section of a large key, and then piecing it all together. This is not a case of hearing a specific noise, and looking it up in a table. It's not even a case of looking up 32-bit chunks in a table.

    So, it is a real attack, that is mostly dependent on the breakdown of the 4096bit key into bitesize chunks, that go through known math routines. If you can get the target to nicely decrypt several well-crafted messages for you, and you can get a good microphone near their CPU while they do it, and you can let this process go on long enough (so the attack program can listen to the CPU for a while to build up a profile, etc.), it really can work.

    I'll say that it needs kind of an ideal scenario to get all those things lined up, but it's not impossible.

    Preventing it fully is really only possible with two ways. Either switch your CPU to not use those bite-size chunks, and have the decryption take place all in one massive math operation (not realistic), or change the math that occurs on the bite-size chunks to be irregular in terms of any recognizable patterns (very realistic).