380 likes | 1.19k Views
Java Card ™ Technology. Presentation by Vincent Tueta. Source: Guthery, S.B., in IEEE Internet Computing. Java Card: Internet Computing on a Smart Card , 1997. Friday 10th Dec 2004. Contents. What is Java Card ? Smart card basics Advantages of smart cards
E N D
Java Card™Technology Presentation by Vincent Tueta Source: Guthery, S.B., in IEEE Internet Computing. Java Card: Internet Computing on a Smart Card, 1997 Friday 10th Dec 2004
Contents • What is Java Card ? • Smart card basics • Advantages of smart cards • Development difficulties • Java on a smart card • Why Java ? • Architecture of a Java Card • Development process • Conclusion
What is Java Card ? JavaCard is an open platform from Sun Microsystems which allows to create and run Java applications on a smart card. A Java Card also refers to a smart card : with built-in microprocessor and memory capable of running software written in the Java programming language.
Introduction to the smart cards A smart card is a plastic card with an embedded electronic circuit, which can store and process information. It does not contain a power supply, and can only communicate when inserted in a terminal. different kinds of smart cards : memory cards, microprocessor cards, contactless cards… Many applications : Banking, telecoms, health, identification…
Architecture overview A smart card has 8 contact points to communicate with the outside world. RAM (2KB) MEMORY • A typical smart card is composed of: • ROM: to store the OS and the fixed programs or data • EEPROM: user data storage • RAM: temporary working space EEPROM (32 KB) ROM (64 KB) Central unit: 8-bit microcontroller at 3 – 5 MHz. 16 or 32-bit microcontroller on newer smart cards.
Communication Serial communication Half duplex mode Communication protocol: APDU (Application Protocol Data Unit) Master-slave model (smart card always plays the slave)
Advantages of smart cards BUT … Security Portability Ease of use
Development difficulties AND THE SOLUTION WAS… Development of smart card applications is a long and complex process Security: it is very hard to obtain information about smart cards Annoying and out-of-date 8-bit assembly language Very few debugging tools Applications developed to run on proprietary platforms Only 100’s of smart card programmers in the world in the 90’s
JVM Java on a smart card Idea first introduced by Schlumberger in 1996 • Aims: • Preserve the security • Open up smart card programming to everyone The challenge was to build a Java virtual machine in a 12KB smart card Define a subset of Java: Java Card
Why Java ? Ease of application development Hardware independence Compatibility with smart card standards Security Ability to store multiple applications
Architecture of a Java Card IT Telecom Finance Customer’s applications (applets) ROM / EEPROM Java Card API (library) Card manufacturer domain Virtual machine ROM OS HARDWARE
Virtual Machine Virtual Machine OS OS OS OS Hardware Hardware Hardware Hardware Hardware independence Card 1 Card 2 Card 1 Card 2 Without Java With Java
Development process Java program Compiler byte code Optimizer / Converter It is now possible to install or update a program after the card has been issued. Applet #1 Applet byte code applet loader API Interpreter OS
Conclusion In the future, Java Cards will help programmers to easily develop more complex applications for smart cards Technology still recent. The demand for Java Card applications will increase in the next years Java Card has others competitors, like MULTOS or Smart Card for Windows. In some scenarios, the costs of a smart card can be expensive, and the magnetic strip card is preferable
References Baentsch, M., Buhler, P., Eirich, T., Höring, F. and Oestreicher, M. in IEEE Concurrency. JavaCard – From Hype to Reality, 1999, 36 – 43. Guthery, S.B., in IEEE Internet Computing. JavaCard: Internet Computing on a Smart Card, 1997, 57 – 59. Chen, Z., Java Card™ Technology for Smart Cards, 2000 (Addison-Wesley). http://java.sun.com/products/javacard/ http:// www.javacardforum.org
Thanks for your listening Any question… ?