摘 要:针对网络化制造集成平台身份认证所面临的问题,提出了一种网络化制造集成平台的集中式身份认证策略。在该策略中,身份认证中心服务器接管各应用系统的认证模块,主要有用户管理、帐号映射管理、身份认证服务和系统管理等功能;采用了基于浏览器/服务器的4层Web服务体系结构,构建了其技术实现体系,并对其中的单点登录和注销的实现、信息传输的安全性,以及身份认证服务的性能等问题进行了分析。最后,结合该身份认证策略在网络化制造集成平台中的应用,对其运行效率进行了分析。
关键词:网络化制造;集成平台;集中式身份认证
引言
随着信息技术、通信技术和全球化经济的发展,网络化制造已成为现代制造业的重要发展趋势之一[1,2]。网络化制造集成平台是网络化制造应用系统构建与集成运行的重要支持工具和支持环境。因此,如何保证系统的安全性,是当前网络化制造集成平台研究、开发和应用的关键问题之一。
身份认证是保证网络化制造集成平台安全的第一道防线,也是保证应用系统安全的关键技术之一。网络化制造集成平台中存在着多种异构的网络化制造应用系统,这些应用系统一般都有其各自不同的身份认证方式,用户在集成平台中的各个应用系统间切换时需要进行多次登录和注销,不但给用户带来极大的不便,而且存在严重的安全隐患。目前,对单点登录技术已有一些研究,如安全声明标记语言(Secure Announce Markup Language, SAML),实现了跨企业边界的单点登录,提高了跨企业边界的安全信息互操作性[3,4]。然而,对于网络化制造集成平台上的某些应用系统,既要在集成平台上集成运行,又要能够独立运行,因此,必须保留其独立的用户管理模块。现有的单点登录技术已无法满足网络化制造集成平台的需求。
针对上述问题,本文提出了一种针对网络化制造集成平台的集中式身份认证策略,并详细论述了该策略的基本原理,研究了该技术的实现问题,有效地解决了集成平台的身份认证问题。
1 网络化制造集成平台集中式身份认证策略的基本原理
1.1 网络化制造集成平台集中式身份认证策略的提出
网络化制造集成平台是一种分布式基础结构,它集成了大量异构的网络化制造应用系统,分布式和异构是网络化制造集成平台区别于其他系统的两大重要特征,为此,须对网络化制造集成平台的身份认证提出以下5个要求:
(1) 支持用户的集中登录和注销操作,避免由于多次登录和注销给用户带来的不便。
(2) 支持分布式环境中各种异构的网络化制造应用系统,以便有效地应用于网络化制造集成平台。
计算机集成制造系统第11卷第6期刘雪晖 等: 网络化制造集成平台集中式身份认证策略研究
(3) 支持应用系统的多种身份认证方式,对已有的应用系统,可以保留现有的身份认证模块以及权限管理模块;对于新开发的应用系统,既能作为其身份认证模块,又能作为用户管理模块使用。由此避免对现有的应用系统进行大规模的修改,减少了新应用系统开发的费用和周期。
(4) 具有良好的扩展性和集成性,当网络化制造集成平台的功能发生变化,或者集成的应用系统进行修改后,不会对原有的身份认证产生影响,且该身份认证策略能够支持在原有的平台上集成新的应用系统。
(5) 保证信息传输的安全性,身份认证过程涉及到用户的很多敏感信息,在对用户身份进行认证的同时,还要保证用户保密信息在传输过程中的安全性。
针对上述网络制造集成平台对身份认证的要求,提出了一种集中式身份认证策略,即“一次登录,全网通行,单点注销,全网退出”的身份认证策略,该策略能够有效地解决网络化制造集成平台所面临的身份认证问题。
1.2 网络化制造集成平台集中式身份认证策略的工作原理
网络化制造集成平台集中式身份认证策略的工作原理是,在统一描述、发现和集成协议(Universal Description, Discovery and Integration, UDDI)专业注册中心和数据库的支持下,由网络化制造集成平台中的身份认证中心服务器接管各应用系统的认证模块,各应用系统只需通过认证中心服务器即可对已在集中式身份认证门户中登录的用户进行身份认证,由身份认证中心服务器及相关的加密解密协议,来保证认证过程中所涉及的用户名、密码等敏感信息交换的安全性和完整性。该身份认证策略的核心是认证过程中的用户身份凭证,包括客户端身份凭证和服务器端身份凭证两部分。具体的工作原理如图1所示。
用户和网络化制造应用系统分别是身份认证的对象和使用者;集中式身份认证门户提供统一的身份认证界面;身份认证中心服务器接受认证请求,负责服务器端身份凭证的存储;各应用系统的技术信息发布在UDDI专业注册中心,这些信息发生变化时,只对UDDI注册中心的相关信息进行修改,提高了集中式身份认证的集成性和扩展性;数据库用来保存用户帐户等信息。
具体的认证过程如下:
步骤1 用户在集中式身份认证门户中进行登录,身份认证中心服务器查询数据库,验证用户身份的有效性,认证通过后将生成客户端身份凭证和服务器端身份凭证,并分别在客户端和服务器端保存。
步骤2 用户进入其他网络化制造应用系统,这些应用系统在取得客户端身份凭证后,与身份认证中心服务器进行交互,验证身份凭证的有效性。
步骤3 中心服务器接收到有效性验证请求后,查询服务器端身份凭证,确认有效后,查询UDDI专业注册中心和数据库,取得应用系统的信息和用户的映射帐号,将应用系统信息加入服务器端身份凭证,应用系统的映射帐号和验证结果返回应用系统。
步骤4 应用系统取得响应后,根据映射帐号自动进行二次登录,将该系统的身份标志返回客户端,身份认证过程结束。
1.3 网络化制造集成平台集中式身份认证策略的功能结构
根据网络化制造集成平台对身份认证的要求,集中式身份认证策略具有用户管理、帐号映射管理、身份认证服务和系统管理4种功能,如图2所示。
nextpage
(1) 用户管理 主要管理集中式身份认证中的用户帐号,包括用户注册和注册信息修改。
(2) 帐号映射管理 如果用户已经在集成平台中的某个网络化制造应用系统中拥有帐号,则将该应用系统的帐号与集中式身份认证中的用户帐号进行关联映射。用户登录后,通过帐号映射功能,集中式身份认证就能够自动登录该应用系统。主要功能包括映射帐号登记、删除和映射帐号信息修改。
(3) 身份认证服务 为网络化制造应用系统提供用户身份认证,主要包括用户登录与注销、身份凭证认证与失效,以及凭证信息转发等功能。
(4) 系统管理 提供系统管理和维护的功能,主要包括用户使用日志记录和日志查询分析等。
2 网络化制造集成平台集中式身份认证策略的技术实现
2.1 网络化制造集成平台集中式身份认证策略技术实现的体系结构
网络化制造集成平台集中式身份认证策略的技术实现采用了基于浏览器/服务器(B/S)的4层Web服务体系结构,支持异构计算环境下的分布式B/S模式,能够为集成平台中的各种网络化制造应用系统提供分布式、跨平台、透明的身份认证服务。图3是该策略技术实现的体系结构。
该体系结构主要包括以下5个部分:用户层、Web层、认证服务层、数据管理层和网络化制造集成平台UDDI专业注册中心。用户层包括各种网络化制造应用系统和使用这些应用系统的用户;Web层提供集中式身份认证的门户,用户通过超文本传输协议(Hyper Text Transfer Protocol, HTTP)与其连接,进行登录操作;认证服务层主要由身份认证中心服务器组成,各网络化制造应用系统可通过简单对象访问协议(Simple Object Access Protocol, SOAP)消息与其交互,验证用户身份凭证的有效性;数据管理层包括各种数据库,为集中式身份认证提供数据支持;UDDI专业注册中心是连接集中式身份认证和各网络化制造应用系统的桥梁。
2.2 实现网络化制造集成平台集中式身份认证策略的关键问题
网络化制造集成平台集中式身份认证策略的实现涉及多方面的技术,主要有以下几 点。
(1) 单点登录和注销技术 集中式身份认证策略避免了用户在每个应用系统中进行登录和注销,既给用户带来了方便,也提高了网络化制造集成平台的安全性。当用户在集中式身份认证门户中登录后,身份认证中心服务器将在服务器端建立一个服务器端身份凭证,并将客户端身份凭证以cookie的方式保存在客户端。为防止客户端身份凭证被窃取和篡改,在客户端身份凭证中不保存用户敏感信息,而将这些信息保存在服务器端身份凭证中。cookie中存有相应的服务器端身份凭证标志,还可采用安全cookie技术进一步加强其安全性,即可对cookie中的信息进行数字签名并通过HTTP来传送cookie[5]。当用户访问其他网络化制造应用系统时,这些系统将取得用户的客户端身份凭证,通过集中式身份认证服务来检验该凭证的有效性,用户不再需要输入用户名和密码,具体过程如图4所示。
图4中,①表示用户进入一个网络化制造应用系统,该应用系统需要认证用户;②表示浏览器重定向至中心身份认证服务器,重定向请求中附带有该应用系统的信息;③表示中心身份认证服务器对用户的客户端凭证进行有效性检验,若有效,则将应用系统的信息写入该用户的服务器端凭证,然后,将用户的客户端凭证和用户的个人信息加入到HTTP请求中,并将HTTP请求重定向到网络化制造应用系统;④表示客户端浏览器接受重定向请求;⑤表示网络化制造应用系统向认证中心服务器查询凭证的有效性;⑥表示认证中心服务器返回验证结果;⑦表示网络化制造应用系统将其认证cookie写入客户端,单点登录过程执行完成。
当用户在任何一个应用系统注销时,该应用系统都将调用集中式身份认证服务中的注销服务,注销服务将根据服务器端已访问系统列表中保存的各应用系统的注销页面地址信息,将这些页面逐个装入以清除各个应用系统的认证cookie。
(2) 信息传输的安全保证技术 网络化制造集成平台集中式身份认证的过程中,存在大量的异构系统间的敏感信息交换,如用户名、密码等,其安全关系到集中式身份认证的正常运行。这些信息在网络上以基于可扩展标记语言(eXtended Markup Language, XML)的SOAP消息的形式传输,因此,采用了XML加密和XML数字签名[6]等手段来保证信息交换的安全性和完整性,防止这些信息在传输过程中被篡改和窃取。其处理流程如图5所示。
nextpage
首先,利用Hash算法对XML文件进行处理,产生摘要S1,对S1用认证中心服务器的私钥SK1进行加密,实现数字签名,同时对敏感信息采用对称密钥K进行加密,然后采用应用系统公钥PK2对对称密钥K进行加密,形成签名和加密后的安全XML文件。
应用系统接收到安全的XML文件后,首先用其私钥SK2将其解密,得到公共密钥K和数字签名,再利用对称密钥K解密还原得到XML原文,利用认证中心服务器公钥PK1还原摘要S1,然后利用Hash算法对XML原文处理形成摘要S2,最后,通过对比摘要S1和S2,确定XML原文是否有效,若有效,则将XML转换为原始数据。
(3) 身份认证服务的性能保证技术 身份认证中心服务器是身份认证的必要环节,当登录用户的数量增大时,服务器的性能问题就成了身份认证服务的性能瓶颈。为了消除认证的性能瓶颈,提高系统的认证响应速度,一方面,采用高性能的服务器作为身份认证中心服务器并连接到高速网络上;另一方面,对访问频率最高的服务器端身份凭证进行优化,设计良好的数据结构,以提高身份凭证的查找和更新效率[8]。
在网络化制造集成平台集中式身份认证策略的技术实现中,采用了平衡二叉排序树作为服务器端身份凭证的存储数据结构,其形式如图6所示。
图6中的每一个节点均表示一个服务器端身份凭证,每个身份凭证中包含有用户惟一标志、用户名、客户端IP地址、最近使用时间以及已访问系统列表等信息,用户惟一标志则作为该身份凭证节点的键值,如图6中的86号节点表示用户标志为86的服务器端身份凭证。由于平衡二叉排序树的逻辑结构能够反映其中数据元素在键值上的次序关系,查找和更新运算方便且效率高[5],采用平衡二叉排序树作为服务器端身份凭证的存储数据结构,能够有效地提高身份凭证的检索效率,消除认证性能瓶颈,提高系统的认证响应速度。
3 应用案例
目前,网络化制造集成平台集中式身份认证策略已成功应用于国家863课题“网状中心城市型区域网络化专业平台开发与典型应用(2002AA414080)”中。在网状中心城市型区域网络化专业平台中,通过网络化制造集成平台,各种网络化制造应用系统能够进行集成,并为区域内的制造企业提供网络化制造的服务,且在集中式身份认证策略的支持下,实现了各种异构的网络化制造应用系统中用户的集中式身份认证。
网状中心城市型区域网络化制造专业平台集成了多个应用系统,涉及了产品开发、生产制造、物资采购、产品销售和售后服务等企业经营管理的各个环节。应用系统包括网络化企业动态联盟组建与优化支持系统、网络化协同产品开发支持系统、网络化敏捷供应链管理支持系统、网络化产品销售与定制支持系统、网络化设备与资源共享支持系统、网络化产品数据管理支持系统和企业关系服务系统等等,如图7所示。这些应用系统分别由多个软件开发商完成,并以应用服务提供商(Application Service Provider, ASP)服务模式集成在网络化制造集成平台之中。每个应用系统都有其独立的身份验证和用户管理模块。用户在使用该网络化制造专业平台时,通常需要频繁地在多个应用系统间进行切换。在本平台的开发和集成运行过程中,课题组应用了本文研究的集中式身份认证技术及成功开发的相应支持系统,在网络化制造集成平台中,既实现了“一次登录,全网通行,单点注销,全网退出”的身份认证策略,又保持了集成平台中各应用系统原有用户管理模块的独立性。
在集中式身份认证策略的应用中,集中式身份认证服务基于AXIS开发,采用Weblogic作为应用服务器,后台数据库使用Oracle。用户通过认证门户进行登录和应用系统请求认证是集中式认证服务所要完成的两种主要操作,通过测量这两种操作的平均响应时间、网络延迟时间和服务器响应时间来评估系统的运行效率,并模拟了多个用户在线时对系统性能的影响,具体数据如下表所示。
多用户在线对系统性能的影响表
时间/ms</DIV>
时间/ms</DIV>
时间/ms</DIV>
(100用户在线)</DIV>
(10 000用户在线)</DIV>
其中,平均响应时间指完成一个操作(如用户进行登录)的总时间;网络延迟时间指数据传输到服务器的总时间,包括网络上传输的时间和重定向时间等;服务器响应时间指服务器对服务请求进行处理所耗费的时间。由表1可以看出,用户由认证门户登录的过程中,平均响应时间为4 726 ms,其中大部分为网络传输时间,服务器响应时间仅为415 ms,在其他应用系统请求验证时,随着在线用户数量的增加,服务器响应时间有所增加,但由于服务器端身份凭证采用了平衡二叉排序树作为存储数据结构,增加幅度不大,从表1中的数据可以看到,10 000用户在线时服务器响应时间仅比100用户在线时多49 ms。
4 结束语
本文提出了一种网络化制造集成平台的集中式身份认证策略,该策略结合了网络化制造集成平台的分布式和异构的特点,能够有效地解决集成平台中现有身份认证方式所带来的不便和安全性问题,已应用于国家863计划重点项目“网状中心城市型区域网络化制造专业平台开发与典型应用(2002AA414080)”的研究和开发之中,取得了较好的应用效果。