VoyForums
[ Show ]
Support VoyForums
[ Shrink ]
VoyForums Announcement: Programming and providing support for this service has been a labor of love since 1997. We are one of the few services online who values our users' privacy, and have never sold your information. We have even fought hard to defend your privacy in legal cases; however, we've done it with almost no financial support -- paying out of pocket to continue providing the service. Due to the issues imposed on us by advertisers, we also stopped hosting most ads on the forums many years ago. We hope you appreciate our efforts.

Show your support by donating any amount. (Note: We are still technically a for-profit company, so your contribution is not tax-deductible.) PayPal Acct: Feedback:

Donate to VoyForums (PayPal):

Login ] [ Contact Forum Admin ] [ Main index ] [ Post a new message ] [ Search | Check update time | Archives: [1]2345678 ]
Subject: Smart cards: A primer


Author:
Develop on the Java platform of the future
[ Next Thread | Previous Thread | Next Message | Previous Message ]
Date Posted: 09:54:12 02/08/03 Sat

Smart cards: A primer
Develop on the Java platform of the future

Summary
This article, the first in a new Java Developer series on smart cards, will introduce you to smart card hows and whys. All you need is a smart card, a card reader, and software that lets you communicate with the card, and you can begin developing a real-world application. This article includes: a package to manipulate smart cards using ISO 7816; a demonstration of how to read and write data to a memory smart card using the Gemplus reader and a Gemplus smart card; and a discussion of some of the applications that make use of smart card memory features. Future articles will use cards by different manufacturers. We'll also touch on smart card standards.
With this first article in the series, we will lay the groundwork for future articles with a discussion of the new and emerging standard called OpenCard. Future articles will deal with security cards and electronic purse cards. Finally, this article will teach you some of the basics about smart card software architectures. (3,500 words)

By Rinaldo Di Giorgio

Printer-friendly version | Mail this to a friend




Page 1 of 5
Advertisement




Smart cards have been getting a lot of buzz lately on the Web, at the JavaOne conference last April (four sessions dealt with the technology), on the big network news stations, and on CNN. In this article we'll bring the smart card to life with a real-world smart-card example. The techniques presented here will allow you to start building Java applications that are smart-card enabled.

We'll focus on two types of smart cards: memory smart cards, which can be viewed as minuscule removable read/write disks with optional security; and processor cards, which can be viewed as miniature computers with an input and output port. Future articles will cover processor cards in greater depth.

As the meat of the article, we'll develop a simple prototype for reading and writing data to a smart card. We will discuss a drug prescription card, which keeps a list of all your prescriptions and tracks your insurance, prescription plans, and other useful info. Later articles will expand on the idea of the prescription card.

You'll notice that a recurrent theme that runs throughout this series on smart cards is the need for a security framework to prevent rogue plug-ins, ActiveX components, and so on from getting at your personal and/or corporate info-goodies. To this end, the demonstration of how to read and write data to a smart card included in this article will provide you with persistent, secure (and portable) storage.

What is a smart card?
You can think of the smart card as a "credit card" with a "brain" on it, the brain being a small embedded computer chip. This card-computer can be programmed to perform tasks and store information, but note that the brain is little -- meaning that the smart card's power falls far short of your desktop computer.

Smart cards currently are used in telephone, transportation, banking, and healthcare transactions, and soon -- thanks to developers like you -- we'll begin to see them used in Internet applications. Smart cards are already being used extensively in Japan and Europe and are gaining popularity in the U.S. In fact, three significant events have occurred recently in the smart card industry in this country:

PC/SC
Microsoft and several other companies introduced PC/SC, a smart card application interface for communicating with smart cards from Win32-based platforms for personal computers. PC/SC does not currently support non-Win32-based systems and may never do so. We will discuss this in greater detail later on.

OpenCard Framework
OpenCard is an open standard that provides inter-operability of smart card applications across NCs, POS, desktops, laptops, set tops, and so on. OpenCard promises to provide 100% pure Java smart card applications. Smart card applications often are not pure because they communicate with an external device and/or use libraries on the client. (As a side note, 100% pure applications could exist without OpenCard, but without it, developers would be using home-grown interfaces to smart cards.) OpenCard also provides developers with an interface to PC/SC for use of existing devices on Win32 platfroms.

JavaCard
JavaCard was introduced by Schlumberger and submitted as a standard by JavaSoft recently. Schlumberger has the only Java card on the market currently, and the company is the first JavaCard licensee. A smart card with the potential to set the overall smart card standard, JavaCard is comprised of standard classes and APIs that let Java applets run directly on a standard ISO 7816 compliant card. JavaCards enable secure and chip-independent execution of different applications.


Note:
Although this article focuses on smart cards, it is important to note that you are not limited to these kinds of devices. Personally, I prefer the "Ibuttons" device being produced by Dallas Semiconductor. It is small and portable like a credit card, but so much handier. Why? You don't have to dig out your wallet in search of a card; Ibuttons is right there, on your finger. Yes, it's a ring!
While contactless versions of the smart card do exist (see below for more information on this), I think the Ibuttons, functional-jewelry type of device could be quite profitable. For more information on Ibuttons, see the Resources section. By the way, the Java Commerce Team demonstrated a "JavaRing" at Java Internet Business Expo (JIBE) in New York last August. You can read about this in the article in Fortune magazine (again, see the Resources section).




Next page >
Page 1 Smart cards: A primer
Page 2 Why use a smart card?
Page 3 Important smart card standards
Page 4 Communicating with smart cards
Page 5 And now, the real-world application!

Printer-friendly version | Mail this to a friend





Resources

You can get all the sources and class files for this article as a TAR file:
http://www.javaworld.com/javaworld/jw-12-1997/javadev/SmartCardPrimer.tar

Or in ZIP format:
http://www.javaworld.com/javaworld/jw-12-1997/javadev/SmartCardPrimer.zip

The Fortune magazine article talks about "Java Rings," "Java Cards," and Java in general:
http://www.pathfinder.com/@@LgG51wUALxkH*Hbz/fortune/

Tired of the smart card form factor? Try Dallas Semiconductor's "Ibuttons":
http://www.ibutton.com

The OpenCard Framework site is accessible at:
http://www.opencard.org

Gemplus offers a variety of smart card options:
http://www.gemplus.com

Schlumberger offers the only Java smart card on the market currently. The company is the first JavaCard licensee:
http://www.cyberflex.austin.et.slb.com

For information on the smart card-enabled Wallet for Commerce where much of this development started, see:
http://www.javasoft.com/commerce

A technical overview of smart card technology is provided at the following IBM site:
http://www.chipcard.ibm.com/overview/sc_2.htm

IBM provides information on its chipcard at:
http://www.chipcard.ibm.com

Slides from JavaOne about this FrameWork:
http://java.sun.com/javaone/sessions/slides/TT07/index.html

Some of the relevant slides from JavaOne can be found at
http://java.sun.com/javaone/sessions/slides/TT33/index.html

JavaOne slide titled "SmartCards: Putting Java in Your Pocket":
http://java.sun.com/javaone/sessions/slides/JC13/index.html
The following is a list of smart card URLS: /javaworld/jw-12-1997/javadev/SmartCardList.html
For another excellent collection of smart card URLS, send e-mail to Patrice.pascal@sun.com or Siegmar.Bier@Sun.com

[ Next Thread | Previous Thread | Next Message | Previous Message ]


Post a message:
This forum requires an account to post.
[ Create Account ]
[ Login ]
[ Contact Forum Admin ]


Forum timezone: GMT-8
VF Version: 3.00b, ConfDB:
Before posting please read our privacy policy.
VoyForums(tm) is a Free Service from Voyager Info-Systems.
Copyright © 1998-2019 Voyager Info-Systems. All Rights Reserved.