smart card programming using java

smart card programming using java

Java, developed by Sun Microsystems Inc., is the first open, object-oriented software platform. It provides I/O, networking, graphics capabilities and all the facilities necessary for developing and running simple or sophisticated applications. Most importantly, Java is unique in providing the capability to write once, run anywhere. This means that a Java program written for one type of hardware or operating system is able to run on almost any other, provided that the program does not exceed the available memory. Conventional and Java-based Smart Card Architectures Figure 1 below shows the basic difference between conventional smart card architectures and Java-based smart card architectures. In each case the platform on which the applications run includes a microprocessor and operating system. However, the new architecture includes the Java interpreter as a layer between the applications and the rest of the platform. Although it is necessary to port the Java interpreter to the underlying architecture, once that work has been done any application, or applet written in Java will run on the platform. In the conventional smart card architecture, each application had to be specially ported to each platform. It gave the people who knew how to do that porting job security, but did little to encourage the proliferation of smart cards with useful applications. Java s Advantages There are three broadly-defined groups that will benefit from using Java programs on smart cards: software developers, organizations offering products or services, and consumers. Developers probably receive the most direct benefits but they flow through to the other groups and promote the growth of the industry and consumer use. Java is an Open Standard The Java Application Programming Interface (API) provides an open standard that ensures programs written to it will run on any ISO 7816-compliant smart card. For the smart card industry, this gives a greater incentive to software developers to write smart card applications since they can be more widely and easily adopted. Organizations have more providers to choose from and consumers benefit by having access to a broader range of smart card applications sooner. With more developers able to write programs to an open specification, the industry is likely to develop much faster than it did under the proprietary model. Developers Can Use a Familiar Language and Tools Java programmers writing smart card applications can use the same development environment and tools that they use for building applications for small devices, network computers, personal computers and even servers. Since developers do not have to learn proprietary languages or systems in order to support smart card applications, any Java developer can be a smart card application developer. For the industry, this means that the number of potential smart card programmers has just exploded from a small cadre to several hundred thousand. Write Once, Run Anywhere One of Java s important features is that once an application is written in the language, it will run anywhere that the Java Interpreter is available, provided it has a small enough footprint for the program. This means that Java programs written for smart cards can run on personal computers or servers, which could simplify system integration issues and encourage code reuse within organizations. Java was designed for networks and security By using Java s inherent security model, smart card providers can have several different programs on the card which will only interact if they are designed to do so. In addition, Java programs deliberately have limited capabilities to be invasive, for example to alter file systems over a network. The language was, however, designed with the power of networking computing in mind. (For many years, Sun Microsystems tag line has been The Network is the Computer. ) Java Programs Can Fit on Smart Cards At the present time, the amount of memory on a smart card is very limited but Java programs which are designed for smart cards are able to accommodate the limit of 8 Kbytes. In fact, that is enough room for several useful applications to reside. Highlights of Java-related Developments in the Smart Card Industry At the present time, only Schlumberger s Cyberflex card runs Java programs. Cyberflex cards are being tested in early 1997 before going into production. Schlumberger currently delivers hundreds of millions of smart cards each year to both public and private sector organizations. Although Schlumberger is the only company currently producing smart cards that can run Java programs, that probably will not be the case for long. The JavaCard API specification, developed with leading companies in the smart card industry, was released to the public in October of 1996. One way that Schlumberger is encouraging the industry to adopt the JavaCard API is by joining forces with Gemplus, the world largest plastic and smart card producer, to promote the JavaCard API as the standard. In February of 1997, Gemplus and Schlumberger formed the JavaCard Forum which has the following objectives: promote the JavaCard API prepare technical documents to support the API facilitate the exchange of technical information among members provide technical input to chip suppliers In addition, the forum will serve as a strategic link between the various vertical markets for smart cards such as telecommunications, banking, retail, health care, education and government. Caffeinated Cash in Our Future? Each year hundreds of millions of smart cards are manufactured by big companies and the industry has been fermenting for more than thirty years yet smart cards are not pervasive, particularly not in huge North American market. With the advent of Java, some, though not all, of the barriers to the smart card industry have been removed. For smart cards, indeed any technology, to be commercially successful, three things must be aligned: the technology the business processes the people Java enables more developers to write secure, network-aware programs that can be run in more places than ever before. This high-profile technological advancement coincides with a time when organizations are reevaluating their strategies and technological infrastructures for the next century. They recognize the need to provide superior, and even innovative service, while keeping costs down. At the same time, curious consumers are flooding online. People are being bombarded by technology issues in the mass media and in their classrooms. Government is recognizing the need for new public policies concerning the use of technology. A new generation is coming of age and its members take computers and networks for granted.



free research papers-electronics and communication engineering-11 CSE PROJECTS