X.509 tanúsítványigazolás
Ez a cikk az X.509-tanúsítványigazolást használó eszközöknek a Device Provisioning Service (DPS) szolgáltatásban való üzembe helyezése során felmerülő fogalmakat ismerteti. Ez a cikk az eszközök üzembe helyezésre való felkészítésében részt vevő összes személy számára releváns.
Az X.509-tanúsítványok egy hardveres biztonsági modul HSM-ben tárolhatók.
Tipp.
Határozottan javasoljuk, hogy használjon HSM-et eszközökkel, hogy biztonságosan tárolja a titkos kulcsokat, például az X.509-tanúsítványt az éles környezetben lévő eszközökön.
Az X.509-tanúsítványlánc ismertetése
Az X.509-tanúsítványok igazolási mechanizmusként való használata kiváló módszer az éles környezet méretezésére és az eszközök kiépítésének egyszerűsítésére. Az X.509-tanúsítványok általában egy megbízhatósági tanúsítványláncban vannak elrendezve, amelyben a lánc minden tanúsítványát a következő magasabb tanúsítvány titkos kulcsa írja alá, és így tovább, egy önaláírt főtanúsítványban végződik. Ez a megállapodás delegált megbízhatósági láncot hoz létre a megbízható hitelesítésszolgáltató (CA) által létrehozott főtanúsítványból az egyes köztes tanúsítványokon keresztül az eszközön telepített végső tanúsítványig. További információ: Eszközhitelesítés X.509 hitelesítésszolgáltatói tanúsítványokkal.
A tanúsítványlánc gyakran az eszközökhöz társított logikai vagy fizikai hierarchiát jelöli. Egy gyártó például a következő tanúsítványhierarchiát hozhatja létre:
- Egy önaláírt legfelső szintű hitelesítésszolgáltatói tanúsítvány elindítja a tanúsítványláncot.
- A főtanúsítvány minden egyes gyárhoz létrehoz egy egyedi köztes hitelesítésszolgáltatói tanúsítványt.
- Minden gyár tanúsítványa létrehoz egy egyedi köztes hitelesítésszolgáltatói tanúsítványt a gyár minden egyes gyártósorához.
- A gyártósor tanúsítványa egyedi eszköztanúsítványt (end-entity) hoz létre a sorban gyártott minden egyes eszközhöz.
További információ: X.509 CA-tanúsítványok elméleti ismerete az IoT-iparágban.
Főtanúsítvány
A főtanúsítvány egy önaláírt X.509-tanúsítvány, amely egy hitelesítésszolgáltatót (CA) jelöl. Ez a tanúsítványlánc végállomása vagy megbízhatósági horgonya. A főtanúsítványokat a szervezet saját maga állíthatja ki, vagy főtanúsítvány-szolgáltatótól vásárolhatja meg. A főtanúsítvány nevezhető legfelső szintű hitelesítésszolgáltatói tanúsítványnak is.
Köztes tanúsítvány
A köztes tanúsítvány egy X.509-tanúsítvány, amelyet a főtanúsítvány (vagy egy másik köztes tanúsítvány a főtanúsítvánnyal a láncában) aláírt, és új tanúsítványokat is aláírhat. A lánc utolsó köztes tanúsítványa aláírja a levéltanúsítványt. A köztes tanúsítványok köztes hitelesítésszolgáltatói tanúsítványnak is nevezhetők.
A köztes tanúsítványokat különböző módokon használják. A köztes tanúsítványok például az eszközök terméksorok, eszközöket vásárló ügyfelek, vállalati részlegek vagy gyárak szerinti csoportosítására használhatók.
Tegyük fel, hogy a Contoso egy nagyvállalat, amely saját nyilvános kulcsú infrastruktúrával (PKI) rendelkezik a nevesített ContosoRootCert
főtanúsítvány használatával. A Contoso minden leányvállalata saját, köztes tanúsítvánnyal rendelkezik, amelyet alá ContosoRootCert
van írva. Minden leányvállalat a köztes tanúsítványával írja alá az egyes eszközök levéltanúsítványait. Ebben a forgatókönyvben a Contoso egyetlen DPS-példányt használhat, ahol ContosoRootCert
ellenőrzött tanúsítvány található. Mindegyik leányvállalathoz tartozhat regisztrációs csoport. Így minden egyes leányvállalatnak nem kell aggódnia a tanúsítványok ellenőrzése miatt.
End-entity "leaf" tanúsítvány
A levéltanúsítvány vagy a végfelhasználói tanúsítvány azonosítja a tanúsítványtulajdonost. A főtanúsítvány a tanúsítványláncában található, és nulla vagy több köztes tanúsítványt tartalmaz. A levéltanúsítványok nem használhatók más tanúsítványok aláírására. Egyedileg azonosítja az eszközt a kiépítési szolgáltatásban, és néha eszköztanúsítványnak is nevezik. A hitelesítés során az eszköz a tanúsítványához társított titkos kulcsot használja a szolgáltatás birtoklási igazolásának megválaszolására.
X.509-tanúsítványok használata a DPS-sel
A kiépítési szolgáltatás két regisztrációs típust tesz elérhetővé, amelyekkel szabályozhatja az eszközök hozzáférését az X.509 igazolási mechanizmussal:
- Az egyes regisztrációs bejegyzések egy adott eszközhöz társított eszköztanúsítvánnyal vannak konfigurálva. Ezek a bejegyzések bizonyos eszközök regisztrációit szabályozzák.
- A regisztrációs csoport bejegyzései egy adott köztes vagy fő hitelesítésszolgáltatói tanúsítvánnyal vannak társítva. Ezek a bejegyzések minden olyan eszköz regisztrációját szabályozzák, amely rendelkezik ezzel a közbenső vagy főtanúsítvánnyal a tanúsítványláncban.
A tanúsítvány csak egy regisztrációs bejegyzésben adható meg a DPS-példányban.
Kölcsönös TLS-támogatás
Ha a DPS-regisztrációk X.509-igazoláshoz vannak konfigurálva, a DPS támogatja a kölcsönös TLS-t (mTLS).
A DPS titkosítási algoritmus követelményei
A Device Provisioning Service csak olyan X.509-tanúsítványokat fogad el, amelyek a Rivest-Shamir-Adleman (RSA) algoritmust vagy a háromliptikus görbe titkosítási (ECC) algoritmusát használják a titkosításhoz. Az ECC és az RSA egyenértékű titkosítási szilárdságot biztosít, de az ECC rövidebb kulcshosszt használ.
Ha ECC-metódusokkal állít elő X.509-tanúsítványokat az eszközigazoláshoz, a következő háromliptikus görbéket javasoljuk:
- nistP256
- nistP384
- nistP521
A DPS-tanúsítványok elnevezési követelményei
Az egyes regisztrációs bejegyzésekhez használt levéltanúsítványoknak a tulajdonos közös nevét (CN) a regisztrációs azonosítóra kell állítani. A regisztrációs azonosító azonosítja az eszközregisztrációt a DPS-szel, és egyedinek kell lennie azon DPS-példány (azonosító hatóköre) esetében, ahol az eszköz regisztrál.
Regisztrációs csoportok esetén a tulajdonos közös neve (CN) beállítja az IoT Hubon regisztrált eszközazonosítót. Az eszközazonosító megjelenik a regisztrált eszköz regisztrációs rekordjai között a regisztrációs csoportban. Egyéni regisztrációk esetén az eszközazonosító a regisztrációs bejegyzésben állítható be. Ha nincs beállítva a regisztrációs bejegyzésben, akkor a rendszer a tulajdonos köznapi nevét (CN) használja.
További információ: X.509 hitelesítésszolgáltatói tanúsítványokkal aláírt eszközök hitelesítése.
A DPS-eszközlánc követelményei
Ha egy eszköz regisztrációs csoporttal próbál regisztrálni a DPS-ben, az eszköznek a levéltanúsítványból egy hitelesített tanúsítványba kell küldenie a tanúsítványláncot. Ellenkező esetben a hitelesítés sikertelen.
Ha például csak a főtanúsítványt ellenőrzi a rendszer, és egy köztes tanúsítványt tölt fel a regisztrációs csoportba, az eszköznek a levéltanúsítványtól egészen az ellenőrzött főtanúsítványig be kell mutatnia a tanúsítványláncot. Ez a tanúsítványlánc magában foglal minden köztes tanúsítványt a kettő között. A hitelesítés meghiúsul, ha a DPS nem tudja átirányítani a tanúsítványláncot egy ellenőrzött tanúsítványra.
Vegyük például azt a vállalatot, amely az alábbi eszközláncot használja egy eszközhöz.
Ebben a példában a főtanúsítványt a DPS ellenőrzi, a intermediate2
tanúsítvány pedig fel lesz töltve a regisztrációs csoportba.
Ha az eszköz csak a következő eszközláncot küldi a kiépítés során, a hitelesítés sikertelen lesz. Mivel a DPS nem tudja megkísérelni a hitelesítést a tanúsítvány érvényességét feltételezve intermediate1
.
Ha az eszköz a kiépítés során az alábbiak szerint küldi el a teljes eszközláncot, a DPS megkísérelheti az eszköz hitelesítését.
DPS-műveletek sorrendje tanúsítványokkal
Amikor egy eszköz csatlakozik a kiépítési szolgáltatáshoz, a szolgáltatás végigvezeti a tanúsítványláncát az eszköz (levél) tanúsítványától kezdve, és megkeresi a megfelelő regisztrációs bejegyzést. A láncban talált első bejegyzés alapján határozza meg, hogy kiépíteni kívánja-e az eszközt. Vagyis ha létezik egyéni regisztráció az eszköztanúsítványhoz, a kiépítési szolgáltatás alkalmazza ezt a bejegyzést. Ha nincs egyéni regisztráció az eszközhöz, a szolgáltatás olyan regisztrációs csoportot keres, amely megfelel az első köztes tanúsítványnak. Ha talál egyet, alkalmazza ezt a bejegyzést; ellenkező esetben egy regisztrációs csoportot keres a következő köztes tanúsítványhoz, és így tovább, lefelé a gyökérláncon.
A szolgáltatás a talált első bejegyzést alkalmazza a következő módon:
- Ha az első regisztrációs bejegyzés engedélyezve van, a szolgáltatás kiépíti az eszközt.
- Ha az első regisztrációs bejegyzés le van tiltva, a szolgáltatás nem építi ki az eszközt.
- Ha az eszköz tanúsítványláncában lévő tanúsítványok egyikéhez sem található regisztrációs bejegyzés, a szolgáltatás nem építi ki az eszközt.
Az eszköz tanúsítványláncának minden tanúsítványa megadható egy regisztrációs bejegyzésben, de a DPS-példányban csak egy bejegyzésben adható meg.
Ez a mechanizmus és a tanúsítványláncok hierarchikus struktúrája nagy rugalmasságot biztosít az egyes eszközök és eszközcsoportok hozzáférésének szabályozásában. Képzeljen el például öt eszközt a következő tanúsítványláncokkal:
- 1. eszköz: főtanúsítvány –> A tanúsítvány –> 1. eszköz tanúsítványa
- 2. eszköz: főtanúsítvány –> A tanúsítvány –> 2. eszköz tanúsítványa
- 3. eszköz: főtanúsítvány –> A tanúsítvány –> 3. eszköz tanúsítványa
- 4. eszköz: főtanúsítvány –> B tanúsítvány –> 4. eszköz tanúsítványa
- 5. eszköz: főtanúsítvány –> B tanúsítvány –> 5. eszköz tanúsítványa
Kezdetben létrehozhat egyetlen engedélyezett csoportregisztrációs bejegyzést a főtanúsítványhoz, hogy mind az öt eszközhöz engedélyezze a hozzáférést. Ha a B tanúsítvány később sérül, létrehozhat egy letiltott regisztrációs csoportbejegyzést a B tanúsítványhoz, hogy megakadályozza a 4 . eszköz és az 5 . eszköz regisztrálását. Ha később a 3 . eszköz biztonsága sérül, létrehozhat egy letiltott egyéni regisztrációs bejegyzést a tanúsítványához. Ez visszavonja a 3. eszközhöz való hozzáférést, de továbbra is engedélyezi az 1. és a 2. eszköz regisztrálását.