On the security of modern Single Sign-On Protocols: OpenID Connect 1.0
- AAML

OpenID Connect is a new Single Sign-On authentication protocol, which is becoming increasingly important since its publication in February 2014. OpenID Connect relies on the OAuth protocol, which currently is the de facto standard for delegated authorization in the modern web and is supported by leading companies like, e.g., Google, Facebook and Twitter. An important limitation of OAuth is the fact that it was designed for authorization and not for authentication -- it introduces a concept that allows a third party, e.g., a mobile App or a web application, to only access a subset of resources belonging to a user. However, it does not provide a secure means to uniquely identify the user. Thus, recent research revealed existing problems in case that OAuth is used for authentication nonetheless. These problems result in severe security vulnerabilities. To fill this gap, OpenID Connect was created. It provides federated identity management and authentication by adding authentication capabilities on top of the OAuth protocol. % Although OpenID Connect is a very new standard, companies like Google, Microsoft, AOL and PayPal, who were also involved in the development, use it already. In this paper we describe the OpenID Connect protocol and provide the first in-depth analysis of one of the key features of OpenID Connect, the \emph{Discovery} and the \emph{Dynamic Registration} extensions. We show that the usage of these extensions can compromise the security of the entire protocol. We develop a new attack called \emph{Malicious Endpoints} attack, evaluate it against an existing implementation, and propose countermeasures to fix the presented issues.
View on arXiv