An NFC Ticketing System with a new approach of an Inverse Reader Mode Christian Saminger, Stefan Grünberger and Josef Langer NFC University of Applied Sciences Upper Austria 5 th International Workshop on Near Field Communication February 5 th, 2013, Zurich, Switzerland
Agenda 1. Related Work 2. Intention of the Inverse Reader Mode 3. Introduction to the Inverse Reader Mode 4. Implementation 5. Conclusion and Future Work 6. Demonstration
Related Work Different approaches for place of ticket storage / way of identification Related Trials and current use RMV (Rhein-Main-Verkehrsverbund) Touch & Travel (German Railways) ÖBB (Austrian Federal Railways) mobilkom Austria / ÖBB in 2009 VDV Core Application Ticket storage phone storage phone storage SMS storage SE on phone SE on phone or smartcard
Intention of the Inverse Reader Mode Current ticketing systems use NFC enabled mobile phones in card emulation or peer-to-peer mode. Problems with card emulation mode: owner of the secure element vs. third party service provider restricted or no access to the secure element of the mobile phone in near future no changes regarding the accessibility of the secure element Problems with peer-to-peer mode: compatibility problems with different implementations (e.g. Symbian vs. Android) no access to the lower layers (APDU) on some operating systems (e.g. Windows Phone) on Android systems only Beam is available for peer-to-peer communication restricted implementation of the protocol layer (e.g. Android Beam) Problems with software emulated tags: only few implementations (e.g. RIM s Blackberry OS since version 7, Cyanogenmod)
Intention of the Inverse Reader Mode New approach: Inverse Reader Mode no secure element is needed on the mobile phone the mobile phone uses only the reader/writer mode, which works on all NFC enabled phones light-weight and well-established protocol stack (ISO/IEC 14443-4 and 7816-4) card emulation support is needed on the reader side
Introduction to the Inverse Reader Mode Overview of the Inverse Reader Mode Server communication APDU command APDU response Ticketing Server NFC Reader (card emulation mode) NFC Mobile Phone (reader/writer mode)
Implementation Implementation of a demonstrator to show the proof of concept Ticketing application on server side and Android App for the mobile phone NFC reader acts as RF-Frontend to exchange APDU commands Implemented by students of the University of Applied Sciences Upper Austria
Implementation Proof of Concept with: RF reader ACR 122U from Advanced Card System Ltd. or ADRB-232 from Identive Technologies integrated PN532 NFC chip proprietary interface to send native APDU commands to the chip supports the common open source NFC library libnfc, which provides a low level API supports the Integrated Circuit Cards Interface Device Protocol (CCID) for APDU exchange Samsung Nexus S and Galaxy Nexus Android operating system operating in reader/writer mode secure element is not needed ticketing app Standard Personal Computer as ticketing server
Implementation Validation Process: NFC reader / Server Application NFC mobile phone Initialization routine according to ISO/IEC 14443 Identification of the ticketing server by the mobile phone Mobile phone sends ticket identifier to server for validation Mobile phone sends ticket date to server Ticketing server checks the ticket and ticket date and sets the valid flag If the ticket was valid the ticketing server grants access Mobile phone reads the valid flag and moves the ticket to consumed folder All file identifiers of the ticketing server will be set to their default values and the consumed ticket will be set to invalid Initialization routine GetStationID (SELECT DF and READ BINARY) SendStationID (READ BINARY RESPONSE) SendTicketID (SELECT DF and WRITE BINARY) ACK (WRITE BINARY RESPONSE) SendTicketDate (SELECT DF and WRITE BINARY) ACK (WRITE BINARY RESPONSE) IsValid (SELECT DF and READ BINARY) SendValidInfo (READ BINARY RESPONSE)
Implementation: Mobile Application Android App of the Ticketing System Use of NDEF Type 4 messages to exchange ticket information Initialization of ticket validation by touching the reader Basic functionality: ticket validation process showing results with message boxes list of valid and validated tickets detail information of events Tested on Galaxy Nexus Nexus S
Implementation: Mobile Application Ticket validation with the ticketing app on the mobile phone Valid ticket was found for the event, ticket will be validated No valid ticket was found on the mobile phone Touching the reader initiates the ticketing process on the phone
Implementation: Server Application Reader connection using library libnfc Validation of tickets List of all tickets with details
Conclusion and Future Work Alternative to the card emulation mode Avoiding the access restrictions of the secure element A demonstrator was implemented to show the proof of concept Next steps will be the improvements of the concept for ticketing systems Until now security was not considered in detail Evaluation of other areas to use the inverse reader mode
Thank You! NFC University of Applied Sciences Upper Austria lab (at) nfc-research.at