Smart Card Applications:
Patterns for using and programming smart cards

Home Page Entry Smart Card Applications FAQ
Link List
Smart Card Handbook

created: 28. Sept. 2006, last modified: 9. Feb. 2007
Copyright © 2006 - 2007 Wolfgang Rankl, Munich

Site Content

Smart Card Applications

Reason for this book

Content of the book "Smart Card Applications"

Ordering the Smart Card Application book

John Wiley & Sons

Reason for this book

Applications on smart cards and most smart card systems are based on similar solutions. Much time is invested to invent long well-known mechanisms, operational sequences and principles again. This book shows that that does not have to be, and presents a multiplicity from draft samples and ideas to the realization of applications of smart cards. With the help of the sample solutions for the specification, the development and the enterprise you can applications of smart cards again develop or extend. Thus also large and complicated smart card systems can be built up simply. On the basis numerous, genuine case examples Wolfgang Rankl points typical solution types and errors with applications of smart cards and systems - to experiences out, which can convert you directly in your projects.

With smart card systems again and again solutions are used, which are different in detail, but in principle they are based on similar mechanisms. It often occurs that much time is invested into the reinvention of well-known mechanisms, operational sequences and principles. In this book one advances toward to the problem, since it contains many design patterns and ideas for the realization of smart card applications.

Content of the book

This book provides generic solutions for programming smart cards, enabling the creation of working applications and systems.

Key features:

The book begins with a compact introduction to the smart card technology and shows then a multiplicity of draft samples beginning from the specification over development up to the starting of a smart card application. The sample solutions in line with standard usage for system designers, application developers and technology-interested readers represent a good work basis for smart card applications being in the state of emergence and extension.

The again usable and generic examples and modules are represented independently of the material program code in the usual notations of the smart card world. Thus also large and complicated smart card systems can be simply built up from individual components.

Discussing and listing up genuine examples is a way to show typical types of solution and possible errors of smart card applications and systems. In each case ways for improvement are discussed.

1 Overview about Smart Cards

1.1 Systematic of Cards
1.2 Formats of Cards
1.3 Card Elements
1.3.1 Printing
1.3.2 Embossing
1.3.3 Holograms
1.3.4 Signature Stripe
1.3.5 Tactile Elements
1.3.6 Magnetic Strip
1.3.7 Chip Module
1.3.8 Antenna
1.4 Smart Card Microcontroller
1.4.1 Processor
1.4.2 Memory
1.4.3 Additional Hardware
1.4.4 Electrical Features

2 Smart Card Operating Systems

2.1 File Management
2.1.1 File Types
2.1.2 Files Names
2.1.3 File Structures
2.1.4 File Attributes
2.1.5 File Selection
2.1.6 Access Conditions
2.1.6.1 State bases Access Conditions
2.1.6.2 Rule bases Access Conditions
2.1.7 Smart Card Life Cycle
2.2 Commands
2.3 Data Transmission
2.3.1 Answer to Reset (ATR)
2.3.2 Protocol Parameter Selection (PPS)
2.3.3 Übertragungsprotokolle
2.3.3.1 Contact based Transmission Protocol T=0
2.3.3.2 Contact based transmission Protocol T=1
2.3.3.3 Contact based transmission Protocol USB
2.3.3.4 Contact less transmission Protocols
2.3.4 Securing the Data Transmission
2.3.5 Logical Channels
2.4 Special Function of the Operating System
2.4.1 Cryptographic Functions
2.4.2 Atomic Transaction
2.4.3 Interpreter
2.4.4 Management of Applications

3 Operation Fields

3.1 Smart Card Systems
3.2 Fields of Operations
3.3 Application Types
3.3.1 Memory based Applications
3.3.2 File based Applications
3.3.3 Code based Applications

4 Patterns for the Basics

4.1 Data Protection
4.1.1 Definition of Terms
4.1.2 General Principles
4.1.3 Recommendations to Smart Card Systems
4.1.4 Summary
4.2 Export Control
4.3 Crypto Regulations
4.4 Standards
4.4.1 Standards for the Card Body
4.4.2 Standards for the Operating System
4.4.3 Data and Data Structures
4.4.4 Connection to Computers
4.4.5 Standards for Applications
4.5 Documents for Smart Card Systems
4.5.1 Division of the Specifications
4.5.1.1 System specifications
4.5.1.2 Specification for the Background System
4.5.1.3 Smart Card Specifications
4.5.1.4 Terminal Specifications
4.5.2 Elements of a typical Card Specification
4.5.2.1 General Parts
4.5.2.2 Smart Card
4.5.2.3 Smart Card Operating System
4.5.2.4 Applications
4.5.3 Distribution of the Documents
4.5.4 Version Numbering of the Documents

5 Design Patterns for the Architecture

5.1 Data
5.2 Coding of Data
5.3 Files
5.3.1 Access Conditions
5.3.2 File Names
5.4 Log Files
5.4.1 Data Storage
5.4.2 Division into Log Files
5.4.3 Cause for the Logging
5.4.4 Access Conditions to the Log Files
5.4.5 Logged Data
5.4.6 Consistency and Authenticity of the Log Files
5.4.7 Size of the Log Files
5.4.8 Sequence of the Logging
5.5 Pairing
5.6 Protection of Transaction Data
5.7 Reset secured Counter
5.8 Proactivity
5.9 Authentication Counter
5.10 Manuel authenticity Check of a terminal
5.11 Management of PINs
5.12 One Way Passwords
5.13 Key Management
5.14 Automata for Command Sequences
5.15 Improvement of Transaction Speed
5.15.1 Computing Power
5.15.2 Communication
5.15.3 Commands
5.15.4 Data and Files

6 Design Patterns for Realisation

6.1 Principles for Applications
6.1.1 Program Code
6.1.2 Commands
6.1.3 Data
6.1.4 Security
6.1.5 Application Structure
6.1.6 System
6.2 Test
6.3 User Interface at the Terminal
6.4 Commands
6.4.1 Structure of a Command
6.4.2 Interruption of a Command
6.4.3 Coding of a Command
6.4.4 Parameters
6.4.5 Test commands
6.4.6 Secret Commands
6.5 Java Card
6.5.1 Data types
6.5.2 Arithmetic
6.5.3 Control Structures
6.5.4 Methods
6.5.5 Applets

7 Design Patterns for Operations

7.1 Initialisation and Personalisation
7.2 Migration
7.3 Monitoring
7.3.1 Integrity of the System
7.3.2 Recognition of Attacks

8 Smart Cards in the Real Life

8.1 Acceptance
8.2 Indication of difficult Smart Card Systems
8.2.1 Not adequate usage of Smart Cards
8.2.2 Unclear Specifications
8.2.3 Many Options
8.2.4 "Piggyback" Applications
8.2.5 Too economical at Testing
8.2.6 Loading of Applications
8.2.7 Offline Systems
8.2.8 Intolerant Smart Cards and Terminals
8.2.9 High Compatibility Requirements
8.2.10 Too high Security Requirements
8.2.11 Exaggerated Security Safeness
8.3 Prerequisites for easy Smart Card Systems
8.3.1 Involvement of Experts
8.3.2 Farsighted Application Design
8.3.3 With Prototypes to the mature Application
8.3.4 One Application on a Smart Card
8.3.5 Simple Application
8.3.6 Robust Application
8.3.7 Central operated Systems
8.3.8 Stepped switching on of the System
8.4 Errors in the Field
8.4.1 Systematic of Errors
8.4.2 Effect's of Errors
8.4.3 Steps when an Error Occurs
8.4.4 Procedures when searching an Error
8.4.5 Possible Reaction after successful Error search

9 Discussion of Case Studies

9.1 Card in Monastery
9.1.1 Improvement with cryptography checksum
9.1.2 Improvement with processor cards
9.2 Card for Access
9.3 Module for Data Transmission Module
9.4 Business Card
9.5 Card an anti theft Device
9.6 Ticket
9.7 PKI-Card
9.8 SIM

Ordering the book

The book is available from March 2007 from John Wiley & Sons.

The Smart Card Application book from Wolfgang Rankl will be available at many book stores. It could be ordered also via internet (e.g. Amazon) or it can be ordered direct by John Wiley & Sons with this flyer.

The ISBN number is 978-0-470-05882-4.

John Wiley & Sons

Logo John Wiley & Sons

Informations from John Wiley & Sons about the Smart Card Application book from Wolfgang Rankl.