CN106897596B - 一种指纹验证方法及相关设备 - Google Patents

一种指纹验证方法及相关设备 Download PDF

Info

Publication number
CN106897596B
CN106897596B CN201710042727.XA CN201710042727A CN106897596B CN 106897596 B CN106897596 B CN 106897596B CN 201710042727 A CN201710042727 A CN 201710042727A CN 106897596 B CN106897596 B CN 106897596B
Authority
CN
China
Prior art keywords
fingerprint
fingerprint template
segment
data
target
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.)
Active
Application number
CN201710042727.XA
Other languages
English (en)
Other versions
CN106897596A (zh
Inventor
程力行
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Anyun Century Technology Co Ltd
Original Assignee
Beijing Anyun Century Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Anyun Century Technology Co Ltd filed Critical Beijing Anyun Century Technology Co Ltd
Priority to CN201710042727.XA priority Critical patent/CN106897596B/zh
Publication of CN106897596A publication Critical patent/CN106897596A/zh
Application granted granted Critical
Publication of CN106897596B publication Critical patent/CN106897596B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/32User authentication using biometric data, e.g. fingerprints, iris scans or voiceprints
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/74Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information operating in dual or compartmented mode, i.e. at least one secure mode
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/401Transaction verification
    • G06Q20/4014Identity check for transactions
    • G06Q20/40145Biometric identity checks

Abstract

本发明实施例提供了一种指纹验证方法及相关设备,该方法应用在移动终端中,所述移动终端中具有相互隔离的非安全域与安全域,所述安全域接入安全芯片;所述方法包括:在所述非安全域中根据应用的指纹验证请求采集目标指纹数据;从所述非安全域切换至所述安全域;在所述安全域中提取第一指纹模板片段、从所述安全芯片中提取第二指纹模板片段,所述第一指纹模板片段与所述第二指纹模板片段属于同一个指纹模板数据;在所述安全域中根据所述第一指纹模板片段与所述第二指纹模板片段对所述目标指纹数据进行指纹验证。在移动终端中构建非安全区域、安全区域、安全芯片的纵深安全架构,可有效阻止黑客的破解行为,大大提高了指纹模板数据的安全性。

Description

一种指纹验证方法及相关设备
技术领域
本发明涉及通信技术领域,特别是涉及一种指纹验证方法及相关设备。
背景技术
随着移动通信技术的发展,诸如手机等移动终端越来越普及,给人们在的生活、学习、工作带来了极大的便利。
由于指纹数据可以起到便捷的保护功能,免去了手动输入密码的麻烦,因此,很多移动终端录入用户的指纹数据,在验证指纹数据之后直接进行解密、支付等操作。
移动终端录入的指纹数据通常存储在移动终端本地,如果不法分子在盗取了移动终端,则可以采用程序破解和物理攻击等方式,从移动终端本地盗取用户的指纹数据,进行解密、支付等操作,导致用户信息的泄露,甚至造成财产的损失,安全性较低。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的一种指纹验证方法及相关设备。
第一方面,本发明实施例提供了一种指纹验证方法,应用在移动终端中,所述移动终端中具有相互隔离的非安全域与安全域,所述安全域接入安全芯片;
所述方法包括:
在所述非安全域中根据应用的指纹验证请求采集目标指纹数据;
从所述非安全域切换至所述安全域;
在所述安全域中提取第一指纹模板片段、从所述安全芯片中提取第二指纹模板片段,所述第一指纹模板片段与所述第二指纹模板片段属于同一个指纹模板数据;
在所述安全域中根据所述第一指纹模板片段与所述第二指纹模板片段对所述目标指纹数据进行指纹验证。
在一个可能的设计中,所述在所述安全域中提取第一指纹模板片段、从所述安全芯片中提取第二指纹模板片段的步骤包括:
在所述安全域中对所述应用进行合法性校验;
当所述应用通过所述合法性校验时,从所述安全域的文件系统中提取第一指纹模板片段;
从所述安全芯片中提取第二指纹模板片段。
在一个可能的设计中,所述在所述安全域中根据所述第一指纹模板片段与所述第二指纹模板片段对所述目标指纹数据进行指纹验证的步骤包括:
在所述安全域中按照预设的拆分规则将所述第一指纹模板片段与所述第二指纹模板片段组合成指纹模板数据;
采用所述指纹模板数据与所述目标指纹数据进行匹配;
当所述指纹模板数据与所述目标指纹数据匹配成功时,判定指纹验证成功;
当所述指纹模板数据与所述目标指纹数据匹配失败时,判定指纹验证失败。
在一个可能的设计中,所述按照预设的拆分规则将所述第一指纹模板片段与所述第二指纹模板片段组合成指纹模板数据的步骤包括:
生成一指纹底板;
分别确定所述第一指纹模板片段的第一位置、所述第二指纹模板片段的第二位置;
在所述指纹底板的第一位置和第二位置分别写入所述第一指纹模板片段和所述第二指纹模板片段,获得指纹模板数据。
在一个可能的设计中,所述在所述安全域中根据所述第一指纹模板片段与所述第二指纹模板片段对所述目标指纹数据进行指纹验证的步骤包括:
在所述安全域中按照预设的拆分规则将所述目标指纹数据拆分成第一目标指纹片段和第二目标指纹片段;
采用所述第一指纹模板片段与所述第一目标指纹片段进行匹配;
采用所述第二指纹模板片段与所述第二目标指纹片段进行匹配;
当所述第一指纹模板片段与所述第一目标指纹片段、且所述第二指纹模板片段与所述第二目标指纹片段匹配成功时,判定指纹验证成功;
当所述第一指纹模板片段与所述第一目标指纹片段和/或所述第二指纹模板片段与所述第二目标指纹片段匹配失败时,判定指纹验证失败。
在一个可能的设计中,所述在所述安全域中按照预设的拆分规则将所述目标指纹数据拆分成第一目标指纹片段和第二目标指纹片段的步骤包括:
确定所述第一指纹模板片段的第一位置和所述第二指纹模板片段的第二位置;
在所述目标指纹数据的第一位置和第二位置分别提取第一目标指纹片段和第二目标指纹片段。
在一个可能的设计中,还包括:
从所述安全域切换至所述非安全域;
在所述非安全域中将所述指纹验证的结果返回所述应用。
在一个可能的设计中,还包括:
在所述非安全域中根据应用的指纹录入请求采集指纹模板数据;
从所述非安全域切换至所述安全域;
在所述安全域中按照预设的拆分规则将所述指纹模板数据拆分成第一指纹模板片段和第二指纹模板片段;
在所述安全域中存储所述第一指纹模板片段、将所述第二指纹模板片段存储至所述安全芯片。
在一个可能的设计中,所述在所述安全域中按照预设的拆分规则将所述指纹模板数据拆分成第一指纹模板片段和第二指纹模板片段的步骤包括:
从所述指纹模板数据中的第一位置提取第一指纹模板片段;
从所述指纹模板数据中的第二位置提取第二指纹模板片段。
第二方面,本发明实施例提供了一种指纹验证装置,应用在移动终端中,所述移动终端中具有相互隔离的非安全域与安全域,所述安全域接入安全芯片;
所述装置包括:
验证请求处理模块,用于在所述非安全域中根据应用的指纹验证请求采集目标指纹数据;
第一安全域切换模块,用于从所述非安全域切换至所述安全域;
指纹模板片段提取模块,用于在所述安全域中提取第一指纹模板片段、从所述安全芯片中提取第二指纹模板片段,所述第一指纹模板片段与所述第二指纹模板片段属于同一个指纹模板数据;
指纹验证模块,用于在所述安全域中根据所述第一指纹模板片段与所述第二指纹模板片段对所述目标指纹数据进行指纹验证。
在一个可能的设计中,所述指纹模板片段提取模块包括:
合法性校验子模块,用于在所述安全域中对所述应用进行合法性校验;
第一指纹模板片段提取子模块,用于在所述应用通过所述合法性校验时,从所述安全域的文件系统中提取第一指纹模板片段;
第二指纹模板片段提取子模块,用于从所述安全芯片中提取第二指纹模板片段。
在一个可能的设计中,所述指纹验证模块包括:
指纹组合子模块,用于在所述安全域中按照预设的拆分规则将所述第一指纹模板片段与所述第二指纹模板片段组合成指纹模板数据;
模板匹配子模块,用于采用所述指纹模板数据与所述目标指纹数据进行匹配;
第一判定子模块,用于在所述指纹模板数据与所述目标指纹数据匹配成功时,判定指纹验证成功;
第二判定子模块,用于在所述指纹模板数据与所述目标指纹数据匹配失败时,判定指纹验证失败。
在一个可能的设计中,所述指纹组合子模块包括:
底板生成单元,用于生成一指纹底板;
模板位置确定单元,用于分别确定所述第一指纹模板片段的第一位置、所述第二指纹模板片段的第二位置;
底板写数据单元,用于在所述指纹底板的第一位置和第二位置分别写入所述第一指纹模板片段和所述第二指纹模板片段,获得指纹模板数据。
在一个可能的设计中,所述指纹验证模块包括:
目标指纹拆分子模块,用于在所述安全域中按照预设的拆分规则将所述目标指纹数据拆分成第一目标指纹片段和第二目标指纹片段;
第一片段匹配子模块,用于采用所述第一指纹模板片段与所述第一目标指纹片段进行匹配;
第二片段匹配子模块,用于采用所述第二指纹模板片段与所述第二目标指纹片段进行匹配;
第三判定子模块,用于在所述第一指纹模板片段与所述第一目标指纹片段、且所述第二指纹模板片段与所述第二目标指纹片段匹配成功时,判定指纹验证成功;
第四判定子模块,用于在所述第一指纹模板片段与所述第一目标指纹片段和/或所述第二指纹模板片段与所述第二目标指纹片段匹配失败时,判定指纹验证失败。
在一个可能的设计中,所述目标指纹拆分子模块包括:
片段位置确定单元,用于确定所述第一指纹模板片段的第一位置和所述第二指纹模板片段的第二位置;
目标指纹片段提取单元,用于在所述目标指纹数据的第一位置和第二位置分别提取第一目标指纹片段和第二目标指纹片段。
在一个可能的设计中,还包括:
非安全域切换模块,用于从所述安全域切换至所述非安全域;
结果返回模块,用于在所述非安全域中将所述指纹验证的结果返回所述应用。
在一个可能的设计中,还包括:
录入请求处理模块,用于在所述非安全域中根据应用的指纹录入请求采集指纹模板数据;
第二安全域切换模块,用于从所述非安全域切换至所述安全域;
指纹模板拆分模块,用于在所述安全域中按照预设的拆分规则将所述指纹模板数据拆分成第一指纹模板片段和第二指纹模板片段;
指纹模板存储模块,用于在所述安全域中存储所述第一指纹模板片段、将所述第二指纹模板片段存储至所述安全芯片。
在一个可能的设计中,所述指纹模板拆分模块包括:
第一模板片段提取子模块,用于从所述指纹模板数据中的第一位置提取第一指纹模板片段;
第二模板片段提取子模块,用于从所述指纹模板数据中的第二位置提取第二指纹模板片段。
第三方面,本发明实施例提供了一种移动终端,包括处理器和存储器;
所述存储器用于存储支持执行所述的指纹验证方法的程序;
所述处理器被配置为用于执行所述存储器中存储的程序。
第四方面,本发明实施例提供了一种计算机存储介质,用于储存为上述移动终端所用的计算机软件指令,其包含用于执行上述方面为移动终端所设计的程序。
本发明实施例在移动终端中具有相互非安全域与安全域由安全域接入安全芯片,将一个完整的指纹模板数据拆分为第一指纹模板片段与第二指纹模板片段,在安全域中存储第一指纹模板片段,在安全芯片中存储第二指纹模板片段,在非安全域中根据应用的指纹验证请求采集目标指纹数据,从非安全域切换至安全域之后,在安全域中根据第一指纹模板片段与第二指纹模板片段对目标指纹数据进行指纹验证,一方面,在移动终端中构建非安全区域、安全区域、安全芯片的纵深安全架构,如果黑客想要破解移动终端,获得指纹模板数据,需要同时破解安全区域和安全芯片,而安全芯片的安全等级可以达到EAL5+,可以有效抵抗程序破解和物理攻击,并可配置自毁机制,可有效阻止黑客的破解行为,大大提高了指纹模板数据的安全性,因此,在安全区域中采用第一指纹模板片段与第二指纹模板片段进行指纹验证,可以有效提高指纹验证的安全性,进而保证后续解密、支付等操作的安全性,避免用户信息的泄露,保证用户的财产安全,另一方面,由于第二指纹模板片段为部分的指纹模板数据,减少了数据的体积,保证安全芯片可以存储。
本发明的这些方面或其他方面在以下实施例的描述中会更加简明易懂。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了根据本发明一个实施例的移动终端的结构框图;
图2示出了根据本发明一个实施例的在TrustZone中接入安全芯片的结构示意图;
图3A和图3B示出了根据本发明一个实施例的指纹模板数据的拆分示例图;
图4示出了根据本发明另一个实施例的移动终端的结构框图;
图5示出了根据本发明一个实施例的指纹验证方法的步骤流程图;
图6示出了根据本发明另一个实施例的指纹验证方法的步骤流程图;
图7示出了根据本发明一个实施例的指纹验证装置的结构框图;
图8示出了根据本发明另一个实施例的指纹验证装置的结构框图;以及
图9示出了与本发明实施例提供的移动终端相关的手机的部分结构的框图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
参照图1,示出了根据本发明一个实施例的移动终端的结构框图。
该移动终端可以配置主芯片,该主芯片可以为预定制模块的集成电路,如SoC(System on Chip)芯片等等,通常具有如下一个或多个常用的组件:
1、逻辑核
逻辑核包括处理器110(如基于ARM(Advanced RISC Machines,RISC微处理器)的CPU(Central Processing Unit,中央处理器))、时钟电路、定时器、中断控制器、串并行接口、其它外围设备、I/O(in/out port,输入/输出)端口以及用于各种IP(InternetProtocol,网络之间互连的协议)核之间的粘合逻辑等等。
2、存储器核
存储器核包括易失、非易失以及Cache(高速缓冲)等存储器。
3、模拟核
模拟核包括ADC(Analog-to-digital converte,模拟数字转换器)、DAC(Digitalto analog converter,数字模拟转换器)、PLL(PhaseLockedLoop,相位锁栓回路)以及一些高速电路中所用的模拟电路。
在本发明实施例中,除了上述常用的组件之外,在主芯片中还可以配置有安全芯片120,如通过CC EAL5+级别的芯片。
安全芯片120是可信任平台模块,是一个可独立进行密钥生成、加解密的装置,内部拥有独立的存储单元,可存储密钥和特征数据(如第二指纹模板片段),为移动终端提供加密和安全认证服务,用安全芯片120对特征数据进行加密,密钥被存储在硬件中,被窃的数据无法解密,从而保护商业隐私和数据安全。
安全芯片120可以通过SPI(Serial Peripheral Interface,串行外设接口)或I2C(Inter-Integrated Circuit,连接微控制器及其外围设备的总线)等方式进行数据通信传输。
在本发明实施例中,移动终端应用TrustZone,TrustZone是一项软硬件结合的技术,硬件提供代码隔离技术,软件提供基本的安全服务和接口,对移动终端的安全体系进行扩展,防范移动终端可能遭受到的多种特定威胁(这种威胁除了来自恶意软件、黑作坊,还有可能来自移动终端的持有人)。
在处理器110的架构上,每个物理的处理器核可以提供两个虚拟核,一个是安全核111(Secure),另一个是非安全核112(Non-secure,NS)。
在安全核111中运行安全域1111,在非安全核112中运行非安全域1121。
如图2所示,在TrustZone中,将主芯片100的硬件和软件资源划分到安全域1111和非安全域1112中。
根据应用的需求,TrustZone可以将安全性扩展到系统其他层次的内存和外设上,处理器会把代码对内存和外设的访问发送到AXI总线系统上。
AXI总线上每个读写信道都增加了一个额外的控制信号:
AWPROT[1]:总线写事务控制信号——低电平为安全写事物,高电平为非安全写事物。
ARPROT[1]:总线读事物控制信号——低电平为安全读事物,高电平为非安全读事物。
地址空间控制器(TZASC)是AXI总线的主设备,用它可以把内存地址空间划分一系列的内存空间,通过运行在安全世界的软件把部分空间配置为安全、非安全的,TZASC防止非安全事物访问安全内存空间。
使用TZASC的目的之一是AXI的从设备分区为几个安全设备,防止非安全事物访问安全设备。ARM的DMC本身不支持创建安全域、非安全域,为此需要连接到TZASC上。
存储适配器(TZMA)是AXI总线的主设备,用它来划分片内RAM(random accessmemory,随机存取存储器)、ROM(Read Only Memory,只读存储器)的安全区间。
由于APB(Advanced Peripheral Bus,外围总线)总线没有AXI总线有TrustZone安全相关的控制信号,需要APB-to-AXI桥负责,外设还是与APB连接,APB-to-AXI桥有上TZPCDECPORT信号输入,用它来决定配置外设是安全的,非安全的,可以防止非安全事物访问外设。
TZPCDECPORT输入信号可以在主芯片(如SoC芯片)设计时静态地设置,也可以通过对TrustZone保护控制器(TZPC)进行编程,在程序运行时动态地设置,也就是说通过TZPC可能动态配置外设是安全的,非安全的。
此外,cache和内存为了支持trustzone安全策略,需要做些扩展。
cache的tag(标签)都增加了NS位(安全位),用于标识这一行的安全状态,NS=0这一行处于安全状态,NS=1这一行处于非安全状态。
MMU(存储器管理单元)的TLB(Translation Lookaside Buffer,旁路转换缓冲表)的tag(标签)增加NSTID位,功能与NS一样。
因此,当设备向总线提出读写事物请求时将控制信号发送到AXI总线上,AXI总线根据这个信号和处理器110当前所处的域来判断能否读写,防止非安全程序/设备读写安全设备。
使得安全核111可以访问所有资源,而AMBA3AXI总线系统可以确保安全域1111的资源不会被非安全核112所访问,因此,非安全核112一般仅能访问非安全域1121的资源。
进一步而言,非安全域1121可以接受一般存储器、外围设备的接入,而安全域1111可以供安全存储器外围设备(如安全芯片120)的安全接入,实现安全域1111的隔离。
在本发明实施例中,安全核111可以访问安全芯片120,非安全域1121不可访问安全芯片120,因此,安全域1111接入安全芯片120,而非安全域1121不可接入安全芯片120。
在本发明实施例中,在安全域1111中存储第一指纹模板片段,如在安全域1111的FTS文件系统中存储第一指纹模板片段。
在安全芯片120中存储第二指纹模板片段,如该第二指纹模板片段可以在加密之后存储在安全的RAM中。
其中,第一指纹模板片段与第二指纹模板片段属于同一个指纹模板数据,即第一指纹模板片段与第二指纹模板片段并非是一个完整的指纹模板数据,而是一个完整的指纹模板数据中的部分数据,并且,第一指纹模板片段与第二指纹模板片段可以组成一个完整的指纹模板数据。
在一个示例中,如图3A所示的指纹模板数据310,在虚线220左侧的数据为第一指纹模板片段311,在虚线220右侧的数据为第二指纹模板片段312。
在另一个示例中,如图3B所示指纹模板数据310,在圆形330外的数据为第一指纹模板片段313,在圆形330内的数据为第二指纹模板片段314。
当然,上述第一指纹模板片段与第二指纹模板片段只是作为示例,在实施本发明实施例时,可以根据实际情况设置其他第一指纹模板片段与第二指纹模板片段,本发明实施例对此不加以限制。另外,除了上述第一指纹模板片段与第二指纹模板片段外,本领域技术人员还可以根据实际需要采用其它第一指纹模板片段与第二指纹模板片段,本发明实施例对此也不加以限制。
需要说明的是,由于指纹模板数据的体积一般比较大,而安全芯片120的存储空间有限,因此,第一指纹模板片段的体积可以大于第二指纹模板片段的体积,将体积较小的第二指纹模板片段存储至安全芯片120中。
当然,第一指纹模板片段的体积也可以小于或等于第二指纹模板片段的体积,本发明实施例对此不加以限制。
参照图4,示出了根据本发明另一个实施例的移动终端的结构框图。
该移动终端配置有处理器410和安全芯片420。
处理器410提供虚拟的安全核411与非安全核412。
在安全核411中运行安全域4111,在非安全核412中运行非安全域4121,其中,安全域4111可以接入安全芯片420。
在安全域4111中存储第一指纹模板片段,在安全芯片420中存储第二指纹模板片段,其中,第一指纹模板片段与第二指纹模板片段属于同一个指纹模板数据。
在本发明实施例中,在安全域4111中运行监视器(Monitor)430,在非安全域4121中运行应用440。
监视器(Monitor)430可以用于从非安全域4121切换至安全域4111,或者,从安全域4111切换至非安全域4121。
在具体实现中,非安全域4121的应用440可以使用SMC指令或者通过硬件异常机制的一个子集等方式来进入到监视器(Monitor)430,也可以配置IRQ(Interrupt Request,中断请求)、FIQ(Fast Interrupt Request,快速中断请求),外部data abort(数据中止)、外部prefetch abort(预取中止)等异常进入到监视器(Monitor)430。
监视器(Monitor)430保存非安全域4121的上下文,然后进入安全域4111的特权模式,接着进入安全域4111的用户模式,执行相应的安全服务。
这里把安全域4111的用户模式和特权模式分离,是因为通常特权模式中的执行环境是系统级别的,而用户模式的安全服务是应用级别的,两者的提供者通常是不同的。
也就是说,安全域4111的执行环境要管理用户模式的服务和应用,并给它们提供编程接口。
在TrustZone中,处理器410的协处理器CP15有个安全配置寄存器(SCR),该寄存器有个NS位(安全位),这个NS位指明处理器410所处的域。
如果NS=0,处理器410处于安全域4111,如果NS=1,处理器410处于非安全域4121,监视器(Monitor)430通过修改NS位实现安全域4111和非安全域4121的切换。
处理器410的安全域4111与处理器410的应用模式和特权模式无关,也就是说应用运行在非安全域4121,不管是用户模式还是特权模式,都是属于非安全域4121。反之,安全域4111的应用程序也有应用模式与特权模式。
安全域4111和非安全域4121都有应用和特权模式,每种模式所具有的权限是不同的,NS位只能被运行在安全域4111处于特权模式的应用改变,处理器410在非安全域4121时不能访问SCR寄存器。
当安全服务完成时,监视器(Monitor)430可以修改SCR的NS位,恢复非安全域4121的上下文。
当然,运行在安全域4111的应用也有更改SCR寄存器NS位的权利,也可以修改SCR的NS位,恢复非安全域4121的上下文,本发明实施例对此不加以限制。
在本发明实施例中,移动终端中配置有指纹传感器450,该指纹传感器440可以用于采集指纹数据,可以为独立的元器件,安装在移动终端的正面、侧面背面等位置,也可以附属于其他元器件中,如屏幕。
在具体实现中,该指纹传感器450按照指纹成像原理和技术,可应用光学指纹传感器、半导体电容传感器、半导体热敏传感器、半导体压感传感器、超声波传感器和射频RF传感器等,本发明实施例对此不加以限制。
参照图5,示出了根据本发明一个实施例的指纹验证方法的步骤流程图,具体可以包括如下步骤:
步骤501,在所述非安全域中根据应用的指纹验证请求采集目标指纹数据。
在具体实现中,本发明实施例可以应用在移动终端中,例如,手机、平板电脑、个人数字助理、穿戴设备(如眼镜、手表等)等等。
这些移动终端的操作系统可以包括Android(安卓)、IOS、Windows Phone、Windows等等。
在本发明实施例中,移动终端中具有相互隔离的非安全域与安全域,其中,安全域接入安全芯片。
为了增强移动终端的操作系统的功能,用户通常在移动终端的操作系统中安装各种应用,例如,即时通讯工具、浏览器、视频播放器、音频播放器、邮箱客户端、购物应用、支付应用,等等。
这些应用运行在非安全域中,可以通过指纹验证快捷地进行支付、解锁、解密等操作。
一方面,这些应用可以在UI(User Interface,用户界面)提示用户在指纹传感器上按下手指,用户可以按照该提示在指纹传感器上按下手指,指纹传感器采集指纹数据,作为目标指纹数据。
其中,该目标指纹数据是相对于验证的目标而言的,其本质为指纹数据。
另一方面,这些应用可以向非安全域中的相关进程发起指纹验证请求。
在非安全域中的相关进程可以依据该指纹验证请求获取指纹传感器采集的目标指纹数据。
步骤502,从所述非安全域切换至所述安全域。
监视器(Monitor)可以将非安全域切换至安全域,以便在安全域调用相关服务进行指纹验证。
步骤503,在所述安全域中提取第一指纹模板片段、从所述安全芯片中提取第二指纹模板片段。
在具体实现中,第一指纹模板片段与第二指纹模板片段属于同一个指纹模板数据,第一指纹模板片段存储在安全域中,第二指纹模板片段存储在安全芯片中。
在安全域中进行指纹验证之前,可以提取预先存储的第一指纹模板片段,以及,按照安全芯片的通信协议,从安全芯片中提取第二指纹模板片段。
在本发明的一个实施例中,步骤503可以包括如下子步骤:
子步骤S11,在所述安全域中对所述应用进行合法性校验;
子步骤S12,当所述应用通过所述合法性校验时,从所述安全域的文件系统中提取第一指纹模板片段;
子步骤S13,从所述安全芯片中提取第二指纹模板片段。
在本发明实施例中,为了保证安全域的安全性,可以对调用安全域的指纹验证服务的应用进行合法性校验。
如果该应用通过合法性校验,确定该应用为合法的应用,则可以在安全域的文件系统(如FTS)中提取第一指纹模板片段,从安全芯片提取第二指纹模板片段进行指纹验证。
如果该应用未通过合法性校验,确定该应用为非法的应用,则可以忽略其发出的指纹验证请求。
在一个示例中,合法的应用可以预先获得认证、授权,如获得系统开发商或手机制作商等机构的认证、授权。
通过认证、授权可以得到唯一标识的公钥对该应用进行数字签名,用于标识该应用的合法性和安全性。
由于公钥具有唯一标识性,因此,在应用安装时,可以根据该公钥生成该应用的唯一身份标识Uid,并存储在安全域中。
对于发出指纹验证请求的应用,可以获取器进程信息,非系统的应用的进程信息中应用名称通常以app开头命名,后面附加编号,根据编号则可以查询到该应用的唯一身份标识Uid,与存储在安全域中的唯一身份标识Uid进行对比,如果两者相同,则可以判定该应用为合法应用,通过合法性校验,如果两者不相同,则可以判定该应用为非法应用,未通过合法性校验。
当然,上述合法性校验只是作为示例,在实施本发明实施例时,可以根据实际情况设置其他合法性校验,本发明实施例对此不加以限制。另外,除了上述合法性校验外,本领域技术人员还可以根据实际需要采用其它合法性校验,本发明实施例对此也不加以限制。
步骤504,在所述安全域中根据所述第一指纹模板片段与所述第二指纹模板片段对所述目标指纹数据进行指纹验证。
在安全域中的相关服务,可以采用第一指纹模板片段与第二指纹模板片段对目标指纹数据进行指纹验证,获得相应的结果。
进一步而言,对于目标指纹数据,可以进行指纹区域检测、图像质量判断、方向图和频率估计、图像增强、指纹图像二值化和细化等预处理,以提高后续处理的效率。
在预处理之后,可以得到一个关于指纹图像的轮廓线图,从该轮廓线图中提取特征信息,采用基于点模式匹配算法、基于纹理模式匹配算法等方式与第一指纹模板片段第二指纹模板片段的特征信息进行比对,以判断当前用户是合法用户或是非法用户。
在本发明的一个实施例中,步骤504可以包括人如下子步骤:
子步骤S21,在所述安全域中按照预设的拆分规则将所述第一指纹模板片段与所述第二指纹模板片段组合成指纹模板数据;
子步骤S22,采用所述指纹模板数据与所述目标指纹数据进行匹配;
子步骤S23,当所述指纹模板数据与所述目标指纹数据匹配成功时,判定指纹验证成功;
子步骤S24,当所述指纹模板数据与所述目标指纹数据匹配失败时,判定指纹验证失败。
在本发明实施例中,可以按照拆分指纹模板数据的规则,逆向地将第一指纹模板片段与第二指纹模板片段还原为指纹模板数据,然后与目标指纹数据进行匹配。
如果两者匹配成功,则确定指纹验证成功,反之,如果两者匹配失败,则确定指纹验证失败。
在本发明实施例的一个组合示例中,可以生成一指纹底板;分别确定第一指纹模板片段的第一位置、第二指纹模板片段的第二位置;在指纹底板的第一位置和第二位置分别写入第一指纹模板片段和第二指纹模板片段,获得指纹模板数据。
应用本示例,可以将指纹模板数据中第一位置的数据设置为第一指纹模板片段,例如,第一位置可以为图3A所示的指纹模板数据310中虚线220的左侧位置、图3B所示指纹模板数据310中圆形330的圆外位置,等等。
将指纹模板数据中第二位置的数据设置为第二指纹模板片段,例如,第二位置可以为图3A所示的指纹模板数据310中虚线220的右侧位置、图3B所示指纹模板数据310中圆形330的圆内位置,等等。
当然,上述指纹模板数据的合成方式只是作为示例,在实施本发明实施例时,可以根据实际情况设置其他指纹模板数据的合成方式,本发明实施例对此不加以限制。另外,除了上述指纹模板数据的合成方式外,本领域技术人员还可以根据实际需要采用其它指纹模板数据的合成方式,本发明实施例对此也不加以限制。
因此,在本示例中,可以生成指纹底板,其可以为图像数据,如位图bitmap。
在合成指纹模板数据时,可以在内存中绘制一个大小与归一化后的指纹模板数据相同的指纹底板,在该指纹底板上的第一位置绘制第一指纹模板片段,在该指纹底板上的第二位置绘制第二指纹模板片段。
合成指纹模板数据之后,可以将指纹模板数据与目标指纹数据进行匹配。
在本发明的另一个实施例中,步骤504可以包括如下子步骤:
子步骤S31,在所述安全域中按照预设的拆分规则将所述目标指纹数据拆分成第一目标指纹片段和第二目标指纹片段;
子步骤S32,采用所述第一指纹模板片段与所述第一目标指纹片段进行匹配;
子步骤S33,采用所述第二指纹模板片段与所述第二目标指纹片段进行匹配;
子步骤S34,当所述第一指纹模板片段与所述第一目标指纹片段、且所述第二指纹模板片段与所述第二目标指纹片段匹配成功时,判定指纹验证成功;
子步骤S35,当所述第一指纹模板片段与所述第一目标指纹片段和/或所述第二指纹模板片段与所述第二目标指纹片段匹配失败时,判定指纹验证失败。
在本发明实施例中,可以按照拆分指纹模板数据的规则,相应地将目标指纹数据拆分为第一目标指纹片段和第二目标指纹片段。
在一个示例中,对于如图3A所示的指纹模板数据310,若沿虚线220拆分为第一指纹模板片段311和第二指纹模板片段312,对于目标指纹数据,则可以参照虚线220进行拆分,左侧的数据为第一目标指纹片段,右侧的数据为第二目标指纹片段。
在另一个示例中,对于如图3B所示指纹模板数据310,沿圆形330拆分为第一指纹模板片段313和第二指纹模板片段314,对于目标指纹数据,则可以参照圆形330进行拆分,圆外的数据为第一目标指纹片段,圆内的数据为第二目标指纹片段。
当然,上述目标指纹数据的拆分方式只是作为示例,在实施本发明实施例时,可以根据实际情况设置其他目标指纹数据的拆分方式,本发明实施例对此不加以限制。另外,除了上述目标指纹数据的拆分方式外,本领域技术人员还可以根据实际需要采用其它目标指纹数据的拆分方式,本发明实施例对此也不加以限制。
目标指纹数据拆分出第一目标指纹片段、第二目标指纹片段之后,可以分别与第一指纹模板片段、第二指纹模板片段进行匹配。
如果两对关系均匹配成功,则确定指纹验证成功,反之,如果两对关系任一匹配失败,则确定指纹验证失败。
在本发明实施例的分拆一个示例中,可以确定第一指纹模板片段的第一位置和第二指纹模板片段的第二位置;在目标指纹数据的第一位置和第二位置分别提取第一目标指纹片段和第二目标指纹片段。
应用本示例,可以将指纹模板数据中第一位置的数据设置为第一指纹模板片段,例如,第一位置可以为图3A所示的指纹模板数据310中虚线220的左侧位置、图3B所示指纹模板数据310中圆形330的圆外位置,等等。
将指纹模板数据中第二位置的数据设置为第二指纹模板片段,例如,第二位置可以为图3A所示的指纹模板数据310中虚线220的右侧位置、图3B所示指纹模板数据310中圆形330的圆内位置,等等。
因此,在本示例中,可以将目标指纹数据中第一位置的数据设置为第一目标指纹片段,将目标指纹数据中第二位置的数据设置为第二目标指纹片段。
在一种情况中,第一位置、第二位置可以为绝对位置,为了提高匹配的准确度,第一指纹模板片段或第二指纹模板片段可以设置多个,因此,可以相对应地提取多个第一目标指纹片段或第二目标指纹片段进行匹配。
在另一种情况中,第一位置、第二位置可以为相对位置,在指纹模板数据中设置一个或多个特征位置,记录第一位置或第二位置相对于该特征位置的目标坐标,因此,可以在目标指纹数据中查找特征位置,若查找出特征位置,则可以在相对于该特征位置的目标坐标提取第一目标指纹片段或第二目标指纹片段进行匹配。
在传统的方案中,若在移动终端中应用TrustZone,指纹模板数据都是完整存储在TrustZone中的FTS文件系统中,安全等级为EAL2,黑客可以采用程序破解和物理攻击的方式,容易获得用户的指纹模板数据。
在某些方案中,也试图使用安全芯片存储指纹模板数据,但是,随着指纹传感器向高精度发展,指纹模板数据的体积越来越大,而安全芯片的空间有限,较难存储完成的指纹模板数据。
本发明实施例在移动终端中具有相互非安全域与安全域由安全域接入安全芯片,将一个完整的指纹模板数据拆分为第一指纹模板片段与第二指纹模板片段,在安全域中存储第一指纹模板片段,在安全芯片中存储第二指纹模板片段,在非安全域中根据应用的指纹验证请求采集目标指纹数据,从非安全域切换至安全域之后,在安全域中根据第一指纹模板片段与第二指纹模板片段对目标指纹数据进行指纹验证,一方面,在移动终端中构建非安全区域、安全区域、安全芯片的纵深安全架构,如果黑客想要破解移动终端,获得指纹模板数据,需要同时破解安全区域和安全芯片,而安全芯片的安全等级可以达到EAL5+,可以有效抵抗程序破解和物理攻击,并可配置自毁机制,可有效阻止黑客的破解行为,大大提高了指纹模板数据的安全性,因此,在安全区域中采用第一指纹模板片段与第二指纹模板片段进行指纹验证,可以有效提高指纹验证的安全性,进而保证后续解密、支付等操作的安全性,避免用户信息的泄露,保证用户的财产安全,另一方面,由于第二指纹模板片段为部分的指纹模板数据,减少了数据的体积,保证安全芯片可以存储。
参照图6,示出了根据本发明另一个实施例的指纹验证方法的步骤流程图,具体可以包括如下步骤:
步骤601,在所述非安全域中根据应用的指纹录入请求采集指纹模板数据。
在具体实现中,本发明实施例可以应用在移动终端中,该移动终端中具有相互隔离的非安全域与安全域,其中,安全域接入安全芯片。
为了增强移动终端的操作系统的功能,用户通常在移动终端的操作系统中安装各种应用,例如,即时通讯工具、浏览器、视频播放器、音频播放器、邮箱客户端、购物应用、支付应用,等等。
这些应用运行在非安全域中,可以通过指纹验证快捷地进行支付、解锁、解密等操作。
一方面,对于合法的用户,这些应用可以在UI提示该用户通过指纹传感器录入指纹数据,用户可以按照该提示在指纹传感器上按下手指,指纹传感器采集指纹数据,作为指纹模板数据,以便后续进行对比。
其中,该指纹模板数据是相对于验证的参考而言的,其本质为指纹数据。
另一方面,这些应用可以向非安全域中的相关进程发起指纹录入请求。
非安全域中的相关进程可以依据该指纹录入请求获取指纹传感器采集的指纹模板数据。
步骤602,从所述非安全域切换至所述安全域。
监视器(Monitor)可以将非安全域切换至安全域,以便在安全域调用相关服务进行指纹模板数据的存储。
步骤603,在所述安全域中按照预设的拆分规则将所述指纹模板数据拆分成第一指纹模板片段和第二指纹模板片段。
在安全域中,可以按照一定的拆分规则将指纹模板数据拆分为第一指纹模板片段、第二指纹模板片段,将第一指纹模板片段存储至FTS文件系统等位置,以及,按照安全芯片的通信协议,将第二指纹模板片段存储至安全芯片中。
在本发明实施例的一个拆分示例中,可以从指纹模板数据中的第一位置提取第一指纹模板片段;从指纹模板数据中的第二位置提取第二指纹模板片段。
在本示例中,可以将指纹模板数据中的第一位置拆分为第一指纹模板片段,将指纹模板数据中的第二位置拆分第二指纹模板片段。
例如,如图3A所示的指纹模板数据310,沿虚线220进行拆分,左侧的数据为第一指纹模板片段311,右侧的数据为第二指纹模板片段312。
又例如,如图3B所示指纹模板数据310,沿圆形330进行拆分,圆外的数据为第一指纹模板片段313,圆内的数据为第二指纹模板片段314。
当然,上述指纹模板数据的拆分方式只是作为示例,在实施本发明实施例时,可以根据实际情况设置其他指纹模板数据的拆分方式,本发明实施例对此不加以限制。另外,除了上述指纹模板数据的拆分方式外,本领域技术人员还可以根据实际需要采用其它指纹模板数据的拆分方式,本发明实施例对此也不加以限制。
步骤604,在所述安全域中存储所述第一指纹模板片段、将所述第二指纹模板片段存储至所述安全芯片。
在安全域中,可以将第一指纹模板片段存储至FTS文件系统等位置,以及,按照安全芯片的通信协议,将第二指纹模板片段存储至安全芯片中
需要说明的是,指纹模板数据存储成功或失败,监视器(Monitor)均可以将安全域切换至非安全域,以便在非安全域的应用按照指纹模板数据存储的结果进行相应的处理。
步骤605,在所述非安全域中根据应用的指纹验证请求采集目标指纹数据。
步骤606,从所述非安全域切换至所述安全域。
步骤607,在所述安全域中提取第一指纹模板片段、从所述安全芯片中提取第二指纹模板片段,所述第一指纹模板片段与所述第二指纹模板片段属于同一个指纹模板数据。
步骤608,在所述安全域中根据所述第一指纹模板片段与所述第二指纹模板片段对所述目标指纹数据进行指纹验证。
步骤609,从所述安全域切换至所述非安全域。
步骤610,在所述非安全域中将所述指纹验证的结果返回所述应用。
指纹验证之后,监视器(Monitor)可以将安全域切换至非安全域510,以便在非安全域的应用按照指纹验证的结果进行相应的处理。
如果指纹验证成功,则可以执行支付、解锁、解密等操作。
如果指纹验证失败,则可以禁止进行支付、解锁、解密等操作,并提示用户指纹验证失败。
若指纹验证失败的次数超过一定的阈值(如5次),则可以进行冻结账号等警报操作。
对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
参照图7,示出了根据本发明一个实施例的指纹验证装置的结构框图,应用在移动终端中,所述移动终端中具有相互隔离的非安全域与安全域,所述安全域接入安全芯片;所述装置具体可以包括如下模块:
验证请求处理模块701,用于在所述非安全域中根据应用的指纹验证请求采集目标指纹数据;
第一安全域切换模块702,用于从所述非安全域切换至所述安全域;
指纹模板片段提取模块703,用于在所述安全域中提取第一指纹模板片段、从所述安全芯片中提取第二指纹模板片段,所述第一指纹模板片段与所述第二指纹模板片段属于同一个指纹模板数据;
指纹验证模块704,用于在所述安全域中根据所述第一指纹模板片段与所述第二指纹模板片段对所述目标指纹数据进行指纹验证。
在本发明的一个实施例中,所述指纹模板片段提取模块703包括:
合法性校验子模块,用于在所述安全域中对所述应用进行合法性校验;
第一指纹模板片段提取子模块,用于在所述应用通过所述合法性校验时,从所述安全域的文件系统中提取第一指纹模板片段;
第二指纹模板片段提取子模块,用于从所述安全芯片中提取第二指纹模板片段。
在本发明的一个实施例中,所述指纹验证模块704包括:
指纹组合子模块,用于在所述安全域中按照预设的拆分规则将所述第一指纹模板片段与所述第二指纹模板片段组合成指纹模板数据;
模板匹配子模块,用于采用所述指纹模板数据与所述目标指纹数据进行匹配;
第一判定子模块,用于在所述指纹模板数据与所述目标指纹数据匹配成功时,判定指纹验证成功;
第二判定子模块,用于在所述指纹模板数据与所述目标指纹数据匹配失败时,判定指纹验证失败。
在本发明实施例的一个示例中,所述指纹组合子模块包括:
底板生成单元,用于生成一指纹底板;
模板位置确定单元,用于分别确定所述第一指纹模板片段的第一位置、所述第二指纹模板片段的第二位置;
底板写数据单元,用于在所述指纹底板的第一位置和第二位置分别写入所述第一指纹模板片段和所述第二指纹模板片段,获得指纹模板数据。
在本发明的另一个实施例中,所述指纹验证模块704包括:
目标指纹拆分子模块,用于在所述安全域中按照预设的拆分规则将所述目标指纹数据拆分成第一目标指纹片段和第二目标指纹片段;
第一片段匹配子模块,用于采用所述第一指纹模板片段与所述第一目标指纹片段进行匹配;
第二片段匹配子模块,用于采用所述第二指纹模板片段与所述第二目标指纹片段进行匹配;
第三判定子模块,用于在所述第一指纹模板片段与所述第一目标指纹片段、且所述第二指纹模板片段与所述第二目标指纹片段匹配成功时,判定指纹验证成功;
第四判定子模块,用于在所述第一指纹模板片段与所述第一目标指纹片段和/或所述第二指纹模板片段与所述第二目标指纹片段匹配失败时,判定指纹验证失败。
在本发明实施例的一个示例中,所述目标指纹拆分子模块包括:
片段位置确定单元,用于确定所述第一指纹模板片段的第一位置和所述第二指纹模板片段的第二位置;
目标指纹片段提取单元,用于在所述目标指纹数据的第一位置和第二位置分别提取第一目标指纹片段和第二目标指纹片段。
参照图8,示出了根据本发明另一个实施例的指纹验证装置的结构框图,应用在移动终端中,所述移动终端中具有相互隔离的非安全域与安全域,所述安全域接入安全芯片;所述装置具体可以包括如下模块:
录入请求处理模块801,用于在所述非安全域中根据应用的指纹录入请求采集指纹模板数据;
第二安全域切换模块802,用于从所述非安全域切换至所述安全域;
指纹模板拆分模块803,用于在所述安全域中按照预设的拆分规则将所述指纹模板数据拆分成第一指纹模板片段和第二指纹模板片段;
指纹模板存储模块804,用于在所述安全域中存储所述第一指纹模板片段、将所述第二指纹模板片段存储至所述安全芯片。
验证请求处理模块805,用于在所述非安全域中根据应用的指纹验证请求采集目标指纹数据;
第一安全域切换模块806,用于从所述非安全域切换至所述安全域;
指纹模板片段提取模块807,用于在所述安全域中提取第一指纹模板片段、从所述安全芯片中提取第二指纹模板片段,所述第一指纹模板片段与所述第二指纹模板片段属于同一个指纹模板数据;
指纹验证模块808,用于在所述安全域中根据所述第一指纹模板片段与所述第二指纹模板片段对所述目标指纹数据进行指纹验证。
非安全域切换模块809,用于从所述安全域切换至所述非安全域;
结果返回模块810,用于在所述非安全域中将所述指纹验证的结果返回所述应用。
在本发明的一个实施例中,所述指纹模板拆分模块803包括:
第一模板片段提取子模块,用于从所述指纹模板数据中的第一位置提取第一指纹模板片段;
第二模板片段提取子模块,用于从所述指纹模板数据中的第二位置提取第二指纹模板片段。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本发明实施例还提供了移动终端,如图9所示,为了便于说明,仅示出了与本发明实施例相关的部分,具体技术细节未揭示的,请参照本发明实施例方法部分。该终端可以为包括手机、平板电脑、PDA(Personal Digital Assistant,个人数字助理)、POS(Point ofSales,销售终端)、车载电脑等任意终端设备,以终端为手机为例:
图9示出的是与本发明实施例提供的终端相关的手机的部分结构的框图。参考图9,手机包括:射频(Radio Frequency,RF)电路910、存储器920、输入单元930、显示单元940、传感器950、音频电路960、无线保真(wireless fidelity,WiFi)模块970、处理器980、电源990以及安全芯片991等部件。本领域技术人员可以理解,图9中示出的手机结构并不构成对手机的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
下面结合图9对手机的各个构成部件进行具体的介绍:
RF电路910可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,给处理器980处理;另外,将设计上行的数据发送给基站。通常,RF电路910包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器(Low NoiseAmplifier,LNA)、双工器等。此外,RF电路910还可以通过无线通信与网络和其他设备通信。上述无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯系统(GlobalSystem of Mobile communication,GSM)、通用分组无线服务(General Packet RadioService,GPRS)、码分多址(Code Division Multiple Access,CDMA)、宽带码分多址(Wideband Code Division Multiple Access,WCDMA)、长期演进(Long Term Evolution,LTE)、电子邮件、短消息服务(Short Messaging Service,SMS)等。
存储器920可用于存储软件程序以及模块,处理器980通过运行存储在存储器920的软件程序以及模块,从而执行手机的各种功能应用以及数据处理。存储器920可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器920可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
输入单元930可用于接收输入的数字或字符信息,以及产生与手机的用户设置以及功能控制有关的键信号输入。具体地,输入单元930可包括触控面板931以及其他输入设备932。触控面板931,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板931上或在触控面板931附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触控面板931可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器980,并能接收处理器980发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板931。除了触控面板931,输入单元930还可以包括其他输入设备932。具体地,其他输入设备932可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
显示单元940可用于显示由用户输入的信息或提供给用户的信息以及手机的各种菜单。显示单元940可包括显示面板941,可选的,可以采用液晶显示器(Liquid CrystalDisplay,LCD)、有机发光二极管(Organic Light-Emitting Diode,OLED)等形式来配置显示面板941。进一步的,触控面板931可覆盖显示面板941,当触控面板931检测到在其上或附近的触摸操作后,传送给处理器980以确定触摸事件的类型,随后处理器980根据触摸事件的类型在显示面板941上提供相应的视觉输出。虽然在图9中,触控面板931与显示面板941是作为两个独立的部件来实现手机的输入和输入功能,但是在某些实施例中,可以将触控面板931与显示面板941集成而实现手机的输入和输出功能。
手机还可包括至少一种传感器950,比如指纹传感器、光传感器、运动传感器以及其他传感器。具体地,指纹传感器可用于采集指纹数据,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板941的亮度,接近传感器可在手机移动到耳边时,关闭显示面板941和/或背光。作为运动传感器的一种,加速计传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于手机还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
音频电路960、扬声器961,传声器962可提供用户与手机之间的音频接口。音频电路960可将接收到的音频数据转换后的电信号,传输到扬声器961,由扬声器961转换为声音信号输出;另一方面,传声器962将收集的声音信号转换为电信号,由音频电路960接收后转换为音频数据,再将音频数据输出处理器980处理后,经RF电路910以发送给比如另一手机,或者将音频数据输出至存储器920以便进一步处理。
WiFi属于短距离无线传输技术,手机通过WiFi模块970可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图9示出了WiFi模块970,但是可以理解的是,其并不属于手机的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。
处理器980是手机的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器920内的软件程序和/或模块,以及调用存储在存储器920内的数据,执行手机的各种功能和处理数据,从而对手机进行整体监控。可选的,处理器980可包括一个或多个处理单元;优选的,处理器980可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器980中。
手机还包括给各个部件供电的电源990(比如电池),优选的,电源可以通过电源管理系统与处理器980逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。
尽管未示出,手机还可以包括摄像头、蓝牙模块等,在此不再赘述。
在本发明实施例中,应用在移动终端中,所述移动终端中具有相互隔离的非安全域与安全域,所述安全域接入安全芯片;该终端所包括的处理器980还具有以下功能:
在所述非安全域中根据应用的指纹验证请求采集目标指纹数据;
从所述非安全域切换至所述安全域;
在所述安全域中提取第一指纹模板片段、从所述安全芯片中提取第二指纹模板片段,所述第一指纹模板片段与所述第二指纹模板片段属于同一个指纹模板数据;
在所述安全域中根据所述第一指纹模板片段与所述第二指纹模板片段对所述目标指纹数据进行指纹验证。
可选地,该终端所包括的处理器980还具有以下功能:
在所述安全域中对所述应用进行合法性校验;
当所述应用通过所述合法性校验时,从所述安全域的文件系统中提取第一指纹模板片段;
从所述安全芯片中提取第二指纹模板片段。
可选地,该终端所包括的处理器980还具有以下功能:
在所述安全域中按照预设的拆分规则将所述第一指纹模板片段与所述第二指纹模板片段组合成指纹模板数据;
采用所述指纹模板数据与所述目标指纹数据进行匹配;
当所述指纹模板数据与所述目标指纹数据匹配成功时,判定指纹验证成功;
当所述指纹模板数据与所述目标指纹数据匹配失败时,判定指纹验证失败。
可选地,该终端所包括的处理器980还具有以下功能:
生成一指纹底板;
分别确定所述第一指纹模板片段的第一位置、所述第二指纹模板片段的第二位置;
在所述指纹底板的第一位置和第二位置分别写入所述第一指纹模板片段和所述第二指纹模板片段,获得指纹模板数据。
可选地,该终端所包括的处理器980还具有以下功能:
在所述安全域中按照预设的拆分规则将所述目标指纹数据拆分成第一目标指纹片段和第二目标指纹片段;
采用所述第一指纹模板片段与所述第一目标指纹片段进行匹配;
采用所述第二指纹模板片段与所述第二目标指纹片段进行匹配;
当所述第一指纹模板片段与所述第一目标指纹片段、且所述第二指纹模板片段与所述第二目标指纹片段匹配成功时,判定指纹验证成功;
当所述第一指纹模板片段与所述第一目标指纹片段和/或所述第二指纹模板片段与所述第二目标指纹片段匹配失败时,判定指纹验证失败。
可选地,该终端所包括的处理器980还具有以下功能:
确定所述第一指纹模板片段的第一位置和所述第二指纹模板片段的第二位置;
在所述目标指纹数据的第一位置和第二位置分别提取第一目标指纹片段和第二目标指纹片段。
可选地,该终端所包括的处理器980还具有以下功能:
从所述安全域切换至所述非安全域;
在所述非安全域中将所述指纹验证的结果返回所述应用。
可选地,该终端所包括的处理器980还具有以下功能:
在所述非安全域中根据应用的指纹录入请求采集指纹模板数据;
从所述非安全域切换至所述安全域;
在所述安全域中按照预设的拆分规则将所述指纹模板数据拆分成第一指纹模板片段和第二指纹模板片段;
在所述安全域中存储所述第一指纹模板片段、将所述第二指纹模板片段存储至所述安全芯片。
可选地,该终端所包括的处理器980还具有以下功能:
从所述指纹模板数据中的第一位置提取第一指纹模板片段;
从所述指纹模板数据中的第二位置提取第二指纹模板片段。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本发明所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取存储器(RAM,RandomAccess Memory)、磁盘或光盘等。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上对本发明所提供的一种移动终端进行了详细介绍,对于本领域的一般技术人员,依据本发明实施例的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (17)

1.一种指纹验证方法,其特征在于,应用在移动终端中,所述移动终端中具有相互隔离的非安全域与安全域,所述安全域接入安全芯片,所述非安全域不可接入所述安全芯片,所述安全芯片是一个可独立进行密钥生成、加解密的装置;
所述方法包括:
在所述非安全域中根据应用的指纹验证请求采集目标指纹数据;
从所述非安全域切换至所述安全域;
在所述安全域中提取第一指纹模板片段、从所述安全芯片中提取第二指纹模板片段,所述第一指纹模板片段与所述第二指纹模板片段属于同一个指纹模板数据;
在所述安全域中根据所述第一指纹模板片段与所述第二指纹模板片段对所述目标指纹数据进行指纹验证;
所述在所述安全域中提取第一指纹模板片段、从所述安全芯片中提取第二指纹模板片段的步骤包括:
在所述安全域中对所述应用进行合法性校验;
当所述应用通过所述合法性校验时,从所述安全域的文件系统中提取第一指纹模板片段;
从所述安全芯片中提取第二指纹模板片段。
2.如权利要求1所述的方法,其特征在于,所述在所述安全域中根据所述第一指纹模板片段与所述第二指纹模板片段对所述目标指纹数据进行指纹验证的步骤包括:
在所述安全域中按照预设的拆分规则将所述第一指纹模板片段与所述第二指纹模板片段组合成指纹模板数据;
采用所述指纹模板数据与所述目标指纹数据进行匹配;
当所述指纹模板数据与所述目标指纹数据匹配成功时,判定指纹验证成功;
当所述指纹模板数据与所述目标指纹数据匹配失败时,判定指纹验证失败。
3.如权利要求2所述的方法,其特征在于,所述按照预设的拆分规则将所述第一指纹模板片段与所述第二指纹模板片段组合成指纹模板数据的步骤包括:
生成一指纹底板;
分别确定所述第一指纹模板片段的第一位置、所述第二指纹模板片段的第二位置;
在所述指纹底板的第一位置和第二位置分别写入所述第一指纹模板片段和所述第二指纹模板片段,获得指纹模板数据。
4.如权利要求1所述的方法,其特征在于,所述在所述安全域中根据所述第一指纹模板片段与所述第二指纹模板片段对所述目标指纹数据进行指纹验证的步骤包括:
在所述安全域中按照预设的拆分规则将所述目标指纹数据拆分成第一目标指纹片段和第二目标指纹片段;
采用所述第一指纹模板片段与所述第一目标指纹片段进行匹配;
采用所述第二指纹模板片段与所述第二目标指纹片段进行匹配;
当所述第一指纹模板片段与所述第一目标指纹片段、且所述第二指纹模板片段与所述第二目标指纹片段匹配成功时,判定指纹验证成功;
当所述第一指纹模板片段与所述第一目标指纹片段匹配失败,或所述第二指纹模板片段与所述第二目标指纹片段匹配失败时,判定指纹验证失败。
5.如权利要求4所述的方法,其特征在于,所述在所述安全域中按照预设的拆分规则将所述目标指纹数据拆分成第一目标指纹片段和第二目标指纹片段的步骤包括:
确定所述第一指纹模板片段的第一位置和所述第二指纹模板片段的第二位置;
在所述目标指纹数据的第一位置和第二位置分别提取第一目标指纹片段和第二目标指纹片段。
6.如权利要求1-5任一项所述的方法,其特征在于,还包括:
从所述安全域切换至所述非安全域;
在所述非安全域中将所述指纹验证的结果返回所述应用。
7.如权利要求1-5任一项所述的方法,其特征在于,还包括:
在所述非安全域中根据应用的指纹录入请求采集指纹模板数据;
从所述非安全域切换至所述安全域;
在所述安全域中按照预设的拆分规则将所述指纹模板数据拆分成第一指纹模板片段和第二指纹模板片段;
在所述安全域中存储所述第一指纹模板片段、将所述第二指纹模板片段存储至所述安全芯片。
8.如权利要求7所述的方法,其特征在于,所述在所述安全域中按照预设的拆分规则将所述指纹模板数据拆分成第一指纹模板片段和第二指纹模板片段的步骤包括:
从所述指纹模板数据中的第一位置提取第一指纹模板片段;
从所述指纹模板数据中的第二位置提取第二指纹模板片段。
9.一种指纹验证装置,其特征在于,应用在移动终端中,所述移动终端中具有相互隔离的非安全域与安全域,所述安全域接入安全芯片,所述非安全域不可接入所述安全芯片,所述安全芯片是一个可独立进行密钥生成、加解密的装置;
所述装置包括:
验证请求处理模块,用于在所述非安全域中根据应用的指纹验证请求采集目标指纹数据;
第一安全域切换模块,用于从所述非安全域切换至所述安全域;
指纹模板片段提取模块,用于在所述安全域中提取第一指纹模板片段、从所述安全芯片中提取第二指纹模板片段,所述第一指纹模板片段与所述第二指纹模板片段属于同一个指纹模板数据;
指纹验证模块,用于在所述安全域中根据所述第一指纹模板片段与所述第二指纹模板片段对所述目标指纹数据进行指纹验证;
所述指纹模板片段提取模块包括:
合法性校验子模块,用于在所述安全域中对所述应用进行合法性校验;
第一指纹模板片段提取子模块,用于在所述应用通过所述合法性校验时,从所述安全域的文件系统中提取第一指纹模板片段;
第二指纹模板片段提取子模块,用于从所述安全芯片中提取第二指纹模板片段。
10.如权利要求9所述的装置,其特征在于,所述指纹验证模块包括:
指纹组合子模块,用于在所述安全域中按照预设的拆分规则将所述第一指纹模板片段与所述第二指纹模板片段组合成指纹模板数据;
模板匹配子模块,用于采用所述指纹模板数据与所述目标指纹数据进行匹配;
第一判定子模块,用于在所述指纹模板数据与所述目标指纹数据匹配成功时,判定指纹验证成功;
第二判定子模块,用于在所述指纹模板数据与所述目标指纹数据匹配失败时,判定指纹验证失败。
11.如权利要求10所述的装置,其特征在于,所述指纹组合子模块包括:
底板生成单元,用于生成一指纹底板;
模板位置确定单元,用于分别确定所述第一指纹模板片段的第一位置、所述第二指纹模板片段的第二位置;
底板写数据单元,用于在所述指纹底板的第一位置和第二位置分别写入所述第一指纹模板片段和所述第二指纹模板片段,获得指纹模板数据。
12.如权利要求9所述的装置,其特征在于,所述指纹验证模块包括:
目标指纹拆分子模块,用于在所述安全域中按照预设的拆分规则将所述目标指纹数据拆分成第一目标指纹片段和第二目标指纹片段;
第一片段匹配子模块,用于采用所述第一指纹模板片段与所述第一目标指纹片段进行匹配;
第二片段匹配子模块,用于采用所述第二指纹模板片段与所述第二目标指纹片段进行匹配;
第三判定子模块,用于在所述第一指纹模板片段与所述第一目标指纹片段、且所述第二指纹模板片段与所述第二目标指纹片段匹配成功时,判定指纹验证成功;
第四判定子模块,用于在所述第一指纹模板片段与所述第一目标指纹片段和/或所述第二指纹模板片段与所述第二目标指纹片段匹配失败时,判定指纹验证失败。
13.如权利要求12所述的装置,其特征在于,所述目标指纹拆分子模块包括:
片段位置确定单元,用于确定所述第一指纹模板片段的第一位置和所述第二指纹模板片段的第二位置;
目标指纹片段提取单元,用于在所述目标指纹数据的第一位置和第二位置分别提取第一目标指纹片段和第二目标指纹片段。
14.如权利要求9-13任一项所述的装置,其特征在于,还包括:
非安全域切换模块,用于从所述安全域切换至所述非安全域;
结果返回模块,用于在所述非安全域中将所述指纹验证的结果返回所述应用。
15.如权利要求9-13任一项所述的装置,其特征在于,还包括:
录入请求处理模块,用于在所述非安全域中根据应用的指纹录入请求采集指纹模板数据;
第二安全域切换模块,用于从所述非安全域切换至所述安全域;
指纹模板拆分模块,用于在所述安全域中按照预设的拆分规则将所述指纹模板数据拆分成第一指纹模板片段和第二指纹模板片段;
指纹模板存储模块,用于在所述安全域中存储所述第一指纹模板片段、将所述第二指纹模板片段存储至所述安全芯片。
16.如权利要求15所述的装置,其特征在于,所述指纹模板拆分模块包括:
第一模板片段提取子模块,用于从所述指纹模板数据中的第一位置提取第一指纹模板片段;
第二模板片段提取子模块,用于从所述指纹模板数据中的第二位置提取第二指纹模板片段。
17.一种移动终端,其特征在于,包括处理器和存储器;
所述存储器用于存储支持执行权利要求1至权利要求8中任一项所述的指纹验证方法的程序;
所述处理器被配置为用于执行所述存储器中存储的程序。
CN201710042727.XA 2017-01-20 2017-01-20 一种指纹验证方法及相关设备 Active CN106897596B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710042727.XA CN106897596B (zh) 2017-01-20 2017-01-20 一种指纹验证方法及相关设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710042727.XA CN106897596B (zh) 2017-01-20 2017-01-20 一种指纹验证方法及相关设备

Publications (2)

Publication Number Publication Date
CN106897596A CN106897596A (zh) 2017-06-27
CN106897596B true CN106897596B (zh) 2020-06-19

Family

ID=59199204

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710042727.XA Active CN106897596B (zh) 2017-01-20 2017-01-20 一种指纹验证方法及相关设备

Country Status (1)

Country Link
CN (1) CN106897596B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI792380B (zh) * 2021-06-30 2023-02-11 大陸商北京集創北方科技股份有限公司 多模板圖像識別方法、生物特徵識別裝置、及資訊處理裝置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101478541A (zh) * 2008-10-21 2009-07-08 刘洪利 一种生物特征认证方法,以及一种生物特征认证系统
CN103986837A (zh) * 2014-05-28 2014-08-13 天地融科技股份有限公司 信息处理方法及装置
CN105354466A (zh) * 2015-10-26 2016-02-24 维沃移动通信有限公司 一种指纹识别方法及移动终端

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104778393A (zh) * 2015-04-16 2015-07-15 电子科技大学 一种智能终端的安全指纹识别方法
CN105184218B (zh) * 2015-07-30 2020-12-01 Oppo广东移动通信有限公司 一种指纹录入的方法及装置
CN105208005B (zh) * 2015-08-25 2019-10-11 宇龙计算机通信科技(深圳)有限公司 一种指纹认证方法、连接设备和终端设备

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101478541A (zh) * 2008-10-21 2009-07-08 刘洪利 一种生物特征认证方法,以及一种生物特征认证系统
CN103986837A (zh) * 2014-05-28 2014-08-13 天地融科技股份有限公司 信息处理方法及装置
CN105354466A (zh) * 2015-10-26 2016-02-24 维沃移动通信有限公司 一种指纹识别方法及移动终端

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于TrustZone的指纹识别安全技术研究与实现;杨霞等;《计算机科学》;20160731;第43卷(第7期);第148-151页 *

Also Published As

Publication number Publication date
CN106897596A (zh) 2017-06-27

Similar Documents

Publication Publication Date Title
CN106897595B (zh) 一种移动终端
CN104125216B (zh) 一种提升可信执行环境安全性的方法、系统及终端
US9607140B2 (en) Authenticating a user of a system via an authentication image mechanism
US10078599B2 (en) Application access control method and electronic apparatus implementing the same
WO2017118412A1 (zh) 一种更新密钥的方法、装置和系统
WO2018228199A1 (zh) 一种授权方法以及相关设备
WO2017084288A1 (zh) 身份验证方法及装置
CN107483213B (zh) 一种安全认证的方法、相关装置及系统
CN104424431B (zh) 一种重置虚拟机用户登陆密码的方法及装置
CN107451813B (zh) 支付方法、支付设备和支付服务器
KR101654778B1 (ko) 하드웨어 강제 액세스 보호
CN108881103B (zh) 一种接入网络的方法及装置
CN106909820B (zh) 移动终端及其指纹数据处理方法和装置
WO2014108005A1 (en) Co-verification method, two-dimensional code generation method, and device and system therefor
CN106921799A (zh) 一种移动终端安全防护方法以及移动终端
CN106713266B (zh) 一种防止信息泄露的方法、装置、终端及系统
CN108475304B (zh) 一种关联应用程序和生物特征的方法、装置以及移动终端
WO2017147890A1 (zh) 一种验证码短信显示方法及移动终端
WO2019196693A1 (zh) 应用控制方法和装置、可读存储介质、终端
CN106255102B (zh) 一种终端设备的鉴定方法及相关设备
CN109416800A (zh) 一种移动终端的认证方法及移动终端
CN110941821A (zh) 数据处理方法、装置及存储介质
CN111475832A (zh) 一种数据管理的方法以及相关装置
CN107317796A (zh) 一种安全认证的方法及终端
CN108460251B (zh) 运行应用程序的方法、装置及系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20170802

Address after: 100102, 18 floor, building 2, Wangjing street, Beijing, Chaoyang District, 1801

Applicant after: BEIJING ANYUN SHIJI SCIENCE AND TECHNOLOGY CO., LTD.

Address before: 100088 Beijing city Xicheng District xinjiekouwai Street 28, block D room 112 (Desheng Park)

Applicant before: Beijing Qihu Technology Co., Ltd.

GR01 Patent grant
GR01 Patent grant