You are on page 1of 21




• 1. introduction
• 2. what is smart card?
• 3. java card specifications
• 4. java card vm
• 5. java card API
• 6. java card runtime Ip
• 7. java card technology data sheet
• 8. benefits of java card technology
• 9. components of java card technology
10. future directions
• 11.conclusion
Java Card technology adapts the Java platform for use on smart
cards and other devices whose environments are highly
specialized, and whose memory and processing constraints are
typically more severe than those of J2ME devices. Java Card
technology is evolving. Accompanying both the technical evolution
of smart card chips and the needs of application developers, new
features have been introduced recently, such as remote method
invocation (RMI), automated de-allocation of unreachable objects,
and the possibility of having several communication channels
open between the card and the card reader. In addition, version 2.2
of the Java Card specifications ([JCVM22][JCRE22][JCAPI22]) also
introduces some of the previously mentioned card management
features, such as applet deletion. Smart cards are very useful in
the areas of personal security. They can be used to add
authentication and secure access to information systems that
require a high level of security. Information stored in smart cards is
portable. With Java Card technology you can carry around valuable
and sensitive personal information such as your medical history,
credit card numbers, or electronic cash balances in a medium that
is compact, yet very secure.
A smart card is a card that is embedded with either a
microprocessor and a memory chip or only a
memory chip with non-programmable logic. The
microprocessor card can add, delete, and otherwise
manipulate information on the card, while a memory-
chip card (for example, pre-paid phone cards) can
only undertake a pre-defined operation. Smart cards,
unlike magnetic stripe cards, can carry all necessary
functions and information on the card. Therefore,
they do not require access to remote databases at
the time of the transaction.
A Java-Powered USB Token
• The Java Card technology specification, currently in
version 2.2, consists of three parts:
• The Java Card Virtual Machine specification, which
defines a subset of the Java programming language
and a VM for smart cards
• The Java Card Runtime Environment specification,
which further defines the runtime behavior for Java-
based smart cards
• The Java Card API specification, which defines the
core framework and extension Java packages and
classes for smart-card applications
Architecture of a Java Card Application
The Java Card Virtual Machine (JCVM) specification defines a
subset of the Java programming language and a Java-compatible
VM for smart cards, including binary data representations and file
formats, and the JCVM instruction set. The VM for the Java Card
platform is implemented in two parts, with one part external to the
card and the other running on the card itself. The on-card Java
Card VM interprets byte code, manages classes and objects, and
so on. The external Java VM part is a development tool, typically
referred to as the Java Card Converter tool, that loads, verifies, and
further prepares the Java classes in a card applet for on-card
execution. The output of the converter tool is a Converted Applet
(CAP) file, a file that contains all the classes in a Java package in a
loadable, executable binary representation. The converter verifies
that the classes conform to the Java Card specification. The JCVM
supports only a restricted subset of the Java programming
language, yet it preserves many of the familiar features including
objects, inheritance, packages, dynamic object creation, virtual
methods, interfaces, and exceptions.
The Java Card API specification defines
a small subset of the traditional Java
programming language API - even
smaller than that of J2ME's CLDC.
There is no support for Strings, or for
multiple threads. There are no wrapper
classes like Boolean and Integer, and
no Class or System classes
The JCRE specification defines the life-
cycle of the Java Card VM, the applet
life-cycle, how applets are selected and
isolated from each other, transactions,
and object persistence and sharing.
Life-Cycle of the Java Card VM
Life-Cycle of a Java Card Applet
The Java Card Sessions and Logical Channels
Managing Memory and Objects
java card technology data sheet
• Almost any type of smart card can be fitted with
Java Card technology, including:
• SIM cards used in cell phones on most wireless
• Financial cards providing both online and offline
• Government / Healthcare ID cards
• Logical access and physical access to enterprise
• Smart ticketing for mass transit
• On the majority of cellular telephone networks,
smart cards (commonly called SIM cards) are
required to activate the telephone.
benefits of java card technology
• Interoperable
• Secure
• Multi-Application Capable
• Dynamic
• Compatible with Existing Standards
 High programmer productivity
components of java card
• Virtual Machine Specification for the
Java Card Platform
• Runtime Environment Specification for
the Java Card Platform
• API for the Java Card Platform
future directions
Security is not a static concern, but an evolving one.
Those in the business of security must anticipate
potential attacks on secure systems, and continue to
innovate. This section discusses approaches that
are being discussed by the Java Card community as
the Java Card platform continues to evolve. Sun
Microsystems, Inc. and its partners are investigating
the possibility of speeding future security
certification by a technique of incremental
certification. And research has the community
thinking about possible extensions of the Java Card
platform. The following discussion should not be
taken as a commitment to add particular features to
the platform, or as a prediction about the time frame
when features might be added.
The Java Card platform is the platform of choice for
smart card deployments. This is based on the
inherent security of the Java programming language
and the Java Card technology, the open process for
design and development of this platform, and the
platform’s proven deployments and security
evaluations. Any smart card issuer considering an
open standard smart card today can choose a Java
Card product with the confidence, knowing that it
contains the most capable and secure technology
available today. Java Card technology was designed
from the beginning with security in mind. it has
proven itself in a multitude of deployments. eading
smart card issuers have demonstrated that Java
Card applets can be securely managed: that is,
downloaded, installed and deleted.