CN112926041A - 一种基于生物特征的远程身份认证系统 - Google Patents

一种基于生物特征的远程身份认证系统 Download PDF

Info

Publication number
CN112926041A
CN112926041A CN202110172238.2A CN202110172238A CN112926041A CN 112926041 A CN112926041 A CN 112926041A CN 202110172238 A CN202110172238 A CN 202110172238A CN 112926041 A CN112926041 A CN 112926041A
Authority
CN
China
Prior art keywords
feature
template
protection
vector
client device
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
Application number
CN202110172238.2A
Other languages
English (en)
Other versions
CN112926041B (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.)
Xidian University
Original Assignee
Xidian University
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 Xidian University filed Critical Xidian University
Priority to CN202110172238.2A priority Critical patent/CN112926041B/zh
Publication of CN112926041A publication Critical patent/CN112926041A/zh
Application granted granted Critical
Publication of CN112926041B publication Critical patent/CN112926041B/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
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/23Clustering techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/30Determination of transform parameters for the alignment of images, i.e. image registration
    • G06T7/33Determination of transform parameters for the alignment of images, i.e. image registration using feature-based methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/44Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/94Hardware or software architectures specially adapted for image or video understanding
    • G06V10/95Hardware or software architectures specially adapted for image or video understanding structured as a network, e.g. client-server architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/12Fingerprints or palmprints
    • G06V40/1382Detecting the live character of the finger, i.e. distinguishing from a fake or cadaver finger
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2218/00Aspects of pattern recognition specially adapted for signal processing
    • G06F2218/08Feature extraction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2218/00Aspects of pattern recognition specially adapted for signal processing
    • G06F2218/12Classification; Matching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10004Still image; Photographic image
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Software Systems (AREA)
  • Evolutionary Computation (AREA)
  • Multimedia (AREA)
  • Computing Systems (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • Biophysics (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Molecular Biology (AREA)
  • Biomedical Technology (AREA)
  • Evolutionary Biology (AREA)
  • Computer Security & Cryptography (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Human Computer Interaction (AREA)
  • Collating Specific Patterns (AREA)

Abstract

本发明公开了一种基于生物特征的远程身份认证系统;客户端设备采集第一原始生物特征,对其进行活体检测、预处理和特征提取,得到第一提取特征;使用特征模板保护方法将其转换为第一保护特征模板发给远程服务器存储;客户端设备向远程服务器发起用户认证请求,以使远程服务器将待认证的第二保护特征模板与第一保护特征模板进行匹配处理,从而根据匹配结果确定用户认证结果。其中,特征模板保护方法是基于随机生成的参量实现特征变换的方法;客户端设备通过变换参量,配合远程服务器实现第一保护特征模板的重新注册和第二保护特征模板的重新认证。本发明中用户的生物特征可重复使用,更换参量即可更新注册的模板,实现了生物密钥的更新。

Description

一种基于生物特征的远程身份认证系统
技术领域
本发明属于生物认证技术领域,具体涉及一种基于生物特征的远程身份认证系统。
背景技术
生物认证相较于传统的密码口令认证而言,其优势在于用户无需担心密码遗忘或者密码泄漏。但是,目前的生物认证系统均存储用户的原始生物特征。这种做法存在一个缺陷,那就是一旦存储的原始生物特征被泄漏,原始生物特征即作废,且永远不可再启用,否则便有可能造成不可挽回的损失。相比而言,在传统的密码口令认证中,如果用户账号的密码被泄漏,用户只需简单地更换密码即可继续使用原账号。
因此,如何使生物认证系统中存储的生物特征具有可重复使用性,从而使用户能够更新生物密钥,是当下生物认证系统中的一个技术难题。
发明内容
为了使生物认证系统中存储的生物特征具有可重复使用性,从而使用户能够更新生物密钥,本发明提供了一种基于生物特征的远程身份认证系统。
本发明要解决的技术问题通过以下技术方案实现:
一种基于生物特征的远程身份认证系统,包括:客户端设备和远程服务器;其中,
所述客户端设备,响应于用户注册指令,采集第一原始生物特征;对所述第一原始生物特征进行活体检测;在活体检测通过后,对所述第一原始生物特征进行预处理和特征提取,得到第一提取特征,并删除所述第一原始生物特征;使用特征模板保护方法将所述第一提取特征转换为第一保护特征模板;向所述远程服务器发起用户注册请求,所述用户注册请求中携带有所述第一保护特征模板和所述客户端设备的标识;
所述远程服务器,响应于所述用户注册请求,存储所述用户注册请求中携带的所述第一保护特征模板,并存储所述第一保护特征模板和所述客户端设备的标识的对应关系;
所述客户端设备,还响应于用户认证指令,采集第二原始生物特征;对所述第二原始生物特征进行活体检测;在活体检测通过后,对所述第二原始生物特征进行预处理和特征提取,得到第二提取特征,并删除所述第二原始生物特征;使用所述特征模板保护方法将所述第二提取特征转换为第二保护特征模板;向所述远程服务器发起用户认证请求,所述用户认证请求中携带有所述第二保护特征模板和所述客户端设备的标识;
所述远程服务器,还响应于所述用户认证请求,将所述用户认证请求中携带的所述第二保护特征模板与所述用户认证请求中携带的标识所对应的第一保护特征模板进行匹配处理,得到匹配结果;将所述匹配结果反馈至所述客户端设备,以使所述客户端设备根据所述匹配结果确定用户认证结果;
其中,所述特征模板保护方法是基于随机生成的参量实现特征变换的方法;所述客户端设备通过更新所述参量,配合所述远程服务器实现用户的重新注册和重新认证。
可选地,所述参量包括:随机置换种子;
所述客户端设备,使用特征模板保护方法将所述第一提取特征转换为第一保护特征模板,包括:
根据所述第一提取特征与预设的特征库中的各个特征样本的相似度,计算第一定长向量;
将所述第一定长向量与预设的映射矩阵作矩阵乘法,得到第一聚合向量;其中,所述映射矩阵是预先根据所述特征库中的特征样本之间的相似度,利用核主成分分析KPCA法所计算得到的;
将所述第一聚合向量与局部哈尔矩阵作矩阵乘法,并将乘积结果重复n次,得到第一扩充向量;其中,所述局部哈尔矩阵是预先根据一哈尔矩阵和一随机向量所生成的;
生成与所述第一扩充向量等长的随机置换种子,并利用所述随机置换种子对所述第一扩充向量中的元素进行位置置换,得到第一置换向量;
将所述第一置换向量进行均匀分段,并根据分段得到的每个分段向量中最小元素的位置生成一个二值特征,作为第一保护特征模板。
可选地,所述客户端设备,使用所述特征模板保护方法将所述第二提取特征转换为第二保护特征模板,包括:
根据所述第二提取特征与所述特征库中的各个特征样本的相似度,计算第二定长向量;
将所述第二定长向量与所述映射矩阵作矩阵乘法,得到第二聚合向量;
将所述第二聚合向量与所述局部哈尔矩阵作矩阵乘法,并将乘积结果重复n次,得到第二扩充向量;
利用所述随机置换种子对所述第二扩充向量中的元素进行位置置换,得到第二置换向量;
将所述第二置换向量进行均匀分段,并根据分段得到的每个分段向量中最小元素的位置生成一个二值特征,作为第二保护特征模板。
可选地,所述远程服务器,响应于所述用户认证请求,将所述用户认证请求中携带的所述第二保护特征模板与所述用户认证请求中携带的标识所对应的第一保护特征模板进行匹配处理,得到匹配结果,包括:
响应于所述用户认证请求,利用预设的匹配公式计算所述用户认证请求中携带的标识所对应的第一保护特征模板和所述用户认证请求中携带的所述第二保护特征模板的匹配度;
如果所述匹配度超出阈值,得到匹配的匹配结果,
如果所述匹配度未超出阈值,得到不匹配的匹配结果;
所述匹配公式为:
Figure BDA0002939289090000041
其中,S(BE,BQ)代表所述匹配度,BE代表所述用户认证请求中携带的标识所对应的第一保护特征模板,BQ代表所述用户认证请求中携带的所述第二保护特征模板,l代表所述第一保护特征模板、所述第二保护特征模板的长度,XOR(·)代表异或操作。
可选地,所述第一原始生物特征和所述第二原始生物特征均为指纹图像;
所述客户端设备,对所述指纹图像进行活体检测,包括:
使用基于迁移学习的指纹活体检测法或基于图像分块的指纹活体检法,对所述指纹图像进行活体检测。
可选地,所述第一原始生物特征和所述第二原始生物特征均为生物特征图像;
所述客户端设备,对所述生物特征图像进行预处理和特征提取,包括:
对所述生物特征图像依次进行平滑、分割、增强、二值化以及细化处理,得到预处理后的所述生物特征图像;
从预处理后的所述生物特征图像中提取参考点;
基于所提取的参考点对预处理后的所述生物特征图像进行参考点配准;
使用基于K均值聚类的方法或预先训练的深度学习模型,对参考点配准后的所述生物特征图像进行特征提取;其中,所述深度学习模型为使用Resnet网络中的block结构所构建的双分支模型。
可选地,所述客户端设备,从预处理后的所述生物特征图像中提取参考点,包括:
利用以Hourglass网络为backbone的卷积神经网络,从预处理后的所述生物特征图像中提取参考点的位置和方向。
可选地,所述生物特征图像包括指纹图像;
训练所述深度学习模型所使用的样本指纹图像的标注信息至少包括样本指纹图像的细节点图谱的高斯热图。
可选地,所述客户端设备,还在活体检测失败后,生成并报出欺骗攻击告警,以及将所述欺骗攻击告警发送至所述远程服务器;其中,所述欺骗攻击告警中至少携带有所述客户端设备的标识和欺骗攻击时间;
所述远程服务器,还用于存储所述欺骗攻击告警。
本发明提供的基于生物特征的远程身份认证系统中,客户端设备在用户注册和用户认证时均采用了活体检测,由此可以识别欺骗攻击;并且,在活体检测通过后,客户端设备还进一步将从原始生物特征中提取的特征利用特征模板保护方法转换为保护特征模板发给远程服务器,且将原始生物特征进行删除;由此,客户端设备本地不会保存原始生物特征,远程服务器也不会保存原始生物特征,取而代之存储的是经过模板保护的保护特征模板,不会导致个人隐私被窃取,保护了个人隐私信息,提高了安全性;并且,由于本发明使用的特征模板保护方法是基于随机生成的参量实现特征变换的方法,故而客户端设备通过更新该参量,配合远程服务器即可实现用户的重新注册和重新认证。这样,用户无需作废原始的生物特征,仍然可以使用相同的生物特征进行注册以及相应的认证,达到了在生物认证系统中更新生物密钥的效果。
以下将结合附图及对本发明做进一步详细说明。
附图说明
图1是本发明实施例提供的一种基于生物特征的远程身份认证系统的结构示意图;
图2是图1所示远程身份认证系统中客户端设备和远程服务器的交互示意图;
图3是本发明实施例中指纹图像分块处理的示意图;
图4是本发明实施例中指纹参考点提取的示意图;
图5是本发明实施例中指纹细节点的局部结构的示意图;
图6是本发明实施例中指纹细节点的局部纹理的示意图。
具体实施方式
下面结合具体实施例对本发明做进一步详细的描述,但本发明的实施方式不限于此。
为了使生物认证系统中存储的生物特征具有可重复使用性,从而使用户能够更新生物密钥,本发明实施例提供了一种基于生物特征的远程身份认证系统,参见图1所示,该系统包括:客户端设备和远程服务器。
其中,客户端设备,响应于用户注册指令,采集第一原始生物特征;对第一原始生物特征进行活体检测;在活体检测通过后,对第一原始生物特征进行预处理和特征提取,得到第一提取特征,并删除第一原始生物特征;使用特征模板保护方法将第一提取特征转换为第一保护特征模板;向远程服务器发起用户注册请求,该用户注册请求中携带有第一保护特征模板和客户端设备的标识。
这里,第一原始生物特征可以是指纹图像、虹膜图像等生物特征图像。其中,对于指纹图像而言,可以使用基于迁移学习的指纹活体检测法或基于图像分块的指纹活体检法实现活体检测;对于虹膜图像而言,可以通过在原始灰度空间中提取的虹膜纹理深度特征来实现活体检测,相关检测方式可以参见现有的虹膜活体检测方法,此处不再赘述。
另外,根据生物特征图像的类型,客户端设备对生物特征图像进行预处理的方式也可以适应调整。
例如,当生物特征图像是指纹图像时,对指纹图像进行的预处理可以包括:平滑、分割、增强、二值化以及细化处理;其中,平滑处理指的是去除指纹图像中的噪声点,且不使图像边缘轮廓变模糊;分割处理指的是将指纹图像分割为前景区域和背景区域,纹线部分是前景区域,背景区域是除纹线以外的部分;增强处理指的是加强脊线方向的方向场,以修正脊线断裂失真;二值化处理指的是将指纹图像表示为只有0和255两种像素值的灰度图,细化处理指的是将指纹脊线宽度像素值处理为1。
对于各种类型的生物特征图像而言,客户端设备对预处理后的生物特征图像进行特征提取的具体方式可以存在多种,如基于K均值聚类的方法或使用深度学习模型提取特征的方法等等。
另外,客户端设备将第一提取特征转换为第一保护特征模板时所使用的特征模板保护方法可以包括多种;这些特征模板保护方法具有一个共同的特点,那就是他们都是基于一种随机生成的参量实现特征变换的方法;一旦参量发生变更,即使是先后根据同一生物特征中转换而来的两个特征模板,也是两个完全不同的特征模板,类似于在传统的密码口令认证中的更换密码。为了方案布局清晰,后续对本发明实施例中使用到的特征模板保护方法进行举例说明。
远程服务器,响应于客户端设备发来的用户注册请求,存储该用户注册请求中携带的第一保护特征模板,并存储该第一保护特征模板和客户端设备的标识的对应关系。
客户端设备,还响应于用户认证指令,采集第二原始生物特征;对第二原始生物特征进行活体检测;在活体检测通过后,对第二原始生物特征进行预处理和特征提取,得到第二提取特征,并删除第二原始生物特征;使用特征模板保护方法将第二提取特征转换为第二保护特征模板;向远程服务器发起用户认证请求,该用户认证请求中携带有第二保护特征模板和该客户端设备的标识。
这里,第二原始生物特征是与第一原始生物特征的类型相同的生物特征图像。参见图2所示,客户端设备对用户认证指令的响应过程与其对用户注册指令的响应过程大致相似,区别在于最终向服务器发起的请求类型不同,且在使用特征模板保护方法将第二提取特征转换为第二保护特征模板时所使用的参量是直接沿用注册阶段已经生成的参量。
远程服务器,还响应于用户认证请求,将用户认证请求中携带的第二保护特征模板与用户认证请求中携带的标识所对应第一保护特征模板进行匹配处理,得到匹配结果;将匹配结果反馈至客户端设备,以使客户端设备根据匹配结果确定用户认证结果。
可以理解的是,远程服务器将第二保护特征模板与第一保护特征模板进行匹配处理的方式,与将第一提取特征转换为第一保护特征模板时所使用的特征模板保护方法相对应。后续在对特征模板保护方法进行举例说明时,将一并对远程服务器做匹配处理的方式进行说明。
可以理解的是,如果服务器向客户端设备反馈匹配成功,则客户端设备可以确定用户认证结果为通过,否则确定用户认证结果为不通过。
本发明实施例提供的基于生物特征的远程身份认证系统中,客户端设备在用户注册和用户认证时均采用了活体检测,由此可以识别欺骗攻击;并且,在活体检测通过后,客户端设备还进一步将从原始生物特征中提取的特征利用特征模板保护方法转换为保护特征模板发给远程服务器,且将原始生物特征进行删除;由此,客户端设备本地不会保存原始生物特征,远程服务器也不会保存原始生物特征,取而代之存储的是经过模板保护的保护特征模板,不会导致个人隐私被窃取,保护了个人隐私信息,提高了安全性;并且,由于本发明实施例使用的特征模板保护方法是基于一种随机生成的参量实现特征变换的方法,故而客户端设备通过更新该参量,配合远程服务器即可实现用户的重新注册和重新认证。这样,用户无需作废原始的生物特征,仍然可以使用相同的生物特征进行注册以及相应的认证,达到了在生物认证系统中更新生物密钥的效果。
下面,对本发明实施例中使用的特征模板保护方法进行举例说明。
示例性的,在一种实现方式中,特征模板保护方法中所使用的随机生成的参量为随机置换种子;相应的,客户端设备使用特征模板保护方法将所述第一提取特征转换为第一保护特征模板,可以包括:
(1)根据第一提取特征与预设的特征库中的各个特征样本的相似度,计算第一定长向量。
具体的,分别计算第一提取特征与特征库中的各个特征样本的相似度;将计算的各个相似度作为向量元素,并参照各个特征样本在一个预设的映射矩阵的维度N中的对应位置,生成一个定长的向量。然后,对生成的该向量进行高斯核化处理,得到第一定长向量。
其中,映射矩阵是预先根据特征库中的特征样本之间的相似度,利用核主成分分析KPCA法所计算得到的。计算出的映射矩阵的维度为N×D;最终计算出的第一定长向量的长度等于N。
(2)将第一定长向量与预设的映射矩阵作矩阵乘法,得到第一聚合向量。
(3)将第一聚合向量与局部哈尔矩阵作矩阵乘法,并将乘积结果重复n次,得到第一扩充向量;其中,局部哈尔矩阵是预先根据一哈尔矩阵和一随机向量所生成的。
举例而言,假设生成了一个哈尔矩阵H以及随机向量P=[p1,p2,...,pi,...,pr];那么根据该随机向量P和该哈尔矩阵H所生成的局部哈尔矩阵的第i行即为该哈尔矩阵H的第pi行。
另外,如果步骤(2)中直接计算出的第一聚合向量与局部哈尔矩阵的维度不匹配,使得两者无法作矩阵乘法,还可以对第一聚合向量进行维度扩充,以使第一聚合向量能够与局部哈尔作矩阵乘法。
(4)生成与第一扩充向量等长的随机置换种子,并利用随机置换种子对第一扩充向量中的元素进行位置置换,得到第一置换向量。
可以理解的是,随机置换种子是随机生成的,主要用于将第一扩充向量中的元素的位置打乱。例如,假设第一扩充向量是[0.2 0.3 0.6 0.4],生成的随机置换种子是[4 21 3],那么利用该随机置换种子对该第一扩充向量中的元素进行位置置换后,得到的第一置换向量就是[0.4 0.3 0.2 0.6]。
(5)将第一置换向量进行均匀分段,并根据分段得到的每个分段向量中最小元素的位置生成一个二值特征,作为第一保护特征模板。
其中,在确保第一置换向量是被均匀分段的前提下,本发明实施例对分段向量的长度不做限定。例如,每个分段向量可以是2、3或者4等等。当分段向量的长度等于2时,其包括的两个元素的位置可以优选地分别用0和1来表示。当分段向量的长度大于2时,其元素的位置则可以用0和1来编码;例如,如果分段向量的长度为3,那么该分段向量中第0位可以用00来表示,第1位用01来表示,第2位则用10来表示。
该步骤(5)中,根据分段得到的每个分段向量中最小元素的位置生成一个二值特征,具体是将代表着每个分段向量中最小元素的位置的信息进行拼接级联,即得到一个二值特征。例如,假设分段得到3个分段向量,包括:[1 2],[3 1],[2 1];其中,[1 2]中最小元素的位置在第0位,[3 1]中最小元素的位置在第1位,[2 1]中最小元素的位置在第1位,故得到的二值特征就是011。另外,如果分段向量中最小元素不唯一,可以默认总是选取最低位或最高位的最小元素的位置。例如,分段向量[2 2]中最小元素是2,则可以默认选取最低位的2的位置信息0。
相应的,客户端设备使用特征模板保护方法将第二提取特征转换为第二保护特征模板,可以包括:
(1)根据第二提取特征与特征库中的各个特征样本的相似度,计算第二定长向量;
(2)将第二定长向量与映射矩阵作矩阵乘法,得到第二聚合向量;
(3)将第二聚合向量与局部哈尔矩阵作矩阵乘法,并将乘积结果重复n次,得到第二扩充向量;
(4)利用随机置换种子对第二扩充向量中的元素进行位置置换,得到第二置换向量;
(5)将第二置换向量进行均匀分段,并根据分段得到的每个分段向量中最小元素的位置生成一个二值特征,作为第二保护特征模板。
可以理解的是,客户端设备使用特征模板保护方法将第二提取特征转换为第二保护特征模板与其将第一提取特征转换为第一保护特征模板大致相同,区别在于转换该第二提取特征时,随机置换种子直接沿用的是转换第一提取特征时所生成好的随机置换种子,这样才能确保后续两者能够匹配成功。
相应的,远程服务器响应于用户认证请求,将用户认证请求中携带的第二保护特征模板与用户认证请求中携带的标识所对应的第一保护特征模板进行匹配处理,得到匹配结果,可以包括:
响应于用户认证请求,利用预设的匹配公式计算用户认证请求中携带的标识所对应的第一保护特征模板和用户认证请求中携带的第二保护特征模板的匹配度;如果匹配度超出阈值,得到匹配的匹配结果,如果匹配度未超出阈值,得到不匹配的匹配结果。
其中,该匹配公式为:
Figure BDA0002939289090000131
该匹配公式中,S(BE,BQ)代表匹配度,BE代表用户认证请求中携带的标识所对应的第一保护特征模板,BQ代表用户认证请求中携带的第二保护特征模板,l代表第一保护特征模板、第二保护特征模板的长度,XOR(·)代表异或操作。
可以理解的是,基于该实现方式中所示出的特征模板保护方法,如果用户想要更新第一保护特征模板,只需要重新进行注册即可。用户重新注册后,客户端设备本地中的随机置换种子被更新;相应的,当用户需要进行身份认证时,客户端设备也将使用更新后的随机置换种子来对第二提取特征进行转换,从而使转换得到的第二特征保护模板能够与更新后的第一保护特征模板匹配。
在另一种实现方式中,特征模板保护方法中所使用的随机生成的参量为置换矩阵;相应的,客户端设备使用特征模板保护方法将第一提取特征转换为第一保护特征模板,可以包括:
(1)根据第一提取特征与上述的特征库中的各个特征样本的相似度,计算第一定长向量。
该步骤中计算第一定长向量的方式,与前一种特征模板保护方法中计算第一定长向量的方式相同。
(2)将第一定长向量与上述的映射矩阵作矩阵乘法,得到第一聚合向量。
(3)随机生成的多个随机向量,并根据生成的多个随机向量生成多个局部哈达玛矩阵,作为置换矩阵。
(4)将第一聚合向量与该置换矩阵包括的多个局部哈达玛矩阵分别作矩阵乘法,得到多个第一目标向量。
(5)记录每个第一目标向量中的最大值和最小值的索引,得到第一保护特征模板。
相应的,客户端设备使用特征模板保护方法将第二提取特征转换为第二保护特征模板,可以包括:
(1)根据第二提取特征与上述的特征库中的各个特征样本的相似度,计算第二定长向量。
该步骤中计算第二定长向量的方式,与客户端设备计算第一定长向量的方式相同。
(2)将第二定长向量与上述的映射矩阵作矩阵乘法,得到第二聚合向量。
(3)将第二聚合向量与上述的置换矩阵包括的多个局部哈达玛矩阵分别作矩阵乘法,得到多个第二目标向量。
(5)记录每个第二目标向量中的最大值和最小值的索引,得到第二保护特征模板。
可以理解的是,该实现方式中,客户端设备使用特征模板保护方法将第二提取特征转换为第二保护特征模板与其将第一提取特征转换为第一保护特征模板大致相同,区别在于转换该第二提取特征时,置换矩阵直接沿用的是转换第一提取特征时所生成好的置换矩阵,这样才能确保后续两者能够匹配成功。
相应的,远程服务器响应于用户认证请求,将用户认证请求中携带的第二保护特征模板与用户认证请求中携带的标识所对应的第一保护特征模板进行匹配处理,得到匹配结果,可以包括:
利用预设的匹配公式,计算用户认证请求中携带的第二保护特征模板与用户认证请求中携带的标识所对应的第一保护特征模板的匹配度;如果匹配度超出阈值,得到匹配的匹配结果;如果匹配度未超出阈值,得到不匹配的匹配结果。
其中,该实现方式中使用的匹配公式为:
Figure BDA0002939289090000151
该匹配公式中,TN为第一保护特征模板、第二保护特征模板的长度;Cquery为待认证的第二保护特征模板;Cenroll为客户端设备的标识所对应的第一保护特征模板,S(Cenroll,Cquery)为匹配度。
可以理解的是,基于该实现方式中所示出的特征模板保护方法,如果用户想要更新第一保护特征模板,只需要重新进行注册即可。用户重新注册后,客户端设备本地中的置换矩阵被更新;相应的,当用户需要进行身份认证时,客户端设备也将使用更新后的置换矩阵来对第二提取特征进行转换,从而使转换得到的第二特征保护模板能够与更新后的第一保护特征模板匹配。
在一个实施例中,客户端设备还可以在活体检测失败后,生成并报出欺骗攻击告警,以及将欺骗攻击告警发送至远程服务器;其中,该欺骗攻击告警中至少携带有客户端设备的标识和欺骗攻击时间。
相应的,远程服务器,还用于存储欺骗攻击告警。
在实际应用中,客户端设备的标识可以是客户端设备的编号或网络地址等任何能够区分并定位客户端设备的信息。此外,欺骗攻击告警中还可以携带有活体检测失败的第一原始生物特征,即伪造的原始生物特征。
为了方案更为清楚,下面以指纹图像为例,对本发明实施例进行进一步的举例说明。
首先,对客户端设备进行活体检测的具体实现方式进行举例说明。
示例性的,当使用基于迁移学习的指纹活体检测法对指纹图像进行活体检测时,可以使用在ImageNet上预训练好的VGG网络或ResNet50网络,直接将指纹图像调整到适用于该网络的大小,即调整到224*224的大小;并且,将该网络中的全连接层从1000维改成2维,以使该网络最后输出指纹图像是真或假的分类结果。其中,ImageNet是一个用于视觉对象识别软件研究的大型可视化数据库。
或者,当使用基于图像分块的指纹活体检法对指纹图像进行活体检测时,使用提取的细节点对指纹图像进行分块处理,以细节点为中心分成112*112的指纹块,再将指纹块沿细节点方向水平对齐,而不是直接将整幅指纹图像调整成224*224大小;分块过程可以参见图3所示。然后,将224*224的指纹图像送入MobileNet-V2网络,计算各个指纹块的欺骗分数从而判断指纹图像的真伪。
然后,对客户端设备进行原始生物特征的特征提取的具体实现方式进行举例说明。
示例性的,当使用基于K均值聚类的方法对预处理后的指纹图像进行特征提取时,可以首先从预处理后的生物特征图像中提取指纹的参考点;参考点的位置被定义在指纹中心的高曲率区域,除了定义指纹参考点的位置外,还可以定义指纹参考点的方向,指纹参考点的方向就是指纹的指尖方向。在实际应用中,可以利用以Hourglass网络为backbone(支柱)的卷积神经网络从指纹图像中提取出指纹参考点的位置和方向,该过程是完全端到端的,无需进行非极大值抑制(Non-Maximum Suppression,NMS)以及任何中间处理,可直接输出参考点的坐标和角度。坐标的提取方式采用dsntnn(Numerical Coordinate Regressionwith Convolutional Neural Networks)的方法,角度采用分类的方法获得,将指纹方向量化在10°以内,得到36类指纹方向不同的指纹,这样便通过模型将指纹分类进而得到角度。参考点提取示例图可以参见图4所示。
得到参考点之后,基于所提取的指纹参考点对预处理后的生物特征图像进行参考点配准;这里,指纹配准的方式是找到指纹参考点后,通过旋转平移将指纹参考点的位置移到图像中心,使指纹参考点的方向垂直向上,从而保证指纹姿态的一致性。然后,使用基于K均值聚类的方法进行指纹特征提取。该基于K均值聚类的方法以指纹细节点为中心的局部结构,利用二维高斯函数对局部结构中的邻近细节点进行刻画,生成如图5所示的细节点的局部结构特征;同时,该方法对细节点周围局部结构的像素强度进行刻画,生成如图6所示的细节点的局部纹理特征。通过对两个局部特征进行特征融合后,利用主成分分析(Principal Component Analysis,PCA)降维,将所有融合特征聚类,得到k个聚类中心;计算指纹图像的每个细节点对应的局部结构到聚类中心的欧式距离,距离最近的类被标记为1,其他的类标记为0。由此,便可以依据指纹局部特征提取出长度为k的定长二值特征;根据客户端设备响应的指令类型,该定长二值特征相应被作为第一提取特征或第二提取特征。
或者,当使用基于迁移学习的指纹活体检测法对预处理后的指纹图像进行特征提取时,同样也可以首先从预处理后的生物特征图像中提取指纹的参考点,然后基于所提取的参考点对生物特征图像进行参考点配准;接着,将参考点配准后的生物特征图像送入深度学习模型中提取特征。其中,可以利用Resnet网络中的block结构来构建双分支模型;其中,一个分支生成细节点图谱,具体生成的512维的向量,该向量可以表征指纹的细节点特征;另一个分支则直接从指纹图像中学习出512维的特征向量,由于指纹图像主要有纹理构成,所以该特征向量主要表征的是纹理信息。这两个特征向量皆是经过L2规范化后的向量,在拼接为1024维的向量之后,可以方便地计算余弦相似度,将计算的余弦相似度+2,便可以得到向量间的匹配分数;这比较利于客户端设备后续进行用户认证和模板更新。
另外,为了引导深度学习模型关注指纹的细节点信息,在训练深度学习模型的过程中,可以将指纹图像的细节点图谱以高斯热图的形式加入到训练流程中,具体可以是将细节点图谱的高斯热图作为指纹图像的标注信息加入到训练流程中,从而有助于生成表征指纹细节点的定长特征向量。
需要说明的是,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个特征。在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。此外,本领域的技术人员可以将本说明书中描述的不同实施例或示例进行接合和组合。
尽管在此结合各实施例对本申请进行了描述,然而,在实施所要求保护的本申请过程中,本领域技术人员通过查看所述附图、公开内容、以及所附权利要求书,可理解并实现所述公开实施例的其他变化。
以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。

Claims (9)

1.一种基于生物特征的远程身份认证系统,其特征在于,包括:客户端设备和远程服务器;其中,
所述客户端设备,响应于用户注册指令,采集第一原始生物特征;对所述第一原始生物特征进行活体检测;在活体检测通过后,对所述第一原始生物特征进行预处理和特征提取,得到第一提取特征,并删除所述第一原始生物特征;使用特征模板保护方法将所述第一提取特征转换为第一保护特征模板;向所述远程服务器发起用户注册请求,所述用户注册请求中携带有所述第一保护特征模板和所述客户端设备的标识;
所述远程服务器,响应于所述用户注册请求,存储所述用户注册请求中携带的所述第一保护特征模板,并存储所述第一保护特征模板和所述客户端设备的标识的对应关系;
所述客户端设备,还响应于用户认证指令,采集第二原始生物特征;对所述第二原始生物特征进行活体检测;在活体检测通过后,对所述第二原始生物特征进行预处理和特征提取,得到第二提取特征,并删除所述第二原始生物特征;使用所述特征模板保护方法将所述第二提取特征转换为第二保护特征模板;向所述远程服务器发起用户认证请求,所述用户认证请求中携带有所述第二保护特征模板和所述客户端设备的标识;
所述远程服务器,还响应于所述用户认证请求,将所述用户认证请求中携带的所述第二保护特征模板与所述用户认证请求中携带的标识所对应的第一保护特征模板进行匹配处理,得到匹配结果;将所述匹配结果反馈至所述客户端设备,以使所述客户端设备根据所述匹配结果确定用户认证结果;
其中,所述特征模板保护方法是基于随机生成的参量实现特征变换的方法;所述客户端设备通过更新所述参量,配合所述远程服务器实现用户的重新注册和重新认证。
2.根据权利要求1所述的远程身份认证系统,其特征在于,所述参量包括:随机置换种子;
所述客户端设备,使用特征模板保护方法将所述第一提取特征转换为第一保护特征模板,包括:
根据所述第一提取特征与预设的特征库中的各个特征样本的相似度,计算第一定长向量;
将所述第一定长向量与预设的映射矩阵作矩阵乘法,得到第一聚合向量;其中,所述映射矩阵是预先根据所述特征库中的特征样本之间的相似度,利用核主成分分析KPCA法所计算得到的;
将所述第一聚合向量与局部哈尔矩阵作矩阵乘法,并将乘积结果重复n次,得到第一扩充向量;其中,所述局部哈尔矩阵是预先根据一哈尔矩阵和一随机向量所生成的;
生成与所述第一扩充向量等长的随机置换种子,并利用所述随机置换种子对所述第一扩充向量中的元素进行位置置换,得到第一置换向量;
将所述第一置换向量进行均匀分段,并根据分段得到的每个分段向量中最小元素的位置生成一个二值特征,作为第一保护特征模板。
3.根据权利要求2所述的远程身份认证系统,其特征在于,所述客户端设备,使用所述特征模板保护方法将所述第二提取特征转换为第二保护特征模板,包括:
根据所述第二提取特征与所述特征库中的各个特征样本的相似度,计算第二定长向量;
将所述第二定长向量与所述映射矩阵作矩阵乘法,得到第二聚合向量;
将所述第二聚合向量与所述局部哈尔矩阵作矩阵乘法,并将乘积结果重复n次,得到第二扩充向量;
利用所述随机置换种子对所述第二扩充向量中的元素进行位置置换,得到第二置换向量;
将所述第二置换向量进行均匀分段,并根据分段得到的每个分段向量中最小元素的位置生成一个二值特征,作为第二保护特征模板。
4.根据权利要求3所述的远程身份认证系统,其特征在于,所述远程服务器,响应于所述用户认证请求,将所述用户认证请求中携带的所述第二保护特征模板与所述用户认证请求中携带的标识所对应的第一保护特征模板进行匹配处理,得到匹配结果,包括:
响应于所述用户认证请求,利用预设的匹配公式计算所述用户认证请求中携带的标识所对应的第一保护特征模板和所述用户认证请求中携带的所述第二保护特征模板的匹配度;
如果所述匹配度超出阈值,得到匹配的匹配结果,
如果所述匹配度未超出阈值,得到不匹配的匹配结果;
所述匹配公式为:
Figure FDA0002939289080000031
其中,S(BE,BQ)代表所述匹配度,BE代表所述用户认证请求中携带的标识所对应的第一保护特征模板,BQ代表所述用户认证请求中携带的所述第二保护特征模板,l代表所述第一保护特征模板、所述第二保护特征模板的长度,XOR(·)代表异或操作。
5.根据权利要求1所述的远程身份认证系统,其特征在于,所述第一原始生物特征和所述第二原始生物特征均为指纹图像;
所述客户端设备,对所述指纹图像进行活体检测,包括:
使用基于迁移学习的指纹活体检测法或基于图像分块的指纹活体检法,对所述指纹图像进行活体检测。
6.根据权利要求1所述的远程身份认证系统,其特征在于,所述第一原始生物特征和所述第二原始生物特征均为生物特征图像;
所述客户端设备,对所述生物特征图像进行预处理和特征提取,包括:
对所述生物特征图像依次进行平滑、分割、增强、二值化以及细化处理,得到预处理后的所述生物特征图像;
从预处理后的所述生物特征图像中提取参考点;
基于所提取的参考点对预处理后的所述生物特征图像进行参考点配准;
使用基于K均值聚类的方法或预先训练的深度学习模型,对参考点配准后的所述生物特征图像进行特征提取;其中,所述深度学习模型为使用Resnet网络中的block结构所构建的双分支模型。
7.根据权利要求6所述的远程身份认证系统,其特征在于,所述客户端设备,从预处理后的所述生物特征图像中提取参考点,包括:
利用以Hourglass网络为backbone的卷积神经网络,从预处理后的所述生物特征图像中提取参考点的位置和方向。
8.根据权利要求7所述的远程身份认证系统,其特征在于,所述生物特征图像包括指纹图像;
训练所述深度学习模型所使用的样本指纹图像的标注信息至少包括样本指纹图像的细节点图谱的高斯热图。
9.根据权利要求1所述的远程身份认证系统,其特征在于,
所述客户端设备,还在活体检测失败后,生成并报出欺骗攻击告警,以及将所述欺骗攻击告警发送至所述远程服务器;其中,所述欺骗攻击告警中至少携带有所述客户端设备的标识和欺骗攻击时间;
所述远程服务器,还用于存储所述欺骗攻击告警。
CN202110172238.2A 2021-02-08 2021-02-08 一种基于生物特征的远程身份认证系统 Active CN112926041B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110172238.2A CN112926041B (zh) 2021-02-08 2021-02-08 一种基于生物特征的远程身份认证系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110172238.2A CN112926041B (zh) 2021-02-08 2021-02-08 一种基于生物特征的远程身份认证系统

Publications (2)

Publication Number Publication Date
CN112926041A true CN112926041A (zh) 2021-06-08
CN112926041B CN112926041B (zh) 2022-09-09

Family

ID=76171206

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110172238.2A Active CN112926041B (zh) 2021-02-08 2021-02-08 一种基于生物特征的远程身份认证系统

Country Status (1)

Country Link
CN (1) CN112926041B (zh)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1728156A (zh) * 2005-06-27 2006-02-01 成都翔宇信息技术有限公司 出入境身份证件与生物活体指纹自动识别方法及系统
JP2015121874A (ja) * 2013-12-20 2015-07-02 富士通株式会社 生体認証装置、照合用データ検証方法及び照合用データ検証用コンピュータプログラム
CN106663203A (zh) * 2016-11-04 2017-05-10 深圳市汇顶科技股份有限公司 活体指纹识别方法及装置
CN107113170A (zh) * 2017-03-13 2017-08-29 深圳市汇顶科技股份有限公司 生物特征模板保存、验证方法及生物特征识别装置、终端
CN107818301A (zh) * 2017-10-16 2018-03-20 阿里巴巴集团控股有限公司 更新生物特征模板的方法、装置和电子设备
CN110990847A (zh) * 2019-11-15 2020-04-10 西安电子科技大学 一种基于局部敏感哈希的指纹模板保护方法
AU2020101743A4 (en) * 2020-05-18 2020-09-17 Ri Pty Ltd Contactless Biometric Authentication Systems and Methods Thereof
CN111967303A (zh) * 2020-06-30 2020-11-20 西安电子科技大学 一种基于最大-最小索引哈希的指纹模板保护方法

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1728156A (zh) * 2005-06-27 2006-02-01 成都翔宇信息技术有限公司 出入境身份证件与生物活体指纹自动识别方法及系统
JP2015121874A (ja) * 2013-12-20 2015-07-02 富士通株式会社 生体認証装置、照合用データ検証方法及び照合用データ検証用コンピュータプログラム
CN106663203A (zh) * 2016-11-04 2017-05-10 深圳市汇顶科技股份有限公司 活体指纹识别方法及装置
CN107113170A (zh) * 2017-03-13 2017-08-29 深圳市汇顶科技股份有限公司 生物特征模板保存、验证方法及生物特征识别装置、终端
CN107818301A (zh) * 2017-10-16 2018-03-20 阿里巴巴集团控股有限公司 更新生物特征模板的方法、装置和电子设备
CN110990847A (zh) * 2019-11-15 2020-04-10 西安电子科技大学 一种基于局部敏感哈希的指纹模板保护方法
AU2020101743A4 (en) * 2020-05-18 2020-09-17 Ri Pty Ltd Contactless Biometric Authentication Systems and Methods Thereof
CN111967303A (zh) * 2020-06-30 2020-11-20 西安电子科技大学 一种基于最大-最小索引哈希的指纹模板保护方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
李明 等: "高效的隐私保护在线人脸认证方案", 《通信学报》 *
李鹏等: "生物特征模板保护", 《软件学报》 *

Also Published As

Publication number Publication date
CN112926041B (zh) 2022-09-09

Similar Documents

Publication Publication Date Title
Kumar Jindal et al. Face template protection using deep convolutional neural network
Jagadeesan et al. Secured cryptographic key generation from multimodal biometrics: feature level fusion of fingerprint and iris
US11587341B2 (en) Method of detecting at least one element of interest visible in an input image by means of a convolutional neural network
Anand et al. PoreNet: CNN-based pore descriptor for high-resolution fingerprint recognition
Bakshi et al. A novel phase-intensive local pattern for periocular recognition under visible spectrum
US11430255B2 (en) Fast and robust friction ridge impression minutiae extraction using feed-forward convolutional neural network
US11138409B1 (en) Biometric recognition and security system
Jindal et al. Securing face templates using deep convolutional neural network and random projection
Cheng et al. Deep feature collaboration for challenging 3D finger knuckle identification
Ilankumaran et al. Multi-biometric authentication system using finger vein and iris in cloud computing
Kim et al. Reconstruction of fingerprints from minutiae using conditional adversarial networks
CN110443146A (zh) 基于生物识别的身份验证方法、装置、设备及可读介质
Jain et al. Fingerprint image analysis: role of orientation patch and ridge structure dictionaries
Yang et al. $\alpha $-Trimmed Weber Representation and Cross Section Asymmetrical Coding for Human Identification Using Finger Images
WO2020167655A1 (en) Fixed length fingerprint representation
Omri et al. Cloud-based mobile system for biometrics authentication
CN112926041B (zh) 一种基于生物特征的远程身份认证系统
JP5279007B2 (ja) 照合システム、照合方法、プログラム及び記録媒体
Birouk et al. Robust perceptual fingerprint image hashing: a comparative study
Uddin et al. Artificial Neural Network Inducement for Enhancement of Cloud Computing Security
Nadiya et al. Dorsal Hand Vein Biometric Recognition Based on Orientation of Local Binary Pattern
Kanchana et al. Quadtree decomposition for palm print feature representation in palmprint recognition system
Kathuria Design of a Vein Based Personal Identification System
Hussein et al. Identification of Fingerprint Orientation Using Improved Generative Adversarial Network with Support Vector Machine
CN110012034B (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
GR01 Patent grant