Article

Protéger ses cryptos des attaques physiques

Une configuration possible de self-custody crypto en utilisant des passphrases timelockées et moyens de récupération pour une protection accrue contre les agressions ou enlèvements.

Boucliers superposés protégeant des portefeuilles de cryptomonnaies

Les attaques physiques documentées contre les détenteurs de cryptomonnaies augmentent, la France étant particulièrement touchée. France Crypto recense une attaque physique tous les 5 jours en france.

La ‘self-custody’ de cryptomonnaies a pour conséquence l’augmentation du risque d’être ciblé. Les fuites de données, les soldes publics on-chain et les divulgations imprudentes peuvent rendre un détenteur identifiable. Si des attaquants pensent que vous pouvez déplacer les fonds immédiatement, la coercition devient plus intéressante.

Cet article décrit une configuration de sécurité possible pour des investisseurs individuels en cryptomonnaies, sans devoir s’appuyer sur une configuration multisig traditionnelle à plusieurs parties.

Attention

Ce n’est pas un modèle universel de garde ni un plan de sécurité personnelle. Si vous êtes menacé, votre sécurité compte plus que la protection des actifs. Cette configuration peut ne pas convenir à cause de la complexité qu’elle ajoute, ou devoir être adaptée à votre situation personnelle. Elle ne rend pas la coercition impossible et ne garantit pas que les attaquants croiront ou accepteront le délai. Elle réduit seulement l’intérêt d’une agression en rendant la majorité des fonds inaccessibles sans attendre.

Objectifs

  • Ajouter une couche de protection contre les aggressions physiques ou l’enlèvement.
  • Avoir des options de récupération de secours pour la majorité des fonds si vous perdez l’accès à vos clés ou si le processus d’accès principal échoue.
  • Rendre le vol de vos actifs plus difficile pour les pirates.
  • Garder la capacité de réagir relativement vite aux changements du marché, en moins d’une journée, pour une partie du portefeuille.
  • Garder la capacité d’utiliser des protocoles DeFi.
  • Noter la configuration pour référence future et succession.
  • Au final, gagner en tranquillité d’esprit.

Pour qui ?

Les investisseurs individuels qui détiennent assez de valeur pour se sentir ciblés, sans avoir accès à des solutions de niveau entreprise.

Principes généraux

L’idée principale est de différer l’accès à la majorité des fonds. Si quelqu’un vous menace, vous pouvez expliquer honnêtement que vous n’avez pas d’accès immédiat à la plupart des portefeuilles.

Attention

Cela peut réduire l’incitation de l’attaquant, mais ce n’est pas une garantie. Il peut quand même vous forcer à démarrer un déverrouillage, chercher des sauvegardes, attendre, escalader ou cibler d’autres personnes.

Le délai repose sur deux éléments : Timelocked, qui protège un fichier par une attente imposée, et les passphrases BIP-39 (« 25e mot »), qui ouvrent des portefeuilles différents à partir d’une même phrase de récupération. Pour accéder aux fonds il faut utiliser une passphrase. Pour la récupérer il faut attendre.

Cette configuration sépare les fonds en quatre endroits, pour plus de flexibilité :

  • Portefeuille signataire no-delay - sans passphrase, contient ~2 % de vos fonds pour les dépenses urgentes.
  • Portefeuille signataire low-delay - accès via passphrase accessible après 12 heures, contient ~10 % de vos fonds pour pouvoir réagir au marché.
  • Portefeuille signataire high-delay - accès via passphrase de 7 jours, contient directement ~8 % de vos fonds et contrôle le compte Safe{Wallet}.
  • Compte Safe{Wallet} high-delay-safe - un compte à contrat intelligent, contient ~80 % de vos fonds et peut être récupéré par un portefeuille de récupération séparé après un délai de récupération Safe.

Note

Ces pourcentages ne sont qu’un exemple. La séparation importante est la liquidité immédiate, la liquidité à délai court et le stockage à délai long.

Le compte Safe n’est pas un autre portefeuille dérivé de la phrase de récupération. C’est un compte à contrat intelligent dont le signataire est une adresse ETH contrôlée par le portefeuille high-delay.

Un portefeuille de récupération séparé, avec une phrase de récupération différente, est aussi nécessaire. Il ne doit pas contenir le portefeuille principal. Son rôle est de récupérer le compte Safe si le signataire principal est perdu ou définitivement inaccessible.

Note

Le mécanisme de délai protège les passphrases, pas la phrase de récupération de base elle-même. La phrase de récupération doit quand même être stockée en sécurité. Si quelqu’un obtient à la fois la phrase de récupération et une passphrase en clair, il peut dépenser depuis ce portefeuille.

Le délai est imposé en timelockant des passphrases difficiles à mémoriser comme sx#TFd3MHCfdtpb4, pour chaque portefeuille différé. Ainsi, pour accéder au portefeuille 12 heures par exemple, vous devrez :

  • récupérer le fichier timelocké depuis l’une de vos sauvegardes (plus de détails plus bas)
  • démarrer le processus de déverrouillage avec l’application Timelocked, idéalement sur un ordinateur sans accès internet
  • attendre ~12 heures
  • écrire la passphrase en clair sur une feuille de papier et fermer Timelocked
  • déverrouiller l’accès avec votre portefeuille matériel en utilisant l’option de passphrase « temporaire »
  • signer des transactions
  • débrancher le portefeuille matériel, la même passphrase exacte devra être saisie à nouveau la prochaine fois
  • détruire la feuille de papier, afin de devoir relancer la phase d’attente la prochaine fois

Pourquoi pas de multisig ?

Le multisig est un modèle de garde solide et largement utilisé. Il peut être un meilleur choix si vous pouvez gérer de manière fiable plusieurs appareils, lieux ou signataires.

Cet article se concentre sur un compromis différent : accès différé depuis une phrase de récupération principale, plus récupération Safe pour le plus gros portefeuille. Cela évite de dépendre d’autres personnes pour l’accès courant et peut réduire ce que les autres savent de vos avoirs ou transactions.

Si vous avez déjà une configuration multisig bien testée, cet article ne dit pas que vous devriez la remplacer.

Pourquoi pas un “duress” PIN ?

Certains portefeuilles matériels permettent de configurer un PIN secondaire qui sert de leurre, car il ouvre l’accès à des adresses contenant peu de fonds.

Dans ce cas, vous devrez mentir de façon convaincante sous stress, ou au mieux omettre des informations. Vous devrez supprimer régulièrement les traces de vos comptes principaux sur votre ordinateur, par exemple dans des applications comme Ledger Live. Les attaquants peuvent aussi être bien préparés et connaître cette possibilité, voire connaître le montant de cryptomonnaies que vous détenez à cause de fuites de données.

Pourquoi 12 heures et 7 jours ?

Vous pouvez adapter ces délais pour favoriser plus de sécurité perçue ou plus de confort.

Les délais Timelocked sont des estimations, pas des garanties universelles en temps réel. Le temps de déverrouillage dépend du profil matériel choisi lors du verrouillage du fichier, de l’appareil réellement utilisé pour le déverrouiller et des améliorations futures du matériel. Un fichier 12h créé pour un profil matériel peut se déverrouiller plus vite ou plus lentement sur une autre machine.

Notez le délai choisi, le profil matériel, la version de Timelocked et l’appareil de test dans vos notes. Avant de vous appuyer sur cette configuration, testez le déverrouillage sur un matériel similaire à celui que vous pensez utiliser en urgence.

Pour le délai long, vous pouvez vous mettre à la place d’un ravisseur qui n’a peut-être pas anticipé la logistique nécessaire pour attendre X jours. Peut-être que 2 ou 3 jours restent gérables en termes de risque. Mais attendre 15 jours peut sembler clairement impossible de son point de vue. Plus l’attente est longue, plus le risque que les forces de l’ordre les trouve augmente.

De façon similaire, le délai court peut être choisi pour dissuader uniquement les intrusions de domicile, non les enlèvements de proches.

À propos de Safe{Wallet}

Safe{Wallet} est une solution de compte basé sur des “smart contracts” dans l’écosystème Ethereum. Il peut être contrôlé par un ou plusieurs portefeuilles signataires et configuré avec des règles de récupération.

Dans cette configuration, Safe{Wallet} est utilisé afin qu’un portefeuille de récupération séparé puisse récupérer le contrôle du compte Safe après un délai. Cela aide si le signataire principal est perdu, endommagé, définitivement inaccessible ou si les passphrases deviennent irrécupérables après l’échec de toutes les sauvegardes et du mécanisme intégré de récupération de corruption des fichiers Timelocked.

Note

Un portefeuille Safe ne peut contenir que des actifs de l’écosystème Ethereum. Il ne fonctionne pas avec le Bitcoin natif. Cependant, le BTC peut être converti en WBTC si vous acceptez les risques de pont, de garde et de contrat intelligent. Sinon, le portefeuille high-delay de base peut servir à stocker du BTC natif.

Prérequis

  • Un hardware wallet (Ledger, Trezor, etc.).
  • L’application Timelocked.
  • Un wallet de récupération séparé avec sa propre phrase de récupération. Il peut être stocké sur un autre hardware wallet que vous possédez, être confié à une personne de confiance ou vous pouvez simplement garder la phrase de récupération dans un endroit sûr.
  • Accepter de ne pas pouvoir réagir aussi vite aux mouvements du marché, ce qui peut d’ailleurs être une « fonctionnalité » plutôt qu’un « problème » selon votre profil.
  • Pour les sauvegardes, vous pouvez choisir entre : clé USB, imprimante, service de sauvegarde sécurisé, gestionnaire de mots de passe, lieu de stockage sûr (coffre, salle forte, etc.), éventuellement sacs ou scellés inviolables.

Mise en place

1. Choisissez et notez le tableau des wallets

Chaque passphrase différente ouvre un nouvel ensemble complet d’adresses possibles. Un compte Safe est différent : c’est un compte à contrat intelligent contrôlé par un ou plusieurs portefeuilles signataires et des règles de récupération.

Dans vos notes, écrivez la liste des wallets et comptes que vous prévoyez de configurer. Elle servira de guide de configuration et de référence future.

NomTypePart %Chemin d’accèsOption de récupération
no-delaywallet2phrase de récupération de base seule-
low-delaywallet10phrase de récupération de base + passphrase 12 h-
high-delaywallet8phrase de récupération de base + passphrase 7 j-
high-delay-safecompte Safe80signataire high-delay-eth après déverrouillage 7 jprocessus de récupération Safe{Wallet} 30 jours

Note

Vous pouvez aussi configurer une adresse Safe{Wallet} pour le portefeuille 12 h. Cela peut ajouter une charge cognitive supplémentaire avec une adresse de plus à gérer, mais permettra aussi la récupération de ce portefeuille.

2. Créer les wallets

Les trois wallets, hors compte Safe, partageront la même phrase de récupération et le même PIN de portefeuille matériel. La saisie de la passphrase permet de passer d’un portefeuille à l’autre.

Note

Les passphrases ne doivent pas être stockées ni attachées à un PIN de portefeuille matériel, mais définies comme « temporaires ».

  • Utilisez votre hardware wallet pour générer une nouvelle phrase de récupération et le portefeuille associé. Ce sera le portefeuille no-delay.
  • Notez et stockez en sécurité la phrase de récupération avec les méthodes recommandées de votre choix.
  • Générez et notez sur une feuille de papier deux mots de passe difficiles à mémoriser, par exemple sx#TFd3MHCfdtpb4, à utiliser comme passphrases. Vous pouvez utiliser le générateur d’un gestionnaire de mots de passe sur un ordinateur hors ligne pour une tranquillité d’esprit maximale.

3. Testez et notez les adresses publiques des comptes

Avant d’envoyer des fonds, générez une adresse BTC / ETH pour chaque portefeuille avec la passphrase notée. Pour chaque wallet différé, saisissez temporairement sa passphrase correspondante et vérifiez les adresses dérivées. Pour faciliter la gestion, nommez-les dans l’interface de votre hardware wallet. Notez chaque adresse, par exemple :

  • no-delay-btc: bc1q5gkdub...
  • no-delay-eth: 0xE53AF124...
  • low-delay-btc: bc1qs94jfi...
  • low-delay-eth: 0x3AB63EE9...
  • high-delay-btc: bc1q46heop...
  • high-delay-eth: 0x734A3FF1...

Réessayez ensuite chaque passphrase et vérifiez que vous retrouvez les mêmes adresses que celles notées.

4. Timelockez les passphrases

Ouvrez l’application Timelocked et choisissez « lock message ». Saisissez la passphrase low-delay, choisissez un délai 12h et un profil matériel haut de gamme pour créer low-delay-passphrase.timelock, ou un autre nom de fichier de votre choix. Faites la même chose pour high-delay-passphrase.timelock. Vérifiez trois fois que vous avez saisi les bons caractères.

Vous pouvez directement « verify » chaque fichier timelocké avec l’application Timelocked.

Pour une tranquillité d’esprit maximale, il est fortement recommandé de tester le déverrouillage de chaque fichier avant d’aller plus loin, idéalement sur un matériel similaire à celui que vous pensez utiliser plus tard. Une fois déverrouillé, vérifiez à nouveau que la passphrase déverrouillée correspond à celle notée sur papier.

5. Configurez Safe{Wallet}

Maintenant que les adresses et passphrases sont validées, créez un compte Safe{Wallet} 1:1 avec high-delay-eth comme seul signataire.

Activez ensuite la récupération Safe :

  • utilisez le portefeuille de récupération séparé comme récupérateur ;
  • choisissez la fenêtre de revue de récupération, par exemple 90 jours ;
  • notez le réseau, l’adresse Safe, l’adresse du récupérateur, la fenêtre de revue, le réglage d’expiration et les détails du module de récupération dans vos notes.

Attention

Avant de déplacer des fonds importants, testez la configuration Safe avec un petit montant. Vous devez comprendre comment initier, annuler et exécuter une récupération. Vous devez aussi vérifier que les actifs et réseaux que vous prévoyez d’utiliser sont pris en charge par Safe.

6. Sauvegardez les passphrases timelockées

Voici des options de sauvegarde suggérées. Vous pouvez bien sûr en choisir plusieurs :

Les fichiers .timelock sont sensibles. Toute personne qui en obtient un peut démarrer immédiatement le processus de déverrouillage. Si elle obtient aussi votre phrase de récupération, hardware wallet ou chemin de récupération, le délai d’attente peut être la seule protection restante.

Ne stockez pas les fichiers de passphrase timelockés au même endroit que la phrase de récupération de base ou la phrase de récupération de secours. Traitez-les comme des secrets séparés. Une sauvegarde pratique pour vous peut aussi être pratique pour un attaquant.

  • fichier .zip protégé par mot de passe sur votre ordinateur ;
  • stockage dans le coffre chiffré de votre gestionnaire de mots de passe ;
  • service cloud sécurisé tiers ;
  • stockage sur une clé USB SLC longue durée, avec éventuellement des rappels pour brancher régulièrement la clé USB afin d’éviter la corruption et la remplacer tous les 3 à 5 ans ;
  • impression hexadécimale sur une feuille de papier sans acide pour le stockage long terme. Utilisez l’OCR pour reconstruire le fichier .timelocked si nécessaire.

7. Migration des fonds

Vous pouvez maintenant répartir vos fonds dans chaque portefeuille. Vous pouvez utiliser n’importe quel portefeuille pour signer des transactions DeFi. Retirer des fonds d’une plateforme DeFi exigera alors de déverrouiller d’abord la passphrase associée, ce qui imposera un délai d’attente.

8. Nettoyage

Une fois que vous êtes confiant dans la récupérabilité des passphrases, détruisez la feuille de papier sur laquelle elles étaient notées. Désormais, le seul moyen d’accéder aux fonds est d’attendre soit le déverrouillage des passphrases, soit la récupération.

9. Notes et rappels

Vous pouvez garder des notes de votre configuration pour référence future, et créer des rappels réguliers, par exemple avec des alertes calendrier, pour penser à relire ces notes.

Ces notes pourraient aussi servir de guide dans votre planification successorale. Plus de détails dans un futur article.

Historique des changements

Comme cette configuration est complexe, cet article pourra être mis à jour plus tard. Les changements seront listés ici.