标题 | 基于分布式通信协议的安全通信技术研究 |
范文 |
【摘要】 ? ?目前通信技术中的安全问题越来越重要,安全群组通信从而成为一个重要的研究方向。为确保组内通信数据的机密性,需要在组内成员间共享一个通信密钥。公共对象请求代理结构(CORBA)不仅能够实现分布式环境的异构通信,而且可以保证通信的安全性,在面向组播通信以及对等群组通信时,具有重要的作用。基于此实现的组密钥管理技术及动态密钥协商机制,可以有效保证组通信的安全。 【关键词】 ? ?分布式通信 ? ?CORBA ? ?組密钥 ? ?动态密钥协商 前言 网络技术的发展以及通信技术的进步,使得各种多方参与的应用迅猛发展,诸如视频点播、在线游戏、股市交易等面向开放式网络的群组通信应用越来越受欢迎。然而,这种开放式网络环境中的分布式应用的成员关系是动态变化的,群组内的成员可以随时加入或离开,这就导致开发环境下的分布式群组通信必然存在各种安全威胁。要想保证群组通信的安全,一个可靠的分布式组通信系统(SGCS)需要具备如下功能:组成员的动态变化、可靠消息传送、安全通信服务、屏蔽异步事件、同步及容错机制。 CORBA安全规范定义了一个公共的安全框架,基于此框架实现的技术既具备面向对象的特性,又有互操作和可移植的优点。另外,CORBA安全规范还支持安全服务,详细规定了分布式安全标准的概念、安全参考模型、分布式安全结构等方面。 一、 CORBA分布式通信机制 CORBA是一种面向对象的标准安全规范,可以用于解决分布式通信环境的异构通信以及通信过程中的安全问题。CORBA的核心是对象请求代理(ORB),除此之外还包括接口定义语言(IDL)、可互操作对象引用(IOR)、通用对象请求代理间通信协议(GIOP)等。 ORB为客户端应用远程调用对象方法提供可能,其模型如图1所示。ORB中包括对象实现(Object Implementation)、客户端、接口实现等。Object Implementation定义了CORBA接口能够实现的操作,使用的编程语言等;客户端指的是目标执行的主体,发起透明访问服务端的调用接口。 图1 ? ?ORB模型示意图 IDL使CORBA安全规范实现了编程语言无关性,由于只定义了相关接口,因此具体的实现和编程语言没有关系,并不依赖于特定的编程语言,这样就可以只考虑进行功能描述,并不需要思考具体如何实现。 作为一种特殊的数据结构,IOR指明支持的数据类型、传输协议和可用的ORB服务。在创建ORB时,IOR中会包含type_id、IIOP协议等信息。GIOP提供了客户端和服务的进行交互的通信协议。 CORBA安全主要包括身份验证、安全通信、授权和访问控制、安全审计以及不可否认性。其中身份认证的作用是实现对通信主体进行身份识别,和通信客体确认通信主体。通信资源的所有者根据相应的安全策略可以允许其他通信主体访问,这就是授权;访问控制指的是允许授权用户访问通信资源的同时拒绝非授权用户访问。安全通信功能是建立在传输层的,并不会“看”传输的数据内容。 另外,为了保证群组的安全通信,需要对组内的通信活动进行系统性的检查,并作出相应的评价,这就是安全审计。为了保证组内通信实体不能否认自己的行为,需要借助数字签名技术。 二、组密钥安全管理技术 组密钥的管理对实现安全组通信有着至关重要的作用,可以根据组密钥的协商方式和分发方式,将安全组通信相关的密钥管理方式分成三类:集中式密钥管理、分散式密钥管理以及分布式密钥管理。 对于集中式管理而言,有一个中央控制节点负责创建并分发组密钥,这一控制节点称作组控制器(GC),在群组成员出席变化后,组控制器还会进行密钥更新。根据集中式密钥管理方案管理密钥的层级,可以将集中式密钥管理方案分成平面模式、层次模式两种。其中层次模式借助密钥逻辑树管理组密钥,从而提高了集中式密钥管理方案的可扩展性。 对于前向安全要求不高的群组通信而言,组密钥管理协议(GKMP)的密钥分发中心集中管理组密钥的分发。在组中加入第一个成员时,密钥分发中心会生成一个组密钥包(GKP),以及一个用来加密GKP的加密密钥(GKEK)。密钥分发中心会把GKP分发给组内的所有成员,并在有新成员加入时更新密钥,与此同时使用GKEK加密新的 GKP,再次更新给所有组成员。这种组密钥的更新方式保证了组密钥更新的后向安全性,但无法实现前向安全性。 对于不需要考虑抗同谋攻击的组通信中,平面模式的集中式密钥管理方式可以发挥更大的作用。平面表管理并分发组密钥,表中包含一个通信加密密钥(TEK)以及2w个用于密钥加密密钥(KEK),其中w是组成员ID的位数。虽然平面模式的集中式密钥管理方式能够保证组通信的前向通信和后向通信,但难以保证抗同谋攻击:即两个用户同谋的话就能够破解组内的所有密钥。 为了解决抗同谋攻击,基于逻辑密钥树的层次模式的密钥管理方案应运而生。在密钥分发中心内保存了一个逻辑密钥树,逻辑密钥树内维持了两个密钥:数据加密密钥和密钥加密密钥。其中数据加密密钥用于加密群组内的通信数据,保证组通信数据的安全传输,密钥加密密钥的作用是更新组密钥。这样一来可以把群组内部通信时的加密任务和密钥更新任务隔离开,提高了安全性。 通过上述分析可以知道,集中式密钥管理方案中需要一个密钥分发中心,用于进行组内通信的密钥生成、分发、管理等。整个组通信的安全性依赖于密钥分发中心,在其失效的情况下,组通信的安全性就会受到影响。 分散式组密钥管理方案克服了集中密钥管理的单点问题,把整个通信组分成几个小的通信子组,每个子组中都会有一个子组控制器,用于管理子组内的密钥生成及分发工作。分散式密钥管理方案的一个典型例子是密钥分发服务器模式,包括可扩展组通信密钥分发(EGCKD)以及域内组密钥管理方案(IGCP);其中前者使用组播路由协议建立一个密钥树,用于在组内分发密钥,大大提高了群组的可扩展性。 三、分布式动态密钥协商 对于规模不大的通信组,比如成员在1000个之内,组内各成员间的地位是平等的,和前文介绍的分布式密钥管理方案一样,并不存在控制节点,所有这些对等成员分布于开放式网络环境中。对等群组通信时,组成员间的通信密钥是由各成员间采用协商机制产生的,在成员加入或退出时还需要进行密钥的更新。 在构建密钥逻辑树结构时,可以引入带有认证功能的BD协议。首先,需要把所有用户节点分成多个组,每个组可以对应密钥逻辑树的一个节点,子组内部借助带认证功能的BD协议协商组密钥。组密钥的协商是从逻辑树的叶子节点开始的,在选择出本层次内的子组节点后,会代表参加上一层子组的密钥协商,直到協商到密钥逻辑树的根节点为止。这种密钥逻辑树的结构如图2所示: 图2中,每个圆圈表示一个组成员。假设三个节点可以分成一个子组,则从密钥逻辑树的最底层开始,协商过程如下: (1)选择子组内部的代表节点。以子组(2,2)为例,选择U5节点为其代表节点;其他子组以此类推,依次选择各子组内的代表节点。如果选择过程中有不诚实的节点存在,则将其从子组内剔除。 (2)第二层子组继续进行密钥协商,协商出本子组内的密钥,并选择代表节点,此处图中代表节点为U7;其他子组同样协商出子组密钥,并选择子组代表。 (3)继续协商整个组的通信密钥,然后用其加密组内的通信数据。 (4)通知组成员协商的组密钥。根据子组协商的反向顺序,各子组的代表节点从上往下依次通知各子组内的成员。 在有新成员要加入群组时,新成员可以加入成员个数没有饱和的子组,或者是没有达到逻辑树深度的子组,以维持密钥逻辑树的平衡。新成员加入时并不是所有的子组都需要协商密钥,而只是有新成员加入的子组进行密钥协商,这样可以保证没有新成员加入的子组保持原来协商的子组密钥,维持了原子组的安全性。同理,在有子组成员退出时,也是仅仅有成员退出的子组才进行密钥协商和更新,既保证了组通信的安全性,又降低了密钥协商和更新的复杂度。 四、总结 本文对基于分布式通信协议的安全通信技术进行研究。首先,介绍了CORBA安全规范;然后在此基础上阐述了组密钥管理技术,重点包括集中式密钥管理和分布式密钥管理机制;最后,说明了基于组密钥管理技术的分布式动态密钥协商机制。 参 ?考 ?文 ?献 [1]王镇威,张皓,朱命冬.基于分布式系统的加密实时通信架构设计[J].无线互联科技,2020,17(14):5-8. [2]张鸿,张金波,周云.大规模分布式系统的物理层安全技术研究[J].无线电工程,2019,49(01):1-5. 林雪(1979.11-),男, 江苏南京,汉族,工程师,硕士,研究方向:电子信息工程专业。 |
随便看 |
|
科学优质学术资源、百科知识分享平台,免费提供知识科普、生活经验分享、中外学术论文、各类范文、学术文献、教学资料、学术期刊、会议、报纸、杂志、工具书等各类资源检索、在线阅读和软件app下载服务。