Tänapäeval ei pea privaatse teabe või eksklusiivse rakenduste sisu kaitsmine kasutajale peavalu valmistama. Biomeetrilise autentimise rakendamine on muutunud peamiseks vahendiks selle keerulise tasakaalu saavutamiseks kindla turvalisuse ja tüütu kasutuskogemuse vahel, mis sarnaneb turvalise kausta abil privaatfailide kaitsmisele.
Kui kaalute, kuidas neid funktsioone oma projekti integreerida, on esimene asi, mida teada, et Android pakub väga tugevat ökosüsteemi. See ei seisne ainult sõrmejälje küsimises, vaid ka juurdepääsuvoogude haldamises , mis kohanduvad kasutaja seadmega, tagades andmete turvalisuse olenemata sellest, kas tegemist on tipptasemel telefoniga või tagasihoidlikuma mudeliga.
Olulised tööriistad: volituste haldur ja biomeetriline päring
Hea alguse tegemiseks on oluline mõista saadaolevaid tööriistu. Üldreeglina on volituste haldur parim valik , kui kasutaja rakendust seadmes esimest korda kasutab. Järgmiste juurdepääsude korral, kui on vaja vaid kiiret uuesti autoriseerimist, saate valida biomeetrilise päringu või eelmainitud volituste halduri vahel.
Biomeetrilise päringu peamine eelis on see, et see võimaldab dialoogiboksi suuremat kohandamist, samas kui volituste haldur pakub mõlema töövoo jaoks lihtsamat ja ühtsemat rakendust. Tasub märkida, et biomeetriline teek on asendanud vanema FingerprintManager API, mis aegus mõnda aega tagasi.
Autentimisseadmete tüübid ja turvatasemed
Kõik biomeetrilised andurid ei ole võrdsed ja Android mõistab seda, liigitades autentimisseadmeid BiometricManager.Authenticators liidese kaudu . Sõltuvalt teie rakenduse vajadustest saate deklareerida järgmised tasemed:
- BIOMEETRILINE_TUGEVSee viitab 3. klassi meetoditele, mis on kõige ohutumad ja rangemad.
- BIOMEETRILINE_NÕRK2. klassi autentijad, mis pakuvad vastuvõetavat tasakaalu, kuid madalamat turvalisust.
- SEADME_MANDAADI ANDMEDSiin tulevadki mängu traditsioonilised ekraanilukustusmeetodid, näiteks PIN-kood, muster või parool.
Oluline on meeles pidada, et nende toimimiseks peab kasutaja olema eelnevalt lukustusmeetodi seadistanud, näiteks teadma Kuidas valida Androidis 6-kohalist PIN-koodiKui mitte, siis süsteem käivitab automaatselt biomeetrilise registreerimise voog nii et kasutaja loob oma identimisandmed. Selle konfigureerimiseks koodis kasutatakse meetodit. setAllowedAuthenticators(), võimaldades teil isegi kombineerida mitut tüüpi juurdepääsu.
Samm-sammult rakendamise voog
Kui olete otsustanud, millist turvalisuse taset vajate, on järgmine samm kontrollige saadavust nimetatud andurite meetodi abil canAuthenticate()Kui seadmel pole andmeid salvestatud, saate toimingu käivitada ACTION_BIOMETRIC_ENROLL et suunata kasutaja süsteemiseadetesse ja konfigureerida tema biomeetria.
Sisselogimistaotluse juurutamiseks peate oma build.gradle faili lisama androidx.biometric teegi sõltuvuse . Pärast installimist saate süsteemidialoogi käivitada oma tegevusest või fragmendist. Selle standarddialoogi kasutamine on ülioluline, kuna see suurendab kasutajate usaldust, pakkudes ülejäänud operatsioonisüsteemiga ühilduvat liidest.
Pärast edukat autentimist saate meetodit kasutada getAuthenticationType() täpselt teadma Kuidas kasutaja tuvastati?olgu see siis biomeetriliste andmete või seadme volituste kaudu.
Täiustatud turvalisus krüptograafiliste lahendustega
Kui soovite turvalisuse viia järgmisele tasemele ja minna lihtsast juurdepääsukontrollist kaugemale, on CryptoObjecti integreerimine ideaalne . See võimaldab krüptograafilistel toimingutel (näiteks võtme dekrüpteerimisel) otseselt sõltuda edukast biomeetrilisest autentimisest.
Androidi raamistik toetab selliseid objekte nagu Allkiri, šifr, Mac ja võtmelepingNäiteks kui kasutate koos SecretKey-ga Cipher-objekti, saab teie rakendus teostada järgmise protsessi: andmete krüpteerimine ja dekrüpteerimine tundlik alles pärast seda, kui kasutaja on oma sõrmejälje või näo asetanud. Sõltuvalt sätetest KeyGenParameterSpecSaate autentimise sundida rangelt biomeetriliseks või lubada seadme PIN-koodil toimida varukoopiana.
Samuti on olemas nn kasutuspõhised autentimisvõtmed . Need sobivad ideaalselt kriitiliste tehingute, näiteks suurte pangaülekannete jaoks, kuna need nõuavad kasutajalt iga kord autentimist, kui ta pääseb juurde selle konkreetse võtmega kaitstud andmetele, olenemata sellest, kas rakendus on varem avatud.
Kogemuse optimeerimine ja pettuste avastamine
Mõnikord saame madala riskiga toimingute puhul takistada kasutajal kinnitusnupu vajutamist. Selleks edastage lihtsalt väärtus false meetodile setConfirmationRequired()mis võimaldab palju sujuvamat juurdepääsu, eriti passiivsete meetodite, näiteks näotuvastuse abil.
Pärismaailmas aga eksisteerivad sellised ohud nagu süvavõltsingud või trükitud fotod. Siin tuleb mängu nii aktiivne kui ka passiivne elusolemise tuvastamine . Keeruka tehisintellekti kasutamine võimaldab eristada päris inimest jäljendajast, tagades, et kontole ligi pääseda üritav isik on tõepoolest konto omanik.
Pettumuse vältimiseks on oluline pakkuda selgeid juhiseid ja kohest tagasisidet . Kui kontrollimine ebaõnnestub halva pildikvaliteedi või ebapiisava ereduse skoori tõttu, peaks rakendus kasutajat konstruktiivselt teavitama, et ta teaks, kuidas seda järgmisel katsel parandada.
Määrused, privaatsus ja biomeetriline HAL
Madalama arendustaseme seisukohast on biomeetrilise HAL-i juhised andmete lekete vältimiseks ranged. Toores biomeetriline teave ei tohi kunagi lahkuda turvalisest isoleeritud keskkonnast, näiteks usaldusväärsest täitmiskeskkonnast (TEE) või turvalisest riistvarakomponendist.
Kogu salvestusruum peab olema krüpteeritud seadmepõhiste võtmetega ning riistvarale juurdepääsu piiramiseks tuleb rakendada SELinuxi poliitikaid . Lisaks on oluline järgida rahvusvahelisi eeskirju, nagu GDPR ja CCPA , ning enne tundlike andmete töötlemist küsida alati kasutajalt selgesõnalist nõusolekut.
Androidi arhitektuur on versioonist 9 versioonini 12 märkimisväärselt arenenud, tuues kaasa selliseid täiustusi nagu lokaliseeritud autentimisstringid läbi BiometricManager.Strings, mis võimaldavad dialoogisõnumeid täpselt seadme andurile vastavaks kohandada (näiteks öeldes „Kasuta nägu” üldise „Kasuta biomeetriat” asemel).
Edu võti peitub ametlike Androidi API-de kombineerimises kaasaegsete turvastandardite , tugeva krüptimise ja intuitiivse liidesega, mis ei ohverda kaitset kiiruse nimel. Volitusandmete halduri ja 3. klassi turvatasemete nõuetekohase integreerimise abil saavutatakse turvaline ja professionaalne rakendus, mis kaitseb kasutaja privaatsust igal ajal.
