Поддержка TLS для службы подготовки устройств к добавлению в Центр Интернета вещей (DPS)

Служба DPS использует протокол TLS для защиты подключений устройств Интернета вещей.

Версии протокола TLS, которые на данный момент поддерживает служба DPS:

  • TLS 1.2

Ограничение подключений до минимальной версии TLS

Вы можете настроить экземпляры DPS, чтобы разрешить только клиентские подключения устройств, использующие минимальную версию TLS или более позднюю.

Важно!

В настоящее время DPS поддерживает только TLS 1.2, поэтому при создании экземпляра DPS не нужно указывать минимальную версию TLS. Эта функция предоставляется для дальнейшего расширения.

Для этого необходимо подготовить новый ресурс DPS. Задайте для свойства minTlsVersion значение 1.2 в спецификации ресурса DPS в шаблоне Azure Resource Manager. В следующем примере шаблона JSON задано свойство minTlsVersion для нового экземпляра DPS.

{
    "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "resources": [
        {
            "type": "Microsoft.Devices/ProvisioningServices",
            "apiVersion": "2020-01-01",
            "name": "<provide-a-valid-DPS-resource-name>",
            "location": "<any-region>",
            "properties": {
                "minTlsVersion": "1.2"
            },
            "sku": {
                "name": "S1",
                "capacity": 1
            },
        }     
    ]
}

Чтобы развернуть этот шаблон, выполните следующую команду Azure CLI.

az deployment group create -g <your resource group name> --template-file template.json

Дополнительные сведения о создании ресурсов DPS с помощью шаблонов Resource Manager см. в разделе Настройка DPS с помощью шаблона Azure Resource Manager.

Созданный с такой конфигурацией ресурс DPS будет отклонять попытки подключения устройств, использующих протокол TLS версий 1.0 и 1.1.

Примечание

Свойство minTlsVersion доступно только для чтения, и его невозможно изменить после создания ресурса DPS. Важно заранее убедиться, что все устройства Интернета вещей совместимы с TLS 1.2 и рекомендуемыми шифрами.

Примечание

После отработки отказа свойство minTlsVersion DPS остается в силе в регионе, географически связанном с исходным.

Экземпляры DPS обеспечивают использование следующих рекомендуемых и устаревших наборов шифров:

Рекомендуемые наборы шифров TLS 1.2
TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256

Устаревшие наборы шифров

Эти наборы шифров в настоящее время поддерживаются службой DPS, но будут выведены из использования. По возможности используйте рекомендуемые наборы шифров.

Параметр 1 (улучшенная безопасность)
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA_P384 (uses SHA-1)
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA_P256 (uses SHA-1)
TLS_RSA_WITH_AES_256_GCM_SHA384 (lack of Perfect Forward Secrecy)
TLS_RSA_WITH_AES_128_GCM_SHA256 (lack of Perfect Forward Secrecy)
TLS_RSA_WITH_AES_256_CBC_SHA256 (lack of Perfect Forward Secrecy)
TLS_RSA_WITH_AES_128_CBC_SHA256 (lack of Perfect Forward Secrecy)
TLS_RSA_WITH_AES_256_CBC_SHA (uses SHA-1, lack of Perfect Forward Secrecy)
TLS_RSA_WITH_AES_128_CBC_SHA (uses SHA-1, lack of Perfect Forward Secrecy)
Параметр 2 (улучшенная производительность)
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA_P256 (uses SHA-1)
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA_P384 (uses SHA-1)
TLS_RSA_WITH_AES_128_GCM_SHA256 (lack of Perfect Forward Secrecy)
TLS_RSA_WITH_AES_256_GCM_SHA384 (lack of Perfect Forward Secrecy)
TLS_RSA_WITH_AES_128_CBC_SHA256 (lack of Perfect Forward Secrecy)
TLS_RSA_WITH_AES_256_CBC_SHA256 (lack of Perfect Forward Secrecy)
TLS_RSA_WITH_AES_128_CBC_SHA (uses SHA-1, lack of Perfect Forward Secrecy)
TLS_RSA_WITH_AES_256_CBC_SHA (uses SHA-1, lack of Perfect Forward Secrecy)

Взаимная поддержка TLS

Если регистрация DPS настроена для проверки подлинности X.509, DPS поддерживает протокол mutual TLS (mTLS).

Привязка к сертификату

Закрепление и фильтрация сертификатов сервера TLS (конечных сертификатов) и промежуточных сертификатов, связанных с конечными точками DPS, настоятельно не рекомендуется, так как Майкрософт часто развертывает эти сертификаты практически без уведомления. Если необходимо, привяжите только корневые сертификаты, как описано в этой записи блога Azure IoT.

Использование TLS 1.2 в пакетах SDK для Интернета вещей

Используйте приведенные ниже ссылки, чтобы настроить TLS 1.2 и разрешенные шифры в пакетах SDK для клиентов Интернета вещей Azure.

Язык Версии, поддерживающие TLS 1.2 Документация
C Тег 2019-12-11 или более новый Ссылка
Python Версия 2.0.0 или более новая Ссылка
C# Версия 1.21.4 или более новая Ссылка
Java Версия 1.19.0 или более новая Ссылка
Node.js Версия 1.12.2 или более новая Ссылка

Использование TLS 1.2 с Центром Интернета вещей

Центр Интернета вещей можно настроить для связи с устройствами по протоколу TLS 1.2. Дополнительные сведения см. в статье Устаревшие протоколы TLS 1.0 и 1.1 для центра Интернета вещей.

Использование TLS 1.2 с IoT Edge

Устройства IoT Edge можно настроить для связи с Центром Интернета вещей и DPS по протоколу TLS 1.2. Дополнительные сведения см. на странице документации по IoT Edge.