• Chiffrement / déchiffrement asymétrique avec GnuPG

    Après avoir vu comment chiffrer ses mails avec enigmail et chiffrer / déchiffrer un fichier avec GnuPG avec un chiffrement symétrique ( mot de passe ), nous allons voir comment chiffrer des fichiers / dossiers avec un chiffrement asymétrique ( clé publique / clé privée )....

    Tutoriel réalisé sur Xubuntu 14.04.1 avec  gpg (GnuPG) 1.4.16

    Manuel de GNU Privacy Guard

    Commandes et options essentielles GnuPG 

    Commandes GnuPG essentielles

    Pour commencer, je vais générer une paire de clés avec la commande :

    gpg --gen-key 

    Il va vous être alors demandé de choisir : 

    - Le type de clé souhaité

    - La longueur de la clé 

    - La durée de validité de la clé

    Il faudra également entrer quelques informations sur l'utilisateur afin d'associer la clé crée avec une personne physique ( ce qui sera important si vous souhaitez signer une clé...)

    - Nom

    - Adresse email

    - Commentaire ( facultatif )

    Enfin, vous devrez choisir le mot de passe qui servira à chiffrer votre clé privée.

    PS : choisissez un mot de passe complexe mais facile à mémoriser pour vous.

    Si vous oubliez votre mot de passe, vous ne pourrez plus utiliser vos clés.

     

    Créer des archives chiffrées avec une clé GPG

      (cliquer sur l'image pour l'agrandir)

     

    La génération des clés doit se faire de manière aléatoire.

    Cette génération se fait par l'intermédiaire d'actions que vous effectuerez sur votre ordinateur pendant la génération des clés ( frappe au clavier, mouvement de souris, navigation sur le web...)

    Ces actions auront pour but de créer des bits aléatoires et plus ces bits aléatoires seront nombreux, plus la clé sera robuste.

    Une fois la génération des clés terminée je peux voir :

    - L'identifiant de ma clé publique sur 8 caractères avec sa date de création et sa taille.

    - L'empreinte de la clé se terminant par les 8 derniers caractères de l'identifiant.

    - L'utilisateur associé a la clé avec son adresse mail.

    - La partie sub correspond à une sous-clé pouvant également servir à chiffrer ( utilisation des sous-clés OpenPGP ).

    L'élément qui m’intéressera un peu plus loin dans le tutoriel est l'identifiant de ma clé publique.

     

    Créer des archives chiffrées avec une clé GPG

      (cliquer sur l'image pour l'agrandir) 

     

    Les clés publiques et privées sont situées dans le répertoire caché .gnupg situé dans votre répertoire personnel.

    - pubring.gpg : clés publiques

    secring.gpg : clé privée

    - random_seed : fichier utilisé pour générer des nombres aléatoires lors de la création des clés.

    trustdb.gpg : base de données de confiance.

    Vous comprendrez qu'il est important de ne pas perdre pubring.gpg et secring.gpg et qu'il faudra effectuer des sauvegardes de ces éléments.

     

    Créer des archives chiffrées avec une clé GPG

      (cliquer sur l'image pour l'agrandir) 

     

    Pour visualiser la liste des clés publiques, utilisez la commande :

    gpg --list-key 

    Pour visualiser la liste des clés privées, utilisez la commande :

    gpg --list-secret-keys

     

    Créer des archives chiffrées avec une clé GPG

     (cliquer sur l'image pour l'agrandir) 

     

    Après la création d'une paire de clés, il est préférable de générer un certificat de révocation.

    Ce certificat permettra d'annuler la validité de la clé privée en cas de problème ( sécurité compromise, perte du mot de passe...).

    Pour créer ce certificat, j'utilise la commande : 

    gpg --output nom_certificat_révocation.asc --gen-revoke [uid]

    Le mot de passe de votre clé vous sera demandé pendant la création du certificat.

     

    Créer des archives chiffrées avec une clé GPG

     (cliquer sur l'image pour l'agrandir) 

     

    Si vous souhaitez utiliser votre certificat pour révoquer votre clé, utilisez la commande : 

     gpg --import votre_certificat_révocation.asc

     

    Créer des archives chiffrées avec une clé GPG

      (cliquer sur l'image pour l'agrandir) 

     

    Si vous souhaitez exporter votre clé publique afin de la partager, utilisez la commande : 

    gpg --armor --export [uid] > nom_souhaité.asc

    Voici à quoi ressemble ma clé publique....

     

    Créer des archives chiffrées avec une clé GPG

       (cliquer sur l'image pour l'agrandir) 

     

    Si vous souhaitez importer une clé publique, utilisez la commande :  

    gpg --import nom_fichier.asc

    Ainsi vous pourrez chiffrer des fichiers / dossiers avec les clés publiques de vos amis, éléments qu'ils ne pourront déchiffrer qu'avec leur clé privée...

     

    Créer des archives chiffrées avec une clé GPG

      (cliquer sur l'image pour l'agrandir) 

     

    II est possible de déterminer un niveau de confiance d'une clé.

    Le niveau de confiance va permettre de certifier que la clé appartient bien à la bonne personne....

    Pour cela, il faut d'abord éditer la clé que l'on souhaite signer :

    gpg --edit-key [uid]

    Ensuite a signature va se dérouler en deux parties :

    trust afin d'indiquer votre niveau de confiance en la personne.

    sign afin d'indiquer comment la vérification de l'identité a été faite.

     

    Créer des archives chiffrées avec une clé GPG

      (cliquer sur l'image pour l'agrandir)  

     

    Dans cette seconde partie, nous allons voir comment chiffrer / déchiffrer des données avec les clés....

    Afin de n'avoir à saisir qu'une seule fois la passphrase d'accès à ma clé privée GnuPG, le démon gpg-agent est démarré.

     

    Créer des archives chiffrées avec une clé GPG

      (cliquer sur l'image pour l'agrandir)  

     

    En mode chiffrement / déchiffrement symétrique, j'utilise les commandes suivantes :

    Chiffrement fichiers :  gpg --symmetric --cipher-algo aes256 -o [fichier sorti] [fichier lu]

    --symmetric : un mot de passe sera demandé pour le chiffrement.

    --cipher-algo aes256 : algorithme de chiffrement avec lequel le fichier sera chiffré.

    -o [fichier sorti] : définit le nom du fichier à la sortie.

    Déchiffrement fichiers : gpg -d -o [fichier sorti] [fichier lu]

    -d : indique qu'il faut déchiffrer

    -o [fichier sorti] : définit le nom du fichier à la sortie.

    Le mot de passe utilisé pour le chiffrement vous sera demandé pour le déchiffrement.

     

    Créer des archives chiffrées avec une clé GPG

      (cliquer sur l'image pour l'agrandir)  

     

    Chiffrement dossiers : tar czf -[dossier lu] | gpg --symmetric --cipher-algo aes256 -o [dossier sorti] 

    tar czf : on crée une archive tar.gz du dossier

    Le pipe | : va permettre de rediriger la sortie de la 1ère commande vers la seconde.

    --symmetric : un mot de passe sera demandé pour le chiffrement.

    --cipher-algo aes256 : algorithme de chiffrement avec lequel le fichier sera chiffré.

     -o [dossier sorti] : définit le nom du fichier à la sortie.

    Déchiffrement dossiersgpg -d [dossier lu] | tar xzf - 

    -d : indique qu'il faut déchiffrer.

    Le pipe | : va permettre de rediriger la sortie de la 1ère commande vers la seconde.

    tar xzf - : on extrait le dossier de l'archive

    Le mot de passe utilisé pour le chiffrement vous sera demandé pour le déchiffrement.

     

    Chiffrement / déchiffrement asymétrique avec GnuPG

       (cliquer sur l'image pour l'agrandir)  

     

    En mode chiffrement / déchiffrement asymétrique, j'utilise les commandes suivantes :

    Chiffrement fichiers : gpg -e -r [uid] -o [fichier sorti] [fichier lu]

    -e : indique qu'il faut chiffrer

    -r : spécifie l'identifiant de la clé avec lequel le fichier doit être chiffré ( 8 caractères )

    -o [fichier sorti] : définit le nom du fichier à la sortie.

    Déchiffrement fichiers : gpg -d -r [uid] -o [fichier sorti] [fichier lu]

    -d : indique qu'il faut déchiffrer

    -r : spécifie l'identifiant de la clé avec lequel le fichier doit être déchiffré ( 8 caractères )

    -o [fichier sorti] : définit le nom du fichier à la sortie.

     

    Créer des archives chiffrées avec une clé GPG

       (cliquer sur l'image pour l'agrandir)  

     

     

    Chiffrement dossiers : tar czf - [dossier lu] | gpg -e -r [uid] -o [dossier sorti]

    tar czf : on crée une archive tar.gz du dossier

    Le pipe | : va permettre de rediriger la sortie de la 1ère commande vers la seconde.

    -e : indique qu'il faut chiffrer

    -r : spécifie l'identifiant de la clé avec lequel le fichier doit être chiffré ( 8 caractères )

     -o [dossier sorti] : définit le nom du fichier à la sortie.

    Déchiffrement dossiers : gpg -d -r [uid] [dossier lu] | tar xzf -

    -d : indique qu'il faut déchiffrer

    -r : spécifie l'identifiant de la clé avec lequel le fichier doit être déchiffré ( 8 caractères )

    Le pipe | : va permettre de rediriger la sortie de la 1ère commande vers la seconde.

    tar xzf - : on extrait le dossier de l'archive

     

    Chiffrement / déchiffrement asymétrique avec GnuPG

     (cliquer sur l'image pour l'agrandir)  

     

    Conclusion :

    Vous en savez un peu plus sur le chiffrement asymétrique avec GnuPG.

    Je n'ai pas expliqué certaines options auquel cas ce tutoriel aurait bien été plus long, mais je vous incite à lire les 3 liens que j'ai mis en début d'article....

    N'hésitez pas à me faire part de vos commentaires....

     

    « Monter un dossier distant en local avec SSHFSCréer des tâches planifiées avec CRON »

    Tags Tags : , , , , , ,
  • Commentaires

    1
    nico
    Jeudi 5 Mars 2015 à 15:35

    Quand on cherche des tutoriels sur le chiffrement des fichiers avec GPG, beaucoup parlent du chiffrement des fichiers mais rarement du chiffrement des dossiers comme vous l'avez si bien fait dans votre tutoriel...


    Merci pour le partage !!!


     

    2
    Jeudi 5 Mars 2015 à 18:02

    Bonjour Nico

    Merci pour votre commentaire...

    En effet, beaucoup de tutoriels traitent uniquement du chiffrement des fichiers avec GPG et pour la partie chiffrement des dossiers, je me suis basé comme très souvent sur les pages de man et mes quelques connaissances....

    Suivre le flux RSS des commentaires


    Ajouter un commentaire

    Nom / Pseudo :

    E-mail (facultatif) :

    Site Web (facultatif) :

    Commentaire :