Primeira versão estável do Age, um utilitário de criptografia de dados

Filippo Valsorda, criptógrafo responsável pela segurança da linguagem de programação Go no Google, publicou a primeira versão estável de um novo utilitário de criptografia de dados, Age (Actually Good Encryption). O utilitário fornece uma interface de linha de comando simples para criptografar arquivos usando algoritmos criptográficos simétricos (senha) e assimétricos (chave pública). O código do projeto é escrito em Go e distribuído sob a licença BSD. As compilações são preparadas para Linux, FreeBSD, macOS e Windows.

As funções básicas estão incluídas em uma biblioteca que pode ser usada para integrar a funcionalidade fornecida pelo utilitário em seus programas. Separadamente, no âmbito do projeto Rage, está sendo desenvolvida uma implementação alternativa de um utilitário e biblioteca semelhante, escrita na linguagem Rust. Para criptografia, algoritmos comprovados são usados: HKDF (função de derivação de chave de extração e expansão baseada em HMAC), SHA-256, HMAC (código de autenticação de mensagem baseado em hash), X25519, Scrypt e ChaCha20-Poly1305 AEAD.

Entre as funcionalidades do Age destacam-se: a possibilidade de utilizar chaves públicas compactas de 512 bits, facilmente transferíveis através da área de transferência; interface de linha de comando simples, não sobrecarregada com opções; falta de arquivos de configuração; Possibilidade de utilização em scripts e em combinação com outros utilitários através da construção de uma cadeia de chamadas no estilo UNIX. É suportada a geração de suas próprias chaves compactas e o uso de chaves SSH existentes (“ssh-ed25519”, “ssh-rsa”), incluindo suporte para arquivos Github.keys. $ age-keygen -o key.txt Chave pública: age1ql3z7hjy58pw3hyww5ayyfg7zqgvc7w3j2elw2zmrj2kg5sfn9bqmcac8p $ tar cvz ~/data | idade -r idade1ql3z7hjy58pw3hyww5ayyfg7zqgvc7w3j2elw2zmrj2kg5sfn9bqmcac8p > data.tar.gz.age $ idade --decrypt -i key.txt data.tar.gz.age > data.tar.gz $ idade -R ~/.ssh/id_ed25519.pub exemplo.jpg > exemplo.jpg.age $ idade -d -i ~/.ssh/id_ed25519 exemplo.jpg.age > exemplo.jpg

Existe um modo de criptografia de arquivo para vários destinatários ao mesmo tempo, no qual o arquivo é criptografado simultaneamente usando várias chaves públicas e cada um da lista de destinatários pode descriptografá-lo. Também são fornecidas ferramentas para criptografia simétrica de arquivos baseada em senha e para proteção de arquivos de chave privada, criptografando-os usando uma senha. Um recurso útil é que se você inserir uma senha em branco durante a criptografia, o utilitário irá gerar e oferecer automaticamente uma senha forte. $ age -p secrets.txt > secrets.txt.age Insira a senha (deixe em branco para gerar automaticamente uma senha segura): Usando a senha gerada automaticamente "release-response-step-brand-wrap-ankle-pair-unusual-sword-train" . $ age -d secrets.txt.age > secrets.txt Digite a senha: $ age-keygen | age -p > key.age Chave pública: age1yhm4gftwfmrpz87tdslm530wrx6m79y9f2hdzt0lndjnehwj0bkqrjpyx5 Insira a senha (deixe em branco para gerar automaticamente uma senha segura): Usando a senha gerada automaticamente "hip-roast-boring-snake-mention-east-wasp-honey-input-actress".

Os planos para o futuro incluem a criação de um back-end para armazenamento de senhas e um servidor para chaves compartilhadas (PAKE), suporte para chaves YubiKey, a capacidade de gerar chaves fáceis de lembrar na forma de um conjunto de palavras e a criação de um utilitário age-mount para montar arquivos ou arquivos criptografados no FS.

Fonte: opennet.ru

Adicionar um comentário