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 Request free information on products written about or advertised in BYTE Submit a press release, or scan recent announcements Talk with BYTE's staff and readers about products and technologies

ArticlesSmarter, More Secure Smartcards


June 1997 / Core Technologies / Smarter, More Secure Smartcards

The new ST19 IC offers low-power logic for smartcards, plus mechanisms to safeguard their data.

Ian Blythe

Take an early personal computer from the '80s, some memory, and squeeze it all into a single chip that's only 25 square millimeters (about 0.04 square inches) in size. This is a smartcard IC, which itself is embedded in a plastic blank the size of a credit card. This card then acts as an intelligent memory device that stores and transfers its contents securely, even under potential attacks.

Applications currently using smartcards include telephone cards, health cards, pay TV, banking, loyalty schemes, GSM (Global System for Mobile co mmunications) and other cellular telephones, network log-in/authentication, and data security. The increasing added value within these applications brings new threats of fraud and loss. SGS-Thomson's ST19 is a new family of smartcard ICs that addresses this need for higher security. The ST19 series builds on the experience and security aspects of the ST16 smartcard IC family.

Smartcard IC Basics

While a smartcard IC must be capable of sophisticated computations in order to encrypt crucial data, it must do so under conditions unlike those of desktop systems. The IC must be very reliable and robust, since it's carried on one's person. It must consume little power so that transactions can be carried out with battery-powered card readers.

For reliability, the basic communications interface between the smartcard IC and the card reader is starkly simple: It uses just three lines (serial I/O, clock, and a reset synchronization signal). This interface i s defined by the International Standards Organization (ISO 7816). With two more lines for power and ground, a smartcard IC must make do with just five connections to the outside world (the ST19 has an extra I/O line). However, this makes for a secure interface: Any information access goes only through these lines and requires that the smartcard IC approve it and process the transaction.

The smartcard IC must be a flexible device. A card vendor will configure it for different customers who have varying security requirements. Such configurations might range from a single-application card that runs only a single program to multiapplication cards that have specialized, segregated programs in ROM. A single-program card might act as a bank card, while a multiapplication card could act as an electronic purse (credit/debit) with a loyalty scheme, or as an insurance card that holds medical files.

ST19 Road Map

The ST19 is initially made using a 0.6-micron CMOS process technology. This pr ovides two capabilities of the smartcard IC: a fast 5- to 10-MHz clock and low-voltage (3-V) operation that allows it to be used with battery-based card readers. This technology also provides high reliability and the high-memory-density EEPROM required for today's multifunction smartcard applications.

The ST19 IC is constructed from predefined logic modules. Together these modules make up the various subsystems of the smartcard IC, as shown in the figure "The ST19 Microarchitecture" . Each module has been qualified for its inputs, outputs, operation, and security capability.

The major part of any smartcard IC device is its on-chip memory. The ST19's memory is divided into three distinct areas: system ROM, user ROM, and user EEPROM. Various members of the ST19 have different amounts of RAM and ROM to handle different applications, as shown in the table . Each memory area has a user-defined memory-access control logic (MACL), which provides full separation b etween on-chip application code and the data. Like a memory management unit, the MACL handles the read/write access permissions to the RAM partitions and read/execute/program/erase access to the EEPROM partitions, and it defines whether the EEPROM attributes can or cannot be modified. Thus the security level can easily be set to suit a single application card or a multifunction card.

The system ROM holds basic I/O, test, and security functions. These functions are based on a firmware library that maximizes security. The user ROM holds the operating system code. This code will differ depending upon the requirements of various end applications. Since both the system and the user areas are ROM, their code contents are placed in the device when it is manufactured, so they are fixed for the lifetime of the smartcard IC. The program code in the user ROM area is normally written with the assistance of SGS-Thomson to ensure that security is maintained.

The user ROM is split into two partitions. This allow s, in conjunction with the MACL, several applications to coexist on the card at the same time. To augment security, each application's code can access only predefined memory areas.

The user EEPROM area stores variable data, such as personal data keys, a purchase history, perhaps your Social Security number, and favorite telephone numbers. It is partitioned into four areas. However, for this user-programmed area, memory access is set by attribute bytes in EEPROM, allowing the access control to be dynamically defined and changed. The address isolation provided by the MACL gives a high security level. In addition, depending on the application's needs, confidentiality of the data can be ensured by encryption.

The on-chip CPU needs its own RAM in order to operate. This again is partitioned into four areas. The card vendor defines these areas during the IC manufacturing stage, and to enhance security, the designer can prohibit code execution from RAM.

The ST19's 8-bit CPU core is object-code-compa tible with the ST16 family. This allows the ST19 to use a ready-made library of secure functions. The ST19 core also features extended addressing modes and an instruction set that is especially designed for writing high-security applications. These instructions give optimum trade-off between complexity and size so that the software libraries can be very efficient for access control and file management. The ST19 compiler tools provide extra code efficiency by automatically using these new modes and instructions.

For cryptographic applications, the modular arithmetic processor (MAP) provides public-key cryptography (PKC) calculation using up to 512-bit (Level A) or 1024-bit (Level B) keys. When this is used together with the on-chip unpredictable-number generator, the ST19 can perform full public-key generation, digital signatures, and authentication internally. This capability guarantees that the secret key will never be known outside the smartcard and contributes to the overall security of the system.

Software Support

No CPU-based system is ever complete without a firmware development system. This, too, is provided, both as a complete development system and as Crypto-Library support routines. The Crypto-Library can be provided in the system ROM area, leaving 6 to 24 KB (depending on the ST19 family member) of user ROM available for the application software. The library spares the card OS designer from having to write low-level hardware driver functions and be able to concentrate on security algorithms.

The cryptographic library provides firmware functions for:

* Basic math, including modular squaring and multiplication for various- length digits

* Generating long random numbers

* Calculating Montgomery constants, which are required for long-number modular arithmetic

* Modular exponentiation with or without using the Chinese Remainder Theorem, a proven theorem that gives faster calculation of modular exponentiation

* More elaborate functions such as RSA signatures and authentications for any modulo length up to 1024 or 2048 bits (depending on the required security level), or Digital Signature Algorithm signatures and authentications

* Full internal key generation for signatures and authentications

Toward a Secure Future

As the smartcard market grows globally and the stored value on smartcards increases, attempts at fraud will rise. How secure can a smartcard be? Formal certification schemes, such as the European Information Technology Security Evaluation Criteria (ITSEC), can give the user a high level of confidence in a particular application's security. For example, an ITSEC Certification to Level E3 High, which covers application, chip design, manufacturing, and delivery, has shown the ST16 smartcard ICs to be suited for a banking application. The ST19 builds on this track record using a reliable and proven nonvolatile memory technology. The ST19 also has a configurable architecture t hat allows flexible designs, and its firmware supports many adaptable security mechanisms.


ST19 Family Configurations

ST19 Family Configurations
The ST19 smartcard IC has on-chip security functions and protected memory areas.
ST19600 ST19SF5x ST19CF68
RAM 128 bytes >=512 bytes 960 bytes
System ROM 1 KB 2 KB 8 KB
User ROM 6 KB 10-32 KB 24 KB
User EEPROM 256 bytes 1-16 KB 8 KB
Cryptoprocessor with Crypto-Library No Optional Optional
Secure OS with interpreter No Optional Optional
Potential application Loyalty cards Stored-value cards, wireless communications, health cards Stored-value cards, health cards, pay TV, Internet access

The ST19 Microarchitecture

illustration_link (16 Kbytes)

The ST19 smartcard IC has on-chip security functions and protected memory areas.


Ian Blythe is a senior technical writer at SGS-Thomson Microelectronics. You can reach him at ian.blythe@st.com .

Up to the Core Technologies section contentsGo to previous article: Go to next article: An Introduction to Objective-CSearchSend a comment on this articleSubscribe to BYTE or BYTE on CD-ROM  
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