
Rilis paket Sequoia 0.20.0 diperkenalkan kemarin . Ini menawarkan perpustakaan fungsi dan perkakas baris perintah dengan implementasi standar OpenPGP (RFC-4880). Tim proyek terdiri dari tiga orang - anggota proyek OpenPGP (RFC-4880). Untuk meningkatkan keamanan dan keandalan basis kode, mereka memutuskan untuk membuat implementasi gratis baru OpenPGP di Rust. Kode proyek didistribusikan di bawah lisensi GPLv2 +.
Tujuan dari para pengembang tidak hanya untuk meningkatkan keamanan produk, tetapi juga untuk menghilangkan kekurangan GnuPG. Tanpa merusak kompatibilitas atau secara fundamental mengerjakan ulang basis kode, mereka tidak dapat dihilangkan dalam proyek utama. Misalnya koneksi antar komponen individual GnuPG cukup kuat sehingga sulit untuk melakukan perubahan, apalagi membuat sistem unit testing. Perangkat baris perintah gpupg tidak disinkronkan dalam fungsionalitas dan pustaka fungsi, jadi sejumlah tindakan hanya dapat dilakukan menggunakan utilitas.
Sequoia memiliki utilitas baris perintah sq dengan dukungan subperintah gaya Git, ditambah dua opsi API - level rendah dan level tinggi. Ada binding untuk bahasa C dan Python. Sebagian besar fitur yang dijelaskan dalam standar OpenPGP didukung untuk enkripsi, dekripsi, pembuatan dan verifikasi tanda tangan digital.
Fitur tambahan termasuk dukungan verifikasi untuk tanda tangan digital yang disediakan secara terpisah, adaptasi untuk integrasi dengan manajer paket, dan kemampuan untuk membatasi tanda tangan dengan nilai ambang batas dan waktu.
API tingkat rendah mereproduksi sangat erat kemampuan OpenPGP dan beberapa ekstensi terkait, termasuk dukungan ECC dan elemen dari "draf" edisi standar yang akan datang. Sejauh menyangkut pengecualian, ini hanya bagian spesifikasi yang ketinggalan zaman yang dapat berdampak negatif pada keamanan - misalnya, dukungan untuk hash MD5. API juga mendukung penanganan pesan tanpa buffer. Dalam hal kemampuannya, ini mendekati cakupan penuh dari standar OpenPGP dan sepenuhnya siap untuk bekerja dengan data OpenPGP. Rilis 1.0 yang stabil harus dirilis dalam waktu dekat.
Sedangkan untuk API tingkat tinggi, ini baru mulai berkembang dan sejauh ini mencakup kemampuan seperti menyimpan kunci publik dan mengakses fungsi melalui jaringan. Fitur pendukung dan domain khusus lainnya direncanakan untuk ditambahkan saat proyek berkembang.
Selain itu, paket ini juga memiliki alat inspeksi paket yang sangat kuat yang dapat digunakan untuk pengembangan, debugging, dan analisis insiden. Alat inspeksi digabungkan dengan parser sehingga pengguna dapat menganalisis struktur pesan terenkripsi, tanda tangan digital, dan kunci.
sq packet dump --hex message.pgp
New CTB, 13 bytes: One-Pass Signature Packet
Version: 3
Type: Binary
Pk algo: EdDSA Edwards-curve Digital Signature Algorithm
Hash algo: SHA512
Issuer: 83F8 2E4F E9A5 E098
Last: true
00000000 c4 0d frame
00000002 03 version
00000003 00 sigtype
00000004 0a hash_algo
00000005 16 pk_algo
00000006 83 f8 2e 4f e9 a5 e0 98 issuer
0000000e 01 last
Dalam hal dukungan platform, paket tersebut saat ini bekerja dengan platform Linux, FreeBSD, Windows, macOS, Android dan iOS. Ada juga kemungkinan untuk bekerja dengan layanan kriptografi yang disediakan oleh platform ini, termasuk koprosesor untuk komputasi di daerah kantong yang terisolasi. Untuk menyediakan isolasi tambahan, dipraktikkan untuk memisahkan layanan menjadi proses terpisah yang bekerja dengan kunci publik dan pribadi. Misalnya, penyimpanan kunci dikembangkan dalam bentuk proses terpisah. Protokol Cap'n Proto digunakan untuk memastikan interaksi proses individu.
Versi baru yang disajikan memiliki paket tingkat rendah sequoia-openpgp , program sqv (pengganti gpgv) untuk memverifikasi tanda tangan yang terpisah dan utilitas sqop dengan implementasi Stateless OpenPGP CLI. Persyaratan karat telah dinaikkan ke versi 1.46. Penggunaan sistem integrasi berkelanjutan untuk memeriksa perubahan telah diperluas dan set untuk menguji kompatibilitas dengan OpenPGP telah ditingkatkan.
Dalam waktu dekat, pengembang berencana merilis versi 1.0, yang juga akan menyertakan API tingkat tinggi, dan bukan hanya API tingkat rendah, seperti sekarang.
