Android, UICC und OpenMobile API

advertisement
Leveraging UICC with Open Mobile API for
Secure Applications and Services
UICC
•
•
•
UICC is a smart card used in mobile terminals in GSM and UMTS networks
It provides
 the authentication with the networks
 secure storage
 crypto algorithms
 …
Java Card as UICC can provide
 Hash functions: MD5, SHA-1, SHA-256 …
 Signature functions: HMAC …
 Public-key cryptography: RSA …
 Symmetric-key cryptography: AES, DES …
 …
Toolkit
•
•
•
•
SIM Application Toolkit is a standard of GSM which can be used by the MNO to
provide value-added services
It is a set of commands which define how the card should interact with the
outside world
But the update of toolkit application and menu stored in the UICC is difficult
and there is no support for multimedia
Smart Card Web Server
•
•
The SCWS is based on a standard HTTP 1.1 web server embedded in smart card,
allowing communication with any HTTP client – particularly the handset browser
It will benefit from all the latest improvement of particular client (JavaScript,
XMLHttpRequest) and support s browser plug-ins such as Adobe Flash to bring
Apps’ UI to the next level
Generic Bootstrapping Architecture (GBA)
• GBA extends the security infrastructure and establishes key agreement
• It uses the 3GPP Authentication and Key Agreement (AKA) mechanism,
enables authenticated User Equipment (UE) access to the Network
Application Function (NAF) services.
• But it requires to implement a GBA module to communicate with the
browser, the NAF and the UICC
Open Mobile API
•
Open Mobile API is established by SIMalliance as an open API between the
Secure Element and the applications
•
•
•
•
•
Crypto
Authentication
Secure Storage
PKCS#15
…
Open Mobile API
• 3 Layers
 Transport Layer: using APDUs for accessing a Secure Element
 Service Layer: provide a more abstract interface for functions on SE
 Application Layer: represents the various applications using Open Mobile API
Figure 1: Architecture overview
Use cases
•
•
•
•
•
NFC services
Payment services
Ticketing services
Loyalty services (Kundenbindungsmaßnahmen)
ID services
OpenID Overview
Relying
Relying Party
Parties
Log-On
User
Device
OpenID Provider
OpenID Weakness
• Phishing
• An “Identity System” without Trust: no authority can
promise OpenID rzhou.myopenid.com is Ran Zhou.
• No single-sign-on
• Communication Overhead: lots of HTTP requests
SmartOpenID
SmartOpenID
• Phishing
Sensitive data remains on device
• An “identity system” without Trust: no authority can
promise OpenID rzhou.myopenid.com is Ran Zhou.
Trust between user and MNO (contract)
• No single-sign-on
Local OP interface provide SSO
• Communication Overhead: lots of HTTP requests
Significantly reduced authentication traffic
SmartOpenID Architecture Overview
•
•
•
•
•
A browser which is able to communicate via HTTP with: the service/RP, and the
local OP
Local OP, which provides a web server interface for the browser and acts like a
network based OpenID identity provider
SIM communication API, which provides an API for the local OP to communicate
with the application on the smart card: Open Mobile API
Application on the UICC, which performs all the necessary crypto operations for
the local OP
A Long Term Secret shared between network OP and local OP, which is used to
establish the Trust
SmartOpenID Architecture Overview
•
•
•
•
The UICC application can handle local authentication by means of requesting a
user Pin code to unlock the local OP functionality on the UICC
The Local OP app receives an HTTP request from the browser containing all the
message fields which have to be signed and also including the association
handle
The UICC application derives the signature key with the Long Term Secret and
the association handle using key derivation function: PBKDF2
The UICC signs the message with the derived signature key using HMAC
function: HMAC-SHA1 or HMAC-SHA256
Overview of the Master Thesis
•
•
•
•
•
•
•
•
This master thesis is part of the project “SmartOpenID”, which is carried out by
InterDigital, Novalyst and Morpho e-Document
Within the thesis, different technologies, which intend to extend the UICC’s
usage and bring the value-added services, will be discussed
Then the Open Mobile API, which fills the gap between the UICC and the outside
world, will be introduced
As an use case, the SmartOpenID protocol will be introduced and analyzed
The usage of Open Mobile API with UICC will then be shown. As a result, the
services, which an UICC can provide, will be introduced and discussed
An implementation of the SmartOpenID protocol on an Android device with UICC
A test and analyze of the implementation
Discussion and prospect of the other use cases with Open Mobile API
Development environment
•
•
Android Emulator + Open Mobile API + PCSC Card Reader + Morpho UICC
Android Handset (Samsung Galaxy S2 NFC) + Open Mobile API + Moupho UICC
Thanks!
Download