30-03-2010, 11:15 AM
JAVA CARD
PRESENTED BY
ANUSHA.B.L
S5 MCA
JAVA CARD
Java card is a smart card that is capable of running programs written in Java
What is a smart card?
A smart card is a plastic card that contains an embedded integrated circuit (IC).
Types of smart cards
1. Intelligent smart card
2.Memory card
Types of memory in smart cards
ROM
EEPROM
RAM
ISO 7816 part 1-7 for smart cards
Physical characteristics (part 1)
Dimensions and location of the contacts (part 2)
Electronic signals and Transmission protocols (part 3)
Inter-industry commands for interchange (part 4)
Application identifiers (Part 5)
Inter-industry data elements (Part 6)
Inter-industry commands for SCQL (Part 7)
Card Acceptance Device
Functions
1.Supply card with power
2.Establish data carrying connection
Application Protocol Data Units
Smart cards speak to the outside world using their own data packages -- called APDU
APDU contains either a command or a response message
Wait and reply principle
Command APDU Format
Response APDU Format
What is a Java Card?
A Java Card is a smart card that is capable of running Java programs
It contains a microprocessor & a memory integrated into a chip ,embedded on a plastic card
A JAVA CARD
System architecture on the Java Card
The lifetime of a Java Card
The Java Card lifetime starts when the native OS, Java Card VM, API classes libraries and optionally, applets are burned into ROM ---masking.
A Java Card remains active until it is expired or blocked due to an unrecoverable error
Initialization and Personalization
Lifetime of a Java Card virtual machine
The execution lifetime of the Java Card VM is the lifetime of the card.
When the power is not provided, the VM runs in an infinite clock cycle.
When the card is removed from the reader , the Java Card VM creates objects in EEPROM to hold the persistent information
The lifetime of Java Card applets and objects
Objects are created in the persistent memory (for example, EEPROM). They could be lost or garbage-collected if other persistent objects do not reference them.
An applet's life starts when it is properly installed and registered with the system's registry table and ends when it is removed from the table.
Java Card 2.0 language subset
The Java Card does not support:
Dynamic class loading
Security manager
Threads and synchronization
Object cloning
Finalization
Large primitive data types (float, double, long, and char)
The Java Card 2.0 framework
The Java Card framework contains four packages:
Javacard.framework
Javacardx.framework
Javacardx.crypto
Javacardx.cryptoEnc
Java Card security
Language security policies are implemented by the virtual machine.
An applet is an independent entity within a Java Card. Its selection, execution, and functionality are not affected by other applets residing on the same card.
How things work together inside a Java Card
JCRE
After an applet is correctly loaded into the card's persistent memory and linked with the Java Card Framework and other libraries on the card, JCRE calls the applet's install method
An applet on the card remains inactive until it is explicitly selected. The terminal sends a "SELECT APDU" command to JCRE
Developing a Java Card Applet
Preparing a Java Card applet for execution involves a number of steps, such as converting it to a runtime format and testing it in various simulated environments.
Using the Java Card Development Kit
This includes:
Java Card Framework classes
A Java Card Workstation Development Environment (JCWDE)
An APDUTool utility that sends command APDUs
A Converter tool
Off-card verification tools that check the integrity of files
A mask generator
An off-card installer
DEVELOPMENT PROCESS
Conclusion
The Java Card adds a new platform to the world of Java.
Widespread adoption and deployment of the Java Card will require marketing promotion, more applications and tools development, and time.
At the same time, the number of Java Cards in existence could easily extend into the millions within the next few years.
THANK YOU
PRESENTED BY
ANUSHA.B.L
S5 MCA
JAVA CARD
Java card is a smart card that is capable of running programs written in Java
What is a smart card?
A smart card is a plastic card that contains an embedded integrated circuit (IC).
Types of smart cards
1. Intelligent smart card
2.Memory card
Types of memory in smart cards
ROM
EEPROM
RAM
ISO 7816 part 1-7 for smart cards
Physical characteristics (part 1)
Dimensions and location of the contacts (part 2)
Electronic signals and Transmission protocols (part 3)
Inter-industry commands for interchange (part 4)
Application identifiers (Part 5)
Inter-industry data elements (Part 6)
Inter-industry commands for SCQL (Part 7)
Card Acceptance Device
Functions
1.Supply card with power
2.Establish data carrying connection
Application Protocol Data Units
Smart cards speak to the outside world using their own data packages -- called APDU
APDU contains either a command or a response message
Wait and reply principle
Command APDU Format
Response APDU Format
What is a Java Card?
A Java Card is a smart card that is capable of running Java programs
It contains a microprocessor & a memory integrated into a chip ,embedded on a plastic card
A JAVA CARD
System architecture on the Java Card
The lifetime of a Java Card
The Java Card lifetime starts when the native OS, Java Card VM, API classes libraries and optionally, applets are burned into ROM ---masking.
A Java Card remains active until it is expired or blocked due to an unrecoverable error
Initialization and Personalization
Lifetime of a Java Card virtual machine
The execution lifetime of the Java Card VM is the lifetime of the card.
When the power is not provided, the VM runs in an infinite clock cycle.
When the card is removed from the reader , the Java Card VM creates objects in EEPROM to hold the persistent information
The lifetime of Java Card applets and objects
Objects are created in the persistent memory (for example, EEPROM). They could be lost or garbage-collected if other persistent objects do not reference them.
An applet's life starts when it is properly installed and registered with the system's registry table and ends when it is removed from the table.
Java Card 2.0 language subset
The Java Card does not support:
Dynamic class loading
Security manager
Threads and synchronization
Object cloning
Finalization
Large primitive data types (float, double, long, and char)
The Java Card 2.0 framework
The Java Card framework contains four packages:
Javacard.framework
Javacardx.framework
Javacardx.crypto
Javacardx.cryptoEnc
Java Card security
Language security policies are implemented by the virtual machine.
An applet is an independent entity within a Java Card. Its selection, execution, and functionality are not affected by other applets residing on the same card.
How things work together inside a Java Card
JCRE
After an applet is correctly loaded into the card's persistent memory and linked with the Java Card Framework and other libraries on the card, JCRE calls the applet's install method
An applet on the card remains inactive until it is explicitly selected. The terminal sends a "SELECT APDU" command to JCRE
Developing a Java Card Applet
Preparing a Java Card applet for execution involves a number of steps, such as converting it to a runtime format and testing it in various simulated environments.
Using the Java Card Development Kit
This includes:
Java Card Framework classes
A Java Card Workstation Development Environment (JCWDE)
An APDUTool utility that sends command APDUs
A Converter tool
Off-card verification tools that check the integrity of files
A mask generator
An off-card installer
DEVELOPMENT PROCESS
Conclusion
The Java Card adds a new platform to the world of Java.
Widespread adoption and deployment of the Java Card will require marketing promotion, more applications and tools development, and time.
At the same time, the number of Java Cards in existence could easily extend into the millions within the next few years.
THANK YOU