Wystawianie certyfikatów urządzenia w zarządzaniu certyfikatami Azure IoT Hub (wersja zapoznawcza)

Wystawianie certyfikatu urządzenia to proces, za pomocą którego urządzenia żądają certyfikatu i otrzymują go w ramach aprowizacji. Azure Device Registry (ADR) generuje i wystawia nowy certyfikat X.509 dla urządzeń IoT podczas aprowizacji. W tym artykule wyjaśniono, jak urządzenie wysyła Żądanie Podpisania Certyfikatu (CSR), jak ADR i Device Provisioning Service (DPS) współpracują ze sobą w celu wystawiania certyfikatów na dużą skalę oraz jak IoT Hub ufa wystawionym certyfikatom.

Ważna

Azure IoT Hub z integracją z usługą Azure Device Registry i zarządzaniem certyfikatami X.509 obsługiwanym przez firmę Microsoft jest dostępny w publicznej wersji zapoznawczej i nie jest zalecany do obciążeń produkcyjnych. Aby uzyskać więcej informacji, zobacz FAQ: Co nowego w IoT Hub?.

Jak działa wystawianie certyfikatu urządzenia

W poniższych krokach opisano pełny proces wystawiania od początku do końca:

  1. Urządzenie IoT łączy się z punktem końcowym usługi DPS i potwierdza swoją tożsamość, używając wstępnie skonfigurowanych poświadczeń dołączania, takich jak klucz symetryczny, certyfikat X.509 lub moduł TPM (Trusted Platform Module). W ramach tego wywołania rejestracji urządzenie wysyła żądanie podpisania certyfikatu (CSR), które zawiera klucz publiczny urządzenia i jego identyfikator rejestracji.
  2. Usługa DPS przypisuje urządzenie IoT do IoT Hub w oparciu o konfigurację rejestracji.
  3. Tożsamość urządzenia jest tworzona w IoT Hub i zarejestrowana w przestrzeni nazw ADR. CSR jest przekazywany do unikatowej infrastruktury kluczy publicznych (PKI) przypisanej do ADR Namespace. Infrastruktura kluczy publicznych weryfikuje żądanie i przekazuje je do polityki powiązanej z rejestracją DPS.
  4. Urząd certyfikacji wydający zasady podpisuje i wystawia certyfikat operacyjny.
  5. Usługa DPS zwraca wystawiony certyfikat i szczegóły połączenia z IoT Hub do urządzenia.
  6. Urządzenie uwierzytelnia się przy użyciu IoT Hub przez przedstawienie pełnego łańcucha certyfikatów.

Diagram pokazujący, jak rejestr urządzeń Azure integruje się z usługami IoT Hub i DPS na potrzeby zarządzania certyfikatami podczas aprowizacji.

Wymagania dotyczące żądania podpisania certyfikatu

Gdy urządzenie aprowizuje lub ponownie aprowizuje, wysyła csr do usługi DPS. DPS oczekuje, że CSR spełnia następujące wymagania:

  • Format: Reguły kodowania wyróżniającego (DER) zakodowane w formacie Base64, zgodnie ze specyfikacją standardów kryptografii klucza publicznego (PKCS) #10. Nie można uwzględnić nagłówków i stopek poczty rozszerzonej o prywatność (PEM).
  • Common name (CN): Pole CN musi dokładnie odpowiadać identyfikatorowi rejestracji DPS urządzenia.
  • Algorytm klucza: Klucz krzywej eliptycznej (EC) przy użyciu krzywej NIST P-384. Klucze RSA nie są obsługiwane w bieżącej wersji zapoznawczej.

Aby zapoznać się z przykładami implementacji, zobacz przykłady zestawu SDK urządzeń DPS.

Algorytmy kryptograficzne

Zarządzenie certyfikatami używa następujących standardów kryptograficznych dla wszystkich certyfikatów wystawionych przez polityki:

Property Wartość
Algorytm klucza ECC (ECDSA)
Krzywa NIST P-384 (secp384r1)
Algorytm skrótu SHA-384
Przechowywanie kluczy Zarządzany moduł HSM platformy Azure

ECC z P-384 oferuje poziom bezpieczeństwa równoważny RSA przy znacznie mniejszych rozmiarach kluczy. Ten algorytm generuje mniejsze certyfikaty, szybsze uzgadnianie protokołu TLS i mniejsze zużycie energii na ograniczonych urządzeniach IoT.

IoT Hub zaufania i synchronizacji poświadczeń

Aby urządzenie uwierzytelniło się przy użyciu IoT Hub przy użyciu wystawionego certyfikatu, IoT Hub musi ufać wystawiającemu urzędowi certyfikacji, który podpisał certyfikat urządzenia. Usługa ADR zarządza tym zaufaniem za pośrednictwem synchronizacji poświadczeń, która wypycha certyfikat urzędu certyfikacji z ADR do połączonych IoT Hubs.

Aby ręcznie uruchomić synchronizację poświadczeń, użyj następującego polecenia Azure CLI:

az iot adr ns credential sync --namespace <namespace> -g <resource-group>

IoT Hub przechowuje certyfikat wystawiającego urzędu certyfikacji i używa go do weryfikowania łańcucha certyfikatów, które przedstawiają twoje urządzenia podczas uwierzytelniania TLS.