すべてのプロダクト
Search
ドキュメントセンター

:製品ごとの一意の証明書検証

最終更新日:Feb 06, 2024

製品ごとに固有の証明書検証を使用すると、製品のすべてのデバイスに同じ製品証明書が書き込まれます。 プロダクト証明書情報には、ProductKeyとProductSecretが含まれます。 デバイスがアクティベーション要求を開始すると、IoT Platformはデバイスを検証します。 デバイスが検証に合格すると、IoT PlatformはデバイスがIoT Platformに接続するために必要な情報を送信します。

背景情報

製品ごとに固有の証明書検証方法は、事前登録の製品ごとの一意の証明書検証および事前登録のない製品ごとの一意の証明書検証です。 次の表に、検証方法の違いを示します。

重要
  • 製品ごとに固有の証明書検証を使用すると、製品のすべてのデバイスが同じ証明書情報を持っているため、証明書情報が開示される可能性があります。 [プロダクト詳細] ページで、[動的登録] をオフにして、新しいデバイスからの検証リクエストを拒否できます。

  • 製品ごとに固有の証明書検証に基づいてデバイスを動的に登録する場合は、トランスポート層セキュリティ (TLS) 暗号化を使用する必要があります。 デバイスSDKがTLS暗号化をサポートしていない場合は、Unique-certificate-per-device verificationメソッドを使用する必要があります。

項目

事前登録不要の製品ごとの固有証明書検証

事前登録固有-製品ごとの証明書検証

プロトコル

メッセージキューテレメトリトランスポート (MQTT)

HTTPSおよびMQTT

サポートされるリージョン

中国 (上海) と中国 (北京)

  • HTTPプロトコル: 中国 (北京) および中国 (深セン) リージョンを除くすべてのリージョン。

  • MQTTプロトコル: IoT Platformでサポートされているすべてのリージョン。

サポートされているインスタンスタイプ

Enterprise Edition インスタンス

Enterprise Editionインスタンスとパブリックインスタンス

特徴

IoT PlatformでデバイスのDeviceNameを事前登録する必要はありません。

IoT PlatformでデバイスのDeviceNameを事前登録する必要があります。

ゲートウェイのサブデバイスは、事前登録の製品ごとの一意証明書検証のみをサポートします。

制限事項

同じProductKey、ProductSecret、およびDeviceNameを持つ最大5つの物理デバイスをIoT Platformコンソールでアクティブ化できます。 各デバイスには一意のClientIDとDeviceTokenがあります。

  • デバイス証明書を使用して、1つの物理デバイスのみをアクティブ化できます。

    デバイスAがDeviceNameを使用してアクティブ化されているが、デバイスBがDeviceNameを使用する必要がある場合、IoT Platformコンソールでデバイスaを削除し、デバイスAのDeviceSecretを無効にできます。

  • DeviceSecretが失われたためにデバイスを再アクティブ化する必要がある場合は、ResetThing操作を呼び出してデバイスのステータスをInactiveにリセットする必要があります。 その後、デバイスを再アクティブ化できます。 この場合、IoT Platformによって発行されるDeviceSecretは変更されません。

処理中

次の図は、製品ごとの固有証明書の検証プロセスを示しています。

一型一密流程

直接接続されたデバイスの動的登録

直接接続されたデバイスは、事前登録の製品ごとの一意証明書検証または事前登録のない製品ごとの一意証明書検証を使用して動的に登録できます。

事前登録の一意-製品ごとの証明書検証

  1. プロダクトの作成: プロダクトを作成するとき、[ノードタイプ] パラメーターを [直接接続デバイス] に設定します。

  2. 動的登録を有効にします。 [プロダクト詳細] ページで、[動的登録] スイッチをオンにします。

    IoT Platformは、SMS認証コードを送信してIDを認証します。

    説明

    デバイスがアクティベーションリクエストを開始したときに動的登録が無効になっている場合、IoT Platformはリクエストを拒否します。 すでに有効となっているデバイスは影響を受けません。

    开启动态注册

  3. デバイスの作成または複数のデバイスを同時に作成します。 登録前の製品ごとの固有証明書検証を使用する場合は、既存の製品に1つ以上のデバイスを追加する必要があります。

    • IoT Platformは、デバイスがアクティベーション要求を開始すると、DeviceNameを検証します。 デバイスから取得できる識別子をDeviceNameとして使用することを推奨します。 識別子は、デバイスのMACアドレス、International Mobile Equipment Identity (IMEI) 番号、またはシリアル番号 (SN) とすることができる。

    • デバイスが追加されると、IoT PlatformはデバイスにDeviceSecretを発行します。 デバイスの初期ステータスはInactiveです。

  4. デバイスにデバイス証明書を書き込む: デバイスSDKを開発して手順を完了します。

    1. デバイスをIoT Platformに接続するために使用されるプロトコルを選択します。 有効な値: MQTTおよびHTTPS。

      次のトピックでは、デバイスを登録および検証する方法について説明します。

    2. ビジネス要件に基づいてデバイスSDKを開発します。 たとえば、Thing Specification Language (TSL) モデルで定義されたトピックを使用した通信、カスタムトピックを使用した通信、無線 (OTA) 更新、デバイスシャドウなどの機能を開発できます。

      デバイス側の開発の詳細については、「デバイスSDKを使用してデバイスをIoT Platformに接続する」をご参照ください。

      重要

      IoT Platformが提供するLink SDK for Cを使用する場合は、デバイスでLink SDK for C (バージョン4.x) を使用する必要があります。 SDKは、デバイスのセキュリティリスクを管理できるデバイス検証サービス (DAS) を統合しています。

      デバイスでバージョン4.xのLink SDK for Cを使用しない場合、発生する可能性のあるセキュリティリスクに対してAlibaba Cloudは責任を負いません。

    3. 開発したデバイスSDKを生産ラインのデバイスに書き込みます。

  5. デバイスの電源を入れ、デバイスをIoT Platformに接続します。 デバイスは、ProductKeyProductSecret、およびDeviceNameを含む検証要求を送信します。

  6. IoT Platformでデバイスをアクティブ化します。

    IoT Platformがデバイスを検証した後、IoT Platformはステップ3で発行されたDeviceSecretをデバイスに配信します。 デバイスは、デバイス証明書 (ProductKeyDeviceName、およびDeviceSecret) を取得します。 その後、デバイスは証明書を使用してIoT Platformに接続できます。

製品ごとに固有の証明書を使用しないで事前登録する

  1. プロダクトの作成: プロダクトを作成するとき、[ノードタイプ] パラメーターを [直接接続デバイス] に設定します。

  2. 動的登録を有効にします。 既存の製品の [製品の詳細] ページで、[動的登録] をオンにします。

    IoT Platformは、SMS認証コードを送信してIDを認証します。

    説明

    デバイスがアクティベーションリクエストを開始したときに動的登録が無効になっている場合、IoT Platformはリクエストを拒否します。 すでに有効となっているデバイスは影響を受けません。

    开启动态注册

  3. デバイスにデバイス証明書を書き込む: デバイスSDKを開発して手順を完了します。

    1. デバイスをIoT Platformに接続するために使用されるプロトコルを選択します。 有効値: MQTT。

      デバイスの登録と検証については、「MQTTベースの動的登録」をご参照ください。

    2. ビジネス要件に基づいてデバイスSDKを開発します。 たとえば、TSLモデルで定義されたトピックを使用した通信、カスタムトピックを使用した通信、OTA更新、デバイスシャドウなどの機能を開発できます。

      デバイス側の開発の詳細については、「デバイスSDKを使用してデバイスをIoT Platformに接続する」をご参照ください。

      重要

      IoT Platformが提供するLink SDK for Cを使用する場合は、デバイスでLink SDK for C (バージョン4.x) を使用する必要があります。 このSDKは、デバイスのセキュリティリスクを管理できるDASを統合します。

      デバイスでバージョン4.xのLink SDK for Cを使用しない場合、発生する可能性のあるセキュリティリスクに対してAlibaba Cloudは責任を負いません。

    3. 開発したデバイスSDKを生産ラインのデバイスに書き込みます。

  4. デバイスの電源を入れ、デバイスをIoT Platformに接続します。 デバイスは、ProductKeyProductSecret、およびDeviceNameを含む検証要求を送信します。

  5. IoT Platformでデバイスをアクティブ化します。

    • IoT Platformがデバイスを検証した後、IoT PlatformはClientIDDeviceTokenをデバイスに発行します。 次に、デバイスはProductKeyProductSecretClientID、およびDeviceTokenを使用してIoT Platformに接続します。

    • DeviceNameは、異なるClientIDを持つ複数の物理デバイスに使用できます。 この場合、IoT Platformコンソールの [製品の詳細] ページに、現在の製品のデバイスに複数のClientIDがあるというメッセージが表示されます。 1つの物理デバイスを保持するか、すべての物理デバイスをクリアするには、次の手順を実行します。

      1. [製品の詳細] ページで、メッセージの横にある [表示] をクリックして、製品のセキュリティ侵害されたデバイスを表示します。

      2. [デバイス] > [デバイス] を選択します。 表示されるページでデバイスを見つけ、[表示] をクリックして [デバイスの詳細] ページに移動します。 現在の接続のClientIDが表示されます。 ClientIDの横にある [スイッチ] または [クリア] をクリックします。

        • 切り替え: ドロップダウンリストからClientIDを選択します。 ClientIDに対応するデバイスの最初の接続時間を確認するか、Log ServiceをクリックしてIoT Platformログを表示し、物理デバイスを保持する必要があるかどうかを確認します。 次に、保持する物理デバイスのClientIDを選択し、[OK] をクリックします。 他のClientIDを使用する物理デバイスは、IoT Platformに接続できません。

          説明

          IoT Platformログの詳細については、「IoT Platformログ」をご参照ください。

        • クリア: すべての物理デバイスをIoT Platformに接続することはできません。

サブデバイスの動的登録

重要

ゲートウェイの動的登録方法は、直接接続されたデバイスの動的登録方法と同じです。 しかし、ゲートウェイのサブデバイスは、事前登録の製品別固有証明書検証方法を使用することによってのみ動的に登録することができる。 サブデバイスの動的登録を完了するには、次の手順を実行します。

  1. Create a product: ゲートウェイ用のプロダクトとサブデバイス用のプロダクトを作成します。 ゲートウェイのプロダクトを作成するときは、[ノードタイプ] パラメーターを [ゲートウェイデバイス] に設定します。 サブデバイスのプロダクトを作成するときは、[ノードタイプ] パラメーターを [ゲートウェイサブデバイス] に設定します。

  2. 動的登録を有効にします。 ゲートウェイとサブデバイスが属する製品の [製品の詳細] ページで、[動的登録] をオンにします。

    IoT Platformは、SMS認証コードを送信してIDを認証します。

    説明

    デバイスがアクティベーションリクエストを開始したときに動的登録が無効になっている場合、IoT Platformはリクエストを拒否します。 すでに有効となっているデバイスは影響を受けません。

  3. ゲートウェイとサブデバイスが属するプロダクトに1つ以上のデバイスを追加します。 詳細については、「一度に複数のデバイスを作成する」または「デバイスを作成する」をご参照ください。

    • IoT Platformは、デバイスがアクティベーション要求を開始すると、DeviceNameを検証します。 デバイスから取得できる識別子をDeviceNameとして使用することを推奨します。 識別子は、デバイスのMACアドレス、International Mobile Equipment Identity (IMEI) 番号、またはシリアル番号 (SN) とすることができる。

    • デバイスが追加されると、IoT PlatformはデバイスにDeviceSecretを発行します。 デバイスの初期ステータスはInactiveです。

  4. 次の手順を実行して、デバイス証明書をサブデバイスに書き込みます。

    1. ゲートウェイのデバイス証明書とエンドポイントを設定し、ゲートウェイのLink SDKを使用してインスタンスを初期化し、サブデバイスを管理します。 次に、ゲートウェイとサブデバイスの間のトポロジ関係を設定し、サブデバイスを登録します。 詳細については、「MQTTベースの動的登録」および「サブデバイスのMQTTベースの動的登録」をご参照ください。

      ゲートウェイとサブデバイス間のトポロジ関係を管理する方法の詳細については、「トポロジ関係の管理」をご参照ください。

    2. ビジネス要件に基づいてデバイスSDKを開発します。 たとえば、ゲートウェイがサブデバイスのメッセージングを実装できるようにする機能を開発できます。

      デバイス側の開発の詳細については、「デバイスSDKを使用してデバイスをIoT Platformに接続する」をご参照ください。

    3. ゲートウェイのデバイスSDKとサブデバイスのProductKeyをゲートウェイに書き込み、サブデバイス証明書を生産ラインのサブデバイスに書き込みます。

  5. ゲートウェイとサブデバイスの電源をオンにし、IoT Platformに接続します。 ゲートウェイは、サブデバイスのProductKeyとDeviceNameを含む検証要求をIoT Platformに送信します。

  6. IoT Platformコンソールでゲートウェイとサブデバイスをアクティブ化します。

    ゲートウェイを有効化する方法の詳細については、「直接接続されたデバイスの動的登録」をご参照ください。 ゲートウェイを使用してサブデバイスをIoT Platformに接続する方法の詳細については、「サブデバイスの接続または切断」をご参照ください。