👏

ARM(PSA Certified) Platform Security Model 内容理解 [3] 1.3章まで

に公開

https://zenn.dev/yurufuwa_embed/articles/9d31dbfab06df8
の続き

変更履歴

date content
2025/07/13 PartitionとProcessing Environmentの考え方が間違っていたので、1.3最後につけた!の文章を修正)

1.3 Device Models

PSMにおけるデバイスモデルは3つの基本的な要素をカバーします。

  1. システム全体のトラストアンカー。これはプラットフォーム・ルート・オブ・トラスト(PRoT)と呼びます。プラットフォームが安全に起動、構成され、セキュリティ上重要な操作の保護に必要なセキュアな環境が確立され、ルートパラメータが格納されていることを保証します。
  2. PSM定義の汎用セキュリティサービス(PRoTサービスと呼ばれる)のためのセキュアな環境(セクション7)。これらのサービスはPRoTを容易にし、アプリケーション固有のセキュリティサービスおよび機能によって使用されることを目的としています。
  3. あらゆるApplication Root of Trust(ARoT)サービスのためのセキュアな環境。ARoTサービスは、PRoTサービスを利用する可能性のある、アプリケーション定義のセキュリティサービスです。システムによっては、PRoTとPRoTサービスのみで十分な場合もあります。

PSM準拠デバイスを構築する方法は数多くあります。そのため、以下の一般的な概念が用いられます。

  • パーティションとは、定義された論理境界を持つ処理を指します。通常はソフトウェアを指しますが、ソフトウェア制御のハードウェアを含むハードウェアにも適用されます。パーティションおよびそのデータとのやり取り(インバウンドおよびアウトバウンドの両方)は、定義された動作を持つ定義されたインターフェースを介してのみ行う必要があります。インターフェースの不正使用によって、境界の両側にあるパーティションが侵害されることがあってはなりません。パーティションはパーティション管理機能によって管理されます(セクション2を参照)。パーティションは他のパーティション内にネストできます(セクション1.3.1を参照)。
  • パーティションマネージャは、管理対象のパーティションにリソース(通信チャネル、メモリ、割り込み、周辺機器、処理時間など)を割り当てるために使用されます。パーティションマネージャは、定義された論理境界を持ち、インターフェースと相互作用が定義されます(この意味では、パーティションマネージャ自身もパーティションです)。通常、パーティション管理機能は、パーティションを動的に管理するソフトウェアで構成されます。パーティションが1つしかない場合は、パーティション管理機能が存在しない場合があります。パーティション管理には、パーティションマネージャの初期化時に設定される静的な要素が含まれる場合があることに注意してください。
  • 処理環境は、パーティション(パーティションマネージャ(およびそれが管理するパーティション)を含む)をホストし、パーティションに特定のセキュリティプロパティを付与します。ただし、これらのプロパティは、セキュリティ上重要でない処理にとっては些細なものです。例えば、処理環境は、ハードウェア設計を通じて、分離を強制するシステムリソースへの排他的なアクセス権を持つ場合があります。物理的な攻撃に対するハードウェアベースの対策を備えたサブシステムもその一例です。処理環境は、特定の脅威や攻撃を軽減するため、または異なる認証スキームや保証レベルに準拠するために必要となる場合があります。最も要求の厳しい属性をシステム全体に適用することは、多くの場合現実的ではありません。また、リアルタイム性、システムアーキテクチャの考慮事項、既存設計の再利用、責任と所有権の分離など、セキュリティ以外の理由も考えられます。処理環境は、通常はシステム起動時に(必ずしもそうとは限りませんが)実行時に確立される場合もあれば、システム設計から固有のものである場合もあります。例えば、ハードウェア設計などによってデバイス間の分離が固定されている場合、デバイスに複数のトラストアンカーが存在する可能性があります。

PSM準拠の最小限のデバイスを図2に示します。2つの処理環境(Processing Environment: PE)があります。1つはセキュア処理環境(SPE)と呼ばれ、PSM定義のセキュリティ処理のためのセキュアパーティションと呼ばれるパーティションをホストします。もう1つは非セキュア処理環境(NSPE)と呼ばれ、その他のすべての処理のためのパーティションをホストします。図2に示すSPEは、以下のPSM要素をホストします。

  • セクション 2 で説明するプラットフォームのルート オブ トラストは、次の要素で構成されます。
    ● 不変のプラットフォームのルート・オブ・トラストは、本質的に信頼されています。これは主にハードウェアを指し、セクション2.1を参照。これには、実稼働デバイスでは更新できないファームウェアも含まれます。 ● 更新可能なプラットフォームの信頼の基点(Root of Trust)とは、トラストアンカーに結び付けられた信頼チェーンを通じた検証によって信頼され、実稼働デバイス上で更新可能なファームウェアや構成などを指します。これは主にソフトウェアを指します(セクション2.2を参照)。ただし、変更可能な構成可能なハードウェアも含まれる場合があります。 ● プラットフォーム ルート オブ トラスト サービスには、セクション 7 で説明されている安全なストレージ、暗号化、および構成証明サービスが含まれます。通常、これらは更新可能なプラットフォーム ルート オブ トラストの一部です。
  • このドキュメントでは取り上げていない、Application Root of Trust (ARoT) サービス。ARoT サービスは PRoT サービスが提供するインターフェースを使用することが想定されていますが、不変の PRoT に直接アクセスすることはできません。通常、ARoT サービスは更新可能です。

セキュアパーティションは、PRoT、PRoTサービス、またはARoTサービスのみをホストする必要があります。その他の処理は、セキュアパーティションおよびセキュア処理環境の外部で完全に実行する必要があります。

PSMは、複数のセキュア処理環境(SPE)を必要とするシステムに対応します。例えば、図3は2つのSPEを備えたデバイスを示しています。1つはPRoT用、もう1つはPRoTサービスと任意のARoTサービス用です。セクション1.3.3も参照してください。

PSMは、PRoT、PRoTサービス、およびあらゆるARoTサービスの保護に関与します。PSMのセキュリティ要件に違反しない限り、図4の例に示すように、非PSMセキュリティ処理環境が共存可能です。デバイスのトラストアンカーとして、PRoTは非PSMセキュリティサービスに固有の機能を含める必要がある場合があり、PRoT SPEは非PSM処理環境の特定のセキュリティプロパティを満たす必要があります。

実際には、PRoTおよびPRoTサービスの機能を複数のパーティション、場合によっては複数のセキュア処理環境に分散させる必要がある場合があります。このような分散は、分散パーティションの定義済みインターフェース間のトランザクションへのアクセスを制限するか、保護することの必要性につながります。

パーティション間のトランザクションへのアクセスは、対話するパーティションまたは信頼できるエージェントのみに制限する必要があります。次に例を示します。

  • アクセスは、例えば同じダイ上にある場合、静的な設計トポロジーを通じて、またはPRoTによって設定され保護される安全な構成を通じて許可される。
  • アクセスを拒否できない場合、暗号化を使用することで、少なくとも取引の機密性は保護されるが、必要に応じて完全性とリプレイに対する保護も確保される。

また、相互作用するパーティションのいずれかの不正な置換を安全かつ確実な方法で処理する必要もあります。次に例を示します。

  • 同じダイ上にある場合、ハードウェアコンポーネントは物理的に分離不可能である
  • 複数のダイ、より一般的には物理的な分離が保証できない場合、分離は安全かつ確実な失敗につながる必要があります。例えば、暗号化技術を用いてトランザクションの完全性、機密性、およびリプレイに対する保護を確保することなどが挙げられます。

アクセシビリティと不可分性の目的を満たすために導入されるメカニズムは、脅威モデル、適用可能な認証スキーム、および関連する保護プロファイルから導き出されたセキュリティ要件によって異なります。

Discussion