40 Rue Ampère 61000 Alençon
02 33 32 12 47

La cryptologie c’est quoi ?

RGPD_Cryptologie_Article

Aujourd’hui, nous entamons une nouvelle série d’articles bimestriels portant sur la sécurité. En effet, AZNetwork, société privée à capitaux 100% Français, agréée Hébergeur de Données de Santé depuis 2013, a décidé d’entamer une démarche de certification ISO 27001, pour valoriser la sécurité de ses environnements. Aussi, nous cherchons à communiquer auprès de chacun pour faire de l’espace numérique un « océan de sécurité ». Pour commencer cette série d’articles, nous allons parler de la cryptologie, qui est à la base de beaucoup de mécanismes en sécurité.

 

La cryptologie, c’est quoi ?

La cryptologie, c’est la science de la sécurité des messages. Elle regroupe deux branches majeures :

  • La cryptographie : faire en sorte que seules les personnes habilitées puissent déchiffrer un message donné. Par exemple, vous voulez envoyer un message à votre patron sans que vos collègues ne puissent le lire. Pour cela, vous allez utiliser des techniques cryptographiques pour chiffrer le message (le rendre illisible), et donner la clé de déchiffrement à votre patron pour qu’il puisse lire le message.
  • La cryptanalyse : faire en sorte de pouvoir déchiffrer un message pour lequel on n’est pas habilité. Dans notre exemple précédent, votre patron a perdu la clé de déchiffrement, et ne veut pas paraître maladroit. Il ne va donc pas vous redemander la clé mais utiliser des techniques de cryptanalyse pour déchiffrer le message sans la clé.

Généralités sur la cryptologie

Un système cryptographique est un système dans lequel on retrouve le schéma suivant :

 

Figure 1: Système cryptographique – protocole de chiffrement

Un message que l’on veut dissimuler passe par un algorithme, qui utilise une clé pour chiffrer le message, et sortir un chiffré, qui est le message dissimulé. Dans un système cryptographique, l’algorithme doit être public, et la clé est l’information que l’on ne doit pas divulguer si on ne veut pas se faire pirater, ou « cryptanalyser ».

Pour tout système cryptographique, il existe un protocole de chiffrement, vu précédemment. Mais, si l’on veut permettre à des personnes de lire le message, il faut un protocole de déchiffrement, qui suit le modèle suivant :

 

Figure 2: Système cryptographique – protocole de déchiffrement

Ici, le chiffré passe dans l’algorithme de déchiffrement, qui utilise la clé pour rendre clair le message.

Exemples sur la cryptologie

Divers algorithmes existent en cryptologie. Il existe deux catégories :

    • Algorithmes symétriques : Les deux acteurs de la cryptographie (la personne qui chiffre et celle qui déchiffre) utilisent la même clé.
    • Algorithmes asymétriques : les deux acteurs utilisent une clé qui leur est propre.

Cryptographie symétrique – César

Le plus simple des algorithmes symétriques est l’algorithme de César. Utilisé par le romain pour chiffrer ses messages importants, il utilise un décalage de l’alphabet pour chiffrer les messages.

Par exemple, si je veux chiffrer le message CRYPTOGRAPHIE avec l’algorithme de César, je vais le faire de la manière suivante.

  1. Définition du message : CRYPTOGRAPHIE
  2. Définition de la clé (ici, la clé est le nombre de décalages) : 3 (A->D, B->E…)
  3. Chiffrement du message : FUBSWRJUDSKLH (C->F, R->U, Y->B…)

Si l’on veut déchiffrer le message sans connaître la clé, et ainsi faire de la cryptanalyse, il existe plusieurs moyens. Sur un message court comme celui-ci, on peut tester l’ensemble des clés possibles (ici, 26). C’est long et fastidieux, aussi, une autre technique existe, plus orientée vers les messages longs.

Il s’agit de faire une analyse statistique sur les occurrences de lettres. En Français, c’est la lettre E qui apparaît le plus souvent pour les voyelles, et la lettre R pour les consonnes. On peut ainsi déduire que la plus grande occurrence correspond à l’une ou l’autre de ses lettres, et déterminer la clé de l’algorithme.

 

Cryptographie asymétrique – RSA

Dans un système cryptographique asymétrique, les acteurs ne partagent pas la même clé. Par exemple, l’algorithme RSA, qui est le plus utilisé aujourd’hui sur les problématiques de cryptographie, deux clés sont produites.

D’abord, la clé publique est distribuée à tout le monde, pour que des interlocuteurs qui veulent s’adresser à nous puissent chiffrer leur message et communiquer de manière sécurisée.

Ensuite, la clé privée nous permet de déchiffrer les messages envoyés par les interlocuteurs. Voici un petit schéma qui résume le propos :

Figure 3: Chiffrement/déchiffrement asymétrique

Je ne rentrerai pas dans les détails techniques de cet algorithme, pour permettre à chacun de comprendre au mieux cet article.

Cependant, ce qu’il faut retenir, c’est que seule la personne qui a émis la clé publique sera habilitée à lire les messages, et que tout le monde pourra potentiellement lui en émettre.

La cryptologie, ça sert à quoi ?

Nous avons déjà vu pas mal de choses sur la cryptologie, cependant vous pouvez vous interroger sur son utilité…

D’abord, la cryptographie est essentielle au fonctionnement d’internet. En effet, sur internet, des informations transitent. Ces informations sont parfois confidentielles. Par exemple, vos identifiants de connexion sur les réseaux sociaux, ou plus encore, sur les réseaux bancaires, sont des informations confidentielles. C’est pour cela qu’on utilise la cryptographie. Elle permet de garder secrète les informations entre deux entités (par exemple, vous et votre banque). Cela évite par exemple qu’un pirate (ou la NSA, enfin presque) ne puisse lire les informations qui circulent sur le réseau internet. La cryptographie sert également à d’autres applications comme la sécurité des systèmes embarqués (cartes à puce par exemple).

La cryptanalyse permet quant à elle de vérifier la sécurité des algorithmes et des clés de chiffrement. Elle passe aujourd’hui par des challenges lancés par diverses entités (par exemple, le challenge RSA jusqu’en 2007), qui demandent au public de déchiffrer un message donné. Ces challenges sont très bien récompensés (jusqu’à 50 000$ pour le challenge RSA-768), mais il faut avoir des ressources immenses en termes de connaissances et de matériel pour les réussir. Aussi, sans vouloir vous décourager, il vous faudra plus que cet article en termes de connaissances pour réussir un tel challenge.

Conclusion

Avoir des bases en cryptographie vous permettra de mieux comprendre les articles qui suivront dans cette série. Si vous souhaitez élargir vos compétences en cryptographie, de nombreuses documentations existent sur le net, et vous n’aurez pas de mal à monter en compétence sur ce domaine si vous avez un niveau assez soutenu en mathématiques.

 

 

Esteban BOUILLARD,

Chef de projet sécurité informatique

21 juillet 2017