デバイスは、IoT Platform に接続する前に認証を受ける必要があります。サポートされている方式には、デバイスシークレット、ID²、X.509 証明書が含まれます。
デバイスシークレットベース認証
プロダクトを作成する際、認証方式 を デバイスシークレット に設定し、デバイスを追加して、IoT Platform から ProductSecret や DeviceSecret などのキーを取得します。デバイスは、IoT Platform に接続する際にこれらのキーを使用して認証を行います。
IoT Platform では、さまざまな環境向けに 4 種類の認証方式を提供しています。
-
デバイス固有シークレット:各デバイスに、独自のデバイス証明書(ProductKey、DeviceName、DeviceSecret)がプログラムされます。
-
事前登録ありのプロダクト固有シークレット:同一プロダクト内のすべてのデバイスが共通のプロダクト証明書(ProductKey および ProductSecret)を共有します。動的登録を有効にする必要があります。デバイスは動的登録を通じて DeviceSecret を取得します。
-
事前登録なしのプロダクト固有シークレット:同一プロダクト内のすべてのデバイスが共通のプロダクト証明書(ProductKey および ProductSecret)を共有します。動的登録を有効にする必要があります。DeviceSecret の代わりに、デバイスは ClientID および DeviceToken を取得します。
-
サブデバイスの動的登録:ゲートウェイが接続した後、サブデバイスが動的登録を通じて DeviceSecret を取得します。
セキュリティ要件および生産ラインの条件に基づいて、適切な方式を選択してください。
|
比較項目 |
デバイス固有シークレット |
事前登録ありのプロダクト固有シークレット |
事前登録なしのプロダクト固有シークレット |
サブデバイスの動的登録 |
|
デバイスにプログラムされる情報 |
ProductKey、DeviceName、DeviceSecret |
ProductKey、ProductSecret |
ProductKey、ProductSecret |
ProductKey |
|
クラウド側で動的登録が必要か? |
不要。デフォルトでサポートされています。 |
動的登録を有効にする必要があります。 |
動的登録を有効にする必要があります。 |
動的登録を有効にする必要があります。 |
|
事前登録が必要か? |
はい。DeviceName はプロダクト内で一意である必要があります。 |
はい。DeviceName はプロダクト内で一意である必要があります。 |
いいえ。 |
はい。DeviceName はプロダクト内で一意である必要があります。 |
|
生産ラインでのプログラム要件 |
各デバイスに個別の証明書をプログラムします。デバイス証明書のセキュリティを確保してください。 |
同一のプロダクト証明書を複数のデバイスに一括プログラムします。プロダクト証明書の安全なストレージを確保してください。 |
同一のプロダクト証明書を複数のデバイスに一括プログラムします。プロダクト証明書の安全なストレージを確保してください。 |
|
|
セキュリティ |
高 |
一般 |
一般 |
一般 |
|
クォータ制限はあるか? |
はい。プロダクト、インスタンス、Alibaba Cloud アカウントごとにクォータが適用されます。デバイス接続の使用制限。 |
はい。単一のゲートウェイで最大 1,500 台のサブデバイスを登録できます。 |
||
|
その他の外部依存関係 |
なし。 |
ゲートウェイのセキュリティに依存します。 |
||
X.509 証明書ベース認証
X.509 は ITU-T が定めるデジタル証明書の標準であり、通信エンティティの認証に使用されます。現在、IoT Platform 上での X.509 証明書認証は、Premium Enterprise Edition インスタンスのクラウドゲートウェイ機能を通じてのみ利用可能です。
ID² ベース認証
Alibaba Cloud IoT Internet Device ID (ID²) は、改ざん防止・偽造不可・グローバルに一意な信頼できる ID を IoT デバイスに提供します。
プロダクトを作成する際、認証方式 を ID² に設定します。これにより、デバイスは IoT Platform に接続する際に ID² 身分認証を使用します。
ID² ベース認証を利用するには、ID² サービスを別途購入する必要があります。
-
現在、日本 (東京) リージョンの Enterprise Edition インスタンスのみが ID² 認証をサポートしています。
-
LoRaWAN を接続方式として使用するプロダクトは、ID² ベース認証をサポートしていません。
MQTT 署名パラメーターを使用した認証
独自開発の MQTT クライアント経由で接続するデバイスは、デバイスシークレットから計算された署名パラメーター `username`、`passwd`、および `mqttClientId` を使用して認証を行う必要があります。MQTT 署名パラメーターの計算方法。