Share via


IoT Hub リソースを新しい TLS 証明書ルートに移行する

Azure IoT Hub およびデバイス プロビジョニング サービス (DPS) では、Baltimore CyberTrust Root によって発行された TLS 証明書が使用されており、それが 2025 年に期限切れになります。 2023 年 2 月以降、グローバル Azure クラウド内のすべての IoT ハブは、DigiCert Global Root G2 によって発行された新しい TLS 証明書に移行されます。

IoT ハブを新しい TLS 証明書に移行することの影響について、今すぐ計画を始めてください。

  • 証明書ストアに DigiCert Global Root G2 がないデバイスは、Azure に接続できなくなります。
  • IoT ハブの IP アドレスが変わります。

タイムライン

拡張機能が既に承認されているハブを除き、IoT Hub の移行は完了です。 IoT ハブが製品チームとの契約なしに Baltimore 証明書を使用していることが判明した場合、ハブは追加の通知なく移行されます。

すべての IoT ハブが移行されると、DPS では 2024 年 1 月 15 日から 9 月 30 日の間に移行を実行します。

延長契約を締結している各 IoT ハブについては、次の内容が期待できます。

  • 移行の 1 から 2 週間前: 各 IoT ハブのサブスクリプション所有者に、移行日を示すメール通知が送信されます。 ハブを手動で移行する場合、この通知は送信されません。
  • 移行日: IoT ハブの TLS 証明書が DigiCert Global Root G2 に切り替わります。これにより、IoT ハブのダウンタイムは発生しません。 IoT Hub では、デバイスの再接続は強制されません。
  • 移行後: サブスクリプション所有者に、IoT ハブが移行したことを確認する通知が送信されます。 デバイスが、個々の再試行ロジックに基づいて再接続を試行します。この時点で、デバイスは IoT Hub に対して新しいサーバー証明書を要求して受信し、Digicert Global Root G2 を信頼できる場合にのみ再接続します。

延長を要請する

2023 年 8 月の時点で、IoT Hub および IoT Central のための延長要求プロセスは終了します。 IoT ハブが製品チームとの延長契約なしに Baltimore 証明書を使用していることが判明した場合、ハブは追加の通知なく移行されます。

必要なステップ

移行の準備をするために、次の手順を実行してください。

  1. デバイスの信頼できるルート ストアに Baltimore CyberTrust Root を保持します。 DigiCert Global Root G2 と Microsoft RSA Root Certificate Authority 2017 証明書をデバイスに追加します。 これらの証明書は、すべて「Azure 証明機関の詳細」からダウンロードできます。

    IoT Hub と DPS の移行が完了するまで、3 つの証明書はすべてデバイスに存在していることが重要です。 Baltimore CyberTrust Root を維持することで、移行までデバイスの接続が維持されます。また、DigiCert Global Root G2 を追加することで、移行後にデバイスでシームレスな切り替えと再接続が確実に行われます。 Microsoft RSA Root Certificate Authority 2017 は、DigiCert Global Root G2 が予期せず廃止された場合に、将来の中断を防ぐのに役立ちます。

    IoT Hub の推奨される証明書のプラクティスの詳細については、TLS のサポートに関する記事を参照してください。

  2. 中間証明書またはリーフ証明書をピン留めしていないこと、パブリック ルートを使用して TLS サーバーの検証を実行していることを確認します。

    IoT Hub と DPS で中間証明機関 (CA) がロール オーバーされることがあります。 そのような場合、デバイスで中間 CA またはリーフ証明書を明示的に検索すると、接続が失われます。 ただし、パブリック ルートを使用して検証を実行するデバイスでは、中間 CA に対して変更があっても、それに関係なく接続が継続されます。

お使いのデバイスが TLS 証明書の移行準備ができているかどうかをテストする方法について詳しくは、ブログ記事「Azure IoT TLS: もうすぐ行われる重要な変更」を参照してください。

IoT ハブの移行状態を確認する

IoT ハブが移行されたかどうかを確認するには、ハブのアクティブな証明書ルートを確認します。

  1. Azure Portal で、IoT ハブに移動します。

  2. ナビゲーション メニューの [オートメーション] セクションで [テンプレートのエクスポート] を選択します。

  3. テンプレートが生成されるまで待ってから、JSON テンプレートの resources.properties.features プロパティに移動します。 [RootCertificateV2] が機能として一覧表示されている場合、ハブは DigiCert Global G2 に移行されています。

よく寄せられる質問

デバイスで SAS/X.509/TPM 認証を使用しています。 この移行はデバイスに影響しますか?

TLS 証明書を移行しても、IoT Hub によるデバイスの認証方法には影響しません。 この移行は、デバイスが IoT Hub および DPS エンドポイントを認証する方法に影響します。

IoT Hub と DPS はサーバー証明書をデバイスに提示し、デバイスはエンドポイントへの接続を信頼するためにルートに対してその証明書を認証します。 この移行後にデバイスで確認と Azure への接続を行うことができるように、デバイスの信頼された証明書ストアに新しい DigiCert Global Root G2 が存在する必要があります。

デバイスで Azure IoT SDK を使用して接続しています。 新しい証明書で SDK が機能し続けるためには、何かする必要がありますか?

一概には言えません。

  • はい (Java V1 デバイス クライアントを使用している場合)。 このクライアントは、Baltimore Cybertrust Root 証明書を SDK と共にパッケージ化します。 Java V2 に更新することも、DigiCert Global Root G2 証明書をソース コードに手動で追加することもできます。
  • いいえ (その他の Azure IoT SDK を使用している場合)。 ほとんどの Azure IoT SDK は、TLS ハンドシェイク中にサーバー認証用の信頼されたルートを取得するために、基になるオペレーティング システムの証明書ストアに依存しています。

使用している SDK に関係なく、ブログ記事「Azure IoT TLS: もうすぐ行われる重要な変更」の検証のセクションで説明されているように、移行前にデバイスを検証することをすべてのお客様に強くお勧めします。

デバイスでソブリン Azure リージョンに接続しています。 それでも更新する必要がありますか?

いいえ。この変更の影響を受けるのはグローバル Azure クラウドのみです。 ソブリン クラウドは、この移行の対象には含まれません。

IoT Central を使用しています。 使用しているデバイスを更新する必要はありますか?

はい。IoT Central では、バックエンドで IoT Hub と DPS の両方が使用されます。 TLS の移行はソリューションに影響します。接続を維持するためには、デバイスを更新する必要があります。

お使いのアプリケーションの Baltimore CyberTrust Root から DigiCert Global G2 Root への移行は、ご自身のスケジュールで行うことができます。 次のプロセスをお勧めします。

  1. 2024 年 9 月 30 日に移行期間が完了するまで、デバイスに Baltimore CyberTrust Root を残しておきます (接続の中断を防ぐために必要です)。
  2. Baltimore Root に加えて、DigiCert Global G2 Root が信頼できるルート ストアに追加されていることを確認します。
  3. 中間証明書またはリーフ証明書をピン留めしていないこと、パブリック ルートを使用して TLS サーバーの検証を実行していることを確認します。
  4. IoT Central アプリケーションでは、[設定]>[アプリケーション]>[Baltimore Cybertrust Migration] (Baltimore Cybertrust の移行) の下に [Root Certification] (ルート証明) の設定があります。 
    1. [DigiCert Global G2 Root] を選んで、新しい証明書ルートに移行します。
    2. [保存] をクリックして移行を開始します。
    3. 必要に応じて、[Baltimore CyberTrust Root] を選んで変更を保存することで、Baltimore ルートに戻すことができます。 このオプションは 2023 年 8 月 15 日まで使用できますが、その後無効になります。

デバイスの再接続にはどのくらいの時間がかかりますか?

デバイスの再接続の動作は、いくつかの要因の影響を受ける可能性があります。

デバイスは、特定の間隔で接続を再確認するように構成されています。 Azure IoT SDK の既定値では、45 分ごとに再確認します。 ソリューションに別のパターンを実装した場合、エクスペリエンスは異なる可能性があります。

また、移行の一環として、IoT ハブの新しい IP アドレスが取得される場合があります。 デバイスで DNS サーバーを使用して IoT ハブに接続する場合、DNS サーバーが新しいアドレスで更新されるまでに最大 1 時間かかることがあります。 詳細については、「IoT Hub の IP アドレス」を参照してください。

デバイスから Baltimore Cybertrust Root を削除できるのは、いつですか?

移行のすべての段階が完了したら、Baltimore ルート証明書を削除できます。 IoT Hub のみを使用する場合は、2023 年 10 月 15 日に完了するようにスケジュールされた IoT Hub の移行の後で、古いルート証明書を削除できます。 デバイス プロビジョニング サービスまたは IoT Central を使用する場合は、2024 年 9 月 30 日に完了するようにスケジュールされた DPS の移行まで、両方のルート証明書をデバイスに保持する必要があります。

トラブルシューティング

IoT Hub で一般的な接続の問題が発生している場合は、次のトラブルシューティング リソースを確認してください。

証明書の移行後に Azure Monitor を監視している場合は、次のスクリーンショットに示すように、DeviceDisconnect イベントとそれに続く DeviceConnect イベントを探す必要があります。

DeviceDisconnect イベントと DeviceConnect イベントを示す Azure Monitor ログのスクリーンショット。

移行後にデバイスが切断されても再接続しない場合は、次の手順を試してください。

  • DNS 解決とハンドシェイク要求がエラーなしで完了したことを確認します。

  • デバイスの証明書ストアに DigiCert Global Root G2 証明書と Baltimore 証明書の両方がインストールされていることを確認します。

  • 次の Kusto クエリを使用して、デバイスの接続アクティビティを特定します。 詳細については、「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
    
  • Azure portal で、IoT ハブの [メトリック] タブを使用してデバイスの再接続プロセスを追跡します。 この移行が完了する前後でデバイスに変化が見られないことが理想的です。 監視するメトリックの 1 つとしてお勧めなのは [接続デバイス] ですが、積極的に監視する任意のグラフを使用できます。