Skip to:Content
|
Bottom
Cover image for Java card for e-payment applications
Title:
Java card for e-payment applications
Series:
Artech House computer security series
Publication Information:
London : Artech House, 2002
ISBN:
9781580532914
Added Author:

Available:*

Library
Item Barcode
Call Number
Material Type
Item Category 1
Status
Searching...
30000004826123 QA76.73.J38 J37 2002 Open Access Book Book
Searching...

On Order

Summary

Summary

Java Card is one of the latest developments in the area of multi-application and platform-independent smart cards. As a working tool for professionals, this easy-to-understand resource provides clear, detailed guidance on smart cards, credit and debit cards, Java Card and Open Card Framework (OCF). It offers in-depth coverage of important standards, open specifications and critical security issues, including common threats and security mechanisms regarding the card and its connection interface. The book explains how to program a Java Card applet, an OCF card service and a terminal application. What's more, the book presents an informative case study on the credit-debit application, offering a detailed road map of the application development process.


Author Notes

Vesna Hassler received her B.Sc. and M.Sc. degrees in Electrical Engineering from Zagreb University (Croatia), and her Ph.D. degree from Graz University of Technology (Austria).

Dr. Hassler is a member of A-SIT (Secure Information Technology Center, Austria). Her research and teaching focus is on network and e-commerce security. She is also an independent consultant. Dr. Hassler is the author of Security Fundamentals for E-Commerce (Artech House, 2001), and has published a number of conference and journal papers on cryptography, network security, payment systems, and smart cards.

050


Table of Contents

Prefacep. xv
Acknowledgmentsp. xvii
Part I Smart Cardsp. 1
1 Smart Card Basicsp. 3
1.1 Logic of Integrated Circuit Cardsp. 3
1.2 Communication Interface of Integrated Circuit Cardsp. 6
1.3 Smart Card Operating Systemsp. 7
1.4 Smart Card Life Cyclep. 8
1.5 Integrated Circuit Card Standardsp. 11
2 Security Issuesp. 13
2.1 Symmetric Cryptographyp. 14
2.2 Asymmetric Cryptographyp. 17
2.3 Authenticationp. 22
2.4 Smart Card Securityp. 25
2.5 Known Attacks on Smart Cardsp. 26
2.6 System Securityp. 28
3 Security Evaluation Criteriap. 31
3.1 Common Criteriap. 32
3.2 Visa Smart Card Protection Profilep. 37
3.3 Eurosmart Protection Profilesp. 38
3.4 Smart Card Security User Group's Protection Profilep. 39
3.5 Secure Signature-Creation Device Protection Profilep. 40
Referencesp. 42
4 File Structure and Commandsp. 43
4.1 File Structure of Integrated Circuit Cardsp. 43
4.2 Command Structure of ICCsp. 45
4.3 Examples of Smart Card Commandsp. 46
4.4 Cryptographic Authentication and Secure Messagingp. 48
5 ISO 7816 Smart Card Communicationp. 53
5.1 Answer to Resetp. 54
5.2 T = 1 Protocolp. 57
6 Card Readers, Card Terminals, and Related Technologiesp. 59
6.1 Card Readers and Card Terminalsp. 59
6.2 Related Technologiesp. 61
Referencesp. 62
7 Debit and Credit Cardsp. 63
7.1 Relevant Specificationsp. 65
7.2 EMV Transactionsp. 67
7.3 EMV 2000 Detailsp. 73
7.3.1 EMV Book 1p. 73
7.3.2 EMV Book 2p. 74
7.3.3 EMV Book 3p. 75
7.3.4 EMV Book 4p. 76
Part II Java Cardp. 77
8 Java Card Basicsp. 79
8.1 Java Card Architecturep. 79
8.2 Differences from Javap. 84
8.2.1 Primitive Data Types and Arraysp. 84
8.2.2 Operations and Type Castingp. 86
8.2.3 Exceptionsp. 86
8.3 Java Card Appletp. 89
8.3.1 Installation and Registrationp. 90
8.3.2 Selection and Deselectionp. 91
8.3.3 APDU Processingp. 92
Referencesp. 93
9 Deployment of Java Card Technologyp. 95
9.1 Java Card Forump. 95
9.2 Card Managementp. 96
9.3 SIM Application Toolkitp. 97
9.4 Visa Open Platformp. 98
Referencesp. 99
10 Java Card Securityp. 101
10.1 Java Card Language Subset Securityp. 101
10.1.1 Java Safetyp. 102
10.1.2 Java Type Safetyp. 103
10.1.3 Transient Objectsp. 103
10.1.4 Atomicity of Transactionsp. 104
10.2 Card Applet Security Mechanismsp. 104
10.2.1 Card Applet Firewallp. 105
10.2.2 Secure Object Sharingp. 106
10.3 Java Card Crypto APIsp. 108
10.4 PIN Verificationp. 109
Referencesp. 110
11 Application Developmentp. 111
11.1 Java Card APIp. 111
11.1.1 JCSystem Classp. 112
11.1.2 Applet Classp. 112
11.1.3 APDU Classp. 113
11.1.4 OwnerPIN Classp. 115
11.1.5 Util Classp. 115
11.1.6 Interface ISO7816p. 116
11.2 Existing Implementationsp. 116
11.2.1 Giesecke and Devrient Sm@rtCafep. 116
11.2.2 Gemplus GemXpresso 211p. 118
11.2.3 Schlumberger Cyberflex Accessp. 119
Part III OpenCard Frameworkp. 121
12 OCF Basicsp. 123
12.1 Smart Card Applicationsp. 124
12.2 The OCFp. 125
12.3 The OpenCard Consortiump. 126
12.4 OCF Architecture Overviewp. 126
12.4.1 What Is a Framework?p. 129
12.4.2 What Is an Abstract Factory?p. 130
12.4.3 Singleton and Registryp. 132
12.5 PC/SCp. 133
12.6 OCF Versus PC/SCp. 136
12.6.1 Platformp. 137
12.6.2 Operating Systemp. 137
12.6.3 Terminal Applicationp. 137
12.6.4 Programming Languagep. 138
12.6.5 Architecturep. 138
12.6.6 Interoperabilityp. 140
12.6.7 Java Card and Windows for SmartCardp. 140
12.7 Other Card Terminal APIsp. 140
Referencesp. 142
13 OCF Structurep. 143
13.1 OCF Card Terminal Layerp. 144
13.1.1 Core Part of the Card Terminal Layerp. 145
13.1.2 Optional Part of the Card Terminal Layerp. 147
13.2 OCF Card Service Layerp. 148
13.2.1 Core Part of the Card Service Layerp. 148
13.2.2 Optional Part of the Card Service Layerp. 151
13.2.3 Standard Card Service Interfacesp. 151
13.3 OCF Securityp. 152
13.4 OCF Card Terminal Communicationp. 154
13.5 OCF and Java Card Appletsp. 155
Referencesp. 157
Part IV Case Study: Java Card Application Development with the OpenCard Frameworkp. 159
14 Case Study Overviewp. 161
14.1 Sample Application Functionalityp. 161
14.1.1 Application Architecturep. 162
14.1.2 Transaction Flowp. 163
14.1.3 Data Objectsp. 165
14.1.4 Application Selectionp. 172
14.1.5 Processing Options Retrievalp. 173
14.1.6 Reading Application Parametersp. 175
14.1.7 Cardholder Verificationp. 176
14.1.8 Application Cryptogramp. 178
14.2 Security Functionsp. 184
14.2.1 Card Risk Managementp. 184
14.2.2 Session Key Derivation Algorithmp. 187
14.2.3 AC Calculation Algorithmp. 188
14.3 Application Designp. 190
Referencesp. 191
15 Java Card Applet Developmentp. 193
15.1 Applet Architecturep. 193
15.2 EMVPurse Classp. 195
15.2.1 Data Structures and Related Methodsp. 196
15.2.2 Class Constructorp. 199
15.2.3 GENERATE AC Command Processingp. 201
15.2.4 CVR Objectp. 204
15.2.5 Card Risk Management and Card Action Analysisp. 206
15.2.6 Application Cryptogram Calculationp. 209
15.3 EMVdemo Classp. 211
15.3.1 Class Constructor, Methods install and selectp. 212
15.3.2 Method processp. 212
15.4 EMVFileSystem Classp. 220
15.4.1 Recordp. 220
15.4.2 Filep. 222
15.4.3 File Systemp. 223
16 OCF Card Service Developmentp. 227
16.1 Setting Up the Environmentp. 227
16.2 The Properties File and the Factoryp. 228
16.3 The Card Servicep. 232
16.3.1 SELECT Commandp. 234
16.3.2 VERIFY Commandp. 235
16.3.3 Read Record Commandp. 237
16.3.4 Get Processing Options Commandp. 238
16.3.5 Generate AC Commandp. 242
Referencesp. 244
17 Terminal Applicationp. 245
17.1 Startup and Shutdownp. 245
17.2 Processing Options and Restrictionsp. 248
17.3 Dynamic Data Authenticationp. 253
17.3.1 Certificate Chainp. 253
17.3.2 Signing Authentication Datap. 256
17.4 Terminal Risk Managementp. 256
17.5 Verification of the Resultp. 260
17.5.1 General Verificationp. 260
17.5.2 AC Calculationp. 263
Referencesp. 265
18 Conclusionp. 267
Appendix A Card Applet Source Codep. 271
Appendix B OCF Reference Manualp. 297
B.1 Package opencard.core.servicep. 297
B.1.1 Class SmartCardp. 297
B.1.2 Class CardRequestp. 300
B.1.3 Class CardServiceFactoryp. 302
B.1.4 Class CardServiceRegistryp. 304
B.1.5 Class CardServicep. 307
B.1.6 Class CardServiceSchedulerp. 310
B.1.7 Class CardChannelp. 312
B.1.8 Class CardTypep. 315
B.1.9 Class DefaultCHVDialogp. 316
B.2 Package opencard.core.terminalp. 316
B.2.1 Class APDUp. 316
B.2.2 Class CardIDp. 319
B.2.3 Class CardTerminalFactoryp. 321
B.2.4 Class CardTerminalRegistryp. 322
B.2.5 Class CardTerminalp. 324
B.2.6 Class SlotChannelp. 329
B.3 Package opencard.opt.servicep. 331
B.3.1 Class OCFllCardServiceFactoryp. 331
B.4 Package opencard.opt.utilp. 331
B.4.1 Class TLVp. 331
B.4.2 Class Tagp. 334
Referencep. 337
List of Acronymsp. 339
About the Authorsp. 349
Indexp. 351
Go to:Top of Page