Uwierzytelnianie urządzeń za pomocą certyfikatów X.509 urzędu certyfikacji

W tym artykule opisano sposób używania certyfikatów urzędu certyfikacji X.509 do uwierzytelniania urządzeń łączących się IoT Hub. Ten artykuł zawiera informacje na temat:

  • Jak uzyskać certyfikat X.509 urzędu certyfikacji
  • Jak zarejestrować certyfikat X.509 urzędu certyfikacji w IoT Hub
  • Jak podpisywać urządzenia przy użyciu certyfikatów X.509 urzędu certyfikacji
  • Sposób uwierzytelniania urządzeń podpisanych za pomocą urzędu certyfikacji X.509

Ważne

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

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

Jest ona ogólnie dostępna na urządzeniach, które korzystają z uwierzytelniania za pomocą odcisku palca X.509. Aby dowiedzieć się więcej na temat uwierzytelniania X.509 za IoT Hub, zobacz Obsługiwane certyfikaty X.509.

Omówienie

Funkcja X.509 urzędu certyfikacji umożliwia uwierzytelnianie urządzeń IoT Hub użyciu urzędu certyfikacji. Znacznie upraszcza to początkowy proces rejestracji urządzeń i logistykę łańcucha dostaw podczas produkcji urządzeń. Dowiedz się więcej w tym artykule o wartości używania certyfikatów X.509 urzędu certyfikacji do uwierzytelniania urządzeń. Zachęcamy do przeczytania tego artykułu scenariusza przed przystąpieniem do wyjaśniania, dlaczego poniższe kroki istnieją.

Wymaganie wstępne

Korzystanie z funkcji X.509 urzędu certyfikacji wymaga konta IoT Hub klienta. Dowiedz się, jak utworzyć IoT Hub, jeśli jeszcze go nie masz.

Jak uzyskać certyfikat X.509 urzędu certyfikacji

Certyfikat X.509 urzędu certyfikacji znajduje się na początku łańcucha certyfikatów dla każdego urządzenia. Możesz go kupić lub utworzyć w zależności od tego, jak zamierzasz z niego korzystać.

W przypadku środowiska produkcyjnego zaleca się zakup certyfikatu X.509 urzędu certyfikacji od publicznego głównego urzędu certyfikacji. Zakup certyfikatu urzędu certyfikacji ma zaletę głównego urzędu certyfikacji działającego jako zaufana strona trzecia, która oferuje autentyczność urządzeń. Rozważ tę opcję, jeśli zamierzasz, aby urządzenia były częścią otwartej sieci IoT, w której powinny współdziałać z produktami lub usługami innych firm.

Można również utworzyć urząd certyfikacji X.509 z podpisem własnym do eksperymentowania lub do użytku w zamkniętych sieciach IoT.

Niezależnie od sposobu uzyskania certyfikatu X.509 urzędu certyfikacji, upewnij się, że jego odpowiedni klucz tajny klucza prywatnego jest chroniony przez cały czas. Jest to niezbędne do budowania zaufania podczas uwierzytelniania urzędu certyfikacji X.509.

Dowiedz się, jak utworzyć certyfikaturzędu certyfikacji z podpisem własnym, którego można używać do eksperymentowania w tym opisie funkcji.

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 i tak dalej, aż ostatni pośredni urząd certyfikacji zakończy ten proces, podpisując urządzenie. Wynikiem jest kaskadowy łańcuch certyfikatów nazywany łańcuchem zaufania certyfikatów. W rzeczywistości jest to pełniące rolę delegowania zaufania do podpisywania urządzeń. To delegowanie jest ważne, ponieważ ustanawia kryptograficznie łańcuch opieki nad zmiennymi i pozwala uniknąć udostępniania kluczy podpisywania.

img-generic-cert-chain-of-trust

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

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

Jak zarejestrować certyfikat X.509 urzędu certyfikacji w IoT Hub

Zarejestruj certyfikat X.509 urzędu certyfikacji w IoT Hub, gdzie będzie używany do uwierzytelniania urządzeń podczas rejestracji i połączenia. Rejestrowanie certyfikatu X.509 urzędu certyfikacji jest procesem dwuetapowym, który składa się z przekazywania pliku certyfikatu i dowodu posiadania.

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

Dowód posiadania obejmuje proces kryptograficznego wyzwania i odpowiedzi między to użytkownikiem a IoT Hub. Ponieważ zawartość certyfikatu cyfrowego jest publiczna i w związku z tym podsłuchiwem, IoT Hub chcesz upewnić się, że naprawdę jesteś właścicielem certyfikatu urzędu certyfikacji. W tym celu należy wygenerować losowe wyzwanie, które należy podpisać przy użyciu odpowiedniego klucza prywatnego certyfikatu urzędu certyfikacji. Jeśli klucz prywatny jest przechowywany w kluczu tajnym i chroniony zgodnie z wcześniejszymi instrukcje, tylko Ty będziesz posiadać wiedzę na temat ukończenia tego kroku. Secrecy of private keys is the source of trust in this method (Chylić kluczy prywatnych jest źródłem zaufania w tej metodzie). Po podpisaniu wyzwania wykonaj ten krok, przesyłając plik zawierający wyniki.

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

Jak utworzyć urządzenie na IoT Hub

Aby uniemożliwić personifikację urządzeń, IoT Hub wymaga, aby użytkownik wiedział, jakich urządzeń oczekuje. W tym celu należy utworzyć wpis urządzenia w IoT Hub rejestru urządzeń użytkownika. Ten proces jest zautomatyzowany w przypadku korzystania IoT Hub Device Provisioning Service.

Dowiedz się tutaj, jak ręcznie utworzyć urządzenie w IoT Hub.

Tworzenie urządzenia X.509 dla centrum IoT

Uwierzytelnianie urządzeń podpisanych za pomocą certyfikatów X.509 urzędu certyfikacji

Po zarejestrowaniu certyfikatu X.509 urzędu certyfikacji i zarejestrowaniu urządzeń w łańcuchu zaufania certyfikatów pozostaje uwierzytelnianie urządzenia podczas połączenia urządzenia, nawet po raz pierwszy. Gdy urządzenie podpisane przez urząd certyfikacji X.509 nawiąże połączenie, przekaże łańcuch certyfikatów w celu weryfikacji. Łańcuch obejmuje wszystkie certyfikaty pośredniego urzędu certyfikacji i urządzenia. Dzięki tym informacjom IoT Hub uwierzytelnia urządzenie w procesie dwuetapowym. IoT Hub kryptograficznie weryfikuje łańcuch certyfikatów w celu zapewnienia spójności wewnętrznej, a następnie wydaje urządzeniu test dowodu posiadania. IoT Hub deklaruje autentyczność urządzenia w przypadku pomyślnej odpowiedzi na potwierdzenie 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. W celu ochrony kluczy prywatnych zalecamy używanie bezpiecznych mikroułytek, takich jak sprzętowe moduły zabezpieczeń (HSM, Hardware Secure Modules).

Pomyślne połączenie urządzenia z IoT Hub kończy proces uwierzytelniania, a także wskazuje na odpowiednią konfigurację.

Tutaj dowiesz się, jak wykonać ten krok połączenia urządzenia.

Następne kroki

Dowiedz się więcej o wartości uwierzytelniania urzędu certyfikacji X.509 w IoT.

Wprowadzenie do usługi IoT Hub Device Provisioning Service.