عناصر التطبيقات
يوفّر Android نظامًا أساسيًا وبيئة تطبيقات مفتوحَين المصدر للأجهزة الجوّالة. يستند نظام التشغيل الأساسي إلى نواة Linux. تتم كتابة تطبيقات Android غالبًا بلغة البرمجة Java ويتم تشغيلها في الآلة الافتراضية لنظام التشغيل Android Runtime (ART). ومع ذلك، يمكن أيضًا كتابة التطبيقات باستخدام رمز برمجي برمجي أصلي. يتم تثبيت التطبيقات من ملف واحد يحمل امتداد APK.
في ما يلي الوحدات الأساسية لتطبيقات Android:
-
AndroidManifest.xml: ملف AndroidManifest.xml هو ملف التحكّم الذي يوجّه النظام إلى ما يجب فعله مع كل المكوّنات ذات المستوى الأعلى (على وجه التحديد الأنشطة والخدمات ومُستلِمي البث ومقدّمي المحتوى الموضّحين أدناه) في التطبيق. ويحدّد هذا الملف أيضًا الأذونات المطلوبة.
-
الأنشطة: النشاط هو بشكل عام رمز لمهمة واحدة تركّز على المستخدم باستخدام فئة
Activity
. يتضمّن النشاط عادةً عرض واجهة مستخدم للمستخدم، ولكن ليس ضروريًا أن يكون الأمر كذلك، فبعض الأنشطة لا تعرض واجهات مستخدم مطلقًا. عادةً ما يكون أحد أنشطة التطبيق هو نقطة الدخول إلى التطبيق. -
الخدمات: الخدمة هي مجموعة من الرموز البرمجية التي تعمل في الخلفية. ويمكن تشغيله في عملية خاصة به أو في سياق عملية تطبيق آخر. يتم "ربط" المكوّنات الأخرى بأحد الخدمات وتنفيذ طرق عليها من خلال استدعاء إجراءات عن بُعد. على سبيل المثال، أحد أنواع الخدمات هو مشغّل الوسائط: حتى إذا خرج المستخدم من واجهة مستخدم اختيار الوسائط، من المرجّح أن يواصل تشغيل الموسيقى. تحافظ الخدمة على تشغيل الموسيقى حتى بعد اكتمال واجهة المستخدم.
-
مستقبل البث: BroadcastReceiver هو عنصر يتم إنشاؤه عندما يُصدر نظام التشغيل أو تطبيق آخر آلية IPC تُعرف باسم Intent. على سبيل المثال، قد يُسجِّل التطبيق عنصر استقبال لرسالة انخفاض مستوى البطارية ويغيّر سلوكه استنادًا إلى هذه المعلومات.
نموذج أذونات Android: الوصول إلى واجهات برمجة التطبيقات المحمية
يتم تشغيل جميع التطبيقات على Android في مساحة تطبيق محمية. لا يمكن لتطبيق Android الوصول تلقائيًا إلا إلى مجموعة محدودة من موارد النظام. يدير النظام إمكانية وصول تطبيقات Android إلى الموارد التي يمكن أن تؤثر سلبًا في تجربة المستخدم أو الشبكة أو البيانات على الجهاز في حال استخدامها بشكل غير صحيح أو ضار.
ويتم تنفيذ هذه القيود بأشكال مختلفة. يتم حظر بعض إمكانات الجهاز بسبب عدم توفّر واجهات برمجة تطبيقات مخصّصة للوظائف الحسّاسة (على سبيل المثال، لا تتوفّر واجهة برمجة تطبيقات Android للتعامل مباشرةً مع شريحة SIM). في بعض الحالات، يشكّل الفصل بين الأدوار إجراءً أمنيًا، كما هو الحال مع عزل مساحة التخزين لكل تطبيق. في حالات أخرى، تهدف واجهات برمجة التطبيقات الحساسة إلى استخدامها من قِبل التطبيقات الموثوق بها ويتم حمايتها من خلال آلية أمان تُعرف باسم "الأذونات".
تشمل واجهات برمجة التطبيقات المحمية ما يلي:
- وظائف الكاميرا
- بيانات الموقع الجغرافي (نظام تحديد المواقع العالمي)
- وظائف البلوتوث
- وظائف الهاتف
- وظائف الرسائل القصيرة/رسائل الوسائط المتعددة
- اتصالات الشبكة/البيانات
لا يمكن الوصول إلى هذه الموارد إلا من خلال نظام التشغيل. لاستخدام واجهات برمجة التطبيقات المحمية على الجهاز، يجب أن يحدِّد التطبيق الإمكانات التي يحتاجها في بيانه. تستخدم جميع إصدارات Android 6.0 والإصدارات الأحدث نموذج أذونات وقت التشغيل. إذا طلب مستخدم ميزة من تطبيق يتطلّب واجهة برمجة تطبيقات محمية، يعرض النظام مربّع حوار يطلب من المستخدم رفض أو السماح بالإذن.
وبعد منحها، يتم تطبيق الأذونات على التطبيق ما دام مثبّتًا. لتجنُّب حدوث التباس لدى المستخدم، لا يُرسِل النظام إشعارًا إليه مرة أخرى بشأن الأذونات الممنوحة للتطبيق، ولا تطلب التطبيقات المضمّنة في نظام التشغيل الأساسي أو التي يُجمّعها المصنّع الأصلي للجهاز أذونات من المستخدم. تتم إزالة الأذونات في حال تم إلغاء تثبيت التطبيق، لذا تؤدي إعادة التثبيت اللاحقة إلى عرض الأذونات مرة أخرى.
ضمن إعدادات الجهاز، يمكن للمستخدمين الاطّلاع على أذونات التطبيقات التي سبق لهم تثبيتها. يمكن للمستخدمين أيضًا إيقاف بعض الوظائف بشكل عام عند اختيارهم، مثل إيقاف نظام تحديد المواقع العالمي (GPS) أو الراديو أو شبكة Wi-Fi.
في حال حاول تطبيق استخدام ميزة محمية لم يتم الإفصاح عنها في بيان التطبيق، يؤدي عدم الحصول على الإذن عادةً إلى ظهور استثناء أمان في التطبيق. يتم فرض عمليات التحقّق من أذونات واجهات برمجة التطبيقات المحمية على أدنى مستوى ممكن لمنع التحايل. في الشكل 2، يظهر مثال على رسالة المستخدم عند تثبيت تطبيق أثناء طلب الوصول إلى واجهات برمجة التطبيقات المحمية.
يمكنك الاطّلاع على أذونات النظام التلقائية على الرابط https://developer.android.com/reference/android/Manifest.permission.html. يمكن للتطبيقات الإفصاح عن أذوناتها للتطبيقات الأخرى لاستخدامها. لا يتم إدراج هذه الأذونات في الموقع الجغرافي أعلاه.
عند تحديد إذن، تُعلم سمة protectionLevel النظام بالطريقة التي يتم بها إعلام المستخدم بالتطبيقات التي تتطلّب الإذن، أو الأشخاص الذين يُسمح لهم بالاحتفاظ بالإذن. يمكنك الاطّلاع على تفاصيل حول إنشاء أذونات محدّدة للتطبيقات واستخدامها على الرابط التالي: https://developer.android.com/guide/topics/security/security.html.
هناك بعض إمكانات الجهاز، مثل إمكانية إرسال إشارات بث الرسائل القصيرة التي لا تتوفّر للتطبيقات التابعة لجهات خارجية، ولكن قد يتم استخدامها من قِبل التطبيقات المثبَّتة مسبقًا من قِبل المصنّع الأصلي للجهاز. تستخدم هذه الأذونات إذن signatureOrSystem.
كيف يفهم المستخدمون التطبيقات التابعة لجهات خارجية؟
يسعى نظام التشغيل Android إلى توضيح ذلك للمستخدمين عند تفاعلهم مع التطبيقات التابعة لجهات خارجية وإعلامهم بالإمكانات التي توفّرها هذه التطبيقات. قبل تثبيت أي تطبيق، تظهر للمستخدم رسالة واضحة بشأن الأذونات المختلفة التي يطلبها التطبيق. بعد التثبيت، لا يُطلب من المستخدم تأكيد أي أذونات مرة أخرى.
هناك العديد من الأسباب التي تدفعك إلى عرض الأذونات قبل بدء عملية التثبيت مباشرةً. يحدث ذلك عندما يراجع المستخدم بشكل نشط معلومات عن التطبيق والمطوّر والوظائف لتحديد ما إذا كان التطبيق يلبي احتياجاته وتوقعاته. من المهم أيضًا ألا يكونوا قد أبدوا التزامًا ذهنيًا أو ماليًا بالتطبيق، وأن يتمكّنوا بسهولة من مقارنة التطبيق بالتطبيقات البديلة الأخرى.
تستخدِم بعض الأنظمة الأساسية الأخرى نهجًا مختلفًا لإعلام المستخدمين، حيث تطلب الحصول على الإذن في بداية كل جلسة أو أثناء استخدام التطبيقات. تهدف فلسفة Android إلى السماح للمستخدمين بالتبديل بسلاسة بين التطبيقات متى شاؤوا. سيؤدي تقديم تأكيدات في كل مرة إلى إبطاء عملية استخدام التطبيق ومنع Android من تقديم تجربة رائعة للمستخدم. إنّ مطالبة المستخدم بمراجعة أذونات التطبيق عند تثبيته تمنحه خيار عدم تثبيت التطبيق إذا لم يكن مرتاحًا لذلك.
وأظهرت العديد من دراسات واجهة المستخدم أيضًا أنّ طلب المعلومات من المستخدم بشكل مفرط يؤدي إلى بدء المستخدم في قول "حسنًا" لأي مربّع حوار يظهر. أحد أهداف أمان Android هو نقل معلومات الأمان المُهمّة إلى المستخدم بفعالية، ولا يمكن تحقيق ذلك باستخدام مربّعات حوار سيتم تدريب المستخدم على تجاهلها. من خلال عرض المعلومات المهمة مرة واحدة فقط عند الحاجة، من المرجّح أن يفكر المستخدم في ما يوافق عليه.
تختار بعض المنصات عدم عرض أي معلومات على الإطلاق حول وظائف التطبيق. ويمنع هذا النهج المستخدمين من فهم إمكانات التطبيق بسهولة ومناقشتها. على الرغم من أنّه ليس من الممكن لجميع المستخدمين اتخاذ قرارات مدروسة بشكل كامل في جميع الأوقات، يتيح نموذج أذونات Android لشريحة واسعة من المستخدمين الاطّلاع بسهولة على معلومات عن التطبيقات. على سبيل المثال، يمكن أن تؤدي طلبات الأذونات غير المتوقّعة إلى دفع المستخدمين الأكثر خبرة إلى طرح أسئلة مهمة حول وظائف التطبيق ومشاركة مخاوفهم في أماكن مثل Google Play حيث تكون مرئية لجميع المستخدمين.
الأذونات المطلوبة عند تثبيت تطبيق "ترجمة Google" | أذونات تطبيق مثبَّت: Gmail |
---|---|
![]() |
![]() |
الشكل 1: عرض الأذونات للتطبيقات
التواصل بين العمليات
يمكن للعمليات التواصل باستخدام أيٍّ من آليات نوع UNIX التقليدية. وتشمل الأمثلة نظام الملفات أو مآخذ التوصيل المحلية أو الإشارات. ومع ذلك، تظل أذونات Linux سارية.
يوفّر Android أيضًا آليات جديدة للتواصل بين العمليات:
-
Binder: آلية استدعاء إجراءات عن بُعد خفيفة الوزن تستند إلى الإمكانات ومصمّمة لتحقيق أداء عالٍ عند تنفيذ طلبات داخل العملية وعبر العمليات يتم تنفيذ Binder باستخدام برنامج تشغيل مخصّص لنظام التشغيل Linux. راجِع https://developer.android.com/reference/android/os/Binder.html.
-
الخدمات: يمكن أن تقدّم الخدمات (المُشار إليها أعلاه) واجهات يمكن الوصول إليها مباشرةً باستخدام الرابط.
-
Intents: Intent هو عنصر رسالة بسيط يمثّل "نية" لتنفيذ إجراء معيّن. على سبيل المثال، إذا أراد تطبيقك عرض صفحة ويب، يعبّر عن "الهدف" المراد تحقيقه من خلال عرض عنوان URL عن طريق إنشاء مثيل Intent وتسليمه إلى النظام. يحدِّد النظام موقع قطعة أخرى من التعليمات البرمجية (في هذه الحالة، المتصفّح) التي تعرف كيفية التعامل مع هذا الإجراء، ويشغِّلها. يمكن أيضًا استخدام النوايا لبث أحداث مثيرة للاهتمام (مثل إشعار) على مستوى النظام. يُرجى الاطّلاع على https://developer.android.com/reference/android/content/Intent.html.
-
ContentProviders: ContentProvider هو مستودع بيانات يقدّم إمكانية الوصول إلى البيانات على الجهاز، ومثاله الكلاسيكي هو ContentProvider الذي يتم استخدامه للوصول إلى قائمة جهات اتصال المستخدم. يمكن للتطبيق الوصول إلى البيانات التي عرّضتها تطبيقات أخرى من خلال فئة ContentProvider، ويمكن للتطبيق أيضًا تحديد فئات ContentProvider الخاصة به لعرض بياناته. يُرجى الاطّلاع على https://developer.android.com/reference/android/content/ContentProvider.html.
على الرغم من أنّه من الممكن تنفيذ IPC باستخدام آليات أخرى، مثل مقبس الشبكة أو الملفات القابلة للكتابة من قِبل الجميع، إلا أنّ هذه هي إطارات عمل IPC المُقترَحة لنظام التشغيل Android. سيتم تشجيع مطوّري تطبيقات Android على استخدام أفضل الممارسات المتعلّقة بتأمين بيانات المستخدمين وتجنُّب إدخال ثغرات أمنية.
واجهات برمجة التطبيقات الحسّاسة للتكلفة
واجهة برمجة التطبيقات الحسّاسة للتكلفة هي أيّ وظيفة قد تتسبّب في تكاليف للمستخدم أو الشبكة. وضع نظام Android واجهات برمجة التطبيقات الحسّاسة للتكلفة في قائمة واجهات برمجة التطبيقات المحمية التي يتحكّم فيها نظام التشغيل. على المستخدم منح إذنٍ صريحٍ للتطبيقات التابعة لجهات خارجية التي تطلب استخدام واجهات برمجة التطبيقات الحسّاسة من حيث التكلفة. وتشمل واجهات برمجة التطبيقات هذه ما يلي:
- الاتصالات الهاتفية
- الرسائل القصيرة SMS/ رسائل الوسائط المتعددة
- الشبكة/البيانات
- الفوترة داخل التطبيقات
- الوصول إلى تقنية NFC
يضيف نظام التشغيل Android 4.2 عناصر تحكّم إضافية في استخدام رسائل SMS. سيرسل Android إشعارًا إذا حاول أحد التطبيقات إرسال رسالة قصيرة SMS إلى رمز قصير يستخدم خدمات مدفوعة قد تؤدي إلى تحصيل رسوم إضافية. يمكن للمستخدم اختيار ما إذا كان يريد السماح للتطبيق بإرسال الرسالة أو حظره.
الوصول إلى شريحة SIM
لا يمكن للتطبيقات التابعة لجهات خارجية الوصول إلى شريحة SIM بمستوى منخفض. يعالج نظام التشغيل جميع عمليات التواصل مع شريحة SIM، بما في ذلك الوصول إلى المعلومات الشخصية (جهات الاتصال) في ذاكرة شريحة SIM. لا يمكن للتطبيقات أيضًا الوصول إلى طلبات AT، لأنّها تُدار حصريًا من خلال واجهة RIL. لا يوفّر RIL واجهات برمجة تطبيقات عالية المستوى لهذه الأوامر.
المعلومات الشخصية
وضع نظام التشغيل Android واجهات برمجة التطبيقات التي تتيح الوصول إلى بيانات المستخدمين في مجموعة واجهات برمجة التطبيقات المحمية. وفي الاستخدام العادي، ستجمّع أجهزة Android أيضًا بيانات المستخدمين ضمن التطبيقات التابعة لجهات خارجية التي ثبّتها المستخدمون. يمكن للتطبيقات التي تختار مشاركة هذه المعلومات استخدام عمليات التحقّق من أذونات نظام التشغيل Android بهدف حماية البيانات من التطبيقات التابعة لجهات خارجية.

الشكل 2: لا يمكن الوصول إلى بيانات المستخدمين الحسّاسة إلا من خلال واجهات برمجة التطبيقات المحمية.
تم إنشاء مقدّمي محتوى النظام الذين يُحتمَل أن يتضمّنوا معلومات شخصية أو معلومات تكشف الهوية الشخصية، مثل جهات الاتصال والتقويم، باستخدام أذونات محدّدة بوضوح. وتوفّر هذه الدقة للمستخدم إشارة واضحة عن أنواع المعلومات التي قد يتم تقديمها للتطبيق. أثناء التثبيت، قد يطلب تطبيق تابع لجهة خارجية إذنًا بالوصول إلى هذه الموارد. في حال منح الإذن، يمكن تثبيت التطبيق وسيتمكن من الوصول إلى البيانات المطلوبة في أي وقت عند تثبيته.
إنّ أي تطبيقات تجمع معلومات شخصية ستحظر تلقائيًا الوصول إلى هذه البيانات إلا من خلال التطبيق المحدّد. وإذا اختار أحد التطبيقات إتاحة البيانات للتطبيقات الأخرى من خلال واجهة برمجة التطبيقات لنظام التشغيل (IPC)، يمكن للتطبيق الذي منح الإذن تطبيق الأذونات على آلية IPC التي يفرضها نظام التشغيل.
أجهزة إدخال البيانات الحسّاسة
غالبًا ما توفّر أجهزة Android أجهزة إدخال بيانات حسّاسة تسمح للتطبيقات بالتفاعل مع البيئة المحيطة، مثل الكاميرا أو الميكروفون أو نظام تحديد المواقع العالمي (GPS). لكي يتمكّن تطبيق تابع لجهة خارجية من الوصول إلى هذه الأجهزة، يجب أولاً أن يمنح المستخدم الإذن صراحةً من خلال استخدام أذونات نظام التشغيل Android. عند التثبيت، سيطلب منك مثبّت التطبيق إذن الوصول إلى أداة الاستشعار بالاسم.
إذا أراد تطبيق معرفة الموقع الجغرافي للمستخدم، يجب أن يحصل على إذن للوصول إلى الموقع الجغرافي للمستخدم. عند التثبيت، سيطلب منك مثبّت التطبيق تحديد ما إذا كان بإمكانه الوصول إلى موقعك الجغرافي. في أي وقت، إذا لم يكن المستخدم يريد أن يصل أي تطبيق إلى موقعه الجغرافي، يمكنه تشغيل تطبيق "الإعدادات"، ثم الانتقال إلى "الموقع الجغرافي والأمان"، وإلغاء وضع علامة في المربّع بجانب "استخدام الشبكات اللاسلكية" و"تفعيل أقمار GPS الصناعية". سيؤدي ذلك إلى إيقاف الخدمات المستندة إلى الموقع الجغرافي لجميع التطبيقات على جهاز المستخدم.
البيانات الوصفية للجهاز
يسعى نظام التشغيل Android أيضًا إلى تقييد الوصول إلى البيانات التي ليست حساسة بشكل أساسي، ولكن قد تكشف بشكل غير مباشر عن خصائص المستخدم وإعداداته المفضّلة وطريقة استخدامه للجهاز.
لا يمكن للتطبيقات الوصول تلقائيًا إلى سجلات نظام التشغيل أو سجلّ المتصفّح أو رقم الهاتف أو معلومات تحديد الجهاز / الشبكة. إذا طلب أحد التطبيقات الوصول إلى هذه المعلومات أثناء التثبيت، سيطلب برنامج التثبيت من المستخدم ما إذا كان بإمكان التطبيق الوصول إلى المعلومات. إذا لم يمنح المستخدم الإذن بالوصول، لن يتم تثبيت التطبيق.
مراجع التصديق
يتضمّن Android مجموعة من مراجع تصديق النظام المثبَّتة، والتي تكون موثوقًا بها على مستوى النظام. قبل نظام التشغيل Android 7.0، كان بإمكان مصنعي الأجهزة تعديل مجموعة شهادات CA المُرسَلة مع أجهزتهم. ومع ذلك، ستتضمّن الأجهزة التي تعمل بالإصدار 7.0 والإصدارات الأحدث مجموعة موحّدة من شهادات اعتماد موفّري خدمات إصدار الشهادات للنظام، لأنّه لم يعُد مسموحًا للشركات المصنّعة للأجهزة بإجراء تعديلات عليها.
لإضافتها كجهة إصدار مصدق عامّة جديدة إلى مجموعة إصدارات Android التلقائية، يجب أن تُكمل جهة إصدار المصدق عملية تضمين جهة إصدار المصدق في Mozilla ثمّ تُقدّم طلب ميزة في Android ( https://code.google.com/p/android/issues/entry) لإضافة جهة إصدار المصدق إلى مجموعة إصدارات Android التلقائية في المشروع المفتوح المصدر لنظام Android (AOSP).
لا تزال هناك شهادات مقدّمة من جهات إصدار مخصّصة للأجهزة ولا يجب تضمينها في المجموعة الأساسية لشهادات مقدّمة من جهات إصدار AOSP، مثل شهادات مقدّمة من جهات إصدار خاصة لمشغّلي شبكات الجوّال قد تكون مطلوبة لوصول آمن إلى مكونات البنية الأساسية لمشغّل شبكة الجوّال، مثل بوابات الرسائل القصيرة أو الرسائل المتعددة الوسائط. ننصح مصنعي الأجهزة بتضمين مراجع التصديق الخاصة في المكونات/التطبيقات التي تحتاج إلى الوثوق بهذه مراجع التصديق فقط. لمزيد من التفاصيل، يُرجى الاطّلاع على إعدادات أمان الشبكة.
توقيع التطبيق
يتيح توقيع الرمز البرمجي للمطوّرين تحديد مؤلف التطبيق وتحديثه بدون إنشاء واجهات وأذونات معقدة. يجب أن يوقع المطوّر على كل تطبيق يتم تشغيله على نظام Android. يرفض Google Play أو أداة تثبيت الحِزم على جهاز Android التطبيقات التي تحاول التثبيت بدون توقيعها.
على Google Play، يشكّل توقيع التطبيق حلقة وصل بين ثقة Google بالمطوّر والثقة التي يحظى بها المطوّر في تطبيقه. ويعرف المطوّرون أنّ تطبيقاتهم مقدَّمة على أجهزة Android بدون أي تعديلات، ويمكن تحميلهم المسؤولية عن سلوك تطبيقاتهم.
على نظام التشغيل Android، تشكّل ميزة "توقيع التطبيق" الخطوة الأولى لوضع تطبيق في بيئة App Sandbox. تحدِّد شهادة التطبيق الموقَّعة معرّف المستخدم المرتبط بالتطبيق، ويتم تشغيل التطبيقات المختلفة باستخدام معرّفات مستخدمين مختلفة. تضمن ميزة "توقيع التطبيق" عدم تمكّن تطبيق واحد من الوصول إلى أي تطبيق آخر إلا من خلال واجهة برمجة تطبيقات معيّنة.
عند تثبيت تطبيق (ملف APK) على جهاز Android، يتحقّق "مدير الحِزم" مما إذا تم توقيع ملف APK بشكل صحيح باستخدام الشهادة المضمّنة فيه. إذا كانت الشهادة (أو بتعبير أدق، المفتاح العام في الشهادة) تتطابق مع المفتاح المستخدَم لتوقيع أي حزمة APK أخرى على الجهاز، تتوفّر لحزمة APK الجديدة خيار تحديد ما إذا كانت ستشارك معرّفًا فريدًا مع حِزم APK الأخرى الموقَّعة بالطريقة نفسها في البيان.
يمكن أن تكون التطبيقات موقَّعة من جهة خارجية (مثل المصنّع الأصلي للجهاز أو المشغِّل أو السوق البديل) أو موقَّعة ذاتيًا. يقدّم نظام التشغيل Android ميزة توقيع الرموز البرمجية باستخدام شهادات موقَّعة ذاتيًا يمكن للمطوّرين إنشاؤها بدون مساعدة أو إذن خارجي. ولا يُشترَط أن تكون التطبيقات موقَّعة من قِبل هيئة مركزية. لا يُجري نظام التشغيل Android حاليًا عملية التحقّق من مرجع التصديق لشهادات التطبيقات.
يمكن للتطبيقات أيضًا الإفصاح عن أذونات الأمان على مستوى حماية التوقيع، مع حصر الوصول بالتطبيقات الموقَّعة بالمفتاح نفسه مع الحفاظ على أرقام تعريف المستخدمين المميزة ووضع الحماية للأمان في التطبيقات. يُسمح بعلاقة أقرب مع مساحة تطبيق مشترَكة من خلال ميزة رقم التعريف الفريد المشترَك حيث يمكن لتطبيقَين أو أكثر موقَّعين باستخدام مفتاح المطوّر نفسه الإفصاح عن رقم تعريف فريد مشترَك في البيان.
التحقق من التطبيق
يتيح نظام التشغيل Android 4.2 والإصدارات الأحدث إمكانية التحقّق من التطبيقات. يمكن للمستخدمين اختيار فعالية ميزة "التحقق من التطبيقات" وتقييم التطبيقات من قِبل أداة التحقّق من التطبيقات قبل تثبيتها. يمكن أن يُرسِل فحص التطبيقات تنبيهًا إلى المستخدم إذا حاول تثبيت تطبيق قد يكون ضارًا، وإذا كان التطبيق سيئًا بشكل خاص، يمكنه حظر التثبيت.
إدارة الحقوق الرقمية
توفّر منصة Android إطار عمل قابل للتوسيع لإدارة الحقوق الرقمية (DRM) يتيح للتطبيقات إدارة المحتوى المحمي بموجب حقوق الطبع والنشر وفقًا لقيود الترخيص المرتبطة بالمحتوى. يتيح إطار عمل إدارة الحقوق الرقمية العديد من مخططات إدارة الحقوق الرقمية، ويترك تحديد مخططات إدارة الحقوق الرقمية التي يتيحها الجهاز لصانع الجهاز.
يتم تنفيذ إطار عمل إدارة الحقوق الرقمية (DRM) في Android في طبقتَين معماريتين (راجِع الشكل أدناه):
-
واجهة برمجة تطبيقات إطار عمل إدارة الحقوق الرقمية، والتي يتم عرضها للتطبيقات من خلال إطار عمل تطبيقات Android ويتم تشغيلها من خلال آلة افتراضية لنظام التشغيل ART للتطبيقات العادية
-
مدير إدارة الحقوق الرقمية (DRM) من خلال الرموز البرمجية الأصلية، الذي ينفِّذ إطار عمل إدارة الحقوق الرقمية ويعرِض واجهة لمكوّنات إدارة الحقوق الرقمية (DRM) (العوامل) من أجل إدارة الحقوق وفك التشفير لمختلف مخططات إدارة الحقوق الرقمية
الشكل 3: بنية إدارة الحقوق الرقمية على نظام Android الأساسي