一种降低manet网络密钥管理系统通信量的实现方法

文档序号:7965040阅读:306来源:国知局
专利名称:一种降低manet网络密钥管理系统通信量的实现方法
技术领域
本发明涉及一种降低MANET网络密钥管理系统通信量的实现方法,属于无线网络安全保护领域。
背景技术
MANET是由多个移动节点通过无线链路连接实现通信,该网络具有时变网络拓扑结构和多跳自组织的特性。随着不需要基础设施支持的网络概念在美国开始逐渐形成,MANET网络得到了快速发展。MANET网络技术出现在报文交换技术之后,其主要思想基础来源于美国国防部高级研究规划署(DARPA)所资助的分组无线网络(PRNetPacket Radio Network)概念,分组无线网络可以让报文交换技术在不受固定或有线网络基础设施限制的环境下实现有效通信。1983年开始的高生存性抗毁可适应网络(SURANSurvivable Adaptive Network)研究主要是为了解决在PRNet网络中存在的问题,并且主要集中在网络的扩展性、安全性、处理能力以及能源管理等几个方面。随着互联网基础设施和微型计算机的不断发展,对原有的无线报文交换思想提出了更进一步的要求,研究重点也变成如何支持上万个移动节点的可靠通信并可以防范对网络的安全攻击,同时也要实现使用小规模、低成本、低功耗的射频信号来实现复杂的无线射频协议。1987年提出了低成本报文无线(LCRLow Cost Radio)网络的概念,在LCR网络中,要使用集成Intel 8086微处理器的射频交换设备实现对DSSS射频信号的数字控制。1994年开始的全球移动信息系统(GloMoGlobal Information System)项目研究,该研究的目标为实现在任何时间、任何地点在无线设备之间支持基于以太网类型的多媒体连接。无线互联网网关(WINGs)的应用为对等网络的使用提供了一个可靠平台,多媒体移动无线网络(MMWN)项目使用基于簇的技术实现分层网络结构管理。美国空军在1997年给出的战术互联网(TI)的使用是至今为止移动无线多跳分组无线网络的最大范围内应用。直接序列跳频(DSSS)和时分复用(TDMA)技术的结合可以使数据传输速率达到每秒几万比特,同时可以将商用互联网协议进行一定的修改来达到无线网络的需要。商用有线网络协议不能很好地适应网络拓扑不断变化的场景,同时它对低速率和高差错率的应用也不是很合适。1999年由美军提出的扩大沿海战争优势概念、技术与展示(ELB-ACTD)是MANET网络的另外一个应用,这个概念可以实现海军战争原有的依靠海洋中战舰转移到通过空间中继来实现地面通信,大约有20个节点参与到网络通信。20世纪90年代中期,随着包括IEEE 802.11在内的一系列标准的定义,商用无线技术开始在市场上出现,同时由于无线设备可能带来的巨大商机和优势使其成为在军用通信领域之外的应用得到了更广泛的研究。
基于加密的安全解决方案要通过密钥管理服务实现密钥与终端设备之间的信息绑定,并通过密钥来建立终端之间的相互信任和安全通信信道。MANET网络密钥管理应主要考虑以下几个方面(1)双向控制会话密钥的协商,移动终端之间要通过协商来确定会话密钥,不能单独由某一方来确定以防止由于通信系统某一方指定会话密钥所带来的安全隐患;(2)密钥的随机性要求,终端每次协商密钥时要使用不同的随机数来保证每次的会话密钥不同,以防止由于原有会话密钥的泄露所引发的重放攻击;(3)双向确认会话密钥,移动终端间要进行相互认证,保证对方和自己拥有相同的会话密钥。
MANET网络移动终端能够以任意速度和任意方式在网络中移动,由于受到无线发送装置的天线类型多种多样、发送功率不断变化、无线信道间存在互相干扰以及受到地形和天气等综合因素的影响,移动终端间通过无线信道形成的网络拓扑随时都可能发生变化,而且变化的方式和速度也难以预测。同时,由于MANET网络采用无线技术作为底层通信手段,由于无线信道本身的物理特性,它所能提供的网络带宽相对有线信道要低得多。此外,考虑到竞争共享无线信道产生的冲突、信号衰减、噪音和信道之间干扰等多种因素,移动终端所能真正使用的带宽要远小于理论上的最大带宽。因此,在对MANET网络密钥进行管理的过程中,必须要特别关注如何降低占用的系统带宽问题,本发明给出降低MANET网络密钥管理过程系统通信量的有效方法,并取得了较好效果。

发明内容
本发明的目的在于找到一种适合于MANET网络特性的密钥管理方法,以满足MANET网络带宽受限的特性以及在有较高安全需求的应用。
本发明的主要内容是针对如何降低MANET网络密钥管理的系统通信量问题而提出的解决方案。利用简单的XOR函数来实现连续的数据加解密,让加密操作不仅与密钥有关,而且与数据信息相关,提高系统可靠性。
在动态加密体制中,密钥管理过程的密钥分配次数较少,在MANET网络带宽受限的情况下,这种快速加密系统能有效降低对系统的带宽需求,另外该算法能够减轻由于频繁切换带来的安全性和处理速度之间的矛盾。
动态加解密算法可以不通过对每次会话过程使用终端间加密和认证操作来保障系统的安全性要求,可以让加密过程贯穿到MANET网络通信的全部过程,使系统中的所有终端具有连续的动态密钥生成和同步机制。同时,该算法能够实现快速方便的数据加密和认证,节省大量的带宽并可满足移动终端的快速切换。
本发明的技术方案是通过使用动态连续加解密来实现对MANET网络的安全保护,让加解密过程贯穿系统通信的全过程,并减少整个加解密过程的复杂程度。
附图2为MANET网络密钥管理拓扑模型,在密钥管理过程非常容易通过伪造和欺骗来破坏系统密钥的可信性,因此需要通过一定的信任模型来对密钥持有者身份进行有效验证。MANET网络主要有两种典型信任模型,一种为基于CA的信任模型,另一种为混合信任模型。混合信任模型结合中心式和分布式两种信任模型。图2(a)-(d)给出了不同信任模型的参考图形。在图2-(a)中,有一个被所有网络终端都信任的可信中心终端。在图2-(b)中,没有哪个移动终端可以被其他终端信任,网络中的所有终端都彼此信任并共同生成基于本地信任关系的证书。图2-(c)是通过门限方法生成系统CA的图例,由门限个移动终端共同管理系统证书。图2-(d)给出了融合图2-(a)和图2-(b)两种方案的密钥管理手段。
根据MANET网络的特点和密钥管理技术的特点,我们对适合于MANET网络环境的密钥管理技术做了如下改进(1)提出了动态加解密的实现方法;首先给出动态同步加解密算法中标识的一些基本定义AS表示认证服务器;DAK表示动态认证密钥;DSK表示动态会话密钥;IDAK表示动态认证密钥初识值;D[i]表示当前数据中将要发送的第itj字节;K[i]表示相应动态密钥中的第ith字节;ExpK[i]表示第ith字节的扩展密钥;Ctmp[i]表示临时密钥中的第ith字节;C[i]表示生成密文中的第ith字节;PT[i]表示转换表中的第ith字节;i为从1到m之间的整数;m为字节中的密钥字节数;R表示2m个扩展位中随机选取的字节数;随机选择过程以当前数据的第一字节当成随机函数的种子。
该加解密体制需要在所有参与方实现相互认证并实现数据安全交换。所有加密密钥都是以上次使用的加密密钥与当前发送或者接收数据包为参数,用公式可表示为knew=f(Kpre,Data) (1)
其中f是密钥生成函数。
(2)提出DAK的管理和使用;动态加解密系统中包含两种类型的动态密钥,一种是DAK,另一种是DSK。AS要为注册的移动终端生成DAK信息,当从AS处安全地获取到初始DAK后,移动终端与AS会重新启动动态DAK的生成过程。在随后的认证过程中,移动终端和AS会使用共享DAK。在移动终端和AS的认证过程中,一旦移动终端被AS成功认证,则AS就会把终端用户的认证信息传送到相邻的接入点。DSK会在子群控制终端之间或者移动终端之间的所有通信会话过程中生成,而且仅仅在会话过程生成。当在子群控制终端之间进行会话时,DSKini的生成和传输要通过AS实现。然而,当两个终端申请一个安全通道时,与源终端用户相连的接入点必须要生成DSK并将其安全地发送给两个终端。
(3)提出通过动态会话密钥进行安全通信并实现有效的动态切换和认证;当AS接收到从一个子群到另外一个子群的会话连接请求时,AS会对两个子群进行认证并生成一个初始子群控制终端的DSK,通过每个子群控制终端的DAK将信息以加密形式发送给两个子群。由于MANET网络移动终端可能处于不断的移动状态,当附有(MAC2,IDAK)信息的移动终端向本地子群控制终端发送首次认证请求时,子群控制终端会将这个认证请求发送给AS,并将其DAK发送给子群控制终端,这个子群控制终端已经被AS认证过,并且每个子群控制终端都要通过AS被邻近子群控制终端进行认证。当用户与相连的某个子群控制终端的通信信号变弱以后,该用户就会寻找具有更强信号的子群控制终端,如果这个过程正好发生在它与另一个子群控制终端刚刚断开连接之后,则该终端就会与刚刚断开的子群控制终端马上建立连接。否则,用户将向子群控制终端1发送一个切换请求,其中也要包含子群控制终端2的信息。
(4)提出让加密操作贯穿通信全过程的方法;为了充分利用已有环境,提高系统的安全性,本发明给出在数据包传输过程中对数据进行有效加解密的有效方法,让加密操作贯穿通信全过程,提高系统的安全性。


图1为降低MANET网络密钥管理系统通信量实现框图;
图2给出在无线通信网络中动态密钥管理的安全系统结构;图3给出子群控制终端的DSK生成模型;图4说明了动态加解密函数的处理流程。
下面结合附图和具体实施方式
对本发明作进一步说明。
图2给出在无线通信网络中动态密钥管理的安全系统结构。AS的主要功能是在移动终端和子群控制终端之间提供安全的认证,对终端用户的认证通过如下步骤实现(1)每个移动终端都包括一个标识符对(MAC地址,IDAK)。所有标识符对(IDPs)都被安全存储在AS处。通过IDPs可有效避免采用传统证书进行认证的复杂操作,并能将移动终端/子群控制终端的MAC地址与IDAK绑定在一起;(2)AS与移动终端之间建立相同的动态DAK生成装置来生成相同的DAKs序列;(3)对任何认证过程的需求,移动终端和AS都会保持原有的密钥生成器,并通过同步操作来获得相同密钥。对DAK生成器进行同步控制可以实现处理速度较慢终端与处理速度较快终端之间的同步。只有在慢速终端与快速终端得到相同DAK密钥以后,慢速移动终端才能重新启动DAK的生成过程,DAK会在认证过程中充当认证协议的加解密密钥。然后,这2个终端通过相同的DAK来重新生成DAK。
图3给出子群控制终端的DSK生成模型,DSK被当成一个加密密钥,其作用是对子群控制终端间的通信提供安全保护。当两个移动终端请求建立一个安全连接时,与源用户相连的子群控制终端会生成一个DSKnode并将这个DSK通过DAK加密安全地发送到源用户。然后,将相同的DSKnode通过共享子群控制终端的DSK发送给目的子群控制终端。最后,目的子群控制终端用DAKdes对DSKnode进行解密,将解密结果发送给目的端用户。其中,第一个DSKnode用来实现DSK的初始化,随后,这2个通信用户就可以通过重新生成相同序列的DSK对数据进行加密,每个数据要用一个密钥进行加密,在整个会话结束之后,DSK要被通信双方抛弃。
图4说明了动态加解密函数的处理流程。其中D和K用来生成Ctmp,它们会按照变换表进行依次变换生成对应的密文C。整个加密过程是通过使用简单的XOR逻辑操作来实现,为了对Ctmp进行缓冲,变换表PT会按照相应的密钥K一起生成,变换表PT的字节会从1到m逐个扫描,并使用输入的序列号和相应的输入值来作为临时密文的两个交换字节的编号。
具体实施例方式
下面结合附图和具体实施方式
对本发明作进一步说明。
本发明的动态加解密体制需要在所有参与方实现相互认证并实现数据安全交换。所有加密密钥都是以上次使用的加密密钥与当前发送或者接收数据包为参数。密钥生成函数中包含数据信息,也就是密码分析过程必须要获得当前的数据信息和前面的密钥才能推测出新密钥。因为每个数据都要生成一个新密钥,所以明文与密文之间的熵足够大。为了实现高速加解密的目的,必须要保证算法要采用简单的加密函数,所以本方案使用XOR来作为加解密函数。用XOR函数的简单性来补偿密钥生成过程字节缓冲带来的复杂性,字节缓存要通过一个动态变换表来实现。系统在认证过程的动态密钥生成期间可以保证移动用户的同步性,如果共享对称认证密钥的任意两个终端之间的连接被中断,就要重新启动密钥的同步生成机制。除非某个移动终端已经被认证服务器提前认证,否则,非授权终端用户不可能拥有与AS相同的同步动态密钥。对状态较为确定终端进行的认证仅需执行一次操作,这次认证是在移动终端与AS第一次建立连接时进行的,随后的认证都以隐蔽方式进行,不需要交换任何明文与密钥信息,但是需要一个安全的通信信道来减少计算负荷。
(2)动态密钥模型与安全会话系统包含两种类型的动态密钥,一种是DAK,另一种是DSK。AS要为注册的移动终端生成DAK信息,当从AS处安全地获取到初始DAK后,移动终端与AS会重新启动动态DAK的生成过程。在随后的认证过程中,移动终端和AS会使用共享DAK。在移动终端和AS的认证过程中,一旦移动终端被AS成功认证,则AS就会把终端用户的认证信息传送到相邻的接入点。DSK会在子群控制终端之间或者移动终端之间的所有通信会话过程中生成,而且仅仅在会话过程生成。当在子群控制终端之间进行会话时,DSKini的生成和传输要通过AS实现。然而,当两个终端申请一个安全通道时,与源终端用户相连的接入点必须要生成DSK并将其安全地发送给两个终端。
在某个移动终端第一次申请建立连接时,经过AS认证的本地子群控制终端会将建立连接请求通知给AS。然后,在终端用户和AS之间生成通信子进程,每个子进程都会代表其父进程来进行通信,这样做可以防止同步失败或认证过程失败。因为移动终端与AS之间保持同步,所以它们要使用相同的DAK,该DAK在初始认证过程会当作密钥来使用。对用户成功认证之后,本地子群控制终端会接收所有认证信息,其中就包括终端用户的DAK。从该过程结束以后,子群控制终端充当AS角色,将AS功能移交给子群控制终端可以减少切换过程所必需的时间消耗。在切换用户时,子群控制终端会对终端用户进行认证,新生成的DAK与相关NRC要被周期性缓存以保证移动终端在不同子群控制节点之间实现快速同步。
当AS接收到从一个子群到另外一个子群的会话连接请求时,AS会对两个子群进行认证并生成一个初始子群控制终端的DSK,通过每个子群控制终端的DAK将信息以加密形式发送给两个子群。DSK被当成一个加密密钥,其作用是对子群控制终端间的通信提供安全保护。当两个移动终端请求建立一个安全连接时,与源用户相连的子群控制终端会生成一个DSKnode并将这个DSK通过DAK加密安全地发送到源用户。然后,将相同的DSKnode通过共享子群控制终端的DSK发送给目的子群控制终端。最后,目的子群控制终端用DAKdes对DSKnode进行解密,将解密结果发送给目的端用户。其中,第一个DSKnode用来实现DSK的初始化,随后,这2个通信用户就可以通过重新生成相同序列的DSK对数据进行加密,每个数据要用一个密钥进行加密,在整个会话结束之后,DSK要被通信双方抛弃。
(3)密钥管理系统密钥管理过程能以在线和离线两种方式来实现。当以在线方式工作时,共享相同密钥的双方在进行完数据加密操作后要重新生成密钥,密钥重新生成过程要通过对当前数据与密钥进行Hash运算来实现,Hash函数的计算结果将作为下次加密的新密钥。离线模式动态密钥的生成是将上次发送或者接收到的数据与当前的密钥值作为重新生成密钥的种子。在线模式的同步操作是在发送和接收数据时实现同步,为了在离线模式下实现系统同步,需要对每个密钥保留一个计数器,当持有密钥的双方重新开始通信时,他们会检查当前的计数值并将这两个计数值进行统一处理以实现密钥重生成过程。该方案的密钥管理与流密码非常相似,但是该方案在数据中引入了更多的动态过程,随机过程的实现是通过在加密过程中引入随机数据,并在存在安全连接请求时避免使用相同的初始密钥而以离线方式重新生成密钥。该方案通过简单的XOR操作来补偿密钥管理过程所带来的系统开销,系统密钥管理过程按照如下方式来实现。
首先,将密钥K扩展成自身长度的2倍的扩展密钥ExpK,然后,K、D、ExpK被分成m/2个域,并将这些域编号为1到m/2。K和D的每个域长度都是2个字节,而ExpK是4个字节。在扩展域ExpK中的任意域r中的连续4个字节都被编号为4r-3,4r-2,4r-1和4r。在K、D域中的连续两个字节被编号为2r-1和2r。在ExpK中对r的填充通过如下方式实现。
ExpK[4r-3]←K[2r-1]ExpK[4r-2]←K[2r]ExpK[4r-1]←K[2r-1]K[2r]ExpK[4r]←ExpK[4r-1]D[2r-1]D[2r]随后,在2m长的ExpK中任意选择m个字节,并要生成m个数字长度的序列,这m个数字分别对应一个选择数据编号,并将其放在下一个新生成密钥中。为了实现同步要求,密钥持有者的双方都会执行该操作。
动态加解密函数的处理过程中,D和K用来生成Ctmp,它们会按照变换表PT进行依次变换生成对应的密文C。整个加密过程是通过使用简单的XOR逻辑操作来实现,为了对Ctmp进行缓冲,变换表PT会按照相应的密钥K一起生成,变换表PT的字节会从1到m逐个扫描,并使用输入的序列号和相应的输入值来作为临时密文的两个交换字节的编号。
整个变换包括加密和解密两个过程,当对从1到m之间的数据包进行加密时,要通过Ctmp[PT[i]]将Ctmp[i]进行重新排序,并得到最终的密文序列。解密过程是以相反的变换表来实现,解密过程的变换表是当前密钥K的一个反向序列。对于1到m之间的任意i来讲,执行PT[i]=K[m-i] (2)变换的结果将得到一个临时密文Ctmp,这个结果是当前密钥K和数据D进行XOR操作的结果。执行完加密操作以后的发送者和解密操作的接收者要通过使用发送和接收数据来进行密钥管理,目的是在下面的加解密操作中有效使用这些密钥。
(4)用户的认证过程当附有(MAC2,IDAK)信息的移动终端向本地子群控制终端发送首次认证请求时,子群控制终端会将这个认证请求发送给AS,并将其DAK发送给子群控制终端,这个子群控制终端已经被AS认证过,并且每个子群控制终端都要通过AS被邻近子群控制终端进行认证。图4-4详细说明了移动终端第一次认证的请求过程,其中用E(N)表示用终端用户的DAK对N进行的加密。
(a)移动终端→子群控制终端通过生成当前的N值,并向子群控制终端发送(MAC,N,E(N))消息请求一个安全连接。
(b)子群控制终端→AS将(MAC,N,E(N))发送给AS。
(c)AS查找本地与接收到的MAC和解密E(N)相应的本地DAK,如果N≠D(E(N))则放弃。
(d)AS→子群控制终端发送用子群控制终端的DAK进行加密的(localDAK,localNRC)。
(e)子群控制终端→移动终端用接收到的本地DAK(DAKsup)对N2进行加密,并将E(N2)发送给用户。
(f)子群控制终端开始用户DAK的动态重新生成工作,动态密钥的副本(BDAK)与对应的NRC(BNRC)被周期性地被缓存。
(g)移动终端用DAK对E(N2)进行解密,如果N2≠D(E(N2))则放弃。相等时就建立了一个与子群控制终端的安全连接。
(5)用户切换过程当用户与相连的子群控制终端1的通信信号变弱以后,该用户就会寻找具有更强信号的子群控制终端,如果这个过程正好发生在它与另外子群控制终端2刚刚断开连接之后,则该终端就会与子群控制终端2马上建立连接。否则,用户将向子群控制终端1发送一个切换请求,其中也要包含子群控制终端2的信息。
通常情况下,子群控制终端1和子群控制终端2是相邻的并且是以有线方式连接。所以,它们已经被AS认证过。这里按照“被一个可信用户信任的用户仍可信”的理论。子群控制终端1会向子群控制终端2发送一个安全的切换要求,其中包含用户的认证信息。当这两个子群控制终端已经被认证,则在子群控制终端之间的通信就是安全的,这个安全性是以AS的DAK信息来保证的。然后,子群控制终端1会向用户发送一个安全的断开连接请求消息,此时子群控制终端1并不马上将该用户的信息去除,而是要等待一个Δt时间,以能够防止再次切换所带来的麻烦。
移动终端被从本地子群控制终端1接收到的一个弱信号所触发,向其它具有较强信号的子群控制终端2漫游,如果该终端已经与子群控制终端2在Δt时刻以前建立了联系,则称其为场景1,否则为场景2。
(a)场景1(i)移动终端→子群控制终端2发送一个被BDAK安全保护的切换请求。
(ii)移动终端→子群控制终端1安全发送一个“去连接”请求。
(iii)子群控制终端2将BDAK当作一个用户DAK的初始值,并在重新生成用户DAK以后建立一个与用户的安全连接。
(b)场景2(i)移动终端→子群控制终端1安全地发送一个包含有子群控制终端2信息的切换请求。
(ii)子群控制终端1→移动终端安全地发送一个“去连接”请求消息。
(iii)子群控制终端1→子群控制终端2安全地向子群控制终端2发送一个用户的BDAK和BNRC信息。
(iv)子群控制终端1将BDAK当成一个初始信息继续用户DAK的重新生成过程,在Δt时刻以后,放弃与该用户有关的所有信息。
(v)子群控制终端2将BDAK当成用户DAK的一个初始值,然后开始动态密钥的重新生成过程,与用户建立一个安全的连接(vi)移动终端将BDAK当成是DAK的初始值,进入重新生成过程,建立与子群控制终端2的安全连接。
(6)性能比较动态加解密算法处理速度之所以快的一个主要原因就是在于其加解密函数的简便性,因为该方法已经将加密函数的复杂性转换为动态密钥加密和对动态密钥的管理上。另外,该方案对密钥截获攻击具有非常好的抵御能力。
在整个操作过程中,初始密钥仅被加密一次,并可对共享相同动态密钥的一组终端设备进行连续认证。该动态加密与认证方案方案比现有的AES,3DES和WEP等加解密方案更为快速,表1给出了相应的试验数据。
表1动态加解密算法与其它方法比较与试验结果

权利要求
1.一种降低MANET网络密钥管理系统通信量的方法,其特征在于利用简单的XOR函数来实现MANET网络连续的数据加解密,加密操作不仅与密钥有关,而且与数据信息相关。
2.根据权利要求1所述的一种降低MANET网络密钥管理系统通信量的方法,其特征在于动态加解密算法可以不通过对每次会话过程使用终端间加密和认证操作来保障系统的安全性要求,让加密过程贯穿到MANET网络通信的全过程,让系统中的所有终端具有连续的动态密钥生成和同步机制。
3.根据权利要求1所述的一种降低MANET网络密钥管理系统通信量的方法,其特征在于系统包含两种类型的动态密钥,一种是DAK,另一种是DSK。AS要为注册的移动终端生成DAK信息,当从AS处安全地获取到初始DAK后,移动终端与AS会重新启动动态DAK的生成过程。
全文摘要
本发明属于无线网络安全保护领域,特别涉及到对MANET网络安全保护过程的密钥管理算法问题研究,针对MANET网络传输带宽有限的特性,本发明着重找出在较高安全保护要求背景下有效的MANET网络密钥管理方案。本发明首先通过分析MANET网络特性,通过使用“动态加解密”、“自我恢复”和减少数据包规模的方法给出有效降低MANET网络密钥管理系统通信量的方法,该发明非常适合于网络带宽受限并且连通不可靠的MANET网络环境,在安全性和系统性能方面具有很好的优势,并具备算法简单、识别速度快、识别率高并能达到实用的特点。
文档编号H04L12/24GK1901444SQ200610103450
公开日2007年1月24日 申请日期2006年7月21日 优先权日2006年7月21日
发明者王顺满, 陶然, 王越, 周四永 申请人:北京理工大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1