TLS-támogatás Azure IoT Hub Device Provisioning Service (DPS) szolgáltatásban

A DPS Transport Layer Security (TLS) segítségével biztosítja az IoT-eszközökről származó kapcsolatokat.

A DPS által támogatott jelenlegi TLS protokollverziók a következőek:

  • TLS 1.2

A TLS 1.2 kapcsolatainak korlátozása

A biztonság érdekében javasolt úgy konfigurálni a DPS-példányokat, hogy csak a TLS 1.2-es verzióját használják az eszköz ügyfélkapcsolatai, és kényszerítve a javasolt átfók használatát.

Ehhez üzembe kell állítania egy új DPS-erőforrást, amely a tulajdonságot a következőre Azure Resource Manager a sablon minTlsVersion 1.2 DPS-erőforrásspecifikációiban. Az alábbi példasablon JSON-fájlja egy új minTlsVersion DPS-példány tulajdonságát határozza meg.

{
    "$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
            },
        }     
    ]
}

A sablont a következő Azure CLI-paranccsal helyezheti üzembe.

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

A DPS-erőforrások sablonokkal való létrehozásával kapcsolatos további Resource Manager lásd: A DPS beállítása Azure Resource Manager sablonnal.

Az ezzel a konfigurációval létrehozott DPS-erőforrás elutasítja a TLS 1.0-s és 1.1-es verziójával csatlakozni próbáló eszközöket. Hasonlóképpen, a TLS-kézfogás el lesz utasítani, ha az eszköz ügyfelének HELLO üzenete nem sorolja fel a javasolt ket.

Megjegyzés

A tulajdonság csak olvasható, és a DPS-erőforrás létrehozása után minTlsVersion nem módosítható. Ezért fontos, hogy megfelelően tesztelje és ellenőrizze, hogy az összes IoT-eszköz kompatibilis-e a TLS 1.2-es verzióval és a javasolt cipherekkel.

Megjegyzés

Feladatátvételek esetén a DPS tulajdonsága a feladatátvétel után is érvényben marad a földrajzi párosított minTlsVersion régióban.

Azok a DPS-példányok, amelyek csak a TLS 1.2 elfogadására vannak konfigurálva, a következő titkosítási csomagok használatát is kikényszeríteni fogják:

Ajánlott TLS 1.2-rejtjelcsomagok
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

Örökölt titkosítási csomagok

Ezek a titkosítási csomagok jelenleg még támogatottak a DPS-ben, de elamortációjuk lesz. Ha lehetséges, használja a fenti ajánlott titkosítási csomagokat.

Lehetőség #1 (nagyobb biztonság)
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)
Lehetőség #2 (jobb teljesítmény)
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)

A TLS 1.2 használata az IoT-SDK-kban

Az alábbi hivatkozásokat használva konfigurálhatja a TLS 1.2-t és az Azure IoT-ügyfélOLDALI ADATTK-kban engedélyezett ciphereket.

Nyelv A TLS 1.2-t támogató verziók Dokumentáció
C 2019-12-11 vagy újabb címke Link
Python 2.0.0-s vagy újabb verzió Link
C# 1.21.4-es vagy újabb verzió Link
Java 1.19.0-s vagy újabb verzió Link
NodeJS 1.12.2-es vagy újabb verzió Link

A TLS 1.2 használata IoT Hub

IoT Hub konfigurálható a TLS 1.2 használatára az eszközökkel való kommunikáció során. További információ: A TLS 1.0 és 1.1elavultként való IoT Hub.

A TLS 1.2 használata IoT Edge

IoT Edge eszköz konfigurálható úgy, hogy a TLS 1.2-t használja a IoT Hub DPS-sel való kommunikáció során. További információt a dokumentációs IoT Edge talál.