2023基于TEE的指纹识别技术要求_第1页
2023基于TEE的指纹识别技术要求_第2页
2023基于TEE的指纹识别技术要求_第3页
2023基于TEE的指纹识别技术要求_第4页
2023基于TEE的指纹识别技术要求_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于TEE的指纹识别技术要求II目 次前言 II范围 3规性用件 3术和义 3缩语 3指识流程 4纹册程 4纹验程 4纹注流程 5指信的集管、加、储验要求 6纹息采与理要求 6纹息密存要求 6纹对求 6运环要求 77能求 7REE指接要求 7REE纹口能求 7否持纹验询接口 7REE境纹关作接口 7TEE指接要求 12TEE纹口能求 12纹口 13础口 15据构 18态码 18REE与TEE通及TA更接要求 1910.1总则 1910.2AbstractTEEClient类 1933基于TEE的指纹识别技术要求范围本文件规范了移动智能终端基于TEE指纹识别的技术要求。本文件规范适用于具有TEE运行环境的移动智能终端的指纹识别研发、设计、测试等活动。下列文件中的内容通过文中的规范性引用而构成本文件必不可少的条款。其中,注日期的引用)GB/T41388-2022信息安全技术可信执行环境基本安全规范下列术语和定义适用于本文件。3.1可信执行环境trustedexecutionenvironment移动智能终端上基于硬件级隔离及安全启动机制,为确保安全敏感应用相关数据和代码的机密性、完整性、真实性和不可否认性目标构建的一种软件运行环境。注:环访问的一种安全机制。[来源:GB/T41388-2022,3.3,有改写]3.2富执行环境richexecutionenvironment移动智能终端上为应用程序提供基础功能和计算资源的一种软件软件环境。注:富执行环境是相对可信执行环境独立存在的运行环境。[来源:GB/T41388-2022,3.4,有改写]3.3错误接受率falseacceptancerate指纹样本特征与存储的指纹模板的比对过程中,发生错误接受结果的比对次数与总比对次数的比值。3.4错误拒绝率falserejectionrate指纹样本特征与存储的指纹模板的比对过程中,发生错误拒绝结果的比对次数与总比对次数的比值。缩略语下列缩略语适用于本文件。API:应用程序接口(ApplicationProgramInterface)44FAR(FalseAcceptanceRate)FRR(FalseRejectionRate)REE(RichExecutionEnvironment)SE(SecureElement)TA:可信应用(TrustedApplication)TEE:可信应用执行坏境TrustedExecutionEnvironment指纹注册消息流程见图1。图1 指流程指纹注册消息流程具体如下:校验服务器生成注册请求(包含用户名、挑战数)校验服务调用可信执行环境中的校验安全应用,发起指纹校验。用户完成校验后,校验安全应用校验请求消息,生成用户公私钥对,在本地保存开通记录(索引))器;(。指纹校验消息流程见图2。55图2 指纹验息程指纹校验消息流程具体如下:校验服务器生成校验请求(包含用户名、挑战数、交易信息)全应用校验请求消息,获取校验结果,比对指纹索引,最后生成校验响应()器;指纹去注册消息流程见图3。66图3 指纹注消流程指纹去注册消息流程具体如下:要求如下:如(如TEE)中;IDTEETEE要求如下:(TEESE)SM2、RSA2048)SM4、AES256CBC)要求如下:TEE、SE)77REETEEID。总则指纹关键模块应运行在安全环境(如TEE、SE)中。性能要求如下:RSA20486FAR≤1/50000FRR≤3%。REEREEREE指纹接口应支持的功能包括:ID;IID描述如下:URL:content://rmation;在运行Android的设备上,如果支持指纹识别器并且具备可信执行环境,设备可以通过ContentProviderAndroid层使用APImodelTEEREEAndroidfingerprintTEE1。表1 是否持纹验询口参数列必填说明备注model是型号格式:OME厂商-型号fingerprint是是否支持指纹1:支持,0:不支持REEAbstractFingerprint类描述描述如下:AbstractFingerprint8.1abstractclass88,com.ifaa.android.fingerprintpackageFingerprinte) openAbstractFingerprintFingerprint.open()throwsUnsupportedExceptionAbstractFingerprintFingerprint.open()throwsUnsupportedException{}该方法应由设备厂商使用自己的指纹服务类实现,且Fingerprint类应继承于AbstractFingerprintAbstractFingerprintAbstractFingerprint类release/**/**release实例*@return*/publicabstractintrelease();描述指纹服务的实例提供releaseopen返回值0:-getFpIDs/**/**ID集合*@return*/publicabstractint[]getFpIDs();描述99IDID返回值null0int[]:IDgetFpName*@return*/publicabstractStringgetFpName(intid);/**id**@paramid指纹索引描述ID参数。返回值startFpManager(Contextcontext/**/***取id对应的指纹模板的名称*@paramcontext@return */publicabstractintstartFpManager(Contextcontext);描述跳转至设备厂商的指纹管理器。该接口一般用于未录入指纹的情况,方便用户录入指参数Contextcontext:Android返回值10100:-1/**/***@paramidentifyListenerlistener@paramtimeout<=0:0:)@paramids@paramuserData@returnIFingerprintAPI.CMD_RESULT_OK败*/publicabstractintstartFpIdentify(IdentifyListeneridentifyListener,inttimeout,int[]ids,BundleuserData);描述Android该接口应支持2参数IdentifyListeneridentifyListener8.3.2;inttimeoutcancelint[]idsnull时表示认证所有手机上的指纹;否则表示认证限制IDIDBundleuserData:返回值RESULT_SUCCESS100RESULT_FAILURE101cancel1111/**/**canceltheoperation*@return*/publicabstractintcancel();描述取消正在进行的认证操作,调用该接口可触发IdentifyListener的onResult返回RESULT_USER_CANCELstartFpIdentify返回值0:-1:IdentifyListener描述描述如下:IdentifyListenerc) onResult/**/**onRult*@paramresult结果,见"8.3.3"表格开头@paramid@paramuserData*/voidonResult(intresult,intid,B描述IdentifyListener参数intresult8.3.3RESULT_开头;intididID;BundleuserData:onStatus()方法1212/**/**onStatus*@paramstatus状态,"8.3.3"@paramuserData用户数据*/voidonStatus(intstatus,BundleuserData);描述IdentifyListener参数intstatus8.3.3表格STATUS_义;BundleuserData:指纹识别结果定义见表2,指纹识别状态定义见表3。表2 指纹别果义结果取值说明RESULT_SUCCESS100成功RESULT_FAILURE101失败RESULT_CANCELED102用户取消RESULT_NO_MATCH103无匹配指纹RESULT_NOT_SUPPORT111机器不支持指纹RESULT_NO_ENROLLED114本机未录入任何指纹RESULT_TIMEOUT113超时RESULT_SENSOR_ERROR116传感器错误RESULT_NOT_ENABLED115指纹功能未开启表3 指纹别态义状态取值说明STATUS_WAITING_INPUT1等待输入指纹STATUS_INPUTTING2正在输入指纹STATUS_INPUT_COMPLETED3输入指纹完成TEETEE1313TEE指纹接口需要支持的功能如下:40IDIDIDID3sID2048key/valueTEE_EXT_GetDeviceUniqueIdTEE_ResultTEE_EXT_GetDeviceUniqueId([inbuf/outbuf]uint32_t*outputTEE_ResultTEE_EXT_GetDeviceUniqueId([inbuf/outbuf]uint32_t*output,[inbuf/outbuf]uint32*outlen)描述IDID参数uint32_t*output40ID;uint32*outlenbuf输出:设备指纹的长度。返回值REETEETEE_FpGetLastIdentifyResultintTEE_FpGetLastIdentifyResult(intTEE_FpGetLastIdentifyResult([inbuf/outbuf]int*id)描述置。参数。返回值TEE_FP_GET_ID_ERRORIDTEE_FpGetIds1414intTEE_FpGetIds(intTEE_FpGetIds([inbuf/outbuf]int*ids,[inbuf/outbuf]int*idsCount)描述IDID参数int*idsID列表;int*idsCount:输整指针由用维内,输为经入纹一ID的个数如ids的 buf过小则接回要buf的小。返回值TEE_SUCCESSTEE_FP_GET_IDS_FAILIDTEE_FpGetAuthorticatorVersionintTEE_FpGetAuthorticatorVersion(intTEE_FpGetAuthorticatorVersion([inbuf/outbuf]uint32*ver)描述TEE_FpAuthenticatorSignTEE_FpAuthenticatorSign参数uint32*ver返回值TEE_SUCCESS:TEE_FP_FAILIDTEE_FpAuthenticatorSignintTEE_Fp_AuthenticatorSign(intTEE_Fp_AuthenticatorSign([inbuf]uint32_t*src,[inbuf]uint32src_len,[outbuf]uint32_t*des,[outbuf]uint32*deslen)描述使用指纹检验器的私钥对传入的数据签名。指纹检验器的私钥由设备厂商维护,不能SM2_SM3RSA_SHA256。参数uint32_t*srcuint32src_lenuint32_t*des1515uint32*des_len返回值TEE_SUCCESSTEE_FP_SIGN_FAILTEE_GeneratekeykeySize,keySize,TEE_Attribute*params,uint32_tparamCount)uint32_tobject,TEE_GenerateKey(TEE_ResultTEE_ObjectHandle描述TEE_ObjectHandleobjectuint32_tkeySizeTEE_Attribute*paramsuint32_tparamCountTEE_SUCCESSTEE_ERROR_BAD_PARAMETERS:TEE_FpRsaPrivateSignTEE_ResultTEE_FpRsaPrivateSign(TEE_ResultTEE_FpRsaPrivateSign([in]TEE_OperationHandleoperation,[inbuf]unsignedchar*src,[inbuf]intsrc_len,[inbuf/outbuf]unsignedchar*des,[inbuf/outbuf]int*des_len,[inbuf]sign_typetype)type签名,type支持SM3和sha256TEE_OperationHandleoperationunsignedchar*srcintsrc_lenunsigneddesint*des_lenTEE_SUCCESSTEE_RSA_PRI_SIGN_FAILTEE_FP_Rsa_Pubverify1616TEE_ResultTEE_FP_Rsa_PubVerify(TEE_ResultTEE_FP_Rsa_PubVerify([in]TEE_OperationHandleoperation,[inbuf]unsignedchar*src,[inbuf]intsrc_len,[inbuf/outbuf]unsignedchar*des,[inbuf/outbuf]int*des_len,[inbuf]sign_typetype)使用公钥对指定的数据按照指定的type验证签名。type和私钥签名支持的类型一致;sign_typetypeTEE_OperationHandleoperationunsignedchar*srcintsrc_lenunsignedchar*desint*des_lensign_typetypeTEE_SUCCESSTEE_RSA_PUB_VERIFY_FAILTEE_GenerrateRandomvoidTEE_GenerateRandom([inbuf/outbuf]void*randomBuffer,[inbuf]size_t randomBufferLen)描述参数void*randomBufferbufbufsize_trandomBufferLen返回值TEE_SUCCESSTEE_FP_RANDOM_FAILTEE_GetSystemTimevoidTEE_GetSystemTime([outbuf]TEE_Time*timevoidTEE_GetSystemTime([outbuf]TEE_Time*time)描述1717参数timeGPtime。返回值无。TEE_SaveintTEE_save(intTEE_save([inbuf]uint32_t*[inbuf] uint32 key_len,[inbuf]uint32_t*value,[inbuf]uint32value_len)描述TEE参数uint32_t*keyuint32key_lenuint32_t*valueuint32value_len返回值TEE_SUCCESSTEE_LoadintTEE_load(intTEE_load([inbuf]uint32_t* key, [inbuf] uint32 key_len,[outbuf]uint32_t*value,[outbuf]uint32 value_len)描述从TEE参数uint32_t*keyuint32key_lenuint32_t*Valuebuf;uint32value_len返回值TEE_SUCCESSTEE_FAILFAIL:失败。TEE_RemoveintTEE_Remove(intTEE_Remove([inbuf] uint32_t* [inbuf] key_len)1818描述从TEE参数uint32_t*keyuint32key_len返回值TEE_SUCCESS:TEE_FAILTEE_Mallocvoid* TEE_Malloc([inbuf] size_t size, void* TEE_Malloc([inbuf] size_t size, uint32_thint)描述参数size_tsizeuint32_thint返回值buffer;NULL。TEE_FreevoidTEE_Free(void*buffer)voidTEE_Free(void*buffer)描述释放指定bufferNULLTEE_MALLOC参数void*bufferbuffer返回值无。RSA_SIGN_TYPE_SHA256//RSASIGNWITHSHA256RSA_SIGN_TYPE_SHA256//RSASIGNWITHSHA256}sign_type;//RSASIGNWITHSM30,typedefenumrsa_sign_type{RSA_SIGN_TYPE_SM3 =描述:RSA签名类型,目前支持SM3和sha256。状态码1919状态码见表4。表4 状码名称值TEE_SUCCESS

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论