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。

  1. WEP计算Plaintext MPDU的ICV并将其附加在MPDU数据之后;
  2. WEP构造WEP Seed,使用ARC4 PRNG生成的Key Stream加密MPDU Payload和ICV;
  3. WEP将IV和Key ID编码到IV字段中,附加到加密的数据字段中。

注:ICV应在加密之前计算并附加到明文数据,但IV编码步骤可以以任何便于实现的顺序发生。


4. WEP解封装

WEP应对WEP MPDU应用三个转换以解封装其有效载荷,参考协议802.11-2020->12.3.2.4.5。

  1. WEP从收到的MPDU中提取IV和Key ID。如果<TA,RA>对存在key-mapping keys,则应将其用作WEP密钥。否则,通过Key ID提取default keys;
  2. WEP构建WEP Seed,解密WEP MPDU的数据字段,得到Payload和ICV;
  3. WEP重新计算ICV并将其与解密的ICV按位比较。如果相同,则WEP从MPDU中删除IV和ICV,这被认为是有效的;如果不同,WEP会向MAC管理生成错误指示,带有错误MPDU的MSDU不应传递给LLC。

注:解封装步骤应按指示的顺序进行。

802.11-2020协议学习__$12-Security__$12.3.2-WEP__1相关推荐

  1. 802.11网络协议细节(五)

    3.5.3   省电程序 在RF系统中,放大器是最耗电的元件,由它负责将发送出的信号放大,以及将所收到的信号放大到可处理的水平.802.11工作站可以关闭无线电波收发器,并且定期进入休眠状态,以维持最 ...

  2. 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 帧 ...

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

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

  4. 蓝牙(Bluetooth) IEEE 802.15.1 协议学习

    catalogue 1. 蓝牙概念 2. 配对和连接 3. 机密安全性 4. 蓝牙协议分类 5. 蓝牙协议栈 1. 蓝牙概念 蓝牙(Bluetooth)是一种无线技术标准,可实现固定设备.移动设备和楼 ...

  5. 802.11协议精读9:初探节能模式(PS mode)与缓存机制

    https://zhuanlan.zhihu.com/p/21505178 序言 由于802.11的协议工作机制,如果其一直处于工作状态下,那么能耗还是比较大的,尤其移动设备的电量有限,所以在802. ...

  6. 802.11协议基础

    1. 802.11管理功能–用户接入过程 STA (工作站)启动初始化.开始正式使用.AP 传送数据幀之前,要经过三个阶段才能接入: (1) 扫描(SCAN)        (2) 认证(Authen ...

  7. 802.11协议标准介绍

    802.11协议标准介绍 802.11协议简介 802.11协议标准在802家族中的角色位置如图1所示,包含物理层和数据链路层. 图1 802.11协议标准在802家族中的角色位置 物理层 802.1 ...

  8. 关于 802.11 协议

    目录 一.802.11成帧封装实现    3 1.1控制帧    3 1.1.1 一般的帧控制位    3 1.1.2   RTS(请求发送)    4 1.1.3   CTS (允许发送)    5 ...

  9. 802.11协议之BA/BAR帧

    802.11n最主要的添加了Block Ack这个技术,但是在实际应用中对于BA还是知之甚少,转贴一个讲述BA基本原理的文章,但是我通过wireshark进行抓报并没有在BAR(Block Ack R ...

  10. 802.11 协议介绍

    802.11协议基础 前言-OSI七层网络 开放式系统互联模型(Open System Interconnection Model)是一种概念模型,由国际标准化组织提出,一个试图使各种计算机在世界范围 ...

最新文章

  1. SharpUpdater:开源的.NET桌面程序自动更新组件
  2. requirements.txt
  3. JavaScript高级程序设计20.pdf
  4. Android之程序反复回调一个类的解决办法
  5. python基本随机数生成函数有_Python中生成随机数的常用方法
  6. python线程创建对象_python 多线程(一)
  7. 傅盛希望定义AI时代的机器人产品,2年交出这份可落地答卷
  8. 存储过程返回结果集_PostgreSQL函数返回结果集
  9. 【Hive】动态分区插入
  10. [bzoj 4066]简单题
  11. json转对象的时候字段为空值的时候会被过滤
  12. 2016年大数据发展趋势预测
  13. Python 分词工具大总结,盘点哪个更好用?
  14. 永洪BI还能这样玩?3招让用户权限管理不再繁琐
  15. 计算机维修技师论文,2016年电工技师论文范文10篇
  16. LINE对话生成器使用教程
  17. Vue2.5学习笔记(三)动画
  18. wps下载的简历无法删除空白页
  19. 51nod 1535 深海探险【思维+并查集】
  20. LA 4986 hdu3756 Dome of Circus 三分答案

热门文章

  1. iOS开发之第三方登录微信-- 史上最全最新第三方登录微信方式实现
  2. android.intent.action大全和用法收集
  3. 命名时取代基优先顺序_烷烃的系统命名
  4. Oracle商务智能系统(Oracle Business Intelligence System 11i )
  5. java switch语句怎么写,java怎么用switch语句
  6. python的江湖世界
  7. 人人都是架构师:分布式系统架构落地与瓶颈突破 - china-pub网上书店
  8. 数据库中,DDL,DQL,DML,DCL是什么意思?
  9. 二维码如何制作?简单的制作方法介绍
  10. c语言怎么把数字倒过来_如何用C语言将一个数字倒序过来