|
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:
- 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.
- 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.
- Multi-Application Capable - Java Card technology enables multiple applications to
co-exist securely on a single smart card.
- 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.
- Open - Java Card application developers benefit from object-oriented programming and
design, and have access to off-the-shelf Java development tools.
- 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.
|