Comment Braavos révolutionne la signature cryptographique sur Starknet

Initialement publié en anglais par StarkWare le 6 Janvier, 2023

Fini les clés complexes, place à Face ID. Une étude de cas sur l'abstraction de compte

Au moment où les gens pourront utiliser des méthodes familières comme la reconnaissance faciale (Face ID) pour signer des transactions crypto, nous assisterons à un essor de la garde autonome. Tout le monde sait que gérer son propre portefeuille est l'idéal original en crypto, mais cela peut être intimidant et pousse les gens à préférer les plateformes d’exchange centralisées.

Ceci est une étude de cas sur la façon dont une fonctionnalité de Starknet appelée Abstraction de Compte est utilisée par Braavos pour obtenir une manière beaucoup plus intuitive d'utiliser votre portefeuille.

Introduction à l'Abstraction de Compte

Après le scandale de FTX, la question est plus pertinente que jamais. Pourquoi les gens choisissent-ils encore de confier leurs crypto à des institutions centralisées plutôt que de les garder eux-mêmes ? La réponse : pour la plupart des gens, la garde autonome est compliquée. Les phrases de récupération sont le mécanisme de récupération "meilleur-pire", décourageant de nombreuses personnes (même parmi les plus endurcis).

La réponse à ce défi : l'Abstraction de Compte. L'Abstraction de Compte permet aux portefeuilles de répondre (et de dépasser) les attentes en matière d'expérience utilisateur (UX) des utilisateurs Web2 avec des fonctionnalités telles que la signature d'une transaction avec la reconnaissance faciale ou l'utilisation de l'authentification à deux facteurs. Elle facilite également la segmentation des comptes et les limites de dépense ; et permet éventuellement une récupération de compte simple et l'élimination complète de la phrase de récupération. C'est une révolution pour l'UI et l'UX.

Starknet

Starknet, le principal Validity Rollup, présente plusieurs caractéristiques clés qui en font la solution la plus prometteuse pour mettre à l'échelle Ethereum. Basé sur les preuves STARKs, offrant des frais de gaz réduits sans compromettre la sécurité d'Ethereum. Le bilan des preuves STARKs alimentant StarkEx comprend 800 milliards de dollars de volume d'échanges cumulés, 300 millions de transactions et 90 millions NFT.

Les capacités des preuves STARK à fournir des frais réduits, associées à la puissance de l'Abstraction de Compte, ont permis à Braavos de développer les fonctionnalités innovantes de portefeuille que nous visons.

Contexte

La plupart des principales blockchains, dont Bitcoin et Ethereum, utilisent les schémas de signature cryptographique de courbe elliptique secp256k1 (voir ici pour une liste complète). Cette implémentation de courbe elliptique est considérée comme robuste, de nombreuses blockchains l'utilisent et elle a fait ses preuves. Mais elle n'est pas compatible avec le schéma de signature cryptographique disponible dans les modules de sécurité matérielle (HSM) des appareils mobiles, tels que les iPhones et les téléphones Android (Pixel et autres).

Ces appareils utilisent une autre courbe - secp256r1 (également appelée NIST-P256). Cela signifie que les utilisateurs de ces blockchains ne peuvent pas profiter des puces de sécurité de leurs appareils et doivent recourir aux portefeuilles matériels s'ils veulent obtenir un haut niveau de sécurité. Cela limite considérablement toute innovation en matière d'expérience utilisateur sur la manière dont les utilisateurs peuvent se connecter à un portefeuille et approuver les transactions (d'où l'omniprésence des phrases de récupération).

Starknet ne prend pas en charge secp256r1, et a sa propre courbe propriétaire qui est adaptée aux STARKs. Mais contrairement à d'autres blockchains, Starknet dispose nativement de l’abstraction de compte sur sa plateforme, ouvrant un nouveau monde d'opportunités en termes d’UX pour les applications de portefeuille. Braavos a exploité ce potentiel pour introduire le Signataire Matériel (Hardware Signer).

Le Signataire Matériel

Le Signataire Matériel se compose de deux parties principales :

  • Le sous-système sécurisé dans le dispositif mobile des utilisateurs

  • Le contrat intelligent de compte capable d'exécuter une logique arbitraire (également appelée Abstraction de Compte)

Sous-système sécurisé

Le signataire matériel utilise le sous-système sécurisé intégré à l’appareil de l’utilisateur, nommé Secure Enclave de l’iPhone ou Titan HSM du téléphone Android pour protéger le compte.

La puce Secure Enclave / Titan sont un sous-système dédié et isolé, totalement séparé du processeur d'application, pouvant générer des clés privées et signer des messages. Elle génère les clés en utilisant un Générateur de Nombres Aléatoires Véritables (TRNG) interne et signe les messages sur la courbe elliptique NIST-P256 (secp256r1) via son Accélérateur de Clé Publique (PKA) interne. Les clés privées ne quittent jamais le système sécurisé et sont inconnues/inaccessibles pour quiconque, même pas pour l'utilisateur ni pour l'application elle-même.

Cela signifie que même si le noyau du processeur d'application de l'appareil est compromis, les clés de l'utilisateur restent en sécurité !

Plongée plus profonde dans la Secure Enclave

Pendant le processus de fabrication de la puce, un Identifiant Unique (UID) est généré par le TRNG et est stocké dans le PKA. Il ne peut pas être lu et ne quitte jamais le PKA, il est donc même inconnu pour le processeur de la Secure Enclave et pour le Système d'Exploitation du Processeur de la Secure Enclave (SepOS).

Cet UID est un nombre aléatoire unique pour chaque appareil et est utilisé pour chiffrer toutes les autres clés qui seront générées à l'avenir sur cet appareil. La manière dont cela fonctionne est la suivante : l'application demandera au SepOS de générer une nouvelle paire de clés, le SepOS instruira le TRNG de la Secure Enclave pour générer une clé et la chiffrer (en utilisant l'UID). L'application peut ensuite demander au SepOS de déchiffrer la clé et de signer un message à l'aide de la clé générée. Pendant tout ce processus, la clé générée ne quitte pas l'enclave et reste inconnue de tous.

(Pour plus d'informations sur la Secure Enclave, veuillez voir ici).

La manière dont la Secure Enclave est construite et fonctionne, ainsi que le fait qu'elle soit la cible d'attaques de puissantes sociétés et gouvernements du monde entier, explique pourquoi sa sécurité dépasse celle des portefeuilles matériels standard.

Abstraction de Compte

La puissance de Braavos en tant que portefeuille basé sur des contrats intelligents sur Starknet réside dans le fait qu'il est composé de deux piliers :

  • Le côté client (par exemple, l'application) permettant à l'utilisateur de passer en revue/signer des transactions et de les envoyer à la chaîne.

  • Le côté on-chain disposant d'un contrat intelligent de compte pouvant exécuter une logique arbitraire ; et en particulier dans notre cas, exécuter une logique arbitraire de vérification d’une signature.

L'application signe la transaction en utilisant le module de sécurité de l'appareil mobile, puis l'envoie au contrat de compte on-chain qui peut la vérifier.

Comme mentionné ci-dessus, le module de sécurité sur les iPhones et les téléphones Android utilise une cryptographie appelée NIST-P256 (secp256r1), qui n'est pas compatible avec un quelconque schéma cryptographique majeur de blockchain, y compris Starknet. C'est pourquoi avoir un contrat de compte intelligent on-chain par lequel passent toutes les transactions et qui peut exécuter une logique arbitraire est crucial pour utiliser ces HSM sur les iPhones et les téléphones Android.

Biométrie

Comment l'utilisateur approuve-t-il une transaction via le portefeuille Braavos ? Une application malveillante peut-elle simplement signer automatiquement une transaction sans le consentement de l'utilisateur ?

Non !!

La chose intéressante dans le module de sécurité intégré aux appareils mobiles, comme la Secure Enclave, est qu'il prend en charge intrinsèquement l'authentification biométrique de l'identité de l'utilisateur. Cela signifie que même l'approbation réelle pour signer une transaction est effectuée directement via la Secure Enclave. L'approbation ne passe pas par l'application, et l'utilisateur devra approuver la transaction avec son empreinte digitale ou son identification faciale.

Récupération

Si personne ne connaît la clé privée, que se passe-t-il si l'appareil est perdu ou devient inutilisable ? Comment l'utilisateur peut-il reprendre le contrôle du compte ?

Dans Braavos, un compte aura en réalité 2 clés publiques : la clé Hardware Signer, qui sera utilisée pour signer toutes les transactions, et la clé dérivée de la phrase de récupération qui ne peut signer qu'une transaction, une "Demande de suppression du Hardware Signer". Cette demande ne sera pas exécutée immédiatement, mais elle aura un délai de 4 jours (configurable) pour permettre à l'utilisateur d'utiliser le Hardware Signer pour annuler une telle demande. Cela signifie que si l'appareil est volé, perdu ou inutilisable, les utilisateurs pourront toujours récupérer leur compte dans les 4 jours. Cependant, si leur Phrase de Récupération est volée et qu'un attaquant émet une demande de suppression du Hardware Signer, l'utilisateur recevra automatiquement (et à plusieurs reprises) une notification sur son appareil mobile et pourra annuler la demande et conserver tous les actifs en sécurité.

Résumé

La fonctionnalité Hardware Signer offre à la fois un niveau de sécurité de pointe pour les utilisateurs de crypto, et l'expérience à laquelle les utilisateurs sont habitués avec le web2. En ce sens, signer une transaction est aussi fluide et sans souci que de payer avec Apple/Google Pay.

Ceci n'est qu'un exemple, bien que marquant, du pouvoir de Starknet, du portefeuille basé sur des contrats intelligents (alias Account Abstraction) et du nouvel espace de conception qu'il permet.

Nous prévoyons le développement de capacités de plus en plus naissant conduisant l'industrie de la crypto vers un avenir meilleur et plus inclusif, offrant aux nouveaux et aux anciens utilisateurs une sécurité inégalée couplée à une expérience utilisateur inégalée.

Subscribe to Starknet France
Receive the latest updates directly to your inbox.
Mint this entry as an NFT to add it to your collection.
Verification
This entry has been permanently stored onchain and signed by its creator.