信頼できる実行環境( TEE )は、メイン プロセッサの安全な領域です。TEE は、内部にロードされたコードとデータの機密性と整合性の保護に役立ちます。データの機密性により、TEE 外部の権限のないエンティティがデータを読み取ることが防止され、コードの整合性により、TEE 内のコードが権限のないエンティティによって置き換えられたり変更されたりすることが防止されます。権限のないエンティティは、 Intel SGXで説明されている特定のDRMスキームのように、コンピューターの所有者自身である可能性もあります。
これは、メモリ内の特定のアプリケーション コードとデータを分離するハードウェア ベースのメモリ暗号化を提供する、ユニークで不変かつ機密性の高いアーキテクチャ セキュリティを実装することによって行われます。これにより、ユーザー レベルのコードは、より高い権限レベルで実行されているプロセスから保護されるように設計されたエンクレーブと呼ばれるメモリのプライベート領域を割り当てることができます。[1] [2] [3]分離された実行環境としての TEE は、分離された実行、TEE で実行されるアプリケーションの整合性、それらの資産の機密性などのセキュリティ機能を提供します。一般的に言えば、TEE は、デバイス上で実行される信頼できるアプリケーションに対して、機能豊富なオペレーティング システム (OS) よりも高いレベルのセキュリティと、「セキュア エレメント」(SE) よりも多くの機能を提供する実行スペースを提供します。
歴史
オープンモバイル ターミナル プラットフォーム(OMTP) は、最初に TEE を「Advanced Trusted Environment:OMTP TR1」標準で定義し、アプリケーションをサポートするために必要な機能を提供するハードウェアおよびソフトウェア コンポーネントのセットとして定義しました。これは、定義された 2 つのセキュリティ レベルのいずれかの要件を満たす必要がありました。最初のセキュリティ レベルであるプロファイル 1 はソフトウェア攻撃のみを対象としていましたが、プロファイル 2 はソフトウェアとハードウェアの両方の攻撃を対象としていました。[4]
その後、Trusted Logicが開発したTrusted Foundationsなど、TR1標準に準拠したARM TrustZoneテクノロジーに基づく商用TEEソリューションが発売されました。 [5]
OMTP標準の作業は、グループが卸売アプリケーションコミュニティ(WAC)に移行した2010年半ばに終了しました。[6]
TEEを定義するものを含むOMTP標準はGSMAによってホストされています。[7]
詳細
TEE は通常、ハードウェア分離メカニズムとその分離メカニズム上で実行される安全なオペレーティングシステムで構成されますが、この用語はより一般的には保護されたソリューションを意味するために使用されています。[8] [9] [10] [11] GlobalPlatform TEE ではハードウェア分離が必要ですが、EMVCo などの他の TEE では、ハードウェアベースとソフトウェアベースの両方のソリューションを指すために TEE という用語を使用しています。[12] FIDO は、ハードウェア分離に基づく TEE の制限された動作環境で TEE の概念を使用しています。[13] TEE で実行される信頼できるアプリケーションのみが、デバイスのメインプロセッサ、周辺機器、およびメモリの全機能にアクセスできますが、ハードウェア分離により、メインオペレーティングシステムで実行されるユーザーがインストールしたアプリからこれらが保護されます。TEE 内のソフトウェアと暗号は、内部に含まれる信頼できるアプリケーションを相互に保護します。[14]
サービス プロバイダー、モバイル ネットワーク オペレーター(MNO)、オペレーティング システム開発者、アプリケーション開発者、デバイス メーカー、プラットフォーム プロバイダー、シリコン ベンダーは、TEE に関する標準化の取り組みに貢献している主な関係者です。
ユーザーが制御するソフトウェアによるハードウェアのシミュレーションを防ぐために、いわゆる「ハードウェア ルート オブ トラスト」が使用されます。これは、製造時にチップに直接埋め込まれる秘密キーのセットです。モバイル デバイスでは、通常、 eFuseなどの 1 回限りのプログラム可能なメモリが使用されます。これらは、デバイスをリセットした後でも変更できません。また、その公開キーは、信頼できる当事者 (通常はチップ ベンダー) に属する公開キーの非秘密ハッシュとともに、製造元のデータベースに保存されます。この公開キーは、暗号化操作とアクセス制御を行う回路とともに、信頼できるファームウェアに署名するために使用されます。
ハードウェアは、信頼できる当事者のキーで署名されていないすべてのソフトウェアが特権機能にアクセスできないように設計されている。ベンダーの公開キーは実行時に提供され、ハッシュ化される。このハッシュはチップに埋め込まれているハッシュと比較される。ハッシュが一致した場合、公開キーは信頼できるベンダー制御ファームウェア(AndroidデバイスのブートローダーのチェーンやSGXの「アーキテクチャエンクレーブ」など)のデジタル署名を検証するために使用される。信頼できるファームウェアは、リモート認証を実装するために使用される。[15]
アプリケーションが認証されると、信頼されていないコンポーネントは信頼できるコンポーネントをメモリにロードします。信頼できるアプリケーションは、ハードウェアによって信頼されていないコンポーネントによる変更から保護されます。信頼されていない当事者は検証者のサーバーにnonce を要求し、暗号認証プロトコルの一部として使用して、信頼できるアプリケーションの整合性を証明します。証明は検証者に渡され、検証者がそれを検証します。有効な証明は、シミュレートされたハードウェア (つまりQEMU ) では計算できません。証明を作成するには、ハードウェアに組み込まれたキーへのアクセスが必要であり、信頼できるファームウェアのみがこれらのキーおよび/またはそれらから派生したキーやそれらを使用して取得されたキーにアクセスできます。プラットフォーム所有者のみがファウンドリに記録されたデータにアクセスできるように設計されているため、検証者はベンダーが設定したサービスと対話する必要があります。このスキームが不適切に実装されている場合、チップベンダーはどのチップでどのアプリケーションが使用されているかを追跡し、認証が成功しなかったことを示すメッセージを返すことでサービスを選択的に拒否できます。[16]
ハードウェアをシミュレートしてリモート認証を通過できるようにするには、攻撃者はハードウェアからキーを抽出する必要がありますが、実行には設備と技術力が必要なためコストがかかります。たとえば、集束イオンビーム、走査型電子顕微鏡、マイクロプロービング、チップのカプセル化解除[17] [18] [19] [20] [21] [22]を使用することは、ハードウェアがリバースエンジニアリングによってキーを破壊できるように設計されている場合は困難、または不可能です。ほとんどの場合、キーはハードウェアごとに固有であるため、1つのチップから抽出されたキーを他のチップで使用することはできません(たとえば、物理的に複製できない機能[23] [24])。
所有権の剥奪は TEE の固有の特性ではありませんが (デバイスの所有権を最初に取得したユーザーのみが、独自のキーのハッシュを e-fuse に書き込むことによってシステムを制御できるようにシステムを設計することは可能です)、実際には、民生用電子機器のこのようなシステムはすべて、チップ製造業者が認証とそのアルゴリズムへのアクセスを制御できるように意図的に設計されています。これにより、製造業者は、製造業者と (通常は商用の) ビジネス契約を結んでいるソフトウェア開発者にのみ TEE へのアクセスを許可して、ハードウェアのユーザー ベースを収益化し、 tivoizationや DRM などのユース ケースを有効にし、特定のハードウェア機能をベンダー提供のソフトウェアでのみ使用できるようにすることで、広告、追跡、市場細分化のためのユース ケース制限などのアンチ機能にもかかわらず、ユーザーに使用を強制することができます。
用途
TEE にはさまざまな使用例があります。すべての使用例が所有権の剥奪を利用するわけではありませんが、TEE は通常、まさにこの目的で使用されます。
プレミアムコンテンツ保護/デジタル著作権管理
注: TEEの文献の多くは、このトピックを「プレミアムコンテンツ保護」という定義で扱っています。これは多くの著作権者が好む用語です。プレミアムコンテンツ保護は、デジタル著作権管理(DRM)の特定の使用例であり、フリーソフトウェア財団などの一部のコミュニティでは議論の的となっています。[25]著作権者は、エンドユーザーが4K高解像度映画などのコンテンツを消費する方法を制限するためにこれを広く使用しています。
TEE は、スマートフォン、タブレット、HD テレビなどの接続デバイス上のデジタルエンコードされた情報 (HD 映画やオーディオなど) を保護するのに適した環境です。この適性は、TEE がデバイスの所有者から保存された秘密へのアクセスを奪う機能と、TEE とデバイスのディスプレイやサブシステムの間に保護されたハードウェア パスが存在することが多いという事実から生まれます。
TEE は、デバイス上に置かれたコンテンツを保護するために使用されます。コンテンツは暗号化を使用して送信中またはストリーミング中に保護されますが、TEE は、デバイス上で復号化されたコンテンツがアプリ開発者またはプラットフォーム ベンダーによって承認されていない環境に公開されないようにすることで、コンテンツを保護します。
モバイル金融サービス
モバイル ウォレット、ピアツーピア決済、非接触型決済、モバイル デバイスを POS 端末として使用するなどのモバイル コマース アプリケーションでは、セキュリティ要件が明確に定義されていることがよくあります。TEE は、多くの場合、近距離無線通信(NFC)、SE、信頼できるバックエンド システムと組み合わせて使用することで、金融取引を行うために必要なセキュリティを提供できます。
シナリオによっては、エンド ユーザーとのやり取りが必要となり、ユーザー認証の手段として、PIN、パスワード、生体認証識別子などの機密情報をモバイルOSに公開する必要がある場合があります。TEE は、オプションで、モバイル デバイス上でユーザー認証を構築するために使用できる信頼できるユーザー インターフェイスを提供します。
暗号通貨の台頭に伴い、TEEは通常のオペレーティングシステムよりも安全にトークンを保管する機能を提供し、必要な計算および認証アプリケーションを提供できるため、暗号通貨ウォレットの実装にますます使用されるようになっています。[26]
認証
TEE は、PIN やパスワードよりも使いやすく、盗難されにくい生体認証方式 (顔認識、指紋センサー、音声認証) をサポートするのに適しています。認証プロセスは、通常、次の 3 つの主要な段階に分かれています。
- 次の段階で抽出された「画像」と比較するために、デバイス上に参照「テンプレート」識別子を保存します。
- 「画像」を抽出します(指紋をスキャンするか、音声サンプルをキャプチャします)。
- マッチングエンジンを使用して「画像」と「テンプレート」を比較します。
TEE は、モバイル デバイス内のマッチング エンジンと、ユーザー認証に必要な関連処理を格納するのに適した領域です。この環境は、データを保護し、モバイル OSにある安全でないアプリに対するバッファーを確立するように設計されています。この追加のセキュリティは、端末開発者のコストを低く抑えるだけでなく、サービス プロバイダーのセキュリティ ニーズを満たすのにも役立ちます。
企業、政府、クラウド
TEE は、政府、企業、クラウド サービス プロバイダーがモバイル デバイスやサーバー インフラストラクチャ上の機密情報を安全に処理するために使用できます。TEE は、モバイル OSで発生するソフトウェア攻撃に対する一定レベルの保護を提供し、アクセス権の制御を支援します。これは、モバイル OS や存在する可能性のある悪意のあるマルウェアから分離して保護する必要がある機密性の高い「信頼できる」アプリケーションを格納することで実現します。TEE が提供する機能とセキュリティ レベルを利用することで、政府や企業は従業員が自分のデバイスを安全かつ信頼できる方法で使用していることを確信できます。同様に、サーバーベースの TEE は、バックエンド インフラストラクチャに対する内部および外部の攻撃からの防御に役立ちます。
安全なモジュールプログラミング
ソフトウェア資産と再利用の増加に伴い、機能を小さな独立したモジュールに分離するモジュールプログラミングは、ソフトウェアアーキテクチャを設計する最も生産的なプロセスです。各モジュールには、必要な機能を実行するために必要なものがすべて含まれているため、TEE を使用すると、各モジュールが他のモジュールの脆弱性から保護されながら、高いレベルの信頼性とセキュリティを備えた完全なシステムを構成できます。
モジュールが通信してデータを共有できるように、TEE は、オブジェクトのシリアル化などのメカニズムをプロキシと組み合わせて使用し、モジュール間でペイロードを安全に送受信する手段を提供します。
TEE オペレーティング システム
ハードウェアサポート
TEE 実装をサポートするために、次のハードウェア テクノロジを使用できます。
- AMD :
- プラットフォームセキュリティプロセッサ(PSP)[40] [41] [42]
- AMDセキュア暗号化仮想化(SEV)[43]とセキュアネストページング拡張[44]
- アーム:
- トラストゾーン[45]
- レルム管理拡張 / 機密コンピューティング アーキテクチャ (CCA)
- IBM :
- IBM Secure Service Container [ 46](旧称zACI)は、IBM z13世代のマシン(すべてのLinuxONEマシンを含む)のドライバーレベル27で初めて導入されました。[47]
- IBM Secure Execution [48]は、 2020年4月14日にIBM z15およびLinuxONE III世代のマシンに導入されました。
- インテル:
- 信頼できる実行テクノロジー(TXT)
- ソフトウェアガード拡張(SGX)[49]
- 「サイレントレイク」(Atomプロセッサで利用可能)[50] [51] [52]
- RISC-V :
- マルチゾーンセキュリティ信頼実行環境[53]
- キーストーンカスタマイズ可能なTEEフレームワーク[54]
- RISC-V 用蓬莱スケーラブル TEE [55]
参照
- オープンモバイル端末プラットフォーム
- トラステッドコンピューティンググループ
- FIDOアライアンス
- ジャバカード
- インテル マネジメント エンジン
- インテル ラグランデ
- ソフトウェア ガード拡張機能
- AMD プラットフォーム セキュリティ プロセッサ
- トラステッド プラットフォーム モジュール
- ARM トラストゾーン
- NFCセキュアエレメント
- 次世代セキュアコンピューティング基盤
参考文献
- ^ 「信頼できる実行環境の紹介: ARM の TrustZone」。
- ^ 「信頼できる実行環境のセキュリティ評価:理由と方法?」(PDF) 。2024年2月15日閲覧。
- ^ 「Trusted Execution Environment、何百万ものユーザーが利用しています。あなたは利用していますか?」Poulpita 2014-02-18。2021-01-27 時点のオリジナルよりアーカイブ。2017-05-17閲覧。
- ^ 「Omtp ハードウェア要件とデフラグメンテーション」(PDF)。Gsma.org 。2018年 12 月 14 日のオリジナルからアーカイブ(PDF) 。2017 年 5 月 17 日閲覧。
- ^ 「Gemalto の Web サイトが Thales に移行しました」(PDF) 。2014 年 9 月 3 日時点のオリジナル(PDF)からアーカイブ。
- ^ 「OMTP、ホールセールアプリケーションコミュニティへの移行に先立ち最終文書を発表」Mobileeurope.co.uk。2018年12月14日時点のオリジナルよりアーカイブ。2014年8月27日閲覧。
- ^ 「OMTP文書」Gsma.com 2012年5月。2015年2月19日時点のオリジナルよりアーカイブ。2014年9月12日閲覧。
- ^ Sabt, M; Achemlal, M; Bouabdallah, A (2015). 「信頼できる実行環境: それが何であるか、そしてそれが何ではないか」 2015 IEEE Trustcom/BigDataSE/ISPA (PDF) . IEEE. pp. 57–64. doi :10.1109/Trustcom.2015.357. ISBN 978-1-4673-7952-6. S2CID 206775888. 2020年7月18日にオリジナルからアーカイブ(PDF)されました。2020年4月19日に取得。
- ^ Pinto, S.; Santos, N. (2019). 「Arm TrustZone の謎を解明: 包括的な調査」. ACM Computing Surveys . 51 : 1–36. doi :10.1145/3291047. S2CID 59337370.
- ^ Lee, S; Lee, JH (2018). 「安全なインフォテインメントシステムのためのTEEベースのセッションキー確立プロトコル」。組み込みシステムの設計自動化。22 ( 3). Springer: 215–224. doi :10.1007/s10617-018-9212-5. S2CID 52081114.
- ^ Shepherd, C; Arfaoui, G; Gurulian, I; Lee, R; Markantonakis, K; Akram, R; Sauveron, D; Conchon, E (2016). 「セキュアで信頼できる実行: 過去、現在、未来 - モノのインターネットとサイバーフィジカルシステムの文脈における批評的レビュー」 2016 IEEE Trustcom/BigDataSE/ISPA (PDF) . IEEE. pp. 168–177. doi :10.1109/TrustCom.2016.0060. ISBN 978-1-5090-3205-1. S2CID 8717045. 2021年5月14日にオリジナルからアーカイブ(PDF)されました。2021年5月14日閲覧。
- ^ 「ソフトウェアベースのモバイル決済評価プロセス」。EMVCo。2021年3月2日時点のオリジナルよりアーカイブ。2021年10月13日閲覧。
- ^ 「FIDO Authenticator が許可する制限付きオペレーティング環境リスト」。FIDO Alliance。2021 年 7 月 13 日時点のオリジナルよりアーカイブ。2021 年 10 月 13 日閲覧。
- ^ 「ソリューション - Trustonic - スマートデバイスとモバイルアプリケーションの保護」。Trustonic.com。2014年8月10日時点のオリジナルよりアーカイブ。2014年7月31日閲覧。
- ^ 「Intel SGX における拡張プライバシー ID (EPID) ベースのリモート認証の正式化に向けて」。
- ^ 「QEMU v7 — OP-TEE ドキュメント」.
- ^ 「集束イオンビームによる回路の編集」。2014年4月。2020年11月28日時点のオリジナルよりアーカイブ。2020年11月14日閲覧。
- ^ 「高度な IC リバースエンジニアリング技術: 最新のスマートカードの詳細な分析」(PDF) 。2020年 11 月 14 日時点のオリジナルよりアーカイブ(PDF) 。2020年 11 月 14 日閲覧。
- ^ 干し草の山から AES ビットを見つける: 電圧コントラストを使用したリバースエンジニアリングと SCA (Christian Kison、Jürgen Frinken、Christof Paar 著) - https://www.iacr.org/archive/ches2015/92930620/92930620.pdf 2020 年 11 月 16 日にWayback Machineにアーカイブされました
- ^ Cassy, John; Murphy, Paul (2002-03-13). 「暗号解読者 はいかにしてスマートカードの秘密を解明したか」。ガーディアン。ISSN 0261-3077 。 2023年8月9日閲覧。
- ^ “X-Ray Tech Lays Chip Secrets Bare - IEEE Spectrum”. 2019年10月7日. 2020年12月8日時点のオリジナルよりアーカイブ。2020年11月14日閲覧。
- ^ 改ざん防止スマートカードプロセッサの設計原則、Oliver Kömmerling Advanced Digital Security および Markus G. Kuhn 著、ケンブリッジ大学 https://www.usenix.org/legacy/events/smartcard99/full_papers/kommerling/kommerling.pdf 2021-01-21 にWayback Machineでアーカイブ
- ^ 「物理的に複製不可能な機能(PUF)」。半導体エンジニアリング。2020年11月16日時点のオリジナルよりアーカイブ。2020年11月15日閲覧。
- ^ Areno, Matthew & Plusquellic, J.. (2012). PUF 生成秘密鍵による信頼できる実行環境の保護。1188-1193. 10.1109/TrustCom.2012.255.
- ^ 「デジタル制限管理と Treacherous Computing Free Software Foundation がフリーソフトウェアのために協力」。2018 年 7 月 5 日時点のオリジナルよりアーカイブ。2019年 8 月 20 日閲覧。
- ^ 「信頼できる実行環境/セキュアエンクレーブ内のEthereumウォレット」。Medium。2018年6月7日。2021年7月15日時点のオリジナルよりアーカイブ。2021年10月13日閲覧。
- ^ 「Alibaba Cloud Link Tee V1.1.3」。GlobalPlatform。2021年10月26日時点のオリジナルよりアーカイブ。2021年10月13日閲覧。
- ^ 「Secure Enclave の概要」。Apple Inc. 2021 年 8 月 13 日時点のオリジナルよりアーカイブ。2021 年 10 月 13 日閲覧。
- ^ 「GlobalPlatformが新たな参加メンバーである北京ビーンポッドテクノロジーを歓迎」。GlobalPlatform。2021年10月26日時点のオリジナルよりアーカイブ。2021年10月13日閲覧。
- ^ 「Huawei iTrustee V3.0 on Kirin 980」。GlobalPlatform。2021年4月14日時点のオリジナルよりアーカイブ。2021年10月13日閲覧。
- ^ “Trusty TEE”. Google Android. 2021年10月14日時点のオリジナルよりアーカイブ。2021年10月13日閲覧。
- ^ 「セキュリティ、Trustzone、OP-TEE」。Linaro 。 2021年2月27日時点のオリジナルよりアーカイブ。2021年10月13日閲覧。
- ^ “ProvenCore”. ProvenRun. 2024年2月26日時点のオリジナルよりアーカイブ。2024年6月23日閲覧。
- ^ 「Qualcomm Snapdragon Mobile Platformでデータを保護する」(PDF)。Qualcomm。2021年6月25日時点のオリジナルよりアーカイブ(PDF) 。2021年10月13日閲覧。
- ^ “Samsung TeeGris V4.1”. GlobalPlatform. 2021年1月17日時点のオリジナルよりアーカイブ。2021年10月13日閲覧。
- ^ "T6 でデバイスのセキュリティを強化".トラストカーネル。
- ^ ab 「セキュリティ評価証明書 - Kinibi 410A」(PDF)。GlobalPlatform。
- ^ 「uberXMHF」.
- ^ 「SC9860 上の WatchTrust 2.1.1」(PDF)。GlobalPlatform。
- ^ 「AMD Secure Processor (Built-in technology)」。Amd.com。2017年9月19日時点のオリジナルよりアーカイブ。2017年9月17日閲覧。
- ^ 「セキュアなハードウェアとオープンで信頼できるエコシステムの構築」(PDF)。Classic.regonline.com。2017年 1 月15日のオリジナルからアーカイブ(PDF) 。2017年 5 月 17 日閲覧。
- ^ Chiappetta, Marco (2014-04-29). 「AMD Beema および Mullins Low Power 2014 APU のテスト - ページ 2」。HotHardware。2017-04-07 にオリジナルからアーカイブ。2017-05-17に取得。
- ^ 「AMD メモリ暗号化」(PDF) . developer.amd.com . 2016 年 4 月 21 日。
- ^ 「AMD SEV-SNP: 整合性保護などによる VM 分離の強化」(PDF) 。2020 年 1 月。2020 年 11 月 5 日時点のオリジナルよりアーカイブ(PDF) 。
- ^ 「GlobalPlatform ベースの Trusted Execution Environment と TrustZone Ready」(PDF)。Arm.com。2020年 7 月 4 日のオリジナルからアーカイブ(PDF) 。2020 年 4 月 24日閲覧。
- ^ 「IBM Secure Service Container」。ibm.com。2019年7月12日時点のオリジナルよりアーカイブ。2019年7月12日閲覧。
- ^ 「ファミリー 2965+01 IBM z13s モデル N10 および N20」。ibm.com。2018年5月22日。2021年1月26日時点のオリジナルよりアーカイブ。2021年10月27日閲覧。
- ^ 「IBM Z 上の Linux のセキュア実行に関する技術概要」ibm.com。2020 年 4 月 15 日時点のオリジナルよりアーカイブ。2020 年 4 月 15 日閲覧。
- ^ 「モバイルデバイス上の信頼できる実行環境」(PDF)。Cs.helsinki.fi 。2016年 4 月 18 日のオリジナルからアーカイブ(PDF) 。2017 年 5 月 17 日閲覧。
- ^ "WW46_2014_MCG_Tablet_Roadmap_图文_百度文库". Wenku.baidu.com。 2017 年 2 月 27 日にオリジナルからアーカイブされました。2017 年 1 月 4 日に取得。
- ^ 「CyanogenMod/android_device_asus_mofd-common」。GitHub。2017年3月24日時点のオリジナルよりアーカイブ。2017年1月4日閲覧。
- ^ "heidiao/sfp_m2_bt". GitHub . 2017-03-24にオリジナルからアーカイブ。2017-01-04に取得。
- ^ 「Hex Five Security、SiFiveソフトウェアエコシステムにMultiZone™ Trusted Execution Environmentを追加」hex-five.com。2018年8月22日。2018年9月13日時点のオリジナルよりアーカイブ。2018年9月13日閲覧。
- ^ 「Keystone Paper and Customizable TEEs」. keystone-enclave.org . 2019年7月22日. 2020年7月14日時点のオリジナルよりアーカイブ。2021年6月10日閲覧。
- ^ “Penglai Enclave”. penglai-enclave.systems/ . 2021年5月6日時点のオリジナルよりアーカイブ。2021年6月10日閲覧。
