الانتقال إلى المحتوى

AES-NI

مرجع المعماريةFeex

تعد AES-NI توسعة لتعليمات x86 مخصصة لجولات تشفير وفك تشفير AES وما يرتبط بها من عمليات جدول المفاتيح (key-schedule). وهي تسرع أجزاء من التنفيذ التشفيري بدلاً من توفير بروتوكول آمن بالكامل.

ما تحتاج إلى معرفته

تعد AES-NI توسعة لتعليمات x86 مخصصة لجولات تشفير وفك تشفير AES وما يرتبط بها من عمليات جدول المفاتيح (key-schedule). وهي تسرع أجزاء من التنفيذ التشفيري بدلاً من توفير بروتوكول آمن بالكامل.

كيف يعمل

تقوم تعليمات مثل AESENC وAESDEC بتحويل حالة AES ذات 128 بت، بينما تتعامل صيغ منفصلة مع الجولات النهائية وتساعد في توسيع المفتاح. ويحدد تنفيذ AES عدد وترتيب الجولات بما يتناسب مع طول المفتاح. ولا تختار التعليمات النمط، أو تخصص قيم nonce، أو تصادق الرسائل، أو تحمي المفاتيح المخزنة بمفردها.

مواضع فائدتها

يمكن لمكتبة تشفير خاضعة للصيانة توجيه التنفيذ إلى AES-NI لنمط AES مدعوم. ويتطلب AES-GCM أيضًا معالجة للمصادقة، وغالبًا ما يتم تسريعها باستخدام الضرب بدون حمل (carry-less multiplication). ويؤثر التفاوض على البروتوكول وتخطيط السجلات وطول الرسالة على الأداء الإجمالي من البداية إلى النهاية.

كيفية التحقق من الدعم والتمكين

يشير البت 25 في CPUID.01H:ECX إلى AES-NI التقليدية. ويجب أن تدير بيئة التنفيذ حالة XMM. وتحقق من متطلبات VAES وحالة المتجهات بشكل منفصل لتنفيذات VEX أو EVEX الأوسع نطاقًا، واستخدم إمكانيات التوجيه المدعومة في مكتبة التشفير.

استخدم تنفيذًا تشفيرياً يخضع للصيانة ويتولى اختيار الميزات والتعامل مع حالات الفشل والخوارزمية الكاملة. يوفر التسريع العتادي العمليات الأولية، بينما تظل إدارة المفاتيح والمصادقة وقواعد nonce وخيارات البروتوكول مسؤوليات برمجية.

ما لا تثبته هذه الميزة

دعم AES-NI لا يعد شهادة أمان أو حكمًا بخلو النظام من البرمجيات الخبيثة أو ضمانًا ضد القنوات الجانبية في الشيفرة المحيطة. فـ AES ليست SHA. كما يتم سرد VAES بشكل منفصل، وقد يخفي النظام الضيف AES-NI حتى عندما تتوفر في النظام المضيف.

التوافق والأداء في الممارسة العملية

لا يُعد حقل الميزة شهادة للمنتج أو دليلاً على أمان تطبيق معين. ويعتمد الأداء على أحجام الرسائل والنمط وتجميع العمليات وبقية عناصر البروتوكول. تحقق من المزود الفعلي وحافظ على تحديثاته الأمنية أولاً بأول.

قائمة عملية للتحقق

  1. سجل الطراز الدقيق للمعالج أو المنصة، بالإضافة إلى إصدارات التطبيق ونظام التشغيل وبيئة التشغيل المعنية. واحتفظ بنص الخطأ الفعلي أو المتطلب كما هو.
  2. راجع مرجع الشركة المصنعة لذلك الطراز بدقة، ثم افحص القدرة الفعلية وحالة التمكين في البيئة التي يعمل فيها البرنامج.
  3. قارن كل متطلب من متطلبات الملف الثنائي أو الواجهة الخلفية المحددة. فوجود ميزة ذات اسم مشابه أو اسم بديل أو تصنيف تقني عام ليس كافيًا.
  4. تأكد من أن التطبيق قد اختار التنفيذ المطلوب. واستخدم وسائله التشخيصية الموثقة والبديل الاحتياطي المدعوم عندما لا يتم استيفاء المتطلبات.
  5. قم بإجراء تغيير مدعوم واحد في كل مرة وأعد تنفيذ نفس حمل العمل. واحتفظ بالتهيئة الأصلية ومسار الاسترداد متاحين.

إذا كانت الميزة مدرجة ولكن يتعذر على البرنامج استخدامها

ابدأ بالمكون الفعلي الذي حدث فيه الفشل. تصف قاعدة بيانات الأجهزة القدرات المسجلة؛ ولكن يمكن لنظام التشغيل أو برنامج المراقبة الفوقي (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 والحماية. ولا تثبت وثائق المعمارية الدعم لطراز معين.

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

يكفي الإجابة بنعم أو لا. اختر سببًا إذا أردت، أو أضف ملاحظة قصيرة.

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