Verification of Java Card applets behavior with respect to transactions and card tears - Inria - Institut national de recherche en sciences et technologies du numérique Access content directly
Conference Papers Year : 2006

Verification of Java Card applets behavior with respect to transactions and card tears

Nicolas Rousset
  • Function : Author
  • PersonId : 837980

Abstract

The Java Card transaction mechanism allows to protect sensitive operations on smart cards against problems due to card tears or power losses. Statements within a transaction are viewed as a single atomic operation so that either they are all performed or none of them is. Krakatoa is a tool for static verification of Java programs annotated in JML (Java Modeling Language), a behavioral specification language tailored to Java and based on first order predicate logic. In a first step, we show how we modeled the transactions within Krakatoa, by generating on-the-fly (i.e. on each applet) specifications of the API methods for transactions. In a second step, we consider security problems that can be caused by a card tear. We propose new JML constructs allowing to express properties to satisfy when a method is interrupted by a card tear, also taking non-atomic methods into account. We present a modeling of these constructs in Krakatoa, and show it is practicable for the detection of potential security holes, or to prove the absence of risk.
Not file

Dates and versions

inria-00129055 , version 1 (05-02-2007)

Identifiers

  • HAL Id : inria-00129055 , version 1

Cite

Claude Marché, Nicolas Rousset. Verification of Java Card applets behavior with respect to transactions and card tears. Software Engineering and Formal Methods, Sep 2006, Pune, India. ⟨inria-00129055⟩
103 View
0 Download

Share

Gmail Facebook Twitter LinkedIn More