分布式软件系统的通信安全控制方法

文档序号:6451394阅读:192来源:国知局
专利名称:分布式软件系统的通信安全控制方法
技术领域
本发明涉及一种分布式软件系统的通信安全控制方法,属于计算机网络安全技术领域。
背景技术
分布式软件系统不同组件可能处于不同的设备中,这些设备可能分布在相距较远的不同地域,各个组件之间需要通信进行协同工作。随着网络的不断普及,网络中的不安全因素日益增加。组件间的通信面临被截断、窃听、冒认等诸多威胁;例如用户名和口令被窃取,假冒合法用户进入系统;截断通信报文,篡改其内容等等。这些威胁不但影响分布式软件系统的安全性,而且可能阻碍系统功能的正确实现。
目前有些系统针对组件间通信的安全性问题采用的解决方法是通信数据采用专网传输,并加入对称密钥进行加密或完整性检验。这种方法通过采用专网将系统与外界隔离,从线路上保证非法用户无法通过公网侵入系统;使用对称密钥进行加密或完整性检验,可在一定程度上防止通信报文被截取篡改。但当系统需要与公网联接时,就需要增加若干软硬件以保证通信安全,加大了系统的运行成本;而且不可能每个系统都使用专网,使用公网的系统就无法通过这一方法解决非法用户侵入系统的问题;另外,使用对称密钥进行加密或完整性检验,仅保证了通信内容的安全和完整,而没有保证通信双方的身份认证。
也有些系统采用非对称密钥验证的方法验证通信双方的身份;但在这些系统中,使用非对称密钥验证方法所需的安全证书产生组件(即注册机关,Registration Authority,简称RA)和安全信息注册组件(即证书机关,Certification Authority,简称CA)都是由另外的系统提供,验证机制与系统本身没有很好集成,系统的安全受外部CA系统的密钥安全限制,而且必须定期更换证书,以保证证书的有效性,给用户带来麻烦;此外,这些系统并没有对通信双方设备的网络地址进行验证。
还有些系统采用组件间加虚拟专用网络(Virtual Private Network,简称VPN)通道的方法,但专门架设VPN通道代价较高,用户使用复杂,且VPN的性能对部分高带宽连接将造成限制,不支持NetBIOS广播,无法保证网络设备对服务质量(Quality of Service,简称QoS)的统计。
美国专利《远程计算机安全登录系统和方法》(专利号6,539,479)公开了一种计算机通信安全控制系统及方法,采用口令和口令验证值的方法进行用户合法性验证,双方协商会话密钥的过程采用单向函数;但该方法口令密码的安全性不如非对称密钥;单向函数易被截获、暴力破解,其产生的密钥也不如非对称密钥安全,且没有对服务器端进行身份验证以及地址验证。
美国专利《安全信息获取》(专利号6,513,116)公开了一种计算机通信安全控制方法,该方法采用的密钥认证是采用非对称密钥的验证方法,但该认证方法采用的非对称密钥是由外部系统TSIP提供的,因而系统安全的前提是外部TSIP必须可信赖。如果TSIP的密钥被盗取,本系统的密钥安全就无从谈起了,且该方案只涉及非对称密钥分发,未涉及系统内组件的认证和加密。
综上所述,现有解决网络安全通信的方法都仅解决了某一方面的安全问题,应用解决方案的代价较高,有些方法对用户的要求也较高,不能全面、方便、可靠、低成本地解决网络安全通信问题,且通用性不高。

发明内容
本发明的主要目的是提供一种分布式软件系统的通信安全控制方法,全面、可靠地解决分布式软件系统内部面临的种种安全问题,包括传输数据的保密性、完整性和通讯双方的身份认证,应用成本较低;既可用于专网,也可用于公网,具有很强的通用性。
本发明的另一目的是提供一种分布式软件系统的通信安全控制方法,应用该方法的系统通过扩展,可以与应用相同或相似的通信安全控制方法的外界系统进行交互,不仅可实现系统内部组件之间的安全通信控制,还可实现本系统与外部系统的安全通信控制,且无需增加其他软、硬件系统,成本较低。
本发明的目的是通过以下技术方案实现的一种分布式软件系统的通信安全控制方法,至少包括系统内相互通信的组件之间进行密钥验证,且相互通信的组件根据地址信息列表进行网络地址验证,并根据该验证结果接受或拒绝与对方通信,在保证通信双方的用户身份进行验证和/或保证传输数据的保密性和完整性的同时,保证通讯双方设备之间的相互认证。
在上述通信安全控制方法中,系统中需要和其他组件进行通信的组件均维护至少一个地址信息列表,组件地址信息列表中至少包括可与该组件进行通信的其他组件的地址信息。
在上述通信安全控制方法中,当系统中组件之间进行通信时,通信双方建立通信连接时的地址验证至少包括以下步骤步骤11、通信双方互相发送连接请求;步骤12、通信双方分别将对方连接请求中的地址信息解析出来;步骤13、如双方组件的任一方不能确切解析出对方的地址信息,或没有在本组件维护的地址信息列表中查询到对方的地址信息,则结束通信。
上述通信安全控制方法中所述密钥验证至少包括对称密钥验证和/或非对称密钥验证;如果采用非对称密钥验证,则每个组件都至少维护一个可与本组件通信的其他组件的安全证书列表;所述分布式软件系统内至少设有一个非对称密钥验证所需的安全信息注册组件和/或安全证书产生组件。
上述通信安全控制方法中的组件间的通信协议采用TCP协议或NWLinkIPX/SPX协议;当组件间的通信协议采用TCP协议时,进一步采用SSL协议用于双向认证和数据加密。
上述通信安全控制方法中,所述系统如果需要与外部系统进行直接通信,则至少有下述准备步骤步骤21、确定所述外部系统是否可以提供地址信息列表和安全证书列供所述系统验证,如果不能提供,则双方系统不能进行直接通信;步骤22、该系统与外部系统通信的组件导入外部系统组件的安全证书列表和地址信息列表;在步骤22之后,当双方系统进行直接通信时,所述系统与外部系统通信的组件按照所述通信安全控制方法进行地址信息验证和密钥验证;所述外部系统组件的安全证书列表至少包括外部系统需要与所述系统进行通信的组件的安全证书列表;所述外部系统组件的地址信息列表至少包括外部系统需要与所述系统进行通信的组件的地址信息列表。
通过上述技术方案可知,本发明有如下优点1、通过将地址验证,非对称密钥验证和对称密钥验证的结合,全面、可靠地解决了分布式软件系统内部面临的种种安全问题,包括传输数据的保密性、完整性和通讯双方的身份认证,且应用成本较低;既可用于专网,也可用于公网,具有很强的通用性。
2、系统采用非对称密钥验证,其证书生成组件由系统中的一个组件生成,系统内还包含安全信息注册组件,因此系统内部组件的安全通信控制不依赖任何外围系统,集成度较高,使用方便。
3、同样应用该方法的分布式软件系统通过扩展配置,可实现各自系统内组件与对方系统内组件的直接通信;这样,不仅可实现系统内部组件之间的安全通信控制,还可实现本系统与外界系统的安全通信控制,且无需增加其他软、硬件系统,成本较低。


图1为实施例一的网络拓扑图;图2为实施例一的系统部署流程图;图3为实施例一两组件通信验证流程图;图4为实施例二的网络拓扑图。
具体实施例方式
以下,结合具体实施例并参照附图,对本发明做进一步的详细说明。
实施例一如图1所示,本实施例为一个分布式数据处理系统,包括可生成组件CA的组件A,组件RA和若干用于完成不同功能的功能组件B1、B2...Bn。各组件可分布于不同的设备中,设备之间物理位置的距离可以很大,即可能不在同一局域网中。图中,带有黑色箭头的虚线表示自身唯一标识和其他安全信息(私钥、安全证书、地址信息)的流动路线和方向;白色双向箭头表示组件间的双向认证和对称密钥安全信道。
组件A接受其他组件发来的任务请求信息,分析处理后根据任务请求调用相应功能组件完成请求任务,并将处理结果返回提出请求的组件。
不同组件通信时通信内容的保密性、完整性以及双方的身份验证采用地址验证、非对称密钥验证和对称密钥验证的结合。系统内部组件的安全通信控制不依赖任何外围系统。
组件A内嵌组件CA,组件CA用于生成所有组件的安全证书。组件RA用于为各功能组件生成公私钥对,向组件CA申请功能组件的安全证书;将组件A的安全证书和地址信息发送到各个功能组件。用户或组件RA为每个组件分配一个唯一标识。唯一标识的生成方式可以有多种,例如用户可以采用用户名,主机可以采用本机IP地址,或者可以采用随机数。只要保证该标识在系统中唯一即可。
如图2所示的该系统部署时建立安全通信控制机制的配置流程图,包括如下步骤步骤201、安装组件A,由组件A的CA组件生成模块生成内嵌的组件CA;步骤202、组件CA生成自身的安全证书;步骤203、组件CA生成组件A的安全证书;步骤204、用户向组件CA输入组件RA地址信息;步骤205、组件CA生成组件RA的安全证书以及CA和RA的公私钥对;步骤206、组件CA的管理员将组件A的地址信息和组件CA生成的组件RA的安全证书和RA的公私钥对拷贝到移动存储设备上,用于安装组件RA;步骤207、使用生成的组件RA的安全信息安装组件RA;步骤208、若添加新功能组件,则用户将新功能组件的地址信息和分配的唯一标识输入组件RA,否则完成部署;步骤209、RA为新功能组件生成公私钥对,用公钥生成新功能组件的证书请求;步骤210、组件RA与组件CA建立通信连接,双方进行安全验证,包括地址验证,非对称密钥验证和对称密钥验证;验证方法和步骤与下面所述功能组件与组件A建立连接时的验证方法和步骤相同;
步骤211、组件CA生成新功能组件的安全证书,并将新功能组件的唯一标识、地址信息和安全证书分别添加到组件CA的地址信息列表和安全证书列表中;步骤212、组件RA的管理员将新功能组件的安全证书、私钥和组件CA的唯一标识、地址信息、安全证书以离线方式发送到该新功能组件(例如采用软盘拷贝,或是将所述安全信息放在USB电子钥匙中发给功能组件用户,用户直接将USB电子钥匙插入设备的USB接口即可)。新功能组件将自身的证书和私钥用硬件的方式加以存储保护,并将组件A的安全证书和地址信息分别添加到该新功能组件安全证书列表和地址信息列表中。
部署完毕后,组件A与功能组件之间可以根据自身的安全证书,自身维护的安全证书列表和地址信息列表实现安全通信控制。
设系统启动运行后,功能组件B1需要与组件A进行通信,通信双方建立通信连接时的验证的流程图如图3所示,包括如下步骤步骤301、功能组件B1检查组件A的地址信息,如组件A的地址信息不在功能组件B1的地址信息列表上,则功能组件B1不与组件A进行通信,流程结束;步骤302、功能组件B1向组件A发出连接请求,连接请求中包含功能组件B1的地址信息和非对称密钥验证信息;步骤303、组件A通过侦听端口收到功能组件B1发出的连接请求后,将连接请求中的地址信息和非对称密钥验证信息解析出来,如功能组件B1的地址信息不在组件A的地址信息列表上,则组件A拒绝功能组件B1的连接请求,流程结束;步骤304、组件A对功能组件B1的非对称密钥验证信息进行验证,若验证失败,则组件A拒绝功能组件B1的连接请求,流程结束;
步骤305、组件A向功能组件B1发出验证请求,验证请求中包含组件A的非对称密钥验证信息;步骤306、功能组件B1通过侦听端口收到组件A发出的验证请求后,将验证请求中的非对称密钥验证信息解析出来,并对组件A的非对称密钥验证信息进行验证,若验证失败,则功能组件B1拒绝组件A的连接请求,流程结束,若验证成功则记录通信对方的标识;步骤307、组件A与功能组件B1协商对称密钥验证所需密钥,协商完成后进行对称密钥加密通信;步骤308、本次通信结束,密钥失效;若需要再次通信,则返回步骤307;步骤309、系统结束运行。
系统每次重新运行后,组件间的首次通信连接均需要进行非对称密钥验证。组件CA定期提示各功能组件更换安全证书,以与系统安装时同样的方式重新生成各组件的安全证书并以离线方式分发到各组件。
组件间的通信协议可采用TCP或NWLink IPX/SPX;如采用TCP,还可进一步采用SSL,用于进一步保证双向认证和数据加密。
实施例二如图4所示,实施例二的系统构成、采用的通信安全控制方法与实施例一的系统相同,但实施例二系统的功能组件之间可以直接通信,功能组件维护的地址信息列表和安全证书列表中可以没有组件A的唯一标识、地址信息、安全证书。
图2对应的系统部署流程的步骤212中,如用户不允许新功能组件与组件A通信,则仅将新功能组件的安全证书、私钥以离线方式发送到该新功能组件,而不把组件CA的唯一标识、地址信息、安全证书发送到该新功能组件;新功能组件也仅将自身的证书和私钥用硬件的方式,例如USB盘加以存储保护;由于组件A的唯一标识、地址信息、安全证书没有添加到该新功能组件地址信息列表和安全证书列表中,因此该新功能组件也就不能与组件A直接通信。
用户在系统部署完毕后,将某个功能组件可通信的其他功能组件的唯一标识、地址信息、安全证书加到该功能组件维护的地址信息列表和安全证书列表中,该功能组件即可实现与地址信息列表和安全证书列表中的功能组件直接通信。
实施例三本发明涉及的通信安全控制方法具有良好的扩展性。实施例一或实施例二的系统可以与外部某系统进行交互,前提是该外部系统的组件可以提供地址信息、非对称密钥信息供本系统验证,外部系统可以通过实施例一或实施例二所述验证方式对本系统的组件进行验证,也可以不进行安全验证。
实施例一或实施例二的系统需要与某外部系统进行交互前,首先确定本系统中可以与外部系统进行直接通信的组件,然后将外部系统需要与本系统通信的组件的安全证书列表和地址列表导入到本系统与外部系统进行直接通信的组件的安全证书列表和地址列表中,外部系统也可以将本系统与外部系统进行直接通信组件的安全证书列表和地址列表导入到外部系统与本系统通信组件的安全证书列表和地址列表中;这样,系统就可以用与实施例一或实施例二所述系统内组件间的通信安全控制方法相同的方法与外部系统进行直接通信。
最后所应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的精神和范围,其均应涵盖在本发明的权利要求范围当中。
权利要求
1.一种分布式软件系统的通信安全控制方法,其特征是,该方法至少包括系统内相互通信的组件之间进行密钥验证,且相互通信的组件根据地址信息列表进行网络地址验证,并根据该验证结果接受或拒绝与对方通信,在保证通信双方的用户身份进行验证和/或保证传输数据的保密性和完整性的同时,保证通讯双方设备之间的相互认证。
2.根据权利要求1所述的分布式软件系统的通信安全控制方法,其特征是系统中需要和其他组件进行通信的组件均维护至少一个地址信息列表,组件地址信息列表中至少包括可与该组件进行通信的其他组件的地址信息。
3.根据权利要求1所述的分布式软件系统的通信安全控制方法,其特征是系统中组件之间进行通信时,通信双方建立通信连接时的地址验证至少包括以下步骤步骤11、通信双方互相发送连接请求;步骤12、通信双方分别将对方连接请求中的地址信息解析出来;步骤13、如双方组件的任一方不能确切解析出对方的地址信息,或没有在本组件维护的地址信息列表中查询到对方的地址信息,则结束通信。
4.根据权利要求1所述的分布式软件系统的通信安全控制方法,其特征是所述密钥验证至少包括对称密钥验证和/或非对称密钥验证;如果采用非对称密钥验证,则每个组件都至少维护一个可与本组件通信的其他组件的安全证书列表。
5.根据权利要求4所述的分布式软件系统的通信安全控制方法,其特征是所述分布式软件系统内至少设有一个非对称密钥验证所需的安全信息注册组件和/或安全证书产生组件。
6.根据权利要求1-5所述的任一种分布式软件系统的通信安全控制方法,其特征是组件间的通信协议采用TCP协议或NWLink IPX/SPX协议。
7.根据权利要求6所述的分布式软件系统的通信安全控制方法,其特征是当组件间的通信协议采用TCP协议时,进一步采用SSL协议用于双向认证和数据加密。
8.根据权利要求1-7任一种所述的分布式软件系统的通信安全控制方法,其特征是所述系统如果需要与外部系统进行直接通信,则至少有下述准备步骤步骤21、确定所述外部系统是否可以提供地址信息列表和安全证书列供所述系统验证,如果不能提供,则双方系统不能进行直接通信;步骤22、该系统与外部系统通信的组件导入外部系统组件的安全证书列表和地址信息列表;
9.根据权利要求8所述的分布式软件系统的通信安全控制方法,其特征是在所述的步骤22之后,当双方系统进行直接通信时,所述系统与外部系统通信的组件按照所述通信安全控制方法进行地址信息验证和密钥验证。
10.根据权利要求8所述的分布式软件系统的通信安全控制方法,其特征是所述外部系统组件的安全证书列表至少包括外部系统需要与所述系统进行通信的组件的安全证书列表。
11.根据权利要求8所述的分布式软件系统的通信安全控制方法,其特征是所述外部系统组件的地址信息列表至少包括外部系统需要与所述系统进行通信的组件的地址信息列表。
全文摘要
本发明公开了一种分布式软件系统的通信安全控制方法,通过将地址验证,非对称密钥验证和对称密钥验证的结合,全面、可靠地解决了分布式软件系统内部面临的种种安全问题,包括传输数据的保密性、完整性和通讯双方的身份认证,且应用成本较低;既可用于专网,也可用于公网,具有很强的通用性;非对称密钥验证所需组件均集成在系统内部,系统内部组件的安全通信控制不依赖任何外围系统,使用方便。应用该方法的分布式软件系统通过扩展配置,可实现系统内组件与外部系统的直接通信;这样,不仅可实现系统内部组件之间的安全通信控制,还可实现本系统与外部系统的安全通信控制,且无需增加其他软、硬件系统,成本较低。
文档编号G06F9/44GK1538303SQ0312190
公开日2004年10月20日 申请日期2003年4月15日 优先权日2003年4月15日
发明者黄琛, 贾炜, 顾正华, 黄 琛 申请人:联想(北京)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1