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!