close
  • Ko chevron_right

    Comment chiffrer un document avec Vim ?

    news.movim.eu / Korben · Tuesday, 9 June, 2020 - 07:00 · 2 minutes

Quand il s’agit d’écrire sous Linux, j’ai toujours préféré nano à Vi ou Vim. Toutefois, je reconnais que Vim est bien plus puissant que nano pour éditer un contenu. Et surtout, il possède une fonctionnalité qui permet de chiffrer un document à l’aide d’un mot de passe. Cela peut-être pratique pour protéger votre journal intime (ahaha) ou pour conserver des procédures ou de la documentation sous secret sur vos serveurs par exemple.

Alors comment ça fonctionne ?

Et bien, pour créer un document et lui attribuer un mot de passe, il suffit d’utiliser le paramètre -x comme ceci :

vim -x HelloWorld.txt

L’outil vous demandera alors un mot de passe pour protéger le document qui sera chiffré à l’aide de l’algorithme Blowfish2. Ce dernier a été implémenté à partir de la version 7.4-401 de vim. Avant, Vim utilisait Blowfish (premier du nom) mais ce dernier est maintenant considéré comme peu fiable.

Vous pouvez ensuite observer le contenu avec un autre éditeur genre, nano ou la commande cat pour voir ceci :

Tout est donc effectivement bien chiffré. Lorsque vous ouvrirez à nouveau le document avec Vim, celui-ci vous demandera simplement le mot de passe de déchiffrement.

Et si vous voulez modifier le mot de passe, une fois dans vim, avec votre texte en clair, il vous suffit de taper :

:X

C’est un X majuscule.

Vim vous demandera alors un nouveau mot de passe. Vous pouvez le changer à ce moment-là, ou si vous ne voulez plus de mot de passe, vous pouvez faire simplement « Entrée » et laisser ça vide. Cela aura pour effet d’enlever la protection sur le document.

Et si vous voulez monter le niveau, il est également possible de lire des fichiers chiffrés avec GPG à l’aide de vim. Pour cela, vous pouvez installer l’un des nombreux plugin GPG pour vim comme celui de James McCoy ici .

Vous téléchargez le fichier gnupg.vim, puis vous le placez dans le répertoire

$HOME/.vim/plugin

Ensuite, vous éditez votre fichier .bashrc (dans votre HOME) et vous y ajoutez les lignes suivantes :

GPG_TTY='tty'export GPG_TTY

Et voilà. Grâce à ce plugin, vous pourrez lire en clair les fichiers chiffrés avec GPG dont l’extension est .pgp, .gpg ou .asc et dont vous avez la clé bien sûr.


Découvrez kDrive Le Cloud sécurisé pour PME et particuliers

Vos données sont chiffrées et kDrive est exclusivement développé et hébergé en Suisse – pas de Cloud Act avec nous

kDrive dispose de sa propre suite bureautique complète (kSuite) qui est totalement compatible avec les outils les plus répandus : Office 365 (Word, Excel, PowerPoint), Libre Office, Open Office, Google Docs, les fichiers PDF ou HTML … Et comme vous pouvez aussi y migrer vos documents Dropbox, Google Drive et OneDrive, il est possible de tout centraliser et travailler en temps réel avec votre équipe au sein d’un seul et même écosystème unifié … et éventuellement économiser le prix de certaines licences au passage. Une alternative aux GAFAM c’est toujours bon à prendre.

Outil de révision, chat intégré, protection et chiffrage de vos données (vous pourrez bientôt chiffrer via votre propre clé privée), sauvegardes (sur 3 supports physiques différents), numérisation de documents, moteur de recherche … sont aussi de la partie

Testez kDrive

KorbensBlog-UpgradeYourMind?d=yIl2AUoC8zAKorbensBlog-UpgradeYourMind?i=LwImEeMzE0o:oXlnRNiquKI:D7DqB2pKExkKorbensBlog-UpgradeYourMind?i=LwImEeMzE0o:oXlnRNiquKI:GG6oivYVkFsKorbensBlog-UpgradeYourMind?d=qj6IDK7rITsKorbensBlog-UpgradeYourMind?i=LwImEeMzE0o:oXlnRNiquKI:gIN9vFwOqvQKorbensBlog-UpgradeYourMind?d=7Q72WNTAKBA
  • At chevron_right

    Le droit, la justice et internet.

    pubsub.gugod.fr / atomtest · Saturday, 19 September, 2015 - 22:00 · 12 minutes

Bonjour à tous ! L'épée contre le bouclier symbolise un éternel équilibre dans une guerre, mais à la fin, qui gagne ? Aujourd'hui je vous propose d'aller jeter un coup d'œil du côté d'un de nos outils favoris : l'internet, ses monts et merveilles, et le reste... La plupart d'entre vous êtes familier...

Bonjour à tous !

L'épée contre le bouclier symbolise un éternel équilibre dans une guerre, mais à la fin, qui gagne ? Aujourd'hui je vous propose d'aller jeter un coup d'œil du côté d'un de nos outils favoris : l'internet, ses monts et merveilles, et le reste...

La plupart d'entre vous êtes familiers des concepts que je vais décrire dans cette première partie, mais elle me semble essentielle afin que l'on parte d'une base commune.

Quelques définitions...

Je vais essayer d'être suffisamment clair pour qu'il vous soit inutile de suivre les liens indiqués dans l'article, cependant je les inclus à toutes fins utiles.

Internet : Il s'agit d'un réseau physique reliant des machines. En gros des tuyaux transportant de l'information, normalement sans en modifier le contenu (donnée). Schématiquement, il n'existe que deux objets sur internet :

  • des ordinateurs ;
  • des "câbles" (fibre optique, réseau cuivre, antennes 3G, 4G, ...).

Internet est en fait un réseau de réseaux : chaque opérateur internet (FAI) construit son bout de réseau, qu'il interconnecte ensuite aux autres (il y a pas mal de questions de taille d'opérateur, de gros sous, d'organisation des réseaux, mais on va faire simple). L'étymologie du mot internet décrit cela : il s'agit d'une interconnexion (inter) de réseaux (network).

Cela dit, dans tout cet article, une représentation schématique à peu près équivalente d'internet sera utilisée (vous pouvez cliquer pour afficher les images taille réelle dans un nouvel onglet) :

schema_internet

Représentation d'un réseau physique de machines. Schéma simplifié d'internet. CC-BY-SA

Web : réseau virtuel de machines. Ce réseau utilise l'infrastructure qu'est l'internet. Il est constitué de deux types d'objets :

  • les machines client-web. Celles-ci peuvent demander du contenu (via le protocole HTTP) ;
  • les machines serveur-web. Celles-ci proposent du contenu.

Il est tout à fait possible pour une machine d'être à la fois client-web et serveur-web. Le web peut être vu comme une sous-partie d'internet, tous les ordinateurs connectés pouvant théoriquement proposer et demander du contenu. Le web est un réseau virtuel.

Protocole : manière qu'ont plusieurs ordinateurs de communiquer. HTTP est un protocole du Web. De manière non-exhaustive, les protocoles incluent HTTP/HTTPS, FTP, BitTorrent, SSH...

Serveur : une machine qui propose du contenu ou service. Exemples, un serveur web propose des pages web (via le protocole HTTP/HTTPS), alors qu'un serveur proxy effectue des requêtes à votre place de telle sorte qu'il semble que c'est lui et non pas vous qui a effectué la recherche.

Client : une machine qui demande du contenu ou service. La majorité des internautes ne sont que clients.

Donnée : de l'information. (Volontairement court : une méta-donnée est de la donnée, et peut très bien être considérée comme de la donnée pure, selon le contexte).

Méta-donnée : de l'information à propos d'une information ou personne, objet... Exemple : les métadonnées d'une image sont :

  • la date ;
  • l'heure ;
  • le type d'appareil photo ;
  • la géolocalisation (éventuellement).

Ce concept est complexe. En effet si une image passe sur internet, les métadonnées des paquets IP sont les adresses IP source et destination (etc.), et les métadonnées de la photo sont des données sur internet.

Chiffrement : Le fait de transformer une donnée numérique à l'aide d'algorithmes mathématiques afin de la rendre indéchiffrable pour quiconque en dehors de la personne à qui la donnée est destinée.

Déchiffrement : le fait d'obtenir les données en clair à partir du flux chiffré.

Décryptage : opération qui consiste à essayer de casser le chiffrement protégeant de la donnée.

Empreinte (hash) : suite de caractère identifiant de manière unique de la donnée à l'aide d'un algorithme. Les algorithmes utilisés actuellement sont : MD5 (vraiment obsolète, et déconseillé), SHA-1 (en voie d'obsolescence depuis 2015, le plus utilisé), SHA-2 (assez peu utilisé), ou SHA-3 (usage vraiment marginal).

Signature : le fait d'authentifier les données. Cette opération se fait en deux temps : le serveur réalise une empreinte des données, puis il signe l'empreinte. Vérifier l'intégrité des données consiste à effectuer l'empreinte et vérifier la signature.

Comment les mathématiques contournent le droit.

Comme d'habitude, je vais essayer de présenter les faits le plus objectivement possible (ce qui sera assez facile, étant donné qu'il s'agit d'abord d'un sujet technique) puis émettre une opinion - bien personnelle, comme toujours - que je vous encourage à critiquer dans les commentaires.

Le fil de cet article sera le suivant :

  • tout d'abord, je vais présenter les principes du réseau d'anonymisation (ici tor que la majorité d'entre vous connaît) ;
  • puis les principes mathématiques des techniques de chiffrement puissant de nos communications (PFS, OTR, GPG/OpenPGP/PGP...) ;
  • et enfin les principes mathématiques pour rendre improuvable l'existence d'une donnée (utilisés par TrueCrypt, CypherShed, VeraCrypt).

(En fait l'idée de nouvelles possibilités à l'aide des mathématiques n'est pas nouvelle :  le principe du VPN ou du chiffrement permet de s'abstraire du risque d'un réseau non sécurisé en soi...)

Du réseau d'anonymisation

Un petit schéma aidera à mettre les idées au clair, mais pas si vite ! Rien ne vaut un petit parallèle avec ce que vous connaissez déjà...

Lorsque vous chargez une page web en HTTP (flux non-chiffré, non-signé) il se passe ça :

http

Trafic HTTP (Web). Requête, réponse. CC-BY-SA.

La suite d’événement est :

  • le client parle au serveur (connexion) ;
  • le serveur dit "je parle HTTP" ;
  • le client demande la page web identifiée de manière unique par une URL ;
  • le serveur répond :
    • "200 OK", s'il l'a, puis la transmet ;
    • "404 Error", s'il ne l'a pas (la très fameuse "Erreur 404" que tout le monde connaît, et facile à obtenir, il suffit de demander une page qui n'existe pas à un serveur).

De même, demander une page web en HTTPS, ça se représente comme ça :

https

Trafic HTTPS (Web). Requête, réponse. CC-BY-SA.

La suite d’événement est presque identique :

  • le client parle au serveur (connexion) ;
  • le serveur dit "Je parle HTTPS" ;
  • le client demande en HTTPS l'URL ;
  • le serveur répond :
    • "200 OK", s'il l'a, puis l'envoie
    • "404 Error", sinon.

Deux différence entre HTTP et HTTPS, avec HTTPS :

  • le trafic est chiffré (impossible de lire) ;
  • le trafic est signé (impossible d'altérer le contenu, s'il était modifié, le client jetterait les paquets IP et les redemanderait).

Eh bien utiliser tor, ça ressemble à ça (décrit ici par le projet tor) :

tor0

Trafic tor. CC-BY-SA.

C'est-à-dire que tor fonctionne comme s'il y avait au minimum (parce qu'il peut y avoir plusieurs nœuds milieu en théorie) trois proxy (ou intermédiaires) entre nous et le serveur que l'on interroge.

Tor est ainsi un réseau virtuel de machines serveur appelées "nœud". Il y a trois type de nœuds :

  • entrant ;
  • milieu ;
  • sortant.

Le trafic ressemble donc à ceci :

tor01

Apparence du trafic avec tor. CC-BY-SA.

Une représentation complète de l'internet avec du trafic tor serait :

tor](https://hashtagueule.fr/assets/2015/09/tor.png)

Trafic tor sur internet. CC-BY-SA.

Utiliser le réseau tor permet donc un anonymat de très grande qualité, en effet :

  • le FAI qui relie l'abonné ne voit que du trafic, qu'il peut identifier comme étant du trafic tor, même en HTTP ;
  • le serveur ne sait pas qui a demandé sa page ou son service ;
  • le nœud d'entrée ne connait que l'utilisateur, pas le contenu (même en HTTP) ;
  • le relais milieu ne connaît que ses voisins (ou les relais milieu...) ;
  • le nœud sortie connaît le nœud milieu et le serveur interrogé, et voit :
    • soit du trafic HTTPS indéchiffrable ;
    • soit le trafic HTTP demandé, en clair.

Ainsi l'utilisation de tor, par le grand anonymat qu'il permet, empêche de relier un utilisateur au trafic qu'il a demandé.

L'utilisation de tor fait donc disparaître les informations liées à une connection : les métadonnées.

Une communication irrémédiablement chiffrée

Une communication chiffrée, une clef de chiffrement. Une idée gargantuesque consiste à enregistrer, au niveau d'un État, tout le trafic chiffré qui passe, et de l'analyser après, avec plusieurs idées derrière la tête :

  • on trouvera peut-être des failles dans les protocoles de chiffrement actuels ;
  • les utilisateurs perdront/divulgueront peut-être leur clef ;
  • dans le cas d'une enquête légale, on demandera les clefs de chiffrement.

Eh bien les beaux jours des clefs perdues sont terminés (ou presque). En effet, dans un échange de clefs de type Diffie-Hellman :

  • même si l'on perd les clefs ayant servit à un échange chiffré ;
  • même si tout le trafic chiffré a été enregistré,

la conversation ne sera pas déchiffrable. Expliquons le procédé.

Il s'agit d'un échange de clefs de chiffrement au travers d'un réseau non sécurisé (internet) sans divulgation d'information. Pour le décrire, je vais procéder comme Wikipédia, à l'aide de couleurs :

  • Alice possède une couleur secrète A, et tire au hasard une couleur A' ;
  • Bob possède une couleur secrète B, et tire au hasard une couleur secrète B',

puis :

  • Alice mélange A et A', qui donne A'' ;
  • Bob mélange B et B' qui donne B'',

puis

  • Alice envoie A'' sur le réseau ;
  • Bob envoie B'' sur le réseau,

ces couleurs peuvent être "entendues" (par un tiers espionnant) sur le réseau, si le réseau est enregistré, puis :

  • Alice mélange B'' avec A'', et obtient C = (A + A' + B + B')
  • Bob mélange A'' avec B'', et obtient (A + A' + B + B') = C !

Ainsi :

  • Alice et Bob ont réussi à créer un couleur C inconnue pour le réseau ;
  • De plus, cette couleur est temporaire : Alice et Bob ont tiré pour cette communication A' et B' ;
  • En enfin, cerise sur le gâteau, on ne peut pas déchiffrer la conversation sans avoir à la fois A' et B', qui sont supprimées par Alice et Bob, puisqu'il s'agit de clefs temporaires. Même si l'on obtenais B' de Bob, il manquerait toujours A'.

En conclusion, Alice et Bob ont un moyen de communiquer qui empêche le déchiffrement a posteriori. Au niveau du réseau, la reconstitution de l'échange est devenue impossible.

Cette fonctionnalité s'appelle PFS (Perfect Forward Secrecy : confidentialité persistante) pour le web, OTR (Off-The-Record Messaging : messagerie confidentielle) pour la messagerie instantanée (utilisant par exemple le protocole XMPP).

Ici, ce sont les données de la conversation qui disparaissent.

Information, existes-tu ?

Un autre recours de l'enquête est la perquisition : physiquement aller voir l'information. Dernière déception pour les tenants du contrôle, ça n'est plus possible. Un mécanisme appelé "déni-plausible" consiste à pouvoir cacher si bien une donnée qu'il devient impossible de faire la preuve de son existence. Plongée dans les profondeurs du mystère...

Ces technologies sont très fortement associées à des logiciels, et à une actualité liée (probablement) à la NSA, mais à hashtagueule on a prévu de rester, donc on va faire court, quitte à revenir là-dessus sur une prochaine news. Je parlerai indifféremment de TrueCrypt (et ses descendants VeraCrypt, CypherShed, et j'en passe) comme synonyme du déni-plausible pour la clarté de l'article, mais ces logiciels permettent bien plus.

Rien ne vaut un exemple : TrueCrypt permet de créer des volumes chiffrés, ainsi :

  • Ève crée un volume A de 100 Go de données personnelles, chiffré avec une clef α ;
  • elle crée un sous-volume E de 100 Mo de données très confidentielles, chiffrées avec une clef ε.

Si quelqu'un accède à cet ordinateur, il verra le volume A chiffré, et ne pourra pas accéder aux données. Si ce quelqu'un est la justice, elle peut l'obliger légalement (même article que plus haut) à lui donner accès à ses clefs de chiffrement. Il lui suffit de ne donner que la clef α à la justice, et elle ne verra que le volume A de 100 Go (moins 100 Mo). Le sous-volume chiffré sera toujours inaccessible, et qui plus est, il ressemblera toujours à des données aléatoires, comme avant le déchiffrement de A. (Les données de E ne sont pas protégées contre la destruction, mais c'est une autre affaire).

Ainsi, l'existence de données dans E n'est pas prouvable, et il est même plausible qu'il n'y ai rien à cet endroit. C'est comme cela que l'on peut cacher des données.

En conclusion

Vous m'avez probablement vu arriver avec mes gros sabots, mais je vais quand même récapituler :

  • on peut stocker une information sans qu'elle ne soit jamais accessible que par son propriétaire (3ème paragraphe) ;
  • il est possible pour deux personnes de communiquer sans que leur trafic ne soit jamais déchiffrable (décryptable, c'est une autre affaire) (2ème paragraphe) ;
  • il est possible pour deux ordinateurs de communiquer sans qu'aucun acteur du réseau ne le sache (1er paragraphe).

La totalité de la conversation a donc disparu des radars : les métadonnées de la conversation, le contenu de la conversation, et la copie locale sauvegardée.

Tout ceci est possible, là, maintenant, avec des logiciels open-source (ou libres) dont le code source (c'est-à-dire l'application logicielle de la formule mathématique, avant d'être traduite en langage ordinateur) est disponible au téléchargement (vous utilisez peut-être de la PFS avec hashtagueule.fr sans le savoir).

La conclusion (personnelle, vous le rappelez-vous ?), c’est qu’on ne peut gagner le volet numérique de la guerre contre le terrorisme par les seules voies législatives ("When you have a hammer, everything looks like a nail" ;-) ).

Encore un dernier exemple (fictif celui-là) pour illustrer le pire des cas : un groupe terroriste qui est la tête-pensante, cherchant à radicaliser des jeunes, en vue d'en faire des terroristes. Son outil numérique ultime consiste à faire une solution logicielle reprenant les trois concepts, de faire le tout de manière décentralisée, et d'automatiser le processus de distribution.

Les derniers points que j'ai survolé :

  • le côté open-source donne l'assurance du code qui est exécuté ;
  • le côté décentralisé délivre de la nécessité d'un tiers (pour les mails, le chat...)

La vraie conclusion est qu'il ne faut pas faire de bêtises en matière de numérique, parce que tout ce que j'ai écrit n'est qu'une compilation d'informations publiquement disponibles sur internet, et maintes fois redondées.

N'hésitez pas à commenter et donner votre avis dans la section commentaires !

Motius

  • Ha chevron_right

    Le droit, la justice et internet.

    pubsub.gugod.fr / hashtagueule · Saturday, 19 September, 2015 - 22:00 · 12 minutes

Bonjour à tous ! L'épée contre le bouclier symbolise un éternel équilibre dans une guerre, mais à la fin, qui gagne ? Aujourd'hui je vous propose d'aller jeter un coup d'œil du côté d'un de nos outils favoris : l'internet, ses monts et merveilles, et le reste... La plupart d'entre vous êtes familier...

Bonjour à tous !

L'épée contre le bouclier symbolise un éternel équilibre dans une guerre, mais à la fin, qui gagne ? Aujourd'hui je vous propose d'aller jeter un coup d'œil du côté d'un de nos outils favoris : l'internet, ses monts et merveilles, et le reste...

La plupart d'entre vous êtes familiers des concepts que je vais décrire dans cette première partie, mais elle me semble essentielle afin que l'on parte d'une base commune.

Quelques définitions...

Je vais essayer d'être suffisamment clair pour qu'il vous soit inutile de suivre les liens indiqués dans l'article, cependant je les inclus à toutes fins utiles.

Internet : Il s'agit d'un réseau physique reliant des machines. En gros des tuyaux transportant de l'information, normalement sans en modifier le contenu (donnée). Schématiquement, il n'existe que deux objets sur internet :

  • des ordinateurs ;
  • des "câbles" (fibre optique, réseau cuivre, antennes 3G, 4G, ...).

Internet est en fait un réseau de réseaux : chaque opérateur internet (FAI) construit son bout de réseau, qu'il interconnecte ensuite aux autres (il y a pas mal de questions de taille d'opérateur, de gros sous, d'organisation des réseaux, mais on va faire simple). L'étymologie du mot internet décrit cela : il s'agit d'une interconnexion (inter) de réseaux (network).

Cela dit, dans tout cet article, une représentation schématique à peu près équivalente d'internet sera utilisée (vous pouvez cliquer pour afficher les images taille réelle dans un nouvel onglet) :

schema_internet

Représentation d'un réseau physique de machines. Schéma simplifié d'internet. CC-BY-SA

Web : réseau virtuel de machines. Ce réseau utilise l'infrastructure qu'est l'internet. Il est constitué de deux types d'objets :

  • les machines client-web. Celles-ci peuvent demander du contenu (via le protocole HTTP) ;
  • les machines serveur-web. Celles-ci proposent du contenu.

Il est tout à fait possible pour une machine d'être à la fois client-web et serveur-web. Le web peut être vu comme une sous-partie d'internet, tous les ordinateurs connectés pouvant théoriquement proposer et demander du contenu. Le web est un réseau virtuel.

Protocole : manière qu'ont plusieurs ordinateurs de communiquer. HTTP est un protocole du Web. De manière non-exhaustive, les protocoles incluent HTTP/HTTPS, FTP, BitTorrent, SSH...

Serveur : une machine qui propose du contenu ou service. Exemples, un serveur web propose des pages web (via le protocole HTTP/HTTPS), alors qu'un serveur proxy effectue des requêtes à votre place de telle sorte qu'il semble que c'est lui et non pas vous qui a effectué la recherche.

Client : une machine qui demande du contenu ou service. La majorité des internautes ne sont que clients.

Donnée : de l'information. (Volontairement court : une méta-donnée est de la donnée, et peut très bien être considérée comme de la donnée pure, selon le contexte).

Méta-donnée : de l'information à propos d'une information ou personne, objet... Exemple : les métadonnées d'une image sont :

  • la date ;
  • l'heure ;
  • le type d'appareil photo ;
  • la géolocalisation (éventuellement).

Ce concept est complexe. En effet si une image passe sur internet, les métadonnées des paquets IP sont les adresses IP source et destination (etc.), et les métadonnées de la photo sont des données sur internet.

Chiffrement : Le fait de transformer une donnée numérique à l'aide d'algorithmes mathématiques afin de la rendre indéchiffrable pour quiconque en dehors de la personne à qui la donnée est destinée.

Déchiffrement : le fait d'obtenir les données en clair à partir du flux chiffré.

Décryptage : opération qui consiste à essayer de casser le chiffrement protégeant de la donnée.

Empreinte (hash) : suite de caractère identifiant de manière unique de la donnée à l'aide d'un algorithme. Les algorithmes utilisés actuellement sont : MD5 (vraiment obsolète, et déconseillé), SHA-1 (en voie d'obsolescence depuis 2015, le plus utilisé), SHA-2 (assez peu utilisé), ou SHA-3 (usage vraiment marginal).

Signature : le fait d'authentifier les données. Cette opération se fait en deux temps : le serveur réalise une empreinte des données, puis il signe l'empreinte. Vérifier l'intégrité des données consiste à effectuer l'empreinte et vérifier la signature.

Comment les mathématiques contournent le droit.

Comme d'habitude, je vais essayer de présenter les faits le plus objectivement possible (ce qui sera assez facile, étant donné qu'il s'agit d'abord d'un sujet technique) puis émettre une opinion - bien personnelle, comme toujours - que je vous encourage à critiquer dans les commentaires.

Le fil de cet article sera le suivant :

  • tout d'abord, je vais présenter les principes du réseau d'anonymisation (ici tor que la majorité d'entre vous connaît) ;
  • puis les principes mathématiques des techniques de chiffrement puissant de nos communications (PFS, OTR, GPG/OpenPGP/PGP...) ;
  • et enfin les principes mathématiques pour rendre improuvable l'existence d'une donnée (utilisés par TrueCrypt, CypherShed, VeraCrypt).

(En fait l'idée de nouvelles possibilités à l'aide des mathématiques n'est pas nouvelle :  le principe du VPN ou du chiffrement permet de s'abstraire du risque d'un réseau non sécurisé en soi...)

Du réseau d'anonymisation

Un petit schéma aidera à mettre les idées au clair, mais pas si vite ! Rien ne vaut un petit parallèle avec ce que vous connaissez déjà...

Lorsque vous chargez une page web en HTTP (flux non-chiffré, non-signé) il se passe ça :

http

Trafic HTTP (Web). Requête, réponse. CC-BY-SA.

La suite d’événement est :

  • le client parle au serveur (connexion) ;
  • le serveur dit "je parle HTTP" ;
  • le client demande la page web identifiée de manière unique par une URL ;
  • le serveur répond :
    • "200 OK", s'il l'a, puis la transmet ;
    • "404 Error", s'il ne l'a pas (la très fameuse "Erreur 404" que tout le monde connaît, et facile à obtenir, il suffit de demander une page qui n'existe pas à un serveur).

De même, demander une page web en HTTPS, ça se représente comme ça :

https

Trafic HTTPS (Web). Requête, réponse. CC-BY-SA.

La suite d’événement est presque identique :

  • le client parle au serveur (connexion) ;
  • le serveur dit "Je parle HTTPS" ;
  • le client demande en HTTPS l'URL ;
  • le serveur répond :
    • "200 OK", s'il l'a, puis l'envoie
    • "404 Error", sinon.

Deux différence entre HTTP et HTTPS, avec HTTPS :

  • le trafic est chiffré (impossible de lire) ;
  • le trafic est signé (impossible d'altérer le contenu, s'il était modifié, le client jetterait les paquets IP et les redemanderait).

Eh bien utiliser tor, ça ressemble à ça (décrit ici par le projet tor) :

tor0

Trafic tor. CC-BY-SA.

C'est-à-dire que tor fonctionne comme s'il y avait au minimum (parce qu'il peut y avoir plusieurs nœuds milieu en théorie) trois proxy (ou intermédiaires) entre nous et le serveur que l'on interroge.

Tor est ainsi un réseau virtuel de machines serveur appelées "nœud". Il y a trois type de nœuds :

  • entrant ;
  • milieu ;
  • sortant.

Le trafic ressemble donc à ceci :

tor01

Apparence du trafic avec tor. CC-BY-SA.

Une représentation complète de l'internet avec du trafic tor serait :

tor](https://hashtagueule.fr/assets/2015/09/tor.png)

Trafic tor sur internet. CC-BY-SA.

Utiliser le réseau tor permet donc un anonymat de très grande qualité, en effet :

  • le FAI qui relie l'abonné ne voit que du trafic, qu'il peut identifier comme étant du trafic tor, même en HTTP ;
  • le serveur ne sait pas qui a demandé sa page ou son service ;
  • le nœud d'entrée ne connait que l'utilisateur, pas le contenu (même en HTTP) ;
  • le relais milieu ne connaît que ses voisins (ou les relais milieu...) ;
  • le nœud sortie connaît le nœud milieu et le serveur interrogé, et voit :
    • soit du trafic HTTPS indéchiffrable ;
    • soit le trafic HTTP demandé, en clair.

Ainsi l'utilisation de tor, par le grand anonymat qu'il permet, empêche de relier un utilisateur au trafic qu'il a demandé.

L'utilisation de tor fait donc disparaître les informations liées à une connection : les métadonnées.

Une communication irrémédiablement chiffrée

Une communication chiffrée, une clef de chiffrement. Une idée gargantuesque consiste à enregistrer, au niveau d'un État, tout le trafic chiffré qui passe, et de l'analyser après, avec plusieurs idées derrière la tête :

  • on trouvera peut-être des failles dans les protocoles de chiffrement actuels ;
  • les utilisateurs perdront/divulgueront peut-être leur clef ;
  • dans le cas d'une enquête légale, on demandera les clefs de chiffrement.

Eh bien les beaux jours des clefs perdues sont terminés (ou presque). En effet, dans un échange de clefs de type Diffie-Hellman :

  • même si l'on perd les clefs ayant servit à un échange chiffré ;
  • même si tout le trafic chiffré a été enregistré,

la conversation ne sera pas déchiffrable. Expliquons le procédé.

Il s'agit d'un échange de clefs de chiffrement au travers d'un réseau non sécurisé (internet) sans divulgation d'information. Pour le décrire, je vais procéder comme Wikipédia, à l'aide de couleurs :

  • Alice possède une couleur secrète A, et tire au hasard une couleur A' ;
  • Bob possède une couleur secrète B, et tire au hasard une couleur secrète B',

puis :

  • Alice mélange A et A', qui donne A'' ;
  • Bob mélange B et B' qui donne B'',

puis

  • Alice envoie A'' sur le réseau ;
  • Bob envoie B'' sur le réseau,

ces couleurs peuvent être "entendues" (par un tiers espionnant) sur le réseau, si le réseau est enregistré, puis :

  • Alice mélange B'' avec A'', et obtient C = (A + A' + B + B')
  • Bob mélange A'' avec B'', et obtient (A + A' + B + B') = C !

Ainsi :

  • Alice et Bob ont réussi à créer un couleur C inconnue pour le réseau ;
  • De plus, cette couleur est temporaire : Alice et Bob ont tiré pour cette communication A' et B' ;
  • En enfin, cerise sur le gâteau, on ne peut pas déchiffrer la conversation sans avoir à la fois A' et B', qui sont supprimées par Alice et Bob, puisqu'il s'agit de clefs temporaires. Même si l'on obtenais B' de Bob, il manquerait toujours A'.

En conclusion, Alice et Bob ont un moyen de communiquer qui empêche le déchiffrement a posteriori. Au niveau du réseau, la reconstitution de l'échange est devenue impossible.

Cette fonctionnalité s'appelle PFS (Perfect Forward Secrecy : confidentialité persistante) pour le web, OTR (Off-The-Record Messaging : messagerie confidentielle) pour la messagerie instantanée (utilisant par exemple le protocole XMPP).

Ici, ce sont les données de la conversation qui disparaissent.

Information, existes-tu ?

Un autre recours de l'enquête est la perquisition : physiquement aller voir l'information. Dernière déception pour les tenants du contrôle, ça n'est plus possible. Un mécanisme appelé "déni-plausible" consiste à pouvoir cacher si bien une donnée qu'il devient impossible de faire la preuve de son existence. Plongée dans les profondeurs du mystère...

Ces technologies sont très fortement associées à des logiciels, et à une actualité liée (probablement) à la NSA, mais à hashtagueule on a prévu de rester, donc on va faire court, quitte à revenir là-dessus sur une prochaine news. Je parlerai indifféremment de TrueCrypt (et ses descendants VeraCrypt, CypherShed, et j'en passe) comme synonyme du déni-plausible pour la clarté de l'article, mais ces logiciels permettent bien plus.

Rien ne vaut un exemple : TrueCrypt permet de créer des volumes chiffrés, ainsi :

  • Ève crée un volume A de 100 Go de données personnelles, chiffré avec une clef α ;
  • elle crée un sous-volume E de 100 Mo de données très confidentielles, chiffrées avec une clef ε.

Si quelqu'un accède à cet ordinateur, il verra le volume A chiffré, et ne pourra pas accéder aux données. Si ce quelqu'un est la justice, elle peut l'obliger légalement (même article que plus haut) à lui donner accès à ses clefs de chiffrement. Il lui suffit de ne donner que la clef α à la justice, et elle ne verra que le volume A de 100 Go (moins 100 Mo). Le sous-volume chiffré sera toujours inaccessible, et qui plus est, il ressemblera toujours à des données aléatoires, comme avant le déchiffrement de A. (Les données de E ne sont pas protégées contre la destruction, mais c'est une autre affaire).

Ainsi, l'existence de données dans E n'est pas prouvable, et il est même plausible qu'il n'y ai rien à cet endroit. C'est comme cela que l'on peut cacher des données.

En conclusion

Vous m'avez probablement vu arriver avec mes gros sabots, mais je vais quand même récapituler :

  • on peut stocker une information sans qu'elle ne soit jamais accessible que par son propriétaire (3ème paragraphe) ;
  • il est possible pour deux personnes de communiquer sans que leur trafic ne soit jamais déchiffrable (décryptable, c'est une autre affaire) (2ème paragraphe) ;
  • il est possible pour deux ordinateurs de communiquer sans qu'aucun acteur du réseau ne le sache (1er paragraphe).

La totalité de la conversation a donc disparu des radars : les métadonnées de la conversation, le contenu de la conversation, et la copie locale sauvegardée.

Tout ceci est possible, là, maintenant, avec des logiciels open-source (ou libres) dont le code source (c'est-à-dire l'application logicielle de la formule mathématique, avant d'être traduite en langage ordinateur) est disponible au téléchargement (vous utilisez peut-être de la PFS avec hashtagueule.fr sans le savoir).

La conclusion (personnelle, vous le rappelez-vous ?), c’est qu’on ne peut gagner le volet numérique de la guerre contre le terrorisme par les seules voies législatives ("When you have a hammer, everything looks like a nail" ;-) ).

Encore un dernier exemple (fictif celui-là) pour illustrer le pire des cas : un groupe terroriste qui est la tête-pensante, cherchant à radicaliser des jeunes, en vue d'en faire des terroristes. Son outil numérique ultime consiste à faire une solution logicielle reprenant les trois concepts, de faire le tout de manière décentralisée, et d'automatiser le processus de distribution.

Les derniers points que j'ai survolé :

  • le côté open-source donne l'assurance du code qui est exécuté ;
  • le côté décentralisé délivre de la nécessité d'un tiers (pour les mails, le chat...)

La vraie conclusion est qu'il ne faut pas faire de bêtises en matière de numérique, parce que tout ce que j'ai écrit n'est qu'une compilation d'informations publiquement disponibles sur internet, et maintes fois redondées.

N'hésitez pas à commenter et donner votre avis dans la section commentaires !

Motius

  • Ha chevron_right

    Email 2.0

    pubsub.gugod.fr / hashtagueule · Tuesday, 8 September, 2015 - 22:00 · 2 minutes

Bonjour à tous ! À hashtagueule, on aime les projets innovants qui en plus permettent la décentralisation, le respect de la vie privée. Eh bien bonne nouvelle en provenance de Own-Mailbox : ils ont des bonnes idées, et un projet solide ! Des beaux projets de décentralisation du mail, on en a vu quel...

Bonjour à tous !

À hashtagueule, on aime les projets innovants qui en plus permettent la décentralisation, le respect de la vie privée. Eh bien bonne nouvelle en provenance de Own-Mailbox : ils ont des bonnes idées, et un projet solide !

Des beaux projets de décentralisation du mail, on en a vu quelques uns :

Eh bien celui là a de nouvelles idées ! Même s'il ne propose pas une solution complète d'autohébergement comme les projets ci-dessus, Own-Mailbox est novateur.

Own-Mailbox, c'est un projet Kickstarter sous la forme d'un petit boîtier que vous branchez derrière votre box, et qui s'occupe de tout. De tout, vous dis-je. Les fonctionnalités incluent :

  • chiffrement GPG (PGP possibilité de gérer ses clefs manuellement) ;
  • chiffrement TLS pour ceux n'ayant pas GPG (grande innovation, selon moi) ;
  • autohébergement du mail ;
  • utilisation IPv4/IPv6 ;
  • coutournement du blocage par certains FAIs du port 25 (mail).

Selon moi la grande nouveauté, c'est l'utilisation d'une seconde méthode de chiffrement pour ceux n'ayant pas GPG. Il s'agit de la fonctionnalité dite PLM (pour Private Link Message). Simplement :

  • si le(s) correspondant(s) possède(nt) une clef GPG, ownmailbox utilise GPG pour chiffrer ;
  • sinon le contenu du mail reste dans le serveur ownmailbox, et dans le mail est envoyé un lien HTTPS vers le serveur. Ce lien est configurable pour éviter - si besoin est - les robots, être disponible pendant un certain temps, être cliquable une seule fois, demander une authentification mot de passe, etc...

Cette méthode vous permet de discuter de manière chiffrée avec tout le monde sans prise de tête, même lorsque votre correspondant ne sais pas/veut pas se préoccuper de chiffrement.

Pour finir, quelques points de détail :

  • Les logiciels utilisés sont libres/open source (celui qu'ils développent utilise la GPLv3, ceux qu'ils utilisent/améliorent conservent leur licence) ;
  • le matériel est open hardware ;
  • le boîtier possède un port USB :
    • pour exporter/importer les clefs GPG ;
    • pour augmenter la capacité de stockage ;
  • l'équipe pense pouvoir vendre ses premiers modèles dès juin 2016, en fonction du résultat de la campagne Kickstarter ;
  • la box fera tourner un OS basé sur Debian (Ubuntu et Linux Mint sont debian-based, pour mémoire) ;
  • possibilité de mise à jour en un clic.

En fin de compte un projet ambitieux et qui vend du rêve !

Passer d'un monde centralisé (autour des GAFAM) à un monde décentralisé va être difficile, et même si l'autohébergement reste l'utopie, ce sont des projets comme celui-là et CaliOpen qui font avancer les choses dans le bon sens.

Bonne journée à tous !

Motius

  • At chevron_right

    Email 2.0

    pubsub.gugod.fr / atomtest · Tuesday, 8 September, 2015 - 22:00 · 2 minutes

Bonjour à tous ! À hashtagueule, on aime les projets innovants qui en plus permettent la décentralisation, le respect de la vie privée. Eh bien bonne nouvelle en provenance de Own-Mailbox : ils ont des bonnes idées, et un projet solide ! Des beaux projets de décentralisation du mail, on en a vu quel...

Bonjour à tous !

À hashtagueule, on aime les projets innovants qui en plus permettent la décentralisation, le respect de la vie privée. Eh bien bonne nouvelle en provenance de Own-Mailbox : ils ont des bonnes idées, et un projet solide !

Des beaux projets de décentralisation du mail, on en a vu quelques uns :

Eh bien celui là a de nouvelles idées ! Même s'il ne propose pas une solution complète d'autohébergement comme les projets ci-dessus, Own-Mailbox est novateur.

Own-Mailbox, c'est un projet Kickstarter sous la forme d'un petit boîtier que vous branchez derrière votre box, et qui s'occupe de tout. De tout, vous dis-je. Les fonctionnalités incluent :

  • chiffrement GPG (PGP possibilité de gérer ses clefs manuellement) ;
  • chiffrement TLS pour ceux n'ayant pas GPG (grande innovation, selon moi) ;
  • autohébergement du mail ;
  • utilisation IPv4/IPv6 ;
  • coutournement du blocage par certains FAIs du port 25 (mail).

Selon moi la grande nouveauté, c'est l'utilisation d'une seconde méthode de chiffrement pour ceux n'ayant pas GPG. Il s'agit de la fonctionnalité dite PLM (pour Private Link Message). Simplement :

  • si le(s) correspondant(s) possède(nt) une clef GPG, ownmailbox utilise GPG pour chiffrer ;
  • sinon le contenu du mail reste dans le serveur ownmailbox, et dans le mail est envoyé un lien HTTPS vers le serveur. Ce lien est configurable pour éviter - si besoin est - les robots, être disponible pendant un certain temps, être cliquable une seule fois, demander une authentification mot de passe, etc...

Cette méthode vous permet de discuter de manière chiffrée avec tout le monde sans prise de tête, même lorsque votre correspondant ne sais pas/veut pas se préoccuper de chiffrement.

Pour finir, quelques points de détail :

  • Les logiciels utilisés sont libres/open source (celui qu'ils développent utilise la GPLv3, ceux qu'ils utilisent/améliorent conservent leur licence) ;
  • le matériel est open hardware ;
  • le boîtier possède un port USB :
    • pour exporter/importer les clefs GPG ;
    • pour augmenter la capacité de stockage ;
  • l'équipe pense pouvoir vendre ses premiers modèles dès juin 2016, en fonction du résultat de la campagne Kickstarter ;
  • la box fera tourner un OS basé sur Debian (Ubuntu et Linux Mint sont debian-based, pour mémoire) ;
  • possibilité de mise à jour en un clic.

En fin de compte un projet ambitieux et qui vend du rêve !

Passer d'un monde centralisé (autour des GAFAM) à un monde décentralisé va être difficile, et même si l'autohébergement reste l'utopie, ce sont des projets comme celui-là et CaliOpen qui font avancer les choses dans le bon sens.

Bonne journée à tous !

Motius