java card ™ technology
DESCRIPTION
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 - PowerPoint PPT PresentationTRANSCRIPT
Java Card™ Technology
Presentation byVincent 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 ?
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.
JavaCard is an open platform from Sun Microsystems which allows to create and run Java applications on a smart card.
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.
ME
MO
RY
ROM(64 KB)
EEPROM(32 KB)
Central unit: 8-bit microcontroller at 3 – 5 MHz.16 or 32-bit microcontroller on newer smart cards.
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
RAM (2KB)
Communication
Serial communication
Communication protocol: APDU (Application Protocol Data Unit)
Half duplex mode
Master-slave model (smart card always plays the slave)
Advantages of smart cards
Security
Portability
Ease of use
BUT …
Development difficulties
Development of smart card applications is a long and complex process
Only 100’s of smart card programmers in the world in the 90’s
Annoying and out-of-date 8-bit assembly language
Security: it is very hard to obtain information about smart cards
Very few debugging tools
Applications developed to run on proprietary platforms
AND THE SOLUTION WAS…
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 12KBsmart card
Define a subset of Java: Java Card
Define a subset of Java: Java Card
JVM
Why Java ?
Ease of application development
Hardware independence
Compatibility with smart card standards
Security
Ability to store multiple applications
Architecture of a Java Card
HARDWARE
OS
Virtual machine
Java Card API(library)
IT
Finance
Telecom
ROM / EEPROM
ROM
Customer’s applications
(applets)
Card manufacturer
domain
Hardware independence
OSOS
HardwareHardware
OSOS
HardwareHardware
Virtual Machine
OSOS
HardwareHardware
OSOS
HardwareHardware
Virtual Machine
Without JavaWithout Java With JavaWith JavaWith JavaWith Java
Card 1 Card 2 Card 1 Card 2
Development process
Javaprogram Compiler
Optimizer/ Converter
OS
Applet#1
appletloader
API
InterpreterInterpreter
byte code
Applet byte code
It is now possible to install or update a program after the card has been issued.
It is now possible to install or update a program after the card has been issued.
Conclusion
In the future, Java Cards will help programmers to easily develop more complex applications for smart cards
Java Card has others competitors, like MULTOS or Smart Card for Windows.
Technology still recent. The demand for Java Card applications will increase in the next years
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.
Chen, Z., Java Card™ Technology for Smart Cards, 2000 (Addison-Wesley).
http://java.sun.com/products/javacard/
http:// www.javacardforum.org
Guthery, S.B., in IEEE Internet Computing. JavaCard: Internet Computing on a Smart Card, 1997, 57 – 59.
Thanks for your listening
Any question…Any question…