Breaking RSA Keys by Listening to Your Computer
An anonymous reader writes "Adi Shamir and crew gave a talk on preliminary results in extracting a private RSA key
just by listening to the computer!. Similar to power analysis and LED leakage, this is a non-invasive, side channel attack that may have applications to tamper-resistant systems. It appears to be related to noisy capacitors on the motherboard, an effect which has been observed when CPU power saving is enabled on laptops."
No power saving for me! My encrypted porn is far too important.
I've got so many fans running in my computer that you can't even hold a conversation in the same room, much less listen for capacitors
Wouldn't it just be easier to use money/women/men/donkeys to bribe the person to cough up a password?
I guess you could always "bug" a place, but if you were significantly paranoid about security(to the point where someone would try to listen your key away from you) wouldn't you have a copper cage around your building?
The article does not deal with actually computing the encoding (Pe) and decoding functions (Pd) for q,n,d. Where q,n are unique primes. The only thing their interference spotted is the markings between computing each function for the signature, and this drastically varies based on the machine. They do have a Proof of Conept, but no quantifiable data.
My $0.02.
artlu
-------
artlu.net
Investigations are an important part of the justice system. Though the tenet is "innocent until proven guilty", it's only possible to prove someone guilty by means of an investigation.
By encrypting your data, you are bringing unnecessary suspicion upon yourself. I wouldn't be surprised if the FBI's powers are enhanced to include surveillance of you and your data.
I have been pwned because my
Does anyone know the range of how far you can be away from the computer to hear the sounds? The proof-of-concept website just seemed to be "look, here are pictures of computer operations... in sound! Yay!" without enlightening us on any details.
the wont be able to hear it if you've got one of these
Twenty years ago at Bell Labs one of the speech machines (an SEL with homebrew audio i/o) had output to loudspeakers that went through unshielded speaker wires that ran past the CPU, so if you weren't playing anything back the speakers played back CPU noise. We could tell what stage a compilation was at by the noise that came over the speakers.
Now I have an excuse to play loud music at work: security!
"...For example, a high-quality analog equalizer can be used to attenuate strong low-frequency fan hums and background noise..."
taken from the article.
you'd need background noise in the same frequency area (dummy CPU ?)
I usually get this on my own setup a P4b-266 w/1.7(oc'd to 1874), but only after a reboot; and only do you hear it on re-init's prior to loading windows(pick a flavor) or BSD. Not when the machine is running.
I'm thinking that it's the little critters getting just abit too hot, I found that increasing the airflow and cooling everything down by a couple of degrees seems to make the noise go away. Unless...it's in the winter...in which case...the house is more then cool enough and you don't have to worry about it. heh.
The boards are good, but my man...were already looking at the operational product end for these boards and it's been two years since they came out. It took intel 6mo to come out with the 533, then the 800's. I kick myself in the ass everytime I think on that...and and buying a AMD next time around; I can get a proc and board twice the speed at half the price for what I paid for this one.
Om, nomnomnom...
at best, they have shown that they can detect differences in the types of instructions the processor is executing by listening to the sounds of the capacitors. It is a long way from there to the point where they can extract the key itself from the information. In fact, I would venture that the data is far too noisy (haha) for any significant part of the key to ever be extracted, reagardless of the amount of computational power thrown at the problem. What they might be able to do however is use the information gleaned to eliminate large swaths of the set of possible keys. This could make cracking the key by conventional means a computationally easier task.
So, in all, this paper is not insignificant, but it's also not a reason to completely give up on security or to install a cone of silence around your computer.
lysergically yours
As much as this technology is a risk and therefore a potential threat, unless you are of the reaslly paranoid (which would mean this interests you considerably) there are far easier ways of attacking a computer.
:)
This attack came to show how to attack the key, which is why it interests these folks, I suppose, but it would be much easier to use TEMPEST if you get access to actually install some tool to hear && (record || trasmit) the audio.
I would suggest TEMPEST would also be more reliable, but some testing is in order, as well as a lot of research for every CPU you intend to attack.
Cost vs. benfit? I can't really see it.
This is pretty cool though!!
(adding another mark on my paranoia list).
Dude, atleast use the proper syntax.
Even if the FBI/NSA can't manage to decode your data, the fact remains if they get to look at your HD via a warrent and they discover 20 GB of encrypted data rather than anything readable, they know you're hiding something from their view.
That discovery encrypted data can still be used as evidence in justifying further warrants... while discovering 20 GB of Britney Spears music in readable form would most likely cause the investigation to give up on worrying about the contents of that hard drive.
If you go to the site of the DPA attack,Cryptographic Research, you can see that they have already have patents on Systems to protect against these kind of attacks. So it's not like they have developed anything (I don't know if they have) but you can already pay them to get protection from this kind of attack! yay!
i've got the wonderful feature of sound effects from my box when performing just about any GUI operation you care to mention, i originally thought that it was a monitor issue, now you tell me my privacy is at risk because of it!
time to fit more fans and drown out the noise.
Software Freedom Day!.
This sounds kinda like that crack that the college student found in 1995 dealing with the speed of the CPU determining what random numbers the host would pick. A good reason not to keep your CPU info in the HINFO line of a DNS zone file.
Nope, for it's DSA/DSS all the way, and all the noisy capacitors in the world won't help you break it.
That wouldn't change anything. RSA as well as DSS is based on modulus exponentiation with a secret exponent. If you can get the exponent you have broken the system, it is as simple as that.
Why do I trust it? Because it was developed by the NSA, not a bunch left leaning MIT eggheads.
That kind of logic is useless in the security business. Basing your trust upon who designed the algorithm is stupid. How many (and who) tried to break the algorithm and failed at that is a better meassure on the security. A good rationale behind the design is another good meassure on the security. And finally mathematical proofs.
Do you care about the security of your wireless mouse?
Even at a 96 kHz sampling rate, the maximum frequency that can be sampled is 44 kHz. How could one hope to extract a certain few bits from a recording when the CPU's instruction throughput is many times that? Most of the information that would need to be examined wouldn't make it onto the recording. Correct me if I'm wrong, but it seems Nyquist leaves this idea dead in the water.
...but all I heard was "Dave, what are you doing Dave?"
Hmm, maybe I should put away the screwdriver.
Encryption inhibits surveillance by ANYONE. That the government falls under the category of anyone is secondary to most encryption desires and uses.
If someone was attempting avoidence/prevention of potential government investigation, then the act of encrypting wouldn't make it more or less likely. They make use of encryption because they have some information they don't want the government to know. It's not because they use encryption but due to any relevant knowledge they have, that a person should ellicit investigation by their government. And then knowledge pertaining only to those things that governments should worry about (murder, fraud, and other criminal acts).
So by encrypting the code on my laptop as a security precaution, you're saying I bring unnecessary suspicion upon myself? Noone but my company and its business competitors has an interest in the trade secrets I manage and create during the course of my business. Therefore I use encryption as a means of self-defense. I inhibit investigation by those not authorized by me or my company. The act of investigation could very well be illegal. I would not give my government blanket access to my trade secrets, when I have no control over what they do with them. They should have no interest in them. in fact, by wanting to enhance surveillance of those things which they declare to not have an interest in and would normally have no involvement in is suspicious in itself. Encryption is a tool and is about as dangerous as a screwdriver.
click-clack, front and back. I'm not moving this car otherwise.
It tells me to troll Slashdot, and buy Kenny G albums.
I'm starting to think it doesn't have my best interests at heart...
using namespace slashdot;
troll::post();
Anyone who uses software powersaving/CPU cooling in windows or linux has heard this noise. Programs like CPUIdle et all put the processor into an HLT state and cool it significantly (12+ degrees here). I run the thing to cool my massive laptop which would get quite hot during renders and things, what with it's 10K RAID etc.. I hear this hum in a lot of electronics that have no moving parts (routers, computers, etc..), and have always wondered about it. In a chat on IRC we chalked it up to electric frequency vibration.
I have also worked on some PCs that make the hum during *any* processor use, like scrolling a webpage, etc..
Shamir, once again pointing out something absolutely brilliant and (in retrospect) totally obvious, did forget to include something rather important in his announcement:
The particular pattern of CPU operations executed while an RSA private key is executed varies depending on that RSA private key. Given a rough estimate of the pattern of CPU operations executed, the set of possible RSA private keys is greatly reduced. So it becomes much, much easier -- possibly trivial, particularly if you have a chosen plaintext scenario -- to extract a private key from an otherwise secure system. Consider an e-voting machine with an audio system for handicapped access -- with nothing but a very sensitive microphone in the booth, you might be able to determine the private key used to sign votes (and thus gain the capability to spoof votes elsewhere).
And of course, this would be a very, very successful attack against an RSA private key embedded within a trusted computing environment. Processors -- even those encased in epoxy -- still need power, and variable amounts depending on what they're doing. The brilliance here is that rather than needing some very expensive analog energy drain measurement equipment, you just need a sound card. It's a side channel attack for the masses.
Very very cool work. Wow.
--Dan
If you really want to do some acoustic evesdropping, listen to the keyboard. It's got a much larger signal to begin with (from across the room, instead of having to paste your ear to the computer case.) Since there are always slight mechanical differences between keys on any given keyboard, I would think that the sound spectrum would also be slightly different. Being able to always listen in on the same user would also help, since most people are somewhat consistent regarding which finger they use on which key. (Evesdropping on people who were smart enough to take a touch-typing class in high school is also a big plus.)
Assuming you could discern between the acoustic fingerprint of 100 different keys, then it's just a matter of figuring out which sound goes with which key. It's a simple substitution cypher, which are almost trivial to break.
Sneak your cell phone into your boss's office, set it to silent mode and plug in a headset so that you can set it to auto-answer when a call comes in. Then, while your boss is busy typing dirty notes to his mistress, you call your cell phone, start recording it, and presto, you've got a keylogger without ever having touch his computer or the software on it. Then, at your next performance review, you convince him to give you a hefty raise.
09 F9 11 02 9D 74 E3 5B D8 41 56 C5 63 56 88 C0
I've heard of Tempest emanations/ Van Ecks for eavesdropping. Supposedly the technique can grab keystrokes from remote machies. Just google for "tempest eavesdropping" if you want info on this.
Is this similar to the noise heard when using an onboard sound card? On my laptop when plugged in to the mains, a distint hiss/buzz/rumble comes out the line-out jack. It changes when moving the mouse or accessing the hard disk, or when the CPU is under load.
It seems that this is a more reliable method for finding a key than using a microphone, but, of course, it does require physical access to the computer.
PocketGamer.org - For the gamer on the go!
R = Ron Rivest
S = Adi Shamir
A = Len Adleman
Uh, no. Your analysis runs contrary to cryptanalytic principles and the history of these sorts of attacks.
If you spot me 1 bit of key information, you have by definition halved the work for an attack. In this specific analysis, I need only consider those settings of key bits (in this case, bits of p and q) that correspond to observed behavior for an interval of the spectogram. This means that I can potentially crack the key in time almost linear in the size of the key, rather than completely exponential.
The work on timing attacks and power attacks uses very similar sorts of information, and the anlysis used here will likely be similar also. This is why Shamir, who is certainly qualified to evaluate the work at this point, describes it as "proof of concept": it would be surprising if the observed information fails to extend to a practical attack. It's just that in science, you publish when you have anything interesting to report, so that folks know you got there first.
Steganography anyone? :)
I odn't think any government who has reason to believe you to be hiding something would fail to check if it was in plain view or not.
Otherwise criminals would all be using those ghost markers kids use
Silly rabbit
Having worked in telecommunications as well as consumer electronics and computing, I've played a lot :)
One of the more interesting things for fun was to poke around with a induction amplifier, you know, the "hound" in the fox and hound tone generator/ handheld probe that the phone guys use for tracing copper thru a building.
It is pretty sensitive and I've found many fun sounds by waving it around in various analog and digital equipment, it kinda gives a unique viewpoint. Used in different locations in a PC it picks up various interesting sounds that are very different according to what the system is doing, and where you are probing, memory, chipset, io/chips, cpu etc. Never found it very good for troubleshooting PC's, but lots of fun!
Also, I think the sounds you can hear around running electronics is partly caused by sympathetic viberation induced in the air molecules by high frequency energy changes happening, especially on the buses where there are long runs exposed, as well as perhaps by the caps, (?), could it be the aluminum in the caps is reacting to the energy field?, most of the round tall caps you see on a board are used on low frequency mainly power filtering applications.
It's kinda freaky!!!
Don't you mean 'phreaky'?
I recall reading rumors of a blind fella who could play MunchMan on the TI-99/4 just by listening to the sounds in the background of the game.
While my experience is no where near that in-depth, I do remember that the computer made distinct sounds when performing certain tasks, such as reading GROM, initializing, running BASIC programs (I recall that some statements also have distinct sounds as well.)
Since then I have been able to detect certain sounds from my machines which indicate normal operations; to some extent I think we all do, just as we do with cars to "know" that something isn't right. And it's been pretty consistent through all of my computers: Commodore 64, 128D, Atari 800XL, various Amigas (amazing things heard by holding your ear to the A500 power supply,) many desktop PCs and notebooks. Even some console systems generate sounds under operation (an old NES on my shelf with a bad filter cap is good for this.)
I'm curious to know what correlations between design type, grounding, processor architecture, and other factors exist for this. Might be worth investigating like this chap did, should I find the time to do so.
How can you differentiate between computations , when the CPU is at 100% utilization all the time? :)
Actually sound from computers can come from many places, and sometimes you han make out a hell of a lot of info about what a user is doing.
Typical CPU HLT execution either by the O/S (linux and w2k or so i thought... w2k didn't do it too good when I tried it) or by an external program (on ring 0) e.g CpuIDLE will cause several things, from what I've experienced:
Variable fan speed: Typical cheap comes-with-case power supplies regulate +5V whiwh surprise! gets a greater power draw when CPU is busy. Result, you fan sounds higher pitched when you ger a greater CPU load since +12V isn't regulated and the draw on +5V affects it. My newer power supply (old one died) doesn't seem to do this anymore, my old one, especillay with my old CoolerMaster fan (pretty noisy) was exceptionally good at this.
Transformer/inductance/capacitor hum: when I turn off the main CPU fan you can distinguish some hums from several places in my pc, exclusind the power supply fan. Causes can be anything from sound being played thorugh some soundcard transformer to CPU drawing more power though something.
Also, MANY other noises plague PCs:
HDD head movement. I'm sure someone has developed a way to measure approximately what area of an hdd a user is accesing by listening to head noise.
CDROM spinning/head moving/tracking/focussing. Wow do these 52x drives make a helluva lot of noise!
Modem. Surely a mike placed next to the modem transformer could pick up the signal, and it then could easily be decoded to get the stream of PPP packets.
speakers/soundcard. If I crack up the volume, depending on inputs selected, etc I can easily hear different noises, when I move a window, when I scroll something, etc they all make different noises/click rates. Of course it scares the hell out of me when someone IM's me through Jabber with that ding-dong noise.
Take that and keyboard/mouse/CRT monitor/whatever noise and you have a wealth of information which you can use to predict what a user was doing.
Time to start designing tin foil hats... ...for your computer.
Man, that is real geek stuff.
"Sufficiently advanced satire is indistinguishable from reality." - [Tips: 1DrYakQDKCQ6y52z6QbnkxHXAocMZJE61o ]
(I'm a co-author of the presentation.)
The web page was extended to include a FAQ discussing the issues brought up here.
When I was about 6, my dad had a work laptop that he brought home. It had a grey-scale screen, dual 3.5" floppies, 4 (I think) MB of RAM, and no hard drive.
The only things he had for it was WordPerfect and "Where in the World is Carmen Sandiago?" Based on the sound of the spinning drive, I could decipher which of the multiple choice answers was correct to move to the next stage while the current stage was loading. After a while, I started plugging my ears while a stage was loading so the game didn't suck.
"There are no such things as mutual fantasies. Yours bore us and ours offend you."
- Bill Maher
Strange thing is that high cpu usage actually dampens the noise, so my solution was to run a distributed computing client (THINK, in my case, but others will do as well) to keep the cpu busy. Works perfectly, and I even forgot I had the problem until I read this post.
I do think it's pretty lame that so many on-board audio chips have this problem.