Computer Laboratory

Technical reports

Thinking inside the box: system-level failures of tamper proofing

Saar Drimer, Steven J. Murdoch, Ross Anderson

February 2008, 37 pages

Abstract

PIN entry devices (PEDs) are critical security components in EMV smartcard payment systems as they receive a customer’s card and PIN. Their approval is subject to an extensive suite of evaluation and certification procedures. In this paper, we demonstrate that the tamper proofing of PEDs is unsatisfactory, as is the certification process. We have implemented practical low-cost attacks on two certified, widely-deployed PEDs – the Ingenico i3300 and the Dione Xtreme. By tapping inadequately protected smartcard communications, an attacker with basic technical skills can expose card details and PINs, leaving cardholders open to fraud. We analyze the anti-tampering mechanisms of the two PEDs and show that, while the specific protection measures mostly work as intended, critical vulnerabilities arise because of the poor integration of cryptographic, physical and procedural protection. As these vulnerabilities illustrate a systematic failure in the design process, we propose a methodology for doing it better in the future. They also demonstrate a serious problem with the Common Criteria. We discuss the incentive structures of the certification process, and show how they can lead to problems of the kind we identified. Finally, we recommend changes to the Common Criteria framework in light of the lessons learned.

An abridged version of this paper is to appear at the IEEE Symposium on Security and Privacy, May 2008, Oakland, CA, US.

Full text

PDF (5.4 MB)

BibTeX record

@TechReport{UCAM-CL-TR-711,
  author =	 {Drimer, Saar and Murdoch, Steven J. and Anderson, Ross},
  title = 	 {{Thinking inside the box: system-level failures of tamper
         	   proofing}},
  year = 	 2008,
  month = 	 feb,
  url = 	 {http://www.cl.cam.ac.uk/techreports/UCAM-CL-TR-711.pdf},
  institution =  {University of Cambridge, Computer Laboratory},
  number = 	 {UCAM-CL-TR-711}
}