论文部分内容阅读
企业在建立信息化设计之初未曾考虑各个子系统之间的通信问题,随着时间的推移,企业所建立的信息系统越来越多。一个需要在多个应用系统之间综合操作的用户就必须设置大量的账号和密码,极易造成混淆。同时,频繁的登录操作还增大了泄露用户信息的可能性。目前,单点登录(Single Sign-On,SSO)是解决此类问题最有效的方法。本文重点研究了基于安全断言标记语言(Security Assertion Markup Language,SAML)的单点登录模型,针对认证中心服务器的可靠性问题,提出了一种基于动态信任域的单点登录解决方案,旨在降低认证中心服务器的负载。本文引入了动态信任域的概念,用来存储服务的SAML认证断言,供用户下次访问相同服务时使用,从而减少对认证中心的访问量。本文重点研究了如何设计动态信任域的逻辑结构,以及如何管理动态信任域。由于动态信任域中的内容需要经常进行插入、删除操作,本文采用Hash表和双向链表的结构来存储用户的认证断言。考虑到最近访问的服务很有可能再次被访问到,因此根据操作系统中的LRU页面置换算法的思想提出了管理动态信任域的算法。该算法有效地减轻了 Web服务对认证中心的访问量,从而降低了认证中心的负载。本文给出了基于动态信任域的单点登录系统的总体结构设计,论述了各组成部分的详细设计细节,并给出了门户访问控制中心、SAML认证中心的实现以及如何使用轻量级目录访问协议(Light Directory Access Protocol,LDAP)实现用户信息统一管理的过程。为评估基于动态信任域的SSO系统与传统的基于SAML的SSO系统的认证中心负载的差别,并考核影响负载的因素,进行了相关的实验。分析结果表明,基于动态信任域的单点登录系统降低了认证中心的负载,提高了单点登录系统整体上的效率。