鴻蒙OS 生物特征識(shí)別概述
提供生物特征識(shí)別認(rèn)證能力,即基于人體固有的生理特征和行為特征來(lái)識(shí)別用戶(hù)身份,供第三方應(yīng)用調(diào)用,可應(yīng)用于設(shè)備解鎖、支付、應(yīng)用登錄等身份認(rèn)證場(chǎng)景。
當(dāng)前生物特征識(shí)別能力提供 2D 人臉識(shí)別、3D 人臉識(shí)別兩種人臉識(shí)別能力,設(shè)備具備哪種識(shí)別能力,取決于設(shè)備的硬件能力和技術(shù)實(shí)現(xiàn)。3D 人臉識(shí)別技術(shù)識(shí)別率、防偽能力都優(yōu)于 2D 人臉識(shí)別技術(shù),但具有 3D 人臉能力(比如 3D 結(jié)構(gòu)光、3D TOF 等)的設(shè)備才可以使用 3D 人臉識(shí)別技術(shù)。
基本概念
生物特征識(shí)別(又叫生物認(rèn)證):通過(guò)計(jì)算機(jī)與光學(xué)、聲學(xué)、生物傳感器和生物統(tǒng)計(jì)學(xué)原理等高科技手段密切結(jié)合,利用人體固有的生理特性(如指紋、面容、虹膜等)和行為特征(如筆跡、聲音、步態(tài)等)來(lái)進(jìn)行個(gè)人身份的鑒定。
人臉識(shí)別:基于人的臉部特征信息進(jìn)行身份識(shí)別的一種生物特征識(shí)別技術(shù),用攝像機(jī)或攝像頭采集含有人臉的圖像或視頻流,并自動(dòng)在圖像中檢測(cè)和跟蹤人臉,進(jìn)而對(duì)檢測(cè)到的人臉進(jìn)行臉部識(shí)別,通常也叫做人像識(shí)別、面部識(shí)別、人臉認(rèn)證。
運(yùn)作機(jī)制
人臉識(shí)別會(huì)在攝像頭和 TEE(Trusted Execution Environment)之間建立安全通道,人臉圖像信息通過(guò)安全通道傳遞到 TEE 中,由于人臉圖像信息從 REE(Rich Execution Environment)側(cè)無(wú)法獲取,從而避免了惡意軟件從 REE 側(cè)進(jìn)行攻擊。對(duì)人臉圖像采集、特征提取、活體檢測(cè)、特征比對(duì)等處理完全在 TEE 中,基于 TrustZone 進(jìn)行安全隔離,外部的人臉框架只負(fù)責(zé)人臉的認(rèn)證發(fā)起和處理認(rèn)證結(jié)果等數(shù)據(jù),不涉及人臉數(shù)據(jù)本身。
人臉特征數(shù)據(jù)通過(guò) TEE 的安全存儲(chǔ)區(qū)進(jìn)行存儲(chǔ),采用高強(qiáng)度的密碼算法對(duì)人臉特征數(shù)據(jù)進(jìn)行加密和完整性保護(hù),外部無(wú)法獲取到加密人臉特征數(shù)據(jù)的密鑰,保證用戶(hù)的人臉特征數(shù)據(jù)不會(huì)泄露。本能力采集和存儲(chǔ)的人臉特征數(shù)據(jù)不會(huì)在用戶(hù)未授權(quán)的情況下被傳出TEE,這意味著,用戶(hù)未授權(quán)時(shí),無(wú)論是系統(tǒng)應(yīng)用還是三方應(yīng)用都無(wú)法獲得人臉特征數(shù)據(jù),也無(wú)法將人臉特征數(shù)據(jù)傳送或備份到任何外部存儲(chǔ)介質(zhì)。
約束與限制
- 當(dāng)前版本提供的生物特征識(shí)別能力只包含人臉識(shí)別,且只支持本地認(rèn)證,不提供認(rèn)證界面。
- 要求設(shè)備上具備攝像器件,且人臉圖像像素大于100*100。
- 要求設(shè)備上具有 TEE 安全環(huán)境,人臉特征信息高強(qiáng)度加密保存在 TEE 中。
- 對(duì)于面部特征相似的人(比如雙胞胎、兄弟姐妹等)、面部特征不斷發(fā)育的兒童,人臉特征匹配率有所不同。如果對(duì)此擔(dān)憂(yōu),可考慮其他認(rèn)證方式。
鴻蒙OS 生物特征識(shí)別開(kāi)發(fā)指導(dǎo)
場(chǎng)景介紹
當(dāng)前生物特征識(shí)別支持 2D 人臉識(shí)別、3D 人臉識(shí)別,可應(yīng)用于設(shè)備解鎖、應(yīng)用登錄、支付等身份認(rèn)證場(chǎng)景。
接口說(shuō)明
BiometricAuthentication 類(lèi)提供了生物認(rèn)證的相關(guān)方法,包括檢測(cè)認(rèn)證能力、認(rèn)證和取消認(rèn)證等,用戶(hù)可以通過(guò)人臉等生物特征信息進(jìn)行認(rèn)證操作。在執(zhí)行認(rèn)證前,需要檢查設(shè)備是否支持該認(rèn)證能力,具體指認(rèn)證類(lèi)型、安全級(jí)別和是否本地認(rèn)證。如果不支持,需要考慮使用其他認(rèn)證能力。
接口名 | 功能描述 |
---|---|
getInstance(Ability ability) | 獲取 BiometricAuthentication的單例對(duì)象。 |
checkAuthenticationAvailability(AuthType type,SecureLevel level, boolean isLocalAuth) | 檢測(cè)設(shè)備是否具有生物認(rèn)證能力。 |
execAuthenticationAction(AuthType type, SecureLevel level, boolean isLocalAuth,boolean isAppAuthDialog, SystemAuthDialogInfo information) | 調(diào)用者使用該方法進(jìn)行生物認(rèn)證。可以使用自定義的認(rèn)證界面,也可以使用系統(tǒng)提供的認(rèn)證界面。當(dāng)使用系統(tǒng)認(rèn)證界面時(shí),調(diào)用者可以自定義提示語(yǔ)。該方法直到認(rèn)證結(jié)束才返回認(rèn)證結(jié)果。 |
getAuthenticationTips() | 獲取生物認(rèn)證過(guò)程中的提示信息。 |
cancelAuthenticationAction() | 取消生物認(rèn)證操作。 |
setSecureObjectSignature(Signature sign) | 設(shè)置需要關(guān)聯(lián)認(rèn)證結(jié)果的Signature 對(duì)象,在進(jìn)行認(rèn)證操作后,如果認(rèn)證成功則Signature 對(duì)象被授權(quán)可以使用。設(shè)置前 Signature 對(duì)象需要正確初始化,且配置為認(rèn)證成功才能使用。 |
getSecureObjectSignature() | 在認(rèn)證成功后,可通過(guò)該方法獲取已授權(quán)的 Signature 對(duì)象。如果未設(shè)置過(guò) Signature 對(duì)象,則返回 null。 |
setSecureObjectCipher(Cipher cipher) | 設(shè)置需要關(guān)聯(lián)認(rèn)證結(jié)果的 Cipher 對(duì)象,在進(jìn)行認(rèn)證操作后,如果認(rèn)證成功則 Cipher 對(duì)象被授權(quán)可以使用。設(shè)置前 Cipher 對(duì)象需要正確初始化,且配置為認(rèn)證成功才能使用。 |
getSecureObjectCipher() | 在認(rèn)證成功后,可通過(guò)該方法獲取已授權(quán)的 Cipher 對(duì)象。如果未設(shè)置過(guò) Cipher 對(duì)象,則返回 null。 |
setSecureObjectMac(Mac mac) | 設(shè)置需要關(guān)聯(lián)認(rèn)證結(jié)果的 Mac 對(duì)象,在進(jìn)行認(rèn)證操作后,如果認(rèn)證成功則 Mac 對(duì)象被授權(quán)可以使用。設(shè)置前 Mac 對(duì)象需要正確初始化,且配置為認(rèn)證成功才能使用。 |
getSecureObjectMac() | 在認(rèn)證成功后,可通過(guò)該方法獲取已授權(quán)的 Mac 對(duì)象。如果未設(shè)置過(guò) Mac 對(duì)象,則返回 null。 |
開(kāi)發(fā)步驟
開(kāi)發(fā)前請(qǐng)完成以下準(zhǔn)備工作:
1.在應(yīng)用配置權(quán)限文件中,增加 ohos.permission.ACCESS_BIOMETRIC 的權(quán)限聲明。
2.在使用生物特征識(shí)別認(rèn)證能力的代碼文件中增加 import ohos.biometrics.authentication.BiometricAuthentication。
開(kāi)發(fā)過(guò)程:
1.獲取 BiometricAuthentication 的單例對(duì)象,代碼示例如下:
BiometricAuthentication mBiometricAuthentication = BiometricAuthentication.getInstance(MainAbility.mAbility);
2.檢測(cè)設(shè)備是否具有生物認(rèn)證能力:
2D 人臉識(shí)別建議使用 SECURE_LEVEL_S2,3D 人臉識(shí)別建議使用 SECURE_LEVEL_S3。代碼示例如下:
int retChkAuthAvb = mBiometricAuthentication.checkAuthenticationAvailability(
BiometricAuthentication.AuthType.AUTH_TYPE_BIOMETRIC_FACE_ONLY, BiometricAuthentication.SecureLevel.SECURE_LEVEL_S2, true);
3.(可選)設(shè)置需要關(guān)聯(lián)認(rèn)證結(jié)果的 Signature 對(duì)象或 Cipher 對(duì)象或 Mac 對(duì)象,代碼示例如下:
// 定義一個(gè)Signature對(duì)象sign;
mBiometricAuthentication.setSecureObjectSignature(sign);
// 定義一個(gè)Cipher對(duì)象cipher;
mBiometricAuthentication.setSecureObjectCipher(cipher);
// 定義一個(gè)Mac對(duì)象mac;
mBiometricAuthentication.setSecureObjectMac(mac);
4.在新線(xiàn)程里面執(zhí)行認(rèn)證操作,避免阻塞其他操作,代碼示例如下:
new Thread(new Runnable() {
@Override
public void run() {
int retExcAuth;
retExcAuth = mBiometricAuthentication.execAuthenticationAction( BiometricAuthentication.AuthType.AUTH_TYPE_BIOMETRIC_FACE_ONLY, BiometricAuthentication.SecureLevel.SECURE_LEVEL_S2, true, false, null);
}
}).start();
5.獲得認(rèn)證過(guò)程中的提示信息,代碼示例如下:
AuthenticationTips mTips = mBiometricAuthentication.getAuthenticationTips();
6.(可選)認(rèn)證成功后獲取已設(shè)置的 Signature 對(duì)象或 Cipher 對(duì)象或 Mac 對(duì)象,代碼示例如下:
Signature sign = mBiometricAuthentication.getSecureObjectSignature();
Cipher cipher = mBiometricAuthentication.getSecureObjectCipher();
Mac mac = mBiometricAuthentication.getSecureObjectMac();
7.認(rèn)證過(guò)程中取消認(rèn)證,代碼示例如下:
int ret = mBiometricAuthentication.cancelAuthenticationAction();
-
人臉識(shí)別
+關(guān)注
關(guān)注
76文章
4021瀏覽量
82377 -
生物特征識(shí)別
+關(guān)注
關(guān)注
1文章
17瀏覽量
9998 -
鴻蒙
+關(guān)注
關(guān)注
57文章
2395瀏覽量
43091 -
HarmonyOS
+關(guān)注
關(guān)注
79文章
1983瀏覽量
30630
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
最酷的生物識(shí)別技術(shù)
HarmonyOS應(yīng)用開(kāi)發(fā)-生物特征識(shí)別安全
生物識(shí)別技術(shù)可靠嗎?
基于自適應(yīng)并行結(jié)構(gòu)的多模態(tài)生物特征識(shí)別
![基于自適應(yīng)并行結(jié)構(gòu)的多模態(tài)<b class='flag-5'>生物</b><b class='flag-5'>特征</b><b class='flag-5'>識(shí)別</b>](https://file.elecfans.com/web2/M00/49/6B/pYYBAGKhtE6AI7j5AAAUds7kfDY186.jpg)
自適應(yīng)并行結(jié)構(gòu)的多模態(tài)生物特征識(shí)別
![自適應(yīng)并行結(jié)構(gòu)的多模態(tài)<b class='flag-5'>生物</b><b class='flag-5'>特征</b><b class='flag-5'>識(shí)別</b>](https://file.elecfans.com/web2/M00/4A/08/pYYBAGKhvIyAL2riAAAy14aHGHI188.png)
基于生物特征識(shí)別的虹膜識(shí)別技術(shù)介紹及其應(yīng)用
生物特征識(shí)別,身體就是密碼鑰匙
幾大生物特征識(shí)別技術(shù)對(duì)比淺析,你了解多少呢?
DERMALOG憑借其自動(dòng)生物識(shí)別系統(tǒng),推出多生物特征識(shí)別方案
生物識(shí)別技術(shù)觸手可及,多生物特征識(shí)別開(kāi)始互相融合
![<b class='flag-5'>生物識(shí)別</b>技術(shù)觸手可及,多<b class='flag-5'>生物</b><b class='flag-5'>特征</b><b class='flag-5'>識(shí)別</b>開(kāi)始互相融合](https://file.elecfans.com/web1/M00/68/FE/o4YBAFvQN6SAVtdIAAFmy6MdNsE548.png)
評(píng)論