余哲赋 周海刚 吴兆峰 朱晓薇
1 解放军理工大学通信工程学院 江苏 210007 2 中国人民解放军73689部队 江苏 210042
多层卫星网络是一个在双层或多层轨道平面内同时布星,利用层间星际链路建立的立体交叉卫星网络。与单层卫星网络相比,多层卫星网络具有覆盖域广、空间频谱利用率高、组网灵活、抗毁性强、功能多样性(融合天基通信、导航、定位等多种功能)等优点,能够实现各种轨道高度卫星星座的优势互补,为许多军事任务及科研任务服务,成为未来卫星网发展的一种理想组网模式,其网络架构如图1所示。
卫星网络因其灵活性和适用性而广泛应用于军用、民用、商用等领域,其固有的广播信道的特点使其可以在大范围内提供数据组播服务,与其他组播网络相比具有更大优势。然而由于卫星自身的特点使得卫星网络不同于传统网络:卫星网络通过移动节点间的相互协作进行组网,具有网络拓扑动态变化、带宽和计算能力受限等特征。此外,卫星之间的通信具有开放性,网络中传输的数据容易被非授权者甚至恶意攻击者截获从而引发大量安全性问题,比如主动入侵、拒绝服务等攻击。因此,卫星网络节点之间的通信安全面临极其严峻的挑战。
卫星网络通信的安全需求一般包括对节点的身份鉴别,以及对信息链路的机密性、完整性保护。为了满足上述安全需求,最重要的是实现节点之间安全、可靠的密钥管理。对有安全性要求的卫星网络而言,使用组密钥对通信进行加密是一个能够保证多个节点之间安全通信的有效方法。为保证卫星网络的通信安全,在卫星网络内实现组密钥管理已经成为一个重要课题。
图1 多层卫星网络架构
组密钥即组播密钥,它是所有参与组播的成员之间共享的秘密密钥,用来对组播数据进行加/解密、认证等操作,以满足数据的机密性、完整性和组成员认证等安全需求。组密钥管理则是为组成员生成、分发和更新组密钥,其基本任务是:为合法的组成员分配和维护密钥,实现组播通信时秘密信息在合法组成员或某个成员子集之间共享,而非组成员因不能解密而无法知道该秘密信息。组密钥的更新与组成员关系的变化有着密切的关系,组成员的加入、退出、失效等往往要触发密钥更新操作,以确保前向安全性和后向安全性。
与单播密钥管理机制相比,组密钥在安全性和性能方面具有一些特殊的要求,主要包括以下几个方面:
(1) 前向保密性:当新节点加入组或者当前密钥泄露时,前向保密性能够保证过去使用的密钥的安全性。
(2) 后向保密性:当节点退出组或者已使用的密钥泄露时,后向保密性能够保证将来使用的密钥的安全性。
(3) 健壮性:对于单播来说,通信的任何一方失效都会使会话终止,而组播中部分节点的失效不应当影响到整个组播会话的继续进行,这就对组播密钥管理提出了健壮性要求。
(4) 可扩展性:组播的规模从几个到成百上千个节点,甚至更多,随着组播规模的扩大,保存密钥所占用的节点存储空间、密钥生成所需要的计算量、密钥分发所占用的网络带宽、密钥更新的时间延迟都会相应增加,所以可扩展性也是组密钥管理所要考虑的重点之一。
(5) 通信效率:卫星网络中卫星节点之间距离远,通信时延长,误码率高,需要通信效率高、通信交互次数少的方案。
根据拓扑结构的不同,现有的组密钥管理方案可以分为集中式、分组式和分布式三种。
集中式组密钥管理方案通过设置一个组控制者,负责组密钥的生成、分发和更新操作。此类方案设计简单,组成员不参与组密钥的生成,适用于规模较小的组播通信,文献中所提出的方案就是一种典型的集中式密钥管理方案。但由于集中式组密钥管理方案可靠性较差,当组控制者被攻击时容易导致整个组瘫痪,即存在单点失效问题,所以一般用得较少。
分组式组密钥管理方案则将所有成员分成多个子组,每个子组都有其自身的控制者,负责每个子组内的密钥管理,并由一个总的组控制者管理各子组控制者。分组式管理方案较集中式方案扩展性好,适用于规模较大的群组。
分布式组密钥管理方案不需要设置固定的组控制者,组密钥由其所有成员共同协商得到。但在组密钥初始协商、成员加入和退出时,必须要由某个或某些组成员来担当临时管理者,为其它节点计算分发相关参数。此类方案管理灵活、通信量小,是当前研究的热点。
钟焰涛等提出了一种适用于LEO/MEO双层卫星网络的组密钥管理方案(简称 ZM 方案),该方案采用基于身份的密码系统IBC(Identity-Based Cryptosystem),消除了对证书系统的依赖,能在卫星网络中灵活高效地实现。具体实现方法是:在卫星地面站设置系统中的密钥生成中心 KGC(Key Generate Center),因为地面站具有相对较高的计算能力和抗攻击能力,所以能够保证系统主密钥和用户私钥的安全性。卫星网络中的组成员根据其所在逻辑位置划分为不同的簇,其中 MEO卫星作为簇头节点,MEO卫星覆盖域内的所有LEO卫星作为簇内节点。当一颗LEO卫星移动到一个新的簇内时,需要向簇头MEO卫星注册。注册成功后,所有的簇头节点之间进行组密钥交换操作以建立一个共享密钥;之后每个簇头节点通过加入盲因子方式秘密地将共享密钥发送给各簇内的LEO卫星节点。和分布式的组密钥协商相比,这种仅由簇头节点协商建立共享密钥的机制不需要 LEO卫星参与密钥的生成,大大减少了通信量。同时因为所有簇内节点均在簇头节点的覆盖范围内,所以簇头节点向簇内节点发送密钥仅需簇头的一次广播就可以实现。在有节点加入或退出群组时,为了保证密钥的前向保密性和后向保密性,需要对组密钥进行更新。密钥更新时,所在簇内成员发生变动的簇的簇头节点向其它簇头节点发送一个新的随机值,所有簇头节点根据该随机值更新共享密钥并广播给其簇内的LEO卫星节点。该方案能够有效抵抗外部攻击者,并且具有前向保密性和后向保密性。
王宇等提出了一个基于网络的分布式组密钥管理方案(简称 WLW 方案),该方案包含一个基于网络的分布式组密钥管理框架及其组密钥交换协议。在该方案中,网络中存在若干组密钥控制器GKC(Group Key Controller),它们通过网络彼此连接,在组密钥管理层次上是平等的,形成一个组密钥管理的分布式网络,每个 GKC负责一个局部区域网络内节点的组密钥分发和更新,管理框架如图2所示。该方案基于公钥基础设施PKI(Public Key Infrastructure),能够方便卫星网络的密钥管理和分发,GKC之间采用组密钥传播协议将新的组密钥或更新的组密钥传递给相邻的GKC,再由这些相邻的GKC将变动的组密钥信息传递下去,最后遍及整个网络。组密钥传播采用单向、无连接的通信方式,组密钥传播消息包含了当前所有新产生的或更新的组密钥信息。
一旦有新的组密钥产生,或者组密钥进行更新,负责该组的 GKC就把这一信息作为组密钥传播消息发送给相邻的GKC。接收到组密钥传播消息的GKC如果发现消息中有新产生的组密钥,或者某个组密钥的新鲜值比已有的组密钥的新鲜值大,则用它替换本地保存的组密钥信息,同时把所有新增的和更新的组密钥信息重新用组密钥传播协议广播给相邻的GKC。以此类推,新的组密钥或者更新的组密钥能很快被广播到整个卫星网络中。
图2 基于网络的分布式组密钥管理框架
组密钥分发协议实现对组成员的组密钥分发。每个GKC所辖的局部区域网络中可能存在属于不同小组的成员,因此它要针对不同的小组广播不同的组密钥消息。该方案给出了两种组密钥分发方法:一种方法是采用以前的组密钥加密更新的组密钥,然后把这一个信息广播出去。采用这种方法只需一条消息就能让所有的小组成员获得更新的组密钥,节省了GKC的开销,但无法防止已经离开小组的成员获得新的组密钥。另一种方法是用每个组成员的公钥加密它所属小组的新产生或更新的组密钥,然后把这一消息发送给对应的成员。采用这种方法的优点是安全性高,但是GKC必须存储该局部区域网络内所有成员的公钥信息,而且分发密钥的开销较高。
该方案中,如果某个 GKC出现故障,产生的影响范围只限于它所辖的局部区域。但该方案并未指出公钥基础设施如何配置,也未给出安全性证明。
为解决在空间网络中实施集中式密钥管理困难以及维护证书开销过大等问题,罗长远等提出了一种基于身份的分布式密钥管理方案(简称LLX方案)。该方案结合卫星网络的特点,给出了分布式私钥生成中心的构建方法,并利用基于身份的公钥加密体制,设计了私钥更新、主密钥分量更新和会话密钥协商等策略。
该方案利用(t,n)门限秘密共享机制,将私钥生成中心PKG(Private Key Generator)的功能分散到n个服务节点上,这n个服务节点各自拥有一个互不相同的PKG主密钥分量,组成了一个分布式的私钥生成中心 DPKGs(Distuibuted Private Key Generators)。当新节点加入群组时,需要PKG为其分配初始密钥,这时 n个节点中的任意 t(t (1) 在地面控制中心设置一个拥有系统主密钥的集中式私钥生成中心PKG,节点经由地面控制中心进入网络时,由PKG为其生成、分配初始密钥。 (2) 选择若干能够在规定时间间隔内出现在PKG的安全视界内的卫星节点,组成一个分布式的私钥生成中心DPKGs。在DPKGs节点经由地面控制中心进入网络时,由PKG利用门限秘密共享机制,为其分配一个主密钥分量。t个DPKGs节点联合起来为网络节点提供在线私钥更新服务。 (3) 在网络运行阶段,当DPKGs节点运行到地面控制中心的安全视界内时,PKG负责为其提供主密钥分量更新服务。 当然,该方案也存在两个缺点:一是被指定为分布式私钥生成中心DPKGs的n个节点用来完成密钥生成工作,增加了这n个节点的计算负担;二是新节点加入群组时必须向至少t个节点提出初始密钥申请,这t个节点可能遍布网络各处,需要多跳通信才能到达,只有至少与这t个节点通信成功后新节点才能获得正确的私钥,这无疑增加了网络负载。 文献提出了一种基于身份的空间网络组密钥管理方案(简称LLH方案),该方案的主要实现方法是:选择卫星节点作为组播群组的服务节点,协助组播群组完成公共参数的生成和广播操作,以及成员变化时密钥参数的更新和广播操作,用来解决成员开销不平衡的问题。为避免单点失效,选择多个卫星节点组成动态的服务节点集合,为同一个群组提供协助服务的节点动态可变,也就是不要求群组的所有操作(组密钥初始协商、成员加入和成员退出)全部由同一个服务节点提供协助。卫星节点覆盖范围广,能够保证协商信息不需要转发即可直接到达目的节点。 该方案假设服务节点是诚实可信的,即服务节点在同合法的网络节点交互时不会发送虚假信息,不会利用掌握的整个网络的密钥信息来进行恶意攻击,并且不会将掌握的密钥信息泄露给非法实体。也就是说,该方案只能抵御外部攻击,而不能抵御内部攻击。 分组式密钥管理方案和分布式密钥管理方案是目前卫星通信中比较典型的两种方案,表1对几个具体方案进行了比较。 表1 现有的典型组密钥管理方案比较 从比较中我们看出分组式密钥管理方案具有密钥更新开销小,控制方便,可扩展性好的特点,适用于规模较大的群组,但是易造成单点失效,计算负担较大,并增加了网络流量;分布式密钥管理在防止单点失效方面具有优势,安全性高,但同样也增加了计算负担和网络流量。另外,采用基于身份的密码体制,在保证认证性、前向安全性和后向安全性等安全需求的同时,能够消除对证书的依赖,卫星节点不需要存储用于绑定成员身份和公钥的证书列表,节省了用于维护和管理证书的开销,计算开销小,通信效率高,适用于计算能力和存储资源受限的卫星网络。 由于多层卫星网络具有广阔的应用前景,所以关于它的研究非常多。目前关于多层卫星网络已经提出了一些组密钥管理方案,但仍然存在很多不足,对组密钥管理方案进一步研究的方向和问题说明如下。 (1) 卫星网络对组密钥管理的可靠性要求较高,因此不能采用单一的组密钥控制节点实现密钥的分发和更新,因为这样容易造成单点失效,也容易带来性能上的瓶颈。但是也不能采用完全分布的密钥管理方法,因为它会占用大量的计算资源和通信资源,加重卫星网络的运行负担。 (2) 基于身份的密码系统已经相当成熟,成为了继基于证书中心CA密码学之后的公钥密码体制中的另外一个重要发展方向,其在卫星网络组密钥管理中的应用有待于进一步的研究。 (3) 将门限秘密共享技术引入到卫星网络分布式组密钥的设计中,有助于解决单点失效问题,但同时增加了计算负担和网络负载。设计适合卫星网络组密钥管理的门限秘密机制,值得进一步研究。 (4) 分布式的组播密钥管理要注意考虑密钥管理以外的控制协议,使系统具有更强的适应性,进而提高系统在动态变化的网络环境中的健壮性和可扩展性。 一个好的多层卫星网络组密钥管理方案应该在安全性和性能两个方面都有较好的保障,只有这样的组密钥管理方案才能够更好地适应未来多层卫星网络的发展。 [1]郭庆,王振永,顾学迈.卫星通信系统[M].北京:电子工业出版社.2010. [2]Michael P H, Sunil I,Sun Z L,et al. Dynamics of Key Management in Secure Satellite Multicast[J].IEEE Journal on Selected Areas in Communications.2004. [3]Wang K,Zhao Z W,Yao L.An agile reconfigurable key distribution scheme in space information network[C]//IEEE Conference on Industrial Electronics and Applications. Harbin,China:IEEE Press.2007. [4]徐明伟,董晓虎,徐恪.组播密钥管理的研究进展[J].软件学报.2004. [5]钟焰涛,马建峰.LEO/MEO 双层空间信息网中基于身份的群组密钥管理方案[J].宇航学报.2011. [6]王宇,卢均,吴忠望.空间信息网络的组密钥管理[J].宇航学报.2006. [7]罗长远,李伟,刑洪智.空间网络中基于身份的分布式密钥管理研究[J].电子与信息学报.2010. [8]罗长远,李伟,霍士伟.基于身份的空间网络组密钥管理方案[J].通信学报.2010.3.3 密钥管理方案的比较和分析
4 总结与展望