加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

802.11安全史

(2007-04-27 22:14:11)
标签:

wep

tkip

wpa

aes

分类: Wi-Fi

 

 

    无线技术的迅速发展及应用的广泛普及,使无线网络的安全问题开始越来越受到人们的关注。众所周知,通常网络的安全性主要体现在访问控制和数据加密两个方面。访问控制保证敏感数据只能由授权用户进行访问,而数据加密则保证发射的数据只能被所期望的用户所接收和理解。无线网络的数据传输是利用微波在空气中进行辐射传播,因此只要在Access Point (AP)覆盖的范围内,所有的无线终端都可以接收到无线信号,AP无法将无线信号定向到一个特定的接收设备,因此无线的安全保密问题就显得尤为突出。
 
    无线技术的出现已经有一百多年的历史,但真正进入我们的生活也就是近一二十年的时间。WLAN技术出现之后,“安全”就成为始终伴随在“无线”这个词身边的影子,针对无线网络技术中涉及的安全认证加密协议的攻击与破解就层出不穷。


一.最初的保护着——有线等效保密(WEP)

    有线等效保密(WEP)协议是由802.11标准定义的,用于在无线局域网中保护链路层数据。WEP使用40位钥匙,采用RSA开发的RC4对称加密算法,在链路层加密数据。

    WEP支持 64 位和128 位加密,对于 64 位加密,加密密钥为 10 个十六进制字符(0-9 和 A-F)或 5 个 ASCII 字符;对于 128 位加密,加密密钥为 26 个十六进制字符或 13 个 ASCII 字符。64 位加密有时称为 40 位加密;128 位加密有时称为 104 位加密。152 位加密不是标准 WEP 技术,没有受到客户端设备的广泛支持。WEP依赖通信双方共享的密钥来保护所传的加密数据帧。WEP也提供认证功能,当加密机制功能启用,客户端要尝试连接上AP时,AP会发出一个ChallengePacket给客户端,客户端再利用共享密钥将此值加密后送回存取点以进行认证比对,只有正确无误,才能获准存取网络的资源。40位WEP具有很好的互操作性,所有通过Wi-Fi组织认证的产品都可以实现WEP互操作。

    WEP 加密使用共享密钥和 RC4 加密算法。访问点(AP)和连接到该访问点的所有工作站必须使用同样的共享密钥。对于往任一方向发送的数据包,传输程序都将数据包的内容与数据包的检查和组合在一起。然后,WEP 标准要求传输程序创建一个特定于数据包的初始化向量(IV),后者与密钥相组合在一起,用于对数据包进行加密。接收器生成自己的匹配数据包密钥并用之对数据包进行解密。在理论上,这种方法优于单独使用共享私钥的显式策略,因为这样增加了一些特定于数据包的数据,应该使对方更难于破解。

    WEP为何易受攻击
一般来说,您应该避免使用共享密钥,因为如果这个密钥泄密,攻击者就可以窃听您的流量或侵入您的网络。针对 WEP 的 1 号攻击的前提就是您建立了一个共享密钥;如果您能够使用一种质询-响应机制(如:用于 802.1X 或 Kerberos 的机制),那么您最好还是放弃这种做法。然而,共享密钥并不是最大的问题;2 号攻击的前提是 WEP 设计工程师在如何执行 WEP 加密方面做出了一些糟糕的选择。因为一些聪明的解密者会根据这些选择算出几个对 WEP 进行攻击的理论方法,其中的一些很快就会成为实用的攻击手段。这种方法存在这样几个问题:

    RC4 算法本身就有一个小缺陷,可以利用这个缺陷来破解密钥。
 
    WEP 标准允许 IV 重复使用(平均大约每 5 小时重复一次)。这一特性会使得攻击 WEP 变得更加容易,因为重复使用 IV 就可以使攻击者用同样的密文重复进行分析。
 
    WEP 标准不提供自动修改密钥的方法。因此,您只能手动对访问点(AP)及其工作站重新设置密钥;因此,在实际情况中,没人会去修改密钥,这样就会将他们的无线局域网(Wireless LAN,WLAN)暴露给收集流量和破解密钥的被动攻击。
 
    最早的一些开发商的 WEP 实施只提供 40 位加密——短得可怜的密钥长度。更现代的系统提供 128 位的 WEP;128 位的密钥长度减去 24 位的 IV 后,实际上有效的密钥长度为 104 位,虽然这对其他一些缺陷也无能为力,但还可以接受。
  
 
    有效的解决方法
   RSASecurity(RC4编码的发明机构)与Hifn(位于加州,专精于网络安全的公司,www.hifn.com)正努力加强WEP的安全,并发展新的运算法则。两家机构为RC4发展的解决方案为「快速封包加密(FastPacketKeying)」,每个封包送出时,都会快速的产生不同的RC4键值。传送与接收双方都使用了128位的RC4键值,称为暂时键值(TK,TemporalKey)。当双方利用TK连结时,会使用不同的keystream,其中会加入16位的IV,再一次的产生128位的RC4键值。用户可以通过软硬件与驱动程序更新,在现有无线局域网中使用RC4快速封包加密。

 


二.快速度发展的WPA

    在IEEE802.11i标准最终确定前,WPA(Wi-FiProtected Access)技术将成为代替WEP的无线安全标准协议,为IEEE 802.11 无线局域网提供更强大的安全性能。WPA是IEEE802.11i的一个子集,其核心就是IEEE 802.1x和TKIP。

    WEP是数据加密算法,它不是一个用户认证机制,WPA用户认证是使用802.1x和扩展认证协议(ExtensibleAuthenticationProtocol:EAP)来实现的。

    在802.11标准里,802.1x身份认证是可选项;在WPA里802.1x身份认证是必选项。802.1x要求无线工作站安装802.1x客户端软件,无线访问点要内嵌802.1x认证代理,同时它还作为Radius客户端,将用户的认证信息转发给Radius服务器。现主流的PC机操作系统WinXP以及Win2000都已经有802.1x的客户端功能。

    现在,安全功能比较全的AP在支持IEEE802.1x和Radius的集中认证时支持的可扩展认证协议类型有:EAP-MD5 & TLS、TTLS和PEAP。

    对于加密,WPA使用临时密钥完整性协议(TKIP:TemporalKeyIntegrityProtocol)的加密是必选项。TKIP使用了一个新的加密算法取代了WEP,比WEP的加密算法更强壮,同时还能使用现有的无线硬件上提供的计算工具去实行加密的操作。

    WPA安全的密钥特性

    WPA标准里包括了下述的安全特性:WPA认证、WPA加密密钥管理、临时密钥完整性协议(TKIP)、Michael消息完整性编码(MIC)、AES支持。

    WPA改善了我们所熟知的WEP的大部分弱点,它主要是应用于公司内部的无线基础网络。无线基础网络包括:工作站、AP和认证服务器(典型的RADIUS服务器)。在无线用户访问网络之前,RADIUS服务掌控用户信任(例如:用户名和口令)和认证无线用户。

    WPA的优势来自于一个完整的包含802.1x/EAP认证和智慧的密钥管理和加密技术的操作次序.它主要的作用包括:

    网络安全性能可确定。它可应用于802.11标准中,并通过数据包里的WPA信息进行通信、探测响应和(重)联合请求。这些基础的信息包括认证算法(802.1x或预共享密钥)和首选的密码套件(WEP,TKIP或AES)。

    认证。WPA使用EAP来强迫用户层的认证机制使用802.1x基于端口的网络访问控制标准架构,802.1x端口访问控制是防止在用户身份认证完成之前就访问到全部的网络。802.1xEAPOL-KEY包是用WPA分发每信息密钥给这些工作站安全认证的。

    在工作站客户端程序(Supplicant)使用包含在信息元素里的认证和密码套件信息去判断哪些认证方法和加密套件是使用的。例如,如果AP是使用的预共享密钥方法,那么客户端程序不需要使用成熟的802.1x。然而,客户端程序必须简单地证明它自己所拥有的预共享密钥给AP;如果客户端检测到服务单元不包含一个WPA元素,那么它必须在命令里使用预WPA802.1x认证和密钥管理去访问网络。

    密钥管理。WPA定义了强健的密钥生成/管理系统,它结合了认证和数据私密功能。在工作站和AP之间成功的认证和通过4步握手后,密钥产生了。

    数据加密。临时密钥完整性协议(TKIP)是使用包装在WEP上的动态加密算法和安全技术来克服它的缺点。数据完整性:TKIP在每一个明文消息末端都包含了一个信息完整性编码(MIC),来确保信息不会被“哄骗”。


    WPA考虑到不同的用户和不同的应用安全需要,例如:企业用户需要很高的安全保护(企业级),否则可能会泄漏非常重要的商业机密;而家庭用户往往只是使用网络来浏览 Internet、收发email、打印和共享文件,这些用户对安全的要求相对较低。为了满足不同要求用户的需要,WPA中规定了两种应用模式:

    企业模式:通过使用认证服务器和复杂的安全认证机制来保护无线网络通信安全。
    家庭模式(包括小型办公室):在AP(或者无线路由器)以及连接无线网络的无线终端上输入共享密钥来保护无线链路的通信安全。

 

   

三.新一代的加密技术TKIP

    TKIP是一种” 半新 ”的加密协定。之所以称 TKIP 为一个 ” 半新 ” 的加密协定 , 只是因为它保留了 WEP 所使用的加密引擎 RC4 和基本架构。作这样的保留是为了要使 TKIP 能够相容于支援 WEP 的硬体 , 以便于使用者日后升级。事实上 TKIP 原本被称为 WEP2, 但由于 WEP 经证实存在瑕疵 , 为了能与 WEP 有所区隔 , 因此更名为 TKIP 。

    WEP 最大的弱点在于过短的 IV 以及直接以使用者设定的 WEP 金钥为输入项目产生金钥串流 , 再以之结合资料进行加密。新一代的加密技术TKIP与WEP一样基于RC4加密算法,且对现有的WEP进行了改进,在现有的WEP加密引擎中追加了“密钥细分(每发一个包重新生成一个新的密钥)”、“消息完整性检查(MIC)”、“具有序列功能的初始向量”和“密钥生成和定期更新功能”等4种算法,极大地提高了加密安全强度。TKIP 将 24-bit 的 IV 增加为 48-bit, 如此可以有效防止 IV 空间在金钥的使用期限内耗尽。再来就是 RC4 用来产生金钥串流的金钥 , 在 TKIP 里 , 这把用来产生金钥串流的金钥是以配钥 (key mixing) 的方式产生的。首先无线装置和 AP 之间在验证阶段或重新验证阶段 (802.11i 规范的验证方式 ) 会以随机 (random) 的方式协商出成对主钥 PMK, 这把 PMK 的任务之一就是要衍生出暂时金钥 (temporal key), 并于配送 (distribution) 金钥时对金钥进行加密。 TKIP 再以暂时金钥以及其他元素 ( 例如传送端的 MAC address) 为输入项目 , 进行二个阶段的配钥程序产生出密钥 , 这个密钥就是用来产生金钥串流的种子。也因为使用配钥的方式 , 使得 TKIP 能为每一个传送的讯眶 (frame) 打造一把独特的密钥。
   
    在IEEE 802.11i规范中,动态密钥完整性协议(TKIP)负责处理无线安全问题的加密部分。TKIP在设计时考虑了当时非常苛刻的限制因素:必须在现有硬件上运行,因此不能使用计算先进的加密算法。

    在IEEE 802.11i规范中,动态密钥完整性协议(TKIP)负责处理无线安全问题的加密部分。TKIP在设计时考虑了当时非常苛刻的限制因素:必须在现有硬件上运行,因此不能使用计算先进的加密算法。

    TKIP是包裹在已有WEP密码外围的一层“外壳”。TKIP由WEP使用的同样的加密引擎和RC4算法组成。不过,TKIP中密码使用的密钥长度为128位。这解决了WEP的第一个问题:过短的密钥长度。

    TKIP的一个重要特性,是它变化每个数据包所使用的密钥。这就是它名称中“动态”的出处。密钥通过将多种因素混合在一起生成,包括基本密钥(即TKIP中所谓的成对瞬时密钥)、发射站的MAC地址以及数据包的序列号。混合操作在设计上将对无线站和接入点的要求减少到最低程度,但仍具有足够的密码强度,使它不能被轻易破译。

    利用TKIP传送的每一个数据包都具有独有的48位序列号,这个序列号在每次传送新数据包时递增,并被用作初始化向量和密钥的一部分。将序列号加到密钥中,确保了每个数据包使用不同的密钥。这解决了WEP的另一个问题,即所谓的“碰撞攻击”。这种攻击发生在两个不同数据包使用同样的密钥时。在使用不同的密钥时,不会出现碰撞。

    以数据包序列号作为初始化向量,还解决了另一个WEP问题,即所谓的“重放攻击(replay attacks)”。由于48位序列号需要数千年时间才会出现重复,因此没有人可以重放来自无线连接的老数据包:由于序列号不正确,这些数据包将作为失序包被检测出来。

    被混合到TKIP密钥中的最重要因素是基本密钥。如果没有一种生成独特的基本密钥的方法,TKIP尽管可以解决许多WEP存在的问题,但却不能解决最糟糕的问题:所有人都在无线局域网上不断重复使用一个众所周知的密钥。为了解决这个问题,TKIP生成混合到每个包密钥中的基本密钥。无线站每次与接入点建立联系时,就生成一个新基本密钥。这个基本密钥通过将特定的会话内容与用接入点和无线站生成的一些随机数以及接入点和无线站的MAC地址进行散列处理来产生。由于采用802.1x认证,这个会话内容是特定的,而且由认证服务器安全地传送给无线站。

     新一代的加密技术TKIP与当前市场上的WiFiTM 产品向后兼容,而且可以通过软件进行升级,AboveCable无线产品完全支持WiFiTM标准,只需要简单的软件升级就可以实现对TKIP的支持。


四.高级加密标准AES

    AES(The Advanced Encryption Standard)是NISI(美国国家标准与技术协会)于2002年5月26日制定的新的所用于加密电子数据的高级加密标准规范。它被预期能成为人们公认的加密包括金融、电信和政府数字信息的方法。

    AES是一种全新加密算法,能实施强大的加密和信息完整性检查,可以用于保护电子数据的加密算法。 AES加密算法是基于排列和置换的运算。排列是对数据重新进行安排,置换是将一个数据单元替换为另一个。AES使用几种不同的方法来执行排列和置换运算,AES 是一个迭代的、对称密钥分组的密码,算法输入128位数据,密钥长度也是128位,用Nr表示对一个数据分组加密的轮数。每一轮都需要一个与输入分组具有相同长度的扩展密钥Expandedkey(i)的参与。由于外部输入的加密密钥K长度有限,所以在算法中要用一个密钥扩展程序(Keyexpansion)把外部密钥K扩展成更长的比特串,以生成各轮的加密和解密密钥。同时它可以使用128、192 和 256 位密钥,并且用 128 位(16字节)分组加密和解密数据。与公共密钥密码使用密钥对不同,对称密钥密码使用相同的密钥加密和解密数据。通过分组密码返回的加密数据的位数与输入数据相同。迭代加密使用一个循环结构,在该循环中重复置换(permutations )和替换(substitutions)输入数据。

    AES 的安全性怎样呢?这是一个很难回答的问题,但是一般多数人的意见是:它是目前可获得的最安全的加密算法。AES 已被列为比任何现今其它加密算法更安全的一种算法。在理论和实践基础上,AES 被认为是“安全的”,因为要破解它的话,唯一有效的方法是强行(brute-force)生成所有可能的密钥。如果密钥长度为 256 位,还没有已知的攻击可以在一个可接受的时间内破解 AES(即便在当今最快的系统上,它也要花费数年时间)。

    针对 AES 密码最可能成功的攻击来自一个允许时间选择攻击的弱实现。攻击者用不同的密钥并精确地测量出加密例程所需的时间。如果加密例程被粗心编码,因此执行时间便依赖于密钥值,它就有可能推导出有关密钥的信息。在 AES 中,这种事情最可能发生在 MixColumns 例程中,因为有域乘。针对这种攻击的两个安全措施是加入虚指令,以便所以所有乘法都需要相同数量的指令,或者将域乘实现为一个查询表。
   
  
    AES技术将无疑成为加密所有形式电子信息的事实上的标准。AES 加密的数据在某种意义上说是牢不可破的,因为没有已知的密码分析攻击可以解密 AES 密文,除非强行遍历搜索所有可能的 256 位密钥。AES技术提供比WEP/TKIP中RC4算法更高的加密性能。因此 AES 也被认为是比 WEP/TKIP 所采用的 RC4 更适合应用在无线局域网 (WLAN) 的一种 MAC 加密演算法。它将在IEEE 802.11i最终确认后,成为取代WEP的新一代的加密技术,为无线网络带来更强大的安全防护。但是由于 AES 的复杂度更高 , 需要更多的硬体运算资源 , 因此无法向下相容于早期仅支持 WEP 的硬体。


 

0

阅读 收藏 喜欢 打印举报/Report
后一篇:RFID
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有