Filippo Valsorda, kryptograf fra Google, som er ansvarlig for sikkerheden i programmeringssproget Go, har offentliggjort den første stabile version af det nye værktøj til datakryptering - Age (Actually Good Encryption). Værktøjet tilbyder et enkelt kommandolinjegrænseflade til kryptering af filer ved hjælp af symmetrisk (med password) og asymmetrisk (med offentlige nøgler) kryptografiske algoritmer. Koden til projektet er skrevet i Go og distribueres under BSD-licensen. Bygninger er lavet til Linux, FreeBSD, macOS og Windows.
Basisfunktioner er flyttet til et bibliotek, som kan bruges til at integrere de funktioner, som værktøjet tilbyder, i ens egne programmer. Separat udvikles under projektet rage en alternativ implementering af et lignende værktøj og bibliotek skrevet i Rust. Til kryptering bruges velafprøvede algoritmer som HKDF (HMAC-based Extract-and-Expand Key Derivation Function), SHA-256, HMAC (Hash-based Message Authentication Code), X25519, Scrypt og ChaCha20-Poly1305 AEAD.
Из особенностей 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
Der findes en filkrypteringsfunktion til flere modtagere, hvor filen samtidig krypteres ved hjælp af flere offentlige nøgler, og hver modtager på listen kan dekryptere den. Der er også værktøjer til symmetrisk kryptering af filer baseret på password og beskyttelse af filer med private nøgler gennem kryptering med password. En nyttig funktion er, at hvis man indtaster et tomt password under kryptering, vil værktøjet automatisk generere og foreslå et sikkert password. $ age -p secrets.txt > secrets.txt.age Indtast adgangssætning (lad være tom for at autogenerere et sikkert): Bruger den autogenererede adgangssætning «release-response-step-brand-wrap-ankle-pair-unusual-sword-train». $ age -d secrets.txt.age > secrets.txt Indtast adgangssætning: $ age-keygen | age -p > key.age Offentlig nøgle: age1yhm4gftwfmrpz87tdslm530wrx6m79y9f2hdzt0lndjnehwj0bkqrjpyx5 Indtast adgangssætning (lad være tom for at autogenerere et sikkert): Bruger den autogenererede adgangssætning «hip-roast-boring-snake-mention-east-wasp-honey-input-actress».
I fremtidige planer nævnes udviklingen af en backend til opbevaring af passwords og server fælles nøgler (PAKE), støtte til YubiKey nøgler, muligheden for at generere lette nøgleord i form af en ordkombination og oprettelsen af værktøjet age-mount til montering af krypterede filer eller arkiver i filsystemet.
Kilde: opennet.ru
