Magic Wormhole - Transférez des fichiers d'un ordinateur à un autre en tout sécurité
Admettons que vous ayez besoin de transmettre des fichiers d’une machine A à une machine B, sans laisser aucune trace et de manière sécurisée ?
Comment faites-vous ?
La seule idée qui me vient à l’esprit, c’est de tout copier sur une clé USB, de déposer les fichiers puis de manger la clé USB pour que jamais personne ne la retrouve… Quoique ça ne fonctionne pas avec les Lions de mer, alors ça ne fonctionnera pas non plus avec vous. Bon, disons que vous détruisiez à la perceuse la clé USB. Là ça peut le faire. Mais vous devrez quand même être proche de l’autre machine, car envoyer la clé USB par la Poste c’est l’exposer…
C'est pourquoi l'autre méthode c'est d'utiliser un outil comme [Magic Wormhole](https://github.com/warner/magic-wormhole) ("Trou de vers magique" en anglais) qui va vous permettre de transférer des fichiers, peu importe leur taille, via le réseau en toute sécurité.Ce package s’installe de la manière suivante…
pip install magic-wormhole
…et fournis à la fois une bibliothèque et un outil en ligne de commande permettant de transférer des fichiers ou des répertoires d’un ordinateur à un autre simplement et de manière sécurisée. Pour assurer la sécurité, Magic Wormhole utilise PAKE (pour “Password-Authenticated Key Exchange”), un type d’algo de chiffrement qui utilise un mot de passe à faible entropie pour établir un partage de clé cryptographique à forte entropie. Cette clé est ensuite utilisée pour chiffrer les données.
Voici un exemple de connexion entre 2 machines.
Expéditeur :
% wormhole send README.md Sending 7924 byte file named 'README.md' On the other computer, please run: wormhole receive Wormhole code is: 7-crossover-clockwork Sending (<-10.0.1.43:58988).. 100%|=========================| 7.92K/7.92K [00:00<00:00, 6.02MB/s] File sent.. waiting for confirmation Confirmation received. Transfer complete.
Receveur :
% wormhole receive Enter receive wormhole code: 7-crossover-clockwork Receiving file (7924 bytes) into: README.md ok? (y/n): y Receiving (->tcp:10.0.1.43:58986).. 100%|===========================| 7.92K/7.92K [00:00<00:00, 120KB/s] Received file written to README.md
Dans l’exemple ci-dessus, ce que vous pouvez voir, c’est qu’un code unique facile a prononcer et à retaper est généré par l’outil (“7-crossover-clockwork”). C’est ce code que vous devez ensuite transmettre à une autre personne (via un canal audio chiffré sur Signal par exemple), pour que celle-ci le tape au moment où Magic Wormhole le lui demande.
S’établira alors un partage de clé de chiffrement et le transfert des fichiers sécurisé pourra commencer.
Pour qu’un attaquant réussisse à péter le truc et obtenir la clé partagée, il faudrait que vous l’informiez (en parlant fort dans un lieu public par exemple) au sujet du mot de passe, ou qu’il soit sur le même réseau que vous et qu’il utilise une technique de man-in-the-middle durant la phase initiale de connexion (qui ne dure que quelques secondes…) et qu’il “devine” dans le même temps et de manière instantanée ou presque le mot de passe utilisé par les 2 utilisateurs s’échangeant des fichiers.
Soit 1 chance sur 65536 de deviner le mot de passe, ce qui est certes peu, mais Magic Wormhole affichera suffisamment d’erreurs aux utilisateurs légitimes à chaque essai de mot de passe raté qu’ils se douteront directement de quelque chose. Ainsi les risques restent faibles.
Si vous voulez tester Magic Wormhole, tout est expliqué ici. Et ça peut même fonctionner au travers du réseau Tor.
Et pour ceux qui veulent creuser le sujet, Brian Warner, le papa de Magic Wormhole vous dit tout ici (vidéo de 2016).
Entièrement dédiée à la cybersécurité, l'école Guardia est accessible soit directement après le bac (post-bac), soit après un bac+2 ou bac+3. En rejoignant l'école Guardia, vous deviendrez développeur informatique option cybersécurité (Bac+3) ou expert en cybersécurité (Bac+5).