Web单点登录和客户/服务器单点登录

来源:互联网 发布:cf网络加速器官方下载 编辑:程序博客网 时间:2024/04/30 13:40

         单点登录(Single Sign-onSSO,),也称单一登录,通常指一个用户在使用多个应用时只需要同一个认证信息(比如:用户名/密码),并且只需要登录一次就可使用所有的应用。单点登录的实质就是安全上下文(Security Context)或凭证(Credential)在多个应用系统之间的传递或共享。

        单点登录的分类方法很多,在这里我们按照服务端的实现方式分为:基于Web的单点登录和客户/服务器单点登录。

Web单点登录:

        HTTP协议是无状态的,也就意味着不能跟踪用户会话。对服务器的每个请求都被看作是全新的请求,从而理论上用户访问应用功能必须进行身份认证。解决这一问题的方法之一是让浏览器缓存身份验证信息,而且把它与每个请求一起提供给Web服务器,这样就可以把用户从多次重新输入中解脱出来。但是,这样将加剧明文口令在Internet中传输,由此带来更加麻烦的安全因素。另外,跨域访问时仍然需要用户登录。

       WebSSO系统应运而生,涌现了一大批实用系统,包括Netegrity SiteMinder、Microsoft Passport、Entrust getAccess和RSA ClearTrust等。用户只要登录一次,就可以访问群集中的任何其他Web服务器,在会话期间不需要再次登录。通常是使用浏览器cookie来维持会话。

      Web SSO系统允许使用自定义的和品牌化的登录屏幕,同时可支持多种身份验证机制,例如口令、RSA SecurID、Windows域登录和公钥证书等。另外,还能够提供授权服务。因为在HTTP请求服务期间,Web服务器在HTTP请求处理期间在关键点实现截取,所以Web SSO系统可以很容易地与Web服务器集成在一起。

客户/服务器单点登录:

       与Web交互作用需要SSO功能一样,客户/服务器系统也需要SSO。Kerberos是客户/服务器系统最常用的方法,例如在微软COM+中就用到它。

       客户/服务器单点登录系统典型的登录过程为:
1).在客户端部署专门的单点登录客户端代理,支持所有应用;
2).用户先启动单点登录客户端代理,用主账号登录单点登录服务器,主账号验证成功后单点登录客户端代理获得一个一次性的登录标识;
3).用户在需要的时候启动应用系统、主机、网络设备客户端,发出连接请          求;
4).单点登录客户端代理捕获到连接请求,加上登录标识一起加密发送给服务          器;
5).在服务器一侧有两种实现方法,一种是独立网关方式,即在服务器前部署服务器端单点登录代理,捕获到连接请求及登录标识后解密,将登录标识转发给单点登录服务器,完成正常登录;另一种是嵌入方式,即将服务器端单点登录代理的功能以单点登录API的形式集成到应用服务器中,实现上述通过登录标识完成登录的过程。网关方式比较适用于主机、网络设备,嵌入方式适用于应用系统。
6).用户从单点登录服务器登出时,单点登录服务器废除原先颁发给用户的登录标识,单点登录客户端代理中断所有连接,实现“一处登出,处处登出”,当然在应用服务器中也必须能够对这种非正常退出进行处理,不能因此而造成资源不能正常释放。

作者注明:以后的文章主要针对Web单点登录。

原创粉丝点击