Hannes Tschofenig
• Use the next 2 hours to determine what the security consideration section of the OAuth draft(s) should contain.
• Currently, the security consideration section of draft-ietf-oauth-v2-10 is empty.
• Note: No time to actually write text today.
• The next couple of slides are an introduction to get the discussion started.
– Approaches the topic based on NIST SP 800-63
,-.
(* *)
`+' User
'
:--------------|--~~~~~~~~~~:
: Service / \
: Interaction / \
: : Consent :
: : :
: Management
: of Resources
: : :
: +---:-+ Carol :
: 1. |Carol| as :
: Obtain .'>| | Asserting :
: Access .' +-----+ Party :
: Token.' :
: .' :
: .' :
: v' :
+-:---+ +--:--+ Bob
|Alice|<------------------------->|Bob | as
| | 2. Authenticated | | Relying
+-----+ Request + +-----+ Party
Access Token
Status: draft-ietf-oauth-v2-10
(with relevance for security)
• Token:
– Token Format not specified
– Token Content not specified
– Protection of token unspecified.
• HTTP Basic Authentication used for interaction with the authorization server, see (1)
• No HTTP-level authentication for authenticated request (2) specified.
• TLS not mandatory to use for (2) either.
Security Threats
(based on NIST SP 800-63)
1. Token manufacture/modification
An attacker may generate a bogus token or modify the token content of an existing token, causing Bob to grant inappropriate access to the Alice.
2. Token disclosure
Tokens may contain authentication and attribute statements that include sensitive information.
3. Token redirect
An attacker uses the token generated for consumption by
Bob to obtain access to a second Relying Party.
4. Token reuse
An attacker attempts to use a token that has already been used once with Bob.
Threat Mitigation
(based on NIST SP 800-63)
• Token modification:
– Protect the content, or use a reference instead!
• Token redirect:
– Carol must include the identity of the token consumer,
Bob.
• Token disclosure:
– Variant (a): Do not include sensitive information
– Variant (b): Offer confidentiality protection
• Approach #1: Confidentiality Protection & extra condition*
Carol
TLS
Alice Bob TLS
*: Alice has to make sure it does not distribute the token to entities other than Bob
• Approach #2: Sender Constraint
• Token contains information about the legitimate presenter (Alice).
• Bob has to authenticate Alice first to verify whether the token constraint matches the authenticated identity
• Approach #3: Key Confirmation
Carol
Req
TLS Token,SK,
{SK}Bob
Alice
Token, {Request}SK,
{SK}Bob
Bob
• Challenge: draft-ietf-oauth-v2-10 does not provide a completely interoperable solution since many aspects are left for bi-lateral agreements between Alice & Bob.
– So, what should be mandatory to implement?
• Key Confirmation Approach
– Experience in deployment available from Kerberos.
– Other approaches suffer from operational considerations
• Ensuring that Alice only provides token to Bob
• Establishing authentication infrastructure
• Putting proper constraints in the token.
• MUST implement and use TLS between Alice and Carol
(exchange #1)
• This slide set focuses on the token exchange.
Security for the exchange between Alice and
Carol isn’t described in great detail.
• Main document can only provide requirements for token protection
– Will have to be postponed to documents covering the details. Example:
• Additional security considerations based on properties of individual flows.
– Relate to properties provided by operating systems, libraries/application frameworks, and browsers.