Erste stabile Version von Age, einem Dienstprogramm zur Datenverschlüsselung

Filippo Valsorda, ein Kryptograf, der bei Google für die Sicherheit der Programmiersprache Go verantwortlich ist, hat die erste stabile Version eines neuen Datenverschlüsselungsdienstprogramms veröffentlicht, Age (Actually Good Encryption). Das Dienstprogramm bietet eine einfache Befehlszeilenschnittstelle zum Verschlüsseln von Dateien mithilfe symmetrischer (Passwort) und asymmetrischer (öffentlicher Schlüssel) kryptografischer Algorithmen. Der Projektcode ist in Go geschrieben und wird unter der BSD-Lizenz vertrieben. Builds sind für Linux, FreeBSD, macOS und Windows vorbereitet.

Die Grundfunktionen sind in einer Bibliothek enthalten, mit der Sie die vom Dienstprogramm bereitgestellten Funktionen in Ihre Programme integrieren können. Unabhängig davon wird im Rahmen des Rage-Projekts eine alternative Implementierung eines ähnlichen Dienstprogramms und einer ähnlichen Bibliothek entwickelt, die in der Rust-Sprache geschrieben ist. Zur Verschlüsselung kommen bewährte Algorithmen zum Einsatz: HKDF (HMAC-based Extract-and-Expand Key Derivation Function), SHA-256, HMAC (Hash-based Message Authentication Code), X25519, Scrypt und ChaCha20-Poly1305 AEAD.

Unter den Funktionen von Age stechen folgende hervor: die Möglichkeit, kompakte öffentliche 512-Bit-Schlüssel zu verwenden, die einfach über die Zwischenablage übertragen werden können; einfache Befehlszeilenschnittstelle, nicht mit Optionen überladen; Mangel an Konfigurationsdateien; Möglichkeit der Verwendung in Skripten und in Kombination mit anderen Dienstprogrammen durch Aufbau einer Aufrufkette im UNIX-Stil. Sowohl das Generieren eigener kompakter Schlüssel als auch die Verwendung vorhandener SSH-Schlüssel („ssh-ed25519“, „ssh-rsa“) wird unterstützt, einschließlich der Unterstützung für Github.keys-Dateien. $ age-keygen -o key.txt Öffentlicher Schlüssel: 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 Dateiverschlüsselungsmodus für mehrere Empfänger gleichzeitig, bei dem die Datei gleichzeitig mit mehreren öffentlichen Schlüsseln verschlüsselt wird und jeder Empfänger in der Liste sie entschlüsseln kann. Darüber hinaus werden Tools zur symmetrischen passwortbasierten Dateiverschlüsselung und zum Schutz privater Schlüsseldateien durch Verschlüsselung mit einem Passwort bereitgestellt. Eine nützliche Funktion besteht darin, dass das Dienstprogramm automatisch ein sicheres Passwort generiert und anbietet, wenn Sie während der Verschlüsselung ein leeres Passwort eingeben. $ age -p Secrets.txt > Secrets.txt.age Passphrase eingeben (leer lassen, um automatisch eine sichere Passphrase zu generieren): Verwenden Sie die automatisch generierte Passphrase „release-response-step-brand-wrap-ankle-pair-unusual-sword-train“ . $ age -d Secrets.txt.age > Secrets.txt Geben Sie die Passphrase ein: $ Age-Keygen | Age -p> key.age.age Öffentlich: Age1YHM4GFTWFMRPZ87TDSLM530WRX6M79YY9F2HDZTAHNEHNEHNEHNEHPQRJPYX0 PASSPHRASE EINGEBEN (leer lassen, um aCure One automatisch zu generieren): Verwenden Sie die automatisch generierte Passphrase „HIP-RAST-BORING-SNAKE-MEAST-WASP-HONEY-INPUT-Actress“.

Zu den Plänen für die Zukunft gehören die Schaffung eines Backends zum Speichern von Passwörtern und eines Servers für gemeinsame Schlüssel (PAKE), die Unterstützung von YubiKey-Schlüsseln, die Möglichkeit, leicht zu merkende Schlüssel in Form einer Reihe von Wörtern zu generieren, und die Erstellung eines Age-Mount-Dienstprogramms zum Mounten verschlüsselter Dateien oder Archive im FS.

Source: opennet.ru

Kommentar hinzufügen