Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
IoT Hub používá k zabezpečení připojení ze zařízení a služeb IoT protokol TLS (Transport Layer Security).
Note
Azure IoT Hub ukončí podporu protokolu TLS 1.0 a 1.1 v souladu s oznámením o celé službě Azure pro vyřazeníprotokolu TLS 1.0 a 1.1 31. srpna 2025. IoT Hub navíc nebude podporovat slabé šifrovací sady od 31. srpna 2025. Pro stávající i nové ioT Huby se budou podporovat pouze doporučené silné šifrovací sady.
Proto je nezbytné správně otestovat a ověřit, že všechna vaše zařízení a služby IoT jsou kompatibilní s protokolem TLS 1.2 a doporučenými šifrováními předem. Důrazně doporučujeme použít minimální funkci vynucení protokolu TLS jako mechanismus pro testování a dodržování předpisů.
Important
Je důležité rozlišovat mezi podporou protokolu TLS 1.2 a vynucením protokolu TLS 1.2. Protokol TLS 1.2 je podporován ve všech ioT Hubech, což znamená, že IoT Hubs dokáže zpracovávat připojení pomocí protokolu TLS 1.2. Na druhou stranu vynucení protokolu TLS 1.2 zajišťuje, že IoT Hub přijímá pouze připojení pomocí protokolu TLS 1.2 nebo vyšší. Pokud je povolené vynucování protokolu TLS 1.2, služba také vynucuje použití silných šifrovacích sad.
V současné době se vynucení protokolu TLS 1.2 podporuje jenom v oblastech veřejného cloudu.
Informace o verzi protokolu TLS, na kterých běží vaše zařízení IoT Hubu, najdete v průvodci ukončením podpory tls 1.0 a 1.1.
Vzájemná podpora protokolu TLS
Vzájemné ověřování TLS zajišťuje, že klient ověřuje certifikát serveru (IoT Hub) a server (IoT Hub) ověřuje klienta pomocí klientského certifikátu X.509 nebo kryptografického otisku X.509. IoT Hub provádí autorizaci po dokončení ověřování .
V případě protokolů AMQP (Advanced Message Queuing Protocol) a MQTT (Message Queuing Telemetry Transport) služba IoT Hub vyžádá klientský certifikát v počátečním protokolu TLS handshake. Pokud je k dispozici, Služba IoT Hub ověří klientský certifikát a klient ověří certifikát služby IoT Hub. Tento proces se nazývá vzájemné ověřování TLS. Když IoT Hub obdrží paket připojení MQTT nebo se otevře propojení AMQP, Služba IoT Hub provede autorizaci pro žádajícího klienta a určí, jestli klient vyžaduje ověření X.509. Pokud bylo dokončeno vzájemné ověřování TLS a klient má oprávnění připojit se jako zařízení, je povoleno. Pokud ale klient vyžaduje ověřování X.509 a během metody handshake protokolu TLS se ověření klienta nedokončilo, Služba IoT Hub připojení odmítne.
Když klient provede první požadavek protokolu HTTP, Služba IoT Hub zkontroluje, jestli klient vyžaduje ověřování X.509, a pokud bylo ověření klienta dokončeno, služba IoT Hub provede autorizaci. Pokud se ověření klienta nedokončí, IoT Hub připojení odmítne.
Po úspěšném handshake protokolu TLS může IoT Hub ověřit zařízení pomocí symetrického klíče nebo certifikátu X.509. Pro ověřování na základě certifikátu služba IoT Hub ověří certifikát proti kryptografickému otisku nebo certifikační autoritě, kterou zadáte. Další informace najdete v tématu Ověřování identit pomocí certifikátů X.509.
Certifikát TLS serveru služby IoT Hub
Během TLS handshaku IoT Hub prezentuje serverové certifikáty s RSA klíči připojeným klientům. Všechna centra IoT v globálním cloudu Azure používají certifikát TLS vydaný globálním kořenovým adresářem DigiCert G2.
Důrazně doporučujeme, aby všechna zařízení důvěřovala následujícím třem kořenovým certifikačním autoritám:
- Kořenová certifikační autorita DigiCert Global G2
- Kořenová certifikační autorita Microsoft RSA 2017
Odkazy na stažení těchto certifikátů najdete v podrobnostech certifikační autority Azure.
Migrace kořenové certifikační autority jsou vzácné. IoT řešení byste měli vždy připravit na nepravděpodobnou událost, že dojde ke kompromitaci kořenové certifikační autority a je nutná migrace kořenové certifikační autority v případě nouze.
Šifrovací sady
Od 31. srpna 2025 služba IoT Hub vynucuje použití doporučených sad silné šifry pro všechny stávající a nové ioT Huby. Nedoporučují se (slabé) šifrovací sady po tomto datu.
Aby služba IoT Hub dodržovala zásady zabezpečení Azure pro zabezpečené připojení, podporuje pouze následující šifrovací sady RSA a 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
Šifrovací sady ECDSA jsou dostupné jenom v oblastech veřejného cloudu.
Následující nedoporučující šifrovací sady jsou povoleny v centrech bez minTlsVersion:1.2 až do 31. srpna 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
Klient může navrhnout seznam vyšších šifrovacích sad, které se mají použít během ClientHello. IoT Hub ale nemusí některé z nich podporovat, ECDHE-ECDSA-AES256-GCM-SHA384například . V tomto případě se IoT Hub pokusí sledovat preferenci klienta, ale nakonec vyjedná šifrovací sadu s ServerHello.
Note
Při použití šifry ECDSA nebo ECDHE musí klient poskytnout rozšíření supported_groups v ClientHello s platnou skupinou. Při připojování pomocí klientského certifikátu musí klient zahrnout křivku použitou v daném klientském certifikátu v jeho supported_groups rozšíření.
Aktualizace podpory ioT Hubu na TLS 1.2
Po vytvoření IoT Hubu lze vlastnost minTlsVersion aktualizovat pomocí Azure Portalu, příkazového řádku nebo sad SDK. Pokud potřebujete vynutit, aby služba IoT Hub používala protokol TLS 1.2 a silné šifrovací sady (povolené pouze ve vybraných oblastech) nebo nastavili podporu protokolu TLS 1.2 (podporovanou ve všech oblastech), můžete to provést podle těchto kroků.
Aktualizace IoT Hubu pro podporu protokolu TLS 1.2 nebo vynucení silných šifrovacích sad na webu Azure Portal:
Na webu Azure Portal přejděte ke stávající službě IoT Hub.
Na kartě Přehled v nabídce vlevo klikněte na odkaz Minimální verze protokolu TLS v části Základy.
V okně minimální verze protokolu TLS vyberte 1.2 , abyste měli jistotu, že se můžou připojit jenom zařízení podporující protokol TLS 1.2 nebo vyšší.
Klikněte na Update.
Note
IoT Hub můžete aktualizovat na TLS 1.2 ve všech oblastech veřejného cloudu.
Vynucení používání TLS 1.2 a silných šifrovacích sad v IoT Hubu
Pokud chcete zajistit, aby vaše zařízení IoT používala protokol TLS 1.2 a dodržování předpisů se silnými šifrovacími sadami , můžete dodržování předpisů vynutit pomocí minimální funkce vynucení protokolu TLS ve službě Azure IoT Hub.
Note
V současné době je tato funkce dostupná jenom v oblastech veřejného cloudu.
Pro povolení prosazení TLS 1.2 a silných šifrovacích sad v Azure portálu:
Na webu Azure Portal přejděte do průvodce vytvořením služby IoT Hub.
Ze seznamu podporovaných oblastí vyberte oblast .
V části Správa –> Advanced –> Tls (Transport Layer Security) –> Minimální verze protokolu TLS vyberte 1.2. Toto nastavení se zobrazí jenom pro centrum IoT vytvořené v podporované oblasti.
Vyberte Vytvořit
Připojte zařízení IoT k tomuto IoT Hubu.
Pokud chcete k vytvoření použít šablonu ARM, zřiďte novou službu IoT Hub v libovolné z podporovaných oblastí a nastavte minTlsVersion vlastnost na 1.2 specifikaci prostředku:
{
"$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
}
}
]
}
Vytvořený prostředek ioT Hubu pomocí této konfigurace odmítne klienty zařízení a služeb, kteří se pokusí připojit pomocí protokolu TLS verze 1.0 a 1.1. Podobně se metoda handshake protokolu TLS odmítne, pokud ClientHello zpráva nevypíše žádné doporučené šifry.
Note
Po převzetí služeb při selhání zůstává vlastnost IoT Hubu platná v geograficky spárované oblasti.
Kontrola verzí protokolu TLS a šifrovacích sad pro zařízení IoT Hubu
Azure IoT Hub poskytuje možnost zkontrolovat verzi protokolu TLS, šifrovací sady a další metriky připojení zařízení, které pomáhají monitorovat zabezpečení zařízení IoT. Metriky služby IoT Hub nebo diagnostické protokoly můžete použít ke sledování využití verzí protokolu TLS a dalších souvisejících vlastností, jako je Cipher Suites.
Note
V současné době je tato funkce dostupná jenom v oblastech veřejného cloudu.
Kontrola verzí protokolu TLS a šifrovacích sad s využitím metrik IoT Hubu
Pokud chcete ověřit, že provoz zařízení do služby IoT Hub využívá TLSv1.2 a silné šifrovací sady, můžete zkontrolovat metriky služby IoT Hub. To umožňuje filtrovat podle verze protokolu TLS nebo sady šifer a zkontrolovat počet úspěšných připojení.
Na webu Azure Portal přejděte do centra IoT.
V nabídce vlevo v části Monitorování vyberte Metriky.
Přidejte metriku Úspěšná připojení.
Filtrovat podle verze protokolu TLS nebo sady šifer vyberte tlačítko Přidat filtr a zvolte odpovídající vlastnost, verzi protokolu TLS nebo šifrovací sadu, operátor, například "=" a hodnotu, například TLSv1.2.
Po použití filtru se zobrazí součet zařízení s úspěšnými připojeními ioT Hubu na základě filtrované vlastnosti a hodnot.
Kontrola verzí protokolu TLS a šifrovacích sad pomocí diagnostických protokolů služby IoT Hub
Azure IoT Hub může poskytovat diagnostické protokoly pro několik kategorií, které je možné analyzovat pomocí protokolů služby Azure Monitor. V protokolu připojení najdete verzi protokolu TLS a sadu šifer pro vaše zařízení IoT Hubu.
Pokud chcete zobrazit tyto protokoly, postupujte takto:
Na webu Azure Portal přejděte do centra IoT.
V nabídce na levé straně v části Monitorování vyberte Nastavení diagnostiky. Ujistěte se, že v nastavení diagnostiky je zaškrtnutá položka „Připojení“.
V nabídce na levé straně v části Monitorování vyberte Protokoly.
Zadejte následující dotaz:
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.tlsVersionPříklad výsledků dotazu vypadá takto:
Note
Dotaz na verzi protokolu TLS není k dispozici pro zařízení používající připojení HTTPS.
Konfigurace TLS pro SDK a IoT Edge
Pomocí následujících odkazů nakonfigurujte protokol TLS 1.2 a povolené šifry v klientských sadách SDK služby IoT Hub.
| Jazyk | Verze podporující protokol TLS 1.2 | Documentation |
|---|---|---|
| C | Značka 2019-12-11 nebo novější | Link |
| Python | Verze 2.0.0 nebo novější | Link |
| jazyk C# | Verze 1.21.4 nebo novější | Link |
| Java | Verze 1.19.0 nebo novější | Link |
| Node.js | Verze 1.12.2 nebo novější | Link |
Zařízení IoT Edge je možné nakonfigurovat tak, aby při komunikaci se službou IoT Hub používala protokol TLS 1.2. K tomuto účelu použijte stránku dokumentace k IoT Edge.
Certifikát TLS serveru ECC (Elliptic Curve Cryptography)
I když nabízí podobné zabezpečení jako certifikáty RSA, ověřování certifikátů ECC (s šifrovacími sadami pouze ECC) využívá až 40 % méně výpočetních prostředků, paměti a šířky pásma. Tyto úspory jsou pro zařízení IoT důležité kvůli menším profilům a paměti a k podpoře případů použití v prostředích s omezenou šířkou pásma sítě.
Použití certifikátu serveru ECC služby IoT Hub:
- Ujistěte se, že všechna zařízení důvěřují následujícím kořenovým certifikačním autoritám:
- Kořenová certifikační autorita DigiCert Global G2
- Kořenová certifikační autorita Microsoft RSA 2017
-
Nakonfigurujte klienta tak, aby zahrnoval pouze šifrovací sady ECDSA a vyloučil všechny sady RSA. Toto jsou podporované šifrovací sady pro certifikát 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
- Připojte klienta k centru IoT.
Note
V současné době je tato funkce dostupná jenom v oblastech veřejného cloudu.
Vyjednávání maximální délky fragmentu protokolu TLS
IoT Hub také podporuje vyjednávání maximální délky fragmentů protokolu TLS, které se někdy označuje jako vyjednávání velikosti rámce TLS. Tato funkce je ve verzi Public Preview.
Tato funkce slouží k určení maximální délky fragmentu prostého textu na hodnotu menší než výchozích 2^14 bajtů. Jakmile vyjednáte, IoT Hub a klient začnou fragmentovat zprávy, aby se zajistilo, že všechny fragmenty jsou menší než vyjednaná délka. Toto chování je užitečné pro výpočetní nebo paměť omezená zařízení. Další informace najdete v oficiální specifikaci rozšíření TLS.
Oficiální podpora sady SDK pro tuto funkci Public Preview ještě není dostupná. Začínáme
- Vytvořit IoT Hub.
- Při použití OpenSSL zavolejte SSL_CTX_set_tlsext_max_fragment_length určit velikost fragmentu.
- Připojte klienta ke službě IoT Hub.
Note
V současné době je tato funkce dostupná jenom v oblastech veřejného cloudu.
Připnutí certifikátu
Připnutí a filtrování certifikátů serveru TLS a zprostředkujících certifikátů přidružených ke koncovým bodům služby IoT Hub se důrazně nedoporučuje, protože Microsoft tyto certifikáty často zahrnuje s minimálním nebo žádným upozorněním. Kořenové certifikáty připínejte, jak je popsáno v tomto článku Azure IoT, pokud je to nutné.
Další kroky
- Další informace o zabezpečení a řízení přístupu služby IoT Hub najdete v tématu Řízení přístupu ke službě IoT Hub.
- Další informace o použití certifikátu X509 pro ověřování zařízení najdete v tématu Ověřování zařízení pomocí certifikátů certifikační autority X.509.