Recherche de site Web

Comment chiffrer et déchiffrer des fichiers et des répertoires à l’aide d’OpenSSL et de Linux


Le chiffrement et le déchiffrement sécurisés des fichiers et des répertoires sont essentiels pour protéger les données sensibles. OpenSSL, un puissant outil open source, offre des capacités de chiffrement et de déchiffrement robustes qui peuvent gérer des fichiers de toute taille, des petits fichiers texte aux fichiers binaires volumineux, et même des répertoires entiers. Ce tutoriel vous guidera tout au long du processus de chiffrement et de déchiffrement de fichiers et de répertoires à l’aide d’OpenSSL sur des systèmes Linux tels que Redhat, Ubuntu, Debian, CentOS et Fedora.

Dans ce tutoriel, vous allez apprendre :

  • Comment créer un exemple de fichier ou de répertoire
  • Comment générer une paire de clés publiques et privées RSA
  • Comment chiffrer un fichier ou un répertoire à l’aide d’OpenSSL
  • Comment déchiffrer le fichier ou le répertoire chiffré pour le ramener à son état d’origine

Création d’un exemple de fichier ou de répertoire et génération de clés RSA

Pour commencer, vous aurez besoin d’un fichier ou d’un répertoire que vous souhaitez chiffrer. À des fins de démonstration, nous allons créer un exemple de fichier ou de répertoire et générer une paire de clés RSA.

  1. Créer un exemple de fichier ou de répertoire : vous pouvez créer un fichier ou un répertoire en fonction de ce que vous souhaitez chiffrer. Voici les commandes pour les deux :Pour un fichier :

    fallocate -l 100M sample_file.img

    Cette commande crée un fichier nommé sample_file.img d’une taille de 100 Mo.

    Pour un annuaire :

    mkdir sample_directory
    touch sample_directory/file1.txt sample_directory/file2.txt
  2. Cela crée un répertoire nommé sample_directory contenant deux fichiers texte.

  3. Générer une paire de clés publiques et privées RSA : Maintenant, générez une paire de clés publiques et privées à l’aide de la commande OpenSSL :

    openssl req -x509 -nodes -newkey rsa:2048 -keyout private-key.pem -out public-key.pem

    Cette commande crée une paire de clés RSA de 2048 bits. La clé privée est stockée dans le fichier private-key.pem, et la clé publique est stockée dans le fichier public-key.pem. Au cours de ce processus, vous serez invité à entrer les détails du certificat, mais vous pouvez les ignorer en appuyant sur ENTRÉE.

    ls -l *.pem

    Assurez-vous que la clé privée est sécurisée, car sa perte vous empêchera de déchiffrer vos fichiers ou répertoires.

Chiffrement d’un fichier ou d’un répertoire à l’aide d’OpenSSL

Maintenant que nous avons les clés et l’exemple de fichier ou de répertoire, passons au cryptage.

  1. Chiffrer le fichier ou le répertoire : selon que vous chiffrez un fichier ou un répertoire, le processus est légèrement différent. Pour un fichier :

    openssl smime -encrypt -binary -aes-256-cbc -in sample_file.img -out sample_file.img.enc -outform DER public-key.pem

    Cette commande chiffre sample_file.img à l’aide d’AES-256-CBC et stocke la sortie chiffrée sous le nom sample_file.img.enc.

    Pour un répertoire :
    Tout d’abord, compressez le répertoire dans une archive tar :

    tar -czf sample_directory.tar.gz sample_directory/

    Ensuite, chiffrez l’archive tar :

    openssl smime -encrypt -binary -aes-256-cbc -in sample_directory.tar.gz -out sample_directory.tar.gz.enc -outform DER public-key.pem
  2. Cette commande chiffre sample_directory.tar.gz et stocke la sortie chiffrée sous le nom sample_directory.tar.gz.enc.

  3. Vérifier le chiffrement : pour vous assurer que le processus de chiffrement a réussi, générez la somme de contrôle MD5 des fichiers ou répertoires originaux et chiffrés à des fins de comparaison. Pour un fichier :

    md5sum sample_file.img*

    Pour un annuaire :

    md5sum sample_directory.tar.gz*

    Les sommes de contrôle doivent être différentes, ce qui confirme que le fichier ou le répertoire a été chiffré.

Déchiffrement d’un fichier ou d’un répertoire à l’aide d’OpenSSL

Une fois votre fichier ou répertoire chiffré, vous devez savoir comment le déchiffrer.

  1. Déchiffrer le fichier ou le répertoire chiffré : selon que vous déchiffrez un fichier ou un répertoire, utilisez les commandes suivantes. Pour un fichier :

    openssl smime -decrypt -in sample_file.img.enc -binary -inform DER -inkey private-key.pem -out decrypted_sample_file.img

    Cette commande déchiffre sample_file.img.enc et stocke le résultat sous la forme decrypted_sample_file.img.

    Pour un répertoire :
    Tout d’abord, déchiffrez l’archive :

    openssl smime -decrypt -in sample_directory.tar.gz.enc -binary -inform DER -inkey private-key.pem -out decrypted_sample_directory.tar.gz

    Ensuite, extrayez le répertoire :

    tar -xzf decrypted_sample_directory.tar.gz
  2. Cette commande restaure le sample_directory d’origine.

  3. Vérifier le déchiffrement : pour vérifier que le déchiffrement a réussi, générez la somme de contrôle MD5 du fichier ou du répertoire déchiffré et comparez-la avec la somme de contrôle du fichier ou du répertoire d’origine. Pour un fichier :

    md5sum decrypted_sample_file.img sample_file.img

    Pour un annuaire :

    md5sum decrypted_sample_directory.tar.gz sample_directory.tar.gz

    Les sommes de contrôle des fichiers ou répertoires d’origine et déchiffrés doivent correspondre, ce qui indique que le déchiffrement a réussi.

Conclusion

En suivant les étapes décrites dans ce tutoriel, vous pouvez facilement chiffrer et déchiffrer des fichiers et des répertoires à l’aide d’OpenSSL sous Linux. Qu’il s’agisse de petits fichiers, de fichiers volumineux ou de répertoires entiers, OpenSSL fournit une méthode fiable et efficace pour sécuriser vos données. N’oubliez jamais de garder votre clé privée en sécurité, car elle est essentielle pour déchiffrer vos fichiers ou répertoires.

Articles connexes: