Java-Card by cuiliqing




• 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
                JAVA CARD VM
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.
         JAVA CARD API
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.


To top