Получение и развертывание сертификатов для сетей EAP-TLS
Внимание
Это документация по Azure Sphere (устаревшая версия). Служба Azure Sphere (устаревшая версия) выходит на пенсию 27 сентября 2027 г., и к этому времени пользователи должны перейти в Azure Sphere (интегрированная). Используйте селектор версий, расположенный над toC, чтобы просмотреть документацию по Azure Sphere (интегрированная).
Прежде чем устройство Azure Sphere сможет подключиться к сети EAP-TLS, оно должно иметь сертификат клиента, который сервер RADIUS может использовать для проверки подлинности устройства. Если для сети требуется взаимная проверка подлинности, на каждом устройстве также должен быть сертификат корневого ЦС, чтобы оно могло выполнить проверку подлинности сервера RADIUS.
Способ получения и развертывания этих сертификатов зависит от сетевых ресурсов, доступных для устройств.
- Если доступна только сеть EAP-TLS, необходимо развернуть сертификаты вручную.
- Если доступна другая форма сети, например открытая сеть, можно использовать метод начальной загрузки. При использовании метода начальной загрузки высокоуровневое приложение Azure Sphere получает сертификаты из открытой сети, а затем использует их для подключения к сети EAP-TLS.
Внимание
Так как идентификаторы сертификатов используются во всей системе, команда azsphere или вызов функции, который добавляет новый сертификат, могут перезаписать сертификат, который был добавлен более ранней командой или вызовом функции. Это может привести к сбоям сетевого подключения. Настоятельно рекомендуется разрабатывать четкие процедуры обновления сертификатов и тщательно выбирать идентификаторы сертификатов. Дополнительные сведения см. в разделе Идентификаторы сертификатов.
Ручное развертывание
Если для устройства доступна только сеть EAP-TLS, необходимо развернуть сертификаты вручную. Развертывание вручную предполагает получение сертификатов с помощью сетевого компьютера или компьютера Linux, а затем загрузки сертификатов на каждое устройство Azure Sphere с помощью Интерфейса командной строки Azure Sphere. При использовании этого метода требуется физическое подключение между ПК или компьютером с Linux и устройством Azure Sphere.
Получение сертификатов вручную
Корневой ЦС и сертификаты клиента должны находиться в корневом ЦС. Формат PEM для загрузки на устройство Azure Sphere. Вам потребуется получить сертификат корневого ЦС с соответствующего сервера, а также сертификат клиента и закрытый ключ (при необходимости пароль для закрытого ключа) для устройства. Каждый сертификат в вашей сети EAP-TLS должен быть создан и подписан соответствующим сервером. Сведения, необходимые для получения сертификатов, могут предоставить администраторы сети или группа безопасности.
Сохраните сертификаты в файле . Формат PEM на компьютере или компьютере Linux, а затем используйте интерфейс командной строки Azure Sphere для хранения их на устройстве Azure Sphere.
Сохранение сертификатов с помощью CLI
Подключите устройство Azure Sphere к сетевому ПК или компьютеру с Linux и выполните команду azsphere, чтобы сохранить сертификаты на устройстве.
Чтобы сохранить сертификат корневого ЦС на устройстве Azure Sphere, выполните следующую команду:
azsphere device certificate add --cert-id "server-key-xyz" --cert-type rootca --public-key-file <filepath_to_server_ca_public.pem>
Чтобы сохранить сертификат клиента на устройстве Azure Sphere, выполните следующую команду:
azsphere device certificate add --cert-id "client-key-abc" --cert-type client --public-key-file <filepath_to_client_public.pem> --private-key-file <filepath_to_client_private.pem> --private-key-password "_password_"
Начальная загрузка развертывания
Чтобы подключить устройства Azure Sphere в большом количестве и в различных расположениях, рекомендуется использовать метод начальной загрузки. Чтобы использовать этот метод, устройства должны быть подключены к сети, через которую получат доступ к серверу, предоставляющему сертификаты. Высокоуровневое приложение Azure Sphere подключается к серверу через доступную сеть, запрашивает сертификаты и сохраняет их на устройстве.
Этот процесс показан на следующем рисунке.
Приложение на устройстве Azure Sphere подключается к открытой сети и обращается к службе безопасности Azure Sphere, чтобы получить сертификат DAA. Затем оно устанавливает на устройстве сертификат DAA. Устройство должно использовать этот сертификат для выполнения проверки подлинности с помощью службы выдачи сертификатов.
Затем приложение подключается к службе выдачи сертификатов, назначенной администратором сети. Служба предоставляет сертификат DAA для проверки идентификатора на сервере и запрашивает сертификат корневого ЦС для сервера RADIUS в сети EAP-TLS, а также сертификат клиента и закрытый ключ. Служба может передать в приложение другие сведения, например удостоверение клиента и пароль закрытого ключа (если требуется). Затем приложение устанавливает на устройстве сертификат клиента, закрытый ключ клиента и сертификат корневого ЦС. Затем оно может отключиться от открытой сети.
Приложение настраивает и включает сеть EAP-TLS. Оно предоставляет сертификат клиента и закрытый ключ для подтверждения идентификатора устройства. Если сеть поддерживает взаимную проверку подлинности, то приложение также выполняет проверку подлинности сервера RADIUS с помощью сертификата корневого ЦС.
Проверка подлинности устройства и получение сертификата клиента во время начальной загрузки
Устройство Azure Sphere может использовать свой сертификат проверки подлинности и аттестации устройства (DAA) для проверки подлинности в службе, которая может предоставить другие необходимые сертификаты. Сертификат DAA доступен в службе безопасности Azure Sphere.
Чтобы получить сертификат DAA, сделайте следующее:
- Укажите идентификатор клиента Azure Sphere в разделе DeviceAuthentication манифеста приложения для высокоуровневого приложения.
- Вызовите функцию DeviceAuth_CurlSslFunc из высокоуровневого приложения, чтобы получить цепочку сертификатов для текущего клиента Azure Sphere.
Если манифест приложения содержит идентификатор клиента Azure Sphere для текущего устройства, функция DeviceAuth_CurlSslFunc будет использовать цепочку сертификатов клиента DAA для выполнения проверки подлинности, если целевая служба требует взаимной проверки подлинности TLS.
Получение сертификата корневого ЦС для сервера RADIUS
Чтобы получить сертификат корневого ЦС для сервера RADIUS, приложение подключается к конечной точке сервера сертификатов, которая доступна в сети и может предоставить сертификат. Сетевой администратор должен предоставить сведения о подключении к конечной точке и получении сертификата.
Установка сертификатов с помощью API CertStore
Приложение использует API CertStore для установки сертификатов на устройство. Функция CertStore_InstallClientCertificate устанавливает сертификат клиента, а CertStore_InstallRootCACertificate — сертификат корневого ЦС для сервера RADIUS. Дополнительные сведения об использовании API CertStore см. в статье Управление сертификатами в высокоуровневых приложениях.
Сведения об использовании этих функций приложением см. в примере приложения сертификатов.