移动自组网络中相邻节点间通信的匿名安全1章洋范植华(中国科学院软件研究所通用软件实验室)摘要:战术无线自组网等类似系统对安全性的要求除了基本的通信内容机密、完整、可用与可信等特性外,还要求通信者的身份对敌人保密,为通信者及其使命提供保护。因此,在此类系统中相邻节点间通信时需要实现匿名双向认证与身份隐藏,防止敌手推断敏感信息。鉴于已有的研究都未专门而全面地论述移动自组网络链路层通信的匿名安全性,本文设计了一种新型链路层通信与接入认证的匿名安全方案,其特点是:利用基于身份的加密方案实现系统中节点的身份隐藏;利用基于多项式的密钥发布方案实现节点入网权限的动态回收;利用压缩的BloomFilter可在身份隐藏情况下对恶意节点的行为进行追踪。最后分析了算法的安全性与匿名性。关键词:双向认证;BloomFilter;基于身份的密码系统;匿名性;移动自组网络中图法分类号:TP309文献标识码:A1引言移动自组网络由于其通信介质的开放性、拓扑的动态变化性及缺少固定的管理点等特性,易遭受安全攻击,尤其在存在敌意对手的环境中,安全问题变得更为严重。战术无线自组网等类似系统的安全,不但涉及到通信内容的机密性、完整性、鉴别与可用等安全特性,还因为敌手通过通信量分析与报文分组追踪会对通信者本身及其所要完成的秘密使命造成威胁,所以系统需要具有匿名通信能力,这不可避免地需要实现链路层通信的身份隐藏,另外网络层的匿名实现,也需要链路层提供匿名通信的支持。例如,战场上指挥员与执行秘密任务的下属单位进行通信时,希望系统能够提供匿名安全,以保护指挥员身份不被敌人测定及秘密任务不被发现。为了使敌手不能凭借通信中的固定特征而追踪节点,物理层发射的信号中不能带有标识身份的唯一性指纹,MAC地址也必须随机化。只有具有网络访问权限的节点才能够入网,防止系统外非法节点向网络中注入虚假信息,因此在节点使用随机MAC地址进行通信时,相邻节点虽然不再验证对方的真实身份,但是彼此要相互验证对方具有网络访问权限。在通信过程中合法节点的集合会发生变化,必须能够对节点入网权限进行动态撤销与赋予新节点入网权限。当有节点被入侵与被控制而进行恶意行为时,必须能够被检测,所以在隐藏身份的同时,需要有方法追踪节点的行为。文献[1,2]在实现路由匿名时阐述了链路层匿名通信的方案。文献[1]的方案中存在固定不动的访问点,节点通过不停的更换MAC地址与证书实现匿名,这个方案中固定接入点与不断签发证书的代价使得其不适于战术无线自组网等完全adhoc的网络。文献[2]的方案中,通过识别节点为同一组来实现节点匿名接入认证,但是不能动态回收用户的入网权限,预分配足够多的伪名与密钥占用了较多存储空间,所以文献[2]的方案也不适用于战术无线自组网等类似的网络系统。文献[3,4,5]设计了移动自组网络的匿名路由协议,但是未阐述相邻节点间通信的匿名方案,只对链路层的通信特点做了一定的假设,没有链路层安全匿名通1SupportedbytheNationalHigh-TechResearchandDevelopmentPlanofChinaunderGrantNo.2005AA123110(国家高技术研究发展计划(863计划)资助项目)第一作者简介:章洋(1970-),男,博士生,安徽安庆人,主要研究领域为网络安全与分布式计算。信的支持,路由的匿名性是脆弱的。本文的主要工作是:采用源自威尔对的基于身份的加密方案]8,7,6[实现相邻节点间匿名双向认证;利用基于多项式的密钥发布方案]9[实现入网权限的动态回收与分配;利用压缩的BloomFilter]11,10[可在身份隐藏情况下为对节点的恶意行为进行追踪提供基础。2网络与攻击模型对于网络,我们首先假设无线信道是对称与双向的,而且信道分配是公平的。其次,在单跳间通信时,敌手无法在接收方收到报文之前,将自己刚收到的报文修改后再发送给接收者。最后,作为本文研究对象的网络系统是一个自治的系统或属于同一个管理单位。对于网络安全的考虑,首先假设相邻节点通信时,要相互进行入网权限的匿名验证,防止非法节点向网络中注入数据包;端到端通信需要验证对方的真实身份,它使用链路层提供的经过单跳认证的匿名通信服务。其次,假设节点有较强的计算能力与存储能力,可执行公钥算法,例如野战指挥网中的节点。最后,链路层以上的上层安全机制不作研究;对物理层的安全问题也不作阐述,只假设物理层发射的信号中不带有标识节点身份的唯一性指纹。我们将移动自组网络中对相邻节点间通信的安全性攻击分为如下两类:①被动攻击,主要指非法窃听报文与非法测量信号,窃听者通过监听与测量获得身份信息,并进行数据追踪,它不破坏现有的通信,具有很强的隐蔽性。②主动攻击,指阻止传输与破坏数据,包括复制、篡改与删除节点间所交换的数据以及耗尽资源阻塞数据流等。敌手往往采取被动与主动混合的方法发起攻击。敌手能力假设为可自由地窃听,但无全局窃听能力,并且只具有有限的计算能力与侵蚀节点的能力。有限的侵蚀节点的能力指在同一个时间段之内只有可能入侵与控制部分少量节点。3安全匿名的链路层通信在网络系统部署展开前,由管理部门(抽象为TA)给每个入网节点安全地装入初始数据,并赋予节点入网权限。在系统运行过程中,当需取消某节点网络访问权限时,在线TA以广播的方式秘密完成。当新节点加入,由在线TA给其注入安全参数与初始数据,并授予其入网权限。当需要对节点的行为进行追踪时,各节点将与邻居通信的统计信息累积打包发送给TA,由TA完成对恶意节点行为的追踪与识别。在运行时,TA的实现可以采取分布式的门限方案,以较轻的负荷完成系统管理功能。以下是本文用到的主要符号与变量。符号含义符号含义t安全参数,多项式阶数PUBTA的公钥,为sP,P为G中固定点F域,多项式系数所在的域m安全参数,系统伪名集合更新周期iID节点i的真实身份,二进制串CBF压缩的BloomFilter1H将任意二进制串映射为F中元素的密码学散列函数iTARD,TA赋予节点i的秘密随机数G大素数阶群,其上离散对数难解|二进制串连接操作2H将任意二进制串映射为G中元素的密码学散列函数H将任意二进制串映射为定长二进制串,标准的密码学散列函数,如SHA-1sTA的私钥,也为系统的主密钥IDKE以IDK为密钥,以PUB为参数的基于身份的加密函数表1符号与变量3.1初始数据的装载与授权系统在运行时将时间分为一个个时间段,时间同步通过GPS或时间统一协议完成,本文只要求松散的时间同步。节点i在时段T的伪名iPSD=H(iTARD,|T)2H(iID),MAC地址为h(iPSD),即将iPSD散列到一个较小的固定长度的二进制空间n}1,0{中。经过m个时段,TA增量广播一次系统可用的伪名集合CBF。TA在系统展开部署前将参与组网的所有节点在m个时段所用的伪名用文献[11]中的方法编码为CBF,选择CBF的长度、独立的散列函数及其个数使判假为真的概率足够小,小到单个节点无法在m个时段内有效找到一个假元素使之在CBF中被查到,例如小于6410。TA同时选择2t阶多项式)(1xh、)(2xh,其系数属于域F。对每个节点i,TA计算iX=s2H(iID),将ix秘密传送给节点i,作为其入网权限凭证。同时,TA计算))((11iIDHh、))((12iIDHh,并将其秘密传送给节点i。另外,TA也将CBF以及系统共享的初始对称密钥0K秘密传送给节点i。节点i在时段T向邻居节点公开的身份为iPSD,即为其公钥,其对应的私钥为siPSD=H(iTARD,|T)iX。3.2匿名双向认证在时段T相邻节点i、j间的双向匿名认证过程如下,iN与jN分别为节点i、j随机选择的现时。1)ij:iPSD;2)j:查询iPSD是否在CBF中,若非则拒绝应答,反之继续处理;3)ji:jPSD|)|(jjPSDPSDNEi4)i:验证jPSD是否在CBF中,若否则终止处理,反之解密)|(jjPSDPSDNEi,并进行验证,合法则继续处理;5)ij:)||(iijPSDPSDNNEj;6)j:解密)||(iijPSDPSDNNEj,并进行验证,合法则继续处理。7)ji:)(iPSDNEi8)i:解密)(iPSDNEi,并进行验证,不合法则终止处理,合法则发送验证成功消息。如果此过程顺利执行完毕,则双方所声称的伪名合法,可用之访问网络,节点i通过2)至8)的步骤与所有相邻节点进行双向认证。认证后,节点i发送广播包时可使用私钥siPSD进行签名,相邻节点收到报文时,用i的公钥验证签名的合法性,若签名合法,邻居才接受此报文,进行后续处理,否则直接丢弃此报文。如果需要,可由随机现时值iN与jN生成一对一会话密钥。3.3权限及CBF的更新设需要注销权限的节点为1ID、2ID、、rID(tr),如果rt,则随机生成t-r个节点ID,得到1ID、2ID、、tID。注销过程是通过系统主密钥增量更新秘密完成,设系统主密钥增量更新值为随机值TK,则主密钥更新为s=sTK,公钥PUB更新为PUB=TKPUB。改进文献[9]中的方案2,进行如下系统更新操作。TA随机生成阶数为t的多项式p(x),其系数属于域F;计算q(x)=TK-p(x),以及权限回收多项式g(x)=(x-1H(1ID))(x-1H(2ID))(x-1H(tID));再计算P(x)=p(x)g(x)+)(1xh,Q(x)=q(x)g(x)+)(2xh。将g(x)|P(x)|Q(x)签名后用1TK加密,并向外广播。随后对)(1xh与)(2xh进行更新,)(1xh=)(1xh+p(x2),)(2xh=)(2xh+p(x2)。网络访问权限未被撤销的节点qID接收到TA发送的广播报文时,计算p(1H(qID))=(P(1H(qID))-)))((11qIDHh/g(1H(qID)),q(1H(1ID))=(Q(1H(qID))-)))((12qIDHh/g(1H(qID))。然后可得TK=p(1H(qID))+q(1H(qID))。节点qID的qX=TKqX,私钥为sTKqPSD=H(iTARD,|T)qX。网络访问权限被撤销的节点则不能计算出TK,无法进行更新,其网络访问权限被撤销。节点qID对))((11qIDHh、))((12qIDHh的更新如下,))((11qIDHh=))((11qIDHh+p(1H(qID)2),))((12qIDHh=))((12qIDHh+p(1H(qID)2)。每个节点对TA广播的报文做一定的缓存,当邻居节点由于某些原因未收到报文时,可由其重传报文进行本地更新。CBF的更新采用文献[11]中的方法,进行增量更新,它极大减小了需传输的数据量;数据包签名后用密钥TK加密。更新的周期为m,或采取事件驱动更新,事件包括新节点加入与旧节点权限被收回。新节点加入系统时要从TA处获得最新的初始数据与授权。4安全分析由于节点的MAC地址与伪名不断变化,被动攻击敌手无法通过将MAC地址或伪名与节点所收发的报文绑定起来进行通信量分析或追踪数据。被动攻击敌手可行的攻击方法是通过测量信噪比将前后两个伪名联系起来,如果前后两帧报文信号的信噪比相同,即使两帧报文的MAC源地址及发送者伪名不一样,也可大致判定它们对应同一个节点。但是这种方法在节点移动或发射功率变化的情况下没有效果。当敌手拥有的节点增多时,敌手通过窃听推断出邻居节点所发报文是中继转发或是源发的概率在增高,同时将前后两个伪名联系起来的能力也在增强,从而削弱系统的匿名效果。可采用文献[1]中使用熵来衡量系统匿名性的方法来度量系统的匿名效果,所得结论是当敌手测量信噪比进行定位的能力提高与监听能力提高时,系统的匿名性下降,可参看文献[1]。除了窃听与测量,敌手也可通过侵蚀系统内合法节点进行被动攻击。敌手侵蚀合法节点会得到更多信息,它能读取被侵蚀节点的伪名与缓存中的数据(包括最新的1h、2h、权限、CBF、TK以及m与真实身份等),但节点的历史信息由于合法节点不保存历史记录而无法获得。对于众多伪名,敌手通过被侵蚀节点的信息无法推断不同伪