C'est pas l'Age qui compte, c'est le chiffrement

par Korben -

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 :)

À découvrir ici.

Que faire après le bac quand on est passionné de cybersécurité ?
Contenu partenaire
Logo de l'école de Cybersécurité Guardia
Tracking Matomo Guardia

Entièrement dédiée à la cybersécurité, l'école Guardia est accessible soit directement après le bac (post-bac), soit après un bac+2 ou bac+3. En rejoignant l'école Guardia, vous deviendrez développeur informatique option cybersécurité (Bac+3) ou expert en cybersécurité (Bac+5).

Cliquez ici pour en savoir plus