[英]Is it doable to collect user fingerprint with android?
使用android收集用戶指紋是否可行? 我們的后端系統有一個指紋數據庫。 我們想將收集到的指紋與數據庫進行匹配,看看是否匹配。
如果“收集用戶指紋”是指以某種形式獲取指紋圖像,那么不,您不能。
Android 的指紋 API 基本上是這樣工作的:
用戶在 Android 設置應用程序中注冊指紋。
您的應用程序會創建一個與用戶關聯的加密密鑰和一個基於該密鑰的CryptoObject
,然后啟動指紋身份驗證。
如果傳感器讀取的指紋與任何注冊的指紋匹配,則認證成功, CryptoObject
可用於執行加密操作(例如加密/解密某些數據)。
您的應用程序、任何其他應用程序甚至操作系統都無法使用實際指紋。
從谷歌的指紋實施指南到制造商:
絕不能從傳感器驅動程序或可信執行環境 (TEE) 外部訪問原始指紋數據或派生數據(例如模板) 。
實際上我的問題是關於收集多個用戶指紋的可能性。 我有一個存儲所有用戶指紋的數據庫。 現在我想要一個應用程序。 用戶可以使用他的指紋登錄我的應用程序。 是否可以?
關於在 Android 設備上使用內置指紋掃描儀,我認為不可能有任何類型的“收集”與以前掃描的指紋相關的數據。 Android 系統用於存儲和匹配掃描指紋的環境非常密封(稱為 TEE - 可信執行環境),並且根據 Android Central 文章( https://www.androidcentral.com/how-does-android-save -your-fingerprints ) 有一些基本規則,每家制造帶有指紋傳感器的 Android 手機的公司都必須遵循,其中包括:
因此,您可以擁有具有指紋驗證功能的應用程序,但它只是“已驗證”或“未驗證”響應,基於已在“設置”中在此設備上注冊的指紋,而無法將每個用戶與每個指紋聯系起來.
我還沒有嘗試過這個,但最近的 Android 操作系統(棉花糖)有能力做到這一點。
“要通過指紋掃描對用戶進行身份驗證,請獲取新的 FingerprintManager 類的實例並調用 authenticate() 方法。您的應用程序必須在具有指紋傳感器的兼容設備上運行。您必須在上實現指紋身份驗證流程的用戶界面您的應用程序,並在您的 UI 中使用標准的 Android 指紋圖標。Android 指紋圖標 (c_fp_40px.png) 包含在指紋對話框示例中。如果您正在開發多個使用指紋身份驗證的應用程序,請注意每個應用程序都必須對用戶的身份進行身份驗證指紋獨立。”
https://developer.android.com/about/versions/marshmallow/android-6.0.html
兩個限制:
您可以在此處找到 Android 6.0 的最新市場份額:
使用外部指紋掃描儀可以做到這一點。
通過外部指紋掃描儀,我指的是除了 Android 設備附帶的默認指紋掃描儀之外,您還可以使用的指紋掃描儀。
至於外部指紋掃描儀,基於USB 的指紋掃描儀足以滿足您的用例。
要捕獲可以發送到后端系統數據庫的指紋圖像,您可以從那里保存它們並將它們與由計算機捕獲的其他指紋圖像進行比較,您的板載指紋掃描儀不足以滿足@Michael 提到的這種用例回答。 這是您最好的選擇外部指紋掃描儀的地方。
要將外部指紋掃描儀引入您的 Android 設備,您需要使用OTG 電纜將 USB 指紋掃描儀連接到您的 Android 設備。
此后,您必須獲得指紋掃描儀的Android 生物識別 API來編寫一個 Android 應用程序,該應用程序可以對指紋掃描儀進行諸如指紋捕獲、指紋登記和指紋驗證之類的調用,以便您能夠捕獲指紋圖像以進行生物識別登記和生物特征認證。
必須確保通過網絡將生物指紋數據中繼到系統數據庫進行存儲或身份驗證是通過安全的專用 VPN 連接進行的,在通過連接 Android 的網絡發送之前先加密設備和您的后端系統。
重要提示:並非所有指紋掃描儀都附帶Android 生物識別 API ,可以幫助您實施 Android 生物識別指紋捕獲或 Android 生物識別指紋注冊。 在為您的 Android 生物識別集成項目選擇單元指紋掃描儀之前,您需要先檢查一下。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.