WiMAX网络安全体系架构主要包括的机制有:数据加密(包含数据机密性和完整性)、认证(包括设备认证和用户认证)、访问控制和密钥管理。这些机制通过IEEE802.16系列标准中定义的PKI(公钥基础设施)、EAP(可扩展认证协议)等架构,以及其它手段(如Wi-Fi、VPN)等,可以起到很好的支撑和保障作用,如图1所示。
加密封装协议对BWA网络中的分组数据进行加密处理。该协议定义了一组双方都支持的加密算法组件,即双方的数据加密算法和认证算法。同时,该协议将加密算法运用到MAC PDU载荷的规则。
加密是针对MAC PDU的载荷(有效信息)进行的,对通用MAC帧头是不进行加密的。所有的MAC管理消息的发送都不受加密的影响。
IEEE 802.16标准安全子层包含了诸多加密算法。它们可用于确保密钥交换的安全,并对传输数据进行加密。对于某些应用来说,其中的一些算法是可选的。IFFF 802.16系列标准中的加密算法包括RSA、DES-CBC和AF\S-CCM等。
一、RSA加密算法
在IEEE 802. 16标准中,终端使用PKM协议从基站获取认证和数据的加密参数,以及进行周期性的重认证和密钥更新。PKM协议使用X.509数字证书、RSA公钥加密算法和增强加密算法来实现基站与终端之间的密钥交换。
Diffie和Hellman提出陷门单向函数的概念后,1977年由Rivest、Shamir和Adleman提出了以他们三个人名字首字母命名的RSA公钥密码算法。RSA加密算法是第一个既能用于数据加密也能用于数字签名的算法。它易于理解和操作,是目前应用最广最典型的公钥密码算法。虽然RSA的安全性—直未能得到理论上的证明,但是它经历了各种攻击,至今未被完全攻破。
RSA公钥密码算法的内容包括:设p和q是两个相异的质数,-e是与p-l和q-l互质的数,n-pq,整数e满足de=lmod (p-l) (q-l),此时接收者B的公钥是(n,e),私钥是(p,q,d)。
假设发送者A要将消息m∈(0,…,n-l)秘密发送给B,首先计算c=me(mod n),并将密文c发送给B,B计算m=cd(mod n)进行解密,其加解密过程如图2所示。
RSA的安全性依赖于大数分解,但是否等同于大数分解一直未能得到理论上的证明,因为没有证明破解RSA就一定需要作大数分解。假设存在—种无须分解大数的算法,那它肯定可以修改成为大数分解算法。
目前,RSA的一些变种算法已被证明等价于大数分解。不管怎样,分解n是最显然的攻击方法,现在人们已能分解多个十进制位的大素数。因此,模数n必须选大一些,因具体适用情况而定。
由于进行的都是大数计算,使得RSA最快的情况也比DES慢得多,无论是软件还是硬件实现。速度一直是RSA的缺陷。一般来说只用于少量数据加密。
二、DES-CBC算法
如果SA加密组件中数据加密算法的标识符等于Ox01,那么将使用CBC模式的DES算法,来加密与该SA相关联的业务数据。使用DES-CBC(密码分组链接模式下的数据加密标准)技术,可以对MAC PDU的载荷域进行加密,但无法对通用MAC头(GMH)和循环冗余校验(CRC)数据进行加密。DES-CBC的加密过程如图3所示。
实现密码分组链接(CBC)模式需要一个初始化向量(IV),该微量是通过将安全关联(SA)中的初始化向量(IV)参数与物理层同步域内容进行异或(XOR)运算得到的。CBC IV的计算方法是:在下行链路上,CBC的初始化是通过将TEK密钥信息中的IV参数与最新DL-MAP中的物理层同步域的内容进行异或运算来实现赋在土行链路上,CBC的初始化是通过将TEK密钥信息中的IV参数与DL-MAP中的物理层同步域的内容进行异或运算来实现的,这个DL-MAP在当前UL-MAP创建或接收到时必须是有效的。
DES加密过程使用连接安全关联中的初始化向量(IV)和传输加密密钥(TEK),来对PDU载荷进行加密。然后,密文载荷代替原始明文载荷。GMH中的EC(加密控制)位为l时,表示对载荷进行加密操作:加密密钥序列(EKS)字段只有在EC字段设置成l才有效,用于表示传输加密密钥和初始向量的序号将被用于载荷加密。对于新的密文载荷,如果包含了CRC,则需要对其进行更新。
总体而言,DES-CBC加密方案具有较低的安全性,这一方面是由于DES算法本身的脆弱性造成的,另一方面是用于这种加密方法的数据封装没有完整性和抗重放保护机制。
三、AES-CCM算法
对称密码已经广泛应用于数据的保密和数据完整性认证。每一种不同算法的分组密码在具体运用时,都会选择一种具体的操作模式。这些模式仅提供加密服务而不提供鉴别服务,但有些应用中除了需要加密服务外还要求鉴别服务。
IEEE 802.16e标准中增加了AFS加密算法,用于提供强度更高的数据加密功能。如果SA加密组件中数据加密算法的标识符等于Ox02,那么将使用CCM模式的AES算法来加密与该SA相关联的业务数据。该标准定义了AES的4种模式:CBC模式、计数器(CTR)模式、CCM(具有CBC-MAC的计数器)模式和电子密码本(ECB)模式。由于计数器模式具有并行数据处理和加密分组预处理功能,因而其性能比CBC要好—些,且易于实现,CTR模式工作原理如图4所示。
CCM模式在计数器模式的基础上增加了确定加密消息真实性的功能。ECB模式通常用于对TEK进行加密。AES-CCM要求发射机生成唯一的随机值Nonce,每个分组进行加密时使用的随机值各不相同。IEEE, 802. 16e定义的Nonce值长度为13字节,如图5所示。第0~4字节是由GMH的前5字节构成的。第5~8字节是预留段,全部设置为0。第9~12字节是分组序号(PN)。PN与安全关联(SA)对应,当安全关联建立和新TEK安装完毕后,PN设置为1。由于Nonce值取决于GMH,因而接收机能够检预0到GMH的变化。
为了产生消息认证码(MAC),AES-CCM使用的是CBC模式的一种变形。AES-CCM不使用IV,而是在对消息进行加密之前,将CBC分组添加到消息的开头。初始CBC分组是由一个标记、分组Nonce值和载荷长度构成的,如图6所示。
为了对载荷和消息认证码进行加密,AES-CCM采用了计数器(CTR)模式。使用这种模式,可生成n个计数器分组,其中n是与消息长度和消息认证码的一个分组长度(AES使用128比特分组)之和相匹配的分组数。第一个分组用于对消息认证码进行加密,其余分组用于对载荷进行加密。计数器分组是由标识、分组Nonce、分组序号i(0≤i≤n)组成的,如图7所示。
消息认证码是通过对初始CBC分组和明文载荷进行加密得到的。消息认证码生成和消息认证码的加密过程如图8所示。产生消息认证码的第一步是从PDU中提取明文载荷,并将初始CBC分组添加到明文载荷的起始位置。然后,使用AES-CBC和来自连接SA的TEK对消息进行加密,并选择加密后输出结果的最后128比特(AES分组的大小)来表示消息认证码。
发送者执行此过程,然后对消息和消息认证码进行加密。接收者对消息和消息认证码进行解密,然后对消息执行相同的过程。然后,接收者将生成的消息认证码与接收到的消息认证码进行比较。如果二者相同,则消息通过认证,否则丢弃该消息。
对消息认证码的加密,是通过使用AES-CTR模式和来自于SA的TEK对计数器分组O进行加密来实现的。加密后的分组与消息认证码进行异或运算,来生成加密的消息认证码版本。对载荷的加密,是通过使用AES-CTR模式和用于加密消息认证码的同-TEK对1~n的计数器分组进行加密得到的。然后,从PDU中提取出明文载荷,并与加密后的计数器分组进行异或运算,从而生成密文载荷,如图9所示。
然后,将分组序号到密文载荷前,将消息认证码添加到密文载荷后。如此以来,这组数据代替了明文载荷。将GMH中的EC位设置为1,表示加密后的载荷,同时对EKS进行设置,以表示用来加密载荷的TEK。对于新的密文载荷,如果包含了CRC,则需要对其进行更新。
小知识之WiMax
WiMax(Worldwide Interoperability for Microwave Access),即全球微波互联接入。WiMAX也叫802·16无线城域网或802.16。WiMAX是一项新兴的宽带无线接入技术,能提供面向互联网的高速连接,数据传输距离最远可达50km。WiMAX还具有QoS保障、传输速率高、业务丰富多样等优点。WiMAX的技术起点较高,采用了代表未来通信技术发展方向的OFDM/OFDMA、AAS、MIMO等先进技术,随着技术标准的发展,WiMAX逐步实现宽带业务的移动化,而3G则实现移动业务的宽带化,两种网络的融合程度会越来越高。