1
第11回サイバーセキュリティ国際シンポジウム
2021/11/28
遠隔デバイスとの信頼を築くための技術とその標準
TEEP: Trusted Execution Environment Provisioning
RATS: Remote ATtestation procedureS
産業技術総合研究所 サイバーフィジカルセキュリティ研究センター
須崎有康
2
⾃⼰紹介
 名前︓須崎有康 Kuniyasu Suzaki
 所属︓産業技術総合研究所サイバーフィジカルセキュリティ研究センター(AIST・CPSEC)
 RISC-Vセキュリティの研究に従事。特にTEE関連。
 2019よりTCG Invited Expert
 関連書き物
 Trusted Execution Environmentによるシステムの堅牢化, 情報処理2020/06
 https://ci.nii.ac.jp/naid/40022255769
 Trusted Execution Environmentの実装とそれを⽀える技術,電⼦情報通信学会基礎・境界ソサイエティ
Fundamentals Review, 2020/10
 https://www.jstage.jst.go.jp/article/essfr/14/2/14_107/_article/-char/ja/
3
TEEPとは
 近年のCPUが提供する隔離実⾏環境TEE: Trusted Execution Environment内のア
プリケーション(TA: Trusted Application)を安全にインストール、更新、削除するプロトコル
CPU
Trusted OS
Normal World
(Rich Execution Environment)
App
Normal OS
Trusted App
Secure World
(Trusted Execution Environment)
4
TEEPとは
 近年のCPUが提供する隔離実⾏環境TEE: Trusted Execution Environment内のア
プリケーション(TA: Trusted Application)を安全にインストール、更新、削除するプロトコル
CPU
Trusted OS
Normal World
(Rich Execution Environment)
App
Normal OS
Trusted App
Secure World
(Trusted Execution Environment)
TAM: Trusted
Application
Manager
Trusted App
5
TEEの利⽤例
 機密情報処理
 鍵管理
 AndroidのKeyMaster
 DRM処理
 スマホのWidevine(Google)
 個⼈情報管理
 コード・データの隠蔽
 機械学習の重み付けデータ
 プライバシー保護処理
 遺伝⼦解析
• メモリ消費が少ない
• 要求される機能が少ない
• スマートフォンでの活用多
• Arm TrustZone向き
• メモリ消費が大きい
• 要求される機能(system call 、ライ
ブラリ)が多い
• サーバ・クラウド
• Intel SGX、AMD SEV, Arm CCA,
Amazon EC2 Nitro 向き
キラーアプリ
6
TEEの管理フレームワーク TEEP(Trusted Execution
Environment Provisioning)
 TEEP
 IETP TEEP WGで議論されているTA(Trusted Application)のInstall/Update/Deleteを管理するプロトコル
 TAインストール時に関係するサーバ・クライアントをそれぞれ認証する
 プラットフォームから視点︓TAは信頼できるものなのか、TAを提供するサーバは信頼できるものなのか
 TA提供者からの視点︓実⾏するプラットフォームのTEEは信頼できるものなのか
出典:Trusted Execution Environment Provisioning (TEEP) Architecture draft-ietf-teep-architecture-15
7
TEEPアーキテクチャ
 TEE Certificateを使って
TAMがTEEを認証
 TAM Certificateを使って
TEEP AgentがTAMを認証
 Client側の暗号鍵・証明書は
Root of Trustに保存される
のが望ましい。
 TEEPではTA(Trusted
Application)からTC
(Trusted Component)に
変更
 メッセージはQueryRequest,
QueryResponse, Update,
Success, Error の5つ
8
Remote Attestation ProcedureS
9
インターネットは信頼できる︖
 「インターネット上ではあなたが⽝だと誰も知らない」
”On the Internet, nobody knows you're a dog”
 New Yorker(1993年7⽉5⽇)でのインターネット匿名性に関する格⾔
 https://en.wikipedia.org/wiki/On_the_Internet,_nobody_knows_you're_a_dog
 これではインターネットで商取引ができないが、解消するために個⼈
認証、サーバ認証などの技術が進んだ。
 さらに進んで、あなたの使っているデバイス(PC,スマホ)は信頼できる
のか(改変されていないか、セキュリティは守られているか、等)をリモー
トで確認する技術がRemote Attestation
 Remote Attestationのネットワークプロトコルの標準化をIETFで⾏
おうとしているのがRATS
10
既存のRA: Remote Attestation
 スマートフォン
 Android8以降のKeystore Key Attestation
 Samsung Knox Attestation
 iOS 14以降のDeviceCheck
 PC
 TPM: Trusted Platform Module 通常のWindows PCには標準準拠
 Intel SGX: Software Guard Extensions
 EPID: Enhanced Privacy ID, Intel提供のプライバシーを考慮したRA
 DCAP: Data Centric Audit Protection, プライバシーを考慮しないRA
 IoT
 Microsoft Azure IoT
 https://docs.microsoft.com/ja-jp/azure/attestation/overview
11
RATS
 WG Name: Remote ATtestation procedureS(RATS)/Security Area
 リモートシステムが信頼のレベルを確⽴するための⼿続き。
 信頼の判定はエビデンスによる。状況や時間によって変わる。
 ⽤語で注意︓draft-ietf-rats-architecture-12より
 Trust is a choice one makes about another system.
Trustworthiness is a quality about the other system that can be used in
making one’s decision to trust it or not.
 Remote Attestationは⽇本語で構成証明とも呼ばれる
 関連団体・規格
 TCG: Trusted Computing Group, TPMの規格策定。TPMベースのRemote Attestation
 FIDO: Fast IDentity Online, Key Attestationの規格あり。
 GlobalPlatform: ICカードの国際標準化組織として設⽴。TEE関連の規格も多数あり。
 ARM PSA (Platform Security Architecture)
https://github.com/ietf-rats
のロゴ
12
RATSアーキテクチャ
Remote ATtestation procedures Architecture
draft-ietf-rats-architecture-12より
1. Attester:
 (typically a device)Attester にEvidence
を提供してtrustworthyを認めさせ、 Relying
Partyからの指⽰(データ)を得る
2. Verifier:
 Attesterが提供するEvidenceを評価して
Attestation ResultsをRelying Partyに提供
3. Relying Party:
 VerifierのAttestation Resultsに基づいて最
終決定を⾏い、Attesterのアプリに対する指⽰
(データ)をAttesterの提供
Artifact
Role
主要
構成
要素
この通信を行うためだ
が、この規定はない
RATSはTLSのハンドシェイクのみに該当
13
Terminology (Sec 4.1. Roles)
1. Attester:
 (typically a device) VerifierにEvidenceを提供してtrustworthyを認めさせ、 Relying Partyからの指⽰(データ)を得る。
2. Relying Party:
 VerifierのAttestation Resultsに基づいて、アプリに対する指⽰(データ)をAttesterの提供。
3. Verifier:
 Attesterが提供するEvidenceを評価してAttestation ResultsをRelying Partyに提供。
4. Relying Party Owner:
 (typically an administrator) Relying PartyにAppraisal Policy for Attestation Resultsを提供。
5. Verifier Owner:
 (typically an administrator)VerifierにAppraisal Policy for Evidenceを提供。
6. Endorser:
 (typically a manufacturer) VerifierにAttesterのEndorsementを提供。
7. Reference Value Provider:
 (typically a manufacturer) VerifierにReference Valueを提供。
14
Terminology (Sec 4.2 Artifact)
 Claim:
 name/valueで表現される情報でEvidenceを構成するもの。先の図上には表れない。詳細は後のスライド。
 Endorsement:
 EndorserがAttesterの各機能(Capability)のIntegrity保証するもの。
 Evidence:
 Attesterが集めたClaimsから作成し、Verifierによって鑑定(appraise)されるもの。例︓configuration data,
measurements, telemetry, or inferences.
 Attestation Result:
 VerifierがEvidenceを鑑定した結果。ブーリアン値以外もある。例︓validity of the results。
 Appraisal Policy for Evidence:
 VerifierがAttesterを評価(evaluate)するために使う情報。
 Appraisal Policy for Attestation Results:
 Relying PartyがAttestation Resultsから取るルール。
 Reference Values:
 Appraisal Policy for EvidenceでClaimとの⽐較に使われる値。 Evidence
Attestation
Results
15
Attesterの構成
 Attesterは少なくと1つのAttesting EnvironmentとTarget Environmentから構成
 Target EnvironmentがClaimを提供し、 Attesting EnvironmentがEvidenceにまとめる。
応用系
たぶんTPMを想定
16
主要構成要素のトポロジカルパターン
 Evidence, Attestation Resultの受け取り⽅、渡し
⽅の違い
 主要構成要素にあるようにエンドの渡し⼿、受け⼿は
 AttesterからVerifierへEvidenceを渡す
 VerifierからAttestation Resultを渡す
で合っているが、中継(申請者?)が間に⼊る。
主要
構成
要素
パスポートモデル
Single Sign On的
バックグランドモデル
Intel SGX EPID, DCAP
17
TPM Style v.s. EAT-Style
 TPM: Trusted Platform Module
 対象︓ネットワーク装置/サーバ
 サポート︓Fraunhofer, Intel, Cisco, Juniper, HPE
 PCに標準搭載されているセキュアチップTPMがRoot of Trust
 TCGでRemote Attestationの仕様あり。
 EAT: Entity Authentication Token
 対象︓スマホ・IoTなどが対象
 サポート︓Qualcomm, ARM
 CWT,JWTのフォーマット
18
EvidenceとAttestation Resultsのフォーマット
EAT-Style
TPM-Style
19
Freshness (Sec 10 in Architecture)
 Drop攻撃、delay攻撃、reorder攻撃、Replay攻撃に対処
 3種類の対応
 Explicit Timekeeping using Synchronized Clocks
 信頼できる時計を持つ必要あり。但し、TEEで信頼できる時計を持つものがない︖
 Implicit Timekeeping using Nonces
 Verifier/Relying Parityが送るnonceにサインしてEvidenceやAttestation Resultに含める。
 Creation of ClaimsとCollection of Claimsの間の時間が不明確。(Time outを考慮しないため︖)
 Implicit Timekeeping using Epoch IDs
 Epoch ID distributorがEvidenceやAttestation ResultのSenderとReceiverにEpoch IDを送る。
 Epoch window時間を考慮する必要あり。
20
おまけ︓個⼈的に考える課題
 仮想化対応
 TEE内の仮想化(すでにRATSで議論)。AMD SEV, Intel TDX, Arm CCA
 既存の仮想化技術に対する対応
 昔からvTPM (virtual TPM)はある。
 スケーラビリティ、Swarm/Collective Attestation
 Micro Serviceとの連携。素早いAttestationと⾔うだけでなく、component間の連携を考えたRemote
Attestation。self-attestationやmutual attestation。
 匿名性(DAA)が必要なRA v.s. 特定が必要なRA
 スマホやPCなど、個⼈が紐づくものはDAAだが、ある⽬的のIoTだったら特定したい︖
21
まとめ
 TEEP
 TEEとは
 TEEPアーキテクチャの説明
 RATS
 Remote Attestationとは
 RATS アーキテクチャの説明
 おまけ︓個⼈的に考えるRemote Attestationの⽅向性

遠隔デバイスとの信頼を築くための技術とその標準(TEEP RATS)

  • 1.
    1 第11回サイバーセキュリティ国際シンポジウム 2021/11/28 遠隔デバイスとの信頼を築くための技術とその標準 TEEP: Trusted ExecutionEnvironment Provisioning RATS: Remote ATtestation procedureS 産業技術総合研究所 サイバーフィジカルセキュリティ研究センター 須崎有康
  • 2.
    2 ⾃⼰紹介  名前︓須崎有康 KuniyasuSuzaki  所属︓産業技術総合研究所サイバーフィジカルセキュリティ研究センター(AIST・CPSEC)  RISC-Vセキュリティの研究に従事。特にTEE関連。  2019よりTCG Invited Expert  関連書き物  Trusted Execution Environmentによるシステムの堅牢化, 情報処理2020/06  https://ci.nii.ac.jp/naid/40022255769  Trusted Execution Environmentの実装とそれを⽀える技術,電⼦情報通信学会基礎・境界ソサイエティ Fundamentals Review, 2020/10  https://www.jstage.jst.go.jp/article/essfr/14/2/14_107/_article/-char/ja/
  • 3.
    3 TEEPとは  近年のCPUが提供する隔離実⾏環境TEE: TrustedExecution Environment内のア プリケーション(TA: Trusted Application)を安全にインストール、更新、削除するプロトコル CPU Trusted OS Normal World (Rich Execution Environment) App Normal OS Trusted App Secure World (Trusted Execution Environment)
  • 4.
    4 TEEPとは  近年のCPUが提供する隔離実⾏環境TEE: TrustedExecution Environment内のア プリケーション(TA: Trusted Application)を安全にインストール、更新、削除するプロトコル CPU Trusted OS Normal World (Rich Execution Environment) App Normal OS Trusted App Secure World (Trusted Execution Environment) TAM: Trusted Application Manager Trusted App
  • 5.
    5 TEEの利⽤例  機密情報処理  鍵管理 AndroidのKeyMaster  DRM処理  スマホのWidevine(Google)  個⼈情報管理  コード・データの隠蔽  機械学習の重み付けデータ  プライバシー保護処理  遺伝⼦解析 • メモリ消費が少ない • 要求される機能が少ない • スマートフォンでの活用多 • Arm TrustZone向き • メモリ消費が大きい • 要求される機能(system call 、ライ ブラリ)が多い • サーバ・クラウド • Intel SGX、AMD SEV, Arm CCA, Amazon EC2 Nitro 向き キラーアプリ
  • 6.
    6 TEEの管理フレームワーク TEEP(Trusted Execution EnvironmentProvisioning)  TEEP  IETP TEEP WGで議論されているTA(Trusted Application)のInstall/Update/Deleteを管理するプロトコル  TAインストール時に関係するサーバ・クライアントをそれぞれ認証する  プラットフォームから視点︓TAは信頼できるものなのか、TAを提供するサーバは信頼できるものなのか  TA提供者からの視点︓実⾏するプラットフォームのTEEは信頼できるものなのか 出典:Trusted Execution Environment Provisioning (TEEP) Architecture draft-ietf-teep-architecture-15
  • 7.
    7 TEEPアーキテクチャ  TEE Certificateを使って TAMがTEEを認証 TAM Certificateを使って TEEP AgentがTAMを認証  Client側の暗号鍵・証明書は Root of Trustに保存される のが望ましい。  TEEPではTA(Trusted Application)からTC (Trusted Component)に 変更  メッセージはQueryRequest, QueryResponse, Update, Success, Error の5つ
  • 8.
  • 9.
    9 インターネットは信頼できる︖  「インターネット上ではあなたが⽝だと誰も知らない」 ”On theInternet, nobody knows you're a dog”  New Yorker(1993年7⽉5⽇)でのインターネット匿名性に関する格⾔  https://en.wikipedia.org/wiki/On_the_Internet,_nobody_knows_you're_a_dog  これではインターネットで商取引ができないが、解消するために個⼈ 認証、サーバ認証などの技術が進んだ。  さらに進んで、あなたの使っているデバイス(PC,スマホ)は信頼できる のか(改変されていないか、セキュリティは守られているか、等)をリモー トで確認する技術がRemote Attestation  Remote Attestationのネットワークプロトコルの標準化をIETFで⾏ おうとしているのがRATS
  • 10.
    10 既存のRA: Remote Attestation スマートフォン  Android8以降のKeystore Key Attestation  Samsung Knox Attestation  iOS 14以降のDeviceCheck  PC  TPM: Trusted Platform Module 通常のWindows PCには標準準拠  Intel SGX: Software Guard Extensions  EPID: Enhanced Privacy ID, Intel提供のプライバシーを考慮したRA  DCAP: Data Centric Audit Protection, プライバシーを考慮しないRA  IoT  Microsoft Azure IoT  https://docs.microsoft.com/ja-jp/azure/attestation/overview
  • 11.
    11 RATS  WG Name:Remote ATtestation procedureS(RATS)/Security Area  リモートシステムが信頼のレベルを確⽴するための⼿続き。  信頼の判定はエビデンスによる。状況や時間によって変わる。  ⽤語で注意︓draft-ietf-rats-architecture-12より  Trust is a choice one makes about another system. Trustworthiness is a quality about the other system that can be used in making one’s decision to trust it or not.  Remote Attestationは⽇本語で構成証明とも呼ばれる  関連団体・規格  TCG: Trusted Computing Group, TPMの規格策定。TPMベースのRemote Attestation  FIDO: Fast IDentity Online, Key Attestationの規格あり。  GlobalPlatform: ICカードの国際標準化組織として設⽴。TEE関連の規格も多数あり。  ARM PSA (Platform Security Architecture) https://github.com/ietf-rats のロゴ
  • 12.
    12 RATSアーキテクチャ Remote ATtestation proceduresArchitecture draft-ietf-rats-architecture-12より 1. Attester:  (typically a device)Attester にEvidence を提供してtrustworthyを認めさせ、 Relying Partyからの指⽰(データ)を得る 2. Verifier:  Attesterが提供するEvidenceを評価して Attestation ResultsをRelying Partyに提供 3. Relying Party:  VerifierのAttestation Resultsに基づいて最 終決定を⾏い、Attesterのアプリに対する指⽰ (データ)をAttesterの提供 Artifact Role 主要 構成 要素 この通信を行うためだ が、この規定はない RATSはTLSのハンドシェイクのみに該当
  • 13.
    13 Terminology (Sec 4.1.Roles) 1. Attester:  (typically a device) VerifierにEvidenceを提供してtrustworthyを認めさせ、 Relying Partyからの指⽰(データ)を得る。 2. Relying Party:  VerifierのAttestation Resultsに基づいて、アプリに対する指⽰(データ)をAttesterの提供。 3. Verifier:  Attesterが提供するEvidenceを評価してAttestation ResultsをRelying Partyに提供。 4. Relying Party Owner:  (typically an administrator) Relying PartyにAppraisal Policy for Attestation Resultsを提供。 5. Verifier Owner:  (typically an administrator)VerifierにAppraisal Policy for Evidenceを提供。 6. Endorser:  (typically a manufacturer) VerifierにAttesterのEndorsementを提供。 7. Reference Value Provider:  (typically a manufacturer) VerifierにReference Valueを提供。
  • 14.
    14 Terminology (Sec 4.2Artifact)  Claim:  name/valueで表現される情報でEvidenceを構成するもの。先の図上には表れない。詳細は後のスライド。  Endorsement:  EndorserがAttesterの各機能(Capability)のIntegrity保証するもの。  Evidence:  Attesterが集めたClaimsから作成し、Verifierによって鑑定(appraise)されるもの。例︓configuration data, measurements, telemetry, or inferences.  Attestation Result:  VerifierがEvidenceを鑑定した結果。ブーリアン値以外もある。例︓validity of the results。  Appraisal Policy for Evidence:  VerifierがAttesterを評価(evaluate)するために使う情報。  Appraisal Policy for Attestation Results:  Relying PartyがAttestation Resultsから取るルール。  Reference Values:  Appraisal Policy for EvidenceでClaimとの⽐較に使われる値。 Evidence Attestation Results
  • 15.
    15 Attesterの構成  Attesterは少なくと1つのAttesting EnvironmentとTargetEnvironmentから構成  Target EnvironmentがClaimを提供し、 Attesting EnvironmentがEvidenceにまとめる。 応用系 たぶんTPMを想定
  • 16.
    16 主要構成要素のトポロジカルパターン  Evidence, AttestationResultの受け取り⽅、渡し ⽅の違い  主要構成要素にあるようにエンドの渡し⼿、受け⼿は  AttesterからVerifierへEvidenceを渡す  VerifierからAttestation Resultを渡す で合っているが、中継(申請者?)が間に⼊る。 主要 構成 要素 パスポートモデル Single Sign On的 バックグランドモデル Intel SGX EPID, DCAP
  • 17.
    17 TPM Style v.s.EAT-Style  TPM: Trusted Platform Module  対象︓ネットワーク装置/サーバ  サポート︓Fraunhofer, Intel, Cisco, Juniper, HPE  PCに標準搭載されているセキュアチップTPMがRoot of Trust  TCGでRemote Attestationの仕様あり。  EAT: Entity Authentication Token  対象︓スマホ・IoTなどが対象  サポート︓Qualcomm, ARM  CWT,JWTのフォーマット
  • 18.
  • 19.
    19 Freshness (Sec 10in Architecture)  Drop攻撃、delay攻撃、reorder攻撃、Replay攻撃に対処  3種類の対応  Explicit Timekeeping using Synchronized Clocks  信頼できる時計を持つ必要あり。但し、TEEで信頼できる時計を持つものがない︖  Implicit Timekeeping using Nonces  Verifier/Relying Parityが送るnonceにサインしてEvidenceやAttestation Resultに含める。  Creation of ClaimsとCollection of Claimsの間の時間が不明確。(Time outを考慮しないため︖)  Implicit Timekeeping using Epoch IDs  Epoch ID distributorがEvidenceやAttestation ResultのSenderとReceiverにEpoch IDを送る。  Epoch window時間を考慮する必要あり。
  • 20.
    20 おまけ︓個⼈的に考える課題  仮想化対応  TEE内の仮想化(すでにRATSで議論)。AMDSEV, Intel TDX, Arm CCA  既存の仮想化技術に対する対応  昔からvTPM (virtual TPM)はある。  スケーラビリティ、Swarm/Collective Attestation  Micro Serviceとの連携。素早いAttestationと⾔うだけでなく、component間の連携を考えたRemote Attestation。self-attestationやmutual attestation。  匿名性(DAA)が必要なRA v.s. 特定が必要なRA  スマホやPCなど、個⼈が紐づくものはDAAだが、ある⽬的のIoTだったら特定したい︖
  • 21.
    21 まとめ  TEEP  TEEとは TEEPアーキテクチャの説明  RATS  Remote Attestationとは  RATS アーキテクチャの説明  おまけ︓個⼈的に考えるRemote Attestationの⽅向性