Kantara Workshop: Making the World Safe for User-Managed Access
Eve Maler Kantara UMA Work Group Chair 4 May 2010
1
Kantara Workshop: Making the World Safe for User-Managed Access - - PowerPoint PPT Presentation
Kantara Workshop: Making the World Safe for User-Managed Access Eve Maler Kantara UMA Work Group Chair 4 May 2010 1 About Kantara Initiative http://kantarainitiative.org Participation: Open global identity, web, and developer community
1
community of individuals and organizations, such as:
agencies, IT vendors, consumer electronics vendors
communities
secure, identity-based, online interactions
become privacy protecting and more natively trustworthy environments.
and two certification oversight bodies (Assurance and Interop)
2
http://kantarainitiative.org
an individual or organizational Membership
3
4
5
6
data sharing and service access made on your behalf
anyone to join and contribute to
implement
RESTful, modular, generative, and developed rapidly
7
(definitions come from core protocol spec)
8
(definitions come from core protocol spec)
8
a web user who configures an authorization manager with policies that control how it makes access decisions when a requester attempts to access a protected resource at a host
(definitions come from core protocol spec)
8
a web user who configures an authorization manager with policies that control how it makes access decisions when a requester attempts to access a protected resource at a host carries out an authorizing user's policies governing access to a protected resource
(definitions come from core protocol spec)
8
a web user who configures an authorization manager with policies that control how it makes access decisions when a requester attempts to access a protected resource at a host carries out an authorizing user's policies governing access to a protected resource enforces access to the protected resources it hosts, as decided by an authorization manager
(definitions come from core protocol spec)
8
a web user who configures an authorization manager with policies that control how it makes access decisions when a requester attempts to access a protected resource at a host carries out an authorizing user's policies governing access to a protected resource enforces access to the protected resources it hosts, as decided by an authorization manager seeks access to a protected resource
(definitions come from core protocol spec)
8
a web user who configures an authorization manager with policies that control how it makes access decisions when a requester attempts to access a protected resource at a host carries out an authorizing user's policies governing access to a protected resource enforces access to the protected resources it hosts, as decided by an authorization manager seeks access to a protected resource requesting party: a web user,
legal person), that uses a requester to seek access to a protected resource
9 Requester Authorization Manager
Host Protected Resource Authorizing User
PEP
user agent
Grant Access
Protect
Access Authorize Store Enforce
PDP
Hi, I’m Alice Adams.
TravelIt.com
Keep your itineraries here
Hi, I’m Bob Baker.
AIRPLANR
10
11
11
11
11
11
12
13
site that consumes data
disclose
13
14
identity provider, discovery service... consumer, relying party, web service consumer... service provider, attribute authority, web service provider...
disclose store (authorize)
14
15
client server
disclose store authorize
15
authz server
client server
disclose store authorize
resource server
15
16
requester host
authorization manager
authorize contract disclose store
16
identity provider, discovery service
requester host
authorization manager
authorize contract disclose store
16
17
requester PEP PDP, PAP, PIP
authorize
policy admin
17
(see also requirements doc)
18
19
20
(see also scenarios and use cases doc)
(Accepted)
Both Have a Stake (Pending)
21
22
23
Classic Google Code diagram get a token use a token
23
Classic Google Code diagram
The client has already “met” the server to get unique credentials
get a token use a token
23
Classic Google Code diagram
Along with user- delegation use cases, there are autonomous-client use cases without this part The client has already “met” the server to get unique credentials
get a token use a token
23
Classic Google Code diagram
OAuth 2.0 has unique flows per client/ device type, and no request token Along with user- delegation use cases, there are autonomous-client use cases without this part The client has already “met” the server to get unique credentials
get a token use a token
23
Classic Google Code diagram
OAuth 2.0 has unique flows per client/ device type, and no request token Along with user- delegation use cases, there are autonomous-client use cases without this part The client has already “met” the server to get unique credentials OAuth 1.0 relies on signed messages over insecure channels; OAuth2.0 relies
borne by client over SSL
get a token use a token
23
Classic Google Code diagram
OAuth 2.0 has unique flows per client/ device type, and no request token Along with user- delegation use cases, there are autonomous-client use cases without this part The client has already “met” the server to get unique credentials OAuth 2.0 allows short-lived access tokens to be reissued through a long-lived refresh token OAuth 1.0 relies on signed messages over insecure channels; OAuth2.0 relies
borne by client over SSL
get a token use a token
24
24
token or you don’t
is unspecified
25
dynamically (using OAuth!)
requester “claims”
validate token at run time
26
Host Authorizing User Requester Authorization Manager (AM)
(user at browser or other user agent)
Requesting Party
26
Host Authorizing User Requester Authorization Manager (AM)
(user at browser or other user agent)
Requesting Party
Client
AM location
Step 1. User Introduces Host to AM
Authorization Server Protected Resource Policy Analytics
metadata
policies
WRAP/OAuth2
26
Host Authorizing User Requester Authorization Manager (AM)
(user at browser or other user agent)
Requesting Party
Client
AM location
Step 1. User Introduces Host to AM
Authorization Server Protected Resource Policy Analytics
metadata
policies
WRAP/OAuth2
Protected Resource
Client
Resource location
Step 2. Requester Gets Access Token
WRAP/OAuth2
26
Host Authorizing User Requester Authorization Manager (AM)
(user at browser or other user agent)
Requesting Party
Client
AM location
Step 1. User Introduces Host to AM
Authorization Server Protected Resource Policy Analytics
metadata
policies
WRAP/OAuth2
Step 3. Requester Accesses Resource
token (opt)
Protected Resource
Client
Resource location
Step 2. Requester Gets Access Token
WRAP/OAuth2
(see also protocol issues list)
27
28
terms” (promissory statement)
themselves to be bob@gmail.com” (affirmative statement)
29
30
Sharing Scenario
Authorizing User Requesting Party
Person-to-Person Person-to-Vendor
a party to access authorization
Natural Person - Bob Legal Person - VendorCo Natural Person - Alice
a party to access authorization
Hi, I’m Alice Adams. Hi, I’m Bob Baker.
AIRPLANR
31
Sharing Scenario
an intermediary, possibly a third-party beneficiary
Authorizing User Requesting Party
Person-to-Person Person-to-Vendor
a party to access authorization
Natural Person - Bob Legal Person - VendorCo Natural Person - Alice
Host Service Vendor AM Service Vendor
a party to access authorization
TOS TOS
pairwise terms of service
TravelIt.com
32
Sharing Scenario
an intermediary, possibly a third-party beneficiary
Authorizing User Requesting Party
Natural Person - Alice
Host Service Vendor AM Service Vendor
TOS TOS TOS
Requester Service Vendor
Person-to-Person
a party to access authorization an intermediary, possibly a third-party beneficiary pairwise terms of service
Natural Person - Bob
pairwise terms of service a party to access authorization
Schedewl
33
Sharing Sub-Scenario
an intermediary, possibly a third-party beneficiary
Authorizing User Requesting Party
Natural Person - Alice
Host Service Vendor AM Service Vendor
a party to access authorization
TOS TOS
Person-to-Vendor
VendorCo acting on Alice's behalf, à la OAuth
Legal Person - VendorCo
a party to access authorization pairwise terms of service pairwise terms of service the same user, possibly a third-party beneficiary
TOS
Requester Service Vendor
AIRPLANR
34
deployed either in-house
Sharing Sub-Scenario
an intermediary, possibly a third-party beneficiary
Authorizing User Requesting Party
Natural Person - Alice
Host Service Vendor AM Service Vendor
a party to access authorization
TOS TOS
Person-to-Vendor
VendorCo acting on its own behalf
Legal Person - VendorCo
pairwise terms of service a party to access authorization
Requester Service FrodoReviews