Ghost in the Machines
On septembre 23, 2021 by adminJ’utilise le logiciel GPG (également connu sous le nom de GnuPG) pour chiffrer les fichiers qui contiennent des informations sensibles (principalement des mots de passe). En tant qu’ingénieur système, je réalise la plupart de mes travaux sur des serveurs distants, accessibles via une interface en ligne de commande. Naturellement, je trouve plus facile d’utiliser la version en ligne de commande de GPG pour chiffrer et déchiffrer directement les documents.
GPG (GNU Privacy Guard) est une version libre et gratuite du logiciel de chiffrement PGP (Pretty Good Privacy). Conceptuellement, les deux utilisent la même approche de la cryptographie (c’est-à-dire le cryptage et le décryptage). Cependant, chacun est uniquement différent dans sa mise en œuvre.
Ce qui suit est une amorce rapide sur la façon d’installer les outils de ligne de commande GPG, ainsi qu’une liste de commandes de base dont vous êtes le plus susceptible d’avoir besoin.
Installation de GPG
GPG peut être installé de plusieurs façons différentes. Les instructions ici installeront les outils de ligne de commande de base de GPG, qui sont destinés à être utilisés dans un terminal.
Si, d’autre part, vous préférez une interface utilisateur graphique (ou GUI) pour accéder aux fonctionnalités de GPG (par exemple, le chiffrement des communications par courrier électronique, ou le chiffrement des documents dans un éditeur de texte GUI), reportez-vous aux liens à la fin de cet article.
Red Hat / CentOS
yum install gnupg
Ubuntu / Debian
apt-get install gnupg
Mac OS X
La façon la plus simple d’installer les outils de ligne de commande GPG sur votre Mac est de commencer par installer Homebrew, un système de gestion de paquets qui met à disposition des milliers de paquets logiciels à installer sur votre Mac.
Ouvrez une fenêtre Terminal (Applications > menu Utilitaires), puis entrez la commande suivante.
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
brew install gnupg
GPG Quick How To
Ce qui suit est une très brève introduction à l’utilisation en ligne de commande de GPG. Considérez-le comme une « référence rapide » ou une « antisèche ». Vous devriez certainement apprendre plus sur GPG que ce qui est expliqué dans ce post. Il n’a pour but que de vous aider à démarrer. Si vous prévoyez d’utiliser GPG de manière plus approfondie, je vous conseille vivement de lire davantage de documentation (voir la section Liens ci-dessous).
GPG est un logiciel de chiffrement puissant, mais il peut également être facile à apprendre – une fois que vous comprenez certaines bases. GPG utilise une méthode de cryptage connue sous le nom de cryptographie à clé publique, qui offre un certain nombre d’avantages et de bénéfices. Cependant, pour obtenir ces avantages, un niveau minimal de complexité est nécessaire pour que tout fonctionne. Pour un aperçu du fonctionnement de la cryptographie à clé publique, lisez l’Introduction à la cryptographie (lien en bas de ce billet).
Conventions typographiques utilisées dans les commandes :
Dans tous les exemples ci-dessous, le texte que vous devrez remplacer par vos propres valeurs (par exemple, les noms d’utilisateurs, les adresses e-mail, les noms de fichiers) est indiqué en « italique gris ». Le texte que vous taperez littéralement (sans modification) est indiqué par « largeur constante noire ».
"gray italic""black constant width"
Créer votre clé GPG:
Pour commencer avec GPG, vous devez d’abord générer votre paire de clés. C’est-à-dire que vous allez générer à la fois une clé privée et une clé publique avec une seule commande. Entrez votre nom et votre adresse électronique aux invites, mais acceptez les options par défaut sinon.
gpg --gen-key
La première clé est votre clé privée (ou secrète). Vous devez garder cette clé privée en sécurité à tout moment, et vous ne devez la partager avec personne. La clé privée est protégée par un mot de passe. Essayez de choisir un mot de passe aussi long que possible, mais que vous n’oublierez pas. Si vous oubliez le mot de passe, il n’y a aucun moyen de le récupérer. Pour la même raison, vous devez également faire une copie de sauvegarde de votre clé privée. (Pensez à utiliser Time Machine pour les sauvegardes sur Mac OS X.)
La deuxième clé est votre clé publique, que vous pouvez partager en toute sécurité avec d’autres personnes.
La relation entre la clé privée et la clé publique est en fait très simple. Tout ce qui est crypté à l’aide de la clé publique ne peut être décrypté qu’avec la clé privée correspondante. Par conséquent, vous fournirez votre clé publique à une autre personne, et elle vous fournira sa clé publique. Tout ce qui est crypté avec votre clé publique ne peut être décrypté que par vous. Tout ce qui est crypté à la clé publique de l’autre personne ne peut être décrypté que par l’autre personne.
Exporter votre clé publique :
L’étape suivante consiste à exporter votre clé publique et à la partager avec une autre personne. Cette personne doit faire de même et exporter sa clé publique.
gpg --export --armor [email protected] > mypubkey.asc
Importer la clé publique d’une autre personne:
Lorsque vous importez une clé publique, vous la placez dans ce qui est communément appelé votre « trousseau » GPG. »
gpg --import theirpubkey.asc
Liste des clés publiques dans votre trousseau:
Vous pouvez maintenant afficher une liste des clés publiques dans votre trousseau, ainsi que le nom et l’adresse électronique associés à chaque clé.
gpg --list-keys
Liste des clés privées dans votre trousseau:
La commande suivante énumérera les clés privées dans votre trousseau. Elle affichera votre propre clé privée, que vous avez créée précédemment.
gpg --list-secret-keys
Faire confiance à une clé publique:
Une fois que vous avez importé la clé publique de l’autre personne, vous devez maintenant définir le niveau de confiance de la clé. Cela empêche GPG de vous avertir chaque fois que vous chiffrez quelque chose avec cette clé publique.
Précisez le nom ou l’email de l’autre personne dans la commande.
gpg --edit-key glenntrust (invoke trust subcommand on the key)5 (ultimate trust)y (if prompted)quit
Commandes GPG utiles
GPG possède de nombreuses options, dont la plupart ne vous seront jamais utiles. Voici une liste rapide des commandes les plus utiles dont vous aurez probablement besoin.
Crypter un fichier :
Pour crypter un fichier nommé nomfichier.txt pour une seule personne, spécifiez cette personne comme destinataire.
gpg --encrypt --recipient glenn filename.txt
Cela créera un nouveau fichier crypté nommé nomfichier.txt.gpg.
Si vous voulez crypter un fichier pour que vous seul puissiez le décrypter, alors spécifiez vous-même comme destinataire.
gpg --encrypt --recipient 'my_name' filename.txt
Si vous voulez crypter un fichier pour que vous et une autre personne puissiez le décrypter, spécifiez vous et l’autre personne comme destinataires.
gpg --encrypt --recipient glenn --recipient 'my_name' filename.txt
Si vous voulez crypter un fichier pour un groupe de personnes, définissez le groupe dans votre fichier gpg.conf (voir section ci-dessous), puis spécifiez le groupe comme destinataire.
gpg --encrypt --recipient journalists filename.txt
Après un certain temps, vous voudrez être plus concis et utiliser la version courte des options de la ligne de commande. Voici la même commande.
gpg -e -r journalists filename.txt
Décryptez un fichier vers le terminal (sortie standard):
La première version de cette commande affichera le contenu d’un fichier dans la fenêtre du terminal elle-même.
gpg --decrypt filename.txt.gpg
Utilisez l’option --decrypt
uniquement si le fichier est un fichier texte ASCII. Si c’est un fichier binaire, alors omettez l’option --decrypt
, ce qui écrira le fichier décrypté sur le disque. À ce moment-là, vous pouvez ouvrir le fichier binaire dans n’importe quelle application utilisée pour visualiser le fichier.
Décrypter un fichier sur le disque :
Que le fichier soit ASCII ou binaire, si vous voulez apporter des modifications au contenu d’un fichier crypté, vous devez d’abord le décrypter, apporter vos modifications, puis recrypter le fichier. Comme je l’ai mentionné dans le paragraphe précédent, vous écrivez la version décryptée d’un fichier sur le disque, en omettant l’option --decrypt
de la commande.
gpg filename.txt.gpg
Si le fichier crypté était nommé nomfichier.txt.gpg, la commande ci-dessus créera une version déchiffrée nommée nomfichier.txt (avec l’extension .gpg supprimée).
Créer des groupes de personnes dans votre fichier de configuration GPG
Pour plus de commodité, vous pouvez prédéfinir un groupe de personnes dans votre fichier de configuration GPG. Cela a l’avantage de vous permettre de chiffrer un fichier à chaque membre du groupe en spécifiant uniquement le nom du groupe comme destinataire, plutôt que de spécifier fastidieusement chaque membre individuel du groupe.
Votre configuration du logiciel GPG est stockée dans votre répertoire personnel dans le fichier ~/.gnupg/gpg.conf
. Modifiez ce fichier en utilisant votre éditeur de texte en ligne de commande préféré (vim, nano, pico, emacs, etc). Bien qu’il y ait de nombreux paramètres disponibles dans le fichier de configuration, allez à la section pertinente pour définir les groupes.
Lorsqu’on définit un groupe, on liste les membres du groupe. Chaque membre est référencé par un certain attribut de sa clé publique trouvée dans votre trousseau de clés GPG – généralement un nom de personne (ou un nom partiel, tel que le prénom ou le nom de famille) ou une adresse électronique (ou une adresse électronique partielle).
Si vous êtes un membre du groupe, n’oubliez pas de vous inclure dans le groupe ! Si vous ne vous inscrivez pas dans le groupe, vous ne pourrez pas décrypter les fichiers que vous chiffrez au groupe.
Voici un exemple de groupe nommé « journalistes », listant le prénom de chaque personne.
group journalists = glenn laura ewan barton
Où aller d’ici
Je vous encourage à en apprendre davantage sur GPG. Voir les liens ci-dessous.
Vous pouvez également vouloir apprendre les méthodes sécurisées pour effacer les fichiers du disque dur de votre ordinateur. Mac OS X dispose de l’option « Secure Empty Trash » dans le Finder. Il existe également de nombreux outils tiers que vous pouvez installer.
Puisque nous sommes sur le thème de l’apprentissage de l’utilisation de GPG en ligne de commande, vous pouvez essayer « bcwipe » – un programme pour effacer les fichiers en toute sécurité dans la ligne de commande.
Sur Mac OS X, vous pouvez installer bcwipe via Homebrew.
brew install bcwipe
Liens
Généraux
- Introduction à la cryptographie (PDF)
- Site web du logiciel GnuPG
- GnuPG sur Wikipedia
- Homebrew (gestionnaire de paquets pour Mac OS X)
Outils d’interface utilisateur
.
- GPG Suite (interface graphique pour Mac OS X)
- Comment utiliser GPG Suite sur Mac OS X (Electronic Frontier Foundation)
- Gpg4win (interface graphique pour Windows)
- Comment utiliser Gpg4Win sur Windows (Electronic Frontier Foundation)
.
Laisser un commentaire