Aperçu des méthodes de chiffrement
Note: Cette section peut être passée si vous ne souhaitez pas connaître les détails internes du chiffrement utilisé par
Simp. Cependant, une compréhension des mécanismes de chiffrement est un atout
considérable pour l'utilisation de produits de chiffrement.
Le chiffrement est l'opération consistant à prendre une entrée, appelée plaintext, qui est compréhensible
directement, et la rendre incompréhensible pour toute personne ne connaissant pas le procédé inverse exact appelé déchiffrement. Cette forme inintelligible
est appelée ciphertext.
La cryptographie est la science de la conception et de l'étude de formules mathématiques pour chiffrer et déchiffrer des données.
Ces formules, aussi appelées algorithmes, sont des ciphers.
Très souvent (cas de Simp), les ciphers consistent en des algorithmes publics très connus et très étudiés ainsi qu'en
une partie privée appelée clef, qui modifie l'algorithme afin de rendre en pratique impossible le déchiffrement si elle n'est pas connue.
Les ciphers d'aujourd'hui, si bien utilisés (c'est à dire, si la clef est tenue totalement secrête), sont considérés comme
sûrs contre tout agresseur, des pirates aux organisations criminelles ou aux agences gouvernementales. Simp utilise de tels ciphers. Les paragraphes suivants
détaillent les deux types de ciphers utilisés par Simp.
Chiffrement conventionnel
Les chiffrement conventionnels, aussi connus sous le nom de ciphers symétriques, utilisent la même clef pour chiffrer et
déchiffrer les données.
Les ciphers symétriques sont rapides et considérés comme très sûrs. AES est le nom d'un cipher symétrique utilisé
dans Simp.
ls fonctionnent de façon similaire à des coffres-forts: vous mettez vos données dans le coffre, vous le refermez avec
votre clef, et cela reste sûr pendant des années, du moment que la clef est en lieu sûr.
Cependant, les ciphers symétriques ont un gros défaut: ils ne sont pas vraiment adaptés aux données d'aujourd'hui qui voyagent
sans cesse, ou qui sont destinées à être déchiffrées par une personne différente de l'expéditeur (cas très courant du mail par exemple). Comment peut-on envoyer
de façon sûre la clef de déchiffrement à cette personne ? Dans notre exemple, il est facile d'envoyer le coffre-fort à cette personne, mais cela n'aurait aucun
intérêt si l'on avait aussi à coller sur le coffre un papier pour indiquer au destinataire le code d'ouverture. Ce problème, souvent appelé problème de
distribution des clefs, est un des inconvénients majeurs du chiffrement conventionnel.
Chiffrement à clef publique
Le chiffrement à clef publique, introduit pour la première fois dans les années 1970, tente de résoudre le problème de la
distribution des clef en supprimant le besoin d'une clef unique pour le chiffrement et le déchiffrement.
Avec les ciphers à clef publique, chaque personne voulant recevoir des données chiffrées dispose de deux clefs: une
privée et une publique. Ces deux clefs ne sont pas choisies au hasard, elles sont conçues de telle manière que seule la clef secrète correspondante peut
déchiffrer les messages chiffrés avec une clef publique. Il est aussi bien évidemment impossible de déchiffrer un message sans sa clef privé.
Il est dit que le chiffrement à clef publique résout le problème de distribution des clefs car en effet, pour que des gens
puissent chiffrer des messages à votre attention, vous n'avez qu'à publier votre clef publique. Votre clef secrète sera conservée dans un
lieu sûr, et sera utilisée pour déchiffrer ces messages. En pratique, vous générez une fois un couple clef publique/clef privée que vous
utiliserez tout le temps par la suite.
Le chiffrement à clef publique a aussi une autre propriété très utile: il fonctionne aussi à l'envers;
c'est à dire qu'un message chiffré avec votre clef publique pourra être déchiffré uniquement avec votre clef privée. Or, comme vous êtes le seul à posséder cette clef privée,
vous êtes le seul à pouvoir produire un ciphertext donné déchiffrable par tout le monde ayant votre clef publique. L'authenticité du ciphertext peut donc être
établie en le déchiffrant.
Les inconvénients du chiffrement à clef publique sont que les ciphers sont en général assez lents (ils utilisent des nombres très
grands). D'autre part, le problème de la distribution des clefs est seulement partiellement résolu: comment être sûr que la clef publique que nous recevons a
bien été envoyée par le vrai utilisateur A ? Sans être certain de l'origine de la clef, ce qui est souvent difficile, vous ne pouvez pas vraiment utiliser la
fonctionnalité d'authentification précédent. C'est le fameux problème de l'oeuf et la poule: vous devez avoir la clef publique et être sûr qu'elle a été émise
par la bonne personne et non modifiée avant de pouvoir l'utiliser. Ce problème tente d'être résolu par des nouvelles infrastructures complexes telles que les
PKI, en introduisant des tiers de confiance. Pour les cas moins grands, l'origine de la clef peut être certifiée avec des méthodes bien plus faciles,
comme nous allons le voir dans la suite.
Hash (Hachés), messages digests
Les fonctions de hachage sont des fonctions à sens unique qui, étant donné une entrée quelconque, produisent une sortie de
taille fixe. Les fonctions de hachage travaillent avec toute longueur d'entrée, mais de telle manière que si cette entrée est altérée, même de la plus petite
partie possible, alors le résultat en sorti sera complètement différent de celui d'origine.
Les fonctions de hachage sont très pratiques pour les signatures digitales: pour signer un document, vous n'avez pas besoin
d'envoyer le document complet chiffré avec votre clef publique. Il suffit d'en générer un haché (résultat de la fonction de hachage) et de signer ce haché.
Pour vérifier l'authenticité du document et sa non altération, le destinataire calcule le haché du document reçu et le compare avec le haché que vous avez
signé.
Les fonctions de hachage sont aussi utiles pour qualifier des entrées de grande taille.
Une des utilisations des fonctions de hachage dans Simp est la vérification des clefs publiques. Souvenez-vous qu'un des
problèmes des chiffrements à clef publique est qu'il fallait être sûr de l'origine de la clef publique qu'on utilise, et qu'il est difficile de savoir
qu'elle a bien été émise par notre correspondant et non modifiée. Il est souvent possible d'en être sûr: rencontrer la personne. Imaginez que vous rencontrez
votre interlocuteur. Si vous le connaissez déjà, vous êtes sûr que ce n'est pas un imposteur. Au lieu de vous donner sa clef publique entière (qui est un nombre
très grand), il peut vous donner uniquement le haché de sa clef publique, beaucoup plus court et facile à écrire. Ces hachés de clef sont visibles dans
l'interface principale de Simp, sous l'appellation "Empreinte SHA-1".
Quels sont les chiffrements utilisés par Simp
Simp utilise les deux types de cryptographie: symétrique et asymétrique (clef publique). Une clef publique est utilisée pour
vous authentifier et transférer à votre correspondant une clef aléatoire valable pour la conversation uniquement. Cette clef est alors utilisée comme clef d'un
algorithme symétrique. Cela résout le problème de la lenteur des chiffrements à clef publique.
Techniquement, Simp utilise du RSA 2048 bits pour l'authentification et la distribution de la clef de session, puis ensuite
l'algorithme AES 128 bits prend la main pour le chiffrement en lui-même des messages.
Note : Avec SimpPro, d'autres algorithmes sont possibles, tels que ElGamal/DSA, courbes elliptiques, 3DES, ...
|