Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Центр Интернета вещей использует сертификаты X.509 для проверки подлинности устройств. Аутентификация с использованием X.509 позволяет идентифицировать устройство Интернета вещей в рамках установления соединения по стандарту TLS.
В этой статье описывается, как использовать сторонние управляемые сертификаты ЦС X.509 для проверки подлинности устройств, подключающихся к Центру Интернета вещей.
Проверка подлинности и авторизация
Проверка подлинности — это процесс подтверждения того, что вы действительно тот, за кого себя выдаёте. Аутентификация проверяет личность пользователя или устройства в Центре Интернета вещей. Иногда для этого термина используется сокращение AuthN.
Авторизация — это процесс подтверждения разрешений для прошедшего проверку подлинности пользователя или устройства на Центр Интернета вещей. Он указывает, к каким ресурсам и командам вы имеете доступ и что вы можете сделать с этими ресурсами и командами. Авторизация иногда сокращенно обозначается AuthZ (Authorization).
Сертификаты X.509 используются только для проверки подлинности в Центре Интернета вещей, а не авторизации. В отличие от Microsoft Entra ID и подписей общего доступа, нельзя настраивать разрешения с помощью сертификатов X.509.
Корпорация Майкрософт и сторонние PKI
Инфраструктура открытых ключей (PKI) использует цифровые сертификаты для проверки подлинности и шифрования данных между устройствами и службами. Сценарии, такие как VPN, Wi-Fi, электронная почта, веб и удостоверение устройства, обеспечиваются безопасностью посредством PKI-сертификатов. Управление сертификатами PKI является сложным, дорогостоящим и сложным, особенно для организаций с большим количеством устройств и пользователей.
Центр Интернета вещей поддерживает два типа поставщиков PKI для проверки подлинности сертификата X.509:
| Поставщик PKI | Требуется интеграция | Реестр устройств Azure (ADR) обязателен | Требуется служба подготовки устройств (DPS) |
|---|---|---|---|
| Управляемый корпорацией Майкрософт PKI | Нет. Настройте центры сертификации непосредственно в реестре устройств Azure (ADR). | Да | Да |
| Сторонние PKI (DigiCert, GlobalSign и т. д.) | Да. Требуется интеграция вручную. | нет | нет |
В этой статье рассматриваются сторонние поставщики PKI. Если вы хотите использовать PKI, управляемый Корпорацией Майкрософт, с сертификатами X.509, см. статью "Что такое управление сертификатами?
Типы проверки подлинности сертификата
Сертификат центра сертификации X.509 (ЦС) — это цифровой сертификат, который может подписывать другие сертификаты. Цифровой сертификат считается сертификатом X.509, если он соответствует стандарту форматирования сертификатов, установленному стандартом RFC 5280 IETF.
Функция центра сертификации X.509 обеспечивает аутентификацию устройства в Центре Интернета вещей с помощью центра сертификации. Это упрощает начальный процесс регистрации устройств и логистику цепочки поставок во время производства устройств.
Для проверки подлинности устройства в Центре Интернета вещей можно использовать любой сертификат X.509, отправив отпечаток сертификата или центр сертификации (ЦС) в Центр Интернета вещей.
ЦС X.509 подписанный - Этот параметр рекомендуется для продуктивных сценариев и является фокусом этой статьи.
Если на вашем устройстве есть сертификат X.509, подписанный центром сертификации, перед регистрацией устройства вы загружаете корневой или промежуточный сертификат центра сертификации в цепочку подписей в Центр Интернета вещей. Устройство имеет сертификат X.509 с удостоверенным удостоверяющим центром X.509 в цепочке сертификатов доверия. Когда устройство подключается, оно представляет полную цепочку сертификатов, а Центр Интернета вещей может проверить его, так как он знает ЦС X.509. Несколько устройств могут проходить проверку подлинности у одной проверенной ЦС X.509.
Самозаверенный X.509
Если у устройства есть самозаверяющий сертификат X.509, вы предоставите Центру Интернета вещей версию сертификата для проверки подлинности. При регистрации устройства вы отправляете отпечаток сертификата, который является хэшом сертификата X.509 устройства. Когда устройство подключается, он представляет свой сертификат, а Центр Интернета вещей может проверить его в соответствии с хэшом, который он знает.
Обеспечить принудительное применение проверки подлинности X.509
Для дополнительной безопасности центр Интернета вещей можно настроить, чтобы не разрешать проверку подлинности SAS для устройств и модулей, оставляя X.509 единственным допустимым вариантом проверки подлинности. В настоящее время эта функция недоступна на портале Azure. Чтобы настроить ее, задайте для disableDeviceSAS и disableModuleSAS значение true в свойствах ресурса центра Интернета вещей.
az resource update -n <iothubName> -g <resourceGroupName> --resource-type Microsoft.Devices/IotHubs --set properties.disableDeviceSAS=true properties.disableModuleSAS=true
Преимущества аутентификации сертификата ЦС X.509
Центр Интернета вещей требует уникального удостоверения для каждого устройства, которое подключается. Для проверки подлинности на основе сертификатов эти удостоверения находятся в виде сертификатов.
Допустимый, но неэффективный способ предоставления уникального сертификата на каждом устройстве заключается в создании сертификатов и предоставлении всем партнерам цепочки поставок соответствующих закрытых ключей. Этот метод поставляется с проблемами, которые необходимо преодолеть, чтобы обеспечить доверие следующим образом:
Предоставление закрытых ключей устройств партнерам по цепочке поставок, помимо игнорирования рекомендаций PKI, делает установку доверия в цепочке поставок дорогостоящей. Для этого требуются такие системы, как безопасные комнаты для размещения закрытых ключей устройств, и такие процессы, как периодический аудит безопасности. Оба способа увеличивают стоимость цепочки поставок.
Безопасный учет устройств в цепочке поставок и последующее управление ими в процессе развертывания через удаленное управление и списание устройств становится задачей «один к одному» для каждой пары «ключ — устройство». Эта связь исключает управление группами устройств, если концепция групп явно не встроена в процесс. Таким образом, безопасный учет и управление жизненным циклом устройств существенно усложняются.
Аутентификация на основе сертификатов ЦС X.509 предлагает элегантные решения этих проблем благодаря использованию цепочки сертификатов. Цепочка сертификатов начинается с центра сертификации, подписывающего промежуточный центр сертификации, который, в свою очередь, подписывает еще один промежуточный центр сертификации, и так продолжается до тех пор, пока конечный промежуточный центр сертификации не подпишет устройство. Цепочки сертификатов создают связь "один ко многим" между сертификатом центра сертификации и устройствами, находящимися под его управлением. Эта связь позволяет зарегистрировать любое количество устройств в Центре Интернета вещей, зарегистрируя сертификат ЦС X.509 один раз.
Проверка подлинности ЦС X.509 также упрощает логистику цепочки поставок. Типичный процесс производства устройств включает в себя несколько этапов и хранителей. Используя центры сертификации, вы можете подписать каждого хранителя в криптографическую цепочку доверия, а не доверять им закрытые ключи устройства. Каждый куратор сертифицирует устройства на соответствующем этапе производственного потока. Общим результатом является оптимальная цепочка поставок со встроенной подотчетностью благодаря использованию зашифрованной цепочки доверия.
Этот процесс обеспечивает максимальную безопасность, когда устройства защищают свои уникальные закрытые ключи. Для этого рекомендуется использовать аппаратные защищенные модули (HSM), способные создавать закрытые ключи.
Служба подготовки устройств к добавлению в Центр Интернета вещей Azure (DPS) упрощает подготовку групп устройств в центрах. Дополнительные сведения см. в статье Руководство по инициализации нескольких устройств X.509 с помощью групп регистрации.
Поток сертификатов X.509
В этом разделе описывается, как использовать сертификаты ЦС X.509 для проверки подлинности устройств, подключающихся к Центру Интернета вещей, в том числе следующие действия.
- Получите сертификат ЦС X.509.
- Подписывать устройства с использованием сертификатов Центра сертификации X.509.
- Зарегистрируйте сертификат ЦС X.509 в Центре Интернета вещей.
- Аутентифицируйте устройства, подписанные сертификатами X.509.
- Отмените сертификат устройства, если он скомпрометирован.
Получение сертификата удостоверяющего центра X.509
Сертификат ЦС X.509 является верхней частью цепочки сертификатов для каждого устройства. Вы можете приобрести или создать его в зависимости от способа его использования.
Для рабочих сред рекомендуется приобрести сертификат ЦС X.509 от поставщика профессиональных служб сертификатов.
Вы также можете создать самозаверяющий сертификат ЦС X.509 для тестирования. Дополнительные сведения о создании сертификатов для тестирования см. в разделе "Создание и отправка сертификатов для тестирования". Мы не рекомендуем самозаверяющие сертификаты для производственных сред.
Независимо от того, как вы получаете сертификат ЦС X.509, обязательно держите его закрытый ключ в тайне и всегда защищайте его.
Приобретение сертификата
Приобретение сертификата удостоверяющего центра (ЦС) имеет преимущество: известный корневой ЦС выступает в качестве доверенной третьей стороны, подтверждающей легитимность устройств Интернета вещей при их подключении. Выберите этот параметр, если ваши устройства являются частью открытой сети Интернета вещей, где они взаимодействуют со сторонними продуктами или службами.
Чтобы приобрести сертификат ЦС X.509, выберите поставщика услуг корневого сертификата. Поставщик корневого ЦС поможет вам создать пару открытых и закрытых ключей и как создать запрос на подпись сертификата (CSR) для своих служб. CSR является формальным процессом применения сертификата из центра сертификации. Результатом этой покупки будет сертификат для использования в качестве сертификата центра сертификации. Учитывая распространенность сертификатов X.509, сертификат, скорее всего, будет правильно отформатирован в соответствии со стандартном RFC 5280 IETF.
Создание самозаверяющего сертификата
Процесс создания самозаверяющего сертификата ЦС X.509 аналогичен покупке, за исключением привлечения стороннего подписывающего лица, такого как корневой центр сертификации.
Вы можете выбрать этот вариант для тестирования, пока не будете готовы приобрести сертификат удостоверяющего центра. Вы также можете использовать самоподписанный сертификат УЦ X.509 в рабочей среде, если ваши устройства не подключаются к сторонним службам за пределами IoT Hub.
Регистрация устройств в цепочке доверия сертификатов
Владелец сертификата ЦС X.509 может криптографически подписать промежуточный ЦС, который, в свою очередь, может подписать другой промежуточный ЦС и т. д., пока последний промежуточный ЦС не подписывает сертификат устройства. Результатом является каскадная цепочка сертификатов, известная как цепочка сертификатов доверия. Это делегирование доверия важно, так как оно устанавливает цепочку хранения и избегает совместного использования ключей подписывания.
Этот каскад сертификатов в цепочке представляет логическую передачу полномочий. Многие цепочки поставок следуют этой логической передаче, при которой каждый промежуточный ЦС включается в цепочку и получает все сертификаты вышестоящих ЦС. Последний промежуточный центральный центр сертификации наконец-то подписывает каждое устройство и интегрирует все сертификаты центрального центра сертификации из цепочки в устройство.
Сертификат устройства (также называемый конечным сертификатом) должен иметь общее имя (CN) для идентификатора устройства (CN=deviceId), который используется при регистрации устройства Интернета вещей в Центре Интернета вещей Azure. Этот параметр требуется для проверки подлинности.
Для модулей, использующих проверку подлинности X.509, сертификат модуля должен иметь общее имя (CN) в формате, например, CN=deviceId/moduleId.
Узнайте, как создать цепочку сертификатов, как это было сделано при подписи устройств.
регистрация сертификата ЦС X.509 в Центре Интернета вещей;
Зарегистрируйте сертификат ЦС X.509 в Центре Интернета вещей, который использует его для проверки подлинности устройств. Сертификат ЦС X.509 может аутентифицировать любое устройство, имеющее ЦС в своей цепочке сертификатов доверия. Регистрация сертификата ЦС X.509 — это двухэтапный процесс, который включает в себя загрузку файла сертификата и последующее подтверждение владения им.
Процесс отправки подразумевает отправку файла, содержащего сертификат. Этот файл не должен содержать какие-либо закрытые ключи.
Шаг подтверждения владения включает в себя криптографическую проверку и ответ между вами и Центром Интернета вещей, чтобы подтвердить, что вы действительно владеете сертификатом удостоверяющего центра (ЦС). Вы можете автоматически или вручную проверить владение. Для проверки вручную Центр Интернета вещей создает случайный вызов, который вы подписываете с помощью закрытого ключа сертификата ЦС. Если вы сохранили закрытый ключ в секрете и защищали его в соответствии с рекомендациями, то только вы знаете, как выполнить этот шаг. Секретность закрытых ключей выступает источником доверия в этом методе. После подписывания задачи вы отправите файл, содержащий результаты для завершения проверки.
Узнайте, как зарегистрировать сертификат Центра Сертификации.
Проверка подлинности устройств, подписанных с помощью сертификатов ЦС X.509
После регистрации сертификата ЦС X.509 и устройств, подписанных цепочкой доверия, последний шаг — проверка подлинности устройств. Когда устройство, подписанное ЦС X.509, подключается, оно отправляет свою цепочку сертификатов для проверки. С помощью этой информации Центр Интернета вещей выполняет проверку подлинности устройства в два этапа.
Во-первых, центр Интернета вещей криптографически проверяет цепочку сертификатов для внутренней согласованности. Затем Центр Интернета вещей выдает запрос на подтверждение владения на устройство. Центр Интернета вещей объявляет устройство подлинным при успешном ответе на запрос подтверждения владения от устройства. Это объявление предполагает, что закрытый ключ устройства защищен и что только устройство может успешно ответить на этот запрос. Рекомендуем использовать безопасные микросхемы, такие как аппаратные модули безопасности (HSM), на устройствах для защиты закрытых ключей.
Успешное подключение устройства к Центру Интернета вещей завершает процесс проверки подлинности и является индикатором надлежащей настройки. При каждом подключении устройства Центр Интернета вещей повторно согласовывает сеанс TLS и проверяет сертификат X.509 устройства.
Отзыв сертификата устройства
Центр Интернета вещей не проверяет списки отзыва сертификатов из центра сертификации при проверке подлинности устройств с проверкой подлинности на основе сертификатов. Если у вас есть устройство, которое должно быть заблокировано для подключения к Центру Интернета вещей из-за потенциально скомпрометированного сертификата, отключите устройство в реестре удостоверений. Дополнительные сведения см. в разделе "Отключение или удаление устройства".
Пример сценария
Компания X создает приложения Smart-X-Widget, предназначенные для профессиональной установки. Компания X делегирует процесс производства и установки сторонним производителям. Фабрика Y производит приложения Smart-X-Widget, а технический специалист Z устанавливает их. Компания X хочет, чтобы устройство Smart-X-Widget отправлялось непосредственно с завода Y к техническому специалисту Z для установки, а затем подключилось непосредственно к экземпляру IoT Hub компании X. Чтобы выполнить это, Компании-X необходимо завершить несколько однократных настроек, чтобы подготовить Smart-X-Виджет для автоматического подключения. Этот комплексный сценарий включает следующие действия.
Получение сертификата УЦ X.509
регистрация сертификата ЦС X.509 в Центре Интернета вещей;
Подключите устройства в Цепочку Доверия Сертификатов.
подключение устройств.
Эти действия демонстрируются в руководстве по созданию и отправке сертификатов для тестирования.
Получение сертификата
Компания X может приобрести сертификат ЦС X.509 у общедоступного корневого центра сертификации или создать его с помощью самозаверяющего процесса. Независимо от варианта, процесс предусматривает два основных этапа: создание пары открытого и закрытого ключей и подписание открытого ключа в сертификате.
Подробности выполнения этих шагов отличаются для различных поставщиков услуг.
Регистрация сертификата в Центре Интернета вещей
Компания X должна зарегистрировать удостоверяющий центр (ЦС) X.509 в IoT Hub, где он служит для аутентификации устройств Smart-X-Widgets при их подключении. Это однократный процесс, который дает возможность выполнять аутентификацию и управлять любым количеством устройств Smart-X-Widget. Связь "один ко многим" между сертификатами ЦС и сертификатами устройств является одним из основных преимуществ использования метода проверки подлинности ЦС X.509. В качестве альтернативы можно передать отдельные отпечатки сертификатов для каждого устройства Smart-X-Widget, что увеличивает эксплуатационные расходы.
Регистрация сертификата ЦС X.509 — это двухэтапный процесс: передача сертификата, а затем подтверждение владения сертификатом.
Загрузка сертификата
Чтобы отправить сертификат ЦС X.509, необходимо просто передать сертификат ЦС в Центр Интернета вещей. IoT Hub требует, чтобы сертификат был в файле.
Файл сертификата не должен ни при каких обстоятельствах содержать закрытые ключи. Рекомендации согласно стандартам управления инфраструктурой открытых ключей (PKI) предусматривают, чтобы закрытые ключи были известны только в компании X.
Доказать владение
Сертификат ЦС X.509, как и любой цифровой сертификат, является общедоступной информацией, которая подвержена атакам перехвата информации. Таким образом, перехватчик может перехватить сертификат и попытаться загрузить его как собственный. В нашем примере Центр Интернета вещей хочет удостовериться, что передаваемый сертификат ЦС компании X действительно принадлежит этой компании. Центр Интернета вещей ставит перед компанией Company-X задачу доказать, что они действительно владеют сертификатом, посредством процесса подтверждения владения (PoP).
Для потока проверки владения узел IoT генерирует случайное число, чтобы Company-X подписала его с помощью своего закрытого ключа. Если бы компания следовала рекомендациям PKI и защищала закрытый ключ, то только она смогла бы правильно ответить на проверку подтверждения владения ключом. Центр Интернета вещей продолжает регистрацию сертификата ЦС X.509, когда проверка подтверждения владения будет успешно пройдена.
После успешного ответа на запрос подтверждения владения от Центра Интернета вещей регистрация сертификата ЦС X.509 завершается.
Подключите устройства в Цепочку Доверия Сертификатов.
В нашем примере проверка подлинности на основе сертификатов означает, что каждый smart-X-Widget должен иметь уникальный сертификат устройства. Вместо создания отдельных пар сертификатов и ключей для каждого устройства Company-X решает использовать сертификаты ЦС и создать цепочку доверия для каждого устройства.
В нашем примере компания X подписывает фабрику Y, которая, в свою очередь, подписывает специалиста Z, который, наконец, подписывает Smart-X-Widget.
На указанной ниже схеме показано, как цепочка сертификатов доверия объединяется в нашем примере Smart-X-Widget.
- Компания X никогда физически не взаимодействует с какими-либо из приложений Smart-X-Widget. Она инициирует цепочку доверия сертификатов, подписывая промежуточный сертификат УЦ компании Factory-Y.
- Factory-Y теперь имеет собственный промежуточный сертификат ЦС с подписью компании-X. Он передает копии этих элементов каждому устройству. Он также использует свой промежуточный сертификат ЦС для подписи промежуточного сертификата ЦС Техник-З и сертификатов устройства Smart-X-Widget.
- Technician-Z теперь имеет собственный промежуточный сертификат ЦС с подписью от Factory-Y. Он передает копии этих элементов каждому устройству. Он также использует промежуточный сертификат ЦС для подписи сертификатов устройств Smart-X-Widget.
- Каждое устройство Smart-X-Widget теперь имеет собственный уникальный сертификат устройства и копии открытых ключей и подписей из каждого промежуточного сертификата ЦС, с которым оно взаимодействовало во всей цепочке поставок. Эти сертификаты и подписи можно отследить до исходного корневого сертификата компании X.
Метод аутентификации на основе ЦС внедряет надежную отчетность в цепочку поставок производства устройств. Из-за процесса цепочки сертификатов действия каждого члена в цепочке криптографически записываются и проверяются.
Этот процесс основывается на предположении, что пара открытых и закрытых ключей уникального устройства создается независимо и что закрытый ключ всегда защищен на устройстве. К счастью, надежные кремниевые микросхемы доступны в виде аппаратных модулей безопасности (HSM), которые способны самостоятельно генерировать ключи и защищать закрытые ключи. Компании X нужно добавить одну такую защищённую микросхему в список материалов для компонента Smart-X-Widget.
Проверка подлинности устройств
Устройства, которые должны пройти аутентификацию ЦС X.509, снабжены уникальными сертификатами устройств и цепочкой сертификатов соответствующей производственной цепочки поставок. Даже первое подключение устройства происходит в два этапа: передача цепочки сертификатов и подтверждение владения.
В нашем примере каждый "Smart-X-Widget" отправляет свой уникальный сертификат устройства вместе с сертификатами CA X.509 от "Factory-Y" и "Technician-Z", а затем отвечает на запрос о доказательстве владения из IoT Hub.
Используя предварительно зарегистрированный сертификат центра сертификации X.509 от Компании-X, Центр Интернета вещей проверяет, что загруженная цепочка сертификатов согласована внутренне и что её создал действительный владелец сертификата ЦС X.509. Как и процесс регистрации ЦС X.509, IoT-хаб использует процесс запрос-ответ для подтверждения владения, чтобы убедиться, что цепочка сертификатов, и, следовательно, сертификат устройства, принадлежит устройству, которое его передает. В результате успешного ответа Центр Интернета вещей воспринимает устройство как аутентичное и разрешает ему подключиться.
Основой доверия является защита закрытых ключей, включая закрытые ключи устройства. Поэтому мы не можем подчеркнуть достаточно важности безопасных кремниевых чипов в виде аппаратных безопасных модулей (HSM) для защиты закрытых ключей устройства, и в целом рекомендуется никогда не предоставлять общий доступ к закрытым ключам из любого сертификата в цепочке.
Следующие шаги
Используйте службу подготовки устройств для подготовки нескольких устройств X.509 с помощью групп регистрации.
Дополнительные сведения о полях, составляющих сертификат X.509, см. в разделе сертификатов X.509.
Если у вас есть сертификат корневого ЦС или подчиненный сертификат ЦС, и вы хотите передать его в узел Интернета вещей, необходимо убедиться, что этот сертификат принадлежит вам. Дополнительные сведения см. в руководстве по созданию и отправке сертификатов для тестирования.