Tuesday, October 27, 2009

j2me java card technology

 

 

Java Card Technology

Java Card technology complements the Java ME platform. It slims down the Java platform for use within the severe memory and processing constraints of smart cards, a very specialized environment not suitable for general-purpose programming. A typical Java Card device has an 8- or 16-bit CPU running at 1 to 5 MHz and memory on the order of 1.2 K of RAM and 32 K of nonvolatile memory, typically EEPROM or flash.

The Java Card platform consists of the Java Card Virtual Machine, the Java Card Framework, security and remote invocation APIs, and Extension APIs, as illustrated in Figure 8.

Figure 8: The Java Card Platform

The Java Card specification, in version 2.2.2 at this writing, includes a carefully chosen subset of the Java programming language. It does not support large primitive data types such as long, double, float, strings, dynamic class loading, multithreading, and other features characteristic of Java technology. Java Card technology comes in three parts:

  • The Java Card Virtual Machine specification defines a subset of the Java language and a VM for smart cards.
  • The Java Card Runtime Environment (Java Card RE) specification defines the runtime behavior for smart cards.
  • The Java Card API specification defines the core and extension Java packages and classes available on smart cards.

The Java Card Development Kit provides a reference implementation of the runtime environment and the VM, as well as other tools to help you develop applications based on Java Card technology, commonly called Java Card applets.

Table 8 summarizes the Java technology APIs available in the Java Card specification.

Table 8: Summary of Core Java Packages in the Java Card 2.2.2 Specification

Name

Description

java.lang

Subset of the Java SE core Java programming language for Java Card technology-based development

java.rmi

Base exception class and tagging interface for Java Card RMI functionality

java.io

Base IOException class to complete the RMI exception hierarchy

javacard.framework

Framework of classes and interfaces for the core functionality of a Java Card applet

javacard.framework.service<

Framework of classes and interfaces for a service-based Java Card applet

javacard.security

Classes and interfaces in the Java Card security framework

Extension APIs

javacardx.apdu

Extension API that enables support for ISO 7816 specification defined optional APDU-related mechanisms

javacardx.biometry

Extension API that contains functionality for implementing a biometric framework on the Java Card platform

javacardx.crypto

Extension API that contains functionality, which may be subject to export controls, for implementing a security and cryptography framework on the Java Card platform

javacardx.external

Extension API that provides mechanisms to access memory subsystems that are not directly addressable by the Java Card RE on the Java Card platform

javacardx.framework.math

Extension API that contains common utility functions for BCD math and parity computations

javacardx.framework.tlv

Extension API that contains functionality for managing storage for BER TLV formatted data, based on the ASN.1 BER encoding rules of ISO/IEC 8825-1:2002, as well as parsing and editing BER TLV formatted data in I/O buffers

javacardx.framework.util

Extension API that contains common utility functions for manipulating arrays of primitive components -- byte, short, or int

javacardx.framework.util.intx

Extension API that contains common utility functions for using int components

Java Card applets commonly include digital IDs and secure storage, and they are often found on subscriber identity module (SIM) cards that are inserted in cell phones to hold telephone and user account information.

Recently, Sun Microsystems introduced the concept of a protection profile, which defines a set of security requirements for the Java Card RE, the Java Card VM, the Java Card API Framework, and the on-card installer components. Its purpose is to help creators of Java Card technology-based products develop a secure Java Card platform and obtain high-level security certifications.

No comments:

Post a Comment