Breaking RSA Keys by Listening to Your Computer 186
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."
Some guy was investigated for excercising the FOIA (Score:2, Interesting)
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.
Does anyone... (Score:5, Interesting)
reminds me of the old days (Score:5, Interesting)
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.
Re:I can attest to this... (Score:3, Interesting)
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.
Patenting. (Score:3, Interesting)
Re:reminds me of the old days (Score:5, Interesting)
If i turn my speakers wayyyyyyyyyyyyy up and start working, I can here the data being moved around. Scares the crap out of me when something plays a sample, but fun all the same.
Its happened on my 2 most recent boards, and I just put it down to the integrated sound cards vs the Sound blasters I used to use.
Is this actually possible? (Score:5, Interesting)
Re:reminds me of the old days (Score:3, Interesting)
Forget capacitors, listen to the keyboard. (Score:5, Interesting)
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.
Re:Quite didn't get it!!! (Score:2, Interesting)
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.
Re:Noise from HLT state etc.. (Score:4, Interesting)
It's really amazing how dirty a computer power supply is -- I also picked up a headphone preamp that fits inside a 5.25" drive bay, and can optionally run off the computer power supply. If it's running off the power supply, I get a *very* noisy signal that is affected by things like hard drive access.
Interesting... (Score:5, Interesting)
R = Ron Rivest
S = Adi Shamir
A = Len Adleman
Re:Is this actually possible? (Score:4, Interesting)
Re:reminds me of the old days (Score:3, Interesting)
Sounds, Electronics, and the Hound :) (Score:3, Interesting)
Re:Is this actually possible? (Score:3, Interesting)
Re:No no (Re:No) (Score:2, Interesting)
Playing TI-99/4 games by ear (Score:3, Interesting)
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.
I'm running Seti@home. Listen all you want. (Score:2, Interesting)
Re:The other shoe dropping (Score:3, Interesting)
We do have more data than just time, too -- we have instruction profiles. If it's possible to absolutely know the input to the RSA signing function, and it's possible to alter that input while still knowing the (probably hashed) result, then you can get a set that looks like:
RSA(Known_Hash_1, Unknown_RSA_Private) = Known_CPU_Profile1
RSA(Known_Hash_2, Unknown_RSA_Private) = Known_CPU_Profile2
RSA(Known_Hash_3, Unknown_RSA_Private) = Known_CPU_Profile3
RSA(Known_Hash_N, Unknown_RSA_Private) = Known_CPU_ProfileN
So you're solving for Unknown_RSA, based on the differentials in CPU profiles. Not trivial, mind you -- but absolutely fascinating.
--Dan