- 文献综述(或调研报告):
随着互联网的发展,网络中提供服务的增多,人们日常生活所需要的信息资源也随之增多。在这种条件下,用户经常需要访问一个内部网络中的多种不同子系统中的资源,由于不同系统的软硬件平台在初期设计时没有统一的访问标准和安全策略,导致用户在访问各个子系统时都需要进行独立的身份认证。这就要求用户需要记住自己在不同系统的身份标志,例如用户名和访问密码等,并且当需要访问多个系统时,需要反复验证用户身份,这无疑会对用户体验造成影响,并且降低了各系统的易用性。为了应对以上问题,产生了单点登录(Single sign-on,简称为 SSO)系统。[1]
- 单点登录研究现状
在国内,单点登录技术的研究及应用主要集中在例如高等院校这样的技术前沿的单位,同时也是国内最早涉足该技术领域的技术力量。各大高等院校目前都基本实现了校内各教务、教学系统的单点登录(例如知名的北京大学、清华大学等)。而后一些科技型中小企业也在企业内部各系统间尝试着应用单点登录技术改善系统使用效率,但这些系统大多都还不完善,没有公开共享。针对于此国内比较成熟的企业开始逐步推出商用的单点登录系统,这些系统解决方案有相当一部分都是在 Yale-CAS 单点登录技术基础上实现的(例如北京希尔、沈阳东软、金智教育等)。 [2]
国外方面,已经有很多协议对单点登录的实现提供了技术支持。比较典型的、应用较广泛的有麻省理工学院提出的Kerberos协议、Sun公司研发的Liberty Alliance协议、微软提出的Passport协议以及OASIS实施的SAML协议。
Liberty Alliance协议:。
Passport协议:也有一个身份认证服务器作为可信第三方,当用户对多个互相可信应用系统中的某个应用提出访问请求时,身份认证服务器会对用户身份信息进行验证,并向合法用户的浏览器的cookie中写入身份凭证以及与该次访问申请站点相关的凭证。这些凭证封装后得到的凭证信息,可以保证用户得到相关可信应用系统的服务允许,从而实现单点登录。
SAML协议:基于可扩展标记语言XML的编码协议,可以很好的实现多个可信应用系统之间信息的传递、交换、验证、授权以及配置等,同时不过分依赖各个应用系统的支持平台。用户通过一次身份信息验证后,被授予一个能够标识用户身份验证信息的SAML断言,其他可信的应用系统通过对用户携带的SAML断言进行校验,直接为合法用户提供服务请求,从而达到单点登录的目的。[3]
- 解决方案对比
- 基于CAS协议的解决方案
CAS中央认证服务,是现在流行的单点登录解决方案。它使多个异构Web应用认证工作集中到一起,通过一个公共可信的认证系统完成用户的认证和管理工作。用户在CAS上认证通过后,将会获得由CAS颁发的票据Ticket,用户持有该票据,即可在信任CAS认证服务的系统中自由访问,无需再次登录认证。这就好比在中国境内,公安机关提供者认证每个人身份的服务,中国公民在公安机关进行身份认证后,获得由公安机关颁发的身份标识,即身份证,公民持有身份证即可在其它机关单位证明自己的身份。在CAS单点登录系统中,CAS就是公安机关,其它Web应用是办事的机关单位,它们要信任CAS的认证结果,并且遵守CAS的认证规则。[4]
CAS协议的基础思想都是基于Kerberos的票据方式。Kerberosu°]是源自于古希腊神话中地狱之门守护者三头狗的名称,它是一种网络认证协议,提供了一种C/S之间安全认证服务。它的基本原理通过用户信息获取验证服务器的信任,再去授权服务器(TGS-Ticket Grangting Server)对用户的访问进行授权,最后客户端拿着授权凭证访问所有受保护资源。而CAS相对于Kerberos是不同的,CAS分为两个部分:CASServer和CASClient,它将认证和授权统一都放在了CAS Server去处理,然后在CAS Client统一对资源进行保护和对Ticket进行验证,两个部分在CAS协议中担任的角色互不相同但是又无法分开。[5]
2)基于Kerberos协议的解决方案
课题毕业论文、开题报告、任务书、外文翻译、程序设计、图纸设计等资料可联系客服协助查找。