معرفات الأجهزة الثابتة

في Android 6 والإصدارات الأحدث ، تم تقييد مقدمي خدمة Wi-Fi ومحللي الحزم من استرداد عنوان MAC الخاص بالمصنع للجهاز من خلال مكدس Wi-Fi من طلبات الشبكة. ابتداء من الروبوت 10، قيود إضافية هي في المكان الذي حد الوصول إلى معرفات الجهاز (معرفات) إلى تطبيقات مع متميز مستوى الإذن . هذا يحمي معرفات الجهاز مثل

  • أرقام الهاتف IMEI و MEID و ESN و IMSI.
  • إنشاء أرقام تسلسلية أو بطاقة SIM أو USB.

من يمكنه الوصول إلى معرفات الجهاز

معرفات الأجهزة مقيدة على جميع أجهزة Android 10 ، حتى إذا كانت التطبيقات تستهدف Android 9 أو أقل. يمكن الوصول إلى معرفات الجهاز بواسطة

  • تطبيق الرسائل القصيرة الافتراضي.
  • التطبيقات مع كل READ_PRIVILEGED_PHONE_STATE إذن في Manifest.permission الطبقة، وإدراجه في القائمة البيضاء في privapp-permission.xml الملف. هذه يجب أيضا أن يتم تحميل في priv-app الدليل.
  • التطبيقات مع امتيازات الناقل كما هو محدد في امتيازات UICC الناقل .
  • وقال صاحب الجهاز أو صاحب الشخصية مع READ_PHONE_STATE الإذن الممنوح في Manifest.permission الصف. (الإدراج في القائمة البيضاء غير مطلوب.)

الوصول إلى الحزم المميزة

يجب منح امتياز للحزمة للوصول إلى معرفات الجهاز. يجب أن يكون READ_PRIVILEGED_PHONE_STATE إذن في Manifest.permission الطبقة، وفي القائمة البيضاء في privapp-permission.xml الملف. للحصول على معلومات حول عملية القائمة البيضاء، انظر إذن الامتيازات القائمة البيضاء .

للحصول على معلومات حول الحصول على معرف فريد لمجموعة nonprivileged، تشير إلى حالات الاستخدام المشترك والمعرف المناسب لاستخدام .

معرفات الأجهزة المقيدة وعناوين MAC العشوائية

لمزيد من تقييد معرفات الجهاز ، ترسل جميع الأجهزة على Android 10 عناوين MAC العشوائية افتراضيًا لكل من طلبات الفحص والطلبات المرتبطة بها ، ويجب أن يكون لها عنوان MAC عشوائي مختلف لكل SSID. لا تستخدم عنوان MAC الخاص بمصنع الجهاز في وضع العميل أو نقطة الوصول الناعمة (AP) أو حالات استخدام Wi-Fi Direct. يجب أن يظل مخفيًا عن واجهات برمجة التطبيقات التي يمكن الوصول إليها بشكل عام والتي ليست تطبيقات مميزة. مطلوبة التطبيقات المتميزة التي تتطلب مصنع عنوان MAC يتم إرجاعها ل LOCAL_MAC_ADDRESS إذن.

المستخدمين لديها خيار للحفاظ على الافتراضي عشوائية عنوان MAC أن تعيينه لكل SSID. الخيار هو مواضيعها الخصوصية تحت في إعدادات> تفاصيل الشبكة. لمعرفة المزيد عن الحصول على عنوان MAC العشوائية نرى عناوين العشوائية MAC .

Screen shows if device ID uses a randomized MAC address for privacy
يظهر عنوان الشكل 1. MAC كما العشوائية ضمن الخصوصية في تفاصيل الشبكة

التطبيقات التي تستدعي واجهات برمجة تطبيقات معرّف الجهاز

يجب أن تفي التطبيقات التي تستدعي واجهات برمجة تطبيقات معرّف الجهاز بمتطلبات Android 10. بخلاف ذلك ، عندما يحاولون الوصول إلى معرّفات الجهاز ، يتم إرجاع ما يلي:

  • تطبيقات تستهدف Android 10
    • A SecurityException يتم طرح من واجهات برمجة التطبيقات معرف الجهاز.
  • تطبيقات تستهدف Android 9 أو أقدم
    • إذا كان لديهم READ_PHONE_STATE إذن، إما null يتم إرجاع استجابة أو بيانات نائبا.
    • إذا لم يفعلوا ذلك، واجهات برمجة التطبيقات معرف الجهاز رمي SecurityException الذي يحتوي على اسم الأسلوب يسمى، وإشارة إلى أن التطبيق الدعوة لا يلبي متطلبات للوصول إلى الرقم المطلوب.

لمعرفة المزيد عن معرفات الجهاز ثابتة نرى معرفات الأجهزة Nonresettable و أفضل الممارسات لمعرفات فريدة من نوعها .

اختبارات

يجب منع التطبيقات من الوصول إلى الرقم التسلسلي للجهاز، وعند الاقتضاء، IMEI / MEID، SIM الرقم المسلسل، ورقم المشترك. يجب أن التطبيقات مع صلاحية لدخول لهذه معرفات يجتمع ايضا مع أحد المعايير المدرجة في من يستطيع الوصول إلى معرفات الجهاز .