SSO统⼀⾝份认证——SSO都有哪些常⽤的协议
SSO统⼀⾝份认证——SSO都有哪些常⽤的协议
单点登录(SingleSignOn,SSO),就是通过⽤户的⼀次性鉴别登录。当⽤户在⾝份认证服务器上登录⼀次以后,即可获得访问单点登录系统中其他关联系统和应⽤软件的权限,同时这种实现是不需要管理员对⽤户的登录状态或其他信息进⾏修改的,这意味着在多个应⽤系统中,⽤户只需⼀次登录就可以访问所有相互信任的应⽤系统。这种⽅式减少了由登录产⽣的时间消耗,辅助了⽤户管理,是⽬前⽐较流⾏的。
单点登录的使⽤场景有很多,C/S、B/S架构的系统均可使⽤,通常是⽀持快速配置使⽤。
业内⽬前实现SSO的⽅式有很多种,在ToC场景下互联⽹公司通常使⽤的是OAuth2协议,⽽ToB场景下⼤家通常是囊括百家,既⽀持OAuth2⼜⽀持CAS,还滴⽀持LDAP。其造成的原因主要是因为在ToB场景下需要对接SSO的系统通常仅⽀持某个协议,⽽这类系统⼜不是同⼀个协议导致。
下⾯我对于⽬前了解的各种协议的汇总,便于⼤家参考
image-20210718213753783
1、OAuth2.0
OAuth2.0是OAuth协议的延续版本,但不向前兼容OAuth 1.0(即完全废⽌了OAuth1.0)。 OAuth 2.0关注客户端开发者的简易性。要么通过组织在资源拥有者和HTTP服务商之间的被批准的交互动作代表⽤
web端登录户,要么允许第三⽅应⽤代表⽤户获得访问的权限。同时为Web应⽤,桌⾯应⽤和⼿机,和起居室设备提供专门的认证流程。2012年10⽉,OAuth
2.0协议正式发布为RFC 6749 。
2、CAS
CAS是Central Authentication Service的缩写,中央认证服务,⼀种独⽴开放指令协议。CAS 是 耶鲁⼤学(Yale University)发起的⼀个开源项⽬,旨在为 Web 应⽤系统提供⼀种可靠的单点登录⽅法,CAS 在 2004 年 12 ⽉正式成为 JA-SIG 的⼀个项⽬。
3、SAML 2.0
安全断⾔标记语⾔(英语:Security Assertion Markup Language,简称SAML,发⾳sam-el)是⼀个基于XML的开源标准数据格式,它在当事⽅之间交换⾝份验证和授权数据,尤其是在⾝份提供者和服务提供者之间交换。SAML 是OASIS安全服务技术委员会的⼀个产品,始于2001年。其最近的主要更新发布于2005年,但协议的增强仍在通过附加的可选标准稳步增加。
SAML解决的最重要的需求是⽹页浏览器单点登录(SSO)。单点登录在内部⽹层⾯⽐较常见,(例如使⽤Cookie),但将其扩展到内部⽹之外则⼀直存在问题,并使得不可互操作的专有技术激增。(
另⼀种近⽇解决浏览器单点登录问题的⽅法是OpenID Connect协议)
4、OpenID Connect (OIDC)
What is OpenID Connect?
OpenID Connect 1.0 is a simple identity layer on top of the OAuth 2.0 protocol. It allows Clients to verify the identity of the End-User based on the authentication performed by an Authorization Server, as well as to obtain basic profile information about the End-User in an interoperable and REST-like manner.
OpenID Connect allows clients of all types, including Web-based, mobile, and JavaScript clients, to request and receive information about authenticated sessions and end-users. The specification suite is extensible, allowing participants to use optional features such as encryption of identity data, discovery of OpenID Providers, and session management, when it makes sense for them.
How is OpenID Connect different than OpenID 2.0?
OpenID Connect performs many of the same tasks as OpenID 2.0, but does so in a way that is API-friendly, and usable by native and mobile applications. OpenID Connect defines optional mechanism
s for robust signing and encryption. Whereas integration of OAuth 1.0a and OpenID 2.0 required an extension, in OpenID Connect, OAuth 2.0 capabilities are integrated with the protocol itself.
5、WebAuthn
什么是Webauthn?
WebAuthn(Web ⾝份验证)是由万维⽹联盟(W3C)发布的 Web 标准。WebAuthn 是 FIDO 联盟指导下的 FIDO2项⽬的核⼼组成部分。该项⽬的⽬标是标准化⽤户对基于 Web 的应⽤程序和服务的公钥认证的接⼝。
WebAuthn全称Web Authentication API 使⽤asymmetric (public-key) cryptography (不对称加密)替代密码或SMS⽂本在⽹站上注册,验证, second-factor authentication(双因素验证). 解决了phishing(钓鱼), data
breaches(数据破坏), SMS ⽂本攻击,其他双因素验证等重⼤安全问题. 同时显著提⾼易⽤性(因为⽤户不必管理许多越来越复杂的密码)。
WebAuthn⽀持的⽣物验证⽅式包括:笔记本电脑的指纹识别和⾯部识别、安卓设备的指纹识别。追求⾼安全的⽤户还
可额外购买兼容FIDO的实体安全密钥,FIDO完整⽀持包括:指纹识别、⾯部识别、虹膜识别、声⾳识别、实体密钥(USB连接、蓝⽛连接、NFC连接),⽀持设备系统包括:Windows 10、Linux、Mac OS、Android、iOS、智能⼿表等。
以上内容均引⽤⾄互联⽹,如有问题请私密我。
上述我对于⽬前存在的⼀些协议的整理,便于⼤家进⾏初步熟悉,后续会对于每个协议进⾏深⼊的解析并补充我⾃⼰的理解,请⼤家持续关注。本⽂声明
88x31.png
知识共享许可协议 本作品由 cn華少 采⽤ 知识共享署名-⾮商业性使⽤ 4.0 国际许可协议 进⾏许可。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。