หลังจากพัฒนามาเป็นเวลาสามปีครึ่ง แพ็กเกจ Sequoia เวอร์ชัน1.0 ก็ได้ถูกปล่อยออกมา โดยได้พัฒนาชุดฟังก์ชันและเครื่องมือบรรทัดคำสั่งพร้อมกับการใช้งานมาตรฐาน OpenPGP (RFC-4880)
ข่าวประชาสัมพันธ์ฉบับนี้สรุปผลงานเกี่ยวกับการพัฒนา API ระดับต่ำซึ่งครอบคลุมมาตรฐาน OpenPGP อย่างเพียงพอสำหรับการใช้งานอย่างเต็มรูปแบบ โค้ดของโครงการเขียนด้วยภาษา Rust และเผยแพร่ภายใต้ใบอนุญาต GPLv2+
โครงการนี้ก่อตั้งโดยผู้ร่วมพัฒนา GnuPG สามคนจาก g10code ซึ่งเป็นบริษัทพัฒนาปลั๊กอิน GnuPG และตรวจสอบระบบเข้ารหัสลับ ทีมงาน Sequoia ยังเป็นที่รู้จักในด้านการสร้างเซิร์ฟเวอร์คีย์ Hagrid ซึ่งใช้โดยบริการ keys.openpgp.org อีกด้วย
เป้าหมายของโครงการใหม่คือการออกแบบสถาปัตยกรรมใหม่และใช้เทคนิคใหม่เพื่อปรับปรุงความปลอดภัยและความน่าเชื่อถือของ codebase
เพื่อเพิ่มความปลอดภัย Sequoia ไม่เพียงแต่ใช้ เครื่องมือการเขียนโปรแกรมที่ปลอดภัย ซึ่งใช้ ภาษา Rust เท่านั้น แต่ยังมีการป้องกันข้อผิดพลาดในระดับ API อีกด้วย
ตัวอย่างเช่นAPI จะป้องกันไม่ให้คุณส่งออกข้อมูลคีย์ลับโดยไม่ตั้งใจ เนื่องจากการดำเนินการส่งออกต้องมีการเลือกอย่างชัดเจนตามค่าเริ่มต้น ในทำนองเดียวกัน API จะตรวจสอบให้แน่ใจว่าไม่มีขั้นตอนสำคัญใด ๆ ตกหล่นเมื่ออัปเดตลายเซ็นดิจิทัล โดยค่าเริ่มต้น เวลาสร้าง อัลกอริทึมแฮช และผู้ออกลายเซ็นจะได้รับการอัปเดตโดยอัตโนมัติ
นอกจากนี้ Sequoia ยังพยายามกำจัดข้อบกพร่องของ GnuPGเช่น การทำงานที่ไม่สอดคล้องกันของเครื่องมือบรรทัดคำสั่งกับไลบรารีฟังก์ชัน (การกระทำบางอย่างสามารถทำได้โดยใช้ยูทิลิตี้เท่านั้น) และการเชื่อมโยงที่แน่นหนาเกินไประหว่างส่วนประกอบต่างๆ ซึ่งทำให้ยากต่อการเปลี่ยนแปลง ทำให้โค้ดเบสซับซ้อน และขัดขวางการสร้างระบบการทดสอบหน่วยที่สมบูรณ์
Sequoia พัฒนาโปรแกรมยูทิลิตี้บรรทัดคำสั่ง sq ที่รองรับคำสั่งย่อยแบบ Git , โปรแกรม sqv (ซึ่งเป็นตัวแทนของ gpgv) สำหรับตรวจสอบลายเซ็นแยกต่างหาก, โปรแกรมยูทิลิตี้ sqop (Stateless OpenPGP CLI) และไลบรารี sequoia-openpgp
มีลิงค์สำหรับภาษา C และ Python ฟังก์ชันส่วนใหญ่ที่อธิบายไว้ในมาตรฐาน OpenPGP เข้ากันได้กับการเข้ารหัสการถอดรหัสการสร้างและการตรวจสอบลายเซ็นดิจิทัล
ในบรรดาคุณสมบัติขั้นสูงมีข้อสังเกตว่ารองรับการตรวจสอบโดยใช้ลายเซ็นดิจิทัลที่ให้มาแยกต่างหาก (ลายเซ็นแยกต่างหาก) การปรับตัวสำหรับการทำงานร่วมกับตัวจัดการแพ็คเกจ (APT, RPM, การอัปโหลด ฯลฯ ) ความสามารถในการ จำกัด ลายเซ็นโดย ค่าเกณฑ์และเวลา
เพื่อลดความซับซ้อนในการพัฒนาการดีบักและการวิเคราะห์เหตุการณ์มีการจัดเตรียมเครื่องมือตรวจสอบแพ็กเก็ตซึ่งทำงานร่วมกับเครื่องวิเคราะห์และช่วยให้คุณวิเคราะห์โครงสร้างของข้อความที่เข้ารหัสลายเซ็นดิจิทัลและคีย์ด้วยสายตา
ด้วยเหตุผลด้านความปลอดภัยการใช้บริการเข้ารหัสลับ เช่น โคโปรเซสเซอร์สำหรับการประมวลผลในพื้นที่ปิดที่แยกต่างหากนั้นได้รับอนุญาตเพื่อการแยกส่วนที่ดียิ่งขึ้น บริการที่ทำงานกับกุญแจสาธารณะและกุญแจส่วนตัวจะถูกแยกออกเป็นกระบวนการที่แตกต่างกัน (การโต้ตอบระหว่างกระบวนการจะถูกจัดระเบียบโดยใช้โปรโตคอล Cap'n Proto) ตัวอย่างเช่น ที่เก็บกุญแจจะถูกนำไปใช้เป็นกระบวนการแยกต่างหาก
มีตัวเลือก API สองแบบ ได้แก่ระดับต่ำและระดับสูง API ระดับต่ำจำลองความสามารถของ OpenPGP และส่วนขยายที่เกี่ยวข้องบางส่วนให้ใกล้เคียงที่สุดเท่าที่จะเป็นไปได้ เช่น การรองรับ ECC การรับรองเอกสาร (ลายเซ็นซ้อนลายเซ็น) และองค์ประกอบจากร่างมาตรฐานฉบับที่จะออกในอนาคต
จากการสังเกตพบว่า ตามฟังก์ชันการทำงานที่วางแผนไว้Sequoia พร้อมใช้งานสำหรับเวอร์ชัน 1.0 มาตั้งแต่ปีที่แล้วแต่ผู้พัฒนาตัดสินใจที่จะไม่เร่งรีบและใช้เวลามากขึ้นในการค้นหาข้อบกพร่องและเขียนเอกสารประกอบที่สมบูรณ์และมีคุณภาพสูง พร้อมลิงก์ไปยังข้อมูลในมาตรฐาน OpenPGP และตัวอย่างการใช้งาน
เวอร์ชัน 1.0 ในปัจจุบันครอบคลุมเฉพาะกล่อง sequoia-openpgpและยูทิลิตี้ตรวจสอบลายเซ็นดิจิทัล sqv เท่านั้น ส่วน CLI "sq" และ API ระดับสูงยังอยู่ในระหว่างการพัฒนาและยังไม่เสถียร
ข้อ จำกัด ที่วางแผนไว้ว่าจะลบออกในรุ่นต่อ ๆ ไปรวมถึงการใช้บริการเพื่อจัดเก็บคีย์ส่วนตัวและสาธารณะการสนับสนุนลายเซ็นดิจิทัลแบบข้อความที่ชัดเจนและความสามารถในการใช้นิพจน์ทั่วไปเพื่อกำหนดลายเซ็นที่เชื่อถือได้