Использование EAP-TLSUse EAP-TLS

Azure Sphere поддерживает использование расширяемого протокола проверки подлинности / протокола TLS (EAP-TLS) при подключении к сетям Wi-Fi.Azure Sphere supports the use of Extensible Authentication Protocol-Transport Layer Security (EAP-TLS) to connect to Wi-Fi networks. EAP-TLS не поддерживается через Ethernet.EAP-TLS is not supported over Ethernet.

EAP-TLS для Wi-Fi — это стандартный метод проверки подлинности в сценариях, ориентированных на безопасность.EAP-TLS for Wi-Fi is a common authentication method in security-focused scenarios. Он обеспечивает значительно большую безопасность, чем использование пароля SSID в качестве глобального секрета, но требует дополнительных ресурсов, чтобы убедиться, что устройство Azure Sphere и сеть правильно настроены и прошли проверку подлинности.It provides significantly greater security than using the SSID password as a global secret but requires additional work to ensure that the Azure Sphere device and the network are properly configured and authenticated.

Спецификация протокола EAP-TLS подробно описан в спецификации RFC 5216.The EAP-TLS protocol specification is detailed in RFC 5216. ОС Azure Sphere не реализует протокол EAP-TLS напрямую. Вместо этого она содержит компонент с открытым исходным кодом wpa_supplicant, который реализует протокол.The Azure Sphere OS does not directly implement the EAP-TLS protocol; instead, it incorporates an open-source wpa_supplicant component that implements the protocol.

ТерминологияTerminology

Точка доступа. Сетевое устройство, которое позволяет другим устройствам Wi-Fi подключаться к проводной сети.Access Point (AP): A networking hardware device that allows other Wi-Fi devices to connect to a wired network.

Сертификат. Открытый ключ и другие метаданные, подписанные центром сертификацииCertificate: A public key and other metadata which is signed by a CA

Центр сертификации. Сущность, которая подписывает и выдает цифровые сертификаты.Certificate Authority (CA): An entity that signs and issues digital certificates.

Сертификат ЦС. Корневой сертификат ЦС, к которому привязывается сертификат проверки подлинности сервера RADIUS.CA Certificate: The root CA certificate that the RADIUS server's authentication certificate chains to. Этот открытый ключ может храниться на устройстве Azure Sphere.This public key may be stored on the Azure Sphere device.

Сертификат клиента. Сертификат и закрытый ключ, используемые для проверки подлинности в сети.Client Certificate: The certificate and private key that are used to authenticate to the network. Сертификат клиента и его парный закрытый ключ хранятся на устройстве Azure Sphere.The client certificate and its paired private key are stored on the Azure Sphere device.

Пара ключей. Криптографически связанный набор ключей.Key Pair: A cryptographically bound set of keys. Во многих сценариях "пара ключей" — это открытый ключ и закрытый ключ, однако в сценарии Azure Sphere EAP-TLS пара ключей означает сертификат клиента и его закрытый ключ.In many scenarios, a key pair means a public key and a private key; in the Azure Sphere EAP-TLS scenario, however, key pair indicates the client certificate and its private key.

Закрытый ключ. Ключ, который не должен быть предоставлен ни одной сущности, кроме доверенного владельца.Private Key: A key that should not be exposed to any entity except the trusted owner.

Инфраструктура открытых ключей. Набор ролей, политик, оборудования, программного обеспечения и процедур, необходимых для создания, распространения, использования, хранения и отзыва цифровых сертификатов и управления шифрованием с открытым ключом.Public key infrastructure (PKI): The set of roles, policies, hardware, software, and procedures that are needed to create, manage, distribute, use, store, and revoke digital certificates and manage public-key encryption.

Протокол RADIUS. Сетевой протокол, который работает через порт 1812 и обеспечивает централизованное управление аутентификацией, авторизацией и учетными записями для пользователей, которые подключаются к сетевой службе и используют ее.Remote Authentication Dial-In User Service (RADIUS): A networking protocol that operates on port 1812 and provides centralized Authentication, Authorization, and Accounting (AAA or Triple A) management for users who connect to and use a network service. Сервер RADIUS получает данные проверки подлинности от клиента, проверяет его, а затем предоставляет доступ к другим сетевым ресурсам.A RADIUS server receives authentication data from a client, validates it, and then enables access to other network resources.

RSA. Криптосистемы с открытым ключом, основанные на RFC 3447).Rivest–Shamir–Adleman (RSA): A public-key cryptosystem that is based on RFC 3447).

Запрашивающее устройство. Беспроводной клиент.Supplicant: The wireless client. Устройство Azure Sphere является запрашивающим устройством.The Azure Sphere device is a supplicant.

Общие сведения о проверке подлинности EAP-TLSOverview of EAP-TLS authentication

На схеме ниже показан процесс, в котором устройство Azure Sphere использует протокол EAP-TLS для проверки подлинности.The following diagram summarizes the process by which an Azure Sphere device uses the EAP-TLS protocol to authenticate.

Проверка подлинности EAP_TLS

  1. Когда устройству Azure Sphere требуется доступ к сетевому ресурсу, он связывается с точкой доступа к беспроводной сети (AP).When an Azure Sphere device requires access to a network resource, it contacts a wireless access point (AP). После получения запроса точка доступа запрашивает удостоверение устройства, а затем обращается к серверу RADIUS, чтобы инициировать процедуру проверки подлинности.Upon receiving the request, the AP asks for the device's identity and then contacts the RADIUS server to initiate the authentication process. При обмене данными между точкой доступа и устройством используется протокол инкапсуляции EAP по локальной сети (EAPOL).Communications between the access point and the device use the EAP encapsulation over LAN (EAPOL) protocol.

  2. Точка доступа перекодирует сообщения EAPOL в формат RADIUS и передает их на сервер RADIUS.The access point recodes the EAPOL messages to RADIUS format and sends them to the RADIUS server. Сервер RADIUS предоставляет службы проверки подлинности в сети, используя порт 1812.The RADIUS server provides authentication services for the network on port 1812. Устройство Azure Sphere и сервер RADIUS выполняют процесс проверки подлинности через точку доступа, которая передает сообщения между ними.The Azure Sphere device and the RADIUS server carry out the authentication process through the access point, which relays the messages from one to the other. После завершения проверки подлинности сервер RADIUS отправляет на устройство сообщение о состоянии.When authentication is complete, the RADIUS server sends a status message to the device. Если проверка подлинности окажется успешной, сервер откроет порт для устройства Azure Sphere.If authentication succeeds, the server opens the port for the Azure Sphere device.

  3. После успешной проверки подлинности устройство Azure Sphere может получить доступ к другим сетевым ресурсам и ресурсам Интернета.After successful authentication, the Azure Sphere device can access other network and internet resources.

В статьях Проверка подлинности сервера и Проверка подлинности устройства процесс проверки подлинности описан более подробно.Server authentication and Device authentication describe the authentication process in more detail.

Аутентификация сервераServer authentication

Проверка подлинности сервера — это первый шаг при взаимной проверке подлинности EAP-TLS.Server authentication is the first step in mutual EAP-TLS authentication. При взаимной проверке подлинности не только сервер RADIUS проверяет подлинность устройства, но и устройство выполняет проверку подлинности сервера.In mutual authentication, not only does the RADIUS server authenticate the device, but the device authenticates the server. Проверка подлинности сервера не является обязательной, но настоятельно рекомендуется настроить сеть и устройства для их поддержки.Server authentication is not strictly required, but we strongly recommend that you configure your network and devices to support it. Проверка подлинности сервера гарантирует, что незаконный или фальшивый сервер не сможет нарушить безопасность сети.Server authentication helps to ensure that a rogue or impostor server cannot compromise the security of the network.

Чтобы включить проверку подлинности сервера, сервер RADIUS должен иметь сертификат проверки подлинности сервера, подписанный центром сертификации.To enable server authentication, your RADIUS server must have a server authentication certificate that is signed by a CA. Сертификат проверки подлинности сервера находится в конце цепочки сертификатов сервера, который может дополнительно содержать промежуточный ЦС, и иногда завершается в корневом ЦС.The server authentication certificate is a "leaf" at the end of the server's certificate chain, which may optionally include an intermediate CA, and eventually terminates in a Root CA.

Когда устройство запрашивает доступ, сервер отправляет на устройство всю цепочку сертификатов.When a device requests access, the server sends its entire certificate chain to the device. Azure Sphere не применяет проверку времени для сертификата или цепочки проверки подлинности сервера, так как устройство не может синхронизировать время ОС с допустимым источником времени, пока не пройдет проверку подлинности в сети.Azure Sphere does not enforce time validation checks on the server authentication certificate or chain, because the device cannot synchronize the OS time to a valid time source until it has authenticated to the network. Если устройство настроено на доверие к корневому центру сертификации, который совпадает с корневым центром сертификации сервера, то проверяется удостоверение сервера.If the device is configured to trust a Root CA that matches the server's Root CA, it validates the server's identity. Если устройство не имеет соответствующего корневого ЦС, проверка подлинности сервера завершится сбоем и устройство не сможет получить доступ к сетевым ресурсам.If the device does not have a matching Root CA, server authentication fails and the device will be unable to access network resources. Вы должны иметь возможность время от времени обновлять корневой ЦС на устройстве, как описано в статье Обновление корневого сертификата ЦС.You must be able to update the RootCA on the device from time to time, as described in Update a Root CA certificate.

Проверка подлинности устройстваDevice authentication

После завершения проверки подлинности сервера устройство отправляет свой сертификат клиента для установки своих учетных данных.After server authentication completes, the device sends its client certificate to establish its credentials. Устройство также может передавать идентификатор клиента.The device may also pass a client ID. Идентификатор клиента — это необязательная информация, которая может потребоваться при проверке подлинности в некоторых сетях.The client ID is optional information that some networks may require for authentication.

Требования к успешной проверке подлинности устройства могут различаться в зависимости от настройки сети.The specific requirements for successful device authentication may vary, depending on how your particular network is configured. Сетевому администратору может потребоваться дополнительная информация для подтверждения действительности устройств Azure Sphere.The network administrator may to require additional information to prove the validity of your Azure Sphere devices. Независимо от конфигурации, необходимо иметь возможность время от времени обновлять сертификат устройства, как описано в разделе Обновление сертификата клиента.Regardless of the configuration, you must be able to update the device certificate from time to time, as described in Update a client certificate.

Платформа Azure Sphere EAP-TLSAzure Sphere EAP-TLS platform

Платформа Azure Sphere EAP-TLS предоставляет следующие возможности для настройки сети и управления ею:The Azure Sphere EAP-TLS platform provides the following capabilities for network configuration and management:

  • Загрузка PEM-файла, который содержит сертификат клиента устройства и закрытый ключ для подключений Wi-Fi EAP/TLS.Load a .PEM file that contains the device's client certificate and private key for Wi-Fi EAP-TLS connections.
  • Настройка интерфейса Wi-Fi для использования EAP-TLS.Configure the Wi-Fi interface to use EAP-TLS. PEM-файл, содержащий сертификат клиента устройства, должен находиться на устройстве.The .PEM file that contains the device's client certificate must be present on the device.
  • Подключение к существующей сети, не поддерживающей EAP-TLS, чтобы получить сертификат устройства и закрытый ключ, активируйте сеть с поддержкой EAP-TLS и подключитесь к сети с поддержкой EAP-TLS.Connect to an existing non-EAP-TLS network to get a device certificate and private key, enable an EAP-TLS network, and connect to the EAP-TLS network.
  • Разрешение приложениям использовать сертификат проверки подлинности и аттестации устройства (DAA), используемый для HTTPS-подключений при проверке подлинности в хранилище сертификатов.Enable applications to use the device authentication and attestation (DAA) certificate used for HTTPS connections to authenticate to a certificate store.
  • API WifiConfig для управления сетями Wi-FiWifiConfig API to manage Wi-Fi networks
  • API Certstore для управления сертификатами.Certstore API to manage certificates.

За все остальные сетевые компоненты EAP-TLS отвечает администратор локальной сети.All other EAP-TLS network components are the responsibility of the local network administrator.

Настройка сети с поддержкой EAP-TLSEAP-TLS network setup

За настройку сети с поддержкой EAP-TLS отвечает администратор сети.The setup of the EAP-TLS network is the responsibility of your network administrator. Администратор сети должен определить инфраструктуру открытых ключей и убедиться, что все сетевые компоненты соответствуют ее политикам.The network administrator must define the public-key infrastructure (PKI) and ensure that all network components conform to its policies. Настройка сети и конфигурация предусматривает следующие задачи:Network setup and configuration includes, but is not limited to, the following tasks:

  • Настройка сервера RADIUS, получение и установка его сертификата ЦС, а также определение критериев для устройства, чтобы подтвердить его идентичность.Set up the RADIUS server, acquire and install its CA certificate, and establish the criteria for a device to prove its identity.
  • Настройка устройства Azure Sphere с помощью корневого ЦС сервера RADIUS, чтобы они могли проверять подлинность сервера.Configure your Azure Sphere devices with the root CA of the RADIUS server, so that they can authenticate the server.
  • Получение сертификата клиента и закрытого ключа для каждого устройства и загрузки их на устройствоAcquire a client certificate and private key for each device and load them onto the device

В статье Получение и развертывание сертификата EAP-TLS описывается получение и развертывание сертификата в различных сетевых сценариях.EAP-TLS certificate acquisition and deployment describes how to acquire and deploy certificates in various networking scenarios.

Сертификат и закрытый ключ для проверки подлинности клиента должны быть созданы в формате PEM.The certificate and private key for client authentication must be provided in PEM format. Закрытый ключ может быть создан в синтаксисе PKCS1 или PKCS8 с паролем симметричного ключа или без него для закрытого ключа.The private key may be provided in PKCS1 or PKCS8 syntax, with or without a symmetric key password for the private key. Корневой сертификат ЦС также должен быть создан в формате PEM.The root CA certificate must also be provided in PEM format.

В следующей таблице перечислены сведения, используемые при настройке сети с поддержкой EAP-TLS для Azure Sphere.The following table lists the information used in configuring an EAP-TLS network for Azure Sphere.

ItemItem ОписаниеDescription СведенияDetails
Сертификат клиентаClient certificate Подписанный сертификат ЦС, содержащий открытый ключ для сертификата клиента.Signed CA certificate that contains the public key for the client certificate. Обязательный элемент.Required. Максимальный размер: 8 КиБMaximum size: 8 KiB
Максимальная длина строки идентификатора: 16 символовMaximum length of identifier string: 16 characters
Закрытый ключ клиентаClient private key Закрытый ключ, связанный с сертификатом клиента.Private key that is paired with the client certificate. Обязательный элемент.Required. Максимальный размер: 8 КиБMaximum size: 8 Kib
RSA поддерживается; ключи ECC не поддерживаютсяRSA supported; ECC keys are not supported
Пароль закрытого ключа клиентаClient private key password Пароль, используемый для шифрования закрытого ключа клиента.Password used to encrypt the client private key. Необязательный параметр.Optional. Минимальный размер: 1 байтMinimum size: 1 byte
Максимальный размер: 256 байтовMaximum size: 256 bytes
Пустая строка и строка со значениями NULL считаются одинаковымиEmpty string and null string are interpreted as the same
Идентификатор клиентаClient ID Строка ASCII, которая передается на сервер RADIUS, и содержит дополнительные сведения об устройстве.ASCII string that is passed to the RADIUS server and provides additional information about the device. Требуется для некоторых сетей с поддержкой EAP-TLS.Required by some EAP-TLS networks. Максимальный размер: 254 байтаMaximum size: 254 bytes
Формат: user@domainname.comFormat: user@domainname.com
Корневой сертификат ЦСRoot CA certificate Корневой сертификат ЦС для сертификата проверки подлинности сервера RADIUS.Root CA certificate of the RADIUS server's authentication certificate. Необходимо настроить на каждом устройстве.Must be configured on each device. Необязательно, но настоятельно рекомендуется; обратитесь к администратору сетиOptional but strongly recommended; check with your network administrator Максимальный размер: 8 КиБMaximum size: 8 KiB
Максимальная длина строки идентификатора: 16 символовMaximum length of identifier string: 16 characters

Important

За все настройки инфраструктуры открытых ключей и сервера RADIUS для вашей сети, в том числе управление истечением срока действия сертификата, отвечаете вы.All the PKI and RADIUS server setup for your network, including managing certificate expiration, is your responsibility.