Sequoia 1.0, pustaka yang menerapkan standar OpenPGP

Setelah tiga setengah tahun pengembangan, paket edisi Sequoia 1.0 dirilis , yang mengembangkan pustaka fungsi dan alat baris perintah dengan implementasi standar OpenPGP (RFC-4880).

Rilis tersebut merangkum pekerjaan pada API tingkat rendah , yang mengimplementasikan cakupan standar OpenPGP yang cukup untuk penggunaan penuh. Kode proyek ditulis dalam Rust dan didistribusikan di bawah lisensi GPLv2+.

Proyek ini didirikan oleh tiga kontributor GnuPG dari g10code, sebuah perusahaan pengembang plugin GnuPG dan audit sistem kriptografi. Tim Sequoia juga dikenal karena menciptakan server kunci Hagrid, yang digunakan oleh layanan keys.openpgp.org.

Tujuan dari proyek baru ini adalah untuk mendesain ulang arsitektur dan menerapkan teknik baru untuk meningkatkan keamanan dan keandalan basis kode.

Untuk meningkatkan keamanan, Sequoia tidak hanya menggunakan alat pemrograman yang aman yang memanfaatkan bahasa Rust, tetapi juga perlindungan kesalahan tingkat API.

Sebagai contoh, API mencegah Anda secara tidak sengaja mengekspor materi kunci rahasia , karena operasi ekspor memerlukan pemilihan eksplisit secara default. Demikian pula, API memastikan bahwa tidak ada langkah penting yang terlewatkan saat memperbarui tanda tangan digital; secara default, waktu pembuatan, algoritma hash, dan penerbit tanda tangan diperbarui secara otomatis.

Sequoia juga berupaya menghilangkan kekurangan GnuPG , seperti ketidakselarasan fungsi alat baris perintah dengan pustaka fungsi (beberapa tindakan hanya dapat dilakukan menggunakan utilitas) dan keterkaitan yang terlalu erat antar komponen, yang menyulitkan perubahan, mengaburkan basis kode, dan mencegah pembuatan sistem pengujian unit yang lengkap.

Sequoia mengembangkan utilitas baris perintah sq dengan dukungan subperintah ala Git , program sqv (pengganti gpgv) untuk memverifikasi tanda tangan terpisah, utilitas sqop (CLI OpenPGP Tanpa Status), dan pustaka sequoia-openpgp.

Ada tautan untuk bahasa C dan Python. Sebagian besar fungsi yang dijelaskan dalam standar OpenPGP kompatibel dengan enkripsi, dekripsi, pembuatan, dan verifikasi tanda tangan digital.

Di antara fitur-fitur canggih, dicatat bahwa ia mendukung verifikasi menggunakan tanda tangan digital yang disediakan secara terpisah (tanda tangan terpisah), adaptasi untuk integrasi dengan manajer paket (APT, RPM, unggah, dll.), Kemampuan untuk membatasi tanda tangan dengan nilai ambang dan waktu.

Untuk menyederhanakan pengembangan, debugging, dan analisis insiden, alat inspeksi paket disediakan, yang terintegrasi dengan penganalisis dan memungkinkan Anda menganalisis secara visual struktur pesan terenkripsi, tanda tangan digital, dan kunci.

Demi alasan keamanan, penggunaan layanan kriptografi, seperti koprosesor untuk komputasi dalam lingkungan terisolasi, diperbolehkan. Untuk isolasi lebih lanjut, layanan yang bekerja dengan kunci publik dan pribadi dipisahkan ke dalam proses yang berbeda (interaksi proses diatur menggunakan protokol Cap'n Proto). Misalnya, penyimpanan kunci diimplementasikan sebagai proses terpisah.

Terdapat dua opsi API: tingkat rendah dan tingkat tinggi. API tingkat rendah mereplikasi sedekat mungkin kemampuan OpenPGP dan beberapa ekstensi terkait, seperti dukungan ECC, notarisasi (tanda tangan di atas tanda tangan), dan elemen dari draf edisi standar mendatang.

Teramati bahwa sesuai dengan fungsionalitas yang direncanakan, Sequoia telah mencapai kesiapan untuk versi 1.0 setahun yang lalu, tetapi para pengembang memutuskan untuk tidak terburu-buru dan malah menghabiskan lebih banyak waktu untuk menemukan bug dan menulis dokumentasi lengkap dan berkualitas tinggi dengan tautan ke informasi dalam standar OpenPGP dan contoh penggunaan.

Versi 1.0 saat ini hanya mencakup box sequoia-openpgp dan utilitas verifikasi tanda tangan digital sqv. CLI "sq" dan API tingkat tinggi masih dalam tahap finalisasi dan belum stabil.

Batasan yang direncanakan akan dihapus dalam rilis mendatang termasuk implementasi layanan untuk menyimpan kunci privat dan publik, dukungan untuk tanda tangan digital teks yang jelas, dan kemampuan untuk menggunakan ekspresi reguler untuk menentukan tanda tangan tepercaya.


Tambahkan sebagai sumber pilihan di Google