stringtranslate.com

Entorno de ejecución confiable

Un entorno de ejecución confiable ( TEE ) es un área segura de un procesador principal . Ayuda a que el código y los datos cargados en él estén protegidos con respecto a la confidencialidad e integridad . La confidencialidad de los datos evita que entidades no autorizadas externas al TEE lean los datos, mientras que la integridad del código evita que el código en el TEE sea reemplazado o modificado por entidades no autorizadas, que también pueden ser el propio propietario de la computadora, como en ciertos esquemas DRM descritos en Intel SGX .

Esto se hace implementando una seguridad arquitectónica única, inmutable y confidencial, que ofrece cifrado de memoria basado en hardware que aísla el código y los datos de aplicaciones específicas en la memoria. Esto permite que el código a nivel de usuario asigne regiones privadas de memoria, llamadas enclaves, que están diseñadas para protegerse de los procesos que se ejecutan en niveles de privilegio más altos. [1] [2] [3] Un TEE como entorno de ejecución aislado proporciona características de seguridad como ejecución aislada, integridad de las aplicaciones que se ejecutan con el TEE y confidencialidad de sus activos. En términos generales, el TEE ofrece un espacio de ejecución que proporciona un mayor nivel de seguridad para las aplicaciones confiables que se ejecutan en el dispositivo que un sistema operativo (OS) rico y más funcionalidad que un "elemento seguro" (SE).

Historia

La Plataforma de Terminal Móvil Abierta (OMTP) definió por primera vez el TEE en su estándar "Advanced Trusted Environment:OMTP TR1", definiéndolo como un "conjunto de componentes de hardware y software que proporcionan las funciones necesarias para dar soporte a las aplicaciones", que debían cumplir los requisitos de uno de los dos niveles de seguridad definidos. El primer nivel de seguridad, Perfil 1, estaba dirigido únicamente contra ataques de software, mientras que el Perfil 2, estaba dirigido tanto contra ataques de software como de hardware. [4]

Posteriormente se lanzaron soluciones TEE comerciales basadas en la tecnología ARM TrustZone , conforme al estándar TR1, como Trusted Foundations desarrollado por Trusted Logic. [5]

El trabajo sobre los estándares OMTP finalizó a mediados de 2010, cuando el grupo pasó a formar parte de la Comunidad de Aplicaciones Mayoristas (WAC). [6]

Los estándares OMTP, incluidos aquellos que definen un TEE, están alojados por GSMA . [7]

Detalles

El TEE normalmente consta de un mecanismo de aislamiento de hardware más un sistema operativo seguro que se ejecuta sobre ese mecanismo de aislamiento, aunque el término se ha utilizado de forma más general para referirse a una solución protegida. [8] [9] [10] [11] Mientras que un TEE de GlobalPlatform requiere aislamiento de hardware, otros, como EMVCo, utilizan el término TEE para referirse tanto a soluciones basadas en hardware como en software. [12] FIDO utiliza el concepto de TEE en el entorno operativo restringido para TEE basados ​​en aislamiento de hardware. [13] Solo las aplicaciones confiables que se ejecutan en un TEE tienen acceso a toda la potencia del procesador principal, los periféricos y la memoria de un dispositivo, mientras que el aislamiento de hardware los protege de las aplicaciones instaladas por el usuario que se ejecutan en un sistema operativo principal. El software y la criptografía dentro del TEE protegen las aplicaciones confiables contenidas en él entre sí. [14]

Los proveedores de servicios, los operadores de redes móviles (MNO), los desarrolladores de sistemas operativos, los desarrolladores de aplicaciones , los fabricantes de dispositivos, los proveedores de plataformas y los vendedores de silicio son los principales interesados ​​que contribuyen a los esfuerzos de estandarización en torno a la TEE.

Para evitar la simulación de hardware con software controlado por el usuario, se utiliza una denominada "raíz de confianza de hardware". Se trata de un conjunto de claves privadas que se incorporan directamente al chip durante la fabricación; en los dispositivos móviles se suele utilizar una memoria programable de un solo uso, como los eFuses . Estas no se pueden modificar, ni siquiera después de reiniciar el dispositivo, y sus contrapartes públicas residen en una base de datos del fabricante, junto con un hash no secreto de una clave pública que pertenece a la parte de confianza (normalmente un proveedor de chips) que se utiliza para firmar el firmware de confianza junto con los circuitos que realizan operaciones criptográficas y controlan el acceso.

El hardware está diseñado de manera que impide que todo el software que no esté firmado por la clave de la parte de confianza acceda a las funciones privilegiadas. La clave pública del proveedor se proporciona en tiempo de ejecución y se codifica; este hash se compara luego con el que está integrado en el chip. Si el hash coincide, la clave pública se utiliza para verificar una firma digital del firmware controlado por el proveedor de confianza (como una cadena de cargadores de arranque en dispositivos Android o "enclaves arquitectónicos" en SGX). El firmware de confianza se utiliza luego para implementar la certificación remota. [15]

Cuando se atestigua una aplicación, sus componentes no confiables cargan su componente confiable en la memoria; la aplicación confiable está protegida de modificaciones por componentes no confiables con hardware. La parte no confiable solicita un nonce al servidor del verificador y se utiliza como parte de un protocolo de autenticación criptográfica, probando la integridad de la aplicación confiable. La prueba se pasa al verificador, que la verifica. Una prueba válida no se puede calcular en hardware simulado (es decir, QEMU ) porque para construirla, se requiere acceso a las claves incorporadas en el hardware; solo el firmware confiable tiene acceso a estas claves y/o las claves derivadas de ellas u obtenidas mediante ellas. Debido a que solo el propietario de la plataforma debe tener acceso a los datos registrados en la fundición, la parte verificadora debe interactuar con el servicio configurado por el proveedor. Si el esquema se implementa incorrectamente, el proveedor del chip puede rastrear qué aplicaciones se utilizan en qué chip y denegar selectivamente el servicio devolviendo un mensaje que indica que la autenticación no se ha aprobado. [16]

Para simular el hardware de una manera que le permita pasar la autenticación remota, un atacante tendría que extraer claves del hardware, lo que es costoso debido al equipo y la habilidad técnica requerida para ejecutarlo. Por ejemplo, el uso de haces de iones enfocados , microscopios electrónicos de barrido , microsondeo y desencapsulación de chips [17] [18] [19] [20] [21] [22] es difícil, o incluso imposible, si el hardware está diseñado de tal manera que la ingeniería inversa destruye las claves. En la mayoría de los casos, las claves son únicas para cada pieza de hardware, de modo que una clave extraída de un chip no puede ser utilizada por otros (por ejemplo, funciones físicamente no clonables [23] [24] ).

Aunque la privación de la propiedad no es una propiedad inherente de los TEE (es posible diseñar el sistema de manera que solo el usuario que haya obtenido la propiedad del dispositivo primero pueda controlar el sistema grabando un hash de su propia clave en fusibles electrónicos), en la práctica todos estos sistemas en la electrónica de consumo están diseñados intencionalmente para permitir que los fabricantes de chips controlen el acceso a la certificación y sus algoritmos. Permite a los fabricantes otorgar acceso a los TEE solo a los desarrolladores de software que tienen un acuerdo comercial (generalmente comercial) con el fabricante, monetizar la base de usuarios del hardware, habilitar casos de uso como la tivoización y la DRM y permitir que ciertas características del hardware se usen solo con software proporcionado por el proveedor, lo que obliga a los usuarios a usarlo a pesar de sus antifunciones , como anuncios , seguimiento y restricción de casos de uso para la segmentación del mercado .

Usos

Existen varios casos de uso para la TEE. Si bien no todos los casos de uso posibles aprovechan la privación de propiedad, la TEE suele utilizarse precisamente para esto.

Protección de contenido premium/Gestión de derechos digitales

Nota: Gran parte de la literatura sobre TEE cubre este tema bajo la definición de "protección de contenido premium", que es la nomenclatura preferida por muchos titulares de derechos de autor. La protección de contenido premium es un caso de uso específico de la gestión de derechos digitales (DRM) y es controvertida entre algunas comunidades, como la Free Software Foundation . [25] Los titulares de derechos de autor la utilizan ampliamente para restringir las formas en que los usuarios finales pueden consumir contenido como películas de alta definición 4K.

El TEE es un entorno adecuado para proteger información codificada digitalmente (por ejemplo, películas o audio en HD) en dispositivos conectados, como teléfonos inteligentes, tabletas y televisores de alta definición. Esta idoneidad se debe a la capacidad del TEE de privar al propietario del dispositivo del acceso a secretos almacenados y al hecho de que a menudo existe una ruta de hardware protegida entre el TEE y la pantalla o los subsistemas de los dispositivos.

El TEE se utiliza para proteger el contenido una vez que se encuentra en el dispositivo. Si bien el contenido está protegido durante la transmisión o streaming mediante el uso de cifrado, el TEE protege el contenido una vez que se ha descifrado en el dispositivo al garantizar que el contenido descifrado no se exponga a un entorno no aprobado por el desarrollador de la aplicación o el proveedor de la plataforma.

Servicios financieros móviles

Las aplicaciones de comercio móvil, como billeteras móviles, pagos entre pares, pagos sin contacto o el uso de un dispositivo móvil como terminal de punto de venta (POS), suelen tener requisitos de seguridad bien definidos. Los TEE se pueden utilizar, a menudo junto con la comunicación de campo cercano (NFC), SE y sistemas backend confiables para brindar la seguridad necesaria para permitir que se realicen transacciones financieras.

En algunos casos, se requiere la interacción con el usuario final, lo que puede obligar al usuario a exponer información confidencial, como un PIN, una contraseña o un identificador biométrico, al sistema operativo móvil como medio de autenticación del usuario. El TEE ofrece opcionalmente una interfaz de usuario confiable que se puede utilizar para crear la autenticación del usuario en un dispositivo móvil.

Con el auge de las criptomonedas, los TEE se utilizan cada vez más para implementar criptobilleteras, ya que ofrecen la capacidad de almacenar tokens de forma más segura que los sistemas operativos regulares y pueden proporcionar las aplicaciones de computación y autenticación necesarias. [26]

Autenticación

El TEE es adecuado para admitir métodos de identificación biométrica (reconocimiento facial, sensor de huellas dactilares y autorización por voz), que pueden ser más fáciles de usar y más difíciles de robar que los PIN y las contraseñas. El proceso de autenticación generalmente se divide en tres etapas principales:

Un TEE es una buena zona dentro de un dispositivo móvil para alojar el motor de búsqueda y el procesamiento asociado necesario para autenticar al usuario. El entorno está diseñado para proteger los datos y establecer un búfer contra las aplicaciones no seguras ubicadas en los sistemas operativos móviles . Esta seguridad adicional puede ayudar a satisfacer las necesidades de seguridad de los proveedores de servicios, además de mantener bajos los costos para los desarrolladores de teléfonos móviles.

Empresas, gobierno y nube

Los gobiernos, las empresas y los proveedores de servicios en la nube pueden utilizar el TEE para permitir el manejo seguro de información confidencial en dispositivos móviles y en la infraestructura del servidor. El TEE ofrece un nivel de protección contra ataques de software generados en el sistema operativo móvil y ayuda a controlar los derechos de acceso. Esto se logra al alojar aplicaciones confidenciales y "confiables" que deben aislarse y protegerse del sistema operativo móvil y de cualquier malware malicioso que pueda estar presente. Al utilizar la funcionalidad y los niveles de seguridad que ofrece el TEE, los gobiernos y las empresas pueden estar seguros de que los empleados que utilizan sus propios dispositivos lo hacen de manera segura y confiable. Asimismo, los TEE basados ​​en servidores ayudan a defenderse de ataques internos y externos contra la infraestructura de backend.

Programación modular segura

Con el auge de los activos de software y las reutilizaciones, la programación modular es el proceso más productivo para diseñar la arquitectura de software, al desacoplar las funcionalidades en pequeños módulos independientes. Como cada módulo contiene todo lo necesario para ejecutar la funcionalidad deseada, la TEE permite la organización del sistema completo con un alto nivel de confiabilidad y seguridad, al tiempo que evita que cada módulo tenga vulnerabilidades de los demás.

Para que los módulos puedan comunicarse y compartir datos, TEE proporciona medios para enviar y recibir de forma segura cargas útiles entre los módulos, utilizando mecanismos como la serialización de objetos, junto con servidores proxy.

Ver Ingeniería de software basada en componentes

Sistemas operativos TEE

Soporte de hardware

Se pueden utilizar las siguientes tecnologías de hardware para respaldar las implementaciones de TEE:

Véase también

Referencias

  1. ^ "Introducción al entorno de ejecución confiable: TrustZone de ARM".
  2. ^ "Evaluación de seguridad de entornos de ejecución confiables: ¿por qué y cómo?" (PDF) . Consultado el 15 de febrero de 2024 .
  3. ^ "Trusted Execution Environment, millones de usuarios tienen uno, ¿tienes el tuyo?". Poulpita . 2014-02-18. Archivado desde el original el 2021-01-27 . Consultado el 2017-05-17 .
  4. ^ "Requisitos de hardware y desfragmentación de Omtp" (PDF) . Gsma.org . Archivado (PDF) del original el 2018-12-14 . Consultado el 2017-05-17 .
  5. ^ "El sitio web de Gemalto se ha trasladado a Thales" (PDF) . Archivado desde el original (PDF) el 2014-09-03.
  6. ^ "OMTP anuncia los documentos finales antes de la transición a la Comunidad de Aplicaciones Mayoristas". Mobileeurope.co.uk . Archivado desde el original el 2018-12-14 . Consultado el 2014-08-27 .
  7. ^ "Documentos OMTP". Gsma.com . Mayo de 2012. Archivado desde el original el 19 de febrero de 2015 . Consultado el 12 de septiembre de 2014 .
  8. ^ Sabt, M; Achemlal, M; Bouabdallah, A (2015). "Entorno de ejecución confiable: qué es y qué no es". 2015 IEEE Trustcom/BigDataSE/ISPA (PDF) . IEEE. págs. 57–64. doi :10.1109/Trustcom.2015.357. ISBN 978-1-4673-7952-6. S2CID  206775888. Archivado (PDF) del original el 18 de julio de 2020. Consultado el 19 de abril de 2020 .
  9. ^ Pinto, S.; Santos, N. (2019). "Desmitificando Arm TrustZone: una encuesta exhaustiva". Encuestas de computación de ACM . 51 : 1–36. doi :10.1145/3291047. S2CID  59337370.
  10. ^ Lee, S; Lee, JH (2018). "Protocolo de establecimiento de clave de sesión basado en TEE para sistemas de infoentretenimiento seguros". Automatización del diseño para sistemas integrados . 22 (3). Springer: 215–224. doi :10.1007/s10617-018-9212-5. S2CID  52081114.
  11. ^ Shepherd, C; Arfaoui, G; Gurulian, I; Lee, R; Markantonakis, K; Akram, R; Sauveron, D; Conchon, E (2016). "Ejecución segura y confiable: pasado, presente y futuro: una revisión crítica en el contexto de la Internet de las cosas y los sistemas ciberfísicos". 2016 IEEE Trustcom/BigDataSE/ISPA (PDF) . IEEE. págs. 168–177. doi :10.1109/TrustCom.2016.0060. ISBN 978-1-5090-3205-1. S2CID  8717045. Archivado (PDF) del original el 2021-05-14 . Consultado el 2021-05-14 .
  12. ^ "Proceso de evaluación de pagos móviles basado en software". EMVCo. Archivado desde el original el 2021-03-02 . Consultado el 2021-10-13 .
  13. ^ "Lista de entornos operativos restringidos permitidos para el autenticador FIDO". FIDO Alliance. Archivado desde el original el 2021-07-13 . Consultado el 2021-10-13 .
  14. ^ "Soluciones - Trustonic - Protección de dispositivos inteligentes y aplicaciones móviles". Trustonic.com . Archivado desde el original el 2014-08-10 . Consultado el 2014-07-31 .
  15. ^ "Hacia la formalización de la certificación remota basada en identificación de privacidad mejorada (EPID) en Intel SGX".
  16. ^ "QEMU v7 — Documentación de OP-TEE".
  17. ^ "Edición de circuitos con haces de iones enfocados". Abril de 2014. Archivado desde el original el 28 de noviembre de 2020. Consultado el 14 de noviembre de 2020 .
  18. ^ "Técnicas avanzadas de ingeniería inversa de circuitos integrados: análisis en profundidad de una tarjeta inteligente moderna" (PDF) . Archivado (PDF) desde el original el 2020-11-14 . Consultado el 2020-11-14 .
  19. ^ Encontrar los bits AES en el pajar: ingeniería inversa y SCA usando contraste de voltaje por Christian Kison, Jürgen Frinken y Christof Paar - https://www.iacr.org/archive/ches2015/92930620/92930620.pdf Archivado el 16 de noviembre de 2020 en Wayback Machine
  20. ^ Cassy, ​​John; Murphy, Paul (13 de marzo de 2002). "Cómo los descifradores de códigos descifraron los secretos de la tarjeta inteligente". The Guardian . ISSN  0261-3077 . Consultado el 9 de agosto de 2023 .
  21. ^ "La tecnología de rayos X revela los secretos de los chips - IEEE Spectrum". 7 de octubre de 2019. Archivado desde el original el 8 de diciembre de 2020. Consultado el 14 de noviembre de 2020 .
  22. ^ Principios de diseño para procesadores de tarjetas inteligentes a prueba de manipulaciones por Oliver Kömmerling Advanced Digital Security y Markus G. Kuhn Universidad de Cambridge https://www.usenix.org/legacy/events/smartcard99/full_papers/kommerling/kommerling.pdf Archivado el 21 de enero de 2021 en Wayback Machine
  23. ^ "Funciones físicamente no clonables (PUF)". Ingeniería de semiconductores . Archivado desde el original el 2020-11-16 . Consultado el 2020-11-15 .
  24. ^ Areno, Matthew y Plusquellic, J. (2012). Protección de entornos de ejecución confiables con claves secretas generadas por PUF. 1188-1193. 10.1109/TrustCom.2012.255.
  25. ^ "Gestión de restricciones digitales y computación peligrosa: la Free Software Foundation trabaja en conjunto por el software libre". Archivado desde el original el 5 de julio de 2018. Consultado el 20 de agosto de 2019 .
  26. ^ "Monedero Ethereum en un entorno de ejecución confiable/enclave seguro". Medium. 7 de junio de 2018. Archivado desde el original el 15 de julio de 2021. Consultado el 13 de octubre de 2021 .
  27. ^ "Alibaba Cloud Link Tee V1.1.3". GlobalPlatform. Archivado desde el original el 26 de octubre de 2021. Consultado el 13 de octubre de 2021 .
  28. ^ "Descripción general de Secure Enclave". Archivado desde el original el 2021-08-13 . Consultado el 2021-10-13 .
  29. ^ "GlobalPlatform da la bienvenida a Beijing Beanpod Technology, nuevo miembro participante". GlobalPlatform. Archivado desde el original el 2021-10-26 . Consultado el 2021-10-13 .
  30. ^ "Huawei iTrustee V3.0 en Kirin 980". GlobalPlatform. Archivado desde el original el 2021-04-14 . Consultado el 2021-10-13 .
  31. ^ "Trusty TEE". Google Android. Archivado desde el original el 14 de octubre de 2021. Consultado el 13 de octubre de 2021 .
  32. ^ "Seguridad, Trustzone y OP-TEE". Linaro . Archivado desde el original el 2021-02-27 . Consultado el 2021-10-13 .
  33. ^ "ProvenCore". ProvenRun. Archivado desde el original el 26 de febrero de 2024. Consultado el 23 de junio de 2024 .
  34. ^ "Proteja sus datos con la plataforma móvil Qualcomm Snapdragon" (PDF) . Qualcomm. Archivado (PDF) del original el 2021-06-25 . Consultado el 2021-10-13 .
  35. ^ "Samsung TeeGris V4.1". GlobalPlatform. Archivado desde el original el 17 de enero de 2021. Consultado el 13 de octubre de 2021 .
  36. ^ "Mejore la seguridad de los dispositivos con T6". TrustKernel.
  37. ^ ab "Certificado de evaluación de seguridad - Kinibi 410A" (PDF) . GlobalPlatform.
  38. ^ "uberXMHF".
  39. ^ "WatchTrust 2.1.1 en SC9860" (PDF) . GlobalPlatform.
  40. ^ "Procesador seguro AMD (tecnología incorporada)". Amd.com . Archivado desde el original el 19 de septiembre de 2017. Consultado el 17 de septiembre de 2017 .
  41. ^ "Hardware seguro y la creación de un ecosistema abierto y confiable" (PDF) . Classic.regonline.com . Archivado (PDF) desde el original el 2017-01-15 . Consultado el 2017-05-17 .
  42. ^ Chiappetta, Marco (29 de abril de 2014). "APUs de bajo consumo 2014 de AMD Beema y Mullins probadas - Página 2". HotHardware. Archivado desde el original el 7 de abril de 2017. Consultado el 17 de mayo de 2017 .
  43. ^ "ENCRIPTACIÓN DE MEMORIA AMD" (PDF) . developer.amd.com . 21 de abril de 2016.
  44. ^ "AMD SEV-SNP: Fortalecimiento del aislamiento de máquinas virtuales con protección de integridad y más" (PDF) . Enero de 2020. Archivado (PDF) del original el 5 de noviembre de 2020.
  45. ^ "Entorno de ejecución confiable basado en GlobalPlatform y preparado para TrustZone" (PDF) . Arm.com . Archivado (PDF) del original el 2020-07-04 . Consultado el 2020-04-24 .
  46. ^ "IBM Secure Service Container". ibm.com . Archivado desde el original el 2019-07-12 . Consultado el 2019-07-12 .
  47. ^ "Familia 2965+01 IBM z13s Modelos N10 y N20". ibm.com . 22 de mayo de 2018. Archivado desde el original el 26 de enero de 2021 . Consultado el 27 de octubre de 2021 .
  48. ^ "Descripción técnica de Secure Execution para Linux en IBM Z". ibm.com . Archivado desde el original el 2020-04-15 . Consultado el 2020-04-15 .
  49. ^ "Los entornos de ejecución confiables en dispositivos móviles" (PDF) . Cs.helsinki.fi . Archivado (PDF) desde el original el 2016-04-18 . Consultado el 2017-05-17 .
  50. ^ "WW46_2014_MCG_Tablet_Roadmap_图文_百度文库". Wenku.baidu.com . Archivado desde el original el 27 de febrero de 2017 . Consultado el 4 de enero de 2017 .
  51. ^ "CyanogenMod/android_device_asus_mofd-common". GitHub . Archivado desde el original el 24 de marzo de 2017 . Consultado el 4 de enero de 2017 .
  52. ^ "heidiao/sfp_m2_bt". GitHub . Archivado desde el original el 24 de marzo de 2017 . Consultado el 4 de enero de 2017 .
  53. ^ "Hex Five Security agrega el entorno de ejecución confiable MultiZone™ al ecosistema de software SiFive". hex-five.com . 22 de agosto de 2018. Archivado desde el original el 2018-09-13 . Consultado el 2018-09-13 .
  54. ^ "Papel Keystone y TEE personalizables". keystone-enclave.org . 22 de julio de 2019. Archivado desde el original el 2020-07-14 . Consultado el 2021-06-10 .
  55. ^ "Enclave Penglai". penglai-enclave.systems/ . Archivado desde el original el 2021-05-06 . Consultado el 2021-06-10 .