經過三年半的開發,Sequoia 1.0版本軟體包發布,開發了一個函數庫和命令列工具,並實現了 OpenPGP 標準 (RFC-4880)。
此次發布總結了底層 API 的開發工作,該 API 實現了足以滿足完整使用需求的 OpenPGP 標準覆蓋範圍。專案程式碼使用 Rust 編寫,並以 GPLv2+ 授權發布。
該專案由三位來自 g10code 的 GnuPG 貢獻者創立,g10code是一家 GnuPG 插件開發商和密碼系統審計公司。 Sequoia 團隊也因創建 Hagrid 金鑰伺服器而聞名,該伺服器被 keys.openpgp.org 服務使用。
新項目的目標是重新設計體系結構並應用新技術來提高代碼庫的安全性和可靠性。
為了提高安全性, Sequoia 不僅使用採用 Rust 語言的安全程式設計工具,還採用了 API 等級的錯誤保護。
例如,API 可防止您意外匯出金鑰材料,因為預設情況下匯出操作需要明確選擇。同樣,API 可確保在更新數位簽章時不會遺漏任何重要步驟;預設情況下,建立時間、雜湊演算法和簽章頒發者都會自動更新。
Sequoia也試圖消除 GnuPG 的缺點,例如命令列工具與函數庫的功能不同步(某些操作只能使用實用程式執行)以及元件之間過於緊密的耦合,這使得更改變得困難,混淆了程式碼庫,並阻止了創建完整的單元測試系統。
Sequoia開發了具有 Git 風格子命令支援的 sq 命令列實用程式、用於驗證獨立簽署的 sqv 程式(gpgv 的替代品)、sqop 實用程式(無狀態 OpenPGP CLI)以及 sequoia-openpgp 庫。
有用於C和Python語言的鏈接。 OpenPGP標準中描述的大多數功能與數字簽名的加密,解密,創建和驗證兼容。
在高級功能中,應注意的是,它支持使用單獨提供的數字簽名(單獨的簽名)進行驗證,與軟件包管理器(APT,RPM,上載等)集成的適應性,通過閾值和時間值限制簽名的能力。
為了簡化開發,調試和事件分析,提供了數據包檢查工具,該工具與分析器集成在一起,可讓您直觀地分析加密消息,數字簽名和密鑰的結構。
出於安全考慮,允許使用加密服務,例如在隔離區域內使用協處理器進行計算。為了進一步隔離,處理公鑰和私鑰的服務被分離到不同的進程中(進程間互動採用 Cap'n Proto 協定)。例如,密鑰儲存就是一個單獨的進程。
API 提供兩種選項:底層 API 和進階 API。底層 API 盡可能地複刻了 OpenPGP 及其一些相關擴充功能的功能,例如 ECC 支援、公證(雙重簽章)以及未來標準草案中的一些元素。
據觀察,根據計劃的功能,Sequoia 早在一年前就已準備好發布 1.0 版本,但開發人員決定不急於求成,而是花更多時間查找錯誤並編寫完整的高質量文檔,其中包含指向 OpenPGP 標準中信息的鏈接和使用示例。
1.0 版本目前僅支援 sequoia-openpgp box和 sqv 數位簽章驗證工具。 “sq” CLI 和高級 API 仍在最終完善中,尚未穩定。
計劃在將來的版本中刪除的限制包括實現存儲私鑰和公鑰的服務,對明文數字簽名的支持以及使用正則表達式確定可信簽名的能力。