-1--1-第八章无线局域网安全马占宇信通院模式识别实验室-32--32-第六讲:无线局域网安全•本地无线连接•无线局域网WLAN•802.11x系列标准•中国标准WAPI–9798-3/ISOSC27-33--33-无线局域网技术•无线LAN和个人通信网(PCN)代表了1990年代通信网络技术的发展方向。•相关技术的发展–天线设计技术的发展–高性能、高集成度的CMOS和GaAs半导体技术的发展,MCM技术–网络软硬件设计技术的进展•无线网络拓扑结构–点对点型,HUB型,完全分布型adhocnetworkInfrastructurenetwork-34--34-几种无线标准的比较笔记本,移动电话,PDA,寻呼机和轿车台式/笔记本电脑,电话,modem,网关台式/笔记本电脑,PDA,网关终端类型30-400Kbps家庭办公室,私人住宅和庭院的网络办公区和校园局域网应用范围Bluetooth1,2,10Mbps11Mbps传输速度HomeRF802.11b蓝牙研究组,Ericsson,Motorola,NokiaApple,Compaq,Dell,HomeRF工作群,Intel,MotorolaCisco,Lucent,3Com,WECAConsortium,…支持公司窄带发射频谱跳频发射频谱直接顺次发射频谱传输协议30英尺150英尺50-300英尺覆盖范围点对点或每节点多种设备的接入接入方式多样化接入方式红外系统射频系统非专用频段,或称为工业、科研、医学(ISM)频段专用频段:(18.825~18.875)GHz,(19.165~19.215)GHz毫米波段(mmW)-35--35-无线局域网的安全标准•WEP(WiredEquivalentPrivacy)协议•TKIP(TemporaryKeyIntegrityProtocol)•802.1X协议•Wi-Fi组织提出的WPA(Wi-FiProtectedAccess)标准•802.11i标准(较新标准)•WAPI(中国标准)-36--36-Wi-Fi组织简介•Wi-Fi组织的前身是WECA(WirelessEthernetCompatibilityAlliance)•其官方网站为•该组织对厂家根据802.11标准生产的WLAN产品进行兼容性测试与认证,确保通过其认证的产品可以互联互通-37--37-WLAN的802.1x协议系列标准•1997年,IEEE802.11协议•1999年,IEEE802.11b协议•2004年,IEEE802.11i协议(DraftStandard)•2007年,IEEE802.11i协议(Standard)……网络吞吐速率,高速数字传输和稳定的连接CIS/SJTU372008-3-28标准最大数据传输速率工作频率公布时间802.112Mbps2.4GHz1997年802.11b11Mbps2.4GHz1999年802.11a54Mbps5GHz2001年802.11g54Mbps2.4GHz2002年HiperLAN254Mbps5GHz2003年-38--38-802.11无线安全技术演进-39--39-802.11协议•工作方式–无线站–无线接入点(AP)•物理层–三个物理层包括了两个扩频–技术规范和一个红外传播规范–传输速率是1Mbps和2Mbps,使用FHSS(frequencyhoppingspreadspectrum)或DSSS(directsequencespreadspectrum)技术•联合结构、蜂窝结构和漫游–MAC子层负责解决客户端工作站和访问接入点之间的连接-40--40-802.11的三种基本安全机制•802.11标准规定无线局域网有三种基本的接入AP的安全措施–服务区别号(SSID)–MAC地址过滤–等价有线协议(WEP)40-41--41-802.11的三种基本安全机制•服务区别号(SSID)–无线Station必须出示正确的SSID才能访问AP,SSID可以被看作是一个简单的口令•MAC地址过滤CIS/SJTU412008-3-28可以手工维护一组允许或拒绝访问的MAC地址列表,用来进行物理地址过滤。物理地址过滤属于硬件认证,不属于用户认证。在MAC地址列表中手工增删用户的MAC地址,只适合小型网络。-42--42-802.11的三种基本安全机制•有线等价协议(WEP)–802.11标准包含一个WEP协议(WiredEquivalentPrivacyprotocol),它的安全目标是•阻止窃听(保护机密性)•阻止消息被篡改(保护完整性)•控制对WLAN的访问(访问控制)•实质上,WEP应提供与有线网络等同的安全性。WEP是一个保护链路层通信安全的协议,而不提供端到端的安全解决方案。在adhoc网络中不能使用WEP,因为该种网络没有AP。CIS/SJTU422008-3-28-43--43-WEP协议的主要内容•在MobileStation与AccessPoint之间共享一个密钥,用来认证。•使用CRC-32(循环冗余校验码)来保护消息完整性。•使用RC4流密码算法对包载荷和CRC校验值进行加解密。•接收者解密数据,计算包载荷的CRC校验值,若正确则接受,否则丢弃该包。CIS/SJTU432008-3-28MobileStationAccessPoint-44--44-WEP协议的认证CIS/SJTU442008-3-28STAAPChallenge(Nonce)Response(NonceRC4encryptedundersharedkey)SharedsecretdistributedoutofbandDecryptednonceOK?-45--45-WEP协议的完整性校验PlaintextICV’IntegrityAlgorithmICV=?AcceptPacketRejectPacketYesNoIntegrityCheckValue(ICV)-46--46-WEP协议的加、解密•RC4是一种流密码算法,它可利用一个密钥生成无限长的伪随机数序列(称为密钥流)。加密时,将密钥流与明文相异或,解密方法与加密相同。Pseudo-randomnumbergeneratorEncryptionKeyKPlaintextdatabytepRandombyterCiphertextdatabytec=prDecryptionworksthesameway:p=cr-47--47--48--48-CIS/SJTU482008-3-28WEP协议的加密||WEPPRNGIntegrityAlgorithm||IVCiphertextIntegrityCheckValue(ICV)SeedSecretKeyPlaintextIV-49--49-CIS/SJTU492008-3-28WEP协议的解密IVCiphertextSecretKey||WEPPRNGPlaintextICV’-50--50-CIS/SJTU502008-3-28WEP的帧格式•在使用流密码算法(包括RC4)时,加密两个消息时使用同一密钥流是十分危险的•WEP中使用24bit长的IV来增加密钥的个数–Key=base_key||IV–不同的IV将产生不同的密钥流,IV放在每包的开头,对IV不进行加密IVCRC-32…PayloadKeyIDbyteRC4encrypted-51--51-WEP的密钥长度•WEP采用RC4算法加密数据包,密钥长度为40bit或104bit。由于存在24bit长的IV,WLAN厂商通常对外宣称密钥长度为64bit或128bit。CIS/SJTU512008-3-28-52--52-LabforCryptographyandInformationSecurity,SJTU522008-3-28WPA,WPA-PSK开放系统,共享系统-53--53-流密码算法RC4•RC4wasdesignedbyRonRivestofRSASecurityin1987•RC4wasinitiallyatradesecret,–butinSeptember1994adescriptionofitwasanonymouslypostedtotheCypherpunksmailinglist.–Itwassoonpostedonthesci.cryptnewsgroup,–andfromtheretomanysitesontheInternet.•Thecurrentstatusseemstobethatunofficialimplementationsarelegal,butcannotusetheRC4name.RC4isoftenreferredtoasARCFOUR,toavoidpossibletrademarkproblems.•Ithasbecomepartofsomecommonlyusedencryptionprotocolsandstandards,includingWEPandWPAforwirelesscardsandSSL.CIS/SJTU532008-3-28-54--54-RC4:pseudo-randomgenerationalgorithm(PRGA)•考虑所有的字节(8bit数组)–0,1,2,…,255–S(需初始化):所有字节的置换S[0],S[1],S[2],…,S[255]•流密码算法:明文、密钥按字节对应数组XOR•密钥流输出算法–i:=0–j:=0whileGeneratingOutput:–i:=(i+1)mod256–j:=(j+S[i])mod256–swap(S[i],S[j])–outputS[(S[i]+S[j])mod256]-55--55-RC4:key-schedulingalgorithm•置换S通过密钥初始化–密钥长度(字节数)l通常5~16(40–128bits)–首先,设S为恒等置换–S然后经过类似PRGA的256次迭代生成,即forifrom0to255S[i]:=ij:=0forifrom0to255j:=(j+S[i]+key[imodl])mod256swap(S[i],S[j])-56--56-IV的碰撞问题•不同的包使用相同IV的现象称作IV的碰撞–相同的IV意味着加密密钥流是同一个C1C2=P1P2•如果C1、C2、P1已知,则立即可以推算出P2。•如果有三个或三个以上的包使用相同的IV,则解密更加容易。C1C3=P1P3C2C3=P2P3C1C2=P1P2-57--57-WEP中的IV碰撞•802.11没有规定如何选择IV,甚至没有要求对于不同的包采用不同的IV•许多基于802.11的产品将IV的初始化值设为0,随后IV递增•实际上,IV的取值总共有224种可能,在几个小时以后就会出现IV碰撞的情况。当一个密钥的生命期比较长时,或多个用户使用同一个密钥时,IV碰撞发生的几率会急剧增大。•在IV发生碰撞时,可根据C1C2=P1P2推测明文P1、P2的值。-58--58-已知明文攻击•一旦我们得知一个数据包的明文内容,只需将明文与密文相异或,我们就可以推导出加密该包的密钥流。RC4(k,IV)=PlaintextCipher•用此密钥流可以解密所有具有相同IV值的其它被加密数据包。•如果我们能够收集224个不同IV开头的数据包的明文内容,就可以得到加密224个包的密钥流,用它们组织成解密字典,可以实时地解密任何一个数据包。•由于在一般的情况下,IV是从0开始计数的,所以IV值较小的包会经常出现,这些数据包将比IV值大的包更容易遭到破解。-59--59-对WEP中CRC校验的攻击•CRC-32是考虑检验传输错误,并非保护数据完整。–基于线性纠错编码:k位序列k+r位序列,r位冗余用于校验•nbit长的明文可以表示成一个n-1次多项式的形式p=pn-1xn-1+pn–2xn–2++