Google Wallet, the search engine's efforts to enable mobile payments using near-field communication technology from smartphones, has a number of challenges it must overcome to succeed.
One is obviously the general lack of interest in mobile payments via smartphones at a time when the vast majority of people happily use wallets. The second-biggest barrier to wholesale adoption may be consumers' concern about the security Google Wallet provides for their credit card information.
So how does Google promise to protect sensitive user data? Believe it or not, the key is an NXP PN65K chip in the Samsung Nexus S 4G smartphone (the only Google Wallet-enabling phone to date).
This "Secure Element," which stores users' credit card digits, is isolated from the phone's operating system and hardware and uses cryptography (PKI [Public Key Infrastructure] and Triple-DES [Data Encryption Standard]) and memory protection, making it tough to crack.
Only authorized programs like Google Wallet can access the Secure Element to trigger a transaction. Moreover, Google Wallet cannot read or write data from the Secure Element's memory.
Google Wallet also requires a 4-digit PIN, which is the only way to transmit payment credentials. That's not something even today's credit cards require to process. This step also prevents bad guys from brushing by you in a crowd to grab your info via NFC, noted McAfee security researcher Jimmy Shah.
As for whether any malicious application could access a user's credit card on the Secure Element, Google assures that Android enforces strict access policies so that malicious applications wouldn't have access to data stored by Google Wallet.
However, Shah thinks Android might be the best entry point for a perpetrator because Android applications are relatively easy to reverse-engineer.
He believes an attacker has a good chance of extracting the authentication key from the Google Wallet application and creating a malicious application that emulates the official Wallet application to fool the Secure Element chip into giving up a user's credentials.
"From here, the attacker can collect account information for sale or for attempts at cloning the data to new NFC cards," Shah wrote in a blog post.
Lookout Mobile Security CTO Kevin Mahaffey agrees with Shah that some sort of malicious application that can compromise the Google Wallet application or the provisioning process. Alternatively, an application could exploit the software in the Secure Element, enabling a hacker to grab credit card info.
Mahaffey wonders whether the PIN will be here to stay or will go away if Wallet becomes widely adopted. If the PIN is abandoned, Mahaffey said a user could then be susceptible to a man-in-the-middle attack, or the ghost-and-leech attack Shah referenced.
In this attack, a perpetrator can use an NFC reader to swipe consumers' credentials when they make a purchase via their phone. The defense against this attack, Mahaffey noted, is the PIN.
ThreatMetrix Chief Products Officer Alisdair Faulkner said the fundamental challenge between the security of today's credit cards and Google Wallet is that Wallet is on the same environment in which someone else's malicious application is able to get at that data.
"The analogy I would use is that I can put my credit card in my wallet, but my driver's license isn't going to try and communicate with it in any way," Faulkner told eWEEK. "Anywhere that you have stored value, that is going to be something that criminals are going to attack."
"Never before in history have we had this kind of financial data and credentials stored on a device, which we know fundamentally can never be trusted."