إصدار Sequoia 1.0 ، وهو تطبيق Rust لـ OpenPGP



بعد ثلاث سنوات من بدء التطوير ، تم نشر الإصدار Sequoia 1.0. إنه تطبيق Rust لـ OpenPGP يحتوي على مكتبة واسعة من الوظائف وأدوات سطر الأوامر. تم نشر الإصدار بعد أن أكمل المطورون العمل على واجهة برمجة تطبيقات منخفضة المستوى - لقد نفذت للتو معيار OpenPGP بالكامل.



كل هذا مكتوب بلغة Rust ، ويتم توزيع الحزمة بموجب ترخيص GPLv2 +. توجد إصدارات لجميع الأنظمة الأساسية الرئيسية - Linux و FreeBSD و Windows و macOS و Android و iOS. فريق التطوير صغير ، يعتمد على ثلاثة مطوري GnuPG من g10code. الأمر نفسه أنشأ خدمة مفتاح Hagrid ، والتي تُستخدم في خدمة keys.openpgp.org.... حول ما هي الحزمة - تحت الخفض.



الهدف الرئيسي الذي حدده المطورون هو إعادة تصميم كاملة للهندسة المعمارية واستخدام تقنيات جديدة لتحسين أمان وموثوقية قاعدة الكود.



لزيادة مستوى الحماية في Sequoia ، بالإضافة إلى أدوات البرمجة الآمنة باستخدام لغة Rust ، يتم تطبيق حماية خطأ مستوى API. مثال على ذلك هو عدم القدرة على تصدير محتويات المفتاح الخاص بطريق الخطأ ، لأن عمليات التصدير الافتراضية تتطلب تحديدًا واضحًا. بالإضافة إلى ذلك ، تؤمن واجهة برمجة التطبيقات API ضد فقدان الخطوات المهمة أثناء تحديث التوقيع الرقمي. يجب أن تقوم هذه العملية بتحديث وقت الإنشاء وخوارزمية التجزئة ومُصدر التوقيع.



بالإضافة إلى ذلك ، المطورون على دراية بأوجه القصور في gnuPGP لأنهم هم مؤلفو هذا المشروع. في الإصدار الجديد ، حاولوا التخلص منهم. على سبيل المثال ، تم اتخاذ خطوات للتخلص من عدم تزامن وظائف أدوات سطر الأوامر مع مكتبة الوظائف. يمكن تنفيذ بعض الإجراءات فقط في واجهة الأداة المساعدة نفسها. بالإضافة إلى ذلك ، اختفت مشكلة الاقتران المحكم للغاية بين المكونات - كان ذلك هو الذي جعل من الصعب إجراء تغييرات على قاعدة الشفرة. نتيجة لذلك ، هناك ارتباك وتعقيد في تنظيم اختبار الوحدة.



أنشأ المطورون أدوات فحص الحزمة من خلال دمجها مع محلل. إنها تسمح لك بتبسيط التطوير والتصحيح وتحليل الحوادث. علاوة على ذلك ، يحصل المستخدم على فرصة التحليل البصري لهيكل الرسائل المشفرة ، بما في ذلك التوقيعات الرقمية والمفاتيح.



تقوم Sequoia أيضًا بتطوير الأداة المساعدة لسطر الأوامر sq مع دعم الأمر الفرعي Git style ، وبرنامج sqv (بديل لـ gpgv ) للتحقق من التواقيع المنفصلة ، والأداة المساعدة sqop (عديم الحالة OpenPGP CLI) ، ومكتبة Sequoia-openpgp . قدم المطورون روابط للغة C و Python.



يدعم الإصدار الجديد الغالبية العظمى من الميزات الخاصة بمعيار OpenPGP ، بما في ذلك التشفير وفك التشفير وإنشاء التوقيعات الرقمية والتحقق منها. أما بالنسبة للميزات المتقدمة ، فقد أضاف دعمًا للتحقق من خلال التوقيعات الرقمية المزودة بشكل منفصل (التوقيع المنفصل) ، والتكيف للتكامل مع مديري الحزم (APT ، RPM ، البضائع ، إلخ) والقدرة على تقييد التوقيعات بقيم العتبة والوقت.



هناك أيضًا خياران لواجهة برمجة التطبيقات - المستوى المنخفض ، وبالتالي المستوى العالي. بالنسبة للأول ، فإنه يعيد إنتاج قدرات OpenPGP والامتدادات ذات الصلة بدقة. بالإضافة إلى ذلك ، فإنه يوفر استدعاءات لمعالجة الرسائل غير المخزنة والتحليل والتسلسل في الشهادات والمفاتيح. تغطي واجهة برمجة التطبيقات الثانية ، عالية المستوى ، كلاً من القدرات المساعدة والخاصة بالمجال. هذه هي وظائف تخزين المفتاح العام والوصول إلى الشبكة. لسوء الحظ ، لا تزال واجهة برمجة التطبيقات عالية المستوى قيد التطوير - فهي فقط في مرحلة مبكرة من التطوير.



ومن المثير للاهتمام أن المطورين لم يتعجلوا في الإصدار ، على الرغم من أن معظم الميزات والقدرات الحالية كانت جاهزة قبل عام. لقد فضلوا التحقق من قاعدة التعليمات البرمجية للأخطاء وإعادة فحصها. بالإضافة إلى ذلك ، كتب الفريق وثائق شاملة مع مراجع إلى OpenPGP. لم ينس المطورون حالات الاستخدام.



الإصدار 1.0 يتضمن الآن صندوق Sequoia-openpgp وأداة التحقق من صحة التوقيع الرقمي sqv . وهنا مربع CLI وواجهات برمجة التطبيقات عالية المستوى لم يتم الاستقرار بعد ويتم الانتهاء منها. في المستقبل القريب ، يخطط فريق التطوير لدمج الخدمات لتخزين المفاتيح الخاصة والعامة ، وإضافة دعم للتوقيعات الرقمية غير المشفرة والقدرة على استخدام التعبيرات العادية لتحديد التوقيعات الموثوقة.






All Articles