استشارة: اكتشاف حاسم في نموذج الحوسبة غير القابلة للتمسك PIE
يزيل النموذج قدرة المشغل على فك تشفير أي شيء بمجرد انتهاء المهمة. لا يزال الجهاز يشفّر إلى مفتاح عام غير موثَّق منشورًا بواسطة المكوّن الوحيد الذي يحدده النموذج على أنه غير موثوق.
Developed by Robert E. Beckner III (Merlin) | rbeckner.com
لقد كنت أبني أنظمة ل25 سنوات، وأحب بناء أشياء مصممة عمداً ومبنية بشكل عملي، تحمل فقط ما يكفي من المتجه لتحقيق وزنها.في هذا النهج، كان تقليل ما أُخزنه من بيانات المستخدم دائمًا منطقيًا بالنسبة لي، لأسباب تتجاوز البسيط. سيادة بياناتهم مهمة. تحتها شيء أبسط: الأشياء تنتمي حيث تنتمي. معظم ما أبنيه هو معالجة، وبنية معالجة لا تعمل كأية شيء آخر. الاحتفاظ بسجل لم يحتاجه أبدًا هو متجه لا يحقق أي شيء. معاملة ذلك كتحسين، بدلاً من كتمرين امتثال، هو ما يحافظ على التصميم صادقًا — ونظام مبني بهذه الطريقة يميل إلى البقاء في وضع جيد مع التنظيم بمفرده، لأن هناك القليل جدًا منه المتبقي للرقابة.لذلك عندما جاء إعلان Mary كاماشو عبر خلاصة الأخبار على X، قرأت هيكليتها كما أقرأ هيكليتي. لقد نشرت جوهرها في السجل العام تحت رخصة Creative Commons، على مستوى التفاصيل الذي يحتاجه المهندس لإعادة بنائها، وكانت صريحة حول الفن السابق الذي تستند إليه.أثناء العمل عبر التسلسل، وضعت كيانًا عدائيًا داخل الخادم وتابعت ما يمكنه الوصول إليه. كان يمكنه تجاوز العامل.تقريبًا كل العمل الذي تبعه حدث كحديث صوتي — عبر 30 ملاحظات صوتية، تفكير بصوت عالٍ واختبار القلق من زوايا مختلفة حتى أو استسلم أو انهار.ما لاحظته: الجهاز يُشفّر لمن يكتب سجل المطالبة أولًا#
يُحدد الكشف ترتيب العمليات مباشرةً. يطالب العامل بالوظيفة وينشر مفتاحه، ثم فقط يُشفّر الجهاز:جانب الجهاز من ذلك الاتفاق محدد بدقة متساوية:— §2.1, تدفق البيانات (لكل وظيفة)
- العامل → التنسيق: استبيان وطلب الوظيفة (كتابة مرة واحدة، الفائز الأول)، نشر مفتاح العامل العام.
- الجهاز ← التنسيق: استبيان، استرجاع مفتاح العامل العام، اشتقاق السر المشترك، تشفير الحمولة.
الجهاز، عند معرفة مفتاح العامل العام، يُجري تبادل X25519 الخاص به وتغليف ML-KEM ضد مفتاح العامل، مُنتجًا مساهمته العامة الخاصة (مفتاح عام X25519 ‖ نص ML-KEM) والسر المشترك.— §4.2, الربط بدورة حياة العاملعند التعلم. عبر صفحات 19 لا توجد توقيع على مفتاح العامل المؤقت، ولا شهادة، ولا شهادة التحقق التي يقيمها الجهاز، ولا سر مشترك مسبق. الغياب مقصود ومقدّم كقوة: النموذج يقيّد فك التشفير دون أي وثيقة تحقق، أو اقتباس TPM، أو قطعة تشغيل مقاسة، ولا يحتفظ بسر العامل المسبق التزويد.لذلك يُشفّر الجهاز حموله إلى أي مفتاح عام موجود في سجل المطالبة، دون وسيلة لتمييز مفتاح عامل شرعي من أي شخص آخر. أي طرف قادر على كتابة مطالبة أولًا يصبح الطرف الذي يُشفّر إليه الجهاز، وتُفكّ شيفرة الحمولة الموثّقة في أيديهم.
flowchart TB
subgraph BEFORE["قبل: كما نشر"]
direction TB
A2{"من يدّعي أولاً؟"} -->|عامل حقيقي| A3["مفتاح أصلي"]
A2 -->|أي كاتب آخر| A4["مفتاح مهاجم"]
A3 --> A5["الجهاز يُشفّر إليه"]
A4 --> A5
A5 --> A6["حامل المفتاح يمكنه القراءة"]
end
subgraph AFTER["بعد: مفتاح موقع"]
direction TB
B2{"هل التوقيع صالح؟"} -->|نعم| B3["مفتاح عامل موثَّق"]
B2 -->|لا| B4["رفض، أعد المحاولة"]
B3 --> B5["فقط العامل الحقيقي يقرأ"]
end
A6 ~~~ B2Copy sourceالتشفير صحيح والمقدمة غير مُوثّقة#
المهاجم لا يكسر أي شيء. X25519 و ML-KEM-768 يعملان تماماً كما هو محدد. يقدّم المهاجم مفتاحاً ويصبح طرفاً شرعياً في الاتفاقية.هذا هو اتفاق مفتاح غير مُوثّق، وضعفها هو أقدم نتيجة في المجال. يثبت Diffie-Hellman البسيط لا يُوثّق أحداً ويُسقط على طرف يستبدل مفتاحه العام. تُورث آليات تغليف المفتاح هذه الخاصية، ولهذا السبب يضع RFC 9180 أصالة مفتاح المستلم خارج نطاقه ويُفترض أن التطبيق المحيط يحدده عبر شهادات، أو دليل مفاتيح، أو التحقق خارج الخط. هذا النموذج هو التطبيق المحيط، والقناة التي يستخدمها لتوزيع مفتاح المستلم هي المكوّن الذي يصفه نموذج الثقة الخاص به بأنه غير موثوق.يتوقع الإفشاء هجومًا مجاورًا ويغلقه:المطالبة هي كتابة-مرة/الفائز-الأول لذا لا يمكن لعامل لاحق أن يسرق تبادل مفتاح وظيفة.— §6, تنفيذ مرجعيهذا المنطق صحيح والآلية تفعل ما تقوله. يغطي أحد حالتين متماثلتين.
| تهديد | يُعالَج بمطالبة الكتابة مرة واحدة |
|---|---|
| يقوم عامل ثانٍ بكتابة مطالبة موجودة مسبقًا | نعم — يتم رفض الكتابة |
| يكتب طرف غير مخول المطالبة أولًا | لا — الكتابة الأولى تفوز |
لا يحمل أي وسيط (بوابة، تنسيق، تخزين، مراقب) أبدًا كمية كافية من المواد المفتاحية لاستنتاج أي سر. يكتسب مهاجم يسيطر على التنسيق أو التخزين فقط كتلًا غير شفافة ومفاتيح عامة.— §4.3، مفاتيح مستقلة في كل اتجاهالجملة الأولى دقيقة. الثانية تصف مهاجمًا يقرأ. يضع مهاجم يكتب مفتاحًا عامًا مختارًا في سجل المطالبة قبل أن يستعلم الجهاز، ويصبح استنتاج السر الشرعي غير ضروري لطرف يمكنه الترتيب ليكون الطرف المقابل. من يدير محتويات ذلك السجل يدير من يمكنه قراءة الحمولة، مما يجعل طبقة التنسيق مكونًا موثوقًا للسرية — الشيء الوحيد الذي يقول §3 أنه لا ينبغي لأي مكون بخلاف الجهاز والعامل أن يكون أبدًا.حد صادق للمطالبة: هذا لا يعني أن أي شخص على الإنترنت المفتوح يمكنه قراءة هذه البيانات اليوم. في نشر حقيقي، تتواجد القدرة على كتابة المطالبات خلف شبكة سحابية وبيانات الاعتماد، وتصف الإفصاح بوابة مصادقة على مسار الجهاز. المشكلة الدقيقة هي أن السرية الآن تعتمد على ذلك الحافة، بينما الوعد المركزي للمعمارية هو أنه يظل دون ثقة المكونات بين الجهاز والعامل.