Affiliation:
1. Aristotle University of Thessaloniki, Greece
Abstract
Java Card provides a framework of classes and interfaces that hide the details of the underlying smart card interface and make it possible to load and run on the same card several applets, from different application providers with complex trust relationships. This fact paves the way for new business applications, but the card issuer has to secure absence of malicious or faulty card applets. He has to be able to check that (i) applets do not cause illicit method invocations that violate temporal restrictions of inter-applet communication, (ii) applets protect themselves from unwanted information flow to third parties and (iii) it is not possible for an unhandled Java Card API exception to leave an applet in an unpredictable state that is potentially dangerous for the application’s security. The authors explore recent advances in theory and tool support of static program analysis and they present an approach for automatic verification of smart card applications that by definition are security critical.
Reference27 articles.
1. Akdemir, I. O. (1998). An implementation of secure flow type inference for a subset of Java. Unpublished Master thesis, Naval Postgraduate School, Monterey, California.
2. Almaliotis, V., Loizidis, A., Katsaros, P., Louridas, P., & Spinellis, D. (2008). Static program analysis for Java Card applets. In G. Grimaud & F.-X. Standaert (Ed.), Proc. of the 8th IFIP Smart Card Research and Advanced Application Conference (CARDIS) (pp. 17-31), Springer LNCS 5189.
3. Beckert, B., & Mostowski, W. (2003). A program logic for handling Java Card’s transaction mechanism. Proc. of 6th Int. Conference on Fundamental Approaches to Software Engineering (FASE’03) (pp. 246-260), Springer LNCS 2621.
4. Checking secure interactions of smart card applets: extended version.;P.Bieber;Journal of Computer Security,2002
5. Formal methods for smart cards: an experience report