Utiliser OpenSSL pour crypter des messages et des fichiers sous Linux
Le cryptage est un aspect crucial de la cybersécurité, garantissant que les informations sensibles restent confidentielles et protégées contre tout accès non autorisé. OpenSSL, une implémentation open source robuste des protocoles SSL et TLS, fournit diverses fonctions cryptographiques qui peuvent être utilisées pour chiffrer des messages et des fichiers sur les systèmes Linux. Cet article vous guidera à travers plusieurs méthodes pour y parvenir, en soulignant la flexibilité et la puissance d'OpenSSL pour sécuriser vos données.
Dans ce didacticiel, vous apprendrez :
- Comment chiffrer un message avec OpenSSL
- Comment décrypter un message crypté à l'aide d'OpenSSL
- Comment chiffrer un fichier avec OpenSSL
- Comment décrypter un fichier crypté à l'aide d'OpenSSL
- Différents algorithmes de chiffrement disponibles dans OpenSSL
Chiffrement des messages et des fichiers avec OpenSSL
OpenSSL propose une variété d'algorithmes de cryptage pour sécuriser les messages et les fichiers. Cette flexibilité permet aux utilisateurs de choisir la meilleure méthode pour leurs besoins spécifiques. Vous trouverez ci-dessous cinq méthodes pour crypter et déchiffrer des données à l'aide d'OpenSSL.
Cryptage d'un message avec un mot de passe : cette méthode chiffre un message à l'aide d'un mot de passe, qui est ensuite requis pour le déchiffrer. Il est recommandé d'utiliser `-pbkdf2` pour une meilleure sécurité.
$ echo "LinuxConfig.org" | openssl enc -aes-256-cbc -a -salt -pbkdf2 -pass pass:mysecretpassword U2FsdGVkX19W9lxb8u93hvzRYaTr7rh8Pn6gOKzGJaMjjcQeIcR+PfIKLavho9qF
Déchiffrer un message avec un mot de passe : cette méthode déchiffre le message chiffré à l'étape précédente en utilisant le même mot de passe.
$ echo "U2FsdGVkX1/POwwfJq2VK3mqDqFO1Ttfuc+q8UuvoQ4Z0F2byx1uNI3NSjeipkAi" | openssl enc -aes-256-cbc -a -d -salt -pbkdf2 -pass pass:mysecretpassword
Remplacez « U2FsdGVkX1/POwwfJq2VK3mqDqFO1Ttfuc+q8UuvoQ4Z0F2byx1uNI3NSjeipkAi » par le message chiffré réel. L'indicateur `-d` indique le décryptage.
Chiffrement d'un fichier avec un mot de passe : cette méthode chiffre le contenu d'un fichier à l'aide d'un mot de passe.
$ openssl enc -aes-256-cbc -salt -pbkdf2 -in mydata.txt -out mydata.txt.enc -pass pass:mysecretpassword
Déchiffrer un fichier avec un mot de passe : cette méthode déchiffre le fichier chiffré à l'étape précédente en utilisant le même mot de passe.
$ openssl enc -aes-256-cbc -d -salt -pbkdf2 -in mydata.txt.enc -out mydata.txt -pass pass:mysecretpassword
Cette commande lit le fichier crypté « mydata.txt.enc », décrypte son contenu et réécrit les données d'origine dans « mydata.txt ».
Chiffrement et déchiffrement à l'aide d'une paire de clés publique/privée : cette méthode consiste à chiffrer un message avec une clé publique et à le déchiffrer avec une clé privée correspondante.
Générez une paire de clés :$ openssl genpkey -algorithm RSA -out private_key.pem -aes256 openssl rsa -pubout -in private_key.pem -out public_key.pem
Chiffrer un message :
$ echo "LinuxConfig.org" | openssl pkeyutl -encrypt -pubin -inkey public_key.pem -out encrypted_message.bin
Décryptez le message :
$ openssl pkeyutl -decrypt -inkey private_key.pem -in encrypted_message.bin
Dans cette méthode, le message est crypté avec la clé publique et ne peut être déchiffré qu'avec la clé privée correspondante, garantissant ainsi une communication sécurisée.
Cette commande utilise l'algorithme de chiffrement AES-256-CBC pour chiffrer le message « LinuxConfig.org ». L'indicateur `-a` garantit que la sortie est codée en base64, ce qui la rend plus facile à gérer en tant que chaîne de texte. L'indicateur `-pbkdf2` est recommandé pour une meilleure sécurité de dérivation de clé.
Cette commande lit le fichier « mydata.txt », crypte son contenu à l'aide d'AES-256-CBC et écrit les données cryptées dans « mydata.txt.enc ».
Conclusion
OpenSSL fournit des outils puissants pour crypter et déchiffrer les messages et fichiers sous Linux. En maîtrisant ces méthodes, vous pouvez améliorer considérablement la sécurité de vos données. Que vous préfériez le cryptage par mot de passe ou la sécurité robuste des paires de clés publique/privée, OpenSSL a les capacités nécessaires pour répondre à vos besoins de cryptage.