Pojęcia dotyczące uwierzytelniania urządzeń w usłudze IoT Central
W tym artykule opisano sposób uwierzytelniania urządzeń w aplikacji usługi IoT Central. Aby dowiedzieć się więcej na temat ogólnego procesu połączenia, zobacz Łączenie urządzenia.
Urządzenia uwierzytelniają się w aplikacji usługi IoT Central przy użyciu tokenu sygnatury dostępu współdzielonego (SAS) lub certyfikatu X.509. Certyfikaty X.509 są zalecane w środowiskach produkcyjnych.
Grupy rejestracji służą do zarządzania opcjami uwierzytelniania urządzeń w aplikacji usługi IoT Central.
W tym artykule opisano następujące opcje uwierzytelniania urządzenia:
- Grupa rejestracji X.509
- Grupa rejestracji sygnatury dostępu współdzielonego
- Rejestracja indywidualna
Każda z tych opcji uwierzytelniania wymaga, aby każde urządzenie ma unikatowy identyfikator urządzenia. Identyfikator urządzenia to unikatowy identyfikator urządzenia, którego używasz do zarządzania urządzeniem w aplikacji usługi IoT Central.
Grupa rejestracji X.509
W środowisku produkcyjnym używanie certyfikatów X.509 jest zalecanym mechanizmem uwierzytelniania urządzeń dla usługi IoT Central. Aby dowiedzieć się więcej, zobacz Uwierzytelnianie urządzeń przy użyciu certyfikatów X.509 urzędu certyfikacji.
Grupa rejestracji X.509 zawiera certyfikat główny lub pośredni X.509. Urządzenia mogą uwierzytelniać się, jeśli mają prawidłowy certyfikat liścia pochodzący z certyfikatu głównego lub pośredniego.
Aby połączyć urządzenie z certyfikatem X.509 z aplikacją:
- Utwórz grupę rejestracji używającą typu zaświadczania certyfikatów (X.509).
- Dodaj i sprawdź pośredni lub główny certyfikat X.509 w grupie rejestracji.
- Wygeneruj certyfikat liścia z certyfikatu głównego lub pośredniego w grupie rejestracji. Zainstaluj certyfikat liścia na urządzeniu, który będzie używany podczas nawiązywania połączenia z aplikacją.
Każda grupa rejestracji powinna używać unikatowego certyfikatu X.509. Usługa IoT Central nie obsługuje używania tego samego certyfikatu X.509 w wielu grupach rejestracji.
Aby dowiedzieć się więcej, zobacz Jak połączyć urządzenia z certyfikatami X.509.
Tylko do celów testowych
W środowisku produkcyjnym użyj certyfikatów od dostawcy certyfikatów. Tylko do testowania można użyć następujących narzędzi do generowania certyfikatów głównych, pośrednich i urządzeń:
- Narzędzia zestawu SDK usługi Azure IoT Device Provisioning: kolekcja narzędzi Node.js, których można użyć do generowania i weryfikowania certyfikatów i kluczy X.509.
- Zarządzanie certyfikatami testowego urzędu certyfikacji dla przykładów i samouczków: kolekcja skryptów programu PowerShell i powłoki Bash do:
- Utwórz łańcuch certyfikatów.
- Zapisz certyfikaty jako pliki .cer, aby przekazać je do aplikacji usługi IoT Central.
- Użyj kodu weryfikacyjnego z aplikacji usługi IoT Central, aby wygenerować certyfikat weryfikacji.
- Utwórz certyfikaty liści dla urządzeń przy użyciu identyfikatorów urządzeń jako parametru narzędzia.
Grupa rejestracji sygnatury dostępu współdzielonego
Grupa rejestracji sygnatury dostępu współdzielonego zawiera klucze sygnatury dostępu współdzielonego na poziomie grupy. Urządzenia mogą uwierzytelniać się, jeśli mają prawidłowy token SAS pochodzący z klucza sygnatury dostępu współdzielonego na poziomie grupy.
Aby połączyć urządzenie z tokenem SAS urządzenia z aplikacją:
Utwórz grupę rejestracji korzystającą z typu zaświadczania sygnatury dostępu współdzielonego (SAS).
Skopiuj klucz podstawowy lub pomocniczy grupy z grupy rejestracji.
Użyj interfejsu wiersza polecenia platformy Azure, aby wygenerować token urządzenia na podstawie klucza grupy:
az iot central device compute-device-key --primary-key <enrollment group primary key> --device-id <device ID>
Napiwek
Każde urządzenie łączące się z aplikacją usługi IoT Central musi mieć unikatowy identyfikator urządzenia. Poprzednie polecenie generuje unikatowy token dla każdego urządzenia.
Użyj wygenerowanego tokenu urządzenia, gdy urządzenie łączy się z aplikacją usługi IoT Central.
Uwaga
Aby użyć istniejących kluczy SAS w grupach rejestracji, wyłącz przełącznik Automatycznie generuj klucze i ręcznie wprowadź klucze SYGNATURy dostępu współdzielonego.
Jeśli używasz domyślnej grupy rejestracji sas-IoT-Devices , usługa IoT Central wygeneruje poszczególne klucze urządzeń. Aby uzyskać dostęp do tych kluczy, wybierz pozycję Połącz na stronie szczegółów urządzenia. Na tej stronie zostanie wyświetlony zakres identyfikatora, identyfikator urządzenia, klucz podstawowy i klucz pomocniczy używany w kodzie urządzenia. Na tej stronie jest również wyświetlany kod QR zawierający te same dane.
Rejestracja indywidualna
Zazwyczaj urządzenia łączą się przy użyciu poświadczeń pochodzących z certyfikatu X.509 grupy rejestracji lub klucza sygnatury dostępu współdzielonego. Jeśli jednak urządzenia mają własne poświadczenia, możesz użyć rejestracji indywidualnych. Rejestracja indywidualna to wpis dla pojedynczego urządzenia, który umożliwia mu nawiązanie połączenia. Rejestracje indywidualne mogą używać certyfikatów liści X.509 lub tokenów SAS (z fizycznego lub wirtualnego modułu zaufanej platformy) jako mechanizmów zaświadczania. Aby uzyskać więcej informacji, zobacz Rejestracja indywidualna w usłudze DPS.
Uwaga
Podczas tworzenia indywidualnej rejestracji dla urządzenia pierwszeństwo przed domyślnymi opcjami grupy rejestracji w aplikacji usługi IoT Central ma pierwszeństwo.
Tworzenie rejestracji indywidualnych
Usługa IoT Central obsługuje następujące mechanizmy zaświadczania dla rejestracji indywidualnych:
Zaświadczanie klucza symetrycznego: zaświadczanie klucza symetrycznego to proste podejście do uwierzytelniania urządzenia przy użyciu wystąpienia usługi DPS. Aby utworzyć rejestrację indywidualną korzystającą z kluczy symetrycznych, otwórz stronę Połączenie urządzenia dla urządzenia, wybierz pozycję Rejestracja indywidualna jako typ uwierzytelniania, a jako metodę uwierzytelniania wybierz opcję Sygnatura dostępu współdzielonego (SAS). Wprowadź klucze podstawowe i pomocnicze zakodowane w formacie base64 i zapisz zmiany. Użyj zakresu identyfikatora, identyfikatora urządzenia i klucza podstawowego lub pomocniczego, aby połączyć urządzenie.
Napiwek
Do testowania można użyć biblioteki OpenSSL do generowania kluczy zakodowanych w formacie base64:
openssl rand -base64 64
Certyfikaty X.509: Aby utworzyć rejestrację indywidualną z certyfikatami X.509, otwórz stronę Połączenie urządzenia , wybierz pozycję Rejestracja indywidualna jako typ uwierzytelniania i Certyfikaty (X.509) jako metodę uwierzytelniania. Certyfikaty urządzeń używane z wpisem rejestracji indywidualnej mają wymaganie, aby wystawca i podmiot CN zostały ustawione na identyfikator urządzenia.
Napiwek
Do testowania można użyć narzędzi dla zestawu SDK urządzenia usługi Azure IoT Device Provisioning dla Node.js w celu wygenerowania certyfikatu z podpisem własnym:
node create_test_cert.js device "mytestdevice"
Zaświadczenie modułu TPM (Trusted Platform Module): moduł TPM jest typem sprzętowego modułu zabezpieczeń. Używanie modułu TPM to jeden z najbezpieczniejszych sposobów łączenia urządzenia. W tym artykule założono, że używasz dyskretnego, oprogramowania układowego lub zintegrowanego modułu TPM. Emulowane oprogramowanie modułów TPM doskonale nadają się do tworzenia prototypów lub testowania, ale nie zapewniają tego samego poziomu zabezpieczeń co dyskretne, układowe lub zintegrowane moduły TPM. Nie używaj programowych modułów TPM w środowisku produkcyjnym. Aby utworzyć rejestrację indywidualną korzystającą z modułu TPM, otwórz stronę Połączenie urządzenia, wybierz pozycję Rejestracja indywidualna jako typ uwierzytelniania i moduł TPM jako metodę uwierzytelniania. Wprowadź klucz poręczenia modułu TPM i zapisz informacje o połączeniu urządzenia.
Automatyczne rejestrowanie urządzeń
Ten scenariusz umożliwia producentom OEM masową produkcję urządzeń, które mogą łączyć się bez uprzedniego zarejestrowania w aplikacji. OEM generuje odpowiednie poświadczenia urządzenia i konfiguruje urządzenia w fabryce.
Aby automatycznie zarejestrować urządzenia korzystające z certyfikatów X.509:
Wygeneruj certyfikaty liści dla urządzeń przy użyciu certyfikatu głównego lub pośredniego dodanego do grupy rejestracji X.509. Użyj identyfikatorów urządzeń jako
CNAME
identyfikatorów w certyfikatach liścia. Identyfikator urządzenia może zawierać litery, cyfry i-
znak.Jako producenta OEM flash każde urządzenie z identyfikatorem urządzenia, wygenerowanym certyfikatem liści X.509 i wartością zakresu identyfikatora aplikacji. Kod urządzenia powinien również wysłać identyfikator modelu modelu, który implementuje.
Po włączeniu urządzenia najpierw nawiązuje połączenie z usługą DPS, aby pobrać informacje o połączeniu usługi IoT Central.
Urządzenie używa informacji z usługi DPS do nawiązywania połączenia i rejestrowania w aplikacji usługi IoT Central.
Aplikacja usługi IoT Central używa identyfikatora modelu wysyłanego przez urządzenie do przypisywania zarejestrowanego urządzenia do szablonu urządzenia.
Aby automatycznie zarejestrować urządzenia korzystające z tokenów SAS:
Skopiuj klucz podstawowy grupy z grupy rejestracji SAS-IoT-Devices :
az iot central device compute-device-key
Użyj polecenia , aby wygenerować klucze sygnatury dostępu współdzielonego urządzenia. Użyj klucza podstawowego grupy z poprzedniego kroku. Identyfikator urządzenia może zawierać litery, cyfry i-
znak:az iot central device compute-device-key --primary-key <enrollment group primary key> --device-id <device ID>
Jako producenta OEM prześlij każde urządzenie z identyfikatorem urządzenia, wygenerowanym kluczem sygnatury dostępu współdzielonego urządzenia i wartością zakresu identyfikatora aplikacji. Kod urządzenia powinien również wysłać identyfikator modelu modelu, który implementuje.
Po włączeniu urządzenia najpierw nawiązuje połączenie z usługą DPS w celu pobrania informacji o rejestracji usługi IoT Central.
Urządzenie używa informacji z usługi DPS do nawiązywania połączenia i rejestrowania w aplikacji usługi IoT Central.
Aplikacja usługi IoT Central używa identyfikatora modelu wysyłanego przez urządzenie do przypisywania zarejestrowanego urządzenia do szablonu urządzenia.
Następne kroki
Poniżej przedstawiono kilka sugerowanych następnych kroków:
- Zapoznaj się z najlepszymi rozwiązaniami dotyczącymi tworzenia urządzeń.
- Zapoznaj się z przykładowym kodem, który pokazuje, jak używać tokenów SAS w artykule Samouczek: tworzenie i łączenie aplikacji klienckiej z aplikacją usługi Azure IoT Central
- Dowiedz się, jak połączyć urządzenia z certyfikatami X.509 przy użyciu zestawu SDK urządzenia Node.js dla aplikacji usługi IoT Central
- Dowiedz się, jak monitorować łączność urządzeń przy użyciu interfejsu wiersza polecenia platformy Azure
- Przeczytaj o urządzeniach usługi Azure IoT Edge i usłudze Azure IoT Central