DaveK’s Embedded Security Blog

Comment


Brian Fuller2

3/23/2011 6:09 PM EDT

Dave, great post! And Jeff's comment is spot-on: Sometimes I wonder as a society ...

More...



Jeff.Petro

3/22/2011 9:56 AM EDT

It's amazing how we are willing to give up security for the sake of ...

More...

Skim milk

Dave Kleidermacher

3/15/2011 1:26 PM EDT


How do you make smartphones into trustworthy platforms? Some recent attempts are problematic.

This week, the CEO of Verifone—Douglas Bergeron—issued a scathing diatribe on Square, a startup selling a plug-in credit card reader for mobile devices.

The device enables a vendor to turn a mobile device into a retail payment terminal, at low cost—far lower than, say, purchasing a Verifone point-of-sale terminal. I'm guessing the transaction fees to the merchant are also lower.

The Square passes swiped card data, in the clear, to the smartphone app. Only then is that data encrypted over the air to the back-end payment processor. To help make its point, Verifone wrote a smartphone impersonation app: it trivially skims card data from the Square reader—the data can then be saved, emailed, or texted to anyone.  

Assuming Bergeron's information is accurate, the Square system is a danger to consumers and vendors. It blows my mind that someone could go as far as to launch a company and mass-produce such a device without the payment-card industry crying foul. Would VISA approve of such a contraption? Let's hope not.

However, Bergeron's proposed fix is also frightening. He asserts that the Square hardware ought to use encryption (and presumably secure key storage, such as via a smart card chip) to protect credit card data en route between the dongle and the phone. While necessary, this still isn't sufficient. The credit card data will be decrypted by the app, sitting in RAM, in the clear. Any phone rootkit enables an attacker to commandeer the app and the card data within.

Furthermore, the typical mobile phone app environment uses crappy key management—for example, keys stored in the phone OS's file system—for the reader-phone and phone-processor tunnels and any required data-at-rest encryption. A mobile OS rootkit gives malware access to these keys: game over.

If we want to use mobile devices as payment terminals—a wonderful idea—the first thing developers need to accept is that any data processed by the main phone OS must be considered PUBLIC. Now think what can be done to protect card data from the swipe to payment processor. At the same time, we want to take maximum advantage of the phone's snazzy UI to manage the payment experience.

As a start, we must avoid the Square problem and use a swiper that creates an authenticated, encrypted connection to the phone for transmitting card data. Smart chip credit cards would solve this part of the problem if smartphones supported them (they don't) and we had them (we don't, at least not in the USA).

The other end of that handshake must be performed with cryptographic protocols and key management that is strongly isolated from the main phone OS. For example, we can use TrustZone that is available on most modern smartphone/tablet apps processors. The main phone OS only sees encrypted data and is never involved in crypto.

Next: TrustZone




Yehudit

3/15/2011 1:40 PM EDT

Regardless of risks, merchants and consumers are going to take advantage of this technology. It's a matter of money and convenience. However, the security risks that involve personal info. are under a constant threat. The new superbug infecting the world's population is cyber-stealing. (=

Sign in to Reply



Tombo

3/17/2011 9:03 AM EDT

"As a start, we must avoid the Square problem and use a swiper that creates an authenticated, encrypted connection to the phone for transmitting card data."

Or the swiper does all the crypto for the transaction and just uses the cell phone as a modem. No crypto on the phone required.

Sign in to Reply



cdhmanning

3/20/2011 5:59 PM EDT

Tombo is right. The best way to do this sort of thing is as a secure data pipe from the dongle to the back-end server.

There is no need for the phone app or the phone OS to see the cleartext.

The app can't use the clear text and does not need to know what is in it.

Sign in to Reply



eewiz

3/21/2011 4:30 AM EDT

As if people doesnt have any other means to read a credit card number. Go search ebay, and u will find simpler means to hijack a credit card number. I suspect whether the author is being paid by Verifone for this article!

For others, try reading the below Gizmodo article.

http://gizmodo.com/#!5780274/is-the-square-credit-card-reader-a-security-disaster-waiting-to-happen

Sign in to Reply



Jeff.Petro

3/22/2011 9:56 AM EDT

It's amazing how we are willing to give up security for the sake of convenience.

Cash is King (except at 35,000 feet)

Sign in to Reply



Brian Fuller2

3/23/2011 6:09 PM EDT

Dave, great post! And Jeff's comment is spot-on: Sometimes I wonder as a society "what are we thinking?" (Clearly given a lot of what's gone on in the wake of the Japan quake/tsunami) we're not thinking things through.

Dave, you're inaugural blog on hacking into cars was scary (and having Adriel Desautels speak at your GHS event was even more bracing).

And now we can let our teenage daughters to use our car by enabling it using our smart phone... WHAT?

These are known unknowns (we know there's going to be a problem) but we're not even scratching the surface on unknown unknowns and the consequences of wireless technology and incredibly sophisticated and complex software.

Sign in to Reply



Please sign in to post comment

Navigate to related information

Datasheets.com Parts Search

185 million searchable parts
(please enter a part number or hit search to begin)
Featured Job On
Scroll for More Jobs