This is page 2 of:
iPhone Payment Peril: Mobile Mayhem Omen?
When that private data is accessed and discovered, consumers will be looking around for someone to blame. Do you really want to have an app with your logo on it hanging around in that room at that time?
Even if a retailer’s app is carefully designed to encrypt and then overwrite all sensitive information, the information can still be stored by the iPhone’s operating system. And while the retailer’s app developers are cleaning up the data it collects, there’s no doubt that any app using the iPhone’s onscreen keyboard will still leave data in the phone.
Result: Thieves can design malware that knows exactly where to look for what’s typed into the onscreen keyboard, sift through that data for likely candidates for payment-card information and then transmit the sensitive data across the Internet–all remotely.
Does that put retailers at risk for PCI violations or even liability lawsuits? That’s impossible to say. As a payment-card input device, the iPhone clearly retains sensitive data. That might make it a PCI problem. Plus, because retailers that develop apps should know about the retained data and because those companies are asking customers to expose their payment-card numbers to potential theft, it might be lawsuit bait. Until the first lawsuit arrives, no one knows.
Fortunately, there are ways for retailer app developers to make an extra effort to secure sensitive data that’s typed into apps. Unfortunately, they all have drawbacks.
One workaround for the iPhone’s keyboard-cache exposure is for a retailer to advise customers to use the iPhone’s “Reset Keyboard Dictionary” function ( Home -> Settings -> General -> Reset -> Reset Keyboard Dictionary ). But that approach has the disadvantage of making a very useful auto-completion feature go away. (How useful? Try keying in “StorefrontBacktalk” a few times, and you’ll appreciate it very quickly.)
A better workaround is to create a secure custom keypad within an app, specifically for keying in payment-card numbers, expiration dates, PINs, Zip codes and other sensitive data. If an app programmer draws his own numbered buttons, collects the input and then is careful to encrypt the data and overwrite the original information, the plain-text card data never goes into the keyboard cache. In fact, it’s completely gone from the iPhone.
Unfortunately, Apple is likely to see that workaround as a violation of the iPhone’s user-interface standards, which would get a retailer’s app bounced from the iTunes store. That’s not a problem for developers who create apps for other smartphones. For them, carefully handling their own payment-card input may be the best way to secure it–and cover the PCI and legal risks.
An even better fix for the iPhone problem would be for Apple itself to create a secure numeric keypad as part of the iPhone’s operating system, a keypad that doesn’t use the keyboard cache and wipes sensitive data once it has been entered. Then retailer app developers would get their payment-card security without breaking Apple’s rules. (Apple didn’t respond to repeated requests to comment for this story.)
For retailers’ iPhone apps, that may be the only sure way to protect sensitive card data and to protect both customers and themselves.
August 5th, 2010 at 1:56 pm
This reminds me of the bank that had spent a considerable sum installing a state of the art vault. They got burglarized and thieves made up with the vault’s contents. How is that possible? The vault’s door was left open that day…You are only secure as your weakest link. Both the BlackBerry platform and the Android OS (java virtual machine running on linux, dedicated processes) are both considerably more secure than the iPhone. iPhone: pretty yes, secure, no.