THREAD : Pourquoi on ne peut pas fabriquer son propre QR code de vaccination #PassSanitaire

Aujourd'hui, je vous propose un thread de vulgarisation sur quelques principes cryptographiques, promis ce sera beaucoup moins technique que celui d'hier 😉

Comme je le disais dans des interviews récentes avec @libe et @Numerama, "Le pass sanitaire est signé numériquement, ce qui le rend théoriquement impossible à la falsification".

Mais qu'est-ce que c'est que cette signature, et pourquoi on ne peut pas juste l'imiter ?
Tout d'abord, on va prendre un exemple que j'utilise souvent pour illustrer la signature cryptographique : vous allez à la mairie pour faire certifier un document papier.

Ce scénario de la vie réelle a de nombreux parallèles avec les signatures numériques !
Quand vous allez faire certifier une signature en mairie, vous apportez un document déjà rempli et signé, et l'agent de mairie appose un tampon officiel de la ville.

(Je l'ai déjà fait qq fois, ils ont une presse pour imprimer le logo en relief dans le papier c'est très cool) Image
Pourquoi peut-on faire confiance à ce processus de certification en mairie ? Parce qu'il est difficile à falsifier.
Pour obtenir un document certifié de manière illégitime, plusieurs options (toutes difficiles) :

- Voler le tampon de certification
- Corrompre un employé de mairie
- Créer une copie parfaite du tampon
- Voler le document certifié de quelqu'un d'autre
Le #PassSanitaire, c'est quasiment la même chose, mais en version numérique et encore plus sécurisé !

Au lieu d'un cachet à l'encre sur un document papier, l'administration va apposer ce qu'on appelle une signature cryptographique.
Ce genre de signature, on les utilise en permanence dans le monde numérique.

C'est par exemple ce que votre ordi utilise dans le protocole HTTPS (le petit cadenas !) pour vérifier que votre interlocuteur est bien twitter‍.com et non un attaquant qui intercepte le trafic réseau. Image
Entrons enfin dans le vif du sujet : une signature cryptographique, comment ça marche ?

Tout d'abord, on va parler des clés asymétriques. On a deux clés A et B, liées par des propriétés mathématiques (je vous passe les détails) et complémentaires l'une de l'autre. Image
(j'en profite pour signaler que j'assume pleinement mon design graphique pas génial fait avec Paint, mais désolé pour le choix de couleurs qui n'est sûrement pas top pour l'accessibilité)
Ces deux clés sont utilisées pour transmettre des informations entre les détenteurs de ces deux clés, de manière chiffrée (les non-initiés disent souvent "crypté", mais en réalité ce mot n'existe pas ! Cc @OnDitChiffrer)

Si vous comprenez ce schéma, vous avez fait le plus dur 😉 Image
"Mais dis-moi Jamy, comment on utilise ces clés pour vérifier la validité du pass sanitaire ?"

Eh bien c'est tout simple : l'entité qui crée le certificat (en France c'est l'Assurance Maladie) garde la clé A et distribue publiquement la clé B à tout le monde.
Dans ce mode de fonctionnement (qui est de loin le plus répandu en cryptographie asymétrique), on utilise les termes "clé privée" et "clé publique".

Ensuite, voici comment se déroule la création d'un certificat de vaccination : Image
Ici, seule l'Assurance Maladie est en mesure de créer des attestations car c'est la seule à détenir la clé privée.

Pour vérifier la validité d'un pass sanitaire, l'appli TousAntiCovid Vérif utilise la clé publique, qui est commune à tous et disponible publiquement. Image
Et la seule manière de créer une donnée qui se déchiffre correctement avec la clé publique, c'est de posséder la clé privée correspondante. Donc tant que la clé privée de l'Assurance Maladie reste entre de bonnes mains, impossible de fabriquer soi-même un pass sanitaire !
Pour en revenir au parallèle de la certification de signature, ici le tampon magique c'est la clé privée, qui permet de certifier de manière sûre la provenance du certificat ! Image
Les 4 attaques du système papier se retrouvent sur la signature électronique. Pour obtenir un pass sanitaire illégitime, on peut :

- Voler la clé privée
- Corrompre un personnel de vaccination
- Créer une copie parfaite de la clé privée
- Copier le pass sanitaire de qqn d'autre
Voler la clé privée relève du quasi-impossible vu les protections mises en place.

Il est théoriquement possible de recréer la clé privée à partir de la clé publique, mais ça prendrait des milliards d'années même sur le plus puissant des supercalculateurs !
Donc les deux options qui restent sont de corrompre un soignant ou de voler le pass de quelqu'un d'autre, mais ces problèmes ne relèvent pas de la cybersécurité et sont difficiles à éliminer quel que soit le système (papier ou électronique) choisi😉
J'en profite pour répondre également à une interrogation fréquente à propos du pass sanitaire : à quel point les données personnelles des utilisateurs sont-elles exposées ?
De par sa nature, le certificat de vaccination DOIT contenir des informations personnelles sur son détenteur, sinon l'appli TAC Vérif ne dispose d'aucune info à afficher lors du contrôle. Les données stockées sont les suivantes (ici 2D-DOC, mais le format DCC🇪🇺 est similaire) : Image
N'importe qui pouvant scanner votre QR code peut donc récupérer ces quelques infos, mais le vrai risque est que cette personne pourra surtout créer une copie de votre pass sanitaire pour le revendre à des antivax...

Retrouvez mon autre thread à ce sujet :
L'avantage majeur offert par ce système de signature est que la validation d'un certificat est décentralisée et hors-ligne dans TousAntiCovid Vérif, sans utiliser un serveur central.

Ainsi, vous ne laissez aucune trace de quand, où, ni combien de fois vous utilisez votre pass.
Merci d'avoir suivi ce thread, et surtout n'hésitez pas à poser des questions !

• • •

Missing some Tweet in this thread? You can try to force a refresh
 

Keep Current with Mathis Hammel

Mathis Hammel Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

PDF

Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3/month or $30/year) and get exclusive features!

Become Premium

Too expensive? Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal Become our Patreon

Thank you for your support!

Follow Us on Twitter!

:(