Chiffrement symétrique
Impossible d'accéder à la ressource audio ou vidéo à l'adresse :
La ressource n'est plus disponible ou vous n'êtes pas autorisé à y accéder. Veuillez vérifier votre accès puis recharger la vidéo.
Objectifs
Découvrir le chiffrement symétrique ;
Utiliser un algorithme de chiffrement symétrique.
Mise en situation
Lorsque deux personnes qui communiquent entre elles partagent exactement la même technique de chiffrement, on parle de chiffrement symétrique. C'est en général une méthode insuffisante pour les communications entre plusieurs personnes. Il est possible d'utiliser une clé symétrique pour communiquer avec quelqu'un, mais dans ce cas la clé sera changée à chaque nouvelle communication.
Le chiffrement symétrique est aussi utilisé lorsque l'on souhaite chiffrer des données sans les partager. C'est le cas lorsque l'on chiffre son disque dur pour que, même en cas de vol, seul le propriétaire puisse accéder aux données. Ainsi, le but n'est plus de sécuriser une communication mais le stockage lui-même.
Définition : Le chiffrement symétrique
Exemple : Schéma d'utilisation classique
Bob souhaite chiffrer son disque dur pour qu'il soit le seul à pouvoir accéder à ses fichiers.
Lors de l'installation de son système d'exploitation Bob décide de chiffrer son disque dur, il choisit un mot de passe P.
La totalité du disque est chiffré avec une clé K générée par le système, cette clé est stockée sur le disque dur.
La clé K est à son tour chiffrée grâce au mot de passe P (elle ne doit pas être accessible en clair sur le disque).
À chaque déverrouillage de son ordinateur Bob entre le mot de passe qui permet de déchiffrer la clé K ; elle est alors chargée en mémoire afin d'être disponible rapidement.
À chaque fois qu'un fichier est accédé en lecture il est déchiffré avec K ; à chaque accès en écriture il est chiffré avec K.
Ainsi, Bob est certain que tant que son mot de passe reste secret, ses données sont sécurisées même si quelqu'un accède au disque de son ordinateur.
Attention : Le partage de clés
Il arrive parfois que la clé soit connue par plusieurs personnes ou soit présente sur plusieurs serveurs du propriétaire.
Le transfert de la clé doit absolument être sécurisé pour que le chiffrement ne soit pas compromis.
Plusieurs stratégies existent et une des plus efficaces est d'utiliser un autre type de chiffrement pour chiffrer la clé secrète et d'envoyer ce message au destinataire qui pourra récupérer la clé secrète en toute sécurité. Transférer la clé au travers d'une connexion SSH est une stratégie commune.
Définition : Le chiffrement AES
L'Advanced Encryption System est un standard très répandu pour réaliser du chiffrement symétrique. Il possède énormément de bonnes propriétés : facile à calculer, implémentation possible au niveau logiciel comme au niveau matériel (implémentation câblée). Ce type de chiffrement est utilisé notamment pour des protocoles tels que SSL (sécurisant les connexions HTTP) ou encore pour chiffrer son disque dur (VeraCrypt).
Méthode : Générer sa propre clé secrète
Voici une commande basique pour générer une clé secrète. Il existe des implémentations plus complexes et sécurisées. Ici, la clé est simplement une suite aléatoire de 32 octets. Pour une utilisation réelle, il est conseillé d'utiliser des implémentations robustes et de confiance pour générer sa clé secrète.
openssl rand 32 > cle_secrete.pem
On obtient ici la clé de chiffrement dans le fichier cle_secrete.pem
.
Conseil : Utiliser une phrase secrète ou un mot de passe
Il est possible de sécuriser sa clé secrète en spécifiant un mot de passe lors de la génération de la clé. Une telle pratique permet de conserver la sécurité même si un attaquant réussit à récupérer la clé. Il est tout de même fortement conseillé de générer une nouvelle clé dès lors qu'une clé est compromise.
Méthode : Chiffrer et déchiffrer
On peut utiliser les commandes dans un repl Bash ou un terminal, pour chiffrer et déchiffrer un message.
Pour chiffrer un fichier msg.txt
en un nouveau fichier msg.txt.enc
avec AES et une clé secrète générée cle_secrete.pem
on utilise :
openssl aes-256-cbc -pbkdf2 -iter 100000 -in msg.txt -out msg.txt.enc -pass file:cle_secrete.pem
Pour déchiffrer un fichier msg.txt.enc
chiffré avec AES en un fichier msg.txt
et une clé secrète générée cle_secrete.pem
on utilise :
openssl aes-256-cbc -pbkdf2 -iter 100000 -d -in msg.txt.enc -out msg.txt -pass file:cle_secrete.pem
À retenir
Le chiffrement symétrique permet de sécuriser ses propres données avec une unique clé.
Le chiffrement symétrique permet d'échanger des données avec des pairs s'ils disposent eux aussi de la clé.
Le partage de clé est très complexe et doit rester exceptionnel pour conserver sa confidentialité.
L'algorithme AES permet de réaliser un chiffrement symétrique.
Impossible d'accéder à la ressource audio ou vidéo à l'adresse :
La ressource n'est plus disponible ou vous n'êtes pas autorisé à y accéder. Veuillez vérifier votre accès puis recharger la vidéo.