文章信息
- 陕勇, 张旭.
- Shan Yong, Zhang Xu.
- 数字林业平台中统一身份认证系统的研究
- Research of Unified Authentication System on Digital Forestry Platform
- 林业科学, 2006, 42(增刊1): 62-64.
- Scientia Silvae Sinicae, 2006, 42(增刊1): 62-64.
-
文章历史
- 收稿日期:2005-06-24
-
作者相关文章
随着计算机及其网络技术的广泛应用, 数字林业平台(digital forestry platform, DFP)中各个子系统重组后的平台资源可以是由异地、异构的多个资源信息子中心通过资源整合和互联而构成的网络资源共享环境和资源共享服务体系。因此DFP资源共享环境是为DFP中其他各子系统提供信息技术支撑, 是DFP整合、共享、服务在网络层的体现, 同时也为DFP的运行管理提供技术支持。为实现DFP资源的整合, 共享环境需要建设统一的资源管理站点、用户统一身份认证系统(unified authentication system, UAS)、资源安全系统、数据复制备份管理系统和运行管理信息系统等。目前, 面对分布式系统的系统安全和用户身份认证问题, 普遍采用的是分散登录、分散管理, 各子系统之间由于缺乏良好的通用性, 频繁的身份注册和隐藏的安全隐患成为突出问题。在众多需要登陆的管理系统中, 最通常的方法是注册通用的用户名和口令。然而, 由于不同系统的安全机制强弱不同, 一旦用户在某个系统中的注册信息丢失, 则意味着其他系统安全机制丧失(Wooldrig et al., 1995); 若不同系统用不同的身份注册, 则又要记住太多的信息。因此, 在DFP中, 我们旨在建立一个统一的、具有较高安全控制的身份验证系统, 以保证数据安全和用户操作的方便。
1 统一身份认证系统(UAS)的设计思想统一身份认证作为DFP网络安全解决方案的一个组成部分, 设计时, 一方面要了解现有的系统, 保护现有的投资, 避免系统做大规模的变动, 因为现有的林业各应用系统是在不同的时间伴随着不同的技术背景而建立起来的, 有各种互异运行平台和体系结构, 而且也投入了大量的资金及人力物力; 另一方面, 要让UAS有可扩展性和可集成性, 不仅要支持现有的应用, 而且运用于不带身份认证和用户管理的新应用系统中, 且要具备灵活方便的使用模式(李晏虞等, 2003)。
在安全性方面, 由于用户登录方式的多样性, 不同的用户级别和不同的使用方式有不同的应用安全要求。同时在设计UAS时要考虑到某些机密应用需求, 故要提供一个可选的安全链接方式, 即凭数字证书来登录(刘兰娟等, 2003)。在性能方面, 由于轻量级目录访问协议(LDAP)服务器的特点和优势, LDAP目录服务适合读密集型的数据, 所以UAS使用LDAP服务器存放3种数据: 1种是用户的账号信息, 即为用户的个人基本资料和在其各个应用系统中的信息; 另1种数据是用户和服务器的证书, 即为公开密钥基础设施(PKI)中的密钥库; 第3类信息是统一描述、发现和集成协议(UDDI)数据(贾克斌等, 2000), 考虑到将来的扩展性以及和其他安全组件的结合, 在目录库中留有UDDI服务类条目, 一些应用系统需要时采用Web方式来发布其相关的服务时, 可使用已经搭建好的组件。
2 统一身份认证系统的体系结构从Web服务的技术特点可以看到, 利用Web服务体系, 可以简单地实现各个系统之间的无缝整合, 其完好的封装性、松散耦合、高度可集成和简单性正是适合于旧系统的整合和新系统的集成(李晨等, 2002)。UAS把认证这部分功能作为Web服务, 而把服务管理、策略管理和用户管理作为Web应用, 应用系统根据自身的技术方案进行简单的编程, 通过开放的接口访问Web服务, 可加入到统一身份认证服务(柴晓路等, 2003)。按照上面的设计思想, DFP的UAS体系结构如图 1所示。
图 1中, 中间的部分属于系统的组件, 包括接口构件、核心构件、后台构件和可选择构件4部分。接口构件包括身份认证维护平台、管理界面普通接口。管理员通过安全套接层(SSL)链接登录系统, 在管理界面中对本系统进行业务方面的监控和管理, 除此之外, 系统还提供了普通接口, 供普通用户通过安全认证通道直接登录并使用服务。由于本系统的一部分功能为公开的Web服务, 故浏览器或者第三方开发的应用程序也可以通过简单对象访问协议(SOAP)连接使用Web服务(李安逾, 2003)。接口构件通过调用核心构件的功能来完成业务逻辑。核心构件包括账号户管理、访问管理、应用系统服务管理和认证服务等模块, 一般是架构在安全的Web服务器上。这在多层结构中属于业务层, 由多种中间件来完成不同的功能。核心层通过目录接口、数据库接口等与后台的目录库及数据库连接。后台构件是UAS的数据中心, 包括运行于LDAP服务器上的LDAP目录库和数据库。可选构件包括证书服务器、副的LDAP目录库。证书认证服务是用来构建PKI体系的, 这是适应高安全的应用而设计的(田李等, 2002), 副LDAP目录库是为备份主LDAP目录库的, 还可以增加辅助的Web安全服务器用来同步身份认证服务。
3 统一身份认证系统的实现从UAS的设计思想和其体系结构可知: UAS是一个非常复杂的系统, 这既是应用的集成, 又是技术的集成, 涉及多种技术和多个应用系统。下面首先从技术层面来描述UAS的实现, 同时以DFP中的两种资源访问情景和UAS解决方案来阐述UAS的实现, 最后提出了完善的解决方案。
3.1 实现UAS的关键技术统一身份认证就是要让所有加入它的应用系统, 不管它是基于浏览器还是客户机, 用户一次登陆就可以在令牌生命期内持续使用及跨域使用。
3.1.1 用户状态的保存方式基于Web的应用中, 可以使用浏览器的Session和Coolie来保存用户的认证信息, 把用户的认证信息和权限信息编码以密文的形式保存在Session中并写入Cookie中, 凭此可以确定用户的状态; 然而, DFP中的应用系统是多样的, 不仅有基于Web方式的, 而且有基于非Web方式的, 如邮件系统、个人网络存储服务等。解决的办法是在客户端和服务器断分别要有保持已经登陆的用户的在线信息。
3.1.2 认证过程中的消息交换UAS的认证过程是通过编码用户身份及用户的权限认证相关信息, 加密成SSO令牌, 通过安全传输通道来交换认证信息并确认。SSO认证过程采用改进的Kerberos认证过程, 系统中包括3个角色:身份服务中心、应用服务器和客户机, 其中身份服务中心的作用是分配和保存密钥及令牌, 包括认证服务器AS和令牌服务器TGS。
3.1.3 统一认证和统一授权在UAS中定义了应用程序代码与将要执行业务逻辑的物理实现之间干净的抽象。这个抽象层不用重新编译现有的应用系统代码就可以作为登录模块的运行时替代。应用程序只是跟登录内容API(LoginContext API)打交道, 而认证技术实现提供程序(登录模块接口LoginModule)则提供一组动态配置的登陆模块。在运行时, LoginContext将读取配置文件以确定应使用哪些登录模块对访问特定应用程序的用户进行认证。
3.2 以统一身份认证系统为基础的资源访问在DFP中, 用户访问资源有2种方式:通过统一身份认证框架访问资源; 直接访问资源站点。UAS在2种访问中都起到了核心作用。
3.2.1 用户通过统一身份认证框架访问资源如图 2所示, 此种情况下, 用户访问资源的实现流程包括: 1)用户向UAS注册, 经UAS管理员审查批准后建立用户账户, 并赋予该用户相应的角色。用户的相关信息存储在LDAP中。2)用户想访问资源时, 与UAS建立HTTPS连接, 使用属性值对(用户ID、密码)向UAS发送登录请求。3)如果该用户是一个合法用户, UAS获取并记录该用户的IP地址, 为该用户生成临时ID(TID)并设置有效期间, UAS使用TID重定向到用户所要访问的资源站点URL。4)该资源站点获取该用户的IP地址并与UAS建立HTTPS连接。然后用TID和该用户的IP地址去取回LDAP中该用户的角色, 如果该用户合法, 比较TID的有效性。5)如果该用户TID有效, 资源网站把该用户的相关信息存储在本地的一个cache中, 以备重复登录使用。(根据“角色-权限”映射规则把此角色映射到一个本地账号上, 这样该用户就拥有了此本地账号的权限。该工作由资源站点本身完成)。6)接受用户的资源访问请求。
用户直接访问资源站点并非意味着跳出了UAS, 这种情况下, 更能体现出UAS的价值, 用户此时可能感觉不到UAS的存在, 但实际上他的操作都是建立在UAS之上, UAS在无形中确保了他的访问安全。如图 3所示, 此种情况下的用户访问资源的实现流程包括: 1)用户直接访问资源站点时, 资源站点检测其传递参数是否有用户临时ID。若有则转向第2步, 否则转向第3步。2)根据这些参数信息通过HTTPS通道访问UAS, 以确保用户角色的安全性。UAS根据用户临时ID和获取的IP地址判断用户是否已经登录, 或者登录是否在有效期内。如果临时ID和IP地址几经登录且在有效期内返回其对应的用户角色(Schneider, 2000), 同时将相关信息存储到cache中, 转向第5步; 如果临时ID和IP地址无效或者登录不在有效期内则让返回用户重新登录页面。3)用户将进入cookie获取页面。将本地访问UAS登录后存储在cookie中的用户临时ID等信息提取出来, 根据本资源站点的地址改造cookie为能被本资源站点所接受的cookie。然后再根据这个cookie去访问资源站点, 此时将重复用户直接将临时ID和IP地址发送给资源站点的操作。4)根据上述cookie去访问资源站点, 资源站点从cookie中提取用户临时ID等信息转向第2步。5)接受用户的资源访问请求。
根据数字林业平台应用的特点, UAS共有4个角色和6个用例。4个角色即普通用户user、域管理员manager、系统管理员administrator和应用系统/服务。普通用户使用前3个用例。系统管理员负责整个系统的管理和监控, 如统一授权、访问控制、账户管理、应用系统服务的注册和删除等, 同时还要对系统进行日志分析、状态检测等。而域管理员的权限由系统管理员授权并执行一部分系统管理员的功能, 管辖一个或几个应用系统。6个用例可以分成2组, 前3个即用户注册、账户关联和身份认证是位于图 1的身份认证组件中, 这3个功能作为Web service, 后3个用例即账号管理、服务注册和访问管理是系统管理的支撑功能, 一般只是供管理员使用。图 4为统一身份认证系统的用例图。
在设计UAS时, 考虑到DFP用户规模可能达到10万左右, 因此必须保证系统处理能力的扩展性, 开发和运行平台为Microsoft公司Visual. NET 2003, 其提供各种组件的透明的分布部署能力, 可以逐步地将系统部署到服务器上, 以提高系统的处理能力。操作系统采用的是Windows2000 Server, 是架设服务器的最为稳定的操作系统之一, 选用的Web服务器为Microsoft IIS。编程语言采用的是C#, 它结合了Visual Basic的高效和C++的质朴, 能与.NET平台无缝连接, 充分利用.NET的先进性。图 5简要介绍了开发UAS的类和页面。
UASLauncherData中的Uass类用语检索指定用户的程序列表, 它还将生成一个新的令牌, 根据给定的令牌检索用户的标识信息以及删除令牌, UASToken类包含从Uass类返回令牌所需的属性, UASUserRoles类用户检索试图登录应用程序的用户的信息。UASLauncher应用程序中的Default. aspx用户检索通过了IIS身份验证的Windows用户, 并返回允许这些用户访问的应用程序的列表。网站1可看做DFP中某个应用系统, 其中UASlogin. aspx保证只能从应用程序启动器调用此Web页类; Login. aspx是常规的Web登录页面, 它要求用户输入凭据, 并在数据库中检查这些凭据, 以确保是有效用户, 还将创建相应的身份验证票据, 并在用户进入站点时, 重定向用户请求的页面(王胜顺等, 2002); Defaoult. aspx是每个应用系统的主登陆页面, 只有通过了Applogin或Login Web页面的身份验证的用户才能浏览此网站。
4 结论DFP是基于网格技术的新一代林业信息平台和基础设施, DFP提供各种服务的发现、调度、访问和应用环境构造的方法, 实现对广泛分布的计算、数据、设备等资源的共享和管理。针对目前身份认证系统的现状, 基于DFP对身份认证的需求, 实现DFP中的统一身份认证具有重要意义, 本文利用Web服务和信息安全技术, 提出了DFP中UAS的设计思想, 体系结构, 并简要阐述了其实现。目前, UAS的原型系统已经实现, 并在数字林业速生林工程信息服务系统、数字林业森林资源管理应用系统、数字林业数据交换系统中都得到了初步应用。
当然, UAS中还有很多需要改进的地方:本系统使用的令牌为GUID类型, 它强制用户回数据库, 以检索用户的配置文件信息, 以后可以考虑使用基于WS-Security增强标准的令牌加密配置文件信息; 增强自动添加不在系统中的域用户的能力; 优化用户界面自定义的功能等等; 这些将是下一步研究的方向。
柴晓路, 梁羽奇. 2003. Web Services技术、架构与应用. 北京: 电子工业出版社, 1-4, 185-226, 270-271, 346-511.
|
贾克斌, 沈波, 刘俊千, 等. 2000. 校园信息系统中内部安全机制的研究. 北京工业大学学报, 4: 34-38. |
李晨, 张礼平, 杨富平. 2002. 松散耦合分布式计算中的互操作. 微型电脑应用, 1: 43-46. |
李安逾. 2003. Web Services技术与实现. 北京: 国防工业出版社, 64-96, 133-217.
|
李晏虞, 赵政. 2003. 一种基于PKI/PMI的企业安全构架. 计算机工程与设计, 24(12): 95-97. DOI:10.3969/j.issn.1000-7024.2003.12.025 |
刘兰娟, 张庆华. 2003. 信息安全工程理论与实践. 计算机应用研究, 4: 85-89. |
田李, 林卫明, 鲁汉榕. 2002. 一种新的一次性口令认证方案. 武汉理工大学学报, 5: 42-47. |
王胜顺, 金海. 2002. Web Services身份认证与授权系统的研究与实践. 南昌大学学报:理科版, 3: 12-16. |
Schneider B. 2000. Applied cryptography :protocols, algorithms, and source code in C. Second Edition. China Machine Press, 188-210.
|
Wooldrige M, Jenning N R. 1995. Intelligent agents:theory and practice. The Knowledge Engineering Review, 10(2): 115-152. DOI:10.1017/S0269888900008122 |