WELCOME
WELCOME TO JAVA CARD TECHNOLOGY
CONTENTS • • • • • • • • •
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
INTRODUCTION 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.
WHAT IS A SMART CARD 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 memorychip 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
JAVA CARD SPECIFICATIONS • 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 Javabased 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
DIAGRAM REPRESENTING JAVA CARD TECHNOLOGY
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
JAVA CARD RUNTIME IP The JCRE specification defines the lifecycle 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 ARCHITECTURE
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 networks • Financial cards providing both online and offline transactions • Government / Healthcare ID cards • Logical access and physical access to enterprise resources • 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 technology • 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.
conclusion 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.
THANK YOU
HAVE A NICE DAY FRIENDS AND
RESPECTED
SIR