
يحافظ على مستودع TUF الذي يوصّل جذر ثقة Sigstore (trusted_root.json) إلى العملاء بشكل آمن، باستخدام توقيع العتبة من قبل حاملي المفاتيح، والتوقيع عبر الإنترنت باستخدام KMS، والنشر الآلي.
يحافظ مشروع root-signing على مستودع TUF المستخدم لتسليم جذر ثقة Sigstore (trusted_root.json) بشكل آمن إلى عملاء Sigstore.
يُنشر المستودع لاستهلاك عملاء sigstore على https://tuf-repo-cdn.sigstore.dev/.
يمكن العثور على مصادر البيانات الوصفية في مجلد metadata/، والمنتجات (مثل trusted_root.json) في مجلد targets/. راجع التشغيل لمزيد من التفاصيل حول كيفية تعديل هذه المصادر.
تعتمد أمن root-signing على حاملي المفاتيح: إذ ينبغي أن يكونوا أعضاء موثوقين في المجتمع مستعدين وقادرين على أداء واجبات حامل المفتاح مثل التحقق من محتوى trusted_root.json الجديد والتوقيع في أحداث التوقيع.
تتطلب جميع التغييرات على المنتجات أو البيانات الوصفية توقيعات تشفيرية من حاملي مفاتيح Sigstore. حاملو المفاتيح الحاليون ومتطلبات التوقيع وجدول التوقيع موثّقة في المستودع المنشور
| حاملو المفاتيح | المدة |
|---|---|
| Lance Ball | يوليو 2025 - |
| Joshua Lock | يوليو 2022 - |
| Bob Callaway | يونيو 2021 - |
| Marina Moore | يونيو 2021 - |
| Santiago Torres-Arias | يونيو 2021 - |
| حاملو المفاتيح الفخريون | المدة |
|---|---|
| Luke Hinds | يونيو 2021 - يوليو 2022 |
| Dan Lorenc | يونيو 2021 - يوليو 2025 |
يُعدَّل مستودع TUF بطريقتين:
أحداث التوقيع هي طلبات سحب (pull requests) ينشئها ويديرها root-signing حيث يوقّع حاملو المفاتيح التغييرات المقترحة. تحدث أحداث التوقيع لأسباب متعددة:
في جميع الحالات، المحفّز لإنشاء طلب سحب حدث توقيع هو دفع (push) إلى فرع "sign/*" (إما بواسطة المشرف أو سير عمل).
يوجد مستودع منفصل root-signing-staging: يجب اختبار أي تغييرات غير تافهة (على البيانات الوصفية أو المنتجات) في root-signing-staging قبل إدخالها في حدث توقيع root-signing.
يحدث التوقيع عبر الإنترنت في حالتين:
عمليًا، يحدث التوقيع عبر الإنترنت كل ثلاثة أيام على الأقل بسبب انتهاء صلاحية التوقيع عبر الإنترنت.
يؤدي التوقيع عبر الإنترنت إلى نشر "ما قبل الإنتاج" على https://sigstore.github.io/root-signing/. هذا مستودع TUF كامل الوظائف يُستخدم لتشغيل كل من اختبارات عملاء TUF العامة و اختبارات عملاء Sigstore المحددة (باستخدام cosign وعملاء sigstore الآخرين). تؤدي الاختبارات الناجحة إلى النشر في الإنتاج على https://tuf-repo-cdn.sigstore.dev/.
سير العمل المهمة في root-signing هي:
create-signing-events ينشئ فروعًا لأحداث التوقيع عندما تقترب التوقيعات من انتهاء صلاحيتها.
يعمل وفقًا لجدول زمنيsigning-event ينشئ ويدير طلبات السحب الخاصة بحدث التوقيع. يعمل عند دفع فروع "sign/*"online-sign يثبّت ويدمج التوقيعات عبر الإنترنت، ويُرسل أيضًا publish. يعمل عند دفع
"main" (ولكن يمكن إرساله يدويًا في أي وقت)publish ينشر مستودعًا تجريبيًا على GitHub Pages، ويشغّل اختبارات العميل، وأخيرًا ينشر
المستودع. يعمل عند الإرسال من online-signشكر خاص إلى Dan Lorenc وTrishank Kuppusamy وMarina Moore وSantiago Torres-Arias ومجتمع SigStore بأكمله!
يتوفر تسجيل لحفل التوقيع هنا.