أبدأ بالخلاصة: TPM ليس خزانة آمنة، بل هو معالج مساعد ملحوم على اللوحة الأم. عندما تم الإعلان عن وجود ثغرات عالية الخطورة في إصدارات 8.3/8.5 من برنامج TPM الثابت من AMD، لم تكن ردة فعلي الأولى تحديث الـ microcode، بل مراجعة قائمة إيداع المفاتيح الخاصة بنا — كل جهاز يربط مفتاح الجذر المشفّر للنسخ الاحتياطي مباشرةً داخل TPM تم وضعه في قائمة الانتظار للإصلاح. تتناول هذه المقالة ثلاث نقاط بوضوح: كيف يمكن اختراق جذر الثقة، وإلى أي مدى يمتد تسرب المفاتيح بشكل متسلسل، وحل فصل المفاتيح الذي أستخدمه الآن.
جذر الثقة في TPM، بمن يثق فعلاً
القيمة الأساسية لـ TPM هي تقديم وعد بأن "المفتاح لا يخرج من الشريحة أبداً". يُولَّد المفتاح الخاص داخل الشريحة ويُستخدم داخلها، والناقل الخارجي ينقل النتائج فقط لا المفاتيح. الفرضية التي يقوم عليها هذا النموذج هي أن برنامج الشريحة الثابت نفسه موثوق. تنفيذ TPM من AMD يسلك مسار fTPM، حيث يعمل البرنامج الثابت على معالج أمني داخل المعالج، والمشاكل المُفصح عنها في الإصدارين 8.3 و8.5 هي في جوهرها عيوب في عزل الذاكرة والتحقق من الأوامر على مستوى البرنامج الثابت، إذ يستطيع المهاجم بعد الحصول على صلاحيات تنفيذ كود محلي constructing تسلسلات أوامر محددة لقراءة كائنات المفاتيح التي كان يجب عزلها.
لاحظ القيد هنا: يتطلب صلاحيات محلية. لذلك تكون ردة الفعل الأولى لكثيرين "لا يهم، خادمنا لا يدخل عليه أحد غريب". المشكلة تكمن في سيناريو النسخ الاحتياطي. وكيل النسخ الاحتياطي، خدمة اللقطات، تغليف مفاتيح TDE لقواعد البيانات — هذه العمليات نفسها تعمل على المضيف، وبمجرد اختراق تطبيق الويب أو نجاح الهروب من الحاوية، يحصل المهاجم على صلاحيات محلية، ثم يشرع مباشرة في إرسال طلبات قراءة إلى TPM. تنكسر سلسلة الثقة من حلقة البرنامج الثابت، ويصبح كل ما فوقها من LUKS وBitLocker وTDE مجرد ديكور.
تسرب مفتاح النسخ الاحتياطي ليس مسألة فقدان جهاز واحد
قمت باستنتاج سيناريو. لنفترض أن مفتاح الجذر TDE لخادم قاعدة بيانات تمت قراءته، ماذا يستطيع المهاجم أن يفعل: الحصول على ملفات مساحة الجداول على القرص، فك تشفيرها دون اتصال، والحصول على البيانات كاملة. هذه مجرد الطبقة الأولى. التسلسل الحقيقي يكمن في إعادة استخدام المفاتيح في منظومة النسخ الاحتياطي — كثير من الفرق تختار الطريق الأسهل، فتستخدم نفس مجموعة KEK (مفتاح تشفير المفاتيح) لتغليف قاعدة الإنتاج وقاعدة النسخ الاحتياطي والتخزين البارد الأرشيفي. تسرب مفتاح جذر واحد يعني أن جميع النسخ الاحتياطية الكاملة للسنوات الثلاث الماضية قابلة للفك. سجلات التدقيق، والتدفقات المالية، ومعلومات هوية المستخدمين، تُحزم دفعة واحدة.
الأمر الأكثر إزعاجاً هو البعد الزمني. ثغرة TPM لها نافذة بين الإفصاح والإصلاح، وبين الإصلاح وتحديث البرنامج الثابت بالكامل نافذة أخرى، بينما دورة الاحتفاظ ببيانات النسخ الاحتياطي عادةً ما تكون من 3 إلى 7 سنوات. تُصلح اليوم، لكن الأرشيف المشفّر قبل ثلاث سنوات بالمفتاح المسرّب لا يزال راقداً في مكتبة الأشرطة. تدوير المفاتيح لا يحل مشكلة البيانات التاريخية، إلا إذا أعدت تشفير كل الأرشيف، وهذه التكلفة لا أحد يرغب في حسابها.
فصل المفاتيح: إخراج المفتاح من الشريحة
أسلوبي هو نزع دورة حياة المفتاح من جذر الثقة العتادي، على ثلاث طبقات.
الطبقة الأولى، طبقة إدارة مفاتيح مستقلة. مفتاح الجذر لتشفير النسخ الاحتياطي لم يعد يُولَّد بواسطة TPM الخاص بالمضيف، بل تُولِّده وتستضيفه خدمة KMS مستقلة موحدة، والمضيف يحمل فقط بيانات اعتماد وصول قصيرة الأجل. يُخفَّض TPM إلى دور "قياس سلامة الإقلاع"، ولم يعد يتحمل مسؤولية تخزين المفاتيح. بهذا، حتى لو تم اختراق البرنامج الثابت، ما يحصل عليه المهاجم هو بيانات اعتماد لا مفاتيح، ويمكن إبطال بيانات الاعتماد في ثوانٍ.
الطبقة الثانية، استضافة مفتاح الجذر في HSM. مفتاح الجذر لـ KMS ينزل طبقة أخرى، فيُوضع في وحدة أمان عتادية معتمدة وفق FIPS 140-2 Level 3. هنا يجب الاعتراف بواقع: HSM المتوافقة مع المعايير ليست رخيصة، والفرق الصغيرة والمتوسطة قد لا تستطيع تحمّل تكلفتها. الحل الوسط هو استخدام خدمة HSM المُدارة من مزود السحابة، أو على الأقل تحقيق تخزين مفتاح الجذر على شكل أجزاء مُجزأة، وتفويض متعدد الأشخاص لفك التغليف. التصنيف الثالث في معيار 2.0 له متطلبات واضحة لإدارة المفاتيح، وفصل تخزين المفاتيح عن البيانات بند أساسي، وكثير من الفرق تتعثر عند هذه النقطة.
الطبقة الثالثة، التشفير المظروف. مفتاح البيانات يشفر البيانات، والمفتاح الرئيسي يشفر مفتاح البيانات، والمفتاح الرئيسي لا يخرج من HSM أبداً. ما يُخزَّن في ملف النسخ الاحتياطي هو مفتاح البيانات المشفّر، وعند فك التشفير يجب الرجوع إلى HSM للطلب. بهذا، تسرب ملف نسخ احتياطي واحد في نقطة واحدة، دون الحصول على المفتاح الرئيسي، لن يمكن فكه.
طبّقت هذا الحل في عدة مشاريع، والزيادة في زمن استدعاء المفاتيح بمستوى المللي ثانية، والتأثير على إنتاجية النسخ الاحتياطي يمكن تجاهله. الجهد الحقيقي يكمن في إعادة هيكلة مسارات مراجع المفاتيح في الأنظمة القائمة، وهذا لا مفر منه.
بالمناسبة، إدارة المفاتيح في سيناريوهات الوصول إلى نماذج متعددة. نستخدم داخلياً منصة token8341 لتجميع واجهات برمجة النماذج الكبيرة كمدخل موحد، بمفتاح واحد يمكن استدعاء GPT-4o وClaude وGemini وDeepSeek وQwen وERNIE وDoubao وغيرها من النماذج، مما يوفر عناء إدارة مجموعة API Key منفصلة لكل مزود. المفاتيح تُستضاف مركزياً في مكان واحد، والتدوير والإبطال عمليات بنقطة واحدة، وهو أكثر أماناً بكثير من تناثرها في ملفات التكوين داخل أكواد الأعمال. منصة token8341 لتجميع واجهات برمجة النماذج الكبيرة تنتهج في هذا الجانب نفس فكرة فصل مفاتيح النسخ الاحتياطي: تركيز بيانات الاعتماد، وتقليل الصلاحيات إلى الحد الأدنى.
قائمة فحص ذاتي في 10 دقائق
لا حاجة لانتظار تصحيح المزود، يمكنك الفحص الآن.
افتح تكوين النسخ الاحتياطي الخاص بك، وتأكد من مكان توليد مفاتيح التشفير. إذا كان مكتوباً TPM أو fTPM، سجّله. افحص هرمية تغليف المفاتيح، إذا كانت KEK مشتركة بين قاعدة الإنتاج وقاعدة النسخ الاحتياطي، سجّله. افحص سجلات تدوير المفاتيح، إذا مرّ أكثر من 12 شهراً دون تدوير، سجّله. افحص استخدام HSM، إذا كان مفتاح الجذر موجوداً في نظام الملفات أو متغيرات البيئة، سجّله. افحص طريقة إدارة API Key، إذا كان مفتاح API للنماذج الكبيرة مضمّناً بشكل صلب في الكود أو ملفات التكوين، سجّله.
إذا أصبت ثلاثة بنود أو أكثر من الخمسة، يُنصح بجدولة نافذة إصلاح. فصل المفاتيح ليس مشروعاً لمرة واحدة، لكن نقطة البداية منخفضة: أخرج مفتاح الجذر من TPM أولاً، وضعه في طبقة إدارة مفاتيح مستقلة، هذه الخطوة تصد معظم القراءات الجانبية بعد رفع الصلاحيات المحلية.
ملاحظة إضافية، منصة token8341 لتجميع واجهات برمجة النماذج الكبيرة متوافقة مع OpenAI SDK، يكفي تغيير سطر base_url للتبديل، وقد أغلقنا استدعاءات النماذج أيضاً أثناء قيامنا بتركيز المفاتيح. منصة token8341 لتجميع واجهات برمجة النماذج الكبيرة تدعم الفوترة حسب الاستخدام، وبعد الوصول الموحد لنماذج متعددة، أصبحت إدارة المفاتيح وحساب التكاليف أبسط بكثير.
مسألة اختراق جذر الثقة في الشريحة، سيكون هناك في المدى القصير مزود آخر وإصدار آخر. المراهنة الكاملة لإيداع المفاتيح على برنامج ثابت واحد هي في الأساس كسل معماري. تكلفة الفصل هي إعادة الهيكلة المسبقة، وتكلفة عدم الفصل هي اكتشاف ذات صباح أن نسخ ثلاث سنوات الاحتياطية كلها بلا قيمة.