Semi-Destructive Private Rfid Systems

31
Semi-Destructive Private Rfid Systems Paolo D’Arco , Alessandra Scafuro and Ivan Visconti by University of Salerno Italy Workshop on RFID Security 2009 June 30 - July 2, 2009, Leuven

description

Workshop on RFID Security 2009 June 30 - July 2 , 2009, Leuven. Semi-Destructive Private Rfid Systems. by. Paolo D’Arco , Alessandra Scafuro and Ivan Visconti. University of Salerno Italy. Focus of this paper. Vaudenay ’ s Privacy Model [Vau07] Asiacrypt2007. - PowerPoint PPT Presentation

Transcript of Semi-Destructive Private Rfid Systems

Page 1: Semi-Destructive  Private  Rfid Systems

Semi-Destructive Private Rfid Systems

Paolo D’Arco, Alessandra Scafuro and Ivan Visconti

by

University of SalernoItaly

Workshop on RFID Security 2009June 30 - July 2, 2009, Leuven

Page 2: Semi-Destructive  Private  Rfid Systems

Focus of this paper

Vaudenay’s Privacy Model [Vau07] Asiacrypt2007

It abstracts and extends in a clear, concise and general framework some previous Rfid privacy models

[e.g. Avo05, JW06, DO06]

Page 3: Semi-Destructive  Private  Rfid Systems

Contribution

An “extension” of the model to take into account certain physical attacks

A new privacy notion – semi-destructive privacy - which is achievable throught symmetric primitives

Page 4: Semi-Destructive  Private  Rfid Systems

Backend Server / DB

TagReader

securechannel

Rfid system

Rfid Scheme

• SetupReader: generates key materials (Ks, Kp) + resets database DB

• SetupTag: tag ID receives an initial state S and (ID, data) is inserted into DB

• Protocols Tag (S)

Reader (Ks, DB)

Output ID (if valid) or _|_

Page 5: Semi-Destructive  Private  Rfid Systems

Functionality

Correctness: Identification under normal execution

Crypto properties

• Security: an Adversary cannot impersonate a tag• Privacy: anonimity, unlinkability, …

Page 6: Semi-Destructive  Private  Rfid Systems

Real World

Out-of-range tags Reader

Adv

Eavesdrop, intercept,modify, corrupt tags…

vtag1 vtag2

vtag3

Page 7: Semi-Destructive  Private  Rfid Systems

Security and Privacy Definitions

Set of o

racles Oracle queries

Rules

GAME = Adversary’s Goal

Page 8: Semi-Destructive  Private  Rfid Systems

Oracles and Oracle Queries

DrawTag

SendTag

Free

CreateTag Launch

SendReader

ResultCorrupt

(vtag1, ID1)(vtag2, ID2)

ID bπ

msg, π

msg

πb

vtag Svtag

msg

msg, vtag

distr

vtag, b

… Adv reproduces real executions of the protocol

Page 9: Semi-Destructive  Private  Rfid Systems

Security Game

Winning condition for Adv: the reader identified ID but this (uncorrupted) tag did not have any matching conversation with the reader

DefinitionAn Rfid scheme is secure if, for any polynomial bounded adversary, the probability of success is negligible

Page 10: Semi-Destructive  Private  Rfid Systems

Privacy Game

Intuition: the transcript of real protocol executions does not provide any help to the adversary which is trying to infer some relations about the tags which played the protocol

Page 11: Semi-Destructive  Private  Rfid Systems

Privacy Adversary

Adversary winning condition = True

Querying Phase

Analysis Phase

CreateTag, FreeTag, CorruptTag

Launch, SendReader, SendTag, result

DrawTag

Table

(vtag1, ID1)(vtag2, ID2)

True/False

ADVE

RSAR

Y

Page 12: Semi-Destructive  Private  Rfid Systems

DrawTag

SendTag

Free

CreateTag Launch

SendReader

ResultCorrupt

ID bπ

msg, π

msg

πb

vtag Svtag

msg

msg, vtag

distrvtag, b

A Blinder is an interface between the adversary and the oracles that:• passively looks at the comm. to CreateTag, DrawTag, Free, Corrupt• simulates the oracles Launch, SendReader, SendTag, and Result

Blinder

Blinder

Page 13: Semi-Destructive  Private  Rfid Systems

Privacy Game

Query Phase

Analysis

Phase

CreateT, FreeT, CorruptTLaunch, SendR, SendT, Result

DrawTag

Table

(vtag1, ID1)(vtag2, ID2)

BLIN

DED

ADVE

RSAR

YTrue/False

Query Phase

Analysis

Phase

CreateT, FreeT, CorruptTLaunch, SendR, SendT, Result

DrawTag

Table

(vtag1, ID1)(vtag2, ID2)

ADVE

RSAR

Y

True/False

An Rfid scheme protects privacy if, for any polynomial bounded adversary A, there exists a polynomial bounded blinder B, such that

Pr[A wins] ≈Pr[AB wins]

Page 14: Semi-Destructive  Private  Rfid Systems

Privacy Notions

Defined through restrictions imposed to Adv on the use of the oracle queries

CorruptTag Query With Result Query No Result Query

Not allowed Weak Narrow Weak

Only at the end Forward Narrow Forward

Allowed (but tag destroyed)

Destructive Narrow Destructive

Allowed Strong Narrow Strong

Page 15: Semi-Destructive  Private  Rfid Systems

State of Art

Privacy Notion Cryptographic Tool

Weak PRF

Forward PKC

Destructive ?

Strong Impossible

Narrow Destructive In ROM model

Narrow Strong PKC

… Weak and Forward are the only non-narrow notions achieved.Destructive is an open problem …

Page 16: Semi-Destructive  Private  Rfid Systems

Extensions/Revisitations of the Model

1. [NSMSN08] RFID Privacy Models Revisited, ESORICS08

… the eight notions collapse to three under certain assumptionson the adversary capabilities and properties of the RFID scheme

2. [PV08] Mutual Authentication in RFID: Security and Privacy, ASIACCS08

… extension of the model to deal with mutual authentication

3. [SVW09] Anonymizer-Enabled Security and Privacy for RFID, RFIDSec09

… extension of the model with anonymizers

4. [BCI] Efficient ZK Identification Schemes which respect Privacy, ASIACCS09

… framework to transform ZK schemes in private schemes

Page 17: Semi-Destructive  Private  Rfid Systems

Our work

Page 18: Semi-Destructive  Private  Rfid Systems

A Narrow-Destructive protocolSimplified version [Vau07]

Tag Readerstate: K {… (ID,K)…}

Pick a in {0,1}αa

F, G random oracles Tag and Reader have access to

c=F(K,a)replace K by G(K) c

find (ID,K) s.t. c=F(K,a)replace K by G(K)output: ID or _|_ if not found

Page 19: Semi-Destructive  Private  Rfid Systems

Privacy Attack

Create(ID0) Create(ID1)

vtag=Draw(ID0)SendTag(vtag, x)Free(vtag)

…tag ID0 has been desynchronised

1

Page 20: Semi-Destructive  Private  Rfid Systems

Privacy Attack

vtag = DrawTag(-$-); (π, τ ) ← Execute(vtag); x ← Result(π);Output Idx = Table(vtag)

…A always distinguishes desynch tag/synch tag

… the scheme is not weak private because there is no blinderB such that AB can do the same

2

Page 21: Semi-Destructive  Private  Rfid Systems

Tags “out of the game”

In real life, Adv has several ways to push “out of the game” a tag

• DoS attacks (at protocol level, like the above one)• Physical attacks (a strong electromagnetic field to destroy the circuit)

1. Do we need to model such actions?

2. Do we need to consider the distinction between a “working tag” and an “inactive” tag as a privacy breach? May be no

Yes

Page 22: Semi-Destructive  Private  Rfid Systems

New Oracle: Makeinactive

MakeInactive

Theorem 1. In the model of [Vau07], if an adversary is allowed to query the MakeInactive oracle, then no privacy is achievable.

Page 23: Semi-Destructive  Private  Rfid Systems

Create(ID0) Create(ID1)

vtag=Draw(ID0)MakeInactive(vtag)Free(vtag)

vtag = DrawTag(-$-); (π, τ ) ← Execute(vtag); x=0 if no tag messageOutput Idx = Table(vtag)

…A always distinguishes inactive tag/active tag

1 2

…tag ID0 is now inactive

… this result matches real life: an Adv can always distinguish a working tag from an inactive one

Proof

Page 24: Semi-Destructive  Private  Rfid Systems

Privacy game: working tags only

We look at what can be done if we consider only tags which have not been ruled out of the game as possible targets of the privacy game

Changes to the Model:

• Makeinactive

• Draw (gives only active tags when invoked)

Page 25: Semi-Destructive  Private  Rfid Systems

GOALTarget: Destructive privacyTools: symmetric crypto, standard assumptions

Note: with the Makeinactive oracle call, we do not need to change the semantic of the CorruptTag oracle call (i.e., reading the state + destroy).

Destructive Privacy notion: “CorrupTag must be followed by Makeinactive”

Up to now … we have not succeeded in getting an answer (or a protocol) on Destructive Private, but we have got something close …

Destructive Privacy… challenging notion and close to the real world

Page 26: Semi-Destructive  Private  Rfid Systems

An Hardware Perspective

CorruptTag Privacy Notion Hardware Requirement

No Corrupt Weak Tamper Proof Area

Corrupt at the end Forward Tamper Proof Area

Corrupt (tag destr) Destructive Some protection

Corrupt Strong No protection

Page 27: Semi-Destructive  Private  Rfid Systems

Semi-Destructive Privacy

Like Destructive but Corruption cannot happen during the instants in which the tag is powered by a reader

We assume an hardware capability of the tags, when powered by a reader, to detect corruption and kill themselves.

Possible in real-life? Costly? As expensive as PK crypto? We do not know …

Page 28: Semi-Destructive  Private  Rfid Systems

Semi-Destructive Privacy is Possible

Page 29: Semi-Destructive  Private  Rfid Systems

Semi-Destructive Privacy is Possible

Theorem 2.

The above three-round RFID protocol is correct, secure and semi-destructive private under the assumption that the underlying encryption scheme is IND-CPA-secure and INT-CTXT-secure.

Page 30: Semi-Destructive  Private  Rfid Systems

Authenticated Encryption M. Bellare and C. Namprempre

[Asiacrypt00]

IND-CPA∧INT-CTXT IND-CCA NM-CCA

IND-CPA ∧ INT-PTXT IND-CPA NM-CPA

IND-CPA ∧INT-CTXT : Achievable through the Encrypt-Then-Mac paradigm.• IND-CPA symmetric encryption scheme• STRONG MAC

Page 31: Semi-Destructive  Private  Rfid Systems

Open Problems

Is the hardware safety measure identified realisable in real life?

Is semi-destructive privacy of interest in applications (especially if destructive turns out to be impossible)?

Are our conditions on the encryption scheme necessary?

Practical instances for implementation (using the composition paradigm for authenticated encryption or direct constructions)?