首页 > 范文大全 > 正文

一种面向信息系统集成的双向安全认证方法研究

开篇:润墨网以专业的文秘视角,为您筛选了一篇一种面向信息系统集成的双向安全认证方法研究范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

摘要: 随着计算机网络技术的发展和信息化的普及,系统集成的重要程度日益提升,而信息安全则是集成过程中必须考虑的重点因素之一。本文提出了一种面向信息系统集成双向安全认证方法,并对其关键步骤与核心算法做了详细阐述,该方法在一定程度上为系统集成过程中的身份认证环节提供了安全保障。

关键词:系统集成;信息安全;加密认证

【分类号】:TP317

Research on the Method of Two-way Security Authentication for Information System Integration

Zhang Chen

Jinhua Public Security Bureau 321000

Abstract: With the development of computer network technology and the popularity of informatization, the importance of the system integration is rising, and information security is one of the key factors that must be considered in the process of integration. This paper proposes a method of two-way security authentication for information system integration, and specifies its key steps and core algorithms. This method, to a certain extent, provides security insurance for the part of authentication within the process of integration.

Keywords: system integration, information security, encryption and authentication

引言

随着计算机与网络技术的迅猛发展,多年来企业信息化、电子商务、电子政务等均得到了较好的开展和普及,人们对信息系统建设的认识已经不再满足于单一系统的完整性,而是逐渐从全局性角度来考虑多种分布异构系统之间的交互与集成[5]。为此,信息系统设计中的非功能性需求,尤其是对外接口方面的设计越来越充分,以便于能够更好的从其它系统中获取自身所需的数据,同时也能够将自身数据开放给其它系统使用。可以看到,在多信息系统集成方案中,传统的以某套信息系统为主的星型架构模式正在逐渐转变为以网络为基础的架构模式,各个系统之间不分主次,而是按照各自的需求从网络中获取数据,因而近年来信息系统的集成成为了一项重要课题,得到社会各界的认同和重视[6,7]。在信息系统集成的设计方案中,信息安全是一个不可避免的问题,特别是当信息系统处于互联网中时,日益严重的网络安全威胁让维护信息安全的重要性更加凸显[2]。网络安全的目的,一方面是防止通过计算机网络传输的信息被非法使用;另一方面是,由于信息安全涉及的领域相当广泛,如何来保证包括信息的来源、去向、内容的真实性及信息的完整性。网络信息安全是一门涉及计算机技术、通信技术、密码技术、信息安全技术、数学信息论等多种学科的综合性学科[1],已经成为人们研究和关心的热点问题。

系统集成已成为一种趋势,而信息安全又是系统集成中不可避免的问题,为此大量的研究工作已经如火如荼的开展[8],本文在总结和研究前人成果的基础上,提出了一种面向信息系统集成的双向安全认证方法,该方法重点关注于信息系统之间的数据传输加密与身份认证环节,能够在不同信息系统进行建立对接之初,起到有效的双方合法身份验证保障作用。

1 系统集成的常用方法与加密技术

各个信息系统之间一定存在异构性,这种异构主要表现在两个方面:第一,数据结构的差异,单个系统在设计开发时不同的设计人员对同一事物的描述会存在差别,采用的数据存储方式也不一样;第二,系统设计工具的差异,不同系统的设计人员肯定会采取自身所擅长的程序设计语言来开发系统,如C++、Java、.Net、VB、Delphi等等。正因为上述差异性的存在,因此在系统集成时往往采取不依赖数据结构和不依赖设计语言的方式提供对外接口,目前较为主流的对外接口方式有以下几种:

第一,Socket套接字。Socket是网络通讯中的基础,主要有TCP和UDP两种连接模式,它直接以二进制字节流的形式在连接的双方之间传递数据,由于二进制是计算机技术的基础,因此Socket通讯方式几乎所有的程序设计语言都支持。

第二,CORBA技术。CORBA(Common Object Request Broker Architecture)是由OMG(对象管理组织)开发的部件软件的体系结构和部件接口标准,它是一种标准化接口开发标准。CORBA允许客户端调用在网络中任何地方的对象,提供了对象的透明性和网络的透明性。应用程序可以由不同语言编写的组件组合建立,而且这些组件可以存在于不同平台之中,所以CORBA具有厂商无关性、平台无关性、语言无关性。

第三,Web Services技术。Web Services的体系结构是面向服务的体系结构。它的核心技术基于XML,并通过SOAP、WSDL、UDDI等一系列标准和协议,来保证程序之间的动态连接。该体系结构的主要优点之一就是,允许在不同平台上、以不同语言编写的各种程序以基于标准的方式相互通信[4]。

上述几种对外接口方式均有其各自的优缺点,在此不展开叙述,而无论采取哪种方式,考虑网络信息安全因素,都必须采用适当的加密算法对通讯数据进行加密处理[3],目前较为主流的加密算法有以下几种:

第一,DES/3DES算法。数据加密标准(Data Encryption Standard,简称DES)是由IBM公司研制的一种加密算法,于1977年公布作为非机要部门使用的数据加密标准。DES加密算法主要采用替换和移位的方法加密,它用56位密钥对64位二进制数据进行加密,每次加密可对64位的数据进行16轮编码。DES是一个对称算法,加密和解密用的是同一个算法。而3DES则是采用DES进行三重数据加密,进一步保证安全。

第二,AES算法。AES加密算法即密码学中的高级加密标准(Advanced Encryption Standard,AES),又称Rijndael加密法,是美国联邦政府采用的一种区块加密标准。这个标准用来替代原先的DES,已经被多方分析且广为全世界所使用。经过多年的甄选流程,高级加密标准由美国国家标准与技术研究院(NIST)于2001年11月26日,并在2002年5月26日成为有效的标准。

第三,MD5算法。MD5加密算法作为一种单向加密算法,是在MD4的基础上拓展的单向哈希算法。MD5加密以512位分组来处理输入信息,每一分组又划分为16个32位子分组。经过一系列处理算法的输出由四个32位分组组成,将它们级联形成一个128位散列值。MD5加密技术广泛应用于数字签名领域,典型应用是对一段信息产生数据摘要,以防止数据被修改。

上述几种算法的优缺点以及其它加密算法在此不展开叙述,本文提出的面向信息系统集成的双向安全认证方法(简称TWSA),在双向安全认证环节采用了上述几种加密算法的混合使用,进一步加强认证环节的安全性。

2 双向认证方法(TWSA)的设计流程

TWSA在系统集成时采取了双向认证模式,假定信息系统A(简称ISA)和信息系统B(简称ISB)两者需要建立连接并共享数据,那么其中的一个必要前提是ISA与ISB两者之间存在相互的信任,即当ISB收到一个连接请求,如果确实能够判断出该请求来自于ISA,那么ISB允许将数据发送给ISA,反之亦然。TWSA方法的主要工作正是在双方建立连接之初,确保连接的双方能够判断出对方的合法身份而不是其它恶意连接,从而保障连接通道的安全搭建。TWSA的主要工作流程如图1所示:

图1 TWSA工作流程图

如图1所示,假定ISA主动发起与ISB的连接,此时,ISA扮演客户端角色,ISB扮演服务器角色,此时TWSA的工作步骤为:

步骤一:ISA主动发起建立连接的请求。前面说过,两个信息系统要建立连接,它们两者之间本身是互信的,因此,ISA知道ISB的网络地址,反之亦然。

步骤二:当ISB收到一个连接请求时候,此时无法判断出该请求是否来自于ISA,可能是也可能不是,因此ISB对该请求返回一个响应,此响应中按照双方接口约定的规范携带了两项内容:第一,ISB的接口版本号,如果对方确实是ISA,那么就应该知道以何种方式来进行通讯;第二,ISB会产生8字节的随机数Random1,该随机数将会作为ISA认证数据产生的基础,而ISB内部也会根据双方约定的算法,同样以Random1产生一个本地认证数据LocalAuthData1。

步骤三:当ISA接收到来自于ISB的连接请求回复后,得到了ISB版本号和随机数Random1,ISA根据版本号调出约定的算法,以Random1为基础产生一个认证数据AuthData1,此时ISA发起了认证请求,并携带以下四项内容:第一,ISA身份码,该编码双方都知道,仅仅作为一个标识;第二,ISA的接口版本号;第三,8字节随机数Random2;第四,ISA认证数据AuthData1。

步骤四:当ISB接收到来自于本次连接(此时仍然断定确实是ISA)的认证请求后,得到了步骤三中的四项内容,此时,ISB把接收到的认证数据AuthData1与通过步骤二产生的本地认证数据LocalAuthData1进行比较(这两个认证数据都是基于同一个算法和同一个随机数Random1产生的),如果两者一致,那么就可以认为ISA的身份合法,否则,ISB断开连接。此处,完成了TWSA的第一次认证,即ISB明确了ISA的身份。然后,ISB根据ISA的接口版本号调出约定的算法,并根据来自于ISA的随机数Random2计算得到一个认证数据AuthData2,给ISA发送认证请求回复,携带内容:第一,认证成功码;第二,ISB认证数据AuthData2;第三,ISB身份码。

步骤五:ISA接收到认证回复,表明了对方已经认可了ISA的身份,但是此时ISA还无法完全认可对方的身份,因此,ISA根据Random2计算得到本地认证数据LocalAuthData2,以此与来自于ISB的认证数据AuthData2进行对比,如果一致,则认为ISB的身份合法,否则,断开连接。此致,TWSA的双向认证完成,双方都确认了对方的身份,接下来,就可以进行相互通讯了。

通过图1及以上说明可知,TWSA方法的关键之处在于两次认证过程中产生的认证数据(AuthData1和AuthData2)都是根据双方临时产生的随机数(Random1和Random2)产生的,再结合几种主流加密算法的加密,则可以更好的确保双方身份的合法性。至于认证数据和加密算法后续在后续章节中会详细说明。

3 TWSA方法中认证数据的产生算法

TWSA的关键之处在于两次认证数据的产生,而如何保证这两个认证数据在传输过程中的完整性和一致性是首要解决的问题。针对TWSA认证过程中的不同步骤,本文设计了一套加密算法,具体如下:

首先,如前所述,ISA与ISB之间已经具备了互信的前提才能够进行系统集成,因此,ISA和ISB互相知道对方的身份码,并且有一个基础密钥(BasicKey)是为ISA和ISB共享的,当然为进一步保证信息安全,该密钥可以由第三方机构管理,而ISA和ISB在建立连接之处再去获取,在此为方便处理,假定该基础密钥已经存在。同时,ISA和ISB也互相知道对方的网络地址,即通讯可以由任意一方发起,而发起连接请求的一方扮演Client角色,另一方扮演Server角色,本文中ISA为Client,ISB为Server。然后,运用BasicKey对明文数据(Random1 xor Random2)进行3DES_CBC加密,将会得到一个临时会话密钥(SessionKey),由于明文数据为临时生产的随机数,因此SessionKey在每次连接建立时都不一样,又因为BasicKey和3DES_CBC双方都是统一的,因此ISA和ISB运算得到的SessionKey是一样的。该计算的核心代码如图2所示:

图2 临时会话密钥生成代码

最后,ISA和ISB分别采用SessionKey产生各自的认证数据。第一次认证阶段,首先在ISA端运用AES_CBC算法对明文(Random1+ISA身份码)进行加密,然后做MD5哈希计算,从而得到AuthData1,而在ISB端以同样方法计算得到LocalAuthData1,如果ISA身份合法,则AuthData1与LocalAuthData1一致,从而第一次认证成功。第二此认证阶段,首先在ISB端运用AES_CBC算法对明文(Random2+ISB身份码)进行加密,然后做MD5哈希计算,从而得到AuthData2,而在ISA端以同样方法计算得到LocalAuthData2,如果ISB身份合法,则AuthData2与LocalAuthData2一致,从而第二次认证成功。以ISA端为例,该计算的核心代码如图3所示:

图3 认证数据生成代码

经过以上算法的加密,结合TWSA的二次双向认证步骤,能够有效的保障双方系统的身份识别以及认证传输过程中数据的完整性和一致性,从而真正的做到两个信息系统之间安全连接通道的搭建。

4 结束语

系统集成是当前信息系统发展的方向之一,而集成过程中涉及到的网络信息安全又是必然会考虑的重点问题之一。网络信息安全是一门综合性学科,需要充分考虑多方面的因素,本文重点关注信息系统在连接建立之初、数据通讯之前的系统身份认证环节,所提出的面向信息系统集成的双向安全认证方法TWSA,以及该方法中采取的加密算法,对信息系统集成设计领域具有一定的参考价值和研究意义。

参考文献

[1] 刘勇, 徐立波. 浅谈网络信息安全. 电脑知识与技术. 2010.9.

[2] 孙兵. 网络通讯的多层安全结构探讨. 中国电子商务. 2013(3).

[3] 李丽新, 袁烨. 网络安全通讯中的数字签名. 现代情报. 2007,27(8).

[4] 赵苏骅. Web Service技术在系统集成中的应用. 成都理工大学学报. 2008.6.

[5] 张弛, 胡建旺. CORBA技术在分布式应用系统集成中的应用. 电脑开发与应用. 第14卷第5期.

[6] 陈金锋. 影响网络信息安全的组织因素分析. 软件导刊. 2011.7.

[7] 孙雷. 电子政务信息安全和管理. 应用能源技术. 2009.10.

[8] 黎杰, 曹雪梅, 穆利, 朱波. 信息化系统集成多项目管理与实践. 运筹与管理. 2009.12.