Utilisation de GPG pour crypter et décrypter des fichiers sous Linux


  • FrançaisFrançais



  • GnuPG, communément appelé GPG, est un outil extrêmement polyvalent, largement utilisé comme norme de l’industrie pour le cryptage d’éléments tels que les e-mails, les messages, les fichiers ou tout ce que vous devez envoyer à quelqu’un en toute sécurité.

    Il est facile de démarrer avec GPG, et vous pouvez commencer à l’utiliser en quelques minutes.

    Dans ce tutoriel, je vais vous montrer comment crypter et décrypter des fichiers avec GPG. Il s’agit d’un didacticiel simple et vous pouvez également tout essayer pour vous entraîner sur votre système Linux. Cela vous aidera à pratiquer les commandes GPG et à les comprendre lorsque vous serez totalement novice.

    Lisez d’abord l’intégralité du didacticiel, puis commencez à le faire vous-même.

    Comment fonctionne GPG pour le cryptage ?

    cryptage gpg expliqué
    Cryptage GPG

    Pour commencer à utiliser GPG, vous devez d’abord disposer d’une clé GPG.

    Une clé GPG est ce que vous utiliserez pour crypter (ou décrypter) les fichiers plus tard dans le didacticiel. C’est aussi ce qui est utilisé pour vous identifier, avec des éléments comme votre nom et votre adresse e-mail étant également liés à la clé.

    Les clés GPG fonctionnent en utilisant deux fichiers, une clé privée et une clé publique. Ces deux clés sont liées l’une à l’autre et sont toutes deux nécessaires pour utiliser toutes les fonctionnalités de GPG, notamment le cryptage et le décryptage des fichiers.

    Lorsque vous cryptez un fichier avec GPG, il utilise la clé privée. Le nouveau fichier crypté peut alors seul être décrypté avec la clé publique appariée.

    La clé privée est destinée à être stockée d’une manière indiquée directement dans son nom – de manière privée et non transmise à qui que ce soit.

    La clé publique, quant à elle, est destinée à être donnée à d’autres personnes ou à toute personne que vous souhaitez pouvoir déchiffrer vos fichiers.

    C’est là que l’approche principale de GPG pour le cryptage entre en jeu. Il vous permet de crypter les fichiers localement, puis de permettre aux autres de s’assurer que les fichiers qu’ils ont reçus ont bien été envoyés de votre part. Comme le seul moyen pour eux de décrypter le fichier est avec ton clé publique, qui ne fonctionnerait que si le fichier était crypté utilisant ton clé privée en premier lieu.

    Cela fonctionne aussi dans le sens inverse ! D’autres personnes peuvent chiffrer des fichiers à l’aide de votre clé publique, et la seule façon de les déchiffrer est avec votre clé privée. Permettant ainsi à d’autres de publier publiquement des fichiers sans se soucier que d’autres personnes que vous puissent les lire.

    En d’autres termes, si un fichier a été chiffré avec une clé privée, il ne peut être déchiffré qu’avec la clé publique correspondante. Et si un fichier a été chiffré avec une clé publique, il ne peut être déchiffré qu’avec la clé privée correspondante.

    Vous utilisez déjà GPG sans vous en rendre compte

    L’un des exemples les plus courants d’utilisation de GPG est dans le gestionnaire de packages Linux, en particulier les référentiels externes. Vous ajoutez la clé publique du développeur dans les clés de confiance de votre système. Le développeur signe les packages (génère une signature) avec sa clé privée. Étant donné que votre système Linux possède le fichier public, il comprend que le package provient en fait du développeur de confiance.

    Un certain nombre de services cryptés utilisent une sorte d’implémentation GPG en dessous sans que vous vous en rendiez compte. Mais il vaut mieux ne pas entrer dans ces détails pour le moment.

    Maintenant que vous êtes un peu familiarisé avec le concept, voyons comment vous pouvez utiliser GPG pour crypter un fichier, puis l’utiliser pour décrypter.

    Cryptage et décryptage de fichiers avec GPG

    cryptage gpg de base

    C’est un scénario très simpliste. Je suppose que vous n’avez qu’un seul système et que vous voulez voir comment fonctionne GPG. Vous n’envoyez pas les fichiers à un autre système. Vous cryptez le fichier puis le décryptez sur le même système.

    Bien sûr, ce n’est pas un cas d’utilisation pratique mais ce n’est pas non plus le but de ce tutoriel. Mon objectif est de vous familiariser avec les commandes et le fonctionnement de GPG. Après cela, vous pouvez utiliser ces connaissances dans une situation réelle (si besoin est). Et pour cela, je vais vous montrer comment vous pouvez partager votre clé publique avec d’autres.

    Étape 1 : Installation de GPG

    GPG peut être trouvé dans la plupart des référentiels de distribution prêts à l’emploi.

    Sur les systèmes basés sur Debian et Ubuntu, installez le package gpg :

    sudo apt install gpg

    Si vous utilisez des distributions basées sur Arch, installez le package gnupg avec la commande pacman :

    sudo pacman -S gnupg

    Étape 2 : Génération d’une clé GPG

    La génération d’une clé GPG sur votre système est une procédure simple à une seule commande.

    Exécutez simplement la commande suivante et votre clé sera générée (vous pouvez utiliser les valeurs par défaut pour la plupart des questions, comme indiqué dans les sections soulignées ci-dessous) :

    gpg --full-generate-key
    génération de clé gpg
    Génération de clés GPG

    Vérification de la clé GPG

    Vous pouvez alors voir que la clé privée et la clé publique sont toutes deux liées par l’ID indiqué sous pub en utilisant le –list-secret-keys et –list-public-keys commandes respectivement :

    clés de liste gpg 1
    Liste des clés GPG

    Étape 3 : Cryptage d’un fichier avec GPG

    Maintenant que vous avez configuré nos clés GPG, vous pouvez commencer à crypter nos fichiers !

    Utilisez la commande suivante pour chiffrer les fichiers :

    gpg --encrypt --output file.gpg --recipient [email protected] file

    Voyons ce que cette commande fait très rapidement :

    Vous avez d’abord spécifié le -Crypter option. Cela indique simplement à GPG que nous allons chiffrer un fichier.

    Ensuite, vous avez spécifié –fichier de sortie.gpg. Cela peut être n’importe quoi, bien qu’il s’agisse généralement du nom du fichier que vous chiffrez plus un .gpg rallonge (donc message.txt deviendrait message.txt.gpg).

    Ensuite, vous tapez -destinataire [email protected]. Cela spécifie l’e-mail d’une clé GPG correspondante qui n’existe pas encore tout à fait sur ce système.

    La façon dont cela fonctionne est que l’e-mail que vous spécifiez ici doit être lié à une clé publique sur votre système local.

    En règle générale, cela proviendra de la clé GPG publique d’une personne différente, avec laquelle vous allez crypter votre fichier. Après cela, le fichier ne pourra être déchiffré qu’avec la clé privée de cet utilisateur.

    J’utiliserai ma clé GPG précédente avec le [email protected] dans cet exemple. Ainsi, la logique serait que je chiffre le fichier avec le Publique clé de h[email protected], qui ne pourra alors être décrypté qu’avec le privé clé de [email protected].

    Vous n’auriez la clé publique que si vous cryptiez un fichier pour quelqu’un d’autre, mais puisque vous cryptez le fichier pour vous-même, vous avez les deux clés sur votre système.

    Enfin, vous spécifiez simplement le fichier que vous allez crypter. Pour cet exemple, utilisons un fichier nommé message.txt avec le contenu suivant :

    We're encrypting with GPG!
    exemple de message gpg
    Exemple de fichier texte

    De même, si l’e-mail a été [email protected], la nouvelle commande GPG serait la suivante :

    gpg --encrypt --output message.txt.gpg --recipient [email protected] message.txt
    exemple de message gpg crypté
    Cryptage de fichier avec GPG

    Si vous essayez ensuite de lire le fichier, vous verrez qu’il ressemble à du charabia. C’est normal car le fichier est crypté maintenant :

    gpg exemple de message crypté charabia
    La lecture du fichier crypté génère du texte charabia

    Supprimons maintenant le fichier message.txt non crypté afin que vous puissiez voir que le fichier message.txt.gpg se décrypte très bien sans le fichier d’origine :

    message gpg original supprimé

    Étape 4 : Décryptage du fichier crypté avec GPG

    Enfin, décryptons en fait le message crypté. Vous pouvez le faire en utilisant la commande suivante :

    gpg --decrypt --output file file.gpg

    En parcourant l’argument ici, nous spécifions d’abord –décrypter, qui indique à GPG que vous allez déchiffrer un fichier.

    Ensuite, vous entrez -sortir fichier, qui indique simplement à GPG dans quel fichier vous allez enregistrer la forme cryptée de notre fichier après l’avoir décrypté.

    Enfin, vous entrez fichier.gpg, qui n’est que le chemin d’accès à votre fichier crypté.

    En suivant l’exemple, la commande que j’utiliserais serait la suivante :

    gpg --decrypt --output message.txt message.txt.gpg
    déchiffrer le message gpg
    Décryptage de fichier avec GPG

    Et voila, vous avez terminé! C’est tout ce qu’il y a à faire lorsque vous voulez crypter et décrypter des fichiers avec GPG.

    La seule autre chose que vous voudrez peut-être savoir, c’est comment partager vos clés publiques avec d’autres afin qu’ils puissent crypter les fichiers avant de vous les envoyer.

    Envoi et réception de clés GPG

    Pour envoyer à quelqu’un une clé GPG, vous devez d’abord l’exporter depuis votre porte-clés, qui contient toutes vos clés publiques et privées.

    Pour exporter une clé, recherchez simplement l’ID de la clé dans votre trousseau, puis exécutez la commande suivante en remplaçant id avec l’ID de la clé et clé.gpg avec le nom du fichier dans lequel vous souhaitez enregistrer :

    gpg --output key.gpg --export id
    exportation de clé gpg
    Exporter la clé publique GPG

    Pour importer une clé, donnez simplement le fichier de sortie (de la commande précédente) à l’autre utilisateur, puis demandez-lui d’exécuter la commande suivante :

    gpg --import key.gpg
    importation de clé gpg

    Cependant, pour utiliser la clé normalement, vous devrez vérifier la clé afin que GPG lui fasse correctement confiance.

    Cela peut être fait en exécutant le –touche-édition sur le système de l’autre utilisateur, en signant la clé :

    Première exécution gpg --edit-key id:

    invite de touche d'édition gpg
    Clé d’édition GPG

    Ensuite, exécutez le fpr commande, qui affichera l’empreinte de la clé. La sortie de cette commande doit être validée par rapport à la sortie sur votre propre machine, qui peut être trouvée en exécutant le même –touche-édition commande sur votre système :

    empreinte digitale de la clé d'édition gpg 1
    Empreinte digitale de la clé GPG

    Si tout correspond, exécutez simplement le signe commande et tout sera prêt :

    signe de clé d'édition gpg
    Signer la clé GPG

    C’est ça! L’autre utilisateur peut maintenant commencer à crypter les fichiers avec votre clé publique comme vous le faisiez auparavant, en s’assurant qu’ils ne seront lisibles que par vous lorsque vous les déchiffrez avec votre clé privée.

    Et c’est toutes les bases de GPG !

    Emballer

    Vous avez maintenant passé en revue tout ce dont vous avez besoin pour commencer à utiliser GPG, y compris le cryptage des fichiers pour vous-même et pour les autres. Comme je l’ai mentionné plus tôt, c’est juste pour comprendre comment fonctionne le processus de cryptage et de décryptage GPG. Les connaissances de base en GPG que vous venez d’acquérir peuvent passer au niveau supérieur lorsqu’elles sont appliquées dans des scénarios du monde réel.

    Besoin d’aide pour trouver quelque chose encore, ou quelque chose qui ne fonctionne tout simplement pas ? N’hésitez pas à en laisser dans les commentaires ci-dessous.

    Source

    N'oubliez pas de voter pour cet article !
    1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
    Loading...

    La Rédaction

    L'équipe rédactionnnelle du site

    Pour contacter personnellement le taulier :

    Laisser un commentaire

    Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *