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

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

المصادقة اقفل الشاشة التكامل البيومتري الفوري Keystore (مفتاح يعتمد على الوقت) Keystore (مفتاح قائم على التشغيل)
BIOMETRIC_STRONG (الفئة 3) نعم نعم نعم نعم
BIOMETRIC_WEAK (الفئة 2) نعم نعم لا لا
BIOMETRIC_CONVENIENCE
(الفئة 1)
نعم لا لا لا
DEVICE_CREDENTIAL نعم نعم نعم نعم (1)
  1. تمت إضافة هذه الوظيفة في الروبوت 11، انظر هذا لمزيد من التفاصيل

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

مصدر

أندرويد 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 واجهات برمجة التطبيقات. الأجهزة مع أجهزة الاستشعار البيومترية يجب أن تلتزم هذه المتطلبات قوة .
لدمج كومة البيومترية الخاصة بك مع BiometricPrompt و BiometricManager APIs :

  1. ضمان بأن ما تتمتعون به <Modality>Service مسجلة بشكل صحيح مع BiometricService عبر طريقة IBiometricService # registerAuthenticator والأدوات و IBiometricAuthenticator اجهة. طرائق المشتركة (بصمات الأصابع، الوجه) تمتد من شائعة الفائقة . إذا كنت بحاجة لدمج طريقة غير معتمد، اتبع بصمة / وجه المثال و المبادئ التوجيهية CDD عن القياسات الحيوية.
  2. تأكد من أن الطريقة الجديدة ويدعم بشكل صحيح في SystemUI . هناك الافتراضية BiometricPrompt واجهات المستخدم لبصمات الأصابع والوجه. يجب أن يشمل ذلك أي تخطيط أو تغييرات في المظهر مطلوبة لجهازك. أي تغييرات التخطيط المقابلة لمستشعر بصمة الإصبع في الشاشة.

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

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

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

اتبع الإرشادات HAL البيومترية للتأكد من أن البيانات البيومترية لم يتم تسريبه ويتم إزالتها عند إزالة مستخدم من الجهاز:

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

التخصيص

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

تصديق

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

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

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