The key to an open world
‹#›(SAR 2003)Copyright © 2003 Oberthur Card Systems. All rights reserved. 30/06/3
Security applications
with Java Card
SAR 2003, Nancy
Julien SIMON
j.simon@oberthurcs.com
‹#›(SAR 2003)Copyright © 2003 Oberthur Card Systems. All rights reserved.
The key to an open world
30/06/2003
Outline
1. Introduction
2. Java Card overview
3. WAP security
4. IP security
5. 802.11 security
6. Q&A
‹#›(SAR 2003)Copyright © 2003 Oberthur Card Systems. All rights reserved.
The key to an open world
30/06/2003
Introduction
Oberthur Card Systems
§  No. 1 supplier of MasterCard
and Visa payment cards
worldwide.
§  No. 3 supplier of 2G/3G cards
worldwide.
§  First to apply Java technology
to the SIM card (1998).
§  Please refer to
www.oberthurcs.com for more
information.
Speaker
§  3 years at OCS R&D.
§  Mobile Communications
Development Manager.
§  In a previous life, lots of time
spent in TCP/IP and kernel
code (Mach / Chorus / *nix) :
hence, a strong interest in
computer (in)security…
The key to an open world
‹#›(SAR 2003)Copyright © 2003 Oberthur Card Systems. All rights reserved. 30/06/3
Java Card overview
Architecture
Language, VM, API
Security applications with Java Card
‹#›(SAR 2003)Copyright © 2003 Oberthur Card Systems. All rights reserved.
The key to an open world
30/06/2003
Java Card
§  Software standard initiated by Sun Microsystems in October 1996.
§  JC is now maintained by the Java Card Forum.
§  JC defines an environment allowing Java applications to to run on a
microprocessor smartcard : Java Card Runtime Environment (JCRE) :
§  Java Card is nice because :
s It allows faster and easier development than native code.
s It has all the benefits of OOD / OOP.
s It is portable at source and binary level.
s It allows applications to be loaded after the smartcard has been issued.
§  A well-designed Java Card is a very safe foundation :
s  Common Criteria EAL 4+ evaluation obtained by OCS in 2002.
s  State-of-the art cryptography, protected against SPA/DPA/DFA attacks.
‹#›(SAR 2003)Copyright © 2003 Oberthur Card Systems. All rights reserved.
The key to an open world
30/06/2003
Java Card Runtime Environment
§ The JCRE includes :
s The Java Card Virtual Machine,
s The Java Card API,
s A basic application installer.
§ It’s implemented in ROM by the smartcard issuer.
§ Its behavior is defined by the Java Card Runtime
Environment Specification.
§ Versions :
s 2.1 (May 2000).
s 2.2 (May 2002).
‹#›(SAR 2003)Copyright © 2003 Oberthur Card Systems. All rights reserved.
The key to an open world
30/06/2003
Java Card architecture
Hardware Abstraction Layer
Java Card
Virtual Machine
Java Card
API
Other API
(GSM, etc)
JCRE
Applet 1 Applet 2 Applet 3
Microcontroller
‹#›(SAR 2003)Copyright © 2003 Oberthur Card Systems. All rights reserved.
The key to an open world
30/06/2003
Language
§ JC supports most features of the Java language :
s Packages,
s Dynamic object creation (new),
s Virtual methods, Inheritance, Interfaces,
s Exceptions,
s Etc.
§ The following types are not supported
s char,
s long, float and double,
s Multi-dimensional arrays.
§ The int type is optional.
‹#›(SAR 2003)Copyright © 2003 Oberthur Card Systems. All rights reserved.
The key to an open world
30/06/2003
Java Card Virtual Machine
§ The JCVM has a classic architecture :
s It runs bytecode on an operand stack.
s JC bytecode is a subset of Java bytecode
s E.g. no int related bytecode : iload, istore, etc.
§ Compared to the JVM, the JCVM is very simplified :
s No on-demand class loading : all required classes must present on the card.
s No threads, etc.
§ The JVCM also has specific features (transactions,
inter-applet communication).
§ The behavior of the JCVM is defined by the
Java Card Virtual Machine Specification.
‹#›(SAR 2003)Copyright © 2003 Oberthur Card Systems. All rights reserved.
The key to an open world
30/06/2003
Java Card 2.1 API
§  The JC 2.1 API includes four packages, defined by the
Java Card 2.1 Application Programming Interfaces
Specification.
§  java.lang : minimal Java classes.
§  javacard.framework : smartcard-related classes
s  Communication with the terminal, PIN handling, etc.
§  javacard.security & javacardx.crypto : security classes.
s  Keys : DES, 3DES, RSA et DSA.
s  Crypto objects : KeyPair, MessageDigest, Cipher and Signature.
§  Java Card 2.2 adds Java Card RMI, AES, ECC, garbage
collection, etc.
‹#›(SAR 2003)Copyright © 2003 Oberthur Card Systems. All rights reserved.
The key to an open world
30/06/2003
Java Card references
§ Java Card
s Specs & JCDK : http://java.sun.com/javacard/
s Java Card Forum : http://www.javacardforum.org/
s « Java Card Technology For Smart Cards » , Addison-Wesley,
2000.
§ Cryptography
s RSA Labs : http://www.rsalabs.com/
s « Cryptographie appliquée » (2ème édition), Bruce Schneier.
s « Handbook of Applied Cryptography »
http://www.cacr.math.uwaterloo.ca/hac/
The key to an open world
‹#›(SAR 2003)Copyright © 2003 Oberthur Card Systems. All rights reserved. 30/06/3
WAP security
WAP overview
Wireless Identity Module (WIM)
Smartcard WAP browsers
‹#›(SAR 2003)Copyright © 2003 Oberthur Card Systems. All rights reserved.
The key to an open world
30/06/2003
Wireless Application Protocol
§  WAP 1.0 was released in 1998 and evolved into 1.3.
§  WAP 1.x doesn’t support standard Internet protocols
and languages : a WAP gateway is required.
WAE: Application Environment
WSP: Session Protocol
WTP: Transaction Protocol
WTLS: Transaction Layer Security
WDP: Datagram Protocol
HTTP: Hyper Text Transfer Protocol
SSL: Secure Sockets Layer
TCP: Transmission Control Protocol
IP: Internet Protocol
‹#›(SAR 2003)Copyright © 2003 Oberthur Card Systems. All rights reserved.
The key to an open world
30/06/2003
WAP architecture
WAP Gateway
Page encoder
Page
converter
Protocol Adapters
HTTP
Web Server
Content
CGI
Scripts
etc.
HTMLpages
WMLpages
WML = Wireless Markup Language
HTML = Hyper Text Markup Language
CGI = Common Gateway Interface
ME = Mobile Equipment
HTTP = Hyper Text Transfer Protocol
WSP = Wireless Session Protocol
WTP = Wireless Transaction Protocol
ME
WAP
browser
WSP/WTPConfig.
files
‹#›(SAR 2003)Copyright © 2003 Oberthur Card Systems. All rights reserved.
The key to an open world
30/06/2003
Wireless Identity Module
§  WAP communication is secured by the Wireless
Transaction Layer Protocol (WTLS), which is “equivalent”
to SSL.
§  WTLS relies on the Wireless Identity Module (WIM) to
perform secure operations, such as :
s  Verification primitives (PIN operations).
s  Data Access primitives (Key/certificate storage in PKCS #15 files)
s  Cryptography primitives : Compute Digital Signature, Verify Signature, Hash,
Decipher and various key primitives used to setup a WTLS session (Diffie-
Hellman, etc).
§  The WAP browser also needs the WIM to perform the
signText operation (application-level signature).
§  The WIM can be implemented as a Java Card applet.
‹#›(SAR 2003)Copyright © 2003 Oberthur Card Systems. All rights reserved.
The key to an open world
30/06/2003
WAP (in)security
WML/HTML
Web server
WML/HTML Bytecode
SSL
TCP WDP
GSM networkInternet
WTLS
There is no end-to-end security, because of the WTLS/SSL gateway.
This is the infamous “WAP gap” problem.
WAP 2.0 solves this by using standard Internet protocols (TLS).
N
‹#›(SAR 2003)Copyright © 2003 Oberthur Card Systems. All rights reserved.
The key to an open world
30/06/2003
End-to-end security
WML/HTML
Web server
WML/HTML Bytecode
TCP/IP 03.48
GSM networkInternet
Data is protected by the application,
i.e. the bytecode is encrypted/decrypted by the WAP browser
running on the (U)SIM card.
‹#›(SAR 2003)Copyright © 2003 Oberthur Card Systems. All rights reserved.
The key to an open world
30/06/2003
WAP with a smartcard browser
SMS-C
MESIM
WAP
Browser
Config.
files
OTA
server
WAP
gatewayProactive
commands
03.40 / 03.48 transport
‹#›(SAR 2003)Copyright © 2003 Oberthur Card Systems. All rights reserved.
The key to an open world
30/06/2003
Plug-in architecture
§ The core browser can be extended using plug-ins.
§ A plug-in is a normal SIM Toolkit applet.
s It extends the WIB by adding new features :
l  Data storage,
l  Cryptography : the WAP gap must be closed !
s It may be installed at personalization time.
s Plug-ins are usually small enough to be installed OTA.
§ Applet communication is possible with Java Card :
s A plug-in registers to the WIB using a Shareable interface.
s When the WIB receives the Plug-In command, it invokes the plug-in using
another Shareable interface.
‹#›(SAR 2003)Copyright © 2003 Oberthur Card Systems. All rights reserved.
The key to an open world
30/06/2003
PKI plug-ins
§ A smartcard browser usually supports several Public
Key Infrastructure (PKI) plug-ins.
§ Decryption : Asymmetric Decryption (AD)
§ Digital signature (text) : PKCS#1 (P1)
§ Digital signature with time stamp (text) : PKCS#7 (P7)
§ Digital signature and non-repudiation (data) :
Fingerprint (FP)
‹#›(SAR 2003)Copyright © 2003 Oberthur Card Systems. All rights reserved.
The key to an open world
30/06/2003
A Band Of Browsers
§  SmartTrust Wireless Internet Browser (WIB)
§  SIM Alliance S@T browser.
§  3GPP USAT Interpreter :
s 21.112 & 31.11{2,3,4} Release 5 & 6 : architecture, protocol, core browser.
s 31.113 Release 6 : plug-ins.
§  These browsers all support the WML standard (or at least a
large subset of it) as well as proprietary extensions (S@TML,
SmartTrust WML, etc). This is similar to the Netscape/IE
situation.
‹#›(SAR 2003)Copyright © 2003 Oberthur Card Systems. All rights reserved.
The key to an open world
30/06/2003
WAP references
§ USAT Interpreter – http://www.3GPP.org/
§ SIM Alliance – http://www.SIMAlliance.org
§ SmartTrust – http://www.SmartTrust.com
§ PKCS – http://www.RSALabs.com
§ WAP – http://www.OpenMobileAlliance.com/
§ World Wide Web Consortium – http://www.w3.org/
The key to an open world
‹#›(SAR 2003)Copyright © 2003 Oberthur Card Systems. All rights reserved. 30/06/3
IP Security
IP in mobile networks
Internet Key Exchange
Diffie-Hellman with Java Card
‹#›(SAR 2003)Copyright © 2003 Oberthur Card Systems. All rights reserved.
The key to an open world
30/06/2003
IP in mobile networks
‹#›(SAR 2003)Copyright © 2003 Oberthur Card Systems. All rights reserved.
The key to an open world
30/06/2003
IPsec and smartcards
IPsec tunnel
TCP = Transmission Control Protocol
HTTP = Hyper Text Transfer Protocol
Internet
apps TCP / HTTP
Private network
IPsec
IKE setup
IPsec
processing
Untrusted network
Host
‹#›(SAR 2003)Copyright © 2003 Oberthur Card Systems. All rights reserved.
The key to an open world
30/06/2003
Internet Key Exchange
IKE defines two phases :
1.  Creation of a secure channel between the IKE peers.
a. Negotiation of the IKE Security Association : encryption algorithm, hash function,
authentication method (pre-shared keys, RSA), Diffie-Hellman group.
b. Generation of shared secrets with a Diffie-Hellman exchange.
c. Mutual authentication and establishment of the secure IKE channel.
2.  Creation of the IPsec security association.
a. Using the secure IKE channel, negotiation of the IPsec Security Association : SPI,
IPsec transform.
b. Generation of the required keys either by deriving the Phase 1 secret, or by
performing another Diffie-Hellman exchange.
‹#›(SAR 2003)Copyright © 2003 Oberthur Card Systems. All rights reserved.
The key to an open world
30/06/2003
Diffie-Hellman for mathematicians
§  Diffie-Hellman (1976) is a widespread protocol for shared secret establishment.
§  P and α are two public numbers : α<P, P prime.
Send αa mod P
Send αb mod P
Compute
(αa mod P)b mod P.
Pick b random.
Compute αb mod P.
Compute
(αb mod P)a mod P.
Pick a random.
Compute αa mod P.
Alice Bob
Receive αb mod P.
Receive αa mod P.
Shared secrets are derived from (αab mod P) mod P
(αb mod P)a mod P
= (αa mod P)b mod P
= (αab mod P) mod P
‹#›(SAR 2003)Copyright © 2003 Oberthur Card Systems. All rights reserved.
The key to an open world
30/06/2003
Diffie-Hellman for the layman
§  DH may be implemented primitives from public key systems based on
exponentiation (RSA, DSA) or elliptic curves (ECDSA).
§  DH is vulnerable to the man-in-the-middle attack, so each peer should use
a certificate to authenticate the other peer.
Ca = ENCRYPT(α, Ka)
Cb = ENCRYPT(α, Kb)Cipher Cb with Ka.
Pick a random.
Build key Ka:
exp = a,mod = P.
Cipher α with Ka.
Alice Bob
Pick b random.
Build key Kb:
exp = b,mod = P.
Cipher α with Kb
Cipher Ca with Kb.
‹#›(SAR 2003)Copyright © 2003 Oberthur Card Systems. All rights reserved.
The key to an open world
30/06/2003
Diffie-Hellman with Java Card
§ JC 2.1 supports RSA, so DH can be implemented.
§ JC 2.2 introduces javacard.security.KeyAgreement,
which is the base class for key agreement algorithms
like DH.
s At this point, the KeyAgreement API only supports ECC keys.
s Main operation : generation of a shared secret using the caller’s Private
Key and public data received from the peer.
s public abstract short generateSecret(
byte[] publicData, short publicOffset,short publicLength,
byte[] secret, byte[] secretOffset)
‹#›(SAR 2003)Copyright © 2003 Oberthur Card Systems. All rights reserved.
The key to an open world
30/06/2003
IPsec references
§  RFC 2401 – Security Architecture For The Internet Protocol.
§  RFC 2402 – IP Authentication Header.
§  RFC 2406 – IP Encapsulating Security Payload.
§  RFC 2407 – The Internet IP Security Domain of Interpretation for
ISAKMP.
§  RFC 2408 – Internet Security Association and Key Management
Protocol.
§  RFC 2409 – The Internet Key Exchange.
§  RFC 2631 – Diffie-Hellman Key Agreement Method.
The key to an open world
‹#›(SAR 2003)Copyright © 2003 Oberthur Card Systems. All rights reserved. 30/06/3
Wi-Fi
802.11 weaknesses
Improvements to 802.11 security
Implementing 802.11 security on a (U)SIM smartcard
‹#›(SAR 2003)Copyright © 2003 Oberthur Card Systems. All rights reserved.
The key to an open world
30/06/2003
802.11 (in)security
§ 802.11 security has been cracked.
§ A new protocol is introduced to support client
authentication and distribution of session keys :
the Extensible Authentication Protocol (EAP).
§ EAP is a generic transport protocol for a large
number of authentication and key distribution
methods.
§ EAP can be integrated into PPP [RFC2284] or 802.2
[802.1X].
‹#›(SAR 2003)Copyright © 2003 Oberthur Card Systems. All rights reserved.
The key to an open world
30/06/2003
Improving 802.11 security
§  Wi-Fi Protected Access (WPA) is a short-term solution
(available now).
s  Authentication : 802.1X provides transport for EAP over LANs (EAPoL).
s  Encryption : the Temporal Key Integrity Protocol (TKIP) is based on RC-4 and
uses 128-bit keys which are recycled every 10,000 packets.
§  802.11i will be the long-term standard.
s  Authentication : 802.11i will maintain compatibility with WPA and building on
802.1x.
s  Encryption : 802.11i will introduce new authentication and confidentiality
protocols based on the Advanced Encryption Standard (AES) :
l  Counter CBC Mode Protocol (CCMP).
l  Wireless Robust Authenticated Protocol (WRAP).
‹#›(SAR 2003)Copyright © 2003 Oberthur Card Systems. All rights reserved.
The key to an open world
30/06/2003
802.11i security
Wireless client
EAPoL
Wired networkWireless network
Authentication
methods
Applications
TCP-IP
802.11
802.1x
CCMP
How safe are the keys ? How good is the crypto ?
‹#›(SAR 2003)Copyright © 2003 Oberthur Card Systems. All rights reserved.
The key to an open world
30/06/2003
Better 802.11 security
Wired network
JCRE
EAP
applet
EAP on
ISO7816
Wireless client
EAPoL
A smartcard and an authentication server.
We’ve seen this before, haven’t we ?
Applications
TCP-IP
802.11
802.1x
‹#›(SAR 2003)Copyright © 2003 Oberthur Card Systems. All rights reserved.
The key to an open world
30/06/2003
EAP methods
§  EAP is a generic protocol : it relies on a variety of methods for
authentication and key generation.
§  The following methods could be implemented on a smartcard
to provide mutual authentication and key generation :
1.  EAP-TLS [RFC2716] : Transaction Layer Security [RFC2246].
2.  EAP-SIM (IETF draft) : 2G authentication algorithms.
3.  EAP-AKA (IETF draft) : 3G authentication algorithms.
s  EAP-SIM and EAP-AKA will be part of 3GPP {2,3}3.234
Release 6.
‹#›(SAR 2003)Copyright © 2003 Oberthur Card Systems. All rights reserved.
The key to an open world
30/06/2003
EAP commands
§  Four packet types : Request, Response, Success, Failure.
§  Request (authenticator èpeer)
a.  Identity : query the identity of the peer.
b. Notification : send a displayable message to the peer (password expiration, etc).
c.  TLS / SIM / AKA : set the authentication method and data.
§  Response (peer è authenticator)
a.  Identity : send a peer identity to the authenticator.
b. Notification: acknowledge message.
c.  TLS / SIM / AKA : send authentication value.
d. NAK: decline authentication method and propose another one.
§  Success (authenticator èpeer) : authentication has succeeded.
§  Failure (authenticator èpeer) : authentication has failed.
‹#›(SAR 2003)Copyright © 2003 Oberthur Card Systems. All rights reserved.
The key to an open world
30/06/2003
EAP & 3GPP
3GPP Network
UE
WLAN Access Network
(with or without an
intermediate network)
3GPP AAA
Server
Packet
Data GW
In tran et / In tern et
3GPP PS
services
AAA = Authentication, Authorization and Accounting
GW = Gateway
PS = Packet-Switched
UE = User Equipment
WLAN = Wireless Local Access Network
A wireless client may also use a
3GPP authentication server to
connect to Internet services [23.234].
EAPoL
EAPoL
‹#›(SAR 2003)Copyright © 2003 Oberthur Card Systems. All rights reserved.
The key to an open world
30/06/2003
EAP Java Card API
§  This API is being designed by the Java Card Forum and the WLAN Smart
Card Consortium.
§  It allows Java Card developers to build applications that allow smart cards
to be used as EAP authentication tokens.
§  It has been built in the context of WLAN end-user authentication, which
relies on the EAP protocol.
§  In particular, this API has been built in the context of the APDU protocol
defined in draft-urien-eap-smartcard-01.txt, titled EAP Support in Smart
Cards.
§  It is an extension of the Java Card 2.2 API and relies on Java Card RMI.
§  All necessary cryptographic algorithms are supported by Java Card 2.2.
‹#›(SAR 2003)Copyright © 2003 Oberthur Card Systems. All rights reserved.
The key to an open world
30/06/2003
EAP Java Card API (1)
EAPApplet
EAPService
EAPBasicService
JCRE
Authenticators
JCRMI
EAP on ISO7816
The Authenticator object performs the authentication
itself : it is tied to an identity, a credential and an
authentication method.
The EAPBasicService object implements the EAP
protocol and is registers to JCRMI through the
EAPService interface.
The EAPApplet object is a basic applet that handles
EAP requests through a JCRMI service.
‹#›(SAR 2003)Copyright © 2003 Oberthur Card Systems. All rights reserved.
The key to an open world
30/06/2003
EAP Java Card API (2)
EAPApplet
EAPGlobalService
JCRE
JCRMI
EAP on ISO7816
Applet
Authenticator
Applet
Authenticator
EAPBasicGlobalService
An EAPApplet may be
used to provide EAP
services to normal applets.
Inter-applet communication
is performed through the
Shareable interface.
Java Card Firewall
‹#›(SAR 2003)Copyright © 2003 Oberthur Card Systems. All rights reserved.
The key to an open world
30/06/2003
Wi-Fi references (1)
§  Wi-Fi Alliance – http://www.weca.net
§  IEEE 802.x – http://www.ieee802.org
§  IEEE 802.11 – ISO/IEC 8802-11: (1999) IEEE Standards for Information
Technology - Telecommunications and Information Exchange between Systems -
Local and Metropolitan Area Network - Specific Requirements - Part 11: Wireless
LAN Medium Access Control (MAC) and Physical Layer (PHY) Specifications.
§  IEEE 802.1x – IEEE Standards for Local and Metropolitan Area Networks: Port-
Based Network Access Control.
§  IEEE 802.11i – Draft Supplement to Standard for Telecommunications and
Information Exchange Between Systems - LAN/MAN Specific Requirements -
Part 11: Wireless Medium Access Control (MAC) and physical layer (PHY)
specifications - Specification for Enhanced Security (Draft 3.0, November 2002).
§  3GPP – http://www.3gpp.org
§  3GPP TS 23.234 v1.8.0 - 3GPP system to WLAN Interworking; System
Description (Release 6)
‹#›(SAR 2003)Copyright © 2003 Oberthur Card Systems. All rights reserved.
The key to an open world
30/06/2003
Wi-Fi references (2)
§  IETF – http://www.ietf.org
§  RFC 1661 – The Point-to-Point Protocol.
§  RFC 1994 – PPP Challenge Handshake Authentication Protocol (CHAP)
§  RFC 2138 – Remote Authentication Dial In User Service (RADIUS)
§  RFC 2246 – The TLS protocol, version 1.0
§  RFC 2284 – PPP Extensible Authentication Protocol.
§  RFC 2716 – PPP EAP TLS Authentication Protocol.
§  draft-ietf-eap-rfc2284bis-03.txt – Extensible Authentication Protocol (EAP)
§  draft-aboba-pppext-key-problem-06.txt – EAP Keying Framework
§  draft-urien-eap-smartcard-01.txt – EAP support in smartcards
§  draft-haverinen-pppext-eap-sim-10.txt – EAP SIM Authentication
§  draft-arkko-pppext-eap-aka-09.txt – EAP AKA Authentication
§  draft-ietf-aaa-diameter-17.txt – DIAMETER Base Protocol
‹#›(SAR 2003)Copyright © 2003 Oberthur Card Systems. All rights reserved.
The key to an open world
30/06/2003
Conclusion
§  Java Card is a safe foundation for many network security applications.
§  And don’t forget E-commerce / identification applications…
§  As Java Card moves closer to the Java mainstream, new opportunities will
arise (DRM, etc).
WAP browser + PKI plug-ins
(W)TLS (OMA & IETF)
IPsec (IETF)
03.48 (3GPP)
EAP (IETF)
‹#›(SAR 2003)Copyright © 2003 Oberthur Card Systems. All rights reserved.
The key to an open world
30/06/2003
Q&A
§ Thank you very much for inviting me and for
attending this presentation.
§ If you have any questions, I’ll do my best to
answer them.
§ Feel free to get in touch !

More Related Content

PDF
JavaCard development Quickstart
PPT
Technical Overview of Java Card
PPT
Java card technology
DOC
Java card
PPTX
JRE , JDK and platform independent nature of JAVA
PDF
Java Card 2.x FAQ (2001)
PPTX
core java
PPTX
Java virtual machine
JavaCard development Quickstart
Technical Overview of Java Card
Java card technology
Java card
JRE , JDK and platform independent nature of JAVA
Java Card 2.x FAQ (2001)
core java
Java virtual machine

What's hot (20)

PPTX
Training on Core java | PPT Presentation | Shravan Sanidhya
PPSX
Introduction to java
PPT
Exception handling
PPTX
AUTOSAR Memory Stcak (MemStack).
PPTX
Java packages
PDF
Security in IoT
PDF
Object Oriented Concept Static vs. Non Static
PDF
PPTX
Gsm security algorithms A3 , A5 , A8
PPTX
Virtualization
PPT
Java features
PPT
7) packaging and deployment
PDF
Java exception handling ppt
PPTX
Real Time OS For Embedded Systems
PPTX
How to choose an RTOS?
PDF
Business Models_Internet of Things (Part 01)
PPTX
wireless usb ppt
PPTX
Java introduction
PDF
Design Issues In Adhoc Wireless MAC Protocol
PPTX
History of java'
Training on Core java | PPT Presentation | Shravan Sanidhya
Introduction to java
Exception handling
AUTOSAR Memory Stcak (MemStack).
Java packages
Security in IoT
Object Oriented Concept Static vs. Non Static
Gsm security algorithms A3 , A5 , A8
Virtualization
Java features
7) packaging and deployment
Java exception handling ppt
Real Time OS For Embedded Systems
How to choose an RTOS?
Business Models_Internet of Things (Part 01)
wireless usb ppt
Java introduction
Design Issues In Adhoc Wireless MAC Protocol
History of java'
Ad

Viewers also liked (13)

PPT
Javacardtech
PPTX
Java card
PDF
OpenDNIe Hackfest
PDF
Codebits 2011
PDF
Veebis allkirjastamine ID-kaardiga
PDF
OpenSC: eID interoperability through open source software
PDF
ID-kaardist 100%
PPT
Java card technology
PPTX
Smart Cards Evolution
PDF
Diffie-Hellman key exchange
PDF
eSmartlock - an antipiracy dongle with integrated DRM functionalities
PDF
eSmartlock a USB Javacard dongle with anti-piracy and DRM services
PPTX
Javacard
Javacardtech
Java card
OpenDNIe Hackfest
Codebits 2011
Veebis allkirjastamine ID-kaardiga
OpenSC: eID interoperability through open source software
ID-kaardist 100%
Java card technology
Smart Cards Evolution
Diffie-Hellman key exchange
eSmartlock - an antipiracy dongle with integrated DRM functionalities
eSmartlock a USB Javacard dongle with anti-piracy and DRM services
Javacard
Ad

Similar to Security applications with Java Card (20)

PDF
SmartTrust WIB 1.3
PDF
Eric java card-basics-140314
PDF
jCardSim – Java Card is simple!
PDF
OSGi Technology as it relates to Java, Smartcards, and the Automotive Industr...
PPT
java-card20232024999999999999999999999999999999999999999999999999999999999999...
PDF
Java Card, 15 years later
PPTX
Wap wml-6
PPTX
Wap wml
PDF
Integrating Secure Token in OSGi Platforms - Jean-Jacques Vandewalle, Gemplus
PPT
Introduction to SmartCards - Michael Perlov
PDF
Tu dresden 290404_jcop
PDF
SIM Card Overview
PPT
java Ring
PDF
Study of Java Card and its Application
PPT
Security's Once and Future King
PPT
Java card technology
PPTX
Smart Cards, ePassports, and open source
PPT
Identifying How WAP Can Be Used For Secure mBusiness
PPTX
JAVA CARD BY SAIKIRAN PANJALA
PPT
Wap Security Arch Presentation
SmartTrust WIB 1.3
Eric java card-basics-140314
jCardSim – Java Card is simple!
OSGi Technology as it relates to Java, Smartcards, and the Automotive Industr...
java-card20232024999999999999999999999999999999999999999999999999999999999999...
Java Card, 15 years later
Wap wml-6
Wap wml
Integrating Secure Token in OSGi Platforms - Jean-Jacques Vandewalle, Gemplus
Introduction to SmartCards - Michael Perlov
Tu dresden 290404_jcop
SIM Card Overview
java Ring
Study of Java Card and its Application
Security's Once and Future King
Java card technology
Smart Cards, ePassports, and open source
Identifying How WAP Can Be Used For Secure mBusiness
JAVA CARD BY SAIKIRAN PANJALA
Wap Security Arch Presentation

More from Julien SIMON (20)

PDF
Implementing high-quality and cost-effiient AI applications with small langua...
PDF
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
PDF
Trying to figure out MCP by actually building an app from scratch with open s...
PDF
Arcee AI - building and working with small language models (06/25)
PDF
deep_dive_multihead_latent_attention.pdf
PDF
Deep Dive: Model Distillation with DistillKit
PDF
Deep Dive: Parameter-Efficient Model Adaptation with LoRA and Spectrum
PDF
Building High-Quality Domain-Specific Models with Mergekit
PDF
Tailoring Small Language Models for Enterprise Use Cases
PDF
Tailoring Small Language Models for Enterprise Use Cases
PDF
Julien Simon - Deep Dive: Compiling Deep Learning Models
PDF
Tailoring Small Language Models for Enterprise Use Cases
PDF
Julien Simon - Deep Dive - Optimizing LLM Inference
PDF
Julien Simon - Deep Dive - Accelerating Models with Better Attention Layers
PDF
Julien Simon - Deep Dive - Quantizing LLMs
PDF
Julien Simon - Deep Dive - Model Merging
PDF
An introduction to computer vision with Hugging Face
PDF
Reinventing Deep Learning
 with Hugging Face Transformers
PDF
Building NLP applications with Transformers
PPTX
Building Machine Learning Models Automatically (June 2020)
Implementing high-quality and cost-effiient AI applications with small langua...
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
Trying to figure out MCP by actually building an app from scratch with open s...
Arcee AI - building and working with small language models (06/25)
deep_dive_multihead_latent_attention.pdf
Deep Dive: Model Distillation with DistillKit
Deep Dive: Parameter-Efficient Model Adaptation with LoRA and Spectrum
Building High-Quality Domain-Specific Models with Mergekit
Tailoring Small Language Models for Enterprise Use Cases
Tailoring Small Language Models for Enterprise Use Cases
Julien Simon - Deep Dive: Compiling Deep Learning Models
Tailoring Small Language Models for Enterprise Use Cases
Julien Simon - Deep Dive - Optimizing LLM Inference
Julien Simon - Deep Dive - Accelerating Models with Better Attention Layers
Julien Simon - Deep Dive - Quantizing LLMs
Julien Simon - Deep Dive - Model Merging
An introduction to computer vision with Hugging Face
Reinventing Deep Learning
 with Hugging Face Transformers
Building NLP applications with Transformers
Building Machine Learning Models Automatically (June 2020)

Recently uploaded (20)

PPTX
MicrosoftCybserSecurityReferenceArchitecture-April-2025.pptx
PDF
CloudStack 4.21: First Look Webinar slides
PDF
How IoT Sensor Integration in 2025 is Transforming Industries Worldwide
PDF
STKI Israel Market Study 2025 version august
PDF
UiPath Agentic Automation session 1: RPA to Agents
PPTX
Microsoft Excel 365/2024 Beginner's training
PDF
Zenith AI: Advanced Artificial Intelligence
PDF
NewMind AI Weekly Chronicles – August ’25 Week III
PPTX
Build Your First AI Agent with UiPath.pptx
PDF
Improvisation in detection of pomegranate leaf disease using transfer learni...
PPTX
GROUP4NURSINGINFORMATICSREPORT-2 PRESENTATION
PDF
Produktkatalog für HOBO Datenlogger, Wetterstationen, Sensoren, Software und ...
PDF
How ambidextrous entrepreneurial leaders react to the artificial intelligence...
PPTX
Chapter 5: Probability Theory and Statistics
PDF
sbt 2.0: go big (Scala Days 2025 edition)
PDF
Flame analysis and combustion estimation using large language and vision assi...
PPTX
Final SEM Unit 1 for mit wpu at pune .pptx
PPTX
Benefits of Physical activity for teenagers.pptx
PDF
Five Habits of High-Impact Board Members
PDF
A proposed approach for plagiarism detection in Myanmar Unicode text
MicrosoftCybserSecurityReferenceArchitecture-April-2025.pptx
CloudStack 4.21: First Look Webinar slides
How IoT Sensor Integration in 2025 is Transforming Industries Worldwide
STKI Israel Market Study 2025 version august
UiPath Agentic Automation session 1: RPA to Agents
Microsoft Excel 365/2024 Beginner's training
Zenith AI: Advanced Artificial Intelligence
NewMind AI Weekly Chronicles – August ’25 Week III
Build Your First AI Agent with UiPath.pptx
Improvisation in detection of pomegranate leaf disease using transfer learni...
GROUP4NURSINGINFORMATICSREPORT-2 PRESENTATION
Produktkatalog für HOBO Datenlogger, Wetterstationen, Sensoren, Software und ...
How ambidextrous entrepreneurial leaders react to the artificial intelligence...
Chapter 5: Probability Theory and Statistics
sbt 2.0: go big (Scala Days 2025 edition)
Flame analysis and combustion estimation using large language and vision assi...
Final SEM Unit 1 for mit wpu at pune .pptx
Benefits of Physical activity for teenagers.pptx
Five Habits of High-Impact Board Members
A proposed approach for plagiarism detection in Myanmar Unicode text

Security applications with Java Card

  • 1. The key to an open world ‹#›(SAR 2003)Copyright © 2003 Oberthur Card Systems. All rights reserved. 30/06/3 Security applications with Java Card SAR 2003, Nancy Julien SIMON j.simon@oberthurcs.com
  • 2. ‹#›(SAR 2003)Copyright © 2003 Oberthur Card Systems. All rights reserved. The key to an open world 30/06/2003 Outline 1. Introduction 2. Java Card overview 3. WAP security 4. IP security 5. 802.11 security 6. Q&A
  • 3. ‹#›(SAR 2003)Copyright © 2003 Oberthur Card Systems. All rights reserved. The key to an open world 30/06/2003 Introduction Oberthur Card Systems §  No. 1 supplier of MasterCard and Visa payment cards worldwide. §  No. 3 supplier of 2G/3G cards worldwide. §  First to apply Java technology to the SIM card (1998). §  Please refer to www.oberthurcs.com for more information. Speaker §  3 years at OCS R&D. §  Mobile Communications Development Manager. §  In a previous life, lots of time spent in TCP/IP and kernel code (Mach / Chorus / *nix) : hence, a strong interest in computer (in)security…
  • 4. The key to an open world ‹#›(SAR 2003)Copyright © 2003 Oberthur Card Systems. All rights reserved. 30/06/3 Java Card overview Architecture Language, VM, API Security applications with Java Card
  • 5. ‹#›(SAR 2003)Copyright © 2003 Oberthur Card Systems. All rights reserved. The key to an open world 30/06/2003 Java Card §  Software standard initiated by Sun Microsystems in October 1996. §  JC is now maintained by the Java Card Forum. §  JC defines an environment allowing Java applications to to run on a microprocessor smartcard : Java Card Runtime Environment (JCRE) : §  Java Card is nice because : s It allows faster and easier development than native code. s It has all the benefits of OOD / OOP. s It is portable at source and binary level. s It allows applications to be loaded after the smartcard has been issued. §  A well-designed Java Card is a very safe foundation : s  Common Criteria EAL 4+ evaluation obtained by OCS in 2002. s  State-of-the art cryptography, protected against SPA/DPA/DFA attacks.
  • 6. ‹#›(SAR 2003)Copyright © 2003 Oberthur Card Systems. All rights reserved. The key to an open world 30/06/2003 Java Card Runtime Environment § The JCRE includes : s The Java Card Virtual Machine, s The Java Card API, s A basic application installer. § It’s implemented in ROM by the smartcard issuer. § Its behavior is defined by the Java Card Runtime Environment Specification. § Versions : s 2.1 (May 2000). s 2.2 (May 2002).
  • 7. ‹#›(SAR 2003)Copyright © 2003 Oberthur Card Systems. All rights reserved. The key to an open world 30/06/2003 Java Card architecture Hardware Abstraction Layer Java Card Virtual Machine Java Card API Other API (GSM, etc) JCRE Applet 1 Applet 2 Applet 3 Microcontroller
  • 8. ‹#›(SAR 2003)Copyright © 2003 Oberthur Card Systems. All rights reserved. The key to an open world 30/06/2003 Language § JC supports most features of the Java language : s Packages, s Dynamic object creation (new), s Virtual methods, Inheritance, Interfaces, s Exceptions, s Etc. § The following types are not supported s char, s long, float and double, s Multi-dimensional arrays. § The int type is optional.
  • 9. ‹#›(SAR 2003)Copyright © 2003 Oberthur Card Systems. All rights reserved. The key to an open world 30/06/2003 Java Card Virtual Machine § The JCVM has a classic architecture : s It runs bytecode on an operand stack. s JC bytecode is a subset of Java bytecode s E.g. no int related bytecode : iload, istore, etc. § Compared to the JVM, the JCVM is very simplified : s No on-demand class loading : all required classes must present on the card. s No threads, etc. § The JVCM also has specific features (transactions, inter-applet communication). § The behavior of the JCVM is defined by the Java Card Virtual Machine Specification.
  • 10. ‹#›(SAR 2003)Copyright © 2003 Oberthur Card Systems. All rights reserved. The key to an open world 30/06/2003 Java Card 2.1 API §  The JC 2.1 API includes four packages, defined by the Java Card 2.1 Application Programming Interfaces Specification. §  java.lang : minimal Java classes. §  javacard.framework : smartcard-related classes s  Communication with the terminal, PIN handling, etc. §  javacard.security & javacardx.crypto : security classes. s  Keys : DES, 3DES, RSA et DSA. s  Crypto objects : KeyPair, MessageDigest, Cipher and Signature. §  Java Card 2.2 adds Java Card RMI, AES, ECC, garbage collection, etc.
  • 11. ‹#›(SAR 2003)Copyright © 2003 Oberthur Card Systems. All rights reserved. The key to an open world 30/06/2003 Java Card references § Java Card s Specs & JCDK : http://java.sun.com/javacard/ s Java Card Forum : http://www.javacardforum.org/ s « Java Card Technology For Smart Cards » , Addison-Wesley, 2000. § Cryptography s RSA Labs : http://www.rsalabs.com/ s « Cryptographie appliquée » (2ème édition), Bruce Schneier. s « Handbook of Applied Cryptography » http://www.cacr.math.uwaterloo.ca/hac/
  • 12. The key to an open world ‹#›(SAR 2003)Copyright © 2003 Oberthur Card Systems. All rights reserved. 30/06/3 WAP security WAP overview Wireless Identity Module (WIM) Smartcard WAP browsers
  • 13. ‹#›(SAR 2003)Copyright © 2003 Oberthur Card Systems. All rights reserved. The key to an open world 30/06/2003 Wireless Application Protocol §  WAP 1.0 was released in 1998 and evolved into 1.3. §  WAP 1.x doesn’t support standard Internet protocols and languages : a WAP gateway is required. WAE: Application Environment WSP: Session Protocol WTP: Transaction Protocol WTLS: Transaction Layer Security WDP: Datagram Protocol HTTP: Hyper Text Transfer Protocol SSL: Secure Sockets Layer TCP: Transmission Control Protocol IP: Internet Protocol
  • 14. ‹#›(SAR 2003)Copyright © 2003 Oberthur Card Systems. All rights reserved. The key to an open world 30/06/2003 WAP architecture WAP Gateway Page encoder Page converter Protocol Adapters HTTP Web Server Content CGI Scripts etc. HTMLpages WMLpages WML = Wireless Markup Language HTML = Hyper Text Markup Language CGI = Common Gateway Interface ME = Mobile Equipment HTTP = Hyper Text Transfer Protocol WSP = Wireless Session Protocol WTP = Wireless Transaction Protocol ME WAP browser WSP/WTPConfig. files
  • 15. ‹#›(SAR 2003)Copyright © 2003 Oberthur Card Systems. All rights reserved. The key to an open world 30/06/2003 Wireless Identity Module §  WAP communication is secured by the Wireless Transaction Layer Protocol (WTLS), which is “equivalent” to SSL. §  WTLS relies on the Wireless Identity Module (WIM) to perform secure operations, such as : s  Verification primitives (PIN operations). s  Data Access primitives (Key/certificate storage in PKCS #15 files) s  Cryptography primitives : Compute Digital Signature, Verify Signature, Hash, Decipher and various key primitives used to setup a WTLS session (Diffie- Hellman, etc). §  The WAP browser also needs the WIM to perform the signText operation (application-level signature). §  The WIM can be implemented as a Java Card applet.
  • 16. ‹#›(SAR 2003)Copyright © 2003 Oberthur Card Systems. All rights reserved. The key to an open world 30/06/2003 WAP (in)security WML/HTML Web server WML/HTML Bytecode SSL TCP WDP GSM networkInternet WTLS There is no end-to-end security, because of the WTLS/SSL gateway. This is the infamous “WAP gap” problem. WAP 2.0 solves this by using standard Internet protocols (TLS). N
  • 17. ‹#›(SAR 2003)Copyright © 2003 Oberthur Card Systems. All rights reserved. The key to an open world 30/06/2003 End-to-end security WML/HTML Web server WML/HTML Bytecode TCP/IP 03.48 GSM networkInternet Data is protected by the application, i.e. the bytecode is encrypted/decrypted by the WAP browser running on the (U)SIM card.
  • 18. ‹#›(SAR 2003)Copyright © 2003 Oberthur Card Systems. All rights reserved. The key to an open world 30/06/2003 WAP with a smartcard browser SMS-C MESIM WAP Browser Config. files OTA server WAP gatewayProactive commands 03.40 / 03.48 transport
  • 19. ‹#›(SAR 2003)Copyright © 2003 Oberthur Card Systems. All rights reserved. The key to an open world 30/06/2003 Plug-in architecture § The core browser can be extended using plug-ins. § A plug-in is a normal SIM Toolkit applet. s It extends the WIB by adding new features : l  Data storage, l  Cryptography : the WAP gap must be closed ! s It may be installed at personalization time. s Plug-ins are usually small enough to be installed OTA. § Applet communication is possible with Java Card : s A plug-in registers to the WIB using a Shareable interface. s When the WIB receives the Plug-In command, it invokes the plug-in using another Shareable interface.
  • 20. ‹#›(SAR 2003)Copyright © 2003 Oberthur Card Systems. All rights reserved. The key to an open world 30/06/2003 PKI plug-ins § A smartcard browser usually supports several Public Key Infrastructure (PKI) plug-ins. § Decryption : Asymmetric Decryption (AD) § Digital signature (text) : PKCS#1 (P1) § Digital signature with time stamp (text) : PKCS#7 (P7) § Digital signature and non-repudiation (data) : Fingerprint (FP)
  • 21. ‹#›(SAR 2003)Copyright © 2003 Oberthur Card Systems. All rights reserved. The key to an open world 30/06/2003 A Band Of Browsers §  SmartTrust Wireless Internet Browser (WIB) §  SIM Alliance S@T browser. §  3GPP USAT Interpreter : s 21.112 & 31.11{2,3,4} Release 5 & 6 : architecture, protocol, core browser. s 31.113 Release 6 : plug-ins. §  These browsers all support the WML standard (or at least a large subset of it) as well as proprietary extensions (S@TML, SmartTrust WML, etc). This is similar to the Netscape/IE situation.
  • 22. ‹#›(SAR 2003)Copyright © 2003 Oberthur Card Systems. All rights reserved. The key to an open world 30/06/2003 WAP references § USAT Interpreter – http://www.3GPP.org/ § SIM Alliance – http://www.SIMAlliance.org § SmartTrust – http://www.SmartTrust.com § PKCS – http://www.RSALabs.com § WAP – http://www.OpenMobileAlliance.com/ § World Wide Web Consortium – http://www.w3.org/
  • 23. The key to an open world ‹#›(SAR 2003)Copyright © 2003 Oberthur Card Systems. All rights reserved. 30/06/3 IP Security IP in mobile networks Internet Key Exchange Diffie-Hellman with Java Card
  • 24. ‹#›(SAR 2003)Copyright © 2003 Oberthur Card Systems. All rights reserved. The key to an open world 30/06/2003 IP in mobile networks
  • 25. ‹#›(SAR 2003)Copyright © 2003 Oberthur Card Systems. All rights reserved. The key to an open world 30/06/2003 IPsec and smartcards IPsec tunnel TCP = Transmission Control Protocol HTTP = Hyper Text Transfer Protocol Internet apps TCP / HTTP Private network IPsec IKE setup IPsec processing Untrusted network Host
  • 26. ‹#›(SAR 2003)Copyright © 2003 Oberthur Card Systems. All rights reserved. The key to an open world 30/06/2003 Internet Key Exchange IKE defines two phases : 1.  Creation of a secure channel between the IKE peers. a. Negotiation of the IKE Security Association : encryption algorithm, hash function, authentication method (pre-shared keys, RSA), Diffie-Hellman group. b. Generation of shared secrets with a Diffie-Hellman exchange. c. Mutual authentication and establishment of the secure IKE channel. 2.  Creation of the IPsec security association. a. Using the secure IKE channel, negotiation of the IPsec Security Association : SPI, IPsec transform. b. Generation of the required keys either by deriving the Phase 1 secret, or by performing another Diffie-Hellman exchange.
  • 27. ‹#›(SAR 2003)Copyright © 2003 Oberthur Card Systems. All rights reserved. The key to an open world 30/06/2003 Diffie-Hellman for mathematicians §  Diffie-Hellman (1976) is a widespread protocol for shared secret establishment. §  P and α are two public numbers : α<P, P prime. Send αa mod P Send αb mod P Compute (αa mod P)b mod P. Pick b random. Compute αb mod P. Compute (αb mod P)a mod P. Pick a random. Compute αa mod P. Alice Bob Receive αb mod P. Receive αa mod P. Shared secrets are derived from (αab mod P) mod P (αb mod P)a mod P = (αa mod P)b mod P = (αab mod P) mod P
  • 28. ‹#›(SAR 2003)Copyright © 2003 Oberthur Card Systems. All rights reserved. The key to an open world 30/06/2003 Diffie-Hellman for the layman §  DH may be implemented primitives from public key systems based on exponentiation (RSA, DSA) or elliptic curves (ECDSA). §  DH is vulnerable to the man-in-the-middle attack, so each peer should use a certificate to authenticate the other peer. Ca = ENCRYPT(α, Ka) Cb = ENCRYPT(α, Kb)Cipher Cb with Ka. Pick a random. Build key Ka: exp = a,mod = P. Cipher α with Ka. Alice Bob Pick b random. Build key Kb: exp = b,mod = P. Cipher α with Kb Cipher Ca with Kb.
  • 29. ‹#›(SAR 2003)Copyright © 2003 Oberthur Card Systems. All rights reserved. The key to an open world 30/06/2003 Diffie-Hellman with Java Card § JC 2.1 supports RSA, so DH can be implemented. § JC 2.2 introduces javacard.security.KeyAgreement, which is the base class for key agreement algorithms like DH. s At this point, the KeyAgreement API only supports ECC keys. s Main operation : generation of a shared secret using the caller’s Private Key and public data received from the peer. s public abstract short generateSecret( byte[] publicData, short publicOffset,short publicLength, byte[] secret, byte[] secretOffset)
  • 30. ‹#›(SAR 2003)Copyright © 2003 Oberthur Card Systems. All rights reserved. The key to an open world 30/06/2003 IPsec references §  RFC 2401 – Security Architecture For The Internet Protocol. §  RFC 2402 – IP Authentication Header. §  RFC 2406 – IP Encapsulating Security Payload. §  RFC 2407 – The Internet IP Security Domain of Interpretation for ISAKMP. §  RFC 2408 – Internet Security Association and Key Management Protocol. §  RFC 2409 – The Internet Key Exchange. §  RFC 2631 – Diffie-Hellman Key Agreement Method.
  • 31. The key to an open world ‹#›(SAR 2003)Copyright © 2003 Oberthur Card Systems. All rights reserved. 30/06/3 Wi-Fi 802.11 weaknesses Improvements to 802.11 security Implementing 802.11 security on a (U)SIM smartcard
  • 32. ‹#›(SAR 2003)Copyright © 2003 Oberthur Card Systems. All rights reserved. The key to an open world 30/06/2003 802.11 (in)security § 802.11 security has been cracked. § A new protocol is introduced to support client authentication and distribution of session keys : the Extensible Authentication Protocol (EAP). § EAP is a generic transport protocol for a large number of authentication and key distribution methods. § EAP can be integrated into PPP [RFC2284] or 802.2 [802.1X].
  • 33. ‹#›(SAR 2003)Copyright © 2003 Oberthur Card Systems. All rights reserved. The key to an open world 30/06/2003 Improving 802.11 security §  Wi-Fi Protected Access (WPA) is a short-term solution (available now). s  Authentication : 802.1X provides transport for EAP over LANs (EAPoL). s  Encryption : the Temporal Key Integrity Protocol (TKIP) is based on RC-4 and uses 128-bit keys which are recycled every 10,000 packets. §  802.11i will be the long-term standard. s  Authentication : 802.11i will maintain compatibility with WPA and building on 802.1x. s  Encryption : 802.11i will introduce new authentication and confidentiality protocols based on the Advanced Encryption Standard (AES) : l  Counter CBC Mode Protocol (CCMP). l  Wireless Robust Authenticated Protocol (WRAP).
  • 34. ‹#›(SAR 2003)Copyright © 2003 Oberthur Card Systems. All rights reserved. The key to an open world 30/06/2003 802.11i security Wireless client EAPoL Wired networkWireless network Authentication methods Applications TCP-IP 802.11 802.1x CCMP How safe are the keys ? How good is the crypto ?
  • 35. ‹#›(SAR 2003)Copyright © 2003 Oberthur Card Systems. All rights reserved. The key to an open world 30/06/2003 Better 802.11 security Wired network JCRE EAP applet EAP on ISO7816 Wireless client EAPoL A smartcard and an authentication server. We’ve seen this before, haven’t we ? Applications TCP-IP 802.11 802.1x
  • 36. ‹#›(SAR 2003)Copyright © 2003 Oberthur Card Systems. All rights reserved. The key to an open world 30/06/2003 EAP methods §  EAP is a generic protocol : it relies on a variety of methods for authentication and key generation. §  The following methods could be implemented on a smartcard to provide mutual authentication and key generation : 1.  EAP-TLS [RFC2716] : Transaction Layer Security [RFC2246]. 2.  EAP-SIM (IETF draft) : 2G authentication algorithms. 3.  EAP-AKA (IETF draft) : 3G authentication algorithms. s  EAP-SIM and EAP-AKA will be part of 3GPP {2,3}3.234 Release 6.
  • 37. ‹#›(SAR 2003)Copyright © 2003 Oberthur Card Systems. All rights reserved. The key to an open world 30/06/2003 EAP commands §  Four packet types : Request, Response, Success, Failure. §  Request (authenticator èpeer) a.  Identity : query the identity of the peer. b. Notification : send a displayable message to the peer (password expiration, etc). c.  TLS / SIM / AKA : set the authentication method and data. §  Response (peer è authenticator) a.  Identity : send a peer identity to the authenticator. b. Notification: acknowledge message. c.  TLS / SIM / AKA : send authentication value. d. NAK: decline authentication method and propose another one. §  Success (authenticator èpeer) : authentication has succeeded. §  Failure (authenticator èpeer) : authentication has failed.
  • 38. ‹#›(SAR 2003)Copyright © 2003 Oberthur Card Systems. All rights reserved. The key to an open world 30/06/2003 EAP & 3GPP 3GPP Network UE WLAN Access Network (with or without an intermediate network) 3GPP AAA Server Packet Data GW In tran et / In tern et 3GPP PS services AAA = Authentication, Authorization and Accounting GW = Gateway PS = Packet-Switched UE = User Equipment WLAN = Wireless Local Access Network A wireless client may also use a 3GPP authentication server to connect to Internet services [23.234]. EAPoL EAPoL
  • 39. ‹#›(SAR 2003)Copyright © 2003 Oberthur Card Systems. All rights reserved. The key to an open world 30/06/2003 EAP Java Card API §  This API is being designed by the Java Card Forum and the WLAN Smart Card Consortium. §  It allows Java Card developers to build applications that allow smart cards to be used as EAP authentication tokens. §  It has been built in the context of WLAN end-user authentication, which relies on the EAP protocol. §  In particular, this API has been built in the context of the APDU protocol defined in draft-urien-eap-smartcard-01.txt, titled EAP Support in Smart Cards. §  It is an extension of the Java Card 2.2 API and relies on Java Card RMI. §  All necessary cryptographic algorithms are supported by Java Card 2.2.
  • 40. ‹#›(SAR 2003)Copyright © 2003 Oberthur Card Systems. All rights reserved. The key to an open world 30/06/2003 EAP Java Card API (1) EAPApplet EAPService EAPBasicService JCRE Authenticators JCRMI EAP on ISO7816 The Authenticator object performs the authentication itself : it is tied to an identity, a credential and an authentication method. The EAPBasicService object implements the EAP protocol and is registers to JCRMI through the EAPService interface. The EAPApplet object is a basic applet that handles EAP requests through a JCRMI service.
  • 41. ‹#›(SAR 2003)Copyright © 2003 Oberthur Card Systems. All rights reserved. The key to an open world 30/06/2003 EAP Java Card API (2) EAPApplet EAPGlobalService JCRE JCRMI EAP on ISO7816 Applet Authenticator Applet Authenticator EAPBasicGlobalService An EAPApplet may be used to provide EAP services to normal applets. Inter-applet communication is performed through the Shareable interface. Java Card Firewall
  • 42. ‹#›(SAR 2003)Copyright © 2003 Oberthur Card Systems. All rights reserved. The key to an open world 30/06/2003 Wi-Fi references (1) §  Wi-Fi Alliance – http://www.weca.net §  IEEE 802.x – http://www.ieee802.org §  IEEE 802.11 – ISO/IEC 8802-11: (1999) IEEE Standards for Information Technology - Telecommunications and Information Exchange between Systems - Local and Metropolitan Area Network - Specific Requirements - Part 11: Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) Specifications. §  IEEE 802.1x – IEEE Standards for Local and Metropolitan Area Networks: Port- Based Network Access Control. §  IEEE 802.11i – Draft Supplement to Standard for Telecommunications and Information Exchange Between Systems - LAN/MAN Specific Requirements - Part 11: Wireless Medium Access Control (MAC) and physical layer (PHY) specifications - Specification for Enhanced Security (Draft 3.0, November 2002). §  3GPP – http://www.3gpp.org §  3GPP TS 23.234 v1.8.0 - 3GPP system to WLAN Interworking; System Description (Release 6)
  • 43. ‹#›(SAR 2003)Copyright © 2003 Oberthur Card Systems. All rights reserved. The key to an open world 30/06/2003 Wi-Fi references (2) §  IETF – http://www.ietf.org §  RFC 1661 – The Point-to-Point Protocol. §  RFC 1994 – PPP Challenge Handshake Authentication Protocol (CHAP) §  RFC 2138 – Remote Authentication Dial In User Service (RADIUS) §  RFC 2246 – The TLS protocol, version 1.0 §  RFC 2284 – PPP Extensible Authentication Protocol. §  RFC 2716 – PPP EAP TLS Authentication Protocol. §  draft-ietf-eap-rfc2284bis-03.txt – Extensible Authentication Protocol (EAP) §  draft-aboba-pppext-key-problem-06.txt – EAP Keying Framework §  draft-urien-eap-smartcard-01.txt – EAP support in smartcards §  draft-haverinen-pppext-eap-sim-10.txt – EAP SIM Authentication §  draft-arkko-pppext-eap-aka-09.txt – EAP AKA Authentication §  draft-ietf-aaa-diameter-17.txt – DIAMETER Base Protocol
  • 44. ‹#›(SAR 2003)Copyright © 2003 Oberthur Card Systems. All rights reserved. The key to an open world 30/06/2003 Conclusion §  Java Card is a safe foundation for many network security applications. §  And don’t forget E-commerce / identification applications… §  As Java Card moves closer to the Java mainstream, new opportunities will arise (DRM, etc). WAP browser + PKI plug-ins (W)TLS (OMA & IETF) IPsec (IETF) 03.48 (3GPP) EAP (IETF)
  • 45. ‹#›(SAR 2003)Copyright © 2003 Oberthur Card Systems. All rights reserved. The key to an open world 30/06/2003 Q&A § Thank you very much for inviting me and for attending this presentation. § If you have any questions, I’ll do my best to answer them. § Feel free to get in touch !