Основные понятия проверки подлинности устройств в IoT Central
В этой статье описывается, как устройства проходят проверку подлинности в приложении IoT Central. Дополнительные сведения о общем процессе подключения см. в статье "Подключение устройства".
Устройства проходят проверку подлинности с помощью приложения IoT Central с помощью маркера подписанного URL-адреса (SAS) или сертификата X.509. Сертификаты X.509 рекомендуется использовать в рабочих средах.
Группы регистрации используются для управления параметрами проверки подлинности устройства в приложении IoT Central.
В этой статье описаны следующие параметры проверки подлинности устройства:
Для каждого из этих параметров проверки подлинности требуется, чтобы у каждого устройства был уникальный идентификатор устройства. Идентификатор устройства — это уникальный идентификатор устройства, используемого для управления устройством в приложении IoT Central.
Группа регистрации X.509
В рабочей среде рекомендуемым механизмом проверки подлинности устройств для IoT Central является использование сертификатов X. 509. Дополнительные сведения см. в статье Device Authentication using X.509 CA Certificates (Аутентификация устройств с помощью сертификатов ЦС X.509).
Группа регистрации X.509 содержит корневой или промежуточный сертификат X.509. Устройства могут пройти проверку подлинности, если у них есть действительный конечный сертификат, производный от корневого или промежуточного сертификата.
Чтобы подключить устройство с сертификатом X. 509 к приложению, выполните следующие действия.
- Создайте группу регистрации, использующую тип аттестации Certificates (X. 509).
- Добавьте и проверьте промежуточный или корневой сертификат X.509 в группе регистрации.
- Создайте конечный сертификат из корневого или промежуточного сертификата в группе регистрации. Установите конечный сертификат на устройстве, чтобы он использовался при подключении к приложению.
Каждая группа регистрации должна использовать уникальный сертификат X.509. IoT Central не поддерживает использование одного сертификата X.509 в нескольких группах регистрации.
Дополнительные сведения см. в статье "Подключение устройств к сертификатам X.509".
Только в целях тестирования
В рабочей среде используйте сертификаты от поставщика сертификатов. Только для тестирования можно использовать следующие служебные программы для создания корневого и промежуточного сертификатов, а также и сертификатов устройств:
- Пакет SDK для устройств от Центра подготовки устройств Azure IoT: коллекция инструментов Node.js, которые можно использовать для создания и проверки сертификатов и ключей X. 509.
- Управление тестируемыми сертификатами ЦС для примеров и учебников: коллекция скриптов PowerShell и Bash для:
- Создать цепочку сертификатов.
- Сохраните сертификаты в виде файлов формата .cer, чтобы отправить их в приложение IoT Central.
- Используйте код проверки из приложения IoT Central, чтобы создать сертификат проверки.
- Создайте конечные сертификаты для устройств, используя идентификаторы устройств в качестве параметра для инструментария.
Группа регистрации SAS
Группа регистрации SAS содержит ключи SAS уровня группы. Устройства могут пройти проверку подлинности, если у них есть действительный маркер SAS, производный от ключа SAS уровня группы.
Чтобы подключить устройство с маркером SAS устройства к приложению:
Создайте группу регистрации, использующую тип аттестации подписанного URL-адреса (SAS).
Скопируйте первичный или вторичный ключ группы из группы регистрации.
Используйте Azure CLI для создания маркера устройства из ключа группы:
az iot central device compute-device-key --primary-key <enrollment group primary key> --device-id <device ID>
Совет
Каждое устройство, которое подключается к приложению IoT Central, должно иметь уникальный идентификатор устройства. Предыдущая команда создает уникальный маркер для каждого устройства.
Используйте созданный маркер устройства, когда устройство подключается к приложению IoT Central.
Примечание.
Чтобы использовать существующие ключи SAS в группах регистрации, отключите переключатель автоматического создания ключей и вручную введите ключи SAS.
Если вы используете группу регистрации SAS-IoT-Devices по умолчанию, IoT Central создает отдельные ключи устройств. Чтобы получить доступ к этим ключам, выберите "Подключиться " на странице сведений об устройстве. На этой странице отображается область идентификатора, идентификатор устройства, первичный ключ и вторичный ключ, используемый в коде устройства. На этой странице также отображается QR-код, содержащий те же данные.
Отдельная регистрация
Как правило, устройства подключаются с помощью учетных данных, производных от сертификата X.509 или ключа SAS. Однако если у ваших устройств есть собственные учетные данные, можно использовать отдельные регистрации. Отдельная регистрация — это запись для одного устройства, позволяющего подключиться. При аттестации таких устройств используются либо конечные сертификаты X.509, либо маркеры SAS (от физических или виртуальных доверенных платформенных модулей). Дополнительные сведения см. в статье Индивидуальная регистрация в DPS.
Примечание.
При создании отдельной регистрации для устройства он имеет приоритет над параметрами группы регистрации по умолчанию в приложении IoT Central.
Создание индивидуальной регистрации
IoT Central поддерживает следующие механизмы аттестации для индивидуальных регистраций:
Аттестация симметричных ключей: аттестация симметричных ключей — это простой подход к аутентификации устройства в экземпляре Службы подготовки устройств. Чтобы создать отдельную регистрацию, использующую симметричные ключи, откройте страницу подключения устройства для устройства, выберите отдельную регистрацию в качестве типа проверки подлинности и подписанный URL-адрес (SAS) в качестве метода проверки подлинности. Введите первичные и вторичные ключи в кодировке Base64 и сохраните изменения. Для подключения устройства используйте область идентификатора, идентификатор устройства и первичный или вторичный ключ.
Совет
Во время тестирования можно воспользоваться OpenSSL, чтобы сгенерировать ключи в кодировке Base64:
openssl rand -base64 64
Сертификаты X.509. Чтобы создать отдельную регистрацию с сертификатами X.509, откройте страницу подключения к устройству, выберите отдельную регистрацию в качестве типа проверки подлинности и сертификаты (X.509) в качестве метода проверки подлинности. Сертификаты устройств, используемые с отдельной записью регистрации, имеют определенное требование — для издателя и субъекта CN должно быть задано значение идентификатора устройства.
Совет
Для тестирования можно использовать Инструментарий для пакета SDK для устройств от Службы подготовки устройств Azure IOT для Node.js и создать самозаверяющий сертификат:
node create_test_cert.js device "mytestdevice"
Аттестация через доверенный платформенный модуль (TPM): TPM — это тип аппаратного модуля безопасности. Использование TPM является одним из наиболее безопасных способов подключения устройства. В этой статье предполагается, что используется дискретный, микропрограммный или интегрированный модуль TPM. Эмулированные программными средствами модули TPM хорошо подходят для прототипирования или тестирования. Но они не обеспечивают такой же уровень безопасности, как дискретные, микропрограммные или интегрированные TPM. Не используйте программные модули TPM в рабочей среде. Чтобы создать отдельную регистрацию, использующую TPM, откройте страницу подключения к устройству, выберите отдельную регистрацию в качестве типа проверки подлинности и TPM в качестве метода проверки подлинности. Введите ключ подтверждения TPM и сохраните сведения о подключении устройства.
Автоматическая регистрация устройств
Этот сценарий позволяет изготовителям оборудования массово производить устройства, которые могут подключаться без первой регистрации в приложении. Изготовитель оборудования создает подходящие учетные данные устройства и настраивает устройства в процессе производства.
Чтобы автоматически зарегистрировать устройства, использующие сертификаты X.509:
Создайте конечные сертификаты для устройств с помощью корневого или промежуточного сертификата, добавленного в группу регистрации X.509. Используйте идентификаторы устройств в качестве
CNAME
в конечных сертификатах. Код устройства может содержать только буквы, цифры и символ-
.Производителю необходимо предоставить каждому устройству идентификатор устройства, созданный конечный сертификат X. 509 и значение области идентификатора для приложения. Код устройства также должен отправить идентификатор модели устройства, которую он реализует.
При переключении на устройство оно сначала подключается к DPS для получения сведений о подключении к IoT Central.
Устройство использует сведения из DPS для подключения к приложению IoT Central и регистрации в нем.
Приложение IoT Central использует идентификатор модели, отправленный устройством, чтобы назначить зарегистрированное устройство шаблону устройства.
Чтобы автоматически зарегистрировать устройства, использующие маркеры SAS:
Скопируйте первичный ключ группы из группы регистрации SAS-IOT-Devices:
Используйте команду
az iot central device compute-device-key
, чтобы создать ключи SAS для устройства. Используйте первичный ключ группы из предыдущего шага. Код устройства может содержать только буквы, цифры и символ-
:az iot central device compute-device-key --primary-key <enrollment group primary key> --device-id <device ID>
Производителю необходимо предоставить каждому устройству идентификатор устройства, сгенерированный ключ SAS и значение области идентификатора для приложения. Код устройства также должен отправить идентификатор модели устройства, которую он реализует.
При переключении на устройство оно сначала подключается к DPS для получения сведений о подключении к IoT Central.
Устройство использует сведения из DPS для подключения к приложению IoT Central и регистрации в нем.
Приложение IoT Central использует идентификатор модели, отправленный устройством, чтобы назначить зарегистрированное устройство шаблону устройства.
Следующие шаги
Ниже приведены некоторые из возможных дальнейших действий.
- Ознакомьтесь с рекомендуемыми практиками по разработке устройств.
- Ознакомьтесь с примером кода, в котором показано, как использовать маркеры SAS в руководстве по созданию и подключению клиентского приложения к приложению IoT Central
- Узнайте, как с помощью пакета SDK для устройства Node.js подключить устройства с сертификатами X.509 к приложению IoT Central
- Узнайте, как отслеживать подключение устройств с помощью Azure CLI
- Узнайте об устройствах Azure IoT Edge и Azure IoT Central