Guía de desarrollo de aplicaciones TEE: de los fundamentos a las mejores prácticas
Con el lanzamiento de la nube privada de Apple y la computación confidencial proporcionada por NVIDIA en las GPU, el entorno de ejecución de confianza (TEE) se ha vuelto cada vez más común. La garantía de confidencialidad de TEE puede proteger los datos del usuario (, incluyendo las claves privadas ), mientras que el aislamiento asegura que la ejecución de los programas implementados no sea alterada. Por lo tanto, no es sorprendente que en los campos de la criptografía y la IA se utilice ampliamente TEE para construir productos.
Este artículo tiene como objetivo proporcionar a desarrolladores y lectores una guía básica sobre el concepto de TEE, presentando el modelo de seguridad de TEE, vulnerabilidades comunes y las mejores prácticas para usar TEE de forma segura.
Introducción a TEE
TEE es un entorno aislado en el procesador o en el centro de datos, donde los programas pueden ejecutarse sin ser interferidos por otras partes del sistema. Para evitar interferencias, TEE requiere un control de acceso estricto, limitando el acceso de otras partes del sistema a los programas y datos dentro de TEE. Actualmente, TEE está presente en teléfonos móviles, servidores, PC y entornos en la nube, siendo de fácil acceso y a un precio razonable.
La forma en que diferentes servidores y proveedores de nube implementan TEE varía, pero el objetivo central es evitar que TEE sea interferido por otros programas. Los escenarios de aplicación comunes de TEE incluyen:
Almacenamiento y procesamiento seguro de información biométrica ( como huellas dactilares )
Almacenamiento seguro de claves privadas en hardware wallets
El modelo de seguridad de TEE
El flujo de trabajo típico de TEE es el siguiente:
Los desarrolladores escriben el código y lo empaquetan en un archivo de imagen Enclave (EIF)
Despliegue de EIF en un servidor con sistema TEE
El usuario interactúa con la aplicación a través de una interfaz predefinida.
Los principales riesgos potenciales incluyen:
Desarrolladores: El código EIF puede no cumplir con la lógica promocionada del proyecto y puede robar la privacidad del usuario.
Servidor: puede estar ejecutando EIF inesperados o ejecutando EIF fuera del TEE
Proveedor: El diseño de TEE puede tener vulnerabilidades de seguridad o puertas traseras.
Para eliminar estos riesgos, el TEE moderno adopta mecanismos de construcción repetible y prueba remota.
La construcción repetible asegura que los resultados de la construcción del mismo código sean consistentes en cualquier dispositivo. La prueba remota es un mensaje firmado proporcionado por la plataforma TEE, que contiene información como las métricas del código del programa, permitiendo a los observadores externos saber que el programa especificado se está ejecutando en un TEE real.
Estos dos mecanismos permiten a los usuarios verificar el código real que se ejecuta dentro del TEE y la versión de la plataforma TEE, previniendo que los desarrolladores o servidores actúen de manera maliciosa. Sin embargo, aún se debe confiar en que el proveedor de TEE no falsifique las pruebas remotas.
Ventajas de TEE
Las principales ventajas de TEE incluyen:
Rendimiento: similar a los servidores normales, puede ejecutar modelos pesados como LLM.
Soporte GPU: las últimas GPU NVIDIA ofrecen soporte para cálculos TEE
Exactitud: Resultados de ejecución de LLM en TEE de confianza
Confidencialidad: Los datos dentro de TEE son invisibles para el exterior, adecuados para la gestión de claves
Conexión a Internet: acceso seguro a Internet y API de terceros
Permisos de escritura: se pueden construir y enviar transacciones y otros mensajes
Amigable para desarrolladores: soporta múltiples idiomas, fácil de implementar
Limitaciones de TEE
Los programas que se ejecutan en TEE todavía pueden presentar los siguientes problemas:
negligencia del desarrollador
Código opaco: falta de verificación externa
Problemas de medición de código: falta de verificación de terceros
Código inseguro: puede haber puertas traseras o vulnerabilidades
Ataques a la cadena de suministro: las dependencias de terceros pueden tener vulnerabilidades de seguridad
vulnerabilidades en tiempo de ejecución
Código dinámico: el código opaco cargado en tiempo de ejecución puede representar un riesgo
Datos dinámicos: las fuentes de datos externas pueden no ser fiables
Comunicación no segura: el servidor puede alterar la comunicación de TEE
defecto de arquitectura
Gran superficie de ataque: difícil de auditar y garantizar la seguridad
Portabilidad y actividad: la gestión de claves afecta la portabilidad
Raíces de confianza inseguras: la verdadera raíz de confianza puede estar fuera de TEE
Problemas de operación
Versión de la plataforma desactualizada: puede haber vulnerabilidades conocidas
Falta de seguridad física: podría estar sujeto a ataques de canal lateral
Construcción de aplicaciones TEE seguras
la solución más segura
Eliminar dependencias externas y ejecutar aplicaciones de forma independiente.
Medidas de prevención necesarias
Considerar la aplicación TEE como un contrato inteligente, probar y actualizar rigurosamente
Auditoría de código y proceso de construcción
Utilizar bibliotecas auditadas para manejar datos sensibles
Verificación de prueba remota de TEE
según las recomendaciones del caso de uso
Asegurar que la interacción del usuario con TEE se realice a través de un canal seguro
Tenga en cuenta que la memoria TEE es transitoria, considere usar soluciones como MPC para almacenar la clave.
Reducir la superficie de ataque, como usar un núcleo mínimo
Considerar el aislamiento físico, como desplegar TEE en el centro de datos
Utilizar múltiples validadores para mejorar la seguridad y confiabilidad
Perspectivas futuras
Con la popularización de la IA, las grandes empresas tecnológicas están utilizando ampliamente TEE en sus productos. Al mismo tiempo, la comunidad cripto también está adoptando cada vez más TEE para expandir las aplicaciones en la cadena. Se espera que TEE se convierta en un puente para la fusión de productos entre empresas de Web3 y grandes empresas tecnológicas.
Ver originales
Esta página puede contener contenido de terceros, que se proporciona únicamente con fines informativos (sin garantías ni declaraciones) y no debe considerarse como un respaldo por parte de Gate a las opiniones expresadas ni como asesoramiento financiero o profesional. Consulte el Descargo de responsabilidad para obtener más detalles.
13 me gusta
Recompensa
13
5
Compartir
Comentar
0/400
BridgeTrustFund
· 07-16 01:20
Esto es tanto profundo como complejo... me da mareos después de leerlo.
Ver originalesResponder0
tokenomics_truther
· 07-16 01:13
¡Duro! La forma correcta de combinar TEE y privacidad
Ver originalesResponder0
CoffeeOnChain
· 07-16 01:06
tee va a estar de moda
Ver originalesResponder0
SchroedingersFrontrun
· 07-16 01:05
¡La seguridad suena abrumadora!
Ver originalesResponder0
MetaverseHobo
· 07-16 01:00
Ya están mostrando alta tecnología, los que entienden, entienden.
Guía de desarrollo de aplicaciones TEE: modelo de seguridad, ventajas, limitaciones y mejores prácticas
Guía de desarrollo de aplicaciones TEE: de los fundamentos a las mejores prácticas
Con el lanzamiento de la nube privada de Apple y la computación confidencial proporcionada por NVIDIA en las GPU, el entorno de ejecución de confianza (TEE) se ha vuelto cada vez más común. La garantía de confidencialidad de TEE puede proteger los datos del usuario (, incluyendo las claves privadas ), mientras que el aislamiento asegura que la ejecución de los programas implementados no sea alterada. Por lo tanto, no es sorprendente que en los campos de la criptografía y la IA se utilice ampliamente TEE para construir productos.
Este artículo tiene como objetivo proporcionar a desarrolladores y lectores una guía básica sobre el concepto de TEE, presentando el modelo de seguridad de TEE, vulnerabilidades comunes y las mejores prácticas para usar TEE de forma segura.
Introducción a TEE
TEE es un entorno aislado en el procesador o en el centro de datos, donde los programas pueden ejecutarse sin ser interferidos por otras partes del sistema. Para evitar interferencias, TEE requiere un control de acceso estricto, limitando el acceso de otras partes del sistema a los programas y datos dentro de TEE. Actualmente, TEE está presente en teléfonos móviles, servidores, PC y entornos en la nube, siendo de fácil acceso y a un precio razonable.
La forma en que diferentes servidores y proveedores de nube implementan TEE varía, pero el objetivo central es evitar que TEE sea interferido por otros programas. Los escenarios de aplicación comunes de TEE incluyen:
El modelo de seguridad de TEE
El flujo de trabajo típico de TEE es el siguiente:
Los principales riesgos potenciales incluyen:
Para eliminar estos riesgos, el TEE moderno adopta mecanismos de construcción repetible y prueba remota.
La construcción repetible asegura que los resultados de la construcción del mismo código sean consistentes en cualquier dispositivo. La prueba remota es un mensaje firmado proporcionado por la plataforma TEE, que contiene información como las métricas del código del programa, permitiendo a los observadores externos saber que el programa especificado se está ejecutando en un TEE real.
Estos dos mecanismos permiten a los usuarios verificar el código real que se ejecuta dentro del TEE y la versión de la plataforma TEE, previniendo que los desarrolladores o servidores actúen de manera maliciosa. Sin embargo, aún se debe confiar en que el proveedor de TEE no falsifique las pruebas remotas.
Ventajas de TEE
Las principales ventajas de TEE incluyen:
Limitaciones de TEE
Los programas que se ejecutan en TEE todavía pueden presentar los siguientes problemas:
negligencia del desarrollador
vulnerabilidades en tiempo de ejecución
defecto de arquitectura
Problemas de operación
Construcción de aplicaciones TEE seguras
la solución más segura
Eliminar dependencias externas y ejecutar aplicaciones de forma independiente.
Medidas de prevención necesarias
según las recomendaciones del caso de uso
Perspectivas futuras
Con la popularización de la IA, las grandes empresas tecnológicas están utilizando ampliamente TEE en sus productos. Al mismo tiempo, la comunidad cripto también está adoptando cada vez más TEE para expandir las aplicaciones en la cadena. Se espera que TEE se convierta en un puente para la fusión de productos entre empresas de Web3 y grandes empresas tecnológicas.