
One Card, Seven Jobs: JavaCard Applets with ShieldSigner (SeedSigner Fork)
Audio Summary
AI Summary
Au cours des dernières années, j'ai beaucoup travaillé sur une version modifiée de Seed Signer, connue sous le nom de Shield Signer. Cette version tire parti de composants open source disponibles sur le marché, comme ceux utilisés pour Seed Signer, et les combine avec des cartes à puce commerciales, similaires à celles des passeports ou cartes de crédit. Cela permet d'ajouter une sécurité matérielle significative à une installation DIY. Une question fréquente est de savoir à quoi servent les différentes applets incluses avec Shield Signer. Dans cette vidéo, je vais montrer comment installer ces applets sur un appareil Shield Signer et expliquer leur utilité, à la fois avec Shield Signer et avec les applications natives.
Nous commencerons avec un appareil Shield Signer, un Luxfox Pico 1, qui intègre un lecteur de carte et est une variante micro SD. Il exécute également un démarrage sécurisé, vérifiant la signature de la carte micro SD. J'ai aussi une carte Java J3H145 vierge, identique à celles que je vends ou que l'on trouve chez des fournisseurs spécialisés. D'autres cartes Java, comme les J3R 180 de SATA chip, sont compatibles avec la plupart des applets, à l'exception de Spectre DIY. Il est important d'acheter des cartes Java auprès de vendeurs établis, car l'achat sur AliExpress ou Amazon peut être risqué.
Une fois l'appareil démarré et la carte insérée, nous allons dans le menu "outils" puis "outils de carte à puce" pour installer les applets. La première applet que je vais montrer est Vivo key OTP, utile pour un grand nombre de personnes. Après l'installation, si j'ouvre l'authentificateur Yubico et tape la carte, il n'y a rien. En ajoutant un compte et en scannant un QR code, les détails apparaissent sur l'écran. C'est le même processus que pour ajouter une deuxième authentification YubiKey à un e-mail. Je sauvegarde, puis je tape la carte. Le numéro TOTP sur mon téléphone correspond à celui de l'écran de l'ordinateur. L'applet Apex TOTP permet de transformer une carte en une sorte de YubiKey, offrant une authentification à deux facteurs matérielle pour sécuriser les e-mails et les médias sociaux.
La prochaine applet, et la plus courante, est Seed Keeper. Elle permet d'utiliser une carte Java sécurisée comme un espace protégé par code PIN pour stocker des graines, des descripteurs de portefeuille, des mots de passe, etc. En revenant à l'appareil et en sélectionnant "installer applet", nous choisissons l'application Seed Keeper. Il existe deux options pour l'application Seed Keeper : une avec "NFC" dans son nom et une sans. Je vais installer celle avec NFC. Avec l'application Seed Keeper, nous pouvons choisir la quantité de stockage sur la carte. Je la laisserai à 8 kilo-octets par défaut. L'installation est terminée. Il est important de noter que ces cartes Java peuvent contenir plusieurs applets simultanément. J'ai toujours l'applet TOTP et maintenant Seed Keeper + NFC. Cela signifie que si je retire la carte et la tape sur mon téléphone, l'application Seed Keeper devrait s'ouvrir automatiquement grâce à l'enregistrement NFC. Sans l'enregistrement NFC, taper la carte sur le téléphone ne ferait rien, mais l'applet fonctionnerait toujours une fois dans l'application Seed Keeper. Nous pouvons l'utiliser comme un gestionnaire de mots de passe sécurisé ou pour stocker des mnémoniques. Je peux sauvegarder une graine dans Seed Keeper avec un code PIN. Cela permet d'utiliser ces cartes comme un moyen sécurisé de stocker des sauvegardes de mnémoniques, de descripteurs ou même de mots de passe généraux, tout en offrant un mécanisme de récupération si l'appareil Shield Signer n'est pas accessible. Cependant, si vous stockez des mnémoniques réels sur vos cartes Seed Keeper, il n'est pas recommandé de les charger dans l'application Seed Keeper sur votre téléphone, sauf en cas de récupération urgente.
Les deux prochaines applets sont différentes car une fois qu'une graine est chargée, toutes les signatures de transactions se font sur la carte Java elle-même. Nous allons installer l'applet Satochip. J'initialise la carte avec une graine et un code PIN. Une fois les clés privées importées, nous pouvons signer des transactions avec cette carte seule. Cela signifie que nous pouvons insérer la carte dans notre appareil Shield Signer et signer sans que les clés privées ne quittent la carte, ou utiliser la carte avec des logiciels comme Sparrow, en comprenant que nous l'utilisons comme un signataire aveugle.
L'applet suivante, très similaire, est la carte Status Key. J'ai déjà fait une vidéo sur le boîtier Keycard, un portefeuille matériel qui doit être utilisé avec une carte Java. Les cartes de détail sont livrées avec certaines, mais on peut les utiliser avec ces cartes DIY. Si j'insère une carte Java vierge, elle dira "pas une Keycard". Mais si j'installe l'applet Keycard, il faut d'abord désinstaller une applet existante pour libérer de l'espace. Une fois installée, l'applet Keycard permet de configurer une carte Java comme un équivalent autonome de l'applet Satochip. La différence clé est qu'elle possède un code PIN de détresse. L'applet Keycard peut également être utilisée de manière transparente avec un boîtier Keycard. Cependant, il est important de noter qu'il n'est pas possible de récupérer les mots de passe ou la phrase secrète de la carte Java. Il s'agit uniquement d'une graine, pas d'un remplacement de votre sauvegarde de graine.
La prochaine applet est Spectre DIY, qui permet de configurer une carte Java pour l'utiliser avec le portefeuille matériel Spectre DIY. Je dois libérer de l'espace en désinstallant l'applet Satochip. L'applet Spectre DIY permet de stocker un seul mnémonique sur la carte, comme avec Seed Keeper, mais elle ne peut stocker que la graine, pas la graine plus la phrase secrète, et une seule graine. C'est une applet plus simple que Seed Keeper. Je peux choisir Spectre DIY, définir un code PIN, et la graine est sauvegardée sur la carte Java Spectre. Je peux ensuite brancher la carte à l'appareil Spectre DIY, me connecter avec le code PIN, et charger