• 1. 802.1x的加密与认证
  • 2. AP支持的加密和认证方式简介一、AP支持的加密方式有: NONE、WEP、 TKIP、 AES 二、AP支持的认证方式有: OPEN、SHARED、802.1X、WPA_P、WPA_E WPA2_P、WPA2_E 三、支持的加密认证组合有: OPEN + NONE OPEN + WEP SHARED + WEP 802.1X + 动态WEP //只有瘦ap支持 WPA_P + TKIP WPA_P + AES WPA_E + TKIP // 需要RADIUS认证 WPA_E + AES // 需要RADIUS认证 WPA2_P + TKIP WPA2_P + AES WPA2_E + TKIP // 需要RADIUS认证 WPA2_E + AES // 需要RADIUS认证
  • 3. 咀嚼wep背景知识 WEP加密操作流程 WEP的瑕疵
  • 4. 咀嚼wep一、背景知识 1、WEP的密码学背景 WEP是Wired Equivalent Privacy,即有线等效保密(WEP)的简称,该协议对在两台设备间无线传输的数据进行加密,用以防止非法用户窃听或侵入无线网络 。WEP安全技术源自于RC4的RSA数据加密技术。WEP要用到RC4密钥,它是一种对称性的流密钥。密钥流与明文信息结合,产生密文。还原原始信息时,接受端用同样的密钥处理密文。通常,RC4采用异或运算结合密钥流与密文。加密和解密过程如下所示:
  • 5. 2、产生密钥流 选用一把较短的密钥,然后将之展开成与信息等长的伪随机数密钥流,过程如下图所示。伪随机数生成器(PRNG)是一组用来将密钥展开成密钥流的规则,为了使加密和解密有相同的密钥流,加密和解密时用到的伪随机数生成器和密钥必须是相同的。 3、WEP的分类:动态WEP和静态WEP 不具备密钥分配机制而必须手动分配密钥的WEP称为手动WEP或静态WEP,这种情况下,所有的主机共享同一个密钥。在动态WEP中,每个工作站使用两个密钥,其中一个是映射密钥,为工作站和AP共享,用来保护单播帧,另一个是默认密钥,为一个BSS中的所有station共享,用来保护广播和组播,station使用的加密密钥是通过密钥加密密钥来分配的。
  • 6. 二、Wep加密操作的流程 通信安全主要有三个目的,当数据经过网络时,数据安全协议必须能实现这些目的。其一是保护数据的机密性,即防止未经授权的用户拦截数据;其二是完整性,即确保数据没有被修改;其三是真是性,即数据源是真是可靠的。在允许任何对数据的访问之前必须确认用户的身份的真实性以及是否允许该用户访问(授权)。为了实现这些目的,WEP提供了许多的机制,例如帧主体加密机制提供帧的机密性,完整性校验序列用来在传送过程中保护数据,让接受端能够验证数据在传送的过程中未被更改过。机密性和完整性同时进行,如下图所示
  • 7. 1、WEP需要以下的输入项: 需要保护的有效载荷(payload),这些数据来自上层的协议堆栈。 密钥,可以用密钥字符串或者密钥编号来指定密钥。 初始向量,和密钥一起够成WEP种子。 2、输出项: 加密过的帧,它可以通过不安全的网络加以传送,其中包含了足够的信息使对方能够解密。 3、具体流程: 整个加密过程通过驱动程序和接口硬件完成,然后送出加密过的封包,具体过程 802.11帧被放在队列中等待传送。帧由标头和有效载荷组成,WEP只是针对有效载荷处理,802.11帧头及其它的底层协议的标头都没有改变 根据802.11 帧的有效载荷计算出完整性校验值ICV,该ICV是循环冗余校验码。 组装WEP种子。WEP 密钥分为两个部分:密钥(secret key)以及初始向量(IV)。如果使用同一个密钥,流密码会产生相同的密钥流,IV为每个帧产生不同的密钥流.IV 的产生并没有规定特别的算法,常用的有使用流水号作为IV值,伪随机散列算法等。
  • 8. WEP种子被当成RC4密钥加密802.11 MAC帧的有效载荷和ICV,整个加密过程通过RC4专业电路来协助完成。 加密完成以后,开始组装待传递的帧。802.11帧本身的标头没有改变,在802.11帧头和加密过的有效载荷之间插入WEP 标头,包括IV和WEP密钥编号。 4、解密 解密之前首先验证完整性ICV,确保帧的完整性,然后整个解密过程和加密过 程相反。
  • 9. 三、WEP的种种瑕疵 1、重复使用密码流给WEP带来致命的弱点。 一个完全随机的密钥流通常称为一次性密码本,它是经过数学验证的可以防范任何攻击的加密方式。由于产生和运送一次性密码本的成本较高,WEP并没有采用一次性密码本。WEP准备了四个密钥代选,利用IV值的不同来区分不同的密钥,但是IV 属于标头的一部分,本身没有经过加密。以相同的密钥加密时,对两个密文做XOR运算和对两个明文做XOR运算的结果是相同的,因此,只要分析两个相邻的流,攻击者就可以得知明文的内容。 2、WEP的完整性检验采用循环冗余校验CRC,而CRC是不具备密码学上的安全性。 3、静态WTP存在许多隐患:除了手动的分配ip地址比较麻烦外,所有的用户使用相同的密码
  • 10. 了解其它的加密方式临时完整性加密协议(TKIP) 高级加密标准(AES)
  • 11. 一、临时完整性加密协议(TKIP) 1、背景知识 开发TKIP的主要动机是为了升级基于WEP的硬件的安全性,因此TKIP保留了WEP的基本结构和操作方式。TKIP原本称为“WEP2”,由于WEP存在种种的瑕疵,此时协议就更名为TKIP,以便与WEP有所区别。TKIP相当于WEP,主要做了下面的改进 TKIP不在使用单一的主密钥,而是使用多个主密钥,用来加密帧的主密钥是由主密钥派生出来的。 他会为每个帧派生一个密钥,为每个帧准备密钥的过程称为密钥混合。 采用新的完整性校验-Michael完整性校验散列算法。 2、TKIP的数据处理和操作
  • 12. TKIP对帧的加密过程和WEP相同,所不同的是,TKIP有了交复杂的密钥和IV的产生方式,以及较复杂的完整性校验算法。这里只介绍一下密钥和IV的产生过程。如下图所示,该过程所需的输入项有Temporal Key(临时密钥,相当于静态WEP中的密钥)、发送端的MAC地址、序列号计数器(相当于静态WEP中的IV)。分两个阶段,第一阶段是临时密钥、发送端的MAC地址和序列号的前32位混合,通过一些像OXR、shift等简单的运算,产生一个80位的输出值,该过程每65535个帧计算一次。第二阶段,一阶段的输出值和计数器的后16位混合,产生104位的密钥。最后,该密钥和通过计数器的后16产生的WEP IV产生128位的WEP种子。
  • 13. 高级加密标准(AES)二、高级加密标准(AES) 1、简介 AES 是标准密码系统,加密过程较对称密码流来说要复杂的多,它可以提供较高的安全性,未来将由政府和银行业用户使用。需要指出的是,AES只是一种标准,并不是具体的加密协议,1998年8月20日NIST召开第一次AES侯选会议时,并公布了15个AES侯选算法。经过一年的考察,MARS、RC6、Rijndael,Serpent,Twofish共5种算法通过了第二轮的选拔。2000年,NIST 选择 Rijndael做为 AES 算法。 2、了解Rijndael算法 Rijndael算法是一个由可变数据块长和可变密钥长的迭代分组加密算法,数据块长和密钥长可分别可为128,192或256比特。数据块要经过多次数据变换操作,每一次变换操作产生一个中间结果,这个中间结果叫做状态。状态可表示为二维字节数组,它有4行,Nb列,且Nb等于数据块长除32。如表所示 a0,0 a0,1 a0,2 a0,3 a1,0 a1,1 a1,2 a1,3 a2,0 a2,1 a2,2 a2,3 a3,0 a3,1 a3,2 a3,3 密钥也可类似地表示为二维字节数组,它有4行,Nk列,且Nk等于密钥块长除32如下表所示
  • 14. 4 10 12 14 6 12 12 14 8 14 14 14 5 7 2 3 然后数据块和密码块经过反复的下面四种变换产生密码 Round(State,RoundKey) { ByteSub(State); ShiftRow(State); MixColumn(State); AddRoundKey(State,RoundKey); (EXORing a Round Key to the State) } 经过加密得到的密码块展开后就是密码流
  • 15. 咀嚼802.1x背景知识 可扩展身份认证协议(EAP) 802.1X: 网络连接端口认证协议
  • 16. 咀嚼802.1x一、背景知识 WEP对拥有加密密钥的机器进行身份验证,设计上存在种种的瑕疵,于是许多的人努力寻找一种能客服这种种瑕疵的认证方式,802.1X以其诸多的优点成为首选。802.1x允许对用户而非机器进行身份验证,可以确保连接到合法的、经授权的网络。802.1X本身只是一个框架,它是IEEE采用IETF的可扩展身份验证协议(EAP)定制而成,因此,有必要系统的介绍一下EAP。 二、 可扩展身份认证协议(EAP) EAP是一种简单的数据封装,可以运行在任何的链路层上,基本的框架图如下所示,这种设计方式是为了能够运行在任何的链路上,同时兼容各种身份验证方式。
  • 17. 1、EAP的封包格式 下图所示的封包,可以通过任何的帧来承载 Code (类型代码):长度为1字节,代表此封包的类型,Data数据段必须通过此字段来解析。1:Request 2:Response 3:Success 4:Failed Identifier (标识符):为1字节的无符号整数,用来配置请求与响应。 Length (长度): 2个字节,表示整个封包的字节总数。 Data (数据): 取决于code 的值,可能不占用任何字节。 2、EAP的请求与响应 EAP的交换操作由请求(Request)和(Response)构成,认证者送出请求给申请者,并根据得到的相应决定是否允许对方进行访问。封包的格式如下所示
  • 18. Type(类型) :代表请求或响应的类型,每个封包只有一种类型。响应的Type字段总是和请求的一致。Type取1-3,含义分别为 1: Identity(身份) 认证者通常以Identity作为初始请求,写做Request/Identity,表示认证者请求某种用户名称,以便进行身份验证,此时Type-Data字段包含了用户名称。 2 : Notifacation (通知) 认证者可以通过Notification类型传送消息给用户。 3 : NAK (否定确认) 用来建议使用新的验证方式,认证者会在type-Data中指定建议使用的认证类型。 大于等于4的Type值代表身份验证方式,具体含义如下Type codeAuthentication protocolDescription4MD5 ChallengeCHAP-like authentication in EAP6GTCOriginally intended for use with token cards such as RSA SecurID13EAP-TLSMutual authentication with digital certificates21TTLSTunneled TLS; protects weaker authentication methods with TLS encryption25PEAPProtected EAP; protects weaker EAP methods with TLS encryption18EAP-SIMAuthentication by mobile phone Subscriber Identity Module (SIM)29MS-CHAP-V2Microsoft encrypted password authentication; compatible with Windows domains
  • 19. Type-Data(类型-数据) 字段的长度不定,根据每种类型的规则诠释。 3、EAP的身份验证方式 EAP把证明用户身份的操作授权给一个称为EAP method的附属协议。使用EAP method 的优点是,EAP不用管验证用户的细节,如果有新的需求,可以开发新的EAP method来满足这个需求,这也是可扩展性的体现,常见的EAP method前面已经列出。
  • 20. 4、EAP交换范例
  • 21. The authenticator issues a Request/Identity packet to identify the user. Request/Identity packets serve two purposes. In addition to starting the exchange, they also serve notice to the client that the network is likely to drop any data traffic before authentication completes. The end user system prompts for input, collects the user identifier, and sends the user identifier in a Response/Identity message. With the user identified, the authenticator can issue authentication challenges. In step 3 in the figure, the authenticator issues an MD-5 Challenge to the user with a Request/MD-5 Challenge packet. The user system is configured to use a token card for authentication, so it replies with a Response/NAK, suggesting the use of Generic Token Card authentication. The authenticator issues a Request/Generic Token Card challenge, prompting for the numerical sequence on the card.
  • 22. The user types a response, which is passed along in a Response/Generic Token Card. If the user response is not correct, authentication is not possible. However, the authenticator EAP implementation allows for multiple authentication Requests, so a second Request/Generic Token Card is issued. Once again, the user types a response, which is passed along in a Response/Generic Token Card. 9. On the second try, the response is correct, so the authenticator issues a Success message.
  • 23. 三、802.1x:网络连接端口认证 1、背景知识 802.1X首先是一个认证协议,为任何局域网,包括无线局域网,提供了用户认证的框架。它是基于端口的,这里的端口可以是一个实实在在的物理端口也可以是一个就像VLAN一样的逻辑端口,对于无线局域网来说个“端口”就是一条信道。它的最终目的就是确定一个端口是否可用。对于一个端口,如果认证成功那么就“打开”这个端口,允许所有的报文通过,如果认证不成功就使这个端口保持“关闭”,此时只允许802.1X的认证报文EAPOL(Extensible Authentication Protocol over LAN)通过。
  • 24. 802.1x的交互过程定义了三个组件,如上图所示。申请者是寻求访问网络资源的用户机器,访问过程由认证者控制,二者统称为端口认证实体(PAE)。任何用户信息都被送至认证服务器(例如RADIUS)进行实际的处理。整个过程逻辑上是通过认证者和认证服务器来完成的,认证者扮演中介的角色。申请者和认证者之间使用802.1x定义的EAP over LAN协议,后端采用RADIUS封包来传递EAP封包。 2、EAPOL的封包格式 下图是Ethernet以及802.11的封包格式,两者的标头不一致,但有效载荷相同,我们只讨论它的有效载荷。 Ethernet Type:(以太网类型) 表示以太网的类型,EAPOL的类型代码是88-8e。 Packet Type: EAPOL是EAP的扩展,除了以前所描述的信息外,EAPOL还加入了一些额外的信息,让EAP能够适应基于连接端口的LAN环境。 Packet Body (封包主体): 此字段的长度不定,除EAPOL-Start和EAPOL-Logoff消息外,此字段会出现在所有的EAPOL帧中。EAP-Packet是EAP封包,EAP-Key帧封装了密钥。
  • 25. 3、802.1x交换范例 EAPOL交换和EAP交换几乎一样,主要的差别在于,申请者可以发出EAPOL-Start来触发EAP交换,在网络使用完毕后,发送EAPOL-Logoff解除连接端口的授权。如下图所示
  • 26. (1)申请者关联到802.1x网络 (2)申请者发送一个EAPOL-Start消息,开始进行802.1x交换过程,这个消息是可选的, (3)正常的EAP交换开始了,认证着发送一个EAP-Request/Identity帧 (4)申请者以EAP-Response/Identity帧进行回复,随后被转换为Radius-Access-Request封包送给RADIUS服务器。 (5)RADIUS判断使用那种认证方式,在发出的EAP-Request/method中指定建议使用的认证方式。EAP-Request/method被封装在Radius-Access-Chanllenge中,发送给ap,ap在解析后,将EAP-Request/method传递给申请者。 (6)申请者在用户方面取得响应,返回EAP-Response,认证者将此响应转换为送给RADIUS的封包。步骤5、6重复进行直到认证完成。 (7)RADIUS服务器送出一个Radius-Access-Accept封包,允许对方访问网络,认证者发出一个EAP-Success帧,授权使用连接端口。 (8) EAP-Success发出后,AP紧接着发送EAPOL-Key消息,将密钥分配给申请者 (9)申请者有了密钥后,就可以进行数据传送了。 (10)当申请者不在使用网络的时候,就会发出一个EAP-Logoff消息,使连接端口成为未授权状态。 从以上的交换过程中,可以看出,802.1x解决了一个大问题,就是可以定期的更新密钥,客服了静态WEP长时间使用一个密钥的特点。
  • 27. 了解其它的身份认证方式Open system Shared Wpa
  • 28. Open system认证方式Open system认证方式简介 称为认证方式,其实曲解了这个名词的意义。在该方式中,接入点并没有验证station的真实身份。开放式身份认证的过程用到了两个帧,如下图所示 第一个帧由station发出的类型为authentication的管理帧,它的作用是身份认证请求(authentication request),接入点以发送该帧的主机的MAC地址作为身份证明。包含两个信息元素,身份验证算法标识字段被设为0,代表使用开放式身份验证算法,其次,身份验证事务序列号为1,代表该帧是事务序列中的第一个帧。接入点接着处理用户身份并返回结果,返回帧中包含3个信息元素,身份验证算法标识为0,序列号为2,还有一个状态码,指明验证的结果。
  • 29. Shared身份认证Shared身份认证简介 共享式的身份验证必须使用WEP,因此只能用在实现WEP的产品上,正如其名,该方式在进行身份验证之前,工作站必须有共享密钥,有四个帧组成,如图所示 第一帧几乎和开发式认证相同,所不同的是,认证算法字段值为1,代表使用共享式身份验证。 第二帧扮演着把关的角色,接入点可能以此帧拒绝验证请求,从而结束整个认证过程,要进入下一步,状态码必须为0(success),此时该帧会包含第四个信息-质询文本,由共享密钥和IV 产生。
  • 30. 第三帧是工作站作出的答复,包含身份验证算法标识,值为3的序列号以及质询文本,在发送该帧之前,station用EAP算法处理该帧。 第四帧接入点解密第三帧后,验证该帧的完整性,如果可从该帧中解读出质询文本,接入点会以成功的状态代码来响应。
  • 31. WPA认证方式1、何为WPA? WPA(Wi-Fi Protected Access) 事实上就是由 Wi-Fi 联盟所制定的安全性标准,它是一个框架,包含了802.1x身份验证,分为两种WPA Personal和 WPA Enterprise。 2、WPA和WPA2有何区别? WPA2 其实就是 WPA 的第二个版本。802.11i 这个任务小组成立的目的就是为了打造一个更安全的无线局域网 , 所以在加密项目里规范了两个新的安全加密协定 – TKIP 与 CCMP(AES) 。TKIP是基于WEP的改良,相对要容易一些,CCMP是打造的新的安全加密方式,相对耗时。当TKIP完成了以后,就制定了WPA,当CCMP完成以后,WPA2也出炉了。所以 WPA = IEEE 802.1X + WEP/TKIP WPA2 = IEEE 802.1X + WEP/TKIP/CCMP 可见,除了WAP2兼容CCMP外,WPA和WPA2是相同的。 3、WPA_P和WPA_E WPA_P和WPA_E是WPA的两个模式,个人模式和企业模式
  • 32. WPA = WPA_E = WPA = IEEE 802.1X + WEP/TKIP // 需要服务器验证 WPA_P = PSK + WEP/TKIP //不需要服务器验证
  • 33. That’s all! Thank you for your attention!