SlideShare une entreprise Scribd logo
1  sur  27
JAVA CARD
TECHNOLOGY
PRESENTED BY:
UJJWAL KUMAR
IT 4th
year
1
Contents
 Identify Java Card Technology.
 Java Card Architecture.
 Identify Elements of Java Card
Applications.
 Communicating with a Java Card Applet.
 Java Card Language Limitations .
2
Introduction
What is a Java Card?
Simple Answer:
 Adoption of Java Platform for usage on
Smart Cards.
3
Contd….
Dialect of Java for programming smartcards.
Subset of Java (due to hardware constraints)
 No threads, doubles, strings, garbage collection,
and very restricted API.
With some extras (due to hardware peculiarities)
 Communication via APDUs or RMI.
 Persistent & transient data in EEPROM &RAM.
 Transaction mechanism.
4
Smart Card ?
A smart card is a plastic
card that contains an
embedded integrated
circuit (IC).
Examples:
 Our very Own UID-CardUID-Card!
 Credit Cards
 Cell Phone SIM Cards
 …
5
Smart Cards are good! How?
 They store and process Information.
 Smart Cards Can be used to add
authentication and secure access to
information systems that require a
high level of security.
6
Properties of Smart Cards
 Highly secure-Tempering with one, results
in destruction of the information it
contains.
 Don’t contain battery- Become active
when connected with a card reader.
 Come in two forms Contact or Contact
less.
7
Contact or Contact Less?
Contact smart cards work
by communicating via
physical contact between a
card reader and the smart
card.
Contact less smart cards
communicate by means of
a radio frequency signal,
with a typical range of less
than 2 feet.
8
Java Card Architecture
Java Card platformJava Card platform
smartcard hardwaresmartcard hardwareappletapplet
appletapplet
appletapplet
Java Card
Virtual Machine
Java Card API
(mini OS)
9
Elements of Java Card
Application:
 A complete Java Card application consists of :
 A back-end application
 A host (off-card) application
 An interface device (card reader )
 The on-card applet
 User credentials
 And supporting software
10
Elements of Java Card
Application:
11
Back-End Application and
Systems
Provide connectivity to security systems
Example:
 In an electronic payment system, the back-
end application could provide access to
credit card and other payment information
12
The Reader-SideThe Reader-Side
 Consists of two parts:
 Host Application
 Card Acceptance Device
 Think of a bank machine:
 Host Application as the Computer that provides
interaction with the system
 Card Acceptance Device being where you put
your debit card in.
13
The Card-Side
 Elements:
 One or more Java Applets
 Card’s operating System
 Java Card Runtime
Environment(JCRE)
• Java Card Virtual
Machine
• Java Card Framework
and APIs
14
Communicating with a Java
Card Applet
 Two methods for communicating with Java
Card Applet:
1. Fundamental message-passing model ,
communication via APDUs, as defined in
ISO7816
2. Java Card Remote Method Invocation
(JCRMI) which is a subset of J2SE RMI
15
ISO 7816
• Standard describing the protocol for
communication between smartcard and
terminal .
• Messages are called APDUs (Application Protocol
Data Units), which are sequences of bytes in a
certain format
• Terminal sends command APDU to card, card
sends a response APDU back .
16
Message passing model
 All Java Card applets extend the Applet base class and
must implement the install() and process() methods.
 JCRE calls install() when installing the applet, and
process() every time there is an incoming APDU for the
applet .
 APDU: a logical data packet that's exchanged between
the CAD and the Java Card Framework (It is considered
as the center piece for the Message-Passing Model) .
17
Command APDU
18
CLA Class byte
INS Instruction byte
P1,P2 Parameters
Lc Length of data block
Data Lc bytes of data
Le Length of expected response
Response APDU
19
Data : Le bytes of data
(optional)
SW1, SW2 : Status word
(obligatory)
20
APDU coding conventions
Some conventions for CLA, INS etc. given in
ISO 7816-4 & Values for SW1, SW2(set by ISO).
Processing APDUs
 Every time there is an incoming APDU for a selected
applet:
 The JCRE invokes the applet's process() method
 The incoming APDU is passed as an argument
 The applet must:
• parse the command APDU
• process the data
• generate a response APDU
• and return control to the JCRE
21
22
22
appletappletappletapplet
Java Card I/O with APDUs
Java Card platformJava Card platform
appletapplet
appletapplet
terminalterminal
smartcard hardwaresmartcard hardware
command APDU
incl. applet ID
OS selects applet
and invokes its
process
method
Applet sends
response APDU
applet
executes
Java Card API packages
 Java.lang
Object, Exception, ...
 Javacard.framework
ISO7816, APDU, Applet, JCSystem
 Javacard.security
KeyBuilder, RSAPrivateKey, CryptoException
 Javacardx.crypto
Cipher
23
Java Card RMI (JCRMI)
 The second communication model relies on a subset of
the J2SE RMI distributed-object model
 a server application creates and makes accessible
remote objects
 a client application obtains remote references to
remote objects, and then invokes remote methods
on them.
 In JCRMI, the Java Card applet is the server, and the
host application the client
24
Summary of Java Card
Language Limitations
25
Smart Card Hardware
ROM
 Program code of VM, API, and pre-installed
applets.
EEPROM
 Persistent storage of the data, incl. objects with
their fields, and program code of downloaded
applets .
RAM
 Transient storage of data, eg stack.
26
THANK
YOU…
27

Contenu connexe

Tendances

Smart Card and Strong Cryptography for instant security
Smart Card and Strong Cryptography for instant securitySmart Card and Strong Cryptography for instant security
Smart Card and Strong Cryptography for instant security
OKsystem
 
Government Citizen ID using Java Card Platform
Government Citizen ID using Java Card PlatformGovernment Citizen ID using Java Card Platform
Government Citizen ID using Java Card Platform
Ramesh Nagappan
 

Tendances (20)

Eric java card-basics-140314
Eric java card-basics-140314Eric java card-basics-140314
Eric java card-basics-140314
 
jCardSim - development platform for Java Card Applications
jCardSim - development platform for Java Card ApplicationsjCardSim - development platform for Java Card Applications
jCardSim - development platform for Java Card Applications
 
Java card technology
Java card technologyJava card technology
Java card technology
 
First Steps with Java Card
First Steps with Java CardFirst Steps with Java Card
First Steps with Java Card
 
Java card
Java card Java card
Java card
 
Study of Java Card and its Application
Study of Java Card and its ApplicationStudy of Java Card and its Application
Study of Java Card and its Application
 
Java card technology
Java card technologyJava card technology
Java card technology
 
Smart Cards
Smart CardsSmart Cards
Smart Cards
 
SmartTrust WIB 1.3
SmartTrust WIB 1.3SmartTrust WIB 1.3
SmartTrust WIB 1.3
 
Smart Card and Strong Cryptography for instant security
Smart Card and Strong Cryptography for instant securitySmart Card and Strong Cryptography for instant security
Smart Card and Strong Cryptography for instant security
 
What is smart card on tam
What is smart card on tamWhat is smart card on tam
What is smart card on tam
 
JAVA CARD BY SAIKIRAN PANJALA
JAVA CARD BY SAIKIRAN PANJALAJAVA CARD BY SAIKIRAN PANJALA
JAVA CARD BY SAIKIRAN PANJALA
 
Java Card Platform Security and Performance
Java Card Platform Security and PerformanceJava Card Platform Security and Performance
Java Card Platform Security and Performance
 
Smart Cards Evolution
Smart Cards EvolutionSmart Cards Evolution
Smart Cards Evolution
 
Smartcard
SmartcardSmartcard
Smartcard
 
Government Citizen ID using Java Card Platform
Government Citizen ID using Java Card PlatformGovernment Citizen ID using Java Card Platform
Government Citizen ID using Java Card Platform
 
Smart cards & RFID-Anant Patel
Smart cards & RFID-Anant PatelSmart cards & RFID-Anant Patel
Smart cards & RFID-Anant Patel
 
Smart Card Technology
Smart Card TechnologySmart Card Technology
Smart Card Technology
 
Smart Card
Smart CardSmart Card
Smart Card
 
Smart card
Smart card Smart card
Smart card
 

En vedette

OpenSC: eID interoperability through open source software
OpenSC: eID interoperability through open source softwareOpenSC: eID interoperability through open source software
OpenSC: eID interoperability through open source software
Martin Paljak
 
HP Bladesystem Overview September 2009
HP Bladesystem Overview September 2009HP Bladesystem Overview September 2009
HP Bladesystem Overview September 2009
Louis Göhl
 
Blade server technology report
Blade server technology reportBlade server technology report
Blade server technology report
Sarath Thalekkara
 
eSmartlock - an antipiracy dongle with integrated DRM functionalities
eSmartlock - an antipiracy dongle with integrated DRM functionalitieseSmartlock - an antipiracy dongle with integrated DRM functionalities
eSmartlock - an antipiracy dongle with integrated DRM functionalities
Yiannis Hatzopoulos
 
Grid computing Seminar PPT
Grid computing Seminar PPTGrid computing Seminar PPT
Grid computing Seminar PPT
Upender Upr
 

En vedette (20)

AES for Java Card 2.2.x
AES for Java Card 2.2.xAES for Java Card 2.2.x
AES for Java Card 2.2.x
 
OpenDNIe Hackfest
OpenDNIe HackfestOpenDNIe Hackfest
OpenDNIe Hackfest
 
Codebits 2011
Codebits 2011Codebits 2011
Codebits 2011
 
OpenSC: eID interoperability through open source software
OpenSC: eID interoperability through open source softwareOpenSC: eID interoperability through open source software
OpenSC: eID interoperability through open source software
 
Veebis allkirjastamine ID-kaardiga
Veebis allkirjastamine ID-kaardigaVeebis allkirjastamine ID-kaardiga
Veebis allkirjastamine ID-kaardiga
 
ID-kaardist 100%
ID-kaardist 100%ID-kaardist 100%
ID-kaardist 100%
 
Grid computing
Grid computingGrid computing
Grid computing
 
Grid Computing
Grid ComputingGrid Computing
Grid Computing
 
HP Bladesystem Overview September 2009
HP Bladesystem Overview September 2009HP Bladesystem Overview September 2009
HP Bladesystem Overview September 2009
 
Blade server technology report
Blade server technology reportBlade server technology report
Blade server technology report
 
Introduction to Grid Computing
Introduction to Grid ComputingIntroduction to Grid Computing
Introduction to Grid Computing
 
Grid computing
Grid computingGrid computing
Grid computing
 
Oxygen
OxygenOxygen
Oxygen
 
eSmartlock - an antipiracy dongle with integrated DRM functionalities
eSmartlock - an antipiracy dongle with integrated DRM functionalitieseSmartlock - an antipiracy dongle with integrated DRM functionalities
eSmartlock - an antipiracy dongle with integrated DRM functionalities
 
eSmartlock a USB Javacard dongle with anti-piracy and DRM services
eSmartlock a USB Javacard dongle with anti-piracy and DRM serviceseSmartlock a USB Javacard dongle with anti-piracy and DRM services
eSmartlock a USB Javacard dongle with anti-piracy and DRM services
 
Grid Computing
Grid ComputingGrid Computing
Grid Computing
 
Project Oxygen
Project OxygenProject Oxygen
Project Oxygen
 
Grid computing ppt
Grid computing pptGrid computing ppt
Grid computing ppt
 
Grid computing Seminar PPT
Grid computing Seminar PPTGrid computing Seminar PPT
Grid computing Seminar PPT
 
1. GRID COMPUTING
1. GRID COMPUTING1. GRID COMPUTING
1. GRID COMPUTING
 

Similaire à Javacardtech

RFID attendance system
RFID attendance systemRFID attendance system
RFID attendance system
A.k. Goverdhan
 
12.automatic toll gate billing system using rfid.
12.automatic toll gate billing system using rfid.12.automatic toll gate billing system using rfid.
12.automatic toll gate billing system using rfid.
Sai Krishna
 
EVALUATION OF ATM FUNCTIONING USING VHDL AND FPGA
EVALUATION OF ATM FUNCTIONING USING VHDL AND FPGA EVALUATION OF ATM FUNCTIONING USING VHDL AND FPGA
EVALUATION OF ATM FUNCTIONING USING VHDL AND FPGA
VLSICS Design
 
DEFCON-21-Koscher-Butler-The-Secret-Life-of-SIM-Cards-Updated.pdf
DEFCON-21-Koscher-Butler-The-Secret-Life-of-SIM-Cards-Updated.pdfDEFCON-21-Koscher-Butler-The-Secret-Life-of-SIM-Cards-Updated.pdf
DEFCON-21-Koscher-Butler-The-Secret-Life-of-SIM-Cards-Updated.pdf
Wlamir Molinari
 

Similaire à Javacardtech (20)

Embedded systems presentation power point.ppt
Embedded systems presentation power point.pptEmbedded systems presentation power point.ppt
Embedded systems presentation power point.ppt
 
SCOSTA (Smart Card Operating System for Transport Applications)
SCOSTA (Smart Card Operating System for Transport Applications)SCOSTA (Smart Card Operating System for Transport Applications)
SCOSTA (Smart Card Operating System for Transport Applications)
 
PlaySIM Project Java One 2009
PlaySIM Project Java One 2009PlaySIM Project Java One 2009
PlaySIM Project Java One 2009
 
Security's Once and Future King
Security's Once and Future KingSecurity's Once and Future King
Security's Once and Future King
 
RFID based smart shopping cart and billing system
RFID based smart shopping cart and billing systemRFID based smart shopping cart and billing system
RFID based smart shopping cart and billing system
 
Mypptinslideshare 180508104046 (1)
Mypptinslideshare 180508104046 (1)Mypptinslideshare 180508104046 (1)
Mypptinslideshare 180508104046 (1)
 
Smart Cards
Smart CardsSmart Cards
Smart Cards
 
A STUDY OF AN ENTRENCHED SYSTEM USING INTERNET OF THINGS
A STUDY OF AN ENTRENCHED SYSTEM USING INTERNET OF THINGSA STUDY OF AN ENTRENCHED SYSTEM USING INTERNET OF THINGS
A STUDY OF AN ENTRENCHED SYSTEM USING INTERNET OF THINGS
 
RFID attendance system
RFID attendance systemRFID attendance system
RFID attendance system
 
12.automatic toll gate billing system using rfid.
12.automatic toll gate billing system using rfid.12.automatic toll gate billing system using rfid.
12.automatic toll gate billing system using rfid.
 
EVALUATION OF ATM FUNCTIONING USING VHDL AND FPGA
EVALUATION OF ATM FUNCTIONING USING VHDL AND FPGA EVALUATION OF ATM FUNCTIONING USING VHDL AND FPGA
EVALUATION OF ATM FUNCTIONING USING VHDL AND FPGA
 
Smart id's
Smart id'sSmart id's
Smart id's
 
Design &Implementation of I2C Master Controller Interfaced With RAM Using VHDL
Design &Implementation of I2C Master Controller Interfaced With RAM Using VHDLDesign &Implementation of I2C Master Controller Interfaced With RAM Using VHDL
Design &Implementation of I2C Master Controller Interfaced With RAM Using VHDL
 
Smart shopping cart (using RFID)
Smart shopping cart (using RFID)Smart shopping cart (using RFID)
Smart shopping cart (using RFID)
 
Intel galileo gen 2
Intel galileo gen 2Intel galileo gen 2
Intel galileo gen 2
 
Nimesh thakor
Nimesh thakorNimesh thakor
Nimesh thakor
 
DEFCON-21-Koscher-Butler-The-Secret-Life-of-SIM-Cards-Updated.pdf
DEFCON-21-Koscher-Butler-The-Secret-Life-of-SIM-Cards-Updated.pdfDEFCON-21-Koscher-Butler-The-Secret-Life-of-SIM-Cards-Updated.pdf
DEFCON-21-Koscher-Butler-The-Secret-Life-of-SIM-Cards-Updated.pdf
 
Network Based Data Acquisition and Logging System using PIC Microcontroller
Network Based Data Acquisition and Logging System using PIC MicrocontrollerNetwork Based Data Acquisition and Logging System using PIC Microcontroller
Network Based Data Acquisition and Logging System using PIC Microcontroller
 
Smart Card
Smart CardSmart Card
Smart Card
 
IRJET- College Bus Fee Payment System
IRJET- College Bus Fee Payment SystemIRJET- College Bus Fee Payment System
IRJET- College Bus Fee Payment System
 

Plus de Vivek Bajpai (7)

Overclocking
OverclockingOverclocking
Overclocking
 
Gps
GpsGps
Gps
 
Dj vu
Dj vuDj vu
Dj vu
 
how google works
how google workshow google works
how google works
 
Gps
GpsGps
Gps
 
Dj vu
Dj vuDj vu
Dj vu
 
Overclocking
OverclockingOverclocking
Overclocking
 

Dernier

1029 - Danh muc Sach Giao Khoa 10 . pdf
1029 -  Danh muc Sach Giao Khoa 10 . pdf1029 -  Danh muc Sach Giao Khoa 10 . pdf
1029 - Danh muc Sach Giao Khoa 10 . pdf
QucHHunhnh
 
The basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxThe basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptx
heathfieldcps1
 

Dernier (20)

Food safety_Challenges food safety laboratories_.pdf
Food safety_Challenges food safety laboratories_.pdfFood safety_Challenges food safety laboratories_.pdf
Food safety_Challenges food safety laboratories_.pdf
 
General Principles of Intellectual Property: Concepts of Intellectual Proper...
General Principles of Intellectual Property: Concepts of Intellectual  Proper...General Principles of Intellectual Property: Concepts of Intellectual  Proper...
General Principles of Intellectual Property: Concepts of Intellectual Proper...
 
Micro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdfMicro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdf
 
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
 
ICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptxICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptx
 
How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17
 
1029 - Danh muc Sach Giao Khoa 10 . pdf
1029 -  Danh muc Sach Giao Khoa 10 . pdf1029 -  Danh muc Sach Giao Khoa 10 . pdf
1029 - Danh muc Sach Giao Khoa 10 . pdf
 
Single or Multiple melodic lines structure
Single or Multiple melodic lines structureSingle or Multiple melodic lines structure
Single or Multiple melodic lines structure
 
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdfUGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
 
How to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POSHow to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POS
 
The basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxThe basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptx
 
Python Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docxPython Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docx
 
Making communications land - Are they received and understood as intended? we...
Making communications land - Are they received and understood as intended? we...Making communications land - Are they received and understood as intended? we...
Making communications land - Are they received and understood as intended? we...
 
How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17
 
Unit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).pptxUnit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).pptx
 
Graduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - EnglishGraduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - English
 
Dyslexia AI Workshop for Slideshare.pptx
Dyslexia AI Workshop for Slideshare.pptxDyslexia AI Workshop for Slideshare.pptx
Dyslexia AI Workshop for Slideshare.pptx
 
Key note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfKey note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdf
 
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
 
Introduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsIntroduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The Basics
 

Javacardtech

  • 2. Contents  Identify Java Card Technology.  Java Card Architecture.  Identify Elements of Java Card Applications.  Communicating with a Java Card Applet.  Java Card Language Limitations . 2
  • 3. Introduction What is a Java Card? Simple Answer:  Adoption of Java Platform for usage on Smart Cards. 3
  • 4. Contd…. Dialect of Java for programming smartcards. Subset of Java (due to hardware constraints)  No threads, doubles, strings, garbage collection, and very restricted API. With some extras (due to hardware peculiarities)  Communication via APDUs or RMI.  Persistent & transient data in EEPROM &RAM.  Transaction mechanism. 4
  • 5. Smart Card ? A smart card is a plastic card that contains an embedded integrated circuit (IC). Examples:  Our very Own UID-CardUID-Card!  Credit Cards  Cell Phone SIM Cards  … 5
  • 6. Smart Cards are good! How?  They store and process Information.  Smart Cards Can be used to add authentication and secure access to information systems that require a high level of security. 6
  • 7. Properties of Smart Cards  Highly secure-Tempering with one, results in destruction of the information it contains.  Don’t contain battery- Become active when connected with a card reader.  Come in two forms Contact or Contact less. 7
  • 8. Contact or Contact Less? Contact smart cards work by communicating via physical contact between a card reader and the smart card. Contact less smart cards communicate by means of a radio frequency signal, with a typical range of less than 2 feet. 8
  • 9. Java Card Architecture Java Card platformJava Card platform smartcard hardwaresmartcard hardwareappletapplet appletapplet appletapplet Java Card Virtual Machine Java Card API (mini OS) 9
  • 10. Elements of Java Card Application:  A complete Java Card application consists of :  A back-end application  A host (off-card) application  An interface device (card reader )  The on-card applet  User credentials  And supporting software 10
  • 11. Elements of Java Card Application: 11
  • 12. Back-End Application and Systems Provide connectivity to security systems Example:  In an electronic payment system, the back- end application could provide access to credit card and other payment information 12
  • 13. The Reader-SideThe Reader-Side  Consists of two parts:  Host Application  Card Acceptance Device  Think of a bank machine:  Host Application as the Computer that provides interaction with the system  Card Acceptance Device being where you put your debit card in. 13
  • 14. The Card-Side  Elements:  One or more Java Applets  Card’s operating System  Java Card Runtime Environment(JCRE) • Java Card Virtual Machine • Java Card Framework and APIs 14
  • 15. Communicating with a Java Card Applet  Two methods for communicating with Java Card Applet: 1. Fundamental message-passing model , communication via APDUs, as defined in ISO7816 2. Java Card Remote Method Invocation (JCRMI) which is a subset of J2SE RMI 15
  • 16. ISO 7816 • Standard describing the protocol for communication between smartcard and terminal . • Messages are called APDUs (Application Protocol Data Units), which are sequences of bytes in a certain format • Terminal sends command APDU to card, card sends a response APDU back . 16
  • 17. Message passing model  All Java Card applets extend the Applet base class and must implement the install() and process() methods.  JCRE calls install() when installing the applet, and process() every time there is an incoming APDU for the applet .  APDU: a logical data packet that's exchanged between the CAD and the Java Card Framework (It is considered as the center piece for the Message-Passing Model) . 17
  • 18. Command APDU 18 CLA Class byte INS Instruction byte P1,P2 Parameters Lc Length of data block Data Lc bytes of data Le Length of expected response
  • 19. Response APDU 19 Data : Le bytes of data (optional) SW1, SW2 : Status word (obligatory)
  • 20. 20 APDU coding conventions Some conventions for CLA, INS etc. given in ISO 7816-4 & Values for SW1, SW2(set by ISO).
  • 21. Processing APDUs  Every time there is an incoming APDU for a selected applet:  The JCRE invokes the applet's process() method  The incoming APDU is passed as an argument  The applet must: • parse the command APDU • process the data • generate a response APDU • and return control to the JCRE 21
  • 22. 22 22 appletappletappletapplet Java Card I/O with APDUs Java Card platformJava Card platform appletapplet appletapplet terminalterminal smartcard hardwaresmartcard hardware command APDU incl. applet ID OS selects applet and invokes its process method Applet sends response APDU applet executes
  • 23. Java Card API packages  Java.lang Object, Exception, ...  Javacard.framework ISO7816, APDU, Applet, JCSystem  Javacard.security KeyBuilder, RSAPrivateKey, CryptoException  Javacardx.crypto Cipher 23
  • 24. Java Card RMI (JCRMI)  The second communication model relies on a subset of the J2SE RMI distributed-object model  a server application creates and makes accessible remote objects  a client application obtains remote references to remote objects, and then invokes remote methods on them.  In JCRMI, the Java Card applet is the server, and the host application the client 24
  • 25. Summary of Java Card Language Limitations 25
  • 26. Smart Card Hardware ROM  Program code of VM, API, and pre-installed applets. EEPROM  Persistent storage of the data, incl. objects with their fields, and program code of downloaded applets . RAM  Transient storage of data, eg stack. 26