for the Internet of Things David J. Wu Ankur Taly Asim Shankar - - PowerPoint PPT Presentation

for the internet of things
SMART_READER_LITE
LIVE PREVIEW

for the Internet of Things David J. Wu Ankur Taly Asim Shankar - - PowerPoint PPT Presentation

Privacy, Discovery, and Authentication for the Internet of Things David J. Wu Ankur Taly Asim Shankar Dan Boneh Stanford University Google Google Stanford University The Internet of Things (IoT) Lots of smart devices, but only useful if


slide-1
SLIDE 1

Privacy, Discovery, and Authentication for the Internet of Things

David J. Wu

Stanford University

Ankur Taly

Google

Asim Shankar

Google

Dan Boneh

Stanford University

slide-2
SLIDE 2

The Internet of Things (IoT)

Lots of smart devices, but

  • nly useful if users can

discover them!

slide-3
SLIDE 3

Private Service Discovery

Many existing service discovery protocols: Multicast DNS (mDNS), Apple Bonjour, Bluetooth Low Energy (BLE) A typical discovery protocol

Device owner’s name / user ID revealed! Device location revealed!

Screenshot taken on a public Wireless network

slide-4
SLIDE 4

Private Service Discovery

Samsung TV

Guide | Setup

Philips Hue

Brightness

ADT Security

Manage

Door Lock

Manage

Alice

Each service specifies an authorization policy

Guest

Samsung TV

Guide | Setup

Philips Hue

Brightness

ADT Security

Manage

Door Lock

Manage

Stranger

Samsung TV

Guide | Setup

Philips Hue

Brightness

ADT Security

Manage

Door Lock

Manage

slide-5
SLIDE 5

Private Service Discovery

Samsung TV

Guide | Setup

Philips Hue

Brightness

ADT Security

Manage

Door Lock

Manage

Alice

Each service specifies an authorization policy

Guest

Samsung TV

Guide | Setup

Philips Hue

Brightness

ADT Security

Manage

Door Lock

Manage

Stranger

Samsung TV

Guide | Setup

Philips Hue

Brightness

ADT Security

Manage

Door Lock

Manage

Mutual privacy: privacy should also hold for devices trying to discover services!

slide-6
SLIDE 6

Private Mutual Authentication

Bob How to authenticate between mutually distrustful parties?

Will only reveal identity to devices owned by Alice. Will only reveal identity to Alice’s family members.

security system

slide-7
SLIDE 7

Private Mutual Authentication

Bob

In most existing mutual authentication protocols (e.g., TLS, IKE, SIGMA), one party must reveal its identity first

security system

slide-8
SLIDE 8

Primary Protocol Requirements

  • Mutual privacy: Identity of protocol participants are
  • nly revealed to authorized recipients
  • Lightweight: privacy should be as simple as setting a

flag in key-exchange (as opposed to a separate protocol – e.g., using secret handshakes [BDSSSW03])

slide-9
SLIDE 9

Identity and Authorization Model

Every party has a signing + verification key, and a collection of human-readable names bound to their public keys via a certificate chain

alice/family/ bob/ alice/device/ security/ popular_corp/ prod/S1234

verification key

slide-10
SLIDE 10

Identity and Authorization Model

alice/

alice/family/ alice/family/ bob/ alice/family/ charlie/ alice/device/ alice/device/ security/

Every party has a signing + verification key, and a collection of human-readable names bound to their public keys via a certificate chain

slide-11
SLIDE 11

Identity and Authorization Model

Authorization decisions expressed as prefix patterns

alice/family/ bob/ alice/device/ security/

Policy:

alice/devices/*

Policy:

alice/family/*

slide-12
SLIDE 12

Protocol Construction

slide-13
SLIDE 13

Starting Point: Diffie-Hellman Key Exchange

𝔿 : cyclic group of prime order 𝑞 with generator 𝑕 𝑕𝑧 𝑕𝑦𝑧 𝑕𝑦𝑧 𝑦

R ℤ𝑞

𝑧

R ℤ𝑞

𝑕𝑦

Shared key: KDF 𝑕𝑦, 𝑕𝑧, 𝑕𝑦𝑧

slide-14
SLIDE 14

Starting Point: Diffie-Hellman Key Exchange

𝔿 : cyclic group of prime order 𝑞 with generator 𝑕 𝑕𝑧 𝑕𝑦𝑧 𝑕𝑦𝑧 𝑦

R ℤ𝑞

𝑧

R ℤ𝑞

𝑕𝑦

Shared key: KDF 𝑕𝑦, 𝑕𝑧, 𝑕𝑦𝑧

slide-15
SLIDE 15

Secure Key Agreement: SIGMA-I Protocol [CK01]

𝑕𝑧, ID𝐶, SIG𝐶 ID𝐶, 𝑕𝑦, 𝑕𝑧

𝑙

𝑦

R ℤ𝑞

𝑧

R ℤ𝑞

𝑕𝑦

slide-16
SLIDE 16

Secure Key Agreement: SIGMA-I Protocol [CK01]

𝑕𝑧, ID𝐶, SIG𝐶 ID𝐶, 𝑕𝑦, 𝑕𝑧

𝑙

𝑦

R ℤ𝑞

𝑧

R ℤ𝑞

𝑕𝑦

Note: in the actual protocol, session ids are also included for replay prevention.

Bob’s signature of the ephemeral DH exponents message encrypted and authenticated Bob’s certificate

slide-17
SLIDE 17

Secure Key Agreement: SIGMA-I Protocol [CK01]

𝑕𝑧, ID𝐶, SIG𝐶 ID𝐶, 𝑕𝑦, 𝑕𝑧

𝑙

𝑦

R ℤ𝑞

𝑧

R ℤ𝑞

𝑕𝑦

ID𝐵, SIG𝐵(ID𝐵, 𝑕𝑦, 𝑕𝑧) 𝑙

Alice’s certificate Alice’s signature message encrypted and authenticated

Note: in the actual protocol, session ids are also included for replay prevention.

slide-18
SLIDE 18

Secure Key Agreement: SIGMA-I Protocol [CK01]

𝑕𝑧, ID𝐶, SIG𝐶 ID𝐶, 𝑕𝑦, 𝑕𝑧

𝑙

𝑦

R ℤ𝑞

𝑧

R ℤ𝑞

𝑕𝑦

ID𝐵, SIG𝐵(ID𝐵, 𝑕𝑦, 𝑕𝑧) 𝑙

session key derived from 𝑕𝑦, 𝑕𝑧, 𝑕𝑦𝑧

Note: in the actual protocol, session ids are also included for replay prevention.

slide-19
SLIDE 19

Properties of the SIGMA-I Protocol

  • Mutual authentication against active network adversaries
  • Hides server’s (Bob’s) identity from a passive attacker
  • Hides client’s (Alice’s) identity from an active attacker
  • Bob’s identity is revealed to an active attacker!
slide-20
SLIDE 20

Identity Based Encryption (IBE) [Sha84, BF01, Coc01]

Public-key encryption scheme where public-keys can be arbitrary strings (identities)

IBE.Encrypt

public parameters

Bob

message ciphertext

mpk id

𝑛 ct

Alice can encrypt a message to Bob without needing to have exchanged keys with Bob

slide-21
SLIDE 21

Identity Based Encryption (IBE) [Sha84, BF01, Coc01]

root authority skAlice msk

To decrypt messages, users go to a (trusted) identity provider to obtain a decryption key for their identity Bob can decrypt all messages encrypted to his identity using skBob

skBob

slide-22
SLIDE 22

Prefix-Based Encryption

Secret-keys and ciphertexts both associated with names

alice/devices/ security/

𝑛

alice/devices/

secret key ciphertext

+

𝑛

Decryption succeeds if name in ciphertext is a prefix of the name in the secret key

slide-23
SLIDE 23

Prefix-Based Encryption

Can be leveraged for prefix-based policies

Policy:

alice/devices/*

Bob encrypts his message to the identity alice/devices/. Any user with a key that begins with alice/devices/ can decrypt.

slide-24
SLIDE 24

Prefix-Based Encryption

Can be leveraged for prefix-based policies

Policy:

alice/devices/*

Bob encrypts his message to the identity alice/devices/. Any user with a key that begins with alice/devices/ can decrypt.

Can be built directly from IBE!

slide-25
SLIDE 25

Private Mutual Authentication

𝑕𝑧, {PE. Enc(𝜌𝐶, ID𝐶)

CT𝐶

, SIG𝐶 CT𝐶, 𝑕𝑦, 𝑕𝑧 }𝑙

𝑦

R ℤ𝑞

𝑧

R ℤ𝑞

𝑕𝑦

ID𝐵, SIG𝐵(ID𝐵, 𝑕𝑦, 𝑕𝑧) 𝑙

Key idea: encrypt certificate using prefix-based encryption

slide-26
SLIDE 26

Private Mutual Authentication

𝑕𝑧, {PE. Enc(𝜌𝐶, ID𝐶)

CT𝐶

, SIG𝐶 CT𝐶, 𝑕𝑦, 𝑕𝑧 }𝑙

𝑦

R ℤ𝑞

𝑧

R ℤ𝑞

𝑕𝑦

ID𝐵, SIG𝐵(ID𝐵, 𝑕𝑦, 𝑕𝑧) 𝑙

  • Privacy for Alice’s identity: Alice sends her identity only after

verifying Bob’s identity

  • Privacy for Bob’s identity: Only users with a key that satisfies Bob’s

policy can decrypt his identity

slide-27
SLIDE 27

Private Service Discovery

Prefix-based encryption can also be leveraged for private service discovery See paper for details:

http://arxiv.org/abs/1604.06959

slide-28
SLIDE 28

Implementation and Benchmarks

  • Instantiated IBE scheme with Boneh-Boyen (BB2) IBE scheme

(DCLXVI library)

  • Integrated private mutual authentication and private service

discovery protocols into the Vanadium open-source framework for building distributed applications

https://github.com/vanadium/

slide-29
SLIDE 29

Implementation and Benchmarks

Comparison of private mutual authentication protocol with non-private SIGMA-I protocol

Note: x86 assembly optimizations for pairing curve operations available only on desktop

Intel Edison Raspberry Pi Nexus 5X Desktop SIGMA-I 252.1 ms 88.0 ms 91.6 ms 5.3 ms Private Mutual Auth. 1694.3 ms 326.1 ms 360.4 ms 9.5 ms Slowdown 6.7x 3.7x 3.9x 1.8x

slide-30
SLIDE 30

Conclusions

  • Existing key-exchange and service discovery protocols do not

provide privacy controls

  • Prefix-based encryption can be combined very naturally with

existing key-exchange protocols to provide privacy + authenticity

  • Overhead of resulting protocol small enough that protocols

can run on many existing devices

slide-31
SLIDE 31

Questions?

Paper: https://arxiv.org/abs/1604.06959