Chiffrer un fichier avec OpenSSL sous GNU/Linux
OpenSSL est un outil open-source présent sur toutes les distributions GNU/Linux qui implémente SSL/TLS et tout un tas d'algorithmes de chiffrement : AES, RSA, DES, Blowfish, etc.
Lorsque vous vous connectez à un site en HTTPS, c'est OpenSSL qui s'occupe du chiffrement de la connexion, si le serveur utilise OpenSSL, comme la quasi-totalité des OS Unix-like. OpenBSD par exemple utilise un fork d'OpenSSL qui se nomme LibreSSL.
OpenSSL peut donc chiffrer des flux mais également des fichiers, et c'est un jeu d'enfant.
Chiffrer un fichier
openssl enc -e -aes-256-cbc -in fichier -out fichier-chiffré
- enc : on précise qu'on va utiliser un algorithme de chiffrement
- -e : on chiffre un fichier
- -aes-256-cbc : l'algorithme, ici AES
Voici tous ceux disponibles :
- -in : le nom du fichier à chiffrer
- -out : le nom de sortie du fichier chiffré
On vous demandera alors un mot de passe. (20+ caractères conseillés)
Et voilà, c'est chiffré :
Déchiffrer un fichier
openssl enc -d -aes-256-cbc -in fichier-chiffré -out fichier-déchiffré
La même commande qu'auparavant, avec -d à la place de -e pour préciser qu'on déchiffre.
Spécifier le mot de passe dans la commande
Il est aussi possible d'inclure le mot de passe à utiliser pour chiffrer le fichier. Dans l'absolu, ce n'est pas conseillé puisque si quelqu'un accède à la commande, il pourra voir le mot de passe, mais pour ma part je l'utilise pour les backups du site qui sont envoyés sur un serveur différent.
Pour cela il suffit d'ajouter l'otion -pass pass: suivis du mot de passe dans les 2 commandes ci-dessus.
Exemple :
openssl enc -e -aes-256-cbc -in fichier -out fichier-chiffré -pass pass:Sup3rM0tDePasse
Cette façon marche également mais elle est dépréciée :
openssl enc -e -aes-256-cbc -in fichier -out fichier-chiffré -k Sup3rM0tDePasse
AES est l'agorithme de chiffrement le plus rapide et sécurisé à l'heure actuelle, l'opération ne prends donc généralement que quelques secondes.
L'article Chiffrer un fichier avec OpenSSL sous GNU/Linux a été publié sur Angristan