Content deleted Content added
A relevant reference was added to the page. |
→Details: Added link. Tags: Mobile edit Mobile app edit Android app edit App select source |
||
(70 intermediate revisions by 55 users not shown) | |||
Line 1:
{{Short description|
A '''trusted execution environment''' ('''TEE''') is a secure area of a [[Central processing unit|main processor]]. It
This is done by implementing unique, immutable, and confidential architectural security ==History==
The
Commercial TEE solutions based on ARM [[TrustZone]] technology, conforming to the TR1 standard, were later launched, such as Trusted Foundations developed by Trusted Logic.<ref>{{Cite web|url=http://www.trusted-logic.com/IMG/pdf/TRUSTED_LOGIC_TRUSTED_FOUNDATIONS_OMTP_FINAL.pdf|archive-url = https://web.archive.org/web/20140903041544/http://www.trusted-logic.com/IMG/pdf/TRUSTED_LOGIC_TRUSTED_FOUNDATIONS_OMTP_FINAL.pdf|archive-date = 2014-09-03|title = Gemalto's website has moved to Thales}}</ref>
Work on the OMTP standards ended in mid
The OMTP standards, including those defining a TEE, are hosted by [[GSMA]].<ref>{{cite web|url=http://www.gsma.com/newsroom/gsmadocuments/omtp-documents/|title=OMTP documents|last=|first=|date=May 2012|website=Gsma.com|access-date=12 September 2014|archive-date=19 February 2015|archive-url=https://web.archive.org/web/20150219080703/http://www.gsma.com/newsroom/gsmadocuments/omtp-documents/|url-status=live}}</ref>
==Details==
The TEE typically consists of a hardware isolation mechanism
Service providers, [[mobile network operator]]s (MNO), operating system developers, [[Mobile Application Development|application developers]], device manufacturers, platform providers, and silicon vendors are the main stakeholders contributing to the standardization efforts around the TEE.▼
To prevent the simulation of hardware with user-controlled software, a so-called "hardware root of trust" is used. This is a [[Trusted_computing#Endorsement_key|set of private keys that are embedded directly into the chip during manufacturing]]; one-time programmable memory such as [[eFuse]]s is usually used on mobile devices. These cannot be changed, even after the device resets, and whose public counterparts reside in a manufacturer database, together with a non-secret hash of a public key belonging to the trusted party (usually a chip vendor) which is used to sign trusted firmware alongside the circuits doing cryptographic operations and controlling access.
▲Service providers, [[mobile network operator]]s (MNO), operating system developers, [[Mobile Application Development|application developers]], device manufacturers, platform providers and silicon vendors are the main stakeholders contributing to the standardization efforts around the TEE.
When an application is attested, its untrusted
To simulate hardware in a way
Christian Kison, Jürgen Frinken, and Christof Paar - https://www.iacr.org/archive/ches2015/92930620/92930620.pdf {{Webarchive|url=https://web.archive.org/web/20201116132154/https://www.iacr.org/archive/ches2015/92930620/92930620.pdf |date=2020-11-16 }}</ref><ref>{{Cite news |last1=Cassy |first1=John |last2=Murphy |first2=Paul |date=2002-03-13 |title=How codebreakers cracked the secrets of the smart card |language=en-GB |work=The Guardian |url=https://www.theguardian.com/technology/2002/mar/13/media.citynews
Though deprivation of ownership is not an inherent property of TEEs (it is possible to design the system in a way that allows only the user who has obtained ownership of the device first to control the system by burning a hash of their own key into e-fuses), in practice all such systems in consumer electronics are intentionally designed so as to allow chip manufacturers to control access to attestation and its algorithms. It allows manufacturers to grant access to TEEs only to software developers who have a (usually commercial) business agreement with the manufacturer,
==Uses==
Line 29 ⟶ 33:
===Premium Content Protection/Digital Rights Management===
Note: Much TEE literature covers this topic under the definition "premium content protection," which is the preferred nomenclature of many copyright holders. Premium content protection is a specific use case of
The TEE is a suitable environment for protecting digitally encoded information (for example, HD films or audio) on connected devices such as
The TEE is used to protect the content once it is on the device
===Mobile financial services===
Mobile
In some scenarios, interaction with the end user is required, and this may require the user to expose sensitive information such as a PIN, password, or biometric identifier to the [[mobile operating system|mobile OS]] as a means of authenticating the user. The TEE optionally offers a trusted user interface which can be used to construct user authentication on a mobile device.
With the rise of cryptocurrency, TEEs are increasingly used to implement crypto-wallets, as they offer the ability to store tokens more securely than regular operating systems, and can provide the necessary computation and authentication applications.<ref>{{cite web |title=Ethereum Wallet in a Trusted Execution Environment / Secure Enclave |date=7 June 2018 |url=https://medium.com/weeves-world/ethereum-wallet-in-a-trusted-execution-environment-secure-enclave-b200b4df9f5f |publisher=Medium |access-date=2021-10-13 |archive-date=2021-07-15 |archive-url=https://web.archive.org/web/20210715233259/https://medium.com/weeves-world/ethereum-wallet-in-a-trusted-execution-environment-secure-enclave-b200b4df9f5f |url-status=live }}</ref>
===Authentication===
The TEE is well-suited for supporting biometric
* Storing a reference "template" identifier on the device for comparison with the "image" extracted in the next stage.
* Extracting an "image" (scanning the fingerprint or capturing a voice sample
* Using a matching engine to compare the "image" and the "template".
Line 52 ⟶ 56:
===Enterprise, government, and cloud===
The TEE can be used by governments, enterprises, and cloud service providers to enable the secure handling of confidential information on mobile devices and on server infrastructure. The TEE offers a level of protection against software attacks generated in the [[mobile operating system|mobile OS]] and assists in the control of access rights. It achieves this by housing sensitive, ‘trusted’ applications that need to be isolated and protected from the mobile OS and any malicious malware that may be present. Through utilizing the functionality and security levels offered by the TEE, governments, and enterprises can be assured that employees using their own devices are doing so in a secure and trusted manner. Likewise, server-based TEEs help defend against internal and external attacks against backend infrastructure.
===Secure modular programming===
With the rise of software assets and reuses, [[modular programming]] is the most productive process to design software architecture, by decoupling the functionalities into small independent modules. As each module contains everything necessary to execute its desired functionality, the TEE allows
In order for the modules to communicate and share data, TEE
See [[Component-based software engineering]]
== TEE
{| class="wikitable"
|-
Line 74 ⟶ 78:
| Cloud Link TEE
|
| [[GlobalPlatform|GlobalPlatform]]
| Full
| <ref>{{cite web |title=Alibaba Cloud Link Tee V1.1.3 |url=https://globalplatform.org/certified-products/alibaba-cloud-link-tee-pro-edition-v113/ |publisher=GlobalPlatform |access-date=2021-10-13 |archive-date=2021-10-26 |archive-url=https://web.archive.org/web/20211026232042/https://globalplatform.org/certified-products/alibaba-cloud-link-tee-pro-edition-v113/ |url-status=live }}</ref>
|-
| [[Apple Inc.|Apple]]
|
| Separate processor
| Proprietary
Line 87 ⟶ 91:
| BeanPod
|
|
| GlobalPlatform
|
Line 94 ⟶ 98:
| [[Huawei]]
| iTrustee
|
| GlobalPlatform
| Full
Line 108 ⟶ 112:
| [[Linaro]]
| OPTEE
|
| GlobalPlatform
|
| <ref>{{cite web |title=Security, Trustzone and OP-TEE |url=https://www.linaro.org/services/security/ |publisher=[[Linaro]] |access-date=2021-10-13 |archive-date=2021-02-27 |archive-url=https://web.archive.org/web/20210227094924/https://www.linaro.org/services/security/ |url-status=live }}</ref>
|-
| ProvenRun
| ProvenCore
| ARM TrustZone
|
|
|-
| [[Qualcomm]]
Line 121 ⟶ 132:
|-
| [[Samsung]]
| TEEgris and [[Samsung Knox|Knox]]
|
| GlobalPlatform
| Full
Line 132 ⟶ 143:
| GlobalPlatform
|
| <ref>{{cite web |title=Enhance Device Security With T6 |url=https://www.trustkernel.com/en/products/tee/t6.html |publisher=TrustKernel |access-date=2021-10-13 |archive-date=2021-10-29 |archive-url=https://web.archive.org/web/20211029203221/https://www.trustkernel.com/en/products/tee/t6.html |url-status=live }}</ref>
|-
| Trustonic
| Kinibi
|
| GlobalPlatform
| Full
| <ref name=kinibi>{{cite web |title=Certificate of Security Evaluation - Kinibi 410A |url=https://globalplatform.org/wp-content/uploads/2019/12/GP-TEE-2019_03-CR-1.0_GP190005-Certificate-and-Certification-Report_20191203.pdf |publisher=GlobalPlatform |access-date=2021-10-13 |archive-date=2021-10-26 |archive-url=https://web.archive.org/web/20211026232004/https://globalplatform.org/wp-content/uploads/2019/12/GP-TEE-2019_03-CR-1.0_GP190005-Certificate-and-Certification-Report_20191203.pdf |url-status=live }}</ref>
|-
| Trustonic
Line 147 ⟶ 158:
|
| <ref name=kinibi />
|-
| uberSpark
| uberXMHF
| ARM TrustZone / Intel
|
| Formal Mechanized Proof
| <ref>{{cite web | title=uberXMHF
|url=https://www.uberxmhf.org}}</ref>
|-
| Watchdata
| WatchTrust
|
| GlobalPlatform
| Full
| <ref>{{cite web |title=WatchTrust 2.1.1 on SC9860 |url=https://globalplatform.org/wp-content/uploads/2018/09/GP-TEE-2018_01-CR-1.0_GP170003-Certificate-Certification-Report_20180904-signed-1.pdf |publisher=GlobalPlatform |access-date=2021-10-13 |archive-date=2021-10-26 |archive-url=https://web.archive.org/web/20211026232006/https://globalplatform.org/wp-content/uploads/2018/09/GP-TEE-2018_01-CR-1.0_GP170003-Certificate-Certification-Report_20180904-signed-1.pdf |url-status=live }}</ref>
|}
Line 160 ⟶ 179:
* [[AMD]]:
** [[AMD Platform Security Processor|Platform Security Processor]] (PSP)<ref name="amd.com">{{cite web|url=https://www.amd.com/en-us/innovations/software-technologies/security|title=AMD Secure Processor (Built-in technology)|website=Amd.com|access-date=2017-09-17|archive-date=2017-09-19|archive-url=https://web.archive.org/web/20170919154841/http://www.amd.com/en-us/innovations/software-technologies/security|url-status=live}}</ref><ref>{{cite web |url=https://classic.regonline.com/custImages/360000/369552/TCC%20PPTs/TCC2013_VanDoorn.pdf |title=Secure Hardware and the Creation of an Open Trusted Ecosystem |website=Classic.regonline.com |access-date=2017-05-17 |archive-date=2017-01-15 |archive-url=https://web.archive.org/web/20170115011459/https://classic.regonline.com/custImages/360000/369552/TCC%20PPTs/TCC2013_VanDoorn.pdf |url-status=live }}</ref><ref>{{cite web |last=Chiappetta |first=Marco |url=http://hothardware.com/Reviews/AMD-Beema-and-Mullins-Mainstream-and-LowPower-2014-APUs-Tested/?page=2#!bFIw4K |title=AMD Beema and Mullins Low Power 2014 APUs Tested - Page 2 |publisher=HotHardware |date=2014-04-29 |access-date=2017-05-17 |archive-date=2017-04-07 |archive-url=https://web.archive.org/web/20170407031130/http://hothardware.com/reviews/amd-beema-and-mullins-mainstream-and-lowpower-2014-apus-tested?page=2#!bFIw4K |url-status=dead }}</ref>
** AMD Secure Encrypted Virtualization (SEV)<ref name="OpenVirtualization">{{cite web
* [[ARM architecture|ARM]]:
** [[TrustZone]]<ref>{{cite web|url=https://community.arm.com/cfs-file/__key/telligent-evolution-components-attachments/01-2142-00-00-00-00-51-36/GlobalPlatform-based-Trusted-Execution-Environment-and-TrustZone-R.pdf|title=GlobalPlatform based Trusted Execution Environment and TrustZone Ready|website=Arm.com|access-date=2020-04-24|archive-date=2020-07-04|archive-url=https://web.archive.org/web/20200704081700/https://community.arm.com/cfs-file/__key/telligent-evolution-components-attachments/01-2142-00-00-00-00-51-36/GlobalPlatform-based-Trusted-Execution-Environment-and-TrustZone-R.pdf|url-status=live}}</ref>
** Realm Management Extension / Confidential Compute Architecture (CCA)
* [[IBM]]:
** [[IBM Secure Service Container]],<ref>{{cite web|url=https://www.ibm.com/us-en/marketplace/secure-service-container|title=IBM Secure Service Container|website=ibm.com|access-date=2019-07-12|archive-date=2019-07-12|archive-url=https://web.archive.org/web/20190712013401/https://www.ibm.com/us-en/marketplace/secure-service-container|url-status=live}}</ref> formerly zACI, first introduced in IBM z13 generation machines (including all LinuxONE machines) in driver level 27.<ref>{{cite web|url=https://www-01.ibm.com/common/ssi/ShowDoc.wss?docURL=/common/ssi/rep_sm/1/877/ENUS2965-_h01/index.html&lang=en&request_locale=en|title=Family 2965+01 IBM z13s Models N10 and N20|website=ibm.com|date=22 May 2018 |access-date=2021-10-27|archive-date=2021-01-26|archive-url=https://web.archive.org/web/20210126093415/https://www-01.ibm.com/common/ssi/ShowDoc.wss?docURL=%2Fcommon%2Fssi%2Frep_sm%2F1%2F877%2FENUS2965-_h01%2Findex.html&lang=en&request_locale=en|url-status=live}}</ref>
** [[IBM Secure Execution]],<ref>{{cite web|url=https://developer.ibm.com/blogs/technical-overview-of-secure-execution-for-linux-on-ibm-z/|title=Technical overview of Secure Execution for Linux on IBM Z|website=ibm.com|access-date=2020-04-15|archive-date=2020-04-15|archive-url=https://web.archive.org/web/20200415005646/https://developer.ibm.com/blogs/technical-overview-of-secure-execution-for-linux-on-ibm-z/|url-status=live}}</ref> introduced in IBM z15 and LinuxONE III generation machines on April 14, 2020.
* [[Intel]]:
** [[
*** [[Trusted Execution Technology]] (TXT)
*** [[Software Guard Extensions]] (SGX)<ref>{{cite web |url=http://www.cs.helsinki.fi/group/secures/CCS-tutorial/tutorial-slides.pdf |title=The Trusted Execution Environments on Mobile Devices |website=Cs.helsinki.fi |access-date=2017-05-17 |archive-date=2016-04-18 |archive-url=https://web.archive.org/web/20160418104838/https://www.cs.helsinki.fi/group/secures/CCS-tutorial/tutorial-slides.pdf |url-status=live }}</ref>
*** "Silent Lake" (available on Atom processors)<ref>{{cite web|url=http://wenku.baidu.com/view/cb01a885c8d376eeaeaa31a9.html|title=WW46_2014_MCG_Tablet_Roadmap_图文_百度文库|website=Wenku.baidu.com|access-date=2017-01-04|archive-date=2017-02-27|archive-url=https://web.archive.org/web/20170227010510/http://wenku.baidu.com/view/cb01a885c8d376eeaeaa31a9.html|url-status=live}}</ref><ref>{{cite web|url=https://github.com/CyanogenMod/android_device_asus_mofd-common/blob/b52bb27be47485df8646340b43a97f2dda974385/sepolicy/file.te|title=CyanogenMod/android_device_asus_mofd-common|website=GitHub|access-date=2017-01-04|archive-date=2017-03-24|archive-url=https://web.archive.org/web/20170324095520/https://github.com/CyanogenMod/android_device_asus_mofd-common/blob/b52bb27be47485df8646340b43a97f2dda974385/sepolicy/file.te|url-status=live}}</ref><ref>{{cite web|url=https://github.com/heidiao/sfp_m2_bt/blob/master/source/device/intel/cherrytrail/cht_cr_rvp/init.rc|title=heidiao/sfp_m2_bt|website=GitHub|access-date=2017-01-04|archive-date=2017-03-24|archive-url=https://web.archive.org/web/20170324095926/https://github.com/heidiao/sfp_m2_bt/blob/master/source/device/intel/cherrytrail/cht_cr_rvp/init.rc|url-status=live}}</ref> * [[RISC-V]]:
** Keystone Customizable TEE Framework<ref>{{cite web |url= https://keystone-enclave.org/2019/07/22/Keystone-Paper.html |title= Keystone Paper and Customizable TEEs |website= keystone-enclave.org |date= 22 July 2019 |access-date= 2021-06-10 |archive-date= 2020-07-14 |archive-url= https://web.archive.org/web/20200714212312/https://keystone-enclave.org/2019/07/22/Keystone-Paper.html |url-status= live }}</ref><ref>{{cite web|url=https://www.shwetashinde.org/publications/keystone_eurosys20.pdf|title=Keystone: An Open Framework for Architecting Trusted Execution Environments|date=April 2020|access-date=16 June 2025|archive-date=31 January 2025|archive-url=https://web.archive.org/web/20250131021253/https://www.shwetashinde.org/publications/keystone_eurosys20.pdf|url-status=live}}</ref>▼
▲** Keystone Customizable TEE Framework<ref>{{cite web |url= https://keystone-enclave.org/2019/07/22/Keystone-Paper.html |title= Keystone Paper and Customizable TEEs |website= keystone-enclave.org |access-date= 2021-06-10 |archive-date= 2020-07-14 |archive-url= https://web.archive.org/web/20200714212312/https://keystone-enclave.org/2019/07/22/Keystone-Paper.html |url-status= live }}</ref>
▲** Penglai Scalable TEE for RISC-V <ref>{{cite web |url= https://penglai-enclave.systems |title= Penglai Enclave |website= penglai-enclave.systems/ |access-date= 2021-06-10 |archive-date= 2021-05-06 |archive-url= https://web.archive.org/web/20210506151417/https://penglai-enclave.systems/ |url-status= live }}</ref>
==See also==
|