Sdílet prostřednictvím


Atestace certifikátu X.509

Tento článek popisuje koncepty, které se týkají zřizování zařízení pomocí ověření certifikátu X.509 ve službě Device Provisioning Service (DPS). 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í.

Vysvětlení řetězu certifikátů 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 certifikační autoritou (CA) prostřednictvím každého zprostředkujícího certifikátu až po konečný certifikát 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 logickou nebo fyzickou hierarchii přidruženou k zařízením. Výrobce může například vytvořit následující hierarchii certifikátů:

  • Kořenový certifikát certifikační autority podepsaný svým držitelem zahájí řetěz certifikátů.
  • Kořenový certifikát vygeneruje jedinečný zprostředkující certifikát certifikační autority pro každou továrnu.
  • Certifikát každé továrny generuje jedinečný certifikát zprostředkující certifikační autority pro každou výrobní linku v továrně.
  • Certifikát výrobní linky vygeneruje jedinečný certifikát 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, který představuje 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. Kořenový certifikát lze také volat kořenový certifikát certifikační autority.

Zprostředkující certifikát

Zprostředkující certifikát je certifikát X.509 podepsaný kořenovým certifikátem (nebo jiným zprostředkujícím certifikátem s kořenovým certifikátem v řetězu) a může také podepisovat nové certifikáty. Poslední zprostředkující certifikát v řetězu podepíše listový certifikát. Zprostředkující certifikát lze také volat zprostředkující certifikát certifikační autority.

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ý ContosoRootCertspolečností . Každá pobočka používá svůj 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. Každý jednotlivý podřízený podnik se tak nemusí starat o ověření 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 v řetězu certifikátů a 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í službě 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 jeho certifikátu k reakci na důkaz o vlastnictví služby.

Příprava certifikátů

Zařízení používají při připojování ke službě IoT Hub prostřednictvím DPS dva různé typy certifikátů. Při přípravě zařízení se ujistěte, že jste před připojením vytvořili všechny správné certifikáty a přidali je do zařízení.

  • Veřejné kořenové certifikáty: Všechna zařízení potřebují kopii veřejných kořenových certifikátů, které služba IoT Hub, IoT Central a Služba Device Provisioning používají k autorizaci připojení.
  • Ověřovací certifikáty: Certifikáty X.509 jsou doporučenou metodou ověřování identity zařízení.

Požadované veřejné kořenové certifikáty

Zařízení Azure IoT používají protokol TLS k ověření pravosti centra IoT nebo koncového bodu DPS, ke kterému se připojují. Každé zařízení potřebuje kopii kořenového certifikátu, který používá IoT Hub a DPS. Ve svém úložišti důvěryhodných certifikátů doporučujeme, aby všechna zařízení obsahovala následující kořenové certifikační autority:

  • Globální certifikační autorita DigiCert G2
  • Kořenová certifikační autorita Microsoft RSA 2017

Další informace o doporučených postupech certifikátů najdete v tématu Podpora protokolu TLS.

Ověřová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 šifrovací algoritmus DPS

Služba Device Provisioning přijímá pouze certifikáty X.509, které pro šifrování používají algoritmus Rivest-Shamir-Adleman (RSA) nebo algoritmus ECC (Elliptic Curve Cryptography). ECC a RSA poskytují ekvivalentní úrovně síly šifrování, ale ECC používá kratší délku klíče.

Pokud k vygenerování certifikátů X.509 pro ověření zařízení používáte metody ECC, doporučujeme následující tři tečky:

  • nistP256
  • nistP384
  • nistP521

Požadavky na pojmenování certifikátů DPS

Listové certifikáty používané s jednotlivými položkami registrace musí mít společ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.

U skupin registrací nastaví běžný název subjektu (CN) 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.

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. V opačném případě 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í.

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

V tomto příkladu se kořenový certifikát ověří pomocí DPS a intermediate2 certifikát se nahraje do skupiny registrací.

Diagram, který zvýrazňuje kořenový a zprostředkující 2 certifikáty při nahrávání do DPS

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 intermediate1 platnosti certifikátu.

Diagram znázorňující selhání ověřování řetězu certifikátů, protože se neřetězuje do kořenového adresáře

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í.

Diagram znázorňující úspěšný řetěz certifikátů zařízení

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í, použije tato položka služba zřizování. 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ě hledá skupinu registrací pro další zprostředkující certifikát a tak dále, dolů ke kořenovému adresáři.

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í.

Každý certifikát v řetězu certifikátů zařízení je možné zadat v položce registrace, ale může být zadán 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í a 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.