论文部分内容阅读
近年来,随着企业信息化进程的不断加快,企业在不同时期开发了多个Web应用系统,而这些系统一般都是独立开发的,都有自己认证和授权模块。当企业用户要访问多个应用系统时,需要多次输入帐号和口令进行身份认证,给用户带了不便,同时也增加了用户帐号和口令泄露的危险。企业需要一个能够对用户进行统一认证和集中授权的平台,用户只要一次通过平台认证,就可以访问授权的应用资源,单点登录正是为解决这个需求而提出的。本文研究课题建立在一个企业门户资源管理系统的单点登录需求之上,企业用户通过门户系统进行统一的身份认证和授权后,就可以访问集成在门户上应用系统。在对单点登录相关技术进行了研究和分析,并详细分析了Kerberos协议认证过程存在的安全问题后,提出了一个改进的Kerberos认证模型。改进的模型引入公钥密码体制和USBKey双因素认证解决了Kerberos口令猜测攻击和密钥存储管理问题;采用随机数代替时间戳,有效减少了对时钟同步的依赖;引入轻量级票据保证了票据的安全。根据企业实际的需求,并在改进的Kerberos认证模型的基础上,本文设计了一个单点登录系统,该系统主要有以下几个功能:①统一身份认证。用户用USBKey首先在客户端完成双因素认证,然后用存储在USBKey中的数字证书与中心认证授权服务器进行身份认证。②集中授权。通过服务访问票据和RBAC相结合的方式来实现访问控制。③用户管理。门户系统管理员可以对用户进行统一管理,包括用户管理、用户组管理和用户映射等。④应用系统管理。提供应用系统注册、信息修改和删除功能。本文在JavaEE平台下实现了单点登录系统。系统通过建立CA负责用户数字证书的签发、公/私钥产生,将用户的数字证书和私钥存储在用户的USBKey中,同时将用户的数字证书存储在LDAP目录服务器中用于认证;通过Web Service提供的接口进行统一身份认证。在应用系统集成的方式上采用了两种方案:对于较难改造的应用系统,采用应用系统代理和用户映射来解决;对于新开发的应用系统通过调用Web Service提供的接口进行统一的身份认证。通过测试和实际运行,本系统能够满足企业的需求,是实现单点登录的一个较好的解决方案。