RDRAND
تُرجع RDRAND قيماً عشوائية من منشأة توليد الأرقام العشوائية في عتاد المعالج عندما تكون القيمة متاحة. يجب على البرمجيات التحقق من مؤشر نجاحها واتباع تصميم تشفيري سليم.
ما تحتاج إلى معرفته
تُرجع RDRAND قيماً عشوائية من منشأة توليد الأرقام العشوائية في عتاد المعالج عندما تكون القيمة متاحة. يجب على البرمجيات التحقق من مؤشر نجاحها واتباع تصميم تشفيري سليم.
كيف يعمل
تكتب التعليمة قيمة وتشير إلى النجاح باستخدام علم الحمل (carry flag). تتطلب النتيجة غير المتاحة مؤقتاً من المتصل اتباع سياسة إعادة المحاولة أو الفشل الموثقة. التعليمة هي واجهة لمولد وليست بديلاً لواجهة برمجة تطبيقات عشوائية كاملة لنظام التشغيل وسياسة إدارة الإنتروبيا الخاصة به.
مواضع فائدتها
يمكن لنظام التشغيل أو بيئة التشغيل التشفيرية دمج مصدر عشوائية عتادي وفقاً لتصميمه الموثق. يجب أن تطلب معظم أكواد التطبيقات العشوائية من واجهة نظام التشغيل أو المكتبة المعتمدة الخاصة بها، مما يسمح لهذا المكون بمعالجة التوافر، والتركيب، والمسائل الخاصة بالمنصة.
كيفية التحقق من الدعم والتمكين
تُسرد البتة 30 من CPUID.01H:ECX تعليمة RDRAND. يجب أن يتحقق كل تنفيذ من علم الحمل؛ فقيمة السجل وحدها لا تثبت النجاح. اتبع إرشادات المورد الحالية والتنفيذ المدعوم لمكتبة الأمان.
استخدم تنفيذًا تشفيرياً يخضع للصيانة ويتولى اختيار الميزات والتعامل مع حالات الفشل والخوارزمية الكاملة. يوفر التسريع العتادي العمليات الأولية، بينما تظل إدارة المفاتيح والمصادقة وقواعد nonce وخيارات البروتوكول مسؤوليات برمجية.
ما لا تثبته هذه الميزة
يمتلك RDRAND و RDSEED واجهات مقصودة مختلفة وتعدادا منفصلا لكل منهما. الإبلاغ عن وجود ميزة لا يثبت أن تطبيقا معينا يتحقق من حالات الفشل، ولا ينشئ شهادة للمنتج أو يضمن أن الجهاز الافتراضي (VM) يقدم نفس آلية تنفيذ العشوائية الخاصة بالمستضيف.
التوافق والأداء في الممارسة العملية
لا يُعد حقل الميزة شهادة للمنتج أو دليلاً على أمان تطبيق معين. ويعتمد الأداء على أحجام الرسائل والنمط وتجميع العمليات وبقية عناصر البروتوكول. تحقق من المزود الفعلي وحافظ على تحديثاته الأمنية أولاً بأول.
قائمة عملية للتحقق
- سجل الطراز الدقيق للمعالج أو المنصة، بالإضافة إلى إصدارات التطبيق ونظام التشغيل وبيئة التشغيل المعنية. واحتفظ بنص الخطأ الفعلي أو المتطلب كما هو.
- راجع مرجع الشركة المصنعة لذلك الطراز بدقة، ثم افحص القدرة الفعلية وحالة التمكين في البيئة التي يعمل فيها البرنامج.
- قارن كل متطلب من متطلبات الملف الثنائي أو الواجهة الخلفية المحددة. فوجود ميزة ذات اسم مشابه أو اسم بديل أو تصنيف تقني عام ليس كافيًا.
- تأكد من أن التطبيق قد اختار التنفيذ المطلوب. واستخدم وسائله التشخيصية الموثقة والبديل الاحتياطي المدعوم عندما لا يتم استيفاء المتطلبات.
- قم بإجراء تغيير مدعوم واحد في كل مرة وأعد تنفيذ نفس حمل العمل. واحتفظ بالتهيئة الأصلية ومسار الاسترداد متاحين.
إذا كانت الميزة مدرجة ولكن يتعذر على البرنامج استخدامها
ابدأ بالمكون الفعلي الذي حدث فيه الفشل. تصف قاعدة بيانات الأجهزة القدرات المسجلة؛ ولكن يمكن لنظام التشغيل أو برنامج المراقبة الفوقي (hypervisor) إتاحة بيئة فعلية مختلفة. ويتطلب خطأ التعليمة غير الصالحة (illegal-instruction) أيضًا فحص التعليمة المتسببة في الخطأ وبنية الملف الثنائي، لأن التلف أو وجود تعليمة غير مدعومة لا صلة لها بالأمر قد يُحدث أعراضًا مماثلة.
ثبت إصدار التطبيق أو برنامج التشغيل أو بيئة التشغيل المدعومة للمنصة المعنية بدقة، واستخدم البنية الأساسية أو الاحتياطية الموثقة من الشركة المصنعة عند الحاجة. لا يمكن للتحديث البرمجي إنشاء تعليمة يفتقر إليها المعالج. ويجب أن تتبع تغييرات البرامج الثابتة وسياسات الأمان إجراءات الشركة المصنعة للنظام وخطة استرداد، بدلاً من اتباع وصفة تحسين عامة.
مصادر ونطاق هذا التوضيح
Intel 64 and IA-32 Architectures Software Developer's Manual
تحدد هذه المراجع السلوك المعماري ومتطلبات البرمجيات. وهي لا تتحقق بشكل مستقل من قيمة كل ميزة على صفحة طراز عتاد مرتبطة. للحصول على دعم الطراز، استخدم أدلة الشركة المصنعة في تلك الصفحة وتحقق من تهيئة النظام الفعلية. لا تقدم هذه المقالة مقياس أداء أو شهادة اعتماد أو تاريخ مراجعة مستقلة.
المصادر والتحقق
الملكية التحريرية: Feex. لم يتم تسجيل تاريخ مراجعة مستقلة. كيف نقوم بالبحث.
- Intel 64 and IA-32 Architectures Software Developer's Manual · يصف المجلدان 1 و2 عائلات التعليمات المحددة وCPUID؛ بينما يصف المجلد 3 عناصر التحكم في الحالة والترقيم الصفحي وVMX والحماية. ولا تثبت وثائق المعمارية الدعم لطراز معين.
هل كانت هذه المقالة مفيدة؟
يكفي الإجابة بنعم أو لا. اختر سببًا إذا أردت، أو أضف ملاحظة قصيرة.
شكرًا لك. يساعدنا هذا في تحسين هذه الصفحة.