for the internet of things
play

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


  1. Privacy, Discovery, and Authentication for the Internet of Things David J. Wu Ankur Taly Asim Shankar Dan Boneh Stanford University Google Google Stanford University

  2. The Internet of Things (IoT) Lots of smart devices, but only useful if users can discover them!

  3. Private Service Discovery Many existing service discovery protocols: Multicast DNS (mDNS), Apple Bonjour, Bluetooth Low Energy (BLE) Device owner’s name / user ID A typical discovery revealed! protocol Device location revealed! Screenshot taken on a public Wireless network

  4. Private Service Discovery Samsung TV Samsung TV Samsung TV Guide | Setup Guide | Setup Guide | Setup Philips Hue Philips Hue Philips Hue Brightness Brightness Brightness ADT Security ADT Security ADT Security Manage Manage Manage Door Lock Door Lock Door Lock Manage Manage Manage Each service specifies an authorization policy Alice Guest Stranger

  5. Private Service Discovery Samsung TV Samsung TV Samsung TV Mutual privacy: privacy Guide | Setup Guide | Setup Guide | Setup Philips Hue Philips Hue Philips Hue should also hold for Brightness Brightness Brightness ADT Security ADT Security ADT Security devices trying to discover Manage Manage Manage Door Lock Door Lock Door Lock services! Manage Manage Manage Each service specifies an authorization policy Alice Guest Stranger

  6. Private Mutual Authentication How to authenticate between mutually distrustful parties? Will only reveal Will only reveal identity to identity to Alice’s devices owned family members. by Alice. security system Bob

  7. Private Mutual Authentication In most existing mutual authentication protocols (e.g., TLS, IKE, SIGMA), one party must reveal its identity first security system Bob

  8. Primary Protocol Requirements • Mutual privacy: Identity of protocol participants are only 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])

  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 verification key alice/device/ security/ alice/family/ bob/ popular_corp/ prod/S1234

  10. 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/ alice/family/ alice/device/ alice/family/ alice/family/ alice/device/ bob/ charlie/ security/

  11. Identity and Authorization Model Authorization decisions expressed as prefix patterns Policy: Policy: alice/devices/* alice/family/* alice/device/ alice/family/ security/ bob/

  12. Protocol Construction

  13. Starting Point: Diffie-Hellman Key Exchange 𝑕 𝑦𝑧 𝑕 𝑦𝑧 𝑕 𝑦 R ℤ 𝑞 R ℤ 𝑞 𝑕 𝑧 𝑦 𝑧 𝔿 : cyclic group of prime order 𝑞 Shared key: with generator 𝑕 KDF 𝑕 𝑦 , 𝑕 𝑧 , 𝑕 𝑦𝑧

  14. Starting Point: Diffie-Hellman Key Exchange 𝑕 𝑦𝑧 𝑕 𝑦𝑧 𝑕 𝑦 R ℤ 𝑞 R ℤ 𝑞 𝑕 𝑧 𝑦 𝑧 𝔿 : cyclic group of prime order 𝑞 Shared key: with generator 𝑕 KDF 𝑕 𝑦 , 𝑕 𝑧 , 𝑕 𝑦𝑧

  15. Secure Key Agreement: SIGMA-I Protocol [CK01] R ℤ 𝑞 R ℤ 𝑞 𝑕 𝑦 𝑦 𝑧 𝑕 𝑧 , ID 𝐶 , SIG 𝐶 ID 𝐶 , 𝑕 𝑦 , 𝑕 𝑧 𝑙

  16. Bob’s signature of Secure Key Agreement: SIGMA-I Protocol [CK01] the ephemeral DH exponents R ℤ 𝑞 R ℤ 𝑞 𝑕 𝑦 𝑦 𝑧 𝑕 𝑧 , ID 𝐶 , SIG 𝐶 ID 𝐶 , 𝑕 𝑦 , 𝑕 𝑧 𝑙 Bob’s message encrypted certificate and authenticated Note: in the actual protocol, session ids are also included for replay prevention.

  17. Secure Key Agreement: SIGMA-I Protocol [CK01] R ℤ 𝑞 R ℤ 𝑞 𝑕 𝑦 𝑦 𝑧 𝑕 𝑧 , ID 𝐶 , SIG 𝐶 ID 𝐶 , 𝑕 𝑦 , 𝑕 𝑧 𝑙 ID 𝐵 , SIG 𝐵 (ID 𝐵 , 𝑕 𝑦 , 𝑕 𝑧 ) 𝑙 Alice’s Alice’s message encrypted certificate signature and authenticated Note: in the actual protocol, session ids are also included for replay prevention.

  18. Secure Key Agreement: SIGMA-I Protocol [CK01] R ℤ 𝑞 R ℤ 𝑞 𝑕 𝑦 𝑦 𝑧 𝑕 𝑧 , ID 𝐶 , SIG 𝐶 ID 𝐶 , 𝑕 𝑦 , 𝑕 𝑧 𝑙 ID 𝐵 , SIG 𝐵 (ID 𝐵 , 𝑕 𝑦 , 𝑕 𝑧 ) 𝑙 session key derived from 𝑕 𝑦 , 𝑕 𝑧 , 𝑕 𝑦𝑧 Note: in the actual protocol, session ids are also included for replay prevention.

  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!

  20. Identity Based Encryption (IBE) [Sha84, BF01, Coc01] Public-key encryption scheme where public-keys can be arbitrary strings (identities) public Bob parameters Alice can encrypt a message to Bob without mpk id needing to have exchanged IBE.Encrypt keys with Bob message 𝑛 ct ciphertext

  21. Identity Based Encryption (IBE) [Sha84, BF01, Coc01] To decrypt messages, users go msk to a (trusted) identity provider to obtain a decryption key for root authority their identity sk Alice sk Bob Bob can decrypt all messages encrypted to his identity using sk Bob

  22. Prefix-Based Encryption Secret-keys and ciphertexts both associated with names ciphertext secret key + alice/devices/ 𝑛 𝑛 alice/devices/ security/ Decryption succeeds if name in ciphertext is a prefix of the name in the secret key

  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.

  24. Prefix-Based Encryption Can be leveraged for prefix-based policies Policy: alice/devices/* Bob encrypts his message to the Can be built identity alice/devices/ . Any directly from user with a key that begins with IBE! alice/devices/ can decrypt.

  25. Private Mutual Authentication Key idea: encrypt certificate using prefix-based encryption R ℤ 𝑞 R ℤ 𝑞 𝑕 𝑦 𝑦 𝑧 CT 𝐶 , SIG 𝐶 CT 𝐶 , 𝑕 𝑦 , 𝑕 𝑧 } 𝑙 𝑕 𝑧 , {PE. Enc(𝜌 𝐶 , ID 𝐶 ) ID 𝐵 , SIG 𝐵 (ID 𝐵 , 𝑕 𝑦 , 𝑕 𝑧 ) 𝑙

  26. Private Mutual Authentication R ℤ 𝑞 R ℤ 𝑞 𝑕 𝑦 𝑦 𝑧 CT 𝐶 , SIG 𝐶 CT 𝐶 , 𝑕 𝑦 , 𝑕 𝑧 } 𝑙 𝑕 𝑧 , {PE. Enc(𝜌 𝐶 , ID 𝐶 ) 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

  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

  28. Implementation and Benchmarks • Instantiated IBE scheme with Boneh-Boyen (BB 2 ) 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/

  29. Implementation and Benchmarks Intel Edison Raspberry Nexus 5X Desktop Pi 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 Comparison of private mutual authentication protocol with non-private SIGMA-I protocol Note: x86 assembly optimizations for pairing curve operations available only on desktop

  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

  31. Questions? Paper: https://arxiv.org/abs/1604.06959

Recommend


More recommend