802.11-2020协议学习__$12-Security__$12.3.2-WEP__1
802.11-2020协议学习__$12-Security__$12.3.2-WEP__1
- 1. WEP概述
- 2. WEP参数
- 3. WEP封装
- 4. WEP解封装
PREV: TBD
NEXT: TBD
1. WEP概述
无线局域网标准最初使用的安全协议。
- 认证方式:开放式系统认证与共享密钥认证,鉴别简单,易于伪造。
- 加密机制:64位RC4 Stream Cipher加密算法,静态密钥,安全强度低,已被完全破解。
2. WEP参数
- Plaintext MPDU
明文MPDU。 - IV (Init. Vector)
[1] 封装的每个Plaintext MPDU都要选择一个新的IV,且明文传输,IV选择算法未指定。
[2] 解封装时使用收到的MPDU的IV。 - WEP Key
[1] WEP-40/WEP-104/WEP-128仅秘钥位数不同,加密封装和解封装机制相同。
[2] WEP使用两种类型的加密密钥:key-mapping keys和default keys。
— (1) key-mapping keys对应于不同的<TA, RA>对。如果为<TA,RA>对配置了key-mapping keys,则应使用key-mapping keys封装/解封装由TA发送到RA的MPDU,而不管其他密钥类型是否存在;否则,应使用default keys默认密钥来封装/解封装MPDU。
— (2) default keys = dot11WEPDefaultKeys[dot11WEPDefaultKeyID],dot11WEPDefaultKeyID作为索引,取值0/1/2/3;dot11WEPDefaultKeys四元素MIB数组存储WEP KEY值。
[3] 发送方将MPDU的Key ID编码为dot11WEPDefaultKeyID值,接收方应使用MPDU的Key ID来索引dot11WEPDefaultKeys获得正确的默认密钥。
[4] 所有WEP实现都应支持默认密钥,所有WEP密钥的默认值应为空。WEP实现应丢弃MSDU并生成一个MA-UNITDATA STATUS.indication原语(其传输状态指示帧不应使用空密钥封装),以响应任何用空密钥封装MPDU的请求。 - ICV (Integrity Check Value)
[1] ICV在Plaintext MPDU上使用CRC-32计算,CRC-32算法参见协议802.11->9.2.4.8。
[2] ICV置于Payload之后经WEP加密传输。 - WEP Seed
[1] WEP Seed = IV(24bit) + WEP Key(10/104/128bit)。
[2] WEP使用ARC4流密码作为加密和解密算法,ARC4使用伪随机数生成器PRNG生成Key Stream,并与Payload+ICV异或(XOR)生成密文或从密文中恢复明文。 - Pad
全0。 - Key ID
[1] 编码为dot11WEPDefaultKeyID值,4个可能的秘钥索引值之一。
[2] 当使用key-mapping keys时,Key ID字段被保留。
3. WEP封装
WEP针对Plaintext MPDU应用3个转换以实现WEP加密封装,参考协议802.11-2020->12.3.2.4.4。
- WEP计算Plaintext MPDU的ICV并将其附加在MPDU数据之后;
- WEP构造WEP Seed,使用ARC4 PRNG生成的Key Stream加密MPDU Payload和ICV;
- WEP将IV和Key ID编码到IV字段中,附加到加密的数据字段中。
注:ICV应在加密之前计算并附加到明文数据,但IV编码步骤可以以任何便于实现的顺序发生。
4. WEP解封装
WEP应对WEP MPDU应用三个转换以解封装其有效载荷,参考协议802.11-2020->12.3.2.4.5。
- WEP从收到的MPDU中提取IV和Key ID。如果<TA,RA>对存在key-mapping keys,则应将其用作WEP密钥。否则,通过Key ID提取default keys;
- WEP构建WEP Seed,解密WEP MPDU的数据字段,得到Payload和ICV;
- WEP重新计算ICV并将其与解密的ICV按位比较。如果相同,则WEP从MPDU中删除IV和ICV,这被认为是有效的;如果不同,WEP会向MAC管理生成错误指示,带有错误MPDU的MSDU不应传递给LLC。
注:解封装步骤应按指示的顺序进行。
802.11-2020协议学习__$12-Security__$12.3.2-WEP__1相关推荐
- 802.11网络协议细节(五)
3.5.3 省电程序 在RF系统中,放大器是最耗电的元件,由它负责将发送出的信号放大,以及将所收到的信号放大到可处理的水平.802.11工作站可以关闭无线电波收发器,并且定期进入休眠状态,以维持最 ...
- ESP8266开发之旅 进阶篇⑨ 深入了解 802.11 无线协议(非常重要)
文章目录 1. 前言 2. WLAN拓扑结构 2.1 IBSS -- 无AP 2.2 BSS -- 有AP 2.3 ESS -- 有AP 和 DS 3. 802.11 协议 3.1 802.11 帧 ...
- 802.11无线权威指南读书笔记(12)直接序列物理层DSSS与HR/DSSS(802.11b)
802.11的第二章物理层规范是直接序列扩频(direct sequence spread spectrum,简称DSSS) DS PHY采用差分相移键控(differential phase shi ...
- 蓝牙(Bluetooth) IEEE 802.15.1 协议学习
catalogue 1. 蓝牙概念 2. 配对和连接 3. 机密安全性 4. 蓝牙协议分类 5. 蓝牙协议栈 1. 蓝牙概念 蓝牙(Bluetooth)是一种无线技术标准,可实现固定设备.移动设备和楼 ...
- 802.11协议精读9:初探节能模式(PS mode)与缓存机制
https://zhuanlan.zhihu.com/p/21505178 序言 由于802.11的协议工作机制,如果其一直处于工作状态下,那么能耗还是比较大的,尤其移动设备的电量有限,所以在802. ...
- 802.11协议基础
1. 802.11管理功能–用户接入过程 STA (工作站)启动初始化.开始正式使用.AP 传送数据幀之前,要经过三个阶段才能接入: (1) 扫描(SCAN) (2) 认证(Authen ...
- 802.11协议标准介绍
802.11协议标准介绍 802.11协议简介 802.11协议标准在802家族中的角色位置如图1所示,包含物理层和数据链路层. 图1 802.11协议标准在802家族中的角色位置 物理层 802.1 ...
- 关于 802.11 协议
目录 一.802.11成帧封装实现 3 1.1控制帧 3 1.1.1 一般的帧控制位 3 1.1.2 RTS(请求发送) 4 1.1.3 CTS (允许发送) 5 ...
- 802.11协议之BA/BAR帧
802.11n最主要的添加了Block Ack这个技术,但是在实际应用中对于BA还是知之甚少,转贴一个讲述BA基本原理的文章,但是我通过wireshark进行抓报并没有在BAR(Block Ack R ...
- 802.11 协议介绍
802.11协议基础 前言-OSI七层网络 开放式系统互联模型(Open System Interconnection Model)是一种概念模型,由国际标准化组织提出,一个试图使各种计算机在世界范围 ...
最新文章
- SharpUpdater:开源的.NET桌面程序自动更新组件
- requirements.txt
- JavaScript高级程序设计20.pdf
- Android之程序反复回调一个类的解决办法
- python基本随机数生成函数有_Python中生成随机数的常用方法
- python线程创建对象_python 多线程(一)
- 傅盛希望定义AI时代的机器人产品,2年交出这份可落地答卷
- 存储过程返回结果集_PostgreSQL函数返回结果集
- 【Hive】动态分区插入
- [bzoj 4066]简单题
- json转对象的时候字段为空值的时候会被过滤
- 2016年大数据发展趋势预测
- Python 分词工具大总结,盘点哪个更好用?
- 永洪BI还能这样玩?3招让用户权限管理不再繁琐
- 计算机维修技师论文,2016年电工技师论文范文10篇
- LINE对话生成器使用教程
- Vue2.5学习笔记(三)动画
- wps下载的简历无法删除空白页
- 51nod 1535 深海探险【思维+并查集】
- LA 4986 hdu3756 Dome of Circus 三分答案
热门文章
- iOS开发之第三方登录微信-- 史上最全最新第三方登录微信方式实现
- android.intent.action大全和用法收集
- 命名时取代基优先顺序_烷烃的系统命名
- Oracle商务智能系统(Oracle Business Intelligence System 11i )
- java switch语句怎么写,java怎么用switch语句
- python的江湖世界
- 人人都是架构师:分布式系统架构落地与瓶颈突破 - china-pub网上书店
- 数据库中,DDL,DQL,DML,DCL是什么意思?
- 二维码如何制作?简单的制作方法介绍
- c语言怎么把数字倒过来_如何用C语言将一个数字倒序过来