Sunteți pe pagina 1din 39

1

<Insert Picture Here>

Java Card 3 Platform, Connected Edition: A New World of Smartcard Applications


Thierry Violleau Java Card 3 Architect

The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. The development, release, and timing of any features or functionality described for Oracles products remains at the sole discretion of Oracle.

Agenda
Java Card 3 Technology
Classic Java Card Technology A Reminder Java Card 3 Specifications Java Card 3 Connected Edition SIMagine Developer Contest
<Insert Picture Here>

Demonstrations
Card Portal and Card Service Discovery Mobile Ticketing and Contacless Payment Peer Card Discovery and Card-to-Card Transactions

Java Card 3 Technology

Classic Java Card Technology: A Quick Reminder


Java Card 2.2.2 Classic Platform Specifications Subset of Java Platform, Standard Edition (Java SE platform) and Java programming language Split-VM Architecture
System Classes Applet Mgr Xaction Mgr APDU I/O Other Services

Applet

Applet

Applet

Framework (API)

Industry Extensions

Installer

Persistent VM model Firewall model isolates contexts and applets

Java Card Virtual Machine

Native Methods

Transaction management
ISO7816 Communication I/F and protocol

Java Card 3 Specifications


One Technology - Two Editions

Classic Edition
Traditional smart card architecture Within the current JC 2.x memory constraints APDU based

Connected Edition
Faster CPU Larger memory Network-oriented High-speed interface

Core Java Card functionalities Security (firewall, crypto, ...), Backward compatibility

Targeted Smart Card Hardware

Java Card 3 Connected Edition


High-level Architecture

Java Card VM = Java ME/CLDC-based subset + Java SE language features (Generics,Annotations...) + Java Card-specific Enhancements (Transactions, Persistence, Firewall...)

Java Card 3 Connected Edition


Network-Oriented Connectivity

Multiple independent physical and logical I/Fs Concurrent contacted and contactless APDU communications Concurrent TCP and APDU communications Concurrent protocol-driven (APDU, TCP, HTTP) applications enabled by multi-threading support Card (e.g. SIM) integrates as network node into the local network
Supports IPv4 and IPv6 Supports TCP and TLS communications Delivers the functionality via the io packages and the Generic Connection Framework (GCF)
10

Java Card 3 Connected Edition


Hardware Capabilities

Leverages new hardware capabilities


Multiple interfaces Faster CPU Large memory

11

Java Card 3 Connected Edition


More Main-stream Java Card Virtual Machine

Java Card VM based on:


Java ME CLDC-based subset Class file loading Multi-threading String and collection classes support No Floating point Java SE language features Generics Annotations... Java Card-specific Enhancements Persistence (by reachability) Transactions Firewall...
12

Java Card 3 Connected Edition


Rich API Set

Java Card Classic APIs Java Card Connected-specific APIs:


CLDC APIs Multithreading, Collections, I/O, Networking (GCF)... New APIs: Role & permission-based security Application & User authentication Service, Event and Task facilities Credential (Key & Trust) management Extensible Cryptography Framework File System (GCF) Transaction annotations...
13

Java Card 3 Connected Edition


Web Application Container

Embedded web server with full HTTP support Allows for web application development:
Subset of Java EE Servlet 2.4 Provides richer interaction with end-user Brings a web look-and-feel to card applications Integration in web services (web mashup...)

Compatible, yet goes beyond TS102 588 SCWS for Java Card 2.x (limited HTTP support, no strings)

14

Java Card 3 Connected Edition


Extended Applet Container

Classic APDU-driven Applet application model With Access to all Connected APIs
Multithreading Collections I/O Networking (GCF) And all the new APIs...

Supports truly concurrent applet applications

15

Java Card 3 Connected Edition


Classic Applet Container

Backward compatibility with legacy Java Card 2.2.x applications Compatibility with applications developed for the Java Card Classic Edition Classic applets: APDU-driven Run single threaded Have only access to Classic APIs

16

Java Card 3 Connected Edition


Development Life Cycle For a Brand New Application

Off-the-shelf IDE
Java Source Files Compile, Build Package

JC 3 Classic Apps are

App Module

Deploy, Create, Delete

deployable on both Java Card 3 Platforms

Java Card 3 Connected Platform

Java Card 3 Classic Platform

17

Java Card 3 Connected Edition


Development Life Cycle For a Legacy Java Card 2.2.x Application

Off-the-shelf IDE
CAP File Normalize Package Classic App Module Deploy, Create, Delete

Normalized Legacy JC 2.2 Apps are deployable on both Java Card 3 Platforms

Java Card 3 Connected Platform

Java Card 3 Classic Platform

18

Java Card 3 Connected Edition


Development Life Cycle for an Enhanced Legacy Java Card 2.2 Applications

Off-the-shelf IDE
Java Source Files Compile, Build Package Extended App Module Deploy, Create, Delete

Extended Applet Apps


are only deployable on Java Card 3 Connected Platform

=
CAP File

Java Card 3 Connected Platform

Java Card 3 Classic Platform

19

Java Card 3 Connected Edition


Software Development Kit (SDK)

Reference Implementation (RI)

Technology Compatibility Kit (TCK)


Tools:
NetBeans IDE support (available from netbeans.org)

Packager
Normalizer Off-card installer

Documentation
API docs User guides Programming Notes

Samples applications (available on Kenai Developer Portal)


20

Java Card 3 Connected Edition


NetBeans IDE Supports For All java Card 3 Connected Application Models

21

Java Card 3 Connected Edition


NetBeans IDE Multiple Deployment Platform Targets

22

Java Card 3 Connected Edition


Kenai Java Card 3 Developer Portal

23

Java Card 3 Connected Edition


Added Value Compared to Java Card 3 Classic Edition

More main stream Java platform


Leverages new hardware capabilities Multiple interfaces Faster CPU Large memory Leverages broader developer base Streamlined development tool integration

Concurrent interfaces and multithreading


Concurrent contact and contactless interface in parallel Concurrent APDU and TCP/IP based communication

IP connectivity
Frees from the APDU bottleneck Simplifies infrastructure (no proxy on terminal) Allows for card-initiated connections
24

Java Card 3 Connected Edition


Added Value Compared to Java Card 3 Classic Edition

Embedded web server


Provides richer interaction with end-user Brings a web look-and-feel to card applications Integration in web services (web mashup...)

Enhanced security features to support a more complex environment


Flexible role-based and permission-based security End-to-end secure connections

25

Java Card 3 Connected Edition


Summary

Result of several years of joint work with the Java Card Forum:
Leveraging new hardware capabilities Leveraging existing proven technologies Java ME, Java SE, Java EE Leveraging a broader developer base and tools Simplifying development and deployment of card applications Improving utilization and integration of card services Backward compatible

Supported by Global Platform (GP NF)


26

SIMagine Developer Contest


New Contest Category

Java Card 3 Connected application development contest Expands the well-established Java Card developer contest beyond traditional SIM use cases Submitted applications:
Must be Java Card Connected-based solutions integrating with other Java client technologies (Java SE, Java ME, etc) and with enterprise/backend systems May apply to any domain: Utilities, health, payment, ID, B2C, mobile, SmartGrid, etc

27

SIMagine Developer Contest


Contest Rules and Rewards

Substantial financial prize for winners Judging Criteria


Leveraging Java Card security Mobility of the client-side app (Java Card, Java ME, Java SE) Web connectivity from the card Smart card compliant/realistic footprint Business plan (Marketing appeal, Innovation, Consumer Appeal, Technical aspects, Deployment on the Market...)

More info to be posted at: http://www.simagine.info/


28

Java Card 3 Connected Edition Demonstrations

29

Setup for the Demonstrations


Phone emulator
JSR 290: JavaTM Language & XML User Interface Markup Reference Implementation Version 1.0

SIM card
Java Card 3 Connected Reference Implementation Version 3.0.1 Enhanced w/ Zeroconf Stack (mDNS/DNS-SD)

M-DNS

DNSSD

Desktop Browser
Firefox w/ FoxyBonjour plugin (Bonjour)
30

Demonstration #1
Card Portal and Card Service Discovery - Description

Card Service Discovery


Allows for the card hosting device (desktop or mobile) to automatically detect services on the card Allows for the card to also detect any services on the host and network

Card Portal
Lists all installed card application and services Provides an enhanced user interaction and experience Replacement proposal for aging SIM toolkit Provides a very attractive customizable and brandable central point for Operators on a SIM card
31

Demonstration #1
Card Portal and Card Service Discovery - Synopsis

32

Demonstration #2
Mobile Ticketing and Contactless Payment - Description

Combines NFC based payment with enhanced Web user interaction and asynchronous notifications Integrates
Web application for rich user experience Extended applet application for contactless communication Classic applet application for legacy purse transactions

33

Demonstration #2
Mobile Ticketing and Contactless Payment - Synopsis

34

Demonstration #3
Peer Card Discovery and Card-to-Card Transactions - Description

Allows for the card to automatically discover services on other cards on the same local network or plugged in the same host and perform secure card-to-card transactions

35

Demonstration #3
Peer Card Discovery and Card-to-Card Transactions - Synopsis

36

<Insert Picture Here>

Thank You!
Thierry Violleau thierry.violleau@oracle.com

PS: Please enter the SIMagine contest (http://www.simagine.info/)

37

The preceding is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. The development, release, and timing of any features or functionality described for Oracles products remains at the sole discretion of Oracle.

38

39

S-ar putea să vă placă și