文档介绍:-+CA 证书认证过程关于 PEAP 认证的过程说明关于 PEAP 认证的过程说明 1 证书获取证书主要用来进行终端和网络的相互认证。 Radius 服务器首先向 CA 证书颁发机构申请服务器证书,用来代表 Radius 服务器的合法性。客户端向 CA 证书颁发机构下载 CA 根证书, 用来验证 Radius 服务器下发的证书是否合法(一般情况下, 如果终端不需要对网络进行认证的情况下, 根证书可以不用下载和安装)。 2 无线接入客户端通过开放系统接入的方法( OPEN SYSTEM )和 AP 之间建立好物理连接。 3 认证初始化 1) Client 向 AP 设备发送一个 EAPoL-Start 报文,开始 接入的开始。 2) AP 向客户端发送 EAP-Request/Identity 报文, 要求客户端将用户信息送上来。 3) Client 回应一个 EAP-Response/Identity 给 AP 的请求, 其中包括用户的网络标识。用户 ID ,对于 EAP-mschchap v2 认证方式的用户 ID 是由用户在客户端手动输入或者配置的。用户 ID 通常的格式是 ******@domain , 其中 username 是运营商提供给用户的身份 ID, domain 是运营商的域名(如“ ”)。 4)AP 以 EAP Over RADIUS 的报文格式将 EAP-Response/Identity 发送给认证服务器 Radius, 并且带上相关的 RADIUS 的属性。 5)Radius 收到客户端发来的 EAP-Response/Identity , 根据配置确定使用 EAP-PEAP 认证,并向 AP 发送 RADIUS-Access-Challenge 报文, 里面含有 Radius 发送给客户端的 EAP-Request/Peap/Start 的报文, 表示希望开始进行 EAP-PEAP 的认证。 6) AP 设备将 EAP-Request/PEAP/Start 发送给认证客户端。 4 建立 TLS 通道 7) Clien t收到 EAP-Request/Peap/Star t 报文后, 产生一个随机数、客户端支持的加密算法列表、 TLS 协议版本、会话 ID、以及压缩方法(目前均为 NULL ), 封装在 EAP-Response/Client Hello 报文中发送给 AP 设备。 8):A P以 EAP Over RADIU S 的报文格式将 EAP-Response/Client Hell o 发送给认证服务器 Radius Server, 并且带上相关的 RADIUS 的属性。 9):Radiu s收到 Clien t 发来的 Client Hell o 报文后,会从 Client 的 Hello 报文的加密算法列表中选择自己支持的一组加密算法+ Server 产生的随机数+ Server 证书( 包含服务器的名称和公钥) +证书请求+ Server_Hello_Done 属性形成一个 Server Hello 报文封装在 Access - Challenge 报文中,发送给 Client. 10) AP把 Radius 报文中的 EAP 域提取,封装成 EAP-request 报文发送给 Client. 注: 由于证书比较大, 一个报文是无法承载的, 所以在实际流程中第 10, 11 完成后, 后面还有 3 个续传的 IP 分片报文, 目的是把 Serve r 证书发送到客户端. 11) Client 收到报文后,进行验证 Server 的证书是否合法(使用从 CA 证书颁发机构获取的根证书进行验证,主要验证证书时间是否合法,名称是否合法), 即对网络进行认证,从而可以保证 Server 的合法。如果合法则提取 Server 证书中的公钥,同时产生一个随机密码串 pre-master-secret , 并使用服务器的公钥对其进行加密,最后将加密的信息 ClientKeyExchange+ 客户端的证书( 如果没有证书, 可以把属性置为 0 )+ TLS finished 属性封装成 EAP-Rsponse/TLS OK 报文发送给认证点 AP. 如果 client 没有安装证书,则不会对 Server 证书的合法性进行认证,即不能对网络进行认证。 12) AP以 EAP Over RADIUS 的报文格式将 EAP-Response/TLS OK发送给认证服务器 Radius Server, 并且带上相关的 RADIUS 的属性 13) Radius 收到客户端发了的报文后,用自己的证书对应的私钥对 ClientKeyExchange 进行解密,从而获取到 pre