[读书笔记] WEP 协议 及 加密的基本信息

802.11 WEP 的安全体现在2个部分, 分别是 认证 和 数据加密.

客户连接端连接到访问点之前都要经过 认证(Authentication) -> 关联(Association) 2个阶段.

即使是没有密码的访问点 (open network), 也需要 (Authentication)阶段: 客户连接端发出一个 Authentication request frame, 访问点返回一个 success Authentication response frame.

使用 WEP 加密的网络, 认证过程:

  1. 客户连接端发送一个认证请求消息
  2. 访问点回应一个挑战请求消息
  3. 客户连接段使用密码产生挑战请求答案消息
  4. 访问点回应成功接受或拒绝接受

这里的挑战请求可以理解为: 访问点发送一个随机字符串, 连接端使用密码去加密这个字符串, 发给访问点, 访问点用自己的密码也去加密, 对比结果.
以上这个过程并不能证明, 访问点就是真的访问点, 它只是发送一个随机字符串, 连接客户端就使用它的加密方法, 把结果给访问点了. 如果我们把加密方法虚拟为这个公式: 加密后字符 = 加密方法(随机字符串, 密码), 那么一个真正的访问点, 这3个数据都有, 一个假的访问点, 就有了: 加密后的字符 和 随机字符串, 如果公式是可逆的, 那么这个假的访问点就能推导出 密码了.

事实上, 大多数 WIFI 都没有使用密码认证, 而是设为 open network, 等 Association 之后, 进行加密数据传输.
后来, 很多厂家的 WEP 产品都 弃用 了认证阶段.

WEP 加密使用的是 RC4 算法.
WEP 最初的标准只能使用 40bit 的KEY, 后来厂家基本都扩展到104bit, WIFI 最后也接受了这个长度, 最后变成40~104 bit.
WEP 的密码是 40 ~ 104 bit, 也就是5 ~ 13 个 ASCII 码可打印字符. 另外有24 bit 的 Initialization Vector (IV), 每个包都使用不同的 IV. 这就是组成了128 bit 的加密强度.
RC4 使用上面 128 bit 的组合 Key 来对数据进行加密.
即使是一样的明文, 由于每个包使用不同的 IV , 所以生成的密文也不一样.
但是这个 IV 对于连接的另外一方, 却不知道, 所以它要传给对方, 并且是明文传过去的, 这样对方才能用它 加上自己的密码去解密.
由于IV 只有24bit, 24bit的可能值只有16777216个, 所以有大量的数据, 这个很快就会被遍历一遍.

在WEP 标准种有2种 WEP key, 分别是 Default Key(s) 和 Key mapping key(s)
Default Key(s): 所有的客户连接端和访问点都有共同的一个或一组key(最多4个, 多个是为了在key change 过程中使用);
Key mapping key(s): 每个客户连接端使用不同的key, 访问点有个key mapping 列表, 同时有个default key 用来广播什么的, 现在几乎没有厂商使用这种了.

你应该了解为什么当时WEP 标准对于 Default Key(s) 使用了4个key?
1) 发送和接收使用不同的key -> 2 个;
2) 当发生key 改变的时候 -> 2个.
当然你用一个key 也是完全可行的.

ICV: Integrity Check Value
MAC : Media Access Layer
MSDU :(MAC service data unit)
加密之前的数据用 ICV, 加密之后的数据frame 用CRC (cyclic redundancy check)

数据从TCP/IP 层进入到 链路层之后, 在物理层发出去之前的过程:

  1. 计算 ICV, 追加到数据之后
  2. 产生 IV, 和 WEP key 组合在一块(WEP 可能是多个当中选一个)
  3. 初始化 RC4 加密引擎, 进行加密

发出的数据 : MAC header | 24bit IV | 8bit Key Id | 加密后的 (data + ICV) | CRC

更多关于 MAC header 的图例, 可以google 一下, 里面有个bit 是用来标明是不是 WEP 加密的.

由于 RC4 的线性流加密, 由于前几个可猜测的字节, 由于弱的IV, WEP 可以在有一定样本数据的情况下被破解.

[读书笔记] 无线局域网 初级基本概念

当我们讨论局域网的时候, 一般指的是链路层和物理层, 较上2层: TCP/IP 传输层/网络层 来说, 链路层和物理层有不同的介质, 组网方式, 协议. TCP/IP 相对比较固定.

IEEE 802 一系列协议就是处理 链路层和物理层的一些协议, 如:
802.3 Ethernet协议、802.5 Token Ring协议、802.3z 100BASE-T快速以太网协议, 802.11 WLAN 协议.

802.11 里面又包括很多协议: 如 802.11a/b/g/n, 802.11i, 802.11e 基于WLAN的QoS协议

无线网络有2种模式: Infrastructure 模式和 Ad-Hoc 模式.

  1. Infrastructure 模式所有的无线连接端连接到同一个访问点(AP), 就是我们现在家里常用的路由器模式.
  2. Ad-Hoc 模式: 即点对点模式, Ad Hoc源自于拉丁语,意思是“for this”引申为“for this purpose
    only”,即“为某种目的设置的,特别的”意思,即Ad hoc网络是一种有特殊用途的网络。

WIFI, 802.11 和 无线局域网

  • Wireless LAN is a general term used for short-range, high-speed radio

    1. Wi-Fi is one kind of wireless LAN.
  • IEEE 802.11 is the formal technical standard that defines how Wi-Fi
    systems operate.
  • Wi-Fi is the industry standard for products based on IEEE 802.11 as
    defined by the Wi-Fi Alliance. Wi-Fi products are tested for

compatibility among different manufacturers.

在无线客户端连接到一个访问点之前, 一般有2步: authentication -> association.

Wired Equivalent Privacy: 最开始的想法是: 像有线设备一样保障隐私.
Wi-Fi Protected Access(WPA) 实现了 802.11i的一个子集, WIFI 联盟对于完全实现802.11i的协议称之为 WPA2, 也被称为 RSN (Robust Security Network).

WPA2 使用 AES (Advanced Encryption Standard) 块加密算法, WPA 和 WEP 是使用 RC4 流式加密算法.

Unlike 802.11a, b and g specifications, all of which define physical layer issues, 802.11i defines a security mechanism that operates between the Media Access Control (MAC) sublayer and the Network layer.

在802.11i制定的漫长过程中, WPA 作为一种过渡方案而出现.

参考:
http://www.windowsecurity.com/articles-tutorials/Wireless_Security/80211i-WPA-RSN-Wi-Fi-Security.html
https://en.wikipedia.org/wiki/IEEE_802.11i-2004
http://techbus.safaribooksonline.com/book/networking/wireless/0321136209/firstchapter

无线局域网知识列表

http://techbus.safaribooksonline.com/book/-/9781849517386
http://techbus.safaribooksonline.com/book/networking/security/9780071760942
确实如其书名说写: beginner's book

http://techbus.safaribooksonline.com/book/networking/wireless/9781785280856
http://techbus.safaribooksonline.com/book/networking/wireless/9781849515580
http://techbus.safaribooksonline.com/book/networking/security/9780071760942
http://techbus.safaribooksonline.com/book/networking/wireless/9781597491174

http://techbus.safaribooksonline.com/book/networking/intrusion-detection/9781782164067
这个完全不值得看

http://techbus.safaribooksonline.com/book/networking/intrusion-detection/9780124116443
http://etutorials.org/Networking/802.11+security.+wi-fi+protected+access+and+802.11i/
这个不错, 可惜是2003年出版的, 所以..

http://www.aircrack-ng.org/doku.php?id=links#technique_papers

Kali linux 使用搜狗输入法的设置

好不容易在 Kali Linux 上面安装了 sogou 输入法, 可是一直有这么几个问题:

  1. 提示词总是和windows 上面不一致,如: 你在windows 上面输入一个 d, 默认提示第一个是 "的“, 可是这个上面总是显示 “打”, 手工选择 的 之后的 N 次, 也死性不改, 所以猜测有个设置不对;
  2. 中文输入中插入英文的时候,总是时候使用全角模式。
  3. 有时候 莫名其妙 的不显示提示字的面板了

- 阅读剩余部分 -

SOCKS 协议转化为 HTTP, HTTPS 协议

SOCKS 代理协议是和 HTTP, HTTP, FTP 代理协议不同的代理协议,尽管你有了 SOCKS 代理服务器,你可以在 chrome 设置 SOCKS 代理服务器就可以上网,但是, 如果你在命令行, 或者其他 app 里面想使用代理, 却不能做到. 有没有一种方法可以让 SOCKS 协议转换成 HTTP, HTTPS 协议呢?

- 阅读剩余部分 -