来自Wi-Fi专家的声音

 

EAP的话题(2)

撰写于:2013年10月28日
作者:silex Wi-Fi专家

在上一篇文章中,我介绍了PSK(WPA个人)和EAP(WPA企业),以及它们之间的区别。同时,也简要地介绍了 EAP/802.1X/RADIUS,但是在无线局域网中,仅支持单向身份验证的 EAP-MD5算法是无法满足网络安全要求的。在本文中,我们将介绍各种EAP身份验证协议。

EAP-TLS
EAP-TLS最初是作为支持双向安全认证协议的开放标准被提出的。EAP-TLS公开的最初规格版是RFC2716(1999),现在的最新版是RFC5216(2008)。

TLS是Transport Layer Security的缩写,与商用网站上使用的HTTP的加密协议(※注)相同。对于WEB网站来说,大部分都是单向认证(用户/浏览器只认证服务器的合法性),但是由于EAP-TLS使用双向认证,所以不仅在AP端(认证服务器端),在子设备端(PC等端)也需要安装证书。
(※注)HTTP的加密协议经常被称为SSL(Secure Socket Layer)。SSL原本是Netscape公司为本公司浏览器(Navigator)开发的技术,该公司公开了其规格并提出了RFC草案,但由于有各种(主要是政治上的)因素,所以没有直接采用名称和规格,在稍微变更了规格后,名字也从“SSL”改为“TLS”。

基于EAP-TLS的双向认证

在EAP-TLS中,EAP只是一个“搬运工”,原则上不会使用EAP自己拥有的用户名和密码等信息。TLS的数据包被切成碎块,并被封装到EAP包进行发送和接收,然后通过TLS的证书交换进行认证。

TLS的认证功能非常强大,它采用了KPI体系中的的X.509协议。但是EAP-TLS的缺点只有一词“麻烦”。无论如何CA都必须为每个用户颁发一个相应的客户端证书,并进行合理的安装。如果要删除用户注册的话,则必须进行相关证书的无效化操作。

EAP-TLS在WiFi企业标志认证中也被要求必须实现,是名义上的标准规格。然而,当被问及是否实际使用时,答案却是 "嗯?"这一点很微妙。我认为,只有在用户数量极少(≒证书管理负担轻)或 CA 系统可以全面操作证书签发和撤销的高安全性环境中,才会极端地使用它。

LEAP
在EAP-TLS协议同期,网络设备巨头Cisco公司为本公司产品开发了专属的可扩展验证协议LEAP(Lightweight EAP)。LEAP不使用数字证书,而是通过交换挑战和响应来相互认证。使用的凭证是用户名和密码。

使用LEAP进行双向认证

在TTLS中,子机使用证书确认AP侧的合法性后,在确立的加密线路(经常被称为“密码隧道”)上,从子机向AP侧发送用户名、密码进行认证。在建立密码隧道之前称为阶段1,在建立后称为阶段2。

EAP-TTLS的两阶段双向认证

EAP-FAST
EAP-FAST(Flexible Authentication via Secure Tunneling)是Cisco公司的EAP认证协议,但与LEAP和PEAP不同,官方规格书作为RFC4851公开。因此,虽然自称是“开放标准”,但由于后述的情况,作为“Cisco公司的独自协议”被处理的情况也不少。

FAST是LEAP的简便性……我们的目标是提供与TLS、PEAP相当的安全性,同时保留“不需要数字证书”的特点。但是它的工作原理和TTLS基本相同……使用TLS建立密码隧道,在密码隧道上进行用户认证,内部认证协议的框架也与PEAP相同,是基于EAP的。

FAST和TTLS/PEAP的不同之处在于,FAST使用不使用证书的TLS会话(匿名密钥交换,Anonymous DH)的“无认证模式”,并使用称为“PAC”的独特格式。 

关于使用公钥密码的认证方式,之前已经做了说明,不使用CA证书的匿名密匙交换对中间人的攻击是很脆弱的。EAP-FAST的无认证模式用与LEAP相似的双向挑战认证(EAP-FAST-MSCHAPv2)代替证书进行相互认证,但在FAST的补充规格RFC5422中,也有“使用CA证书安全性更高(much better protection)”、“应尽量使用证书(SHOULD be used whenever possible)”(※注)。
(※注)尽管如此,Cisco公司的网站上却大肆宣传“不需要证书”且“可以实现强有力的安全性”,也有网络上批评Cisco公司的双重标准态度是“可疑的营销”。

PAC是FAST特有的格式,是存储了代替X.509证书的安全信息的文件结构。在Cisco公司的网站上写着“只要使用PAC就不需要证书”“比公钥证书简单而且高速”的说明,但如上所述,RFC5422中写着“尽可能使用证书”是被称为“虚假宣传”的理由吧。

PAC由A-ID这个16字节长的伪随机数构成的服务器ID、I-ID可变长度字符串的客户端ID、PAC-KEY秘钥信息、PAC-OPAQUE服务器侧管理信息(加密了,客户端看不懂)构成。PAC-OPAQUE的内容依赖于认证服务器的实现,并且Cisco公司的认证服务器ACS生成的PAC-OPAQUE的格式没有公开。这也是为什么虽然打着开放标准的招牌,但却被批评为“实质上是Cisco独创的标准”的原因之一。

PAC文件的结构 

 



嵌入式无线LAN模块产品介绍页面