1. Introduction
Le chiffrement de données a pour objectif :
|
2. Procédé du chiffrement
2.1 Le chiffre de Vernam
Il s’agit de clef aléatoire, à la réception de message, il suffit d’utiliser la clef inversée pour retrouver le message en clair. Il est nécessaire que la longueur de la clef utilisée soit égale à la longueur de message que cette clef utilisée soit parfaitement aléatoire et qu’elle ne soit jamais utilisée plus d’une fois. Il est donc compliqué de mettre en place un tel système.
2.2 Le principe de Kerckhoffs
Le cryptologue militaire Hollandais (1835-1903) précise que la sécurité du chiffrement doit réaliser exclusivement dans la protection de la clef. C’est-à-dire que même si un attaquant arrivait à déterminer qu’un message est chiffré à l’aide du chiffre Vernam que nous venons de voir, l’attaquant ne peut tout de même pas décrypter le message tant qu’il n’aurait pas trouvé la clef correspondante.
Alors, le chiffre Vernam respecte le principe de Kerckhoffs. La protection d’une donnée est ainsi ramenée à la protection d’une clef. La protection en confidentialité de la donnée déroulera donc de la protection en confidentialité de la clef.
3. La cryptographie de nos jours
Si nous avons compris le principe de Kerckhoffs, La sécurité de chiffrement doit reposer exclusivement sur la protection de la clef de chiffrement.
Mais comment protège-t-on cette clef ?
Nous allons voir maintenant comment cette clef peut-être protéger au travers de la présentation des deux grands champs de la cryptographie :
La cryptographie symétrique (plus ancienne)
La cryptographie asymétrique (1970)
3.1 Le chiffrement symétrique
3.1.1 Le principe du chiffrement symétrique
Le chiffrement symétrique est également appelé cryptographie à la clef secrète. Une même clef secrète est partagée entre deux interlocuteurs et ceux-ci doivent connaitre la clef pour pouvoir communiquer.
Avec ce procédé, il est donc nécessaire de disposer d’un moyen sûr pour échanger cette clef. Les opérateurs sont dits symétriques. La même clef est utilisée à la fois pour chiffrer et pour déchiffrer.
Comme le mot de passe, les algorithmes symétriques ont une sécurité qui dépend de la longueur de la clef utilisée.
L’attaque le plus simple pour récupérer la clef est attaqué par la force brut. Cette attaque, bien que rudimentaire, permet de retrouver la clef de façon garantie.
Pour augmenter le niveau de sécurité face à ce type d’attaque, il est nécessaire d’augmenter la longueur de la clef qui permettra de rendre impossible la récupération de la clef a un temps raisonnable.
En cryptographie, la longueur de la clef se mesure en bits. Par analogie avec le code d’un cadenas à combinaison à 4 chiffres qui peut prendre 10000 valeurs (de 0000 à 9999).
Une clef sur 1 bits peut prendre 2 valeurs (0 et 1), sur 2 bits elle pourra prendre 4 valeurs (00,01,10 et 11), sur 3 bits ce sera 8 valeurs etc…
Longueur de la clef | Nombre de combinaison possible (X^n) |
1 bit | 2 (0,1) |
2 bits | 4 (00,01,10,11) |
3 bits | 8 (00,01,10,…..) |
4 bits | 16 = 2^4 |
.. | .. |
128 bits | 4×10^38 = 2^128 |
3.1.2 Conclusion sur le chiffrement symétrique
Le chiffrement symétrique est utile dans certains cas de besoin de l’entreprise mais il présente une certaine limite :
Il réside d’où la transmission de la clef de sécurité sur laquelle repose entièrement la protection du message.
Il est nécessaire d’avoir une clef pour chaque couple d’interlocuteur. S’il y en a plus de deux interlocuteurs, il faut une clef par couple de personnes, donc le nombre de clef se multiplie et il pourra devenir ingérable pour une entreprise.
3.2 Le chiffrement asymétrique
Etant donné que le chiffrement symétrique pose des problèmes de distributions de clef, Diffie et Helmann ont débuté les travaux en 1976 puis Rivest en 1978, mais Shamir et Adlema ont proposé une nouvelle approche de la cryptographie. C’est-à-dire le chiffrement asymétrique que nous connaissons aujourd’hui.
Cette approche est basée sur l’utilisation de deux clefs, une clef publique et une privée qui sont dépendante l’une et l’autre.
La clef publique est une clef qui permet de chiffrer le message.
La clef privée est une clef qui permet, quant à elle, de déchiffrer le message.
3.2.1 Le principe asymétrique
Alain envoie un message à Sophie, Sophie envoie une clef publique à Alain qui va permettre de chiffrer le message. Alain chiffre le message avec la clef publique de Sophie et envoie sur le réseau.
3.2.2 Un algorithme complexe
Les deux clefs sont réalisées par des problèmes mathématiques extrêmement difficiles à résoudre. Une équation qui permet de facilement générer la « bi-clef » mais rendre difficile voire impossible le calcul de retrouver la clef privée à partir de la clef publique en temps raisonnable.
Une opération plus complexe dont les performances sont limitées. Il permet donc d’échanger efficacement un petit volume de données, mais de façon sûre avec un interlocuteur.
3.2.3 Vulnérabilité du chiffrement asymétrique
Cependant, le chiffrement asymétrique n’est pas à l’abri d’une attaque informatique. Il reste en effet vulnérable à une attaque dite « man in the middle » qui pour but d’intercepter les communications entre les deux parties sans que ni l’une ni l’autre ne puissent se douter que le canal a été compromis.
3.2.4 Chiffrement hybride
A l’opposé, le chiffrement symétrique permet de chiffrer de façon rapide des volumes importantes des données mais soulève le problème de l’échange des clefs secrètes, l’approche naturelle est donc d’utiliser une technique qui combine les deux approches.
Cette technique est connue sous le nom de chiffrement hybride.
Avec cette technique, on commence par utiliser le chiffrement asymétrique unique (la clef secrète) qui est ensuite utilisée pour chiffrer symétriquement les futurs échanges.
3.2.5 Signature électronique
Nous avons vu les avantages et les inconvénients des trois systèmes. Cependant, ces méthodes ne sont toujours suffisamment fiables. Alors, d’autres mécanismes de cryptographie apportent une solution à ce problème :
- La signature électronique
- Les certificats
- Les infrastructures de gestion de clés (PKI)
Ces procédés rendent possible d’associer une identité à une clef publique, ce qui va permettre de déplacer le problème à la distribution de la clef publique d’une autorité. Ce procédé est celui utilisé par les navigateurs et les systèmes d’exploitation.
Nous avons vu qu’il est indispensable d’obtenir la clef publique d’une source de confiance et de façon intègre afin éviter une attaque par l’homme du milieu « man in the middle« .
Comment s’assurer qu’une donnée est transmise de manière intègre ?
Pour assurer cela, nous allons intégrer deux procédés, la signature et le certificat numérique.
3.2.6 Le certificat
La clef publique est signée par l’autorité de l’infrastructure (Certificate Autority) et peut-être signé par un certificateur public pour assurer son authenticité afin d’utiliser publiquement.
3.2.7 Synthèse de la cryptographie
Symétrique | Asymétrique |
Utiliser une seule clef | Utiliser de deux clefs publique et privée |
Utiliser pour la protection de gros volumes de données | Utiliser pour la distribution des clefs et la signature |
Permet d’assurer la confidentialité et l’intégrité des données | Permet d’assurer la confidentialité, l’intégrité, l’authenticité et non-répudiation des données. |
Préconise une longueur de clef de 128 bits au-delà de 2020 | Préconise une longueur de clef de 1024 bits au minimum |
Noter: RSA –> Ronald Rivest, Adi Shamir, Léonard Adleman (1977) inventent le système asymétrique le plus utilisées aujourd’hui. AES –> Standard de chiffrement symétrique de l’an 2000, qui remplace DES. |
3.2.8 Sécurité du chiffrement
Un chiffrement symétrique au moyen d’une clé de 128 bits donnera 2128 façons de chiffrer un message. Un pirate qui essaierait de déchiffrer le message par la force brute devrait les essayer une par une.
Pour les systèmes à clef publique est différent. Les clefs sont plus longues (par exemple 1 024 bits minimum pour RSA). En effet, elles possèdent une structure mathématique très particulière (seuls les nombres premiers sont utilisés). Certains algorithmes exploitant cette structure sont plus efficaces qu’une recherche exhaustive. Ainsi, le crible général des corps de nombres est une méthode plus efficace que la recherche exhaustive pour la factorisation.
Il faut noter le développement actuel de la cryptographie utilisant les courbes elliptiques, qui permettent (implémentations plus complexes) l’utilisation de clefs nettement plus petites que celles des algorithmes classiques (une taille de 160 bits étant considérée comme très sûre actuellement), pour un niveau de sécurité équivalent.
The Guardian affirmait que la NSA était capable de déchiffrer la plupart des données chiffrées circulant sur Internet. De nombreuses sources ont cependant indiqué que la NSA n’avait pas mathématiquement cassé les chiffrements mais s’appuierait sur des faiblesses d’implémentation des protocoles de sécurité.