Ang pagpapalabas ng isang iPhone nang walang isang sensor ng fingerprint ay nagdala ng ilang pag-uusap tungkol sa paggamit ng mga fingerprint para sa pagpapatunay at kung paano ligtas na naka-imbak ang data. Iyon ay kahanga-hangang. Kahit na hindi ka nag-aalala tungkol sa kung paano ito nagawa, kailangan mo ng maraming iba pang mga tao na aalala upang gawin ito sa paraang hindi mo kailangang mag-alala!
Para sa mga nagsisimula, ang Apple ay gumagamit ng isang katulad na solusyon at kung mayroon kang isang mas lumang modelo na may sensor ng daliri ay ligtas ka sa paggamit nito tulad ng dati. Ang parehong napupunta para sa mga mas lumang mga teleponong Samsung na naglunsad ng pre-Marshmallow at ginamit ang sariling pamamaraan ng Samsung.
Ang paraan ng pag-iimbak ng Google ng iyong data ng fingerprint ay ang pinaka ligtas na paraan na posible sa kasalukuyang tech. Nakatutuwa rin kung gaano kadali ang pangkalahatang-ideya ng pangkalahatang bagay sa sandaling mayroon kang isang pagtingin dito. Ang simple at ligtas ay palaging isang panalong combo.
Ang imbakan ay, sa pamamagitan ng likas na katangian nito, hindi masyadong ligtas. Ito ay ang parehong bagay tulad ng pagsulat ng isang bagay sa isang post-tandaan at inilalagay ito sa isang file cabinet. Nariyan ito sapagkat kailangan doon, at ang pinakamahusay na bagay na maaari mong gawin ay makontrol ang may access dito. Para sa isang file cabinet, gumagamit ka ng isang kandado, at para sa iyong telepono, gumagamit ka ng pag-encrypt. Para sa iyong data ng daliri, ang mga bagay ay pupunta sa isang hakbang pa: isang Pinagkakatiwalaang Pagpapatupad na Kalikasan (TEE).
Ang TEE ay isang hiwalay at nakahiwalay na lugar sa hardware ng telepono. Ang isang TEE ay maaaring gumamit ng sariling processor at memorya o maaari itong gumamit ng isang virtualized na halimbawa sa pangunahing CPU. Sa parehong mga kaso, ang TEE ay ganap na nakahiwalay at nakakubkob gamit ang memorya na sinusuportahan ng hardware at proteksyon ng input / output. Ang tanging paraan na makakapasok ka ay kung pinapayagan ka ng TEE, at hinding-hindi. Kahit na naka-ugat ang telepono o naka-lock ang bootloader, hiwalay ang TEE at buo pa rin.
Ang isang hiwalay na processor na may sariling memorya at operating system ay ginagamit upang pag-aralan at itabi ang iyong data ng daliri.
Ginagamit ng Google ang tinatawag nilang Trusty TEE upang suportahan ito. Ang isang napakaliit at mahusay na operating system, na naaangkop na pinangalanang Trusty OS, ay tumatakbo sa TEE hardware at kernel driver ay pinapayagan itong makipag-usap sa system. Mayroong mga aklatan ng Android (nahulaan mo ito: ang Mapagkakatiwalaang API) na gagamitin ng mga developer upang maaari silang magtanong kung ano ang halaga sa isang oo o walang tanong sa TEE. Hindi lamang ang data ng daliri ay naka-imbak sa TEE. Ang mga bagay tulad ng mga pindutan ng DRM at mga key ng pag-encrypt ng tagagawa ng bootloader ay nakatira din sa TEE at gumagana sa parehong paraan ng iyong data ng fingerprint - sagutin kung ang data na ipinakita dito sa pamamagitan ng isang application ay tumutugma sa kilalang mahusay na data na iniimbak nito.
Ang iba pang mga tagagawa ay maaaring gumamit ng Trusty OS o pagkatapos ay maaaring gumamit ng ibang sistema. Hangga't ang lahat ng mga pamantayan ay natutugunan (nakalista sa ibaba) at ang TEE ay ihiwalay at insulated ay matugunan nito ang mga pamantayan sa seguridad na kinakailangan upang magamit ang Pixel Imprint (dating Nexus Imprint).
Kapag nagparehistro ka ng isang fingerprint sa iyong Android phone, kinuha ng sensor ang data mula sa pag-scan. Sinusuri ng Trusty OS ang data na ito sa loob ng TEE, pagkatapos ay lumilikha ng dalawang bagay: isang hanay ng data ng pagpapatunay at isang naka-encrypt na template ng fingerprint. Ito ay lilitaw na maging basura ng data sa lahat maliban sa TEE na mayroon ding susi upang matukoy ang data ng basura. Ang naka-encrypt na template ng fingerprint ay naka-imbak sa isang naka-encrypt na lalagyan alinman sa TEE o sa naka-encrypt na imbakan ng iyong telepono. Ang tatlong mga layer ng pag-encrypt ay nangangahulugang halos imposible na makuha ang data, at kahit na maaari mong walang saysay na walang paraan upang maipaliwanag ito.
Kinakailangan ng Android ang iyong data ng daliri upang ma-secure na may isang natatanging key, at maaari mong; dalhin ito sa ibang telepono o muling gamitin ito para sa isa pang gumagamit.
Ang data ng pagpapatunay ay naka-imbak sa loob ng TEE. Kapag inilagay mo ang iyong daliri sa scanner upang subukan at gumawa ng isang bagay, ang scanner ay nagtatayo ng isang profile ng data. Sa pamamagitan ng Trusty API, hinihiling ng nauugnay na application ang kernel na tanungin ang TEE kung tama ito. Ang tseke ng TEE laban sa naka-imbak na data ng pagpapatunay gamit ang hiwalay na processor at memorya nito, at kung sapat ang data ay tumutugma sa oo. Kung walang sapat na pagtutugma ng data, sinabi nito na hindi. Ang pass o fail na pagtugon na ito ay ipinapabalik sa kernel bilang isang token ng software na mabasa ng API upang makita ang resulta.
Habang ang TEE mismo ay gumagamit ng isang standalone OS at hardware upang manatiling ligtas, ang template ng fingerprint ay gumagamit ng encrypt na batay sa software. Dapat itong lagdaan ng isang napaka-tiyak na susi upang maging wasto. Ang susi na ito ay nilikha gamit ang impormasyon na tiyak sa aparato, impormasyon na partikular sa gumagamit, at impormasyon na tiyak sa oras. Sa madaling salita, kung aalisin mo ang isang gumagamit, baguhin ang mga aparato o pagtatangka upang muling magrehistro ng isang fingerprint (masasabi ng system kung nasusulat mo ang isang umiiral na fingerprint) ang susi ay hindi na kinikilala at hindi maaaring magamit upang i-decrypt ang fingerprint template.
Ang mga pangunahing patakaran na dapat na sundin ng bawat kumpanya ng mga teleponong Android na may sensor ng fingerprint:
- Ang lahat ng pag-aaral ng data ng daliri ay dapat isagawa sa loob ng TEE
- Ang lahat ng data na nauugnay sa isang fingerprint ay dapat na naka-imbak sa TEE o sa mapagkakatiwalaang memorya (memorya na hindi makita ng pangunahing CPU)
- Ang data ng profile ng daliri ay dapat na naka-encrypt kahit na naka-imbak sa naka-encrypt na imbakan ng telepono
- Ang pag-alis ng isang account sa gumagamit ay dapat ding ligtas na punasan ang anumang data na nauugnay sa mga fingerprint ng gumagamit na iyon
- Kung saan ang mga profile ng fingerprint ay naka-imbak ay hindi dapat makita ng anumang aplikasyon, proseso, o gumagamit kabilang ang root user
- Ang data ng daliri ng anumang uri ay hindi dapat mai-back up sa anumang iba pang mapagkukunan, kabilang ang ulap o ang iyong computer o anumang aplikasyon
- Ang pagpapatunay ng daliri ay dapat gamitin ng proseso na hiniling nito (walang pagbabahagi ng anumang data ng fingerprint, kahit na oo o walang sagot upang makita kung tama ito)
Kapag mayroon kang ilang mga karaniwang mga pagtutukoy na malinaw, hindi mahirap matugunan ang mga ito. Ito ang tinitiyak na anuman ang iyong telepono sa telepono na ginagamit mo ang iyong data ng fingerprint ay maiimbak nang ligtas at walang ibang proseso ng system o app ang makakakuha ng access dito. Tulad ng nagbabago ang krograpiya, lalo na ang naka-encrypt na naka-back-encrypt ng hardware, gayon ang pamamaraang ito upang mapanatiling ligtas ang data ng iyong mga daliri. Ito ay magiging kagiliw-giliw na tumingin muli kapag ang paglulunsad ng Android Z at makita kung hanggang saan kami dumating.