关于SSO

简介: 再好的技术方案仅仅是为了解决问题。那SSO是为了解决用户登陆输入用户名和密码的问题、更准确的说,在大型网站发展的过程中会衍生出很多个子系统、而这些子系统都需要输入用户名和密码进行登陆。 问题来了?为什么那些子系统需要登陆、回答这个问题需要知道系统发展演变的过程、不同的子系统可能代表着不同的业务线的发展、原有系统都存在用户状态验证过程,那在子系统跳转过程中势必要让用户去重新登陆。

再好的技术方案仅仅是为了解决问题。那SSO是为了解决用户登陆输入用户名和密码的问题、更准确的说,在大型网站发展的过程中会衍生出很多个子系统、而这些子系统都需要输入用户名和密码进行登陆、当然现在一个综合性的应用系统也是如此、可能部分子系统模块是H5形式、部分子系统是原生态语言形式。

问题来了?为什么那些子系统需要登陆、回答这个问题需要知道系统发展演变的过程、不同的子系统可能代表着不同的业务线的发展、原有系统都存在用户状态验证过程,那在子系统跳转过程中势必要让用户去重新登陆。另外、频繁输入用户的账户体系,无疑增大了被攻破的危险。

那么SSO意义就在于让用户经过统一的认证,然后畅游于各个系统之间。


微软的Passport方案和自由联盟方案的对比

1 微软的Passport单点登录采用的是在重定向信息中包含加密后的验证信息来进行交。

1.1 主体定义:N/A

1.2 流程:N/A

1.3 涉及算法:三重DES加密算法加密 加密密钥:Passport认证服务器 和服务提供服务器约定

1.4 涉及到协议:SSL、Kerberos认证机制

备注:

(Kerberos机制、http://blog.csdn.net/wulantian/article/details/42418231)、我觉的了解即可

(DES算法机制、https://my.oschina.net/ydsakyclguozi/blog/540648)

2 联盟的单点登录规范是采用安全声明标记语言(SAML)来进行交互的。

备注:SAML具备的一个最突出的好处,是使用户能够通过因特网进行安全证书移动,SMAL的工作原理参见相关文档(http://baike.baidu.com/link?url=KJ2-5Eos5xViO23aTROPo97YFceysUzI22Dnhty22bIFffidaHur6LFZIcpmqXmhbv5iKqf7IBYEB506ZKtVua)

2.1 主体定义:N/A

2.2 流程:N/A


上述的Kerberos认证机制、和SAML都是统一身份认证的机制原理、包含与SSO的统一定义中。


常见的一些问题:

1 利用Cookie作为SSO方案、如何解决跨域登陆的问题?

A:首先这是一个淘汰性的早期方案、这是因为本身Cookie就会带来这样的局限性、目前无法解决。

2 如何高效存储大量临时性的信任数据?

A:利用Memched或者Redis之类的内存式数据库进行管理

3 如何防止信息传递过程被篡改?(会话安全)

A:获取ticket的时候进行验证、从服务系统到SSO系统时候还需要进行一次验证

4 如何让SSO系统信任登录系统和免登系统?

A:白名单机制


目前第三方开源框架实现SSO的方案有

1 CAS

2 OAuth

3 JOSSO


相关文章
|
3天前
|
安全 数据安全/隐私保护 UED
|
5月前
|
安全 Java 关系型数据库
Keycloak单点登录
Keycloak单点登录
112 0
|
6月前
|
存储 数据安全/隐私保护
我对SSO单点登录和OAuth2.0的理解
单点登录(SingleSignOn,SSO),就是通过用户的一次性鉴别登录。当用户在身份认证服务器上登录一次以后,即可获得访问单点登录系统中其他关联系统和应用软件的权限,用户只需一次登录就可以访问所有相互信任的应用系统。比如我们登录了公司的OA系统之后,在页面上点击邮件系统,则无需再跳转到邮件的登录页面,点过去就直接登录成功了。
95 0
|
8月前
|
存储 NoSQL Redis
什么是单点登录?
我们在真正的项目开发中一个项目往往是大型的,这时候会把一个单系统拆分成多个子系统,比如淘宝和天猫,虽然是两个系统,但隶属于一个公司开发的产品,当我们登录其中一个时,另一个也会登录。
76 0
|
9月前
|
存储 NoSQL 应用服务中间件
SSO(单点登陆)
SSO(单点登陆)
|
9月前
|
存储 安全 前端开发
基于OIDC的SSO单点登录
基于OIDC的SSO单点登录
388 0
|
12月前
|
消息中间件 前端开发 JavaScript
SSO 单点登录和 OAuth2.0 的区别和理解
SSO 单点登录和 OAuth2.0 的区别和理解
|
安全 前端开发 JavaScript
|
NoSQL 前端开发 安全
我们来聊聊单点登录吧
我们来聊聊单点登录吧
我们来聊聊单点登录吧
|
前端开发 算法 安全
单点登录 SSO 的实现
单点登录让你一次性解决多应用认证的繁琐
337 3
单点登录 SSO 的实现