Sdílet prostřednictvím


Ověřování identit pomocí certifikátů X.509

IoT Hub používá k ověřování zařízení certifikáty X.509. Ověřování X.509 umožňuje ověřování zařízení IoT jako součást standardního zřízení připojení TLS (Transport Layer Security).

Certifikát certifikační autority (CA) X.509 je digitální certifikát, který může podepisovat jiné certifikáty. Digitální certifikát je považován za certifikát X.509, pokud odpovídá standardu formátování certifikátu předepsanému standardem RFC 5280 IETF.

Funkce certifikační autority X.509 umožňuje ověřování zařízení ve službě IoT Hub pomocí certifikační autority (CA). Zjednodušuje počáteční proces registrace zařízení a logistiku dodavatelského řetězce během výroby zařízení.

Ověřování a autorizace

Ověřování je proces prokázání toho, že jste tím, kdo říkáte. Ověřování ověřuje identitu uživatele nebo zařízení ve službě IoT Hub. Někdy se zkracuje na AuthN.

Autorizace je proces potvrzení oprávnění pro ověřeného uživatele nebo zařízení ve službě IoT Hub. Určuje, k jakým prostředkům a příkazům máte povolený přístup a co můžete s těmito prostředky a příkazy dělat. Autorizace se někdy zkracuje na AuthZ.

Certifikáty X.509 se používají jenom k ověřování ve službě IoT Hub, nikoli k autorizaci. Na rozdíl od ID Microsoft Entra a sdílených přístupových podpisů nemůžete přizpůsobit oprávnění pomocí certifikátů X.509.

Typy ověřování certifikátů

K ověření zařízení ve službě IoT Hub můžete použít libovolný certifikát X.509 tak, že nahrajete kryptografický otisk certifikátu nebo certifikační autoritu (CA) do IoT Hubu.

  • Certifikační autorita X.509 podepsaná - touto možností se doporučuje pro produkční scénáře a je zaměřená na tento článek.

    Pokud má vaše zařízení certifikát X.509 podepsaný certifikační autoritou, nahrajete kořenový nebo zprostředkující certifikát certifikační autority do služby IoT Hub před registrací zařízení. Zařízení má certifikát X.509 s ověřenou certifikační autoritou X.509 ve svém řetězu certifikátů důvěryhodnosti. Když se zařízení připojí, zobrazí úplný řetěz certifikátů a Centrum IoT ho může ověřit, protože zná certifikační autoritu X.509. Více zařízení se může ověřit u stejné ověřené certifikační autority X.509.

  • X.509 podepsané svým držitelem

    Pokud má vaše zařízení certifikát X.509 podepsaný svým držitelem, dáte službě IoT Hub verzi certifikátu pro ověření. Při registraci zařízení nahrajete kryptografický otisk certifikátu, což je hodnota hash certifikátu X.509 zařízení. Když se zařízení připojí, zobrazí svůj certifikát a centrum IoT ho může ověřit proti hodnotě hash, které zná.

Důležité

Následující funkce pro zařízení, která používají ověřování certifikační autority (CA) X.509, ještě není všeobecně dostupná a musí být povolený režim Preview:

  • HTTPS, MQTT přes WebSockets a AMQP přes protokoly WebSockets.
  • Nahrávání souborů (všechny protokoly)

Tyto funkce jsou obecně dostupné na zařízeních, která používají ověřování kryptografického otisku X.509.

Vynucení ověřování X.509

Kvůli dodatečnému zabezpečení je možné centrum IoT nakonfigurovat tak, aby nepovolovaly ověřování SAS pro zařízení a moduly, takže X.509 je jediná akceptovaná možnost ověřování. V současné době tato funkce není dostupná na webu Azure Portal. Pokud chcete konfigurovat, nastavte a disableModuleSAS nastavte disableDeviceSAStrue vlastnosti prostředku IoT Hubu:

az resource update -n <iothubName> -g <resourceGroupName> --resource-type Microsoft.Devices/IotHubs --set properties.disableDeviceSAS=true properties.disableModuleSAS=true

Výhody ověřování certifikátů certifikační autority X.509

IoT vyžaduje jedinečnou identitu pro každé zařízení, které se připojuje. Pro ověřování na základě certifikátů jsou tyto identity ve formě certifikátů.

Platným, ale neefektivním způsobem poskytnutí jedinečného certifikátu na každém zařízení je předgenerovat certifikáty a poskytnout všem partnerům dodavatelského řetězce odpovídající privátní klíče. Tato metoda přináší výzvy, které je potřeba překonat, aby se zajistila důvěryhodnost, a to následujícím způsobem:

  • Když budete muset sdílet soukromé klíče zařízení s partnery dodavatelského řetězce, kromě ignorování osvědčených postupů infrastruktury veřejných klíčů, které nikdy nesdílí soukromé klíče, je budování důvěry v dodavatelském řetězci nákladné. Vyžaduje systémy, jako jsou zabezpečené místnosti pro správu privátních klíčů zařízení a procesů, jako jsou pravidelné audity zabezpečení. Oba přidávají náklady do dodavatelského řetězce.

  • Bezpečné účtování zařízení v dodavatelském řetězci a jejich pozdější správa v nasazení prostřednictvím vyřazení zařízení se stane úkolem 1:1 pro každý pár klíč-zařízení. Tento vztah vylučuje správu skupin zařízení, pokud není koncept skupin explicitně integrovaný do procesu. Zabezpečení účetnictví a správy životního cyklu zařízení se proto stává náročným provozním zatížením.

Ověřování certifikátů certifikační autority X.509 nabízí elegantní řešení těchto problémů pomocí řetězů certifikátů. Řetěz certifikátů vyplývá z certifikační autority, která podepíše zprostředkující certifikační autoritu, která pak podepíše jinou zprostředkující certifikační autoritu, a tak dále, dokud konečná zprostředkující certifikační autorita podepíše zařízení. Řetězy certifikátů vytvářejí vztah 1:N mezi certifikátem certifikační autority a jeho podřízenými zařízeními. Tento vztah umožňuje registrovat libovolný počet zařízení do IoT Hubu tak, že jednou zaregistruje certifikát certifikační autority X.509.

Ověřování ca X.509 také zjednodušuje logistiku dodavatelského řetězce. Typický tok výroby zařízení zahrnuje několik kroků a správců. Pomocí certifikačních autorit můžete každý správce podepsat do kryptografického řetězce důvěryhodnosti, a nesvěřovat je soukromými klíči zařízení. Každý custodian podepíše zařízení v příslušném kroku výrobního toku. Celkový výsledek je optimální dodavatelský řetězec s integrovanou odpovědností prostřednictvím kryptografického řetězce důvěryhodnosti.

Tento proces poskytuje nejvyšší zabezpečení, když zařízení chrání své jedinečné privátní klíče. K tomuto účelu doporučujeme používat moduly hardwarového zabezpečení (HSM) schopné interně generovat privátní klíče.

Služba Azure IoT Hub Device Provisioning Service (DPS) usnadňuje zřizování skupin zařízení do center. Další informace najdete v tématu Kurz: Zřízení více zařízení X.509 pomocí skupin registrací.

Tok certifikátu X.509

Tato část popisuje, jak používat certifikáty certifikační autority X.509 k ověřování zařízení připojujících se ke službě IoT Hub, což zahrnuje následující kroky:

  • Získejte certifikát certifikační autority X.509.
  • Podepište zařízení pomocí certifikátů certifikační autority X.509.
  • Zaregistrujte certifikát certifikační autority X.509 do služby IoT Hub.
  • Ověřte zařízení podepsaná pomocí certifikačních autorit X.509.
  • Pokud dojde k ohrožení zabezpečení certifikátu zařízení, odvolejte ho.

Získání certifikátu certifikační autority X.509

Certifikát certifikační autority X.509 je nejvyšší řetěz certifikátů pro každé zařízení. Můžete si ho koupit nebo vytvořit podle toho, jak ho máte v úmyslu používat.

V produkčních prostředích doporučujeme zakoupit certifikát certifikační autority X.509 od profesionálního poskytovatele certifikačních služeb.

Můžete také vytvořit certifikát certifikační autority X.509 podepsaný svým držitelem pro účely testování. Další informace o vytváření certifikátů pro testování najdete v tématu Vytvoření a nahrání certifikátů pro testování. Nedoporučujeme certifikáty podepsané svým držitelem pro produkční prostředí.

Bez ohledu na to, jak certifikát certifikační autority X.509 získáte, nezapomeňte vždy zachovat odpovídající tajný klíč privátního klíče a chránit ho.

Zakoupení certifikátu

Nákup certifikátu certifikační autority má výhodu, že dobře známá kořenová certifikační autorita funguje jako důvěryhodná třetí strana, aby se při připojování zařízení vyplatila kvůli důvěryhodnosti zařízení IoT. Tuto možnost zvolte, pokud vaše zařízení jsou součástí otevřené sítě IoT, ve které komunikují s produkty nebo službami třetích stran.

Pokud chcete koupit certifikát certifikační autority X.509, zvolte poskytovatele kořenové služby certifikátů. Poskytovatel kořenové certifikační autority vás provede vytvořením páru veřejného a privátního klíče a jak vygenerovat žádost o podepsání certifikátu (CSR) pro své služby. CSR je formální proces žádosti o certifikát od certifikační autority. Výsledkem tohoto nákupu je certifikát pro použití jako certifikát autority. Vzhledem k všudypřítomnosti certifikátů X.509 bude certifikát pravděpodobně správně naformátován na standard RFC 5280 IETF.

Vytvoření certifikátu podepsaného jeho držitelem (self-signed certificate)

Proces vytvoření certifikátu certifikační autority podepsaného svým držitelem (self-signed X.509) se podobá nákupu certifikátu, s tím rozdílem, že nezahrnuje podepisujícího třetí strany, jako je kořenová certifikační autorita.

Tuto možnost můžete zvolit pro testování, dokud nebudete připravení koupit certifikát autority. Certifikát certifikační autority X.509 podepsaný svým držitelem můžete použít také v produkčním prostředí, pokud se vaše zařízení nepřipojují k žádným službám třetích stran mimo IoT Hub.

Přihlášení zařízení do řetězu certifikátů důvěryhodnosti

Vlastník certifikátu certifikační autority X.509 může kryptograficky podepsat zprostředkující certifikační autoritu, která může zase podepsat jinou zprostředkující certifikační autoritu atd. až do doby, než poslední zprostředkující certifikační autorita podepíše certifikát zařízení. Výsledkem je kaskádový řetězec certifikátů, který se označuje jako řetěz certifikátů důvěryhodnosti. Toto delegování důvěryhodnosti je důležité, protože vytváří řetěz opatrovnictví a zabraňuje sdílení podpisových klíčů.

Tato kaskáda certifikátů v řetězci představuje logickou předání autority. Řada dodavatelských řetězců se řídí tímto logickým předáním, kdy se každá zprostředkující certifikační autorita přihlásí ke řetězu při přijímání všech nadřazených certifikátů certifikační autority. Poslední zprostředkující certifikační autorita nakonec podepíše každé zařízení a vloží do zařízení všechny certifikáty autority z řetězu.

Diagram znázorňující certifikáty v řetězu důvěryhodnosti

Certifikát zařízení (označovaný také jako listový certifikát) musí mít svůj běžný název (CN) nastavený na ID zařízení (CN=deviceId), které se používá při registraci zařízení IoT v Azure IoT Hubu. Toto nastavení se vyžaduje pro ověřování.

Pro moduly používající ověřování X.509 musí mít certifikát modulu běžný název (CN) formátovaný jako CN=deviceId/moduleId.

Zjistěte, jak vytvořit řetěz certifikátů, jak se provádí při podepisování zařízení.

Registrace certifikátu certifikační autority X.509 do IoT Hubu

Zaregistrujte si certifikát certifikační autority X.509 do služby IoT Hub, který ho používá k ověření vašich zařízení. Certifikát certifikační autority X.509 může ověřit jakékoli zařízení, které má certifikační autoritu ve svém řetězu certifikátů důvěryhodnosti. Registrace certifikátu certifikační autority X.509 je dvoustupňový proces, který zahrnuje nahrání souboru certifikátu a následný důkaz o vlastnictví.

Proces nahrávání zahrnuje nahrání souboru, který obsahuje váš certifikát. Tento soubor by nikdy neměl obsahovat žádné privátní klíče.

Důkaz o vlastnictví zahrnuje kryptografický proces a proces odezvy mezi vámi a Službou IoT Hub, abyste ověřili, že certifikát certifikační autority skutečně vlastníte. Vlastnictví můžete automaticky nebo ručně ověřit. Pro ruční ověření ioT Hub vygeneruje náhodný úkol, který podepíšete privátním klíčem certifikátu certifikační autority. Pokud jste tajný klíč privátního klíče zachovali a chránili podle doporučení, pak k dokončení tohoto kroku máte pouze znalosti. Tajemství privátních klíčů je zdrojem důvěryhodnosti v této metodě. Po podepsání výzvy nahrajete soubor obsahující výsledky pro dokončení ověření.

Zjistěte, jak zaregistrovat certifikát certifikační autority.

Ověřování zařízení podepsaných certifikáty certifikační autority X.509

S certifikátem certifikační autority X.509 zaregistrovaným a zařízením podepsaným řetězem certifikátů důvěryhodnosti je posledním krokem ověření zařízení. Když se zařízení podepsané certifikační autoritou X.509 připojí, nahraje řetěz certifikátů pro ověření. Pomocí těchto informací služba IoT Hub ověřuje zařízení ve dvou krocích.

Nejprve služba IoT Hub kryptograficky ověří řetěz certifikátů pro interní konzistenci. IoT Hub pak vydá výzvu k ověření vlastnictví zařízení. IoT Hub deklaruje, že zařízení je v úspěšné odpovědi na ověření vlastnictví zařízení. Tato deklarace předpokládá, že privátní klíč zařízení je chráněný a že na tento problém může úspěšně reagovat pouze zařízení. K ochraně privátních klíčů doporučujeme používat zabezpečené čipy, jako jsou hardwarové zabezpečené moduly (HSM).

Úspěšné připojení zařízení ke službě IoT Hub dokončí proces ověřování a také značí správné nastavení. Pokaždé, když se zařízení připojí, IoT Hub znovu vyjedná relaci TLS a ověří certifikát X.509 zařízení.

Odvolání certifikátu zařízení

IoT Hub nekontroluje seznamy odvolaných certifikátů od certifikační autority při ověřování zařízení pomocí ověřování pomocí certifikátů. Pokud máte zařízení, které je potřeba zablokovat v připojení ke službě IoT Hub kvůli potenciálně napadenému certifikátu, zakažte zařízení v registru identit. Další informace najdete v tématu Zakázání nebo odstranění zařízení.

Ukázkový scénář

Společnost-X vyrábí smart-X-Widgety, které jsou navržené pro profesionální instalaci. Společnost X zajišťuje výrobu i instalaci. Factory-Y vyrábí smart-X-widgety a technic-Z je nainstaluje. Společnost X chce, aby se smart-X-Widget odeslal přímo ze služby Factory-Y do technic-Z pro instalaci a pak se připojil přímo k instanci IoT Hubu společnosti X. Aby k tomu došlo, musí společnost Company-X dokončit několik jednorázových operací nastavení pro přípravu widgetu Smart-X na automatické připojení. Tento kompletní scénář zahrnuje následující kroky:

  1. Získání certifikátu certifikační autority X.509

  2. Registrace certifikátu certifikační autority X.509 do IoT Hubu

  3. Přihlášení zařízení do řetězu certifikátů důvěryhodnosti

  4. Připojení zařízení

Tyto kroky jsou demonstrované v kurzu: Vytvoření a nahrání certifikátů pro testování.

Získání certifikátu

Společnost X si může buď koupit certifikát certifikační autority X.509 od veřejné kořenové certifikační autority, nebo ho vytvořit prostřednictvím procesu podepsaného svým držitelem. Obě možnosti zahrnují dva základní kroky: vygenerování páru veřejného a privátního klíče a podepsání veřejného klíče do certifikátu.

Podrobnosti o tom, jak tyto kroky provést, se liší u různých poskytovatelů služeb.

Diagram znázorňující tok pro generování certifikátu certifikační autority X.509

Registrace certifikátu do Služby IoT Hub

Společnost X musí zaregistrovat certifikační autoritu X.509 do služby IoT Hub, kde slouží k ověřování widgetů Smart-X při jejich připojení. Tento jednorázový proces umožňuje ověřovat a spravovat libovolný počet zařízení Smart-X-Widget. Vztah 1:N mezi certifikáty certifikační autority a certifikáty zařízení je jednou z hlavních výhod použití metody ověřování certifikační autority X.509. Alternativou by bylo nahrát jednotlivé kryptografické otisky certifikátů pro každé zařízení Smart-X-Widget, což by se přidalo k provozním nákladům.

Registrace certifikátu certifikační autority X.509 je dvoustupňový proces: nahrajte certifikát a pak poskytněte doklad o vlastnictví.

Diagram znázorňující tok procesu pro registraci certifikátu certifikační autority X.509

Nahrání certifikátu

Proces nahrání certifikátu certifikační autority X.509 spočívá v tom, že nahrajete certifikát certifikační autority do služby IoT Hub. IoT Hub očekává certifikát v souboru.

Soubor certifikátu nesmí za žádných okolností obsahovat žádné privátní klíče. Osvědčené postupy ze standardů, které řídí infrastrukturu veřejných klíčů (PKI), vyžadují, aby znalost privátního klíče společnosti X byla umístěna výhradně v rámci společnosti X.

Prokázat vlastnictví

Certifikát certifikační autority X.509, stejně jako jakýkoli digitální certifikát, je veřejné informace, které jsou náchylné k odposlouchávání. Jako takový by mohl odposlouchávání zachycovat certifikát a pokusit se ho nahrát jako vlastní. V našem příkladu musí Služba IoT Hub zajistit, aby certifikát certifikační autority Company-X nahraný skutečně patří společnosti Company-X. To dělá tak, že společnost-X vyzkouží, aby prokázala, že certifikát vlastní prostřednictvím toku důkazu o vlastnictví (PoP).

Pro tok ověření vlastnictví ioT Hub vygeneruje náhodné číslo, které společnost-X podepíše pomocí svého privátního klíče. Pokud společnost Company-X dodržovala osvědčené postupy infrastruktury veřejných klíčů a chránila svůj privátní klíč, pak by mohla správně reagovat na výzvu důkazu o vlastnictví. IoT Hub pokračuje v registraci certifikátu certifikační autority X.509 po úspěšné reakci na výzvu důkazu o vlastnictví.

Úspěšná odpověď na výzvu ověření vlastnictví ze služby IoT Hub dokončí registraci certifikační autority X.509.

Přihlášení zařízení do řetězu certifikátů důvěryhodnosti

V našem příkladu ověřování na základě certifikátů znamená, že každý widget Smart-X musí mít jedinečný certifikát zařízení. Místo vytváření jednotlivých párů certifikátů a klíčů pro každé zařízení se společnost Company-X rozhodne používat certifikáty certifikační autority a vytvořit řetěz certifikátů důvěryhodnosti pro každé zařízení.

V našem příkladu společnost X podepisuje Factory-Y, což zase podepíše Technik-Z, který nakonec podepíše Smart-X-Widget.

Diagram znázorňující příklad hierarchie řetězu certifikátů

Následující diagram znázorňuje, jak se řetěz certifikátů důvěryhodnosti spojuje v našem příkladu Smart-X-Widget.

Diagram znázorňující řetěz certifikátů důvěryhodnosti z certifikátů jedné společnosti k certifikátům jiné společnosti

  1. Společnost X nikdy fyzicky nekomuaguje s žádným z widgetů Smart-X. Iniciuje řetěz certifikátů důvěryhodnosti podepsáním certifikátu zprostředkující certifikační autority factory-Y.
  2. Factory-Y teď má vlastní zprostředkující certifikát certifikační autority s podpisem od společnosti X. Předává kopie těchto položek do každého zařízení. Používá také zprostředkující certifikát certifikační autority k podepsání certifikátu zprostředkující certifikační autority technic-Z a certifikátů zařízení Smart-X-Widget.
  3. Technik-Z teď má vlastní certifikát zprostředkující certifikační autority s podpisem od Factory-Y. Předává kopie těchto položek do každého zařízení. Používá také certifikát zprostředkující certifikační autority k podepsání certifikátů zařízení Smart-X-Widget.
  4. Každé zařízení Smart-X-Widget teď má svůj vlastní jedinečný certifikát zařízení a kopie veřejných klíčů a podpisů z každého zprostředkujícího certifikátu certifikační autority, se kterým pracoval v celém dodavatelském řetězci. Tyto certifikáty a podpisy lze vysledovat zpět do původního kořenového adresáře společnosti X.

Metoda ověřování certifikační autority vyloudí bezpečnou odpovědnost do dodavatelského řetězce výroby zařízení. Z důvodu procesu řetězu certifikátů jsou akce každého člena řetězce kryptograficky zaznamenány a ověřitelné.

Tento proces spoléhá na předpoklad, že se nezávisle vytvoří jedinečný pár veřejného a privátního klíče zařízení a že privátní klíč je v zařízení vždy chráněný. Zabezpečené čipy silicon čipů naštěstí existují ve formě modulů HSM (Hardware Secure Modules), které jsou schopné interně generovat klíče a chránit privátní klíče. Společnost-X potřebuje přidat pouze jeden takový zabezpečený čip do kusovníku součástí widgetu Smart-X.

Ověřování zařízení

Zařízení vyrobená pro ověřování ca X.509 jsou vybavena jedinečnými certifikáty zařízení a řetězem certifikátů z příslušného výrobního dodavatelského řetězce. Připojení zařízení, a to i poprvé, probíhá v procesu se dvěma kroky: nahrání řetězu certifikátů a ověření vlastnictví.

V našem příkladu každý widget Smart-X-Widget nahraje svůj jedinečný certifikát zařízení společně s certifikáty CA Factory-Y a Technician-Z X.509 a pak reaguje na výzvu důkazu vlastnictví ze služby IoT Hub.

Pomocí předemregistrovaného certifikátu certifikační autority X.509 ze společnosti X služba IoT Hub ověří, že nahraný řetěz certifikátů je interně konzistentní a že platný vlastník certifikátu certifikační autority X.509 pochází z řetězu. Stejně jako u procesu registrace certifikační autority X.509 používá Služba IoT Hub k ověření, že řetěz a certifikát zařízení patří do zařízení, které ho nahrává. Úspěšná odpověď aktivuje IoT Hub, aby zařízení přijalo jako autentické a udělilo připojení.

Diagram znázorňující tok ověření certifikátu zařízení

Základem důvěryhodnosti je ochrana privátních klíčů, včetně privátních klíčů zařízení. Proto nemůžeme zdůraznit dostatek důležitosti zabezpečených čipů silicon v podobě hardwarových zabezpečených modulů (HSM) pro ochranu privátních klíčů zařízení a celkový osvědčený postup nikdy nesdílení privátních klíčů z jakéhokoli certifikátu v řetězu.

Další kroky

Pomocí služby Device Provisioning můžete zřídit více zařízení X.509 pomocí skupin registrací.

Další informace o polích, která tvoří certifikát X.509, najdete v tématu Certifikáty X.509.

Pokud máte certifikát kořenové certifikační autority nebo certifikát podřízené certifikační autority a chcete ho nahrát do centra IoT, musíte ověřit, že tento certifikát vlastníte. Další informace najdete v tématu Kurz: Vytvoření a nahrání certifikátů pro testování.