RADIUS(远程身份验证拨入用户服务)传统上作为基于UDP的协议运行,通过属性-值对(AVP)以明文形式在客户端和服务器之间进行通信。RADIUS支持多种身份验证机制,包括PAP、PEAP、EAP-TLS、EAP-TTLS、MSCHAP、MSCHAPv2、EAP-MD5等。
使用RADIUS PAP协议通过UDP特别容易受到攻击,因为用户密码AVP仅使用共享密钥加密。如果窃听者获得了共享密钥,或者能够猜测或暴力破解它,他们可以利用它解密用户密码AVP,从而非法访问受保护的设备或网络。
使用PEAP、EAP-TTLS、MSCHAP、MSCHAPv2和EAP-MD5等协议时,凭证或挑战通过EAP协议使用EAP-Message AVP传输。尽管某些EAP协议要求通过TLS进行数据加密(服务器证书用于验证服务器以进行加密数据传输),但EAP-Message AVP中的服务器证书详细信息、User-Name属性和其他AVP仍然以明文形式交换,如下所示。这意味着攻击者可以获取服务器证书详细信息(C=AU, ST=Some-State, O=Internet Widgits Pty Ltd)和其他客户端信息,即使安全性保持不变,隐私仍可能受到损害。
基于UDP的RADIUS可以承载EAP-TLS,这是一种非常安全的基于证书的协议(客户端和服务器通过证书交换相互验证),但协议在EAP-Message AVP中的明文传输仍然使重要的服务器和客户端证书详细信息(通常包括用户的电子邮件地址)对窃听者可见,损害隐私。

最近发现的非EAP协议(PAP、CHAP)漏洞进一步展示了基于UDP的RADIUS协议的缺陷,因为攻击者可能在不知道共享密钥的情况下获得网络访问,详细信息请见https://blastradius.fail/attack-details。
在此背景下,重要的是区分隐私泄露和安全泄露。当交易中的用户详细信息对窃听者可见时,就会发生隐私泄露,而安全泄露则涉及攻击者成功获得未经授权的网络访问——这是一个更为严重的情况。
虽然最安全的基于UDP的EAP-TLS协议仍然存在隐私问题,但RadSec提供了全面的保护,防止隐私和安全漏洞。
RadSec通过在通过相互TLS建立的安全TCP隧道中封装整个RADIUS协议交换,代表了显著的安全改进。这种方法:
在交换任何数据之前,通过基于证书的相互身份验证建立一个安全的加密隧道,确保客户端和服务器相互验证身份。
提供客户端和服务器之间基于持久的相互TLS的TCP连接,能够抵抗UDP常见的数据包丢失。
即使网络流量被拦截,也能防止窃听,因为没有加密证书的访问权限,数据无法解密
消除了对单一共享密钥进行传输安全的依赖
通过为整个协议交换提供增强的保护,RadSec不仅全面解决了安全问题,还解决了传统基于UDP的RADIUS实现中存在的传输层隐私问题,使其成为一个更安全的协议。
UDP RADIUS示例
下面的Wireshark捕获清楚地展示了基于UDP的EAP-TLS RADIUS如何显示其固有的隐私漏洞。数据包捕获显示了客户端和RADIUS服务器之间的多次RADIUS交换,展示了完整的Access-Request和Access-Challenge消息序列及其对应的数据包标识符。
检查捕获的底部部 分可以看到RADIUS负载,其中显示了包含敏感身份验证信息的属性值对(AVP)。这包括值为"random@foxpass.com"的User-Name属性以及其他属性如NAS-Identifier和Called-Station-Id。右侧的详细十六进制转储显示了使用AVP传输的原始数据包内容,清楚地暴露了用户名详细信息、服务器和客户端证书详细信息(证书主题:CN=Test Client, O=Test Organization, C=US)——这是一个重大的隐私问题。
除了上面讨论的安全问题之外,这个隐私问题正是RadSec设计用来解决的。通过在通过相互证书验证创建的安全TLS隧道中封装这些交换,RadSec防止了此类敏感详细信息暴露给潜在的窃听者。即使是RADIUS最不安全的身份验证机制PAP,在RadSec下也非常安全。

RadSec的工作原理
RadSec通过在安全的TLS隧道中封装传统的RADIUS协议交换来增强安全性,确保所有客户端-服务器数据传输保持加密。与其基于UDP的前身不同,RadSec建立了一个持久的TCP连接,双方在相互TLS握手期间通过X.509证书进行身份验证。这种强大的双向验证在任何RADIUS数据传输发生之前创建了一个加密隧道。
一旦建立了这个安全通道,标准的RADIUS数据包(Access-Request, Access-Challenge等)将在这个加密层中传输,有效地保护它们免受窃听和篡改的企图。持久连接在整个会话期间保持,与容易出现数据包丢失的UDP RADIUS方法相比,提供了显著的效率和安全性改进。
通过基于证书的信任模型,RadSec消除了传统RADIUS的主要安全弱点,即隐私和安全。通常在TCP端口2083上运行(尽管这是可配置的),RadSec为整个通信通道提供全面保护。这种全面的方法使RadSec对数据包嗅探、重放攻击和中间人攻击具有高度抵抗力。
RadSec在Foxpass:全球、可扩展、低延迟的身份验证基础设施
我们创建了具有尖端RadSec实现的RADIUS身份验证,性能优越、可靠且全球可访问。
我们的RadSec服务旨在满足全球多样化环境中最苛刻的连接要求。我们创建了一个水平可扩展的多租户架构,客户连接到我们的服务器时总是连接到最近的可用服务器。
全球接近,瞬时连接,轻松管理
我们的全球部署确保每位客户连接到最近的RadSec服务器,大大减少了延迟并提高了响应时间。只需向客户提供一个DNS主机名,但客户端会根据地理位置自动连接到最优服务器。
Foxpass的RadSec支持两种管理客户端证书的选项。Foxpass可以从我们的共享CA颁发证书,或者客户可以通过我们直观的控制台轻松上传他们的CA证书,这些凭证会迅速传播到我们整个全球服务器网络,确保只有经过身份验证的客户端才能访问。

前所未有的规模和性能
我们的每个RadSec服务器实例都设计为能够处理超过15,000个同时连接,提供强大、可靠的身份验证,满足企业级需求。

主要亮点
RadSec的水平可扩展和多租户实现
全球服务器网络与智能路由
巨大的连接容量 (每个实例15,000+连接)
无缝、低延迟的身份验证体验
立即开始使用Foxpass。
准备好升级您的身份验证安全了吗?Foxpass提供企业级保护、全球性能和零麻烦的部署。无论您是在保护用户凭证还是在大规模管理基于证书的访问,我们的RadSec实现都能确保您的数据保持私密和受保护。
立即开始您的Foxpass免费试用,体验安全、可扩展和现代化的身份验证基础设施的不同之处。
致谢:
我们要感谢整个团队,使这一切能够为全球的客户提供服务。