Java cards are often perceived as confusing, complicated and too difficult to implement. Whilst these devices are complex, I have created this guide to simplify these products.
A Java card is a microprocessor based smart card made up of multiple elements: The hardware, a Java card operating system, a security module (Card Manager) and when issued, one or more Applets.
There are a variety of hardware manufacturers, however, it should be noted that the most popular are made by NXP and Infineon. These two silicon manufacturers ship millions of microprocessor chips all over the world each year. They have been certified by EMVCo, Visa, MasterCard and UnionPay International, thus giving you the comfort of a hardware platform with class leading security.
A Java card OS is an operating platform that utilises the hardware features, and allow applications (applets) written in the Java programming language to run on the card. Java card is an open platform, with the standard (and development kit) freely available from Oracle’s Java website.
One of the key features of a microprocessor card is its security functionality. A separate area of the chip is designated for this use, the Card Manager. This is an application that permanently resides on the chip and provides the ability to carry out card and applet management, as well as being a gateway to the security element (known as the Security Domain). This central component is defined by another open platform standard, GlobalPlatform.
- GlobalPlatform (globalplatform.org) is an independent standards body run by its members. Members including the likes of Apple, Oracle, Samsung, American Express, Gemalto, NXP, HID, Visa, Infineon, Mastercard to name but a few.
Applets are the programs that operate on the card that the user (or terminal) will interact with. Each card can have one or more applets loaded at the same time, depending on the available memory space of the chip. Not all applets have to be the same, they can vary in size and functionality. The applets can use the Card Manager, if they need to, for security purposes (like authentication) or they can have their own security domain written into them. Once an applet is installed then a terminal can communicate directly with it, without having any knowledge of the Card Manager. Selection of an applet can be done when the card is placed into/onto a terminal or one applet may be selected to be the default.
When selecting a Java card product for your requirements, there are a number of considerations that need to be taken. Universal Smart Cards can guide you through these in order to specify the right card for your project.
A Starting point
A good starting point is to answer these questions:
- What do you want to do with the card?
- What applications will the card be used for?
- Does it need to be contact, contactless or dual interface?
- How much memory do you require on the card?
Having the answers to these questions will help find the correct model of Hardware, Operating System and any specific Applets you may need. Developers who are writing their own applets need only to concern themselves over specific hardware features required and the relevant specifications for the Java card OS and GlobalPlatform.
Confused? Need help? Don’t worry this is what we’re here for. Java cards are fantastic microprocessor smart cards and can be utilized for projects requiring high security, superb functionality and flexibility for developers to apply their own applications.
If you’re looking for a Java card and need help with choosing the right one for your project, please contact us on tel:1-800-810-4959 or email: email@example.com
Universal JCard Evaluation Kit