java card ™ technology

16
Java Card™ Technology Presentation by Vincent Tueta Source: Guthery, S.B., in IEEE Internet Computi Java Card: Internet Computing on a Smart Card, 1997 Friday 10th Dec 2004

Upload: arnaud

Post on 06-Jan-2016

68 views

Category:

Documents


0 download

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 Presentation

TRANSCRIPT

Page 1: Java Card ™ Technology

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

Page 2: Java Card ™ Technology

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

Page 3: Java Card ™ Technology

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.

Page 4: Java Card ™ Technology

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…

Page 5: Java Card ™ Technology

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)

Page 6: Java Card ™ Technology

Communication

Serial communication

Communication protocol: APDU (Application Protocol Data Unit)

Half duplex mode

Master-slave model (smart card always plays the slave)

Page 7: Java Card ™ Technology

Advantages of smart cards

Security

Portability

Ease of use

BUT …

Page 8: Java Card ™ Technology

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…

Page 9: Java Card ™ Technology

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

Page 10: Java Card ™ Technology

Why Java ?

Ease of application development

Hardware independence

Compatibility with smart card standards

Security

Ability to store multiple applications

Page 11: Java Card ™ Technology

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

Page 12: Java Card ™ Technology

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

Page 13: Java Card ™ Technology

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.

Page 14: Java Card ™ Technology

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

Page 15: Java Card ™ Technology

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.

Page 16: Java Card ™ Technology

Thanks for your listening

Any question…Any question…