Recherche de site Web

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


Le cryptage et le déchiffrement des fichiers et des répertoires en toute sécurité sont essentiels pour protéger les données sensibles. OpenSSL, un puissant outil open source, offre des capacités robustes de cryptage et de déchiffrement capables de gérer des fichiers de toute taille, des petits fichiers texte aux gros fichiers binaires, et même des répertoires entiers. Ce didacticiel vous guidera à travers le processus de cryptage 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 didacticiel, vous apprendrez :

  • Comment créer un exemple de fichier ou de répertoire
  • Comment générer une paire de clés publique et privée RSA
  • Comment chiffrer un fichier ou un répertoire à l'aide d'OpenSSL
  • Comment décrypter le fichier ou le répertoire crypté pour revenir à 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 crypter. À des fins de démonstration, créons un exemple de fichier ou de répertoire et générons 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 publique et privée RSA : maintenant, générez une paire de clés publique et privée à 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 2 048 bits. La clé privée est stockée dans private-key.pem et la clé publique est stockée dans public-key.pem. Au cours de ce processus, vous serez invité à fournir les détails du certificat, mais vous pouvez les ignorer en appuyant sur ENTER.

    $ ls -l *.pem

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

  4. Générer des clés RSA et créer un exemple de fichier et de répertoire


Chiffrer un fichier ou un répertoire à l'aide d'OpenSSL

Maintenant que nous avons les clés et un 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 crypte sample_file.img à l'aide d'AES-256-CBC et stocke la sortie cryptée sous sample_file.img.enc.

    Pour un annuaire :
    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 crypte sample_directory.tar.gz et stocke la sortie cryptée sous sample_directory.tar.gz.enc.

  3. Vérifiez le cryptage : pour vous assurer que le processus de cryptage a réussi, générez la somme de contrôle MD5 des fichiers ou répertoires d'origine et crypté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, confirmant que le fichier ou le répertoire a été chiffré.

  4. Chiffrement d'un fichier ou d'un répertoire à l'aide d'OpenSSL

Décrypter un fichier ou un répertoire à l'aide d'OpenSSL

Une fois votre fichier ou répertoire crypté, vous devrez 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 decrypted_sample_file.img.

    Pour un annuaire :
    Tout d’abord, décryptez 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, indiquant que le décryptage a réussi.

  4. Déchiffrer un fichier ou un répertoire à l'aide d'OpenSSL

Conclusion

En suivant les étapes décrites dans ce didacticiel, vous pouvez facilement crypter et déchiffrer des fichiers et des répertoires à l'aide d'OpenSSL sous Linux. Que vous traitiez de petits fichiers, de gros fichiers ou de répertoires entiers, OpenSSL fournit une méthode fiable et efficace pour sécuriser vos données. N'oubliez jamais de conserver votre clé privée en sécurité, car elle est essentielle pour décrypter vos fichiers ou répertoires.

Articles connexes: