Age เวอร์ชันเสถียรรุ่นแรก ซึ่งเป็นยูทิลิตี้การเข้ารหัสข้อมูล

Filippo Valsorda นักเข้ารหัสที่รับผิดชอบด้านความปลอดภัยของภาษาโปรแกรม Go ที่ Google ได้เผยแพร่ยูทิลิตี้การเข้ารหัสข้อมูลรุ่นใหม่ที่เสถียรรุ่นแรก Age (Actually Good Encryption) ยูทิลิตี้นี้มีอินเทอร์เฟซบรรทัดคำสั่งอย่างง่ายสำหรับการเข้ารหัสไฟล์โดยใช้อัลกอริธึมการเข้ารหัสแบบสมมาตร (รหัสผ่าน) และไม่สมมาตร (คีย์สาธารณะ) รหัสโครงการเขียนด้วยภาษา Go และเผยแพร่ภายใต้ใบอนุญาต BSD บิลด์ต่างๆ เตรียมไว้สำหรับ Linux, FreeBSD, macOS และ Windows

ฟังก์ชันพื้นฐานจะรวมอยู่ในไลบรารีที่สามารถใช้เพื่อรวมฟังก์ชันการทำงานที่ได้รับจากยูทิลิตี้นี้เข้ากับโปรแกรมของคุณ ภายในกรอบของโครงการ Rage ได้มีการพัฒนาการใช้งานทางเลือกอื่นของยูทิลิตี้และไลบรารีที่คล้ายกันซึ่งเขียนด้วยภาษา Rust สำหรับการเข้ารหัส มีการใช้อัลกอริธึมที่ได้รับการพิสูจน์แล้ว: HKDF (ฟังก์ชันการแยกและขยายคีย์ที่ใช้ HMAC), SHA-256, HMAC (รหัสรับรองความถูกต้องของข้อความแบบแฮช), X25519, Scrypt และ ChaCha20-Poly1305 AEAD

ในบรรดาคุณสมบัติของ Age สิ่งที่โดดเด่นดังต่อไปนี้: ความสามารถในการใช้คีย์สาธารณะขนาดกะทัดรัด 512 บิต ถ่ายโอนได้อย่างง่ายดายผ่านคลิปบอร์ด อินเทอร์เฟซบรรทัดคำสั่งอย่างง่ายไม่มีตัวเลือกมากเกินไป ขาดไฟล์กำหนดค่า ความเป็นไปได้ของการใช้งานในสคริปต์และใช้ร่วมกับยูทิลิตี้อื่น ๆ โดยการสร้างสายการเรียกในรูปแบบ UNIX รองรับทั้งการสร้างคอมแพคคีย์ของคุณเองและการใช้คีย์ SSH ที่มีอยู่ (“ssh-ed25519”, “ssh-rsa”) รวมถึงรองรับไฟล์ Github.keys $ age-keygen -o key.txt คีย์สาธารณะ: age1ql3z7hjy58pw3hyww5ayyfg7zqgvc7w3j2elw2zmrj2kg5sfn9bqmcac8p $ tar cvz ~/data | อายุ -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 $ อายุ -d -i ~/.ssh/id_ed25519 example.jpg.age > example.jpg

มีโหมดการเข้ารหัสไฟล์สำหรับผู้รับหลายคนพร้อมกัน ซึ่งไฟล์จะถูกเข้ารหัสพร้อมกันโดยใช้กุญแจสาธารณะหลายอัน และรายชื่อผู้รับแต่ละคนสามารถถอดรหัสได้ นอกจากนี้ยังมีเครื่องมือสำหรับการเข้ารหัสไฟล์ด้วยรหัสผ่านแบบสมมาตร และสำหรับการปกป้องไฟล์คีย์ส่วนตัวโดยการเข้ารหัสโดยใช้รหัสผ่าน คุณสมบัติที่มีประโยชน์คือ หากคุณป้อนรหัสผ่านว่างระหว่างการเข้ารหัส ยูทิลิตี้จะสร้างและเสนอรหัสผ่านที่รัดกุมโดยอัตโนมัติ $ age -p Secrets.txt > Secrets.txt.age ป้อนข้อความรหัสผ่าน (เว้นว่างไว้เพื่อสร้างรหัสผ่านที่ปลอดภัยโดยอัตโนมัติ): การใช้ข้อความรหัสผ่านที่สร้างขึ้นอัตโนมัติ "release-response-step-brand-wrap-ankle-pair-unusual-sword-train" . $ age -d Secrets.txt.age > Secrets.txt ป้อนข้อความรหัสผ่าน: $ age-keygen | Age -p> key.age.age Public: Age1YHM4GFTWFMRPZ87TDSLM530WRX6M79YY9F2HDZTAHNEHNEHNEHNEHNEHPQRJPYX0 ป้อนรหัสผ่าน (เว้นว่างไว้เพื่อสร้างอัตโนมัติ aCure One): การใช้ข้อความรหัสผ่านที่สร้างอัตโนมัติ "HIP-RAST-BORING-SNAKE-MEAST-WASP-HONEY-INPUT-Actress"

แผนสำหรับอนาคต ได้แก่ การสร้างแบ็กเอนด์สำหรับจัดเก็บรหัสผ่านและเซิร์ฟเวอร์สำหรับคีย์ที่ใช้ร่วมกัน (PAKE) การรองรับคีย์ YubiKey ความสามารถในการสร้างคีย์ที่จดจำง่ายในรูปแบบของชุดคำ และการสร้าง ของยูทิลิตี้ age-mount สำหรับการติดตั้งไฟล์ที่เข้ารหัสหรือไฟล์เก็บถาวรใน FS

ที่มา: opennet.ru

เพิ่มความคิดเห็น