Your Mobile Phone as a Ticket (NFC)

Similar documents
Loyalty Systems over Near Field Communication (NFC)

Mobile MasterCard PayPass Testing and Approval Guide. December Version 2.0

RF-Enabled Applications and Technology: Comparing and Contrasting RFID and RF-Enabled Smart Cards

An NFC Ticketing System with a new approach of an Inverse Reader Mode

Ingenious Systems. Evolute System's. Mobile Payment. Initiative

NFC. Technical Overview. Release r05

RFID based Bill Generation and Payment through Mobile

Contactless Smart Cards vs. EPC Gen 2 RFID Tags: Frequently Asked Questions. July, Developed by: Smart Card Alliance Identity Council

Nokia 9210i/9290 Communicators and PersonalJava TM Application Development

RFID. Radio Frequency IDentification: Concepts, Application Domains and Implementation LOGO SPEAKER S COMPANY

Technical Article. NFiC: a new, economical way to make a device NFC-compliant. Prashant Dekate

How To Use The Smart Cities Smart Contactless Framework

Smart Card- An Alternative to Password Authentication By Ahmad Ismadi Yazid B. Sukaimi

NFC Test Challenges for Mobile Device Developers Presented by: Miguel Angel Guijarro

Using mobile phones to access Web Services in a secure way. Dan Marinescu

Training. MIFARE4Mobile. Public. MobileKnowledge April 2015

Significance of Tokenization in Promoting Cloud Based Secure Elements

CHAPTER 1 - JAVA EE OVERVIEW FOR ADMINISTRATORS

Mobile Payment: The next step of secure payment VDI / VDE-Colloquium. Hans-Jörg Frey Senior Product Manager May 16th, 2013

Bank. CA$H 2.0 Contactless payment cards

Mobile NFC 101. Presenter: Nick von Dadelszen Date: 31st August 2012 Company: Lateral Security (IT) Services Limited

Touch & Travel a SIM-based eticketing System

Android pay. Frequently asked questions

Oracle WebLogic Server 11g Administration

W.A.R.N. Passive Biometric ID Card Solution

NFC Hacking: The Easy Way

Using RFID Techniques for a Universal Identification Device

Evolving Bar Codes. Y398 Internship. William Holmes

NFC Hacking: The Easy Way

Use of NFC and QR code Identification in an Electronic Ticket System for Public Transport

The mobile phone as a contactless ticket

Measurement and Analysis Introduction of ISO7816 (Smart Card)

DATA SECURITY 1/12. Copyright Nokia Corporation All rights reserved. Ver. 1.0

Assignment # 1 (Cloud Computing Security)

Using an NFC-equipped mobile phone as a token in physical access control

Security in Near Field Communication (NFC)

How To Secure A Paypass Card From Being Hacked By A Hacker

Development of a wireless home anti theft asset management system. Project Proposal. P.D. Ehlers Study leader: Mr. D.V.

Mobile MasterCard PayPass UI Application Requirements. February Version 1.4

Mobile Electronic Payments

Mobile Near-Field Communications (NFC) Payments

Threat Modeling for offline NFC Payments

NFC: Enabler for Innovative Mobility and Payment NFC: MOBILIDADE E MEIOS DE PAGAMENTO

A MOBILE PAYMENT SYSTEM WITH AN EXTRA TOKEN OF SECURITY Nael Hirzallah 1 and Sana Nseir 2

NACCU Migrating to Contactless:

SYSTEM OF MONITORING AND CONTROL FOR THE AUTOMATION OF INDUSTRIAL WASH MACHINES

Scalability and BMC Remedy Action Request System TECHNICAL WHITE PAPER

Best Practices for the Use of RF-Enabled Technology in Identity Management. January Developed by: Smart Card Alliance Identity Council

RFID BASED VEHICLE TRACKING SYSTEM

Configuring connection settings

Sophos Mobile Control Technical guide

The Contactless- NFC Project of ATM Barcelona

REAL TIME MONITORING AND TRACKING SYSTEM FOR AN ITEM USING THE RFID TECHNOLOGY

Mobile Cloud & Mobile Ticketing

Nokia for Business. Nokia and Nokia Connecting People are registered trademarks of Nokia Corporation

Nokia and Nokia Connecting People are registered trademarks of Nokia Corporation

Nokia E61i Configuring connection settings

Technical Notes TN 1 - ETG FactoryCast Gateway TSX ETG 3021 / 3022 modules. How to Setup a GPRS Connection?

THE APPEAL FOR CONTACTLESS PAYMENT 3 AVAILABLE CONTACTLESS TECHNOLOGIES 3 USING ISO BASED TECHNOLOGY FOR PAYMENT 4

1Z Oracle Weblogic Server 11g: System Administration I. Version: Demo. Page <<1/7>>

IriScene Remote Manager. Version 4.8 FRACTALIA Software

SmartCITIES. Smart InterOperable. Solutions for Transport Authorities

Remote Desktop Access through Android Mobiles and Android Mobiles Access through Web Browser

Microtronics technologies Mobile:

SIP Protocol as a Communication Bus to Control Embedded Devices

IBM Security Access Manager for Enterprise Single Sign-On Version User Guide IBM SC

EMV-TT. Now available on Android. White Paper by

The Future is Contactless

Applying the NFC Secure Element in Mobile Identity Apps. RANDY VANDERHOOF Executive Director Smart Card Alliance

Security of Proximity Mobile Payments

Privacy and Security in library RFID Issues, Practices and Architecture

Oracle EXAM - 1Z Oracle Weblogic Server 11g: System Administration I. Buy Full Product.

Application of Near Field Communication Technology for Mobile Airline Ticketing

ETSI TR V1.2.1 ( )

Business through Mobile Phone initiated Near Field Communication

Policy and Profile Reference Guide

Best Practices: Extending Enterprise Applications to Mobile Devices

Degree Certificate Authentication using QR Code and Smartphone

MIGRATING DESKTOP AND ROAMING ACCESS. Migrating Desktop and Roaming Access Whitepaper

NFC Based Equipment Management Inventory System

EFFECTIVE QUERY RETRIEVAL SYSTEM IN MOBILE BUSINESS ENVIRONMENT

NFC Testing. Near Field Communication Research Lab Hagenberg. Gerald Madlmayr. NFC Research Lab, Hagenberg. E-Smart 2008, Sophia Antipolis

ISO/IEC for secure mobile web applications

WISE-4000 Series. WISE IoT Wireless I/O Modules

A proposal for a payment system for public transport based on the ubiquitous paradigm

Localization System for Roulette and other Table Games

Mobile Operating Systems. Week I

Using Mobiles for On Campus Location Tracking

Radio Frequency Identification (RFID)

EXPLORING SMARTCARDS: AN INDEPENDENT LOOK TO TECHNOLOGIES AND MARKET

SiteCelerate white paper

Technical White Paper BlackBerry Enterprise Server

CHAPTER 1: OPERATING SYSTEM FUNDAMENTALS

E M V I M P L E M E N TAT I O N T O O L S F O R S U C C E S S, P C I & S E C U R I T Y. February 2014

NFC in Public Transport

Transcription:

Your Mobile Phone as a Ticket (NFC) Francisco Maria van Uden Chaves IST - Technical University of Lisbon Av. Prof. Cavaco Silva Tagus Park 2780-990 Porto Salvo, Portugal francisco.chaves@ist.utl.pt Abstract. Currently the use of mobile phones has become standard practice in our society. Talk on your phone; access the Internet; exchange text messages are actions that are part of the everyday life regardless of our age or training. New technologies are being developed that will allow the mobile phone to buy tickets directly off posters, withdrawals, payments, replacement of bank cards, loyalty cards and access to events with multiple tickets embedded. The new range of features is guaranteed by a new technology called NFC (Near Field Communications). This technology relies primarily on the incorporation of an RFID chip (13.56 MHz) mobile phones, where in addition to serving as passive tag (emulating the current contactless Smart Card), there are reading and writing skills with high levels of safety as the bank cards. This piece of work focuses on the use of new technology in the field of ticketing, where several stages of the process can be identified from the beginning of life characterized by a ticket procurement process, until its end in the use of it. The solution presented here allows the use of tickets already integrated with media in use, making it unnecessary to purchase or transport another device or any other support ticket. This solution also provides means of high security, to increase the reliability of mobile ticketing solutions existing nowadays. Keywords: NFC (Near Field Communication), mobility, mobile communications, ticketing, access control 1 Introduction A ticket is a voucher that confirms someone has paid for admission to an event at, for instance, a theatre, a cinema, an amusement park or has been granted permission to travel on limited access transportation, for example, bus, subway or airplane. With the digital, era electronic tickets stored in computers are commonly used in activities with non-often regularity. This happens because the means to use tickets are not very practical; usually when a client purchases a ticket on a website he receives it by e-mail for posterior printing and using. If someone wants to buy a ticket for immediate use normally he would have to show the electronic receipt to get his ticket at the ticket office. Tickets issuers want to improve their customer experience by providing more ticket offices, by which they are decreasing queues and encouraging their customers to buy more tickets. What could be the best scenario possible? Perhaps a ticket office for each customer.

Nowadays tickets have a large physical component associated to them. Despite the use of electronic tickets, they are not completely virtual, and so, there are several limitations in current ticketing systems. These limitations were the key drivers that motivated this Master s thesis. In order to solve these problems the following goals were defined to accomplish in this work: Completely remote ticket office This goal implies a Ticket Office for each customer, by getting a complete remote ticket office we provide the means to abolish the actual queues to buy tickets Secure Ticketing storage It is very important that the solution accomplish this goal. The system must provide secure storage for clients to save their tickets. Unique device It is unpractical if each customer needs one device per ticket issuer, as that would potentially compromise the success of this solution. Quick Usage Tickets nowadays are commonly used in places with large influx of people Besides of the advantages of a solution that accomplishes these goals, in a commercial perspective it is very important to ensure the compatibility with the current solutions already deployed. If it is not guaranteed, it could become more complicated to implement the solution because of its costs. 2 Related Work The first step of this thesis was to study current solutions to better understand the problem, and, afterwards study the technology that could applied to solve this problem. In this chapter, the technologies studied to help solve the problem are presented. 2.1 Radio-Frequency Identification RFID it is a contactless technology that enables object identification through a reader. In a common RFID system there are two main components, the reader and the tag. The first to read and the second to be read. The read component is normally a micro-chip connected to an antenna able to communicate with the readers. This combination is called tag. Tags can be found in several sizes and shapes and can be categorized through two attributes, the nature of its power supply and the frequencies used to communicate. About the nature of the power supply we have passive tags, semi-passive tags and active tags. Passive tags do not use any internal power supply. These tags are shut down when not in use, and are powered up when the reader transfers electrical signals to the integrated CMOS, replying afterwards with the requested information, the tag identification. This technique is called backscatter. These passive tags by not having a battery are very cheap and small.

Active tags are based on the same technology but have an internal power supply. With an internal power supply these tags can be read from greater distances, improving the utility of the device. While this internal battery brings some issues about maintenance of the device, the batteries must be replaced from time to time, making it more expensive and the device it s usually larger. There is also a type called semi-passive tag. These tags are equipped with a microchip, antenna and battery, but no transmitter. A semi-passive tag communicates through backscatter, but they have faster response times due to the battery. Semipassive tags may also have longer lifetime, but do not have the same reading ranges that active tags. 2.2 Smart Cards Smart Cards are RFID based devices with increased memory and security capabilities. Equipped with micro processing units and with an internal memory chip, Smart Cards can provide advanced security mechanisms and could be used for several applications like the following: Key store: Smart Cards are able to store several passwords allowing the user to only remember the Smart Card PIN (Personal Identification Number) to retrieve the saved passwords. Two-factor authentication: Most of the systems use one factor authentication, it is only required that the user remembers a username and a password, adding a second factor to authentication mechanisms for example a piece of hardware required to be used with the username and password improves the systems security [1]. Certificates key portability: by storing keys and certificates in Smart card the security mechanisms wouldn t need to import and export them to be used in different hardware. Non-Repudiation: Digitally signed transactions are reliable because the only way to sign them is if PIN entered is correct. Smart Cards, besides the secure storage mechanisms, also have processor capabilities; therefore it is possible to design software to be executed on the Smart Card virtual machine. This software is denominated by Applets. Applets use the Java Card API, provided by the Java Card Virtual Machine, running on top of the Operating System. This three level architecture is defined by SUN [2]. The virtual machine exists to implement an abstraction layer so that the Applets are equal to every Java Card vendor. Java Cards are defined by ISO 7816 [3] divided by physical, security and data exchange characteristics. Java Cards normally communicates with external systems trough CAD (Card Acceptance Devices) with or without contact, exchanging APDU between them. 2.3 Bar Codes Bar codes are a graphical way to represent information. This information could be numerical or alphanumerical depending on which type of bar code is used. Depending on the coding technique bar codes can be a set of vertical lines or a set of dots with different spacing between them. For e-ticketing systems usually only coding

techniques with dots are used, also called 2D Bar Codes. It is 2D because the data is coded vertical and horizontal providing the ability to raise the storage capabilities [4]. 2.4 Near Field Communication Near Field Communication (NFC) is a new proximity-based contactless technology targeted for mobile devices. NFC was developed from the other identification and wireless communication technologies providing the best of both worlds. NFC operate in 13,56 MHz radio frequency and supports several standards ISO/IEC 14443 Type A & B, ISO/IEC 18092 NFC-IP1 and ISO/IEC 15693 operating as Card Emulation Mode (emulating a normal Smart Card) or Reader Mode (Reading other Smart Cards). NFC is defined by NFC Forum, a non profit organization with over 130 members responsible for specifying the technology and its default capabilities. An NFC enabled device is composed by an antenna (for sending and receiving signals from other readers/cards), a secure element (for Java Card capabilities) and NFC Chip (connecting the mobile device to the secure element and antenna.) 3 Architecture The architecture began with the division between two main Components, which were defined by its execution environment. These two components are Server Component and Client Component, characterised by their execution in either the central server or the client mobile phone.

HTTP/SMS SMS/3G/GPRS MNO Server Component Interface Layer Integration Layer Persistence Layer Log4j JDK 1.5 jdbc Client Component (NFC Phone) J2ME Virtual Machine J2ME Module Interface Layer Business Layer Integration Layer Persistence Layer Record Management Store Host Controller Interface ISO7816 ISO7816 NFC Controler S2C Secure Element (JCRE) Java Card Module Antenna Figure 3-1: System Architecture 3.1 Client Component As described above the Client Component is all the applications that are executed in the client mobile phone and is sub-divided as shown in Figure 3-1: System Architecture in two secondary modules: J2ME and Java Card Module. Those two modules are defined by whether they are executed in the J2ME virtual machine or the phone secure element. 3.1.1 J2ME Module The J2ME module was designed to support the user interface, remote communication, and data storage on the RMS or Secure Element (Java Card Module). This module is in some cases a proxy between external systems and the multiple modules/components integrating the solution. This module is composed by an Interface, Business, Persistence and Integration Layer. In the Interface Layer, all the data displayed on the mobile phone screen is handled. With this layer is created abstraction between the data and all the presentation logic, as the screen interaction with the user. The Business Layer is where the business rules and validations are applied, when the interface layer submits user entry data, this data is validated in this layer to guarantee that it abides by the rules defined by the business.

In the Persistence Layer the mapping between the RMS (Record Management Store) and logical objects was defined. This abstraction provides the means to completely separate the persistence structure and the logical application data. This layer also communicates with the secure element, mapping the data in the RMS and the Secure Element. The integration layer is where all the GPRS (General Packet Radio Service) and SMS (Short Messaging Service) communications are handled. This is the layer where all the remote communication is handled. 3.1.2 Java Card Module The Java Card Module exists because of the inability of the J2ME module to persist data in a secure environment using RMS. As the secure element is based in Java Card Technology is possible, using the secure methods provided by this technology, to persist data with the following guarantees: Privacy, non-repudiation, authentication, integrity and verification. Besides all of these guarantees the secure element has a small memory size, so only sensitive data can be stored there. In this solution sensitive data means the ticket. So this module is probably the core of this solution. Here is where all the client tickets will be stored. Because this solution must be designed to cover multiple tickets from different ticketing issuers at the same time and each one has its own ticket configuration, two different Java Card Applets were created: One for managing all the different ticketing issuers and another for managing all the tickets from each ticket issuer. The first stores all the data related with each ticket. The first will manage the AID (Application Identifier) of the second, and therefore there will be shared objects between the two. The Applet that manages the ticket issuers is also responsible for managing the communication between the Java Card and the J2ME modules, managing the storage of a PIN (Personal Identification Number) and the methods for user authentication. This architecture covers the requisites of the application, providing safe ways to store sensitive information and providing methods for user authentication guaranteeing that only valid users access sensitive information. 3.2 Server Component The Client Component is all the applications that are executed in the central server and is sub-divided as shown in Figure 3-1: System Architecture in four layers to improve the modularity of the system, those layers are: Interface Layer, Integration Layer, NFC Layer and Persistence Layer. The server component is designed to implement the following functionalities: Managing Ticket Issuers - Creating new Ticket Issuers and managing the existing ones. Managing Events Creation of new Events and managing information relative to the existing ones. Managing Clients Create new Clients, associate Clients with Events and Ticket Issuers.

Managing Tickets New Ticket Issue and its installation Over the Air, Issue of duplicate tickets, for cases of loss of the device, Ticket Cancelling and Ticket Validation in entry points. Managing Client Applications J2ME module Installation, Java Card module installation and managing its versions. To support all the above functionalities this component was divided in seven modules: Entity Management, Event Management, Client Management, OTA, NFC and MNO Module. To support all the needed interfaces, external systems integrations and data persistence. To maintain the logical relations in all the information processed in the above modules all the information entities were defined: Clients, Ticket Issuers, Event, Ticket and Mobile Phones. 4 Implementation The architecture presented in the previous chapter defines the solution to comply with the defined requisites. The implementation of the solution was divided in three main steps: Client Component Implementation, Server Component Implementation and Testing of all the components presented. 4.1 Client Component As described above the Client Component is composed by two modules, the Java Card Module and the J2ME Module. To implement the integration between the two, application logic in the Java Card Module and the predefined structure of the APDU commands used to change information between the two modules was defined. 4.1.1 Java Card Applets The Java Cards Applet is the core component of the solution, and therefore prior to the implementation process the whole structure of the Ticket Issuer Management Applet and the Ticket Issuer Instance Applet as well the APDU change with external systems was defined. As the security is a key issue, the authentication mechanisms and protocols were also defined. As the Ticket Issuer Management applet was responsible for doing all the external systems integration, it was more complex than the Ticket Issuer Instance. The Ticket Issuer Instance only needs to change information with the Ticket Issuer Manager, and it was designed to only allow this access through a Ticket Issuer Manager with the required authentication steps already taken. The Applets need to change information between them and this share is accomplished with the use of SIO (Shareable Interface Objects) that allow two different applet share objects with each other.

4.1.2 J2ME MIDlet One of the functionalities of this module is the interfaces used by the end users to interact with the Client Component through mobile phones. Besides this functionality, this module is also responsible for managing all the remote communications of the component and implements some business logic considered non sensitive. All the sensitive business logic should not be implemented in this module because the information stored in RMS are vulnerable to change by third party applications, and therefore is not secure. All the communication with the Java Card Module must be done using APDU Commands and the steps for the authentication process must be defined in order to use the methods available in the Java Card Module. 4.2 Server Component The Server Component is designed to be used by multiple users with different profiles and geographical locations. To easily manage the application distribution this component was designed to be Web based, and therefore the users must only have a computer with an internet browser and internet connection. To improve the performance of this component a Java Script layer was created in order to reduce interface exchange between the server and the client. There is an additional application to handle the ticket validation where the tickets are used. This application is connected to a NFC Reader that complies with ISO/IEC 14443 and connects directly to the Java Card Module trough APDU commands and validates if the user have a valid ticket. 5 Solution Evaluation To evaluate if the solution corresponds to the defined requisites it was subjected to some tests described in this chapter. There were two different types of tests, integration tests to guarantee if all the modules work together and performance tests to guarantee if the response times were satisfactory. The hardware used in the tests is also described. 5.1 Test Environment The tests were executed in a controlled environment with hardware especially chosen for the effect. The hardware consists in the following items: Two Nokia 6131 NFC Server for Application hosting and Data Base NXP Pegoda Reader To execute the tests in the Nokia 6131 NFC the secure element needed to be unlocked, otherwise a trusted service manager was necessary to obtain the secure element keys.

5.2 Integration Tests The integration tests represent all the tests executed to ensure that the integration between all the modules were working as planned. The integration tests executed were the following: Installation of a Ticket Issuer in the Client Module; Adding a new Ticket and using a Ticket. The tests were executed correctly returning the expected outputs except when communication problems were detected or the Java Card here out of memory, which return the status word 6A84 Not enough space. 5.3 Performance Tests In some use cases, time is a critical factor in this solution. In a scenario with large influx of people seconds could make a difference. The performance tests were the same used in integration tests: Installation of a Ticket Issuer in the Client Module; Adding a new Ticket and using a Ticket. For the test of installing a ticket issuer the average times obtained were 5.7 seconds. This situation only occurs when the end client buys the first ticket and it is not a use case with time constraints. The adding a new ticket test obtained average times of 5.1 seconds. This scenario does not occur in situations of time constraints and also is not transparent for the end client because the payment transaction is not synchronous. The most time critical test is the one of using the ticket, in that one the average time obtained is 820 milliseconds with is perfectly acceptable for a large influx of people. 6 Conclusions At the beginning of this paper, the motivation of the thesis was contextualized by the current problems of ticketing systems, the objectives of this work was listed and explained. The next step was to study the state of the art regarding the technologies that could be used to design a system that complies with the pre-determined objectives. Comparing all the technologies presented NFC was the best choice because it was possible to design a solution that complies with the main objectives of the work. In the architecture chapter, using NFC technology, the solution was divided in two main components, the Client and the Server defined by its execution environment, the mobile phone or the central server. To obtain these two components use cases were drawn and from that the main functionalities were obtained. Not only critical functionalities were covered in the architecture chapter, but also others that could bring added value to the solution. In the implementation chapter the technologies selected in chapter two were used to implement the functionalities described in the previous chapter, where the technical details were presented and explained. Afterwards the main functionalities were tested in order to validate the solution and check whether the main objectives defined in chapter one were accomplished. The

result of this test demonstrates that the solution proposed is in line with the objectives in functionalities and performance, proving that NFC is a good solution for ticketing systems. 6.1 Future Work This solution besides being innovative in the ticketing area does not cover all the needs for a ticketing solution. Tickets are very often associated to customers and loyalty cards, payment cards and multimedia content distribution. Integrating the above areas in this NFC solution would bring value to the solution, becoming more comprehensive and providing added value to ticket issuers. To integrate payments solutions associated with Visa and MasterCard some security issues need to be improved. The security requisites are quite more complex for payments solutions comparing to ticket solutions. References [1]. JavaCard-based Two-Level User Key Management for IP Conditional Access Systems. Moon, Jinyoung, Park, Jongyoul and Paik, Euihyun. Gajeong-dong : IEEE, 2007. 1-4244-1230-7/07. [2]. SUN Microsystems. Java Card Technology. Sun Developer Network. [Online] [Cited: 16 Janeiro 2008.] http://java.sun.com/products/javacard/index.jsp. [3]. Alliance, Smart Card. Contactless Technology for Secure Physical Access: Technology and Standards Choices. s.l. : Smart Card Alliance, 2002. [4]. 2D barcodes for mobile phones. Kato, H. and Tan, K.T. Edith Cowan Univ., Churchlands, WA, Australia : IEEE, 2005. 981-05-4573-8.