Table of Contents

Modern Mobile Uygulamalarında Biyometrik Kimlik Doğrulamayı Anlamak

Biyometrik kimlik doğrulama, modern mobil güvenlik temelleri kullanarak, bu özellikleri iOS ve Android'de etkin bir şekilde entegre etmek için bir alternatif sunmaktır - parmak izi, yüz özellikleri veya iris kalıpları - her şeyi kütüphane seçimi ile yüksek doğruluk ve rahatlık ile doğrulayabilir. Reaksiyon Yerlisi, geliştiriciler bu özellikleri tek bir kod tabanı kullanarak verimli bir şekilde entegre etmelerini sağlar.Bu makale temelleri genişletir ve bir üretim hazırlayarak, gelişmiş güvenlik dikkate alarak.

Biyometrik Kimlik Nedir?

Biyometrik doğrulama, her birey için büyük ölçüde benzersiz olan ölçülebilir fizyolojik özelliklere dayanıyor. Mobil uygulamalarda en yaygın yöntemler şunlardır:

  • [FONT=0)Fingerprint tanıma – En modern akıllı telefonlarda ulas ridge kalıpları.
  • [FONT=0]Facial tanıma[[[Dönetici:0)[[Dönetici tanıma[Dönetici:0) – Yüz yüzen geometriyi haritalamak için ön kamerayı kullanın (örneğin Apple Face ID, Android'in Face Unlock).
  • [FONT:0]Iris tarama[[Dönetici: 1 ) – Daha az ortak ama bazı yüksek uç Android cihazlarda kullanılabilir; yüksek doğruluk için iris tarama.

Her yöntem ticarete sahiptir. Parmak sensörleri herhangi bir aydınlatmada hızlı ve güvenilirdir, ancak ıslak veya kirli parmaklardan etkilenebilir. Yüz tanıma uygundur, ancak maskeler veya aşırı açılarla mücadele edebilir. Çoğu tüketici uygulamaları için, parmak izi birleştirin ve yüzün kilidini birleştirin.

Biometric Giriş için İş Örneği

Biyometrik doğrulama doğrudan kullanıcı tutma ve seans tamamlanma oranları gibi anahtar ölçümleri geliştirir. Çalışmalara göre, biyometrik giriş ile yapılan uygulamalar her platform için ayrı bir yerel kod yazmadan bu avantajı karşılayabilirler.

Reaksiyon Yerlisinde Biyometrik Kimlik Belirleme

Reaks Yerli, yerleşik bir biyometrik API içermez, bu nedenle geliştiriciler topluluk kütüphanelerine güveniyor. En popüler ve korunmuş seçenekler şunlardır:

  • [FONT=0][0]-Sessiz-biometri[[Dönetici:0))[[[Döneticiler)) – Her iki platformda parmak izi ve yüz tanımayı destekleyen hafif, iyi niyetli bir kütüphane.
  • [FONT-yerel-yaşlama[[Dönemli proje için ideal; benzer bir API sunar ancak Expo SDK'ya bağlıdır.
  • [FONT:0]react-native-keychain[Dönetici:0)[Dönetici:0))[FONT:0))

Çoğu özel Reaksiyon Yerlisi Uygulamaları (Uygunsuz), [[0)[0][Dönetici-biometri[[Dönetici: 1) Bu kütüphanenin uygulanması için önerilen seçimdir.

Kütüphaneyi yüklemek

npm veya iple yükleyin:

npm install react-native-biometrics
yarn add react-native-biometrics

Reaksiyon Yerli 0.60 ve daha yüksek için, otomatik bağlantı otomatik olarak ana modülleri ekleyecek. Reaksiyon Yerli 0,59 veya daha düşük kullanıyorsanız, paketi manuel olarak bağlantınız gerekir:

react-native link react-native-biometrics

İzinler

Her platform, açık dosyalarda belirli izinler gerektirir.

Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android Android

Aşağıdakileri (D) ile birlikte, (D) ► (İngilizce) etiketine ekleyin:

<uses-permission android:name="android.permission.USE_BIOMETRIC" />

Android 9 (API seviyesi 28) ile başlayan not, ihtiyacınız olabilir:
) [[[FONTD:6) eski cihazlar için.TheDANFLT:7) izin her iki parmak izi ve yüzü de açık, bu yüzden tercih edilen bir seçim.

iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS

OpenFLT:8) ve Face ID kullanımı için bir açıklama ekleyin:

<key>NSFaceIDUsageDescription</key>
<string>This app uses Face ID to securely authenticate you.</string>

Bu anahtarı durdurursanız, Face ID hızlı görünmeyecektir ve çağrı sessiz bir şekilde başarısız olacaktır.In apps that support Touch ID on older iPhones, no additional key is required.

Kimlik Doğrulama Mantıkını Uygulamayı

Kütüphanenin yüklü ve izinler seti ile, artık doğrulama akışını inşa edebilirsiniz. Aşağıda, sensör kontrolü içeren geniş bir örnek ve iOS üzerinde kodlanması ve kapsamlı hata işlemesi yer almaktadır.

Adım 1: Check Sensör Availability

Biyometrik düğmeyi göstermeden önce, cihazın biyometrikleri desteklediğini her zaman doğrulayın.TheurFLT:10) yöntemi mevcut sensör türü hakkında bilgi ile bir söz döndürür.

import ReactNativeBiometrics from 'react-native-biometrics';

const checkBiometricAvailability = async () => {
 try {
 const { available, biometryType } = await ReactNativeBiometrics.isSensorAvailable();
 if (available) {
 // biometryType can be 'TouchID', 'FaceID', 'Biometrics' (Android)
 console.log(`Biometric sensor available: ${biometryType}`);
 return { available, biometryType };
 } else {
 console.log('Biometric sensor not available');
 return { available: false, biometryType: null };
 }
 } catch (error) {
 console.error('Error checking sensor:', error);
 return { available: false, biometryType: null };
 }
};

2. Adım: Kullanıcıyı Prompt

Sistem biyometrik dialogunu tetiklemek için kullanım: iOS'ta Face ID veya Touch ID'yi gösterecektir; Android'de sistem mevcut en iyi biyometrik (fingerprint veya yüz) kullanabilirsiniz.

const authenticateWithBiometrics = async () => {
 try {
 const { success, error } = await ReactNativeBiometrics.simplePrompt({
 promptMessage: 'Authenticate to continue',
 cancelButtonText: 'Cancel',
 });
 if (success) {
 return true;
 } else {
 // User cancelled or failed
 if (error) console.warn('Biometric prompt error:', error);
 return false;
 }
 } catch (e) {
 console.error('Biometric auth exception:', e);
 return false;
 }
};

3. Adım: Fallback ile Full Bile

Yukarıdaki fonksiyonları bir biyometrik düğme gösteren bir bileşenle birleştirin ve kullanıcı iptal ederse veya başarısız olursa, bir şifre girişine geri dönün.

import React, { useState, useEffect } from 'react';
import { View, Button, Text, TextInput, Alert } from 'react-native';
import ReactNativeBiometrics from 'react-native-biometrics';

const AuthScreen = () => {
 const [authenticated, setAuthenticated] = useState(false);
 const [biometricAvailable, setBiometricAvailable] = useState(false);
 const [showPasswordField, setShowPasswordField] = useState(false);
 const [password, setPassword] = useState('');

 useEffect(() => {
 (async () => {
 const { available } = await checkBiometricAvailability();
 setBiometricAvailable(available);
 })();
 }, []);

 const handleBiometricLogin = async () => {
 const success = await authenticateWithBiometrics();
 if (success) {
 setAuthenticated(true);
 } else {
 setShowPasswordField(true);
 Alert.alert('Biometric failed', 'Please use your password as a fallback.');
 }
 };

 const handlePasswordLogin = () => {
 // Verify against stored password hash (example only)
 if (password === 'correctpassword') {
 setAuthenticated(true);
 } else {
 Alert.alert('Error', 'Incorrect password.');
 }
 };

 return (
 
 {!authenticated ? (
 <>
 {biometricAvailable && (
 

Üretim için en iyi uygulamalar -Ready Implementation

Hata işleme ve kullanıcı geri bildirim

Biyometrik doğrulama birçok nedenden dolayı başarısız olabilir: kirli sensör, düşük ışık, kullanıcı iptal edildi veya sistem düzeyinde bir hata.Her zaman istisnalar yakalar ve açık, insan hazırlanabilir bir mesaj sunar.Kime hata kodları göstermekten kaçının, "Try gibi eylemlerin ortak hataları" veya "Use password instead"

iOS'ta, kullanıcı üç kez biyometrik doğrulama yapmazsa, cihaz biyometrik sensör kilitleyebilir ve geçiş kodunuz için uygulamanız bunu hata türünü kontrol ederek ve kullanıcıyı cihaz geçiş kodunu girmeniz gerekir.TheyuFLT:15 library).

Fallback Authentication Mechanisms

Sadece biyometriklere güvenmeyin. Her uygulama bir geri dönüş yöntemi desteklemeli -tip olarak bir şifre, PIN veya desen. Bu kritik çünkü:

  • Bazı cihazlar biyometrik sensörler (eski modeller, tabletler) yoksundur.
  • Kullanıcılar geçici koşullar nedeniyle biyometrikleri kullanamaz (gruplar, ıslak parmaklar, ağır makyaj).
  • Sistem ayarları biyometrikleri devre dışı bırakabilir (örneğin, uzun bir süre sonra yeniden veya kullanmayan).
  • Avrupa'daki PSD2 gibi) ikinci bir faktör talep eder.

Geri dönüşünüz biyometrik olarak güvenli olmalıdır. Bir tuzlanmış bir hash (örneğin, bcrypt) sunucuda veya cihazın yerel kimlik doğrulama için enklavunu kullanarak güvenli bir şekilde kullanması gerekir.

Güvenlik ve Gizlilik

Biyometrik veriler son derece hassastır. OWASP Mobile Security Project aşağıdaki kuralları vurgulamaktadır:

  1. [FONT:0) sunucunuzdaki ham biyometrik veriler (Dönetici:0) Asla depolamak için kullanılan güvenli bir enklavuzda bu verileri depolar ve sadece bir başarı / başarısızlık sonucu döndürür.
  2. [FONT:0) Ağ üzerindeki biyometrik bilgileri iletmeyin) – Biyometrik kimlik doğrulama cihazı üzerinde yerel olarak olmalıdır.Sistemin sonucu (a token veya bir boolean) sunucu-side doğrulama için kullanın.
  3. [FONT:0) Yerel depolama için şifreleme kullanın[Dönetici:0] – Biyometrik başarıdan sonra bir giriş önbellek veya ŞifrelenmişSharedPreferences (Android) cihazı biyometrik korumalı anahtar deposu kullanarak.
  4. [FONT=0)Implement rate limit[[Dönetici: 1) - Tekrarlanan başarısızlıklardan sonra tekrarlanan kabaklama saldırıları önlemek için.

Cross-Platform Consistency

Reaksiyon Yerlisi en fazla farkları olsa da, platforma özgü davranışın farkında olun:

  • [FONT=0])[[Dönetici:0)))[[[Dönetici:0)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
  • [FONT:0) Android[Dönetici:0)[Dönetici:0)[Dönetici:0) Android[Dönetici:0)[Dönetici:0)[Dönetici: Birkaç OEM cihazı (bazı Samsung modelleri gibi), çok yönlü biyometrikler (fingerprint + yüz) uygun şekilde davranabilir.

Uygulamanızı platform başına en az bir fiziksel cihaz test edin. Emulators genellikle biyometrik sensörleri kötü (örneğin iOS simülatörü her zaman başarıyı döndürür). Cihazı laboratuvarı veya bulut test hizmetleri Tarayıcı için TarayıcıStack gibi gerçek-device testleri kullanın.

Performans ve Kullanıcı Deneyimi

Biyometrik hızlılar anında hissetmeli. Kütüphanenin 03.03.2012'de normalde modern cihazlarda 300 m altında tamamlanmalıdır.

  • CallFLT:19, uygulama başladığında veya ekran parçaları her seferinde kullanıcı düğmeye dokunmuyor.
  • Bir "bir-tap" girişini tercih edin: Güvenli depolamadan saklanan bir seans token getirmekle biyometrik kimlik doğrulamasını bir araya getirin, böylece kullanıcı otomatik olarak başarıdan sonra girişleri.
  • Daha önce ve sonrası görsel geri bildirim sağlayın (örneğin, değişim düğmesi durumu, bir yükleme spinneri göster).
  • Aşırı uçlarla olan hızlıyı mahvetmeyin - sistem dialogu modaldir ve kesintiye uğramamalıdır.

Gelişmiş Tahminler

Backend Services ile Biometrik Kimlik Doğrulama

Birçok uygulama, kullanıcıları geri dönüş API'ye karşı kimliklendirmeli. Tipik akış:

  1. Kullanıcı parola girişine geri döner (ilk kez veya token expiry). Server bir seans token döndürür.
  2. Cihazın güvenli depolamasında biyometrikler tarafından korunan token (örneğin, 03.30).
  3. Sonraki günlerde, biyometrikler için hızlı; eğer başarılı olursa, token'ı alın ve API'yi aramak için kullanın.

Daha gelişmiş kurulumlar kamu anahtar kriptografi kullanır: cihaz, biyometrik koruma anahtarında anahtarı depolar ve sunucu ile halkın anahtarını kayıt edin. Daha sonra, uygulama, biyometrik doğrulamadan sonra özel anahtarla bir meydan okuma gösterir, kimlikleri paylaşmadan önce kanıtlar.TheFLT:22 ve FLT:23|FONT|FONT|FONT|S/FONT|S/FONT|S/FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT=FONT

// Example: generating biometric-protected key pair (Android/iOS)
import { createKeys, sign } from 'react-native-biometrics';

const registerKey = async () => {
 const { publicKey } = await createKeys();
 // Send publicKey to your server
};

const signChallenge = async (challenge) => {
 const { signature } = await sign(challenge);
 // Send signature to server for verification
};

Birden Çok Biyometrik Modes'i birleştirmek

Bazı cihazlar hem parmak izi hem de yüz tanımayı destekler. Kütüphanenin OLFLT:26) sadece en yüksek öncelikli sensör sunar. Bir seçim sunmak için, yerel modüller kullanmak veya sensör tipini ve mevcut uygun UI tespit etmeniz gerekebilir. Uygulamada, sisteme güvenmek basit ve daha kullanıcı dostudur - OS otomatik olarak en iyi biyometrik kullanır.

Yasal ve Uyum

Biyometrikleri uygularken, düzenlemeler göz önünde bulundurun:

  • [FONT:0)GDPR (EU))[FONT=0)[FONT=0)[değiştir | kaynağı değiştir] ve kullanıcıların kolayca onay vermesine izin vermeniz gerekir.
  • [FONT=0)CCPA (California))[Döneticileri açıklayın ve doğruyu seçme hakkı için.
  • [FONT:0]iOS Face ID yönergeleri[[[Dönetici: 1 ) – Apple, Face ID kullanımının, 5'te tarif edildiği ve pazarlama veya gözetim için kullanmadığınız anlamına gelir.
  • [[Düzücüler:0) Android BiometricManager) - Google'ın API görevleri, biyometrikleri doğrulama için kullanan uygulamaların aynı zamanda bir cihaz geri dönüş (PIN, pattern, password) sağlaması gerekir.

Uygulamanızın gizlilik politikasını ve kullanıcı onay akışlarını sağlamak için yasal ekibinize başvurun.

Biyometrik Kimlik Doğrulamayı Test

Biyometrik özellikleri test etmek zor olabilir çünkü emülatörler genellikle gerçek sensörlerin eksikliğini sağlar. Önerilen test stratejisi:

  • [FONT=0)Ölmüş testler[[Dönler: 1) – Mock theİLFLT:28) bileşeni mantığınızı doğrulamak için modül (örneğin, başarı / başarısızlık üzerindeki doğru devlet değişiklikleri).
  • [FONT=0)Integration testleri[[Dönetici:0)[Dönetici:0))[Dönetici:0)Integration testleri[[[Dönetici:0))[Dönetici: Use Detox or Appium on real devices.You can automate biometric quicks via device-specific command (e.g., 03., 03.03.2012)
  • [FONT:0]Manual test[[[Döntilmiş: 1), çeşitli telefonlarda test, özellikle de sensör kalitesinin değiştiği orta sınıf Android cihazlar.
  • [FONT=0)Edge vakaları[[[Dönetici: 1))[[Dönetici olmayan bir sensörle test edin, sensör çok fazla başarısızlıktan sonra kilitlenir ve kullanıcı izin verme süresini azaltır.

iOS fiziksel cihazlar için, Simulator'un biyometrik kayıt özelliği kullanın (Bölümler – Face ID & Passcode – Enroll) ancak ilk denemede Face ID'yi her zaman başarılı sayan not.Gerçek test için gerçek bir cihazınıza ihtiyacınız var.

Sonuç Sonuç Sonuç Sonuç Sonuç Sonuç Sonuç Sonuç

Reaksiyon Yerli uygulamanıza biyometrik doğrulama, hem güvenlik hem de kullanıcı deneyimini önemli ölçüde geliştirir.Ücretsiz kütüphaneler kullanarak, kullanıcılarına yönelik parmak izi ve yüz tanımasını ekleyebilirsiniz..Her zaman sağlam bir düşüş uygularken, hataları lütufla uygulayın ve asla doğru test ve uyumlulukla, biyometrik giriş sorunsuz bir şekilde, kullanıcılarınızın güvenen bir özelliği haline gelebilir.

Daha fazla okuma için aşağıdaki kaynakları ele alalım:

  • [FONT=0][0]-Sekizsiz paket[[Dönetici: 1) - Resmi belgeler ve API referansı.
  • [FONT=0) Android Biyometrik Kimlik Doğrulama Geliştirici Kılavuzu[Dönetici: 1) Google'ın yönergeleri ve izinleri.
  • [FONT=0) Apple LocalAuthentication Framework) – iOS Face ID ve Touch ID uygulama ayrıntıları.
  • [FONT=0)OWASP Kimlik Doğrulama Hile Belgesi[[Dönetici: 1) Mobil kimlik doğrulama için en iyi uygulamalar.
  • [FONT=0)Expo Local Authentication[[Döntgen: 1) Expo için Alternatif kütüphane yönetilen iş akışları için.