هل من الممكن برمجة وحدة النظام الأساسي الموثوقة من Intel

StackOverflow https://stackoverflow.com/questions/8412868

سؤال

أتساءل عما إذا كان من الممكن برمجة TPM ( http://en.wikipedia.org/wiki/Trusted_Platform_Module ) موجودة في معظم شرائح Intel ، بطريقة تؤدي إلى: Genacodicetagpre

من الواضح أنه لا ينبغي إعادة برمجتها بمجرد أن تبدأ العمل (هل تعلم ما إذا كانت هذه العبارة صحيحة؟).

هل كانت مفيدة؟

المحلول

يتم تحديد سلوك TPM بواسطة المواصفات الصادرة عن Trusted Computing Group. يجب أن يتصرف TPM تمامًا كما هو محدد ، لذلك لا يمكنك تغيير وظيفة TPM المطبقة بشكل صحيح. تتمتع الشركات المصنعة لأجهزة TPM بقدرات محدودة على تحديث منتجاتها بعد الشحن. على سبيل المثال ، توفر Infineon تحديثات البرامج الثابتة لأجهزتها.

ومع ذلك ، قد تكون وحدات Intel TPM مختلفة. تضمنت بعض الشرائح وحدة TPM تمت مضاهاتها / برمجية بدلاً من TPM الفعلية للأجهزة. يمكن تحديث وحدات TPM هذه بتحديث BIOS. ولكن في هذه الحالة أيضًا ، يجب توفير التحديث بواسطة Intel. تحتوي اللوحات الحديثة مثل DQ67SW على وحدات TPM للأجهزة المستقلة غير المصنعة من قبل Intel.

لذا فإن الإجابة على سؤالك الثاني هي: لا ، لا يمكنك برمجة / تعريف خوارزميات التشفير التي يستخدمها TPM.


فيما يتعلق بسؤالك الأول: نعم ، يمكنك تحديد ما يجب تخزينه في التخزين الدائم إلى حد ما. تسمى منطقة الذاكرة هذه التخزين غير المتطاير أو NV . يجب عليك تحديد بعض المساحة أولاً باستخدام الأمر TPM_NV_DefineSpace . بعد ذلك يمكنك القراءة والكتابة من / إلى الموقع باستخدام TPM_NV_ReadValue و TPM_NV_WriteValue . يحجز التحديد مقدارًا معينًا من الذاكرة في NV وأيضًا إعداد سمات الأمان لهذا الموقع. هذه الأوامر هي أوامر TPM منخفضة المستوى ، يوصى بشدة باستخدام Trusted Software Stack (TSS) لواجهة TPM. يمكنك استخدام jTSS مع jTpmTools أو TrouSerS .

بعض الملاحظات بخصوص NV:

  • هناك مساحة محدودة للغاية في NV ، ولكن المقدار الدقيق خاص بالمورد (عادةً أقل من 5 كيلوبايت). الحد الأدنى لمنصة الكمبيوتر الشخصي هو 2048 بايت.
  • جهاز TPM عبارة عن جهاز سلبي ، ولا يمكنه فعل أي شيء بدون إصدار أمر له. إذا كنت تريد تخزين شيء ما في TPM ، فيجب أن يكون لديك قطعة نشطة (BIOS ، البرنامج ، مجموعة الشرائح ، وحدة المعالجة المركزية) التي تصدر هذه الأوامر.
  • حتى معظم مفاتيح التشفير لا يتم تخزينها في TPM. يوجد تسلسل هرمي للمفاتيح ويتم تخزين مفتاح الجذر فقط (مفتاح جذر التخزين - SRK) في TPM. يتم تخزين جميع المفاتيح الأخرى بالخارج بطريقة مشفرة.

نصائح أخرى

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

تحدد TPM الأدوار الإدارية المختلفة. عند استخدامه لأول مرة ، ستقوم بإعداد كلمات مرور إدارية (أو سيقوم برنامجك بذلك نيابةً عنك ، وفي هذه الحالة يجب عليك إجراء نسخ احتياطي لكلمات المرور هذه بعناية). إذا لم تكن متأكدًا من حالة TPM عند استلامها ، فيمكنك إعادة تعيينها إلى "إعدادات المصنع الافتراضية" (مسح جميع المفاتيح وبيانات الاعتماد الموجودة) ؛ هذا يسمى مسح TPM ويتم عادة من BIOS.

ستجد نظرة عامة على بيانات الاعتماد المتنوعة المخزنة والمستخدمة بواسطة TPM في ملفات تعريف الاعتماد . بالإضافة إلى المفاتيح التي تعد جزءًا من دورة الحياة العادية ، يمكنك استيراد المفاتيح الخاصة بك وإنشاء مفاتيح غير قابلة للتصدير باستخدام RNG الخاص بـ TPM.

يوجد ملف تعريف حماية TPM . لا أعرف ما إذا كان قد تم تقييم TPM الخاص بشركة Intel فيما يتعلق به. الشكل 1 هو رسم تخطيطي لدورة حياة TPM ، والذي يوضح متى يمكن إنشاء المفاتيح.

من الناحية العملية ، من المحتمل أن تتفاعل مع TPM من خلال TrouSerS (واجهة برمجة تطبيقات TPM مفتوحة المصدر بالكامل) ، أو بشكل محدود من خلال Bitlocker على Windows.

نعم ، يمكنك استخدام شريحة TPM لإجراء هذه الأنواع من العمليات وغيرها الكثير.

إن حزمة TrouSerS عبارة عن تطبيق مفتوح المصدر لمجموعة برامج الحوسبة الموثوقة اللازمة لاستخدامشريحة TPM بشكل موثوق.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top