WLAN标准GB15629.11安全机制—WAPI协议解析
时间:08-29
来源:互联网
点击:
基于WAI的安全接入控制分类
根据WLAN的不同类型,可将基于WAI的安全接入控制作以下分类。
BSS(有AP)
WAI典型范例,采用公钥密码技术实现STA与AP之间的相互身份鉴别,证书鉴别成功后分单播密钥协商和组播密钥通告。
IBSS(Ad Hoc,无AP)
WAI采用共享密钥完成STA之间的相互身份鉴别。网络中各个STA约定一个共享密钥,用户通过设置(输入)共享密钥接入网络,和其他用户交换信息。用户输入的为共享主密钥。
WDS模式
WAI采用共享密钥完成STA之间的相互身份鉴别。网络中各个STA约定一个共享密钥,用户通过设置(输入)共享密钥接入网络,和其他用户交换信息。用户输入的为共享主密钥。
WPI
WPI采用国家密码管理委员会办公室批准的用于WLAN的SSF43对称分组加密算法对MAC子层的MSDU进行加/解密处理,有两种工作模式:用于数据保密的OFB模式和用于完整性校验的CBC-MAC模式。WPI封装过程
数据发送时,WPI的封装过程为:
1.利用加密密钥和数据分组序号PN,通过工作在OFB模式的加密算法对MSDU(包括SNAP)数据进行加密,得到MSDU密文;
2.利用完整性校验密钥与数据分组序号PN,通过工作在CBC-MAC模式的校验算法对完整性校验数据进行计算,得到完整性校验码MIC;
3.封装后再组帧发送。
WPI解封装过程
数据接收时,WPI的解封装过程为:
1.判断数据分组序号PN是否有效,若无效,则丢弃该数据;
2.利用完整性校验密钥与数据分组序号PN,通过工作在CBC-MAC模式的校验算法对完整性校验数据进行本地计算,若计算得到的值与分组中的完整性校验码MIC不同,则丢弃该数据;
3.利用解密密钥与数据分组序号PN,通过工作在OFB模式的解密算法对分组中的MSDU密文进行解密,恢复出MSDU明文;
4.去封装后将MSDU明文递交至上层处理。
结语
目前,我们已用软件实现了STA的WAPI机制,运行结果完全能够满足GB15629.11标准的要求。此外,我们还使用硬件描述语言Verilog HDL对WPI的封装和解封装过程进行了RTL描述,并从数字电路设计的角度对其进行了优化。总体而言,WPI硬件仿真结果较WPI软件运行在时间上体现了强大的优势,这对于保证无线局域网数据通信的高速性无疑是很重要的一点。当然,WPI软件可以与驱动程序相结合,体现低成本和易维护的特点。对于WAI,整个过程处在AP和STA之间网络协议数据通信之前,因此对时间的要求要略逊一些,而过程相对繁杂,笔者认为更宜用软件实现。
根据WLAN的不同类型,可将基于WAI的安全接入控制作以下分类。
BSS(有AP)
WAI典型范例,采用公钥密码技术实现STA与AP之间的相互身份鉴别,证书鉴别成功后分单播密钥协商和组播密钥通告。
IBSS(Ad Hoc,无AP)
WAI采用共享密钥完成STA之间的相互身份鉴别。网络中各个STA约定一个共享密钥,用户通过设置(输入)共享密钥接入网络,和其他用户交换信息。用户输入的为共享主密钥。
WDS模式
WAI采用共享密钥完成STA之间的相互身份鉴别。网络中各个STA约定一个共享密钥,用户通过设置(输入)共享密钥接入网络,和其他用户交换信息。用户输入的为共享主密钥。
WPI
WPI采用国家密码管理委员会办公室批准的用于WLAN的SSF43对称分组加密算法对MAC子层的MSDU进行加/解密处理,有两种工作模式:用于数据保密的OFB模式和用于完整性校验的CBC-MAC模式。WPI封装过程
数据发送时,WPI的封装过程为:
1.利用加密密钥和数据分组序号PN,通过工作在OFB模式的加密算法对MSDU(包括SNAP)数据进行加密,得到MSDU密文;
2.利用完整性校验密钥与数据分组序号PN,通过工作在CBC-MAC模式的校验算法对完整性校验数据进行计算,得到完整性校验码MIC;
3.封装后再组帧发送。
WPI解封装过程
数据接收时,WPI的解封装过程为:
1.判断数据分组序号PN是否有效,若无效,则丢弃该数据;
2.利用完整性校验密钥与数据分组序号PN,通过工作在CBC-MAC模式的校验算法对完整性校验数据进行本地计算,若计算得到的值与分组中的完整性校验码MIC不同,则丢弃该数据;
3.利用解密密钥与数据分组序号PN,通过工作在OFB模式的解密算法对分组中的MSDU密文进行解密,恢复出MSDU明文;
4.去封装后将MSDU明文递交至上层处理。
结语
目前,我们已用软件实现了STA的WAPI机制,运行结果完全能够满足GB15629.11标准的要求。此外,我们还使用硬件描述语言Verilog HDL对WPI的封装和解封装过程进行了RTL描述,并从数字电路设计的角度对其进行了优化。总体而言,WPI硬件仿真结果较WPI软件运行在时间上体现了强大的优势,这对于保证无线局域网数据通信的高速性无疑是很重要的一点。当然,WPI软件可以与驱动程序相结合,体现低成本和易维护的特点。对于WAI,整个过程处在AP和STA之间网络协议数据通信之前,因此对时间的要求要略逊一些,而过程相对繁杂,笔者认为更宜用软件实现。
- 基于Verilog HDL语言的CAN总线控制器设计及验证(07-01)
- 基于CPLD的OMAP-L137与ADS1178数据通信设计(01-14)
- 基于FPGA的无线同播频率校准装置的设计(03-11)
- 基于FPGA的USB接口IP核设计(03-13)
- 利用FPGA实现HDB3编解码功能(03-16)
- FC-AL系统中FPGA的弹性缓存设计(03-17)
