Primeira versión estable de Age, unha utilidade de cifrado de datos

Filippo Valsorda, criptógrafo responsable da seguridade da linguaxe de programación Go en Google, publicou a primeira versión estable dunha nova utilidade de cifrado de datos, Age (Actually Good Encryption). A utilidade ofrece unha interface sinxela de liña de comandos para cifrar ficheiros mediante algoritmos criptográficos simétricos (contrasinal) e asimétricos (chave pública). O código do proxecto está escrito en Go e distribúese baixo a licenza BSD. As compilacións están preparadas para Linux, FreeBSD, macOS e Windows.

As funcións básicas están incluídas nunha biblioteca que se pode usar para integrar a funcionalidade proporcionada pola utilidade nos seus programas. Separadamente, no marco do proxecto rage, estase a desenvolver unha implementación alternativa dunha utilidade e biblioteca similar, escrita na linguaxe Rust. Para o cifrado, utilízanse algoritmos comprobados: HKDF (función de extracción e expansión de clave baseada en HMAC), SHA-256, HMAC (código de autenticación de mensaxes baseado en hash), X25519, Scrypt e ChaCha20-Poly1305 AEAD.

Entre as características de Age, destacan as seguintes: a posibilidade de utilizar claves públicas compactas de 512 bits, facilmente transferibles a través do portapapeis; interface de liña de comandos sinxela non sobrecargada de opcións; falta de ficheiros de configuración; Posibilidade de uso en scripts e en combinación con outras utilidades mediante a construción dunha cadea de chamadas en estilo UNIX. Admítense tanto a xeración das túas propias claves compactas como o uso de chaves SSH existentes ("ssh-ed25519", "ssh-rsa"), incluído o soporte para ficheiros Github.keys. $ age-keygen -o key.txt Chave pública: age1ql3z7hjy58pw3hyww5ayyfg7zqgvc7w3j2elw2zmrj2kg5sfn9bqmcac8p $ tar cvz ~/data | idade -r age1ql3z7hjy58pw3hyww5ayyfg7zqgvc7w3j2elw2zmrj2kg5sfn9bqmcac8p > data.tar.gz.age $ age --decrypt -i key.txt data.tar.gz.age > data.tar.d.gz.gz.gz.gz.gz. > exemplo.jpg.idade $ idade -d -i ~/.ssh/id_ed25519 exemplo.jpg.idade > exemplo.jpg

Existe un modo de cifrado de ficheiros para varios destinatarios á vez, no que o ficheiro se cifra simultaneamente mediante varias chaves públicas e cada un dos destinatarios da lista pode descifralo. Tamén se proporcionan ferramentas para o cifrado simétrico de ficheiros baseado en contrasinal e para protexer os ficheiros de chave privada criptándoos mediante un contrasinal. Unha característica útil é que se introduce un contrasinal en branco durante o cifrado, a utilidade xerará e ofrecerá automaticamente un contrasinal seguro. $ age -p secrets.txt > secrets.txt.age Introduza unha frase de paso (deixe baleira para xerar unha segura): usando a frase de paso xerada automaticamente "release-response-step-brand-wrap-ankle-pair-unusual-sword-train" . $ age -d secrets.txt.age > secrets.txt Introduza o contrasinal: $ age-keygen | Idade -p> key.age.age Público: Age1YHM4GFTWFMRPZ87TDSLM530WRX6M79YY9F2HDZTAHNEHNEHNEHNEHNEHPQRJPYX0 INTRODUCIR A CONTRASEÑA (Deixar o baleiro para autoxenar aCure One): usando a frase de paso autoxenada "PUMEIN-HIP-WASPKE" trenza".

Os plans para o futuro inclúen a creación dun backend para almacenar contrasinais e un servidor para chaves compartidas (PAKE), compatibilidade con claves YubiKey, a posibilidade de xerar claves fáciles de lembrar en forma de conxunto de palabras e a creación dunha utilidade age-mount para montar ficheiros ou arquivos cifrados no FS.

Fonte: opennet.ru

Engadir un comentario