A Practical Example of Mobile Phone Application Using SATSA (JSR 177) API
- 2.6k Downloads
SIM as a security token is increasingly being used to secure mobile phone applications. Sensitive information such as PIN, security keys, etc are stored on the SIM card. To utilise the SIM functionalities, it is imperative that mobile phone applications interact with applets available on the SIM. The security features for mobile applications operating within the J2ME ecosystem are provisioned by SATSA API Framework. It allows support for cryptography, digital signatures, user credential management, communication with a smart card, and remote method invocation. The SATSA APDU Communication API provides support for mobile phone applications to interact with Java Card applets residing on a smart card, over the ISO7816 interface. This chapter provides a practical example of a mobile phone application implementing SATSA API. A MIDP 2.0 application or MIDlet that utilises the APDU package within SATSA API and a Java Card applet were developed. The MIDlet and applet were tested to work with each other on a PC-based development environment. The MIDlet was tested on Wireless Toolkit Emulator and the Java Card applet was tested on Java Card Platform Simulator. Freely available tools were used to create the above mentioned practical demonstrators.
KeywordsApplication Protocol Data Unit (APDU) MIDlet Java Card Mobile Information Device Profile (MIDP) Wireless Toolkit (WTK)
- 1.Java Platform Micro Edition (Java ME). http://www.oracle.com/technetwork/java/javame/.
- 2.JSR-000118 Mobile Information Device Profile 2.0. http://jcp.org/aboutJava/communityprocess/final/jsr118/.
- 3.JSR 177 Experts Group. Security and Trust Services API (SATSA) v2.1 for J2ME. http://jcp.org/aboutJava/communityprocess/final/jsr177/index.html.
- 4.Third Generation Partnership Project (3GPP). Specification of the Subscriber Identity Module-Mobile Equipment (SIM-ME) interface (Release 1999). TS 11.11 V8.14.0 (2007–06). http://www.3gpp.org/.
- 5.Oracle/Sun Microsystems. Java Card Platform Specification v2.2.1. http://www.oracle.com/technetwork/java/javacard/downloads/index.html.
- 6.International Organization for Standardization. ISO/IEC 7816 parts 1–15. 2005. http://www.iso.org/.
- 7.GlobalPlatform. Card Specification v2.2. http://www.globalplatform.org/.
- 8.Z. Chen. Java Card Technology for Smart Cards: Architecture and Programmer’s Guide. Addison-Wesley Longman Publishing Co., Inc., Boston, MA, USA., 2000.Google Scholar
- 9.Eclipse Open Source Community. http://www.eclipse.org/.
- 10.Java Code Signing for J2ME. http://www.oracle.com/technetwork/java/index.html.
- 11.T. Lindholm and F. Yellin. The Java Virtual Machine Specification, Second Edition. http://java.sun.com/docs/books/jvms/.
- 12.B. W. Kernighan and D. M. Ritchie. The C programming Language. Prentice Hall, 1988.Google Scholar
- 13.Royal Holloway, University of London. Smart Card Centre website. http://www.scc.rhul.ac.uk/books/ssed/embedded/chapter_23.