Smart Card Developer's Kit
(Publisher: Macmillan Computer Publishing)
Author(s): Scott Guthery; Tim Jurgensen
ISBN: 1578700272
Publication Date: 02/01/98

Foreword
About the Authors

PART I—SMART CARD BACKGROUND AND BASICS
CHAPTER 1—SMART CARD PROGRAMMING
Smart Card Software
Host Software
Card Software
Host and Card Software Integration
High-Level Language Card Programs
Assembly Language Card Programs
Smart Card Software Security
Smart Card Operating Systems
Smart Card File Systems
Smart Card Communications
Smart Card Hardware
The Smart Card Memory System
The Smart Card Central Processing Unit
Smart Card Input/Output
Smart Card System Design
Data Security
Data Integrity
Smart Card System Architectures
Summary
CHAPTER 2—PHYSICAL CHARACTERISTICS OF SMART CARDS
What’s in the Card
Integrated Circuit Chips
Coprocessors
Security Features
The Manufacturing Process
Smart Card Application Software Development
Mask Development
Code Development
Chip Simulators
Chip Emulators
Protocol Analyzers
Interface Devices (Readers)
Summary
CHAPTER 3—SOME BASIC STANDARDS FOR SMART CARDS
ISO, IEC, and ANSI Standards for Cards
Physical Characteristics of Identification Cards
Encoding of Information for Identification Cards
The Business Model for Identification Cards
Smart Card Standards
Characteristics of Smart Cards
Other Smart Card Standards and Specifications
Summary
CHAPTER 4—SMART CARD COMMANDS
Link-Level Protocols
The T=0 Protocol
The T=1 Protocol
Application-Level Protocols
The ISO 7816-4 APDU
The File System API
The Security API
Summary
CHAPTER 5—THE SCHLUMBERGER MULTIFLEX SMART CARD
Activating Smart Cards: Reset and Answer to Reset
Directories and Files
Selecting a Directory
Selecting an Elementary File
Keys and Key Files
Creating a PIN File and Updating the External Authentication Key File
Record Files and Seek
Cyclic Files and Electronic Purses
Multiflex Commands
Protected-Mode Commands
Internal and External Authentication
Authentication States and Authentication State Transitions
Tracking EEPROM Usage
Summary

PART II—SMART CARD SOFTWARE DEVELOPMENT
CHAPTER 6—SMART CARD SOFTWARE DEVELOPMENT TOOLS
Tools for Host Software Development
Smart Card Editors
Smart Card Systems, Infrastructures, and Plug-ins
Smart Card Software Development Kits and Application Programming Interfaces
Smart Card Reader Interfaces
Tools for Card Software Development
Assemblers and Compilers
Simulators and Debuggers
Emulators and Testers
Smart Card Operating Systems
Miscellaneous Tools
Summary
CHAPTER 7—READER-SIDE APPLICATION PROGRAMMING INTERFACES
PC/SC
The PC/SC API
The Multiflex SSP
MULTOS
The Open Card Framework
ICC Specification for Payment Systems (EMV’96)
EMV Commands
Data Authentication and Digital Certificates
Visa Integrated Circuit Card Specification
SET 2.0 and the Visa Open Technology Platform
C-SET
IATA 791/20.204
Cryptographic Smart Cards
Cryptographic Smart Card Commands
The DCE Personal Security Module API
Summary
CHAPTER 8—CARD-SIDE APPLICATION PROGRAMMING INTERFACES
Programming Considerations
Counterfeit Cards
Special Considerations in Writing Card-Side Software
Memory
Tearing
Testing and Debugging
Linking and Loading
File Design
Reader Behavior
Reader Communication
The Standards-Based APIs
The ISO 7816-4 Standard
The GSM 11.14 Standard
The Vendor APIs
Schlumberger’s Customer-Oriented System
MULTOS
The Java Card
Java Card API Development
Schlumberger’s Java Card 1.0 API
Schlumberger’s Cyberflex 2.0 Core API
The JavaSoft Java Card 2.0 API
Summary
CHAPTER 9—SMART CARDS AND SECURITY
Objectives and Characteristics of Security Systems
Authentication
Authorization
Privacy
Integrity
Nonrepudiation
The System Components
The Card
The Cardholder
The Card Issuer
The Terminal
The PC
The Network
The Application
The Mechanisms
Physical Security
Authentication
Integrity
Authorization
Privacy
Summary

PART III—SMART CARD APPLICATION EXAMPLES
CHAPTER 10—THE SMART SHOPPER SMART CARD PROGRAM
The Story of Smart Shopper Cards
Merchants Using Smart Shopper
Scenarios for Using Smart Shopper
High-Level Design
File Layout
The Master File
The Cardholder Personal Data File
The Smart Commerce Solutions Card Administration File
The Merchant External Authentication File
The Frequent Buyer Points File
The Cumulative Purchases File
The Want List File
File Sizes
Card Security Architecture
Personalizing the Smart Shopper Card
The Smart Commerce Solutions Web Site and Smart Commerce Solutions Application Programs
The Smart Shopper Card Browser Program
The Harvest Festival Application Programs
The Scrivener’s Corner Application Program
The Smart Commerce Solutions Smart Shopper Card Management Utility
Summary
CHAPTER 11—THE FLEXCASH CARD: AN E-COMMERCE SMART CARD APPLICATION
An Example: E-Coins, E-Money, and E-Bucks
The Design of the FlexCash Smart Card Program
FlexCash Card Monitor Implementation
The FlexCash Card Browser and Editor
The E-Bucks E-cash Protocol and Implementation
The E-Bucks E-cash Protocol
The E-Bucks Card-Side Code
The E-Bucks Reader-Side Code
Summary
Appendix A
Appendix B
Glossary
Index