Presentation is loading. Please wait.

Presentation is loading. Please wait.

1. Presentation Agenda  Identify Java Card Technology  Identify Elements of Java Card applications  Communicating with a Java Card Applet  Java Card.

Similar presentations


Presentation on theme: "1. Presentation Agenda  Identify Java Card Technology  Identify Elements of Java Card applications  Communicating with a Java Card Applet  Java Card."— Presentation transcript:

1 1

2 Presentation Agenda  Identify Java Card Technology  Identify Elements of Java Card applications  Communicating with a Java Card Applet  Java Card Language Limitations 2

3 Introduction  The first Java Card was introduced in 1996 by Schlumberge’s card division which later merged with Gemplus to form Gemalto  Java Card refers to a technology that allows Java-based applications to be run securely on smart cards.  Java Card gives the user, the ability to program the device and make them application specific. 3

4 Smart Cards  A smart card is a plastic card that contains an embedded integrated circuit (IC)  Examples:  Our very Own T-Card!  Credit Cards  Cell Phone SIM Cards 4

5 Java Cards are Smart! 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 5

6 Properties  Highly secure  Tampering with one, results in destruction of the information it contains  Does not contain a battery. Becomes active when connected with a card reader  Comes in two forms:  Contact  Contact less 6

7  Contact Java 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. 7 Contact & Contact-Less

8 Features of Java Card  SUPPORTED  NOT SUPPORTED Small primitive data types: boolean, byte, short. One dimensional arrays. Object oriented features: inheritance, virtual methods, dynamic object creation, overloading, scope. Large primitive data types: long, double, float. Characters, strings. Multidimensional arrays. Dynamic class loading. Garbage collection. Threads. Object Cloning 8

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 9

10 10

11 The Back-End Application and Systems  Provides connectivity to security systems  Example :  In an electronic payment system, the back-end application could provide access to credit card and other payment information 11

12 Card Reader’s side  Consists of two parts:  Host Application  Card Acceptance Device  Example Think of an ATM machine  Host Application, being the Computer, provides interaction with the system.  Card Acceptance Device, where you insert a debit card. 12

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 13

14 Developing a Java Card Applet  Write the Java source  Compile your source  Convert the class files into a Converted Applet (CAP) file (binary representation of classes and interfaces)  Verify that the CAP is valid (structure, valid bytecode subset, inter-package dependencies)  Install the CAP file 14

15 Communicating with a Java Card Applet  Two methods for communicating with Java Card Applet : 1. Fundamental message-passing model 2. Java Card Remote Method Invocation (JCRMI) which is a subset of J2SE RMI! 15

16 16

17 The 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 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 18

19 The Command APDU CLA - Class of Instruction INS - Instruction Code P1,P2 - Parameters Lc - Length of the field Le - Maximum Response Length 19

20 The Response APDU SW1 : Status word1 SW2: Status word2 20

21 The 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. 21

22 Benefits  Hardware Independence: Java Card is independent of the type of hardware used and it can be run on any Smart card processor (8 bits or 16 bits or 32 bits )  Ability to store and manage many applications  Applets developed with Java Card technology will run on any Java Card technology-enabled smart card, independently of the card vendor and underlying hardware. 22

23 Applications  Subscriber Identity Module (SIM) cards, used in cell phones on most wireless networks  Government and health-care identity cards  Financial cards supporting both online and offline transactions  Smart tickets for mass trans 23

24 Java Card Language Limitations 24

25 Thank you 25


Download ppt "1. Presentation Agenda  Identify Java Card Technology  Identify Elements of Java Card applications  Communicating with a Java Card Applet  Java Card."

Similar presentations


Ads by Google