الإعلان عن نظام التحقق من التشفير Sigstore

أعلنت Google عن تشكيل الإصدارات المستقرة الأولى من المكونات التي تشكل مشروع Sigstore، والتي تم الإعلان عنها بأنها مناسبة لإنشاء تطبيقات العمل. تقوم Sigstore بتطوير أدوات وخدمات للتحقق من البرامج باستخدام التوقيعات الرقمية والاحتفاظ بسجل عام يؤكد صحة التغييرات (سجل الشفافية). يتم تطوير المشروع تحت رعاية مؤسسة Linux Foundation غير الربحية بواسطة Google وRed Hat وCisco وvmWare وGitHub وHP Enterprise بمشاركة منظمة OpenSSF (مؤسسة الأمن مفتوح المصدر) وجامعة بوردو.

يمكن اعتبار Sigstore بمثابة Let's Encrypt للتعليمات البرمجية، حيث يوفر شهادات لتوقيع التعليمات البرمجية رقميًا وأدوات لأتمتة عملية التحقق. باستخدام Sigstore، يمكن للمطورين التوقيع رقميًا على العناصر المتعلقة بالتطبيقات مثل ملفات الإصدار، وصور الحاويات، والبيانات، والملفات التنفيذية. تنعكس مادة التوقيع في سجل عام مضاد للتلاعب يمكن استخدامه للتحقق والتدقيق.

بدلاً من المفاتيح الدائمة، يستخدم Sigstore مفاتيح مؤقتة قصيرة العمر، والتي يتم إنشاؤها بناءً على بيانات الاعتماد المؤكدة من قبل موفري OpenID Connect (في وقت إنشاء المفاتيح اللازمة لإنشاء توقيع رقمي، يقوم المطور بتعريف نفسه من خلال موفر OpenID المرتبط بـ بريد إلكتروني). يتم التحقق من صحة المفاتيح باستخدام سجل مركزي عام، مما يجعل من الممكن التحقق من أن مؤلف التوقيع هو بالضبط من يدعي، وتم إنشاء التوقيع من قبل نفس المشارك الذي كان مسؤولاً عن الإصدارات السابقة.

يرجع استعداد Sigstore للتنفيذ إلى تكوين إصدارات مكونين رئيسيين - Rekor 1.0 وFulcio 1.0، والتي تم الإعلان عن استقرار واجهات البرامج الخاصة بها وستظل متوافقة مع الإصدارات السابقة. تتم كتابة مكونات الخدمة بلغة Go ويتم توزيعها بموجب ترخيص Apache 2.0.

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

يتضمن مكون Fulcio (SigStore WebPKI) نظامًا لإنشاء مراجع تصديق (المراجع المصدقة الجذرية) التي تصدر شهادات قصيرة العمر بناءً على البريد الإلكتروني الذي تمت مصادقته من خلال OpenID Connect. يبلغ عمر الشهادة 20 دقيقة، ويجب أن يكون لدى المطور خلالها الوقت لإنشاء توقيع رقمي (إذا وقعت الشهادة لاحقًا في أيدي مهاجم، فستنتهي صلاحيتها بالفعل). بالإضافة إلى ذلك، يقوم المشروع بتطوير مجموعة أدوات Cosign (توقيع الحاويات)، المصممة لإنشاء التوقيعات للحاويات، والتحقق من التوقيعات ووضع الحاويات الموقعة في مستودعات متوافقة مع OCI (مبادرة الحاوية المفتوحة).

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

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

المصدر: opennet.ru

إضافة تعليق