Proton Wallet est un portefeuille d’actifs numériques qui prend actuellement en charge l’auto-gardiennage de Bitcoin sur la chaîne. Dans cet article, nous passons en revue les principales fonctionnalités et l’architecture de sécurité qui font de Proton Wallet un portefeuille privé et sécurisé aussi facile à utiliser qu’un e-mail.
Construire un portefeuille Bitcoin sécurisé
Cette section examine deux décisions majeures de conception qui donnent à Proton Wallet une base robuste et sécurisée.
Gardienné vs auto-gardienné
Il existe de multiples solutions pour détenir des bitcoins, qui offrent chacune des degrés différents de libertés, allant de la dépendance envers un tiers jusqu’à la souveraineté individuelle. Par exemple, si vous avez des bitcoins dans un fonds négocié en bourse (FNB) ou en bourse, vous confiez vos bitcoins à certaines entreprises. Ces solutions centralisées représentent un risque de perte pour vos bitcoins, que ce soit à cause d’une attaque informatique (Mt. Gox) ou d’une mauvaise gestion (FTX), ou tout simplement de blocage en raison de pressions légales et réglementaires. Ces solutions de garde ne sont généralement pas conçues pour traiter des transactions en Bitcoin et sont légalement tenues de surveiller vos activités financières.
Les portefeuilles en auto-gestion, en revanche, offrent davantage de souveraineté personnelle. En effet, vous êtes le seul à avoir accès à votre Bitcoin. Vous avez un contrôle total sur vos bitcoins et n’avez pas besoin de faire confiance à un tiers. Grâce à ces portefeuilles, vous pouvez stocker et utiliser vos bitcoins de la manière prévue : sans centralisation ni censure. Ainsi, toutes les transactions sont enregistrées de manière permanente sur la blockchain Bitcoin et les bitcoins sont directement transférés de l’expéditeur au destinataire, sans intervention d’un quelconque intermédiaire.
Nous avons conçu Proton Wallet comme étant la solution la plus souveraine et la plus limitée en termes de confiance. Il utilise le chiffrement de bout en bout(new window) sur les clés qui contrôlent votre Bitcoin et les métadonnées de votre portefeuille avant qu’elles ne soient stockées. Cela signifie que même Proton ne peut pas confisquer vos bitcoins ni suivre vos activités financières.
Stockage local vs serveur
De nombreux portefeuilles en autogestion stockent les données uniquement localement sur un ordinateur ou un téléphone. Si vous perdez cet appareil, toutes les données non stockées sur la blockchain, comme les notes, sont perdues pour toujours. Nous voulions rendre l’expérience du portefeuille plus fiable et disponible sur plusieurs appareils, comme ce que vous attendez d’autres applications importantes.
Nous y parvenons en utilisant les serveurs de Proton pour stocker les données chiffrées et les servir à vos applications clientes après une connexion réussie. Proton Wallet partage le même processus de connexion que le reste de l’écosystème Proton. Votre mot de passe ne quitte jamais les applications clientes et n’est pas stocké sur les serveurs de Proton car nous utilisons une version renforcée du protocole Secure Remote Password (SRP) pour les connexions.
En savoir plus sur la façon dont Proton utilise SRP(new window)
Votre mot de passe est également utilisé pour chiffrer et déchiffrer votre clé utilisateur Proton sur le client, et la clé utilisateur chiffrée est stockée sur les serveurs de Proton. Cela signifie que votre clé utilisateur ne peut être déchiffrée sur le client qu’avec le mot de passe correct. La clé utilisateur est ensuite utilisée pour chiffrer et déchiffrer les clés spécifiques au produit, comme celles pour les e-mails et les portefeuilles. Proton Wallet offre plusieurs moyens d’accès, avec des applications mobiles et web open source.
Données Proton Wallet
Dans cette section, nous examinons les données importantes associées aux portefeuilles. Nous utilisons le chiffrement de bout en bout autant que possible pour chiffrer les données sensibles sur les applications clientes avant de les stocker sur les serveurs de Proton. Cela vous permet de bénéficier de nos services en ligne sans renoncer à votre vie privée.
Un utilisateur de Proton Wallet peut avoir plusieurs portefeuilles, et Proton Wallet générera une clé de portefeuille côté client pour chacun d’eux. Cette clé de portefeuille est ensuite utilisée pour chiffrer et déchiffrer toute donnée sensible devant être stockée sur les serveurs de Proton avec un chiffrement de bout en bout. Le serveur n’a jamais accès aux clés de portefeuille car elles sont chiffrées sur le client avec la clé utilisateur.
Les données du portefeuille incluent :
- Noms des portefeuilles et des comptes — Les noms que vous donnez à chaque portefeuille et à chaque compte Bitcoin à l’intérieur du portefeuille sont chiffrés puis stockés. Les comptes Bitcoin génèrent de manière déterministe des adresses Bitcoin, qui peuvent ensuite recevoir des BTC.
- Phrase secrète de la graine du portefeuille — Ces 12 mots ou plus (ainsi que la phrase secrète optionnelle du portefeuille) sont en fait la clé maîtresse de chaque portefeuille. Ils sont utilisés pour générer de manière déterministe les clés privées et publiques qui contrôlent les comptes Bitcoin d’un portefeuille. Les utilisateurs sont fortement encouragés à les écrire et à les stocker en toute sécurité au cas où ils perdraient accès à Proton. Cette phrase mnémonique de graine est compatible avec BIP39, elle peut donc être importée sur d’autres services de portefeuille.
La phrase de graine du portefeuille est chiffrée sur le client, puis stockée.- La phrase secrète en option n’est jamais stockée et les utilisateurs doivent la saisir à chaque fois pour déverrouiller leur portefeuille.
- Adresses Bitcoin
- Les adresses Bitcoin sont dérivées de manière déterministe de la clé publique du compte Bitcoin du portefeuille. Nous ne stockons pas les adresses de changement de Bitcoin ni les adresses de réception générées manuellement.
- Pour tout compte de portefeuille avec Bitcoin par Email activé, le client génère automatiquement un pool d’adresses Bitcoin, les signe avec la clé privée PGP de l’e-mail et stocke le pool d’adresses et de signatures sur les serveurs de Proton. Les serveurs de Proton peuvent ensuite donner à chaque expéditeur une adresse Bitcoin unique. Une fois qu’une adresse Bitcoin du pool a été utilisée, nous la supprimons de nos serveurs pour mieux protéger votre vie privée.
- Soldes du portefeuille et des comptes — Ceux-ci sont calculés côté client en dérivant les adresses Bitcoin de chaque compte de portefeuille et en demandant aux nœuds complets de Proton l’historique des transactions. Bien que les serveurs de Proton puissent voir quelles adresses sont interrogées, nous ne stockons pas ces adresses interrogées ni aucun solde sur les serveurs de Proton.
- Métadonnées des transactions — Proton Wallet ne stocke pas les montants et les sorties de transaction non dépensées (UTXO) sur les serveurs de Proton pour les transactions de réception ou d’envoi. Pour les transactions d’envoi, les serveurs de Proton doivent temporairement disposer des données de transaction pour les diffuser sur le réseau Bitcoin, mais à aucun moment Proton n’a le contrôle de votre Bitcoin. Les identifiants de transaction, les identifiants de taux de change, le nom facultatif de l’expéditeur et les notes facultatives pour soi-même sont tous chiffrés, puis stockés.
- Les transactions Proton Wallet utilisant Bitcoin par Email comprennent également un e-mail de l’expéditeur, un e-mail du destinataire et un message facultatif. Tout cela est chiffré, puis stocké. Lors de l’envoi de Bitcoin par Email, les serveurs de Proton connaissent les emails de l’expéditeur et du destinataire, mais ne les stockent pas.
Bitcoin par Email, contrairement à tout autre portefeuille
Dans cette section, nous examinons les principaux défis de transacting de manière sécurisée et privée avec Bitcoin en chaîne et comment Proton Wallet le rend facile avec notre fonctionnalité Bitcoin par Email.
Traditionnellement, pour recevoir du Bitcoin de manière auto-déposée sur la blockchain, il faut générer une adresse Bitcoin avec son portefeuille et la partager avec l’expéditeur via un canal sécurisé. Ceci est sujet à erreur et ajoute beaucoup de friction pour l’expéditeur et le destinataire. Pour une meilleure confidentialité, le destinataire doit également générer une nouvelle adresse pour chaque transaction, car les adresses peuvent être consultées et tracées sur la blockchain.
Pour minimiser les frictions, les personnes acceptant des paiements ou des dons en Bitcoin peuvent simplement générer une adresse et dire à tout le monde d’y envoyer du BTC. Cependant, ce n’est pas idéal pour la confidentialité car n’importe qui peut voir combien de BTC ont été reçus à cette adresse, d’où ils viennent et où ils ont été envoyés par la suite.
Combiner l’email chiffré avec Bitcoin
La fonctionnalité unique intégrée à Proton Wallet consiste à envoyer du Bitcoin à une adresse e-mail de manière privée et avec peu de friction, sans réutiliser les adresses Bitcoin. Nous pouvons le faire en tirant parti du système de messagerie chiffrée Proton Mail qui dessert plus de 100 millions de comptes depuis 2014.
Bitcoin par e-mail fonctionne ainsi :
- Bob s’inscrit à Proton Wallet avec son adresse e-mail existante, bob@gmail.com. Après avoir vérifié qu’il possède bob@gmail.com, l’application Proton Wallet de Bob génère une clé PGP pour son e-mail.
- Notez que Bob peut également s’inscrire avec une adresse e-mail Proton Mail, telle que bob@proton.me, ce qui serait encore plus privé et sécurisé. Si Bob a déjà un compte Proton Mail, il peut l’utiliser avec Proton Wallet.
- L’application Proton Wallet de Bob générera automatiquement un pool d’adresses Bitcoin à partir de son compte de portefeuille principal, les signera avec la clé privée PGP liée à bob@gmail.com, et stockera les adresses BTC et les signatures sur les serveurs de Proton.
- L’adresse e-mail d’Alice est alice@proton.me, et elle souhaite envoyer du BTC à bob@gmail.com. Son application Proton Wallet demande aux serveurs de Proton de lui fournir une des adresses BTC inutilisées du pool de Bob avec la signature.
- L’application d’Alice utilise la clé publique PGP de bob@gmail.com pour vérifier que la signature est correcte et qu’elle appartient bien à Bob.
- Alice doit faire confiance à Proton pour lui fournir la clé publique correcte de Bob, mais cette confiance peut être minimisée à l’avenir avec des fonctionnalités de sécurité telles que Trusted Key et Key Transparency, qui sont discutées ci-dessous dans le modèle de menace.
- Alice envoie ensuite du BTC à l’adresse BTC de Bob, avec un message optionnel de la part d’Alice. Ce message est chiffré de bout en bout avec la clé publique PGP de Bob afin que lui seul puisse le déchiffrer et le lire dans son application Wallet.
Proton Wallet génère et maintient un pool d’adresses Bitcoin inutilisées pour chaque compte de portefeuille ayant activé Bitcoin par e-mail, assurant ainsi la confidentialité. Par exemple, si Eve, une attaquante, tente d’envoyer du BTC à bob@gmail.com, elle recevra une nouvelle adresse BTC vide provenant du pool de Bob, différente de celle utilisée par Alice. Eve ne pourra donc rien apprendre sur les transactions précédentes de Bob.
Modèle de menace
Dans cette section, nous examinons les menaces potentielles dont les utilisateurs de Proton Wallet doivent être conscients et les meilleures pratiques pour améliorer la sécurité.
Mot de passe oublié et auto-récupération
En tant que portefeuille auto-dépositaire, Proton n’a pas la garde de vos actifs numériques ni l’accès aux clés qui les contrôlent. Cela signifie que si vous oubliez votre mot de passe Proton Account et perdez votre phrase ou kit de récupération, nous ne pouvons rien faire pour vous aider. C’est pourquoi il est important de sauvegarder vos méthodes de récupération et de les stocker dans un endroit sûr (par exemple, certaines personnes gardent leur phrase de récupération dans un coffre-fort) avant d’ajouter des actifs numériques à votre portefeuille.
La première méthode de récupération que vous devriez sauvegarder est la phrase de récupération Proton(new window), qui est utilisée pour récupérer votre Proton Account si vous oubliez votre mot de passe Proton. C’est une phrase de 12 mots qui encode votre clé utilisateur et vous reconnecte à votre compte Proton avec toutes les données chiffrées toujours accessibles. Il vous sera demandé de créer un nouveau mot de passe.
La deuxième méthode de récupération est votre phrase de récupération de portefeuille, la phrase de 12 mots qui encode votre clé de portefeuille. Vous devez sauvegarder cela pour chaque portefeuille que vous créez. Vous ne devriez utiliser cela que si la première méthode de récupération n’a pas fonctionné et que vous ne pouvez pas accéder à votre Proton Account. Dans ce cas, toutes vos métadonnées chiffrées, telles que les notes et les messages, seront perdues, mais vous pouvez récupérer vos actifs numériques en important le portefeuille à l’aide de la phrase de récupération. Vous pouvez même utiliser cette méthode de récupération sur un autre service de portefeuille si vous ne pouvez plus accéder à Proton.
Enfin, si vous décidez de définir une phrase secrète optionnelle sur l’un de vos portefeuilles, vous devez également la sauvegarder comme les deux méthodes de récupération. Vous pouvez considérer la phrase secrète optionnelle comme un mot de passe supplémentaire de la phrase de récupération de portefeuille, mais contrairement à la phrase de récupération, qui est stockée chiffrée sur les serveurs de Proton, la phrase secrète n’est jamais stockée. Cela signifie que l’application Proton Wallet ne pourra jamais vous rappeler ce qu’elle est.
Compromission du compte Proton
Cela affecte principalement les utilisateurs sans authentification à deux facteurs car les attaquants ont juste besoin de l’e-mail et du mot de passe du compte pour entrer. Un moyen courant pour un attaquant d’obtenir le mot de passe consiste à envoyer un e-mail de phishing à l’utilisateur et à essayer de le tromper pour qu’il saisisse son mot de passe Proton sur le site de phishing de l’attaquant. Une autre méthode consiste pour l’attaquant à rechercher des fuites de mots de passe précédentes provenant d’autres services, et si l’utilisateur a réutilisé ce mot de passe divulgué sur Proton, l’attaquant peut alors se connecter.
Une fois qu’un attaquant se connecte à Proton Wallet, il peut voir la phrase de récupération de portefeuille ou envoyer tous les actifs sur son propre portefeuille. Un portefeuille avec une phrase secrète optionnelle (qui n’est jamais stockée par Proton) empêcherait l’attaquant d’accéder au portefeuille et de vider les actifs. Cependant, si elle est définie, la phrase secrète doit également être utilisée avec la phrase de récupération du portefeuille pour récupérer les portefeuilles. Cette complexité supplémentaire et le risque d’oublier la phrase secrète sont la raison pour laquelle Proton Wallet ne permet pas de définir une phrase secrète sur votre premier portefeuille. Une fois que vous comprenez les compromis, vous pouvez créer un deuxième portefeuille avec une phrase secrète.
D’autres moyens pour les utilisateurs de se protéger contre la compromission des comptes consistent à mettre en place l’A2F, utiliser des mots de passe uniques et forts pour chaque service et faire attention aux e-mails de phishing.
Puisque c’est la manière la plus courante par laquelle les utilisateurs se font hacker, Proton a également construit des systèmes sophistiqués opérés par des équipes mondiales 24/7 qui filtrent les e-mails de phishing et bloquent les connexions suspectes(new window). Nous avons également développé un programme de protection avancée des comptes(new window) pour les utilisateurs à haut profil et un gestionnaire de mots de passe(new window) facile à utiliser.
Compromission de l’appareil de l’utilisateur
Si un attaquant a accès à l’appareil exécutant les applications Proton, il peut accéder aux applications exécutées sur cet appareil ou ajouter un keylogger pour capturer l’e-mail et le mot de passe lorsque vous vous connectez. Les utilisateurs doivent verrouiller leur écran lorsqu’ils s’éloignent de leur ordinateur, envisager d’utiliser le mode verrouillage sur les appareils Apple, maintenir leur système d’exploitation et leurs applications à jour, et être prudents lors du téléchargement et de l’ouverture de fichiers. Alors que Proton Sentinel peut offrir une protection dans certains cas de compromission de l’appareil utilisateur, la capacité de Proton à vous protéger est plutôt limitée si les appareils que vous utilisez pour accéder à Proton sont compromis.
Compromission de la vie privée sur la blockchain
Comme mentionné ci-dessus, les attaquants peuvent tracer les transactions Bitcoin sur la chaîne une fois qu’une adresse est associée à vous. En reprenant l’exemple ci-dessus :
- Alice a envoyé des BTC de l’adresse A à l’adresse BTC de Bob, B1.
- Eve a envoyé des BTC de l’adresse E à l’autre adresse BTC de Bob, B2.
- Jusqu’ici, Alice et Eve ne connaissent pas les autres transactions de Bob.
- Maintenant Bob envoie tous ses BTC en une seule transaction à un autre destinataire, peut-être une bourse avec l’adresse X.
- Eve peut maintenant voir que l’adresse BTC B2 a envoyé des Bitcoin à l’adresse X, tout comme l’adresse BTC B1. Elle peut supposer que l’adresse BTC B1 appartient également à Bob et voir que l’adresse A a également envoyé des BTC à Bob.
Bien qu’être suivi sur la blockchain ne soit pas aussi grave que de perdre des actifs pour la plupart des utilisateurs, cela pourrait être une grande menace pour les utilisateurs qui ont le plus besoin de confidentialité financière. En regardant l’exemple ci-dessus, Bob pourrait être un activiste des droits de l’homme qui reçoit des dons de résidents d’un pays dirigé par un dictateur corrompu. Eve peut travailler pour le dictateur corrompu, essayant de suivre qui fait des dons à Bob, ce qui signifierait qu’Alice pourrait être en danger.
Les utilisateurs comme Alice et Bob qui ont le plus besoin de confidentialité peuvent envisager d’utiliser un service de coinjoin tiers avant et après leurs transactions pour mélanger leur Bitcoin avec d’autres et briser le lien dans l’historique de la blockchain.
Compromission des serveurs de Proton
Les produits Proton utilisent tous le chiffrement de bout en bout pour minimiser les données sur les serveurs Proton, donc même si des attaquants pénètrent dans les serveurs Proton, ils auront des données limitées à voler. Le fait que les serveurs Proton n’aient jamais la garde des BTC des utilisateurs les rend également moins attractifs en tant que cible.
Dans le cas improbable où un attaquant accèderait aux serveurs web de Proton, il pourrait tenter de modifier le code JavaScript qui est servi aux utilisateurs des applications web. Le code malveillant peut essayer de voler les mots de passe, les clés et les BTC des utilisateurs. Si vous êtes préoccupé par ce risque, vous pouvez utiliser les applications mobiles Proton Wallet, qui peuvent vous notifier avant la mise à jour vers un nouveau code.
Dans le cas improbable où un attaquant accèderait aux serveurs de clés de Proton, il pourrait également essayer de modifier les clés PGP et les signatures utilisées pour Bitcoin via Email. Pour réduire ce risque et réduire la confiance dans les serveurs Proton fournissant les bonnes clés publiques, nous intégrons le système de vérification d’adresse de Proton(new window), ce qui permettra aux applications Wallet d’avertir les utilisateurs si une clé de confiance change. Une extension automatisée de cela, le système de Key Transparency de Proton(new window), sera également ajoutée à Proton Wallet à l’avenir.
Proton inaccessible
Le dernier risque que nous couvrirons est si vous ne pouvez plus accéder aux serveurs Proton. Cela pourrait être dû à votre gouvernement bloquant l’accès internet aux sites et domaines de Proton. Tout d’abord, vous pouvez essayer de vous connecter à un VPN, tel que notre service Proton VPN(new window) gratuit, qui intègre une technologie anti-censure. Mais si cela échoue, tant que vous avez sauvegardé toutes vos phrases de récupération de portefeuille, vous pouvez utiliser ces 12 mots pour récupérer vos actifs numériques sur n’importe quel service de portefeuille Bitcoin. Les métadonnées telles que les notes et Bitcoin via Email seront perdues, mais les transactions sur la blockchain pourront être récupérées et vos Bitcoin resteront sécurisés et accessibles.
Proton Wallet vs. portefeuilles matériels
Il est recommandé que les utilisateurs ayant une grande valeur stockée dans des actifs numériques conservent la majorité de leurs actifs dans des portefeuilles matériels auto-déposés, qui gardent les clés cryptographiques hors ligne sur un appareil dédié. Les portefeuilles matériels sont considérés comme les plus sûrs, mais en fin de compte, les utilisateurs doivent toujours faire confiance aux fabricants de portefeuilles pour leurs mises à jour logicielles et applications de bureau nécessaires à l’utilisation des portefeuilles matériels. Les portefeuilles matériels sont également limités quant aux métadonnées qu’ils peuvent stocker et difficiles à utiliser pour les transactions en déplacement.
Proton Wallet vise à être un portefeuille gratuit et facile à utiliser, suffisamment sécurisé pour la majorité des utilisateurs qui ne souhaitent pas la complexité et les frais supplémentaires de la gestion d’un portefeuille matériel. Pour ceux qui possèdent beaucoup de BTC, Proton Wallet n’est pas conçu pour remplacer les portefeuilles matériels mais plutôt comme un complément sécurisé à ceux-ci. Par exemple, vous pouvez utiliser un portefeuille matériel pour stocker les BTC dont vous n’avez pas besoin d’accéder régulièrement et utiliser Proton Wallet pour les BTC avec lesquels vous souhaitez transacter.
Défendre la vie privée et la liberté
With the launch of Proton Wallet, we want to offer an open and decentralized alternative to fragile financial intermediaries and gatekeepers. By giving individuals easy control of their own encryption keys and digital assets, we are building an internet where financial privacy and freedom is accessible to all.
Nous croyons que la vie privée financière et la liberté sont essentielles pour une société libre et équitable où tout le monde peut être économiquement connecté et autonomisé. Si vous souhaitez soutenir financièrement notre mission, veuillez passer à un plan payant de Proton Wallet.