《1 引言》

1 引言

无线局域网 (WLAN) 的设计特点不适用于室外的宽带无线接入 (BWA) , IEEE802.16工作组相继制定了802.16和802.16a无线城域网标准。2004年10月这2个标准融合增补成为统一的802.16-2004标准 [1]。802.16-2004标准同时在物理层解决室外射频传输和在MAC层实现QoS, 提供接入节点 (SS/Node) 和服务基站 (BS) 之间或节点 (Node) 间的宽带无线连接。802.16-2004采用2种布网模式:PMP (点对多点) 和Mesh (多跳) 网络。PMP 网络采用星形布局, 各节点使用带宽调度直接与基站通信;Mesh网络则是一种基于多跳路由、级联/对等并存的新型网络结构。Mesh网络采用集中式和分布式调度并行的方式工作。集中式调度采用上限为3跳的调度树结构, 调度树由BS定时在网内广播。各节点由父节点多跳中继, 由BS统一转发。分布式调度采用ad hoc方式, 各节点 (包括BS) 关系对等, 每个节点保持一个邻节点列表, 形成自己的邻域。节点间通信按路由多跳转发 [1]。集中式和分布式在带宽调度上隔离, 为便于分析, 将Mesh网络看作一个级联的树状网 (见图1) 和一个ad hoc网 (见图2) 的重合。

《图1集中式级联树状网》

图1集中式级联树状网

Fig.1 Centralized concatenation tree network

《图2分布式ad hoc网》

图2分布式ad hoc网

Fig.2 Distributed ad hoc network

《2 Mesh网络单跳单向认证SA管理机制和存在的缺陷》

2 Mesh网络单跳单向认证SA管理机制和存在的缺陷

《2.1Mesh网络单跳单向认证SA管理机制》

2.1Mesh网络单跳单向认证SA管理机制

Mesh网络中节点入网后使用授权机制获得共享秘密 (OSS) , OSS为全网已授权节点共有并不断更新。节点使用OSS导出的HMAC摘要密钥 (HMAC-KEY-S) 互相验证。Mesh安全管理采用单跳 (直接相连) 节点间的密钥管理协议 (PKM) , 且只在单跳间实现。节点在自己的邻域内对每个邻节点的每个服务流建立和保持一一绑定的安全关联 (SA) , 管理流加密密钥 (TEK) 的获取和更新。SA由SAID标识和TEK参数构成, 一个SA对应两套不断更新的TEK参数, TEK参数由已加密的TEK, TEK剩余生命期, TEK序列号, CBC初始向量构成。TEK用于加密2个单跳节点间的某个特定服务流数据, TEK的管理是SA的核心, 也是Mesh网络安全的关键。

SA管理机制采用基于ITU-T X.509 V3证书 [2]的单向认证方式获得TEK。802.16单跳单向认证的TEK分配机制如下式所示:

1) 发起节点Node-1→目标节点Node-2: (KEY-REQ) , SEQPKM|SS CertNode-1|SAID|HMAC SHA-1 digest (with HMAC-KEY-S) ;

2) Node-2→Node-1: (KEY-REPLY) , SEQPKM|SEQOSS|SAID|old TEKparam | new TEK param | HMAC SHA-1 digest (1)

“|”表示信息间串联。SEQPKM是一次PKM信息交互的标识以防重放。笔者提及的证书均为X.509V3证书 [2], KEY-REQ, KEY-REPLY为802.16定义的管理信息。SS证书由制造商CA签发, 制造商CA证书则由节点软件支持。另外802.16使用的SS证书扩展数据域中包括了MAC地址 [1], 因此SS证书是与MAC地址绑定的, 即Cert↔Macaddr。目标节点Node-2收到发起节点Node-1发来的SS证书后, 用Node-1制造商CA证书内附的RSA公钥CA RSA pub-key [3] 验证Node-1 SS证书尾部的CA签名。证书和身份验证通过之后Node-2生成TEK, 用Node-1的SS证书内附的RSA公钥SS RSA pub-key加密TEK并发回Node-1。

《2.2单跳单向认证SA管理机制的缺陷》

2.2单跳单向认证SA管理机制的缺陷

文献[4]中指出, 在PMP模式下使用单向认证是不安全的, 并建议使用双向认证。另一方面, Mesh采用单跳节点间SA, 使得每个节点只需管理与相邻节点间的SA的同时, 也带来了不可避免的安全漏洞。一个节点Node-S与同网内的另一非邻节点Node-D (BS或其他节点) 通信时, 必须通过其他中间节点中继。因为SA只能在一跳内实现, 所以Node-S的数据在各中继节点都要解密成明文, 再用此中继节点向下一跳中继节点申请的TEK加密后传向下一跳 (见图3) 。

《图3单跳服务流中继示意图 》

图3单跳服务流中继示意图 

Fig.3 One-hop service-flow relay sketch map

这样就带来2个问题:

1) 中继的服务流数据安全无法保障。每个中间节点实际转发的是Node-S发送的明文, 中间节点可以任意的修改, 伪造和重放中继数据而不被发现。即使中间节点不作任何攻击, 也可知道Node-S的隐私信息明文, 这从数据的私密性来说是不可接受的。

2) 服务流中继开销太大。为了建立一条数据通道需要建立和维护路由各节点间的多个SA, Node-S的数据在各中继节点都要解/加密各做一次, 这需要使用很多带宽和系统资源并带来时延。另外, 每次TEK分配都重复验证同样的证书也是不必要的。

《3 与次优修正路由结合的多跳双向认证SA管理机制》

3 与次优修正路由结合的多跳双向认证SA管理机制

针对Mesh 单跳单向认证SA 管理机制安全和性能的缺陷, 提出了一种与次优修正路由结合的多跳节点间的双向认证SA管理机制。此机制仅在通信的2个节点间建立一个基于双向认证的SA, 而不是在每跳间实现一个SA;TEK分配机制在发起节点和目标节点间实现, 由中间节点转发, 具有前向安全性并对中间节点攻击有强安全性;在SA建立后中间节点只负责中继密文而无需加/解密, 且无法解出明文。该机制与一种次优的修正路由结合, 可将路由建立和初期TEK分配同时进行以减少服务流建立时延。

《3.1使用多跳双向认证的TEK分配机制》

3.1使用多跳双向认证的TEK分配机制

TEK的分配是一个动态更新的过程。为了提高安全性和效率, 将TEK分配分为初始化分配 (第一次TEK分配) 和一般分配 (其余的TEK分配) 。

1) 初始化TEK分配:

发起节点 Node-S→中间节点 (0~N个) →目标节点Node-D: (KEY-REQ) , SEQPKM|SS CertNode-S| SAID | HMAC digest|sigNode-s;

目标节点 Node-D →中间节点→发起节点Node-S: (KEY-REPLY) , SEQPKM| SEQOSS|SAID | old TEKparam | new TEK param | MACaddrNode-S| SS CertNode-D | HMAC digest | sigNode-D (2)

2) 一般TEK分配:

发起节点Node-S→中间节点→目标节点Node-D: (KEY-REQ) , SEQPKM | SAID | HMAC digest | SigNode-S Node-D →中间节点→Node-S: (KEY-REPLY) , SEQPKM | SEQOSS | SAID |old TEKparam | new TEK param | MACaddrNode-S | HMAC digest | SigNode-D (3)

Sig是节点使用自己SS证书中RSA公钥对应的私钥对信息所做的签名, 以保证信息内容不被修改。式 (2) 中如无中间节点时双方直接通信, 否则发起节点Node-S将KEY-REQ按路由转发给中间节点, 中间节点以UDP隧道方式 [1] 多跳中继发往目标节点Node-D, Node-D验证Node-S证书和签名后储存Node-S的RSA公钥, 将附有TEK参数的KEY-REPLY原文原路返回 (不使用UDP隧道方式) 。Node-S收到后验证Node-D证书和签名并储存Node-D的RSA公钥。在式 (3) 中节点证书不再使用, 双方使用储存的对方公钥校验对方签名来鉴别对方身份。SA建立后服务流中继传输见图4, 将TEK分配流程嵌入802.16的SDL流程图, 见图5和图6。

《图4多跳服务流中继示意图》

图4多跳服务流中继示意图

Fig.4 Multi-hops service-flow relay sketch map

《图5发起节点TEK分配SDL流程 》

图5发起节点TEK分配SDL流程 

Fig.5 Source-node TEK distribution SDL flow map

《图6目标节点TEK分配SDL流程》

图6目标节点TEK分配SDL流程

Fig.6 Destination node TEK distribution SDL flow map

《3.2路由建立前TEK分配的修正路由方案》

3.2路由建立前TEK分配的修正路由方案

尽管802.16-2004标准尚未决定使用何种路由协议, 但目前提出的ad hoc 路由协议大多采用按需路由方式, 最具有代表性的是AODV和DSR。按需路由协议使用类似洪泛的方式以一定时延的代价获得路由。单跳单向认证TEK管理中各中间节点间SA的建立和初始化TEK分配由节点间服务流建立请求触发, 必须在路由建立之后进行, 建立路由和建立SA的时间相加会对服务流传输造成较大的时延。多跳双向认证机制只需在通信节点间建立SA, 可将按需路由和开始的一个或多个TEK分配同时进行以减少时延。如将TEK分配和按需路由信息绑定实现, 路由的洪泛方式会造成带宽浪费, 一种解决方法是在寻找路由的同时使TEK管理信息沿一条次优的修正路由传输。

修正路由算法如下:TEK分配开始时, 路径上的每一节点 (包括发起节点Node-S) 先判断按需路由是否存在, 存在则使用按需路由转发, 否则先选中由Mesh网集中式调度树决定的与目标节点Node-D之间的一条集中式路径作为基本的调度树路由, 再将调度树路由中距自己大于一跳的节点与自己的邻节点列表比较, 如找出有节点在列表内, 则修正下一跳为调度树路由中跳数最大的邻节点, 否则仍按调度树路由转发。下一跳节点收到后继续作同样判断以不断修正路由并按修正的路由转发 (见图7) 。

《图7无按需路由时TEK分配修正路由》

图7无按需路由时TEK分配修正路由

Fig.7 TEK distribution corrected routingwithout on demand routings

此方案作为按需路由建立前的临时解决方案, 在按需路由建立之后, TEK分配仍旧按按需路由进行。值得注意的是, 此方案也可用作Mesh网按需路由建立前少量数据传输的一个替代方案。

《4 使用多跳双向认证的TEK分配机制安全性和性能分析》

4 使用多跳双向认证的TEK分配机制安全性和性能分析

《4.1BAN逻辑形式化证明》

4.1BAN逻辑形式化证明

对安全性的讨论仅限于协议机制, 可假设算法是安全的。多跳双向认证中将TEK分配过程分为式 (2) 初始化分配和式 (3) 一般分配2步。在式 (3) 中双方已验证过对方证书, 并使用式 (2) 中储存的对方公钥对对方签名校验, 因此式 (3) 是前向安全的, 其安全性依赖于式 (2) 。这样安全的实现是基于式 (2) 中Node-S收到的KEY-REPLY响应的可信性上。BAN是由Burrows, Abadi, Needham于1989年提出的一种基于信念的模态逻辑 [5]。这一逻辑的目的是在抽象层次上分析分布式网络的安全, 使可信的参与者可以相信是在彼此 (而不是入侵者) 通信。证明的目的是双方建立一个可信任的TEK, 可表述为S|≡TEK和S|≡D|≡TEK。协议可知有Sᐊ{TEK}Pub-key (S)

从式 (2) 中AUTH-REPLY返回CertNode-D和SigNode-D, 以及CertNode-D↔MacaddrNode-D, Node-S可确定REPLY信息及其中TEK确为Node-D发出S|≡D⇒REPLY, S|≡D⇒TEK。

根据Node-D返回MACaddrNode-S以及S|≡D⇒REPLY, Node-S 可知 Node-D 已收到CertNode-S 和其中的pub-key (S) ∶S|≡Dpub_key (S) S

由于双方信息都使用了SEQPKM并签名, 保证了信息的“新鲜”, 得S|≡# (TEK) 。

按消息含义规则 [5]:

按即时确认规则 [5]:

按信任控制规则 [5]:

由式 (4) 和式 (5) 可知双方建立了一个可信任的TEK。

《4.2多跳双向认证的TEK分配机制性能分析》

4.2多跳双向认证的TEK分配机制性能分析

多跳双向认证的TEK分配使用单个SA取代多跳间的多个SA, 减少了大量服务流加解密的次数和SA/TEK管理的开销;在初次交换后不再发送证书, 使用带宽和验证证书的开销也大为减少;使用修正路由和减少加解密的次数也减少了服务流建立和传输的时延。

《表1TEK分配机制性能比较》

表1TEK分配机制性能比较

Table 1 TEK distribution characteristics comparison

 

  单跳单向认证 多跳双向认证

服务流建立时延
TR+2NTN+2NTp max (TR, 2MTN+2MTp)

数据传输时延
N (TN+Ten+Tden) NTN+Ten+Tden

数据加/解密次数
N 1

使用SA/TEK数
N 1

TR—按需路由建立时间, TN—单跳节点间平均网络延时, Tp—节点建立SA延时, Ten—节点加密时延, Tden—节点解密时延, N—路由跳数, M—修正路由跳数 (MN)

 

《5 结论》

5 结论

对802.16-2004 Mesh网络的单跳单向SA机制进行分析, 指出了在安全和效率上存在的缺陷, 并提出一种和修正路由结合的多跳双向SA机制以提高效率, 实现对中间节点的强安全性, 并是前向安全的。安全性分析证明了此机制的安全性, 性能分析给出了此机制效率上的优势。多跳双向SA机制针对802.16-2004 Mesh网络提出, 可简单的嵌入802.16协议, 具有一定的实用价值。除此之外, 对中间节点的强安全性使得TEK分配机制可使用在ad hoc网中以提供通过不可靠节点的通信, 修正路由也可作为Mesh网在按需路由建立前一种次优的临时路由方式。