Horton’s Who Done It? · 2016. 12. 30. · Horton’s Who Done It? Communicating Authority with...

113
Horton’s Who Done It? Communicating Authority with Responsibility Tracking Mark S. Miller Google Research 1 Jed Donnelley LBNL/NERSC Alan H. Karp HP Labs Usenix HotSec Workshop, August 7, 2007 1 Work done while at HP Labs

Transcript of Horton’s Who Done It? · 2016. 12. 30. · Horton’s Who Done It? Communicating Authority with...

Page 1: Horton’s Who Done It? · 2016. 12. 30. · Horton’s Who Done It? Communicating Authority with Responsibility Tracking Mark S. Miller Google Research1 Jed Donnelley LBNL/NERSC

Horton’s Who Done It?

Communicating Authority withResponsibility Tracking

Mark S. Miller Google Research1

Jed Donnelley LBNL/NERSCAlan H. Karp HP Labs

Usenix HotSec Workshop, August 7, 20071Work done while at HP Labs

Page 2: Horton’s Who Done It? · 2016. 12. 30. · Horton’s Who Done It? Communicating Authority with Responsibility Tracking Mark S. Miller Google Research1 Jed Donnelley LBNL/NERSC

Alice

Alice

Doc Chapters:

Chapter 1…

Chapter 1…

Communicating Object Accesswith Delegation

Initial Conditions:Alice has: 1. A capability to send to Bob and 2. A capability to a document with chapters.

Alice Bob

Page 3: Horton’s Who Done It? · 2016. 12. 30. · Horton’s Who Done It? Communicating Authority with Responsibility Tracking Mark S. Miller Google Research1 Jed Donnelley LBNL/NERSC

Alice Bob

Doc Chapters:

Chapter 1…

Alice

Capability Communication of theDocument Reference

Alice

here’s( )

Chapter 1…

Alice sends a message to Bob containinga reference to the document.

Page 4: Horton’s Who Done It? · 2016. 12. 30. · Horton’s Who Done It? Communicating Authority with Responsibility Tracking Mark S. Miller Google Research1 Jed Donnelley LBNL/NERSC

Alice BobAlice

Alice

Doc Chapters:

Chapter 1…

Chapter 1…

Alice-

>Bob

Alice can’t act with Bob’s responsibilityBob can’t act with Alice’s responsibility

Horton Magic: Bob Receives aDelegated Capability

Page 5: Horton’s Who Done It? · 2016. 12. 30. · Horton’s Who Done It? Communicating Authority with Responsibility Tracking Mark S. Miller Google Research1 Jed Donnelley LBNL/NERSC

Delegating Least Authority

A B

C

Page 6: Horton’s Who Done It? · 2016. 12. 30. · Horton’s Who Done It? Communicating Authority with Responsibility Tracking Mark S. Miller Google Research1 Jed Donnelley LBNL/NERSC

Delegating Least Authority

A B

C

b.foo(c)

Page 7: Horton’s Who Done It? · 2016. 12. 30. · Horton’s Who Done It? Communicating Authority with Responsibility Tracking Mark S. Miller Google Research1 Jed Donnelley LBNL/NERSC

Delegating Least Authority

A B

C

foo( )

Page 8: Horton’s Who Done It? · 2016. 12. 30. · Horton’s Who Done It? Communicating Authority with Responsibility Tracking Mark S. Miller Google Research1 Jed Donnelley LBNL/NERSC

Delegating Least Authority

A B

C

Page 9: Horton’s Who Done It? · 2016. 12. 30. · Horton’s Who Done It? Communicating Authority with Responsibility Tracking Mark S. Miller Google Research1 Jed Donnelley LBNL/NERSC

Delegating Least Authority

A B

C

• Msgs are onlymeans tocause effects

• Refs controlauthority

• Leverage OOpatterns

Page 10: Horton’s Who Done It? · 2016. 12. 30. · Horton’s Who Done It? Communicating Authority with Responsibility Tracking Mark S. Miller Google Research1 Jed Donnelley LBNL/NERSC

Delegating Least Authority

A B

C

• Msgs are onlymeans tocause effects

• Refs controlauthority

• Leverage OOpatterns

• Anonymous

Page 11: Horton’s Who Done It? · 2016. 12. 30. · Horton’s Who Done It? Communicating Authority with Responsibility Tracking Mark S. Miller Google Research1 Jed Donnelley LBNL/NERSC

Two styles, relative strengths

Program decisionsFine-grainedBuilt for safetyLeast authorityVirus resistantAuthorization-based

Object-capabilities(ocaps)

Human decisionsLarge-grainedBuilt for damage controlMost responsibilitySpam resistantIdentity-based

ACLs

?

Page 12: Horton’s Who Done It? · 2016. 12. 30. · Horton’s Who Done It? Communicating Authority with Responsibility Tracking Mark S. Miller Google Research1 Jed Donnelley LBNL/NERSC

Two styles, relative strengths

Program decisionsFine-grainedBuilt for safetyLeast authorityVirus resistantAuthorization-based

Object-capabilities(ocaps)

Human decisionsLarge-grainedBuilt for damage controlMost responsibilitySpam resistantIdentity-based

ACLs

Polaris, PlashBitfrost?

Page 13: Horton’s Who Done It? · 2016. 12. 30. · Horton’s Who Done It? Communicating Authority with Responsibility Tracking Mark S. Miller Google Research1 Jed Donnelley LBNL/NERSC

Two styles, relative strengths

Program decisionsFine-grainedBuilt for safetyLeast authorityVirus resistantAuthorization-based

Object-capabilities(ocaps)

Human decisionsLarge-grainedBuilt for damage controlMost responsibilitySpam resistantIdentity-based

ACLs+ “Hybrid” Cap Systems (SCAP, Sys/38)

Page 14: Horton’s Who Done It? · 2016. 12. 30. · Horton’s Who Done It? Communicating Authority with Responsibility Tracking Mark S. Miller Google Research1 Jed Donnelley LBNL/NERSC

Two styles, relative strengths

Program decisionsFine-grainedBuilt for safetyLeast authorityVirus resistantAuthorization-based

Object-capabilities(ocaps)

Human decisionsLarge-grainedBuilt for damage controlMost responsibilitySpam resistantIdentity-based

ACLs

?

Page 15: Horton’s Who Done It? · 2016. 12. 30. · Horton’s Who Done It? Communicating Authority with Responsibility Tracking Mark S. Miller Google Research1 Jed Donnelley LBNL/NERSC

Two styles, relative strengths

Program decisionsFine-grainedBuilt for safetyLeast authorityVirus resistantAuthorization-based

Object-capabilities(ocaps)

Human decisionsLarge-grainedBuilt for damage controlMost responsibilitySpam resistantIdentity-based

ACLs

Horton

Page 16: Horton’s Who Done It? · 2016. 12. 30. · Horton’s Who Done It? Communicating Authority with Responsibility Tracking Mark S. Miller Google Research1 Jed Donnelley LBNL/NERSC

Alice

Can’t vet code oractions of eachobject.

Page 17: Horton’s Who Done It? · 2016. 12. 30. · Horton’s Who Done It? Communicating Authority with Responsibility Tracking Mark S. Miller Google Research1 Jed Donnelley LBNL/NERSC

Alice

Can’t vet code oractions of eachobject.

Page 18: Horton’s Who Done It? · 2016. 12. 30. · Horton’s Who Done It? Communicating Authority with Responsibility Tracking Mark S. Miller Google Research1 Jed Donnelley LBNL/NERSC

Alice

Can’t vet code oractions of eachobject.

Page 19: Horton’s Who Done It? · 2016. 12. 30. · Horton’s Who Done It? Communicating Authority with Responsibility Tracking Mark S. Miller Google Research1 Jed Donnelley LBNL/NERSC

Alice

Can’t vet code oractions of eachobject.

Page 20: Horton’s Who Done It? · 2016. 12. 30. · Horton’s Who Done It? Communicating Authority with Responsibility Tracking Mark S. Miller Google Research1 Jed Donnelley LBNL/NERSC

Alice

Can’t vet code oractions of eachobject.

Page 21: Horton’s Who Done It? · 2016. 12. 30. · Horton’s Who Done It? Communicating Authority with Responsibility Tracking Mark S. Miller Google Research1 Jed Donnelley LBNL/NERSC

Alice

Can’t vet code oractions of eachobject.

Page 22: Horton’s Who Done It? · 2016. 12. 30. · Horton’s Who Done It? Communicating Authority with Responsibility Tracking Mark S. Miller Google Research1 Jed Donnelley LBNL/NERSC

Alice

Can’t vet code oractions of eachobject.

Page 23: Horton’s Who Done It? · 2016. 12. 30. · Horton’s Who Done It? Communicating Authority with Responsibility Tracking Mark S. Miller Google Research1 Jed Donnelley LBNL/NERSC

Alice

Can’t vet code oractions of eachobject.

Page 24: Horton’s Who Done It? · 2016. 12. 30. · Horton’s Who Done It? Communicating Authority with Responsibility Tracking Mark S. Miller Google Research1 Jed Donnelley LBNL/NERSC

Alice

Can’t vet code oractions of eachobject.

Page 25: Horton’s Who Done It? · 2016. 12. 30. · Horton’s Who Done It? Communicating Authority with Responsibility Tracking Mark S. Miller Google Research1 Jed Donnelley LBNL/NERSC

Alice

A

Can’t vet code oractions of eachobject.

Aggregate intolong-livedresponsibleidentity.

Page 26: Horton’s Who Done It? · 2016. 12. 30. · Horton’s Who Done It? Communicating Authority with Responsibility Tracking Mark S. Miller Google Research1 Jed Donnelley LBNL/NERSC

Story Needs Four Characters

Alice & Bob• Old patterns for identity-based control: identity tunnel

Alice introduces Bob & Carol• Builds new relationships from old

Carol also hears of Bob from Dave• Corroborates Bob’s independence from Alice

Page 27: Horton’s Who Done It? · 2016. 12. 30. · Horton’s Who Done It? Communicating Authority with Responsibility Tracking Mark S. Miller Google Research1 Jed Donnelley LBNL/NERSC

Two-party intermediation

A message travels through anidentity tunnel

Page 28: Horton’s Who Done It? · 2016. 12. 30. · Horton’s Who Done It? Communicating Authority with Responsibility Tracking Mark S. Miller Google Research1 Jed Donnelley LBNL/NERSC

A B

Bob

Alice Bob

Alice

Page 29: Horton’s Who Done It? · 2016. 12. 30. · Horton’s Who Done It? Communicating Authority with Responsibility Tracking Mark S. Miller Google Research1 Jed Donnelley LBNL/NERSC

A B

Bob

Alice Bob

Aliceb.foo()

Page 30: Horton’s Who Done It? · 2016. 12. 30. · Horton’s Who Done It? Communicating Authority with Responsibility Tracking Mark S. Miller Google Research1 Jed Donnelley LBNL/NERSC

A Bfoo()

Bob

Alice Bob

Alice

Page 31: Horton’s Who Done It? · 2016. 12. 30. · Horton’s Who Done It? Communicating Authority with Responsibility Tracking Mark S. Miller Google Research1 Jed Donnelley LBNL/NERSC

A B

Bob

Alice Bob

Alice

foo()

Do I still use Bob’s services?

Page 32: Horton’s Who Done It? · 2016. 12. 30. · Horton’s Who Done It? Communicating Authority with Responsibility Tracking Mark S. Miller Google Research1 Jed Donnelley LBNL/NERSC

A B

Bob

Alice Bob

Alice

Bob, deliver to Bfoo()

Page 33: Horton’s Who Done It? · 2016. 12. 30. · Horton’s Who Done It? Communicating Authority with Responsibility Tracking Mark S. Miller Google Research1 Jed Donnelley LBNL/NERSC

A B

Bob

Alice Bob

Alice

deliver(“foo”,[])

Page 34: Horton’s Who Done It? · 2016. 12. 30. · Horton’s Who Done It? Communicating Authority with Responsibility Tracking Mark S. Miller Google Research1 Jed Donnelley LBNL/NERSC

A B

Bob

Alice Bob

Alice

foo()

Do I still honorAlice’s requests?

Page 35: Horton’s Who Done It? · 2016. 12. 30. · Horton’s Who Done It? Communicating Authority with Responsibility Tracking Mark S. Miller Google Research1 Jed Donnelley LBNL/NERSC

A B

Bob

Alice Bob

Alice

Deliver toB for Alice

foo()

Page 36: Horton’s Who Done It? · 2016. 12. 30. · Horton’s Who Done It? Communicating Authority with Responsibility Tracking Mark S. Miller Google Research1 Jed Donnelley LBNL/NERSC

A B

Bob

Alice Bob

Alice

foo()

Page 37: Horton’s Who Done It? · 2016. 12. 30. · Horton’s Who Done It? Communicating Authority with Responsibility Tracking Mark S. Miller Google Research1 Jed Donnelley LBNL/NERSC

A B

Alice Bob

Page 38: Horton’s Who Done It? · 2016. 12. 30. · Horton’s Who Done It? Communicating Authority with Responsibility Tracking Mark S. Miller Google Research1 Jed Donnelley LBNL/NERSC

Three-party intermediation

Build new relationships from old

Page 39: Horton’s Who Done It? · 2016. 12. 30. · Horton’s Who Done It? Communicating Authority with Responsibility Tracking Mark S. Miller Google Research1 Jed Donnelley LBNL/NERSC

A B

Alice Bob

C

Carol

Page 40: Horton’s Who Done It? · 2016. 12. 30. · Horton’s Who Done It? Communicating Authority with Responsibility Tracking Mark S. Miller Google Research1 Jed Donnelley LBNL/NERSC

A B

Alice Bob

C

Carol

b.foo(c)

Page 41: Horton’s Who Done It? · 2016. 12. 30. · Horton’s Who Done It? Communicating Authority with Responsibility Tracking Mark S. Miller Google Research1 Jed Donnelley LBNL/NERSC

A B

Alice Bob

C

Carol

foo( )

Page 42: Horton’s Who Done It? · 2016. 12. 30. · Horton’s Who Done It? Communicating Authority with Responsibility Tracking Mark S. Miller Google Research1 Jed Donnelley LBNL/NERSC

A B

Alice Bob

C

Carolintro( )

Bob

Carol, pleaseprovide Bobaccess to C

foo( )

Page 43: Horton’s Who Done It? · 2016. 12. 30. · Horton’s Who Done It? Communicating Authority with Responsibility Tracking Mark S. Miller Google Research1 Jed Donnelley LBNL/NERSC

A B

Alice Bob

C

Carolintro( )

Bob

Carol, pleaseprovide Bobaccess to C

Alice needs tunnel for Bob

foo( )

Page 44: Horton’s Who Done It? · 2016. 12. 30. · Horton’s Who Done It? Communicating Authority with Responsibility Tracking Mark S. Miller Google Research1 Jed Donnelley LBNL/NERSC

A B

Alice Bob

C

Carolintro( )

Bob Gift wrap itfor Bob

Carol, pleaseprovide Bobaccess to C

foo( )

Page 45: Horton’s Who Done It? · 2016. 12. 30. · Horton’s Who Done It? Communicating Authority with Responsibility Tracking Mark S. Miller Google Research1 Jed Donnelley LBNL/NERSC

A B

Alice Bob

C

Carolintro( )

Bob Gift wrap itfor Bob

To BobFrom Carol

Carol, pleaseprovide Bobaccess to C

foo( )

Page 46: Horton’s Who Done It? · 2016. 12. 30. · Horton’s Who Done It? Communicating Authority with Responsibility Tracking Mark S. Miller Google Research1 Jed Donnelley LBNL/NERSC

A B

Alice Bob

C

Carolintro( )

Bob return Bob’sgift

To BobFrom Carol

Carol, pleaseprovide Bobaccess to C

foo( )

Page 47: Horton’s Who Done It? · 2016. 12. 30. · Horton’s Who Done It? Communicating Authority with Responsibility Tracking Mark S. Miller Google Research1 Jed Donnelley LBNL/NERSC

A B

Alice Bob

C

Carol

To BobFrom Carol

Bob, deliver“fo__ to B with

Carol’s ( )foo( )

Page 48: Horton’s Who Done It? · 2016. 12. 30. · Horton’s Who Done It? Communicating Authority with Responsibility Tracking Mark S. Miller Google Research1 Jed Donnelley LBNL/NERSC

A B

Alice Bob

C

Carol

To BobFrom Carol

deliver(“foo”,[[ , ]])

Carol

Page 49: Horton’s Who Done It? · 2016. 12. 30. · Horton’s Who Done It? Communicating Authority with Responsibility Tracking Mark S. Miller Google Research1 Jed Donnelley LBNL/NERSC

A B

Alice Bob

C

Carol

To BobFrom Carol

deliver(“foo”,[[ , ]])

Carol

Unwrap Carol’sgift from Alice

Page 50: Horton’s Who Done It? · 2016. 12. 30. · Horton’s Who Done It? Communicating Authority with Responsibility Tracking Mark S. Miller Google Research1 Jed Donnelley LBNL/NERSC

A B

Alice Bob

C

Carol

foo( )

Unwrap Carol’sgift from Alice

Page 51: Horton’s Who Done It? · 2016. 12. 30. · Horton’s Who Done It? Communicating Authority with Responsibility Tracking Mark S. Miller Google Research1 Jed Donnelley LBNL/NERSC

A B

Alice Bob

C

Carol

foo( )

Page 52: Horton’s Who Done It? · 2016. 12. 30. · Horton’s Who Done It? Communicating Authority with Responsibility Tracking Mark S. Miller Google Research1 Jed Donnelley LBNL/NERSC

A B

Alice Bob

C

Carol

Page 53: Horton’s Who Done It? · 2016. 12. 30. · Horton’s Who Done It? Communicating Authority with Responsibility Tracking Mark S. Miller Google Research1 Jed Donnelley LBNL/NERSC

A B

Alice

Bob

C

Carol

Is Bob a pseudonymfor Alice?

Page 54: Horton’s Who Done It? · 2016. 12. 30. · Horton’s Who Done It? Communicating Authority with Responsibility Tracking Mark S. Miller Google Research1 Jed Donnelley LBNL/NERSC

Four party intermediation

Only corroborating introductionslet Alice shed blame

Page 55: Horton’s Who Done It? · 2016. 12. 30. · Horton’s Who Done It? Communicating Authority with Responsibility Tracking Mark S. Miller Google Research1 Jed Donnelley LBNL/NERSC

A B

Alice Bob

C D

Carol Dave

Bob

Page 56: Horton’s Who Done It? · 2016. 12. 30. · Horton’s Who Done It? Communicating Authority with Responsibility Tracking Mark S. Miller Google Research1 Jed Donnelley LBNL/NERSC

Better Identities than ACLs

Fully decentralized• No global administrator or name server

Track bilateral responsibility• For requests and for service• Also tracks delegation chain

Sybil resistant aggregation strategyCorroboration-driven disaggregation

Page 57: Horton’s Who Done It? · 2016. 12. 30. · Horton’s Who Done It? Communicating Authority with Responsibility Tracking Mark S. Miller Google Research1 Jed Donnelley LBNL/NERSC

Conclusions

Delegate authority, bound to responsibility forusing that authority.

Fine-grain least authority for safety.Large-grain identities for damage control.

Reference implementations in Java & E: http://erights.org/download/horton/

Page 58: Horton’s Who Done It? · 2016. 12. 30. · Horton’s Who Done It? Communicating Authority with Responsibility Tracking Mark S. Miller Google Research1 Jed Donnelley LBNL/NERSC
Page 59: Horton’s Who Done It? · 2016. 12. 30. · Horton’s Who Done It? Communicating Authority with Responsibility Tracking Mark S. Miller Google Research1 Jed Donnelley LBNL/NERSC

Three-party intermediation

The details

Page 60: Horton’s Who Done It? · 2016. 12. 30. · Horton’s Who Done It? Communicating Authority with Responsibility Tracking Mark S. Miller Google Research1 Jed Donnelley LBNL/NERSC

Rights Amplification

• Inspired by PK• Simple oo pattern• No explicit crypto

• Can representresponsibleidentity

Page 61: Horton’s Who Done It? · 2016. 12. 30. · Horton’s Who Done It? Communicating Authority with Responsibility Tracking Mark S. Miller Google Research1 Jed Donnelley LBNL/NERSC
Page 62: Horton’s Who Done It? · 2016. 12. 30. · Horton’s Who Done It? Communicating Authority with Responsibility Tracking Mark S. Miller Google Research1 Jed Donnelley LBNL/NERSC

b.foo(c)

Page 63: Horton’s Who Done It? · 2016. 12. 30. · Horton’s Who Done It? Communicating Authority with Responsibility Tracking Mark S. Miller Google Research1 Jed Donnelley LBNL/NERSC
Page 64: Horton’s Who Done It? · 2016. 12. 30. · Horton’s Who Done It? Communicating Authority with Responsibility Tracking Mark S. Miller Google Research1 Jed Donnelley LBNL/NERSC

Carol, pleaseprovide Bobaccess to C

Page 65: Horton’s Who Done It? · 2016. 12. 30. · Horton’s Who Done It? Communicating Authority with Responsibility Tracking Mark S. Miller Google Research1 Jed Donnelley LBNL/NERSC

Carol, pleaseprovide Bobaccess to C

Page 66: Horton’s Who Done It? · 2016. 12. 30. · Horton’s Who Done It? Communicating Authority with Responsibility Tracking Mark S. Miller Google Research1 Jed Donnelley LBNL/NERSC

Bob, pleaseuse Carol’s C

Page 67: Horton’s Who Done It? · 2016. 12. 30. · Horton’s Who Done It? Communicating Authority with Responsibility Tracking Mark S. Miller Google Research1 Jed Donnelley LBNL/NERSC
Page 68: Horton’s Who Done It? · 2016. 12. 30. · Horton’s Who Done It? Communicating Authority with Responsibility Tracking Mark S. Miller Google Research1 Jed Donnelley LBNL/NERSC

Make a stubfor Bob’s use

Page 69: Horton’s Who Done It? · 2016. 12. 30. · Horton’s Who Done It? Communicating Authority with Responsibility Tracking Mark S. Miller Google Research1 Jed Donnelley LBNL/NERSC

Make a stubfor Bob’s use

Page 70: Horton’s Who Done It? · 2016. 12. 30. · Horton’s Who Done It? Communicating Authority with Responsibility Tracking Mark S. Miller Google Research1 Jed Donnelley LBNL/NERSC

Gift wrapit for Bob

Page 71: Horton’s Who Done It? · 2016. 12. 30. · Horton’s Who Done It? Communicating Authority with Responsibility Tracking Mark S. Miller Google Research1 Jed Donnelley LBNL/NERSC

wrap(s3, whoBob, beCarol)

Page 72: Horton’s Who Done It? · 2016. 12. 30. · Horton’s Who Done It? Communicating Authority with Responsibility Tracking Mark S. Miller Google Research1 Jed Donnelley LBNL/NERSC

wrap(s3, whoBob, beCarol)

pr

Page 73: Horton’s Who Done It? · 2016. 12. 30. · Horton’s Who Done It? Communicating Authority with Responsibility Tracking Mark S. Miller Google Research1 Jed Donnelley LBNL/NERSC

wrap(s3, whoBob, beCarol)

pr

seal( )

Page 74: Horton’s Who Done It? · 2016. 12. 30. · Horton’s Who Done It? Communicating Authority with Responsibility Tracking Mark S. Miller Google Research1 Jed Donnelley LBNL/NERSC

wrap(s3, whoBob, beCarol)

pr

Page 75: Horton’s Who Done It? · 2016. 12. 30. · Horton’s Who Done It? Communicating Authority with Responsibility Tracking Mark S. Miller Google Research1 Jed Donnelley LBNL/NERSC

return gift

pr

Page 76: Horton’s Who Done It? · 2016. 12. 30. · Horton’s Who Done It? Communicating Authority with Responsibility Tracking Mark S. Miller Google Research1 Jed Donnelley LBNL/NERSC

pr

Page 77: Horton’s Who Done It? · 2016. 12. 30. · Horton’s Who Done It? Communicating Authority with Responsibility Tracking Mark S. Miller Google Research1 Jed Donnelley LBNL/NERSC

unwrap( , whoCarol, beBob)

pr

Page 78: Horton’s Who Done It? · 2016. 12. 30. · Horton’s Who Done It? Communicating Authority with Responsibility Tracking Mark S. Miller Google Research1 Jed Donnelley LBNL/NERSC

unwrap( , whoCarol, beBob)

pr

unseal( )

Page 79: Horton’s Who Done It? · 2016. 12. 30. · Horton’s Who Done It? Communicating Authority with Responsibility Tracking Mark S. Miller Google Research1 Jed Donnelley LBNL/NERSC

unwrap( , whoCarol, beBob)

pr

Page 80: Horton’s Who Done It? · 2016. 12. 30. · Horton’s Who Done It? Communicating Authority with Responsibility Tracking Mark S. Miller Google Research1 Jed Donnelley LBNL/NERSC

unwrap( , whoCarol, beBob)

pr

Page 81: Horton’s Who Done It? · 2016. 12. 30. · Horton’s Who Done It? Communicating Authority with Responsibility Tracking Mark S. Miller Google Research1 Jed Donnelley LBNL/NERSC

unwrap( , whoCarol, beBob)

pr

seal(

)

Page 82: Horton’s Who Done It? · 2016. 12. 30. · Horton’s Who Done It? Communicating Authority with Responsibility Tracking Mark S. Miller Google Research1 Jed Donnelley LBNL/NERSC

unwrap( , whoCarol, beBob)

pr

Page 83: Horton’s Who Done It? · 2016. 12. 30. · Horton’s Who Done It? Communicating Authority with Responsibility Tracking Mark S. Miller Google Research1 Jed Donnelley LBNL/NERSC

unwrap( , whoCarol, beBob)

pr

( )

Page 84: Horton’s Who Done It? · 2016. 12. 30. · Horton’s Who Done It? Communicating Authority with Responsibility Tracking Mark S. Miller Google Research1 Jed Donnelley LBNL/NERSC

unwrap( , whoCarol, beBob)

pr

Page 85: Horton’s Who Done It? · 2016. 12. 30. · Horton’s Who Done It? Communicating Authority with Responsibility Tracking Mark S. Miller Google Research1 Jed Donnelley LBNL/NERSC

unwrap( , whoCarol, beBob)

pr

Page 86: Horton’s Who Done It? · 2016. 12. 30. · Horton’s Who Done It? Communicating Authority with Responsibility Tracking Mark S. Miller Google Research1 Jed Donnelley LBNL/NERSC

unwrap( , whoCarol, beBob)

pr

( )

Page 87: Horton’s Who Done It? · 2016. 12. 30. · Horton’s Who Done It? Communicating Authority with Responsibility Tracking Mark S. Miller Google Research1 Jed Donnelley LBNL/NERSC

unwrap( , whoCarol, beBob)

Page 88: Horton’s Who Done It? · 2016. 12. 30. · Horton’s Who Done It? Communicating Authority with Responsibility Tracking Mark S. Miller Google Research1 Jed Donnelley LBNL/NERSC

makeProxy(..)

Page 89: Horton’s Who Done It? · 2016. 12. 30. · Horton’s Who Done It? Communicating Authority with Responsibility Tracking Mark S. Miller Google Research1 Jed Donnelley LBNL/NERSC

makeProxy(..)

Page 90: Horton’s Who Done It? · 2016. 12. 30. · Horton’s Who Done It? Communicating Authority with Responsibility Tracking Mark S. Miller Google Research1 Jed Donnelley LBNL/NERSC

E.call(..)

Page 91: Horton’s Who Done It? · 2016. 12. 30. · Horton’s Who Done It? Communicating Authority with Responsibility Tracking Mark S. Miller Google Research1 Jed Donnelley LBNL/NERSC
Page 92: Horton’s Who Done It? · 2016. 12. 30. · Horton’s Who Done It? Communicating Authority with Responsibility Tracking Mark S. Miller Google Research1 Jed Donnelley LBNL/NERSC

A B

Alice Bob

C D

Carol Dave

Page 93: Horton’s Who Done It? · 2016. 12. 30. · Horton’s Who Done It? Communicating Authority with Responsibility Tracking Mark S. Miller Google Research1 Jed Donnelley LBNL/NERSC

B

Bob

C D

Carol Dave

Page 94: Horton’s Who Done It? · 2016. 12. 30. · Horton’s Who Done It? Communicating Authority with Responsibility Tracking Mark S. Miller Google Research1 Jed Donnelley LBNL/NERSC

B

Bob

C D

Carol Dave

Page 95: Horton’s Who Done It? · 2016. 12. 30. · Horton’s Who Done It? Communicating Authority with Responsibility Tracking Mark S. Miller Google Research1 Jed Donnelley LBNL/NERSC

CapWiki with attribution

Page 96: Horton’s Who Done It? · 2016. 12. 30. · Horton’s Who Done It? Communicating Authority with Responsibility Tracking Mark S. Miller Google Research1 Jed Donnelley LBNL/NERSC

The Web: Good, Bad, and Ugly:

1. Good: Internet hypertext, wonderful!

2. Bad: Username/passwords for everysite that has any sort of access control.

3. Ugly: Hard to share limited access tonetwork objects. Hard to combinenetwork objects with access restrictions.

Page 97: Horton’s Who Done It? · 2016. 12. 30. · Horton’s Who Done It? Communicating Authority with Responsibility Tracking Mark S. Miller Google Research1 Jed Donnelley LBNL/NERSC

Sends:BobSendEveSendIvanSend

Alice’s Domain

Page 98: Horton’s Who Done It? · 2016. 12. 30. · Horton’s Who Done It? Communicating Authority with Responsibility Tracking Mark S. Miller Google Research1 Jed Donnelley LBNL/NERSC

CapWikiFinances:InvestorMarket

Alice’s

Alice’s DomainCapWiki:CapWiki Stuff:ConceptsFinancesOther

Sends:BobSendEveSendIvanSend

Page 99: Horton’s Who Done It? · 2016. 12. 30. · Horton’s Who Done It? Communicating Authority with Responsibility Tracking Mark S. Miller Google Research1 Jed Donnelley LBNL/NERSC

Sends:AliceSendDaveSend

CapWikiFinances:InvestorMarket

Alice’s Domain Bob’s Domain

Alice’s

Receives:AliceReceive

CapWiki:CapWiki Stuff:ConceptsFinancesOther

Sends:BobSendEveSendIvanSend

Page 100: Horton’s Who Done It? · 2016. 12. 30. · Horton’s Who Done It? Communicating Authority with Responsibility Tracking Mark S. Miller Google Research1 Jed Donnelley LBNL/NERSC

CapWiki:CapWiki Stuff:ConceptsFinancesOther Sends:

AliceSendDaveSend

CapWikiFinances:InvestorMarket

Alice’s Domain Bob’s Domain

Alice’s

Receives:*AliceReceive

Sends:BobSendEveSendIvanSend

Page 101: Horton’s Who Done It? · 2016. 12. 30. · Horton’s Who Done It? Communicating Authority with Responsibility Tracking Mark S. Miller Google Research1 Jed Donnelley LBNL/NERSC

CapWiki:CapWiki Stuff:ConceptsFinancesOther

Receives:AliceReceive

Sends:AliceSendDaveSend

CapWikiFinances:InvestorMarket

Alice’s Domain Bob’s Domain

Alice’s

Alice BobSends:BobSendEveSendIvanSend

Page 102: Horton’s Who Done It? · 2016. 12. 30. · Horton’s Who Done It? Communicating Authority with Responsibility Tracking Mark S. Miller Google Research1 Jed Donnelley LBNL/NERSC

CapWiki:CapWiki Stuff:ConceptsFinancesOther

Receives:AliceReceive

Sends:AliceSendDaveSend

CapWikiFinances:InvestorMarket

Alice’s Domain Bob’s Domain

Alice’s

Alice Bob

Alice Bob

Sends:BobSendEveSendIvanSend

Page 103: Horton’s Who Done It? · 2016. 12. 30. · Horton’s Who Done It? Communicating Authority with Responsibility Tracking Mark S. Miller Google Research1 Jed Donnelley LBNL/NERSC

CapWiki:CapWiki Stuff:ConceptsFinancesOther

Receives:AliceReceive

Sends:AliceSendDaveSend

CapWikiFinances:InvestorMarket

Alice’s Domain Bob’s Domain

Alice’s

Here are theCapWiki:FinancesDave

Receives:BobReceiveDaves’s Domain

Bob’s

Sends:BobSendEveSendIvanSend

Alice Bob

Alice Bob

Page 104: Horton’s Who Done It? · 2016. 12. 30. · Horton’s Who Done It? Communicating Authority with Responsibility Tracking Mark S. Miller Google Research1 Jed Donnelley LBNL/NERSC

CapWiki:CapWiki Stuff:ConceptsFinancesOther

Receives:AliceReceive

Sends:AliceSendDaveSend

CapWikiFinances:InvestorMarket

Alice’s

Here are theCapWiki:FinancesDave

Receives:* BobReceiveDaves’s Domain

Bob’s

Sends:BobSendEveSendIvanSend

Alice’s Domain Bob’s Domain

Alice Bob

Alice Bob

Page 105: Horton’s Who Done It? · 2016. 12. 30. · Horton’s Who Done It? Communicating Authority with Responsibility Tracking Mark S. Miller Google Research1 Jed Donnelley LBNL/NERSC

CapWiki:CapWiki Stuff:ConceptsFinancesOther

Receives:AliceReceive

Sends:AliceSendDaveSend

CapWikiFinances:InvestorMarket

Alice’s

Here are theCapWiki:FinancesDave

Receives:BobReceive

Bob’s

Bob D

ave

Sends:BobSendEveSendIvanSend

Daves’s Domain

Alice’s Domain Bob’s Domain

Alice Bob

Alice Bob

Page 106: Horton’s Who Done It? · 2016. 12. 30. · Horton’s Who Done It? Communicating Authority with Responsibility Tracking Mark S. Miller Google Research1 Jed Donnelley LBNL/NERSC

CapWiki:CapWiki Stuff:ConceptsFinancesOther

Receives:*AliceReceive

Sends:AliceSendDaveSend

CapWikiFinances:InvestorMarket

Alice’s

Here are theCapWiki:FinancesDave

Receives:BobReceive

Bob’s

Bob D

ave

Alice Bob Dave

Sends:BobSendEveSendIvanSend

Alice’s Domain Bob’s Domain

Daves’s Domain

Alice Bob

Alice Bob

Page 107: Horton’s Who Done It? · 2016. 12. 30. · Horton’s Who Done It? Communicating Authority with Responsibility Tracking Mark S. Miller Google Research1 Jed Donnelley LBNL/NERSC

Better Web Access Control• No more passwords – Send a <me>Send to a

<service>Send. They know who you are, youknow who they are.

• Side benefit – SPAM resistance. Don’t like asource of SPAM, cut it off to any delegationlevel.

• Principle Of Least Authority (POLA) sharing thatcan facilitate cross site services.

Page 108: Horton’s Who Done It? · 2016. 12. 30. · Horton’s Who Done It? Communicating Authority with Responsibility Tracking Mark S. Miller Google Research1 Jed Donnelley LBNL/NERSC

A B

Alice Bob

C

Carol

Is Carol a pseudonymfor Alice?

Page 109: Horton’s Who Done It? · 2016. 12. 30. · Horton’s Who Done It? Communicating Authority with Responsibility Tracking Mark S. Miller Google Research1 Jed Donnelley LBNL/NERSC

A B

Alice Bob

C

Carol

Page 110: Horton’s Who Done It? · 2016. 12. 30. · Horton’s Who Done It? Communicating Authority with Responsibility Tracking Mark S. Miller Google Research1 Jed Donnelley LBNL/NERSC

A B

Alice Bob

C D

Carol Dave

Page 111: Horton’s Who Done It? · 2016. 12. 30. · Horton’s Who Done It? Communicating Authority with Responsibility Tracking Mark S. Miller Google Research1 Jed Donnelley LBNL/NERSC

A B

Alice Bob

C D

Carol Dave

bar( )

Page 112: Horton’s Who Done It? · 2016. 12. 30. · Horton’s Who Done It? Communicating Authority with Responsibility Tracking Mark S. Miller Google Research1 Jed Donnelley LBNL/NERSC

A B

Alice Bob

C D

Carol Dave

Page 113: Horton’s Who Done It? · 2016. 12. 30. · Horton’s Who Done It? Communicating Authority with Responsibility Tracking Mark S. Miller Google Research1 Jed Donnelley LBNL/NERSC

A B

Alice Bob

C D

Carol Dave

Bob

Carol