CN113138845A - 指纹识别方法、装置、终端及存储介质 - Google Patents
指纹识别方法、装置、终端及存储介质 Download PDFInfo
- Publication number
- CN113138845A CN113138845A CN202110449265.XA CN202110449265A CN113138845A CN 113138845 A CN113138845 A CN 113138845A CN 202110449265 A CN202110449265 A CN 202110449265A CN 113138845 A CN113138845 A CN 113138845A
- Authority
- CN
- China
- Prior art keywords
- level
- fingerprint
- execution system
- trusted execution
- preset
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 164
- 230000008569 process Effects 0.000 claims abstract description 121
- 230000026676 system process Effects 0.000 claims abstract description 95
- 238000012545 processing Methods 0.000 claims description 70
- 238000004891 communication Methods 0.000 claims description 15
- 238000004590 computer program Methods 0.000 claims description 14
- 230000006870 function Effects 0.000 description 17
- 238000010586 diagram Methods 0.000 description 11
- 238000005516 engineering process Methods 0.000 description 7
- 230000003287 optical effect Effects 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 238000000605 extraction Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000003825 pressing Methods 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- FFBHFFJDDLITSX-UHFFFAOYSA-N benzyl N-[2-hydroxy-4-(3-oxomorpholin-4-yl)phenyl]carbamate Chemical compound OC1=C(NC(=O)OCC2=CC=CC=C2)C=CC(=C1)N1CCOCC1=O FFBHFFJDDLITSX-UHFFFAOYSA-N 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 238000011112 process operation Methods 0.000 description 1
- 239000004984 smart glass Substances 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/12—Fingerprints or palmprints
- G06V40/1365—Matching; Classification
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Human Computer Interaction (AREA)
- Multimedia (AREA)
- Collating Specific Patterns (AREA)
- Image Input (AREA)
Abstract
本申请公开了一种指纹识别方法、装置、终端及存储介质,该方法包括:检测到作用于终端的指纹操作指令时,调用预设的可信执行系统进程接口,将可信执行系统进程的进程级别从第一级别调整至第二级别,所述第二级别的优先级高于所述第一级别的优先级;运行与所述第二级别对应的可信执行系统进程,以执行与所述指纹操作指令对应的指纹识别操作。该方案能够提高了指纹解锁的速度,节省了指纹解锁时间,并且保证了指纹解锁的稳定性,进一步提高了用户体验。
Description
技术领域
本发明一般涉及智能终端技术领域,具体涉及一种指纹识别方法、装置、终端及存储介质。
背景技术
随着电子信息技术的快速发展,终端设备的功能变得越来越强大,其已经广泛地应用在越来越多的领域中,例如应用较多的终端支付业务、指纹解锁业务等,这些应用需与个人关键信息进行绑定,因此,保证终端设备中个人关键信息的安全性显得尤为重要。
目前,终端设备中的指纹识别、指纹验证等安全操作均在处理器中的可信执行环境(Trusted Execution Environment,TEE)中实现的,通过绑定运行在TEE环境中的TEE进程至CPU大核上实现指纹处理操作。但是,该方法对于CPU负载较重等使用场景中无法使得指纹解锁性能均达标,且在解锁过程中会产生卡顿,使得指纹识别稳定性较差,从而导致用户体验差。
发明内容
鉴于现有技术中的上述缺陷或不足,期望提供一种指纹识别方法、装置、终端及存储介质。
第一方面,本申请提供了一种指纹识别方法,该方法包括:
检测到作用于终端的指纹操作指令时,调用预设的可信执行系统进程接口,将可信执行系统进程的进程级别从第一级别调整至第二级别,所述第二级别的优先级高于所述第一级别的优先级;
运行与所述第二级别对应的可信执行系统进程,以执行与所述指纹操作指令对应的指纹识别操作。
在其中一个实施例中,所述可信执行系统包括用户空间和内核空间,调用预设的可信执行系统进程接口,将可信执行系统进程的进程级别从第一级别调整至第二级别,包括:
在所述用户空间内调用预设的可信执行系统进程接口,基于预设的级别参数配置规则,确定第二级别对应的目标参数;
基于预设的通讯协议,在所述内核空间内基于所述目标参数,将所述可信执行系统进程的进程级别从所述第一级别调整至第二级别。
在其中一个实施例中,运行与所述第二级别对应的可信执行系统进程,以执行与所述指纹操作指令对应的指纹识别操作,包括:
运行与所述第二级别对应的可信执行系统进程,解析得到与所述指纹操作指令对应的指纹操作信息;
基于所述指纹操作信息,采用预设的指纹处理算法执行对应的指纹识别操作。
在其中一个实施例中,基于所述指纹操作信息,采用预设的指纹处理算法执行对应的指纹识别操作,包括:
基于所述指纹操作信息,获取当前指纹数据;
在基于预设的指纹处理算法确定所述当前指纹数据与预先存储的指纹模板数据比对一致时,执行对应的指纹识别操作。
在其中一个实施例中,在基于预设的指纹处理算法确定所述当前指纹数据与预先存储的指纹模板数据比对一致时,执行对应的指纹识别操作,包括:
在基于预设的指纹处理算法确定所述当前指纹数据与预先存储的指纹模板数据比对一致时,获取终端的处理操作类型;
控制所述终端执行与所述处理操作类型对应的处理操作。
在其中一个实施例中,控制所述终端执行与所述处理操作类型对应的处理操作,包括:
若所述处理操作类型为指纹解锁操作类型,控制所述终端执行解锁操作;或者,
若所述处理操作类型为指纹支付操作类型,控制所述终端执行支付操作。
第二方面,本申请提供了一种指纹识别装置,该装置包括:
调整模块,用于检测到作用于终端的指纹操作指令时,调用预设的可信执行系统进程接口,将可信执行系统进程的进程级别从第一级别调整至第二级别,所述第二级别的优先级高于所述第一级别的优先级;
操作执行模块,用于运行与所述第二级别对应的可信执行系统进程,以执行与所述指纹操作指令对应的指纹识别操作。
第三方面,本申请实施例提供一种电子终端,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,该处理器执行该程序时实现如第一方面的方法。
第四方面,本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序用于实现如第一方面所述的方法。
本申请实施例提供的指纹识别方法、装置、终端及存储介质,通过检测到作用于终端的指纹操作指令时,获取可信执行系统进程的进程级别,该进程级别为第一级别,并调用预设的可信执行系统进程接口,将可信执行系统进程的第一级别调整至第二级别,该第二级别的优先级高于第一级别的优先级,运行与第二级别对应的可信执行系统进程,以执行与指纹操作指令对应的指纹识别操作。该技术方案能够通过预设的可信执行系统进程接口,调整可信执行系统进程的进程级别为更高优先级,通过运行该更高级别的进程,从而为指纹处理操作的可信执行系统进程分配到较多的时间片资源,保证了在任意CPU负载较重的使用场景下,都能有较多的时间片资源来用于指纹解锁,提高了指纹解锁的速度,节省了指纹解锁时间,并且保证了指纹解锁的稳定性,进一步提高了用户体验。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1为本申请实施例提供的现有的指纹识别方法的流程示意图;
图2为本申请实施例提供的指纹识别方法的流程示意图;
图3为本申请实施例提供的指纹识别方法的流程示意图;
图4为本申请实施例提供的指纹识别方法的流程示意图;
图5为本申请实施例提供的指纹识别方法的流程示意图;
图6为本申请实施例提供的采用现有技术得到的指纹解锁时间示意图;
图7为本申请实施例提供的指纹解锁时间示意图;
图8为本申请实施例提供的指纹识别装置的结构示意图;
图9为本申请实施例提供的一种终端设备的结构示意图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与发明相关的部分。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
可以理解,随着智能手机等终端设备的大量普及应用,其能够支持的应用越来越多,功能也越来越强大。其中,指纹识别技术已经广泛应用在智能手机等终端设备上,例如采用光学指纹和电容指纹识别原理,可以包括指纹获取、处理、特征提取和比对等过程,通过曝光、抓图或模数转换的方式来提取指纹图像上的特征点等进而完成指纹识别,该特征点可以包括起点、终点、结合点和分叉点等。
目前,指纹解锁和指纹支付均涉及到个人用户指纹信息的隐私安全,需要运行在TEE(Trusted Execution Environment,可信执行环境)中。相关技术中通过将TEE进程绑定在处理器大核上实现指纹操作,但是处理器CPU大核上有很多进程需要进行,对于智能手机在重启或开机后第一次指纹解锁,以及CPU负载较重等不同的使用场景中指纹解锁均需要耗费大量的解锁时间,使得指纹解锁缓慢并且出现卡顿等解锁不稳定的情况,进而导致用户体验差。这是由于指纹软件使用的TEE进程的优先级为normal普通级别进程,无法与高优先级的进程抢占CPU时间片资源,即高优先级的进程相对于普通级别进程,更能抢占CPU时间片资源。
请参见图1所示,在指纹操作过程中,指纹软件使用的TEE进程申请向CPU请求CPU时间片资源,其中,RT(实时)级别进程1占用了CPU时间片资源的时间片1,RT级别进程2占用了CPU时间片资源的时间片2,高优先级进程占用了CPU时间片资源的时间片3,系统级别进程占用了CPU时间片资源的时间片n等,该高优先级进程是指相对于normal级别更高级别的进程,然而该TEE进程优先级为普通级别进程,即normal级别,在此段时间内无法和高优先级的进程和RT级别的进程抢占CPU时间片资源,只能拿到极少的一部分CPU时间片或者完全拿不到CPU时间片。
基于上述缺陷,本申请提供了一种指纹识别方法,与现有技术相比,该方法能够通过预设的可信执行系统进程接口,以调整可信执行系统进程的进程级别为更高优先级,从而为指纹处理操作的可信执行系统进程分配到较多的时间片资源,进而提高了指纹识别速度,保证了在任意CPU负载较重的使用场景下,提高了指纹解锁的速度,节省了指纹解锁时间,并且保证了指纹解锁的稳定性,进一步提高了用户体验。
本实施例中的终端可以包括智能手机、平板电脑、掌上电脑、笔记本电脑、移动互联网设备(MID,Mobile Internet Devices)等移动终端,也可以是智能手表、智能手机、智能眼镜等穿戴式设备。
需要说明的是,终端的操作系统可以并行存在有至少两个操作系统,一个可以是REE OS(Rich Execution Environment),另一个可以是TEE OS,还可以包括Flyme操作系统、SySymbian(塞班)操作系统、Black Berry(黑莓)操作系统等其他操作系统,本实施例对此不进行任何限定。
其中,REE OS可以是指Android操作系统、iOS操作系统、Linux操作系统等,其安全性较低,且可以运行有安全性较低的客户端应用(client application,CA)。
TEE OS是指由安全核心、TEE硬件资源以及可信应用(trusted application,TA)等可信软硬件资源构成的一个比REE更安全的可信执行空间,是一种微型操作系统,具有安全性,本质上是一种硬件虚拟化技术。其中,可信应用之间通过密码学技术保证它们之间是隔离开的,不会随意读取和操作其他可信应用的数据。该环境可以保证不被常规操作系统干扰,是通过创建一个可以在TrustZone的安全世界中独立运行的小型操作系统实现的,该操作系统以系统调用的方式直接提供少数的服务,例如涉及到指纹等安全信息的服务。TEE与REE通过共享内存进行交互,TEE内部也可分为内核空间(TEE Kernel)与用户空间,TEE的用户空间可以运行有多个不同的安全应用程序。
为了便于理解和说明,下面通过图2至图9详细阐述本申请实施例提供的指纹识别方法、装置、终端及存储介质。
图1所示为本申请实施例提供的指纹识别方法的流程示意图,该方法应用于终端,如图1所示,该方法包括:
S101、检测到作用于终端的指纹操作指令时,调用预设的可信执行系统进程接口,将可信执行系统进程的进程级别从第一级别调整至第二级别,所述第二级别的优先级高于所述第一级别的优先级。
具体的,用户可以在终端的指纹感应区域进行指纹操作,从而触发指纹操作指令,该指纹操作指令对应的操作例如可以是指纹的按压操作,以使得终端实现对应的处理功能,该处理功能例如可以是指纹解锁功能、指纹支付功能等。上述指纹感应区域可以布设在终端的背部区域,也可以布设在终端的四周区域等。
可选的,可以通过指纹传感器检测作用于终端的指纹操作指令,当指纹传感器检测到作用于终端的指纹操作时,运行在终端上的REE可以向TEE发送指纹操作指令,由于指纹操作指令涉及用户的安全信息,需要在可信执行系统中进行操作,当检测到作用于终端的指纹操作指令时,获取可信执行系统进程的进程级别,其中,该可信执行系统进程为运行在可信执行环境TEE中的操作系统对应的进程。
需要说明的是,可以通过内置在终端软件中的记录器获取可信执行系统进程的进程级别,也可以通过执行命令的方式获取可信执行系统进程的进程级别。不同的进程对应有不同的进程级别,本步骤中获取的可信执行系统进程的进程级别为第一级别,该第一级别可以是普通级别。
本步骤中,进程表示当前运行的程序,进程级别的优先级决定了进程运行的时间和接收多少CPU时间片资源,即决定了程序执行的顺序。
进程的优先级可以动态调整,高优先级进程优先运行,只有高优先级进程不运行时,才调度低优先级进程运行,优先级相同的进程按照时间片轮流运行。一般来说,进程优先级共32级,是从0-31的数值,称为基本优先级别。操作系统按照不同的优先级调度进程的运行,0-15级是普通(normal)级别优先级,16-31级是实时(RT)级别优先级。其中,同类型中进程优先级的优先值越低,表明对应进程的优先级越高,例如对于RT级别优先级进程,优先值为16对应的优先级比优先值为18对应的优先级高,且RT级别优先级比normal级别优先级高。实时级别优先级与普通级别优先级的最大区别在于相同优先级的进程的运行不按照时间片轮转,而是先运行的进程先控制CPU,如果它不主动放弃控制,同级或低优先级的进程就无法运行。
在一般的操作系统中,同一时刻会有几十个甚至几百个进程同时进行,但CPU数量远没有进程那么多,需要将有限的CPU资源分配给进程。CPU负载较重表示CPU当前正在运行或待运行的进程数较多。内核空间内在将CPU时间片资源分配给进程之前会考虑进程的优先级。因此,当检测到作用于终端的指纹操作时,获取可信执行系统进程的进程级别,并调用预设的可信执行系统进程接口,将可信执行系统进程的进程级别从第一级别调整至第二级别。进一步的,当第一级别为normal级别,可将该normal级别调整至RT级别,且RT级别中优先值较低的优先级更高。当需要将normal级别调整至RT级别中具体优先值对应的级别时,可以根据终端上的操作系统运行的进程数量和预设的进程数量阈值确定调整的RT级别中具体优先值对应的级别,当操作系统运行的进程数量大于进程数据阈值时,将第一级别调整至同类型RT级别中优先值较低的优先级,例如当第一级别为normal级别中的第4级时,且同类型RT级别中包括第16级和第18级,则将第4级调整至RT级别中的第16级;当操作系统运行的进程数量不大于进程数量阈值时,将第一级别调整至至同类型RT级别中优先值较高的优先级,如当第一级别为normal级别中的第4级时,将第4级调整至第18级。
其中,第二级别的优先级高于第一级别的优先级,从而能够在CPU负载较重的使用场景下,使得可信执行系统进程分配到更多的CPU时间片资源,该第二级别例如可以是RT级别。
需要说明的是,上述预设的可信执行系统进程接口用于调整可信执行系统的进程级别。
可选的,可信执行系统内部可以包括内核空间和用户空间,其中,内核功能模块运行在内核空间,而应用程序运行在用户空间,CPU具有不同的操作模式,代表不同的级别,不同的级别具有不同的功能,在较低的级别中将禁止某些操作,内核运行在最高级别(内核态),这个级别可以进行所有操作,而应用程序运行在较低级别(用户态),在这个级别处理器控制着对硬件的直接访问以及对内存的非授权访问,内核态和用户态有自己的内存映射,即自己的地址空间。内核空间需要记录和管理进程运行中的相关信息,包括:地址空间,内存映射,打开的文件,进程状态以及其中包含的线程等。当检测到作用于终端的指纹操作时,可以在用户空间内调用预设的可信执行系统进程接口,并基于预设的级别参数配置规则,确定第二级别对应的目标参数,该级别参数配置规则可以是预先根据级别与调整进程级别的参数的对应关系设置的,该级别参数设置规则例如可以是当可信执行系统进程对应的进程级别为normal级别时,配置的对应的目标参数Function_2赋值为0;当可信执行系统进程对应的进程级别为RT级别时,配置的对应的目标参数Function_1赋值为1。然后基于预设的通讯协议,在内核空间内基于第二级别对应的目标参数,将可信执行系统进行的进程级别从第一级别调整至第二级别。
上述传输指令可以是根据预设的通讯协议对应配置的,例如可以是ioctl指令,其对应的通讯协议可以是netlink协议。上述参数配置规则例如可以包括第一目标参数Function_1和第二目标参数Function_2,第一目标参数可以赋值为1,第二目标参数可以赋值为0,其中,第一目标参数1表示将可信执行系统进程的第一级别调整为第二级别;第二目标参数0表示将可信执行系统进程的第二级别调整为第一级别。
S102、运行与第二级别对应的可信执行系统进程,以执行与指纹操作指令对应的指纹识别操作。
当需要进行指纹识别时,运行在终端上的REE可以向TEE发送指纹操作指令,该指纹操作指令包括指纹操作信息,使得TEE接收到指纹操作指令,然后响应于该指纹操作指令,从而解析得到与该指纹操作指令对应的指纹操作信息,并基于指纹操作信息,采用预设的指纹处理算法执行对应的指纹识别操作。可选的,该指纹操作信息包括采集指纹数据和指纹比对操作对应的信息,该指纹操作指令可以是cmd命令。
在基于指纹操作信息,采用预设的指纹处理算法执行对应的指纹识别操作的过程中,可以先获取当前指纹数据,该当前指纹数据包括指纹特征点,如指纹的起点、终点、结合点和分叉点等,然后采用预设的指纹处理算法,将获取的当前指纹数据与预先存储的指纹模板数据进行比对处理,得到指纹比对处理结果。其中,上述指纹处理算法例如可以是对采集的指纹图像预处理,数据特征提取、特征匹配、指纹识别等处理操作。
需要说明的是,上述指纹对比处理结果可以表征当前指纹数据与预先存储的指纹模板数据比对一致,也可以表征当前指纹数据与预先存储的指纹模板数据比对不一致。
在采用预设的指纹处理算法执行对应的指纹识别操作时,可以获取指纹对比处理结果和终端的处理操作类型,然后基于指纹对比处理结果和处理操作类型,控制终端执行与处理操作类型对应的处理操作。
进一步地,在处理操作类型为指纹解锁操作类型的情况下,当指纹对比处理结果表征当前指纹数据与预先存储的指纹模板数据比对一致时,则控制终端执行解锁操作,例如可以打开主屏幕,或打开对应的应用程序;当指纹对比处理结果表征当前指纹数据与预先存储的指纹模板数据比对不一致时,控制终端提示解锁失败信息,该解锁失败信息例如可以通过在终端界面显示的方式提示,也可以是通过语音或震动的方式进行提示,显示信息例如是“指纹解锁失败,请重新输入”。
在处理操作类型为指纹支付操作类型的情况下,当指纹对比处理结果表征当前指纹数据与预先存储的指纹模板数据比对一致时,则控制终端执行支付操作,例如向第三方支付平台发送支付请求,使得第三方支付平台完成支付操作;当指纹对比处理结果表征当前指纹数据与预先存储的指纹模板数据比对不一致时,控制终端提示支付失败信息,该支付失败信息例如可以通过在终端界面显示的方式提示,也可以是通过语音或震动的方式进行提示,显示信息例如是“指纹支付失败,请重新输入”。
本申请实施例提供的指纹识别方法,通过检测到作用于终端的指纹操作指令时,获取可信执行系统进程的进程级别,该进程级别为第一级别,并调用预设的可信执行系统进程接口,将第一级别调整至第二级别,该第二级别的优先级高于第一级别的优先级,运行与第二级别对应的可信执行系统进程,以执行与指纹操作指令对应的指纹识别操作。该技术方案能够通过预设的可信执行系统进程接口,以调整可信执行系统进程的进程级别为更高优先级,从而为指纹处理操作的可信执行系统进程分配到较多的时间片资源,保证了在任意CPU负载较重的使用场景下,都能有较多的时间片资源来用于指纹解锁,提高了指纹解锁的速度,节省了指纹解锁时间,并且保证了指纹解锁的稳定性,进一步提高了用户体验。
进一步地,在上述实施例的基础上,如图3所示,在执行指纹操作指令对应的指纹识别操作之后,该方法还包括以下方法步骤:
S103、调用预设的可信执行系统进程接口,将第二级别调整至第一级别。
本实施例中,上述第一级别可以是normal级别,第二级别可以是RT级别,由于实时进程在不主动放弃占用CPU时间片资源时,同级别或低优先级的进程就无法运行,因此,需要对第二级别进行动态调整为第一级别。
该步骤中,在执行指纹操作指令对应的指纹识别操作之后,可以调用预设的可信执行系统进程接口,将第二级别调整至第一级别,通过在用户空间内调用预设的可信执行系统进程接口,基于预设的级别参数配置规则,确定第一级别对应的目标参数,然后基于预设的通讯协议,在内核空间内基于第一级别对应的目标参数,将可信执行系统进程的进程级别从第二级别调整至第一级别。
例如可以将第一级别对应的目标参数赋值为0,表示将可信执行系统进程的第二级别动态调整为第一级别。
本实施例中通过在执行指纹操作指令对应的指纹识别操作之后,动态调整可信执行系统进程的优先级为更低级别,使得避免占用过多的CPU时间片资源,保证了CPU可以正常运行其他进程。
图4为本申请提供的指纹识别方法的流程示意图,在上述实施例的基础上,如图4所示,该方法包括:
S201、调用可信执行系统进程接口,将可信执行系统进程REE进程的优先级normal级别调整至RT级别。
S202、接收并响应于command指纹操作指令,执行与指纹操作指令对应的指纹识别操作。
S203、调用可信执行系统进程接口,将可信执行系统进程REE进程的优先级RT级别调整至normal级别。
示例性地,请参见图5所示,当REE的上层用户端应用(client application,简称CA)发起指纹解锁或指纹支付等操作请求时,用户进行指纹按压操作,指纹传感器检测到作用于终端上的指纹操作时,通过进程记录器获取可信执行系统进程的进程级别,该进程级别可以为第一级别的normal级别进程,并发送第一级别调整请求至可信执行系统驱动器(TEE Driver),使得TEE Driver获取到第一级别调整请求,该第一级别调整请求用于将可信执行系统进程TEE进程的normal级别调整至RT级别,并发送该第一级别调整请求至可信执行系统TEE OS,然后TEE OS接收并响应于第一级别调整请求,通过用户空间的应用程序调用预设的可信执行系统接口,基于预设的级别参数配置规则,确定将第一级别的normal级别调整至第二级别的RT级别对应的第一目标参数,并赋值第一目标参数1=1,然后基于预设的通讯协议,将第一目标参数通过传输指令icctl指令发送至内核空间kernel部分,在内核空间内基于该第一目标参数1,将可信执行系统TEE进程的第一级别normal进程调整至第二级别RT进程。在本实施例中,将可信执行系统进程从低级优先级调整至高优先级对应的目标参数记为第一目标参数,将可信执行系统进程从高级优先级调整至低优先级对应的目标参数记为第二目标参数。
在将可信执行系统TEE进程的normal进程调整至RT进程后,TEE Driver获取command指纹操作指令,该指纹操作指令用于执行与指纹操作指令对应的指纹识别操作,该TEE Driver作为共享内存交互的媒介,然后TEE Driver将command命令及其command命令中携带的参数会通过共享内存的方式进行传递,可以先通过共享内存的方式传递至TEE OS的内核部分,使得TEE OS接收并响应于该command指纹操作指令,并通过内核部分的TA处理指纹识别操作,通过获取到指纹操作信息,然后在TEE OS中采用预设的指纹处理算法执行对应的指纹识别操作,TA在TEE环境下执行处理,得到的处理结果重新填充到共享内存中,使得REE中的上层应用CA通过共享内存获取到指纹识别结果。其中,CA和TA之间通过ARMTrustZone提供的通信机制进行通信。
当指纹识别操作完成后,TEE Driver获取第二级别调整请求,该第二级别调整请求用于将可信执行系统进程TEE进程的优先级RT级别调整至normal级别,并发送该第二级别调整请求至TEE OS,然后TEE OS接收并响应于第二级别调整请求,可以调用预设的可信执行系统接口,基于预设的级别参数配置规则,确定将第二级别的RT级别调整至第一级别的normal级别对应的第二目标参数,并赋值第二目标参数1=0,然后基于预设的通讯协议,将第二目标参数通过传输指令icctl指令发送至内核空间kernel部分,在内核空间内基于第二目标参数0,将可信执行系统TEE进程的第二级别的RT进程调整至第一级别的normal进程。需要说明的是,上述TEE OS进程绑定在CPU大核上,且在REE切换至TEE环境时,可信执行系统进程的标识id不变。
进一步地,当终端进行指纹解锁操作时,指纹识别结果表征当前指纹数据与预先存储的指纹模板数据比对一致时,则控制终端执行解锁操作,例如可以打开主屏幕,或打开对应的应用程序;当终端进行指纹支付操作时,纹识别结果表征当前指纹数据与预先存储的指纹模板数据比对一致时,则则控制终端执行支付操作,例如向第三方支付平台发送支付请求,使得第三方支付平台完成支付操作。
本实施例中能够在执行对应的指纹识别操作时,得到的指纹解锁时间为599ms,然而采用本申请中通过动态调整可信执行系统进程的优先级,得到的指纹解锁时间仅为68ms,其指纹解锁时间可以分别参见图6和图7所示,由此可知,通过动态调整可信执行系统进程的优先级,缩短了指纹解锁时间,同时保证了指纹解锁的稳定性,避免了指纹软件无法解锁或异常卡顿的问题,从而提高了用户体验。
应当注意,尽管在附图中以特定顺序描述了本发明方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。相反,流程图中描绘的步骤可以改变执行顺序。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
另一方面,图8为本申请实施例提供的一种指纹识别装置的结构示意图。该装置可以为终端设备内的装置,如图8所示,该装置400包括:
调整模块410,用于检测到作用于终端的指纹操作指令时,调用预设的可信执行系统进程接口,将可信执行系统进程的进程级别从第一级别调整至第二级别,第二级别的优先级高于所述第一级别的优先级;
操作执行模块420,用于运行与第二级别对应的可信执行系统进程,以执行与指纹操作指令对应的指纹识别操作。
可选的,上述调整模块410,具体用于:
在用户空间内调用预设的可信执行系统进程接口,基于预设的级别参数配置规则,确定第二级别对应的目标参数;
基于预设的通讯协议,在内核空间内基于目标参数,将可信执行系统进程的进程级别从第一级别调整至第二级别。
可选的,上述操作执行模块420,具体用于:
运行与第二级别对应的可信执行系统进程,解析得到与指纹操作指令对应的指纹操作信息;
基于指纹操作信息,采用预设的指纹处理算法执行对应的指纹识别操作。
可选的,上述操作执行模块420,还用于:
基于所述指纹操作信息,获取当前指纹数据;
在基于预设的指纹处理算法确定所述当前指纹数据与预先存储的指纹模板数据比对一致时,执行对应的指纹识别操作。
可选的,上述操作执行模块420,还用于:
在基于预设的指纹处理算法确定所述当前指纹数据与预先存储的指纹模板数据比对一致时,获取终端的处理操作类型;
控制所述终端执行与所述处理操作类型对应的处理操作。
可选的,上述操作执行模块420,还用于:
若处理操作类型为指纹解锁操作类型,控制终端执行解锁操作;或者,
若处理操作类型为指纹支付操作类型,控制终端执行支付操作。
本申请实施例提供的指纹识别装置,检测到作用于终端的指纹操作指令时,通过级别获取模块获取可信执行系统进程的进程级别,并通过调整模块调用预设的可信执行系统进程接口,将第一级别调整至第二级别,该第二级别的优先级高于第一级别的优先级,然后通过操作执行模块,运行与第二级别对应的可信执行系统进程,以执行与指纹操作指令对应的指纹识别操作。该技术方案能够通过预设的可信执行系统进程接口,以调整可信执行系统进程的进程级别为更高优先级,从而为指纹处理操作的可信执行系统进程分配到较多的时间片资源,保证了在任意CPU负载较重的使用场景下,提高了指纹解锁的速度,节省了指纹解锁时间,并且保证了指纹解锁的稳定性,进一步提高了用户体验。
另一方面,本申请实施例提供的终端设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,该处理器执行该程序时实现如上述的指纹识别方法。
下面参考图9,图9为本申请实施例的终端设备的计算机系统的结构示意图。
如图9所示,计算机系统600包括中央处理单元(CPU)601,其可以根据存储在只读存储器(ROM)602中的程序或者从存储部分603加载到随机访问存储器(RAM)603中的程序而执行各种适当的动作和处理。在RAM603中,还存储有系统600操作所需的各种程序和数据。CPU 601、ROM 602以及RAM603通过总线604彼此相连。输入/输出(I/O)接口605也连接至总线604。
以下部件连接至I/O接口605:包括键盘、鼠标等的输入部分606;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分607;包括硬盘等的存储部分608;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分609。通信部分609经由诸如因特网的网络执行通信处理。驱动器610也根据需要连接至I/O接口605。可拆卸介质611,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器610上,以便于从其上读出的计算机程序根据需要被安装入存储部分608。
特别地,根据本申请的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本申请的实施例包括一种计算机程序产品,其包括承载在机器可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分603从网络上被下载和安装,和/或从可拆卸介质611被安装。在该计算机程序被中央处理单元(CPU)601执行时,执行本申请的系统中限定的上述功能。
需要说明的是,本申请所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,前述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的单元或模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元或模块也可以设置在处理器中,例如,可以描述为:一种处理器,包括:调整模块及操作执行模块。其中,这些单元或模块的名称在某种情况下并不构成对该单元或模块本身的限定,例如,调整模块还可以被描述为“用于检测到作用于终端的指纹操作指令时,调用预设的可信执行系统进程接口,将可信执行系统进程的进程级别从第一级别调整至第二级别,所述第二级别的优先级高于所述第一级别的优先级”。
作为另一方面,本申请还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中的。上述计算机可读存储介质存储有一个或者多个程序,当上述前述程序被一个或者一个以上的处理器用来执行描述于本申请的指纹识别方法:
检测到作用于终端的指纹操作指令时,调用预设的可信执行系统进程接口,将可信执行系统进程的进程级别从第一级别调整至第二级别,所述第二级别的优先级高于所述第一级别的优先级;
运行与所述第二级别对应的可信执行系统进程,以执行与所述指纹操作指令对应的指纹识别操作。
综上所述,本申请实施例提供的指纹识别方法、装置、设备及存储介质,通过检测到作用于终端的指纹操作指令时,获取可信执行系统进程的进程级别,该进程级别为第一级别,并调用预设的可信执行系统进程接口,将第一级别调整至第二级别,该第二级别的优先级高于第一级别的优先级,运行与所述第二级别对应的可信执行系统进程,以执行与指纹操作指令对应的指纹识别操作。该技术方案能够通过预设的可信执行系统进程接口,以调整可信执行系统进程的进程级别为更高优先级,从而为指纹处理操作的可信执行系统进程分配到较多的时间片资源,保证了在任意CPU负载较重的使用场景下,提高了指纹解锁的速度,节省了指纹解锁时间,并且保证了指纹解锁的稳定性,进一步提高了用户体验。
以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离所述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
Claims (10)
1.一种指纹识别方法,其特征在于,所述方法包括:
检测到作用于终端的指纹操作指令时,调用预设的可信执行系统进程接口,将可信执行系统进程的进程级别从第一级别调整至第二级别,所述第二级别的优先级高于所述第一级别的优先级;
运行与所述第二级别对应的可信执行系统进程,以执行与所述指纹操作指令对应的指纹识别操作。
2.根据权利要求1所述的方法,其特征在于,所述可信执行系统包括用户空间和内核空间,调用预设的可信执行系统进程接口,将可信执行系统进程的进程级别从第一级别调整至第二级别,包括:
在所述用户空间内调用预设的可信执行系统进程接口,基于预设的级别参数配置规则,确定第二级别对应的目标参数;
基于预设的通讯协议,在所述内核空间内基于所述目标参数,将所述可信执行系统进程的进程级别从所述第一级别调整至第二级别。
3.根据权利要求1所述的方法,其特征在于,运行与所述第二级别对应的可信执行系统进程,以执行与所述指纹操作指令对应的指纹识别操作,包括:
运行与所述第二级别对应的可信执行系统进程,解析得到与所述指纹操作指令对应的指纹操作信息;
基于所述指纹操作信息,采用预设的指纹处理算法执行对应的指纹识别操作。
4.根据权利要求3所述的方法,其特征在于,基于所述指纹操作信息,采用预设的指纹处理算法执行对应的指纹识别操作,包括:
基于所述指纹操作信息,获取当前指纹数据;
在基于预设的指纹处理算法确定所述当前指纹数据与预先存储的指纹模板数据比对一致时,执行对应的指纹识别操作。
5.根据权利要求4所述的方法,其特征在于,在基于预设的指纹处理算法确定所述当前指纹数据与预先存储的指纹模板数据比对一致时,执行对应的指纹识别操作,包括:
在基于预设的指纹处理算法确定所述当前指纹数据与预先存储的指纹模板数据比对一致时,获取终端的处理操作类型;
控制所述终端执行与所述处理操作类型对应的处理操作。
6.根据权利要求5所述的方法,其特征在于,控制所述终端执行与所述处理操作类型对应的处理操作,包括:
若所述处理操作类型为指纹解锁操作类型,控制所述终端执行解锁操作;或者,
若所述处理操作类型为指纹支付操作类型,控制所述终端执行支付操作。
7.一种指纹识别装置,其特征在于,该装置包括:
调整模块,用于检测到作用于终端的指纹操作指令时,调用预设的可信执行系统进程接口,将可信执行系统进程的进程级别从第一级别调整至第二级别,所述第二级别的优先级高于所述第一级别的优先级;
操作执行模块,用于运行与所述第二级别对应的可信执行系统进程,以执行与所述指纹操作指令对应的指纹识别操作。
8.根据权利要求7所述的装置,其特征在于,所述调整模块,具体用于:
在所述用户空间内调用预设的可信执行系统进程接口,基于预设的级别参数配置规则,确定第二级别对应的目标参数;
基于预设的通讯协议,在所述内核空间内将所述目标参数,将所述可信执行系统进程的进程级别从所述第一级别调整至第二级别。
9.一种电子终端,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1-6中任一项所述的方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序用于被处理器执行时实现权利要求1-6中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110449265.XA CN113138845B (zh) | 2021-04-25 | 指纹识别方法、装置、终端及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110449265.XA CN113138845B (zh) | 2021-04-25 | 指纹识别方法、装置、终端及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113138845A true CN113138845A (zh) | 2021-07-20 |
CN113138845B CN113138845B (zh) | 2024-10-22 |
Family
ID=
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115017486A (zh) * | 2021-11-11 | 2022-09-06 | 荣耀终端有限公司 | 业务处理的方法和相关装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106445660A (zh) * | 2016-09-12 | 2017-02-22 | 广东欧珀移动通信有限公司 | 移动终端的应用控制方法及移动终端 |
US20170116413A1 (en) * | 2015-10-27 | 2017-04-27 | Blackberry Limited | Executing process monitoring |
CN107209840A (zh) * | 2015-03-25 | 2017-09-26 | 英特尔公司 | 与所连接的外围设备的安全交易 |
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107209840A (zh) * | 2015-03-25 | 2017-09-26 | 英特尔公司 | 与所连接的外围设备的安全交易 |
US20170116413A1 (en) * | 2015-10-27 | 2017-04-27 | Blackberry Limited | Executing process monitoring |
CN106445660A (zh) * | 2016-09-12 | 2017-02-22 | 广东欧珀移动通信有限公司 | 移动终端的应用控制方法及移动终端 |
Non-Patent Citations (1)
Title |
---|
杨霞;刘志伟;雷航;: "基于TrustZone的指纹识别安全技术研究与实现", 计算机科学, vol. 43, no. 07, 31 July 2016 (2016-07-31), pages 147 - 152 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115017486A (zh) * | 2021-11-11 | 2022-09-06 | 荣耀终端有限公司 | 业务处理的方法和相关装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101279717B1 (ko) | 복합 자원 관리기 | |
EP3312721B1 (en) | Method and apparatus for invoking fingerprint recognition device, and mobile terminal | |
US11947701B2 (en) | Techniques for preventing malicious use of biometric data | |
US10740496B2 (en) | Method and apparatus for operating multi-processor system in electronic device | |
EP3454251B1 (en) | Unlocking control methods and related products | |
US10516699B2 (en) | Electronic device and method for suggesting response manual in occurrence of denial | |
KR20160104668A (ko) | 특징 정보를 추출하기 위한 방법 및 시스템 | |
CN110955541A (zh) | 数据处理方法及相关产品 | |
US20180173862A1 (en) | Fingerprint Recognition Method and Mobile Terminal | |
CN113393367A (zh) | 图像处理方法、装置、设备和介质 | |
US11520938B2 (en) | Root level controls to enable privacy mode for device cameras | |
US20200257564A1 (en) | Electronic device, storage medium, and method for process scheduling | |
CN115935321A (zh) | 算法库的访问方法、装置及存储介质 | |
EP3983920B1 (en) | Electronic device for controlling access to device resource and operation method thereof | |
CN111143800B (zh) | 一种云计算资源的管理方法、装置、设备和存储介质 | |
US11080379B2 (en) | User authentication | |
CN113138845B (zh) | 指纹识别方法、装置、终端及存储介质 | |
CN112463266A (zh) | 执行策略生成方法、装置、电子设备以及存储介质 | |
US11934853B2 (en) | Electronic device and operating method thereof | |
CN113138845A (zh) | 指纹识别方法、装置、终端及存储介质 | |
CN106919812B (zh) | 一种应用进程权限管理方法和装置 | |
CN109711193B (zh) | 一种存储空间的共享方法和装置 | |
CN110120963B (zh) | 一种数据处理方法、装置、设备和机器可读介质 | |
CN107018140B (zh) | 一种权限控制方法和系统 | |
CN110929241B (zh) | 一种小程序的快速启动方法、装置、介质和电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant |