XENATX - Version alpha 0.9
Explications
Remontant à plusieurs millénaires, sous différentes formes, le chiffrement dit "symétrique", permet de rendre incompréhensible une chaine de caractères ou un fichier complet grâce à une clé de sécurité ou clé de chiffrement (sorte de super mot de passe pour résumer trivialement).
Un message en clair devient donc un message chiffré assurant ainsi le secret durant la transmission.
En chiffrement symétrique, la même clé sert au chiffrement et au déchiffrement du message, ce qui nécessite de se l'échanger entre correspondants au préalable. C'est là une limite importante du chiffrement symétrique car cet échange physique préalable de la clé pose des problèmes de logistique et de sécurité.
Il existe heureusement un autre type de chiffrement plus récent : le chiffrement asymétrique, inventé dans les années 1970 seulement. Cherchez avec le mot-clé RSA (Rivest-Shamir-Adleman) pour l'historique.
La particularité exceptionnelle du chiffrement asymétrique est de permettre de ne plus avoir à échanger de clé de chiffrement à l'avance entre correspondants.
Dans l'échange d'un message chiffré asymétriquement entre deux personnes (ou deux machines), les deux personnes ont chacune une paire de clés :
Il n'y a pas de possibilité de recréer la clé privée à partir de la clé publique. La clé publique peut donc être connue de tous, notamment d'un attaquant.
Le chiffrement asymétrique assure trois fonctions essentielles :
Pour ces deux derniers points, l'intégrité et l'authenticité, un mécanisme de signature est intégré au processus. Ce mécanisme fait appel au chiffrement et à une fonction de hachage établissant une empreinte. Une signature d'un message est une empreinte, de ce message, chiffrée avec la clé privée de l'auteur du message.
Le XENATX fournit des outils essentiels mais ne peut se substituer à un programme complet de formation en cryptographie. Vous trouverez de nombreuses autres explications et références dans notre programme d'apprentissage en ligne XenaTraining.
Nous vous conseillons déjà cette vidéo composée de bons schémas pour bien comprendre le chiffrement asymétrique https://youtu.be/AQDCe585Lnc (activez le sous-titrage en français si besoin). Ce site explique également bien le principe : https://wikilibriste.fr/fr/intermediaire/pgp-gpg
.
Chiffrement asym.
Signature incluse
Au préalable, indiquez les clés dans l'onglet Clés.
Une clé publique est normalement suffisante pour chiffrer un contenu textuel. Cependant une signature est automatiquement insérée au moment du chiffrement. Or une signature ne se fait qu'avec votre clé privée. C'est la raison pour laquelle vous devez également indiquer votre clé privée dans l'onglet "Clés".
Déchiffrement asym.
Vérification de signature incluse
Au préalable, indiquez les clés dans l'onglet Clés.
Une clé privée est normalement suffisante pour déchiffrer un contenu textuel. Cependant une signature a été automatiquement insérée au moment du chiffrement. Or une signature ne se vérifie qu'avec la clé publique du signataire, donc celle de la personne qui vous a envoyé ce contenu chiffré ou la vôtre si c'est un contenu auto-adressé. C'est la raison pour laquelle vous devez aussi indiquer une clé publique dans l'onglet "Clés" pour déchiffrer ce contenu.
Informations sur une clé publique
Indiquez une clé publique et découvrez les informations de cette clé.
Etablir, propager et vérifier la confiance entre membres d'une organisation ou entre organisations.
Explications de la signature cryptographique
Le but d'une signature cryptographique est de s’assurer de l’identité de l’auteur d’un document (authenticité) et que ce dernier n’a pas été modifié (intégrité). En revanche, la signature ne s'occupe pas de la confidentialité qui est l'affaire du chiffrement.
Il est possible de signer de multiples documents numériques (photo, contrat, message, clé publique, etc.)
Les signatures de clés publiques permettent d'attester des relations de confiance. Ces signatures constituent alors une chaîne ou une toile de confiance.
En effet, dans une clé publique il n'y a pas nécessairement d'informations de type nom, prénom, email voire numéro de sécurité sociale pouvant relier une clé publique à son véritable "propriétaire". Techniquement, ces informations peuvent bien sûr être incluses et le sont d'ailleurs parfois. Le XENATX vous le permet.
Cependant, quand bien même ces informations seraient intégrées à la clé publique, elles ne garantissent pas l'identité réelle de l'émetteur de cette clé sans vérification directe auprès de cette personne dont les nom, prénom, etc. ont été insérés dans cette clé publique. N'importe qui peut usurper un nom, un prénom, voire un email, et créer une clé publique avec cette identité.
Signer une clé publique d'un individu vous permet donc d'attester que l'individu, qui prétend être le propriétaire de cette clé, l'est bien. Vous l'aurez en effet rencontré et aurez signé sa clé publique avec votre clé privée. En signant la clé publique d'un individu, vous devenez en quelque sorte une autorité de certification, tel un tampon sur un passeport. Vous propagez ainsi la confiance.
Dans la pratique comment cela fonctionne-t-il ?
Attention, nous allons utiliser dans les paragraphes suivants les termes pubKey (public key donc clé publique), privKey (private key donc clé privée) et IDPubKey (Identifiant de clé publique).
Lors d'une rencontre, physique de préférence, deux membres d'une même organisation (ou d'une famille, d'un club, d'un groupe d'amis, etc.) nommés M1 et M2 décident de se signer. Concrètement, la clé privée de l'un va signer la clé publique de l'autre et vice versa. Cette opération se fait sans montrer sa clé privée à l'autre car cette dernière doit toujours rester secrète.
Idéalement, chacun rapatrie, sans contact par sécurité (grâce à la génération de QR Codes dans le XENATX - Rubrique "Outils"), la clé publique de l'autre sur son propre équipement, de grande préférence non connecté, et signe enfin cette clé publique avec sa clé privée.
La signature effectuée est "renvoyée" à l'autre par une nouvelle génération de QR Codes.
Les membres M1 et M2 se prouvent ainsi réciproquement être les véritables détenteurs de leur paire respective de clés, constituée de deux clés "jumelles", la publique et la privée.
La signature de la pubKey1 du membre M1 réalisée avec la privKey2 du signataire M2 prouve ainsi que ce dernier connait bien le détenteur M1 de cette pubKey1. Et inversement.
M1 et M2 forment alors une chaine (ou toile) de confiance à deux maillons. Le lien entre ces deux maillons correspond à ces deux paires de clés signées entre elles.
Pour un autre membre de l'organisation, il faut maintenant pouvoir faire confiance à ces deux signatures. Vous (M3) êtes un autre membre et n'étiez pas présent lors de la rencontre physique de M1 avec M2. Vous ne savez donc pas si ces signatures sont valides. Il vous faut les vérifier pour être sûr qu'il existe bien une chaine de confiance entre M1 et M2.
Vous (M3) allez donc récupérer la pubKey1 de M1 car vous connaissez son IDPubKey1 grâce, par exemple, à un dépôt public ou privé de clés publiques ou simplement grâce à un ami commun, à savoir M2.
XENATON fournit un dépôt de clés publiques avec son service en ligne XenaTrust mais il existe de nombreux dépôts publics tenus par exemple par des universités.
Vous (M3) et M2 formez déjà une chaine de confiance. Or vous avez repéré le nom de M2 ou son IDPubKey2, dans la liste des signatures de M1.
En copiant à la fois la pubKey1 de M1, la signature et la pubKey2 de M2 (si vous ne l'avez pas déjà étant donné que vous connaissez M2) vous pourrez vérifier cryptographiquement la validité de cette signature que votre ami M2 a effectué sur la pubKey1 de M1.
Le point essentiel pour comprendre est le suivant : seule la pubKey2, soeur jumelle de la privKey2 ayant effectué la signature de pubKey1, peut déchiffrer et donc vérifier la validité de la signature établie avec cette dite privKey2.
Techniquement, une signature correspond à l'empreinte SHA-256 chiffrée du document. Cette empreinte SHA-256 du document est chiffrée avec la clé privée de celui qui signe.
Vous trouverez de nombreuses ressources sur Internet ou sur notre plateforme d'apprentissage XenaTraining pour approfondir le fonctionnement de la signature cryptographique basée sur le chiffrement asymétrique et les fonctions mathématiques de hachage.
Exemple pratique
Voilà la signature (qui commence par -----BEGIN PGP SIGNATURE-----) de la photo ci-dessous d'une jeune fille brune en pull rouge.
Vous trouverez plus bas la clé publique, soeur "jumelle" de la clé privée ayant servi à effectuer cette signature. Cette clé publique vous permettra de vérifier la validité de la signature de cette photo dans l'onglet "Vérifier une signature".
Photo - Objet de la signature
Pour procéder à la vérification de la signature à des fins pédagogiques, vous trouverez ci-après la photo transformée en format base64. En effet, une photo, comme tout fichier, n'est qu'une suite de 0 et de 1, et peut donc prendre cette forme textuelle après conversion.
Pour tester par vous-même, vous pouvez sélectionner et copier tout le contenu textuel ci-dessous et reconstituer la photo en vous rendant dans la rubrique "Outils" puis dans l'onglet "Convertisseurs" et enfin dans "Format texte vers image".
Signer
Indiquez ci-dessous votre mot de passe et clé privée avant de signer une clé publique, un contenu textuel, une empreinte de contenu, etc.
Seule votre clé privée peut signer.
Vérifier une signature
Vous devez indiquer ci-dessous la clé publique du signataire, le contenu textuel original ayant fait l'objet de la signature et la signature à vérifier.
Rappel : le contenu textuel original peut-être un contenu textuel en clair ou chiffré, une empreinte de contenu, une clé publique, une empreinte de clé publique, etc.
C'est toujours la clé publique du signataire qui sert à vérifier sa signature effectuée avec sa clé privée. En effet seule la clé publique peut déchiffrer donc vérifier la signature effectuée avec sa soeur "jumelle" la clé privée.
Chiffrement sûr nécessitant néanmoins un échange de clé ou un fonctionnement en combinaison avec le chiffrement asymétrique.
Explications
Le chiffrement symétrique nécessiste une clé de sécurité ou clé de chiffrement servant à la fois à chiffrer et à déchiffrer, d'où le nom de "symétrique".
Commencez donc par créer une clé sur l'onglet Créer une clé.
Conservez le mot de passe et le sel dans un Keepass (logiciel open source de type coffre-fort) voire dans deux keepass différents, l'un pour les mots de passe, l'autre pour les sels. L'idéal est ne de ne pas conserver écrit l'entièreté du mot de passe, en en mémorisant une partie.
La conservation du mot de passe et du Sel est essentielle. Sans ces deux informations, vous ne pourrez pas recréer la clé symétrique.
Sauf si la clé a été créée par une méthode manuelle, conserver directement la clé, au lieu du mot de passe et du sel, est bien sûr possible mais non recommandé. Son potentiel vol sera facilité et, pour des raisons techniques lié à la fonction PBKDF2, il est plus difficile de recréer la clé avec un seul élément comme le mot de passe ou le sel.
Le chiffrement symétrique utilisé est l'AES en mode CBC (Cipher Block Chaining) avec une clé de 256 bits et un vecteur d'initialisation de 128 bits unique pour chaque chiffrement. Vous pouvez générer des clés grâce à la fonction de dérivation de clé PBKDF2 avec un sel basé en partie sur des mouvements de souris. Dans tous les cas, la possibilité vous est laissée d'utiliser vos propres clés générées avec d'autres logiciels et équipements ou par lancers de dés.
Exemple de message à chiffrer : « Tout organisme vivant subit des attaques. L’Homme aura toujours sa stratégie de défense à cacher. »
Après chiffrement avec la clé 1E5A4797BCECAEB0926FEDDE2A10F28E6D6082BE1411E90D66AA79946908D1F7 vous obtiendrez la chaîne de caractères suivante :
2uZ4je6Nnfd0t6aCwhhk7w==:fj5+3D0mITDRWKgD2xVUSQRmsXFlXZ7VryYVbCQRx6fqzQtKHrt+Xtx18Su6lSdB0mAPB81C7VPWhTpsn6gYmVM/Lx9AANz8xQaJ1OpMzmYv+X0BlT9/atjTDhkqzdWujYoQgsmTXAiedbz5pyU2fQ==
Si vous chiffrez une nouvelle fois le même message avec la même clé, vous obtiendrez "un chiffré" différent, ce qui est normal et voulu :
qB2+XhwK6AKT8lMd1JtGzA==:vG/xNCUFfhd3mXNQ7OCUuq1hWEbb9UsQkT/oT5rF7J0hpAJmmASXW4Atu680c1yQ9XWFkFgYPIbKMFKsox3a1SnM0B34XLym5A6N9I3ZCWc/Ja8ApjVdQoBH3Yow53YZD7ciVZPntwdfXsTfwr7hew==
Analyse de ce "chiffré" : les premiers caractères jusqu'au signe de ponctuation "deux-points" [ : ] constituent le Vecteur d'Initialisation (IV - Initialization Vector) simplement encodé en base64, soit cette chaîne qB2+XhwK6AKT8lMd1JtGzA==
Après le signe "deux-points" faisant office de séparateur, vous trouvez le message réel chiffré et encodé également en base64, soit cette chaîne vG/xNCUFfhd3mXNQ7OCUuq1hWEbb9UsQkT/oT5rF7J0hpAJmmASXW4Atu680c1yQ9XWFkFgYPIbKMFKsox3a1SnM0B34XLym5A6N9I3ZCWc/Ja8ApjVdQoBH3Yow53YZD7ciVZPntwdfXsTfwr7hew==
L'IV est nécessaire pour décoder ce message chiffré situé après les "deux-points". Pour cette raison, il est "embarqué" en étant placé avant le vrai message chiffré. L'IV change aléatoirement à chaque chiffrement entrainant aussi le changement du message chiffré à chaque chiffrement. Cette technique limite les attaques par texte choisi.
Chiffrement, transfert de la clé et du contenu textuel chiffré
Chiffrez votre contenu textuel avec votre clé symétrique. Re-chiffrez ce contenu déjà chiffré avec la clé publique de votre correspondant (chiffrement sym. doublé d'un chiffrement asym.). Pensez à conserver votre contenu chiffré symétriquement en lieu sûr ou mieux supprimez-le de votre équipement si vous l'avez bien en tête. Conservez éventuellement une empreinte SHA-512 du message en clair.
Indiquez à votre correspondant les informations suivantes par au moins trois messageries chiffrées différentes telles que Signal, Briar, Wire, Session, Olvid ou Telegram* :
Votre correspondant reviendra ici reconstituer la clé symétrique à partir du sel et du mot de passe. Ensuite il récupèrera le contenu textuel à déchiffrer sur la DLB grâce au code de message. Il le déchiffrera d'abord une première fois asymétriquement avec sa clé privée puis une deuxième fois symétriquement avec la clé symétrique reconstituée.
Répertoire physique de clés symétriques
L'échange de la clé symétrique, en transmettant juste le sel et le mot de passe pour reconstituer ensuite la clé, peut être fait de façon relativement sécurisée en utilisant trois messageries, nous l'avons vu ci-dessus. Cependant cela comporte quand même beaucoup de risques d'interception, notamment en raison des failles zero day de votre équipement connecté, avant même transmission via les messageries.
Une autre solution, plus sûre, est de créer un répertoire de clés constitué de nombreuses clés créées à l'avance, par lancers de dés idéalement, et d'échanger ce répertoire lors d'une rencontre physique, ou par un intermédiaire très fiable. Les clés sont placées sur microSD, clé USB voire imprimées sur feuilles avec QR Codes pour une récupération numérique facile.
Avec un répertoire de clés, seule la référence de la clé symétrique n°A2, A3, A4, etc. est à communiquer à votre correspondant qui a le double de ce répertoire. Un attaquant n'a donc aucune idée de la clé utilisée car seule sa référence transite sur le réseau, et encore pas toujours, car le plus souvent vous placerez cette référence au dessus du contenu textuel chiffré symétriquement. Le tout est ensuite re-chiffré asymétriquement.
Autre solution : utilisez les clés du répertoire dans l'ordre. Une clé ne servant qu'une fois (c'est du moins le plus sûr) ou pour une période limitée. Ainsi il n'y a rien de particulier à communiquer à votre destinataire.
Pour sécuriser encore plus ce répertoire et pour des clés créées via le générateur de clé de type CSPRNG du XENATX, vous pourriez n'indiquer que les mots de passe à la place des clés. Vous pourriez ensuite communiquer, toujours de façon sûre, donc en mains propres idéalement, un sel commmun (ou plusieurs) stocké sur un autre support, voire sur papier avec son éventuelle traduction en QR Code pour récupération facile.
Pour retrouver la clé de référence A3, par exemple, il suffira de la recréer via l'onglet "Reconstitution de clé" grâce au mot de passe n°A3 et le sel commun (ou si le sel n'est pas commun, avec le sel noté A3 également).
Pour des raisons de sécurité, la création de ces répertoires de clés doit se faire impérativement sur un équipement dit OFF, donc non connecté à Internet et jamais re-connecté.
Dépôt et Code de message
Dans le cas de l'utilisation du service en ligne XenaTrust, vous déposez simplement votre message chiffré dans la DLB numérique. Le message peut aussi être déposé dans une DLB physique. Ensuite vous appliquez le moyen discret et original, convenu à l'avance dans le répertoire pour cette clé précise, afin de signaler discrètement à votre correspondant qu'un message est à relever.
Un code de message, convenu à l'avance comme le mot commun "train", peut aussi être utilisé à la place par exemple de X4V2Z pour être glissé plus discrètement dans la conversation afin d'indiquer qu'un message avec ce code, ou un autre indiqué dans le répertoire, doit être relevé. Le moyen le plus discret est celui que vous inventerez...
Créer une clé symétrique
Plusieurs solutions, détaillées ci-dessous, s'offrent à vous pour créer une clé AES de 256 bits.
Créer une clé symétrique avec un CSPRNG
Merci de créer un sel au préalable sur l'onglet Entropie du sel. Vous pouvez également fournir votre propre sel voire même utiliser votre propre clé. Dans tous les cas, le sel sera intégré avec votre mot de passe à la fonction de dérivation de clé PBKDF2 avec 100 000 itérations. Attention, sur un ordinateur faiblement puissant tel un Raspberry Pi 2 par exemple, la génération de la clé peut prendre plusieurs minutes...
Bien entendu, pour une clé générée par lancers de dés par exemple, ou autre TRNG (True Random Number Generator), il n'y a pas besoin de créer un sel.
0 caract. - Au moins 40 caractères dont des spéciaux. Attention ce mot de passe - phrase secrète ne permettra pas de retrouver la clé symétrique si vous n'avez pas mémorisé le sel également.
Attention, notez bien ce sel que vous avez généré dans l'onglet "Entropie du sel" ou par vous-même. Il est autant indispensable que votre mot de passe - phrase secrète pour reconstituer votre clé en cas de perte.
Rappel : une clé AES de 256 bits correspond à 64 caractères hexadécimaux.
Explications de création d'une clé avec des dés
Vous pouvez créer une clé par lancers de dés successifs mais attention utilisez des dés équilibrés donc de précision (dés de casino ou de backgammon).
Vous créerez une clé binaire de 256 bits donc 256 zéros ou uns. Après l'avoir bien secoué dans le gobelet ou votre main, lancez votre dé et notez le résultat. Tout lancer qui est inférieur ou égal à 3 sera noté 0 et ce qui sera supérieur ou égal à 4 sera noté 1.
Pour accélérer la création d'une clé et diviser par deux le nombre de lancers nécessaires (128 au lieu de 256), vous pouvez utiliser deux dés de couleurs différentes. Lancez les deux dés en même temps et relevez les numéros toujours IMPERATIVEMENT dans le même ordre de couleurs. Donc si les deux dés sont bleu et rouge, alors choisissez un ordre de lecture et respectez le scrupuleusement. Par exemple lecture du bleu puis du rouge.
Exemple :
1er lancer de deux dés : 5 pour le bleu et 2 pour le rouge donc nous noterons : 10
2e lancer de deux dés : 6 pour le bleu et 4 pour le rouge donc nous noterons : 11
Les 4 premiers bits de la clé seront donc 1011 (ces 4 bits seront traduits ultérieurement en hexadécimal par la lettre B)
Poursuivez vos lancers jusqu'à obtenir 256 bits.
Convertissez ensuite ces 256 bits en hexadécimal 4 bits par 4 bits en vous aidant du "Tableau de conversion binaire vers hexadécimal" ou utilisez le convertisseur automatique. L'objectif de cette conversion est de pouvoir utiliser votre clé dans les onglets Chiffrement ou Déchiffrement qui n'acceptent que des clés au format hexadécimal.
Rien de très compliqué mais multipliez les essais pour bien comprendre.
Convertisseur automatique binaire vers hexadécimal
Tableau de conversion binaire vers hexadécimal
Pour une meilleure compréhension, consultez la rubrique ci-dessus "Explications de création d'une clé avec des dés" avant d'utiliser ce tableau.
Binaire | Hexadécimal |
---|---|
0000 | 0 |
0001 | 1 |
0010 | 2 |
0011 | 3 |
0100 | 4 |
0101 | 5 |
0110 | 6 |
0111 | 7 |
1000 | 8 |
1001 | 9 |
1010 | A |
1011 | B |
1100 | C |
1101 | D |
1110 | E |
1111 | F |
Entropie du sel
L'objectif de cette fonctionnalité est de créer un sel final plus aléatoire en mixant deux sels : un sel intermédiaire généré par les mouvements de votre souris et un autre sel, non affiché, généré par une fonction mathématique. Cette fonctionnalité est utile dans le seul cas de la création d'une clé symétrique avec un CSPRNG. Elle est inutile si vous créez votre clé symétrique avec des lancers de dés.
Bougez votre souris le plus aléatoirement possible dans le cadre jusqu'à ce que la barre de progression, placée sous le cadre, atteigne les 100%. Le sel intermédiaire sera créé. Cliquez alors sur "Créer le sel final" pour générer le sel final à copier dans l'onglet "Créer une clé" et la rubrique "Créer une clé symétrique avec un CSPRNG".
Chiffrement sym.
Merci de lire les explications sur l'onglet "Explications", si vous n'êtes pas familier du chiffrement symétrique.
64 caractères hexadécimaux.
Déchiffrement sym.
Reconstitution de clé
Pour reconstituer une clé symétrique, vous devez fournir le mot de passe ou phrase secrète et le sel que vous avez stockés en sécurité et peut-être en partie mémorisés. Sans ces deux éléments aucune reconstitution n'est possible.
Type de chiffrement symétrique très sûr, souvent utilisé en complément pour les passages sensibles d'un message.
Explications
Généralités sur l'OTP
Dans toute cette section, intitulée OTP - Masque à usage unique, les termes suivants sont utilisés indifféremment et signifient strictement la même chose :
L'OTP (One Time Pad) est assimilable à une clé symétrique mais où chaque caractère de la clé ne serait utilisé qu'une fois. La longueur de la clé doit donc être au moins égale à la longueur du message.
L'argument théorique est le suivant : si on ne connaît que le texte chiffré et que toutes les clés sont équiprobables, alors tous les textes clairs de cette longueur sont possibles et avec la même probabilité. Connaissant le texte chiffré, il n'y a donc aucun moyen de distinguer parmi ceux-ci le texte clair original. Une analyse statistique, comme l'analyse de fréquence, est vaine.
L'OTP est le seul chiffrement théoriquement 100% sûr, quelle que soit la puissance informatique en face, même quantique. Par contre, à la différence du chiffrement asymétrique il faut s'échanger à l'avance des OTP. Chaque OTP ne s'utilise impérativement qu'une fois. La sécurité de ces échanges physiques d'OTP et leur stockage en attente d'utilisation est primordiale. Cela requiert une organisation rigoureuse. La sécurité réelle a ses exigences incontournables. C'est cela ou rien, et rien n'est pas une option...
Un autre avantage du chiffrement par OTP est qu'il se base sur la fonction "OU exclusif" (XOR). De par sa grande simplicité, cette fonction est difficile à affaiblir par un malware ou autre manipulation matérielle, sans que cela soit visible. Donc, même sur un équipement infesté, bien sûr non connecté pour éviter toute fuite de données comme l'OTP lui-même, le chiffrement se fait correctement.
Plus d'info. : https://fr.wikipedia.org/wiki/Masque_jetable
La caractéristique incassable du chiffrement par OTP repose sur la réelle entropie, donc le caractère vraiment aléatoire, de la clé OTP.
Plus vous trouverez une source capable de générer un OTP ayant une très forte entropie, donc très aléatoire, mieux sera votre OTP. Vous pouvez donc le générer ailleurs que sur le XenaTx et revenir l'utiliser ici.
Malheureusement, aucun appareil grand public ne peut en créer facilement. Vous dépendrez donc de fabricant professionnel de TRNG (True Random Number Generator) mais outre la difficulté d'avoir accès à ce type de matériel, serez-vous sûr que ces matériels sont fiables et non détournés par des agences de renseignement comme le fut jusqu'en 2020 le fabricant suisse Crypto AG - Hagelin ?
Nous utilisons dans le XENATX uniquement le chiffrement par OTP numérique, et non le chiffrement par OTP alphabétique également possible. La raison : c'est juste plus simple à mettre en oeuvre et à apprendre.
Comme pour les autres techniques de chiffrement, un OTP doit bien sûr n'être créé et utilisé que sur un XENATOFF, ou équivalent, pour éviter les failles logicielles et matérielles d'un équipemet connecté. Tout le chiffrement peut même se faire uniquement avec un papier et un crayon...
Pour la très haute sécurité, c'est cette dernière solution de chiffrement avec papier-crayon qu'il faut privilégier. Ainsi, aucune trace laissée dans une quelconque mémoire informatique, même après effacement. Cette mémoire pourrait être inspectée à votre insu après vol de votre matériel ou durant une simple effraction de votre domicile sans que vous vous en rendiez nécessairement compte.
Vous trouverez les explications de la génération d'un OTP avec deux dés et les techniques de chiffrement-déchiffrement avec OTP dans les rubriques respectives ci-dessous Entropie et Chiffrement - Déchiffrement.
Entropie - Création d'un masque
Trouver, voire fabriquer, un générateur de nombres réellement aléatoires (TRNG - True Random Number Generator) ou même un très bon CSPRNG (Cryptographically Secure Pseudo Random Number Generator) pour générer un OTP le plus entropique possible, n'est pas chose aisée.
Si vous n'êtes pas un expert en cryptographie, restez-en à la génération de vos OTP grâce à des lancers de dés. En terme de simplicité et d'efficacité, c'est inégalable, au prix bien sûr de la lenteur.
Vous trouverez ci-dessous les explications essentielles. Vous pourrez vérifier et compléter à partir des mots clés et des sites ci-dessous (nous ne touchons aucune commission...) :
En tout cas, n'utilisez jamais un OTP généré à distance même si les échanges sur le réseau sont protégés par TLS/SSL.
Tout site web, proposant des nombres soi-disant sûrs car basés sur des phénomènes quantiques aléatoires, est donc à proscrire.
La génération d'un OTP prend du temps par lancers de dés. Vous ne pourrez donc pas avoir beaucoup de clés d'avance. Trop chronophage à générer. Vous ne pourrez donc échanger que des messages relativement courts. Cependant vous pouvez aussi l'utiliser comme un chiffrement complémentaire, au chiffrement AES-256 par exemple, pour certaines parties courtes mais sensibles d'un message comme un lieu de rendez-vous, des noms, des horaires, etc.
Comment générer un masque (OTP) avec deux dés ?
Munissez-vous idéalement des éléments suivants :
La technique pour créer une clé, composée exclusivement de chiffres de 0 à 9 inclus, est d'attribuer une valeur à chacune des 36 combinaisons possibles avec deux dés de couleurs distinctes (disons noir et blanc et nous commençons la lecture toujours par le noir) en tenant compte de l'ordre et de la couleur des dés (voir rubrique "Tableau de dés").
Dans le tableau, nous produisons donc trois séries de valeurs entre 0 et 9. De cette façon, chaque combinaison a une probabilité de 1/36. Les 6 combinaisons restantes (commençant donc par un 6 noir) sont simplement ignorées, ce qui n'affecte pas la probabilité des autres combinaisons.
Mise en pratique
Nous lançons une première fois les deux dés et nous obtenons le résultat suivant :
3 pour le noir et 5 pour le blanc, donc nous lisons 35 (nous avons choisi arbitrairement de toujours commencer la lecture du nombre par le noir, qui devient donc le chiffre des dizaines).
Dans la table des dés, le nombre 35 correspond à 6. Le premier chiffre de la clé OTP numérique sera donc 6.
Nouveau lancer :
6 pour le noir et 2 pour le blanc. Nous ignorons ce lancer car le chiffre des dizaines, donc du dé noir, est un 6 or tous les nombres commençant par un 6 doivent être ignorés.
Nouveau lancer :
2 pour le noir et 3 pour le blanc. Donc 23 qui correspond dans la table à 8. Le deuxième chiffre de la clé OTP sera donc 8.
Et ainsi de suite, jusqu'à atteindre la longueur de clé désirée. Rappel : les 5 premiers chiffres tirés ainsi aléatoirement seront l'identifiant de clé et pas encore la clé elle-même.
Vous trouverez les explications des techniques de mise en répertoire et stockage et de chiffrement-déchiffrement dans les rubriques respectives ci-dessous Répertoire et stockage et Chiffrement - Déchiffrement.
Répertoire d'OTP
Stocké par exemple sur carte microSD ou sur papier
Pour effectuer un chiffrement par OTP, nous avons besoin d'une clé, appelée une clé à usage unique ou OTP. Cette clé devant être échangée au préalable, nous allons créer d'avance plusieurs clés à s'échanger lors d'un seul échange physique par souci d'économie de rencontres souvent délicates à organiser.
Un répertoire/bloc-notes (le Pad dans One-Time-Pad) peut être une seule mini-feuille, plusieurs mini-feuilles agrafées, un microfilm, etc. Dans tous les cas, un ensemble de répertoires d’OTP se compose de deux répertoires identiques (mais inversé), un répertoire appelé OUT et un autre appelé IN.
Une feuille de répertoire d’OTP standard, ou clé OTP, contient environ 250 chiffres en groupes de cinq chiffres, ce qui est suffisant pour un message d'environ 180 caractères. Le premier groupe de cinq chiffres sur chaque feuille sert de référence de clé et doit être unique pour cet ensemble particulier de feuilles. Tous les chiffres de chaque feuille doivent être vraiment aléatoires (voire Entropie - Création d'un masque). Le caractère aléatoire est un élément essentiel de la sécurité du processus de chiffrement.
Etant donné que toute feuille (ou clé stockée numériquement) commencée doit être détruite, il est préférable de créer des clés plus courtes d'une centaines de chiffres voire moins. La longueur ne dépend uniquement de votre choix personnel.
Si le message est plus long que la clé, la clé suivante dans le répertoire sera utilisée (sans les 5 premiers chiffres de cette clé suivante) et il n'est pas nécessaire de le préciser.
L'identifiant de clé suivante à utiliser peut néanmoins être indiqué à la fin de la première partie du message chiffré.
Pour établir des communications bidirectionnelles, vous avez besoin de deux ensembles de répertoires différents : la personne A a un répertoire OUT dont la personne B a la copie IN, et la personne B a un autre répertoire OUT dont la personne A a la copie IN.
N'utilisez jamais un seul répertoire pour communiquer dans les deux sens afin d'éviter le risque d'utilisation simultanée d’une même clé OTP dans le cas par exemple d'un besoin pour la personne A et B d'écrire en direction de l'autre au même moment. La saisie des deux messages chiffrés par la même clé, permettra potentiellement le déchiffrement des deux messages, même sans la clé !
L'utilisation de plusieurs copies IN d'un répertoire est possible afin de permettre à plus d'une personne de recevoir un message, mais cette pratique est déconseillée. Les copies multiples présentent des risques de sécurité supplémentaires et ne doivent être utilisées que dans un environnement très strictement contrôlé. Cette pratique multiplie également le risque de copies non détruites d'un répertoire après déchiffrement, avec interception possible par la suite.
Dans tous les cas, n'utilisez jamais plusieurs copies OUT d'un répertoire, car cela entraînera inévitablement l'utilisation simultanée d’une même clé OTP, donc un déchiffrement potentielle plus tard.
Le répertoire sera échangé lors de rencontres physiques. Il sera idéalement lui-même chiffré et sera dupliqué sur une deuxième microSD de sauvegarde, stockée dans une "cache" différente. Attention de ne pas perdre la clé AES-256 de protection du répertoire et ne pas oublier les lieux de stockage de tous ces éléments...
Exemple de feuillets papier de répertoire OTP.
De tels feuillets comprenant 120 chiffres dont 5 d'identifiant peuvent facilement être obtenus en partageant en 4 une feuille de bloc RHODIA n°12 et en utilisant un stylo-feutre à mine 0.5
Agrafez ensuite les feuillets ensemble et vous avez vos repertoires d'OTP "maison" prêts à être échangés.
Vous constatez les correspondances clés IN avec Clés OUT. Les OTP de la première ligne (ou les deux premiers en affichage sur smartphone) sont donc donnés au correspondant A et les OTP de la seconde ligne au correspondant B.
Chiffrement - Déchiffrement
Rappel : un OTP ne doit JAMAIS être utilisé deux fois. A n'utiliser qu'une fois, vraiment une seule fois, d'où son nom "masque à usage unique" ou "masque jetable".
Code en clair
En premier lieu, le "contenu textuel en clair" ou "message en clair" doit être converti en "code en clair" grâce à une table de codes qui permet la conversion (cf. rubrique "Tables de codes"). Il existe une table de codes pour chaque langue. Nous utiliserons la table française de codes dans les exemples suivants.
Dans une table de codes, chaque lettre alphabétique (ou caractère spécial) à une correspondance numérique sous forme de chiffres ou de nombres. Les lettres les plus utilisées dans la langue considérée sont assignées à des chiffres pour raccourcir le code en clair au maximum. Les autres lettres et caractères spéciaux sont traduits par un nombre à deux chiffres.
Des astuces et règles de construction évitent les mauvaises interprétations au moment du décodage, à savoir le passage du code en clair en message en clair, côté destinataire du message.
Après encodage, le code en clair est regroupé en blocs de 5 chiffres pour plus de lisibilité et éviter les erreurs. Les OTP sont eux-mêmes disposés de la sorte facilitant la saisie, le chiffrement et le déchiffrement manuels.
Exemple ci-dessous du chiffrement du message simple « EXPLICATIONS DE L'OTP » en utilisant la table française de codes (voir onglet Tables de codes)
En pratique, il faut toujours "terminer" tout bloc de 5 "commencé". Donc, par convention, nous terminons toujours le bloc final en ajoutant manuellement des points (91).
Le code en clair devrait donc se terminer par 68191 au lieu de 681 comme indiqué ci-dessus. Si vous avez 4 "emplacements" à terminer cela donne 9191 (donc deux points). Si vous avez à combler trois emplacements ou un seul vous ajoutez juste 919 ou juste 9, dans ce dernier cas. En voyant un 9 final précédé de 91, nous saurons que ce dernier 9 signifie le démarrage d'un point et nous l'ignorons en l'indiquant néanmoins par le signe Ø au moment du décodage du code en clair en message en clair.
Ce code en clair final 28781 78371 16380 45997 22997 89380 68191 est désormais prêt à être chiffré avec une clé à usage unique OTP.
Une fois chiffré, le code chiffré (pas encore réalisé), pourra être directement "exfiltré" de votre XenatOFF par une voie de transfert sécurisé (son ou QR Code) voire envoyé tel quel par CiBi/PMR en "jouant" le morse correspondant grâce au TAM (rubrique Outils, onglet TAM - Emett. morse).
Attention, renseignez-vous sur la législation de votre pays concernant la transmission chiffrée par CiBi/PMR.
Le résultat chiffré pourrait aussi être intégré à un contenu textuel en clair qui sera lui-même chiffré "classiquement" en chiffrement symétrique ou asymétrique, ou les deux.
Chiffrement
Une fois le message en clair converti en code en clair, le chiffrement, tout comme le déchiffrement, est basé sur l'arithmétique modulaire. Le procédé est très simple à assimiler.
Pour chiffrer le message, nous allons écrire les chiffres du code en clair convertis en groupes de cinq chiffres et écrire juste en-dessous, bien alignés verticalement, les chiffres de l’OTP. Nous opérons ensuite une soustraction modulaire chiffre par chiffre (chiffre du haut moins chiffre du bas).
Avec le message en clair ci-dessus "EXPLICATIONS DE L'OTP" et l'OTP (ou clé OTP ou masque à usage unique) converti en code en clair 27793 33873 22989 05220 80984 29034 63759 cela donne la disposition ci-dessous. Attention il faut bien décaler d'un bloc car les 5 premiers chiffres de l'OTP correspondent à son identifiant (ID.) et ils ne sont donc pas utilisés pour le chiffrement.
Code en clair :
ID. 28781 78371 16380 45997 22997 89380 68191
Clé OTP :
27793 33873 22989 05220 80984 29034 63759 54704
Résultat chiffré :
27793 95918 56492 11160 65013 03963 26631 14497 (il est très important de rappeler l'identifiant en début de message chiffré)
Pour obtenir ce résultat chiffré, nous avons soustrait sans passer en négatif (par exemple 5 - 9 = 6 car [1]5 - 9 = 6 mais nous n’utilisons pas le [1] du chiffre à gauche !). N'effectuez jamais une soustraction normale car cela créerait un texte chiffré biaisé et complètement non sécurisé ! Utilisez toujours l’arithmétique modulaire et utiliser les onglets chiffrement et déchiffrement avec des suite de nombres fictifs pour vous entrainer et bien comprendre le procédé.
Si vous souhaitez envoyer "ce chiffré" par radio, à la voix ou en morse, ou par téléphone, il est recommandé de répéter tous les groupes deux fois pour éviter les erreurs (ex. 27793 27793 95918 95918...).
Il peut être très utile de savoir dissimuler son message chiffré (stéganographie). Nous vous conseillons d'approfondir vos recherches grâce au mot clé "WPS" ou Words Per Sentence.
Pour finir sur le chiffrement par OTP, renseignez-vous si l'utilisation d'OTP est légalement autorisée dans votre pays. Tous les pays n'autorisent pas le chiffrement incassable. Il est cependant essentiel de connaître cette technique accessible à tous au cas où le légitime devrait primer sur le légal...
Déchiffrement
Pour déchiffrer un message chiffré par OTP, vérifiez son premier groupe de 5 chiffres (qui sert de réf./identifiant de clé) par rapport au premier groupe de chaque clé de votre répertoire d’OTP pour retrouver la clé utilisée. Il doit s'agir d'une clé OTP notée "IN" en titre car si vous déchiffrez c'est que vous recevez le message (voir la rubrique "Répertoire et stockage")
Rappel : ce premier groupe de 5 chiffres ne fait pas partie du message proprement dit, il ne sert que de référence de clé OTP et donc n'est pas utilisé dans le déchiffrement.
Écrivez les chiffres de l’OTP sous le texte chiffré reçu et additionnez le texte chiffré et l’OTP, chiffre par chiffre verticalement. Cela signifie une addition sans report (par exemple 9 + 6 = 5 et non 15). N'utilisez jamais d'addition normale !
Résultat chiffré :
27793 95918 56492 11160 65013 03963 26631 14497 (il est très important de rappeler l'identifiant en début de message chiffré)
Clé OTP :
27793 33873 22989 05220 80984 29034 63759 54704
Résultat du déchiffrement :
27793 28781 78371 16380 45997 22997 89380 68191
Vous n'avez plus qu'à retourner dans l'onglet "Convertisseur" puis "Convertisseur de code en clair vers du texte en clair" pour constater que vous retrouvez bien le message en clair "EXPLICATIONS DE L'OTP."
Chiffrez toujours chaque nouveau message avec une nouvelle clé (stockée numériquement ou sous forme de mini-feuillet papier). Ne réutilisez JAMAIS une clé OTP !
Détruisez toujours la clé OTP complète immédiatement après avoir terminé le chiffrement, même si elle contient encore des groupes de chiffres inutilisés. Idem pour le déchiffrement.
Si vous craignez ne pas vous souvenir du message que vous avez envoyé, rechiffrez-le avec un autre OTP (ou éventuellement une clé AES-256) et cachez cette nouvelle clé et le message conservé à deux emplacements sûrs et distincts.
Un attaquant aura ainsi deux caches locales à découvrir et non plus une seule (pour trouver votre "première" clé OTP) car votre premier message chiffré aura probablement été intercepté durant sa transmission par internet, voix, morse, etc. à moins que vous l'ayez correctement dissimulé par stéganographie.
Vous trouverez plus d'explications sur notre plateforme d'apprentissage. Vous pouvez également consulter ce très bon site : https://www.ciphermachinesandcryptology.com/en/onetimepad.htm
Tables multilingues de codes
Table de dés
Utilisez deux dés de couleurs différentes. L'important est de les différencier facilement : lisez les explications de création d'une clé à l'aide de dés à la rubrique "Entropie" ci-dessus.
Nous indiquons des dés Noir et Blanc dans le tableau ci-dessous, cependant le mieux est deux couleurs différentes et en même temps transparents pour contrôler visuellement qu'aucune "impureté" ne vient déséquilibrer ces dés de précision (casino ou backgammon)
Livre français de codes
L’utilisation manuelle d’un livre de codes est possible. Il suffit d'insérer directement le code précédé d'un zéro dans le message en clair à transformer en code en clair dans l'onglet "Convertisseur". Exemple pour le mot ACCEPTER, insérez 0019.
Le message ANNULER(073) TRANSFERT(875)S, en mettant un S à transferts car il y a plusieurs transferts que nous souhaitons annuler, devient en message en clair à écrire manuellement 0073 0875S qui sera finalement traduit automatiquement en code en clair par 00739 90875 5 que nous terminerons par 9191 pour compléter le dernier bloc. Soit au final 00739 90875 59191
Vous pouvez bien sûr utiliser votre propre livre de codes. Il faut juste que les codes ne dépassent pas trois caractères et uniquement des caractères décimaux. Rappel : le fait que ce livre de codes soit public, donc connu, n'a aucune incidence sur l'indéchiffrabilité du message final chiffré par OTP.
Convertisseur
Ce convertisseur utilise la table française de codes disponible dans l'onglet "Explications" puis "Tables de codes".
Convertissez un contenu textuel en clair en code en clair pour un chiffrement par un masque numérique à usage unique (OTP). Rappel : votre OTP doit être généré par un TRNG fiable (générateur de nombres réellement aléatoires). Etant donné que c'est très difficile à trouver, vous devez l'avoir généré a minima par des lancers successifs de dés de précision. Seule technique réellement à disposition du "grand public" et expliquée dans l'onglet "Explications" puis "Entropie - Création d'un masque".
Inversement, convertissez votre code en clair en contenu textuel en clair.
Convertisseur de contenu textuel en clair vers du code en clair
Si vous souhaitez indiquer que les caractères suivants sont des signes figuratifs ou des chiffres, formules, etc. utilisez le signe ouverture et fermeture de crochet [], et idem pour indiquer la fin de cette utilisation.
Ces crochets [] sont un équivalent au terme "FIG." dans la table de codes. Ces crochets seront donc bien traduits par le code 90
Exemple pour encadrer un nombre, voilà le résultat : []42[]
Ainsi le contenu textuel en clair (ou message en clair) entre guillemets "UN NOMBRE QUELCONQUE : []42[]." donnera le code en clair suivant :
84 4 99 4 80 79 70 83 2 99 82 84 2 78 71 80 4 82 84 2 99 92 99 90 444 222 90 91
Ce qui donne regroupés par blocs de 5 : 84499 48079 70832 99828 42787 18048 28429 99299 90444 22290 91
Or, conformément aux explications, il faut terminer manuellement le bloc par des points (91) et en l'occurence également par un 9 seul à la fin ce qui donne :
84499 48079 70832 99828 42787 18048 28429 99299 90444 22290 91919
Les signes suivants ? (REQ) . , ' : + - = peuvent être utilisés directement dans votre message en clair. En revanche pour les parenthèses, indiquer () pour une parenthèse ouvrante et également () pour une parenthèse fermante. Le ? remplace ici le REQ (qui signifie Requête) dans la table de codes française (98).
Faites des tests avec la table de codes sous les yeux pour bien comprendre. Dans tous les cas, dès que vous avez des chiffres ou nombres, exemple le nombre 947, encadrez-les de [] donc []947[]
L’utilisation manuelle d’un livre de codes est expliquée dans la rubrique « Livre français de codes » de l'onglet "Explications". Un livre de codes permet de raccourcir les messages.
Convertissez votre contenu textuel en clair en code en clair, en utilisant uniquement des MAJUSCULES. Chiffrez ensuite ce code en clair dans l'onglet "Chiffrement numérique".
Convertisseur de code en clair vers du contenu textuel en clair
Chiffrement numérique
Si vous n'êtes pas familier de l'OTP, merci de lire les explications sur l'onglet "Explications". Le bouton "Supprimer les espaces" sous le champ du résultat chiffré permet de raccourcir le message chiffré dans le cas, entre autres, d'une transmission en morse, via le "TAM".
Convertissez au préalable votre contenu textuel en clair en code en clair dans l'onglet "Convertisseur". N'oubliez pas de retirer l'identifiant, donc les 5 premiers chiffres de l'OTP, dans le champ ci-dessous Clé numérique (masque - OTP) MAIS replacez ensuite cet identifiant devant le résultat chiffré avant de transmettre ce message chiffré à votre correspondant. C'est en effet ces 5 chiffres placés devant le vrai contenu chiffré qui lui permettra de savoir quelle clé OTP utiliser pour déchiffrer.
Déchiffrement numérique
Si vous n'êtes pas familier de l'OTP, merci de lire les explications sur l'onglet "Explications".
Convertissez le résultat obtenu, à savoir votre code en clair déchiffré, en contenu textuel en clair dans l'onglet "Convertisseur".
Transmettre un contenu sans contact par QR Code ou Morse - Convertir - Calculer une empreinte - Comprendre la sécurité du code.
QR Code
Le XENATX utilise le QR Code comme voie sécurisée de transfert. Aucun malware ne peut se cacher dans le QR Code. Aucune fuite de donnée importante n'est donc réalisable. Le "transport" des données contenues dans le QR Code est également unidirectionnel. Vous ne risquez donc pas une contamination dans l'autre sens.
Vous pourriez également utiliser le TAM - Emett. morse (onglet suivant) dans un même objectif de transfert sécurisé de contenu. Les deux solutions ont leurs avantages et inconvénients. Le TAM se prête mieux à un transfert par radio (CiBi/PMR) ou en l'absence de capacité de lecture de QR Code.
Pour "transporter" un contenu par QR Codes vers un autre équipement, utilisez la rubrique ci-dessous Affichage de QR Code. A l'inverse, pour "recevoir" un contenu transporté par QR Codes, utilisez la rubrique Lecture de QR Code.
Affichage de QR Code
Transmettez optiquement sans contact, via un ou plusieurs QR Codes, un message chiffré, une empreinte, une clé publique, une signature, etc.
Le transfert peut parfois nécessiter l'utilisation de l'onglet Convertisseurs pour convertir au préalable le contenu au format hexadécimal. Ce format permet une meilleure préservation des caractères spéciaux et un meilleur découpage automatique en de multiples QR Codes. L'inconvénient étant que l'hexadécimal augmente le nombre de caractères donc le nombre de QR Codes à scanner ensuite.
Faites vos propres essais.
La capacité de transport d'un seul QR Code est définie ci-dessous pour s'adapter aux sensibilités de détection des différents matériels. Diminuez la capacité si la détection du QR Code ne s'effectue pas correctement par votre équipement (smartphone, webcam, scanner, etc.)
Le contenu textuel peut être d'une taille allant jusqu'à 100 fois la capacité de transport maximale d'un seul QR Code. Le contenu sera réparti automatiquement sur de multiples QR Codes. Ils seront générés et numérotés automatiquement les uns en-dessous des autres.
Attention le temps de génération peut être long suivant les performances de votre équipement.
Pour récupérer le contenu sur votre équipement de destination, utilisez de nouveau un XENATX et allez dans la section "Outils" puis onglet QR Code et enfin dans la rubrique "Lecture de QR Codes". Indiquez alors le nombre de QR Codes à lire. Les champs de "réception" sont générés automatiquement.
Scannez votre premier QR Code et collez le contenu dans le premier champ. Appuyez sur "Vérifier l'empreinte". L'empreinte textuelle et visuelle générée doit correspondre à celle générée sur votre équipement affichant les QR Codes (grâce à l'empreinte visuelle, le contrôle de la bonne exécution du transfert est particulièrement rapide).
Une fois tous les QR Codes copiés un à un, appuyez sur le bouton bleu "RECONSTITUER ET VERIFIER GLOBALEMENT". Les contenus de chaque champ seront réassemblés et une empreinte textuelle et visuelle globale sera générée. Elle doit bien sûr correspondre à l'empreinte globale indiquée sur votre autre équipement "émetteur".
Lecture de QR Code
Emetteur TAM - Transmetteur Acoustique en Morse
Merci de lire les consignes essentielles et les explications détaillées.
Consignes essentielles
Pour transmettre un contenu textuel chiffré en asymétrique ou symétrique, convertissez-le d'abord en hexadécimal avec le bouton "Convertir avant transmission". Cela allonge le temps de transmission mais préserve les caractères spéciaux.
Pour un message chiffré par OTP numérique, vous pouvez le transmettre sans aucune conversion. Pour gagner un peu de temps de transmission, vous pouvez supprimer tous les espaces entre les blocs chiffrés de 5 chiffres.
Pour un message en clair, donc non chiffré, vous pouvez le transmettre tel quel également sans conversion. Cependant écrivez en anglais car l'apostrophe ['] comme dans la phrase [ NOUS T'EMM... AFFECTUEUSEMENT ] n'est pas convertible en morse. Les accents non plus. Seuls les caractères alphanumériques en MAJUSCULES sont autorisés ainsi que le seul signe point [.]
Pour éviter l'anglais, convertissez en hexadécimal, avec le bouton "Convertir avant transmission", votre message français en clair comprenant des accents et autres caractères spéciaux, comme pour un contenu textuel chiffré.
A la fin de la transmission, transmettez l'empreinte du message pour que le destinataire puisse vérifier qu'il a reçu l'intégralité des données, sans perte ni erreur suite au décodage. Il procédera à la vérification à la section "Vérification des empreintes" dans l'onget "TAM - Récept. morse".
Explications détaillées
Dans le même esprit que le transfert par QR Codes, le TAM permet la transmission sécurisée de données entre un équipement OFF - Voir rubrique « Sécurité du code » pour les détails OFF/ON - et un équipement ON connecté à Internet qui, comme tous les équipements connectés, est vulnérable à une attaque en raison des failles logicielles et matérielles.
Le TAM permet donc de transmettre tout type de message, chiffré de préférence. La vérification de l’intégrité de la transmission se fait à la fois à l'oreille et visuellement par le spectrogramme. Le tout en temps réel.
Le TAM est utilisable sur quasiment tous les équipements car les cartes son se trouvent pré-installées presque partout, même sur des équipements réduits comme le Raspberry Pi (modèle n°2, ou n°4 en version modulaire, sans carte wifi, ni bluetooth pour plus de sécurité).
Procédure en 6 étapes
Description précise de la procédure pour transférer un message chiffré de l’équipement sécurisé OFF1 d’un expéditeur vers l’équipement sécurisé OFF2 du destinataire, en passant par les équipements ON1 et ON2 de l'expéditeur et du destinataire, très difficilement sécurisables car connectés.
Rappel : un équipement est dit OFF s'il n’est jamais connecté au monde extérieur par des voies standards (ni wifi, ni bluetooth, ni USB, ni ethernet, etc.). Il n'utilise alors que les voies sécurisées par le XENATX pour communiquer avec l'extérieur. L’environnement sûr qu’il procure est lié, quasi exclusivement, à cette inaccessibilité par des voies standards.
Précisions : 4 XenaTx seront installés. Un sur chaque équipement en jeu pour cette transmission. Dans le cas de la transmission radio (CiBi-PMR) qui ne mobilise que deux équipements informatiques, OFF de grande préférence, seuls deux XenaTx seront donc nécessaires.
L'expéditeur chiffre d'abord le message grâce au XenaTx installé sur son équipement OFF1. Il utilise du chiffrement asymétrique, symétrique, par masque à usage unique ou les trois cumulés.
Ce message chiffré est alors transformé en hexadécimal pour une transmission aisée des caractères spéciaux et une vérification visuelle et sonore simplifiée (bouton « Convertir avant transmission »). Dans le cas d'un chiffrement uniquement par masque à usage unique, la transmission se fera tel quel en morse sans conversion préalable en héxadécimal.
Le message encodé est transmis en morse vers le ON1, par la carte son avec sortie sur haut-parleurs (bouton « Transmettre »)
A la fin de la transmission du message, une empreinte SHA-256 du message chiffré peut également être transmise (bouton « Transmettre l’empreinte »). L'empreinte sert à vérifier sur le ON1 que la transmission s’est faite sans erreur.
S'il y a des erreurs, il arrive souvent que ce soit le son émis par le haut-parleur qui ne soit pas assez fort. Augmentez simplement le volume, le microphone du smartphone ou de l'ordinateur enregistrera mieux le signal et le décodage du morse se fera mieux.
Faites des tests de volume sur un court message. Un filtre passe-bas peut malgré tout être nécessaire avant décodage sur le ON1 (voir l'explication sur l'onglet "TAM - Récept. morse" puis "Paramètres de décodage" et enfin paragraphe "Filtre passe-bas")
A cette étape, une alternative est possible, à savoir la transmission directe du message du OFF1 de l'expéditeur vers le OFF2 du destinataire par radio (CiBi ou émetteur portatif type PMR) - Dans ce cas, rendez-vous directement à l'étape n°6 - Voir paragraphe RÉSILIENCE plus bas
L’équipement ON1 enregistre cette « partition » en morse via le microphone par une application type enregistreur vocal sur smartphone ou par exemple via le logiciel libre et gratuit Audacity sur ordinateur (https://www.audacityteam.org
Le fichier audio de cet enregistrement du code morse est téléchargé et décodé dans le XenaTx du ON1 sur l’onglet « TAM - Récepteur morse » bouton "Télécharger un fichier audio". Nous retrouvons alors le contenu hexadécimal, le même qu’avant la transmission.
L’équipement ON1 enregistre maintenant la nouvelle « partition » en morse correspondante à l’empreinte SHA-256. Comme l'empreinte est déjà au format hexadécimal, inutile de l'encoder avant transmission.
Une empreinte SHA-256 du message au format hexadécimal reçu sur le ON1 est calculée dans l’onglet « # Empreinte - Hash » et comparée à l’empreinte transmise. La transmission s’est bien déroulée si les deux empreintes sont concordantes. Le processus peut donc se poursuivre.
Ce contenu hexadécimal est décodé au format texte : format initial suite au chiffrement sur le OFF1.
Pour gagner 2 à 3 petites sous-étapes, il est possible de ne pas décoder l'hexadécimal et de transférer le message dans ce format avec les moyens qui vont être expliqués à l'étape suivante n°3, voire de transmettre tel quel le fichier son de l'enregistrement par messagerie ou email.
Transmission du ON1 de l'expéditeur vers le ON2 du destinataire par dépôt du message chiffré dans une boite aux lettres morte numérique (service en ligne de XENATON) ou transmission par messagerie, email, etc. voire remise de main à la main ou dépôt dans une boîte aux lettre morte physique via une clé USB, microSD, papier, etc.
Si ce message a été intercepté par un attaquant sur cet équipement ON2 (voire sur le ON1 ou même lors de la transmission morse précédente) cela n’a pas plus d’importance que d’habitude car il est chiffré.
Le message peut maintenant être déchiffré MAIS comme il est toujours sur une machine ON, qui peut être compromise, ce n’est pas judicieux. Nous allons donc ré-émettre en morse le message vers le OFF2, suivi éventuellement de son empreinte SHA-256.
Le destinataire ré-émet vers son équipement sécurisé OFF2 pour déchiffrement et enfin lecture.
La suite des opérations est similaire aux indications précédentes. Rappel : le message chiffré est de nouveau encodé en hexadécimal sauf s’il a voyagé encodé entre ON1 et ON2, voire qu'il a transité directement sous forme de fichier son (au format .wav). Le message est alors « rejoué » acoustiquement en morse depuis le ON2 vers le OFF2.
Enregistrement via le microphone du OFF2 dans le logiciel Audacity puis Décodage du morse - Vérification de l’empreinte - Déchiffrement.
Déchiffrement et lecture dans cet environnement sécurisé assuré par ce OFF2.
Rédaction de la réponse.
Chiffrement et encodage hexadécimal.
Et c’est reparti pour une transmission acoustique en morse dans l’autre sens !
Le transfert par QR Codes est bien sûr plus rapide pour ces transferts de OFF1 à ON1 et de ON2 à OFF2 mais ce n’est pas toujours possible ni compatible avec la transmission radio.
RÉSILIENCE
La résilience pour nos clients en situation dégradée - faible couverture Internet, zone blanche, coupure internet et/ou téléphonie mobile, zone de conflit, surveillance des mobiles, etc. - est donc réelle grâce à la transmission par radio du message chiffré.
La transmission se fait plus facilement car directement d’un équipement OFF1 à un autre équipement OFF2.
Il suffit de « jouer » le code morse du message chiffré depuis le haut-parleur de son OFF1 à travers sa CiBi/PMR (Emetteur portatif).
Côté réception, il suffit de la même manière de coller le récepteur radio au microphone du OFF2 qui enregistrera directement les DIT-DIT-DAH du morse.
Dans certains cas extrêmes, deux personnes distantes de quelques centaines ou milliers de mètres peuvent même communiquer un message court, toujours chiffré et toujours en morse, grâce à des signaux lumineux la nuit et par déviation de rayons du soleil par miroir le jour. Ou autres astuces tel le code sémaphore.
CONCLUSION
L'ensemble des fonctionnalités du XenaTx, dont ce TAM, était attendu par nos clients les plus exposés à travers le Monde. Ils souhaitaient une solution portative, donc adaptée à tout terrain d’opération, peu coûteuse avec un XenatOFF ou équivalent, logiciellement simple d’utilisation, avec du code vérifiable et gratuit !
Chez XENATON, nous sommes heureux d’offrir cette solution globale à ce besoin essentiel de communication sécurisée.
La vérité diffusée libère. Bonne utilisation éclairée !
Spectrogramme
Temps d'émission restant : - sec.
Récepteur TAM - Transmetteur Acoustique en Morse
Si des erreurs de décodage surviennent alors un filtre passe-bas est probablement nécessaire. C'est toujours le cas pour une transmission radio (CiBi, etc.) - Voir l'explication à la rubrique "Paramètres de décodage" ci-dessous et au paragraphe "Filtre passe-bas".
Téléchargement de fichier audio
Par rapport à l'usage direct du microphone, rendu possible à la section ci-dessous, le meilleur décodage du morse est assuré par ce téléchargement de fichier audio au format WAV uniquement.
Ce procédé est donc impératif pour le décodage d'un message chiffré car la moindre erreur de décodage rendrait impossible ensuite le déchiffrement cryptographique.
Fichier : aucun
Paramètres de décodage
A la section "Télécharger un fichier audio", utilisez uniquement un fichier au format WAV. Il faut donc que l'enregistrement du morse "joué" soit effectué avec le format WAV sélectionné.
Le logiciel libre et gratuit Audacity (Mac, Windows, Linux) permet l'enregistrement sur ordinateur et l'export au format WAV.
Attention le dictaphone par défaut d'un iPhone ne permet pas le format WAV. Il n'autorise a priori que le format M4A.
Utilisez une application gratuite comme l'enregistreur vocal AVR qui permet l'enregistrement au format WAV.
Problème de transmission par radio (CiBi/PMR)
Le « souffle » des radios et autres altérations du signal perturbent le décodage du morse.
Passez l’enregistrement audio du morse dans le filtre passe-bas dans le logiciel Audacity avant décodage dans le XENATX sur l'onglet "TAM - Récepteur morse". L'explication de l'application du filtre est indiquée au paragraphe ci-dessous.
Filtre passe-bas
Pour appliquer un filtre passe-bas au fichier WAV de l'enregistrement du morse émis, suivez cette procédure dans le logiciel open source Audacity : double cliquez sur la piste pour sélectionner tout l'enregistrement puis menu Effets / Filtre passe-bas. Sélectionnez la fréquence à 563 Hz et le Roll-off à 6 db.
Enfin exportez la piste vers un nouveau fichier en allant dans le menu Fichier / Exporter / Exporter en WAV.
Dans une prochaine version du XENATX nous essaierons d'intégrer directement ce filtre passe-bas pour qu'aucune manipulation dans Audacity ne soit nécessaire.
Microphone
L'utilisation directe du microphone fonctionne pour décoder en direct le morse. Cependant le décodage est moins performant que lors du téléchargement d'un fichier audio.
Nous préconisons donc cette étape supplémentaire d'enregistrement du morse via un enregistreur vocal sur smartphone ou via le microphone d'un ordinateur en utilisant par exemple le logiciel Audacity. Le fichier audio WAV résultant de cette captation sera ensuite téléchargé et décodé à la section ci-dessus "Téléchargement de fichier audio".
Vérification d'empreintes
Calculez dans un premier temps l'empreinte SHA-256 des données décodées du morse en vous rendant sur l'onglet Empreinte - Hash de la présente section "Outils". Vous obtiendrez par exemple : 9F86D081884C7D659A2FEAA0C55AD015A3BF4F1B2B0B822CD15D6C15B0F00A08
Indiquez et comparez ensuite ci-dessous les deux empreintes, celle calculée et celle transmise en morse.
Données décodées
Si aucune donnée n'apparait dans le champ ci-dessous, c'est souvent en raison d'un son trop faiblement émis par le haut-parleur pendant l'enregistrement. Re-commencez l'émission et l'enregistrement en augmentant le volume. L'indication d'un enregistrement correct en terme de volume sonore est la couleur vert foncé, et non vert pâle, des barres du spectrogramme ci-dessous durant le décodage.
Spectrogramme
Convertisseurs
Format texte vers hexadécimal
Ce convertisseur convertit un contenu chiffré, ou non, du format texte vers le format hexadécimal (HEX). Et inversement.
Cette fonctionnalité est utile pour un transfert plus sûr, par QR Code, des différents caractères notamment spéciaux.
Conversion du format texte
Format hexadécimal vers texte
Conversion du format hexadécimal
Image à transformer en contenu textuel
Transformer une image (JPEG, PNG ou GIF) en contenu textuel (format Base64).
Ce procédé peut être utile pour transférer ensuite l'image par QR Codes ou pour la chiffrer.
Pour retrouver l'image utilisez le menu ci-dessous "Format texte vers image".
Contenu textuel transformable en image
Empreinte - Hash
Calculez les résultats des principales fonctions mathématiques d'empreintes, appelées aussi "hash", pour un fichier ou une chaîne de caractères. Nous préconisons et utilisons principalement la fonction SHA-512.
SHA = Secure Hashing Algorithm.
Empreintes d'un fichier
Veuillez patienter plusieurs secondes pour un fichier volumineux.
Empreintes d'une chaîne de caractères
Vérification rapide
Vous pouvez procéder ci-dessous au calcul rapide de l'empreinte SHA-512 du dossier zippé xenatx-*.zip que vous avez téléchargé. Comparez le résultat avec l'empreinte fournie sur le site https://gitlab.com/xenaton/xenatx/-/wikis/version et sur notre canal Telegram https://t.me/xenaton_official
XENATON
Origine et objectif
XENATON est la contraction de Xenophon et de Platon en hommage à ces deux sages, disciples directs de Socrate.
Sous cette bannière, nous accompagnons les organisations responsables (entreprise, association, collectif, etc.) dans leurs besoins en Cyber Sécurité Personnelle pour leurs collaborateurs ou membres.
Vous utilisez actuellement le XenaTx, notre application autonome gratuite pour tous. Cette application se couple idéalement avec la suite de services en ligne développée par XENATON.
Présentation succincte de nos services
XenaTrust
Application web en mode SAAS offrant un dépôt de messages chiffrés dans une boite aux lettres morte numérique et un service décentralisé et anonyme d’établissement et de propagation de la confiance grâce aux signatures cryptographiques auto-gérées. Le fonctionnement se situe à mi-chemin entre l'Autorité de Certification (PKI) et le réseau de confiance décentralisé. XenaTrust est couplé au XenaTx bien sûr et souvent couplé à XenaTraining et XenaTeam.
XenaTraining
Application web en mode SAAS favorisant l’apprentissage et la mise à jour des connaissances et savoir-faire essentiels en matière de PCS (Personal Cyber Security). XenaTraining est souvent couplé à XenaTeam, XenaTrust et au XenaTx bien sûr.
XenaTeam
Application web en mode SAAS pour la coordination sécurisée d’une équipe : espace sécurisé, gestion de comptes anonymes, dépôts de messages chiffrés dans une boite aux lettres morte numérique, messages en multi-diffusion, etc. XenaTeam est couplé à XenaTrust, XenaTraining et au XenaTx bien sûr.
XenatOFF
Equipement informatique portatif de taille réduite dit OFF. Le principe d’un équipement OFF est qu’il est non connecté et jamais re-connecté. Il est sans carte wifi, sans carte bluetooth et avec ses ports USB et ethernet « obstrués ». Une sorte de boite noire.
Le XenatOFF est pré-équipé d'une distribution linux complétée d'outils essentiels et d'un programme de formation à la Cyber Sécurité Personnelle de type XenaTraining. Il délivre le plein potentiel de la suite d'outils XenaTx - XenaTrust - XenaTraining - XenaTeam.
Cet équipement informatique peut s'utiliser en toute autonomie juste avec un XenaTx, ou un autre logiciel de chiffrement, sans lien nécessaire avec nos services en ligne XenaTrust, XenaTraining et XenaTeam.
Le XenatOFF est en cours de développement. Le calendrier des livraisons n'est pas défini. Cependant des idées d'équivalents à bas coût existent, telle une simple tour informatique dont les cartes wifi et bluetooth ont été physiquement retirées, afin de créer dès maintenant sa chaîne matérielle et logicielle sécurisée.
Pour une solution plus complète et plus portative, nous indiquons à nos clients et collectifs partenaires une liste de composants "du commerce", accessibles à tous, pour créer un XenatOFF idéal pour un budget total de 420 euros TTC environ.
Nous fournissons en option la distribution linux pré-équipée de nos outils. Si vous n'êtes pas encore partenaire ou client, contactez-nous.
A suivre sur xenaton.com et sur Telegram (t.me/xenaton_official)
XenaTx
Application gratuite autonome sous forme de simple site web en JavaScript et HTML utilisable sur tous systèmes d'exploitation tels MacOS, Windows, Linux et même Android et iOS avec quelques limitations pour ces deux derniers.
Une version plus adaptée aux smartphones est envisagée afin de pouvoir y activer l'ensemble des fonctionnalités (versions avec Ionic, Electron, etc.)
Le XenaTx couvre de nombreuses fonctionnalités essentielles :
L’approche sans contact (QR Code et Son) du XenaTx est essentielle. Elle évite la contamination ou la fuite de données par les moyens courant de transfert de données (wifi, bluetooth, ethernet, USB, etc.) vers, ou depuis, un XenatOFF ou équipement équivalent.
L’équipement OFF est la seule technique offrant une sécurité optimale en prémunissant contre les failles matérielles et autres portes dérobées logicielles présentes sur quasiment tous les équipements (failles « zero day » notamment).
La fuite de données, ou l'insertion malicieuse de données, par Internet ou par connectique devient physiquement impossible (hors cas extrême d'attaque par captation à distance du champ électromagnétique de l'équipement - Vous trouverez plus d'information sur ces attaques avec le mot-clé TEMPEST).
Les seules « voies » autorisées et vérifiables (QR code et Son) permettent ainsi l’import ou l’export sécurisés de précieuses données tels des messages chiffrés, des clés publiques, des signatures et même des images, etc.
Le XenaTx peut s’utiliser seul mais il se couple de façon optimale avec nos trois services en ligne XenaTeam, XenaTrust, XenaTraining et bien sûr notre futur XenatOFF.
Cette approche originale et transparente nous place loin des promesses marketing oblitérant volontairement les failles précitées.
Ce sujet des failles "zero day" et autres vous parait peut-être pointu. Si vous souhaitez approfondir pour mieux appréhender notre propos, cherchez du côté de l’IME (Intel Management Engine) et AMD st où les failles/portes dérobées (back door) pourraient être directement dans les processeurs…
Vous doutez encore ? Cherchez alors du côté de l’entreprise suisse Crypto AG (Hagelin) https://youtu.be/SWFlA248spU
Leurs très chers produits de qualité suisse étaient destinés, entre autres, aux ambassades du monde entier. Or ces produits étaient « backdoorés » depuis des dizaines d’années par un grand service à 3 lettres... La faillite complète de Crypto AG n'est intervenue que récemment en 2020 suite à ces révélations.
Autre faille plus « grand public » intéressante car répandue : la faille BadUSB qui touche les périphériques USB (clé, souris, clavier, etc.)
Avec ce très rapide tour d’horizon, vous devriez être convaincu que le chiffrement, ayant déjà ses potentielles faiblesses, n'a qu'un intérêt limité sans sécurisation, par mise hors ligne complète et permanente, de l'équipement sur lequel il s'effectue.
Ressources humaines
Nous recherchons régulièrement des collaborateurs de grande sagesse, à l’ego maitrisé, conscients de l’équilibre subtil et ancestral entre les trois groupes suivants : les « Producteurs », les « Sophistes-Nettoyeurs » et les « Philosophes-Gardiens ». Nuances et imbrications naturelles mises à part. Selon les savoirs issus de la grèce antique et notre propre grille d'analyse.
Cette compréhension nous assure que nos collaborateurs auront l'approche optimale des composantes et problématiques d’une situation et d'un environnement. En somme, ils adopteront une attitude humaniste mais réaliste.
Etre conscient des raisons de la prédominance des Sophistes sur le marché actuel nous parait essentiel. Le marché étant déséquilibré, il favorise l'existence et le développement des sophistes. Leur rôle de testeurs de sagacité, de « nettoyeurs » sans empathie, s’en trouve mieux compris, sans en justifier les excès.
Les termes de "producteurs d’images et d'apparences ou de producteurs de prodiges dans les discours", utilisés par Platon dans la conclusion de son ouvrage Le Sophiste, trouvent aujourd’hui, plus que jamais, leur parfaite illustration.
A nous tous d'assainir la situation par des services centrés sur l'équilibre, l'équité, la lucidité et la souveraineté.
Réseau de formateurs
Nous développons notre réseau de formateurs indépendants pour l'accompagnement de nos clients. Nous les formons gratuitement à nos solutions informatiques tout en affinant leur vision stratégique des équilibres dans les systèmes d'organisation.
Toute forme de déni, comme sans exclusive l’angélisme, ne peut et ne doit pas trouver d'écho chez nos collaborateurs. L'approche auprès de nos clients est humaniste mais pragmatique.
Montesquieu, et ses pairs avant lui, nous a rappelé que "Tout Homme, ou groupe, entreprise, organisation, etc., qui a du pouvoir est porté à en abuser. Il faut donc que par la disposition des choses le pouvoir arrête le pouvoir." ...
De fait, XENATON se tient loin de l'angélisme béat. La Cyropédie de Xenophon, le Sophiste de Platon, l’Art de la guerre de Sun Tzu, la Servitude volontaire de la Boétie et les Discours sur la première décade de Tite-Live de Machiavel figurent parmi les ouvrages que nous recommandons à nos collaborateurs afin que l'équilibre réaliste soit leur quête, sans refuge dans un monde fantasmé. L’ancrage dans le réel est primordial.
Comme toute entreprise tournée vers l’enseignement, cher aux philosophes, et non vers la prédation, chère aux sophistes, nous concentrons nos efforts sur la formation et le développement de la sagacité et de la responsabilité de nos usagers et collaborateurs dans un esprit vertueux.
Nous encourageons nos formateurs et nos clients à diffuser nos savoirs et techniques pour qu’ils soient les acteurs de l’assainissement de leur environnement professionnel, voire personnel.
Dans cet esprit, le XenaTx est gratuit pour tous, sans restriction.
Partenariats
Tous nos services en ligne sont accessibles gracieusement pour bon nombre de collectifs, de droit ou de fait, oeuvrant à la défense des libertés individuelles et collectives, après cooptation, étude et mise en place d'un partenariat.
Le respect de l’Homme et de sa souveraineté personnelle - incluant sa vie privée et le secret de ses communications - est à la source de XENATON.
L'hyper grille centralisée de surveillance et de contrôle, supprimant toute autonomie, donc toute vie, est une impasse. Toute concentration excessive, en tout domaine, crée un dangereux point unique de fragilité.
Un non sens en terme de résilience et un sophisme niant le vivant, ses écosystèmes et sa nécessaire biodiversité.
Si vous vous reconnaissez dans ces valeurs d’entreprise, nous serions honorés d’évoluer à vos côtés dans la poursuite de ces objectifs communs. N'hésitez pas à nous contacter sur xenaton.com
XENATON © 2021-2023 - Développé en France