Implementering af biometrisk godkendelse i Android

  • Brug af BiometricPrompt og Credential Manager til at administrere sikker og personlig adgang.
  • Implementering af sikkerhedslag ved hjælp af CryptoObject for at beskytte følsomme data.
  • Integration af systemer til detektion af liveness og AI for at bekæmpe svindel og personefterligning.
  • Overholdelse af Android CDD-sikkerhedsstandarder og privatlivsregler.

Implementering af biometrisk godkendelse i Android

I dag behøver beskyttelse af private oplysninger eller eksklusivt appindhold ikke at være en hovedpine for brugeren. Implementeringen af ​​biometrisk godkendelse er blevet det vigtigste værktøj til at opnå den vanskelige balance mellem bundsolid sikkerhed og en brugeroplevelse, der ikke er kedelig, ligesom en sikker mappe fungerer til at beskytte private filer.

Hvis du overvejer, hvordan du integrerer disse funktioner i dit projekt, er det første, du skal vide, at Android tilbyder et meget robust økosystem. Det handler ikke kun om at anmode om et fingeraftryk, men om at administrere adgangsflows , der tilpasser sig brugerens enhed, hvilket sikrer datasikkerhed, uanset om telefonen er en high-end-model eller en mere beskeden en.

Vigtige værktøjer: Legitimationsstyring og biometrisk prompt

For at komme godt i gang er det vigtigt at forstå de tilgængelige værktøjer. Som en generel regel er Credential Manager den bedste løsning , når en bruger tilgår appen for første gang på en enhed. Ved efterfølgende adgange, hvor kun en hurtig genautorisation er nødvendig, kan du vælge mellem Biometrisk Prompt eller den førnævnte Credential Manager.

Den største fordel ved Biometric Prompt er, at den giver mulighed for større tilpasning af dialogen, mens Credential Manager tilbyder en enklere og samlet implementering for begge arbejdsgange. Det er værd at bemærke, at Biometric-biblioteket har erstattet den ældre FingerprintManager API, som blev forældet for et stykke tid siden.

Typer af autentificeringsværktøjer og sikkerhedsniveauer

Beskyt dit privatliv med NetGuard
Relateret artikel:
Aktivér vigtige sikkerhedsindstillinger på Android

Ikke alle biometriske sensorer er skabt lige, og Android forstår dette ved at klassificere autentificeringsværktøjer via BiometricManager.Authenticators -grænsefladen . Afhængigt af din apps behov kan du deklarere følgende niveauer:

  • BIOMETRISK_STÆRKDette refererer til klasse 3-metoder, som er de sikreste og strengeste.
  • BIOMETRISK_SVAGKlasse 2-autentificeringsværktøjer, som tilbyder en acceptabel balance, men lavere sikkerhed.
  • ENHEDSLEGITIMERDet er her, traditionelle skærmlåsningsmetoder kommer ind i billedet, som f.eks. PIN-kode, mønster eller adgangskode.

Det er vigtigt at huske, at for at nogen af ​​disse kan fungere, skal brugeren tidligere have konfigureret en låsemetode, f.eks. ved at vide Sådan vælger du en 6-cifret pinkode på AndroidHvis ikke, starter systemet automatisk biometrisk tilmeldingsproces så brugeren opretter sine legitimationsoplysninger. For at konfigurere dette i koden bruges metoden . setAllowedAuthenticators(), endda giver dig mulighed for at kombinere flere typer adgang.

Trinvis implementeringsproces

Guide til at skjule følsomme apps i private rum på Android
Relateret artikel:
Guide til privat rum: Skjul følsomme apps på Android

Når du har besluttet, hvilket sikkerhedsniveau du har brug for, er næste skridt Tjek tilgængelighed af nævnte sensorer ved hjælp af metoden canAuthenticate()Hvis enheden ikke har dataene registreret, kan du aktivere handlingen ACTION_BIOMETRIC_ENROLL at dirigere brugeren til systemindstillingerne og konfigurere deres biometri.

For at implementere loginanmodningen skal du tilføje biblioteksafhængigheden androidx.biometric til din build.gradle-fil. Når den er installeret, kan du starte systemdialogen fra din aktivitet eller dit fragment. Det er vigtigt at bruge denne standarddialog, da den opbygger brugertillid ved at præsentere en brugerflade, der er kompatibel med resten af ​​operativsystemet.

Efter vellykket godkendelse kan du bruge metoden getAuthenticationType() at vide præcis Hvordan blev brugeren identificeret?, uanset om det var via biometriske data eller via enhedslegitimationsoplysninger.

Avanceret sikkerhed med kryptografiske løsninger

Hvis du vil tage sikkerhed til det næste niveau og gå ud over en simpel adgangskontrol, er integration af CryptoObject ideel . Dette gør det muligt for kryptografiske operationer (såsom dekryptering af en nøgle) at afhænge direkte af vellykket biometrisk godkendelse.

Sådan beskytter du udvalgte apps med adgangskode
Relateret artikel:
Bedste adgangskodeadministratorer til Android

Android-frameworket understøtter objekter som f.eks. Signatur, kryptering, Mac og nøgleaftaleHvis du for eksempel bruger et krypteringsobjekt sammen med en hemmelig nøgle, vil din app være i stand til at udføre processen med datakryptering og dekryptering følsom kun efter brugeren har placeret sit fingeraftryk eller ansigt. Afhængigt af indstillingerne KeyGenParameterSpecDu kan tvinge godkendelse til at være udelukkende biometrisk eller tillade enhedens pinkode at fungere som backup.

Der findes også såkaldte brugsbaserede godkendelsesnøgler . Disse er perfekte til kritiske transaktioner, såsom store bankoverførsler, da de kræver, at brugeren godkender hver gang de tilgår data beskyttet af den specifikke nøgle, uanset om appen har været låst op før.

Optimering af oplevelsen og afsløring af svindel

Nogle gange kan vi, for handlinger med lav risiko, forhindre brugeren i at skulle trykke på en bekræftelsesknap. For at gøre dette skal du blot angive værdien false til metoden sætBekræftelseKrævet()hvilket giver mulighed for meget jævnere adgang, især med passive metoder som ansigtsgenkendelse.

I den virkelige verden findes der dog trusler som deepfakes eller trykte fotografier. Det er her, liveness detection , både aktiv og passiv, kommer i spil. Brug af sofistikeret kunstig intelligens gør det muligt at skelne et rigtigt menneske fra en efterligner og sikre, at den person, der forsøger at få adgang til kontoen, faktisk er kontoindehaveren.

For at undgå en frustrerende oplevelse er det afgørende at tilbyde klare instruktioner og øjeblikkelig feedback . Hvis en verifikation mislykkes på grund af dårlig billedkvalitet eller en utilstrækkelig livlighedsscore, bør appen informere brugeren konstruktivt, så de ved, hvordan de skal rette det ved næste forsøg.

Regler, privatliv og den biometriske HAL

Hvorfor er Android AV langsom efter en opdatering?
Relateret artikel:
Hvilke Android-indstillinger bør du tjekke med et par måneders mellemrum for sikkerhed?

Fra et lavniveauudviklingsperspektiv er retningslinjerne for biometriske HAL strenge for at forhindre datalækager. Rå biometriske data må aldrig forlade det sikre, isolerede miljø, såsom Trusted Execution Environment (TEE) eller den sikre hardwarekomponent.

Al lagring skal krypteres med enhedsspecifikke nøgler, og SELinux -politikker skal implementeres for at begrænse adgang til hardware. Derudover er det vigtigt at overholde internationale regler som GDPR og CCPA , og altid indhente udtrykkeligt brugersamtykke, før følsomme data behandles.

Android-arkitekturen har udviklet sig markant fra version 9 til 12 og introduceret forbedringer som f.eks. lokaliserede godkendelsesstrenge igennem BiometricManager.Strings, som gør det muligt at skræddersy dialogbeskederne præcist til den sensor, enheden har (for eksempel at sige "Brug ansigt" i stedet for et generisk "Brug biometri").

Nøglen til succes ligger i at kombinere officielle Android API'er med moderne sikkerhedsstandarder , robust kryptering og en intuitiv brugerflade, der ikke ofrer beskyttelse for hastighed. Ved korrekt at integrere legitimationsoplysningerne og sikkerhedsniveauer i klasse 3 opnås en sikker og professionel applikation, der beskytter brugernes privatliv til enhver tid.

Aktivér fuld privatlivstilstand på din mobilenhed
Relateret artikel:
Aktivér fuld privatlivstilstand på din Android-telefon

Tilføj som foretrukken kilde i Google