OAuth WG Conference Call, 11th Jan. 2013

Slides:



Advertisements
Similar presentations
Chapter 14 – Authentication Applications
Advertisements

Cryptography and Network Security Third Edition by William Stallings Lecture slides by Lawrie Brown.
Prabath Siriwardena | Johann Nallathamby.
BASIC CRYPTOGRAPHY CONCEPT. Secure Socket Layer (SSL)  SSL was first used by Netscape.  To ensure security of data sent through HTTP, LDAP or POP3.
CSCE 715: Network Systems Security Chin-Tser Huang University of South Carolina.
IETF OAuth Proof-of-Possession
1 IETF OAuth Proof-of-Possession Hannes Tschofenig.
Chapter 14 From Cryptography and Network Security Fourth Edition written by William Stallings, and Lecture slides by Lawrie Brown, the Australian Defence.
ACE – Design Considerations Corinna Schmitt IETF ACE WG meeting July 23,
July 16, 2003AAA WG, IETF 571 AAA WG Meeting IETF 57 Vienna, Austria Wednesday, July 16,
OAuth 2.0 Security IETF OAuth WG Conference Call, 14th December 2012.
OAuth Security Hannes Tschofenig Derek Atkins. State-of-the-Art Design Team work late 2012/early 2013 Results documented in Appendix 3 (Requirements)
1 Lecture 18: Security issues specific to security key management services –privacy –integrity/authentication –nonrepudiation/plausible deniability.
Cryptography and Network Security Chapter 14 Fifth Edition by William Stallings Lecture slides by Lawrie Brown.
SSL / TLS in ITDS Arun Vishwanathan 23 rd Dec 2003.
Workgroup Discussion on RESTful Application Programming Interface (API) Security Transport & Security Standards Workgroup January 12, 2014.
EAP WG EAP Key Management Framework Draft-ietf-eap-keying-03.txt Bernard Aboba Microsoft.
Web Security : Secure Socket Layer Secure Electronic Transaction.
Doc.: IEEE /495r1 Submission July 2001 Jon Edney, NokiaSlide 1 Ad-Hoc Group Requirements Report Group met twice - total 5 hours Group size ranged.
31.1 Chapter 31 Network Security Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
1 Kerberos – Private Key System Ahmad Ibrahim. History Cerberus, the hound of Hades, (Kerberos in Greek) Developed at MIT in the mid 1980s Available as.
Emu wg, IETF 70 Steve Hanna, EAP-TTLS draft-funk-eap-ttls-v0-02.txt draft-hanna-eap-ttls-agility-00.txt emu wg, IETF 70 Steve Hanna,
Key Management in AAA Russ Housley Incoming Security Area Director.
Pertemuan #8 Key Management Kuliah Pengaman Jaringan.
CRYPTOGRAPHY Cryptography is art or science of transforming intelligible message to unintelligible and again transforming that message back to the original.
Cryptography and Network Security Chapter 14 Fifth Edition by William Stallings Lecture slides by Lawrie Brown.
SSL: Secure Socket Layer By: Mike Weissert. Overview Definition History & Background SSL Assurances SSL Session Problems Attacks & Defenses.
PRESENTATION ON SECURE SOCKET LAYER (SSL) BY: ARZOO THAKUR M.E. C.S.E (REGULAR) BATCH
Network Security Confidentiality Using Symmetric Encryption Chapter 7.
Computer and Network Security
Key management issues in PGP
Dr. Michael B. Jones Identity Standards Architect at Microsoft
Computer and Network Security
Web Applications Security Cryptography 1
Cryptography: an overview
RADEXT WG RADIUS Attributes for WLAN Draft-aboba-radext-wlan-00.txt
Phil Hunt, Hannes Tschofenig
Cryptography and Network Security
網路環境中通訊安全技術之研究 Secure Communication Schemes in Network Environments
OAuth2 WG User Authentication for Clients
Computer Communication & Networks
Cryptography and Network Security
Secure Sockets Layer (SSL)
Cryptographic Hash Function
CS480 Cryptography and Information Security
Authentication Applications
OAuth2 SCIM Client Registration & Software Statement Exchange
BINF 711 Amr El Mougy Sherif Ismail
draft-ietf-geopriv-lbyr-requirements-02 status update
OpenID Enhanced Authentication Profile (EAP) Working Group
Originally by Yu Yang and Lilly Wang Modified by T. A. Yang
CSE 4095 Transport Layer Security TLS
Cryptography and Network Security
OpenID Enhanced Authentication Profile (EAP) Working Group
draft-ipdvb-sec-01.txt ULE Security Requirements
SSL (Secure Socket Layer)
Securing the CASP Protocol
Digital Certificates and X.509
The Secure Sockets Layer (SSL) Protocol
Cryptography: an overview
OAuth Design Team Call 11th February 2013.
Security Properties Straw Polls
Chapter -7 CRYPTOGRAPHIC HASH FUNCTIONS
Secure How do you do it? Need to worry about sniffing, modifying, end-user masquerading, replaying. If sender and receiver have shared secret keys,
OpenID Enhanced Authentication Profile (EAP) Working Group
OpenID Enhanced Authentication Profile (EAP) Working Group
Cryptography and Network Security
Authentication and Authorization for Constrained Environments (ACE)
OpenID Enhanced Authentication Profile (EAP) Working Group
Presentation transcript:

OAuth WG Conference Call, 11th Jan. 2013 OAuth 2.0 Security OAuth WG Conference Call, 11th Jan. 2013

Crypto-Agility [C->RS: Discovery] C->AS: [algorithm list]**, id(RS), id(client), scope C<-AS: algorithm*, key, access token C->RS: algorithm, HMAC/signature, access token*** C<-RS: OK. *Assumption: AS knows what algorithms are supported by the RS. AS selects appropriate algorithm from the client-provided list. **: Algorithm list & token types could be conveyed implicitly via the client id. Client registers the data during the registration phase. ***: Alternatively an error message is returned if no common algorithms are supported.

Confirm Cryptographic Algorithm Selection Client supported list of algorithms cannot be modified since it is sent over a TLS protected channel.

Uniquely Named Keys Key used for client authentication is named via Client_id Key used to protect the access token is named kid (if the JOSE work is used). Session key used for client<->RS interaction could be named via id (as in MAC draft). Should a session key also be used for a subsequent exchange of data between the client and the resource server?

Authorization Restriction Information needed by client: Lifetime of the session key + Key identifier Authorization Scope Resource Server the access token can be used (Any information related to delegation, or post-dated access tokens.)

Bind Key to its Context Session key to be used for client-to-RS interaction Lifetime of session key. Symmetric key: lifetime of access token Asymmetric key: longer lifetime Who has access to the session key? Depends on the type: Symmetric: AS, client instance, RS Asymmetric: privacy key known to the client instance only

Prevent the Domino Effect What happens when a client gets compromised? Rouge client must not get access to resources of resource owners who have been interacted with that client. What happens when a resource server gets compromised? Rouge RS must not be able to impersonate clients to other RSs

Strong, fresh session keys Randomly generated with sufficient entropy Client id: client id is not visible to RS Joint key control (client & AS) for symmetric keys? Scope Should a different session key be used when the scope changes? Lifetime of C<->RS session key : For symmetric keys: lifetime of the session key is bound to the access token lifetime.

Replay Detection Mechanism Based on timestamp with optional seq-number

Authenticate All Parties AS authenticated by the client Client authentication to the AS (mandatory?) Client authentication to the RS via keyed message digest/signature RS authentication to the client?

Authorization Resource Owner is authorized by the AS. Client is authorized by the AS via client authentication (mandatory?) RS authorizes client based on access token in combination with proof of possession of key. AS authorizes RS via the encrypted session key.

Keying Material Confidentiality and Integrity Client obtains session key via TLS protected channel. If refresh token leaks then it can be used to obtain access token + new session key. The refresh token behaves like a bearer token. A problem? Without channel binding the TLS tunnel may terminate before the AS RS obtains session key via encrypted access token (in case of symmetric keys) (optionally: RS obtains session key from AS)

Client Identity Confidentiality A Client has identity confidentiality when any party other than the Resource Server and the Authorization Server cannot sufficiently identify the Client within the anonymity set. Client to AS exchange is confidentiality protected. Client id is not exposed to RS.

Resource Owner Identity Confidentiality Only the Authorization Server gets to know the identity of the resource owner Unless a JWT carries a "sub" (Subject) Claim

Collusion The Authorization Server can be prevented from knowing which Resource Servers a Resource Owner interacts with. Consequence: The AS is unable to populate the audience field in a JWT. The AS cannot encrypt a session key for usage with a specific RS. Best supported with asymmetric cryptography Is this a desirable feature for an initial version?