学一点Wi-Fi: CCMP
0. 准备知识
0.1 一些定义
AAD:additional authentication data
AES:Advanced Encrypthon Standard,作为数据块加密的标准,要求输入为一个key与一个128bit的数据块(data block)。
1. CCMP是什么
CCMP全称是CTR with CBC-MAC protocol(CounTeR with Cypher Block Chaining Message Authentication Code protocol),是RSNA中用于数据私密性以及完整性的协议之一。CCMP协议基于CCM算法,CCM算法基于AES标准。
CCMP提供data confidentiality,authentication,integrity以及重放保护(replay protection)。
通常使用128bit 密钥,记为CCMP-128,其中MIC为8字节。
CCM每个session需要一个新的TK。每个frame需要一个唯一的nonce(CCMP用48bit的packet number(PN)实现)。PN不能重复。
如图1,CCMP-128扩展了原始的MPDU 16个字节,8个是CCMP头,另外8个是MIC。CCMP头由PN,ExtIV以及Key ID组成。
Notes:
a. WEP流程结束后,MPDU相比较原始的MPDU增加了8字节。其中WEP header 为4字节,其中3个字节为IV,6bit保留,2bit为key id;ICV4字节
b. TKIP则增加了20字节。TKIP header为8字节,前4字节模拟WEP的header(TSC,WEP seed固定位),WEP header中保留的6bit有一个bit使用为ExtIV标志位,表示有扩展IV的存在,剩下5bit仍保留,后4字节为扩展IV,即TSC的高4字节;MIC为8字节;ICV占4字节
c. CCMP增加了16字节,CCMP header为8字节(如图1);MIC 8字节;不再使用ICV
各协议Header的对比如表1。TKIP中的TSC既扩充了WEP中的IV,又充当了防止重放攻击的计数器;CCMP则使用了PN防止重放攻击。
2. CCMP加密流程
如图2,CCMP加密流程可以描述如下:
a. PN递增
b. 根据MPDU的MAC header构造AAD。
c. 构造Nonce。由PN,A2以及priority构造。A2是MPDU Address 2。
d. PN和key id放入CCMP header
e. TK,AAD,nonce,MPDU做CCM算法,得到加密的data和MIC。
f. MAC header,CCMP header以及加密的data、MIC组装得到CCMP MPDU。
那么,CCM算法加密流程又是怎样的?AES标准要求输入key和128bit的数据块处理得到加密后的数据块;而CCM的做法则是(如图3):1)首先将数据(图中的Message)按照128bit分块(如果不足则需要填充)。2)AES标准对Counter进行处理。3)得到的结果与数据块再做异或得到最终的Ciphertext。这样一来,即使数据块中的数据相同,最终的加密块也不会一样。
3. 小结
使用CCMP加密流程的个人无线网络就是常见的WPA2-PSK加密网络,其安全性远比WEP的改进协议TKIP来的高。而现在市面上的设备基本都支持WPA2了,因此家庭无线网络还是建议选择WPA2。
4. 参考资料
[1]IEEE Standards Association. IEEE Std 802.11-2016, IEEE standard for local and metropolitan area networks—part 11: Wireless LAN medium access control (MAC) and physical layer (PHY) specifications[J]. 2016.
[2]http://etutorials.org/Networking/802.11+security.+wi-fi+protected+access+and+802.11i/Part+II+The+Design+of+Wi-Fi+Security/Chapter+12.+AES+CCMP/AES+Overview/
[3]https://blog.csdn.net/lee244868149/article/details/52733277
[4]https://www.controleng.com/articles/wireless-security-ieee-802-11-and-ccmp-aes/
学一点Wi-Fi: CCMP相关推荐
- 大学生学python到底有没有有-为什么我会想建议每个大学生都学一点编程?
原标题:为什么我会想建议每个大学生都学一点编程? 一个今年上岸.成功录取到中山大学的同学,昨天疯狂轰炸我: 他没想到导师主动联系他,让他参加非常重要的课题研究. "当初抱着试一试的心态学的编 ...
- 人人都要学一点深度学习(1)- 为什么我们需要它
人人都要学一点深度学习(1)- 为什么我们需要它 版权声明 本文由@leftnoteasy发布于 http://leftnoteasy.cnblogs.com, 如需全文转载或有其他问题请联系whee ...
- 学一点 mysql 双机异地热备份----快速理解mysql主从,主主备份原理及实践
学一点 mysql 双机异地热备份----快速理解mysql主从,主主备份原理及实践 原文 学一点 mysql 双机异地热备份----快速理解mysql主从,主主备份原理及实践 感谢大家在上一篇 学一 ...
- wifi频率和zigbee干扰_浅谈ZigBee和Wi—Fi的共存和干扰
龙源期刊网 http://www.qikan.com.cn 浅谈 ZigBee 和 Wi - Fi 的共存和干扰 作者:姜伟 朱凯 刘童 来源:<科技视界> 2013 年第 16 期 [摘 ...
- 串行异步通信_每天学一点/ 电工:PLC:串行通信
每天学一点/ 电工案例:西门子PLC STEP7-SMARTPLC:串行通信 1. 并行通信与串行通信 并行通信以字节或字为单位传输数据,已很少使用.串行通信每次只传送二进制数的一位,最少需要两根线就 ...
- 比较802.11ac(Wi‑Fi 5)和802.11ax(Wi‑Fi 6)
MIMO 802.11ac仅在下行模式下,支持多用户MIMO. 802.11ax不仅下行链路:也在上行链路支持MIMO功能,因此多个用户可以同时上传视频. 调制方法 802.11ax具有更高的调制方案 ...
- 学一点django基础
学一点Django基础 目录 文章目录 目录 一.Django框架的介绍 Django的安装 Django框架开发 创建项目的指令 Django项目的目录结构 URL 介绍 视图函数(view) Dj ...
- 【Arcgis每天学一点】从无人机航测的DSM上提取准确的高程点
最近,想着要分享一些Arcgis软件的使用心得,但却一直无从入手,不知道写点什么.实际上在各大平台上已经有了大量的Arcgis教程,不管对于初学者,还是有点基础想要进阶的,都可以找到很多的学习资源. ...
- 学一点SQL注入基础
文章目录 学一点SQL注入基础 思维导图 注入原理 MySQL三种注释 MySQL三种注入方式 联合查询注入 确定字段数 常规步骤 sqlmap的使用 跨库注入 MySQL注入获取最高权限-文件操作 ...
- 学一点Redis基础
文章目录 学一点Redis基础 **Redis介绍** **安装** **配置文件详解** **数据类型** **字符串类型(string)** **==位图操作bitmap==** **列表数据类型 ...
最新文章
- XML配置文件的命名空间与Spring配置文件中的头
- oracle跨越千年处理
- DockOne微信分享(一三一):Juice——一种基于MesosFramework的任务云框架
- python代码编辑器、最好_这十大文本/代码编辑器最好用
- hybris recode
- Anonymous Shared Memory android 匿名共享内存
- 使用latex分割与合成PDF
- 计算机辅助工程分析及应用论文,毕业论文:《浅谈计算机辅助工程(CAE)》.doc...
- cpu顶盖怎么看步进_【有趣】第19期:如何从CPU顶盖获取有用信息(上)?
- 阿里云推送ReactNative简单集成
- Codefroces 760 B. Frodo and pillows
- 天天向上python题目答案_Python入门习题3.天天向上
- PPT文件带有打开密码怎么解决
- 妹子:我都这样给你讲类加载器了,还不懂!
- ADT: Graph 图
- python设计模式篇3---创建型模式
- 关于 华为freelace蓝牙耳机 配对电脑的教程
- 胆汁酸代谢物质靶向代谢检测
- Flash 安装失败
- 深度学习中的embedding
热门文章
- shell脚本中编写SQL中 以传参(${accdate})的方式 动态:求 前12个月的日期和求 前一周(7天的日期)
- 三菱系统m70计算机连接错误,这可能是最齐全的三菱M70错误代码大全了
- uniapp之adbWIFI调试
- 「化学」相对分子质量
- 小米游戏本退出安全模式/win10安全模式密码
- 用scrapy+selenium+Firefox爬取腾讯新闻
- 普通程序员怎么去【小】厂面试?
- Android app内截屏监听
- 2021最新短信验证码接收平台收费价格对比「二」:亿佰云、秒嘀科技、极光短信、华信云通信
- Windows 打开本地组组策略编辑器