Researchers: How 'leaky' smart phones give up their crypto keys
- By William Jackson
- Feb 28, 2012
SAN FRANCISCO — Smart phones being used for sensitive transactions leak data that can be used to recover the cryptographic keys securing connections, researchers say.
Tests using about $1,000 worth of off-the-shelf equipment were able to pick up power usage information from phones’ CPUs from as far away as 30 feet, said Benjamin Jun, vice president of technology at Cryptography Research Inc. The data can be analyzed to reveal the cryptographic keys being generated and used.
“That distance was a surprise to me,” said Jun, who is presenting results of the research at this week’s RSA Conference. Picking off the signals at that distance required a fairly bulky cell base station antenna. But smaller loop and e-field antennas were able to pick up usable signals at distances of a few inches or a few feet.
More from RSA:
Offense must be the new defense, RSA chief says
Tony Bennett left his heart, others leave mobile devices in San Francisco
“What we’re trying to do here is not show the limits of what can be done,” but to determine the amount of data leakage and demonstrate the dangers it poses, Jun said.
By analyzing power consumption in the CPU during cryptographic processes, data — including crypto keys — could be extracted.
Passive power analysis attacks against cryptography are not new. They were documented in the 1990s by Cryptography Research, and practical countermeasures are available. They include reducing or obfuscating the signals being leaked, masking them with noise, adding randomness to the crypto processes, or changing protocol usages to make the keys less obvious.
Unfortunately, some of these measures can have performance impacts of from 10 to 400 percent, depending on the countermeasures and the algorithm being used.
Fixes can be implemented in the smart-phone hardware, operating systems and applications. Manufacturers and developers are responding to the threat, Jun said.
“This is a bit of an eye-opener,” he said. “We’re getting a lot of response at all three levels.” Although security has not often been a priority in smart-phone design and application development, “there are mobile devices shipping today with countermeasures, so I think it is a matter of when, not if, it is done.”
Smart, Internet-enabled cell phones can use cryptography in a variety of tasks, including Virtual Private Networking, SSL Web traffic, securing financial transactions and encrypting data stored on the phone. Typically these functions are enabled with an eye toward convenience.
“The whole point is to get you to your data as quickly as possible,” Jun said. “We are asking these devices to do computations with secrets that were traditionally done in more secure environments.”
Cryptographic computations are not being broadcast on the cellular signal but can be picked up through electromagnetic emanations generated by electrical activity in a phone’s chips. The phones exploited in the tests meet Federal Communications Commission requirements that leakage not cause harmful interference with communications.
Jun and Gary Kenworthy demonstrated an attack against elliptic curve cryptography on a PDA from 10 feet away, and against an Android app on an HTC Evo 4G phone using a loop antenna placed against the back of the phone. They used a $400 receiver and analyzed signals using well-known power analysis tools.
“We found we were able to see emissions from the devices that were associated with what the phone was doing,” Jun said.
That information can be used to identify keys using two methods. Simple Power Analysis can be used with slow cryptographic functions on a single trace, or intercepted process. For faster or more complex functions and in situations with a lower signal-to-noise ratio, Differential Power Analysis is used on up to several thousand traces. Although this sounds like a lot, an algorithm using block encryption could go through several thousand processes in one session. “A large e-mail attachment would do that,” Jun said.
In either case, extracting a key from the data is relatively straightforward using existing analysis tools. The value of the key depends on how it is being used in the communications protocols. A long-lived key that is frequently reused can decrypt future communications. A static key being used to generate separate session keys can effectively compromise all cryptography used by a phone’s application.
Permanent protection against power analysis attacks can be provided through chip design and hardened operating systems. But in the short term, protection for phones now in use is likely to come from more secure application development.
“There are protocols that exist that minimize the effects of leaked information when you are writing at the application level,” Jun said.
William Jackson is freelance writer and the author of the CyberEye blog.