次の方法で共有


デバイス ID とセキュリティ

一度に多数のデバイスを展開および管理できます。 デバイス管理は、必要に応じて各デバイスを個別に識別してアクセスする機能に基づいています。 これを行うために、各 Azure Sphere デバイスには、回復操作を含む、デバイスへの更新を通じて保持される一意の内部デバイス ID が与えられます。

ただし、デジタル システムでは、デバイスの ID が簡単になりすまし、偽造、または誤用される可能性があります。 その結果、ID を検証および検証できるデバイスのみが、貴重なデータにアクセスし、サービスに接続できるようにする必要があります。

Azure Sphere は、デバイスが自身を識別 (認証) できるようにするプロセスと、デバイスの ID (構成証明) を確認するためのプロセスを提供します。 Azure Sphere Security Service で使用される認証と構成証明プロセスでは、既知のキー、セキュリティで保護された通信、特殊なハードウェアを使用して、デバイスの ID を確認します。 デバイス認証と構成証明が成功した場合、証明書がデバイスに発行されます。 有効な証明書は、次のことを示します。

  • デバイスの ID が検証されました。
  • デバイスは信頼できます。

Azure Sphere では、最初にデバイス証明書がカタログ レベルの証明書にチェーンされ (organizationが自分のカタログからデバイスのみを信頼しやすくなっています)、次に Microsoft 証明書にチェーンされます。これは、Microsoft が、このハードウェアがセキュリティで保護された Microsoft OS を実行している認定 Azure Sphere チップの検証済みインスタンスであることを Microsoft が検証したことを反映しています。

次の概念は、最も安全で効果的な方法でデバイス ID を使用するのに役立ちます。

  • 信頼は一時的です
    システムに対する信頼が失われ、回復される可能性があります。 IoT システムにゼロ トラスト アーキテクチャを実装する原則は、明示的に検証することです。 つまり、デバイスと対話するたびに、デバイスの信頼性を明示的に判断し、データ トランザクションが信頼できる状態であることを証明します。 Azure Sphere デバイスは、Azure Sphere クラウド セキュリティ サービスを使用して、24 時間ごとに認証と構成証明プロセスを自動的に実行します。 デバイスの ID が正常に検証されたことを示す情報は、Microsoft Azure Sphere Cloud Security Service にルート化された暗号化署名付き証明書の存在です。

  • Identity = 識別子 + 構成証明
    識別子はコピーおよび複製できます。 その結果、デバイスは識別子によって単に認識できません。 デバイスの ID (またはユーザーの ID) は、識別子と構成証明の両方の組み合わせであると見なす必要があります。この識別子は、特定のコンテキスト内で有効です。 デバイスに識別子を割り当て、構成証明プロセスとは無関係に使用しないでください。 可能であれば、識別子と、システム内のすべての相互作用レイヤーでの構成証明の証拠を組み合わせます。

  • 識別子と信頼証明書
    識別子は参照と見なす必要があります。 単独では、参照するオブジェクトの信頼性に関する何かを示しているとは想定しないでください。 たとえば、識別子を使用して MQTT メッセージをサブスクライブし、識別子を使用して信頼されたデータをポータル内でグループ化し、識別子を使用してシステム内のトラフィックとデータをルーティングします。 ただし、識別子を信頼するのではなく、信頼する場合は、暗号化署名され、チェーンされた証明書を信頼します。 証明書は、システム コンポーネント間のパスワードレス データフローに特に役立ち、特定のコンテキスト内でテストされ、信頼できると証明された識別の証拠です。

Azure IoT Hubを使用する場合、文書化された推奨事項に従って構成されている場合、これらの概念は既に組み込まれており、セキュリティで保護された回復性のあるシステムのデプロイが簡素化されます。

これらの概念は、直接制御する Azure 以外のエンドポイントまたはサービスに接続する場合にも適用する必要があります。 たとえば、MQTT を使用している場合、デバイスは、発行する MQTT トピックの一部として独自の ID を含めることができます。 ただし、デバイスからトピックの更新を受け入れる前に、MQTT サーバーは、デバイスが提供する証明書がこの特定のトピックに発行するための認証を行っていることを確認する必要があります。

Azure Sphere デバイス証明書とデバイス ID アクセス

  • アプリケーション内のデバイス証明書にアクセスするには、 DeviceAuth_GetCertificatePath 関数を使用します。

  • デバイスの一意のデバイス ID にアクセスするには、wolfSSL_X509_get_subject_name関数を使用して 、DeviceAuth_GetCertificatePath() 関数によって提供される証明書から サブジェクトを解析 します。

コード スニペット Get Azure Sphere Device ID は、高度なアプリケーションで Azure Sphere デバイス ID を取得する方法を示しています。 デバイス ID は、128 文字の文字バッファーとして返されます。 このスニペットでは、wolfSSL にコマンドを実行して、証明書とのセッションを開き、コンテキストと証明書をプルし、Azure Sphere Devices のデバイス ID である証明書のサブジェクト ID を解析し、ポインターとして char 返します。