23-02-2013, 12:35 PM
JAVA CARD
JAVA CARD.docx (Size: 235.65 KB / Downloads: 29)
INTRODUCTION
General
Java Card is a smart card that is capable of running programs written in Java. For this a new Java platform, Sun's Java Soft division has made available the Java Card 2.0 API specification, and several licensees are now implementing this API on smart cards. In order to program Java Cards that are 2.0-compliant, developers need to understand what a Java Card is architecturally, what its core classes are, and how to develop applications for the card. This article gets inside a Java Card, providing you, the developer, with technical guidance on the system architecture, application programming interface, and runtime environment of the Java platform in a smart card.
This article begins with an overview of smart cards and a brief review of ISO 7816, the smart card standard. Then we will answer to the question, "What is a Java Card?" and gives an overview of the Java Card system architecture. Next, we'll focus on the many issues specific to the Java Card, including the Java Card lifecycle; the Java Card 2.0 language subset and API library classes; and Java Card security. Then we'll discuss the Java Card runtime environment and show how a Java Card runs.
Java Card is an open standard from Sun Microsystems for a smart card development platform. Smart cards created using the Java Card platform have Javaapplets stored on them. The applets can be added to or changed after the card is issued.
One technology ,two editions
Java Card technology enables smart cards and other devices with very limited memory to run small applications that employ Java technology. It provides smart-card manufacturerswith a secure and interoperable execution platform that can store and updatemultiple applications on a single device. Java Card technology is the most pervasiveopen platform for securedevices, with more than 3 billion Java technology-poweredsmart cards deployed worldwide. Sun Microsystems is now announcing the release ofa new generation of its market-leading Java Card technology, and industry expertsbelieve it will revolutionize the way smart-card services are conceived and deployed.
Java Card Platform, Connected Edition technology features a significantly enhanced execution environment and a new virtual machine. It includes new network-orientedfeatures, such as support for Web applications and for applets with extended andadvanced capabilities. It targets the high-end smart-card hardware coming from thelatest advances in silicon technology.Both editions are compatible with applications written for previous versions. They alsoshare the key security features and build on the trust and expertise derived from 10years of deploying secure Java Card technology products.
Java Card Platform
Java Card Platform, Connected Edition technology provides high-end smart cards withimproved connectivity and integration into all-IP networks. A high-end, Java Card 3technology-enabled smart card can act as a secure network node, capable of providingsecurity services to the network or requesting access to network resources. It also allowsfor the convergence of smart-card services by handling multiple, concurrent communicationsthrough contact interfaces, using IP or ISO 7816-4 protocols, and throughcontactless interfaces, using the ISO 14443 protocol.The Java Card Platform, Connected Edition virtual machine is based on the ConnectedLimited Device Configuration (CLDC) virtual machine widely used in mobile phones, soit’s able to support some of the richer features of the Java programming language. TheCLDC-based virtual machine has also been enhanced to meet the requirements of asecurity device environment: it has been reduced in size, and support for smart-cardprotocols and security has been added. It’s the cornerstone of an architecture that canprovide a new level of functionality and convenience for developers.
JML specifications for Java Card
JML specifications of the Java Card API are of interest for parties on both sides ofthe interface the API provides, i.e. for developers of applets on the one hand, andfor developers of API implementations on the other hand. The specifications can be used to specify and verify essential properties of implementations of the Java CardAPI, starting with the current reference implementation itself, and as a basis for thespecification and verification of properties of individual applets that use the API.Once a formal specification language has been chosen, there is still a choice ofhow detailed specifications should be. For any program there is a whole spectrumof possible specifications.
Enhanced Virtual Machine for Advanced Hardware
The Virtual Machine Specification for the Java Card Platform, Connected Edition platformis based on the Connected Limited Device Configuration Specification, Version 1.1standard defined by the Java Platform, Micro Edition (Java ME) platform. The technologydefined in the Java Card specification is suitable for an advanced smart-card device,which are typically much more resource constrained than Java ME platform devices.The technology supports class file loading from a Java Archive (JAR) file applicationdistribution format and supports on-card class file verification. It supports multithreading,concurrent execution of applications, and automatic garbage collection (GC), whileproviding a framework for end-to-end connectivity.
Typical hardware configuration and connectivity
Java Card Platform, Connected Edition technology is intended to run on a wide varietyof smart-card and secure token devices with constrained resources. The typical hardwareconfiguration for Java Card Platform, Connected Edition technology corresponds tohigh-end hardware when compared to devices targeted by Java Card Platform, ClassicEdition. It typically has a faster processor and more volatile RAM and persistent EEPROMand ROM. A key characteristic of this high-end hardware is the support of a full-duplex,high-speed interface with its hosting device (such as a phone) and connectivity to somekind of network, typically through its hosting device.The target devices for Java Card Platform, Connected Edition technology typicallyhave a high-speed contacted physical interface, such as a USB interface. They mayhave additional I/O interfaces, including ISO 14443 compliant contactless physicalinterfaces. The Java Card platform provides its applications with a logical network interface supporting IP-based protocols such as TCP, TLS, HTTP, and HTTPS.
Virtual machine technology
The virtual machine technology in the Java Card Platform, Connected Edition is intendedfor a 32-bit CPU on a high-end smart card device, while the virtual machine technologyin the Classic Edition is suitable for an 8- or 16-bit CPU on a more resource-constrained,traditional smart-card device. The Connected Edition virtual machine is able to loadclass files directly, whereas the Classic Edition uses the traditional split-VM technique,whereby the loading, linking, and verification functions of the Java virtual machine1are performed by the off-card converter tool, which then produces an optimized CAPfile format suitable for use on the card by the on-card virtual machine.Both editions feature persistent virtual machines with persistent objects. Multipleapplications securely execute on the virtual machine while their objects are protectedfrom intrusion by a firewall-based context-isolation mechanism. The transaction facilitysupported by the virtual machines allows an application to maintain a consistent stateacross card tears and power losses.
CONCLUSION
Java Card can be used in all fields where the smart card is now being used. Java Card can be used as an ID card which contains personal information, as a medical card which stores medical information, as a credit/debit bank card, as an electronic purse etc. Multi-Application Java Cards, that is, more than one application in a single card is also available.
The Java Card adds a new platform to the world of Java. Widespread adoption and deployment of the Java Card will require marketing promotion, more applications and tools development, and time. At the same time, the number of Java Cards in existence could easily extend into the millions within the next few years. Which means you may soon be storing your personal information and downloading applications using a little card you carry around in your wallet or purse.
JAVA CARD.docx (Size: 235.65 KB / Downloads: 29)
INTRODUCTION
General
Java Card is a smart card that is capable of running programs written in Java. For this a new Java platform, Sun's Java Soft division has made available the Java Card 2.0 API specification, and several licensees are now implementing this API on smart cards. In order to program Java Cards that are 2.0-compliant, developers need to understand what a Java Card is architecturally, what its core classes are, and how to develop applications for the card. This article gets inside a Java Card, providing you, the developer, with technical guidance on the system architecture, application programming interface, and runtime environment of the Java platform in a smart card.
This article begins with an overview of smart cards and a brief review of ISO 7816, the smart card standard. Then we will answer to the question, "What is a Java Card?" and gives an overview of the Java Card system architecture. Next, we'll focus on the many issues specific to the Java Card, including the Java Card lifecycle; the Java Card 2.0 language subset and API library classes; and Java Card security. Then we'll discuss the Java Card runtime environment and show how a Java Card runs.
Java Card is an open standard from Sun Microsystems for a smart card development platform. Smart cards created using the Java Card platform have Javaapplets stored on them. The applets can be added to or changed after the card is issued.
One technology ,two editions
Java Card technology enables smart cards and other devices with very limited memory to run small applications that employ Java technology. It provides smart-card manufacturerswith a secure and interoperable execution platform that can store and updatemultiple applications on a single device. Java Card technology is the most pervasiveopen platform for securedevices, with more than 3 billion Java technology-poweredsmart cards deployed worldwide. Sun Microsystems is now announcing the release ofa new generation of its market-leading Java Card technology, and industry expertsbelieve it will revolutionize the way smart-card services are conceived and deployed.
Java Card Platform, Connected Edition technology features a significantly enhanced execution environment and a new virtual machine. It includes new network-orientedfeatures, such as support for Web applications and for applets with extended andadvanced capabilities. It targets the high-end smart-card hardware coming from thelatest advances in silicon technology.Both editions are compatible with applications written for previous versions. They alsoshare the key security features and build on the trust and expertise derived from 10years of deploying secure Java Card technology products.
Java Card Platform
Java Card Platform, Connected Edition technology provides high-end smart cards withimproved connectivity and integration into all-IP networks. A high-end, Java Card 3technology-enabled smart card can act as a secure network node, capable of providingsecurity services to the network or requesting access to network resources. It also allowsfor the convergence of smart-card services by handling multiple, concurrent communicationsthrough contact interfaces, using IP or ISO 7816-4 protocols, and throughcontactless interfaces, using the ISO 14443 protocol.The Java Card Platform, Connected Edition virtual machine is based on the ConnectedLimited Device Configuration (CLDC) virtual machine widely used in mobile phones, soit’s able to support some of the richer features of the Java programming language. TheCLDC-based virtual machine has also been enhanced to meet the requirements of asecurity device environment: it has been reduced in size, and support for smart-cardprotocols and security has been added. It’s the cornerstone of an architecture that canprovide a new level of functionality and convenience for developers.
JML specifications for Java Card
JML specifications of the Java Card API are of interest for parties on both sides ofthe interface the API provides, i.e. for developers of applets on the one hand, andfor developers of API implementations on the other hand. The specifications can be used to specify and verify essential properties of implementations of the Java CardAPI, starting with the current reference implementation itself, and as a basis for thespecification and verification of properties of individual applets that use the API.Once a formal specification language has been chosen, there is still a choice ofhow detailed specifications should be. For any program there is a whole spectrumof possible specifications.
Enhanced Virtual Machine for Advanced Hardware
The Virtual Machine Specification for the Java Card Platform, Connected Edition platformis based on the Connected Limited Device Configuration Specification, Version 1.1standard defined by the Java Platform, Micro Edition (Java ME) platform. The technologydefined in the Java Card specification is suitable for an advanced smart-card device,which are typically much more resource constrained than Java ME platform devices.The technology supports class file loading from a Java Archive (JAR) file applicationdistribution format and supports on-card class file verification. It supports multithreading,concurrent execution of applications, and automatic garbage collection (GC), whileproviding a framework for end-to-end connectivity.
Typical hardware configuration and connectivity
Java Card Platform, Connected Edition technology is intended to run on a wide varietyof smart-card and secure token devices with constrained resources. The typical hardwareconfiguration for Java Card Platform, Connected Edition technology corresponds tohigh-end hardware when compared to devices targeted by Java Card Platform, ClassicEdition. It typically has a faster processor and more volatile RAM and persistent EEPROMand ROM. A key characteristic of this high-end hardware is the support of a full-duplex,high-speed interface with its hosting device (such as a phone) and connectivity to somekind of network, typically through its hosting device.The target devices for Java Card Platform, Connected Edition technology typicallyhave a high-speed contacted physical interface, such as a USB interface. They mayhave additional I/O interfaces, including ISO 14443 compliant contactless physicalinterfaces. The Java Card platform provides its applications with a logical network interface supporting IP-based protocols such as TCP, TLS, HTTP, and HTTPS.
Virtual machine technology
The virtual machine technology in the Java Card Platform, Connected Edition is intendedfor a 32-bit CPU on a high-end smart card device, while the virtual machine technologyin the Classic Edition is suitable for an 8- or 16-bit CPU on a more resource-constrained,traditional smart-card device. The Connected Edition virtual machine is able to loadclass files directly, whereas the Classic Edition uses the traditional split-VM technique,whereby the loading, linking, and verification functions of the Java virtual machine1are performed by the off-card converter tool, which then produces an optimized CAPfile format suitable for use on the card by the on-card virtual machine.Both editions feature persistent virtual machines with persistent objects. Multipleapplications securely execute on the virtual machine while their objects are protectedfrom intrusion by a firewall-based context-isolation mechanism. The transaction facilitysupported by the virtual machines allows an application to maintain a consistent stateacross card tears and power losses.
CONCLUSION
Java Card can be used in all fields where the smart card is now being used. Java Card can be used as an ID card which contains personal information, as a medical card which stores medical information, as a credit/debit bank card, as an electronic purse etc. Multi-Application Java Cards, that is, more than one application in a single card is also available.
The Java Card adds a new platform to the world of Java. Widespread adoption and deployment of the Java Card will require marketing promotion, more applications and tools development, and time. At the same time, the number of Java Cards in existence could easily extend into the millions within the next few years. Which means you may soon be storing your personal information and downloading applications using a little card you carry around in your wallet or purse.