4.3 单点登录
4.3.1单点登录概述
单点登录(Single Sign On),简称为SSO,是目前比较流行的企业业务整合的解决方案之一。SSO的定义是用户只需进行一次登录注册,就可以访问多个相互联系的应用系统,而不必反复进行身份认证[4]。
4.3.2单点登录设计
通过Web服务实现用户身份验证,验证通过后将自动随机生成ticket,并传给用户,当用户访问其他应用系统时,仅需对ticket进行合法性验证。在这里,Web服务只需实现用户登录基本信息验证、ticket生成、ticket合法性验证这三个功能,就可以进行统一身份认证。单点登录模型的体系结构如图4所示[5]。
4.3.3单点登录实现
服务器端在开发时所使用的操作系统为Windows Server2003,数据库为SQL Server2000,在Eclipse开发环境下进行开发调试,使用Tomcat 5作为服务器,axis2作为SOAP 搜索引擎。当环境部署完成之后,进行应用程序的开发,将单点登录系统以定制方式发布为 Web服务,成为服务提供者,为校园不同部门机构门户提供服务。
4.4 CA认证中心
4.4.1 CA简介
CA(Certificate Authority)[6]是数字证书认证中心的简称,是指发放、管理、废除数字证书的机构。CA的作用是检查证书持有者身份的合法性,并签发证书(在证书上签字),以防证书被伪造或篡改,以及对证书和密钥进行管理[7]。
4.4.2公钥体系结构中的一些基本概念与结构组成
(1)密钥对
在基于公钥体系的安全系统中,密钥是成对生成的,每对密钥由一个公钥和一个私钥组成。在实际应用中,私钥由拥有者自己保存,而公钥则需要公布于众。为了使基于公钥体系的业务能够广泛应用,一个基础性关键的问题就是公钥的分发与管理。
公钥本身并没有什么标记,仅从公钥本身不能判别公钥的主人是谁。
在很小的范围内,比如A和B这样的两个小集体,他们之间相互信任,交换公钥,在互联网上通讯,没有什么问题。这个集体再稍大一点,也许彼此信任也不成问题,但从法律角度讲这种信任也是有问题的。如再大一点,信任问题就成了一个大问题。
(2)证书
互联网络的用户群绝不是几个人互相信任的小集体,在这个用户群中,从法律角度讲用户彼此之间都不能轻易信任。所以公钥加密体系采取了另一个办法,将公钥和公钥的主人名字联系在一起,再请一个大家都信得过有信誉的公正、权威机构确认,并加上这个权威机构的签名,这就形成了证书。
由于证书上有权威机构的签字,所以大家都认为证书上的内容是可信任的;又由于证书上有主人的名字等身份信息,别人就很容易地知道公钥的主人是谁。
(3)CA
CA也拥有一个证书(内含公钥),当然,它也有自己的私钥,所以它有签字的能力。网上的公众用户通过验证CA的签字从而信任CA,任何人都应该可以得到CA的证书(含公钥),用以验证它所签发的证书。
如果用户想得到一份属于自己的证书,他应先向CA提出申请。在CA判明申请者的身份后,便为他分配一个公钥,并且CA将该公钥与申请者的身份信息绑在一起,并为之签字后,便形成证书发给那个用户(申请者)。
如果一个用户想鉴别另一个证书的真伪,他就用CA的公钥对那个证书上的签字进行验证(如前所述,CA签字实际上是经过CA私钥加密的信息,签字验证的过程还伴随使用CA公钥解密的过程),一经验证通过,该证书就被认为是有效的。
CA除了签发证书之外,它的另一个重要作用是证书和密钥的管理。
由此可见,证书就是用户在网上的电子个人身份证,同日常生活中使用的个人身份证作用一样。CA相当于网上公安局,专门发放、验证身份证。
4.4.3认证模块的实现
(1)访问控制的设计思想
用户登录系统时,客户端和服务器端利用数字证书进行双向认证,建立SSL连接,然后查询数据库,对用户进行授权,并将权限集合保存在会话中。之后的交互中,用户每次发出请求,系统都先进行权限判定的过滤,以实现对静态资源(静态HTML页面、图片资源等)与动态资源(JSP页面、Servlet和Bean等)的细粒度的访问控制,为系统的安全访问提供有效保障。
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说计算机基于Web Services的数字化校园的构建研究(3)在线全文阅读。