Pseudonym Systems Anja Lehmann IBM Research Zurich ROADMAP - - PowerPoint PPT Presentation

pseudonym systems
SMART_READER_LITE
LIVE PREVIEW

Pseudonym Systems Anja Lehmann IBM Research Zurich ROADMAP - - PowerPoint PPT Presentation

Privacy-Enhancing Technologies: Anonymous Credentials and Pseudonym Systems Anja Lehmann IBM Research Zurich ROADMAP Anonymous onymous Credentia edentials ls privac ivacy-pres preservin rving (use ser) r) authe hentic


slide-1
SLIDE 1

Privacy-Enhancing Technologies: Anonymous Credentials and Pseudonym Systems

Anja Lehmann

IBM Research – Zurich

slide-2
SLIDE 2

ROADMAP

2

Anonymous

  • nymous Credentia

edentials ls – privac ivacy-pres preservin rving (use ser) r) authe hentic ntication ation

Pseud eudonym

  • nym Syste

tems ms – privac ivacy-pres preservin rving & a auditable ditable data ta excha hange nge

slide-3
SLIDE 3

Strong User Authentication

▪ Strong (user) authentication via certificates / attribute-based credentials – Many European countries have or will introduce eID cards – Desirable for security, but detrimental for privacy – Existing schemes require full information disclosure & user is linkable in all transactions

→ This is a privacy and security problem!

– Linkability enables tracking & profiling of users – Acquired personal data requires protection

3

Servic ice Prov

  • vid

ider

Movie Streaming Service

Aha, you are Alice Doe born on Dec 12, 1978 live at Waterdrive 22, Berlin eID expires Aug 4, 2018 Name Alice Doe Date Of Birth Dec 12, 1978 Address Waterdrive 22 City Berlin Country Germany Expiry Date Aug 4, 2018

slide-4
SLIDE 4

4

Servic ice Prov

  • vid

ider

Movie Streaming Service

Name Alice Doe Date of Birth > 18 ye years ago Address 7 Waterdrive City 8003 Zurich Country Germany Expiry Date > tod

  • day

Pseudonym Moviefan Aha, you are user “Moviefan”, from Germany, have valid eID and are over 18!

▪ Envisioned by Chaum in 1981, first full scheme by Camenisch & Lysyanskaya in 2001 – User can selective

ively ly disclose each attribute

– User can prove predicates over the attribut

utes, e.g., “I'm over 18”

– Unlink

nkable le authentication as default, linkability as an option

Strong & Privacy-Preserving User Authentication

slide-5
SLIDE 5

▪ Envisioned by Chaum in 1981, first full scheme by Camenisch & Lysyanskaya in 2001 – User can selective

ively ly disclose each attribute

– User can prove predicates over the attribut

utes, e.g., “I'm over 18”

– Unlink

nkable le authentication as default, linkability as an option

5

Servic ice Prov

  • vid

ider

Movie Streaming Service

Name Alice Doe Date of Birth > 18 ye years ago Address 7 Waterdrive City 8003 Zurich Country Germany Expiry Date > tod

  • day

Pseudonym Alice200 Aha, you have are user “Alice2000”,... Alice2000 = Moviefan ?

Strong & Privacy-Preserving User Authentication

slide-6
SLIDE 6

▪ Most prominent core-credential/signature schemes:

Identity Mixer (IBM) U-Prove (Microsoft)

6

Multi-use credentials Zero-Knowledge Proofs Strong RSA, pairings (LRSW, qSDH) One-time use credentials (multi-use via batch-issuance) Blind Signatures RSA, DL

Privacy-Enhancing Credentials | Existing Solutions

slide-7
SLIDE 7

Privacy-Enhancing Credentials | Extended Features

▪ Many more extensions & properties: – Revocation, multi-credential proofs, issuance with carry-over attributes, conditional

disclosure, „symmetric“ credentials

▪ Various cryptographic realizations

7

slide-8
SLIDE 8

Privacy-Enhancing Credentials | Generic Framework

▪ Technology-independent & „easy-to-use“ framework – Comprehensive & standardized language framework – Technology-agnostic credential & policy handling on top of crypto engine – Generic, automated crypto engine

8

policy layer crypto layer

Browser/ Application Application Access Control Engine Credential Wallet request resource presentation policy presentation token

User er Crede redent ntia ial l Engine ngine Crypt pto

  • Engin

gine

storage policy credential matcher credential mgr evidence generation

  • rchestration

ZKP

Sig

Veri Verifie fier Cred eden ential ial Engin gine Crypt pto

  • Engin

gine

storage policy token matcher token mgr evidence verification

  • rchestration

Com

ZKP

Sig Com

application layer

ABC4Trust (EU project)

www.zurich.ibm.com/idemix

slide-9
SLIDE 9

Privacy-Enhancing Credentials | New Applications

▪ V2X communication (vehicles (V2V) and infrastructure (V2I)) – Security needs: authentication & privacy – Current approach: pseudonym CA – Privacy-credentials fit perfectly! (almost) ▪ Hardware-based device/user attestation (DAA) – Draft for FIDO standard – FIDO ("Fast IDentity Online") Alliance

= industry consortium developing standardized strong user/device authentication

▪ Blockchain: “eternal” and public transaction ledger – Privacy credentials needed to avoid privacy nightmare – Identity Mixer being integrated into Hyperledger Fabric – IBM joined the Sovrin Foundation – decentralized digital identity network

9

Long-term CA Pseudonym CA

long-term certificate pseudonym certificates

revocation status status msg

TPM

slide-10
SLIDE 10

Anonymous

  • nymous Credentia

edentials ls – privacy ivacy-pres preservin rving (use ser) r) authe hentic ntication ation

Pseud eudonym

  • nym Syste

tems ms – privacy ivacy-pr pres eservin rving & au audi ditable table data ta excha hang nge

10

ROADMAP

[CL15] Camenisch, Lehmann. (Un)linkable Pseudonyms for Governmental Databases. CCS15. [CL17] Camenisch, Lehmann. Privacy-Preserving User-Auditable Pseudonym Systems. IEEE EuroSP17.

slide-11
SLIDE 11

Pseudonym System | Motivation

▪ How to exchange and correlate (pseudonymous) data ? – E.g., eHealth records, social security system – User-centric conversion inconvenient & unreliable

11

He Healt alth Ins nsurance Doc

  • ctor B

Lab Labor

  • ratory

ID ID Dat Data Hba02 P89dy 912uj

Doc

  • ctor A

Uniq nique ID Bob.0411

P8 P89d 9dy ML3 L3m5

ID ID Dat Data ML3m5 sD7Ab y2B4m

Hos Hospit ital

slide-12
SLIDE 12

Pseudonym System | Globally Unique Pseudonyms

▪ Data gets associated with globally unique identifiers / pseudonyms – E.g., social security number in US, Belgium, Sweden, ...

12

He Healt alth Ins nsurance Doc

  • ctor B

Lab Labor

  • ratory

ID ID Dat Data ML3m5 sD7Ab y2B4m ID ID Dat Data Hba02 ML3m5 912uj

Doc

  • ctor A

Hos Hospit ital

Uniq nique ID Bob.0411

ML3 L3m5 ML3 L3m5

▪ Unique identifiers are secu

ecurit ity & & pri privacy ri risk

– no control about data exchange & usage – if associated data is lost, all pieces can be linked together – linkability of data allows re-identification of “anonymized” data (e.g. Netflix challenge)

slide-13
SLIDE 13

+ control about data exchange + + if records are lost, pieces cannot be linked together

Pseudonym System | Local Pseudonyms & Trusted Converter

13

ID ID Data ML3m5 sD7Ab y2B4m

Record of P89dy from Hospital? Record of ML3m5 ?

ID ID Data Hba02 P89dy 912uj

Doc Doctor A Hos

  • spital

Main ain ID Doc

  • ctor A

Hos Hospit ital Alice.1210 Hba02 7twnG Bob.0411 P89dy ML3m5 Carol.2503 912uj sD7Ab

Converter ▪ User data is associated with random looking local identifiers – the pseudonyms ▪ Only central entity – the converter – can link & convert pseudonyms new Japan eID / social security number system (?)

slide-14
SLIDE 14

+ control about data exchange + + if records are lost, pieces cannot be linked together + + converter can provide audit logs to users (GDPR-requirement)

Pseudonym System | Local Pseudonyms & Trusted Converter

14

ID ID Data ML3m5 sD7Ab y2B4m

Record of P89dy from Hospital? Record of ML3m5 ?

ID ID Data Hba02 P89dy 912uj

Doc Doctor A Hos

  • spital

Main ain ID Doc

  • ctor A

Hos Hospit ital Alice.1210 Hba02 7twnG Bob.0411 P89dy ML3m5 Carol.2503 912uj sD7Ab

Converter

Uniq nique ID Bob.0411

Doctor A → Hospital. 02/26/2017 …

User Por

  • rtal

l for

  • r Bob.0411

– converter lear earns al all req equest & & kno knows al all corr

  • rrela

latio ions

▪ User data is associated with random looking local identifiers – the pseudonyms ▪ Only central entity – the converter – can link & convert pseudonyms

slide-15
SLIDE 15

+ control about data exchange + + if records are lost, pieces cannot be linked together + + converter can provide audit logs to users (GDPR-requirement)

15

ID ID Data ML3m5 sD7Ab y2B4m

Record of P89dy from Hospital? Record of ML3m5 ?

ID ID Data Hba02 P89dy 912uj

Doc Doctor A Hos

  • spital

Main ain ID Doc

  • ctor A

Hos Hospit ital Alice.1210 Hba02 7twnG Bob.0411 P89dy ML3m5 Carol.2503 912uj sD7Ab

Converter

Uniq nique ID Bob.0411

Doctor A → Hospital. 02/26/2017 …

User Por

  • rtal

l for

  • r Bob.0411

– converter lear earns al all req equest & & kno knows al all corr

  • rrela

latio ions

▪ User data is associated with random looking local identifiers – the pseudonyms ▪ Only central entity – the converter – can link & convert pseudonyms

Pseudonym System | Local Pseudonyms & Oblivious Converter

slide-16
SLIDE 16

▪ User, converter & server jointly derive pseudonyms from unique identifiers

(Un)linkable Pseudonyms | Pseudonym Generation

16

ID ID Data ML3m5 sD7Ab y2B4m ID ID Data Hba02 P89dy 912uj

Doc Doctor A Hos

  • spital

Converter

Uniq nique ID Bob.0411 P8 P89d 9dy ML3 L3m5

▪ [CL15] generation triggered by converter, knows unique IDs ▪ [CL17] oblivious pseudonym generation triggered by user

slide-17
SLIDE 17

▪ Only converter can link & convert pseudonyms, but does so in a blind way

(Un)linkable Pseudonyms | Pseudonym Conversion

17

ID ID Data ML3m5 sD7Ab y2B4m ID ID Data Hba02 P89dy 912uj

Doc Doctor A Hos

  • spital

Converter

Record of P89dy at Hospital Record of P89dy at Hospital Record of P89dy at Hospital blind conversion request Record of ML3 L3m5 ? Record of P89dy ? Record of P89dy ? blind conversion unblinding conversion response

slide-18
SLIDE 18

▪ pseudonym generation is deterministic & consistent with blind conversion

(Un)linkable Pseudonyms | Consistency

18

ID ID Data ML3m5 sD7Ab y2B4m ID ID Data Hba02 P89dy 912uj

Doc Doctor A Hos

  • spital

Converter

Uniq Unique ID D Bob.0411 P8 P89d 9dy ML3 L3m5

slide-19
SLIDE 19

▪ pseudonym conversions are transitive, unlinkable data can be aggregated

(Un)linkable Pseudonyms | Consistency

19

ID ID Data ML3m5 sD7Ab y2B4m ID ID Data Hba02 P89dy 912uj

Doc Doctor A Hos

  • spital

Converter

ID ID Data 6Wz6P fX4o7 RtE tE14 Ins nsurance $ $ $

Invoice for

RtE tE14

Invoice for

ML3m5

Invoice for

P8 P89dy

slide-20
SLIDE 20

▪ [CL17] every pseudonym conversion triggers blind generation of audit log entry

(Un)linkable Pseudonyms | User Audits

20

ID ID Data ML3m5 sD7Ab y2B4m ID ID Data Hba02 P89dy 912uj

Doc Doctor A Hos

  • spital

Converter

Uniq nique ID Bob.0411 ML3 L3m5 Aud udit it Bulle ulletin in Boa

  • ard

Doctor A → Hospital. 02/26/2017 P8 P89d 9dy

slide-21
SLIDE 21

(Un)linkable Pseudonyms | Security Model

▪ Universal composability (UC) model convenient & simple

le for privacy-preserving systems

z [𝑉𝑗, 𝑇𝐵, 𝑇𝐶 ]

F

Nyms: [𝑉𝑗, 𝑇𝐵, 𝑜𝑧𝑛𝑗,𝐵 ] Chooses random pseudonym 𝑜𝑧𝑛𝑗,𝐵 Audit NymGen, 𝑇𝐵

21

Ser Server Ser Server

𝑉𝑗 𝑇𝐵 𝑇𝐶

NymGen, 𝑇𝐶 Conversion: [𝑉𝑗, 𝑇𝐵, 𝑇𝐶 ] …. [𝑉𝑗, 𝑇𝐶, 𝑜𝑧𝑛𝑗,𝐶 ] …. , 𝑜𝑧𝑛𝑗,𝐶,…. Conversion via Nyms table Audit returns Conversion entries for 𝑉𝑗 Co Converter X Convert, 𝑇𝐵, 𝑇𝐶, 𝑟𝑗𝑒 Convert, 𝑟𝑗𝑒, 𝑃𝐿

slide-22
SLIDE 22

Our Protocol

▪ high-level idea of convertible pseudonyms ▪ adding (efficient) auditability ▪ security against active adversaries

slide-23
SLIDE 23

High-level Idea | Pseudonym Generation

23

Con

  • nverter X

[4] SA decrypts pseudonym nymi,A ← Dec(skA,C’nym) nymi,A = PRF(k,uidi )xA

k, for each server: xA, xB, xC, … Server A uidi

zi [2] Ui encrypts zi for SA Cnym ← Enc(pkA,zi) nymi,A [3] X blindly computes nymi,A C’nym ← Cnym

xA

Cnym C’nym [1] X and Uijointly compute zi ← OPRF(k,uidi) Core Idea Generation: X blindly computes nymi,A ← PRF(k,uidi )xA

pkA ,skA

slide-24
SLIDE 24

High-level Idea | Pseudonym Conversion

24

Con

  • nverter X

Server A

[2] X blindly transforms encrypted pseudonym C' ← C Δ with Δ = xB / xA C‘ = Enc(pkB, nymi,A) xB / xA C ' = Enc(pkB, PRF(k,uidi) xA) xB / xA C‘ ' = Enc(pkB, PRF(k,uidi) xB) C‘ ‘ = Enc(pkB, nymi,B) [1] SA encrypts nymi,Aunder SB's key C ← Enc(pkB, nymi,A)

k, for each server: xA, xB, xC, … Server B

C, SB, qid C', SA, qid [3] SB decrypts converted pseudonym nymi,B ← Dec(skB , C’) nymi,B = PRF(k,uidi )xB

pkA,skA pkB,skB

nymi,A nymi,B Core Idea Generation: X blindly computes nymi,A ← PRF(k,uidi )xA Conversion: X blindly computes nymi,B ← nymi,A

xB / xA

slide-25
SLIDE 25

High-level Idea | Overview

25

Con

  • nverter X

Server A Server B ConvRequest ConvResponse Con

  • nverter X

Server A NymResponse NymRequest nymi,A nymi,B nymi,A

Generation Conversion

slide-26
SLIDE 26

High-level Idea | Adding Auditability

26

Con

  • nverter X

Server A Server B ConvRequest, upk upk’’ ConvResponse, upk upk’’’ Con

  • nverter X

Server A NymResponse, upk upk’ NymRequest, upk upk’ nymi,A, upk upk’

usk usk, , up upk

upk is randomizable encryption key upk‘ ← RAND(upk) nymi,A, upk upk’ nymi,B, upk upk’’’

C* C* ← Enc nc(upk’’, inf info) de decrypt all all aud audit ci ciphertext xts: s: inf info ← Dec(usk,C*) ? C* C* …

Aud udit it Bulle ulletin in Boa

  • ard

Generation Conversion

slide-27
SLIDE 27

High-level Idea | Adding Efficient Auditability (via Audit Tags)

27

Con

  • nverter X

Server A Server B ConvRequest, upk’’, TA ConvResponse, upk’’’ Con

  • nverter X

Server A NymResponse, upk’, CT NymRequest, upk’, CT nymi,A, upk’, TA

usk, upk, {T {TA} }

nymi,A, upk’, TA

TA, , C* …

Aud udit it Bulle ulletin in Boa

  • ard

de decrypt ci ciphertext for

  • r TA:

info ← Dec(usk,C*) CT

T ← Enc

Enc(pk pkA, TA) … for random TA TA ← Dec(sk skA, CT) C* ← Enc(upk’’, info)

nymi,B, upk’’’

Generation Conversion

slide-28
SLIDE 28

C* C*TB

TB

High-level Idea | Adding Efficient Auditability (via Audit Tags)

28

Con

  • nverter X

Server A Server B ConvRequest, upk’’, TA ConvResponse, upk’’’ Con

  • nverter X

Server A

Generation Conversion

NymResponse, upk’, CT NymRequest, upk’, CT nymi,A, upk’, TA

usk, upk, {TA, TB}

nymi,A, upk’, TA nymi,B, upk’’’, TB

TA, C*

Aud udit it Bulle ulletin in Boa

  • ard

decrypt ciphertext for TA: info ← Dec(usk,C*) CT ← Enc(pkA, TA) … for random TA TA ← Dec(skA, CT)

Tag Chain ain:

C* ← Enc(upk’’, info) get ne new aud audit tags ags for

  • r TA

A :

TB

B ← Dec(usk, C*TB TB)

) TA, C*TB

TB

C* C*TB

TB ← Enc

Enc(upk’’’, TB) … for random TB

slide-29
SLIDE 29

C*TB

High-level Idea | Adding Efficient Auditability (via Audit Tags)

29

Con

  • nverter X

Server A Server B ConvRequest, upk’’, TA, C* C*TA

TA

ConvResponse, upk’’’ Con

  • nverter X

Server A

Generation Conversion

NymResponse, upk’, CT NymRequest, upk’, CT nymi,A, upk’, TA

usk, upk, {TA, TB, T’

A,…}

nymi,A, upk’, TA nymi,B, upk’’’, TB

TA, C*

Aud udit it Bulle ulletin in Boa

  • ard

CT ← Enc(pkA, TA) … for random TA TA ← Dec(skA, CT)

Tag Chain ain:

C* ← Enc(upk’’, info) get ne new aud audit tags ags for

  • r TA

A :

TB ← Dec(usk, C*TB) T’

A A ← Dec(usk,

, C*TA

TA)

) TA, C*TB TA, C*TA

TA

C* C*TA

TA ← Enc

Enc(upk’’, T’

A) … for random T’ A

C*TB ← Enc(upk’’’, TB) … for random TB T’

A

decrypt ciphertext for TA: info ← Dec(usk,C*)

slide-30
SLIDE 30

C*TB

High-level Idea | Security against Active Adversaries

30

Con

  • nverter X

Server A Server B ConvRequest, upk’’, TA, C*TA, πA ConvResponse, upk’’’ Con

  • nverter X

Server A

Generation Conversion

NymResponse, upk’, CT nymi,A, upk’, TA

usk, upk, {TA, TB, T’

A,…}

nymi,A, upk’, TA nymi,B, upk’’’, TB

TA, C*, TB, C** **

Aud udit it Bulle ulletin in Boa

  • ard

CT ← Enc(pkA, TA) … for random TA TA ← Dec(skA, CT)

Tag Chain ain:

C* ← Enc(upk’’, info) get new audit tags for TA : TB ← Dec(usk, C*TB) T’

A ← Dec(usk, C*TA)

TA, C*TB TA, C*TA C*TA ← Enc(upk’’, T’

A) … for random T’ A

C*TB ← Enc(upk’’’, TB) … for random TB T’

A

decrypt ciphertext for TA: info ← Dec(usk,C*)

NymRequest, upk’, CT

Sign Signature sch scheme for

  • r

ho homomorphic en encodings

slide-31
SLIDE 31

(Un)linkable & Auditable Pseudonyms | Security & Efficiency

▪ Provably secure construction in the Universal Composability (UC) framework based on – homomorphic encryption scheme (ElGamal encryption) – homomorphic encryption scheme with re-randomizable public keys (ElGamal-based) – oblivious pseudorandom function with committed outputs (based on Dodis-Yampolskiy-PRF) – signature scheme for homomorphic encoding functions (based on Groth signature scheme) – zero-knowledge proofs (Fiat-Shamir NIZKs) – commitment scheme (ElGamal based) – DDH ▪ Secure against actively corrupt users & servers, and honest-but-curious converter – (w/o audits even fully corrupt converter [CL15]) ▪ Concrete instantiation ~50ms computational time per party for conversion

31

slide-32
SLIDE 32

Summary

▪ Mature privacy-enhancing technologies exist – privacy and functionality are not exclusive ▪ Linkability crucial for utility, but also weakens privacy ▪ Paradigm shift: unlinkability per default, linkability only when necessary ▪ Controlled, selective linkability & enforced transparency ▪ GDPR creates a great practical demand for privacy-preserving mechanisms

– data minimisation, consent enforcement, auditability, ...

▪ „Crypto Magic“ needs education and dissemination!

32

anj@zurich.ibm.com

Thanks! Questions?