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:

  • Almacenamiento y procesamiento seguro de información biométrica ( como huellas dactilares )
  • Almacenamiento seguro de claves privadas en hardware wallets

Guía breve de TEE: desde conceptos básicos hasta las mejores prácticas para un uso seguro

El modelo de seguridad de TEE

El flujo de trabajo típico de TEE es el siguiente:

  1. Los desarrolladores escriben el código y lo empaquetan en un archivo de imagen Enclave (EIF)
  2. Despliegue de EIF en un servidor con sistema TEE
  3. 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.

Guía rápida de TEE: desde conceptos básicos hasta las mejores prácticas para un uso seguro

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

Guía breve de TEE: de los conceptos básicos a las mejores prácticas de uso seguro

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

Guía concisa de TEE: del concepto básico a las mejores prácticas para un uso seguro

Construcción de aplicaciones TEE seguras

la solución más segura

Eliminar dependencias externas y ejecutar aplicaciones de forma independiente.

Guía práctica de TEE: de conceptos básicos a mejores prácticas para un uso seguro

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

Guía práctica concisa de TEE: desde conceptos básicos hasta las mejores prácticas de uso seguro

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

Guía breve de TEE: Desde conceptos básicos hasta las mejores prácticas para un uso seguro

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.

Guía simplificada de TEE: desde conceptos básicos hasta las mejores prácticas para un uso seguro

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.
  • Recompensa
  • 5
  • Compartir
Comentar
0/400
BridgeTrustFundvip
· 07-16 01:20
Esto es tanto profundo como complejo... me da mareos después de leerlo.
Ver originalesResponder0
tokenomics_truthervip
· 07-16 01:13
¡Duro! La forma correcta de combinar TEE y privacidad
Ver originalesResponder0
CoffeeOnChainvip
· 07-16 01:06
tee va a estar de moda
Ver originalesResponder0
SchroedingersFrontrunvip
· 07-16 01:05
¡La seguridad suena abrumadora!
Ver originalesResponder0
MetaverseHobovip
· 07-16 01:00
Ya están mostrando alta tecnología, los que entienden, entienden.
Ver originalesResponder0
Opere con criptomonedas en cualquier momento y lugar
qrCode
Escanee para descargar la aplicación Gate
Comunidad
Español
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)