Guide de développement d'applications TEE : des bases aux meilleures pratiques
Avec le lancement du cloud privé par Apple et l'offre de calcul confidentiel par NVIDIA dans les GPU, l'environnement d'exécution de confiance (TEE) est devenu de plus en plus populaire. La garantie de confidentialité de TEE peut protéger les données des utilisateurs (, y compris les clés privées ), tandis que l'isolement garantit que l'exécution des programmes déployés ne sera pas altérée. Par conséquent, il n'est pas surprenant que de nombreux produits dans le domaine de la cryptographie et de l'IA utilisent TEE pour leur construction.
Cet article a pour but de fournir aux développeurs et aux lecteurs un guide des concepts de base du TEE, présentant le modèle de sécurité du TEE, les vulnérabilités courantes et les meilleures pratiques pour une utilisation sécurisée du TEE.
Introduction à TEE
TEE est un environnement isolé dans un processeur ou un centre de données où des programmes peuvent s'exécuter sans être perturbés par d'autres parties du système. Pour éviter les interférences, le TEE nécessite un contrôle d'accès strict, limitant l'accès des autres parties du système aux programmes et données à l'intérieur du TEE. Le TEE est actuellement omniprésent dans les téléphones, serveurs, PC et environnements cloud, facilement accessible et à un prix raisonnable.
Les différentes manières dont les serveurs et les fournisseurs de cloud mettent en œuvre le TEE varient, mais l'objectif principal est d'empêcher que le TEE soit perturbé par d'autres programmes. Les scénarios d'application TEE courants incluent :
Stockage et traitement sécurisé des informations biométriques ( telles que les empreintes digitales ).
Stockage sécurisé des clés privées dans un portefeuille matériel
Modèle de sécurité de TEE
Le flux de travail typique de TEE est le suivant :
Les développeurs écrivent le code et le regroupent dans un fichier image Enclave (EIF)
Déployer EIF sur des serveurs avec système TEE.
L'utilisateur interagit avec l'application via une interface prédéfinie.
Les principaux risques potentiels comprennent :
Développeurs : Le code EIF peut ne pas être conforme à la logique annoncée du projet, et peut compromettre la vie privée des utilisateurs.
Serveur : Peut exécuter un EIF inattendu ou exécuter un EIF en dehors du TEE
Fournisseur : Des failles de sécurité ou des portes dérobées peuvent exister dans la conception de TEE
Pour éliminer ces risques, les TEE modernes utilisent des mécanismes de construction répétée et de preuve à distance.
La construction répétable garantit que les résultats de la construction du même code sont cohérents sur n'importe quel appareil. La preuve à distance est un message signé fourni par la plateforme TEE, contenant des informations telles que les mesures du code du programme, permettant aux observateurs externes de savoir qu'un programme spécifié s'exécute réellement dans un TEE.
Ces deux mécanismes permettent aux utilisateurs de vérifier le code réel exécuté dans le TEE et la version de la plateforme TEE, empêchant ainsi les développeurs ou les serveurs de commettre des actes malveillants. Cependant, il est toujours nécessaire de faire confiance au fournisseur de TEE pour ne pas falsifier la preuve à distance.
Les avantages de TEE
Les principaux avantages de TEE incluent :
Performance : similaire à un serveur standard, capable d'exécuter des modèles lourds tels que LLM.
Support GPU : les dernières GPU NVIDIA offrent un support de calcul TEE
Exactitude : résultats d'exécution de LLM dans un TEE de confiance
Confidentialité : Les données à l'intérieur de TEE sont invisibles de l'extérieur, adaptées à la gestion des clés.
Connexion: accès sécurisé à Internet et aux API tierces
Droits d'écriture : peut construire et envoyer des transactions et autres messages
Développement convivial : prise en charge de plusieurs langues, facile à déployer
Limitations de TEE
Les programmes exécutés dans TEE peuvent toujours rencontrer les problèmes suivants :
négligence des développeurs
Code opaque : manque de vérification externe
Problème de mesure de code : manque de vérification par des tiers
Code non sécurisé : des portes dérobées ou des vulnérabilités peuvent exister
Attaque de la chaîne d'approvisionnement : les dépendances tierces peuvent présenter des vulnérabilités de sécurité
vulnérabilité d'exécution
Code dynamique : le code opaque chargé à l'exécution peut comporter des risques
Données dynamiques : les sources de données externes peuvent ne pas être fiables
Communication non sécurisée : le serveur peut altérer la communication TEE.
défaut d'architecture
Grande surface d'attaque : difficile à auditer et à garantir la sécurité
Portabilité et activité : la gestion des clés affecte la portabilité
Racines de confiance non sécurisées : les véritables racines de confiance peuvent se trouver en dehors du TEE
Problèmes d'exploitation
Version de plateforme obsolète : des vulnérabilités connues peuvent exister
Manque de sécurité physique : risque d'attaques par canaux auxiliaires
Construire des applications TEE sécurisées
La solution la plus sécurisée
Éliminer les dépendances externes pour faire fonctionner les applications de manière autonome.
Mesures préventives nécessaires
Considérer les applications TEE comme des contrats intelligents, les tester et les mettre à jour rigoureusement.
Audit des codes et des processus de construction
Utiliser des bibliothèques auditée pour traiter les données sensibles
Vérification de la preuve à distance TEE
selon les recommandations du cas d'utilisation
Assurez-vous que l'interaction des utilisateurs avec le TEE se déroule dans un canal sécurisé.
Notez que la mémoire TEE est transitoire, envisagez d'utiliser des solutions comme MPC pour sauvegarder les clés.
Réduire la surface d'attaque, comme l'utilisation d'un noyau minimal
Considérer l'isolement physique, comme déployer TEE dans un centre de données
Utiliser plusieurs validateurs pour améliorer la sécurité et la fiabilité
Perspectives d'avenir
Avec la popularité de l'IA, les grandes entreprises technologiques intègrent largement les TEE dans leurs produits. En même temps, la communauté crypto adopte de plus en plus les TEE pour étendre les applications sur la chaîne. Les TEE devraient devenir le pont entre les produits des entreprises Web3 et des grandes entreprises technologiques.
Voir l'original
Cette page peut inclure du contenu de tiers fourni à des fins d'information uniquement. Gate ne garantit ni l'exactitude ni la validité de ces contenus, n’endosse pas les opinions exprimées, et ne fournit aucun conseil financier ou professionnel à travers ces informations. Voir la section Avertissement pour plus de détails.
12 J'aime
Récompense
12
5
Partager
Commentaire
0/400
BridgeTrustFund
· Il y a 15h
C'est à la fois profond et complexe... ça donne le vertige après l'avoir lu.
Voir l'originalRépondre0
tokenomics_truther
· Il y a 15h
C'est du solide ! La bonne combinaison de TEE et de la vie privée.
Voir l'originalRépondre0
CoffeeOnChain
· Il y a 15h
tee va bientôt être populaire
Voir l'originalRépondre0
SchroedingersFrontrun
· Il y a 15h
La sécurité, ça donne mal à la tête !
Voir l'originalRépondre0
MetaverseHobo
· Il y a 15h
Encore en train de montrer des technologies de pointe, ceux qui comprennent comprennent.
Guide de développement d'applications TEE : modèles de sécurité, avantages, limites et meilleures pratiques
Guide de développement d'applications TEE : des bases aux meilleures pratiques
Avec le lancement du cloud privé par Apple et l'offre de calcul confidentiel par NVIDIA dans les GPU, l'environnement d'exécution de confiance (TEE) est devenu de plus en plus populaire. La garantie de confidentialité de TEE peut protéger les données des utilisateurs (, y compris les clés privées ), tandis que l'isolement garantit que l'exécution des programmes déployés ne sera pas altérée. Par conséquent, il n'est pas surprenant que de nombreux produits dans le domaine de la cryptographie et de l'IA utilisent TEE pour leur construction.
Cet article a pour but de fournir aux développeurs et aux lecteurs un guide des concepts de base du TEE, présentant le modèle de sécurité du TEE, les vulnérabilités courantes et les meilleures pratiques pour une utilisation sécurisée du TEE.
Introduction à TEE
TEE est un environnement isolé dans un processeur ou un centre de données où des programmes peuvent s'exécuter sans être perturbés par d'autres parties du système. Pour éviter les interférences, le TEE nécessite un contrôle d'accès strict, limitant l'accès des autres parties du système aux programmes et données à l'intérieur du TEE. Le TEE est actuellement omniprésent dans les téléphones, serveurs, PC et environnements cloud, facilement accessible et à un prix raisonnable.
Les différentes manières dont les serveurs et les fournisseurs de cloud mettent en œuvre le TEE varient, mais l'objectif principal est d'empêcher que le TEE soit perturbé par d'autres programmes. Les scénarios d'application TEE courants incluent :
Modèle de sécurité de TEE
Le flux de travail typique de TEE est le suivant :
Les principaux risques potentiels comprennent :
Pour éliminer ces risques, les TEE modernes utilisent des mécanismes de construction répétée et de preuve à distance.
La construction répétable garantit que les résultats de la construction du même code sont cohérents sur n'importe quel appareil. La preuve à distance est un message signé fourni par la plateforme TEE, contenant des informations telles que les mesures du code du programme, permettant aux observateurs externes de savoir qu'un programme spécifié s'exécute réellement dans un TEE.
Ces deux mécanismes permettent aux utilisateurs de vérifier le code réel exécuté dans le TEE et la version de la plateforme TEE, empêchant ainsi les développeurs ou les serveurs de commettre des actes malveillants. Cependant, il est toujours nécessaire de faire confiance au fournisseur de TEE pour ne pas falsifier la preuve à distance.
Les avantages de TEE
Les principaux avantages de TEE incluent :
Limitations de TEE
Les programmes exécutés dans TEE peuvent toujours rencontrer les problèmes suivants :
négligence des développeurs
vulnérabilité d'exécution
défaut d'architecture
Problèmes d'exploitation
Construire des applications TEE sécurisées
La solution la plus sécurisée
Éliminer les dépendances externes pour faire fonctionner les applications de manière autonome.
Mesures préventives nécessaires
selon les recommandations du cas d'utilisation
Perspectives d'avenir
Avec la popularité de l'IA, les grandes entreprises technologiques intègrent largement les TEE dans leurs produits. En même temps, la communauté crypto adopte de plus en plus les TEE pour étendre les applications sur la chaîne. Les TEE devraient devenir le pont entre les produits des entreprises Web3 et des grandes entreprises technologiques.