Guide de développement sécurisé des applications TEE
Récemment, l'environnement d'exécution de confiance (TEE) est de plus en plus utilisé dans les domaines de la cryptographie et de l'IA. Cet article vise à fournir aux développeurs et aux lecteurs les concepts de base du TEE, son modèle de sécurité, les vulnérabilités courantes ainsi que les meilleures pratiques pour une utilisation sécurisée.
Introduction à TEE
TEE est un environnement isolé dans un processeur ou un centre de données, où les programmes peuvent s'exécuter sans interférence des autres parties du système. TEE réalise l'isolement grâce à un contrôle d'accès strict. Actuellement, TEE est largement présent dans les appareils mobiles, les serveurs, les PC et les environnements cloud.
Les informations biométriques pour le déverrouillage et les portefeuilles matériels sont des scénarios d'application typiques du TEE. Dans ces cas, les utilisateurs font confiance aux fabricants d'appareils pour concevoir correctement les puces et fournir des mises à jour de firmware appropriées, afin d'empêcher que les données confidentielles à l'intérieur du TEE ne soient exportées ou consultées.
Modèle de sécurité
Le flux de travail typique de l'application TEE est le suivant :
Les développeurs écrivent du code
Emballer le code en un fichier image d'enclave exécutable dans le TEE (EIF)
Déployer EIF sur le serveur TEE
Les utilisateurs interagissent avec l'application via une interface prédéfinie.
Il existe trois risques potentiels:
Développeurs : le code EIF peut ne pas correspondre à ce qui est affirmé
Serveur : peut exécuter un EIF inattendu ou effectuer des opérations en dehors du TEE.
Fournisseur : Il pourrait y avoir une porte dérobée dans le design TEE
La construction répétable et la preuve à distance peuvent atténuer les deux premiers risques. La construction répétable garantit que le même code produit des mesures de code cohérentes sur n'importe quel appareil. La preuve à distance est un message signé fourni par la plateforme TEE, contenant des informations telles que les mesures de code du programme.
Cependant, les fournisseurs restent des attaquants potentiels. Si vous ne faites pas confiance aux fournisseurs, il est préférable d'éviter de se fier uniquement à la TEE et de l'utiliser en combinaison avec des preuves à divulgation nulle ou des protocoles de consensus.
Les avantages de TEE
TEE a des avantages dans les domaines suivants :
Performances : capable de faire fonctionner de grands modèles, coût équivalent à celui d'un serveur ordinaire
Support GPU : La nouvelle génération de GPU offre un calcul TEE.
Précision : adapté aux scénarios LLM non déterministes, etc.
Confidentialité : gestion sécurisée des clés privées
Connexion: accès sécurisé à Internet
Autorisation d'écriture : peut construire et envoyer des transactions, etc.
Développement convivial : prend en charge plusieurs langues, déploiement simple
Les limites de TEE
Le programme TEE fait encore face à divers problèmes potentiels :
négligence des développeurs
Code non transparent
Problème de mesure de code
Code non sécurisé
Attaque de la chaîne d'approvisionnement
vulnérabilité d'exécution
Code et données dynamiques
Communication non sécurisée
défaut d'architecture
La surface d'attaque est trop grande
Problèmes de portabilité et d'activité
Racine de confiance non sécurisée
Problèmes d'exploitation
Version de la plateforme obsolète
Manque de protection physique de sécurité
Meilleures pratiques de développement sécurisé
La solution la plus sûre : sans dépendance externe
Mesures préventives nécessaires
Considérez les applications TEE comme des contrats intelligents, testez et mettez à jour rigoureusement.
Auditer le code et construire le pipeline
Utiliser des bibliothèques vérifiées
Vérifier les preuves provenant du TEE
Suggestions ciblées
Assurer un canal d'interaction utilisateur-TEE sécurisé
Gérer correctement la transience de la mémoire TEE
Réduire la surface d'attaque
Mise en œuvre d'une isolation physique
Utiliser plusieurs validateurs
Perspectives
TEE devient une technologie importante dans les domaines de l'IA et de la cryptographie. Bien qu'il ne soit pas aussi minimisant en matière de confiance que les preuves zéro connaissance, le TEE pourrait devenir un moyen de fusion des produits des entreprises Web3 et des grandes entreprises technologiques. Avec l'expansion des cas d'utilisation, le TEE devrait offrir un bon équilibre entre fonctionnalité et hypothèses de confiance.
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.
15 J'aime
Récompense
15
4
Partager
Commentaire
0/400
MetaMisery
· 07-08 17:08
Le développement de Tee est vraiment top, j'ai appris à l'utiliser.
Voir l'originalRépondre0
CryptoHistoryClass
· 07-05 18:31
ah oui, un autre cycle de théâtralité en matière de sécurité. *vérifie le registre de 2017*
Voir l'originalRépondre0
ContractExplorer
· 07-05 18:29
Plongée dans tee, bull
Voir l'originalRépondre0
NotFinancialAdvice
· 07-05 18:26
Parler autant, au final, c'est toujours en fonction de l'humeur qu'on choisit le code.
Guide de développement sécurisé TEE : avantages, limites et meilleures pratiques
Guide de développement sécurisé des applications TEE
Récemment, l'environnement d'exécution de confiance (TEE) est de plus en plus utilisé dans les domaines de la cryptographie et de l'IA. Cet article vise à fournir aux développeurs et aux lecteurs les concepts de base du TEE, son modèle de sécurité, les vulnérabilités courantes ainsi que les meilleures pratiques pour une utilisation sécurisée.
Introduction à TEE
TEE est un environnement isolé dans un processeur ou un centre de données, où les programmes peuvent s'exécuter sans interférence des autres parties du système. TEE réalise l'isolement grâce à un contrôle d'accès strict. Actuellement, TEE est largement présent dans les appareils mobiles, les serveurs, les PC et les environnements cloud.
Les informations biométriques pour le déverrouillage et les portefeuilles matériels sont des scénarios d'application typiques du TEE. Dans ces cas, les utilisateurs font confiance aux fabricants d'appareils pour concevoir correctement les puces et fournir des mises à jour de firmware appropriées, afin d'empêcher que les données confidentielles à l'intérieur du TEE ne soient exportées ou consultées.
Modèle de sécurité
Le flux de travail typique de l'application TEE est le suivant :
Il existe trois risques potentiels:
La construction répétable et la preuve à distance peuvent atténuer les deux premiers risques. La construction répétable garantit que le même code produit des mesures de code cohérentes sur n'importe quel appareil. La preuve à distance est un message signé fourni par la plateforme TEE, contenant des informations telles que les mesures de code du programme.
Cependant, les fournisseurs restent des attaquants potentiels. Si vous ne faites pas confiance aux fournisseurs, il est préférable d'éviter de se fier uniquement à la TEE et de l'utiliser en combinaison avec des preuves à divulgation nulle ou des protocoles de consensus.
Les avantages de TEE
TEE a des avantages dans les domaines suivants :
Les limites de TEE
Le programme TEE fait encore face à divers problèmes potentiels :
négligence des développeurs
vulnérabilité d'exécution
défaut d'architecture
Problèmes d'exploitation
Meilleures pratiques de développement sécurisé
La solution la plus sûre : sans dépendance externe
Mesures préventives nécessaires
Suggestions ciblées
Perspectives
TEE devient une technologie importante dans les domaines de l'IA et de la cryptographie. Bien qu'il ne soit pas aussi minimisant en matière de confiance que les preuves zéro connaissance, le TEE pourrait devenir un moyen de fusion des produits des entreprises Web3 et des grandes entreprises technologiques. Avec l'expansion des cas d'utilisation, le TEE devrait offrir un bon équilibre entre fonctionnalité et hypothèses de confiance.