A Comprehensive Formal Security Analysis of OAuth 2.0

被引:114
作者
Fett, Daniel [1 ]
Kuesters, Ralf [1 ]
Schmitz, Guido [1 ]
机构
[1] Univ Trier, D-54286 Trier, Germany
来源
CCS'16: PROCEEDINGS OF THE 2016 ACM SIGSAC CONFERENCE ON COMPUTER AND COMMUNICATIONS SECURITY | 2016年
关键词
D O I
10.1145/2976749.2978385
中图分类号
TP [自动化技术、计算机技术];
学科分类号
0812 ;
摘要
The OAuth 2.0 protocol is one of the most widely deployed authorization/ single sign-on (SSO) protocols and also serves as the foundation for the new SSO standard OpenID Connect. Despite the popularity of OAuth, so far analysis efforts were mostly targeted at finding bugs in specific implementations and were based on formal models which abstract from many web features or did not provide a formal treatment at all. In this paper, we carry out the first extensive formal analysis of the OAuth 2.0 standard in an expressive web model. Our analysis aims at establishing strong authorization, authentication, and session integrity guarantees, for which we provide formal definitions. In our formal analysis, all four OAuth grant types (authorization code grant, implicit grant, resource owner password credentials grant, and the client credentials grant) are covered. They may even run simultaneously in the same and different relying parties and identity providers, where malicious relying parties, identity providers, and browsers are considered as well. Our modeling and analysis of the OAuth 2.0 standard assumes that security recommendations and best practices are followed in order to avoid obvious and known attacks. When proving the security of OAuth in our model, we discovered four attacks which break the security of OAuth. The vulnerabilities can be exploited in practice and are present also in OpenID Connect. We propose fixes for the identified vulnerabilities, and then, for the first time, actually prove the security of OAuth in an expressive web model. In particular, we show that the fixed version of OAuth (with security recommendations and best practices in place) provides the authorization, authentication, and session integrity properties we specify.
引用
收藏
页码:1204 / 1215
页数:12
相关论文
共 35 条
[1]   Mobile values, new names, and secure communication [J].
Abadi, M ;
Fournet, C .
ACM SIGPLAN NOTICES, 2001, 36 (03) :104-115
[2]   Towards a Formal Foundation of Web Security [J].
Akhawe, Devdatta ;
Barth, Adam ;
Lam, Peifung E. ;
Mitchell, John ;
Song, Dawn .
2010 23RD IEEE COMPUTER SECURITY FOUNDATIONS SYMPOSIUM (CSF), 2010, :290-304
[3]  
[Anonymous], 2011, IACR CRYPTOLOGY EPRI
[4]  
[Anonymous], RFC7662 OAUTH 2 0 TO
[5]  
[Anonymous], 2013, OAUTH 20 THREAT MOD
[6]  
[Anonymous], 2016, OAUTH 2 0 MIX UP MIT
[7]  
[Anonymous], 2008, Proceedings of the 6th ACMWorkshop on FormalMethods in Security Engineering. FMSE '08
[8]  
[Anonymous], 2012, RFC6749 THE OAUTH 20
[9]  
[Anonymous], 2016, REFERRER POLICY EDIT
[10]  
[Anonymous], ENCODING CLAIMS OAUT