Mysten Labs dévoile l'architecture du serveur Salt derrière zkLogin, garantissant une gestion sécurisée et privée des identités pour les applications Web3.
Mysten Labs a dévoilé l'architecture du serveur Salt pour son mécanisme d'authentification zkLogin, garantissant une gestion sécurisée et privée des identités pour les applications Web3.
L'architecture, décrite dans un article récent sur le blog Sui, est conçue pour maintenir l'intégrité et la confidentialité des identités des utilisateurs dans l'espace Web3.
zkLogin est une primitive Sui qui offre un mécanisme d'authentification sans confiance, sécurisé et convivial pour Web3. Il permet aux développeurs d'intégrer des méthodes de connexion Web2 familières, telles que Google ou Facebook, pour permettre aux utilisateurs de créer et de gérer sans effort des adresses Sui.
Un composant essentiel de zkLogin est le serveur salt, qui génère, stocke et fournit une valeur salt unique chaque fois qu'une transaction est initiée. Cette valeur salt garantit que les adresses onchain ne peuvent pas être retracées jusqu'aux informations d'identification Web2 de l'utilisateur.
Chez Mysten Labs, le serveur salt fonctionne dans un environnement informatique sécurisé pour protéger la graine principale, qui est utilisée en combinaison avec le jeton Web JSON (JWT) de l'utilisateur pour dériver une valeur de sel reproductible par utilisateur et par application. La protection du master seed est cruciale pour maintenir la séparation des identités Web2 des adresses Sui.
Pour y parvenir, le serveur Salt s'exécute dans des environnements de calcul isolés et fiables comme AWS Nitro Enclaves, garantissant que la graine principale est protégée contre les menaces internes et externes.
Mysten Labs met également en avant l'utilisation d'une infrastructure de calcul fiable pour héberger le serveur Salt, avec des options telles que Azure Confidential Computing, GCP Confidential VM et AWS Nitro Enclaves, qui fournissent des environnements informatiques isolés. Dans ce cas, les Nitro Enclaves ont été choisis pour leur capacité à exécuter le serveur dans un environnement isolé avec attestation de conteneur, permettant l'accès uniquement via TCP directement via les points de terminaison du service.
La master seed, générée une seule fois, est créée dans un environnement sécurisé et isolé pour garantir son caractère aléatoire et sa sécurité. La graine est ensuite cryptée et stockée dans un magasin de secrets, accessible uniquement par l'identité de l'enclave. Ce processus garantit qu'aucun administrateur ou partie externe ne peut accéder au secret en texte clair.
Le serveur salt utilise la graine pour générer des valeurs salt pour chaque demande de transaction, préservant ainsi la confidentialité des informations d'identification Web2 de l'utilisateur.
Pour atténuer le risque de perte de graines, Mysten Labs a mis en place un plan de récupération de graines utilisant l'utilitaire Horcrux de l'Unité 410. Cette méthode consiste à diviser la graine en plusieurs fragments chiffrés, qui sont stockés de manière redondante sur divers serveurs distants.
Ces fragments peuvent être déchiffrés à l'aide d'un sous-ensemble de fragments, garantissant ainsi que la graine principale peut être récupérée en toute sécurité en cas de catastrophe.
L'architecture du serveur Salt de Mysten Labs est conçue pour trouver un équilibre entre sécurité et flexibilité opérationnelle. Bien que l'utilisation de Nitro Enclaves offre une protection robuste, elle introduit également des défis opérationnels, tels que la gestion des proxys réseau et le maintien d'un environnement contraint.
Alors que Mysten Labs continue de développer et d'étendre sa mise en œuvre de zkLogin et d'autres constructions Web3, l'architecture sera affinée pour répondre aux besoins changeants de l'écosystème.
L'objectif plus large est de garantir que les applications Web3 peuvent intégrer des mécanismes d'authentification conviviaux et sécurisés, permettant aux utilisateurs de participer facilement et en toute sécurité au Web décentralisé.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!