MetaCartSign in to MyCiteSeer

Include Citations | Advanced Search | Help

Include Citations | Advanced Search | Help

  On the combination of Java Card Remote Method Invocation and JML

Download:
Download as a PDF | Download as a PS
by Martijn Oostdijk, Martijn Warnier
http://www.cs.kun.nl/~warnier/Papers/NIII-R0321.ps.gz
Add To MetaCart

Abstract:

Abstract This paper explores the possibilities for using the Java Modeling Language (JML) to specify Java Card applets that use Remote Method Invocation (JCRMI). The JCRMI framework makes it possible to call methods directly on a Java Card smart card without the (explicit) use of low level byte sequences, called APDUs. We introduce a new way of designing JCRMI applets, using the Java Modeling Language (JML) to formally specify (part of) its code. It turns out that some advanced JML speci cation features, such as model variables, are necessary to specify JCRMI applets. Two JML tools, the JML runtime assertion checker and the LOOP tool, are subsequently used to verify that the implementation satis es the JML specications. We conclude that the JML specications are simpler and easier to write, understand and verify when using JCRMI. Ideally this should lead to more trustworthy and error free code.

Citations

276 Extended Static Checking for Java – Flanagan, Leino, et al. - 2002
133 JML: A notation for detailed design – Leavens, Baker, et al. - 1999
74 The LOOP compiler for Java and JML – Berg, Jacobs - 2001
72 JAVA CARD Technology for Smart Cards: Architecture and Programmer’s Guide. JAVA Series – Chen - 2000
72 A Runtime Assertion Checker for the Java Modeling Language – Cheon - 2003
33 Formal veri for fault-tolerant architectures: Prolegomena to the design of PVS – Owre, Rushby, et al. - 1995
22 Weakest precondition reasoning for Java programs with JML annotations – Jacobs
12 Java Card Technology for Smart Cards. The Java Series – Chen - 2000
4 Secure method invocation in JASON – Brinkman, Hoepman - 2002
4 The Krakatoa tool for JML/Java program certi Journ. of Logic and Algebraic Programming, to appear. Available via the Krakatoa home page at www.lri.fr/~marche/krakatoa – Contejean, Duprat, et al. - 2002
3 Open platform card speci version 2.1 – Platform - 2001
2 Martijn Oostdijk, and Martijn Warnier. Source Code Veri of a Secure Payment Applet – Jacobs
2 Java Program Veri at Nijmegen: Developments and Perspective – Jacobs, Poll - 2003
1 ISO 7816. available at: http://www.iso.org/iso/en/isoonline.frontpage – Standard
1 Verifying JML speci with model – Breunesse, Poll
1 Java Card 2.2 Development Kit. available at: http://java.sun.com/products/javacard – Microsytems
1 Java Card 2.2 Runtime Environment (JCRE) Speci – Microsytems - 2002