| Preface |
|
1 | (1) |
|
|
|
1 | (1) |
|
The Audience of This Book |
|
|
2 | (1) |
|
No Need to Read the Whole Book |
|
|
2 | (6) |
|
|
|
8 | (2) |
|
|
|
10 | (1) |
| Part I Smart Card Introduction and Overview |
|
11 | (74) |
|
What Makes the Smart Card ``Smart''? |
|
|
13 | (10) |
|
|
|
13 | (3) |
|
The Benefits of Smart Cards |
|
|
15 | (1) |
|
|
|
16 | (7) |
|
Memory Cards and Microprocessor Cards |
|
|
16 | (1) |
|
|
|
17 | (1) |
|
The Computer on the Smart Card |
|
|
17 | (2) |
|
|
|
19 | (1) |
|
|
|
20 | (1) |
|
|
|
21 | (1) |
|
The Manufacturing Process |
|
|
21 | (2) |
|
Introduction to Smart Card Software |
|
|
23 | (12) |
|
Smart Card Application Development Process |
|
|
23 | (1) |
|
Communication with the Card |
|
|
24 | (4) |
|
|
|
24 | (2) |
|
|
|
26 | (1) |
|
|
|
27 | (1) |
|
Smart Card Operating Systems |
|
|
28 | (7) |
|
|
|
28 | (3) |
|
|
|
31 | (1) |
|
|
|
32 | (1) |
|
|
|
33 | (2) |
|
Smart Cards and e-business |
|
|
35 | (16) |
|
|
|
37 | (6) |
|
|
|
39 | (1) |
|
|
|
40 | (1) |
|
|
|
41 | (1) |
|
|
|
41 | (2) |
|
Common Electronic Purse Specification |
|
|
43 | (1) |
|
Authentication and Secure Access |
|
|
43 | (3) |
|
|
|
44 | (1) |
|
Network- and Server-Login |
|
|
44 | (1) |
|
|
|
45 | (1) |
|
|
|
46 | (1) |
|
Other Uses of Smart Cards in e-business |
|
|
47 | (4) |
|
|
|
47 | (1) |
|
|
|
48 | (1) |
|
|
|
49 | (2) |
|
|
|
51 | (18) |
|
|
|
51 | (8) |
|
Symmetric Cryptographic Algorithms |
|
|
52 | (4) |
|
|
|
56 | (3) |
|
|
|
59 | (1) |
|
Smart Card Cryptographic Protocols |
|
|
59 | (8) |
|
|
|
59 | (1) |
|
|
|
60 | (1) |
|
|
|
61 | (6) |
|
|
|
67 | (2) |
|
Smart Card Readers and Terminals |
|
|
69 | (6) |
|
|
|
69 | (2) |
|
|
|
71 | (1) |
|
|
|
72 | (3) |
|
Smart Card Standards and Industry Initiatives |
|
|
75 | (10) |
|
|
|
75 | (2) |
|
EMV ICC Specifications for Payment Systems |
|
|
77 | (2) |
|
|
|
79 | (3) |
|
|
|
82 | (3) |
| Part II OpenCard Framework |
|
85 | (108) |
|
|
|
87 | (14) |
|
The History of the OpenCard Framework |
|
|
87 | (1) |
|
|
|
88 | (1) |
|
The Objectives of the OpenCard Framework |
|
|
89 | (1) |
|
The Advantages of Using OCF |
|
|
89 | (2) |
|
|
|
91 | (10) |
|
|
|
91 | (2) |
|
|
|
93 | (8) |
|
|
|
101 | (14) |
|
The OpenCard Core Definitions |
|
|
101 | (1) |
|
|
|
102 | (7) |
|
|
|
102 | (1) |
|
The Configuration Provider |
|
|
103 | (1) |
|
|
|
104 | (3) |
|
|
|
107 | (2) |
|
The Optional Utility Classes |
|
|
109 | (6) |
|
|
|
110 | (1) |
|
The Pass Thru Card Service |
|
|
111 | (2) |
|
|
|
113 | (2) |
|
|
|
115 | (30) |
|
Terminal Layer Core Components |
|
|
116 | (9) |
|
Terminal Registry and Event Mechanism |
|
|
117 | (1) |
|
|
|
118 | (3) |
|
The Terminal Layer Exceptions |
|
|
121 | (2) |
|
|
|
123 | (2) |
|
Terminal Layer Optional Components |
|
|
125 | (5) |
|
The opencard.opt.terminal Package |
|
|
126 | (2) |
|
The opencard.opt.terminal.protocol Package |
|
|
128 | (2) |
|
Tracing in the Terminal Layer |
|
|
130 | (1) |
|
Communicating with the Card Reader |
|
|
130 | (2) |
|
The Java Communications API |
|
|
131 | (1) |
|
|
|
132 | (13) |
|
Using the T=1 Protocol Support |
|
|
133 | (2) |
|
Implementing the CardTerminal |
|
|
135 | (8) |
|
Implementing the CardTerminalFactory |
|
|
143 | (2) |
|
|
|
145 | (30) |
|
The CardService Layer Core Components |
|
|
147 | (19) |
|
The Application Access Classes |
|
|
148 | (4) |
|
|
|
152 | (4) |
|
The CardService Support Classes |
|
|
156 | (5) |
|
|
|
161 | (3) |
|
The CardService Exceptions |
|
|
164 | (2) |
|
The CardService Optional Components |
|
|
166 | (2) |
|
Standard CardService Interfaces |
|
|
168 | (7) |
|
The ISO File System CardService |
|
|
169 | (3) |
|
The Signature CardService |
|
|
172 | (1) |
|
The Application Management CardService |
|
|
173 | (2) |
|
The OCF Security Concepts |
|
|
175 | (18) |
|
OpenCard Security Overview |
|
|
177 | (2) |
|
OpenCard Security Classes |
|
|
179 | (9) |
|
Cryptographic Key Classes |
|
|
180 | (1) |
|
The Smart Card Key Classes |
|
|
181 | (2) |
|
CardService Interface Classes |
|
|
183 | (4) |
|
|
|
187 | (1) |
|
|
|
188 | (5) |
|
|
|
189 | (1) |
|
Invocation of Privileged Methods |
|
|
190 | (1) |
|
|
|
191 | (2) |
| Part III Smart Card Application Development Using OCF |
|
193 | (80) |
|
|
|
195 | (20) |
|
|
|
195 | (1) |
|
Configuring OCF on Your System |
|
|
196 | (2) |
|
Setting the OCF Configuration Properties |
|
|
196 | (2) |
|
The First Simple Application |
|
|
198 | (4) |
|
Starting OCF and Shutting it Down Again |
|
|
199 | (1) |
|
Obtaining a SmartCard Object via waitForCard(...) |
|
|
200 | (1) |
|
Obtaining a CardService Object |
|
|
201 | (1) |
|
Using this Sample Program with Other Cards |
|
|
202 | (1) |
|
Smart Card Access of a Digital Signature Application |
|
|
202 | (13) |
|
|
|
203 | (1) |
|
|
|
204 | (1) |
|
|
|
205 | (1) |
|
allocateServices(SmartCard, int) |
|
|
206 | (1) |
|
|
|
207 | (1) |
|
|
|
208 | (1) |
|
|
|
208 | (2) |
|
propagateAnEarlierException() |
|
|
210 | (1) |
|
setCardHolderData(String) |
|
|
210 | (1) |
|
|
|
211 | (1) |
|
|
|
212 | (1) |
|
Class SignatureCardException |
|
|
212 | (1) |
|
The Complete Sample Source Code |
|
|
213 | (2) |
|
|
|
215 | (18) |
|
|
|
215 | (3) |
|
|
|
215 | (1) |
|
Secure Stock Brokerage Architecture |
|
|
216 | (1) |
|
|
|
217 | (1) |
|
Distributed Payment Systems |
|
|
218 | (15) |
|
Card-to-Card Payment Schemes |
|
|
219 | (2) |
|
Card-to-Card Payments via Internet |
|
|
221 | (5) |
|
|
|
226 | (2) |
|
|
|
228 | (5) |
|
|
|
233 | (22) |
|
|
|
233 | (1) |
|
|
|
234 | (2) |
|
|
|
234 | (1) |
|
Lifetimes of On-card Programs and Objects |
|
|
235 | (1) |
|
A Sample Java Card Applet |
|
|
236 | (6) |
|
Using OCF to Work with Card Applets |
|
|
242 | (13) |
|
|
|
243 | (2) |
|
Controlling Our Sample Card through OCF |
|
|
245 | (10) |
|
Card and Application Management |
|
|
255 | (12) |
|
|
|
255 | (3) |
|
|
|
256 | (1) |
|
Application Management Systems |
|
|
257 | (1) |
|
|
|
258 | (1) |
|
Using OCF for Card and Management |
|
|
258 | (9) |
|
|
|
259 | (1) |
|
|
|
259 | (2) |
|
Architecture and Technology |
|
|
261 | (1) |
|
Post-Issuance Application Download |
|
|
262 | (2) |
|
Post-Issuance Application Personalization |
|
|
264 | (3) |
|
|
|
267 | (6) |
|
|
|
267 | (2) |
|
|
|
269 | (4) |
|
Differences between OCF and OCF for Embedded Devices |
|
|
270 | (2) |
|
|
|
272 | (1) |
| Part IV Appendixes |
|
273 | (24) |
|
|
|
275 | (10) |
|
A.1 The IBM MultiFunction Card |
|
|
275 | (1) |
|
A.2 The File Structure on the Card |
|
|
276 | (7) |
|
|
|
283 | (2) |
|
|
|
285 | (4) |
|
|
|
289 | (4) |
|
|
|
293 | (4) |
|
|
|
297 | |