Atestace certifikátu X.509

Tento článek obsahuje přehled konceptů služby Device Provisioning Service (DPS), které se týkají zřizování zařízení pomocí ověření certifikátu X.509. Tento článek je relevantní pro všechny osoby zapojené do příprava zařízení na nasazení.

Certifikáty X.509 je možné ukládat do modulu hardwarového zabezpečení HSM.

Tip

Důrazně doporučujeme používat HSM se zařízeními k bezpečnému ukládání tajných kódů, jako je certifikát X.509, na vašich zařízeních v produkčním prostředí.

Certifikáty X.509

Použití certifikátů X.509 jako mechanismu ověřování představuje skvělý způsob škálování produkčního prostředí a zjednodušení zřizování zařízení. Certifikáty X.509 jsou obvykle uspořádány v řetězu certifikátů důvěryhodnosti, ve kterém je každý certifikát v řetězu podepsaný privátním klíčem dalšího vyššího certifikátu atd. Ukončuje se kořenovým certifikátem podepsaným svým držitelem. Toto uspořádání vytvoří delegovaný řetěz důvěryhodnosti z kořenového certifikátu vygenerovaného důvěryhodnou kořenovou certifikační autoritou (CA) prostřednictvím každé zprostředkující certifikační autority až po certifikát koncové entity "list" nainstalovaný na zařízení. Další informace najdete v tématu Ověřování zařízení pomocí certifikátů certifikační autority X.509.

Řetěz certifikátů často představuje určitou logickou nebo fyzickou hierarchii přidruženou k zařízením. Výrobce může například:

  • vydání kořenového certifikátu certifikační autority podepsaného svým držitelem
  • Použití kořenového certifikátu k vygenerování jedinečného zprostředkujícího certifikátu certifikační autority pro každou továrnu
  • k vygenerování jedinečného zprostředkujícího certifikátu certifikační autority pro každou výrobní linku v závodu použijte certifikát každé továrny.
  • a nakonec použijte certifikát výrobní linky k vygenerování jedinečného certifikátu zařízení (koncové entity) pro každé zařízení vyrobené na řádku.

Další informace najdete v tématu Koncepční porozumění certifikátům ca X.509 v oboru IoT.

Kořenový certifikát

Kořenový certifikát je certifikát X.509 podepsaný svým držitelem představující certifikační autoritu (CA). Jedná se o terminus (neboli důvěryhodné ukotvení) řetězu certifikátů. Kořenové certifikáty můžou být vydané organizací nebo zakoupeny od kořenové certifikační autority. Další informace najdete v tématu Získání certifikátů certifikační autority X.509. Kořenový certifikát lze také označovat jako kořenový certifikát certifikační autority.

Zprostředkující certifikát

Zprostředkující certifikát je certifikát X.509, který je podepsaný kořenovým certifikátem (nebo jiným zprostředkujícím certifikátem s kořenovým certifikátem v jeho řetězu). Poslední zprostředkující certifikát v řetězu slouží k podepsání listového certifikátu. Zprostředkující certifikát lze také značovat jako certifikát zprostředkující certifikační autority.

Proč jsou zprostředkující certifikáty užitečné?

Zprostředkující certifikáty se používají různými způsoby. Zprostředkující certifikáty se dají například použít k seskupení zařízení podle produktových řad, zákazníků, nákupních zařízení, divizí společnosti nebo továren.

Představte si, že contoso je velká společnost s vlastní infrastrukturou veřejných klíčů (PKI) pomocí kořenového certifikátu s názvem ContosoRootCert. Každá pobočka společnosti Contoso má svůj vlastní zprostředkující certifikát podepsaný společností ContosoRootCert. Každá pobočka pak použije zprostředkující certifikát k podepsání listových certifikátů pro každé zařízení. V tomto scénáři může Společnost Contoso použít jednu instanci DPS, kde ContosoRootCert je ověřený certifikát. Můžou mít skupinu registrací pro každou dceřinou společnost. Tímto způsobem si každá jednotlivá pobočka nemusí dělat starosti s ověřováním certifikátů.

Koncový certifikát "list" entity

Listový certifikát nebo certifikát koncové entity identifikuje držitele certifikátu. Má kořenový certifikát ve svém řetězu certifikátů i nula nebo více zprostředkujících certifikátů. Listový certifikát se nepoužívá k podepisování jiných certifikátů. Jednoznačně identifikuje zařízení do služby zřizování a někdy se označuje jako certifikát zařízení. Během ověřování zařízení používá privátní klíč přidružený k tomuto certifikátu k reakci na důkaz o vlastnictví služby.

Listové certifikáty používané s položkami jednotlivých registrací nebo skupin registrací musí mít běžný název subjektu (CN) nastavený na ID registrace. ID registrace identifikuje registraci zařízení v DPS a musí být jedinečné pro instanci DPS (obor ID), ve které se zařízení registruje. ID registrace je řetězec nerozlišující velká a malá písmena alfanumerických znaků a speciální znaky: '-', , '.''_', ':'. Poslední znak musí být alfanumerický nebo pomlčka ('-'). DPS podporuje ID registrace o délce až 128 znaků; Maximální délka společného názvu subjektu v certifikátu X.509 je však 64 znaků. ID registrace je proto omezeno na 64 znaků při použití certifikátů X.509.

U skupin registrací nastaví běžný název subjektu (CN) také ID zařízení, které je zaregistrované ve službě IoT Hub. ID zařízení se zobrazí v registračních záznamech pro ověřené zařízení ve skupině registrací. U jednotlivých registrací je možné v položce registrace nastavit ID zařízení. Pokud položka registrace není nastavená, použije se běžný název subjektu (CN).

Další informace najdete v tématu Ověřování zařízení podepsaných certifikáty certifikační autority X.509.

Řízení přístupu zařízení ke službě zřizování pomocí certifikátů X.509

Služba zřizování zveřejňuje dva typy registrace, které můžete použít k řízení přístupu zařízení pomocí mechanismu ověřování X.509:

  • Jednotlivé položky registrace se konfigurují s certifikátem zařízení přidruženým ke konkrétnímu zařízení. Tyto položky řídí registrace pro konkrétní zařízení.
  • Položky skupiny registrací jsou přidružené ke konkrétnímu zprostředkujícímu nebo kořenovému certifikátu certifikační autority. Tyto položky řídí registrace pro všechna zařízení, která mají v řetězu certifikátů zprostředkující nebo kořenový certifikát.

Certifikát je možné zadat pouze v jedné položce zápisu v instanci DPS.

Vzájemná podpora protokolu TLS

Když jsou registrace DPS nakonfigurované pro ověření identity X.509, služba DPS podporuje vzájemné tls (mTLS).

Požadavky na řetěz zařízení DPS

Když se zařízení pokouší o registraci prostřednictvím DPS pomocí skupiny registrací, musí zařízení odeslat řetěz certifikátů z listového certifikátu do ověřeného certifikátu. Jinak ověřování selže.

Pokud je například ověřený jenom kořenový certifikát a do skupiny registrací se nahraje zprostředkující certifikát, zařízení by mělo předložit řetěz certifikátů z certifikátu typu list až do ověřeného kořenového certifikátu. Tento řetěz certifikátů by zahrnoval všechny zprostředkující certifikáty mezi. Ověřování selže, pokud služba DPS nemůže procházet řetěz certifikátů k ověřenému certifikátu.

Představte si například společnost, která pro zařízení používá následující řetězec zařízení.

Example device certificate chain

V tomto příkladu se ověří jenom kořenový certifikát a do skupiny registrací se nahraje zprostředkující certifikát2 .

Example root verified

Pokud zařízení během zřizování odesílá pouze následující řetězec zařízení, ověřování selže. Vzhledem k tomu, že služba DPS nemůže pokusit o ověření za předpokladu platnosti zprostředkujícího certifikátu 1

Example failing certificate chain

Pokud zařízení během zřizování odešle celý řetěz zařízení následujícím způsobem, může se služba DPS pokusit o ověření zařízení.

Example device certificate chain

Pořadí operací DPS s certifikáty

Když se zařízení připojí ke službě zřizování, služba provede řetěz certifikátů od certifikátu (list) a vyhledá odpovídající položku registrace. Použije první položku, kterou najde v řetězu, k určení, zda se má zařízení zřídit. To znamená, že pokud existuje jednotlivá registrace certifikátu zařízení (list), služba zřizování tuto položku použije. Pokud zařízení neobsahuje individuální registraci, služba vyhledá skupinu registrací, která odpovídá prvnímu zprostředkujícímu certifikátu. Pokud ji najde, použije tuto položku; v opačném případě vyhledá skupinu registrací pro další zprostředkující certifikát a tak dále v řetězci do kořenového adresáře.

Služba použije první položku, kterou najde, aby:

  • Pokud je povolená první položka registrace, služba zřídí zařízení.
  • Pokud je první nalezená položka registrace zakázaná, služba zařízení nezřídí.
  • Pokud se pro žádný certifikát v řetězu certifikátů zařízení nenajde žádná položka registrace, služba zařízení nezřídí.

Všimněte si, že každý certifikát v řetězu certifikátů zařízení je možné zadat v položce registrace, ale je možné ho zadat pouze v jedné položce v instanci DPS.

Tento mechanismus a hierarchická struktura řetězů certifikátů poskytují výkonnou flexibilitu při řízení přístupu pro jednotlivá zařízení i pro skupiny zařízení. Představte si například pět zařízení s následujícími řetězy certifikátů:

  • Zařízení 1: kořenový certifikát –> certifikát A –> certifikát 1
  • Zařízení 2: kořenový certifikát –> certifikát A –> certifikát 2
  • Zařízení 3: kořenový certifikát –> certifikát A –> certifikát 3
  • Zařízení 4: kořenový certifikát –> certifikát B –> certifikát 4
  • Zařízení 5: kořenový certifikát –> certifikát B –> certifikát 5

Zpočátku můžete vytvořit jednu povolenou položku skupinové registrace pro kořenový certifikát a povolit tak přístup pro všechna pět zařízení. Pokud dojde k ohrožení zabezpečení certifikátu B později, můžete pro certifikát B vytvořit zakázanou položku skupiny registrací, abyste zabránili registraci zařízení 4 a zařízení 5 . Pokud dojde k ohrožení zabezpečení zařízení 3, můžete pro certifikát vytvořit zakázanou jednotlivou položku registrace. Tím se odvolá přístup pro zařízení 3, ale stále umožňuje registraci zařízení 1 a zařízení 2.