Windows 10设备无法连接到 802.1X 环境

应用对象
Windows 10

症状

将 Windows 10 11 月更新应用到设备后,无法连接到使用证书进行服务器端或相互身份验证的 WPA-2 企业网络, (EAP TLS、PEAP、TTLS) 。

原因

在 11 月Windows 10更新中,EAP 已更新为支持 TLS 1.2。 这意味着,如果服务器在 TLS 协商期间播发对 TLS 1.2 的支持,将使用 TLS 1.2。

我们已报告某些 Radius 服务器实现遇到 TLS 1.2 bug。 在此 bug 方案中,EAP 身份验证成功,但由于使用了错误的 PRF (伪随机函数) ,因此 MPPE 密钥计算失败。

已知受影响的半径服务器

注意 此信息基于研究和合作伙伴报告。 我们会在获取更多数据时添加更多详细信息。

服务器 其他信息 修复可用
FreeRADIUS 2.x 2.2.6 适用于所有基于 TLS 的方法,2.2.6 - 2.2.8 用于 TTLS
FreeRADIUS 3.x 3.0.7 适用于所有基于 TLS 的方法,TTLS 为 3.0.7-3.0.9
散热器 4.14 与 Net::SSLeay 1.52 或更低版本一起使用时
Aruba ClearPass 策略管理器 6.5.1
脉冲策略安全 https://kb.pulsesecure.net/articles/Pulse_Secure_Article/KB40089 测试中修复
Cisco 识别服务引擎 2.x 2.0.0.306 修补程序 1 测试中修复

          

解决方法

请与 IT 管理员协作,将 Radius 服务器更新到包含修补程序的相应版本。

已应用 11 月更新的基于 Windows 的计算机的临时解决方法

注意 Microsoft建议在支持的任何位置使用 TLS 1.2 进行 EAP 身份验证。 尽管 TLS 1.0 中的所有已知问题都有可用的修补程序,但我们认识到 TLS 1.0 是一种已证明易受攻击的较旧标准。

若要配置 EAP 默认使用的 TLS 版本,必须将名为 TlsVersion 的 DWORD 值添加到以下注册表子项:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\RasMan\PPP\EAP\13
此注册表项的值可以是0xC0、0x300或0xC00。

便笺

  • 此注册表项仅适用于 EAP TLS 和 PEAP;它不会影响 TTLS 行为。
  • 如果 EAP 客户端和 EAP 服务器配置错误,因此没有通用配置的 TLS 版本,身份验证将失败,并且用户可能会丢失网络连接。 因此,我们建议只有 IT 管理员应用这些设置,并在部署前测试这些设置。 但是,如果服务器支持相应的 TLS 版本,用户可以手动配置 TLS 版本号。

重要:本节、方法或任务包含如何修改注册表的步骤。 但如果注册表修改不当,可能造成严重问题。 因此,请务必仔细遵循以下步骤。 为增强保护,请在修改前备份注册表。 如果出现问题,可以还原注册表。 有关如何备份和还原注册表的更多信息,请单击下面的文章编号查看 Microsoft 知识库中相应的文章:

322756 如何在 Windows 中备份和还原注册表

若要添加这些注册表值,请执行以下步骤:

  1. 依次单击“开始”、“运行”,在“打开”框中键入“regedit”,然后单击“确定”。

  2. 在注册表中找到并单击以下子项:

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\RasMan\PPP\EAP\13

  3. 在“编辑”菜单上,指向“新建”,然后单击“DWORD 值”。

  4. 键入 TlsVersion 作为 DWORD 值的名称,然后按 Enter。

  5. 右键单击“TlsVersion”,然后单击“修改”。

  6. 在“值数据”框中,对各种版本的 TLS 使用以下值,然后单击“确定”。

    TLS 版本 DWORD 值
    TLS 1.0 0xC0
    TLS 1.1 0x300
    TLS 1.2 0xC00
  7. 退出注册表编辑器,然后重新启动计算机或重启 EapHost 服务。

详细信息

相关文档:

Microsoft安全公告:支持使用 TLS 的Microsoft EAP 实现更新:2014 年 10 月 14 日
https://support.microsoft.com/en-us/kb/2977292