Vous vous êtes sûrement demandé, comme moi, quelle était la différence entre les deux. Pour résumer, PGP est le précurseur, alors que GPG est l’implémentation open source (libre).
Continuer la lectureArchives de catégorie : Cryptographie & données
Chiffrement ubiquitaire
Qu’est-ce que c’est encore que cette bestiole ? On n’arrête pas les nouveautés, qu’on souhaite pour le meilleur mais qui aboutissent en sécurité souvent sur le pire, comme SGX. Sans compter les nouveautés qui n’inventent rien, à part l’inculture de leurs promoteurs qui ne savent pas que la solution en question a déjà été inventée. Regardons donc.
Continuer la lectureChiffrement cloud
- https://clusif.fr/wp-content/uploads/2021/06/20201230-Rapport-Office-365-et-securite1.pdf
- https://learn.microsoft.com/fr-fr/microsoft-365/compliance/encryption?view=o365-worldwide
- https://learn.microsoft.com/fr-fr/compliance/assurance/assurance-encryption
- https://blog.ineat-group.com/2022/01/proteger-ses-documents-et-emails-sur-microsoft-365/
- https://www.nextinpact.com/article/70609/retour-sur-rachat-boxcryptor-par-dropbox-entre-flou-et-quete-dalternatives
Vive les masques jetables !
Comme tout le monde, vous vous êtes toujours demandé comment lancer un missile nucléaire en toute sécurité, sans que les Russes, les Chinois ou les Américains ne viennent perturber vos communications en changeant les cibles à l’insu de votre plein gré ou en connaissant vos cibles à l’avance : impossible de (sur)vivre sans savoir cela. Plus sérieusement, vous vous êtes plus probablement demandé s’il existait un moyen de chiffrement infaillible et infalsifiable permettant la transmission d’un message de façon vraiment confidentielle ? La réponse est oui : le masque jetable est la meilleure des solutions, et c’est même la seule. Nous ne parlons pas ici de la covid mais du chiffre de Vernam. La suite sur… NextINpact !
NFT
Je me suis longtemps demandé ce que c’était que ce machin. Je me suis plongé dans le sujet, et je n’ai pas été déçu, moi qui adore le solutionnisme technologique : La folie NFT (nextinpact.com).
Continuer la lectureDrôles de certificats
Tout peut arriver dans ce bas monde, y compris d’avoir de drôles de certificats. Elément de confiance essentiel, il peut y avoir quelques ratés.
Continuer la lectureDNS et TLS (DoH et DoT)
Derrière ce titre abscons se cache un enjeu important : sécuriser les requêtes DNS, souvent oubliées de toutes les études de sécurité.
Continuer la lectureCrypto AG
Beaucoup de bruit pour rien… On découvre en 2020 que les espions espionnent. Si je m’attendais à ça…
Continuer la lectureCertificat (contrôle)
Bien beau d’avoir un certificat, encore faut-il savoir s’il est fiable et valide. La norme utilisée étant quasiment toujours X509, étudions-en les caractéristiques.
Usage
SNI
Server Name Indication
Sources
Cryptographie en Python
Python est un langage pratique pour différents usages, y compris la cryptographie. Voici mon aide-mémoire sur le sujet.
Installation
Il faut jouer du pip. Le module le plus important est cryptography !
Voir aussi
- Mon repository GitHub
Fonctions de hachage
Les fonctions de hachage sont des fonctions particulières très utilisées dans le cadre de la sécurité informatique, notamment dans le domaine de la cryptographie et des certificats numériques. Elles permettent d’obtenir une empreinte, également appelée condensat (« hash »), à partir d’un message ou de tout document numérique.
Il existe un nombre assez restreint de fonctions de hachage, car elles sont assez complexes à mettre au point et reposent sur des mécanismes mathématiques complexes.
Principales caractéristiques
En pratique
Une fonction de hachage est une fonction mathématique particulière permettant de calculer rapidement l’empreinte d’une donnée informatique. Une fonction de hachage doit présenter les caractéristiques suivantes :
- La taille du condensat (« hash ») est fixe (pour un algorithme donné) ;
- Elle ne fonctionne que dans un sens (c’est-à-dire qu’il n’existe pas de fonction inverse) ;
- Pour une entrée donnée, on doit toujours obtenir le même résultat (empreinte) ;
- Toute modification même très légère en entrée produit un résultat très différent ;
- Elle est rapide à calculer.
L’intérêt de ce condensat est d’avoir une sorte de signature d’un document :
- L’irréversibilité permet de ne pas pouvoir retrouver le document original à partir du condensat (il est même très difficile de construire un document quelconque à partir d’une empreinte donnée) ;
- Si deux hashs sont différents, alors les documents initiaux sont forcément différents.
Intérêt et usage des fonctions de hash
L’intérêt principal est de permettre d’identifier la donnée de façon presque sûre sans pour autant transmettre la donnée : il est mathématiquement très difficile (voire impossible) de retrouver la donnée initiale à partir de son empreinte.

Ces fonctions peuvent avoir plusieurs usages, plus ou moins critiques. Cela peut aller du simple contrôle technique pour s’assurer qu’un message a été correctement transmis (ou n’a pas été modifié), jusqu’à la signature électronique.
Pour le mot de passe
On s’en sert également pour chiffrer les mots de passe dans beaucoup de systèmes. Puisque ces fonctions sont rapides, on peut facilement calculer l’empreinte d’un mot de passe ; c’est alors lui qui est stocké dans le système, et non le mot de passe en clair. Comme il est difficile de retrouver la donnée initiale à partir d’une empreinte, la protection ainsi obtenue est bonne (plus ou moins en fonction de l’algorithme utilisé et de sa mise-en-oeuvre).
Lorsqu’un utilisateur veut se connecter à un système, il entre son mot de passe. On calcule ensuite son empreinte : si c’est la même que celle stockée dans le système, l’accès est alors autorisé.
Pour vérifier l’intégrité d’une donnée
Si on souhaite vérifier qu’une donnée (un fichier informatique) est intègre, c’est-à-dire non modifiée, on communique le fichier au destinataire et ce dernier recalcule lui-même son empreinte : celle-ci doit correspondre à une empreinte de référence.

Toute la subtilité vient ensuite de la façon dont on connaît cette empreinte de référence : quand on télécharge un fichier, cela peut être une somme de contrôle ; pour un certificat, c’est une des données du certificat.
Pourquoi presque sûre ?
L’empreinte est généralement de petite taille et de longueur fixe. Même si cela représente beaucoup de possibilités, ce nombre est fini, alors que le nombre d’entrées possibles est, lui, infini.
Statistiquement, il est donc très peu probable que deux données différentes en entrée produisent la même empreinte, mais c’est possible : la difficulté augmente avec la longueur choisie pour l’empreinte. Pour SHA-1, c’est 160 bits. pour SHA-256 c’est… 256 bits !
Trouver deux données différentes ayant un même hash est appelé collision. La probabilité d’une collision dépend principalement de la longueur du hash, mais aussi (un peu) de la façon dont il est calculé (notamment la rapidité de son calcul).
Les propriétés et les attaques
Propriétés formelles attendues d’une fonction de hachage
Reprenons un peu le chemin de la théorie. Selon McAfee Labs (Intel)1, une bonne fonction de hachage doit avoir les propriétés suivantes :
- Résistance à la préimage : Pour une valeur de hachage donnée, il doit être difficile de trouver un fichier ou message pour lequel la fonction de hachage produirait une valeur identique.
- Résistance à la seconde préimage : Pour un fichier ou message donné, il doit être difficile de trouver un second fichier ou message tel que la fonction de hachage produirait la même valeur pour les deux fichiers ou messages.
- Résistance à la collision : Il doit être difficile de trouver deux fichiers ou messages distincts pour lesquels la fonction de hachage produirait la même valeur de hachage.
Dis comme ça, il n’est pas évident de voir la différence (je parle pour moi). Mais l’enjeu de cette formalisation est de voir quels sont les types d’attaques possibles : chaque propriété est plus ou moins forte, pour un type de hash donné. Et plus la propriété est faible, plus une attaque est probable.
Les différents type d’attaques
Attaques par collision
Il existe deux types principaux d’attaques de collisions :
- l’attaque de collisions classique : cette attaque consiste à trouver deux messages m1 et m2 différents, tels que hachage (m1) = hachage (m2) ;
- l’attaque de collisions avec préfixes choisis : étant donné deux préfixes différents P1 et P2, cette attaque consiste à trouver deux suffixes S1 et S2 tels que hachage (P1 ∥ S1) = hachage ( P2 ∥ S2) (où ∥ est l’opération de concaténation).
Source : Wikipédia
xxx
Qu’est-ce qui se passe avec SHA-1
Il se passe que la robustesse de SHA-1 est remise en question face au développement de la puissance de calcul disponible. Or SHA-1 est très utilisé, notamment pour les certificats ; or si on peut attaquer SHA-1, on peut alors attaquer des certificats et créer des faux !
Pour plus d’informations : voir SHA-1.
Ce qu’affichent les navigateurs
La signalétique est généralement univoque. Chrome affiche du vert quand c’est sûr, du gris pour un avis neutre, et du rouge quand le niveau de sécurité est trop faible.

Malheureusement tout le monde applique un peu les règles qu’il veut, comme il le sent, ce qui aboutit à des incohérences pour un utilisateur multi-navigateurs (comme moi). Google a tendance à avoir l’attitude la plus restrictive, ce qui n’est pas forcément condamnable, sauf que cela n’a pas toujours de l’intérêt, comme par exemple sur des sites de peu d’influence ou de peu d’importance.
De plus, Google change ses règle si rapidement qu’un utilisateur peut être perdu en voyant un site « dégradé » (en termes de sécurité) d’une version à l’autre du navigateur.
Exemple d’utilisation
Sous Linux, si vous ne disposez pas des commandes shaxxxsum :
openssl dgst -sha1 filename
Chiffrement (outils)
Calcul multipartite sécurisé
Le calcul multipartite sécurisé est un problème où chacune des parties veut effectuer une opération commune sur des données qui doivent rester privées (aucun des participants ne connaît les données de l’autres) et exactes (non compromises). Il faut aussi qu’un tiers extérieur (attaquant) ne puisse pas accéder lui non plus aux données privées, ni les falsifier.
Participons
Une des applications pratiques est celle du classement de fortunes de millionnaires, sans rendre publics les montants de ces fortunes. Pour deux millionnaires cela revient à savoir lequel est le plus riche sans connaître la fortune de l’autre. La réduction à deux participants n’est pas anodine car elle permet, dans certaines méthodes, une généralisation à plusieurs participants.
Un cas d’usage similaire est celui d’enchères anonymes, ou du comptage des voix dans une élection : il faut savoir qui a gagné sans connaître le vote de chacun (note : ceci est réalisable dans le cas du vote papier, et beaucoup plus difficile dans un vote électronique).
Mathématiquement, cela peut aussi être la création d’un entier aléatoire N que deux parties ne peuvent reconstituer que conjointement. Si N = pq avec p et q étant des facteurs de N, alors aucune des deux parties ne connaît (p,q). Les deux parties peuvent ainsi effectuer des calculs sur des fonctions polynomiales sans révéler les valeurs utilisées en entrée, qui restent donc secrètes, ce qui a des applications en cryptographie.
Les Yao Garbled Circuits sont une solution possible permettant le calcul multipartite sécurisé.
Garbled circuits, secure multi-party computation
Références externes
- http://u.cs.biu.ac.il/~lindell/research-statements/tutorial-secure-computation.ppt
- https://www.cs.purdue.edu/homes/ninghui/courses/555_Spring12/handouts/555_Spring12_topic24.ppt
- https://eprint.iacr.org/2009/314.pdf
- https://cyber.ee/uploads/2013/04/T-4-15-Yao-Garbled-Circuits-in-Secret-Sharing-based-Secure-Multi-party-Computation.pdf
- https://arxiv.org/pdf/1410.1389.pdf
- http://www.lix.polytechnique.fr/~catuscia/teaching/cg597/01Fall/lecture_notes/SMC.ppt
- http://www.wisdom.weizmann.ac.il/~gilc/talks/mpc.ppsx
- http://www.cs.tau.ac.il/~fiat/crypt04/Lecture_12.ppt
- https://www.sciencedirect.com/science/article/pii/S0166218X05002428
Autres informations
Google Releases Encrypted Multi-Party Computation Tool(June 19, 2019)
Google has rolled out its open-source Private Join and Compute (PJC) secure multi-party computation tool. PJC can be used in studies that require data sets containing sensitive information from two separate parties. PJC will allow two sets of data to be used in computations without exposing the data each set contains. The data are encrypted during the computation; all parties can see the result.
Read more in:
– security.googleblog.com: Helping organizations do more without collecting more data
– www.wired.com: Google Turns to Retro Cryptography to Keep Data Sets Private
– www.theregister.co.uk: Google takes the PIS out of advertising: New algo securely analyzes shared encrypted data sets without leaking contents
– www.zdnet.com: Google open sources Private Join and Compute, a tool for sharing confidential data sets
GnuPG
GnuPG est un système de chiffrement (ou cryptosystème) indépendant des grands acteurs de la sécurité et de la surveillance (lesquels se confondent parfois). Il se base sur l’utilisation de clés de chiffrement asymétriques, ce qui permet de les échanger plus facilement.
Principes
A quoi ça sert un crypto-machin ?
Ça sert à masquer vos très chères données à nos très chers GAFA et autres acteurs du web et de l’internet. Accessoirement, Mme Michu ne pourra pas non plus lire ce que vous échangez avec vos correspondants.
En gros, vous créez une paire de clés de chiffrement qui vous seront associée à vous personnellement. Un des clés sera publique, l’autre sera privée ; elles vous permettront de chiffrer vos données ou vos mails. La clé publique pourra et devra être diffusée partout, et la clé privée devra rester secrète et donc, au contraire, être la plus cachée possible. Le gros inconvénient est que lorsqu’on perd sa clé privée, et bien c’est foutu, ça marche plus ! Il n’y a plus qu’à en recréer une, et diffuser la nouvelle clé auprès de vos correspondants, car il n’existe aucun moyen de la récupérer.
Comment ça s’installe ?
Sur les systèmes Linux, les outils nécessaires sont généralement installés par défaut. Après, le plus important est de stocker la clé privée en lieu sûr. La première opération à réaliser est la génération d’une paire de clés avec la commande --gen-key :
gpg --gen-key
On aura besoin durant cette procédure de disposer d’une quantité d’aléa (ou entropie) suffisante. Afin de voir l’entropie disponible sur un système Linux, on peut utiliser la commande suivante1 :
watch cat /proc/sys/kernel/random/entropy_avail
S’il vous en manque, il peut être judicieux d’utiliser le package rng-tools (sur Ubuntu).
apt-get install -y rng-tools
Pour générer un peu d’entropie supplémentaire, on peut utiliser la commande suivante :
/usr/sbin/rngd -r /dev/urandom
La seconde mesure consiste à générer un certificat de révocation pour toute une nouvelle paire de clés. La raison de procéder ainsi est qu’il vous faut disposer de la clé privée pour générer son certificat de révocation. Générer le certificat de révocation le plus tôt possible vous met à l’abri de l’oubli de votre clef. Vous devrez bien sûr conserver ce certificat à l’abri. En outre, il doit rester facile et rapide de révoquer une clé, en cas de compromission.
Comment ça marche pour chiffrer/déchiffrer ?
Pour chiffrer :
gpg -e destinataire [message]
Pour déchiffrer :
gpg [-d] [message]
Et pour signer ?
Pour signer et chiffrer un message, la syntaxe complète est :
gpg [-u expéditeur] [-r destinataire] [--armor] --sign --encrypt [message]
On peut faire un chouïa plus simple, pour signer un message avec l’identité par défaut de votre trousseau de clé :
gpg --sign|--clearsign|--detach-sign [message]
L’option --sign vous construit un fichier .gpg illisible, --clearsign produit un fichier au format texte avec le contenu en clair suivi de la signature, et enfin --detach-sign ne fournit que la signature dans un fichier .sig. Ajoutez l’option --armor pour avoir un fichier signature en clair, suffixé par .asc. Si vous prenez l’option --clearsign, cela vous construira un fichier de type :
root@rasp-janiko:/jean/test# cat essai.txt.asc
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Ceci est un test.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)
iQEcBAEBAgAGBQJV+WSgAAoJEN+s4kEe3i4xT6AH/RlkQZyQQ5XkdGmIQGgk8H6h
C8zK7/RO1XzzP4xyqA59yHfgPgwGJ9PASaaUlOHgLcIbbiTRTrow8ZIPNhBdF4fC
gEvZfu9p27X6SXXRa/94Lt1uIHDVFhtzWf9YNoytToxRSIf/CvPpTXcHPbnYP7YD
Gwdz+Qxz8u2vhKJKLk4uXHgJb97IvsgoSfpb7e7TMMqCRIKV2S6T1LyouW+Tyy1Y
ZerF5rGIWle2rYVQoM5ujuM77q/XaxAZyGQ7fp5rndBSVMBWptK5W9k8Ji4vhCqa
FqhVdzTvq+DwmsjigCUtLk9uxSdqBhNQ+xb3sSRlyXG1PmnQtigXlUnUs/wBVds=
=t6tc
-----END PGP SIGNATURE-----
Pour vérifier la signature, il suffit de taper :
gpg --verify [message]
Si tout va bien, vous aurez :
root@rasp-janiko:/jean/test# gpg --verify essai.txt.asc
gpg: Signature faite le mer. 16 sept. 2015 14:46:24 CEST avec la clef RSA d'identifiant 1EDE2E31
gpg: Bonne signature de « Jean GEBAROWSKI (statodynamicien) <jean@geba.fr> » </jean@geba.fr>
Et si la signature est mauvaise ou que le fichier est modifié :
root@rasp-janiko:/jean/test# gpg --verify essai.txt.asc
gpg: Signature faite le mer. 16 sept. 2015 14:46:24 CEST avec la clef RSA d'identifiant 1EDE2E31
gpg: MAUVAISE signature de « Jean GEBAROWSKI (statodynamicien) <jean@geba.fr> » </jean@geba.fr>
Ce qu’il faut vérifier
Comme toujours, ça ne sert à rien d’utiliser des moyens sûrs si on ne vérifie pas leur validité. Quand on reçoit une alerte sur un certificat, il ne faut pas cliquer sur OK sans réfléchir. Pour les clés PGP, on a vu des tentatives d’usurpation reposant sur l’identifiant court (ou short id), qui peut parfois être dupliqué ! Donc en utilisant et/ou important des clés, il ne faut pas de limiter à cet identifiant mais aussi vérifier l’adresse mail23…
Où vérifier ?
Le réseau SKS Keyserver (Synchronizing Key Server) a été historiquement le principal système de distribution des clés publiques. Le réseau SKS est en déclin (relatif) car il est vulnérable à des attaques comme l’empoisonnement de clés (« key poisoning »). On a, par exemple :
- PGP Global Directory
- MIT PGP Key Server (avec sa belle interface n’utilisant aucune feuille CSS)
- Ubuntu openPGP Keyserver
Sinon vous pouvez vous tourner vers :
- keys.openpgp.org qui s’est modernisé, et qui est intégré par défaut dans plusieurs outils GPG.
Pour importer une clé :
gpg --keyserver hkps://keys.openpgp.org --recv-keys
Outils et sites utiles
- OpenPGP et GnuPG : 25 ans de chiffrement pour tous, ce qu’il faut savoir avant de s’y mettre (nextinpact.com)
- https://secushare.org/PGP (pour avoir un avis critique)
- RFC 4880 (OpenPGP)
Site officiel
Failles
Une faille a été découverte en mai 20184 dans de nombreux outils de messagerie ou dans leurs plugins mettant en oeuvre PGP et S/MIME. Il s’agirait plus d’une mauvaise implémentation de ces protocoles dans les clients de messagerie que d’autre chose, mais le résultat est le même : il y a danger, même sil l’exploitation n’est pas triviale5.
Le seul conseil pour l’instant est de désactiver le déchiffrement automatique des messages dans les clients de messagerie concernés (tels que Outlook, Thunderbird, Apple Mail, etc.) en supprimant les clés qui y sont stockés, et de désactiver l’affichage HTML. Le déchiffrement ne doit être effectué que dans une application tierce, jusqu’à production du correctif.
- http://www.zdnet.fr/actualites/efail-les-details-de-la-faille-pgp-tombent-en-avance-39868170.htm
- https://www.eff.org/deeplinks/2018/05/attention-pgp-users-new-vulnerabilities-require-you-take-action-now
Une autre faille a été mise au jour en juin 20186 permettant d’usurper n’importe quelle signature, ce qui est gênant. La version 2.2.8 de GnuPG corrige le tir de cette anomalie qui existait depuis très longtemps, apparemment !
Scan SSL
La confiance n’exclut pas le contrôle, dit-on souvent. Il existe d’excellents outils pour évaluer la sécurité et la robustesse d’un serveur proposant une communication SSL.
Pour ma part, je recommande SSLScan, dont il existe plusieurs variantes. En fouillant un peu, celle qui me semble la plus pertinente est celle de rbsec, car elle est à peu près à jour (elle intègre les versions 1.1 et 1.2 de TLS), et ne mixe pas les technologies puisqu’il s’agit uniquement d’un programme en langage C. Ca permet d’éviter de trop nombreuses dépendances, et ça évite de cumuler les vulnérabilités de multiples technologies (bien que cet aspect puisse être débattu).
Continuer la lectureCryptologie
La cryptologie est la science de l’écriture secrète, comprenant la cryptographie (technique de chiffrement de message) et la cryptanalyse (technique de déchiffrement d’un message).
Continuer la lectureCryptomonnaie
Les cryptomonnaies ne sont pas des monnaies, en tout cas pas au sens légal du terme. Il s’agit de systèmes d’échange, basé sur des blockchains, On parle aussi de monnaies virtuelles.
Fonctionnement
Le fonctionnement est assez simple : un utilisateur détient un ou plusieurs portefeuilles, pour une cryptomonnaie donnée, et chaque portefeuille détient un certain nombre d’unités de valeur de cette cryptomonnaie.
Pour échanger des valeurs entre deux utilisateurs, il suffit d’inscrire la transaction dans la blockchain de la cryptomonnaie. Une fois que cette transaction est validée selon les règles de la chaîne, elle devient irréfutable (non répudiable), à la manière d’un livre de comptabilité : la seule façon d’annuler la transaction est de contre-passer celle-ci (réaliser la transaction inverse).
Validation des transactions
Il existe plusieurs façons de valider une transaction, ou un bloc contenant un ensemble de transactions.
Preuve de travail
La preuve de travail est à la base du bitcoin et de nombreuses cryptomonnaies. Pour valider un bloc (un ensemble de données) d’une chaîne, on lui attribue une signature. Pour le bitcoin, c’est un hash informatique qui a une forme déterminée (un nombre défini de 0).
Obtenir un hash avec de nombreux 0 est difficile car il n’y a aucune règle pour l’obtenir : il faut essayer différentes combinaisons, ce qui nécessite de nombreux calculs répétitifs. Pour cela, on ajoute une valeur (appelée nonce) au bloc et on calcule son hash. S’il a la forme désirée, c’est le gros lot ! Sinon on recommence.
Ainsi, la moindre modification du bloc changera complètement la valeur du hash : pour obtenir une valeur de hash valide et acceptable, il faudra recommencer à rechercher la valeur du nonce, ce qui prendra beaucoup de temps de calcul. C’est cette difficulté qui fait l’intérêt de la règle : il est très difficile de modifier un bloc validé. Par ailleurs, les blocs étant chaînés, plus on avance dans le temps, plus il est difficile de revenir en arrière : si on modifie un bloc ancien, il faudra le valider lui (c’est-à-dire trouver une valeur nonce convenable) mais aussi tous les blocs qui le suivent chonologiquement. Valider un bloc prend déjà beaucoup de puissance de calcul, alors plusieurs, je vous laisse imaginer.
Transparence
L’atout majeur de cette technique est d’être transparente et décentralisée. Ainsi, tout le monde peut consulter la chaîne et voir ainsi toutes les transactions ayant été effectuées (depuis la création en général), et par un calcul simple en déduire le solde de n’importe quel portefeuille.
Cette transparence, associée au fait que la validation se fait sur la base d’une règle commune, publique, et décentralisée, empêche théoriquement toute manipulation de la chaîne
Anonymat
Un des grands reproches faits aux cryptomonnaies porte sur l’anonymat des détenteurs de portefeuilles, qui faciliterait le blanchiment d’argent ou qui aiderait à réaliser des transactions illégales.
Non, le bitcoin n’est pas anonyme

Je pense que la critique est recevable dans certains cas, pour certaines monnaies, mais on prend trop souvent en exemple le bitcoin alors que justement cette monnaie est un mauvais candidat pour des échanges criminels.
Dans ce type d’utilisation, les défauts du bitcoin sont :
- L’absence d’anonymat, justement : les portefeuilles ne sont que pseudonymisés, c’est-à-dire qu’ils ont un identifiant sans signification et sans lien direct avec le possesseur, mais les transactions sont publiques et tracées ! Il y a une différence subtile à comprendre, mais elle est de taille : on peut ainsi suivre toutes les dépenses et tous les transferts d’un compte donné, ainsi que tous les portefeuilles qui sont en lien avec lui. De plus, la plupart des plateformes d’échange (pour passer de bitcoin en monnaie sonnante et trébuchante) imposent de plus en plus souvent d’identifier le détenteur du compte.
- La volatilité du cours, qui empêche des opérations trop importantes ou étalées dans le temps, en raison du risque de change.
- Dans une moindre mesure la lenteur actuelle du réseau, alors que la fluidité peut concourir à faciliter la fuite et le masquage des transactions.
Des études ont analysé le processus de blanchiment, et l’usage du bitcoin reste l’exception.
Par exemple, dans l’attaque de la plateforme Akropolis en novembre 20201, le fraudeur a transféré ses fonds sur un portefeuille Ethereum, dont tout le monde peut suivre l’évolution dans la chaîne de blocs…
Peut-on quand même être anonyme ?
Oui, on peut, à peu près. Mais pas avec le bitcoin. Les criminels auront plutôt recours à d’autres cryptomonnaies plus adaptées : Monero2 est souvent citée comme meilleur candidate. Leur construction et leur fonctionnement ont été pensés de façon à rendre le plus anonyme possible les opérations (et les opérateurs), mais ce degré d’anonymisation dépend de chaque monnaie, et cela reste faillible3, même pour Monero. Rappelons-nous aussi qu’une blockchain est initialement un registre de transaction distribué, accessible à tous !
Quel est le meilleur moyen d’être anonyme ?
L’argent liquide. Rien de plus pratique : anonymat complet et aucun traçage par défaut.
Faut-il investir dans les cryptomonnaies ?
On peut le faire aujourd’hui, mais à une condition : n’investir que ce qu’on accepte de perdre. En d’autres termes, considérez votre investissement en cryptomonnaie comme perdu au moment même où vous investissez, en raison des incertitudes beaucoup trop nombreuses pesant sur ces monnaies.
Personne n’est en mesure de prédire comment évolueront les différentes réglementations et lois encadrant les placements financiers et les cryptomonnaies, ni la solvabilité d’aucun système d’échange. On a déjà vu des places d’échanges avoir de gros soucis, voire même disparaître. Et la valeur d’une cryptomonnaie dépend de l’appréciation que les investisseurs en ont, sachant que certaines de ces monnaies sont plus ou moins liées à un sous-jacent (une vraie valeur économique, qui n’est d’ailleurs pas forcément elle-même très sûre), alors que d’autres n’en ont même pas.
Les attaques sur les cryptomonnaies
Basée sur des outils informatiques, les cryptomonnaies sont forcément attaquables, plus ou moins facilement.
Attaque des 51%
L’attaque la plus connue pour les cryptomonnaies à preuve de travail est l’attaque des 51%. Le principe de la validation d’un bloc dans ce cas est simple : si la majorité des mineurs sont d’accord, alors le bloc est validé. Fort logiquement, si 51% des mineurs sont contrôlés par une seule entité, celle-ci peut décider ce qu’elle veut : modifier le bloc, le rejeter, etc. De nombreux pools de mineurs de bitcoin se sont scindés pour amoindrir le risque de cette attaque. D’autres cryptomonnaies, moins répandues, ayant moins de mineurs, sont beaucoup plus vulnérables et plusieurs attaques ont déjà été recensées, comme sur le VertCoin4 par exemple.
Sources
- https://bitcoin.fr/ny-touchez-pas/
- https://www.latribune.fr/entreprises-finance/banques-finance/industrie-financiere/les-cryptomonnaies-l-argent-des-criminels-862460.html Attention sur FinCEN : les banques déclarent leurs doutes sans stopper les transactions, mais il faut savoir que seule la justice peut arrêter une transaction suspecte ! On n’arrête pas une opération sur des soupçons mais uniquement si une des parties le demande (plainte).
Bug SSL (Apple)
Je classe la vulnérabilité CVE-2014-1266 parmi les énigmes de sécurité informatique, comme l’affaire TrueCrypt, car les circonstances entourant ce bug SSL sont mystérieuses, et n’ont pas l’air d’avoir été éclaircies (en 2018).
Comme son nom l’indique, cette faille a été découverte en 2014.
SHA-1
SHA-1 est le nom d’un algorithme de hachage très utilisé en cryptographie.
Qu’est-ce qui se passe avec SHA-1
Beaucoup de bruits courent en 2014-2015 au sujet de la vulnérabilité potentielle de cet algorithme de hachage. Il est très fortement utilisé dans toute l’industrie informatique, notamment dans les certificats numériques (mais pas uniquement).
Or des travaux ont mis en évidence des failles possibles sur cet algorithme dès 2005. Toutefois, cela restait théorique car hors de portée de la puissance de calcul disponible à l’époque. Dix ans plus tard, les choses ont bien sûr évolué.
Continuer la lectureCourbes elliptiques
Les courbes elliptiques sont des outils mathématiques utilisés en cryptographie.