Cryptographie : le chiffrement symétrique
La cryptographie à chiffrement symétrique est également appelée cryptographie à clé secrète. Une même clé secrète est partagée entre 2 interlocuteurs, et ceux-ci doivent connaître la clé pour pouvoir communiquer.
Avec ce procédé, il est donc nécessaire de disposer d’un moyen sûr pour échanger cette clé. Les opérations sont dites symétriques. La même clé est utilisée à la fois pour chiffrer et déchiffrer.
Pour illustrer le procédé de cryptographie symétrique, prenons l’exemple d’un coffre sécurisé par une serrure. Si vous voulez cacher un secret, il faudra posséder la clé vous permettant d’ouvrir le coffre.
Vous pourrez y déposer votre secret et ensuite le refermer avec la même clé.
Maintenant, imaginons que vous souhaitiez partager votre secret avec quelqu’un en lui donnant accès au coffre. Il vous faut pour cela transmettre la clé à cette autre personne. Cette personne devra elle aussi garer la clé secrète.
La force brute exemple du temps de calcul
Comme pour les mots de passe, les algorithmes symétriques ont une sécurité. Elle dépend de la limite de la longueur de la clé utilisée.
L’attaque la plus simple pour récupérer la clé est l’attaque par force brute. Cette technique vise à énumérer toutes les clés possibles.
Cette attaque, bien que rudimentaire, vous permet de retrouver la clé 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 clé. Cette augmentation permettra de rendre impossible la récupération de la clé en temps raisonnable.
En cryptographiée, la longueur de la clé se mesure en bits.
Illustrons ce principe avec des exemples concrets :
- avec le code d’un cadenas à combinaison de 4 chiffres qui peut prendre 10 000 valeurs (de 0000 à 9999),
- une clé sur un bit peut prendre 2 valeurs (0 ou 1),
- sur 2 bits elle pourrait prendre 4 valeurs (00, 01, 10, ou 11),
- sur 3 bits ce sera 8 valeurs,
- etc…
Pour généraliser, chaque bit de la clé peut prendre 2 valeurs (0 ou 1).
En utilisant une clé de longueur n, deux puissance n possibilités .
- Avec une clé de 128 bits ce sera donc 2 puissances 128 possibilités.
- Pour une clé de 256 bits ce sera donc 2 puissances 256 possibilités.
Afin de comprendre ce que représente cette complexité, imaginons un ordinateur capable de tester un milliard de clés à la seconde.
Si l’attaquant utilise un milliard d’ordinateurs de ce type, pour une recherche exhaustive sur 128, cela prendrait plus de 11 000 milliards d’années !
Retenez que plus la longueur de la clé est grande (en nombre de bits), plus le niveau de sécurité sera élevé.
Les problèmes de la transmission de la clé secrète du chiffrement symétrique
Les opérations de chiffrement symétrique et de déchiffrement symétrique sont rapides et simples à implémenter sur un matériel informatique. Elles permettent de répondre aux besoins de performance souvent indispensable pour les entreprises. Néanmoins, elles présentent certaines limites.
La première limite réside dans la transmission de la clé secrète, sur laquelle repose entièrement la protection du message. Si le canal de transmission de la clé n’est pas suffisamment sécurisé et qu’un attaquant réussit à s’en emparer avec des messages chiffrés, il pourra déchiffrer ce dernier et accéder à son contenu en clair.
La deuxième limite est qu’il est nécessaire d’avoir une clé pour chaque couple d’interlocuteurs. Si Alice, Bob et Martin sont amenés à échanger entre eux, il faudra 3 clés uniques dans le système pour maintenir les échanges confidentiels. (une clé entre Alice et Bob, une entre Bob et Martin et enfin une entre Alice et Martin). Si maintenant David veut pouvoir dialoguer lui aussi, il faudra 3 clés de plus. Imaginez combien de clés seraient nécessaires si 6, 7 ou 8 personnes voulaient échanger de l’information ? On réalise très vite quel large échelle la génération, la distribution et la conservation de ces clés pose un problème.