1 引言
无线局域网 (WLAN) 的设计特点不适用于室外的宽带无线接入 (BWA) , IEEE802.16工作组相继制定了802.16和802.16a无线城域网标准。2004年10月这2个标准融合增补成为统一的802.16-2004标准
《图1集中式级联树状网》
图1集中式级联树状网
Fig.1 Centralized concatenation tree network
《图2分布式ad hoc网》
图2分布式ad hoc网
Fig.2 Distributed ad hoc network
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证书
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.2单跳单向认证SA管理机制的缺陷》
2.2单跳单向认证SA管理机制的缺陷
文献
这样就带来2个问题:
1) 中继的服务流数据安全无法保障。每个中间节点实际转发的是Node-S发送的明文, 中间节点可以任意的修改, 伪造和重放中继数据而不被发现。即使中间节点不作任何攻击, 也可知道Node-S的隐私信息明文, 这从数据的私密性来说是不可接受的。
2) 服务流中继开销太大。为了建立一条数据通道需要建立和维护路由各节点间的多个SA, Node-S的数据在各中继节点都要解/加密各做一次, 这需要使用很多带宽和系统资源并带来时延。另外, 每次TEK分配都重复验证同样的证书也是不必要的。
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隧道方式
《图4多跳服务流中继示意图》
图4多跳服务流中继示意图
Fig.4 Multi-hops service-flow relay sketch 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.1BAN逻辑形式化证明》
4.1BAN逻辑形式化证明
对安全性的讨论仅限于协议机制, 可假设算法是安全的。多跳双向认证中将TEK分配过程分为式 (2) 初始化分配和式 (3) 一般分配2步。在式 (3) 中双方已验证过对方证书, 并使用式 (2) 中储存的对方公钥对对方签名校验, 因此式 (3) 是前向安全的, 其安全性依赖于式 (2) 。这样安全的实现是基于式 (2) 中Node-S收到的KEY-REPLY响应的可信性上。BAN是由Burrows, Abadi, Needham于1989年提出的一种基于信念的模态逻辑
从式 (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) 。
按消息含义规则
按即时确认规则
按信任控制规则
由式 (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—修正路由跳数 (M≥N)
5 结论
对802.16-2004 Mesh网络的单跳单向SA机制进行分析, 指出了在安全和效率上存在的缺陷, 并提出一种和修正路由结合的多跳双向SA机制以提高效率, 实现对中间节点的强安全性, 并是前向安全的。安全性分析证明了此机制的安全性, 性能分析给出了此机制效率上的优势。多跳双向SA机制针对802.16-2004 Mesh网络提出, 可简单的嵌入802.16协议, 具有一定的实用价值。除此之外, 对中间节点的强安全性使得TEK分配机制可使用在ad hoc网中以提供通过不可靠节点的通信, 修正路由也可作为Mesh网在按需路由建立前一种次优的临时路由方式。