Java Card Technology Datasheet

Java Card technology enables smart cards and other devices with limited memory to securely run small applications, called applets, that utilize Java technology. It provides smart card manufacturers with a secure and interoperable execution platform, capable of storing and updating multiple applications on a single device. Java Card technology is compatible with existing smart card standards.

With Java Card technology, new smart card - based applications and services can be rapidly and securely built, tested, and deployed. This reduces development costs, adds product differentiation, and enhances value-add for customers.

A complementary technology to the Java 2 Platform , Java Card technology makes it easy to integrate security tokens into a complete Java software solution.

Industries Embracing the Java Card Platform

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. The card authenticates the user and provides encryption keys for digital voice transmission. When fitted with Java Card technology, SIM cards can also provide transactional services such as remote banking and ticketing. Hundreds of millions of Java Card technology-based SIM cards are already powering next-generation services in cell phones.

In the banking industry, smart cards give users secure access to a wide array of networked financial services including cash machines, bill paying, and bridge tolls. Java Card-based smart cards can host multiple financial applications in a single card , while delivering third-party services such as mileage programs or secure, on-line trading.

A wide variety of other applications are available wherever security and authenticated identity are important, such as providing access to facilities and medical records.

Java Card technology will enhance consumer access to new, e-commerce services through a range of connected appliances. Cellular phones and pay-TV equipment are examples of markets where the majority of products now available include built-in smart cards readers.

Benefits of Java Card technology

There are several unique benefits of the Java Card technology for smart card vendors and issuers:

  1. Interoperable - Applets developed with Java Card technology will run on any Java Card technology-based smart card, independently of the card vendor and underlying hardware.
  2. Secure - Java Card technology relies on the inherent security of the Java programming language to provide a secure execution environment. It was designed through an open process, and the platform's proven industry deployments and security evaluations ensure that card issuers benefit from the most capable and secure technology available today.
  3. Multi-Application Capable - Java Card technology enables multiple applications to co-exist securely on a single smart card.
  4. Dynamic - New applications can be installed securely after a card has been issued, providing card issuers with the ability to dynamically respond to their customer's changing needs.
  5. Open - Java Card application developers benefit from object-oriented programming and design, and have access to off-the-shelf Java development tools.
  6. Compatible with Existing Standards - The Java Card API is compatible with international standards for smart cards such as ISO7816, or EMV. It is referenced by major industry-specific standards such as Global Platform and ETSI.

Components of Java Card Technology

Sun Microsystems publishes the Java Card Platform Specification and the Java Card Development Kit which includes a reference implementation based on this specification.

Providing the basis for cross-platform and cross-vendor applet interoperability, the Java Card Platform Specification in its latest 2.2.1 version includes three documents:

  • Virtual Machine Specification for the Java Card Platform
    The Java Card Virtual Machine (VM) Specification defines the features, services, and behavior required of an implementation of the Java Card technology. It includes the instruction set of a Java Card Virtual Machine, the supported subset of the Java language, and the file formats used for installing applets and libraries into devices, like smart cards, which implement Java Card technology.
  • Runtime Environment Specification for the Java Card Platform
    The Java Card Runtime Environment (RE) Specification complements the Java Card API Specification and defines the necessary behavior of the runtime environment in any implementation of the Java Card technology. Such an implementation includes an implementation of the Java Card Virtual Machine, the Java Card Application Programming Interface (API) classes, and runtime support services such as the selection and deselection of applets.
  • API for the Java Card Platform
    The Java Card API is compatible with formal international standards and industry-specific standards. It contains the class definitions required to support the Java Card VM and the Java Card RE.

The Java Card Development Kit is a suite of tools for designing Java Card technology-based implementations and developing applets based on the Java Card API Specification:

  • The C-JCRE is a reference implementation of the Java Card Runtime Environment written in the C programming language. The C-JCRE also includes the Java Card Virtual Machine interpreter.
  • Off-card platform components such as the Java Card Converter and the Java Card Verifier complement the C-JCRE to provide a complete development chain.
  • Additional design and testing tools enable developers to prototype and test Java Card applications.

Advantages of Developing with Java Card technology

Java Card technology offers all the advantages of developing applications in the Java programming language:

  • High programmer productivity
  • Object-oriented programming with greater code modularity and reusability
  • Java language protections apply to Java Card applets, enforcing strong typing and protection attributes
  • Availability of powerful off-the-shelf development tools

Java Card "S"

The "Java Card S" program enables Java Card licensees to derive fixed function smart cards from existing Java Card technology products. "Java Card S" products have all the functionalities and security of standard Java Card smart cards except for dynamic post-issuance applet download capability - applications cannot be added or removed after the device has been issued. Java Card "S" products bring the value proposition of Java Card technology to an extended range of the smart card products. Card issuers can leverage the wealth of applications already developed and certified for the Java Card platform, in smart card products with minimal memory capacity. Java Card "S" products are identified by the "S" suffix after the platform version number, eg. a Java Card 2.2.1 S product.

The new "Java Card S" program allows card issuers to purchase cards with a wide range of prices and capabilities while still leveraging the benefits of Java Card technology and using the same Java Card applets. This dramatically reduces the cost and complexity for application development, functional test, security evaluation and application lifecycle maintenance.

Licensing Java Card Technology

Java Card technology is licensed to smart card manufacturers representing more than 90 percent of the world's smart card manufacturing capacity. It provides a range of new opportunities for original equipment manufacturers (OEMs) and their partners across multiple industries. In particular, the applet interpretability provided by Java Card technology allows card issuers to mix and match third-party applications, including standard payment applications, stored value, computer authorization, data management, and many more.

Java Card technology licensees may get access to the Java Card Technology Compatibility Kit (TCK). The Java Card TCK can be licensed from Sun to certify a Java Card implementation on a particular platform.

Additionally Sun provides from time to time exclusive deliverables to the licensee community, such as the Java Card Toolkit, or the Java Card Protection Profile. The Java Card Toolkit is a Java Card simulator and debugger. It has been designed for integration into third-party Integrated Development Environments (IDEs). It enables Java Card licensees to provide a realistic simulation and debugging environment within their Java Card tools. The Java Card Protection Profile reduces the time and cost for Java Card licensees to complete security evaluations under Common Criteria. It provides a reusable set of security requirements specifically for the Java Card platform. Java Card products evaluated using Common Criteria provide licensees with the ability to meet the increasing demand by banks, governments and other card issuers for security evaluations.

For more information about licensing terms, please contact your local sales representative.