Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
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.
Feljegyzé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 .
Feljegyzé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_SHA384TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 |
Régi titkosítási csomagok
Ezeket a titkosítási csomagokat a DPS továbbra is támogatja, de elavulttá válik. Ha lehetséges, használja az 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).
Kiszolgálói TLS-tanúsítvány
A TLS-kézfogás során a DPS RSA-kulcsú kiszolgálótanúsítványokat mutat be az ügyfelek csatlakoztatásához. A globális Azure-felhő összes DPS-példánya a DigiCert Global Root G2 tanúsítvány által kiadott TLS-tanúsítványt használja.
Azt is javasoljuk, hogy vegye fel a Microsoft RSA Főtanúsítvány-szolgáltató 2017-tanúsítványokat az eszközeire, hogy megelőzze a digiCert global root G2 váratlan kivonását. Bár a legfelső szintű hitelesítésszolgáltató áttelepítése ritkán fordul elő, a modern biztonsági környezet rugalmassága érdekében elő kell készítenie az IoT-forgatókönyvet arra a valószínűtlen esetre, ha a legfelső szintű hitelesítésszolgáltató biztonsága sérül, vagy szükség van egy vészhelyzeti legfelső szintű hitelesítésszolgáltató migrálására.
Határozottan javasoljuk, hogy minden eszköz megbízhatónak minősítse a következő legfelső szintű hitelesítésszolgáltatókat:
- DigiCert Global G2 root CA
- Microsoft RSA root CA 2017
A tanúsítványok letöltésére mutató hivatkozásokért tekintse meg az Azure Tanúsítványszolgáltató adatait.
Tanúsítványmegbízhatóság az SDK-kban
Az Azure IoT-eszköz SDK-k csatlakoztatják és hitelesítik az eszközöket az Azure IoT-szolgáltatásokhoz. A különböző SDK-k különböző módon kezelik a tanúsítványokat a nyelvtől és a verziótól függően, de a legtöbben az eszköz megbízható tanúsítványtárolójára támaszkodnak ahelyett, hogy közvetlenül a kódbázisban rögzítenék a tanúsítványokat. Ez a megközelítés rugalmasságot és rugalmasságot biztosít a főtanúsítványok jövőbeni változásainak kezeléséhez.
Az alábbi táblázat összefoglalja, hogy mely SDK-verziók támogatják a megbízható tanúsítványtárolót:
| Azure IoT eszközoldali SDK | Támogatott verziók |
|---|---|
| C | Az összes jelenleg támogatott verzió |
| C# | Az összes jelenleg támogatott verzió |
| Java | 2.x.x és újabb verzió |
| Node.js | Az összes jelenleg támogatott verzió |
| Python | Az összes jelenleg támogatott verzió |
Tanúsítvány rögzítése
A DPS-végpontokhoz társított TLS-kiszolgálótanúsítványok (más néven levéltanúsítványok) és köztes tanúsítványok rögzítése és szűrése nem ajánlott, mivel a Microsoft gyakran kis vagy egyáltalán nem értesítés nélkül dobja ezeket a tanúsítványokat. Ha szükséges, csak a főtanúsítványokat rögzítse.
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.
| Nyelv | TLS 1.2-t támogató verziók | Dokumentáció |
|---|---|---|
| C | Címke 2019-12-11 vagy újabb | Láncszem |
| Python | 2.0.0-s vagy újabb verzió | Láncszem |
| C# | 1.21.4-es vagy újabb verzió | Láncszem |
| Java | 1.19.0-s vagy újabb verzió | Láncszem |
| Node.js | 1.12.2-es vagy újabb verzió | Láncszem |
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ó: IoT Hub TLS-kényszerítés.
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.