Transmettre de l'information de telle manière que seuls les initiés puissent l'utiliser n'est pas un concept nouveau, il est même la base de la communication.
Un internaute qui ne connaît pas le français sera bien incapable de comprendre quoi que ce soit à la lecture de ces pages. Dans l'exemple, cependant, rien n'interdit à cet internaute d'apprendre le français pour en déchiffrer le contenu. Tout le monde peut apprendre le français, il n'y a aucun secret dans cette langue (juste pas mal de difficultés, mais pas de secret).
Dans de nombreux cas, cette « protection » ne sera donc pas satisfaisante.
Pour qu'un langage devienne un moyen de transfert de données confidentielles, il faut que l'apprentissage de ce langage soit impossible. Impossible n'étant pas français, il faudra donc se contenter d'en rendre l'apprentissage le plus difficile possible.
Il peut s'avérer nécessaire de créer un langage spécifique, confidentiel, dont l'apprentissage reste difficile, idéalement impossible, pour le non initié. Dans un tel cas, nous disposons d'un algorithme de chiffrement qui assure à lui seul la confidentialité du message. Aussi longtemps que cet algorithme ne sera partagé que par les seules personnes autorisées, le secret restera inviolé.
Un tel procédé, cependant, n'est pas considéré comme sûr. Que quelqu'un réussisse à reconstituer l'algorithme et il n'y aura plus de secret.
La réussite du procédé repose sur le fait qu'un nombre minimal de personnes sont dans le secret. Il se trouve que pour qu'un système soit réellement efficace, il faut qu'un maximum de personnes puisse en étudier le mécanisme, pour découvrir toutes les failles qu'il peut contenir. Il y a donc ici une incohérence fondamentale.
Il est largement préférable d'utiliser un algorithme public, que tout le monde peut analyser et utiliser, mais qui exploitera un paramètre de chiffrement qui, lui, ne sera pas partagé. Si l'on ne connaît pas la valeur de ce paramètre, même en disposant de l'algorithme, il sera impossible de déchiffrer le message. Le paramètre secret s'appelle une clé de chiffrement.
Ce principe, qui peut éventuellement adopter des combinaisons de clés, comme nous le verrons plus loin, reste à l'heure actuelle le procédé le plus sûr. Ici, pour déchiffrer le message, il « suffira » de trouver la bonne clé, l'algorithme étant public. La difficulté avec laquelle une clé non connue pourra être retrouvée sera seule garante du secret.
En ce qui concerne l'algorithme, comme chacun peut l'utiliser et l'analyser, s'il possède une faille, elle sera facilement et rapidement découverte et corrigée.
Il peut être amusant, utile, nécessaire, voire les trois à la fois, de cacher un message dans un autre. Un message chiffré, on voit qu'il est chiffré et on essaye de le déchiffrer. Un message caché, on ne le voit pas et donc on ne cherche pas à le retrouver si l'on ne sait pas qu'il existe.
La science de la dissimulation d'un message dans un autre s'appelle la stéganographie.
Bien que cette approche n'entre pas dans le cadre de cet exposé, il est intéressant de savoir que ça existe.
Un exemple classique s'il en est (sous réserve d'authenticité) : une correspondance écrite entre George Sand à Alfred de Musset.
George écrit ceci à Alfred:
Je suis très émue de vous dire que j'ai bien compris, l'autre jour, que vous avez toujours une envie folle de me faire danser. Je garde un souvenir de votre baiser et je voudrais que ce soit là une preuve que je puisse être aimée par vous. Je suis prête à vous montrer mon Affection toute désintéressée et sans cal- cul. Si vous voulez me voir ainsi dévoiler, sans aucun artifice mon âme toute nue, daignez donc me faire une visite Et nous causerons en amis et en chemin. Je vous prouverai que je suis la femme sincère capable de vous offrir l'affection la plus profonde et la plus étroite Amitié, en un mot, la meilleure amie que vous puissiez rêver. Puisque votre âme est libre, alors que l'abandon où je vis est bien long, bien dur et bien souvent pénible, ami très cher, j'ai le coeur gros, accourez vite et venez me le fait oublier. À l'amour, je veux me sou- mettre. |
Comme c'est beau, comme c'est joliment dit, comme c'est poétique (normal, c'est George Sand, quand même) !
Bon, maintenant, lisez le texte, mais seulement une ligne sur deux, en sautant les lignes paires. Vous constaterez que le message devient tout de suite nettement plus direct…
Et, pour continuer la démonstration, lisez donc la réponse que fait Alfred de Musset :
Quand je vous jure, hélas, un éternel hommage Voulez-vous qu'un instant je change de langage Que ne puis-je, avec vous, goûter le vrai bonheur Je vous aime, ô ma belle, et ma plume en délire Couche sur le papier ce que je n'ose dire Avec soin, de mes vers, lisez le premier mot Vous saurez quel remède apporter à mes maux. |
Lisez bien, l'astuce stéganographique est fournie avec.
Georges Sand, qui n'est pas de celles qui abandonnent en chemin, conclut de la sorte :
Cette grande faveur que votre ardeur réclame Nuit peut-être à l'honneur mais répond à ma flamme. |
A quoi bon perdre son temps en attentes inutiles. Plus vite c'est fait, plus vite on pourra le refaire…
Il est possible d'inventer une foule de façons de dissimuler un message dans un autre
Avec l'information numérique, il devient possible de cacher à peu près n'importe quoi dans n'importe quoi. Souvent dans des images.
Il est aussi possible, au cas où, d'utiliser une méthode de chiffrement sur le message caché.
Ce qui suit est directement inspiré de l'ouvrage :
Cryptographie Appliquée
De Bruce Schneier
Traduit en français par Laurent Viennot
Publié chez Vuibert.
Une sorte de bible pour qui veut approfondir sérieusement le sujet.
Comme il est illusoire de penser que l'on pourra mettre un jour au point un procédé de chiffrement qui ne sera jamais « cassable » par un cryptanalyste, il faut se résoudre à considérer qu'un système de chiffrement est forcément vulnérable et donc l'utiliser dans un domaine où il conservera son maximum d'efficacité.
Ce domaine d'efficacité peut s'évaluer en considérant quelques critères :
Il faut comprendre de tout ceci que la sécurité introduite par un procédé de chiffrement reste relative. Elle n'est fonction que de l'efficacité du procédé en rapport à l'intérêt qu'il y a à le casser.