wave a decentralized authorization framework with
play

WAVE: A Decentralized Authorization Framework with Transitive - PowerPoint PPT Presentation

WAVE: A Decentralized Authorization Framework with Transitive Delegation [Andersen et al., USENIX Security 2019] Slides credit Michael Andersen Representative authorization example BLDG2/Floor3/HVAC BLDG2/Floor3 BLDG2/Floor3/LIGHT


  1. WAVE: A Decentralized Authorization Framework with Transitive Delegation [Andersen et al., USENIX Security 2019] Slides credit Michael Andersen

  2. Representative authorization example BLDG2/Floor3/HVAC BLDG2/Floor3 BLDG2/Floor3/LIGHT BLDG2/Floor3/DOORS Building Owner Tenant Company Employees CEO

  3. Traditional approach E.g. OAuth, LDAP BLDG2/Floor3/HVAC BLDG2/Floor3 BLDG2/Floor3/LIGHT BLDG2/Floor3/DOORS Building Owner Tenant Company Employees CEO

  4. Traditional approach Problems: Central point of attack BLDG2/Floor3/HVAC BLDG2/Floor3 BLDG2/Floor3/LIGHT BLDG2/Floor3/DOORS Building Owner Tenant Company Employees CEO

  5. Traditional approach Problems: Central point of attack Can’t even trust operator BLDG2/Floor3/HVAC BLDG2/Floor3 BLDG2/Floor3/LIGHT BLDG2/Floor3/DOORS Building Owner Tenant Company Employees CEO

  6. Traditional approach Problems: Central point of attack Can’t even trust operator BLDG2/Floor3/HVAC BLDG2/Floor3 BLDG2/Floor3/LIGHT BLDG2/Floor3/DOORS Building Owner Tenant Company Employees CEO

  7. Traditional approach Problems: Central point of attack Can’t even trust operator BLDG2/Floor3/HVAC BLDG2/Floor3 BLDG2/Floor3/LIGHT BLDG2/Floor3/DOORS Building Owner Tenant Company Employees CEO

  8. Traditional approach Problems: Central point of attack Can’t even trust operator BLDG2/Floor3/HVAC BLDG2/Floor3 BLDG2/Floor3/LIGHT BLDG2/Floor3/DOORS Building Owner Tenant Company Employees CEO

  9. Traditional approach Problems: Central point of attack Can’t even trust operator BLDG2/Floor3/HVAC BLDG2/Floor3 BLDG2/Floor3/LIGHT BLDG2/Floor3/DOORS Building Owner Tenant Company Employees CEO

  10. Traditional approach Problems: Central point of attack Can’t even trust operator Sometimes delegation unsupported BLDG2/Floor3/HVAC BLDG2/Floor3 BLDG2/Floor3/LIGHT BLDG2/Floor3/DOORS Building Owner Tenant Company Employees CEO

  11. Traditional approach Problems: Central point of attack Can’t even trust operator Sometimes delegation unsupported When supported, not transitive BLDG2/Floor3/HVAC BLDG2/Floor3 BLDG2/Floor3/LIGHT BLDG2/Floor3/DOORS Building Owner Tenant Company Employees CEO

  12. Lack of transitive delegation BLDG2/Floor3/HVAC BLDG2/Floor3 BLDG2/Floor3/LIGHT BLDG2/Floor3/DOORS Building Owner Tenant Company Employees CEO

  13. Lack of transitive delegation BLDG2/Floor3/HVAC BLDG2/Floor3 BLDG2/Floor3/LIGHT BLDG2/Floor3/DOORS Building Owner Tenant Company Employees CEO

  14. Lack of transitive delegation BLDG2/Floor3/HVAC BLDG2/Floor3 BLDG2/Floor3/LIGHT BLDG2/Floor3/DOORS Building Owner Tenant Company Employees CEO

  15. What we want: BLDG2/Floor3/HVAC BLDG2/Floor3 BLDG2/Floor3/LIGHT BLDG2/Floor3/DOORS Building Owner Tenant Company Employees CEO

  16. Existing work lacks some important features System / Work Avoid central Transitive Permission No ordering Offline Protected authority Delegation Discovery constraints participants permissions LDAP, AD OAuth2 Macaroons SDSI/SPKI

  17. What is WAVE System / Work No central Transitive Permission No ordering Offline Protected authority Delegation Discovery constraints participants permissions WAVE WAVE is a cryptographically enforced decentralized authorization system ● It can be used in place of most mainstream authorization systems ● Anyone can delegate permissions or revoke permissions they have delegated ● Anyone can discover their permissions and form a proof of authorization ● Anyone (even devices) can verify proofs of authorization

  18. WAVE achieves this with three techniques:

  19. Graph Based Authorization Popularized by SDSI/SPKI [Rivest, Lampson, 1996] ● ● Represents permissions as a graph, rather than an ACL table ● Naturally represents transitive delegation BLDG2/Floor3/HVAC BLDG2/Floor3 BLDG2/Floor3/LIGHT BLDG2/Floor3/DOORS Building Owner Tenant Company Employees CEO

  20. Graph Based Authorization BLDG2/Floor3/HVAC BLDG2/Floor3 BLDG2/Floor3/LIGHT BLDG2/Floor3/DOORS Building Owner Tenant Company Employees CEO

  21. Graph Based Authorization Participants: Entities Collections of cryptographic keys: identifier is PK BLDG2/Floor3/HVAC BLDG2/Floor3 BLDG2/Floor3/LIGHT BLDG2/Floor3/DOORS Building Owner Tenant Company Employees CEO

  22. Graph Based Authorization Grants of permissions: Attestations Signed certificates created by Entities BLDG2/Floor3/HVAC BLDG2/Floor3 BLDG2/Floor3/LIGHT BLDG2/Floor3/DOORS Building Owner Tenant Company Employees CEO

  23. Graph Based Authorization Permission : Read, Write Attestations grant permissions on a resource Resource : BldgOwner/BLDG2 Expires : 2019/04/05 Building Owner Tenant Company CEO

  24. Graph Based Authorization Permission : Read, Write Attestations grant permissions on a resource Resources are in a namespace Resource : which identifies the authority entity BldgOwner/BLDG2 Expires : 2019/04/05 Namespace Authority Tenant Company CEO

  25. Graph Based Authorization Proof of permissions: A path through the graph from Namespace Authority to the prover Proof grants the intersection of the permissions of each attestation Verifiable by anyone*, attached to messages Proof NS/ BLDG2/Floor3 NS/ BLDG2/Floor3/DOORS Building Owner Tenant Company Employee CEO * In WAVE, not SDSI/SPKI

  26. This forms a single global graph

  27. This forms a single global graph ● Multiple namespace authorities in the graph

  28. This forms a single global graph ● Multiple namespace authorities in the graph ● Different entities will only see portions of the graph

  29. This forms a single global graph ● Multiple namespace authorities in the graph ● Different entities will only see portions of the graph

  30. We need to hide portions of the graph

  31. Reverse Discoverable Encryption Building Owner Tenant Company Employees CEO

  32. Reverse Discoverable Encryption NS /Floor3 NS /Floor3 NS /Floor4 Building Owner Tenant Company F3 Manager CEO

  33. Reverse Discoverable Encryption NS /Floor3 NS /Floor3 NS /Floor4 Building Owner Tenant Company F3 Manager CEO NS /Floor3 Janitorial Services

  34. Reverse Discoverable Encryption NS /Floor3 NS /Floor3 NS /Floor3 NS /Floor4 Building Owner Tenant Company F3 Manager HVAC Controller CEO NS /Floor3 Janitorial Services

  35. Reverse Discoverable Encryption NS /Floor3 NS /Floor3 NS /Floor3 NS /Floor4 Building Owner Tenant Company F3 Manager HVAC Controller CEO NS /Floor3 Discovering permissions Janitorial Services

  36. Reverse Discoverable Encryption NS /Floor3 NS /Floor3 NS /Floor3 NS /Floor4 Building Owner Tenant Company F3 Manager HVAC Controller CEO Three kinds of attestations: NS /Floor3 ● On path, intersecting Janitorial Services

  37. Reverse Discoverable Encryption NS /Floor3 NS /Floor3 NS /Floor3 NS /Floor4 Building Owner Tenant Company F3 Manager HVAC Controller CEO Three kinds of attestations NS /Floor3 ● On path, intersecting ● On path, not intersecting Janitorial Services

  38. Reverse Discoverable Encryption NS /Floor3 NS /Floor3 NS /Floor3 NS /Floor4 Building Owner Tenant Company F3 Manager HVAC Controller CEO Three kinds of attestations NS /Floor3 ● On path, intersecting ● On path, not intersecting ● Not on a path Janitorial Services

  39. Technique in a nutshell Encrypt attestations In each attestation, include a secret that allows you to decrypt upstream attestations that have intersecting permissions (on path, intersecting)

  40. Reverse Discoverable Encryption NS /Floor3 NS /Floor3 NS /Floor3 NS /Floor4 Building Owner Tenant Company F3 Manager HVAC Controller CEO NS /Floor3 Janitorial Services

  41. Reverse Discoverable Encryption NS /Floor3 NS /Floor3 NS /Floor3 NS /Floor4 Building Owner Tenant Company F3 Manager HVAC Controller CEO NS /Floor3 Janitorial Services

  42. Reverse Discoverable Encryption NS /Floor3 NS /Floor3 NS /Floor3 NS /Floor4 Building Owner Tenant Company F3 Manager HVAC Controller CEO NS /Floor3 Janitorial Services

  43. Reverse Discoverable Encryption NS /Floor3 NS /Floor3 NS /Floor3 NS /Floor4 Building Owner Tenant Company F3 Manager HVAC Controller CEO NS /Floor3 Janitorial Services

  44. Reverse Discoverable Encryption NS /Floor3 NS /Floor3 NS /Floor3 NS /Floor4 Building Owner Tenant Company F3 Manager HVAC Controller CEO NS /Floor3 Janitorial Services

  45. Attempt 1: public-key encryption Enc PK ( NS /Floor3) Enc PK ( NS /Floor3) Enc PK ( NS /Floor3) Enc PK ( NS /Floor4) SK, PK SK, PK SK, PK SK, PK Building Owner Tenant Company F3 Manager HVAC Controller CEO Consider that all the encrypted attestations are in Enc PK ( NS /Floor3) a public ledger, so HVAC can see them all What is the problem with this approach? SK, PK HVAC needs to decrypt the entire path to Janitorial Services create a proof of authorization, but it cannot

  46. Attempt 2: public-key encryption Enc PK ( NS /Floor3) Enc PK ( NS /Floor3, Enc PK ( NS /Floor3, SK) Enc PK ( NS /Floor4) SK) SK, PK SK, PK SK, PK SK, PK Building Owner Tenant Company F3 Manager HVAC Controller CEO Now HVAC controller can decrypt the whole path Enc PK ( NS /Floor3) What is the problem with this approach? It can decrypt too much. Basically, all the attestations F3 manager and Tenant CEO SK, PK ever received, even if not intersecting! Janitorial Services

Recommend


More recommend