




已阅读5页,还剩13页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
电子科技学院无线局域网中使用的加密技术电子科技学院 李劲摘要:无线局域网wlan(wireless local area networks)已成为我们生活中不可或缺的一部分。它在给人们生活带来方便的同时,也引入了通信的安全问题。目前,信息安全问题已成为热点问题。wlan使用的加密技术主要有三种:wep、wap和wap2。本文对这三种加密技术进行了研究,从数据加密、数据完整性、身份认证等方面详细分析了三种协议。并且对攻击技术做了简单的介绍。关键词:wlan;无线局域网;wep协议;wpa/wpa2协议0 引言随着近年来笔记本电脑、平板电脑、智能手机的普及,无线局域网作为无线宽带通信的一种,近些年发展极为迅猛。据 wifi联盟估计,全球已经有 10%的人使用无线局域网进行通信。无线局域网在为人们提供便利的同时,安全问题也随之日渐突出。近年来,由于使用无线局域网的原因而造成经济损失的案例也常常见诸各种新闻媒介。有线对等加密(wired equivalent privacy, wep)协议作为第一代无线局域网协议,并没有很好地解决无线局域网的安全问题, wpa/wpa2(wi-fi 网络安全存取)协议继承了 wep 协议,并且弥补了 wep 协议的设计缺陷和漏洞,保护了无线网络的安全。1 wep协议相对于有线网络来说,通过无线局域网发送和接收数据更容易遭到窃听。设计一个完善的无线局域网系统,加密和认证是需要考虑的两个必不可少的安全因素。无线局域网中应用加密和认证技术的最根本目的就是使无线业务能够达到与有线业务同样的安全等级。针对这个目标,ieee 802.11标准中采用了wep协议来设置专门的安全机制,进行业务流的加密和节点的认证。wep是建立在rc4序列密码机制上的协议,并使用crc-32算法进行数据检验和校正从而确保数据在无线网络中的传输完整性。rc4密码机制的目的在于对无线环境中的数据进行加密,主要用于无线局域网中链路层信息数据的保密。wep采用对称加密原理,数据的加密和解密采用相同的算法和密钥。1.1 rc4算法rc4加密算法是大名鼎鼎的rsa三人组中的头号人物ronald rivest在1987年设计的密钥长度可变的序列密码算法簇。之所以称其为簇,是由于其核心部分的s盒长度可任意改变。该算法的速度可以达到des加密的10倍左右,且具有很高级别的非线性。1.1.1 rc4算法概述rc4算法属于二进制异或同步流密码算法,其密钥长度可变,在wep协议中密钥长度可选择64 bit,128 bit或152 bit。rc4算法由伪随机数产生算法(prga)和密钥调度算法(ksa)两部分构成。其中prga为算法的核心,用于产生与明文模二加的伪随机数序列;算法的功能是将密钥映射为伪随机数发生器的初始化状态,完成算法的初始化。1.1.2 rc4算法原理一、ksa算法:1、线性填充:将s数组按从0至255的顺序填充,即令s0=0,s11,s255255,记为si。2、密钥填充:用密钥重复填充另一个256字节的数组,不断重复密钥直到填充到整个数组,得到:k0,k1,k255,记为ki。3、s盒交换:对于i=0到255,计算j=(j+siki)mod 256,交换si与ki。ksa算法最终得到一个八进八出的s盒:s0、s1s255。二、prga算法:1、算法用到两个计数器i、j,设其初值为0。2、每加密一个字节,将(i+1 mod256)赋值给i,将 (j+si mod256)赋值给j。交换si、sj。3、中间变量t=(si+sj)mod256,密钥k = st。最后利用得到的密钥k与明文进行按位模2加。整个过程如图1所示。图1 rc4算法流程图1.1.3 rc4算法的实现rc4的算法比较简单,软件容易实现,只需把算法中的i、j和s盒作为其内部状态。基于这种观点,编写程序时把内部状态封装在一个结构体中,ksa算法和prga算法则直接对这一结构体进行操作即可实现。1.1.4 rc4算法安全性能分析在rc4算法流程中,对s盒进行的唯一操作是交换。s盒始终保存256bit初始信息的某个转置状态,而且转置随着时间而更新。这也是算法的强度所在。算法的内部状态一共用256!个,此状态大约保存了1700bit的信息。s盒的初始化状态仅仅依靠于加密密钥k,因此,若已知加密密钥就可完全破解rc4算法。加密密钥完全且唯一确定了rc4输出的伪随机数序列,相同的密钥总是产生相同的序列。另外,rc4算法本身并不提供数据完整性校验功能,此功能的实现必须由其他方法实现。rc4算法属于二进制异或序列密码,相同的密钥总是产生相同的输出。为解决密钥重用的问题,wep协议中引入了初始化向量iv。初始化向量为一随机数,每次加密时随机产生。初始化向量以某种形式与原密钥相结合,作为此次加密的密钥。由于并不属于密钥的一部分,所以无须保密,多以明文传输。虽然初始化向量的使用很好地解决了密钥重用的问题,然而,fluhrer s等人指出:初始化向量的使用将导致严重的安全隐患。1.2 循环冗余检查wep协议中使用循环冗余算法(crc-32)进行数据的完整性检查。循环冗余检查是对数据进行多项式计算,并将得到的结果附在帧的后面,接收设备也执行类似的算法,以保证数据传输的正确性和完整性。1.2.1 循环冗余检查的原理crc校验码的编码方法是用待发送的二进制数据t(x)乘上xr(r为生成多项式的阶数)再除以生成多项式g(x)完成的,最后的余数即为crc校验码。wep协议采用crc-32的方式对数据进行编码,其生成的多项式为:x32+x26+x23+x22+x16+x12+x11+x10+x8+x7+x5+x4+x2+x+1。对应的crc-32校验码生成硬件原理如图2所示。利用c实现的crc-32代码见附录。图2 crc-32校验码生成原理1.2.2 crc-32算法的缺陷crc-32 算法是用来检验数据完整性的,但是由于其检验和是有效数据的线性函数,恶意攻击者可以随意篡改原文的内容。而且,由于 crc-32检验和不是加密函数,只负责检验原文是否完整,恶意攻击者还可以自己生成数据进行发送。由于这些缺陷的存在,攻击者开发了多种方法来破解wep,例如 chopchop 攻击、分段攻击、fms 攻击和 ptw攻击等。1.3 wep协议的加密过程最初的wep支持64位和128位加密,对于64位加密,加密密钥为十个十六进制字符(0-9、a-f)和或5个ascii字符;对于128位加密,加密密钥为26个十六进制字符或13个ascii字符。之后出现的152位加密不是标准wep技术,没有受到客户端设备的广泛支持。wep利用通信双方共享的密钥来保护所传的加密数据帧。其数据的加密过程如图3所示:图3 wep加密过程1、计算校验和。(1)对输入数据进行完整性校验和计算。(2)把输入数据和计算得到的校验和组合起来得到新的加密数据,也称之为明文,明文作为下一步加密过程的输入。2、加密。在这个过程中,将第一步得到的数据明文采用算法加密。对明文的加密有两层含义:明文数据的加密,保护未经认证的数据。步骤如下:(1)将24位的初始化向量和40位的密钥连接进行校验和计算,得到64位的数据。(2)将这个64位的数据输入到prga算法中,产生加密时所用的乱数。(3)经过校验和计算的明文与伪随机数产生器的输出密钥流进行按位异或运算得到加密后的信息,即密文。3、传输。将初始化向量和密文串接起来,得到要传输的加密数据顿,在无线链路上传输。1.4 wep协议脱密过程在安全机制中,加密数据帧的解密过程只是加密过程的简单取反。解密过程如下:1、恢复初始明文。利用初始向量iv重新产生密钥流,将其与接收到的密文信息进行异或运算,即可恢复初始明文信息。2、检验校验和。接收方根据恢复的明文信息来检验校验和,将恢复的明文信息分离,重新计算校验和并检查它是否与接收到的校验和相匹配。这样可以保证只有正确校验和的数据才会被接收方接受。1.5 wep协议的不安全因素由于wep设计上存在缺陷,所以该协议存在安全漏洞。1.5.1 rc4算法问题算法存在弱密钥性。用rc4算法加密包括两个阶段:第一个阶段,使用64位或者128位的密钥(其中包括位的初始化向量iv)来建立状态数组,这个状态数组的初始值是0,1,2,255然后对这256个字节进行一系列的交换操作,从而得到伪随机数。第二个阶段,用伪随机数和明文进行异或运算从而得到密文。然而研究发现,存在特殊格式的初始化向量iv,用它构造的密钥(称为弱密钥)生成的伪随机数的初始字节与此密钥的少数几个字节存在很强的相关性,大大地减少了搜索密钥空间所需的工作量。也就是说,这种初始化向量iv泄漏了密钥信息。1.5.2 wep本身的缺陷wep本身的缺陷主要在以下几个方面: 1、用了静态的wep密钥。由于在wep协议中不提供密钥管理,所以对于许多无线连接网络中的用户而言,同样的密钥可能需要使用很长时间。wep协议的共享密钥为40位,用来加密数据显得过短,不能抵抗某些具有强大计算能力的组织或个人的穷举攻击或字典攻击。2、wep协议使用的是rc4算法,产生24位长的字符串密钥,相对而言,这样的长度解密也非常容易。更有甚者,在规范中,相同厂商提供的不同无线网卡所产生的密钥序列也是相同的。其后果是,黑客们可以对网络通信进行记录,找出密钥的数据流,然后用于对密文的解密。3、wep没有对加密的完整性提供保护。在协议中使用了未加密的循环冗余码校验(crc)检验数据包的完整性,并利用正确的检查和来确认数据包。未加密的检查和加上密钥数据流一起使用会带来安全隐患,并常常会降低安全性。由于wep中存在这些缺陷,当在多个数据包上使用相同wep静态密钥、相同的iv进行加密时,就产生了大量的弱密钥。攻击者收集到足够多的使用弱密钥进行加密的数据包后,经过统计分析,只需要相对较少的计算量就可以逐个字节地破解出静态密钥。总之,wep在接入点和客户端之间以rc4方式对信息进行加密的技术,密码很容易被破解。1.6 wep的破解方法举例目前针对wep缺陷引发出的攻击可大致分为被动式和主动式两类。1.6.1 被动无线网络窃听这种攻击模式通过在无线网络中进行大量的数据窃听,收集到足够多的有效数据帧,并利用这些信息对wep密码进行还原。从这个数据帧里攻击者可以提取初始向量值和密文。对应明文的第一个字节是逻辑链路控制的802.11头信息。通过这一个字节的明文和密文,攻击者做异或运算就能得到一个字节的密钥流,由于流密码产生算法只是把原来的密码打乱次序,攻击者获得的这一字节的密码仅是初始向量iv和密码的一部分。但由于的rc4打乱,攻击者并不知道这一个字节具体的位置和排列次序。但当攻击者收集到足够多的初始向量和密码之后,就可以进行统计分析运算。利用上面的密码碎片重新排序,最终利用得到密码碎片正确的顺序排列,从而分析出wep的密码。1.6.2 arp请求攻击模式arp,(address resolution protocol)地址解析协议,是根据ip地址获取物理地址的一个tcp/ip协议。攻击者抓取合法无线局网客户端的数据请求包。如果截获到合法客户端发给无线访问接入点的arp请求包,攻击者便会向无线访问接入点重发arp包。由于802.11允许初始向量值重复使用,所以无线访问接入点接到这样的arp请求后就会自动回复到攻击者的客户端。这样攻击者就能搜集到更多的初始向量iv。当捕捉到足够多的初始向量iv后就可以进行被动无线网络窃听并进行密码破解。但当攻击者没办法获取arp请求时,其通常采用的模式即使用arp数据包欺骗,让合法的客户端和无线访问接入点断线,然后在其重新连接的过程中截获arp请求包,从而完成wep密码的破解。2 wpa协议2.1 wpa协议概述 由于wep协议自身存在的不足导致以此为安全机制的变得脆弱而易于被攻击破解,所以我们需要一种新的协议对其进行改进。wpa协议应运而生。对wpa的检验在2003年4月开始,完整的wpa标准是在2004年6月通过的。wpa 采用的加密算法是临时密钥完整协议(tkip)rc4 加密算法,该算法继承了 wep 协议的加密原理,但是在 wep 的加密原理上做出了巨大改进,弥补了 wep 的缺陷,极大的提高了数据加密的安全性。2.2 wpa协议加密过程tkip有五个主要部分阶段:1、阶段一密钥混合;2、阶段二密钥混合;3、mic;4、分段;5、wep封装。 加密过程如图4所示。图4 tkip加密基本原理2.2.1 阶段一密钥混合这一部分的输入有临时密钥(tk)128比特、发送方的mac地址48比特、初始向量处于高位的32比特。而输出是一个中间变量80比特。内部算法如图5所示。图5 tkip 阶段一混合函数首先从速度来看该算法中仅有加法、异或、与运算、查表等几个操作速度较快。该算法输出的中间变量因为每发送216个mpdu单元后才会改变一次,因而可以存储起来使用以提高速度。从安全性来看这部分利用了从aes标准中导出的s盒,具有较好的非线性。因而从输出的中间变量倒推输入成功的概率很低,保护了输入的临时密钥,保证了发送方地址的不可更改,从而在攻击者不知道临时密钥的情况下,不可能仅仅通过更改mac地址来假冒发送方。另外初始向量高32位这部分在传输时是明文传输,攻击者对于该数据的修改也会因为上述算法的存在而被检测出来从而保证了这一部分数据的完整性。2.2.2 阶段二密钥混合这一部分输入的有80比特的中间、变量临时密钥和初始向量中处于低位的后16比特。输出是128比特的用于wep加密的密钥。内部算法如图6所示。图6 tkip 阶段二混合函数从速度来看该算法使用的操作包含加法、异或、与或、右移等,没有真正的循环运算,所以速度较快。而从安全性来看,首先输入与输出间不存在明显的线性或差分关系,从而输出较好地掩盖了输入的数据,从而进一步加强了对于初始向量临时密钥和发送地址的保护。2.2.3 mic这部分的作用在于保证msdu数据单元的完整性输入包括msdu的源地址(sa)、目的地址(da)、优先级和msdu明文数据。这些数据串接起来作为输入数据,另外一部分是mic密钥。输出的是一个mic值,也就是输入数据的hash值,这部分的内部算法叫做michael算法。michael的认证密钥kmic是64 bits,分为左右各32 bits用(k0,k1)表示,michael连接函数将消息m按32bits分割成m0,m1mn,最后生成64bits的mic值,接收方用共享的kmic和接收到的消息计算出mic,与接收到的mic进行校验,具体过程如图7所示。图7 michel函数图中“”为循环移位,xswap是一个交换函数,xswap(abcd)=badc,此处的a、b、c、d表示字节。该算法是针对现有硬件优化设计的,因而具有较高的速度。该算法的设计强度是20比特,而实际的差分测试结果显示安全强度可以达到30比特左右,完全达到设计目标。而在实际传输时mic也是作为1个或者多个mpdu单元来传输的,因而要经过wep封装这一过程。根据前面的讨论结果,在一个合理的时间段内每个mpdu单元用于wep封装的种子密钥都是不同的,因而成功伪造一个mic的概率很低。总的来说通过在分段前实行完整性校验,分段后加密传输并且每一传输单元所用的密钥都不相同,这样一种改进可以防止针对wep的使用crc作为数据完整性校验的某些攻击形式。如比特翻转攻击、碎片攻击等。2.2.4 分段分段主要是网络传输的需要,将明文信息分段,与安全性关系不大,本文不作具体介绍。2.2.5 wep封装将第三步mic数据完整性算法产生的mpdu单元利用第二步阶段二密钥混合算法生成的密钥进行wep封装,这部分的流程与本文第一节讨论的完全一致,这样做的好处是:之前使用wep协议加密的设备只需要软件升级就可以支持wpa协议,兼容性好。当然,这一点也限制了安全性的进一步提升,使得基于它的安全机制成为一种缝缝补补的安全,产生了计算冗余,效率较低,使得tkip也只是一种过渡算法。2.3 总结通过以上分析可以看到,针对wep协议的漏洞和缺陷,tkip给出了较好的补救措施。并且可以通过软件升级的方式,在原有支持wep协议的硬件资源上使用wpa协议。因而可以说tkip确实达到了在当时有限的资源上可能达到的最大安全性。3 wpa2协议3.1 wpa2协议概述为了提高安全性,ieee 在21世纪初期一直致力于制定“ieee 802.11i安全标准”方式,但标准化工作却花费了相当长的时间。wi-fi联盟就在2002年10月发表了率先采用 ieee 802.11i功能的wpa,希望以此提高无线 wlan 的安全性。此后,到了2004年06月ieee 802.11i安全标准制定完毕。wi-fi联盟经过修订后重新推出了具有与ieee 802.11i标准相同功能的 wpa2。该联盟表示wpa2可以满足部分企业和政府机构等需要导入aes的用户需求。目前,大多数企业和个人wi-fi产品都支持wpa2。截止到2006年3月,wpa2已经成为一种强制性的标准。wpa2需要采用aes的芯片组来支持。3.2 与wpa协议的区别wpa2是wpa的升级版,现在新型的网卡、ap都支持wpa2加密。wpa2采用了更为安全的算法:ccmp取代了wpa的mic,aes取代了wpa的tkip。3.3 aes算法简介由于课堂上已经对aes算法进行了详细的讲解,在这里不做过多的阐述。高级加密标准aes是1997年nist公开征集的新加密算法,以取代des。经过多次筛选,比利时的joan daeman和vincent rijmen提交的具有优秀安全性能的rijndael算法最终成为aes加密标准。rijndael是一个密钥迭代分组密码,包含了圈变换对状态的重复作用。圈数取决于分组和密钥的长度。分组和密钥长度可独立指定为 128, 192 或 256 位。3.3.1 加密算法:1、将待加密的明文分组以字节为单位填充状态矩阵(4nb字节矩阵),做初始密钥加变换。2、进行nr圈迭代,每圈包含四个变换:(1)字节代替变换;(2)行移位变换;(3)列混合变换; (4)圈密钥加(按位异或)。其中最后一圈(第nr圈)省略列混合变换。3、第nr圈的输出即为密文(输出状态)。3.3.2 圈子密钥生成算法圈子密钥是通过密钥生成算法从初始密钥中获得的,其长度等于分组长度。由密钥扩展和圈密钥的选取组成。3.3.3 脱密算法:(1)填充状态矩阵:4nb字节矩阵;(2)初始圈子密钥(脱密)异或;(3)进行nr-1圈迭代运算:每圈均包含逆字节代替,逆行移位,逆列混合,圈密钥加法;(4)第nr圈迭代:包含逆字节代替,逆行移位,圈密钥加法;(5)输出状态矩阵即为脱密后的明文。3.4 ccmp算法3.4.1 概述ccmp数据加密算法是基于高级加密标准aes的新一代加密算法。由于aes具有应用范围广、等待时间短、相对容易隐藏、吞吐量高等优点,能提供比rc4算法更高的加密强度,所以ccmp加密算法优于wep及tkip算法,能够更好的解决wlan安全问题。2004年6月正式通过的802.11i标准规定任何rsn设备必须强制实现ccmp加密算法。ccmp由两个部分组成: ctr加密模式,用于保证数据的私密性;cbc-mac模式,用于数据完整性和报头完整性检测。3.4.2 ctr加密过程ctr模式的加密原理是首先对输入的计数器ctri用密钥进行aes算法加密,生成密钥流sk(i),再将明文分组pi与该密钥流进行异或,得到密文分组ci。当最后一个明文分组长n小于分组长度n时,只须将其与密钥流前n位进行异或得到密文分组。sk(i)=aes (ctri,k) (i=1, 2, ., m)ci = pi sk(i) (i=1, 2, ., m-1)cm = pm msbn(sk(i)其中, msbn(sk(i)表示截取密钥流 sk(i)前 n 位。ctr模式保证安全性的关键在于正确的分配各计数器的值。不能用值相同的计数器分组加密多个明文分组,否则就会出现安全问题。ctr要加密的数据为明文数据和mic两部分,加密模式如图8所示。图8 ctr加密原理图脱密过程与加密过程类似, 也包括密钥流生成, 最后将密文分组与密钥流进行异或, 即可得到明文分组。3.4.3 cbc- mac 模式认证过程ccmp模式中使用的消息完整性认证码mic是根据cbc-mac算法得出的。cbc即密码分组链接加密模式。cbc-mac模式需要一个初始向量iv,将该初始向量与要加密的数据分组pi进行异或,然后经aes算法加密异或得到的数据分组,生成密文ci;在处理下一个明文分组pi+1时,初始向量iv由上一次加密生成的密文分组ci充当。最后得到的认证码mic为最后一个密文分组cm的前n位,n=4,6,8等。该过程可表示如下:记iv为c0,mic = msbn(cm)在ccmp的mic计算过程中,由于mac帧头和明文数据都需要防止被篡改,所以cbc-mac模式的输入为mac帧头和明文数据。另外,初始向量iv在这里由mic-iv经aes加密产生。认证过程如图9所示。图9 cbc-mac模式原理图3.4.4 ccmp数据的封装ccmp的mpdu格式如图10所示。可以看出,ccmp加密封装将原mpdu格式扩充了16个字节,其中8个字节为ccmpheader,8个字节为mic。图10 ccmp mpdu格式ccmpheader由pn(packetnumber包号)、extiv和keyid组成。pn为6字节的数据包序列号,相当于wep中的iv。extiv比特位设置为1,用以标志ccmp。附加在data后面的mic是通过前面所述的cbc-mac模式计算出来的,它和data一起要经过加密。具体封装过程如下:(1)pn加1,保证对每个mpdu有一个不同的pn,这样在同一临时密钥tk中不会重复使用pn;(2)用mac帧头构造ccmp的附加认证数据aad,ccmp算法为aad提供完整性保护;(3)用pn,mpdu的发送地址ta及其优先级值构造ccm nonce;(4)把pn和keyid放入ccmp header;(5)根据mpdu和nonce一起构造生成mic-iv;(6)用mic-iv、ccmp header和明文mpdu,在tk作用下进行cbc-mac计算得到mic;(7)用pn和ta构造计数器counter;(8)在 tk 控制下, 对明文 mpdu 和 mic 进行 ctr 加密;(9)最后, 由原mac帧头,ccmp header,和密文组合形成ccmp mpdu。ccmp mpdu的解封装与加封装类似,只需将重新计算出的mic与解密获得的原mic进行比较判断即可。3.4.5 ccmp 安全性分析ccmp是以高级加密标准aes为核心的加密算法。aes是一种迭代分组加密算法,比wep和tkip中的rc4算法具有更高的安全性,目前尚未存在对aes算法完整版的成功攻击。因此,ccmp最终会取代wep和tkip算法。ccmp采用了ctr with cbc-mac模式,进一步提高了加密算法的安全性。ccmp使用同一个密钥进行ctr模式加密和cbc-mac模式认证。通常在一个以上的处理中使用同一密钥会导致安全缺陷,但ccmp下已被证明不会出现安全缺陷。因为ctr模式和cbc-mac模式分别构造不同的iv。ccmp操作在mpdu上,其使用了48位的pn,pn用来构建ctr模式的counter和cbc-mac的iv。ctr模式的counter和cbc-mac的iv的前两个字节的flag不同,这样保证了相同的pn对两种模式产生不同的初始化块,从而消除了两者共用一个密钥的安全缺陷。使用同一密钥的好处在于可以简化ccmp的设计,降低对密钥管理的要求,从而减少了因用户误用或密钥管理不健全而造成的安全漏洞。ctr with cbc-mac模式已有20多年的历史,虽然效率低于ocb模式,但其强大的安全性却得到了长期实践的证明。因此,ieee802.11i标准已规定基于ctr with cbc-mac的ccmp为强制算法。总的来说,ccmp能够提供数据保密、认证和完整性检测等保护措施。4 wpa/wpa2-psk协议wpawpa2具有很高的安全性,但其配置和维护费用昂贵,一般小型企业和 个人用户难以负担。4.1 ieee 802.11x 认证ieee8021x为认证会话过程定义了3个组件,分别是:申请者、认证者和认证服务器。对wlan来说,申请者请求接入无线网络,通常为支持ieee8021x的工作站。认证者指需要访问控制的端口,一般为无线接入点。认证者在认证过程中只起到透明传输的作用,所有的认证工作都在申请者和认证服务器上完成。认证服务器实现具体的认证功能,并通知认证者是否允许用户访问端口所提供的服务。认证服务器通常是一台radius(remote authentication dial-in user service)服务器,该服务器存储了用户的相关信息,如用户名、密码、用户访问控制列表等。ieee8021x采用eap协议作为认证信息交互机制,eap消息封装在eapol分组中。一次完整的ieee8021x认证过程包括申请者和认证者之间的握手、认证者和认证服务器之间的握手以及申请者和认证服务器之间的握手(通过认证者转发)。通过这些握手过程,申请者和认证服务器彼此相互认证并生成一个共同的密钥,叫做主会话密钥(master session key,msk)。认证服务器将msk安全地传输给认证者,申请者和认证者利用msk生成成对主密钥(pairwise master key,pmk),用于接下来成对临时密钥(pairwise transient key,ptk)的生成。 认证过程如下:1)无线客户终端(sta)向ap发出请求,试图获得ssid并与接入点ap进行通信;2)ap要求sta提供身份id;3)sta把身份传递给ap;4)ap将加密的id数据发送给radius认证服务器(as)进行sta身份认证;5)as从证书授权目录中获取sta的公钥,然后as和sta进行eap认证会话,即向sta发出用sta公钥加密的询问并要求sta进行特定的数据操作;6)ap转送as的询问给sta;7)sta按as询问做出响应,并由ap转送给as;8)若as接受sta的应答,则授权ap开放wlan接入,并向ap和sta通过公钥加密或kerberos传送提供会话主密钥,否则拒绝sta接入wlan:9)ap生成当前的会话密钥,并用主密钥加密后送给sta,如果会话成功,sta与as共享定时刷新的会话密钥。ieee8021x认证具有很高的安全性,但这种认证模式需要架设一台专用的radius服务器,对于小型企业和个人用户来说,代价过于昂贵,维护也很复杂,所以wpa/wpa2主要应用于大型企业。针对小型企业和个人用户,wpawpa2提供了一种不需要radius服务器的预共享(pre-shared key,psk)模式。在psk模式下,申请者和认证者预先输人一个passphrase,然后根据函数psk = pbkdf2 (passphrase ,ssid ,ssidlength ,4096 ,256) 计算生成psk。其中,ssid 是认证者的服务集标识(service set identif ier,ssid )。计算得到的psk用于替代pmk。该psk被申请者和认证者存储起来用于同一个申请者和认证者之间多次重复关联,从而减少生成psk的计算负载。生成pmk(或psk)之后,申请者和认证者发起四次握手过程,动态协商用于此次会话的ptk。4.2 四次握手过程四次握手过程的消息均由eapol-key帧格式封装,消息交换过程如图11所示,其中,sta和ap分别表示申请者和认证者,snonce和anonce是sta和ap生成的随机值,sta-mac和ap-mac分别表示sta和ap的mac地址,rsnie是健壮安全网络信息元素,mic是消息完整性校验值,gtk是wlan目前正在使用的组临时密钥。图11 四次握手过程(1)第一次握手(消息1):ap生成并向sta发送anonce。(2)第二次握手(消息2 ):sta 收到 anonce 之后,生成 snonce,根据下式计算得到 ptk ,其中 “|”表示连接操作。ptk=prf-x(psk,“pairwise key expansion”,min(sta-mac,ap_mac)|max(sta_mac,ap_mac)|min(anonce,snonce)|(max(anonce,snonce)ptk包含3个部分,分别是:eapol确认密钥kck、eapol加密密钥kek、临时密钥tk。其中,kck用于计算eapol-key帧的校验和,kek用来加密eapol-key帧的数据,tk用以加解密sta与ap之间的单播数据。sta向ap发送snonce和sta的rsnie,并且利用kck对整个消息2进行mic校验。(3)第三次握手(消息3):ap得到snonce之后,利用同样的方法计算出ptk并且对消息2进行mic校验,如果校验失败则丢弃消息2,成功则向sta发送anonce(和消息1中的anonce相同)、ap的rsnie、mic、是否安装ptk、用kek加密的gtk。(4)第四次握手(消息4):sta收到消息3并校验正确后即装入ptk和gtk,然后向ap发送消息4,表示已经装入ptk和gtk。ap收到消息4并校验正确后也装入frk。至此,四次握手过程完成。4.3 wpa/wpa2-psk的安全性分析wpawpa2-enterprise的安全性非常高,破解难度极大。但目前已经有多种黑客软件可以破解wpawpa2-psk模式下的用户密码,例如cowpatty等。这些软件都是采用字典破解的方式获得psk模式下的用户密码。从对四次握手过程的描述可知,wpawpa2-psk的认证实际上是对mic的认证。mic由kck计算生成,而kck是由ptk分解得到的。计算ptk需要anonce、snonce、ap的mac地址ap-mac、sta的mac地址sta-mac以及psk,在四次握手过程中,消息1和消息2中的anonce、snonce没有经过加密,是明文传送的,攻击者只要捕获到这两个消息,就能得到anonce和snonce,而psk是由passphrase和ap的ssid计算得出的,根据这些已知的数据,攻击者可以利用先假设再验证的思想,试探得到passphrase,这种破解方式被称为字典破解。字典破解中的字典是事先已经获取的passphrase的集合。
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 服装租店合同模板范本(3篇)
- 2025副校长聘用合同样本
- 卫星通信天线架租赁及地面站建设合同
- 离婚协议中关于子女教育费用及共同财产分割协议报告
- 离婚协议范本:财产分割及子女监护权安排
- 餐饮业连锁品牌租赁合同:加盟餐厅租赁范本
- 离婚财产分割公证及财产保全方案实施合同
- (正式版)DB65∕T 3822-2015 《昆仑羊种羊》
- 长租公寓租赁合同购房资格审核与保障协议
- 水务领域PPP项目合同范本与节水效果考核
- 临床用血管理制度课件
- 遗产继承案例分析题单选题100道及答案
- 2024年钛行业发展研究报告
- 《人工智能通识教程》(第2版)教学大纲
- 2024-2025学年浙江省“精诚联盟”10月联考高一年级第一学期数学试题含答案
- 四川省建筑工程资料表格
- 棋牌室消防应急预案范本
- JGJ/T235-2011建筑外墙防水工程技术规程
- QC-T 1175-2022 电动汽车用高压接触器
- 隧道施工工期及施工进度安排
- 习思想以中国式现代化全面推进中华民族伟大复兴
评论
0/150
提交评论