horton’s who done it? communicating authority with responsibility tracking mark s. miller google...

114
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

Upload: shawn-hancock

Post on 03-Jan-2016

217 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: 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

Horton’s Who Done It?

Communicating Authority with

Responsibility Tracking

Mark S. Miller Google Research1

Jed Donnelley LBNL/NERSC

Alan H. Karp HP Labs

Usenix HotSec Workshop, August 7, 2007

1Work done while at HP Labs

Page 2: 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

Alice

Alice

Doc Chapters:

Chapter 1…

Chapter 1…

BobAlice

Communicating Object Access with Delegation

Initial Conditions:

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

Page 3: 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

Doc Chapters:

Chapter 1…

BobAlice

Alice

Capability Communication of the Document Reference

Alice

here’s( )

Chapter 1…

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

Page 4: 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

Alice

Alice

Doc Chapters:

Chapter 1…

Chapter 1…

BobAlice

Alice-

>Bob

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

Horton Magic: Bob Receives a Delegated Capability

Page 5: 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

Delegating Least Authority

A B

C

Page 6: 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

Delegating Least Authority

A B

C

b.foo(c)

Page 7: 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

Delegating Least Authority

A B

C

foo( )

Page 8: 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

Delegating Least Authority

A B

C

Page 9: 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

Delegating Least Authority

A B

C

• Msgs are only means to cause effects

• Refs control authority

• Leverage OO patterns

Page 10: 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

Delegating Least Authority

A B

C

• Msgs are only means to cause effects

• Refs control authority

• Leverage OO patterns

• Anonymous

Page 11: 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

Alice

Can’t vet code or actions of each object.

Page 12: 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

Alice

Can’t vet code or actions of each object.

Page 13: 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

Alice

Can’t vet code or actions of each object.

Page 14: 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

Alice

Can’t vet code or actions of each object.

Page 15: 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

Alice

Can’t vet code or actions of each object.

Page 16: 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

Alice

Can’t vet code or actions of each object.

Page 17: 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

Alice

Can’t vet code or actions of each object.

Page 18: 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

Alice

Can’t vet code or actions of each object.

Page 19: 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

Alice

Can’t vet code or actions of each object.

Page 20: 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

Alice

A

Can’t vet code or actions of each object.

Aggregate into long-lived responsible identity.

Page 21: 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

Two styles, relative strengths

Automated

Fine-grained

Built for safety

Least authority

Virus resistant

Authorization-based

Object-capabilities (ocaps)

Human decisions

Large-grained

Built for damage control

Most responsibility

Spam resistant

Identity-based

ACLs

?

Page 22: 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

Two styles, relative strengths

Automated

Fine-grained

Built for safety

Least authority

Virus resistant

Authorization-based

Object-capabilities (ocaps)

Human decisions

Large-grained

Built for damage control

Most responsibility

Spam resistant

Identity-based

ACLs

?

Page 23: 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

Two styles, relative strengths

Automated

Fine-grained

Built for safety

Least authority

Virus resistant

Authorization-based

Object-capabilities (ocaps)

Human decisions

Large-grained

Built for damage control

Most responsibility

Spam resistant

Identity-based

ACLs

Polaris, Plash

Page 24: 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

Two styles, relative strengths

Automated

Fine-grained

Built for safety

Least authority

Virus resistant

Authorization-based

Object-capabilities (ocaps)

Human decisions

Large-grained

Built for damage control

Most responsibility

Spam resistant

Identity-based

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

Page 25: 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

Two styles, relative strengths

Automated

Fine-grained

Built for safety

Least authority

Virus resistant

Authorization-based

Object-capabilities (ocaps)

Human decisions

Large-grained

Built for damage control

Most responsibility

Spam resistant

Identity-based

ACLs

?

Page 26: 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

Two styles, relative strengths

Automated

Fine-grained

Built for safety

Least authority

Virus resistant

Authorization-based

Object-capabilities (ocaps)

Human decisions

Large-grained

Built for damage control

Most responsibility

Spam resistant

Identity-based

ACLs

Horton

Page 27: 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

Story Needs Four Characters

Alice & Bob• Old patterns for identity-based control

Alice introduces Bob & Carol• Builds new relationships from old

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

Page 28: 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

Two-party intermediation

A message travels through anidentity tunnel

Page 29: 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

A B

Bob

Alice Bob

Alice

Page 30: 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

A B

Bob

Alice Bob

Aliceb.foo()

Page 31: 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

A Bfoo()

Bob

Alice Bob

Alice

Page 32: 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

A B

Bob

Alice Bob

Alice

foo()

Do I still use Bob’s services?

Page 33: 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

A B

Bob

Alice Bob

Alice

Bob, deliver to Bfoo()

Page 34: 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

A B

Bob

Alice Bob

Alice

deliver(“foo”,[])

Page 35: 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

A B

Bob

Alice Bob

Alice

foo()

Do I still honorAlice’s requests?

Page 36: 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

A B

Bob

Alice Bob

Alice

Deliver toB for Alice

foo()

Page 37: 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

A B

Bob

Alice Bob

Alice

foo()

Page 38: 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

A B

Alice Bob

Page 39: 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

Three-party intermediation

Build new relationships from old

Page 40: 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

A B

Alice Bob

C

Carol

Page 41: 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

A B

Alice Bob

C

Carol

b.foo(c)

Page 42: 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

A B

Alice Bob

C

Carol

foo( )

Page 43: 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

A B

Alice Bob

C

Carol

intro( )

Bob

Carol, please provide Bob access to C

foo(?)

Page 44: 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

A B

Alice Bob

C

Carol

intro( )

Bob

Carol, please provide Bob access to C

foo(?)

Alice needs tunnel for Bob

Page 45: 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

A B

Alice Bob

C

Carol

intro( )

BobGift wrap it

for Bob

Carol, please provide Bob access to C

foo(?)

Page 46: 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

A B

Alice Bob

C

Carol

intro( )

BobGift wrap it

for Bob

To BobFrom Carol

Carol, please provide Bob access to C

foo(?)

Page 47: 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

A B

Alice Bob

C

Carol

intro( )

Bobreturn Bob’sgift to Alice

To BobFrom Carol

Carol, please provide Bob access to C

foo(?)

Page 48: 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

A B

Alice Bob

C

Carol

To BobFrom Carol

Bob, deliver “fo__ to B with

Carol’s ( )foo( )

Page 49: 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

A B

Alice Bob

C

Carol

To BobFrom Carol

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

Carol

Page 50: 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

A B

Alice Bob

C

Carol

To BobFrom Carol

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

Carol

Unwrap Carol’sgift from Alice

Page 51: 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

A B

Alice Bob

C

Carol

foo( )

Unwrap Carol’sgift from Alice

Page 52: 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

A B

Alice Bob

C

Carol

foo( )

Page 53: 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

A B

Alice Bob

C

Carol

Page 54: 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

Four party intermediation

Only corroborating introductions let Alice shed blame

Page 55: 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

A B

Alice

Bob

C

Carol

Is Bob a pseudonymfor Alice?

Page 56: 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

A B

Alice Bob

C

Carol

Is Carol a pseudonymfor Alice?

Page 57: 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

A B

Alice Bob

C

Carol

Page 58: 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

A B

Alice Bob

C D

Carol Dave

Page 59: 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

A B

Alice Bob

C D

Carol Dave

bar( )

Page 60: 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

A B

Alice Bob

C D

Carol Dave

Page 61: 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

A B

Alice Bob

C D

Carol Dave

Bob

Page 62: 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

A B

Alice Bob

C D

Carol Dave

Bob

Carol

Page 63: 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

Better Identities than ACLs

No global administrator or name server

Track bilateral responsibility• For requests and for service

Track delegation chain• Revoke only improperly delegated rights

Sybil resistant aggregation strategy

Corroboration-driven disaggregation

Page 64: 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

Conclusions

Fine-grain least authorizations for safety.

Large-grain identities for damage control.

Horton is a protocol “scaffold” on which to hang identity-based policies,

transparently to interacting app-objects.

Supports delegating narrow authority, whileassigning responsibility for using that authority.

Page 65: 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
Page 66: 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

Three-party intermediation

The details

Page 67: 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

Rights Amplification

• Inspired by PK

• Simple oo pattern

• No explicit crypto

• Can represent responsible identity

Page 68: 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
Page 69: 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

b.foo(c)

Page 70: 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
Page 71: 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

Carol, please provide Bob access to C

Page 72: 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

Carol, please provide Bob access to C

Page 73: 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

Bob, please use Carol’s C

Page 74: 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
Page 75: 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

Make a stub for Bob’s use

Page 76: 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

Make a stub for Bob’s use

Page 77: 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

Gift wrap it for Bob

Page 78: 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

wrap(s3, whoBob, beCarol)

Page 79: 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

wrap(s3, whoBob, beCarol)

pr

Page 80: 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

wrap(s3, whoBob, beCarol)

pr

seal( )

Page 81: 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

wrap(s3, whoBob, beCarol)

pr

Page 82: 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

return gift

pr

Page 83: 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

pr

Page 84: 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

unwrap( , whoCarol, beBob)

pr

Page 85: 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

unwrap( , whoCarol, beBob)

pr

unseal( )

Page 86: 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

unwrap( , whoCarol, beBob)

pr

Page 87: 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

unwrap( , whoCarol, beBob)

pr

Page 88: 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

unwrap( , whoCarol, beBob)

pr

seal

( )

Page 89: 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

unwrap( , whoCarol, beBob)

pr

Page 90: 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

unwrap( , whoCarol, beBob)

pr

( )

Page 91: 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

unwrap( , whoCarol, beBob)

pr

Page 92: 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

unwrap( , whoCarol, beBob)

pr

Page 93: 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

unwrap( , whoCarol, beBob)

pr

( )

Page 94: 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

unwrap( , whoCarol, beBob)

Page 95: 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

makeProxy(..)

Page 96: 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

makeProxy(..)

Page 97: 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

E.call(..)

Page 98: 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
Page 99: 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

A B

Alice Bob

C D

Carol Dave

Page 100: 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

B

Bob

C D

Carol Dave

Page 101: 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

B

Bob

C D

Carol Dave

Page 102: 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

CapWiki with attribution

Page 103: 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

The Web: Good, Bad, and Ugly:

1. Good: Internet hypertext, wonderful!

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

3. Ugly: Hard to share limited access to network objects. Hard to combine network objects with access restrictions.

Page 104: 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

Sends:BobSendEveSendIvanSend

Alice’s Domain

Page 105: 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

CapWikiFinances:InvestorMarket

Ali ce’s

Alice’s Domain

CapWiki:CapWiki Stuff:ConceptsFinancesOther

Sends:BobSendEveSendIvanSend

Page 106: 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

Sends:AliceSendDaveSend

CapWikiFinances:InvestorMarket

Alice’s Domain Bob’s Domain

Ali ce’s

Receives:AliceReceive

CapWiki:CapWiki Stuff:ConceptsFinancesOther

Sends:BobSendEveSendIvanSend

Page 107: 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

CapWiki:CapWiki Stuff:ConceptsFinancesOther Sends:

AliceSendDaveSend

CapWikiFinances:InvestorMarket

Alice’s Domain Bob’s Domain

Ali ce’s

Receives:*AliceReceive

Sends:BobSendEveSendIvanSend

Page 108: 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

CapWiki:CapWiki Stuff:ConceptsFinancesOther

Receives:AliceReceive

Sends:AliceSendDaveSend

CapWikiFinances:InvestorMarket

Alice’s Domain Bob’s Domain

Ali ce’ s

Alice BobSends:BobSendEveSendIvanSend

Page 109: 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

CapWiki:CapWiki Stuff:ConceptsFinancesOther

Receives:AliceReceive

Sends:AliceSendDaveSend

CapWikiFinances:InvestorMarket

Alice’s Domain Bob’s Domain

Ali ce’ s

Alice Bob

Alice Bob

Sends:BobSendEveSendIvanSend

Page 110: 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

CapWiki:CapWiki Stuff:ConceptsFinancesOther

Receives:AliceReceive

Sends:AliceSendDaveSend

CapWikiFinances:InvestorMarket

Alice’s Domain Bob’s Domain

Ali ce’ s

Here are theCapWiki:FinancesDave

Receives:BobReceiveDaves’s Domain

Bo b’s

Sends:BobSendEveSendIvanSend

Alice Bob

Alice Bob

Page 111: 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

CapWiki:CapWiki Stuff:ConceptsFinancesOther

Receives:AliceReceive

Sends:AliceSendDaveSend

CapWikiFinances:InvestorMarket

Ali ce’ s

Here are theCapWiki:FinancesDave

Receives:* BobReceiveDaves’s Domain

Bo b’s

Sends:BobSendEveSendIvanSend

Alice’s Domain Bob’s Domain

Alice Bob

Alice Bob

Page 112: 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

CapWiki:CapWiki Stuff:ConceptsFinancesOther

Receives:AliceReceive

Sends:AliceSendDaveSend

CapWikiFinances:InvestorMarket

Ali ce’ s

Here are theCapWiki:FinancesDave

Receives:BobReceive

Bo b’s

Bob D

ave

Sends:BobSendEveSendIvanSend

Daves’s Domain

Alice’s Domain Bob’s Domain

Alice Bob

Alice Bob

Page 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

CapWiki:CapWiki Stuff:ConceptsFinancesOther

Receives:*AliceReceive

Sends:AliceSendDaveSend

CapWikiFinances:InvestorMarket

Ali ce’ s

Here are theCapWiki:FinancesDave

Receives:BobReceive

Bo b’s

Bob D

ave

Alice Bob Dave

Sends:BobSendEveSendIvanSend

Alice’s Domain Bob’s Domain

Daves’s Domain

Alice Bob

Alice Bob

Page 114: 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

Better Web Access Control

• No more passwords – Send a <me>Send to a <service>Send. They know who you are, you know who they are.

• Side benefit – SPAM resistance. Don’t like a source of SPAM, cut it off to any delegation level.

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