Le projet TFC a développé un répartiteur USB pour une messagerie composée de 3 ordinateurs


Le projet TFC a développé un répartiteur USB pour une messagerie composée de 3 ordinateurs

Le projet TFC (Tinfoil Chat) proposait un périphérique matériel doté de 3 ports USB pour connecter 3 ordinateurs et créer un système de messagerie protégé paranoïaque.

Le premier ordinateur fait office de passerelle pour se connecter au réseau et lancer le service caché Tor ; il manipule les données déjà cryptées.

Le deuxième ordinateur possède les clés de décryptage et est utilisé uniquement pour décrypter et afficher les messages reçus.

Le troisième ordinateur possède les clés de cryptage et n'est utilisé que pour crypter et envoyer de nouveaux messages.

Le répartiteur USB fonctionne sur des optocoupleurs selon le principe de la « diode de données » et transmet physiquement les données uniquement dans des directions spécifiées : envoi de données vers le deuxième ordinateur et réception de données du troisième ordinateur.

Compromettre le premier ordinateur ne vous permettra pas d'accéder aux clés de cryptage, aux données elles-mêmes, et ne vous permettra pas de poursuivre l'attaque sur les appareils restants.

Lorsqu'un deuxième ordinateur est compromis, l'attaquant lira les messages et les clés, mais ne pourra pas les transmettre au monde extérieur, puisque les données sont uniquement reçues de l'extérieur, mais pas envoyées à l'extérieur.

Si un troisième ordinateur est compromis, un attaquant peut se faire passer pour un abonné et écrire des messages en son nom, mais ne pourra pas lire les données provenant de l'extérieur (puisqu'elles vont sur le deuxième ordinateur et y sont décryptées).

Le cryptage est basé sur l'algorithme XChaCha256-Poly20 1305 bits et la fonction de hachage lente Argon2id est utilisée pour protéger les clés avec un mot de passe. Pour l'échange de clés, des clés X448 (protocole Diffie-Hellman basé sur Curve448) ou PSK (pré-partagées) sont utilisées. Chaque message est transmis en mode Perfect Forward Secrecy (PFS, Perfect Forward Secrecy) basé sur des hachages Blake2b, dans lequel la compromission de l'une des clés à long terme ne permet pas le décryptage d'une session précédemment interceptée.

L'interface de l'application est extrêmement simple et comprend une fenêtre divisée en trois zones - envoi, réception et une ligne de commande avec un journal des interactions avec la passerelle. Le contrôle est effectué via un ensemble spécial de commandes.

Programme le code du projet a été écrit en Python et disponible sous licence GPLv3. Les circuits répartiteurs sont inclus (PCB) et sont disponibles sous la licence GNU FDL 1.3, le séparateur peut être assemblé à partir des pièces disponibles.

Source: linux.org.ru

Ajouter un commentaire