无线局域网的安全 web 802.11 802.11i P126

无线局域网的安全 web 802.11 802.11i P126

        作为无线网络,它在实现加密的时候,跟有线网络有一些比较特殊的地方,无线网络在链路层的可靠性比较差,容易造成一些数据差错,甚至一些数据丢失,那么因此呢,作为web在设计的时候提出要实现自同步,所谓的自同步,事实上就是对于每一个分组,要能够进行单独的加密和解密,那么也就是说,对于一个给定的已加密的分组,以及对应的**,我们就可以对分组进行解密,那么不管这个分组的前序分组是否出现丢失,我们都可以成功的对这个分组进行解密,换句话说呢,就是加密和解密过程中在分组之间,不能有依赖关系,不能像CBC一样,说我这个分组加密的结果可能作为一个输入跟下一个加密分组再进行异或等等,这个不行

        另外一个,作为web从设计角度来说呢,是期望实现高效,这个高效主要是表现在整个方法上要相对来说不能太为复杂,要实现硬件和软件都可以实现,这是作为web设计的一个目标

无线局域网的安全 web 802.11 802.11i P126

无线局域网的安全 web 802.11 802.11i P126

        作为流密码,一定要有一个初始的**,然后在产生密码流的过程中,我们是针对每一个分组独立产生一个密码流,这个密码流和分组和分组之间是没有依赖关系的,那么另外为了保证每个分组使用的密码流又不同,那么因此我们又引入了一个IV初始向量,那么原则上呢每一个分组使用的初始向量是不同的,那么把初始向量再加上初始**放在一起,那么事实上是真正产生密码流的初始**,这样呢,我基于这个初始**再加上每一个分组对应的IV产生的密码流,原则上每个分组用的密码流就不同了

        而这个密码流是专门针对这个分组的,原则上只要每个分组的IV不同,那么产生的密码流也不同

无线局域网的安全 web 802.11 802.11i P126

       作为web事实上有多种标准,我们早期的基本的web是web40,它的初始**,对称**是40个bit,我们现在很多一般不使用这个web40,一般会使用web104,这个时候每一端维护的共享**是104位,我们后边也是以这个104位为例

       作为每一端都会有一个共享的104位的共享**,作为共享**我们说呢还会用到一个IV,我们刚才说了,针对每一个分组,我们要有一个针对这个分组的初始向量,我们称之为IV,这个IV是多少呢?IV是24bit,那么在产生密码流的时候,就是要把这个24个bit和104bit的共享**放在一起实际上就得到一个128bit的这样一个**,用这个128bit的**去为每一个分组生成**流

       作为web原则上来说呢,在两端,或者说在每一端维护的共享**可以不止一个,可以有多个,那么这个时候呢,我们还需要有一个作为**ID,指定我们使用的是哪一个**,那么这个呢在我们最后构造成web的分组数据帧的时候,也要把这个keyID加进去,是一个8bit的字段

      128bit**=104bit初始共享**+24bitIV 输入到伪随机数发生器以后,我们就可以得到一个**流

      RC4:流密码加密算法  对数据以及ICV进行加密,也就是说这一部分内容在web中是进行加密的

      最终构成802.11数据帧的时候,我们还要把我们前边提到的IV还有keyID附加上去,就构成了802.11数据帧的载荷,也就是数据,我们把它称之为MAC,当然这个MAC大家注意,不是报文认证码而是介质访问控制,实际上我们所说的MAC子层这样一个数据帧,它的载荷

      将载荷插入到802.11数据帧之中就构成了一个802.11的一个帧,这个时候帧实际上已经通过web进行加密,进行安全性保护了

无线局域网的安全 web 802.11 802.11i P126

无线局域网的安全 web 802.11 802.11i P126

无线局域网的安全 web 802.11 802.11i P126

无线局域网的安全 web 802.11 802.11i P126

无线局域网的安全 web 802.11 802.11i P126

无线局域网的安全 web 802.11 802.11i P126

无线局域网的安全 web 802.11 802.11i P126

        阶段1:安全能力发现阶段,作为无线主机和AP之间通过彼此发现,并且呢,确认对方或者说彼此可以提供的安全能力,比如说呢,使用什么加密方法呢,等等,在这个阶段来进行确认,在这个基础上

        阶段2:要完成认证,那么这个认证过程中,事实上要在我们的STA客户站点,和认证服务器之间完成相互认证,那么这个相互认证最终还要确认一个主**,生成一个主**,在这个认证过程中,像我们图中看到的示意图,AP只进行一个数据的转发,类似于一个数据中继,相当于在我们这个移动主机和认证服务器之间提供了一个穿越式的通道,它不参与具体的认证,只完成认证信息的一个转发,在阶段2确定的主**的基础上

        阶段3:作为我们的移动站点,或者说是无线站点,客户端的站点,以及作为我们的认证服务器都要基于这个主**,最后导出一个叫成对主**PMK,那么作为客户站点要导出这样一个PMK,作为认证服务器也要导出相同的PMK,并且认证服务器还有一个责任,它需要把这个导出的PMK呢,发送给AP,这样呢AP也就知道了,作为我这个AP跟我这个移动的无线客户端站点STA之间所确认的达成一致的成对的PMK到底是什么,那么,这是第3个阶段

        第4个阶段:作为我们客户端的站点以及AP,要基于第3个阶段确认的导出的PMK,再次导出用于报文加密和完整性认证的这样一些临时的**TK,这个TK才是我们无线主机和AP之间按照802.11i进行通信过程中,真正要使用的**

无线局域网的安全 web 802.11 802.11i P126