Memory-efficient on-card byte code verification for Java cards

  • Authors:
  • Reinhard Berlach;Michael Lackner;Christian Steger;Johannes Loinig;Ernst Haselsteiner

  • Affiliations:
  • Graz University of Technology;Graz University of Technology;Graz University of Technology;NXP Semiconductors;NXP Semiconductors

  • Venue:
  • Proceedings of the First Workshop on Cryptography and Security in Computing Systems
  • Year:
  • 2014

Quantified Score

Hi-index 0.00

Visualization

Abstract

Java enabled smart cards are widely used to store confidential information in a trusted and secure way in an untrusted and insecure environment, for example the credit card in your briefcase. In this environment the owner of the card can install and run any applet on his card, such as the loyalty application of your favorite store. However, every applet that runs on a trusted card has to be verified. On-card Bytecode Verification is a crucial step towards creating a trusted environment on the smart cards. The innovative verification method presented in this work comes without any additional off-card component and uses nearly the same amount of memory as the execution of the applet uses. The usage of a Control Flow Graph and Basic Blocks and the implementation of a temporary transformation of the methods reduces the complexity of this new verifier. We will show a detailed analysis of the implemented algorithm and preliminary tests of a prototype on a Java Card.