القياسات الحيوية

تنظيم صفحاتك في مجموعات يمكنك حفظ المحتوى وتصنيفه حسب إعداداتك المفضّلة.

توفر القياسات الحيوية طريقة أكثر ملاءمة ، ولكنها أقل أمانًا لتأكيد هويتك بجهاز ما. بموجب نموذج المصادقة المتدرج ، توفر المصادقة الأولية (مثل الطرائق القائمة على عامل المعرفة مثل PIN والنمط وكلمة المرور) أعلى مستوى من الأمان. تعد القياسات الحيوية في المستوى الثانوي للمصادقة ، مما يوفر توازنًا بين الراحة والأمان. يحدد نظام Android CDD ثلاث فئات للقوة البيومترية: الفئة 3 (القوية سابقًا) ، والفئة 2 (ضعيفة سابقًا) ، والفئة 1 (الراحة سابقًا). يحتوي كل فصل على مجموعة من المتطلبات والامتيازات والقيود - يرجى الاطلاع على CDD أعلاه لمزيد من التفاصيل. يُسمح لجميع الفئات الثلاثة بالتكامل مع شاشة القفل ، ولكن يُسمح فقط للمصادقين الأقوياء والضعفاء بالتكامل مع واجهات برمجة التطبيقات android.hardware.biometrics. يصف هذا الجدول كل مصدق والوظيفة التي يدعمونها.

المصادقة اقفل الشاشة التكامل البيومتري الفوري Keystore (مفتاح يعتمد على الوقت) Keystore (مفتاح قائم على التشغيل)
BIOMETRIC_STRONG (الفئة 3) نعم نعم نعم نعم
BIOMETRIC_WEAK (الفئة 2) نعم نعم رقم رقم
BIOMETRIC_CONVENIENCE
(الفئة 1)
نعم رقم رقم رقم
DEVICE_CREDENTIAL نعم نعم نعم نعم

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

مصدر

أندرويد 12

  • يقدم BiometricManager.Strings API ، والذي يوفر سلاسل مترجمة للتطبيقات التي تستخدم BiometricPrompt للمصادقة. تهدف هذه السلاسل إلى التعرف على الجهاز وتوفير مزيد من الخصوصية حول نوع (أنواع) المصادقة التي يمكن استخدامها.
  • يتضمن دعم مستشعر بصمات الأصابع (UDFPS) تحت الشاشة.

أندرويد 11

  • يقدم واجهة BiometricManager.Authenticators التي توفر ثوابت يمكن للمطورين استخدامها لتحديد أنواع المصادقة المقبولة بواسطة تطبيقاتهم.
  • يضيفالإجراء الهدف ACTION_BIOMETRIC_ENROLL ، والذي يمكن للمطورين استخدامه لتوجيه المستخدم لتسجيل طريقة مصادقة تلبي متطلبات تطبيقاتهم.
  • يضيف أسلوب AuthenticationResult #getAuthenticationType () ، والذي يمكن للمطورين استخدامه للتحقق مما إذا كان المستخدم قد تمت مصادقته باستخدام بيانات اعتماد المقاييس الحيوية أو بيانات اعتماد الجهاز.
  • يوفر دعمًا إضافيًا لمفاتيح المصادقة لكل استخدام داخل فئة BiometricPrompt.

أندرويد 10

  • يقدم فئة BiometricManager التي يمكن للمطورين استخدامها للاستعلام عن توفر المصادقة البيومترية.
  • يتضمن تكامل مصادقة بصمات الأصابع والوجه لـ BiometricPrompt

أندرويد 9

  • يتضمن تكامل بصمات الأصابع فقط لـ BiometricPrompt .
  • تستنكر فئة FingerprintManager. إذا كانت التطبيقات المجمعة وتطبيقات النظام لديك تستخدم هذه الفئة ، فقم بتحديثها لاستخدام BiometricPrompt و BiometricManager بدلاً من ذلك.
  • تم تحديث اختبارات أداة التحقق من FingerprintManager CTS لاختبار BiometricPrompt باستخدام BiometricPromptBoundKeysTest .

تطبيق

لضمان تمتع المستخدمين والمطورين بتجربة مقاييس حيوية سلسة ، قم بدمج مكدس المقاييس الحيوية الخاص بك مع BiometricPrompt و BiometricManager و ACTION_BIOMETRIC_ENROLL APIs. يجب أن تلتزم الأجهزة ذات المستشعرات الحيوية بمتطلبات القوة هذه. بالإضافة إلى ذلك ، يجب أن تجتاز جميع التطبيقات وحدة CtsBiometricsTestCases CTS.

لدمج مكدس المقاييس الحيوية الخاص بك مع ACTION_BIOMETRIC_ENROLL API:

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

إرشادات تنفيذ HAL

اتبع إرشادات HAL الخاصة بالمقاييس الحيوية لضمان عدم تسرب البيانات الحيوية وإزالتها عند إزالة المستخدم من الجهاز:

  • تأكد من عدم إمكانية الوصول إلى البيانات الحيوية الأولية أو المشتقات (مثل القوالب) من خارج البيئة المعزولة الآمنة (مثل TEE أو Secure Element). يجب تشفير جميع البيانات المخزنة باستخدام مفتاح خاص بالجهاز معروف فقط لـ TEE (Trusted Execution Environment). إذا كانت الأجهزة تدعمها ، فحد من وصول الأجهزة إلى البيئة الآمنة المعزولة وحمايتها باستخدام سياسة SELinux. اجعل قناة الاتصال (على سبيل المثال ، SPI ، I2C) قابلة للوصول فقط إلى البيئة الآمنة المعزولة مع سياسة SELinux الصريحة على جميع ملفات الجهاز.
  • يجب أن يحدث اكتساب القياسات الحيوية والتسجيل والاعتراف داخل بيئة معزولة آمنة لمنع انتهاكات البيانات والهجمات الأخرى. ينطبق هذا المطلب فقط على القياسات الحيوية من الفئة 3 (القوية سابقًا) والفئة 2 (الضعيفة سابقًا) .
  • للحماية من هجمات إعادة التشغيل ، وقّع على نماذج المقاييس الحيوية باستخدام مفتاح خاص خاص بالجهاز. بالنسبة لمعيار التشفير المتقدم (AES) ، قم على الأقل بتوقيع قالب بمسار نظام الملفات المطلق والمجموعة والمعرف الحيوي بحيث تكون ملفات القوالب غير قابلة للتشغيل على جهاز آخر أو لأي شخص آخر غير المستخدم الذي قام بتسجيلها على نفس الجهاز . على سبيل المثال ، منع نسخ بيانات المقاييس الحيوية من مستخدم مختلف على نفس الجهاز أو من جهاز آخر.
  • إذا كنت بحاجة إلى تخزين البيانات خارج TEE ، فاستخدم مسار نظام الملفات الذي توفره setActiveUser() HIDL method أخرى لمسح جميع بيانات قالب المستخدم عند إزالة المستخدم. والسبب هو حماية تسرب بيانات المستخدم. يجب تنظيف الأجهزة التي لا تستخدم هذا المسار بعد إزالة المستخدم. يشترط CDD تخزين البيانات الحيوية والملفات المشتقة بشكل مشفر - خاصةً إذا لم يكن ذلك في TEE. تم مسحه. راجع LockSettingsService.removeBiometricsForUser ()

التخصيص

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

سلاسل المصادقة الخاصة بالجهاز

بدءًا من Android 12 ، أصبحت سلاسل المصادقة السياقية متاحة للمطورين من خلال BiometricManager.Strings API. يمكنك تخصيص قيم الموارد التي يتم إرجاعها بواسطة واجهة برمجة التطبيقات هذه لتنفيذ سلاسل خاصة بالجهاز. إذا قمت بذلك ، فتأكد من ترجمة أي سلاسل جديدة لجميع اللغات التي يدعمها الجهاز. بالإضافة إلى ذلك ، تأكد من الحفاظ على الخصائص التالية:


طريقة

الغرض من السلسلة

نوع (أنواع) المصادقة المراد تضمينها

إذا كان كل من المقاييس الحيوية وقفل الشاشة ممكنًا

getButtonLabel ()

تسمية الزر الذي يقوم بتشغيل BiometricPrompt

الأنواع المسجلة فقط (إن أمكن) التي تفي بمتطلبات المصادقة

استخدم سلسلة المقاييس الحيوية فقط (مثل ، "استخدام بصمة الإصبع")

getPromptMessage ()

تظهر الرسالة على BiometricPrompt أثناء المصادقة

الأنواع المسجلة فقط (إن أمكن) التي تفي بمتطلبات المصادقة

استخدم سلسلة المقاييس الحيوية وقفل الشاشة المدمجة (على سبيل المثال ، "استخدم بصمة إصبعك أو رقم التعريف الشخصي للمتابعة")

getSettingName ()

اسم الإعداد الذي يمكّن BiometricPrompt للمصادقة

جميع الأنواع التي يدعمها الجهاز (حتى إذا لم يكن مسجلاً) التي تفي بمتطلبات المصادقة

استخدم سلسلة المقاييس الحيوية وقفل الشاشة المدمجة (مثل ، "استخدام بصمة الإصبع أو قفل الشاشة")

على سبيل المثال ، ضع في اعتبارك جهازًا يحتوي على مستشعر وجه من الفئة 2 مع وجه مسجل ، ورقم تعريف شخصي مسجل ، ومستشعر بصمة من الفئة 3 بدون بصمات أصابع مسجلة . يقدم الجدول التالي نماذج سلاسل لكل مجموعة من المصادقات المسموح بها وأسلوب BiometricManager.Strings الذي تم استدعاؤه:


المصدقون المسموح لهم

getButtonLabel ()

getPromptMessage ()

getSettingName ()

القياسات الحيوية من الفئة 3 ( BIOMETRIC_STRONG )

"استخدام بصمة الإصبع"
(بصمة الإصبع فقط تفي بمتطلبات المصادقة)

"استخدم بصمة إصبعك للمتابعة"
(بصمة الإصبع فقط تفي بمتطلبات المصادقة)

"استخدام بصمة الإصبع"
(بصمة الإصبع فقط تفي بمتطلبات المصادقة)

القياسات الحيوية من الفئة 2 ( BIOMETRIC_WEAK )

"استخدام الوجه"
(يستوفي متطلبات الوجه وبصمات الأصابع ؛ يتم تسجيل الوجه فقط)

"استخدم وجهك للمتابعة"
(يستوفي متطلبات الوجه وبصمات الأصابع ؛ يتم تسجيل الوجه فقط)

"استخدام الوجه أو بصمة الإصبع"
(يستوفي متطلبات الوجه وبصمات الأصابع ؛ يدعم الجهاز كليهما)

قفل الشاشة ( DEVICE_CREDENTIAL )

"استخدام رقم التعريف الشخصي"
(أي قفل شاشة يلبي المتطلبات ؛ تم تسجيل رقم التعريف الشخصي)

"أدخل رقم التعريف الشخصي للمتابعة"
(أي قفل شاشة يلبي المتطلبات ؛ تم تسجيل رقم التعريف الشخصي)

"استخدام قفل الشاشة"
(أي قفل شاشة يلبي المتطلبات)

فئة 3 البيومترية أو قفل الشاشة

"استخدام رقم التعريف الشخصي"
(بصمة الإصبع وأي قفل شاشة يلبي المتطلبات ؛ يتم تسجيل رقم التعريف الشخصي فقط)

"أدخل رقم التعريف الشخصي للمتابعة"
(بصمة الإصبع وأي قفل شاشة يلبي المتطلبات ؛ يتم تسجيل رقم التعريف الشخصي فقط)

"استخدام بصمة الإصبع أو قفل الشاشة"
(بصمة الإصبع وأي قفل شاشة يلبي المتطلبات)

فئة 2 البيومترية أو قفل الشاشة

"استخدام الوجه"
(الوجه وبصمة الإصبع وأي قفل شاشة يلبي المتطلبات ؛ الوجه مسجل ويحل محل رقم التعريف الشخصي)

"استخدم وجهك أو رقم التعريف الشخصي للمتابعة"
(يستوفي الوجه وبصمة الإصبع وأي قفل شاشة المتطلبات ؛ تم تسجيل الوجه ورقم التعريف الشخصي)

"استخدام المقاييس الحيوية أو قفل الشاشة"
(الوجه وبصمة الإصبع وأي قفل شاشة يلبي المتطلبات)

تصديق

يجب أن يجتاز تطبيق المقاييس الحيوية الخاص بك الاختبارات التالية:

  • CTS BiometricManager
  • CTS BiometricPrompt (العقل ، يعتمد الاختبار المتعمق على المدقق)
  • قسم اختبار القياسات الحيوية CtsVerifier: يجب أن يجتاز بشكل فردي مع كل طريقة يدعمها الجهاز

بالإضافة إلى ذلك ، إذا كان جهازك يدعم مقياسًا حيويًا يحتوي على AOSP HIDL ( fingerprint@2.1 ، fingerprint@2.2 ، face1.0 ) ، فيجب أن يجتاز اختبار VTS ذي الصلة ( بصمة الإصبع ، الوجه )