يأتي APK Signature Scheme v3 مع دعم Key Rotation

click fraud protection

تم رصد APK Signature Scheme v3 في مشروع Android مفتوح المصدر، ويبدو أنه يوفر الدعم لتدوير المفاتيح.

إذا كنت مطورًا أو كنت على دراية بأي شكل من الأشكال بتفكيك ملفات APK المعدلة و/أو تعديلها و/أو تثبيتها، فمن المحتمل أنك على دراية بتوقيعات التطبيقات. بكل بساطة، يفرض Android ذلك التطبيق يجب يتم توقيعه بنفس المفتاح حتى يسمح النظام بتحديث التطبيق المعني. يتحقق Android من ذلك عن طريق التحقق من توقيع APK.

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


مخطط توقيع APK v1 و v2

لم يمض وقت طويل منذ إصدار APK Signature Scheme الحالي، v2، تم إصداره للمطورين. بعد كل شيء، بالكاد تم تقديمه إلينا مع إطلاق Android 7.0 Nougat، في نهاية عام 2016. تم تشجيع استخدام نظام التوقيع v2 في تطبيقات Android 7.0+ بشكل كبير لأنه جلب سلسلة من التصحيحات الأساسية و تحسينات الأمان: بينما يوقع الإصدار 1 فقط على JAR، يتخذ الإصدار 2 خطوات إضافية نحو حماية سلامة الكل ملف. ومع ذلك، فإن أنظمة التوقيع ليست متوافقة مع الإصدارات السابقة، ويتطلب Android Marshmallow والإصدارات الأقدم توقيعات الإصدار 1 للتطبيقات.

عملية التحقق من APK. المصدر: جوجل.

ما لم تكن تلبي احتياجات المستخدمين على Nougat أو أعلى على وجه التحديد، فإن السيناريو المثالي سيكون استخدام كلا نظامي التوقيع جنبًا إلى جنب، من خلال التوقيع باستخدام الإصدار 1 أولاً ثم الاستقالة باستخدام الإصدار 2. بهذه الطريقة، سيتعرف نظام Nougat والإصدارات الأحدث على توقيع الإصدار v2، بينما سيتعرف نظام Marshmallow والإصدارات الأدنى على توقيع الإصدار v1.

ومع ذلك، لا ينصح بشدة باستخدام الإصدار 1 فقط بسبب سلسلة من نقاط الضعف والمشكلات الأمنية الأخرى، وأبرزها ثغرة يانوس، والذي يسمح للمهاجمين بمهاجمة ملفات APK وتعديلها مباشرة دون التأثير على التوقيعات. يتم توقيع التطبيقات الشائعة ذات التحديثات غير المتكررة مثل Instagram أو Snapchat فقط بتوقيعات v1، مما يعني أنها عرضة لهذه المشكلات.

التحقق من إصدارات توقيع APK لتطبيقات الوسائط الاجتماعية/الدفع الشائعة.

مخطط توقيع APK v3

أكبر ميزة رئيسية للإصدار 3، والتي من المفترض أن تكون مراجعة للإصدار 2، ستكون دعم دوران المفتاح. ال مخطط التوقيع v3 يقدم APK Signer Lineage، والذي، وفقًا لـ واحدة من ارتكاب، "يحتوي على تاريخ من شهادات التوقيع مع كل سلف يشهد على صحة نسله. يمثل كل سليل إضافي هوية جديدة يمكن استخدامها لتوقيع ملف APK. بهذه الطريقة، يحتوي النسب على دليل على التدوير يمكن من خلاله لملف APK الذي يحتوي عليه أن يوضحه للآخرين الأطراف، وإمكانية الوثوق بها مع شهادة التوقيع الحالية الخاصة بها، كما لو أنها موقعة من أحد كبارها تلك."

يعد تدوير المفاتيح ميزة رائعة للمطورين بعدة طرق. بالنسبة للمبتدئين، يمكن أن يكون هذا مفيدًا للمطورين في الفرق التي تعمل على تطبيق واحد، لذلك لا يتعين على المطورين مشاركة مفاتيح التوقيع الخاصة بهم مع الفريق. نظرًا لأن التطبيق يحتاج إلى نفس التوقيع الدقيق للتحديث، فيجب تجميع جميع التطبيقات حاليًا بواسطة نفس المطور أو مجموعة من المطورين يعمل المطورون بنفس المفتاح، مما يقلل من السلامة (هناك فرص أكبر لسرقة المفتاح) ويبطئ التطوير.

علاوة على ذلك، يمكن أن يكون مفيدًا أيضًا في حالة سرقة/فقد مفتاح التوقيع الخاص بالمطور، وهو ما قد يؤدي إلى ضياعه يعني عادةً أنه يجب إعادة تحميل التطبيق إلى متجر Play ضمن حزمة مختلفة اسم. هذه ليست حالة غير شائعة على الإطلاق، فمنذ فترة طويلة يبدو أن Google فقدت مفتاح التوقيع لتطبيق Google Authenticator مما أدى إلى إعادة نشره تحت اسم حزمة مختلف. منذ ذلك الحين، قدمت Google وسائل لتخزين مفاتيح التوقيع الخاصة بك بأمان في السحابة توقيع تطبيقات جوجل بلاي، لكن تدوير المفاتيح سيسمح لك بمواصلة تحديث تطبيقك في حالة حدوث خطأ افتراضي.

متى يتم طرحه؟

في حين أنك قد تكون متلهفًا لتجربته لمزيد من الراحة، فقد تم رصد نظام التوقيع v3 وهو يطفو حول AOSP موقع Gerrit Code Review، ولم يتم دمج الالتزامات نفسها في الفرع الرئيسي في الوقت الحالي، لذا فهو ليس جاهزًا فقط حتى الآن. يجب أن نتوقع أن يصل نظام التوقيع v3 إلى أيدي المطورين مع الإصدار القادم من Android P إذا كان الإصدار v2 السابق مع Android Nougat يخبرنا بأي شيء.

يجب أن نلاحظ أيضًا أن تدوير المفاتيح، على الأرجح، ليس هو الاختلاف الوحيد عن الإصدار 2. لا يزال الإصدار 3 من APK Signature Scheme قيد التنفيذ، لذا سنرى التحسينات الفعلية لنظام التوقيع v3 عند صدور الوثائق الكاملة الخاصة به في المستقبل.