Première version stable d'Age, un utilitaire de chiffrement de données

Filippo Valsorda, cryptographe responsable de la sécurité du langage de programmation Go chez Google, a publié la première version stable d'un nouvel utilitaire de cryptage de données, Age (Actually Good Encryption). L'utilitaire fournit une interface de ligne de commande simple pour chiffrer les fichiers à l'aide d'algorithmes cryptographiques symétriques (mot de passe) et asymétriques (clé publique). Le code du projet est écrit en Go et distribué sous licence BSD. Les versions sont préparées pour Linux, FreeBSD, macOS et Windows.

Les fonctions de base sont incluses dans une bibliothèque qui peut être utilisée pour intégrer les fonctionnalités fournies par l'utilitaire dans vos programmes. Par ailleurs, dans le cadre du projet rage, une implémentation alternative d'un utilitaire et d'une bibliothèque similaires, écrite en langage Rust, est en cours de développement. Pour le cryptage, des algorithmes éprouvés sont utilisés : HKDF (HMAC-based Extract-and-Expand Key Derivation Function), SHA-256, HMAC (Hash-based Message Authentication Code), X25519, Scrypt et ChaCha20-Poly1305 AEAD.

Parmi les fonctionnalités d'Age, on distingue : la possibilité d'utiliser des clés publiques compactes de 512 bits, facilement transférables via le presse-papiers ; interface de ligne de commande simple, non surchargée d'options ; manque de fichiers de configuration ; Possibilité d'utilisation dans des scripts et en combinaison avec d'autres utilitaires en construisant une chaîne d'appels en style UNIX. La génération de vos propres clés compactes et l'utilisation de clés SSH existantes (« ssh-ed25519 », « ssh-rsa ») sont prises en charge, y compris la prise en charge des fichiers Github.keys. $ age-keygen -o key.txt Clé publique : age1ql3z7hjy58pw3hyww5ayyfg7zqgvc7w3j2elw2zmrj2kg5sfn9bqmcac8p $ tar cvz ~/data | age -r age1ql3z7hjy58pw3hyww5ayyfg7zqgvc7w3j2elw2zmrj2kg5sfn9bqmcac8p > data.tar.gz.age $ age --decrypt -i key.txt data.tar.gz.age > data.tar.gz $ age -R ~/.ssh/id_ed25519.pub example.jpg > exemple.jpg.age $ age -d -i ~/.ssh/id_ed25519 exemple.jpg.age > exemple.jpg

Il existe un mode de cryptage de fichier pour plusieurs destinataires à la fois, dans lequel le fichier est simultanément crypté à l'aide de plusieurs clés publiques et chacun des destinataires peut le déchiffrer. Des outils sont également fournis pour le chiffrement symétrique des fichiers par mot de passe et pour protéger les fichiers à clé privée en les chiffrant à l'aide d'un mot de passe. Une fonctionnalité utile est que si vous entrez un mot de passe vide pendant le cryptage, l'utilitaire générera et proposera automatiquement un mot de passe fort. $ age -p secrets.txt > secrets.txt.age Entrez la phrase secrète (laissez vide pour en générer automatiquement une sécurisée) : Utilisation de la phrase secrète générée automatiquement "release-response-step-brand-wrap-ankle-pair-unusual-sword-train" . $ age -d secrets.txt.age > secrets.txt Entrez la phrase secrète : $ age-keygen | age -p > key.age Clé publique : age1yhm4gftwfmrpz87tdslm530wrx6m79y9f2hdzt0lndjnehwj0bkqrjpyx5 Entrez la phrase secrète (laissez vide pour en générer automatiquement une sécurisée) : Utilisation de la phrase secrète générée automatiquement "hip-roast-boring-snake-mention-east-wasp-honey-input-actress".

Les projets pour l'avenir incluent la création d'un backend pour stocker les mots de passe et d'un serveur pour les clés partagées (PAKE), la prise en charge des clés YubiKey, la possibilité de générer des clés faciles à mémoriser sous la forme d'un ensemble de mots et la création d'un utilitaire de montage d'âge pour monter des fichiers ou des archives cryptés dans le FS.

Source: opennet.ru

Ajouter un commentaire