概述

之前802.1X解决了无线局域网的身份验证问题,而802.11i则是为了解决之前WEP链路层数据加密问题,有2种方式:

  • Temporal Key Integrity Protocol(临时密钥完整性协议,简称 TKIP)
  • Counter Mode with CBC-MAC Protocol(计数器模式及密码块链消息认证码协议,检称CCMP)

临时密钥完整性协议(TKIP)

TKIP是为了弥补WEP缺陷的临时性协议,是在WEP的补丁,采用和WEP同样硬件,这样老的支持WEP的设备就可以通过软件升级到支持TKIP。

TKIP与WEP差异

可以把TKIP理解成用软件的方式在WEP外包了再一层,提高安全性。

密钥层次结构与自动密钥管理

WEP直接使用单一主密钥(master key),TKIP使用多个主密钥,而最后用来加密帧的密钥是从这些主密钥派生而来。且TKIP提供了密钥管理操作来安全的跟新主密钥。

每帧生产密钥(per-frame keying)

TKIP会为每个帧(从主密钥)派生出特有RC4密钥,这个过程称为密钥混合(key mixing)

序列号计数器(sequence counter)

为每个帧都标上序列号以此来识别次序错乱的帧,防止重放攻击(replay attack)

新的消息完整性校验(message integrity check,简称MIC)

TKIP采用称为Michael的完整性校验算法,取代WEP使用的线性算法,源地址、目标地址、MSDU priority、和没有加密的MSDU通过Michael算计计算的结果,8个自己标记M0~M7

消息完整性校验失败对策

当MIC校验失败是,TKIP设计了对策(countermeasure)来应对。

TKIP初始向量的使用与密钥混合

TKIP将IV从24位增加至48位,再通过密钥混合生产不同的RC4密钥来加密帧,密钥混合会加入传送者MAC地址,这样即使IV相同,也会有不同的RC4密钥

TKIP序列计数器与重放攻击保护

TKIP的IV也充当序列号计数器作用,每次有新的主密钥,初始向量/序列号计数器会被重置位1,每穿一个帧,序列号计数器随之加1.
序列号计数器也可以防范重放攻击,当收到帧的序列号大于当前值就给予接受,否则丢弃。

TKIP加密解密

  • TSC0-TSC5,分别是TSC的每个字节,TSC由TKIP序列计数器生成,为每一个MPDU递增生成6字节TSC序列号。
  • TK(temporal key)临时密钥,由PTK或者GTK派生而来,PTK是由SSID和预设共享密钥计算出来的
  • TA 发射地址
  • keyplaintext MSDU,还没加密的MSDU(就是frame body)
  • MIC key,从TK中取出指定位,
    A STA shall use bits 128–191 of the temporal key as theMichael key for MSDUs from the Authenticator’s STA to the Supplicant’s STA.
    A STA shall use bits 192–255 of the temporal key as the Michael key for MSDUs from the Supplicant’s STA to the Authenticator’s STA.
  • SA 源地址
  • DA目地地址

把MIC追加到MSDU尾部,看作MSDU’ 如果需要分片,则将MSDU’ 分片,那么plaintext MSDU和MIC就可能分别再2个MPDU被发送出去,接收端会将MPDU重组生成原来的MSDU’ 。每个分片的MPDU使用相同的extended IV,但是每个MPDU的TSC会单调递增。

和WEP一样,会在每个MPDU后加上ICV
TKIP通过phase1和phase2 生产WEP seed
组后将keystream和plainte MPDU,ICV,IV(TSC0,TSC1 Key ID),extended IV, MIC进行异或计算生成最后用于发送的Encrypted MPDU
下面是经过TKIP加密以后生成的加密MPDU:

从图中可以看到,该帧主要由802.11 MAC Header(前32个字节)、Frame Body 和CRC三个部分构成,Frame Body部分主要由以下5部分组成:

(a)IV/Key ID
(b)Extended IV
(c)MSDU payload
(d)MIC
(e)ICV

(1)第一部分是802.11 MAC Header(前32个字节),可以看出头部并没有作任何改动

(2)IV/Key ID : 它的长度是4个字节,和WEP加密中的IV长度一样,但是其中的内容并不一样,它的前三个字节分别是TSC1,WEP Seed和 TSC0 (TSCn后面分析);最后一个字节分别由Reserved(5bit),EXT IV 1bit,Key ID 2bit; EXT IV是用来指定是否传送后面的Extended IV,对于WEP来说不需要这部分,所以设为0,对于TKIP加密来说,Extended IV是必须的,所必须设为1;Key ID是key index缩写,是从WEP继承而来的,在WEP中可以用于指定使用第几个key,但是在TKIP中一般设为0。

TSC5是TSC最高有效位,而TSC0是TSC最低有效位。
WEP Seed是(TSC1 | 0x20) & 0x7f的结果

(3)Extended IV: 它的长度4个字节,它是从48-bit TKIP sequence counter (TSC2 through TSC5)派生而来的;从图中可以看出IV/Key ID和Extended IV字段都是没有加密的,我们也可将这两个字段一共8个字节看成TKIP的头部

(4)接下来是加密的payload MSDU

(5)MSDU后面是MIC,8个字节,当它追加到MSDU后面时,就成了MSDU的一部分,用于后面的MPDU分片

(6)Frame Body的最后是Integrity Check Value (ICV),4个字节,它是通过计算整个MPDU而来的。MSDU upper-layer payload和 MIC及ICV一样,都有进行加密

(7)帧的最后一部分是CRC,它是4个字节的FCS,它是通过计算全部的帧头和帧体部分得来的(calculated over all the fields of the header and frame body )

由于额外的IV(4字节),Extended IV(4字节),MIC(8字节)和ICV(4字节),一共20个字节。也就是说TKIP加密额外的给数据帧体添加了20个字节,那么TKIP加密的数据帧中MSDU‘ 的最大值将会达到2324字节(802.11规定一个帧中MSDU的最大size是2304字节)。

上图a是计算mic需要参数,b是MSDU需要分片时的情况。
TKIP头部(8字节)和MIC(8字节)和WEP ICV部分是基于原来的帧多出部分,当开启TKIP加密的时候,那么MPDU的frame body部分将会增大20个字节,这样所允许的最大frame body将是2304+20=2324个字节。
下面时TKIP的解密,主要时输入TA、TK、TSC和已经加密的MPDU

CCMP(计数器模块及密码块链消息认证码协议)

CCMP以AES算法取代WEP、TKIP中的RC4,其中AES密钥和使用128bits
主要输入有

  • MAC header:802.11 MAC 头部(WEP、TKIP都没有)
  • plaintext Data(MSDU): 需要发送的playload
  • PN(packet number),长度128bits,和KTIP中TSC相似,防止回放和注入攻击
  • TK(temporal key):和TKIP加密一样,CCMP也有一个128bit的TK,它可能是由SSID+passphase计算来的PTK(pairwise transient key ),也可能是GTK(group temporal key ),两者分别用于单播数据加密和组播数据加密
  • Key ID: 和TKPIP中的一样,用于指定加密用的key,注意这个ID是index的缩写,一般设为0
  • Nonce:他是一个随机数,而且只生成一次,它一共长104bit,是由PN(packet number,48bit), Qos中的优先级字段(8bit)和TK(transmitter address , 48bit)这三个字段组合来的,需要注意,不要和4路握手的Nonce混淆
  • AAD Additional authentication data (AAD):它是由MPUD的头部构建而来的,它用于确保MAC头部的数据完整性,接收端会使用这个字段来检验MAC头部
    下面时CCMP加密

    下图是CCMP MPDU的帧格式:

    CCMP头部(8字节)和MIC(8字节)部分是基于原来的帧多出部分,当开启CCMP加密的时候,那么MPDU的frame body部分将会增大16个字节,这样所允许的最大frame body将是2304+16=2320个字节。
    下面是CCMP的解密过程:

802.11无线权威指南读书笔记(7)802.11:RSN、TKIP、CCMP相关推荐

  1. 802.11无线权威指南读书笔记(12)直接序列物理层DSSS与HR/DSSS(802.11b)

    802.11的第二章物理层规范是直接序列扩频(direct sequence spread spectrum,简称DSSS) DS PHY采用差分相移键控(differential phase shi ...

  2. HTTP权威指南读书笔记

    <<HTTP权威指南>>读书笔记 第一部分:Web的基础 第1章:HTTP概述 主要内容 1.什么是HTTP 2.HTTP的基本组件 HTTP HTTP:HTTP(Hypert ...

  3. HTML5权威指南----读书笔记

    <!DOCTYPE html> <html> <head><meta name = 'keywords' content="HTML5权威指南--- ...

  4. mysql数据库权威指南_MySQL_MySQL权威指南读书笔记(三),第二章:MYSQL数据库里面的数 - phpStudy...

    MySQL权威指南读书笔记(三) 第二章:MYSQL数据库里面的数据 用想用好MYSQL,就必须透彻理解MYSQL是如何看待和处理数据的.本章主要讨论了两个问题:一是SQL所能处理的数据值的类型:二是 ...

  5. MongoDB权威指南读书笔记——CRUD

    插入并保存文档 插入是向MongoDB中添加数据的基本方法.可以使用Insert方法向目标集合插入一个文档:db.foo.insert({"bar" : "baz&quo ...

  6. 计算机网络和http权威指南 读书笔记

    计算机网络笔记 网络层 网络层向上提供无连接的,尽最大努力交付的数据报服务 网络层不提供数据质量承诺 物理层使用的中间设备叫转发器repeater 数据链路层叫网桥bridge 网络层叫路由器rout ...

  7. MapReduce总结 + 相关Hadoop权威指南读书笔记(未完......欢迎补充,互相学习)

    文章目录 MapReduce概述 MapReduce优缺点 MapReduce核心思想 MapReduce进程 MapReduce编程规范 WordCount 案例实操 本地测试 集群测试 Hadoo ...

  8. HTTP权威指南读书笔记(一)HTTP概述、URL和资源及报文详解

    一.HTTP概述 1.WEB客户端和服务器. 2.资源:资源可以是各种格式的静态文件,也可以是应用程序. 3.媒体类型 4.URI:统一资源标识符 URL:统一资源定位符. URL的第一部分称为方案: ...

  9. Java性能优化权威指南-读书笔记(一)-操作系统性能监控工具

    一:CPU 1. 用户态CPU是指执行应用程序代码的时间占总CPU时间的百分比. 系统态CPU是指应用执行操作系统调用的时间占总CPU时间的百分比.系统态CPU高意味着共享资源有竞争或者I/O设备之间 ...

最新文章

  1. matlab怎么没有编辑器,在不打开编辑器窗口的情况下开始一个新的MATLAB会话
  2. java线程挂起唤醒_JAVA并发(10)—interrupt唤醒挂起线程
  3. ftp协议是一种用于_______的协议_网工知识角|快速理解FTP和TFTP的区别,实用收藏...
  4. 电费竟然占了数据中心运维总成本的7成?
  5. jupyter notebook 某个cell 一直在运行
  6. 使用mkdir创建同级多目录
  7. java录制pcm文件_AudioRecord录制PCM格式的语音示例
  8. 莫比乌斯带catia建模_用sw2018制作莫比乌斯环图文教程
  9. 医疗机构被勒索软件攻击的可能性是金融机构的114倍
  10. css3制作八棱锥_CSS3制作各种形状图像
  11. Python匹配年月日和年月
  12. Kontakt 6 for mac - 音频采样器 双版本
  13. CE修改器基础操作教程
  14. cookie二级域名和三级域名跨域实践
  15. 现代信号处理——时频分析与时频分布(短时Fourier变换)
  16. 去除CSDN 博客页广告的历程
  17. DevOps管道中的测试
  18. 【已解决】C盘-系统引导盘扩大容量
  19. 【matlab】【Datcom】气动解算软件win10报错解决办法及运行交互示例
  20. 获取各大电商平台商品详情api(api接口)

热门文章

  1. java接口中只能定义常量和抽象方法_java基础19. 下列有关接口的叙述错误的是哪项?() A.接口中只能包含抽象方法和常量 B.一个类可以实现多个接口...
  2. 1.19 Cubemx_STM32F4 TIM(五)---- 总结
  3. cad详图怎么画_菜鸟入门必备:结构图如何根据建筑图绘制?【CAD】
  4. 详解企业级视频会议系统的五大热门技术
  5. 照片滤镜--为图片进行调色
  6. uni-app - 搜索历史记录功能(纯前端)
  7. 2021年软件测试高薪就业秘诀:高薪工作地点+必修技能+涨薪技能
  8. 【Linux系统】基本指令(中) {输入输出,重定向,管道;显示时间和日期;打包和压缩,包和文件的区别}
  9. 50N06S-ASEMI低压N沟道MOS管50N06S
  10. Excel VBA-批量将多个sheet表另存为单独的工作薄文件