Archives
 
 
 
  Special
 
 
 
  About Us
 
 
 

Newsletter
Free E-mail Newsletter from BYTE.com

 
    
           
Visit the home page Browse the four-year online archive Download platform-neutral CPU/FPU benchmarks Find information for advertisers, authors, vendors, subscribers

ArticlesWorking Smart


April 1998 / Reseller / Smartcard Invasion Continues / Working Smart

A full-blown smartcard consists of a CPU, ROM, nonvolatile read/write memory (EEPROM), temporary working memory (RAM), and an optional crypto-coprocessor. To develop card applications, you need a toolkit that can handle the life cycle of smartcard application development, from defining the prototype card through mass card production to support of subsequent changes.

The project flow generally goes like this. First you create a card layout definition: a high-level description of the smartcard and its EEPROM file s. This serves as source input to a layout compiler. The compiler generates the card layouts used for rapid prototyping as well as for initializing and personalizing large quantities of cards.

Special high-level interface modules, called agents, enable applications to access smartcards. As IBM, which offers its Smart Card Toolkit, puts it: Agents are the application program's data-oriented interfaces to the smartcard. They "encapsulate the specifics of an individual card operating system by interactively communicating with the card." Agents process all necessary access conditions and generate any requests for cryptographic services, thus off-loading a considerable amount of application development work.

Like hard drives and floppy disks, smartcards have their own file systems. An IBM Multifunction card, for example, has a master file (the root directory), dedicated files (application directories), and elementary files (the actual application data). Several file types are supported, including linear files with either fixed- or variable-length records, linear cyclic files with fixed-length records, and transparent files.

There are also application-specific command (ASC) files that contain executable code. The commands in the ASC are executed when the application using the ASC is within the selected path and an appropriate ASC command is issued.


Up to the Reseller section contentsGo to previous article: Working SmartGo to next article: Smartcards in Action
Flexible C++
Matthew Wilson
My approach to software engineering is far more pragmatic than it is theoretical--and no language better exemplifies this than C++.

more...

BYTE Digest

BYTE Digest editors every month analyze and evaluate the best articles from Information Week, EE Times, Dr. Dobb's Journal, Network Computing, Sys Admin, and dozens of other CMP publications—bringing you critical news and information about wireless communication, computer security, software development, embedded systems, and more!

Find out more

BYTE.com Store

BYTE CD-ROM
NOW, on one CD-ROM, you can instantly access more than 8 years of BYTE.
 
The Best of BYTE Volume 1: Programming Languages
The Best of BYTE
Volume 1: Programming Languages
In this issue of Best of BYTE, we bring together some of the leading programming language designers and implementors...

Copyright © 2005 CMP Media LLC, Privacy Policy, Your California Privacy rights, Terms of Service
Site comments: webmaster@byte.com
SDMG Web Sites: BYTE.com, C/C++ Users Journal, Dr. Dobb's Journal, MSDN Magazine, New Architect, SD Expo, SD Magazine, Sys Admin, The Perl Journal, UnixReview.com, Windows Developer Network