Java card operand stack: fault attacks, combined attacks and countermeasures

  • Authors:
  • Guillaume Barbu;Guillaume Duc;Philippe Hoogvorst

  • Affiliations:
  • Parc Scientifique Unitec 1 - Porte 2, Oberthur Technologies, Innovation Group, Pessac, France;Département COMELEC, Institut Télécom / Télécom ParisTech, CNRS LTCI, Paris Cedex 13, France;Département COMELEC, Institut Télécom / Télécom ParisTech, CNRS LTCI, Paris Cedex 13, France

  • Venue:
  • CARDIS'11 Proceedings of the 10th IFIP WG 8.8/11.2 international conference on Smart Card Research and Advanced Applications
  • Year:
  • 2011

Quantified Score

Hi-index 0.00

Visualization

Abstract

Until 2009, Java Cards have been mainly threatened by Logical Attacks based on ill-formed applications. The publication of the Java Card 3.0 Connected Edition specifications and their mandatory on-card byte code verification may have then lead to the end of software-based attacks against such platforms. However, the introduction in the Java Card field of Fault Attacks, well-known from the cryptologist community, has proven this conclusion wrong. Actually, the idea of combining Fault Attacks and Logical Attacks to tamper with Java Cards appears as an even more dangerous threat. Although the operand stack is a fundamental element of all Java Card Virtual Machines, the potential consequences of a physical perturbation of this element has never been studied so far. In this article, we explore this path by presenting both Fault Attacks and Combined Attacks taking advantage of an alteration of the operand stack. In addition, we provide experimental results proving the practical feasibility of these attacks and illustrating their efficiency. Finally, we describe different approaches to protect the operand stack's integrity and compare their cost with a particular interest on the time factor.