信息安全研究 ›› 2019, Vol. 5 ›› Issue (1): 59-67.

• 密码应用安全专题 • 上一篇    下一篇

单点登录协议实现的安全分析

郭丞乾1,蔡权伟1,林璟锵2,刘丽敏1   

  1. 1. 中国科学院数据与通信保护研究教育中心
    2. 中国科学院大学网络空间安全学院
  • 收稿日期:2019-01-08 出版日期:2019-01-15 发布日期:2019-01-08
  • 通讯作者: 郭丞乾
  • 作者简介:郭丞乾 博士研究生,主要研究方向为密码工程与应用. guocqian@gmail.com 蔡权伟 博士,助理研究员,主要研究方向为网络服务安全. caiquanwei@iie.ac.cn 中国科学院数据与通信保护研究教育中心 林璟锵 博士,研究员,主要研究方向为应用密码学、数据安全与隐私、网络与系统安全. linjq@is.ac.cn 刘丽敏 博士,副研究员,主要研究方向为应用密码学、网络与系统安全. liulimin@iee.ac.cn

Security Analysis on the Implementations of SingleSignOn Protocols

  • Received:2019-01-08 Online:2019-01-15 Published:2019-01-08

摘要: 身份鉴别是保证信息系统安全性和用户隐私的必要前提,单点登录协议和系统使得专业的身份服务提供商能够在确保用户隐私得到有效保护的前提下,为用户提供良好的体验(无需记忆多个口令,1次登录即可使用多个应用等),同时又避免了网络服务提供商重复开发用户身份鉴别功能.然而,已有研究成果表明单点登录协议在实现时存在诸多安全问题,本次安全分析针对当前主流的单点登录协议,如OAuth 20,OpenIDConnect以及SAML,抽象出单点登录协议的基本流程和攻击者目标;针对协议参与方的能力形成不同的攻击场景,在此基础上形成了单点登录系统必须满足的7条安全假设.针对现有单点登录系统漏洞的分析,表明实际系统中的漏洞均是由于违背了7条安全假设中的1条或多条.对单点登录系统面临的安全问题进行了系统研究,为单点登录系统的设计、实现和分析奠定了基础.

关键词: 身份鉴别, 单点登录, OAuth 2.0, OpenID-Connect, SAML, 安全假设

Abstract: Web applications rely on the authentication to ensure the security of systems and protect the users' privacy. The single-sign-on (SSO) services, provided by the identity service providers (IdP), allow the Web applicatioins to integrate the authentication directly, instead of maintaining and protecting the users' credentials by themselves. Moreover, SSO systems make it easier for users to visit multiple applications, for example, each user only needs to maintain one credential, and completes the authentication at the chosen IdP. However, various vulnerabilities have been found in the implementations of SSO systems. In this paper, we analyze three mainstream SSO protocols, namely, OAuth 2.0, OpenID-Connect and SAML, and provide the common process for SSO systems. Based on the goals of adversaries and the ability of each participant, we propose four attack scenarios, and present seven security assumptions that should be satisfied in SSO systems. The analysis on existing attacks demonstrate that at least one assumption has been broken for each vulnerability. Our work help to design, implement and analyze secure SSO services.

Key words: authentication, single-sign-on, OAuth 2.0, OpenID-Connect, SAML, security rule