De principiante a experto: Guía completa de la tecnología TEE
Con el creciente aumento de la demanda de computación en la privacidad, la tecnología del entorno de ejecución confiable ( TEE ) está recibiendo cada vez más atención. Ya sea el servicio de nube privado lanzado por Apple, o la función de computación confidencial integrada en la GPU de NVIDIA, ambos reflejan el amplio futuro de aplicación del TEE. El TEE puede proporcionar una fuerte protección para los datos del usuario (, incluidas las claves privadas ), al mismo tiempo que asegura que la ejecución del programa no esté interferida por factores externos. Por lo tanto, vemos que en campos como las criptomonedas y la inteligencia artificial, el TEE se ha convertido en una tecnología clave para construir diversos productos.
Como una tecnología emergente, TEE se encuentra en una etapa experimental de rápido desarrollo. Este artículo tiene como objetivo proporcionar a los desarrolladores y lectores en general una introducción a los conceptos básicos relacionados con TEE, incluyendo la definición de TEE, modelos de seguridad, vulnerabilidades comunes y mejores prácticas. Para facilitar la comprensión, hemos tratado de utilizar un lenguaje claro y accesible en el texto.
Introducción a TEE
TEE se refiere a un entorno independiente en un procesador o centro de datos, donde los programas pueden ejecutarse sin interferencias externas. Para lograr este objetivo, TEE utiliza una serie de diseños, que incluyen un estricto control del acceso de otras partes del sistema a los programas y datos dentro de TEE. Actualmente, TEE se utiliza ampliamente en teléfonos móviles, servidores, PC y entornos en la nube, ofreciendo buena usabilidad y relación costo-beneficio.
Los diferentes proveedores implementan TEE de maneras distintas, pero el objetivo central es evitar que TEE sea interferido por programas externos. Tomando como ejemplo la información biométrica, TEE impide fundamentalmente el acceso a datos sensibles por parte de aplicaciones maliciosas, sitios web o sistemas de cracking a través de métodos como el aislamiento de hardware. Las carteras de hardware también son uno de los escenarios típicos de aplicación de TEE, ya que pueden comunicarse de manera segura con la computadora, al mismo tiempo que evitan el acceso directo de la computadora a las frases de recuperación almacenadas.
Modelo de seguridad de TEE
Hay una gran variedad de tipos de TEE, cada uno de los cuales implementa ( como Intel SGX, Intel TDX, AMD SEV, AWS Nitro Enclaves, ARM TrustZone, etc. ) requiere un análisis de modelo de seguridad independiente. Este artículo se centra en Intel SGX, TDX y AWS Nitro, ya que son los más ampliamente utilizados en el ámbito de Web3.
El flujo de trabajo general de la aplicación TEE es el siguiente:
Los desarrolladores escriben código ( que puede ser de código abierto o no ser de código abierto )
Empaquetar el código en un archivo de imagen Enclave que se pueda ejecutar en TEE (EIF)
Desplegar EIF en un servidor con función TEE.
El usuario interactúa con la aplicación a través de interfaces predefinidas.
Existen tres riesgos potenciales en este proceso:
Desarrolladores: El código EIF puede contener comportamientos maliciosos, como robar datos de privacidad de los usuarios.
Servidor: puede ejecutar EIF que no coincide con lo esperado, o ejecutar otros programas dentro del TEE.
Proveedor: El diseño de TEE puede contener vulnerabilidades de seguridad o puertas traseras.
Para hacer frente a estos riesgos, TEE utiliza mecanismos como la construcción reproducible y la prueba remota. La construcción reproducible garantiza que cualquier persona pueda verificar que el código finalmente desplegado es consistente con el código fuente público. La prueba remota proporciona mensajes firmados por la parte de confianza del TEE ( ), que incluyen métricas de código del programa, versión de la plataforma TEE y otra información, permitiendo a los observadores externos confirmar que el programa se está ejecutando en un entorno TEE real.
Sin embargo, los usuarios aún deben confiar en el proveedor de TEE. Si se considera al proveedor como un posible atacante, se sugiere combinar TEE con pruebas de conocimiento cero o un protocolo de consenso, en lugar de depender únicamente de TEE.
Ventajas de TEE
La popularidad de TEE, especialmente en el despliegue de agentes de IA, se debe principalmente a las siguientes características:
Rendimiento: TEE puede ejecutar modelos LLM, el rendimiento y el costo son comparables a los servidores normales
Soporte de GPU: La última serie de GPU de NVIDIA ofrece soporte para computación TEE
Precisión: LLM que se ejecuta en TEE confiables no puede ser manipulado maliciosamente
Confidencialidad: Los datos dentro de TEE son invisibles para el exterior y se pueden gestionar de forma segura las claves privadas.
Acceso a la red: los programas dentro de TEE pueden acceder de forma segura a Internet.
Permisos de escritura: el código dentro de TEE puede construir mensajes y enviarlos a través de la API
Amigable para desarrolladores: soporte para múltiples lenguajes de programación, fácil de implementar
Estas características hacen que la TEE sea difícil de reemplazar en ciertos escenarios de aplicación, y se espera que impulsen el nacimiento de nuevas aplicaciones.
Limitaciones de TEE
A pesar de su gran potencia, TEE aún enfrenta una variedad de riesgos potenciales, principalmente incluyen:
negligencia del desarrollador
Código opaco, difícil de verificar
Problemas de métricas de código
Lógica de código insegura
Riesgo de ataque a la cadena de suministro
vulnerabilidad en tiempo de ejecución
Riesgo de ejecución de código dinámico
Dependencia de fuentes de datos externas
Canales de comunicación inseguros
defecto de diseño de la arquitectura
Superficie de ataque demasiado grande
Problemas de portabilidad y actividad
Raíz de confianza no segura
Problemas de operación
Vulnerabilidades de seguridad en la versión de la plataforma
Amenazas de seguridad física
Construir programas TEE seguros
Para mejorar la seguridad de las aplicaciones TEE, sugerimos:
La solución más segura: sin dependencias externas
Al eliminar las dependencias externas, se puede reducir al mínimo el riesgo de ataque, pero esto puede limitar las funcionalidades.
Medidas de seguridad necesarias
Considerar la aplicación TEE como un contrato inteligente, realizar pruebas estrictas, reducir la frecuencia de actualizaciones.
Código de auditoría y proceso de construcción
Utilizar bibliotecas auditadas
Verificar la prueba proporcionada por TEE
Sugerencias para casos de uso específicos
Asegurar la comunicación segura entre el usuario y el TEE
Considerar la transitoriedad de la memoria TEE y tomar medidas de persistencia de datos.
Reducir la superficie de ataque, como usar un sistema operativo minimalista
TEE de aislamiento físico
Adoptar un mecanismo de múltiples validadores para mejorar la confiabilidad
Perspectivas futuras
Con la proliferación de la tecnología AI y la creciente preocupación de los usuarios por la privacidad de los datos, cada vez más empresas tecnológicas están comenzando a integrar TEE en sus productos. Por otro lado, la comunidad criptográfica también está explorando activamente el potencial de TEE en aplicaciones de cadenas de expansión. Aunque TEE no alcanza el nivel de minimización de confianza de los completos esquemas de conocimiento cero, logra un buen equilibrio entre funcionalidad y supuestos de confianza. Esperamos que TEE se convierta en un puente que conecte los productos de las empresas Web3 y las grandes empresas tecnológicas, impulsando el desarrollo integrado de ambos campos.
Ver originales
This page may contain third-party content, which is provided for information purposes only (not representations/warranties) and should not be considered as an endorsement of its views by Gate, nor as financial or professional advice. See Disclaimer for details.
Guía completa de la tecnología TEE: desde el concepto hasta la aplicación, desafíos de seguridad y mejores prácticas
De principiante a experto: Guía completa de la tecnología TEE
Con el creciente aumento de la demanda de computación en la privacidad, la tecnología del entorno de ejecución confiable ( TEE ) está recibiendo cada vez más atención. Ya sea el servicio de nube privado lanzado por Apple, o la función de computación confidencial integrada en la GPU de NVIDIA, ambos reflejan el amplio futuro de aplicación del TEE. El TEE puede proporcionar una fuerte protección para los datos del usuario (, incluidas las claves privadas ), al mismo tiempo que asegura que la ejecución del programa no esté interferida por factores externos. Por lo tanto, vemos que en campos como las criptomonedas y la inteligencia artificial, el TEE se ha convertido en una tecnología clave para construir diversos productos.
Como una tecnología emergente, TEE se encuentra en una etapa experimental de rápido desarrollo. Este artículo tiene como objetivo proporcionar a los desarrolladores y lectores en general una introducción a los conceptos básicos relacionados con TEE, incluyendo la definición de TEE, modelos de seguridad, vulnerabilidades comunes y mejores prácticas. Para facilitar la comprensión, hemos tratado de utilizar un lenguaje claro y accesible en el texto.
Introducción a TEE
TEE se refiere a un entorno independiente en un procesador o centro de datos, donde los programas pueden ejecutarse sin interferencias externas. Para lograr este objetivo, TEE utiliza una serie de diseños, que incluyen un estricto control del acceso de otras partes del sistema a los programas y datos dentro de TEE. Actualmente, TEE se utiliza ampliamente en teléfonos móviles, servidores, PC y entornos en la nube, ofreciendo buena usabilidad y relación costo-beneficio.
Los diferentes proveedores implementan TEE de maneras distintas, pero el objetivo central es evitar que TEE sea interferido por programas externos. Tomando como ejemplo la información biométrica, TEE impide fundamentalmente el acceso a datos sensibles por parte de aplicaciones maliciosas, sitios web o sistemas de cracking a través de métodos como el aislamiento de hardware. Las carteras de hardware también son uno de los escenarios típicos de aplicación de TEE, ya que pueden comunicarse de manera segura con la computadora, al mismo tiempo que evitan el acceso directo de la computadora a las frases de recuperación almacenadas.
Modelo de seguridad de TEE
Hay una gran variedad de tipos de TEE, cada uno de los cuales implementa ( como Intel SGX, Intel TDX, AMD SEV, AWS Nitro Enclaves, ARM TrustZone, etc. ) requiere un análisis de modelo de seguridad independiente. Este artículo se centra en Intel SGX, TDX y AWS Nitro, ya que son los más ampliamente utilizados en el ámbito de Web3.
El flujo de trabajo general de la aplicación TEE es el siguiente:
Existen tres riesgos potenciales en este proceso:
Para hacer frente a estos riesgos, TEE utiliza mecanismos como la construcción reproducible y la prueba remota. La construcción reproducible garantiza que cualquier persona pueda verificar que el código finalmente desplegado es consistente con el código fuente público. La prueba remota proporciona mensajes firmados por la parte de confianza del TEE ( ), que incluyen métricas de código del programa, versión de la plataforma TEE y otra información, permitiendo a los observadores externos confirmar que el programa se está ejecutando en un entorno TEE real.
Sin embargo, los usuarios aún deben confiar en el proveedor de TEE. Si se considera al proveedor como un posible atacante, se sugiere combinar TEE con pruebas de conocimiento cero o un protocolo de consenso, en lugar de depender únicamente de TEE.
Ventajas de TEE
La popularidad de TEE, especialmente en el despliegue de agentes de IA, se debe principalmente a las siguientes características:
Estas características hacen que la TEE sea difícil de reemplazar en ciertos escenarios de aplicación, y se espera que impulsen el nacimiento de nuevas aplicaciones.
Limitaciones de TEE
A pesar de su gran potencia, TEE aún enfrenta una variedad de riesgos potenciales, principalmente incluyen:
negligencia del desarrollador
vulnerabilidad en tiempo de ejecución
defecto de diseño de la arquitectura
Problemas de operación
Construir programas TEE seguros
Para mejorar la seguridad de las aplicaciones TEE, sugerimos:
La solución más segura: sin dependencias externas
Al eliminar las dependencias externas, se puede reducir al mínimo el riesgo de ataque, pero esto puede limitar las funcionalidades.
Medidas de seguridad necesarias
Sugerencias para casos de uso específicos
Perspectivas futuras
Con la proliferación de la tecnología AI y la creciente preocupación de los usuarios por la privacidad de los datos, cada vez más empresas tecnológicas están comenzando a integrar TEE en sus productos. Por otro lado, la comunidad criptográfica también está explorando activamente el potencial de TEE en aplicaciones de cadenas de expansión. Aunque TEE no alcanza el nivel de minimización de confianza de los completos esquemas de conocimiento cero, logra un buen equilibrio entre funcionalidad y supuestos de confianza. Esperamos que TEE se convierta en un puente que conecte los productos de las empresas Web3 y las grandes empresas tecnológicas, impulsando el desarrollo integrado de ambos campos.