使用 EAP-TLS

Azure Sphere 支持使用可扩展身份验证 Protocol-Transport 层安全性 (EAP-TLS) 连接到 Wi-Fi 网络。 不支持通过以太网使用 EAP-TLS。

EAP-TLS for Wi-Fi 是一种以安全为中心的方案中的常见身份验证方法。 与使用 SSID 密码作为全局机密相比,它提供的安全性明显更高,但需要执行额外的工作来确保正确配置和验证 Azure Sphere 设备和网络。

RFC 5216 中详细介绍了 EAP-TLS 协议规范。 Azure Sphere OS 不直接实现 EAP-TLS 协议;相反,它合并了实现协议的开源wpa_supplicant组件。

术语

接入点 (AP) : 允许其他 Wi-Fi 设备连接到有线网络的网络硬件设备。

证书: 由 CA 签名的公钥和其他元数据。

证书颁发机构 (CA) : 对数字证书进行签名和颁发的实体。

CA 证书: RADIUS 服务器的身份验证证书链接到的根 CA 证书。 此公钥可能存储在 Azure Sphere 设备上。

客户端证书: 用于向网络进行身份验证的证书和私钥。 客户端证书及其配对私钥存储在 Azure Sphere 设备上。

密钥对: 以加密方式绑定的密钥集。 在许多情况下,密钥对意味着公钥和私钥;但是,在 Azure Sphere EAP-TLS 方案中, 密钥对 指示客户端证书及其私钥。

私钥: 不应向除受信任所有者以外的任何实体公开的密钥。

公钥基础结构 (PKI) : 创建、管理、分发、使用、存储和撤销数字证书以及管理公钥加密所需的角色、策略、硬件、软件和过程集。

远程身份验证拨入用户服务 (RADIUS) : 一种网络协议,在端口 1812 上运行,并为连接到和使用网络服务的用户提供集中式身份验证、授权和记帐 (AAA 或 Triple A) 管理。 RADIUS 服务器从客户端接收身份验证数据,对其进行验证,然后启用对其他网络资源的访问。

Rivest-Shamir-Adleman (RSA) : 基于 RFC 3447) 的公钥加密系统。

请求者: 无线客户端。 Azure Sphere 设备是请求者。

EAP-TLS 身份验证概述

下图总结了 Azure Sphere 设备使用 EAP-TLS 协议进行身份验证的过程。

EAP_TLS身份验证

  1. 当 Azure Sphere 设备需要访问网络资源时,它会 (AP) 联系无线接入点。 收到请求后,AP 会要求提供设备的标识,然后联系 RADIUS 服务器以启动身份验证过程。 接入点和设备之间的通信通过 LAN (EAPOL) 协议使用 EAP 封装。

  2. 访问点将 EAPOL 消息重新编码为 RADIUS 格式,并将其发送到 RADIUS 服务器。 RADIUS 服务器为端口 1812 上的网络提供身份验证服务。 Azure Sphere 设备和 RADIUS 服务器通过接入点执行身份验证过程,该接入点将消息从一个中继到另一个。 身份验证完成后,RADIUS 服务器将向设备发送状态消息。 如果身份验证成功,服务器将打开 Azure Sphere 设备的端口。

  3. 成功身份验证后,Azure Sphere 设备可以访问其他网络和 Internet 资源。

服务器身份验证和设备身份验证更详细地介绍了身份验证过程。

服务器身份验证

服务器身份验证是相互 EAP-TLS 身份验证的第一步。 在相互身份验证中,RADIUS 服务器不仅对设备进行身份验证,还会对服务器进行身份验证。 服务器身份验证并非严格要求,但我们强烈建议配置网络和设备以支持它。 服务器身份验证有助于确保恶意服务器或冒充服务器不会危及网络的安全性。

若要启用服务器身份验证,RADIUS 服务器必须具有由 CA 签名的服务器身份验证证书。 服务器身份验证证书是服务器证书链末尾的“叶”,可以选择性地包含中间 CA,最终在根 CA 中终止。

当设备请求访问时,服务器会将其整个证书链发送到设备。 Azure Sphere 不会对服务器身份验证证书或链强制实施时间验证检查,因为设备在对网络进行身份验证之前无法将 OS 时间同步到有效的时间源。 如果设备配置为信任与服务器的根 CA 匹配的根 CA,则会验证服务器的标识。 如果设备没有匹配的根 CA,服务器身份验证将失败,并且设备无法访问网络资源。 必须能够不时更新设备上的 RootCA,如 更新根 CA 证书中所述。

设备身份验证

服务器身份验证完成后,设备会发送其客户端证书来建立其凭据。 设备还可以传递客户端 ID。 客户端 ID 是某些网络可能需要进行身份验证的可选信息。

成功进行设备身份验证的具体要求可能会有所不同,具体取决于特定网络的配置方式。 网络管理员可能需要其他信息来证明 Azure Sphere 设备的有效性。 无论配置如何,都必须能够不时更新设备证书,如 更新客户端证书中所述。

Azure Sphere EAP-TLS 平台

Azure Sphere EAP-TLS 平台提供以下网络配置和管理功能:

  • 加载 。PEM 文件,其中包含设备的客户端证书和用于 Wi-Fi EAP-TLS 连接的私钥。
  • 将 Wi-Fi 接口配置为使用 EAP-TLS。 。设备上必须存在包含设备的客户端证书的 PEM 文件。
  • 连接到现有的非 EAP-TLS 网络以获取设备证书和私钥、启用 EAP-TLS 网络并连接到 EAP-TLS 网络。
  • 允许应用程序使用设备身份验证和证明 (用于 HTTPS 连接的 DAA) 证书对证书存储进行身份验证。
  • 用于管理 Wi-Fi 网络的 WifiConfig API
  • 用于管理证书的证书存储 API

所有其他 EAP-TLS 网络组件由本地网络管理员负责。

EAP-TLS 网络设置

设置 EAP-TLS 网络由网络管理员负责。 网络管理员必须定义公钥基础结构 (PKI) ,并确保所有网络组件都符合其策略。 网络设置和配置包括但不限于以下任务:

  • 设置 RADIUS 服务器,获取并安装其 CA 证书,并为设备建立证明其标识的条件。
  • 使用 RADIUS 服务器的根 CA 配置 Azure Sphere 设备,以便它们可以对服务器进行身份验证。
  • 获取每个设备的客户端证书和私钥,并将其加载到设备上。

EAP-TLS 证书获取和部署 介绍了如何在各种网络方案中获取和部署证书。

必须以 PEM 格式提供用于客户端身份验证的证书和私钥。 私钥可以采用 PKCS1 或 PKCS8 语法提供,无论是否具有私钥的对称密钥密码。 还必须以 PEM 格式提供根 CA 证书。

下表列出了为 Azure Sphere 配置 EAP-TLS 网络时使用的信息。

项目 描述 细节
客户端证书 包含客户端证书公钥的已签名 CA 证书。 必填。 最大大小:8 KiB
标识符字符串的最大长度:16 个字符
客户端私钥 与客户端证书配对的私钥。 必填。 最大大小:8 Kib
支持 RSA;不支持 ECC 密钥
客户端私钥密码 用于加密客户端私钥的密码。 选。 最小大小:1 字节
最大大小:256 字节
空字符串和 null 字符串解释为相同
客户端 ID 传递给 RADIUS 服务器的 ASCII 字符串,提供有关设备的其他信息。 某些 EAP-TLS 网络需要。 最大大小:254 字节
格式: user@domainname.com
根 CA 证书 RADIUS 服务器的身份验证证书的根 CA 证书。 必须在每台设备上配置。 可选,但强烈建议使用;与网络管理员检查。 最大大小:8 KiB
标识符字符串的最大长度:16 个字符

重要

你的网络的所有 PKI 和 RADIUS 服务器设置(包括管理证书过期)都由你负责。