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
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
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.
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
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.
