SDDR: Light-Weight, Secure Mobile Encounters

68
SDDR: Light-Weight, Secure Mobile Encounters Matthew Lentz, Viktor Erdélyi, Paarijaat Aditya Elaine Shi, Peter Druschel, Bobby Bhattacharjee University of Maryland Max Planck Institute for Software Systems

Transcript of SDDR: Light-Weight, Secure Mobile Encounters

Page 1: SDDR: Light-Weight, Secure Mobile Encounters

SDDR: Light-Weight, Secure Mobile Encounters

Matthew Lentz, Viktor Erdélyi, Paarijaat Aditya!Elaine Shi, Peter Druschel, Bobby Bhattacharjee

University of Maryland Max Planck Institute for Software Systems

Page 2: SDDR: Light-Weight, Secure Mobile Encounters

Mobile Social Applications

Services based on user context:

1 location activity nearby peers2 3

Latitude FireChat

Foursquare Haggle

Highlight

Page 3: SDDR: Light-Weight, Secure Mobile Encounters

//

Common: Centralized Service

Service

Involves a trusted third party

UI+Sensors

UI+Sensors

//

Page 4: SDDR: Light-Weight, Secure Mobile Encounters

Alternate: Device-to-Device

Service

Service

Page 5: SDDR: Light-Weight, Secure Mobile Encounters

Alternate: Device-to-Device

Enables tracking by adversaries

Service

Service

Page 6: SDDR: Light-Weight, Secure Mobile Encounters

Alternate: Device-to-Device

Enables tracking by adversaries

Service

Service

13

5B

Page 7: SDDR: Light-Weight, Secure Mobile Encounters

13

5B

Alternate: Device-to-Device

Enables tracking by adversaries

Service

Service

GIZMODO - “Brave New Garbage: London’s Trash!Cans Track You Using Your Smartphone” (2013)

Credit: http://gizmodo.com/brave-new-garbage-londons-trash-cans-track-you-using-1071610114

Page 8: SDDR: Light-Weight, Secure Mobile Encounters

Randomize Addresses?

13

5B

Page 9: SDDR: Light-Weight, Secure Mobile Encounters

Randomize Addresses?

?

? 47

6B

Unlinkable, but does not support recognition!

Page 10: SDDR: Light-Weight, Secure Mobile Encounters

Secure Device Discovery!and Recognition

1

2

3

Secure Encounter Primitive

Strawman Protocol

System Goals and SDDR Protocol

4 Evaluation and Concurrent Work

Page 11: SDDR: Light-Weight, Secure Mobile Encounters

Secure Encounters

Page 12: SDDR: Light-Weight, Secure Mobile Encounters

Secure Encounters

Establish a Shared Key

Secure communication through untrusted channel!(e.g., pseudonymous email)

Page 13: SDDR: Light-Weight, Secure Mobile Encounters

Secure Encounters

Establish a Shared Key

Secure communication through untrusted channel!(e.g., pseudonymous email)

Unlinkable by default { , }?

? ?

Page 14: SDDR: Light-Weight, Secure Mobile Encounters

Recognition

Want to recognize each other in encounters

Encounters

{ , }?

Encounters

{ , }?

Page 15: SDDR: Light-Weight, Secure Mobile Encounters

Recognition

Want to recognize each other in encounters

… while remaining unlinkable by others

Encounters

{ , }?

Encounters

{ , }?

Page 16: SDDR: Light-Weight, Secure Mobile Encounters

Recognition

Want to recognize each other in encounters

Encounters

{ , }?

Encounters

{ , }?

Map ephemeral pseudonyms to long-lived identities { , }{ , }

Page 17: SDDR: Light-Weight, Secure Mobile Encounters

Revocation and Scoping

#&@$!

No Longer Friends

Temporary Friends

USENIX Allow recognizability by friends using context-based constraints

Context-based Scoping

B

Only At Work

Only After 8pm

A C

Page 18: SDDR: Light-Weight, Secure Mobile Encounters

Revocation and Scoping

#&@$!

No Longer Friends

Temporary Friends

USENIX Allow recognizability by friends using context-based constraints

Context-based Scoping

B

Only At Work

Only After 8pm

A C

Efficient and unilateral revocation is required

Page 19: SDDR: Light-Weight, Secure Mobile Encounters

Security Properties

Discover devices while preserving user privacy

Recognize peers with prior trust relations and support efficient, unilateral revocation

Secure communication between encounter peers

Page 20: SDDR: Light-Weight, Secure Mobile Encounters

Threat Model

Trust OS and apps on your phone

No PHY layer attacks considered

Participate with all nearby devices (arbitrary subset of colluding attackers)

Page 21: SDDR: Light-Weight, Secure Mobile Encounters

Enabling Recognition

Agree on a shared secret “link value”

Encounters

{ , }?

Encounters

{ , }?

Page 22: SDDR: Light-Weight, Secure Mobile Encounters

Enabling Recognition

Agree on a shared secret “link value”

Encounters

{ , }?

Encounters

{ , }?

= H( )

Page 23: SDDR: Light-Weight, Secure Mobile Encounters

Recognition and Revocation

Advert ListenAdvert Listen

Page 24: SDDR: Light-Weight, Secure Mobile Encounters

Recognition and Revocation

Advert

“I allow and to recognize me”

ListenAdvert Listen

Page 25: SDDR: Light-Weight, Secure Mobile Encounters

Recognition and Revocation

Advert

“I allow and to recognize me”

Listen

“I want to recognize ”

Advert Listen

Page 26: SDDR: Light-Weight, Secure Mobile Encounters

Recognition and Revocation

Advert ListenAdvert Listen

“I revoke ’s right to recognize me”

Page 27: SDDR: Light-Weight, Secure Mobile Encounters

Recognition and Revocation

Advert ListenAdvert Listen

Page 28: SDDR: Light-Weight, Secure Mobile Encounters

Recognition by Intersecting Sets

Advert ListenAdvert Listen

Page 29: SDDR: Light-Weight, Secure Mobile Encounters

Recognition by Intersecting Sets

Advert ListenAdvertListen

U U

= =

Page 30: SDDR: Light-Weight, Secure Mobile Encounters

Strawman Protocol

Advert ListenAdvert Listen

Page 31: SDDR: Light-Weight, Secure Mobile Encounters

Strawman Protocol

Diffie-Hellman (DH) ExchangeGenerate

Compute

Generate

Compute

Advert ListenAdvert Listen

Page 32: SDDR: Light-Weight, Secure Mobile Encounters

Strawman Protocol

Diffie-Hellman (DH) ExchangeGenerate

Compute

Generate

Compute

Private Set Intersection (PSI)

Advert ListenAdvert Listen

Page 33: SDDR: Light-Weight, Secure Mobile Encounters

Strawman Protocol

Diffie-Hellman (DH) ExchangeGenerate

Compute

Generate

Compute

Private Set Intersection (PSI)

Advert ListenAdvert Listen

{ , } { , }

Page 34: SDDR: Light-Weight, Secure Mobile Encounters

PSI is Prohibitively Slow

1ms

10ms

100ms

1s

10s

1 2 4 8 16 32 64 128 256

Com

puta

tion

Tim

e (lo

g sc

ale)

Size of Advert/Listen Sets (log scale)

PSI (JL10) on Samsung!Galaxy Nexus

Page 35: SDDR: Light-Weight, Secure Mobile Encounters

PSI is Prohibitively Slow

1ms

10ms

100ms

1s

10s

1 2 4 8 16 32 64 128 256

Com

puta

tion

Tim

e (lo

g sc

ale)

Size of Advert/Listen Sets (log scale)

PSI (JL10) on Samsung!Galaxy Nexus

Page 36: SDDR: Light-Weight, Secure Mobile Encounters

System Goals

Efficiency - Practical for resource-constrained devices

Scalability - Handle many peers (e.g., stadium)

Page 37: SDDR: Light-Weight, Secure Mobile Encounters

System Goals

Efficiency - Practical for resource-constrained devices

Scalability - Handle many peers (e.g., stadium)

Need to develop secure protocols with!energy efficiency as a first order goal

Page 38: SDDR: Light-Weight, Secure Mobile Encounters

Divide time into discrete epochs, across which user is unlinkable.

SDDR Protocol State

Advert Listen

Page 39: SDDR: Light-Weight, Secure Mobile Encounters

SDDR Protocol State

In each epoch, generate:

DH Key Pair1 Bloom Filter2

Advert Listen

Page 40: SDDR: Light-Weight, Secure Mobile Encounters

SDDR Protocol State

In each epoch, generate:

DH Key Pair1 Bloom Filter2

Probabilistic set digest for advertised link values

We use them for compactness, not security

Advert Listen

Page 41: SDDR: Light-Weight, Secure Mobile Encounters

DH Key Pair1 Bloom Filter2

SDDR Protocol State

In each epoch, generate:Advert Listen

Page 42: SDDR: Light-Weight, Secure Mobile Encounters

DH Key Pair1 Bloom Filter2

SDDR Protocol State

In each epoch, generate:Advert Listen

H( Public, )

Page 43: SDDR: Light-Weight, Secure Mobile Encounters

DH Key Pair1 Bloom Filter2

SDDR Protocol State

In each epoch, generate:Advert Listen

H( Public, )

Page 44: SDDR: Light-Weight, Secure Mobile Encounters

DH Key Pair1 Bloom Filter2

SDDR Protocol State

In each epoch, generate:Advert Listen

Page 45: SDDR: Light-Weight, Secure Mobile Encounters

DH Key Pair1 Bloom Filter2

SDDR Protocol State

Random padding to global maximum size

In each epoch, generate:Advert Listen

Page 46: SDDR: Light-Weight, Secure Mobile Encounters

DH Key Pair1 Bloom Filter2

SDDR Protocol State

Public

In each epoch, generate:Advert Listen

Page 47: SDDR: Light-Weight, Secure Mobile Encounters

DH Key Pair1 Bloom Filter2

SDDR Protocol State

Public

In each epoch, generate:Advert Listen

Device discovery,!recognition, and!

key exchange in a !single message

Page 48: SDDR: Light-Weight, Secure Mobile Encounters

SDDR ProtocolPublic Public

Advert ListenAdvert Listen

Page 49: SDDR: Light-Weight, Secure Mobile Encounters

SDDR ProtocolPublic Public

Public

Advert ListenAdvert Listen

Page 50: SDDR: Light-Weight, Secure Mobile Encounters

SDDR ProtocolPublic Public

Public

Advert ListenAdvert Listen

Page 51: SDDR: Light-Weight, Secure Mobile Encounters

SDDR ProtocolPublic Public

Public

Advert ListenAdvert Listen

Locally Compute1

Page 52: SDDR: Light-Weight, Secure Mobile Encounters

SDDR ProtocolPublic Public

Public

Advert ListenAdvert Listen

H( Public, )

Locally Compute1

2 Query

Page 53: SDDR: Light-Weight, Secure Mobile Encounters

SDDR ProtocolPublic Public

Public

Advert ListenAdvert Listen

H( Public, )

Locally Compute1

2 Query

Page 54: SDDR: Light-Weight, Secure Mobile Encounters

Can mitigate false positives (Details in paper)

SDDR ProtocolPublic Public

Public

Advert ListenAdvert Listen

H( Public, )

Locally Compute1

2 Query

Page 55: SDDR: Light-Weight, Secure Mobile Encounters

SDDR ProtocolPublic Public

Encounters

{ , }

Advert ListenAdvert Listen

Page 56: SDDR: Light-Weight, Secure Mobile Encounters

SDDR ProtocolPublic Public

Encounters

{ , }Encounters

{ , }

Advert ListenAdvert Listen

Page 57: SDDR: Light-Weight, Secure Mobile Encounters

SDDR Implementation

Prototype for Android using Bluetooth 2.1

BattOr for Power Measurements

Developed/Evaluated on Samsung Galaxy Nexus

Page 58: SDDR: Light-Weight, Secure Mobile Encounters

System Goals

Efficiency - Practical for resource-constrained devices

Scalability - Handle many peers (e.g., stadium)

Page 59: SDDR: Light-Weight, Secure Mobile Encounters

1ms

10ms

100ms

1s

10s

1 2 4 8 16 32 64 128 256

Com

puta

tion

Tim

e (lo

g sc

ale)

Size of Advert/Listen Sets (log scale)

PSI (JL10)

SDDR vs PSI - Computation

Page 60: SDDR: Light-Weight, Secure Mobile Encounters

1ms

10ms

100ms

1s

10s

1 2 4 8 16 32 64 128 256

Com

puta

tion

Tim

e (lo

g sc

ale)

Size of Advert/Listen Sets (log scale)

PSI (JL10)

SDDR vs PSI - Computation

10µs

100µs

1ms

10ms

100ms

1s

10s

1 2 4 8 16 32 64 128 256

Com

puta

tion

Tim

e (lo

g sc

ale)

Size of Advert/Listen Sets (log scale)

PSI (JL10)SDDR (Pfp = 3.03%)

Page 61: SDDR: Light-Weight, Secure Mobile Encounters

1ms

10ms

100ms

1s

10s

1 2 4 8 16 32 64 128 256

Com

puta

tion

Tim

e (lo

g sc

ale)

Size of Advert/Listen Sets (log scale)

PSI (JL10)

SDDR vs PSI - Computation

10µs

100µs

1ms

10ms

100ms

1s

10s

1 2 4 8 16 32 64 128 256

Com

puta

tion

Tim

e (lo

g sc

ale)

Size of Advert/Listen Sets (log scale)

PSI (JL10)SDDR (Pfp = 3.03%)

Faster by over 4!orders of magnitude

Page 62: SDDR: Light-Weight, Secure Mobile Encounters

SDDR vs PSI - Power Traces

0

500

1000

1500

2000

0 20 40 60 80 100 120

DH

+PSI

ove

r BT2

.1Po

wer

Con

sum

ed (m

W)

Time (sec)

Discovery RecognitionIncoming

Recognition

0

500

1000

1500

2000SD

DR

ove

r BT2

.1Po

wer

Con

sum

ed (m

W)

Discovery/Recognition

IncomingDiscovery/Recognition

Page 63: SDDR: Light-Weight, Secure Mobile Encounters

SDDR vs PSI - Power Traces

0

500

1000

1500

2000

0 20 40 60 80 100 120

DH

+PSI

ove

r BT2

.1Po

wer

Con

sum

ed (m

W)

Time (sec)

Discovery RecognitionIncoming

Recognition

0

500

1000

1500

2000SD

DR

ove

r BT2

.1Po

wer

Con

sum

ed (m

W)

Discovery/Recognition

IncomingDiscovery/Recognition

Nearly invisible footprint within BT discovery

Page 64: SDDR: Light-Weight, Secure Mobile Encounters

SDDR vs PSI - Power Traces

0

500

1000

1500

2000

0 20 40 60 80 100 120

DH

+PSI

ove

r BT2

.1Po

wer

Con

sum

ed (m

W)

Time (sec)

Discovery RecognitionIncoming

Recognition

0

500

1000

1500

2000SD

DR

ove

r BT2

.1Po

wer

Con

sum

ed (m

W)

Discovery/Recognition

IncomingDiscovery/Recognition

Nearly invisible footprint within BT discovery

Cheap, non-interactive protocol!enables low-energy implementation

Page 65: SDDR: Light-Weight, Secure Mobile Encounters

SDDR Evaluation

Time to Compute Recognizability

Energy Consumption - Power Traces

Energy Consumption - Micro-benchmarks

Battery Life vs. # Nearby Devices

✓✓

Page 66: SDDR: Light-Weight, Secure Mobile Encounters

EnCore - Communication PlatformAppeared in MobiSys ‘14

Supports content sharing for groups of socially meaningful

encounters

“Great discussion!” - Amy

Page 67: SDDR: Light-Weight, Secure Mobile Encounters

Summary

Mobile social applications have!significant privacy challenges

www.cs.umd.edu/projects/ebn

SDDR provides secure encounter primitive runs efficiently on mobile devices

Page 68: SDDR: Light-Weight, Secure Mobile Encounters

SDDR over Bluetooth 2.1

DiscoverableResponds to inquiry scan with address and beacon

InquirerPerforms inquiry scan, receiving and processing nearby devices’ beacons

CPU

BT

Change MAC address each epoch

B

BC