https(tls)和802.1x eap-tls认证区别
802.1X 的 EAP-TLS 和传输层的 TLS如 HTTPS 所用的 TLS在密码学和握手流程上是完全相同的“同一个东西”但在协议栈位置、传输载体以及最终目的上有着本质的区别。一句话总结它们的关系EAP-TLS 就是把标准的传输层 TLS 报文拆碎后“借尸还魂”封装到了二层网络报文EAP中用来完成网络准入和密钥协商。EAP-TLS 把传输层的TLS握手装进802.1X的EAP报文中跑一句话关系复用了同一套TLS协议和代码只是换了个交通工具。会配https双向认证/mTLS就会EAP-TLS90%原理一模一样。一、 核心联系它们完全继承了同一套安全内核802.1X 的 EAP-TLSRFC 5216 定义在安全机制上直接全盘复用了传输层 TLSRFC 5246/RFC 8446报文内容完全一致你在 Wireshark 里抓包把 EAP-TLS 外面的壳剥掉里面看到的Client Hello、Server Hello、Certificate、Key Exchange、Finished等握手报文与你访问https://www.google.com时浏览器和服务器之间的握手报文在二进制结构上一模一样。密码学套件完全兼容它们使用相同的非对称加密算法RSA/ECDSA、密钥交换算法ECDHE和对称加密算法AES-GCM。PKI 证书体系完全一致都依赖 X.509 数字证书体系都需要根 CA、证书链、CRL/OCSP 证书吊销校验。二、 核心区别它们到底有什么不同维度传输层 TLS (如 HTTPS)802.1X 的 EAP-TLS (无线/有线准入)协议栈层级位于 L4 传输层与 L7 应用层之间跨越了 L2 数据链路层 和 L4 应用协议底层依赖必须依赖 TCP/IP先有 IP三次握手后才能跑 TLS不依赖 IP 和 TCP终端此时根本连 IP 都没有传输载体 (谁在背着它走)跑在 TCP 协议 之上 (端口 443 等)前半段跑在 EAPOL (二层以太网)后半段跑在 RADIUS (UDP)认证方向通常是单向认证 (只验服务器浏览器不带证书)强制双向认证 (客户端和服务器必须互验证书)最终目的为了加密后续传输的应用层数据 (如网页传输)为了生成无线空口加密的主密钥 (PMK)为什么不直接用传输层的TLS这是鸡生蛋问题传输层TLS前提STA必须先拿到IP地址建立TCP连接后才能跑TLS。端口443802.1X场景STA认证失败IP都拿不到根本没有TCPTLS往哪跑所以EAP-TLS只能把TLS握手报文封装在二层EAPOL帧里在无IP的状态下完成认证。传输层TLS [以太网 | IP | TCP | TLS Record | HTTP] EAP-TLS: [802.11 | LLC | EAPOL | EAP | EAP-TLS | TLS Handshake] ^^^^^ 二层直通不需要IP/TCP三、 协议栈对比视觉透视看懂下面这张协议分层图你就彻底明白了它们的联系与区别1. 传输层 TLS例如访问 HTTPS 网页终端已经连上网拿到了 IP 地址通过 TCP 建立连接------------------------------------------------- | HTTP 数据 (网页、API等) | -- 保护的目标数据 ------------------------------------------------- | TLS 记录层 (加密传输) | ------------------------------------------------- | TCP (可靠传输如 443 端口) | -- 依赖 TCP 三次握手 ------------------------------------------------- | IP 层 (需要已分配 IP如 192.168.1.5) | ------------------------------------------------- | 以太网链路层 (Wi-Fi 或 网线) | -------------------------------------------------2. 802.1X EAP-TLS连 Wi-Fi 时的准入握手此时终端连 IP 都没有更谈不上 TCP。 TLS 报文是怎么发送的呢它被强行切片放进了 EAP 协议里分两段传输[ 终端 (STA) ] [ 接入点 (AP) ] [ 认证服务器 (RADIUS) ] | | | | 空口/有线 (二层) | IP网络 (三层/UDP) | | | | ------------- ------------- -------------- | TLS 报文 | (无TCP/IP) | 仅协议转换 | (通过 UDP 1812) | TLS 报文 | ------------- | 不解密 TLS | -------------- | EAP 协议 | | | | EAP 协议 | ------------- | | -------------- | EAPOL 帧 | | | | RADIUS 协议 | ------------- | | -------------- | 802.11 物理 | | | | UDP / IP / L2| ------------- ------------- --------------前半段STA 到 AP TLS 报文被切片塞入EAP包再塞入EAPOLEAP over LAN以太网类型0x888e直接在物理链路上裸跑。后半段AP 到 RADIUS AP 充当“搬运工”把 EAPOL 里的 EAP 提取出来塞进RADIUS报文UDP 1812通过 IP 网络送给服务器。端到端 客户端与 RADIUS 服务器之间逻辑上依然建立起了一条纯粹的 TLS 隧道。四、 终极秘密握手成功后TLS 隧道用来干什么这是 EAP-TLS 和 普通 TLS 最精妙的区别1. 普通 TLS如 HTTPSTLS 握手完毕后隧道留着继续用。随后的 HTTP 请求和网页数据全部扔进这个 TLS 隧道里加密传输。2. 802.1X EAP-TLSTLS 握手完毕后这个 TLS 隧道几乎立马就被“抛弃”了它不用于传输业务数据。它的唯一使命是借鸡生蛋。在 TLS 握手过程中客户端和 RADIUS 服务器通过数学算法协商出了一个只有它们俩知道的“预主密钥Pre-Master Secret”。握手成功瞬间双方利用 TLS 的伪随机函数PRF导出一个 256 位的 MSKMaster Session Key主会话密钥RADIUS 服务器通过 RADIUS Access-Accept 报文将这个MSK悄悄发给 AP客户端本地也计算出了一模一样的MSK随后AP 和客户端将这个 MSK 作为 PMKPairwise Master Key开始进行 Wi-Fi 的 WPA 四次握手最终生成加密整个无线空口的 AES 密钥。总结普通的 TLS 建造了一条管子为了在这根管子里运送数据EAP-TLS 也建造了这条管子但它的目的只是借用 TLS 坚不可摧的握手认证机制在不安全的网络里安全地**“隔空商量出一个 Wi-Fi 密码”**一旦密码商量完毕这条 TLS 管子的使命就完成了。