文档详情

EAP-PEAP&EAP-TLS认证具体流程分析

飞***
实名认证
店铺
PDF
1.82MB
约17页
文档ID:12950722
EAP-PEAP&EAP-TLS认证具体流程分析_第1页
1/17

1 EAP-PEAP&EAP-TLS 认证具体流程分析2 EAP-PEAP 认证具体流程分析(结合 radius 认证协议及抓包)1.1 EAP-PEAP 背景EAP: ( Extensible Authentication Protocol)可扩展认证协议EAP属于一种框架协议,最初规范于 RFC2284,后来经 RFC3748更新 EAP是一种简单的封装方式,可以运行于任何的链路层,不过它在 PPP链路上并未广泛使用EAP 的基本架构如图所示:EAP 认证方式( EAP Method) EAP 会把证明使用者身份的过程,授权给一个称为 EAP method 的附属协议, EAP method 乃是一组验证使用者身份的规则使用 EAP method 的优点是, EAP从此可以不用去管验证使用者的细节当新的需求浮现时就可以设计出新的认证方式,就算要用于无线局域网也不成问题常用的 EAP认证方法如下图所示:PEAP,受保护的 EAP( Protected EAP) PEAP是由 Microsoft 、 Cisco 和 RSA Security共同开发,在 EAP框架中基于证书 +用户名密码实现用户 WLAN 接入鉴权。

PEAP是 EAP认证方法的一种实现方式,网络侧通过用户名 / 密码对终端进行认证,终端侧通过服务器证书对网络侧进行认证用户首次使用 PEAP 认证时,需输入用户名和密码,后续接入认证无需用户任何手工操作,由终端自动完成3 1.2 EAP-PEAP 技术原理PEAP(Protected EAP)实现通过使用隧道在 PEAP客户端和认证服务器之间进行安全认证EAP 客户端和认证服务器之间的认证过程有两个阶段第一阶段: 建立 PEAP 客户端和认证服务器之间的安全通道,客户端采用证书认证服务端完成 TLS握手服务端可选采用证书认证客户端第二阶段: 提供 EAP 客户端和认证服务器之间的 EAP 身份验证整个 EAP 通信,包括 EAP 协商在内, 都通过 TLS 通道进行 服务器对用户和客户端进行身份验证, 具体方法由 EAP 类型决定,在 PEAP 内部选择使用 (如: EAP-MS-CHAPv2)访问点只会在客户端和RADIUS 服务器之间转发消息,由于不是 TLS 终结点,访问点无法对这些消息进行解密目前被 WPA 和 WPA2 批准的有两个 PEAP子类型 PEAPV0-MSCHAPV2, PEAPV1-GTC,使用广泛的是 PEAPV0-MSCHAPV2。

4 1.3 PEAP 用户接入流程2.EAP-Request/Id entity 6.EAP-Request/St art/Type=PEAP,V= 0WLAN用户终端 WLAN AN Radius1.EAPoL-Start4.Access-RequestEAP-Response/Identity8.Access-Request EAP-Response/Type=PEAP, V= 0(TLS client_hello ) 9.Access-Challen geEAP-Request/Challenge/Type=P EAP, V=0(TLS server_hello ,TLS certificate,[TLS server_key_exc hange,][TLS certificate_requ est,]TLS server_hello_d one)11. EAP-Response/Type=PEAP, V=0([TLS certificate,]TLS client_key_exchange,[TLS certificate_verify,]TLS change_cipher_spec,TLS finished)12.Access-Request 建立TLS通道认证初始化3 EAP-Response/Identi ty (MyID)5.Access-ChallengeEAP-Request/Start/Typ e=PEAP,V=07. EAP-Response/Type= PEAP, V=0(TLS client_hello)10. EAP-Request/Challen ge/Type=PEAP, V=0(TLS server_hello ,TLS certificate,[TLS server_key_exc hange,][TLS certificate_requ est,]TLS server_hello_d one)13.Access-Challe ngeEAP-Request/Type=PEAP, V=0(TLS change_cipher_spec,TLS finished)EAP-Response/Type=PEAP, V=0([TLS certificate,]TLS client_key_exchange,[TLS certificate_verify,]TLS change_cipher_spec,TLS finished)14. EAP-Request/Type=PEAP, V=0(TLS change_cipher_spec,TLS finished)15.EAP-Response/ Type=PEAP/TLS OK20.Access-Accept21.EAP-SuccessEAP-Message/Eap-Success认证过程计费开始23.Accounting-Request /Start24.Accoutting-Respons e/Start[username = PEAP@CMCC]地址分配22.DHCP地址获取17.Access-Challenge/eap-req/identity18.EAP-Request/identity/MSCHAPv219.TLS/MSCHAPv2认证16.Aceess-rsp/EAP-Response/Type=PEAP/TLS OK图 1 PEAP用户接入流程E1 认证初始化1) WLAN UE向 WLAN AN发送一个 EAPoL-Start 报文,开始 802.1x 接入的开始。

2) WLAN AN向 WLAN UE发送 EAP-Request/Identity 报文,要求 WLAN UE将用户信息送上来5 3) WLAN UE 回应一个 EAP-Response/Identity 给 WLAN AN 的请求,其中包括用户的网络标识用户 ID ,对于 PEAP-mschchap v2认证方式的用户 ID 是由用户在客户端手动输入或者配置的此次用户名建议同用户的 portal 认证用户名密码4) WLAN AN 以 EAP Over RADIUS 的报文格式将 EAP-Response/Identity 发送给 Radius,并且带上相关的 RADIUS 的属性5) Radius收到 WLAN AN 发来的 EAP-Response/Identity ,根据配置确定使用 EAP-PEAP认证,并向 WLAN AN 发送 RADIUS-Access-Challenge 报文,里面含有 Radius发送给WLAN UE 的 EAP-Request/Peap/Start的报文, 表示希望开始进行 EAP-PEAP 的认证6) WLAN AN 将 EAP-Request/PEAP/Start 发送给 WLAN UE 。

E2 建立 TLS 通道7) WLAN UE收到 EAP-Request/Peap/Start报文后,产生一个随机数、客户端支持的加密算法列表、 TLS 协议版本、会话 ID 、以及压缩方法(目前均为 NULL ),封装在EAP-Response/TLS/Client Hello 报文中发送给 WLAN AN 8) WLAN AN 以 EAP Over RADIUS 的报文格式将 EAP-Response/ TLS /Client Hello 发送给认证服务器 Radius,并且带上相关的 RADIUS 的属性9) Radius收到 Client Hello 报文后, 会从 Client 的 Hello 报文的加密算法列表中选择自己支持的一组加密算法+ Server产生的随机数+ Server 证书(包含服务器的名称和公钥) +证书请求+ Server_Hello_Done 属性形成一个 Server Hello 报文封装在 EAP消息中,使用 Access- Challenge报文发送给 WLAN AN 10) WLAN AN 把 Radius报文中的 EAP-request消息发送给 WLAN UE. 11) WLAN UE 收到报文后,进行验证 Server的证书是否合法(使用从 CA 证书颁发机构获取的根证书进行验证, 主要验证证书时间是否合法,名称是否合法), 即对网络进行认证,从而可以保证 Server的合法。

如果合法则提取 Server证书中的公钥,同时产生一个随机密码串 pre-master-secret, 并使用服务器的公钥对其进行加密, 最后将加密的信息 ClientKeyExchange+ 客户端的证书(如果没有证书,可以把属性置为0)+ TLS finished 属性封装成 EAP-Rsponse/TLS ClientKeyExchange 报文发送给WLAN AN. 如果 WLAN UE 没有安装证书, 则不会对 Server证书的合法性进行认证,即不能对网络进行认证12) WLAN AN 以 EAP Over RADIUS 的 报 文 格 式 将 EAP-Response/TLS ClientKeyExchange 发送给认证服务器 Radius,并且带上相关的 RADIUS 的属性13) Radius收到报文后, 用自己的证书对应的私钥对 ClientKeyExchange 进行解密, 从而获取到 pre-master-secret,然后将 pre-master-secret进行运算处理,加上 WLAN UE 和Server产生的随机数,生成加密密钥、加密初始化向量和 hmac的密钥,这时双方已经安全的协商出一套加密办法了。

Radius将协商出的加密方法 +TLS Finished 消息封装在 EAP over Radius 报文 Access- Challenge中,发送给 WLAN AN 14) WLAN AN 吧 Radius报文中的 EAP-Request消息发送给 UE15) WLAN UE 回复 EAP Response/TLS OK 消息16) WLAN AN 将 EAP Response/TLS OK 消息封装在 Radius报文中, 告知 Radius建立隧道成功至此 WLAN UE 与 Radius之间的 TLS 隧道建立成功E3 认证过程17) WLAN AN 把 Radius报文中的 EAP域提取, 封装成 EAP-request报文发送给 WLAN UE 18) WLAN UE收到报文后,用服务器相同的方法生成加密密钥,加密初始化向量和hmac的密钥,并用相应的密钥及其方法对报文进行解密和校验,然后产生认证回应报文,用密钥进行加密和校验,最后封装成 EAP- response报文发送给 AP, AP6 以 EAP Over RADIUS 的报文格式将 EAP-Response发送给认证服务器 Radius Server,并且带上相关的 RADIUS 的属性,这样反复进行交互,直到认证完成。

在认证过程中, Radius Server会下发认证后用于生成空口数据加密密钥 (包括单播、 组播密钥)的 PMK 给 WLAN UE 19) 服务器认证客户端成功,会发送 Access- Accept 报文给 WLAN AN ,报文中包含了认证服务器所提供的 MPPE属性20) W。

下载提示
相似文档
正为您匹配相似的精品文档