Die erste stabile Version von Age, einem Tool zur Datenverschlüsselung

Filippo Valsorda, ein Kryptograf, der bei Google für die Sicherheit der Programmiersprache Go verantwortlich ist, veröffentlichte die erste stabile Version eines neuen Tools zur Datenverschlüsselung – Age (Actually Good Encryption). Das Tool bietet eine einfache Befehlszeilenschnittstelle zur Verschlüsselung von Dateien unter Verwendung symmetrischer (passwortbasierter) und asymmetrischer (öffentliche Schlüssel) kryptografischer Algorithmen. Der Code des Projekts ist in der Programmiersprache Go geschrieben und wird unter der BSD-Lizenz vertrieben. Builds sind für Linux, FreeBSD, macOS und Windows verfügbar.

Die grundlegenden Funktionen wurden in eine Bibliothek ausgelagert, die zur Integration der bereitgestellten Funktionalität in eigene Programme verwendet werden kann. Separat wird im Rahmen des Projekts rage eine alternative Implementierung eines ähnlichen Tools und einer Bibliothek, die in der Programmiersprache Rust geschrieben ist, entwickelt. Für die Verschlüsselung werden bewährte Algorithmen wie HKDF (HMAC-basierte Extract-and-Expand Key Derivation Function), SHA-256, HMAC (Hash-basierter Nachrichten-Authentifizierungscode), X25519, Scrypt und ChaCha20-Poly1305 AEAD verwendet.

Из особенностей Age выделяется: возможность использования компактных 512-битных открытых ключей, легко переносимых через буфер обмена; простой и не перегруженный опциями интерфейс командной строки; отсутствие файлов конфигурации; возможность использования в скриптах и в комбинации с другими утилитами через выстраивание цепочки вызовов в UNIX-стиле. Поддерживается как генерация собственных компактных ключей, так и использование существующих ключей от SSH («ssh-ed25519», «ssh-rsa»), включая поддержку файлов Github.keys. $ age-keygen -o key.txt Public key: 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 > example.jpg.age $ age -d -i ~/.ssh/id_ed25519 example.jpg.age > example.jpg

Es gibt einen Modus zur Verschlüsselung einer Datei für mehrere Empfänger, bei dem die Datei gleichzeitig mit mehreren öffentlichen Schlüsseln verschlüsselt wird und jeder aus der Liste der Empfänger sie entschlüsseln kann. Zudem werden Mittel für die symmetrische Verschlüsselung von Dateien auf Basis eines Passworts und der Schutz von Dateien mit privaten Schlüsseln durch Verschlüsselung mit einem Passwort bereitgestellt. Eine nützliche Funktion ist, dass das Tool automatisch ein sicheres Passwort generiert und anbietet, wenn bei der Verschlüsselung ein leeres Passwort eingegeben wird. $ age -p secrets.txt > secrets.txt.age Geben Sie das Passwort ein (leer lassen, um ein sicheres zu generieren): Verwende das automatisch generierte Passwort „release-response-step-brand-wrap-ankle-pair-unusual-sword-train“. $ age -d secrets.txt.age > secrets.txt Geben Sie das Passwort ein: $ age-keygen | age -p > key.age Öffentlicher Schlüssel: age1yhm4gftwfmrpz87tdslm530wrx6m79y9f2hdzt0lndjnehwj0bkqrjpyx5 Geben Sie das Passwort ein (leer lassen, um ein sicheres zu generieren): Verwende das automatisch generierte Passwort „hip-roast-boring-snake-mention-east-wasp-honey-input-actress“.

Zu den zukünftigen Plänen gehört die Erstellung eines Backends zur Speicherung von Passwörtern und Server gemeinsam genutzten Schlüsseln (PAKE), Unterstützung für YubiKey-Schlüssel, die Möglichkeit zur Generierung von einprägsamen Schlüsseln in Form einer Wortgruppe und die Erstellung eines Tools age-mount zum Einhängen verschlüsselter Dateien oder Archive in das Dateisystem.

Quelle: opennet.ru

60GB SSD 8Gb DDR4