Java Card

From Wikipedia, the free encyclopedia

Java Card refers to a technology that allows small Java-based applications (applets) to be run securely on smart cards and similar small memory footprint devices. Java Card is the tiniest of Java targeted for embedded devices. Java Card gives the user ability to program the device and make them application specific. It is widely used in SIM cards (used in GSM mobile phones) and ATM cards. The first Java Card was introduced in 1997 by several companies including former Schlumberger's card division (now Axalto) and Gemplus (both merged in Gemalto). Java Card products are based on the Java Card Platform specifications developed by Sun Microsystems. The card and security architecture is defined by Global Platform which specifies ways securely to download applets on the card.

The main features of this technology are portability and security.

Contents

[edit] Portability

The Java Card Virtual Machine is responsible for interpreting the Java Card applet bytecodes which is a subset of standard Java [Java 2 - Standard Edition] bytecodes, and thus requires less space in the host media (smartcards) than on regular computing device. Java Card applets are smaller in size which enables them to be loaded in resource constrained devices like smartcards. A trade-off of this feature, however, is that not all Java features are supported. Although there are methods for overcoming the size limitation of an application, such as dividing application's code into packages, the size of each package still may not exceed 64 kB.

[edit] Security

Java Card technology was originally developed for the purpose of securing sensitive information stored on smart cards.

Security is determined by various aspects of this technology:

  • Data encapsulation. Data is stored within the application, and Java Card applications are executed in an isolated environment (the Java Card VM), separate from the underlying operating system and hardware.
  • Applet Firewall Different applications are additionally separated from each other by an applet firewall which restricts and checks access of data elements of one applet to another.
  • Cryptography. Commonly used encryption algorithms like DES, 3DES, AES, RSA (including elliptic curve cryptography) are supported. Other cryptographic services like signing, key generation and key exchange are also supported.
  • Applet.The applet is a state machine which processes only incoming command requests and responds by sending data or response status words backs to the interface device.

The financial sector, as well as the communications sector, currently rely on this technology for securing information in smart card media.

[edit] See also

[edit] External links

In other languages