TLS-támogatás az Azure IoT Hub Device Provisioning Service-ben (DPS)
A DPS a Transport Layer Security (TLS) használatával védi az IoT-eszközökről érkező kapcsolatokat.
A DPS által támogatott jelenlegi TLS protokollverziók a következők:
- TLS 1.2
Kapcsolatok korlátozása minimális TLS-verzióra
A DPS-példányokat úgy konfigurálhatja, hogy csak olyan eszközügyfél-kapcsolatokat engedélyezzenek, amelyek legalább TLS-verziót használnak.
Fontos
A DPS jelenleg csak a TLS 1.2-t támogatja, ezért DPS-példány létrehozásakor nem kell megadni a minimális TLS-verziót. Ez a funkció a jövőbeli bővítéshez érhető el.
Ehhez ki kell építenie egy új DPS-erőforrást, amely a tulajdonságot 1.2
az minTlsVersion
Azure Resource Manager-sablon DPS-erőforrás-specifikációjában állítja be. Az alábbi JSON-példasablon egy új DPS-példány tulajdonságát minTlsVersion
adja 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 az alábbi Azure CLI-paranccsal helyezheti üzembe.
az deployment group create -g <your resource group name> --template-file template.json
További információ a DPS-erőforrások Resource Manager-sablonokkal való létrehozásáról: A DPS beállítása Azure Resource Manager-sablonnal.
Az ezzel a konfigurációval létrehozott DPS-erőforrás elutasítja azokat az eszközöket, amelyek TLS 1.0 és 1.1 verzióval próbálnak csatlakozni.
Megjegyzés:
A minTlsVersion
tulajdonság írásvédett, és a DPS-erőforrás létrehozása után nem módosítható. Ezért elengedhetetlen, hogy megfelelően tesztelje és ellenőrizze, hogy az összes IoT-eszköz kompatibilis-e a TLS 1.2-vel és az ajánlott rejtjelekkel .
Megjegyzés:
Feladatátvételkor a minTlsVersion
DPS tulajdonsága a feladatátvétel utáni geopáros régióban is érvényes marad.
Ajánlott titkosítások
A DPS-példányok az alábbi ajánlott és örökölt titkosítási csomagok használatát kényszerítik ki:
Ajánlott TLS 1.2 titkosítási csomagok |
---|
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égi titkosítási csomagok
Ezeket a titkosítási csomagokat a DPS jelenleg is támogatja, de elavulttá válik. Ha lehetséges, használja a fenti ajánlott titkosítási csomagokat.
1. lehetőség (jobb 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) |
2. lehetőség (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) |
Kölcsönös TLS-támogatás
Ha a DPS-regisztrációk X.509-hitelesítéshez vannak konfigurálva, a DPS támogatja a kölcsönös TLS-t (mTLS).
Tanúsítvány rögzítése
A TLS-kiszolgálótanúsítványok (más néven levéltanúsítványok) és a DPS-végpontokhoz társított köztes tanúsítványok tanúsítványrögzítését és szűrését erősen elriasztja a Microsoft, mivel a Microsoft ezeket a tanúsítványokat gyakran kis vagy egyáltalán nem értesítés nélkül dobja be. Ha szükséges, csak a főtanúsítványokat rögzítse az Azure IoT-blogbejegyzésben leírtak szerint.
TLS 1.2 használata az IoT SDK-kban
Az alábbi hivatkozások segítségével konfigurálhatja a TLS 1.2-t és az engedélyezett titkosításokat az Azure IoT ügyféloldali SDK-kban.
Language | TLS 1.2-t támogató verziók | Dokumentáció |
---|---|---|
C# | Címke 2019-12-11 vagy újabb | 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 az IoT Hubbal
Az IoT Hub konfigurálható a TLS 1.2 használatára az eszközökkel való kommunikáció során. További információ: TLS 1.0 és 1.1 az IoT Hubhoz.
A TLS 1.2 használata az IoT Edge-lel
Az IoT Edge-eszközök úgy konfigurálhatók, hogy a TLS 1.2-t használják az IoT Hubbal és a DPS-vel való kommunikáció során. További információt az IoT Edge dokumentációs oldalán talál.