Migrowanie zasobów IoT Hub do nowego głównego katalogu certyfikatu TLS

Usługi Azure IoT Hub i Device Provisioning Service (DPS) używają certyfikatów TLS wystawionych przez Baltimore CyberTrust Root, które wygasają w 2025 roku. Począwszy od lutego 2023 r., wszystkie centra IoT w globalnej chmurze platformy Azure zostaną zmigrowane do nowego certyfikatu TLS wystawionego przez DigiCert Global Root G2.

Teraz należy rozpocząć planowanie skutków migracji centrów IoT do nowego certyfikatu TLS:

  • Każde urządzenie, które nie ma globalnego katalogu głównego G2 firmy DigiCert w magazynie certyfikatów, nie będzie mogło nawiązać połączenia z platformą Azure.
  • Adres IP centrum IoT zostanie zmieniony.

Oś czasu

Migracja usługi IoT Hub została ukończona z wyjątkiem centrów, które zostały już zatwierdzone dla rozszerzenia. Jeśli twoje centrum IoT zostanie uznane za korzystanie z certyfikatu Baltimore bez umowy zawartej z zespołem produktu, centrum zostanie zmigrowane bez żadnego dodatkowego powiadomienia.

Po przeprowadzeniu migracji wszystkich centrów IoT usługa DPS przeprowadzi migrację między 15 stycznia a 30 września 2024 r.

Dla każdego centrum IoT z obowiązującą umową rozszerzenia można oczekiwać następujących elementów:

  • Jeden do dwóch tygodni przed migracją: właściciele subskrypcji każdego centrum IoT Otrzymują powiadomienie e-mail z informacją o dacie migracji. To powiadomienie nie dotyczy centrów, które są migrowane ręcznie.
  • Dzień migracji: centrum IoT przełącza certyfikat TLS do globalnego katalogu głównego G2 firmy DigiCert, co nie powoduje przestoju centrum IoT. Usługa IoT Hub nie wymusza ponownego nawiązywania połączeń z urządzeniami.
  • Po migracji: Właściciele subskrypcji otrzymają powiadomienie z potwierdzeniem migracji centrum IoT. Urządzenia próbują ponownie nawiązać połączenie na podstawie ich indywidualnej logiki ponawiania prób, w którym momencie żądają nowego certyfikatu serwera z usługi IoT Hub i ponownie nawiążą połączenie tylko wtedy, gdy ufają globalnej głównej G2 firmy Digicert.

Żądanie rozszerzenia

Od sierpnia 2023 r. proces żądania rozszerzenia jest zamykany dla usług IoT Hub i IoT Central. Jeśli twoje centrum IoT zostanie uznane za korzystanie z certyfikatu Baltimore bez umowy rozszerzenia zawartej z zespołem produktu, centrum zostanie zmigrowane bez żadnego dodatkowego powiadomienia.

Wymagane kroki

Aby przygotować się do migracji, wykonaj następujące czynności:

  1. Zachowaj katalog główny Baltimore CyberTrust w zaufanym magazynie głównym urządzeń. Dodaj do urządzeń certyfikaty DigiCert Global Root G2 i Główny urząd certyfikacji MICROSOFT RSA 2017. Wszystkie te certyfikaty można pobrać ze szczegółów urzędu certyfikacji platformy Azure.

    Ważne jest, aby wszystkie trzy certyfikaty na urządzeniach zostały ukończone do czasu ukończenia migracji usług IoT Hub i DPS. Utrzymanie konta Baltimore CyberTrust Root gwarantuje, że urządzenia pozostaną połączone do czasu migracji, a dodanie aplikacji DigiCert Global Root G2 gwarantuje, że urządzenia będą bezproblemowo przełączać się i ponownie łączyć po migracji. Główny urząd certyfikacji MICROSOFT RSA 2017 pomaga zapobiec przyszłym zakłóceniom w przypadku nieoczekiwanego wycofania globalnego katalogu głównego G2 firmy DigiCert.

    Aby uzyskać więcej informacji na temat zalecanych praktyk dotyczących certyfikatów usługi IoT Hub, zobacz Obsługa protokołu TLS.

  2. Upewnij się, że nie przypinasz żadnych certyfikatów pośrednich ani liści i używasz publicznych katalogów głównych do przeprowadzania weryfikacji serwera TLS.

    Usługi IoT Hub i DPS od czasu do czasu przerzucają pośredni urząd certyfikacji. W takich przypadkach urządzenia utracą łączność, jeśli jawnie szukają pośredniego urzędu certyfikacji lub certyfikatu liścia. Jednak urządzenia, które przeprowadzają walidację przy użyciu publicznych katalogów głównych, będą nadal łączyć się niezależnie od wszelkich zmian w pośrednim urzędzie certyfikacji.

Aby uzyskać więcej informacji na temat testowania, czy urządzenia są gotowe do migracji certyfikatów TLS, zobacz wpis w blogu Azure IoT TLS: Krytyczne zmiany są prawie tutaj.

Sprawdzanie stanu migracji centrum IoT

Aby dowiedzieć się, czy centrum IoT zostało zmigrowane, czy nie, sprawdź aktywny katalog główny certyfikatu dla centrum.

  1. W witrynie Azure Portal przejdź do centrum IoT Hub.

  2. Wybierz pozycję Eksportuj szablon w sekcji Automatyzacja w menu nawigacji.

  3. Poczekaj na wygenerowanie szablonu, a następnie przejdź do właściwości resources.properties.features w szablonie JSON. Jeśli rootCertificateV2 jest wymieniony jako funkcja, centrum zostało zmigrowane do firmy DigiCert Global G2.

Często zadawane pytania

Moje urządzenia używają uwierzytelniania SAS/X.509/TPM. Czy ta migracja wpłynie na moje urządzenia?

Migrowanie certyfikatu TLS nie ma wpływu na sposób uwierzytelniania urządzeń przez usługę IoT Hub. Ta migracja ma wpływ na sposób uwierzytelniania urządzeń w punktach końcowych usługi IoT Hub i DPS.

Usługi IoT Hub i DPS przedstawiają certyfikat serwera urządzeniom, a urządzenia uwierzytelniają ten certyfikat względem katalogu głównego, aby ufać połączeniu z punktami końcowymi. Urządzenia muszą mieć nowy katalog główny G2 firmy DigiCert w swoich zaufanych magazynach certyfikatów, aby móc zweryfikować platformę Azure i nawiązać z nią połączenie po tej migracji.

Moje urządzenia używają zestawów SDK usługi Azure IoT do nawiązania połączenia. Czy muszę coś zrobić, aby zestawy SDK działały z nowym certyfikatem?

To zależy.

  • Tak, jeśli używasz klienta urządzenia Java V1. Ten klient pakuje certyfikat główny Baltimore Cybertrust wraz z zestawem SDK. Możesz przeprowadzić aktualizację do języka Java w wersji 2 lub ręcznie dodać certyfikat Global Root G2 firmy DigiCert do kodu źródłowego.
  • Nie, jeśli używasz innych zestawów SDK usługi Azure IoT. Większość zestawów SDK usługi Azure IoT opiera się na magazynie certyfikatów podstawowego systemu operacyjnego w celu pobrania zaufanych katalogów głównych na potrzeby uwierzytelniania serwera podczas uzgadniania protokołu TLS.

Niezależnie od używanego zestawu SDK zdecydowanie zalecamy, aby wszyscy klienci weryfikowali swoje urządzenia przed migracją, zgodnie z opisem w sekcji walidacji wpisu w blogu Azure IoT TLS: Krytyczne zmiany są prawie tutaj.

Moje urządzenia łączą się z suwerennym regionem świadczenia usługi Azure. Czy nadal muszę je zaktualizować?

Nie, ta zmiana ma wpływ tylko na globalną chmurę platformy Azure. Suwerenne chmury nie są uwzględniane w tej migracji.

Używam usługi IoT Central. Czy muszę zaktualizować moje urządzenia?

Tak, usługa IoT Central używa zarówno usługi IoT Hub, jak i usługi DPS w zapleczu. Migracja protokołu TLS będzie mieć wpływ na rozwiązanie i należy zaktualizować urządzenia, aby zachować połączenie.

Aplikację można migrować z Baltimore CyberTrust Root do Katalogu Głównego Firmy DigiCert Global G2 zgodnie z własnym harmonogramem. Zalecamy następujący proces:

  1. Zachowaj root Baltimore CyberTrust na urządzeniu do momentu zakończenia okresu przejściowego 30 września 2024 r. (niezbędnego do zapobiegania przerwom w połączeniu).
  2. Oprócz Baltimore Root, upewnij się, że DigiCert Global G2 Root jest dodawany do zaufanego magazynu głównego.
  3. Upewnij się, że nie przypinasz żadnych certyfikatów pośrednich ani liści i używasz publicznych katalogów głównych do przeprowadzania weryfikacji serwera TLS.
  4. W aplikacji usługi IoT Central można znaleźć ustawienia głównej certyfikacji w obszarze Ustawienia> Application>Baltimore Cybertrust Migration.
    1. Wybierz pozycję DigiCert Globalny katalog główny G2, aby przeprowadzić migrację do nowego katalogu głównego certyfikatu.
    2. Kliknij przycisk Zapisz , aby zainicjować migrację.
    3. W razie potrzeby możesz przeprowadzić migrację z powrotem do katalogu głównego Baltimore, wybierając pozycję Baltimore CyberTrust Root i zapisując zmiany. Ta opcja jest dostępna do 15 sierpnia 2023 r., a następnie zostanie wyłączona.

Jak długo potrwa ponowne nawiązanie połączenia z urządzeniami?

Kilka czynników może mieć wpływ na zachowanie ponownego łączenia urządzenia.

Urządzenia są skonfigurowane do ponownego weryfikowania połączenia w określonym interwale. Domyślną wartością w zestawach SDK usługi Azure IoT jest zmiana co 45 minut. Jeśli zaimplementowano inny wzorzec w rozwiązaniu, środowisko może się różnić.

Ponadto w ramach migracji centrum IoT może uzyskać nowy adres IP. Jeśli urządzenia używają serwera DNS do nawiązywania połączenia z centrum IoT Hub, odświeżanie serwerów DNS przy użyciu nowego adresu może potrwać do godziny. Aby uzyskać więcej informacji, zobacz Adresy IP usługi IoT Hub.

Kiedy mogę usunąć root Baltimore Cybertrust z moich urządzeń?

Certyfikat główny Baltimore można usunąć po zakończeniu wszystkich etapów migracji. Jeśli używasz tylko usługi IoT Hub, możesz usunąć stary certyfikat główny po zakończeniu migracji usługi IoT Hub 15 października 2023 r. Jeśli używasz usługi Device Provisioning Service lub usługi IoT Central, musisz zachować oba certyfikaty główne na urządzeniu do czasu zakończenia migracji usługi DPS 30 września 2024 r.

Rozwiązywanie problemów

Jeśli występują ogólne problemy z łącznością z usługą IoT Hub, zapoznaj się z następującymi zasobami rozwiązywania problemów:

Jeśli obserwujesz usługę Azure Monitor po przeprowadzeniu migracji certyfikatów, poszukaj zdarzenia DeviceDisconnect, a następnie zdarzenia Device Połączenie, jak pokazano na poniższym zrzucie ekranu:

Zrzut ekranu przedstawiający dzienniki usługi Azure Monitor z zdarzeniami DeviceDisconnect i Device Połączenie.

Jeśli urządzenie rozłącza się, ale nie łączy się ponownie po migracji, spróbuj wykonać następujące czynności:

  • Sprawdź, czy żądanie rozpoznawania i uzgadniania DNS zostało ukończone bez żadnych błędów.

  • Sprawdź, czy urządzenie ma zarówno certyfikat DigiCert Global Root G2, jak i certyfikat Baltimore zainstalowany w magazynie certyfikatów.

  • Użyj następującego zapytania Kusto, aby zidentyfikować aktywność połączenia dla urządzeń. Aby uzyskać więcej informacji, zobacz omówienie język zapytań Kusto (KQL).

    AzureDiagnostics
    | where ResourceProvider == "MICROSOFT.DEVICES" and ResourceType == "IOTHUBS"
    | where Category == "Connections"
    | extend parsed_json = parse_json(properties_s)
    | extend SDKVersion = tostring(parsed_json.sdkVersion), DeviceId = tostring(parsed_json.deviceId), Protocol = tostring(parsed_json.protocol)
    | distinct TimeGenerated, OperationName, Level, ResultType, ResultDescription, DeviceId, Protocol, SDKVersion
    
  • Użyj karty Metryki centrum IoT w witrynie Azure Portal, aby śledzić proces ponownego łączenia urządzenia. Najlepiej, aby nie było żadnych zmian w urządzeniach przed ukończeniem tej migracji i po zakończeniu tej migracji. Jedną z zalecanych metryk do obejrzenia jest Połączenie urządzenia, ale możesz użyć dowolnych wykresów, które aktywnie monitorujesz.