Biyometri

Biyometrik faktörler, Android platformunda güvenli kimlik doğrulamaya izin verir. Android çerçevesi, yüz ve parmak izi biyometrik kimlik doğrulamasını içerir. Android, diğer biyometrik kimlik doğrulama biçimlerini (Iris gibi) desteklemek için özelleştirilebilir. BiometricPrompt sınıfına katılabilmek için tüm biyometrik uygulamalar güvenlik spesifikasyonlarını karşılamalı ve güçlü bir derecelendirmeye sahip olmalıdır. Biyometri, Imposter Accept Rate (IAR) ve Spoof Accept Rate (SAR) ile ölçülür.

Biyometrik güvenlik özellikleri hakkında daha fazla ayrıntı için bkz. Biyometrik Kilit Açma Güvenliğini Ölçme .

Kaynak

Android 10

  • Geliştiricilerin biyometrik kimlik doğrulamanın kullanılabilirliğini sorgulamak için kullanabilecekleri BiometricManager sınıfını tanıtır.
  • BiometricPrompt için parmak izi ve yüz kimlik doğrulama entegrasyonu içerir

Android 9

  • Yalnızca BiometricPrompt için parmak izi entegrasyonunu içerir.
  • FingerprintManager sınıfını kullanımdan kaldırır. Paket ve sistem uygulamalarınız bu sınıfı kullanıyorsa, bunun yerine BiometricPrompt ve BiometricManager kullanacak şekilde güncelleyin.
  • BiometricPrompt kullanarak BiometricPromptBoundKeysTest test etmek için FingerprintManager CTS doğrulayıcı testleri güncellendi.

Uygulama

Kullanıcıların ve geliştiricilerin sorunsuz bir biyometrik deneyime sahip olmasını sağlamak için biyometrik yığınınızı BiometricPrompt ile entegre edin. Yüz, parmak izi ve iris dahil herhangi bir modalite için BiometricPrompt etkinleştiren cihazlar, bu güç gereksinimlerine uymalıdır. Güç gereksinimlerini karşılamazlarsa, bu sınıfı uygulayamazlar.
Biyometrik yığınınızı BiometricPrompt ve BiometricManager ile entegre etmek için:

  • <Modality> Hizmetinizin BiometricService uygun şekilde bağlandığından ve authate authenticate() yöntemini bağladığından emin olun. Yaygın yöntemler (parmak izi, yüz) ortak bir üst sınıftan uzanır. Desteklenmeyen bir yöntemi entegre etmeniz gerekirse, parmak izi / yüz örneğini ve biyometri için CDD yönergelerini izleyin .
  • Yeni modalitenizin SystemUI'de düzgün şekilde desteklendiğinden emin olun. Parmak izi ve yüz için varsayılan BiometricPrompt kullanıcı arayüzleri vardır
  • Eklenen biyometri için KEYGUARD_DISABLE_* bayraklarını onurlandırmak için çerçeveyi güncelleyin.
  • BiometricPrompt / BiometricManager entegre ettiğiniz her modalite için cihazınızın CTS ve CtsVerifier testlerini geçtiğinden emin olun. Örneğin, hem parmak iziniz hem de yüzünüz varsa, testlerin her biri için ayrı ayrı geçmesi gerekir.
BiometricPrompt mimarisi
Şekil 1. BiometricPrompt mimarisi

HAL uygulama yönergeleri

Biyometrik verilerin sızmadığından ve bir kullanıcı cihazdan çıkarıldığında kaldırıldığından emin olmak için bu biyometrik HAL yönergelerini izleyin:

  • Ham biyometrik verilere veya türevlerine (şablonlar gibi) asla sensör sürücüsü dışından veya güvenli izole ortamdan (TEE veya Güvenli Öğe gibi) erişilemediğinden emin olun.
  • Donanım destekliyorsa, donanım erişimini güvenli yalıtılmış ortama sınırlayın ve bir SELinux ilkesiyle koruyun. Tüm cihaz dosyalarında açık bir SELinux ilkesi ile iletişim kanalını (örneğin, SPI, I2C) yalnızca güvenli yalıtılmış ortamda erişilebilir yapın.
  • Veri ihlallerini ve diğer saldırıları önlemek için güvenli izole ortamda biyometrik edinme, kayıt ve tanıma gerçekleştirilmelidir. Bu gereklilik yalnızca güçlü biyometri için geçerlidir.
  • Dosya sisteminin kendisi şifrelenmiş olsa bile, biyometrik verilerin veya türevlerinin yalnızca şifrelenmiş biçimini dosya sisteminde depolayın.
  • Yeniden oynatma saldırılarına karşı korunmak için biyometrik şablonları özel, cihaza özel bir anahtarla imzalayın. Gelişmiş Şifreleme Standardı (AES) için, en azından, mutlak dosya sistemi yolu, grubu ve biyometrik kimliği olan bir şablonu imzalayın, böylece şablon dosyaları başka bir cihazda veya aynı cihaza kaydettiren kullanıcı dışındaki herhangi bir kişi için çalışamaz hale gelir. . Örneğin, biyometrik verilerin aynı cihazdaki farklı bir kullanıcıdan veya başka bir cihazdan kopyalanmasını önleyin.
  • set_active_group() işlevi tarafından sağlanan dosya sistemi yolunu kullanın veya kullanıcı kaldırıldığında tüm kullanıcı şablonu verilerini silmek için başka bir yol sağlayın. Biyometrik şablon dosyalarının sağlanan yolda şifrelenmiş olarak saklanması şiddetle tavsiye edilir. Güvenli yalıtılmış ortamın depolama gereksinimleri nedeniyle bu mümkün değilse, kullanıcı çıkarıldığında veya cihaz silindiğinde verilerin kaldırılmasını sağlamak için kancalar ekleyin.

Özelleştirme

Cihazınız birden çok biyometriyi destekliyorsa, kullanıcı ayarlarda bir varsayılan belirleyebilmelidir. BiometricPrompt uygulamanız, kullanıcı bunu açıkça geçersiz kılmadığı sürece varsayılan olarak güçlü biyometriyi tercih etmelidir, ardından biyometrikle ilişkili riskleri açıklayan bir uyarı mesajı görüntülenmelidir (örneğin, bir fotoğrafınız cihazınızın kilidini açabilir )

Doğrulama

Biyometrik uygulamanız aşağıdaki testleri geçmelidir:

Ek olarak, cihazınız AOSP HIDL ( parmak izi@2.1 , yüz1.0 ) olan bir biyometrik destekliyorsa, ilgili VTS testini ( parmak izi , yüz ) geçmelidir.