anonymat en ligne tails

Anonymat et confidentialité en ligne avec TAILS

On est de plus en plus concerné par la sécurité et la confidentialité de notre ordinateur et de nos données lors des transactions en ligne. De plus en plus de personnes se rendent compte que chaque fois que nous nous connectons à l’internet (et nous le faisons pour tout de nos jours), nous mettons notre vie privée en danger et nous devons partager certaines de nos données personnelles avec des sites et des services en ligne.

amnesieC’est pour ces raisons que des solutions technologiques de plus en plus raffinées ont été introduites pour nous aider à nous protéger. L’une d’entre elles est sans aucun doute tails. Il s’agit d’une distribution Linux, live, dérivée de debian, qui s’installe facilement sur une clé usb et qui est lancée au-dessus de l’ordinateur, sans laisser aucune trace sur celui-ci ; elle fonctionne à travers la RAM. Ainsi, même si quelqu’un avait un accès physique à votre ordinateur après l’avoir utilisé, il ne pourrait trouver aucune information sur celui-ci, car il “disparaît” complètement une fois déconnecté de l’ordinateur.

Il est conçu pour préserver votre vie privée et votre anonymat. Il est également livré avec toutes les applications nécessaires, telles qu’un navigateur web (torbrowser), un client de messagerie, une suite libreoffice, un client de courrier électronique, etc.

Logiciel disponible

au sein du système d’exploitation, nous trouvons préinstallés une série de logiciels très utiles pour notre vie privée et notre sécurité. en voici quelques-uns (mais il y en a beaucoup d’autres)

  • GPG la suite de cryptage linux;
  • le client de messagerie Thunderbird, avec l’option déjà configurée d’utiliser GPG pour envoyer des messages chiffrés;
  • Electrum, l’un des portefeuilles de bitcoins les plus sophistiqués et les plus utilisés;
  • HTTPS Everywhere permet d’établir de manière transparente des connexions cryptées par SSL avec un grand nombre de sites web importants;
  • NoScript pour un contrôle encore plus poussé de JavaScript;
  • uBlock Origin pour supprimer les publicités;
  • keepassxc un gestionnaire de mots de passe puissant et complet avec une base de données cryptée;
  • il est également possible utiliser des volumes chiffrés créés avec veracrypt;

pas traceEn plus, tails est conçu pour empêcher les attaques par “cold-boot” et de nombreuses formes d’analyse de la mémoire. En fait, il efface toute la mémoire pendant l’arrêt lorsque la clé usb est physiquement retirée.

Comment le préparer ?

La préparation est assez simple. Il suffit d’aller sur le site web du fabricant, de télécharger l’image et de flasher l’image sur la clé usb. Le flashage peut être fait avec un programme spécial, par exemple “balena etcher” ou depuis linux avec la commande système dd. À la fin, vous obtenez une clé USB prête à l’emploi qui peut être insérée dans un ordinateur pour démarrer directement à partir de celui-ci. Avant de procéder au flashage, il est extrêmement important que l’image téléchargée sur le site soit vérifiée, c’est-à-dire que les signatures soient contrôlées. Il s’agit de s’assurer que l’image provient bien du fabricant et n’a pas été modifiée. S’il était altéré, nous utiliserions un système compromis, ce qui entraînerait de graves risques pour la sécurité et la vie privée.

 

Tor à l’intérieur

L’une des caractéristiques les plus importantes est la présence de TOR par défaut et le fait que tout le trafic généré sur le système, est transmis sur internet à travers tor. Sur le système, nous pouvons également trouver, déjà installé et prêt à l’emploi le torbrowser qui, comme nous le savons, nous permet de naviguer sur des sites web, sur lesquels nous n’avons pas à nous authentifier, d’une manière complètement anonyme, grâce au réseau tor. Pour naviguer efficacement avec le torbrowser, il est important de se rappeler les points suivants :

  • nous devons utiliser uniquement des connexions cryptées (donc des sites https);
  • nous devons utiliser uniquement les paramètres par défaut du navigateur (pas de plugins d’extension ou de paramètres particuliers) car tout add-on constitue une perte de confidentialité;
  • nous n’avons pas besoin de nous connecter sur aucune ressource, car cela créerait évidemment un lien entre votre session actuelle et votre identité et ferait savoir que vous utilisez tor;

Stockage permanent (persistent storage)

stockage persistentIl est également possible d’activer le “persistent storage” qui est une partition cryptée créée sur le dispositif où sauvegarder les éléments qui sont utilisés de façon récurrente dans la distribution. Ceci est utile pour les logiciels ou les données que vous utilisez souvent. Mais comment fonctionne la partition persistante ?

Si vous utilisez des queues avec une clé USB, vous pouvez créer un stockage persistant dans l’espace libre restant sur la clé usb. De cette façon, vous pouvez placer des fichiers de données et des instructions pour l’installation de paquets supplémentaires, par example. Ces données sont mises à disposition pour des sessions de travail ultérieures et restent sur l’appareil sous forme cryptée. La passphrase de déchiffrement est donc d’une importance primordiale pour pouvoir accéder à cet contenu.

Qu’est-ce qui peut être stocké sur le persistant ? Voici quelques exemples :

  • Fichiers de données;
  • Réglages ou paramètres:
  • Logiciel supplémentaire;
  • Clés de cryptage;

dans tous les cas, vous pouvez choisir librement d’accéder à persistent chaque fois que vous accédez à tails. Si vous le faites, vous devez disposer de la phrase de passe pour le décrypter.

En bref, il s’agit d’une distribution très complète et facile à utiliser, orientée vers la confidentialité et la sécurité, que vous devriez savoir essayer, savoir utiliser et avoir à disposition pour toute opération sensible que vous avez l’intention de faire en ligne.

Il s’agit d’une évaluation indépendante de tails basée sur mon expérience personnelle et professionnelle. Les images font partie du matériel de tails rendu public dans le but de promouvoir cet logiciel. Pour toute question, je suis disponible dans les commentaires ou sur linkedin.

puissance du bitcoin proof of work massimo musumeci

Proof of Work (POW). Pourquoi cela fait-il la puissance du réseau Bitcoin ?

Les gens sont souvent confus à propos de la “proof of work” dans le réseau Bitcoin et pourtant, il s’agit de l’une des caractéristiques de sécurité les plus importantes du protocole et donne donc à Bitcoin ses caractéristiques de valeur enviable que tout le monde lui attribue. De nos jours, Bitcoin fait également l’objet d’une grande couverture médiatique grâce à une augmentation de l’adoption, même par les acteurs institutionnels, et de nombreuses entreprises se lancent dans le minage.

POW

La proof of work consiste en un élément d’information extrêmement coûteux à obtenir mais très facile à vérifier, que le mineur doit produire pour valider son bloc candidat et que chaque nœud du réseau peut vérifier facilement et rapidement.

La procédure de preuve du travail est effectuée sur un bloc candidat qui rassemble toutes les transactions que le nœud a dans son propre mempool qu’il décide d’ajouter. Ces transactions sont vérifiées indépendamment par chaque nœud, mais ne sont pas confirmées, c’est-à-dire qu’elles ne font pas encore partie de la blockchain, car elles n’ont pas encore été insérées dans un bloc valide.

Lorsque le mineur calcule l’hash du blockheader, il considère en fait toutes les transactions présentes dans le bloc, car le merkleroot du bloc candidat résume toutes les transactions qui ont été insérées dans le bloc, parce que c’est la valeur “digest” de l’arbre de merkle.

L’arbre de merkle (merkle tree) n’est rien d’autre qu’une structure de hashs de transactions qui résume progressivement toutes les transactions qu’il a examinées, jusqu’à ce qu’il atteigne le sommet, qui est un seul hash global qui est l'”empreinte” de toutes les transactions.

La procédure de validation

Le POW est donc obtenu par une procédure par laquelle le mineur crée le hash du blockheader, de manière répétée, jusqu’à ce qu’il puisse trouver une valeur de ce hash qui soit inférieure à une valeur fixée par le protocole (target) qui peut varier grâce à un auto-ajustement tous les 2016 blocs. Dans ce cas, on parle d’une procédure de “réglage de la difficulté” qui réagit automatiquement au hashrate disponible dans le réseau en calibrant la difficulté et en s’assurant que le réseau Bitcoin produit 1 bloc toutes les 10 minutes, ni plus ni moins.

proof of work bitcoin minage
la valeur target de la difficulté actuelle

Pour pouvoir satisfaire cette valeur, le mineur, fait de nombreuses tentatives en changeant certains paramètres de l’en-tête, y compris le nonce et le extra nonce.

La récompense au mineur

Parmi les transactions présentes dans le bloc, la première est la transaction coinbase. Cette transaction permet au mineur de s’octroyer la récompense pour avoir exploité le bloc selon la valeur établie par les règles du protocole.

Les frais des transactions insérées font également partie de la récompense du mineur. C’est pourquoi le mineur est incité à ajouter autant de transactions que possible, en commençant par celles dont les frais sont les plus élevés. Toutefois, les règles du protocole autorisent encore des blocs comportant très peu de transactions.

Une fois cela fait, le bloc est propagé au réseau et tous les autres nœuds vérifient le respect du protocole, puis vérifient le bloc. Si le bloc est vérifié, il devient le TIP, c’est-à-dire le bloc le plus élevé.

Si le bloc avait une récompense différente, qui n’est pas compatible avec la valeur actuelle autorisée par le protocole, il serait ici rejeté par les autres nœuds et le mineur n’aurait aucune récompense. Cet événement s’inscrit dans le cadre du mécanisme d’avantage/punition du système d’incitation économique de Bitcoin.

J’espère avoir été utile pour comprendre le fonctionnement du mécanisme de validation des transactions du réseau Bitcoin. Si vous avez des questions, vous pouvez poster un commentaire et me contacter, je resterai disponible. Je suis également heureux si vous souhaitez me joindre sur mon site web ou sur mon linkedin.

massimo musumeci Créer paire clés cryptographiques signer document

Créer une paire de clés cryptographiques pour signer un document

La cryptographie moderne nous permet d’avoir des avantages considérables et peut être appliquée à plusieurs domaines très intéressants. Il devient de plus en plus important, en fait, de numériser de nombreuses opérations, y compris les opérations bureaucratiques.

Pour beaucoup de ces objectifs, la cryptographie asymétrique (ou à clé publique) est utilisée. Ce type de cryptographie, comme nous l’avons déjà vu dans d’autres articles, nous permet de générer deux clés qui sont liées l’une à l’autre par une relation mathématique. L’une s’appelle clé privée, l’autre clé publique. Grâce à ce système, nous pouvons envoyer un document crypté à quelqu’un en échangeant la clé publique et cela résout le problème de l’échange du secret cryptographique que l’on rencontre avec la cryptographie à clé symétrique (par exemple AES). Voir par exemple DH (Diffie-Hellmann key exchange).

Notre clé privée nous permet également de signer un document de manière à ce que chacun puisse vérifier que ce document a bien été signé par nous, grâce à la clé publique correspondante. Pour ce faire, nous devons donc :

  • créer une paire de clés (par exemple RSA), par exemple RSA 3072 bits;
  • télécharger notre clé publique sur un serveur à clé publique, par exemple : https://keys.openpgp.org ;
  • publier l’empreinte digitale de notre clé sur notre profil officiel, sur un document d’identification ou toute autre source officielle afin que chacun puisse vérifier que cette clé publique nous appartient bien;

Vérifier la présence d’une clé publique

Si je cherche ma clé publique sur le serveur de clés openpgp, depuis le web, je vois immédiatement que ma clé publique officielle est présente, comme vous pouvez le voir dans l’image ci-dessous. La recherche peut être effectuée à partir de la dernière partie de l’empreinte digitale. Dans mon cas : 917B BC89 F010 13EC . Il doit être publié sur tous les profils publics les plus importants afin que votre interlocuteur puisse être sûr qu’il vous appartient réellement.

 

massimo_musumeci_openpgp

Ma fingerprint (de ma clé) est publié sur mon linkedin par example, comme on peut voir ici:

 

massimo_musumeci_openpgp_linkedin

Créer une paire de clés

Le processus de création de la paire de clés semble compliqué, mais il est en fait assez simple et peut être effectué par n’importe qui avec un ordinateur normal. Voyons comment faire cette procédure. Sous Linux, nous utilisons la suite de cryptage GPG (gnuPG). Nous générons d’abord la paire de clés. Et donc nous avons

 

key_generation

puis nous vérifions l’insertion et détectons l’empreinte digitale de la clé. Nous le publierons plus tard. Pour ce faire, nous allons dans la liste des clés de notre porte-clés local. Et nous obtenons alors ce qui suit (cela c’est juste une clé de test)

fingerprint

nous téléchargeons maintenant la clé sur le serveur de clés

keyserver_upload

la clé publique est maintenant disponible sur le serveur de clés et peut être téléchargée par n’importe qui directement à partir du serveur, simplement en connaissant l’empreinte digitale.

La signature et la vérification de la signature

La signature d’un document peut maintenant se faire de manière très simple en utilisant la clé privée qui se trouve dans notre porte-clés (keyring) local. Utilisons la commande suivante pour signer un document d’exemple “examplefile.txt” avec la clé privée qui vient d’être créée

gpg --detach-sig --armor -u AD5270C4D204FABEF1E8ACDE57F1E808020B9B5A --sign examplefile.txt

Si aucun résultat n’est fourni, cela signifie que la signature a été réussie. Et en fait nous trouverons un fichier examplefile.txt.asc contenant la signature effectuée. Maintenant je peux verifier ainsi la signature:

massmux@augustus:~$ gpg --verify examplefile.txt.asc  
gpg: assuming signed data in 'examplefile.txt'
gpg: Signature made Fri 01 Jan 2021 11:30:53 AM CET
gpg:                using RSA key AD5270C4D204FABEF1E8ACDE57F1E808020B9B5A
gpg: Good signature from "Massimo Musumeci <[email protected]>" [ultimate]

 

et donc on voit que ça marche. Nous avons donc vu que nous pouvons très facilement créer notre clé d’identité numérique avec des outils “open source”, publier la partie publique et apposer des signatures sur tout document que tout le monde peut vérifier de manière indépendante. La publication de l’empreinte de notre clé sur un document officiel nous permet de relier cette empreinte à la clé publique qui nous appartient réellement.

Accélération des transactions bitcoin

Accélération des transactions bitcoin avec RBF et CPFP

Dans cet article technique, nous allons examiner comment nous pouvons accélérer une transaction qui a déjà été envoyée mais qui est restée en attente dans le mempool depuis longtemps. Dans ce cas, en fait, cela signifie qu’aucun mineur n’a encore saisi la transaction dans son bloc miné. Cela se produit généralement parce que vous définissez des frais trop bas pour la transaction ou parce que les frais augmentent soudainement immédiatement après l’arrivée de votre transaction dans le mempool (il est conseillé d’utiliser un explorateur pour voir le statut des frais et du mempool, par exemple avec le bot telegram @btcnode_bot).
Voyons maintenant comment nous pouvons résoudre efficacement la situation. Il est important de noter que tant que la transaction n’est pas écrite sur la blockchain, elle ne peut être considérée comme efficace et valable. Vous devez attendre la première confirmation, puis les suivantes.

btcnode_bot mempool fees

Double spend & RBF

Que signifie “double spend” ? Cela signifie produire deux transactions qui dépensent les mêmes UXTOs. Formellement rien ne vous empêche de faire cela. La question est la suivante: “Que fait un nœud s’il voit deux tx de double dépense ?
Vous ne savez pas, parce que vous ne contrôlez pas les nœuds des autres. Par défaut, ils doivent accepter le premier et rejeter les autres, mais ils n’ont aucun moyen de faire respecter ces règles. Avec RBF (replace by fee), vous pouvez aller remplacer une TX qui est déjà dans mempool. Comme les nœuds rejettent par défaut les doubles dépenses, le RBF a été inventé pour “dire” aux nœuds que vous envoyez une TX et que vous pourriez devoir augmenter les frais. En gros, les nœuds acceptent que vous augmentiez les frais.

Mais comme vous n’avez aucun contrôle sur les nœuds, vous ne savez pas quel TX entrera. Ce sont les nœuds des mineurs qui décident du TX à laisser entrer dans le bloc. Les nœuds qui acceptent le RBF admettent qu’une tx ultérieure avec des frais plus élevés remplacera celle qu’ils ont déjà reçue dans le mempool. RBF doit etre défi par l’expéditeur et ce dernier peut augmenter les frais avant que la transaction ne soit confirmée, par exemple via electrum (wallet)[¹] qui prend en charge cette fonction.

rbf electrum wallet

Utiliser la méthode CPFP

C’est un acronyme pour “child pays for parents“. Ce n’est pas une caractéristique, mais cela fait partie du système économique de bitcoin. Fondamentalement, lorsque les mineurs décident de la TX à inclure, ils agissent comme un tout. Ils incluront donc volontiers une transaction à frais élevés même si elle est le résultat d’une transaction à frais faibles[²]. Si la moyenne des frais est supérieure à la valeur actuelle des frais, ils accepteront d’inclure les deux transactions. Voyons comment les appliquer dans les deux situations où vous êtes soit l’expéditeur de la transaction, soit le destinataire de la transaction.

CPFP si vous êtes le bénéficiaire

Pour ce faire, si vous êtes le destinataire, vous pouvez créer une nouvelle transaction, en utilisant l’UTXO reçu (ou l’un de ceux reçus) pour construire une nouvelle transaction pour vous-même (à votre adresse) avec des frais tels que la moyenne avec les frais précédents est plus élevée que les frais actuels par transaction. De cette manière, les deux seront rapidement vérifiés.

CPFP Si vous êtes l’expéditeur de la transaction

Si vous êtes l’expéditeur, vous pouvez toujours utiliser cette méthode, voici comment. Dans la transaction que vous avez envoyée, il y a presque certainement un reste. Prenez alors l’UXTO lié au reste et utilisez-le pour vous constituer une nouvelle transaction à des frais très élevés.

Comme vous avez pu le voir dans cet article, il est donc possible et aussi très simple d’accélérer une transaction qui se trouve dans le mempool depuis longtemps. Nous avons vu comment il est possible de le faire avec les deux techniques les plus utilisées. J’espère vous avoir été utile et avoir apporté une valeur ajoutée. Je reste à votre disposition.

Notes:

[¹] electrum est un portefeuille bitcoin très efficace et utilisé

[²] une transaction ne peut être confirmée sans que le parent ne soit confirmé, car une transaction de fille n’existe pas si le parent n’existe pas.

malware airgapped

Ramsay, le malware créé pour attaquer les systèmes Air-gapped

De nouvelles frontières s’ouvrent en matière de cyberattaques sur les ordinateurs. Aujourd’hui, nous effectuons de multiples opérations avec des ordinateurs et nous contrôlons également notre argent et nos bitcoins, de sorte que la surface d’attaque est beaucoup plus importante qu’il y a quelques années. Cela signifie que les attaques sur les réseaux informatiques peuvent toujours rapporter plus d’argent aux pirates. Pensez au vol de données, au ransomware, à la fishing, à l’accès illégal, etc.

Ce type d’attaque est également très important pour tous ceux qui sont impliqués dans la sécurité de Bitcoin. En fait, vous disposez souvent d’ordinateurs dédiés à la gestion des portefeuilles Bitcoin, qui gèrent ensuite les clés ou affichent les soldes. Ces ordinateurs sont souvent offline, mais cela n’épargne pas toujours (comme nous le verrons dans l’article) l’ordinateur de certains types d’attaques informatiques.

Les chercheurs de l’ESET ont découvert un cadre de cyber-espionnage jusqu’alors non signalé que ont nommé Ramsay et qui est adapté à la collecte et à l’exfiltration de documents sensibles et est capable d’opérer au sein de réseaux aériens (airgapped systems). En fait aujourd’hui, on parle de Ramsay, une Toolkit d’espionnage informatique conçue pour attaquer les ordinateurs ou les réseaux qui sont “air-gapped”, c’est-à-dire isolés du réseau Internet.

Le malware Ramsay vise donc les ordinateurs ou les réseaux informatiques isolés d’Internet. Les auteurs du malware ont créé une technique qui lui permet d’atteindre les ordinateurs sans connexion et d’obtenir des données.

Mais qu’est-ce qu’un ordinateur hors ligne ou air-gapped?

Il s’agit d’un ordinateur qui est déconnecté du réseau afin d’être le mieux protégé contre les cyber-risques. Il s’agit d’une technique utilisée notamment pour les ordinateurs qui contiennent des informations sensibles, des données d’une importance particulière ou un accès à des biens.

Comme le système est hors ligne, cela réduit exponentiellement le risque qu’un pirate informatique compromette les machines en question en y accédant par l’internet.

Les pirates qui ont créé Ramsay ont cependant décidé d’essayer de surmonter cette forme de protection en équipant leurs logiciels malveillants d’une série d’outils qui leur permettent d’être efficaces même dans une situation où leurs cibles ont été complètement isolées du réseau.

Pour ce faire, le vecteur d’attaque choisi par les cybercriminels est l’utilisation de mémoires amovibles (clés USB et disques externes) que Ramsay utilise à la fois pour se propager d’une machine à l’autre et pour obtenir des données volées.

Comment ce malware se répand?

En ce qui concerne la diffusion, Ramsay exploite un schéma classique qui tire parti d’une vulnérabilité de Word (CVE-2017-11882) pour toucher la première cible au sein du réseau. Le logiciel malveillant injecte ensuite une copie de son code dans tous les fichiers exécutables portables (PE) qu’il peut atteindre dans les lecteurs de mémoire amovibles.

La stratégie utilisée par le malware, est basée sur le fait que tôt ou tard une des unités de mémoire sera connectée à l’ordinateur isolé lui permettant d’être infecté. Cela est probablement dû au fait que pour un ordinateur air-gapped, l’unité de mémoire externe est le seul moyen d’échanger des données à l’intérieur et à l’extérieur du système.

La même méthode est utilisée pour obtenir les données. Les informations considérées comme sensibles, qui ont généralement des formats tels que pdf, doc, excel ou tar ou des archives zip, sont stockées dans une section cachée du lecteur de mémoire, en attendant qu’un logiciel malveillant contenant les données volées soit transmis à un ordinateur ayant accès à Internet.

La raison d’être du malware n’est pas encore tout à fait claire, mais la description ci-dessus est l’hypothèse la plus crédible concernant son éventuel fonctionnement sur les systèmes Windows (analysé par eset).

Comment se protéger ?

Dans le contexte des cyber-attaques possibles avec les moyens techniques actuels, nous devons être encore plus prudents. Pour gérer nos portefeuilles Bitcoin, par exemple, il est préférable d’utiliser le système d’exploitation Linux et les portefeuilles hardware. Il est conseillé de faire des sauvegardes régulières et fréquentes de vos données sensibles et il est important de mettre en place des règles précises pour les procédures de sécurité informatique au sein de l’entreprise. Vous pourriez faire un résumé des règles de base à suivre :

  • l’utilisation d’un gestionnaire de mots de passe crypté pour le stockage de mots de passe;
  • la création de mots de passe complexes d’une longueur minimale de 12 caractères pour tous les services utilisés;
  • une sauvegarde quotidienne des données;
  • Systèmes anti-virus sur tous les ordinateurs à tenir à jour;
  • l’ouverture des fichiers uniquement lorsqu’ils sont scannés par un logiciel de contrôle et uniquement s’ils proviennent d’une source sûre;
  • l’utilisation du cryptage pour toutes les communications contenant des données importantes;

Cependant, les mesures de protection de votre système informatique ne sont jamais suffisantes et la prudence est la chose la plus importante à faire pour améliorer le degré de sécurité de vos données importantes. J’espère que cet article vous a été utile et je reste à votre disposition pour toute clarification, question ou contact.

séquences secrètes par le bruit du microphone

Génération de séquences secrètes par le bruit du microphone

Nous avons déjà vu que le moyen le plus sûr de conserver les bitcoin à long terme est d’utiliser un porte-monnaie électronique (hardware). Avec bitcoin, en fait, notre sécurité et notre privacy dépendent de nous, car nous n’avons plus besoin d’intermédiaire pour gérer nos biens et effectuer des transactions et nous avons donc les compétences nécessaires pour utiliser les bons outils pour gérer notre patrimoine.

Le porte-monnaie hardware est un dispositif électronique qui nous permet de gérer nos clés privées sans les exposer à l’extérieur. La majorité des dispositifs de ce type, de nos jours, sont de type déterministe hiérarchique (HD). Cela signifie que la clé privée principale est créée à partir d’une séquence ordonnée de 24 mots (mnémonique) qui constitue fondamentalement de manière déterministe ce qui nous permet à tout moment de reconstituer notre portefeuille et d’accéder à nos fonds (standard bip39).

Si nous perdons cette séquence ou si quelqu’un peut y accéder, alors nous perdons nos bitcoin. L’importance de cet élément est donc primordiale. Le hardware wallet nous permet de gérer ce secret cryptographique et de l’utiliser chaque fois que nous voulons effectuer une transaction ou consulter nos soldes.

Mais qui génère cette séquence secrète ?

En général, c’est notre propre dispositif matériel qui le génère pendant la phase d’initialisation (wallet initialization), la première fois que nous décidons de l’utiliser. Le dispositif va en effet générer cette séquence à partir du générateur d’aléas interne et il nous sera demandé d’en faire une copie de sauvegarde en l’écrivant sur un morceau de papier (la sequence des mots).

À ce moment-là, la séquence des 24 mots sera physiquement stockée dans un endroit sûr où personne ne pourra y accéder et dans le plus grand secret. Notre portefeuille gardera alors le secret cryptographique et l’utilisera pour signer les transactions sortantes.

Certains bitcoiners, parmi les plus compacts, sont convaincus qu’il est erroné d’attribuer toute la confiance au caractère aléatoire du dispositif matériel que nous utilisons. Ils disent que l’on ne peut pas faire confiance à la graine créée par l’appareil. En fait, l’esprit de bitcoin est toujours de “vérifier la confiance” (don’t trust, verify). Je suis d’accord avec ce principe.

Ainsi, on peut parfois décider de produire de manière autonome la séquence bip39 des 24 mots par le biais d’une source entropique souhaitée. Par exemple, certains le créent à partir de données, d’autres à l’aide de cartes, etc. Aujourd’hui, je veux vous montrer qu’elle peut également être obtenue à partir de l’entropie générée par le son d’un microphone. L’entropie générée par le bruit du microphone est de haute qualité et est bien meilleure que toute entropie informatique créée électroniquement.

Script de génération

J’ai réalisé un script qui, installé de préférence sur une distribution Linux offline, est capable d’enregistrer le bruissement du microphone de l’ordinateur (qui est totalement aléatoire), d’obtenir les données binaires de la numérisation de ce bruit, puis à partir de cela par la fonction de l’hash sha256 pour obtenir la représentation finale à 256bit de cette entropie.
Mon scénario, à la fin, utilise les 256 bits de cette entropie pour créer les 24 mots de la mnémonique selon la norme bip39. Ces 24 mots peuvent ensuite être utilisés pour initialiser notre appareil (quelle que soit la marque ou le modèle) et obtenir une graine (secret cryptographique) dont nous sommes sûrs du caractère aléatoire et dont nous sommes sûrs qu’aucune autre personne ne pourra jamais entrer en contact car elle est créée à partir d’un caractère aléatoire unique, généré par nous à cet instant. Il est évidemment très important que la séquence soit secrète depuis le moment où elle est générée jusqu’au moment où elle est insérée dans le dispositif matériel.

Le script a été créé en open-source et est disponible sur le dépôt public github: https://github.com/massmux/bip39gen

Le script a été créé pour ne pas utiliser de bibliothèque supplémentaire non standard, afin de pouvoir être utilisé sur la distribution “Tails”, par example. La distribution Tails est en fait idéale pour exécuter ce script, car elle contourne tout système d’exploitation sur l’ordinateur et fonctionne directement à partir du usbstick. Avant de lancer le script, il est cependant très important de désactiver le réseau pour éviter tout contact avec l’internet pendant la génération de la mnémonique.

J’espère que les informations que je vous ai données ici, et le script que j’ai créé, pourront vous aider à améliorer la connaissance du sujet et la sécurité de vos bitcoins lorsque vous irez les utiliser. Je reste à votre disposition et répondrai volontiers à vos demandes et commentaires.

Bases de la sécurité en ligne

Bases de la sécurité en ligne

Le point de départ pour assurer la sécurité de nos fonds et transactions bitcoin commence par une gestion adéquate de la sécurité en ligne. Nous devons maximiser notre sécurité et notre confidentialité en ligne, surtout lorsque nous utilisons également notre ordinateur pour gerer des bitcoins ou pour effectuer des transactions en cryptomonnaies.

Motifs

Une étude de la Clark School de l’Université du Maryland est l’une des premières à quantifier le taux presque constant de cyberattaques toutes les 39 secondes en moyenne. Cela est également dû à une négligence banale dans la définition de mots de passe non sécurisés ou dans l’utilisation du même mot de passe non sécurisé sur plusieurs sites.

Pour ne citer que quelques statistiques : 43 % des cyberattaques sont menées contre les petites entreprises qui sont les plus vulnérables. 64% des entreprises ont subi des attaques via le web (soit à partir de leur propre site ou de sites tiers). 62% ont subi des attaques de phishing et d’ingénierie sociale. 59 % des entreprises ont subi des attaques de logiciels malveillants et de botnets et 51 % ont subi des attaques par déni de service.

Aujourd’hui, tout le monde a une vie numérique sur le réseau. Il y a les réseaux sociaux, les e-mails, les portefeuilles bitcoin, les services bancaires sur Internet et une myriade d’autres applications en ligne que nous utilisons tous les jours et qui sont essentielles à notre travail et à notre vie privée. La gestion de ces données est cruciale et extrêmement importante, et toutes les informations doivent être stockées en toute sécurité pour éviter que notre vie privée ne soit violée ou que notre sécurité informatique ne soit compromise.

Une multitude de données personnelles et financières transitent sur nos ordinateurs et sur Internet et nous devons les protéger pour préserver la confidentialité et la sécurité. Il y a aussi de grandes entreprises comme google et facebook qui utilisent tous les moyens pour acquérir des données sur nous, même en plaçant des cookies sur notre ordinateur pendant la navigation normale. Nous devons être très prudents.

Règles de base

Pour cette raison, nous devons suivre une série de règles de conduite qui peuvent nous protéger lorsque nous utilisons le web et l’internet, au quotidien. Dans un article ultérieur, nous discuterons de la façon dont nous pouvons minimiser le suivi de nos données lorsque nous naviguons en ligne.
Dans cet article, nous examinons aujourd’hui le comportement de base minimum que nous devons adopter pour notre vie privée et notre sécurité.

  • utiliser un password manager ou gestionnaire de mots de passe (comme keepassxc par exemple, ci-dessous plus de détails) pour générer nos mots de passe[1] et les conserver;
  • ne jamais utiliser les mêmes mots de passe pour différents sites et services;
  • ne jamais utiliser de mots de passe mnémoniques simples (nous devons plutôt utiliser des mots de passe composés de 8 à 12 caractères alphanumériques avec des majuscules, des minuscules et des caractères spéciaux);
  • Faites attention à ce que vous installez sur votre ordinateur. Par exemple, il existe des programmes nuisibles (malware) qui peuvent copier tous les caractères que vous tapez sur votre ordinateur et les envoyer à une tierce personne. Cela compromet la sécurité car il transmet vos mots de passe en dehors de votre ordinateur. Ce type de risque est très élevé avec les ordinateurs qui utilisent le système d’exploitation Windows, par exemple. Le risque est encore plus élevé lorsque vous utilisez votre ordinateur pour gérer vos bitcoin ou vos transactions financières ;
  • bien sûr, utilisez un logiciel antivirus à jour sur votre ordinateur;
  • dans la mesure du possible, utiliser une authentification à deux facteurs[2]. Mais pas par SMS (dans ce cas, ce type d’authentification est très faible et le message SMS n’est pas considéré comme plus sûr de ce point de vue). Les meilleures méthodes sont via des applications (par exemple, l’authentificateur Google) ou via une clé matérielle (par exemple, Yubikey);

nous suggérons donc de suivre ces règles de base de comportement qui sont essentielles pour nous protéger. Dans un article ultérieur, nous verrons plus d’idées et aussi des méthodes valables pour préserver notre vie privée. En fait, nous avons maintenant parlé de sécurité, mais la vie privée est également menacée. De nombreuses entreprises peu scrupuleuses (les géants du web) acquièrent continuellement un flux de données à partir de nos appareils (flux de métadonnées) et le traitent et le vendent à profit. Nous devons nous protéger de cela aussi.

PLUS D’INFORMATIONS

[1] Gestionnaire de mots de passe

un gestionnaire de mots de passe, comme par example keepassXC, est un logiciel open source qui s’installe localement et vous permet de sauvegarder et d’organiser vos mots de passe sur un fichier crypté. Si nous sommes diligents dans son utilisation, c’est un outil qui nous permet d’obtenir une sécurité extrême et de retrouver facilement nos accès. Cet outil nous permet également de créer de nouveaux mots de passe uniques et très difficiles à définir pour chacun de nos comptes en ligne. Comme le système gère tous nos mots de passe et les organise de façon à ce qu’ils soient faciles à rechercher et à utiliser, nous pouvons utiliser un mot de passe différent pour chaque site et chaque service, ce qui minimise le risque.
Le programme nous permet également de sauvegarder les codes de sauvegarde de chaque 2FA (2 facteurs d’authentification) que nous voulons utiliser.

keepassxc

[2] Authentification à deux facteurs

L’authentification à deux facteurs signifie que pour se connecter à un site ou à un service, il faut non seulement un login et un mot de passe, mais aussi un code généré par un système externe (sms, application mobile ou clé matérielle). Cela rend l’accès non autorisé extrêmement difficile.
La méthode la plus sûre est l’utilisation d’une clé matérielle telle qu’une yubikey. Vous pouvez aussi utiliser une application sur votre mobile, comme google authenticator.

yubikey sécurité

N’hésitez pas à me contacter pour plus d’informations. Je suis un partisan de la philosophie de l’open-source et de l’open-knowledge et je mets donc à disposition mes connaissances et mon expérience afin d’obtenir un niveau de connaissance ouvert à tous, ainsi que le code source des logiciels développés.

Nous avons préparé un petit formulaire statistique avec lequel nous demandons aux utilisateurs quels types de ressources d’information peuvent les intéresser. C’est-à-dire les ressources dont ils ont besoin en tant qu’entrepreneurs, investisseurs ou pigistes. Nous avons besoin de ces données statistiques pour la préparation de ressources d’information telles que : cours, conférences, livres électroniques, vidéos, etc. Il s’agit d’une forme purement statistique et clairement gratuite. Si vous voulez nous aider à donner cet avis, nous vous remercions. Vous pouvez procéder en cliquant sur ce lien: Statistiques des besoins

securite bitcoin valeur fondamentale

Sécurité de bitcoin et valeur fondamentale

Le mécanisme de sécurité du bitcoin est fortement lié à sa valeur intrinsèque et il est donc important de comprendre comment cette sécurité est obtenue sur le réseau. Il est un peu difficile de comprendre le mécanisme de sécurité de Bitcoin car il est constitué de concepts mathématiques abstraits difficiles à représenter.

Souvent, les gens veulent comprendre comment fonctionne le mécanisme de sécurité du bitcoin et pourquoi le bitcoin peut être considéré comme vraiment sûr même s’il est décentralisé et donc sans unité centrale qui le contrôle.

Bitcoin est décentralisé, neutre, distribué. Cela signifie qu’il n’y a personne derrière Bitcoin, il fonctionne grâce à un mécanisme complexe et articulé d’algorithmes mathématiques qui établissent le protocole. Ce protocole détermine l’émission de nouveaux bitcoin et la sécurité du réseau et des transactions financières.

Mais comment cette sécurité est-elle garantie ? Et à quel point Bitcoin est-il vraiment sûr?

Les dix années qui se sont écoulées depuis sa création montrent que le bitcoin est très sécurisé et qu’il est actuellement la cryptomonnaie la plus sûre. Il est maintenue en évolution continue par un pool de programmeurs et de mathématiciens parmi les meilleurs au monde.

La sécurité du bitcoin est développée sur le processus de minage et sa proof-of-work. Le but du minage est précisément le suivant : valider un bloc de transaction, construire le nouveau bloc candidat et ensuite valider ce bloc pour qu’il puisse être ajouté à la chaîne de blocs (blockchain). Les transactions placées dans un bloc validé deviennent immuables à mesure que de nouveaux blocs sont ajoutés à la chaîne.

Au cours de ce processus, de nouveaux bitcoin sont également crées (comme si ils étaient frappées) et sont distribuées comme récompense au mineur qui a pu valider le bloc à l’aide de l’algorithme de proof-of-work.

En quel sens la blockchain est-elle immuable et sécurisée?

Un bloc peut être vu de manière simplifiée comme un conteneur pour un nombre fini de transactions. Ce bloc possède une sorte de “connecteur” cryptographique qui le relie au bloc précédent et permet la connexion au bloc suivant.

Par validation de bloc, nous entendons plutôt l’exécution d’un calcul mathématique suivant un algorithme spécifique afin de trouver une valeur précise qui rend le bloc valide selon les règles du protocole et ensuite vérifié pour être ajouté à la chaîne de blocs.

Une fois qu’un bloc a été construit et validé et ajouté à la chaîne de blocs, il devient difficile à modifier car changer une seule transaction du bloc, impliquerait le recalcul de l’ensemble du bloc et sa validation avec la dépense énergétique correspondante.

Mais si le recalcul du dernier bloc est difficile, cette difficulté augmente au fur et à mesure que de nouveaux blocs sont ajoutés après lui, car un seul changement de transaction recalculerait alors tous les blocs qui suivent le bloc courant, ainsi que le bloc courant lui-même.

La blockchain représente énergie

Il devient de plus en plus difficile de modifier une transaction. Même après l’ajout de seulement 3 blocs, la dépense d’énergie et donc de ressources serait si élevée qu’une telle manipulation serait impossible. Dans la pratique, la blockchain est de plus en plus immuable au fur et à mesure que des blocs sont ajoutés, car l’énergie qu’ils contiennent sous forme de hashrate et de preuve de travail nécessaire est si élevée qu’ils sont immuables.

C’est l’extraordinaire sécurité du bitcoin, qui est également à la base de sa valeur intrinsèque. C’est comme si chaque bloc représentait une quantité d’énergie pour protéger les données qu’il contient. Et comme la difficulté et le taux de hashrate augmentent sur le réseau, il en va de même de l’énergie nécessaire pour compléter un bloc et donc de l’énergie dont il est composé.

Cela détermine également sa valeur fondamentale. Elle peut être considérée comme déterminée par l’énergie contenue dans chaque bloc qui constitue la chaîne de blocs. Bitcoin convertit l’énergie en sécurité et enferme la valeur des transactions comme si elle était stockée dans un coffre-fort.

sécurité portefeuille bitcoin

La sécurité d’un portefeuille bitcoin

Le premier élément à considérer lors de l’achat et de la détention de Bitcoin est la sécurité de vos fonds. En fait, détenir Bitcoin est différent d’avoir de l’argent à la banque. Si vous avez de l’argent à la banque, c’est la banque qui est le garant du dépôt, qui s’occupe de la sécurité et qui nous permet d’accéder à nos fonds quand nous le demandons. Avec Bitcoin, en revanche, nous détenons nos actifs directement et sans intermédiaires.

“Bitcoin: censorship-resistant & permissionless cash system”

Nous sommes donc évidemment plus libres parce que nous pouvons en disposer librement et effectuer toutes sortes de transactions sans avoir à demander la permission. Toutefois, il est immédiatement clair qu’il y a un risque lié à la plus grande responsabilité qui est la nôtre.

La sécurité de Bitcoin est un chapitre énorme et est de plus en plus d’actualité car de plus en plus de gens achètent Bitcoin pour les garder longtemps et doivent donc gérer leur sécurité. Cela devient donc un aspect crucial. Nous ferons plusieurs articles sur le sujet afin de diffuser les connaissances les plus importantes nécessaires pour pouvoir gérer vos Bitcoins en toute sécurité et confidentialité.

Chez Bitcoin, la sécurité de nos dépôts correspond à la sécurité de la clé privée. Qu’est-ce que la clé privée ? La clé privée est l’entité mathématique qui nous permet de déverrouiller nos bitcoins et de signer une transaction pour interagir avec le réseau.

Mais comment gérer la clé privée et exécuter les transactions ? C’est ici qu’on présente le portefeuille. Le portefeuille n’est rien de plus qu’un logiciel que nous pouvons installer sur un ordinateur, un smartphone ou tout autre appareil informatique et qui nous permet d’interagir avec le réseau Bitcoin, par exemple pour effectuer des transactions ou visualiser le solde de nos fonds.

Il existe également des portefeuilles hardware qui contiennent et gèrent la clé privée et nous permettent de signer des transactions de manière plus sûre, c’est-à-dire sans jamais la libérer du périphérique hardware lui-même.

Les portefeuilles sont destinés à la gestion de la clé privée ou plutôt à la gestion de la phrase mnémonique (dans le cas des portefeuilles HD – hiérarchique déterministe). Dans les paragraphes suivants, nous analyserons comment cet objectif est atteint dans le cas des portefeuilles matériels et les différences avec les portefeuilles installés sur un ordinateur portable ou desktop ou sur un appareil mobile d’un point de vue technique.

Zone de mémoire protégée spéciale

Dans de nombreux portefeuilles hardware et d’une manière ou d’une autre dans les smartphones modernes, le logiciel peut stocker des informations privées dans une zone protégée de la mémoire.

Ceci est possible grâce aux “chips” de sécurité qui se spécialisent dans ces fonctions. De cette façon, le logiciel peut utiliser l’appareil pour stocker du matériel cryptographique dans cette zone de mémoire spéciale qui n’est pas accessible par d’autres applications ou qui nécessite une authentification spéciale supplémentaire pour ce faire.

Cette zone est protégée par toutes les autres applications ainsi que par le système d’exploitation lui-même. Un niveau de sécurité supplémentaire est créé par le cryptage, afin d’éviter des risques supplémentaires lorsque le système d’exploitation est éteint. Il est très important que la clé privée ne puisse pas être copiée ou acquise à partir de la mémoire de l’ordinateur pendant qu’elle est utilisée pour signer une transaction.

De nombreux portefeuilles matériels (la plupart des portefeuilles matériels HD) ont une “chip” équivalente. Ce type d’appareil est donc plus sûr pour la gestion des clés. Voyons les avantages et les inconvénients d’un portefeuille pour smartphones et comparons-le à un portefeuille logiciel.

Portefeuille pour smartphone

Avantages de l’utilisation d’un portefeuille installé sur votre smartphone

  • mémoire spéciale pour les informations protégées ;
  • facile à installer ;
  • facile à transporter et à gérer ;
  • le smartphone est un objet que tout le monde a toujours avec lui ;

Inconvénients de l’utilisation d’un portefeuille installé sur un smartphone

  • l’accès physique facile par des personnes non autorisées ;
  • souvent, les smartphones sont équipés de plusieurs applications non sécurisées pour lesquelles le fabricant n’est pas connu ou n’est pas fiable ;
  • en cas de perte de l’appareil ;
  • Il n’est pas sûr pour détenir beaucoup de fonds pendant très longtemps ;
  • les portefeuilles disponibles ont généralement des caractéristiques et des fonctions moins bonnes ;
  • facile de recevoir un malware sur l’appareil qui compromet sa sécurité ;
  • un portefeuille installé sur un smartphone ne nous permet généralement pas un catalogage facile des transactions par étiquettes et donc la gestion de la privacy est plus inefficace ou insuffisante ;

Pour les raisons citées, ce type de portefeuille n’est pas adapté à la détention de grandes sommes d’argent pendant une longue période, mais seulement à la détention de petites sommes pour un usage quotidien, c’est-à-dire pour de petites dépenses qui peuvent être facilement effectuées par le smartphone.

Portefeuille pour ordinateurs de bureau ou portables

Sur un ordinateur portable ou de bureau doté d’un système d’exploitation standard (comme Apple Mac ou Windows, par exemple), il n’existe pas de capacité de stockage spéciale équivalente à la “chip” sécurisée des périphériques hardware. Ainsi, le portefeuille qui fonctionne sur un ordinateur portable ou un ordinateur de bureau conserve les informations cryptées et lorsque vous essayez d’y accéder, vous devez fournir la phrase de passe pour décrypter toutes les informations qui se trouvent sur le disque dur et les charger en mémoire.

Une fois décryptées, les informations sont chargées dans la mémoire de l’application qui devrait être protégée par d’autres applications, mais seulement si le système d’exploitation fonctionne correctement, est configuré correctement et n’est pas victime d’abus de virus ou de malware. Sinon, si l’ordinateur est compromis, le malware peut accéder aux données stockées dans la mémoire intercepter la clé privé.

Pour ces raisons, l’utilisation d’un logiciel de portefeuille sur un ordinateur de bureau est risquée et ne convient pas pour gérer de grandes quantités de Bitcoin. Le logiciel de portefeuille peut plutôt être utilisé en conjonction avec un dispositif de portefeuille hardware pour obtenir une sécurité optimale.

Portefeuille hardware

Il est certain que l’utilisation du portefeuille hardware est toujours plus sûre que tout autre type de portefeuille. L’utilisation d’un porte-monnaie électronique, cependant, implique que nous devons être très diligents dans la sauvegarde de notre phrase de 24 mots qui représente le “seed” (c.-à-d. le secret cryptographique, la clé privée).

bitcoin wallets

La séquence des 24 mots, appelée mnémonique (mnemonic), doit être écrite hors ligne sur une feuille de papier afin que vous puissiez être sûr qu’elle ne peut pas être interceptée électroniquement.

Vous ne devriez pas conserver une copie numérique ou en ligne de mnémonique pour quelque raison que ce soit et vous devriez conserver la copie papier des 24 mots dans un endroit sûr où elle ne peut être vue ou volée.

L’utilisation d’un portefeuille matériel sans sauvegarde ou le stockage incorrect de la sauvegarde pose un risque pour la sécurité de vos fonds. Vous devez donc vous assurer que vous avez suivi toutes les opérations de sauvegarde correctes avant de commencer à utiliser le portefeuille.

Avec un portefeuille électronique (hardware), la clé privée est tenue par l’appareil et séparée à l’intérieur. Il n’y a pas de partage de clé en dehors de l’appareil. Lorsqu’une signature est requise par la partie logicielle du portefeuille, la signature est exécutée dans l’appareil et la transaction déjà signée est produite en sortie. La clé privée ne quitte donc jamais l’appareil et n’entre pas en contact avec l’ordinateur sur lequel le logiciel fonctionne, et donc la probabilité qu’il soit copié par un malware est extrêmement faible.

Cela rend le portefeuille très sûr et constitue le meilleur moyen de préserver les fonds à long terme. Si vous avez des questions sur le sujet ou si vous souhaitez approfondir vos connaissances, vous pouvez laisser un commentaire ci-dessous. Je me ferai un plaisir de répondre à tous vos commentaires.