Transformez chaque smartphone en portefeuille matériel Bitcoin en utilisant Secure Enclaves
Cet article a été publié pour la première fois sur Medium.
Les clés ne quittent jamais les enclaves, offrant la même sécurité que les portefeuilles matériels. Cela tourne essentiellement des milliards des smartphones dans des portefeuilles matériels Bitcoin sécurisés. Les utilisateurs peuvent autoriser les transactions Bitcoin en utilisant FaceID et TouchID.
Transformez un iPhone en portefeuille matériel
Enclave sécurisée
Secure Enclave est une puce spéciale dans Android, iPhone, iPad et Mac pour sécuriser vos données biométriques comme FaceID et TouchID. La caractéristique clé de Secure Enclave est qu’une clé privée générée sur celui-ci ne peut pas laissez la puce, offrant une sécurité maximale comme dans les portefeuilles matériels tels que Ledger et Trezor.
L’enclave sécurisée La puce Apple T2 Secure Enclave dans les Mac Intel
La clé privée qu’il contient peut être utilisée pour signer des messages en toute sécurité. Les messages sont envoyés dans Secure Enclave, signés, puis la signature est renvoyée. La clé privée lors de la signature réside dans la puce et n’est pas stockée en mémoire et est donc inaccessible à partir du logiciel. L’autorisation de signer une transaction peut être accordée à l’aide d’une authentification biométrique telle que FaceID et TouchID.
Courbe elliptique secp256r1
Secure Enclave prend en charge une seule courbe elliptique, secp256r1, également connu sous le nom de prime256 et P-256. Elle est différente de la courbe elliptique secp256k1 qui est utilisé pour les chaînes de blocs populaires telles que Bitcoin et Ethereum.
Les deux courbes elliptiques sont de la forme y² = x³ + ax + b.
Dans la secp256k1 courbe, on a
un = 0
b = 7
a = FFFFFFFF 00000001 00000000 00000000 00000000 FFFFFFFF FFFFFFFF FFFFFFFC
b = 5AC635D8 AA3A93E7 B3EBBD55 769886BC 651D06B0 CC53B0F6 3BCE3C3E 27D2604B
En raison du manque de support natif de secp256r1, toutes les applications de portefeuille de crypto-monnaie utilisent aujourd’hui la signature logicielle, au lieu de la signature matérielle. La signature logicielle est sensible aux attaques par canal auxiliaire qui divulguent des informations sur la clé privée.
Implémentation de secp256r1 sur Bitcoin
en particulier la vérification de signature ECDSA, au niveau du contrat. La signature est générée par l’Enclave Sécurisée, bénéficiant d’une sécurité maximale. Notez que cela ne nécessite aucune modification avec rupture au niveau de la couche de base, même si elle utilise une courbe différente.
en passant de la courbe secp256k1 à secp256r1. Il implémente essentiellement l’algorithme de vérification ECDSA standard.
secp256r1
Sauvegarde
Pour être aussi sécurisé que possible, Secure Enclave interdit l’exportation des clés, ce qui rend impossible la sauvegarde des clés (différent des portefeuilles matériels avec des mots mnémoniques). Si un smartphone est perdu et endommagé, la clé privée et les fonds qu’elle contrôle sont perdus.
Une solution consiste à créer un portefeuille multisig 1 sur 2 (ou N). Une clé peut être générée hors ligne et stockée en toute sécurité comme dans un portefeuille froid. La deuxième clé est générée à l’intérieur de Secure Enclave. l’utilisateur peut utiliser en toute sécurité sa clé de sauvegarde hors ligne pour retirer les fonds du portefeuille.
Certains autres types de modules de sécurité matériels (HSM), auxquels appartiennent les portefeuilles matériels, comme la carte à puce, prennent également en charge les courbes elliptiques, de sorte qu’ils agissent également comme des portefeuilles Bitcoin.
Regarder : Petits paiements, gros plaisir : Micropaiements pour les jeux occasionnels
width= »562″ height= »315″ frameborder= »0″ allowfullscreen= »allowfullscreen »>