Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Центр Интернета вещей использует протокол TLS для защиты подключений от устройств и служб Интернета вещей.
Note
Концентратор IoT Azure завершит поддержку TLS 1.0 и 1.1 в соответствии с объявлением службы Azure о завершении поддержки TLS 1.0 и 1.1 31 августа 2025 г. Кроме того, Центр Интернета вещей больше не будет поддерживать слабые наборы шифров с 31 августа 2025 года. Для существующих и новых Центров Интернета вещей поддерживаются только рекомендуемые наборы надежных шифров.
Поэтому необходимо правильно проверить и подтвердить, совместимы ли все ваши устройства и службы Интернета вещей с TLS 1.2 и рекомендуемыми шифрами заранее. Настоятельно рекомендуется использовать минимальную функцию принудительного применения TLS в качестве механизма тестирования и соответствия требованиям.
Important
Важно различать поддержку TLS 1.2 и принудительное применение TLS 1.2. TLS 1.2 поддерживается во всех Центрах Интернета вещей, что означает, что Центры Интернета вещей могут обрабатывать подключения с помощью протокола TLS 1.2. С другой стороны, принудительное применение TLS 1.2 гарантирует, что Центр Интернета вещей принимает подключения только с помощью TLS 1.2 или более поздней версии. При включении принудительного применения TLS 1.2 служба также применяет наборы надежных шифров.
В настоящее время принудительное применение TLS 1.2 поддерживается только в общедоступных облачных регионах.
Чтобы узнать версию TLS, которую используют ваши устройства Центра Интернета вещей, ознакомьтесь с руководством по завершению поддержки TLS 1.0 и 1.1.
Взаимная поддержка TLS
Взаимная проверка подлинности TLS гарантирует, что клиент выполняет проверку подлинности сертификата сервера (Центр Интернета вещей), а сервер (Центр Интернета вещей) выполняет проверку подлинности клиента с помощью сертификата клиента X.509 или отпечатка X.509. Центр Интернета вещей выполняет авторизацию после завершения проверки подлинности.
Для протоколов AMQP и MQTT IoT Hub запрашивает сертификат клиента в начальном TLS-согласовании. Если он указан, Центр Интернета вещей проверяет подлинность сертификата клиента, а клиент выполняет проверку подлинности сертификата Центр Интернета вещей. Этот процесс называется взаимной проверкой подлинности TLS. Когда Центр Интернета вещей получает пакет подключения MQTT или откроется ссылка AMQP, Центр Интернета вещей выполняет авторизацию для запрашивающего клиента и определяет, требуется ли проверка подлинности X.509. Если взаимная проверка подлинности TLS завершена и клиенту разрешено подключаться как устройству, это разрешено. Однако если клиенту требуется проверка подлинности X.509 и проверка подлинности клиента не была завершена во время подтверждения TLS, то Центр Интернета вещей отклоняет подключение.
Для протокола HTTP, когда клиент выполняет свой первый запрос, Центр Интернета вещей проверяет, требуется ли для клиента проверка подлинности X.509 и если проверка подлинности клиента завершена, Центр Интернета вещей выполняет авторизацию. Если проверка подлинности клиента не завершена, Центр Интернета вещей отклоняет подключение.
После успешного подтверждения TLS Центр Интернета вещей может проверить подлинность устройства с помощью симметричного ключа или сертификата X.509. Для аутентификации на основе сертификатов Центр Интернета вещей проверяет сертификат по отпечатку или с использованием предоставленного центра сертификации (ЦС). Дополнительные сведения см. в статье "Проверка подлинности удостоверений с помощью сертификатов X.509".
Сертификат TLS сервера Центра Интернета вещей
Во время рукопожатия TLS IoT Hub предоставляет подключающимся клиентам серверные сертификаты с ключом RSA. Все центры Интернета вещей в глобальном облаке Azure используют сертификат TLS, выданный Global Root G2 DigiCert.
Мы настоятельно рекомендуем, чтобы все устройства доверяли следующим трем корневым УЦ:
- Корневой центр сертификации DigiCert Global G2
- Удостоверяющий центр Microsoft RSA 2017
Ссылки на скачивание этих сертификатов см. в разделе "Центр сертификации Azure".
Миграции корневого центра сертификации встречаются редко. Вы всегда должны подготовить решение Интернета вещей к маловероятной ситуации, когда корневой ЦС скомпрометирован и требуется экстренная смена корневого ЦС в экстренном порядке.
Комплекты шифров
Начиная с 31 августа 2025 года Центр Интернета вещей применяет рекомендуемые наборы надежных шифров для всех существующих и новых Центров Интернета вещей. Не поддерживаются наборы шифров, которые не рекомендуется использовать (слабые), после этой даты.
Чтобы обеспечить соответствие политике безопасности Azure для безопасного подключения, Центр Интернета вещей поддерживает только следующие наборы шифров RSA и ECDSA:
- TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
- TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
- TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256
- TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384
- TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
- TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
- TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256
- TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384
Note
Наборы шифров ECDSA доступны только в общедоступных облачных регионах.
Следующие нерекоменционные наборы шифров разрешены на концентраторах без minTlsVersion:1.2 до 31 августа 2025 г.
- TLS_DHE_RSA_WITH_AES_256_GCM_SHA384
- TLS_DHE_RSA_WITH_AES_128_GCM_SHA256
- TLS_RSA_WITH_AES_256_GCM_SHA384
- TLS_RSA_WITH_AES_128_GCM_SHA256
- TLS_RSA_WITH_AES_256_CBC_SHA256
- TLS_RSA_WITH_AES_128_CBC_SHA256
- TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA
- TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA
- TLS_RSA_WITH_AES_128_CBC_SHA
- TLS_RSA_WITH_AES_256_CBC_SHA
Клиент может предложить список более надежных наборов шифров для использования во время ClientHello. Однако Центр Интернета вещей может не поддерживать некоторые из них, например ECDHE-ECDSA-AES256-GCM-SHA384. В этом случае Центр Интернета вещей пытается следовать предпочтениям клиента, но в конечном итоге согласовывает набор шифров с ServerHello.
Note
При использовании шифра ECDSA или ECDHE клиент должен предоставить supported_groups расширение в ClientHello допустимой группе. При подключении с использованием сертификата клиента необходимо включить кривую, используемую в этом сертификате клиента, в его supported_groups расширение.
Обновление поддержки Центра Интернета вещей до TLS 1.2
После создания IoT Hub, свойство minTlsVersion можно обновить с помощью портала Azure, интерфейса командной строки или пакетов SDK. Если необходимо обновить IoT Hub для использования TLS 1.2 и установить наборы криптографических алгоритмов (разрешено только в выбранных регионах) или включить поддержку TLS 1.2 (поддерживается во всех регионах), вы можете сделать это, следуя этим шагам.
Чтобы обновить Центр Интернета вещей для поддержки TLS 1.2 и (или) принудительного применения наборов надежных шифров на портале Azure:
Перейдите к существующему Центру Интернета вещей на портале Azure.
На вкладке "Обзор " в меню слева щелкните ссылку "Минимальная версия TLS " в разделе "Основные сведения".
В окне "Минимальная версия TLS" выберите 1.2 , чтобы обеспечить подключение только устройств, поддерживающих TLS 1.2 или более поздней версии.
Щелкните Обновить.
Note
Центр Интернета вещей можно обновить до TLS 1.2 во всех общедоступных облачных регионах.
Измените настройки IoT Hub для использования TLS 1.2 и строгих шифров.
Чтобы обеспечить соответствие ваших устройств Интернета вещей TLS 1.2 и списками шифров с высокой степенью безопасности, вы можете обеспечить соответствие с помощью возможности принудительного применения минимальных требований TLS в Центре Интернета вещей Azure.
Note
В настоящее время эта функция доступна только в общедоступных облачных регионах.
Для включения TLS 1.2 и использования наборов шифров с высокой степенью безопасности в портале Azure:
Перейдите к мастеру создания Центра Интернета вещей на портале Azure.
Выберите регион из списка поддерживаемых регионов.
В разделе Управление -> Расширенные -> TLS -> Минимальная версия TLS выберите 1.2. Этот параметр отображается только для центра Интернета вещей, созданного в поддерживаемом регионе.
Нажмите кнопку Создать
Подключите устройства Интернета вещей к этому Центру Интернета вещей.
Чтобы использовать шаблон ARM для создания, подготовьте новый центр Интернета вещей в любом из поддерживаемых регионов и присвойте свойству minTlsVersion значение 1.2 в спецификации ресурсов:
{
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [
{
"type": "Microsoft.Devices/IotHubs",
"apiVersion": "2020-01-01",
"name": "<provide-a-valid-resource-name>",
"location": "<any-of-supported-regions-below>",
"properties": {
"minTlsVersion": "1.2"
},
"sku": {
"name": "<your-hubs-SKU-name>",
"tier": "<your-hubs-SKU-tier>",
"capacity": 1
}
}
]
}
Созданный ресурс Центра Интернета вещей, использующий эту конфигурацию, отклоняет клиенты устройств и служб, которые пытаются подключиться с помощью TLS версии 1.0 и 1.1. Аналогичным образом рукопожатие TLS отклоняется, если ClientHello сообщение не перечисляет какие-либо рекомендуемые шифры.
Note
После отработки отказа свойство вашего IoT Hub остается активным в сопряженном регионе.
Проверка версий TLS и наборов шифров для устройств Центра Интернета вещей
Центр Интернета вещей Azure предоставляет возможность проверить версию TLS, наборы шифров и другие метрики подключения к устройству, чтобы отслеживать безопасность устройств Интернета вещей. Вы можете использовать метрики Центра Интернета вещей или журналы диагностики для отслеживания использования версии TLS и других связанных свойств, таких как наборы шифров.
Note
В настоящее время эта функция доступна только в общедоступных облачных регионах.
Проверка версий TLS и наборов шифров с помощью метрик Центра Интернета вещей
Если вы хотите проверить, что трафик устройства в Центр Интернета вещей использует TLSv1.2 и надежные наборы шифров, можно проверить метрики Центра Интернета вещей. Это позволяет фильтровать по версии TLS или набору шифров и проверять количество успешных подключений.
Найдите нужный Центр Интернета вещей на портале Azure.
В меню слева в разделе "Мониторинг" выберите "Метрики".
Добавьте метрику Успешное подключение.
Фильтруйте по версии TLS или набору шифров, нажав кнопку "Добавить фильтр " и выбрав соответствующее свойство, версию TLS или набор шифров, оператор, например "=" и значение, например TLSv1.2.
После применения фильтра отображается сумма устройств с успешными подключениями Центра Интернета вещей на основе отфильтрованного свойства и значений.
Проверка версий TLS и наборов шифров с помощью журналов диагностики Центра Интернета вещей
Центр интернета вещей Azure может предоставлять журналы диагностики для нескольких категорий, которые можно анализировать с помощью журналов Azure Monitor. В журнале подключений можно найти версию TLS и набор шифров для устройств Центра Интернета вещей.
Чтобы просмотреть эти журналы, выполните следующие действия.
Найдите нужный Центр Интернета вещей на портале Azure.
В меню слева в разделе "Мониторинг" выберите параметры диагностики. Убедитесь, что в параметрах диагностики установлен флажок "Подключения".
В меню слева в разделе Мониторинг выберите Журналы.
Введите следующий запрос:
AzureDiagnostics | where ResourceProvider == "MICROSOFT.DEVICES" and ResourceType == "IOTHUBS" | where Category == "Connections" | where OperationName == "deviceConnect" | extend props_json = parse_json(properties_s) | project DeviceId = props_json.deviceId, TLSVersion = props_json.tlsVersionПример результатов запроса выглядит следующим образом:
Note
Запрос версии TLS недоступен для устройств, использующих подключения HTTPS.
Конфигурация TLS для пакета SDK и IoT Edge
Используйте следующие ссылки для настройки TLS 1.2 и разрешенных шифров в клиентских пакетах SDK для Центра Интернета вещей.
| Language | Версии, поддерживающие TLS 1.2 | Documentation |
|---|---|---|
| C | Тег 2019-12-11 или более новый | Link |
| Python | Версия 2.0.0 или более новая | Link |
| C# | Версия 1.21.4 или более новая | Link |
| Java | Версия 1.19.0 или более новая | Link |
| Node.js | Версия 1.12.2 или более новая | Link |
Устройства IoT Edge можно настроить для использования TLS 1.2 при обмене данными с Центром Интернета вещей. Для этой цели используйте страницу документации IoT Edge.
Сертификат TLS сервера с эллиптической кривой (ECC)
Обеспечивая почти тот же уровень безопасности, что и сертификаты RSA, проверка сертификата ECC (с уникальными наборами шифров) использует до 40 % меньше вычислительных ресурсов, памяти и пропускной способности. Эта экономия важна для устройств Интернета вещей из-за небольших профилей и памяти, а также для поддержки вариантов использования в средах с ограниченной пропускной способностью сети.
Чтобы использовать сертификат сервера ECC Центр Интернета вещей, выполните приведенные ниже действия.
- Убедитесь, что все устройства доверяют следующим корневым центрам сертификации:
- Корневой центр сертификации DigiCert Global G2
- Удостоверяющий центр Microsoft RSA 2017
-
Настройте клиент так, чтобы он включал только наборы шифров ECDSA и не включал наборы шифров RSA. Это поддерживаемые наборы шифров для сертификата ECC:
TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384
- Подключите клиент к Центру Интернета вещей.
Note
В настоящее время эта функция доступна только в общедоступных облачных регионах.
Согласование максимальной длины фрагментов TLS
Центр Интернета вещей также поддерживает согласование максимальной длины фрагмента TLS, которое иногда называют согласованием размера кадра TLS. Эта функция предоставляется в общедоступной предварительной версии.
Используйте эту функцию, чтобы указать максимальную длину фрагмента в виде открытого текста, значение которого меньше значения по умолчанию 2^14 байт. После согласования Центр Интернета вещей и клиент начинают фрагментирование сообщений, чтобы все фрагменты были меньше согласованной длины. Такое поведение полезно для устройств с ограниченным объемом памяти или вычислительных ресурсов. Дополнительные сведения см. в официальной спецификации расширения TLS.
Официальная поддержка пакета SDK для этой общедоступной предварительной версии пока недоступна. Начало работы
- Создайте Центр Интернета вещей.
- При использовании OpenSSL вызовите SSL_CTX_set_tlsext_max_fragment_length, чтобы указать размер фрагмента.
- Подключите клиент к Центру Интернета вещей.
Note
В настоящее время эта функция доступна только в общедоступных облачных регионах.
Привязка к сертификату
Прокалывание сертификатов и фильтрация сертификатов сервера TLS и промежуточных сертификатов, связанных с конечными точками Центра Интернета вещей, настоятельно не рекомендуется, так как корпорация Майкрософт часто обновляет эти сертификаты без уведомления. Если необходимо, привяжите только корневые сертификаты, как описано в этой записи блога Azure IoT.
Дальнейшие шаги
- Дополнительные сведения о безопасности Центра Интернета вещей и управлении доступом см. в статье Управление доступом к центру Интернета вещей.
- Дополнительные сведения об использовании сертификата X.509 для проверки подлинности устройства см. в статье Проверка подлинности устройства с помощью сертификатов ЦС X.509.