单点登陆(SSO)组件的设计与实现二


  上面是整体流程图,这个SSO组件在安全上有了很充分的考虑,可以说是非常安全,那么下面看看登录请求数据的格式,和为何它能保证真实性和完整性

  

  这样,当数据在传输过程中,如果站点编号,用户编号,请求号任意一项做任何的修改,当认证中心接收到数据之后,均无法与签名信息进行匹配。凡是认证中心能验证通过的请求均为合法的,真实的,完整的请求信息。

  登录答复的格式如下图所示

  

  因为登录号,时间戳,用户信息均加入数字签名信息,所以这些数据在传输中不能被伪造和篡改,而用户信息经过非对称性加密,也防止非真正请求发送者能解析出用户信息,这样在接受和发送请求和响应的时候,就实现了绝对的安全。

  当然不是没有破绽,破绽在于当请求答复未到达联盟站点之前,有人截获并先于正常用户登录了联盟站点,此时我们可以将用户的ip信息作为答复数据的一部分,加入签名,以此实现很高的安全保证

  登出流程图

  


« 
» 
快速导航

Copyright © 2016 phpStudy | 豫ICP备2021030365号-3