以下内容学习自<<白帽子讲Web安全>>
单单登录的英文全称是Single Sign On,简称SSO。它希望用户只登录一次,就可以访问所有系统,从用户无疑让用户使用更加的方便,从安全的角度看,SSO把风险集中在单点上,这样做有好处也有坏处
SSO的优点在风险集中化,如果每个系统各自实现登录功能,由于各系统的产品需求,应用环境,开发工程师水平有差异,登录功能的安全标准难以统一,SSO解决了这个问题,它把用户登录的过程集中在一个地方,这样可以使用多因素认证或者将安全设计交给可靠的第三方
SSO的缺点就是风险集中了,一旦被攻破后,后果非常严重,影响的范围将涉及所有使用单点登录的系统,降低风险的方法是在一些敏感的系统里面,增加一些额外的认证机制,如支付的时候再输一次密码或者通过手机短信验证码验证认证方式
目前互联网上最为开放和流行的单点登录系统是OpenID,OpenID是一个开放的单点登录框架,它希望使用URI来作为用户在互联网上的身份标识,每个用户将拥有一个唯一的URI,在用户登录系统的时候,只需要提交他的OpenID(用户唯一的URI)和OpenID的提供者,网站就会将用户重定向到OpenID的提供者进行认证,认证完成后再重定向回网站
但是OpenID模式仍然存在一些问题,OpenID的提供者服务水平有高有低,作为OpenID的提供者,一些网站中断服务或者关闭,都将给用户带来很大不便