1
Java Card Technology
Presented by Sebastian Thomas
2
Presentation Agenda
Identify
Java Card Technology Identify Elements of Java Card Applications Communicating with a Java Card Applet Java Card Language Limitations Questions
3
Java Card?
What
is a Java Card?
Simple Answer:
Java + Card = Java Card !! Adoption of Java Platform for usage on Smart Cards
Smart Cards?
A
smart card is a plastic card that contains an embedded integrated circuit (IC) Examples:
Our very Own T-Card! Credit Cards Cell Phone SIM Cards 5
Smart Cards are good!? How?
They
store and process Information Smart Cards Can be used to add authentication and secure access to information systems that require a high level of security
Properties of Smart Cards:
Highly
secure-Tempering with one, results in destruction of the information it contains Dont contain battery- Become active when connected with a card reader Come in two forms Contact or Contact less
7
Contact or Contact Less?
contact smart cards work by communicating via physical contact between a card reader and the smart card contact less smart cards communicate by means of a radio frequency signal, with a typical range of less than 2 feet
8
Now that we know Smart Cards:
How
does a smart card operate? Whats the platform used for its operations? What are different elements of these smart cards?
Elements of Java Card Application:
A
complete Java Card application consists of :
a back-end application a host (off-card) application an interface device (card reader ) the on-card applet user credentials and supporting software 10
Elements of Java Card Application:
11
The Back-End Application and Systems
Provide
connectivity to security systems
Example:
In an electronic payment system, the back-end application could provide access to credit card and other payment information
12
The Reader-Side
Consists
of two parts:
Host Application Card Acceptance Device
Think
of a bank machine:
Host Application as the Computer that provides interaction with the system Card Acceptance Device being where you put your debit card in 13
The Card-Side
Elements: One or more Java Applets Cards operating System Java Card Runtime Environment(JCRE)
Java Card Virtual Machine Java Card Framework and APIs
14
Communicating with a Java Card Applet
Two methods for communicating with Java Card Applet:
1. Fundamental message-passing model 2. Java Card Remote Method Invocation (JCRMI) which is a subset of J2SE RMI!
15
The Message-Passing Model
16
The Message-Passing Model
All
Java Card applets extend the Applet base class and must implement the install() and process() methods JCRE calls install() when installing the applet, and process() every time there is an incoming APDU for the applet APDU: a logical data packet that's exchanged between the CAD and the Java Card Framework (It is considered as the center piece for the Message-Passing Model)
17
The Message-Passing Model 1. The Command APDU
18
The Message-Passing Model 2. The Response APDU
The format of a response APDU is much simpler:
19
The Message-Passing Model
Values for SW1, SW2(set by ISO):
20
The Message-Passing Model 3. Processing APDUs Every time there is an incoming APDU for a selected applet:
The JCRE invokes the applet's process() method The incoming APDU is passed as an argument The applet must:
parse the command APDU process the data generate a response APDU and return control to the JCRE
21
The Java Card RMI (JCRMI)
The second communication model relies on a subset of the J2SE RMI distributed-object model
a server(jc applet) application creates and makes accessible remote objects a client(host application) application obtains remote references to remote objects, and then invokes remote methods on them.
22
Summary of Java Card Language Limitations
23
Summary of Java Card Language Limitations
* http://java.sun.com/products/javacard/smartcards.html 24
Smart Card Types and Their Capabilities
Integrated Circuit (IC) Microprocessor Cards:
offer greater memory storage and security of data than a traditional mag stripe card Chip cards also can process data on the card.
Integrated Circuit (IC) Memory Cards.
IC memory cards can hold up to 1-4 KB of data but have no processor they are dependent on the card reader for their processing
Optical Memory Cards:
look like a card with a piece of a CD glued on top store up to 4 MB of data
25
References:
http://www.oracle.com/technetwork/java/index.html http://www.lastminute.com/ http://www.utoronto.ca/tcard/what.html
26
Any Questions............?
27
28