Sequoia 1.0, một thư viện triển khai các tiêu chuẩn OpenPGP

Sau ba năm rưỡi phát triển, nó đã được xuất bản chỉnh sửa gói Sequoia 1.0, phát triển một thư viện các công cụ và chức năng dòng lệnh với việc triển khai tiêu chuẩn OpenPGP (RFC-4880).

Sự ra mắt tóm tắt công việc trên API cấp thấp, triển khai phạm vi của tiêu chuẩn OpenPGP, đủ để sử dụng đầy đủ. Mã dự án được viết bằng Rust và được phân phối theo giấy phép GPLv2 +.

Dự án được thành lập bởi ba người đóng góp GnuPG từ g10code, một nhà phát triển các plugin GnuPG và kiểm tra hệ thống mật mã. Nhóm Sequoia cũng được biết đến với việc tạo máy chủ khóa Hagrid, được sử dụng bởi dịch vụ key.openpgp.org.

Mục tiêu của dự án mới là thiết kế lại kiến ​​trúc và áp dụng các kỹ thuật mới để cải thiện tính bảo mật và độ tin cậy của cơ sở mã.

Để cải thiện bảo mật, Sequoia không chỉ sử dụng các công cụ lập trình chắc chắn rằng họ sử dụng ngôn ngữ Rust, nhưng cũng bảo vệ lỗi cấp API.

Ví dụ: API không cho phép bạn vô tình xuất tài liệu khóa bí mậtvì theo mặc định, các hoạt động xuất yêu cầu một lựa chọn rõ ràng. Ngoài ra, API đảm bảo rằng không có bước quan trọng nào bị bỏ qua khi cập nhật chữ ký điện tử; Theo mặc định, thời gian tạo, thuật toán băm và người cấp chữ ký được cập nhật tự động.

Một thứ cây rất cao bạn cũng đang cố gắng loại bỏ các thiếu sót GnuPGchẳng hạn như việc không đồng bộ hóa chức năng của các công cụ dòng lệnh với thư viện hàm (một số hành động chỉ có thể được thực hiện bằng tiện ích) và sự kết hợp quá chặt chẽ giữa các thành phần, gây khó khăn cho việc thực hiện thay đổi, làm xáo trộn cơ sở của mã và ngăn cản việc tạo ra một hệ thống đơn vị hoàn chỉnh. -các bài kiểm tra.

Một thứ cây rất cao phát triển tiện ích dòng lệnh sq với hỗ trợ lệnh con kiểu Git, chương trình sqv (thay thế cho gpgv) để xác minh các chữ ký riêng biệt, tiện ích sqop (Stateless OpenPGP CLI) và thư viện sequoia-openpgp.

Có các liên kết cho ngôn ngữ C và Python. Hầu hết các chức năng được mô tả trong tiêu chuẩn OpenPGP hỗ trợ mã hóa, giải mã, tạo và xác minh chữ ký điện tử.

Trong số các tính năng nâng cao, cần lưu ý rằng nó hỗ trợ xác minh bằng cách sử dụng chữ ký số được cung cấp riêng (chữ ký riêng), thích ứng để tích hợp với trình quản lý gói (APT, RPM, tải lên, v.v.), khả năng giới hạn chữ ký bằng giá trị ngưỡng và thời gian.

Để đơn giản hóa việc phát triển, gỡ lỗi và phân tích sự cố, các công cụ kiểm tra gói tin được cung cấp, tích hợp với bộ phân tích và cho phép bạn phân tích trực quan cấu trúc của các thông điệp, chữ ký số và khóa được mã hóa.

Vì lý do bảo mật, Việc sử dụng các dịch vụ mật mã, chẳng hạn như bộ đồng xử lý để tính toán trong các vùng cách ly, được hỗ trợ. Để cách ly bổ sung, việc tách thành các quy trình riêng biệt của các dịch vụ hoạt động với khóa công khai và khóa riêng được thực hiện (sự tương tác của các quy trình được tổ chức bằng cách sử dụng giao thức Cap'n Proto). Ví dụ, một kho khóa được phát triển dưới dạng một quy trình riêng biệt.

Có hai tùy chọn API: cấp thấp và cấp cao. API cấp thấp sao chép càng chặt chẽ càng tốt các khả năng của OpenPGP và một số phần mở rộng liên quan, chẳng hạn như hỗ trợ ECC, công chứng (chữ ký trên chữ ký) và các yếu tố của bản thảo của phiên bản tương lai của tiêu chuẩn.

Có thể thấy rằng theo chức năng được lập kế hoạch, Sequoia đã sẵn sàng cho phiên bản 1.0 một năm trước, nhưng các nhà phát triển quyết định không vội vàng và dành nhiều thời gian hơn để tìm lỗi và viết tài liệu đầy đủ và chất lượng cao với các liên kết đến thông tin trong tiêu chuẩn OpenPGP và các ví dụ sử dụng.

Phiên bản 1.0 cho đến nay chỉ bao gồm hộp sequoia-openpgp và tiện ích xác minh chữ ký số sqv. CLI "sq" và các API cấp cao vẫn chưa ổn định và đang được hoàn thiện.

Các hạn chế được lên kế hoạch loại bỏ trong các bản phát hành trong tương lai bao gồm việc triển khai các dịch vụ để lưu trữ khóa cá nhân và khóa công khai, hỗ trợ chữ ký điện tử văn bản rõ ràng và khả năng sử dụng cụm từ thông dụng để xác định chữ ký đáng tin cậy.


Để lại bình luận của bạn

địa chỉ email của bạn sẽ không được công bố. Các trường bắt buộc được đánh dấu bằng *

*

*

  1. Chịu trách nhiệm về dữ liệu: Miguel Ángel Gatón
  2. Mục đích của dữ liệu: Kiểm soát SPAM, quản lý bình luận.
  3. Hợp pháp: Sự đồng ý của bạn
  4. Truyền thông dữ liệu: Dữ liệu sẽ không được thông báo cho các bên thứ ba trừ khi có nghĩa vụ pháp lý.
  5. Lưu trữ dữ liệu: Cơ sở dữ liệu do Occentus Networks (EU) lưu trữ
  6. Quyền: Bất cứ lúc nào bạn có thể giới hạn, khôi phục và xóa thông tin của mình.