Un entorn d'execució de confiança (TEE) és una àrea segura d'un processador principal. Ajuda a protegir el codi i les dades carregades a l'interior pel que fa a la confidencialitat i la integritat. La confidencialitat de les dades impedeix que entitats no autoritzades de fora del TEE llegeixin dades, mentre que la integritat del codi impedeix que el codi del TEE sigui substituït o modificat per entitats no autoritzades, que també poden ser el propietari de l'ordinador, com en certs esquemes DRM descrits a Intel SGX.
Això es fa implementant una seguretat arquitectònica única, immutable i confidencial, que ofereix xifratge de memòria basat en maquinari que aïlla codi i dades d'aplicacions específiques a la memòria. Això permet que el codi a nivell d'usuari assigni regions privades de memòria, anomenades enclavaments, que estan dissenyades per ser protegides dels processos que s'executen amb nivells de privilegis més alts. Un TEE com a entorn d'execució aïllat proporciona funcions de seguretat com ara l'execució aïllada, la integritat de les aplicacions que s'executen amb el TEE i la confidencialitat dels seus actius. En termes generals, el TEE ofereix un espai d'execució que proporciona un nivell de seguretat més alt per a les aplicacions de confiança que s'executen al dispositiu que un sistema operatiu (SO) ric i més funcionalitat que un "element segur" (SE).
Història L'Open Mobile Terminal Platform (OMTP) va definir per primera vegada el TEE en el seu estàndard "Advanced Trusted Environment: OMTP TR1", definint-lo com un "conjunt de components de maquinari i programari que proporcionen les instal·lacions necessàries per donar suport a les aplicacions", que havien de complir els requisits d'un dels dos nivells de seguretat definits. El primer nivell de seguretat, el Perfil 1, estava dirigit només contra atacs de programari, mentre que el Perfil 2, estava dirigit tant contra atacs de programari com de maquinari.
Posteriorment es van llançar solucions TEE comercials basades en la tecnologia ARM TrustZone, que s'ajusten a l'estàndard TR1, com ara Trusted Foundations desenvolupades per Trusted Logic.
El treball sobre els estàndards OMTP va acabar a mitjans de 2010 quan el grup va passar a formar part de la Wholesale Applications Community (WAC).
Els estàndards OMTP, inclosos els que defineixen un TEE, estan allotjats per la GSMA.
Detalls El TEE normalment consisteix en un mecanisme d'aïllament de maquinari més un sistema operatiu segur que s'executa a sobre d'aquest mecanisme d'aïllament, tot i que el terme s'ha utilitzat més generalment per referir-se a una solució protegida. Mentre que un TEE de plataforma global requereix aïllament de maquinari, altres, com ara EMVCo, utilitzen el terme TEE per referir-se tant a solucions basades en maquinari com en programari. FIDO utilitza el concepte de TEE en l'entorn operatiu restringit per a TEE basats en l'aïllament de maquinari. Només les aplicacions de confiança que s'executen en un TEE tenen accés a tota la potència del processador principal, els perifèrics i la memòria d'un dispositiu, mentre que l'aïllament de maquinari els protegeix de les aplicacions instal·lades per l'usuari que s'executen en un sistema operatiu principal. El programari i la criptografia dins del TEE protegeixen les aplicacions de confiança que hi conté les unes de les altres.
Els proveïdors de serveis, els operadors de xarxes mòbils (MNO), els desenvolupadors de sistemes operatius, els desenvolupadors d'aplicacions, els fabricants de dispositius, els proveïdors de plataformes i els venedors de silici són els principals actors que contribueixen als esforços d'estandardització al voltant del TEE.
Per evitar la simulació de maquinari amb programari controlat per l'usuari, s'utilitza l'anomenada "arrel de confiança del maquinari". Es tracta d'un conjunt de claus privades que s'incrusten directament al xip durant la fabricació; en dispositius mòbils se sol utilitzar memòria programable d'un sol ús com ara eFuses. Aquestes no es poden canviar, ni tan sols després de reiniciar el dispositiu, i les seves contraparts públiques resideixen en una base de dades del fabricant, juntament amb un hash no secret d'una clau pública que pertany a la part de confiança (normalment un proveïdor de xips) que s'utilitza per signar firmware de confiança juntament amb els circuits que realitzen operacions criptogràfiques i controlen l'accés.
El maquinari està dissenyat de manera que impedeix que tot el programari que no estigui signat per la clau de la part de confiança accedeixi a les funcions privilegiades. La clau pública del proveïdor es proporciona en temps d'execució i s'aplica un hash; aquest hash es compara amb el que està integrat al xip. Si el hash coincideix, la clau pública s'utilitza per verificar una signatura digital del firmware controlat pel proveïdor de confiança (com ara una cadena de carregadors d'arrencada en dispositius Android o "enclavaments arquitectònics" a SGX). El firmware de confiança s'utilitza per implementar l'atestat remot.
Quan s'atestateix una aplicació, els seus components no fiables carreguen el seu component de confiança a la memòria; l'aplicació de confiança està protegida de les modificacions per components no fiables amb maquinari. La part no fiable sol·licita un nonce al servidor del verificador i s'utilitza com a part d'un protocol d'autenticació criptogràfica, demostrant la integritat de l'aplicació de confiança. La prova es passa al verificador, que la verifica. No es pot calcular una prova vàlida en maquinari simulat (és a dir, QEMU) perquè per construir-la es requereix accés a les claus integrades al maquinari; només el firmware de confiança té accés a aquestes claus i/o a les claus derivades d'elles o obtingudes mitjançant elles. Com que només el propietari de la plataforma ha de tenir accés a les dades enregistrades a la foneria, la part verificadora ha d'interactuar amb el servei configurat pel proveïdor. Si l'esquema s'implementa incorrectament, el proveïdor del xip pot rastrejar quines aplicacions s'utilitzen en quin xip i denegar selectivament el servei retornant un missatge que indica que l'autenticació no s'ha superat.
Per simular el maquinari de manera que permeti passar l'autenticació remota, un atacant hauria d'extreure claus del maquinari, cosa que és costosa a causa de l'equip i l'habilitat tècnica necessària per executar-ho. Per exemple, l'ús de feixos d'ions enfocats, microscopis electrònics d'escombratge, microsondatge i decapsulació de xipsFinding the AES Bits in the Haystack: Reverse Engineering and SCA Using Voltage Contrast by Christian Kison, Jürgen Frinken, and Christof Paar - https://www.iacr.org/archive/ches2015/92930620/92930620.pdf Design Principles for Tamper-Resistant Smartcard Processors by Oliver Kömmerling Advanced Digital Security and Markus G. Kuhn University of Cambridge https://www.usenix.org/legacy/events/smartcard99/full_papers/kommerling/kommerling.pdf és difícil, o fins i tot impossible, si el maquinari està dissenyat de manera que l'enginyeria inversa destrueixi les claus. En la majoria dels casos, les claus són úniques per a cada peça de maquinari, de manera que una clau extreta d'un xip no pot ser utilitzada per altres (per exemple, funcions físicament no clonables).Areno, Matthew & Plusquellic, J.. (2012). Securing Trusted Execution Environments with PUF Generated Secret Keys. 1188-1193. 10.1109/TrustCom.2012.255.
Tot i que la privació de la propietat no és una propietat inherent dels TEE (és possible dissenyar el sistema de manera que només permeti a l'usuari que ha obtingut la propietat del dispositiu primer controlar el sistema cremant un hash de la seva pròpia clau en fusibles electrònics), a la pràctica tots aquests sistemes en electrònica de consum estan dissenyats intencionadament per permetre als fabricants de xips controlar l'accés a l'attestació i els seus algoritmes. Permet als fabricants concedir accés als TEE només als desenvolupadors de programari que tenen un acord comercial (normalment comercial) amb el fabricant, monetitzant la base d'usuaris del maquinari, per permetre casos d'ús com la tivoització i la DRM i per permetre que certes funcions de maquinari s'utilitzin només amb programari subministrat pel proveïdor, obligant els usuaris a utilitzar-lo malgrat les seves antifuncions, com ara anuncis, seguiment i restricció de casos d'ús per a la segmentació del mercat.
Usos Protecció de contingut premium/Gestió de drets digitals Nota: Gran part de la literatura sobre TEE tracta aquest tema sota la definició de "protecció de contingut premium", que és la nomenclatura preferida de molts titulars de drets d'autor. La protecció de contingut premium és un cas d'ús específic de la gestió de drets digitals (DRM) i és controvertida entre algunes comunitats, com ara la Free Software Foundation. Els titulars de drets d'autor l'utilitzen àmpliament per restringir les maneres en què els usuaris finals poden consumir contingut com ara pel·lícules d'alta definició 4K.
El TEE és un entorn adequat per protegir informació codificada digitalment (per exemple, pel·lícules o àudio en HD) en dispositius connectats com ara telèfons intel·ligents, tauletes i televisors en HD. Aquesta idoneïtat prové de la capacitat del TEE de privar el propietari del dispositiu de l'accés als secrets emmagatzemats i del fet que sovint hi ha una ruta de maquinari protegida entre el TEE i la pantalla i/o els subsistemes dels dispositius.
El TEE s'utilitza per protegir el contingut un cop és al dispositiu. Mentre que el contingut està protegit durant la transmissió o la reproducció en temps real mitjançant l'ús del xifratge, el TEE protegeix el contingut un cop s'ha desxifrat al dispositiu garantint que el contingut desxifrat no estigui exposat a un entorn no aprovat pel desenvolupador de l'aplicació o el proveïdor de la plataforma.
Serveis financers mòbils Les aplicacions de comerç mòbil com ara: moneders mòbils, pagaments entre iguals, pagaments sense contacte o l'ús d'un dispositiu mòbil com a terminal de punt de venda (TPV) sovint tenen requisits de seguretat ben definits. Els TEE es poden utilitzar, sovint juntament amb la comunicació de camp proper (NFC), elements segurs i sistemes de backend de confiança per proporcionar la seguretat necessària per permetre que es duguin a terme transaccions financeres.
Sistemes operatius TEE EmpresaProducteMaquinari utilitzatEstàndard de l'APITipus de certificacióAlibabaEnllaç al núvol TEEPlataforma GlobalCompletPomaEnclavament segurProcessador separatPropietariBeanPodARM TrustZonePlataforma GlobalHuaweiiTrusteeARM TrustZonePlataforma GlobalCompletGoogleFiableARM / IntelPropietariLinarOPTEEARM TrustZonePlataforma GlobalProvenRunProvenCoreARM TrustZoneQualcommQTEEARM TrustZoneGlobalPlatform + PropietatSamsungTEEgris i KnoxARM TrustZonePlataforma GlobalCompletTrustKernelT6Arm / IntelPlataforma GlobalTrustonicKinibiARM TrustZonePlataforma GlobalCompletTrustonicTEE SOTEE SO activatPlataforma GlobaluberSparkuberXMHFARM TrustZone / IntelProva mecanitzada formalDades de vigilànciaWatchTrustARM TrustZonePlataforma GlobalComplet
Suport de maquinari Les tecnologies de maquinari següents es poden utilitzar per donar suport a les implementacions de TEE:
AMD: Processador de seguretat de plataforma (PSP) Virtualització xifrada segura (SEV) d'AMD i l'extensió Secure Nested Paging ARM: Zona de confiança Extensió de gestió de dominis/Arquitectura de computació confidencial (CCA) IBM: IBM Secure Service Container, anteriorment zACI, introduït per primera vegada a les màquines IBM de la generació z13 (incloses totes les màquines LinuxONE) al nivell de controlador 27. IBM Secure Execution, introduït a les màquines de la generació IBM z15 i LinuxONE III el 14 d'abril de 2020. Intel·ligència: Motor de gestió d'Intel Tecnologia d'execució de confiança (TXT) Extensions de programari de protecció (SGX) Extensions de domini de confiança (TDX)