TPM、X.509、対称キーの比較:Azure DPS に適したアテステーション方式の選び方
By Mirko Peters ·
Azure DPS における TPM、X.509、対称キーを比較します。100,000 台以上の IoT デバイスを安全にプロビジョニングするために、適切なアテステーション方式を選ぶ方法を解説します。
Automatically translated with AI from the original post. Read the English original

Azure Device Provisioning Service(DPS)で適切なデバイスアテステーション方式を選ぶことは、10 万台規模の IoT フリートを大規模に安全に保てるかどうか、あるいはサプライチェーンの侵害に対して脆弱になるかどうかを左右します。本ガイドでは、Trusted Platform Module(TPM)、X.509 証明書、対称キーを評価し、製造と運用のモデルに最適な暗号による証明方式を選べるように支援します。
重要なポイント
- アテステーションは、デバイスが初回起動時の登録で Azure DPS に対して自身の ID を証明するための暗号の仕組みです。
- TPM アテステーションは ID をハードウェアチップに直接紐付けるため、複製されたディスクイメージがクラウドへのアクセス権を引き継ぐことを防ぎます。
- X.509 証明書は、多層のサプライチェーンや長期間運用されるエンタープライズのフリートに対して、比類のない拡張性を提供します。
- 対称キーは、ラボでのテストや初期のプロトタイピングを簡単にしますが、共有シークレットが抽出されると大きなリスクを伴います。
- 登録グループを使うと、管理者はレコードを手作業で管理する代わりに、デバイス群全体に一貫したセキュリティポリシーを適用できます。
フリートのプロビジョニングにおけるアテステーションの理解
産業用ゲートウェイ、エッジセンサー、スマートデバイスといった大規模なフリートを展開する際、安全な信頼境界を確立することが、アーキテクチャ上の基本的な課題になります。テストベンチ上の 10 台であれば、ハードコードされたシークレットや単純なパスワードで手動設定することもできます。しかし、世界中の工場に分散した 10 万台で同じ方法を取ると、管理上の近道がすべてセキュリティ上の脆弱性に変わってしまいます。
Azure DPS は、クラウド環境における安全な受付窓口の役割を果たします。デバイスは、日常のテレメトリとコマンドの通信のために IoT Hub に割り当てられる前に、自身の ID を証明しなければなりません。この暗号による ID の証明がアテステーションです。適切なアテステーション方式を選ぶことは、製造パイプライン、サプライチェーンのロジスティクス、クラウドのセキュリティポリシーが、ハードウェアの数年にわたるライフサイクル全体でどのように連携するかを決定づけます。
Trusted Platform Module(TPM)アテステーション
Trusted Platform Module は、マザーボードに安全に組み込まれた専用の暗号チップです。Azure DPS で TPM アテステーションを使用すると、デバイスの ID はこの物理チップに恒久的に固定されます。
TPM の主な利点は、ハードウェアによる保護です。エンドースメントキーと登録データは製造時にシリコンに書き込まれるため、攻撃者はソフトウェアのディスクイメージを複製して新しい基板に載せ、クラウドがアクセスを許可することを期待できません。オペレーティングシステムのイメージが侵害されても、ハードウェアのルートオブトラストは保護されたままです。
ただし、TPM には慎重なサプライチェーンの調整が必要です。ハードウェアメーカーからエンドースメントキーを取得し、それを Azure DPS の個別登録またはエンドースメントキーの一覧に読み込む必要があります。物理的な改ざんが現実的な脅威となる、機密性の高い産業環境では、TPM が最も高いレベルのハードウェア保証を提供します。
サプライチェーン規模に対応する X.509 証明書
X.509デジタル証明書は、公開鍵暗号と階層型の認証局(CA)に基づいています。このアテステーションモデルでは、製造工場や委託製造業者が、Azure DPSにエンロールメントグループとして事前登録した中間CA証明書を使用してデバイス証明書に署名します。
この方式が特に有効なのは、ハードウェアがサードパーティで製造され、最終的に配備されるまで複数のリージョンを経由するような複雑なサプライチェーンです。DPSは証明書チェーンをルートCAまたは中間CAまで検証するため、信頼されたチェーンから発行された有効な証明書を持つデバイスは、クラウドポータルで個別のレコードを作成しなくても、自動的にプロビジョニングが許可されます。
X.509証明書はライフサイクル管理にも優れています。証明書の有効期限が近づくと、自動ローテーションポリシーによって、物理的な作業を伴わずにデバイスIDを更新できます。このため、大規模で分散したエンタープライズIoT環境において、X.509はゴールドスタンダードといえます。
対称キー: 手軽さとリスク
対称キーは共有シークレット、つまりデバイスとAzure DPSの間で共有されるパスワードのようなものに基づいています。この方式は実装が簡単で、ラボでの迅速なプロトタイプ作成によく使われますが、本番規模では運用面とセキュリティ面で大きなリスクをもたらします。
対称キーが標準的なデバイスイメージに組み込まれていたり、技術者がプロビジョニング時やローカルでのデバッグ中に誤ってシークレットを漏らしたりすると、そのキーやエンロールメントグループを共有するすべてのデバイスが即座に侵害されます。1台の物理的な筐体から対称キーを抽出されるだけで、攻撃者はそのキーに紐づくクラウド環境全体に不正にアクセスできてしまいます。
セキュアエレメントを備えていない制約の多いハードウェアで対称キーを使わざるを得ない場合は、広範なエンロールメントグループではなく、個々のエンロールメントに限定し、厳格なシークレットのローテーションポリシーを適用する必要があります。
アーキテクチャに適した戦略の選び方
TPM、X.509、対称キーのどれを選ぶかは、セキュリティ要件と運用負荷のバランスを取って判断する必要があります。
- TPMを選ぶのは、物理的なハードウェアセキュリティを最優先し、エンドorsement keyをエクスポートできる管理されたサプライチェーンがある場合です。
- X.509を選ぶのは、複数のメーカーにまたがる大規模なフリートを管理し、自動証明書ローテーションが必要で、エンロールメントグループを活用してゼロタッチのオンボーディングを実現したい場合です。
- 対称キーを選ぶのは、主に開発、テスト、または暗号チップやPKI基盤が使えない厳密に管理されたラボ環境の場合です。
製造時のIDと運用時のIDを分離しておくと、クラウドアーキテクチャが拡張しても、基盤となる信頼モデルがポータブルで、回復力があり、監査に対応できた状態を保てます。
まとめ
10万台のIoTデバイスを対象にしたセキュアなプロビジョニングパイプラインの設計には、暗号学的なアテステーションを慎重に評価することが求められます。シリコンレベルの保証を提供するTPMを選ぶ場合でも、拡張性のあるチェーン・オブ・トラストを提供するX.509証明書を選ぶ場合でも、IDモデルをAzure DPSに合わせることで、運用上のボトルネックを防ぎ、クラウド基盤を根本から保護できます。
IoTアーキテクチャ、デバイスIDの分離、初回起動時のエラー処理についてさらに詳しく知りたい方は、エピソードの全編を聴いて、クラウドインフラとMicrosoftエコシステムに関する専門的な知見を得られるM365 FM Podcastも購読してください。
よくある質問
Azure DPSにおけるデバイスアテステーションとは何ですか?
アテステーションとは、デバイスが初回起動時にAzure Device Provisioning Serviceに対して自身のIDを証明するための安全な暗号化プロセスです。これにより、DPSはデバイスをIoT Hubに割り当てる前に認可を検証できます。
X.509証明書はエンロールメントグループで使用できますか?
はい。X.509証明書はエンロールメントグループに最適で、信頼された中間CAまたはルートCAが署名したデバイス群全体を、個別のレコード管理なしで自動的にプロビジョニングできます。
大規模なフリートにおいて、対称キーがセキュリティリスクとみなされるのはなぜですか?
対称キーは共有シークレットに依存します。攻撃者が1台の物理デバイスからシークレットを抽出すると、同じシークレットを共有するクラウドリソースやデバイスグループに不正にアクセスできてしまいます。
TPMはどのようにしてデバイスのクローン作成を防ぎますか?
TPMは、デバイスの暗号化IDをマザーボードにはんだ付けされた物理的なセキュリティチップに直接結び付けます。そのため、ソフトウェアのディスクイメージをクローンしても、クラウドに対して認証することはできません。