Uwierzytelnianie tożsamości przy użyciu certyfikatów X.509

Usługa IoT Hub używa certyfikatów X.509 do uwierzytelniania urządzeń. Uwierzytelnianie X.509 umożliwia uwierzytelnianie urządzenia IoT w warstwie fizycznej w ramach standardowego nawiązywania połączeń protokołu Transport Layer Security (TLS).

Certyfikat X.509 urzędu certyfikacji jest certyfikatem cyfrowym, który może podpisać inne certyfikaty. Certyfikat cyfrowy jest uznawany za certyfikat X.509, jeśli jest zgodny ze standardem formatowania certyfikatu określonym przez standard RFC IETF 5280. Urząd certyfikacji oznacza, że jego posiadacz może podpisać inne certyfikaty.

W tym artykule opisano sposób używania certyfikatów urzędu certyfikacji X.509 do uwierzytelniania urządzeń łączących się z usługą IoT Hub, która obejmuje następujące kroki:

  • Jak uzyskać certyfikat urzędu certyfikacji X.509
  • Jak zarejestrować certyfikat X.509 urzędu certyfikacji w usłudze IoT Hub
  • Jak podpisywać urządzenia przy użyciu certyfikatów X.509 urzędu certyfikacji
  • Jak urządzenia podpisane przy użyciu urzędu certyfikacji X.509 są uwierzytelniane

Ważne

Następujące funkcje dla urządzeń korzystających z uwierzytelniania urzędu certyfikacji X.509 nie są jeszcze ogólnie dostępne, a tryb podglądu musi być włączony:

  • HTTPS, MQTT przez protokoły WebSockets i AMQP za pośrednictwem protokołów WebSocket.
  • Przekazywanie plików (wszystkie protokoły).

Te funkcje są ogólnie dostępne na urządzeniach korzystających z uwierzytelniania odcisku palca X.509. Aby dowiedzieć się więcej na temat uwierzytelniania X.509 w usłudze IoT Hub, zobacz Obsługiwane certyfikaty X.509.

Funkcja X.509 urzędu certyfikacji umożliwia uwierzytelnianie urządzenia w usłudze IoT Hub przy użyciu urzędu certyfikacji. Upraszcza to początkowy proces rejestracji urządzeń i logistykę łańcucha dostaw podczas produkcji urządzeń.

Uwierzytelnianie i autoryzacja

Uwierzytelnianie to proces potwierdzania, że jesteś tym, kim jesteś. Uwierzytelnianie weryfikuje tożsamość użytkownika lub urządzenia w usłudze IoT Hub. Czasami jest skracany do AuthN. Autoryzacja to proces potwierdzania uprawnień dla uwierzytelnionego użytkownika lub urządzenia w usłudze IoT Hub. Określa ona zasoby i polecenia, do których masz dostęp, oraz czynności, które można wykonać za pomocą tych zasobów i poleceń. Autoryzacja jest czasami skracana do AuthZ.

W tym artykule opisano uwierzytelnianie przy użyciu certyfikatów X.509. Możesz użyć dowolnego certyfikatu X.509 do uwierzytelniania urządzenia w usłudze IoT Hub, przekazując odcisk palca certyfikatu lub urząd certyfikacji do usługi Azure IoT Hub.

Certyfikaty X.509 są używane do uwierzytelniania w usłudze IoT Hub, a nie autoryzacji. W przeciwieństwie do identyfikatora Entra firmy Microsoft i sygnatur dostępu współdzielonego nie można dostosowywać uprawnień za pomocą certyfikatów X.509.

Wymuszanie uwierzytelniania X.509

Aby zapewnić dodatkowe zabezpieczenia, centrum IoT można skonfigurować tak, aby nie zezwalało na uwierzytelnianie sas dla urządzeń i modułów, pozostawiając X.509 jako jedyną zaakceptowaną opcję uwierzytelniania. Obecnie ta funkcja nie jest dostępna w witrynie Azure Portal. Aby skonfigurować, ustawić disableDeviceSAS właściwość i disableModuleSAS na true właściwości zasobu usługi IoT Hub:

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

Zalety uwierzytelniania certyfikatu X.509 urzędu certyfikacji

Uwierzytelnianie urzędu certyfikacji X.509 to podejście do uwierzytelniania urządzeń w usłudze IoT Hub przy użyciu metody, która znacznie upraszcza tworzenie tożsamości urządzeń i zarządzanie cyklem życia w łańcuchu dostaw.

Wyróżniającym atrybutem uwierzytelniania urzędu certyfikacji X.509 jest relacja jeden do wielu, którą certyfikat urzędu certyfikacji ma z urządzeniami podrzędnymi. Ta relacja umożliwia rejestrację dowolnej liczby urządzeń w usłudze IoT Hub przez zarejestrowanie certyfikatu X.509 urzędu certyfikacji raz. W przeciwnym razie unikatowe certyfikaty muszą zostać wstępnie zarejestrowane dla każdego urządzenia, zanim urządzenie będzie mogło nawiązać połączenie. Ta relacja jeden do wielu upraszcza również operacje zarządzania cyklem życia certyfikatów urządzeń.

Innym ważnym atrybutem uwierzytelniania X.509 URZĘDU certyfikacji jest uproszczenie logistyki łańcucha dostaw. Bezpieczne uwierzytelnianie urządzeń wymaga, aby każde urządzenie przechowywało unikatowy wpis tajny, taki jak klucz, jako podstawę zaufania. W przypadku uwierzytelniania opartego na certyfikatach ten wpis tajny jest kluczem prywatnym. Typowy przepływ produkcji urządzeń obejmuje wiele kroków i opiekunów. Bezpieczne zarządzanie kluczami prywatnymi urządzeń w wielu opiekunach i utrzymywanie zaufania jest trudne i kosztowne. Użycie urzędów certyfikacji rozwiązuje ten problem, podpisując każdego opiekuna w łańcuch kryptograficzny zaufania, a nie powierzając im kluczy prywatnych urządzeń. Każdy opiekun podpisuje urządzenia na odpowiednim etapie przepływu produkcyjnego. Ogólny wynik jest optymalnym łańcuchem dostaw z wbudowaną odpowiedzialnością przy użyciu łańcucha kryptograficznego zaufania.

Ten proces zapewnia największe bezpieczeństwo, gdy urządzenia chronią swoje unikatowe klucze prywatne. W tym celu zalecamy używanie sprzętowych modułów Secure Modules (HSM) w celu wewnętrznego generowania kluczy prywatnych.

Usługa Azure IoT Hub Device Provisioning Service (DPS) ułatwia aprowizowanie grup urządzeń w centrach. Aby uzyskać więcej informacji, zobacz Samouczek: aprowizuj wiele urządzeń X.509 przy użyciu grup rejestracji.

Uzyskiwanie certyfikatu urzędu certyfikacji X.509

Certyfikat X.509 urzędu certyfikacji jest częścią łańcucha certyfikatów dla każdego z urządzeń. Możesz kupić lub utworzyć go w zależności od tego, jak zamierzasz go używać.

W środowiskach produkcyjnych zalecamy zakup certyfikatu X.509 urzędu certyfikacji od profesjonalnego dostawcy usług certyfikatów. Zakup certyfikatu urzędu certyfikacji ma korzyść z głównego urzędu certyfikacji działającego jako zaufana strona trzecia, aby rościć za zasadność urządzeń. Rozważ tę opcję, jeśli urządzenia są częścią otwartej sieci IoT, w której wchodzą w interakcje z produktami lub usługami innych firm.

Możesz również utworzyć certyfikat X.509 urzędu certyfikacji z podpisem własnym na potrzeby testowania. Aby uzyskać więcej informacji na temat tworzenia certyfikatów na potrzeby testowania, zobacz Tworzenie i przekazywanie certyfikatów do testowania.

Uwaga

Nie zalecamy używania certyfikatów z podpisem własnym dla środowisk produkcyjnych.

Niezależnie od sposobu uzyskania certyfikatu X.509 urzędu certyfikacji, pamiętaj, aby zachować odpowiedni wpis tajny klucza prywatnego i zawsze go chronić. Ten środek ostrożności jest niezbędny do budowania zaufania w uwierzytelnianiu urzędu certyfikacji X.509.

Logowanie urządzeń do łańcucha zaufania certyfikatów

Właściciel certyfikatu X.509 urzędu certyfikacji może kryptograficznie podpisać pośredni urząd certyfikacji, który może z kolei podpisać inny pośredni urząd certyfikacji itd., aż ostatni pośredni urząd certyfikacji zakończy ten proces, podpisując certyfikat urządzenia. Wynikiem jest kaskadowy łańcuch certyfikatów nazywany łańcuchem zaufania certyfikatów. To delegowanie zaufania jest ważne, ponieważ ustanawia kryptograficznie zmienny łańcuch nadzoru i unika udostępniania kluczy podpisywania.

Diagram that shows the certificates in a chain of trust.

Certyfikat urządzenia (nazywany również certyfikatem liścia) musi mieć ustawioną nazwę pospolitą (CN) na identyfikator urządzenia (CN=deviceId), który został użyty podczas rejestrowania urządzenia IoT w usłudze Azure IoT Hub. To ustawienie jest wymagane do uwierzytelniania.

W przypadku modułów korzystających z uwierzytelniania X.509 certyfikat modułu musi mieć jego nazwę pospolitą (CN) w formacie , na przykład CN=deviceId/moduleId.

Dowiedz się, jak utworzyć łańcuch certyfikatów zgodnie z instrukcjami podczas podpisywania urządzeń.

Rejestrowanie certyfikatu X.509 urzędu certyfikacji w usłudze IoT Hub

Zarejestruj certyfikat X.509 urzędu certyfikacji w usłudze IoT Hub, który używa go do uwierzytelniania urządzeń podczas rejestracji i połączenia. Zarejestrowanie certyfikatu X.509 urzędu certyfikacji jest procesem dwuetapowym, który obejmuje przekazanie pliku certyfikatu, a następnie ustanowienie dowodu posiadania.

Proces przekazywania wiąże się z przekazaniem pliku zawierającego certyfikat. Ten plik nigdy nie powinien zawierać żadnych kluczy prywatnych.

Krok dowodu posiadania obejmuje kryptograficzne wyzwanie i proces odpowiedzi między Użytkownikiem a usługą IoT Hub. Biorąc pod uwagę, że zawartość certyfikatu cyfrowego jest publiczna i dlatego podatna na podsłuchiwanie, usługa IoT Hub musi sprawdzić, czy naprawdę jesteś właścicielem certyfikatu urzędu certyfikacji. Możesz wybrać opcję automatycznego lub ręcznego zweryfikowania własności. W przypadku ręcznej weryfikacji usługa Azure IoT Hub generuje losowe wyzwanie, które podpiszesz przy użyciu odpowiedniego klucza prywatnego certyfikatu urzędu certyfikacji. Jeśli klucz prywatny jest przechowywany i chroniony zgodnie z zaleceniami, to tylko ty posiadasz wiedzę, aby wykonać ten krok. Tajemnica kluczy prywatnych jest źródłem zaufania w tej metodzie. Po podpisaniu wyzwania wykonaj ten krok i ręcznie zweryfikuj certyfikat, przekazując plik zawierający wyniki.

Dowiedz się, jak zarejestrować certyfikat urzędu certyfikacji.

Uwierzytelnianie urządzeń podpisanych przy użyciu certyfikatów urzędu certyfikacji X.509

Każde centrum IoT ma rejestr tożsamości, który przechowuje informacje o urządzeniach i modułach, które mogą się z nim łączyć. Aby urządzenie lub moduł mógł nawiązać połączenie, w rejestrze tożsamości centrum IoT musi istnieć wpis dla tego urządzenia lub modułu. Urządzenie lub moduł uwierzytelnia się w centrum IoT na podstawie poświadczeń przechowywanych w rejestrze tożsamości.

Po zarejestrowaniu certyfikatu urzędu certyfikacji X.509 i zalogowaniu urządzeń do łańcucha zaufania certyfikatów ostatnim krokiem jest uwierzytelnianie urządzenia po nawiązaniu połączenia z urządzeniem. Gdy urządzenie podpisane przez urząd certyfikacji X.509 łączy się, przekazuje łańcuch certyfikatów do weryfikacji. Łańcuch zawiera wszystkie certyfikaty pośredniego urzędu certyfikacji i urządzeń. Dzięki tym informacjom usługa IoT Hub uwierzytelnia urządzenie w procesie dwuetapowym. Usługa IoT Hub kryptograficznie weryfikuje łańcuch certyfikatów pod kątem spójności wewnętrznej, a następnie wystawia wyzwanie dotyczące dowodu posiadania urządzenia. Usługa IoT Hub deklaruje uwierzytelnienie urządzenia w pomyślnej odpowiedzi dowodowej posiadania z urządzenia. W tej deklaracji przyjęto założenie, że klucz prywatny urządzenia jest chroniony i że tylko urządzenie może pomyślnie odpowiedzieć na to wyzwanie. Zalecamy używanie bezpiecznych mikroukładów, takich jak sprzętowe moduły Secure Modules (HSM) na urządzeniach w celu ochrony kluczy prywatnych.

Pomyślne połączenie urządzenia z usługą IoT Hub kończy proces uwierzytelniania i wskazuje również na właściwą konfigurację. Za każdym razem, gdy urządzenie nawiązuje połączenie, usługa IoT Hub renegocjatuje sesję protokołu TLS i weryfikuje certyfikat X.509 urządzenia.

Odwoływanie certyfikatu urządzenia

Usługa IoT Hub nie sprawdza list odwołania certyfikatów z urzędu certyfikacji podczas uwierzytelniania urządzeń przy użyciu uwierzytelniania opartego na certyfikatach. Jeśli masz urządzenie, które musi zostać zablokowane z połączeniem z usługą IoT Hub z powodu potencjalnie naruszonego certyfikatu, należy wyłączyć urządzenie w rejestrze tożsamości. Aby uzyskać więcej informacji, zobacz Wyłączanie lub usuwanie urządzenia w centrum IoT.

Przykładowy scenariusz

Firma-X sprawia, że inteligentne widżety X, które są przeznaczone do profesjonalnej instalacji. Firma-X zleca zarówno produkcję, jak i instalację. Factory-Y produkuje smart-X-Widgets i technik-Z instaluje je. Firma-X chce, aby widżet Smart-X był dostarczany bezpośrednio z fabryki-Y do technik-Z do instalacji, a następnie do nawiązania połączenia bezpośrednio z wystąpieniem usługi IoT Hub firmy-X. Aby tak się stało, firma-X musi wykonać kilka jednorazowych operacji konfiguracji w celu przygotowania inteligentnego widżetu X do automatycznego połączenia. Ten kompleksowe scenariusze obejmuje następujące kroki:

  1. Uzyskiwanie certyfikatu X.509 urzędu certyfikacji

  2. Rejestrowanie certyfikatu X.509 urzędu certyfikacji w usłudze IoT Hub

  3. Logowanie urządzeń do łańcucha zaufania certyfikatów

  4. Połączenie urządzenia

Te kroki przedstawiono w artykule Samouczek: tworzenie i przekazywanie certyfikatów na potrzeby testowania.

Uzyskiwanie certyfikatu

Firma-X może kupić certyfikat X.509 urzędu certyfikacji z publicznego głównego urzędu certyfikacji lub utworzyć go za pośrednictwem procesu z podpisem własnym. Każda opcja obejmuje dwa podstawowe kroki: generowanie pary kluczy publicznych/prywatnych i podpisywanie klucza publicznego do certyfikatu.

Szczegółowe informacje na temat wykonywania tych kroków różnią się od różnych dostawców usług.

Diagram showing the flow for generating an X.509 CA certificate.

Kupowanie certyfikatu

Zakup certyfikatu urzędu certyfikacji ma korzyść z posiadania dobrze znanego głównego urzędu certyfikacji pełnić rolę zaufanej innej firmy, aby rościć za zasadność urządzeń IoT podczas nawiązywania połączenia z urządzeniami. Wybierz tę opcję, jeśli urządzenia wchodzą w interakcje z produktami lub usługami innych firm.

Aby kupić certyfikat X.509 urzędu certyfikacji, wybierz dostawcę usługi certyfikatu głównego. Główny dostawca urzędu certyfikacji przeprowadzi Cię przez proces tworzenia pary kluczy publicznych/prywatnych oraz generowania żądania podpisania certyfikatu (CSR) dla swoich usług. CSR to formalny proces ubiegania się o certyfikat od urzędu certyfikacji. Wynikiem tego zakupu jest certyfikat do użycia jako certyfikat urzędu. Biorąc pod uwagę wszechobecność certyfikatów X.509, certyfikat prawdopodobnie został prawidłowo sformatowany w standardzie RFC IETF 5280.

Tworzenie certyfikatu z podpisem własnym

Proces tworzenia certyfikatu urzędu certyfikacji X.509 z podpisem własnym jest podobny do zakupu certyfikatu, z tą różnicą, że nie obejmuje osoby podpisającego innej firmy, takiego jak główny urząd certyfikacji. W naszym przykładzie firma-X podpisze certyfikat urzędu zamiast głównego urzędu certyfikacji.

Możesz wybrać tę opcję do testowania, dopóki nie będzie można kupić certyfikatu urzędu. Możesz również użyć certyfikatu urzędu certyfikacji X.509 z podpisem własnym w środowisku produkcyjnym, jeśli urządzenia nie łączą się z żadnymi usługami innych firm spoza usługi IoT Hub.

Rejestrowanie certyfikatu w usłudze IoT Hub

Firma-X musi zarejestrować urząd certyfikacji X.509 w usłudze IoT Hub, gdzie służy do uwierzytelniania inteligentnych widżetów X podczas nawiązywania połączenia. Ten jednorazowy proces umożliwia uwierzytelnianie i zarządzanie dowolną liczbą urządzeń Smart-X-Widget. Relacja jeden do wielu między certyfikatem urzędu certyfikacji a certyfikatami urządzeń jest jedną z głównych zalet korzystania z metody uwierzytelniania urzędu certyfikacji X.509. Alternatywą byłoby przekazanie poszczególnych odcisków palca certyfikatu dla każdego urządzenia Smart-X-Widget, co zwiększa koszty operacyjne.

Zarejestrowanie certyfikatu X.509 urzędu certyfikacji jest procesem dwuetapowym: przekaż certyfikat, a następnie podaj dowód posiadania.

Diagram showing the process flow for registering an X.509 CA certificate.

Przekazywanie certyfikatu

Proces przekazywania certyfikatu urzędu certyfikacji X.509 jest tylko taki: przekazywanie certyfikatu urzędu certyfikacji do usługi IoT Hub. Usługa IoT Hub oczekuje certyfikatu w pliku.

Plik certyfikatu nie może w żadnym wypadku zawierać żadnych kluczy prywatnych. Najlepsze rozwiązania dotyczące standardów dotyczących infrastruktury kluczy publicznych (PKI) nakazują, aby wiedza na temat klucza prywatnego firmy-X znajdowała się wyłącznie w obrębie firmy-X.

Potwierdzanie posiadania

Certyfikat X.509 urzędu certyfikacji, podobnie jak każdy certyfikat cyfrowy, jest informacjami publicznymi, które są podatne na podsłuchiwanie. W związku z tym podsłuchiwanie może przechwycić certyfikat i spróbować przekazać go jako własny. W naszym przykładzie usługa IoT Hub musi upewnić się, że przekazany certyfikat urzędu certyfikacji Company-X naprawdę należy do firmy-X. To robi, kwestionując Firmę-X, aby udowodnić, że posiadają certyfikat poprzez przepływ dowodu posiadania (PoP).

W przypadku przepływu weryfikacji posiadania usługa IoT Hub generuje losową liczbę podpisaną przez firmę-X przy użyciu klucza prywatnego. Jeśli firma-X przestrzegała najlepszych rozwiązań dotyczących infrastruktury kluczy publicznych i chroniła swój klucz prywatny, wówczas tylko będą mogli prawidłowo reagować na wyzwanie dowodowe posiadania. Usługa IoT Hub kontynuuje rejestrowanie certyfikatu urzędu certyfikacji X.509 po pomyślnej odpowiedzi na wyzwanie dowodowe posiadania.

Pomyślna odpowiedź na wyzwanie dowodowe posiadania z usługi IoT Hub kończy rejestrację urzędu certyfikacji X.509.

Logowanie urządzeń do łańcucha zaufania certyfikatów

Usługa IoT wymaga unikatowej tożsamości dla każdego urządzenia, które nawiązuje połączenie. W przypadku uwierzytelniania opartego na certyfikatach te tożsamości są w formie certyfikatów. W naszym przykładzie uwierzytelnianie oparte na certyfikatach oznacza, że każdy widżet Smart-X-Widget musi mieć unikatowy certyfikat urządzenia.

Prawidłowym, ale nieefektywnym sposobem zapewnienia unikatowych certyfikatów na każdym urządzeniu jest wstępne generowanie certyfikatów dla widżetów Smart-X i zaufanie partnerom łańcucha dostaw z odpowiednimi kluczami prywatnymi. W przypadku firmy-X oznacza to, że powierzono zarówno Factory-Y, jak i Technik-Z. Ta metoda wiąże się z wyzwaniami, które należy przezwyciężyć, aby zapewnić zaufanie w następujący sposób:

  • Konieczność udostępniania kluczy prywatnych urządzeń partnerom łańcucha dostaw, oprócz ignorowania najlepszych rozwiązań dotyczących infrastruktury kluczy publicznych, które nigdy nie udostępniają kluczy prywatnych, sprawia, że budowanie zaufania do łańcucha dostaw jest kosztowne. Wymaga systemów, takich jak bezpieczne pokoje, aby pomieścić prywatne klucze urządzeń i procesy, takie jak okresowe inspekcje zabezpieczeń. Oba dodają koszty do łańcucha dostaw.

  • Bezpieczne rozliczanie urządzeń w łańcuchu dostaw i późniejsze zarządzanie nimi we wdrożeniu staje się zadaniem jeden do jednego dla każdej pary klucz-urządzenie z punktu generowania unikatowego certyfikatu (i klucza prywatnego) do wycofania urządzenia. Uniemożliwia to zarządzanie grupami urządzeń, chyba że pojęcie grup jest jawnie wbudowane w proces. Bezpieczne zarządzanie księgowością i cyklem życia urządzeń, w związku z czym staje się dużym obciążeniem operacyjnym.

Uwierzytelnianie certyfikatów urzędu certyfikacji X.509 oferuje eleganckie rozwiązania tych wyzwań przy użyciu łańcuchów certyfikatów. Łańcuch certyfikatów wynika z urzędu certyfikacji podpisywania pośredniego urzędu certyfikacji, który z kolei podpisuje inny pośredni urząd certyfikacji itd., aż końcowy pośredni urząd certyfikacji podpisze urządzenie. W naszym przykładzie firma-X podpisuje Factory-Y, co z kolei oznacza Technik-Z, który w końcu podpisuje Smart-X-Widget.

Diagram showing an example of a certificate chain hierarchy.

Ta kaskada certyfikatów w łańcuchu reprezentuje logiczne przekazanie urzędu. Wiele łańcuchów dostaw następuje po tym logicznym przekazaniu, w którym każdy pośredni urząd certyfikacji zostaje zalogowany do łańcucha podczas odbierania wszystkich nadrzędnych certyfikatów urzędu certyfikacji, a ostatni pośredni urząd certyfikacji w końcu podpisuje każde urządzenie i wprowadza wszystkie certyfikaty urzędu z łańcucha do urządzenia. Ta hand-off jest powszechna, gdy zakontraktowana firma produkcyjna z hierarchią fabryk zleca określoną fabrykę do produkcji. Chociaż hierarchia może być głęboka na kilka poziomów (na przykład według lokalizacji geograficznej/typu produktu/linii produkcyjnej), tylko fabryka na końcu wchodzi w interakcję z urządzeniem, ale łańcuch jest utrzymywany z góry hierarchii.

Alternatywne łańcuchy mogą mieć różne pośrednie urzędy certyfikacji współdziałają z urządzeniem, w którym w takim przypadku urząd certyfikacji wchodzi w interakcję z urządzeniem iniekcji zawartości łańcucha certyfikatów w tym momencie. Modele hybrydowe są również możliwe, gdy tylko niektóre urzędy certyfikacji mają fizyczną interakcję z urządzeniem.

Na poniższym diagramie pokazano, jak łańcuch zaufania certyfikatów znajduje się w naszym przykładzie smart-X-Widget.

Diagram showing the certificate chain of trust from the certificates of one company to the certificates of another company.

  1. Firma-X nigdy fizycznie nie wchodzi w interakcje z żadnymi widżetami Smart-X. Inicjuje łańcuch zaufania certyfikatów przez podpisanie pośredniego certyfikatu urzędu certyfikacji usługi Factory-Y.
  2. Factory-Y ma teraz własny pośredni certyfikat urzędu certyfikacji i podpis firmy Company-X. Przekazuje kopie tych elementów do urządzenia. Używa również certyfikatu pośredniego urzędu certyfikacji do podpisywania pośredniego certyfikatu urzędu certyfikacji technik-Z i certyfikatu urządzenia Smart-X-Widget.
  3. Technik-Z ma teraz własny pośredni certyfikat urzędu certyfikacji i podpis z Factory-Y. Przekazuje kopie tych elementów do urządzenia. Używa również certyfikatu pośredniego urzędu certyfikacji do podpisania certyfikatu urządzenia Smart-X-Widget.
  4. Każde urządzenie Smart-X-Widget ma teraz własny unikatowy certyfikat urządzenia i kopie kluczy publicznych i podpisów z każdego pośredniego certyfikatu urzędu certyfikacji, z którego wchodził w interakcję w całym łańcuchu dostaw. Te certyfikaty i podpisy można prześledzić z powrotem do oryginalnego katalogu głównego Firmy-X.

Metoda uwierzytelniania urzędu certyfikacji wprowadza bezpieczną odpowiedzialność w łańcuchu dostaw produkcji urządzeń. Ze względu na proces łańcucha certyfikatów akcje każdego elementu członkowskiego w łańcuchu są rejestrowane kryptograficznie i weryfikowalne.

Ten proces opiera się na założeniu, że unikatowa para kluczy publicznych/prywatnych urządzenia jest tworzona niezależnie i że klucz prywatny jest zawsze chroniony w urządzeniu. Na szczęście bezpieczne mikroukłady krzemowe istnieją w postaci sprzętowych modułów Secure Modules (HSM), które mogą wewnętrznie generować klucze i chronić klucze prywatne. Firma-X musi dodać tylko jeden taki bezpieczny mikroukład do rachunku składników Smart-X-Widget materiałów.

Uwierzytelnianie urządzeń

Po zarejestrowaniu certyfikatu najwyższego poziomu w usłudze IoT Hub i urządzeniach mają swoje unikatowe certyfikaty, jak nawiązać połączenie? Rejestrując jednorazowo certyfikat X.509 urzędu certyfikacji w usłudze IoT Hub, jak potencjalnie miliony urządzeń łączą się i są uwierzytelniane po raz pierwszy? Za pomocą tego samego przepływu przekazywania certyfikatu i dowodu posiadania, który wcześniej napotkaliśmy podczas rejestrowania certyfikatu urzędu certyfikacji X.509.

Urządzenia produkowane do uwierzytelniania X.509 URZĘDU certyfikacji są wyposażone w unikatowe certyfikaty urządzeń i łańcuch certyfikatów z odpowiedniego łańcucha dostaw produkcyjnych. Połączenie urządzenia, nawet po raz pierwszy, odbywa się w dwuetapowym procesie: przekazywanie łańcucha certyfikatów i dowód posiadania.

Podczas przekazywania łańcucha certyfikatów urządzenie przekazuje swój unikatowy certyfikat i łańcuch certyfikatów do usługi IoT Hub. Korzystając ze wstępnie zarejestrowanego certyfikatu X.509 urzędu certyfikacji, usługa IoT Hub sprawdza, czy przekazany łańcuch certyfikatów jest wewnętrznie spójny i że łańcuch pochodzi od prawidłowego właściciela certyfikatu X.509 urzędu certyfikacji. Podobnie jak w przypadku procesu rejestracji urzędu certyfikacji X.509, usługa IoT Hub używa procesu weryfikacji posiadania w celu sprawdzenia, czy łańcuch, a w związku z tym certyfikat urządzenia, należy do urządzenia przekazującego go. Pomyślna odpowiedź wyzwala usługę IoT Hub w celu zaakceptowania urządzenia jako uwierzytelnionego i udzielenia mu połączenia.

W naszym przykładzie każdy widżet Smart-X-Widget przekaże unikatowy certyfikat urządzenia wraz z certyfikatami Factory-Y i Technician-Z X.509 URZĘDU certyfikacji, a następnie odpowie na wyzwanie dowodowe posiadania z usługi IoT Hub.

Diagram showing the flow for validating a device certificate.

Podstawą zaufania jest ochrona kluczy prywatnych, w tym kluczy prywatnych urządzeń. W związku z tym nie możemy podkreślić wystarczającej ważności bezpiecznych układów krzemowych w postaci sprzętowych bezpiecznych modułów (HSM) do ochrony kluczy prywatnych urządzeń, a ogólne najlepsze rozwiązanie nigdy nie udostępnia żadnych kluczy prywatnych, takich jak jedna fabryka, która powierzona innemu kluczowi prywatnemu.

Następne kroki

Użyj usługi Device Provisioning Service, aby aprowizować wiele urządzeń X.509 przy użyciu grup rejestracji.

Aby dowiedzieć się więcej o polach tworzących certyfikat X.509, zobacz X.509 certificates (Certyfikaty X.509).

Jeśli masz certyfikat głównego urzędu certyfikacji lub podrzędny certyfikat urzędu certyfikacji i chcesz przekazać go do centrum IoT, musisz sprawdzić, czy jest on właścicielem tego certyfikatu. Aby uzyskać więcej informacji, zobacz Samouczek: tworzenie i przekazywanie certyfikatów na potrzeby testowania.