nfc application security - aalto university · nfc data exchange format (ndef) ndef message ndef...

32
NFC Application Security Sandeep Tamrakar Aalto University, 2012-11-20

Upload: others

Post on 24-Feb-2020

34 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: NFC Application Security - Aalto University · NFC Data Exchange Format (NDEF) NDEF Message NDEF Record NDEF Record NDEF Record Header Payload • NDEF is Message encapsulation format

NFC Application Security

Sandeep Tamrakar

Aalto University, 2012-11-20

Page 2: NFC Application Security - Aalto University · NFC Data Exchange Format (NDEF) NDEF Message NDEF Record NDEF Record NDEF Record Header Payload • NDEF is Message encapsulation format

NFC

• Short-range, high frequency Radio Frequency Identity (RFID) technology

• Operating distance: 4 cm to 10 cm • Operating Frequency: 13.56 MHz • Data rates “of NFC radio”: 106 kbit/s, 212 kbit/s 424 kbit/s • Communication between two device:

– Initiator – Target

• Data transmission protocols: – ISO 14443, ISO 15693, ISO 18092

• NFC application specification: – NFC forum

Page 3: NFC Application Security - Aalto University · NFC Data Exchange Format (NDEF) NDEF Message NDEF Record NDEF Record NDEF Record Header Payload • NDEF is Message encapsulation format

NFC data exchange principle

Source: Mifare® (14443A) 13.56 MHz RFID Proximity Antennas www.nxp.com/documents/application_note/AN78010.pdf

• Active Device i.e. reader • Proximity coupling device (PCD) • Connected to power source • Generates an electromagnetic field for

data exchange

• Passive Device i.e. NFC card or tag • Proximity integrated circuit card (PICC) • Harvests power from an Active device

Page 4: NFC Application Security - Aalto University · NFC Data Exchange Format (NDEF) NDEF Message NDEF Record NDEF Record NDEF Record Header Payload • NDEF is Message encapsulation format

NFC devices

• Active Device i.e. reader

– Proximity coupling device (PCD)

– Connected to power source

– Generates an electromagnetic field for data exchange

– E.g. Contactless Readers, NFC-enabled mobile phones

• Passive Device i.e. NFC card or tag

– Proximity integrated circuit card (PICC)

– Harvests power from an Active device

– E.g. NFC tags, contactless smart cards

Page 5: NFC Application Security - Aalto University · NFC Data Exchange Format (NDEF) NDEF Message NDEF Record NDEF Record NDEF Record Header Payload • NDEF is Message encapsulation format

Modes of operation

• Reader / Writer Mode (PCD, ISO 14443) – Active device that transmits power

– Read and modify data stored in passive tags

– E.g. Mobile phone reading smart poster

• Card Emulation Mode (PICC, ISO 14443) – Acts like a passive target

– Interacts with external active readers

– E.g. Mobile phone used as transport ticket

• Peer-to-peer Mode (ISO 18092) • Both initiator and target transmit power

– Establishes bi-directional data connection

– E.g. A mobile phone exchanging a virtual business card with another mobile phone.

Page 6: NFC Application Security - Aalto University · NFC Data Exchange Format (NDEF) NDEF Message NDEF Record NDEF Record NDEF Record Header Payload • NDEF is Message encapsulation format

NFC tags and smart cards

Page 7: NFC Application Security - Aalto University · NFC Data Exchange Format (NDEF) NDEF Message NDEF Record NDEF Record NDEF Record Header Payload • NDEF is Message encapsulation format

Type of Tags

http://open-nfc.org/documents/PRE_NFC_0804-250%20NFC%20Standards.pdf

Page 8: NFC Application Security - Aalto University · NFC Data Exchange Format (NDEF) NDEF Message NDEF Record NDEF Record NDEF Record Header Payload • NDEF is Message encapsulation format

Type 1 Tags Type 2 Tags Type 3 Tags Type 4 Tags

Unique Identity 4 or 7 bytes 4 or 7 bytes 8 bytes 7 bytes

Transmission Protocol

ISO 14443A ISO 14443A

ISO 18092

ISO 14443A

Memory Size 96 bytes ( up to 2 KB)

64 bytes (up to 2 KB)

Variable sizes (up to 1 MB)

Variable sizes (up to 32KB)

Memory Organization

12 blocks, each of 8 bytes

16 pages, each of 4 bytes

Blocks, each of 16 bytes

Smart card based.

OTP bits 48 bits 32 bits

Lock bits 16 bits 16 bits

Re-writable Until locked Until locked Pre-defined Pre-defined

Data collision protection

No Yes Yes Yes

Transmission speed

106 kbits/s 106 kbits/s 212 kbits/s or 424 kbits/s

106 kbits/s, 212 kbits/s, 424 kbits/s

Examples Topaz Ultralight FeliCa Lite Java cards, DESFire

NFC forum tag types

Page 9: NFC Application Security - Aalto University · NFC Data Exchange Format (NDEF) NDEF Message NDEF Record NDEF Record NDEF Record Header Payload • NDEF is Message encapsulation format

Threats on Memory Tags

• Tag cloning – E.g. Four Square check in tags can be cloned to falsely

claim that you have been at that location (e.g. to claim loyal customer discount).

– Can be prevented to some degree by calculating MAC.

• Modification of tag data • Physical replacement of tag with another valid

tag – E.g. tag that provides a geographic location of a place

can be replaced with another tag with different location.

Page 10: NFC Application Security - Aalto University · NFC Data Exchange Format (NDEF) NDEF Message NDEF Record NDEF Record NDEF Record Header Payload • NDEF is Message encapsulation format

Example: Security on Type 2 tag Page address Byte Numbers

00h UID0 UID1 UID2 BCC0

01h UID3 UID4 UID5 UID6

02h BICC1 INT LOCK0 LOCK1

03h OTP0 OTP1 OTP2 OTP3

04h Data0 Data1 Data2 Data3

05h Data4 Data5 Data6 Data7

…. …. …. …. ….

0Fh Data44 Data45 Data46 Data47

Bits 7 6 5 4 3 2 1 0

LOCK0 L7 L6 L5 L4 L3 BL 15-10 BL 9-4 BL OTP

LOCK1 L15 L14 L13 L12 L11 L10 L9 L8

Byte 0 to 9: read only. Byte 10 to 15: One time programmable bytes; each bits in OTP bytes can only be set to 1 but can not reset back to 0 L : Lock page, BL: Block lock, Once a BL bit is set the locking configuration for the corresponding page is unchangeable.

Page 11: NFC Application Security - Aalto University · NFC Data Exchange Format (NDEF) NDEF Message NDEF Record NDEF Record NDEF Record Header Payload • NDEF is Message encapsulation format

NFC tag security

• Security mechanism: – Each card has unique 7-byte UID – One-time programmable page: 32 bits that can be set

to one but not reset to zero – Pages can be locked to prevent writing

• Security assumptions: – The UID cannot be cloned or spoofed !!!? – When reading the tag, the UID and card content

cannot be modified by the attacker (physical session integrity) !!!?

– Attacker can freely write data to the card, and interrupt sessions (tear card away from reader)

Page 12: NFC Application Security - Aalto University · NFC Data Exchange Format (NDEF) NDEF Message NDEF Record NDEF Record NDEF Record Header Payload • NDEF is Message encapsulation format

No cryptographic security in NFC specs

• NFC transmission protocol does not define any specific encryption or security mechanism – ISO 14443 used in Read/Write and Card Emulation mode

– ISO 18092 used in Peer-to-peer mode

• NDEF specifications defines signature schemes for integrity protection. – Doesn’t prevents content cloning (signature doesn’t cover

the card UID)

– Doesn’t include reader authentication for access control

• Therefore, cryptographic security must be defined by the NFC application

Page 13: NFC Application Security - Aalto University · NFC Data Exchange Format (NDEF) NDEF Message NDEF Record NDEF Record NDEF Record Header Payload • NDEF is Message encapsulation format

Relay Attack on NFC

• Relaying e.g. contactless EMV payments from your pocket to a faraway shop – Requires card emulation on the proxy token – Does not require UID spoofing because EMV does not use the

UID

Source: L. Francis, G. P. Hancke, K. E. Mayes, and K. Markantonakis. Practical Relay Attack on Contactless Transactions by Using NFC Mobile Phones. Cryptology ePrint Archive, Report 2011/618, 2011. http://eprint.iacr.org/2011/618.

Page 14: NFC Application Security - Aalto University · NFC Data Exchange Format (NDEF) NDEF Message NDEF Record NDEF Record NDEF Record Header Payload • NDEF is Message encapsulation format

Contactless smart cards • Memory tags with some security functionality

– MIFARE Ultralight: UID, lock bytes, OTP – Ultralight C: triple-DES authentication – FeliCa, DESFire: file system with access control lists

• Smart cards with wireless interface – CPU and operating system – Tamper-resistant environment – Secure crypto-processor – Secure file system – E.g. JavaCard, EMV contactless debit and credit cards

• Distinction between memory cards and smart cards is not always clear cut

Page 15: NFC Application Security - Aalto University · NFC Data Exchange Format (NDEF) NDEF Message NDEF Record NDEF Record NDEF Record Header Payload • NDEF is Message encapsulation format

NFC on phones

Page 16: NFC Application Security - Aalto University · NFC Data Exchange Format (NDEF) NDEF Message NDEF Record NDEF Record NDEF Record Header Payload • NDEF is Message encapsulation format

NFC support in phones

• Integration of NFC in mobile phones is growing – Nokia Lumia 920, Samsung Galaxy S III, Nexus 4 etc.

• Reader/writer and P2P modes, mostly not card emulation

• NDEF tag reader / writer applications – Four square check in

• Some phones provides Secure element necessary for card emulation however they do not provide APIs to access it

• Potential NFC applications: – Public transport tickets

– Payment

– Loyalty card

Page 17: NFC Application Security - Aalto University · NFC Data Exchange Format (NDEF) NDEF Message NDEF Record NDEF Record NDEF Record Header Payload • NDEF is Message encapsulation format

Threats on NFC phones • Denial of Service attacks

– Mobile phone NFC stack reacts to tags within the NFC range.

– Some mal-formatted tags can jam the stack

– Also, most of the card manager in SE blocks itself after 10 successive authentication failure.

• Malware delivery via NFC – Mobile OSs are designed to reads NDEF message and open

application based on the NDEF content. • E.g. NDEF with URL cause phone to open the URL in a web browser

– NDEF message with URL to malware download page.

– NFC Message with malicious file • Malicious file was sent over NFC to exploit android document viewer

vulnerability to gain full rights on the device.

• Android privilege escalation vulnerability

Page 18: NFC Application Security - Aalto University · NFC Data Exchange Format (NDEF) NDEF Message NDEF Record NDEF Record NDEF Record Header Payload • NDEF is Message encapsulation format

Secure Environment Requirements • Security Requirements

– Tamper proof hardware to store keys and other secrets – Process sensitive information, e.g. cryptographic operations,

isolated from the mobile OS. – Direct connection from secure hardware to NFC modem (single

wire protocol)

• Functional Requirements – Portability when you buy a new phone – Ability to host multiple secure applications on the same phone – Remote (over-the-air) management of applications and secret

• Currently available Security Elements (SE): – SIM card – Secure Micro SD – Programmable Trusted Execution Environment (ObC) – Embedded Secure Element (attached to the NFC circuit board)

Page 19: NFC Application Security - Aalto University · NFC Data Exchange Format (NDEF) NDEF Message NDEF Record NDEF Record NDEF Record Header Payload • NDEF is Message encapsulation format

Security Element Architecture, e.g. SIM

Card Manager

SIM applet

Ap

plicatio

n Firew

all

Ap

plicatio

n Firew

all

Credit card Applet

Public-transport ticket

Issuer Security Domain

Issuer Security Domain

Third Party Security Domain

• SIM is multi-application smart card • Each service provider creates a separate Security Domain on

the card • Problems: increases the complexity of card manager;

no support for over-the-air installation of new applets

Page 20: NFC Application Security - Aalto University · NFC Data Exchange Format (NDEF) NDEF Message NDEF Record NDEF Record NDEF Record Header Payload • NDEF is Message encapsulation format

Trusted Service Manager (TSM)

Bank

Public-transit Authority

TSM

Service Providers Mobile Network

Operator (MNO)

SIM Embedded

SE

μSD

Loyalty

Model currently favored by network operators: • Single trusted entity serving both MNO and Service Providers • Securely distributes and personalize the SP application to the

customer’s SE over the air (OTA personalization). • Verify user’s device and SE capabilities and resources • Manage life cycle of the applications

Page 21: NFC Application Security - Aalto University · NFC Data Exchange Format (NDEF) NDEF Message NDEF Record NDEF Record NDEF Record Header Payload • NDEF is Message encapsulation format

NFC applications

Page 22: NFC Application Security - Aalto University · NFC Data Exchange Format (NDEF) NDEF Message NDEF Record NDEF Record NDEF Record Header Payload • NDEF is Message encapsulation format

NFC Data Exchange Format (NDEF) NDEF Message

NDEF Record NDEF Record NDEF Record

Header Payload

• NDEF is Message encapsulation format. • Used to exchange messages between:

• NFC devices or • An NFC device and a tag.

• Contains one or more NFC application data as NDEF Record • Header defines the properties of the Payload.

• Start and end of NDEF records • Record type definition (RTD): payload data type • Length of the payload etc.

Page 23: NFC Application Security - Aalto University · NFC Data Exchange Format (NDEF) NDEF Message NDEF Record NDEF Record NDEF Record Header Payload • NDEF is Message encapsulation format

Signature Record Type Definition

• Provides integrity and authenticity • Signature RTD contains:

– Signature, • RSA (1024) with SHA-1 and PKCS#1 v 1.5 padding or PSS • ECDSA (P-192) with SHA-1 with no padding.

– Certificate chain.

• Signature Record apply for – all preceding records, (from record 1) or, – Record following the preceding Signature record.

NDEF Record 1

NDEF Record 2

Empty NDEF Signature Record 1

NDEF Record 3

NDEF Signature Record 2

Signed records Signature for record 1 & 2

Signed record Signature only for record 3

Page 24: NFC Application Security - Aalto University · NFC Data Exchange Format (NDEF) NDEF Message NDEF Record NDEF Record NDEF Record Header Payload • NDEF is Message encapsulation format

Tag UID based NFC applications

• Simple Access control application based on tag UID – NFC tags is used as credential to identify the user – Reader must be connected to a backend database – Backend server maintains access policies

• Pros: – Simple and cheap solution

• (UID cannot be faked easily)

– Suitable for small scale business

• Cons: – Backend complexity increases with the number of customers – Readers needs to be connected to the backend server all the

time.

Page 25: NFC Application Security - Aalto University · NFC Data Exchange Format (NDEF) NDEF Message NDEF Record NDEF Record NDEF Record Header Payload • NDEF is Message encapsulation format

Event Ticketing

• One time or limited use tags – MIFARE Ultralight

• Reader implements cryptographic functionality – Key diversification – e.g. Hash(UID + Master key)

– Encrypts data and store the cipher-text on tags.

– Reads the cipher-text from tags and decrypts data.

• Use of OTP bytes as incremental counter

• Use Lock bytes to prevent rewrite

• MAC for integrity protection

Page 26: NFC Application Security - Aalto University · NFC Data Exchange Format (NDEF) NDEF Message NDEF Record NDEF Record NDEF Record Header Payload • NDEF is Message encapsulation format

Public transit application

• Proprietary solutions are widely used – MIFARE Classic

– MIFARE DESFire

– Uses Symmetric crypto • 3 DES, AES

– Value is stored on the card

• Standards – ITSO: Interoperable public transport ticketing

using contactless smart customer media.

Page 27: NFC Application Security - Aalto University · NFC Data Exchange Format (NDEF) NDEF Message NDEF Record NDEF Record NDEF Record Header Payload • NDEF is Message encapsulation format

Open Payment Ticketing

• Smart Card Alliance proposal for NFC ticketing

• Each traveler is has a travel account in server cloud, which is operated by a service provider (SP)

• Travel card only stores user’s identity and credentials 1. User identity is verified by a reader at the station gate

2. Ticket identity and travel information sent to a backend server

3. The backend server calculates the ticket fare and forwards the information to SP for payment collection

4. Payment is collected by SP

• Allows credentials from different SPs to be used – E.g. Bank cards, SIM card, National ID etc.

Page 28: NFC Application Security - Aalto University · NFC Data Exchange Format (NDEF) NDEF Message NDEF Record NDEF Record NDEF Record Header Payload • NDEF is Message encapsulation format

Transport Authority

Service Provider (accounting authority)

Rating Engine (fare calculation)

Open Payment Ticketing with Mobile Phone

NFC

• Transport Authority • Operates transport system • Calculate the fare calculation based on the ID and traveling distance • Collects ticketing evidence for auditing

• Service provider (e.g. bank or mobile operator) • Manages the customer relationship and travel account; issues the travel credentials • Collects evidence directly from phones and from Transport Authority for auditing • Collets payment from the customer (prepaid or credit)

Page 29: NFC Application Security - Aalto University · NFC Data Exchange Format (NDEF) NDEF Message NDEF Record NDEF Record NDEF Record Header Payload • NDEF is Message encapsulation format

Identity Verification in Open Payment

Challenge || IDR

Reader Device Reader Device

CertD (PKD || IDD||…)

SigD[Challenge ||IDD||IDR]

Challenge || IDR

Fresh Token

MACK [Challenge || IDD||IDR]

The Open Payment challenge-response protocol: • User Verification at the gate • Exchange of data > 1KB • Authentication time is around 1 sec

with current NFC data speed

Faster secret-key protocol: • Reader and SP share a secret key • Phone fetches fresh token from SP over the

Internet before traveling • Reader verifies the fresh token with its key • Exchange of data < 100B • MAC verification by SP for additional

auditing; not done in real time

Page 30: NFC Application Security - Aalto University · NFC Data Exchange Format (NDEF) NDEF Message NDEF Record NDEF Record NDEF Record Header Payload • NDEF is Message encapsulation format

Mobile NFC Payment: Google Wallet

First Generation Google Wallet (no longer in use) • Secure Element in the phone stores credit-card information

– Embedded secure element on PN65 NFC board in Google phones

– Can store more than one credit card

• Mobile phone acts as a credit card when presented to a payment terminal – NFC card emulation mode

• Payment protocol is controlled by wallet applet running inside the secure element

• Application running in user space provides interfaces for – PIN entry, selection of credit card, displaying payment

information

• Google acted as the TSM and distributed credit card applets to the phones

Page 31: NFC Application Security - Aalto University · NFC Data Exchange Format (NDEF) NDEF Message NDEF Record NDEF Record NDEF Record Header Payload • NDEF is Message encapsulation format

Mobile NFC Payment: Google Wallet

Second Generation Google Wallet • User’s credit card or bank account information is stored by

Google in the cloud • Secure element on the phone stores a virtual payment card

identity 1. During payment, user selects payment card or bank from

the application on his phone 2. The virtual card is presented to the point-of-sale terminal 3. Google collects the payment from user’s credit card or

bank account and makes the payment to the merchant • Payment terminal needs to be modified to support this

service

Page 32: NFC Application Security - Aalto University · NFC Data Exchange Format (NDEF) NDEF Message NDEF Record NDEF Record NDEF Record Header Payload • NDEF is Message encapsulation format

Additional reading

• NFC Data Exchange Format (NDEF) Technical Specification

• Madlmayr, G.; Langer, J.; Kantner, C.; Scharinger, J.; , "NFC Devices: Security and Privacy," Availability, Reliability and Security, 2008. ARES 08. Third International Conference on , vol., no., pp.642-647, 4-7 March 2008 doi: 10.1109/ARES.2008.105

• L. Francis, G. P. Hancke, K. E. Mayes, and K. Markantonakis. Practical Relay Attack on Contactless Transactions by Using NFC Mobile Phones. Cryptology ePrint Archive, Report 2011/618, 2011. http://eprint.iacr.org/2011/618.