Aujourd’hui, j’aimerais vous présenter un outil de chiffrement simple d’utilisation, sécurisé avec des clés « explicites » et sans configuration.
Son nom c’est Age et il est également disponible sous la forme d’une lib Go.
Pour l’installer sous macOS :
brew install age
Pour l’installer sous Ubuntu :
apt install age
Pour l’installer sous Windows :
scoop bucket add extras; scoop install age
Des binaires pour Windows, Linux, macOS et FreeBSD sont également disponibles sur la page Github. Pour générer une nouvelle clé de chiffrement, vous pouvez procéder comme ceci :
age-keygen -o key.txt
Celle-ci sera stockée dans key.txt. Ensuite, vous pourrez l’utiliser pour chiffrer un fichier comme ceci :
age --encrypt -i key.txt -o fichier.age fichier.txt
Ou directement avec la clé avec le paramètre -r . Dans l’exemple ci-dessous, je vous montre également qu’on peut chiffrer des fichiers qui seraient le résultat d’une commande (ici une création d’archive tar) :
tar cvz ~/data | age -r age1ql3z7hjy54pw3hyww5ayyfg7zqgvc7w3j2elw8zmrj2kg5sfn9aqmcac8p > data.tar.gz.age
Et pour déchiffrer ce fichier :
age --decrypt -i key.txt fichier.age > fichier.txt
Et vous pouvez également spécifier plusieurs clés pour tous vos destinataires.
age -o example.jpg.age -r age1ql3z7hjy54pw3hyww5ayyfg7zqgvc7w3j2elw8zmrj2kg5sfn9aqmcac8p \
-r age1lggyhqrw2nlhcxprm67z43rta597azn8gknawjehu9d9dl0jq3yqqvfafg example.jpg
Vous pouvez également demander la création d’une phrase de passe avec le paramètre -p.
age -p fichier.txt > fichier.txt.age
L’outil vous demandera alors de saisir une phrase de passe ou la générera pour vous.
Vous l’aurez compris, pas de clé privée. Juste une grosse clé (publique) qui sert à la fois pour le chiffrement et le déchiffrement. Rassurez-vous, age prend également en charge le chiffrement à partir de clés publiques SSH ssh-rsa et ssh-ed25519, et le déchiffrement se fait avec la clé privée correspondante. Pour chiffrer :
age -R ~/.ssh/id_ed25519.pub exemple.jpg > exemple.jpg.age
Pour déchiffrer :
age -d -i ~/.ssh/id_ed25519 exemple.jpg.age > exemple.jpg
Attention cela dit, la prise en charge des clés SSH utilise une cryptographie plus complexe et incorpore une balise de clé publique dans le fichier chiffré, ce qui permet de suivre les fichiers chiffrés avec cette clé spécifique.
Et si ça vous intéresse, une implémentation en Rust est également disponible ici.
De plus, il existe un plugin pour ceux qui veulent utiliser leur Yubikey avec ce truc 🙂
0 Commentaires