Eerste stabiele release van Age, een hulpprogramma voor gegevenscodering

Filippo Valsorda, een cryptograaf die verantwoordelijk is voor de beveiliging van de programmeertaal Go bij Google, heeft de eerste stabiele release gepubliceerd van een nieuw hulpprogramma voor gegevenscodering, Age (Actually Good Encryption). Het hulpprogramma biedt een eenvoudige opdrachtregelinterface voor het coderen van bestanden met behulp van symmetrische (wachtwoord) en asymmetrische (openbare sleutel) cryptografische algoritmen. De projectcode is geschreven in Go en gedistribueerd onder de BSD-licentie. Builds zijn voorbereid voor Linux, FreeBSD, macOS en Windows.

De basisfuncties zijn opgenomen in een bibliotheek die kan worden gebruikt om de functionaliteit van het hulpprogramma in uw programma's te integreren. Afzonderlijk wordt, in het kader van het Rage-project, een alternatieve implementatie van een soortgelijk hulpprogramma en een soortgelijke bibliotheek, geschreven in de Rust-taal, ontwikkeld. Voor de encryptie worden beproefde algoritmen gebruikt: HKDF (HMAC-gebaseerde Extract-and-Expand Key Derivation Function), SHA-256, HMAC (Hash-based Message Authentication Code), X25519, Scrypt en ChaCha20-Poly1305 AEAD.

Onder de kenmerken van Age vallen de volgende op: de mogelijkheid om compacte 512-bit openbare sleutels te gebruiken, die eenvoudig via het klembord kunnen worden overgedragen; eenvoudige opdrachtregelinterface niet overladen met opties; gebrek aan configuratiebestanden; Mogelijkheid tot gebruik in scripts en in combinatie met andere hulpprogramma's door een reeks oproepen in UNIX-stijl op te bouwen. Zowel het genereren van uw eigen compacte sleutels als het gebruik van bestaande SSH-sleutels (“ssh-ed25519”, “ssh-rsa”) wordt ondersteund, inclusief ondersteuning voor Github.keys-bestanden. $ age-keygen -o key.txt Openbare sleutel: 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 > voorbeeld.jpg.age $ age -d -i ~/.ssh/id_ed25519 voorbeeld.jpg.age > voorbeeld.jpg

Er is een bestandsversleutelingsmodus voor meerdere ontvangers tegelijk, waarbij het bestand tegelijkertijd wordt versleuteld met behulp van verschillende openbare sleutels en elk van de lijst met ontvangers het kan ontsleutelen. Er zijn ook hulpmiddelen beschikbaar voor symmetrische, op wachtwoorden gebaseerde bestandsversleuteling en voor het beschermen van privésleutelbestanden door deze met een wachtwoord te versleutelen. Een handige functie is dat als u tijdens het coderen een leeg wachtwoord invoert, het hulpprogramma automatisch een sterk wachtwoord genereert en aanbiedt. $ age -p secrets.txt > secrets.txt.age Voer de wachtwoordzin in (laat leeg om automatisch een veilige wachtwoordzin te genereren): Gebruik de automatisch gegenereerde wachtwoordzin "release-response-step-brand-wrap-ankle-pair-unusual-sword-train" . $ age -d secrets.txt.age > secrets.txt Voer de wachtwoordzin in: $ age-keygen | Age -p> key.age publieke sleutel: Age1YHM4GFTWFMRPZ87TDSLM530WRX6M79YA9F2HDZTJNEHNEHNEHNEHNEHPQRJPYX0 VOER PASSPHRASE IN (Laat LEEG om ACECURE One automatisch te genereren): Gebruik de automatische wachtwoordzin "HIP-RAST-BORING-SNAKE-MEAST-WASP-HONING-INPUT-Actrice".

Plannen voor de toekomst omvatten de creatie van een backend voor het opslaan van wachtwoorden en een server voor gedeelde sleutels (PAKE), ondersteuning voor YubiKey-sleutels, de mogelijkheid om gemakkelijk te onthouden sleutels te genereren in de vorm van een reeks woorden, en de creatie van een age-mount hulpprogramma voor het koppelen van gecodeerde bestanden of archieven in de FS.

Bron: opennet.ru

Voeg een reactie