تصف هذه الصفحة جوانب مختلفة من أمان التطبيقات.
عناصر التطبيقات
يوفّر Android منصة وتطبيقًا مفتوحَي المصدر للأجهزة الجوّالة. ويستند نظام التشغيل الأساسي إلى نواة Linux. تتم كتابة تطبيقات Android في أغلب الأحيان بلغة برمجة Java وتعمل على جهاز وقت تشغيل Android (ART) الظاهري. ومع ذلك، يمكن أيضًا كتابة التطبيقات برمز أصلي. يتم تثبيت التطبيقات من ملف واحد بامتداد APK.
في ما يلي وحدات البناء الرئيسية لتطبيق Android:
-
AndroidManifest.xml: ملفAndroidManifest.xmlهو ملف التحكّم الذي يخبر النظام بما يجب فعله بجميع المكوّنات ذات المستوى الأعلى (على وجه التحديد الأنشطة والخدمات وأجهزة استقبال البث ومقدّمي المحتوى الموضّحة أدناه) في أحد التطبيقات. ويحدّد هذا الملف أيضًا الأذونات المطلوبة. -
الأنشطة: النشاط هو، بشكل عام، الرمز البرمجي لمهمة واحدة يركّز عليها المستخدم باستخدام فئة
Activity. يتضمّن النشاط عادةً عرض واجهة مستخدِم للمستخدم، ولكن ليس بالضرورة أن يكون كذلك، فبعض الأنشطة لا تعرض واجهات مستخدِم أبدًا. عادةً، يكون أحد أنشطة التطبيق هو نقطة الدخول إلى التطبيق. -
الخدمات: الخدمة هي مجموعة من الرموز البرمجية التي تعمل في الخلفية، استنادًا إلى فئة
Service. يمكن أن تعمل في عملية خاصة بها ، أو في سياق عملية تطبيق آخر. ترتبط المكوّنات الأخرى بـ خدمة وتستدعي طرقًا عليها من خلال استدعاءات الإجراءات عن بُعد. من الأمثلة على الخدمات مشغّل الوسائط: حتى عندما يخرج المستخدم من واجهة مستخدِم اختيار الوسائط، من المحتمل أن يكون لا يزال يريد استمرار تشغيل الموسيقى. تستمر الخدمة في تشغيل الموسيقى حتى بعد اكتمال واجهة المستخدِم. -
جهاز استقبال البث: جهاز استقبال البث هو عنصر من فئة
BroadcastReceiver. يتم إنشاء مثيل له عندما يصدر نظام التشغيل أو تطبيق آخر آلية تواصل بين العمليات (IPC) تُعرف باسم intent، وهو مثيل من فئةIntent. يمكن لأحد التطبيقات تسجيل جهاز استقبال لرسالة انخفاض مستوى البطارية، على سبيل المثال، و تغيير سلوكه استنادًا إلى هذه المعلومات.
نموذج أذونات Android: الوصول إلى واجهات برمجة التطبيقات المحمية
تعمل جميع التطبيقات على Android في بيئة Application Sandbox. تلقائيًا، لا يمكن لتطبيق Android الوصول إلا إلى نطاق محدود من موارد النظام. يدير النظام إمكانية وصول تطبيق Android إلى الموارد التي قد تؤثر سلبًا في تجربة المستخدم، الشبكة، أو البيانات على الجهاز إذا تم استخدامها بشكل غير صحيح أو بشكل ضار.
يتم تطبيق هذه القيود بأشكال مختلفة. يتم تقييد بعض الإمكانات من خلال عدم توفّر واجهات برمجة تطبيقات للوظائف الحساسة (على سبيل المثال، لا تتوفّر واجهة برمجة تطبيقات Android للتعامل مباشرةً مع شريحة SIM ). في بعض الحالات، يوفّر فصل الأدوار إجراءً أمنيًا، كما هو الحال مع عزل مساحة التخزين لكل تطبيق. في حالات أخرى، تكون واجهات برمجة التطبيقات الحساسة مخصّصة للاستخدام من قِبل التطبيقات الموثوق بها ومحمية من خلال آلية أمان تُعرف باسم الأذونات.
تشمل واجهات برمجة التطبيقات المحمية هذه ما يلي:
- وظائف الكاميرا
- بيانات الموقع الجغرافي (نظام تحديد المواقع العالمي GPS)
- وظائف البلوتوث
- وظائف الاتصالات الهاتفية
- وظائف الرسائل القصيرة SMS/رسائل الوسائط المتعددة MMS
- اتصالات الشبكة/البيانات
لا يمكن الوصول إلى هذه الموارد إلا من خلال نظام التشغيل. لاستخدام واجهات برمجة التطبيقات المحمية على الجهاز، يجب أن يحدّد التطبيق الإمكانات التي يحتاجها في ملف البيان. تستخدم جميع إصدارات Android 6.0 والإصدارات الأحدث نموذج أذونات التشغيل. إذا طلب المستخدم ميزة من تطبيق تتطلّب واجهة برمجة تطبيقات محمية، يعرض النظام مربّع حوار يطلب من المستخدم رفض أو السماح بالإذن.
بعد منح الأذونات، يتم تطبيقها على التطبيق طالما أنّه مثبّت. لتجنُّب إرباك المستخدم، لا يُعلم النظام المستخدم مرة أخرى بالأذونات الممنوحة للتطبيق، ولا تطلب التطبيقات المضمّنة في نظام التشغيل الأساسي أو المجمّعة من قِبل الشركة المصنّعة للمعدات الأصلية (OEM) أذونات من المستخدم. تتم إزالة الأذونات إذا تم إلغاء تثبيت أحد التطبيقات ، لذا فإنّ إعادة تثبيته لاحقًا تؤدي مرة أخرى إلى عرض الأذونات.
في إعدادات الجهاز، يمكن للمستخدمين الاطّلاع على أذونات التطبيقات التي سبق لهم تثبيتها. يمكن للمستخدمين أيضًا إيقاف بعض الوظائف على مستوى العالم عندما يختارون ذلك، مثل إيقاف نظام تحديد المواقع العالمي (GPS) أو الراديو أو شبكة Wi-Fi.
في حال محاولة أحد التطبيقات استخدام ميزة محمية لم يتم الإفصاح عنها في ملف بيان التطبيق، يؤدي عادةً تعذُّر الإذن إلى إرجاع استثناء أمني إلى التطبيق. يتم فرض عمليات التحقّق من أذونات واجهة برمجة التطبيقات المحمية على أدنى مستوى ممكن لمنع التحايل عليها. يعرض الشكل 2 مثالاً على الرسائل التي تظهر للمستخدم عند تثبيت تطبيق يطلب الوصول إلى واجهات برمجة التطبيقات المحمية.
تم وصف الأذونات التلقائية للنظام في Manifest.permission. يمكن للتطبيقات الإفصاح عن أذوناتها الخاصة لاستخدامها من قِبل تطبيقات أخرى. لا يتم إدراج هذه الأذونات في الموقع أعلاه.
عند تحديد إذن، تخبر السمة protectionLevel النظام بكيفية إعلام المستخدم بالتطبيقات التي تتطلّب الإذن، أو من يُسمح له بالحصول على إذن. تم وصف تفاصيل إنشاء أذونات خاصة بالتطبيق واستخدامها في قائمة التحقّق من الأمان.
تتوفّر بعض إمكانات الجهاز، مثل إمكانية إرسال أغراض بث الرسائل القصيرة SMS
، للتطبيقات المثبّتة مسبقًا من قِبل الشركة المصنّعة للمعدات الأصلية (OEM)، ولكنها غير متاحة للتطبيقات الخارجية. تستخدم هذه الأذونات إذن
signatureOrSystem.
كيف يفهم المستخدمون التطبيقات الخارجية؟
تسعى Android إلى توضيح متى يتفاعل المستخدمون مع تطبيقات خارجية وإعلامهم بالإمكانات التي تتمتّع بها هذه التطبيقات. قبل تثبيت أي تطبيق، تظهر للمستخدم رسالة واضحة حول الأذونات المختلفة التي يطلبها التطبيق. بعد التثبيت، لا يُطلب من المستخدم مرة أخرى تأكيد أي أذونات.
هناك أسباب عديدة لعرض الأذونات قبل التثبيت مباشرةً. في هذه المرحلة، يراجع المستخدم بنشاط معلومات حول الـ تطبيق والمطوّر والوظائف لتحديد ما إذا كانت تتطابق مع احتياجاته الـ وتوقعاته. من المهم أيضًا أنّه لم يلتزم بعد بالتطبيق عقليًا أو ماليًا، ويمكنه مقارنة التطبيق بسهولة بالتطبيقات البديلة الأخرى.
تستخدم بعض المنصات الأخرى نهجًا مختلفًا لإعلام المستخدم، حيث تطلب الإذن في بداية كل جلسة أو أثناء استخدام التطبيقات. تتمثل رؤية Android في السماح للمستخدمين بالتبديل بسلاسة بين التطبيقات حسب الرغبة. سيؤدي تقديم التأكيدات في كل مرة إلى إبطاء المستخدم ويمنع Android من تقديم تجربة مستخدم رائعة. إنّ مراجعة المستخدم للأذونات في وقت التثبيت تمنحه خيار عدم تثبيت التطبيق إذا كان غير مرتاح لذلك.
بالإضافة إلى ذلك، أظهرت العديد من دراسات واجهة المستخدِم أنّ الإفراط في مطالبة المستخدم يؤدي إلى بدء النقر على حسنًا في أي مربّع حوار يظهر. أحد أهداف أمان Android هو نقل المعلومات الأمنية المهمة إلى المستخدم بشكل فعّال، وهو ما لا يمكن تحقيقه باستخدام مربّعات الحوار التي تم تدريب المستخدم على تجاهلها. من خلال عرض المعلومات المهمة مرة واحدة فقط وعندما تكون مهمة، من المرجّح أن يفكر المستخدم في ما يوافق عليه.
تختار بعض المنصات عدم عرض أي معلومات على الإطلاق حول وظائف التطبيق. يمنع هذا النهج المستخدمين من فهم إمكانات التطبيق ومناقشتها بسهولة و على الرغم من أنّه لا يمكن لجميع المستخدمين اتخاذ قرارات مستنيرة دائمًا، فإنّ نموذج أذونات Android يسهّل وصول مجموعة كبيرة من المستخدمين إلى المعلومات حول التطبيقات. على سبيل المثال، يمكن أن تؤدي طلبات الأذونات غير المتوقّعة إلى حثّ المستخدمين الأكثر خبرة على طرح أسئلة مهمة حول وظائف التطبيق ومشاركة مخاوفهم في أماكن مثل Google Play حيث تكون مرئية لجميع المستخدمين.
| أذونات تثبيت التطبيق - "ترجمة Google" | أذونات تطبيق مثبّت - Gmail |
|---|---|
![]() |
![]() |
الشكل 1: عرض أذونات التطبيقات
التواصل بين العمليات
يمكن أن تتواصل العمليات باستخدام أي من الآليات التقليدية من نوع Unix. وتشمل الأمثلة نظام الملفات أو المقابس المحلية أو الإشارات. ومع ذلك، تظل أذونات Linux سارية.
يوفّر Android أيضًا آليات جديدة للتواصل بين العمليات (IPC):
-
Binder: آلية خفيفة الوزن لاستدعاء الإجراءات عن بُعد تستند إلى الإمكانات ومصمّمة لتحقيق أداء عالٍ عند إجراء استدعاءات داخل العمليات وعبر العمليات. يتم تنفيذ Binder باستخدام برنامج تشغيل Linux مخصّص. للحصول على وصف للفئة، يُرجى الاطّلاع على Binder.
-
الخدمات: يمكن أن توفّر الخدمات واجهات يمكن الوصول إليها مباشرةً باستخدام Binder. للحصول على وصف أكثر تفصيلاً، يُرجى الاطّلاع على عناصر التطبيقات
-
Intents: هو عنصر رسالة بسيط يمثّل نية القيام بشيء ما. على سبيل المثال، إذا أراد تطبيقك عرض صفحة ويب، فإنّه يعبّر عن نيته عرض عنوان URL من خلال إنشاء مثيل intent وتسليمه إلى النظام. يحدّد النظام جزءًا آخر من الرمز البرمجي (في هذه الحالة، المتصفّح) يعرف كيفية التعامل مع هذا intent، ويشغّله. يمكن أيضًا استخدام intents لبث أحداث مهمة (مثل إشعار) على مستوى النظام. للحصول على وصف للفئة، يُرجى الاطّلاع على Intent.
-
مقدّمو المحتوى: هو مستودع بيانات يوفّر إمكانية الوصول إلى البيانات على الجهاز، والمثال الكلاسيكي هو مقدّم المحتوى الذي يُستخدم للوصول إلى قائمة جهات اتصال المستخدم. يمكن لأحد التطبيقات الوصول إلى البيانات التي عرضتها تطبيقات أخرى باستخدام مقدّم محتوى، ويمكن لأحد التطبيقات أيضًا تحديد مقدّم المحتوى الخاص به لعرض بياناته. للحصول على وصف للفئة، يُرجى الاطّلاع على ContentProvider.
على الرغم من أنّه من الممكن تنفيذ التواصل بين العمليات (IPC) باستخدام آليات أخرى، مثل مقابس الشبكة أو الملفات القابلة للكتابة على مستوى العالم، فإنّ هذه هي أُطر عمل Android الموصى بها للتواصل بين العمليات. ننصح مطوّري Android باتّباع أفضل الممارسات حول تأمين بيانات المستخدمين وتجنُّب إدخال الثغرات الأمنية.
واجهات برمجة التطبيقات الحساسة من حيث التكلفة
أي دالة قد تؤدي إلى تكلفة على المستخدم أو الشبكة هي واجهة برمجة تطبيقات حساسة من حيث التكلفة. وضع نظام Android الأساسي واجهات برمجة التطبيقات الحساسة من حيث التكلفة في قائمة واجهات برمجة التطبيقات المحمية التي يتحكّم فيها نظام التشغيل. على المستخدم منح إذن صريح للتطبيقات الخارجية التي تطلب استخدام واجهات برمجة التطبيقات الحساسة من حيث التكلفة. تشمل واجهات برمجة التطبيقات هذه ما يلي:
- الاتصالات الهاتفية
- SMS أو MMS
- الشبكة/البيانات
- الفوترة داخل التطبيقات
- الوصول إلى 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، كان بإمكان الشركات المصنّعة للأجهزة تعديل مجموعة مراجع التصديق التي يتم شحنها على أجهزتها. ومع ذلك، فإنّ الأجهزة التي تعمل بنظام التشغيل Android 7.0 والإصدارات الأحدث تتضمّن مجموعة موحّدة من مراجع التصديق على مستوى النظام، لأنّه لم يعُد يُسمح للشركات المصنّعة للأجهزة بإجراء تعديلات.
لكي تتم إضافة مرجع تصديق عام جديد إلى مجموعة Android الأساسية، يجب أن يكمل مرجع التصديق عملية تضمين مرجع التصديق في Mozilla ثم إرسال طلب ميزة إلى Android ( https://code.google.com/p/android/issues/entry) لإضافة مرجع التصديق إلى مجموعة مراجع التصديق الأساسية في Android Open Source Project (AOSP).
لا تزال هناك مراجع تصديق خاصة بالجهاز ولا يجب تضمينها في المجموعة الأساسية من مراجع التصديق في AOSP، مثل مراجع التصديق الخاصة بمشغّلي شبكات الجوّال التي قد تكون ضرورية للوصول بشكل آمن إلى مكوّنات البنية التحتية لمشغّل شبكة الجوّال، مثل بوابات الرسائل القصيرة SMS/رسائل الوسائط المتعددة MMS. ننصح الشركات المصنّعة للأجهزة بتضمين مراجع التصديق الخاصة في المكوّنات/التطبيقات التي تحتاج إلى الوثوق بهذه المراجع فقط. لمزيد من التفاصيل، يُرجى الاطّلاع على إعدادات أمان الشبكة.
توقيع التطبيق
توقيع الرمز البرمجي يسمح للمطوّرين بتحديد مؤلف التطبيق و تحديث تطبيقهم بدون إنشاء واجهات و أذونات معقدة. يجب أن يوقّع المطوّر كل تطبيق يتم تشغيله على نظام Android الأساسي. يرفض Google Play أو برنامج تثبيت الحِزم على جهاز Android التطبيقات التي تحاول التثبيت بدون توقيع.
على Google Play، يربط توقيع التطبيق بين الثقة التي توليها Google للمطوّر والثقة التي يوليها المطوّر لتطبيقه. يعرف المطوّرون أنّ تطبيقهم يتم تقديمه إلى جهاز Android بدون تعديل، و يمكن محاسبة المطوّرين على سلوك تطبيقهم.
على Android، يمثّل توقيع التطبيق الخطوة الأولى لوضع تطبيق في بيئة App Sandbox. تحدّد شهادة التطبيق الموقّعة رقم تعريف المستخدم المرتبط بكل تطبيق، وتعمل التطبيقات المختلفة بأرقام تعريف مستخدم مختلفة. يضمن توقيع التطبيق عدم إمكانية وصول تطبيق إلى أي تطبيق آخر إلا من خلال آلية التواصل بين العمليات (IPC) المحدّدة جيدًا.
عند تثبيت تطبيق (ملف APK) على جهاز Android، يتحقّق "مدير الحِزم" من أنّ ملف APK قد تم توقيعه بشكل صحيح باستخدام الشهادة المضمّنة في ملف APK هذا. إذا كانت الشهادة (أو المفتاح العام في الشهادة بشكل أكثر دقة) تطابق المفتاح المستخدَم لتوقيع أي ملف APK آخر على الجهاز، يكون لدى ملف APK الجديد خيار تحديد في ملف البيان أنّه يشارك رقم تعريف مستخدم (UID) مع ملفات APK الأخرى الموقّعة بشكل مماثل.
يمكن توقيع التطبيقات من قِبل جهة خارجية (الشركة المصنّعة للمعدات الأصلية أو مشغّل شبكة الجوّال أو سوق بديل) أو توقيعها ذاتيًا. يوفّر Android توقيع الرمز البرمجي باستخدام شهادات موقّعة ذاتيًا يمكن للمطوّرين إنشاؤها بدون مساعدة أو إذن خارجيَين. ليس من الضروري أن يتم توقيع التطبيقات من قِبل سلطة مركزية. لا يجري Android حاليًا عملية التحقّق من مرجع التصديق لشهادات التطبيق.
يمكن للتطبيقات أيضًا الإفصاح عن أذونات الأمان على مستوى الحماية من خلال التوقيع ، ما يقيّد الوصول إلى التطبيقات الموقّعة باستخدام المفتاح نفسه فقط مع الحفاظ على أرقام تعريف مستخدمين (UID) وبيئات Application Sandbox مميّزة. يُسمح بعلاقة أوثق مع بيئة Application Sandbox مشتركة من خلال ميزة رقم تعريف المستخدم المشترَك، حيث يمكن لتطبيقَين أو أكثر تم توقيعهما باستخدام مفتاح المطوّر نفسه الإفصاح عن رقم تعريف مستخدم مشترَك في ملف البيان.
التحقّق من التطبيقات
يتوافق Android 4.2 والإصدارات الأحدث مع ميزة "التحقّق من التطبيقات". يمكن للمستخدمين اختيار تفعيل التحقّق من التطبيقات وتقييم التطبيقات من قِبل برنامج التحقّق من التطبيقات قبل التثبيت. يمكن أن ينبّه برنامج التحقّق من التطبيقات المستخدم إذا حاول تثبيت تطبيق قد يكون ضارًا، وإذا كان التطبيق سيئًا بشكل خاص، يمكنه حظر التثبيت.
إدارة الحقوق الرقمية
يوفّر نظام Android الأساسي إطار عمل قابلاً للتوسيع لإدارة الحقوق الرقمية (DRM) يسمح للتطبيقات بإدارة المحتوى المحمي بموجب الحقوق وفقًا لقيود الترخيص المرتبطة بالمحتوى. يتوافق إطار عمل إدارة الحقوق الرقمية (DRM) مع العديد من أنظمة إدارة الحقوق الرقمية (DRM)، وتعود مسؤولية تحديد أنظمة إدارة الحقوق الرقمية (DRM) التي يتوافق معها الجهاز إلى الشركة المصنّعة للجهاز.
يتم تنفيذ إطار عمل إدارة الحقوق الرقمية (DRM) في Android في طبقتَين معماريتَين (راجِع الشكل 3):
-
واجهة برمجة تطبيقات لإطار عمل إدارة الحقوق الرقمية (DRM)، يتم عرضها للتطبيقات من خلال إطار عمل تطبيق Android وتعمل من خلال جهاز ART الظاهري للتطبيقات العادية
-
مدير إدارة الحقوق الرقمية (DRM) للرمز البرمجي الأصلي، الذي ينفّذ إطار عمل إدارة الحقوق الرقمية (DRM) ويعرض واجهة لبرامج إدارة الحقوق الرقمية (DRM) الإضافية (الوكلاء) للتعامل مع إدارة الحقوق وفك التشفير لأنظمة إدارة الحقوق الرقمية (DRM) المختلفة

الشكل 3: بنية إدارة الحقوق الرقمية (DRM) على نظام Android الأساسي

