Javaoneindia2011 Javacard3 Violleau 400736 en In

Embed Size (px)

Citation preview

  • 8/13/2019 Javaoneindia2011 Javacard3 Violleau 400736 en In

    1/39

  • 8/13/2019 Javaoneindia2011 Javacard3 Violleau 400736 en In

    2/39

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

    Applications

    Thierry Violleau

    Java Card 3 Architect

  • 8/13/2019 Javaoneindia2011 Javacard3 Violleau 400736 en In

    3/39

    The following is intended to outline our general prod

    direction. It is intended for information purposes onland 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 makin

    purchasing decisions.

    The development, release, and timing of any feature

    or functionality described for Oracles products rema

    at the sole discretion of Oracle.

  • 8/13/2019 Javaoneindia2011 Javacard3 Violleau 400736 en In

    4/39

    Agenda

    Java Card 3 Technology

    Classic Java Card TechnologyA Reminder

    Java Card 3 Specifications

    Java Card 3 Connected Edition

    SIMagine Developer Contest

    Demonstrations Card Portal and Card Service Discovery

    Mobile Ticketing and Contacless Payment

    Peer Card Discovery and Card-to-Card Transactions

  • 8/13/2019 Javaoneindia2011 Javacard3 Violleau 400736 en In

    5/39

    Java Card 3Technology

  • 8/13/2019 Javaoneindia2011 Javacard3 Violleau 400736 en In

    6/39

    Classic Java Card Technology: A Quick Remind

    Java Card 2.2.2 Classic Platf

    Specifications Subset of Java Platform, S

    Edition (Java SE platform) an

    programming language

    Split-VM Architecture

    Persistent VM model

    Firewall model isolates conteapplets

    Transaction management

    ISO7816 Communication I/F

    protocol

    System Classes

    AppletApplet

    Framework

    (API)

    Industry

    ExtensionsInstaller

    Java Card

    Virtual MachineNative Methods

    Applet

    Mgr

    Xaction

    Mgr

    APDU

    I/O

    Other

    Services

    Applet

  • 8/13/2019 Javaoneindia2011 Javacard3 Violleau 400736 en In

    7/39

    Classic Edit ion

    Traditional smart card architecture

    Within the current JC 2.x memory constraints

    APDU based

    Connected Edit

    Faster CPU

    Larger memory

    Network-oriented

    High-speed interface

    Core Java Card functionalities

    Security (firewall, crypto, ...), Backward compatibility

    Java Card 3 SpecificationsOne Technology - Two Editions

  • 8/13/2019 Javaoneindia2011 Javacard3 Violleau 400736 en In

    8/39

    Targeted Smart Card Hardware

  • 8/13/2019 Javaoneindia2011 Javacard3 Violleau 400736 en In

    9/39

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

    Java Card 3 Connected EditionHigh-level Architecture

  • 8/13/2019 Javaoneindia2011 Javacard3 Violleau 400736 en In

    10/39

    Java Card 3 Connected EditionNetwork-Oriented Connectivity

    Multiple independent physical

    Concurrent contacted and con

    communications Concurrent TCP and APDU co

    Concurrent protocol-driven (AP

    applications enabled by multi-t

    Card (e.g. SIM) integrates as n

    the local network Supports IPv4 and IPv6

    Supports TCP and TLS comm

    Delivers the functionality via th

    the Generic Connection Frame

  • 8/13/2019 Javaoneindia2011 Javacard3 Violleau 400736 en In

    11/39

    Java Card 3 Connected EditionHardware Capabilities

    Leverages new hard

    capabilities

    Multiple interfaces

    Faster CPU

    Large memory

  • 8/13/2019 Javaoneindia2011 Javacard3 Violleau 400736 en In

    12/39

    Java Card 3 Connected EditionMore Main-stream Java Card Virtual Machine

    Java Card VM based on

    Java ME CLDC-based

    Class file loading

    Multi-threading

    String and collection

    No Floating point

    Java SE language feat

    Generics Annotations...

    Java Card-specific Enh

    Persistence (by reac

    Transactions

    Firewall...

  • 8/13/2019 Javaoneindia2011 Javacard3 Violleau 400736 en In

    13/39

    Java Card 3 Connected EditionRich API Set

    Java Card Classic APIs

    Java Card Connected-s

    CLDC APIs Multithreading, Colle

    Networking (GCF)...

    New APIs:

    Role & permission-b

    Application & User a

    Service, Event and T

    Credential (Key & Tr

    Extensible Cryptogra

    File System (GCF)

    Transaction annotat

  • 8/13/2019 Javaoneindia2011 Javacard3 Violleau 400736 en In

    14/39

    Java Card 3 Connected EditionWeb Application Container

    Embedded web server w

    support

    Allows for web applicatio Subset of Java EE Serv

    Provides richer interact

    Brings a web look-and-

    applications

    Integration in web serv

    mashup...)

    Compatible, yet goes be

    SCWS for Java Card 2.x

    support, no strings)

  • 8/13/2019 Javaoneindia2011 Javacard3 Violleau 400736 en In

    15/39

    Java Card 3 Connected EditionExtended Applet Container

    ClassicAPDU-driven Ap

    model

    With Access to all Co Multithreading

    Collections

    I/O

    Networking (GCF)

    And all the new APIs

    Supports truly concur

    applications

  • 8/13/2019 Javaoneindia2011 Javacard3 Violleau 400736 en In

    16/39

    Java Card 3 Connected EditionClassic Applet Container

    Backward compatibility w

    Card 2.2.x applications

    Compatibility with applicdeveloped for the Java C

    Edition

    Classic applets:

    APDU-driven

    Run single threaded Have only access to

  • 8/13/2019 Javaoneindia2011 Javacard3 Violleau 400736 en In

    17/39

    Java Card 3 Connected EditionDevelopment Life Cycle For a Brand New Application

    Off-the-shelf IDE

    Deploy,

    Create,Delete

    Compile,

    Build AppModulePackage

    Java

    SourceFiles

    Java Card 3 Connected Platform Ja

  • 8/13/2019 Javaoneindia2011 Javacard3 Violleau 400736 en In

    18/39

    Java Card 3 Connected EditionDevelopment Life Cycle For a Legacy Java Card 2.2.x Application

    Off-the-shelf IDE

    Deploy,

    Create,Delete

    Normalize

    Classic

    AppModule

    Package

    Java Card 3 Connected Platform Ja

    CAP File

  • 8/13/2019 Javaoneindia2011 Javacard3 Violleau 400736 en In

    19/39

    Java Card 3 Connected EditionDevelopment Life Cycle for an Enhanced Legacy Java Card 2.2 Applic

    Off-the-shelf IDE

    Deploy,

    Create,Delete

    Compile,

    Build

    Extended

    AppModule

    Package

    Java

    SourceFiles

    Java Card 3 Connected Platform Ja

    CAP File

    =

  • 8/13/2019 Javaoneindia2011 Javacard3 Violleau 400736 en In

    20/39

    Java Card 3 Connected EditionSoftware 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)

  • 8/13/2019 Javaoneindia2011 Javacard3 Violleau 400736 en In

    21/39

    Java Card 3 Connected EditionNetBeans IDE Supports For All java Card 3 Connected Application M

  • 8/13/2019 Javaoneindia2011 Javacard3 Violleau 400736 en In

    22/39

    Java Card 3 Connected EditionNetBeans IDE Multiple Deployment Platform Targets

  • 8/13/2019 Javaoneindia2011 Javacard3 Violleau 400736 en In

    23/39

    Java Card 3 Connected EditionKenai Java Card 3 Developer Portal

  • 8/13/2019 Javaoneindia2011 Javacard3 Violleau 400736 en In

    24/39

    Java Card 3 Connected EditionAdded 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

    multithreading Concurrent contac

    contactless interfac

    Concurrent APDU

    based communica

    IP connectivity

    Frees from the AP

    Simplifies infrastru

    on terminal)

    Allows for card-init

    connections

  • 8/13/2019 Javaoneindia2011 Javacard3 Violleau 400736 en In

    25/39

    Java Card 3 Connected EditionAdded Value Compared to Java Card 3 Classic Edition

    Embedded web server

    Provides richer interactionwith end-user

    Brings a web look-and-feel

    to card applications

    Integration in web services

    (web mashup...)

    Enhanced security fea

    support a more compenvironment

    Flexible role-based

    permission-based

    End-to-end secure

  • 8/13/2019 Javaoneindia2011 Javacard3 Violleau 400736 en In

    26/39

    Java Card 3 Connected EditionSummary

    Result of several years of joint work with the Java

    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 applica Improving utilization and integration of card services

    Backward compatible

    Supported by Global Platform (GP NF)

    SIM i D l C t t

  • 8/13/2019 Javaoneindia2011 Javacard3 Violleau 400736 en In

    27/39

    SIMagine Developer ContestNew Contest Category

    Java Card 3 Connected application development c

    Expands the well-established Java Card developecontest beyond traditional SIM use cases

    Submitted applications:

    Must be Java Card Connected-based solutions integrati

    other Java client technologies (Java SE, Java ME, etc) aenterprise/backend systems

    May apply to any domain: Utilities, health, payment, ID,

    mobile, SmartGrid, etc

    SIM i D l C t t

  • 8/13/2019 Javaoneindia2011 Javacard3 Violleau 400736 en In

    28/39

    SIMagine Developer ContestContest Rules and Rewards

    Substantial financial prize for winners

    Judging Criteria Leveraging Java Card security

    Mobility of the client-side app (Java Card, Java ME, Jav

    Web connectivity from the card

    Smart card compliant/realistic footprint

    Business plan (Marketing appeal, Innovation, Consumer

    Technical aspects, Deployment on the Market...)

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

  • 8/13/2019 Javaoneindia2011 Javacard3 Violleau 400736 en In

    29/39

    Java Card 3Connected

    Edition -

    Demonstrations

    S t f th D t ti

  • 8/13/2019 Javaoneindia2011 Javacard3 Violleau 400736 en In

    30/39

    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 (m-DNS/DNS-SD)

    Desktop Browser

    Firefox w/ FoxyBonjour plugin (Bonjour)

    M-DNS

    DNS-SD

    Demonstration #1

  • 8/13/2019 Javaoneindia2011 Javacard3 Violleau 400736 en In

    31/39

    Demonstration #1Card 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 ho

    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 c

    point for Operators on a SIM card

    Demonstration #1

  • 8/13/2019 Javaoneindia2011 Javacard3 Violleau 400736 en In

    32/39

    Demonstration #1Card Portal and Card Service Discovery - Synopsis

    Demonstration #2

  • 8/13/2019 Javaoneindia2011 Javacard3 Violleau 400736 en In

    33/39

    Demonstration #2Mobile Ticketing and Contactless Payment - Description

    Combines NFC based payment with enhanced W

    interaction and asynchronous notifications

    Integrates

    Web application for rich user experience

    Extended applet application for contactless communicat

    Classic applet application for legacy purse transactions

    Demonstration #2

  • 8/13/2019 Javaoneindia2011 Javacard3 Violleau 400736 en In

    34/39

    Demonstration #2Mobile Ticketing and Contactless Payment - Synopsis

    Demonstration #3

  • 8/13/2019 Javaoneindia2011 Javacard3 Violleau 400736 en In

    35/39

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

    Allows for the card to automatically discover servic

    other cards on the same local network or plugged

    same host and perform secure card-to-card transa

    Demonstration #3

  • 8/13/2019 Javaoneindia2011 Javacard3 Violleau 400736 en In

    36/39

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

  • 8/13/2019 Javaoneindia2011 Javacard3 Violleau 400736 en In

    37/39

    Thank You!Thierry Violleau

    [email protected]

    PS: Please enter th e SIMagine c on test (ht tp: / /www.simagine.inf

    mailto:[email protected]:[email protected]:[email protected]
  • 8/13/2019 Javaoneindia2011 Javacard3 Violleau 400736 en In

    38/39

    The preceding is intended to outline our general pro

    direction. It is intended for information purposes onl

    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 makin

    purchasing decisions.

    The development, release, and timing of any featureor functionality described for Oracles products rema

    at the sole discretion of Oracle.

  • 8/13/2019 Javaoneindia2011 Javacard3 Violleau 400736 en In

    39/39