首页 > 专利 > 杭州电子科技大学 > 一种人类指纹生物密钥生成方法专利详情

一种人类指纹生物密钥生成方法   0    0

有效专利 查看PDF
专利申请流程有哪些步骤?
专利申请流程图
申请
申请号:指国家知识产权局受理一件专利申请时给予该专利申请的一个标示号码。唯一性原则。
申请日:提出专利申请之日。
2014-03-03
申请公布
申请公布指发明专利申请经初步审查合格后,自申请日(或优先权日)起18个月期满时的公布或根据申请人的请求提前进行的公布。
申请公布号:专利申请过程中,在尚未取得专利授权之前,国家专利局《专利公报》公开专利时的编号。
申请公布日:申请公开的日期,即在专利公报上予以公开的日期。
2014-07-16
授权
授权指对发明专利申请经实质审查没有发现驳回理由,授予发明专利权;或对实用新型或外观设计专利申请经初步审查没有发现驳回理由,授予实用新型专利权或外观设计专利权。
2017-02-08
预估到期
发明专利权的期限为二十年,实用新型专利权期限为十年,外观设计专利权期限为十五年,均自申请日起计算。专利届满后法律终止保护。
2034-03-03
基本信息
有效性 有效专利 专利类型 发明专利
申请号 CN201410074388.X 申请日 2014-03-03
公开/公告号 CN103873253B 公开/公告日 2017-02-08
授权日 2017-02-08 预估到期日 2034-03-03
申请年 2014年 公开/公告年 2017年
缴费截止日
分类号 H04L9/32H04L29/06G06F21/32 主分类号 H04L9/32
是否联合申请 独立申请 文献类型号 B
独权数量 1 从权数量 0
权利要求数量 1 非专利引证数量 0
引用专利数量 4 被引证专利数量 0
非专利引证
引用专利 CN102769531A、WO2008069475A1、US20070239991A1、CN102752113A 被引证专利
专利权维持 4 专利申请国编码 CN
专利事件 事务标签 公开、实质审查、授权
申请人信息
申请人 第一申请人
专利权人 杭州电子科技大学 当前专利权人 杭州电子科技大学
发明人 吴震东、游林、梁斌 第一发明人 吴震东
地址 浙江省杭州市下沙高教园区2号大街 邮编
申请人数量 1 发明人数量 3
申请人所在省 浙江省 申请人所在市 浙江省杭州市
代理人信息
代理机构
专利代理机构是经省专利管理局审核,国家知识产权局批准设立,可以接受委托人的委托,在委托权限范围内以委托人的名义办理专利申请或其他专利事务的服务机构。
杭州君度专利代理事务所 代理人
专利代理师是代理他人进行专利申请和办理其他专利事务,取得一定资格的人。
杜军
摘要
本发明提出了一种指纹生物密钥生成方法。本发明将指纹特征序列向高维空间中投影,在高维空间中将同一枚指纹的特征数字序列稳定到可接受的波动范围内,再对稳定后的指纹特征数字序列编码,从编码中提取生物密钥。整个方法在待认证用户端、认证服务器端均无需记录用户指纹模板,用户通过采集自身的指纹在本地生成用户名、密钥)对,通过(用户名、密钥)对衍生的各种认证方法进行网络身份认证。事实上,网络认证端只需对待认证用户的(用户名、密钥)对进行验证,无需知晓待认证用户是通过指纹、用户名-口令或是别的身份鉴别手段进行的身份认证。只要生物密钥的密钥空间足够大,可保证高安全性。
  • 摘要附图
    一种人类指纹生物密钥生成方法
  • 说明书附图:图1
    一种人类指纹生物密钥生成方法
  • 说明书附图:图2
    一种人类指纹生物密钥生成方法
  • 说明书附图:图4
    一种人类指纹生物密钥生成方法
  • 说明书附图:图3
    一种人类指纹生物密钥生成方法
  • 说明书附图:图5
    一种人类指纹生物密钥生成方法
  • 说明书附图:图6
    一种人类指纹生物密钥生成方法
法律状态
序号 法律状态公告日 法律状态 法律状态信息
1 2017-02-08 授权
2 2014-07-16 实质审查的生效 IPC(主分类): H04L 9/32 专利申请号: 201410074388.X 申请日: 2014.03.03
3 2014-06-18 公开
权利要求
权利要求书是申请文件最核心的部分,是申请人向国家申请保护他的发明创造及划定保护范围的文件。
1.一种人类指纹生物密钥生成方法,其特征在于该方法包括以下步骤:指纹生物密钥训练部分和指纹生物密钥提取部分;
指纹生物密钥训练部分具体步骤为:
第Ⅰ步,用户对同一枚指纹进行2-5次样本采集,获得2幅以上的指纹灰度图像,将灰度图像统一缩放到354×354像素大小,这一阶段获得的指纹图像标记为指纹图像1;
第Ⅱ步,对获得的指纹图像1进行均衡化处理,获得指纹图像2;
第Ⅲ步,对指纹图像2进行图像收敛处理,获得指纹图像3;
第IV步,对指纹图像3进行图像平滑处理,获得指纹图像4;
第Ⅴ步,对指纹图像4进行图像增强处理,获得指纹图像5;
第Ⅵ步,对指纹图像5进行二值化处理,获得指纹图像6;
第Ⅶ步,对指纹图像6进行细化处理,获得指纹图像7;
第Ⅷ步,从指纹图像7中提取指纹特征端点、叉点,去除伪端点、叉点,用二维笛卡尔坐标系记录指纹特征端点、叉点坐标;
第Ⅸ步,将第Ⅷ步获得的指纹特征端点、叉点坐标依次进行特征配准,配准时将端点、叉点视为同一性质的特征点;两幅图像可配准的特征点登记为该枚指纹的真实特征点,同一个真实特征点在两幅图像中可能有两组不同的坐标值(x1,y1)(x2,y2),取两组坐标值的均值(Ex,Ey),记录为该真实特征点的坐标值;配准好的特征点与后一副图像再次进行特征配准;配准完成后得真实特征点集合,集合含特征点个数记为M;
第Ⅹ步,为每个真实特征点构造两个矩阵,D1×D1维的随机误差方阵,记为DXi,D1×2维的特征点标准坐标值矩阵,记为DYi;1第XI步,求解DXi的广义逆矩阵,记为IDXi,将IDXi左乘矩阵DYi得到对应每个真实特征点的高维空间投影矩阵PDXi=IDXi×DYi,在待认证用户端存储每个真实特征点的投影矩阵PDXi;投影矩阵PDXi不含指纹模板信息,攻击者即使获取投影矩阵也难以恢复用户指纹;
第Ⅻ步,以指纹图像几何中心为原点,选取离原点距离最近的25个真实特征点,设定一个8~22阶的多项式函数,形如:
f(x)=a0+a1*x+a2*x2+a3*x3+…+an*xn,
其中n为阶数,a0~an∈正整数,其值域范围为0~224,即每个系数有24bit;在真实特征点集合中选取n+t个特征点,将特征点的(x,y)坐标拼接为一个值z=x|y,z∈正整数,代入多项式函数求得函数值f(z),在待认证用户端存储n+t个f(z)的值及阶数n;2指纹生物密钥训练完成;
指纹生物密钥提取部分具体步骤为:
第一步,待认证用户对指纹进行2次采样,获得2幅指纹灰度图像,将灰度图像统一缩放到与指纹生物密钥训练阶段相同的像素大小;获得的指纹图像标记为指纹图像a;
第二步,对获得的指纹图像a进行均衡化处理,获得指纹图像b;
第三步,对指纹图像b进行图像收敛处理,获得指纹图像c;
第四步,对指纹图像c进行图像平滑处理,获得指纹图像d;
第五步,对指纹图像d进行图像增强处理,获得指纹图像e;
第六步,对指纹图像e进行二值化处理,获得指纹图像f;
第七步,对指纹图像f进行细化处理,获得指纹图像g;
第八步,从指纹图像g中提取指纹特征端点、叉点,去除伪端点、叉点,用二维笛卡尔坐标系记录指纹特征端点、叉点坐标;
第九步,将第八步获得的2幅图像的指纹特征端点、叉点坐标进行指纹特征配准,配准时将端点、叉点视为同一性质的特征点;两幅图像可配准的特征点登记为该枚指纹的备选真实特征点,同一个备选真实特征点在两幅图像中可能有两组不同的坐标值(x1,y1)(x2,y2),取两组坐标值的均值(Ex,Ey),记录为该备选真实特征点的坐标值;配准完成后得备选真实特征点集合,集合含备选真实特征点个数记为M1;
第十步,所有备选真实特征点的坐标值以行排列,构造一个M1×2维矩阵;将M1×2维矩阵扩展为M1×D1维矩阵,记为AX;开启循环,用AX左乘每一个PDXi,得M1×2维矩阵RAXi;从RAXi中挑选出该枚指纹的真实特征点;记录真实特征点在RAXi中的坐标值,得到真实特征点集合;
第十一步,从真实特征点集合中,选取n+2个特征点;将特征点(x,y)坐标值拼接为一个值z=x|y,z∈正整数,将n+2个z值排序;从指纹生物密钥训练阶段存储的n+t个f(z)值中选取n+2个值,将n+2个f(z)值排序;将z值序列与f(z)值序列按序配对,得到n+2个(z,f(z))对,代入函数f(z)=a0+a1*z+a2*z2+a3*z3+…+an*zn,生成n+2个线性方程,组成线性方程组;
a0~an为n+1个未知数,a0~an∈正整数,如方程组有唯一解,则解得的(a0,a1,a2,a3,…,an)组成的数字序列即为提取的指纹生物密钥;密钥序列长度为24×(n+1)bit;如方程组没有唯一解,则遍历真实特征点集合中n+2个特征点的所有组合,遍历n+t个f(z)值中n+2个f(z)值的所有组合;配对;继续解线性方程组;找到唯一解,提取指纹生物密钥。
说明书

技术领域

[0001] 本发明属于信息安全技术领域,具体涉及一种从人类指纹中经由高维空间转换直接提取稳定的生物密钥的方法,其能够为现有的基于人类指纹的身份认证技术提供一种新的认证方法,支持在网络中更方便更安全地进行基于用户指纹的身份认证。

背景技术

[0002] 指纹识别技术是现今比较成熟的生物特征识别技术。基于指纹的身份认证技术,其基本方法为:1)对用户进行指纹图像采样,采样后经过图像均衡、收敛、平滑、增强、特征提取等处理生成指纹特征模板,存储在用户指纹特征数据库中;2)当需要对某一用户进行身份认证时,再次采集用户指纹图像,进行指纹图像均衡、收敛、平滑、增强、特征提取等处理,形成待认证用户指纹特征;3)将待认证用户指纹特征与用户指纹特征数据库中的相应用户指纹模板进行比对,一致则认证通过,不一致则认证失败。现有的各类基于指纹的身份认证技术均遵循这一基本方法。只是在指纹特征提取、指纹模板存储等细节处有各自的变化。
[0003] 但是,这一经典的指纹认证模式在网络环境中,遭遇到一个推广应用的瓶颈:用户不愿意轻易地将自身的指纹信息存储在网络中,有较大的指纹信息被盗的风险。虽然科技工作者在2006年提出了模糊金库技术,通过将用户指纹模板信息模糊化后,再存储在指纹特征数据库中,以此降低指纹信息被盗后被破译的风险。但模糊金库技术依然存在通过同一生物特征的不同模板数据库的交叉对比,获取用户生物特征信息的风险。更主要的是指纹模板信息模糊化并没有改变在网络中存储用户指纹信息的基本模式,用户依然有安全顾虑,不愿采取这一认证方式,影响了指纹身份认证在网络环境中的推广。
[0004] 曾经有科研工作者提出过指纹生物密钥的概念,希望直接从指纹特征中获取稳定的生物密钥序列。但是指纹特征的提取过程存在大量的随机因素,使得同一枚指纹多次重复采样提取的特征数字序列差异很大,非常不稳定,难以达到生物密钥的要求。指纹生物密钥基本上还停留在纸上概念阶段,实际生产生活中尚未出现可实用的指纹生物密钥技术。

发明内容

[0005] 本发明提出了一种指纹生物密钥生成方法。方法将指纹特征序列向高维空间中投影,在高维空间中将同一枚指纹的特征数字序列稳定到可接受的波动范围内,再对稳定后的指纹特征数字序列编码,从编码中提取生物密钥。整个方法在待认证用户端(日常生活中可以理解为用户的各类移动终端,如智能手机、笔记本电脑等)、认证服务器端(日常生活中可以理解为网络认证端,如无线网络接入端、各类网站登录口等)均无需记录用户指纹模板,用户通过采集自身的指纹在本地生成(用户名、密钥)对,通过(用户名、密钥)对衍生的各种认证方法进行网络身份认证。事实上,网络认证端只需对待认证用户的(用户名、密钥)对进行验证,无需知晓待认证用户是通过指纹、用户名-口令或是别的身份鉴别手段进行的身份认证。只要生物密钥的密钥空间足够大,可保证高安全性。本发明提取正常人类指纹生物密钥的密钥序列长度可大于256bit。
[0006] 指纹生物密钥生成分两部分,第一部分为指纹生物密钥训练部分,第二部分为指纹生物密钥提取部分。
[0007] 指纹生物密钥训练部分具体步骤为:
[0008] 第一步,用户对同一枚指纹进行2-5次样本采集,获得2幅以上的指纹灰度图像,将灰度图像统一缩放到354×354像素大小(也可缩放至大于256×256,小于512×512的某一大小),这一阶段获得的指纹图像标记为指纹图像1。
[0009] 第二步,对获得的指纹图像1进行均衡化处理,获得指纹图像2。
[0010] 第三步,对指纹图像2进行图像收敛处理,获得指纹图像3。
[0011] 第四步,对指纹图像3进行图像平滑处理,获得指纹图像4。
[0012] 第五步,对指纹图像4进行图像增强处理,获得指纹图像5。
[0013] 第六步,对指纹图像5进行二值化处理,获得指纹图像6。
[0014] 第七步,对指纹图像6进行细化处理,获得指纹图像7。
[0015] 第八步,从指纹图像7中提取指纹特征端点、叉点,去除伪端点、叉点,用二维笛卡尔坐标系记录指纹特征端点、叉点坐标。
[0016] 第九步,将采集的指纹样本图像依次进行特征配准,配准时将端点、叉点视为同一性质的特征点;两幅图像可配准的特征点登记为该枚指纹的真实特征点,同一个真实特征点在两幅图像中可能有两组不同的坐标值(x1,y1)(x2,y2),取两组坐标值的均值(Ex,Ey),记录为该真实特征点的坐标值;配准好的特征点与后一副图像再次进行特征配准;配准完成后得真实特征点集合,集合含特征点个数记为M。
[0017] 第十步,为每个真实特征点构造两个矩阵,D1×D1维的随机误差方阵,记为DXi,D1×2维的特征点标准坐标值矩阵,记为DYi;1
[0018] 第十一步,求解DXi的广义逆矩阵,记为IDXi,将IDXi左乘矩阵DYi得到对应每个真实特征点的高维空间投影矩阵PDXi=IDXi×DYi,在待认证用户端存储每个真实特征点的投影矩阵PDXi;投影矩阵PDXi不含指纹模板信息,攻击者即使获取投影矩阵也难以恢复用户指纹。
[0019] 第十二步,一枚正常指纹图像一般可以提取25个以上的真实特征点,以指纹图像几何中心为原点,选取离原点距离最近的25个真实特征点(要求各特征点之间有一定的间距,如特征点相距过近则认为是一个特征点,取其平均值;间距可凭经验设定,一般设定为10个像素点);设定一个8~22阶的多项式函数(阶数可按用户经验选择),形如f(x)=a0+a1*x+a2*x2+a3*x3+…+an*xn,n为阶数,a0~an∈正整数,其值域范围为0~224,即每个系数有
24bit;在真实特征点集合中选取n+t个特征点,将特征点的(x,y)坐标拼接为一个值z=x|y(运算符‘|’表示数字序列前后拼接运算),z∈正整数,代入多项式函数求得函数值f(z),在待认证用户端存储n+t个f(z)的值及阶数n;2
[0020] 指纹生物密钥训练完成。
[0021] 指纹生物密钥提取部分具体步骤为:
[0022] 第一步,待认证用户对指纹进行2次采样,获得2幅指纹灰度图像,将灰度图像统一缩放到与指纹生物密钥训练阶段相同的像素大小;获得的指纹图像标记为指纹图像a。
[0023] 第二步,对获得的指纹图像a进行均衡化处理,获得指纹图像b。
[0024] 第三步,对指纹图像b进行图像收敛处理,获得指纹图像c。
[0025] 第四步,对指纹图像c进行图像平滑处理,获得指纹图像d。
[0026] 第五步,对指纹图像d进行图像增强处理,获得指纹图像e。
[0027] 第六步,对指纹图像e进行二值化处理,获得指纹图像f。
[0028] 第七步,对指纹图像f进行细化处理,获得指纹图像g。
[0029] 第八步,从指纹图像g中提取指纹特征端点、叉点,去除伪端点、叉点,用二维笛卡尔坐标系记录指纹特征端点、叉点坐标。
[0030] 第九步,从采集的2幅指纹样本图像进行指纹特征配准,配准时将端点、叉点视为同一性质的特征点;两幅图像可配准的特征点登记为该枚指纹的备选真实特征点,同一个备选真实特征点在两幅图像中可能有两组不同的坐标值(x1,y1)(x2,y2),取两组坐标值的均值(Ex,Ey),记录为该备选真实特征点的坐标值;配准完成后得备选真实特征点集合,集合含备选真实特征点个数记为M1。
[0031] 第十步,所有备选真实特征点的坐标值以行排列,构造一个M1×2维矩阵;将M1×2维矩阵扩展为M1×D1维矩阵(记为AX),扩展方法与指纹生物密钥训练阶段扩展方法保持一致;开启循环,用AX左乘每一个PDXi,得M1×2维矩阵RAXi;从RAXi中挑选出该枚指纹的真实特征点;记录真实特征点在RAXi中的坐标值,得到真实特征点集合。
[0032] 第十一步,从真实特征点集合中,选取n+2个特征点。将特征点(x,y)坐标值拼接为一个值z=x|y,z∈正整数,将n+2个z值排序。从指纹生物密钥训练阶段存储的n+t个f(z)值中选取n+2个值,将n+2个f(z)值排序。将z值序列与f(z)值序列按序配对,得到n+2个(z,f(z))对,代入函数f(z)=a0+a1*z+a2*z2+a3*z3+…+an*zn,生成n+2个线性方程,组成线性方程组。a0~an为n+1个未知数,a0~an∈正整数,如方程组有唯一解,则解得的(a0,a1,a2,a3,。。。,an)组成的数字序列即为提取的指纹生物密钥。密钥序列长度为24×(n+1)bit。如方程组没有唯一解,则遍历真实特征点集合中n+2个特征点的所有组合,遍历n+t个f(z)值中n+2个f(z)值的所有组合;配对;继续解线性方程组;找到唯一解,提取指纹生物密钥。
[0033] 本发明的有益效果:本发明提出了一种指纹生物密钥生成方法。能够为现有的基于人类指纹的身份认证技术提供一种新的认证模式。该模式在待认证用户端、认证服务器端均无需记录用户指纹模板,用户从采集的指纹图像中直接提取密钥序列,进行身份认证。本发明还支持用户直接用自身的指纹对私有数据进行加密保护,扩展了指纹在信息安全领域内的应用范围。

实施方案

[0040] 下面结合附图对本发明作进一步说明。
[0041] 在网络环境中对远端用户进行身份认证,如果涉及到指纹生物特征认证,如图1所示,现有的方法均需要采集用户指纹,形成指纹模板,在网络中传递指纹模板,并需要在网络认证端存储指纹模板。这对于参与身份认证的用户而言会产生比较大的抵触情绪,将自己的指纹信息暴露在非常不安全的网络环境中,无论加密强度如何高,安全性始终存疑。
[0042] 本发明改变了现有的网络指纹身份认证模式。如图2所示,网络中无需存储也无需传输用户任何的指纹信息。用户在自己的本地机器上采集自己的指纹,生成指纹生物密钥,与用户名组成(用户名,密钥)对在网上进行身份认证。指纹生物密钥为一串数字序列,不含用户的指纹信息,攻击者无法从指纹生物密钥中提取用户的指纹信息。
[0043] 本发明分二部分,指纹生物密钥训练部分与指纹生物密钥提取部分。
[0044] 第一部分指纹生物密钥训练部分的具体实施步骤为:
[0045] 第一步,用户对同一枚指纹进行2-5次样本采集,采集的灰度图像统一缩放到m×m像素大小(256
[0046] 第二步,对指纹图像1进行均衡化处理。用直方图均衡化方法,该方法是图像处理领域内的通用方法。直方图均衡化的数学公式为:
[0047]
[0048] 其中x表示灰度值,在0-255之间。f(x)表示指纹图像1中灰度值为x的点将灰度值调整到f(x)。Dmax=255,A0=m×m,Hi=指纹图像1中灰度值为i的点的个数。
[0049] 处理完成后,获得指纹图像2;
[0050] 第三步,对指纹图像2进行图像收敛处理。用二维离散高斯模板算子对指纹图像2进行高斯滤波处理,即图像收敛处理。该方法是图像处理领域内的通用方法。二维离散高斯模板算子可取多套,作为示例取
[0051]
[0052] 计算公式为
[0053]
[0054] f(x,y)表示指纹图像2中坐标为(x,y)的点所对应的灰度值。
[0055] 处理完成后,获得指纹图像3;
[0056] 第四步,对指纹图像3进行图像平滑处理。用平滑模板算子对指纹图像3进行图像平滑处理。该方法是图像处理领域内的通用方法。平滑模板算子可取多套,作为示例取[0057]
[0058] 计算公式为
[0059]
[0060] f(x,y)表示指纹图像3中坐标为(x,y)的点所对应的灰度值。
[0061] 处理完成后,获得指纹图像4;
[0062] 第五步,对指纹图像4进行图像增强处理。用Gabor函数模板对指纹图像4进行图像增强处理。该方法是图像处理领域内的通用方法。Gabor函数模板可取多套,作为示例取[0063]
[0064]
[0065] Hw为切向滤波模板,Vw为法向滤波模板。
[0066] 用图像处理领域内的通用算法,求出指纹图像4的方向场矩阵VMAP。VMAP[x,y]表示坐标为(x,y)的点所对应的方向场值,取值从0°~180°。
[0067] 用VMAP[x,y]的值确定坐标为(x,y)的点的切线方向,并取切线方向上与(x,y)点相邻的7个点,每个点用f(x,y)表示。f(x,y)表示指纹图像4中坐标为(x,y)的点所对应的灰度值。f(x,y)与Hw做卷积运算,运算结果赋值给f1(x,y)。
[0068] 用VMAP[x,y]的值确定坐标为(x,y)的点的法线方向(切线方向顺时针旋转90°即为法线方向),并取法线方向上与(x,y)点相邻的7个f1(x,y)点,与Vw做卷积运算,运算结果赋值给f2(x,y)。f1(x,y)为指纹图像4经切线方向增强后,(x,y)点所对应的灰度值。
[0069] 处理完成后,获得指纹图像5;
[0070] 第六步,对指纹图像5进行二值化处理。二值化处理使用切线与法线方向的加权模板计算图像像素点在两个方向上的加权均值,通过比较两个方向上的均值大小,判定该图像像素点为0或1。加权模板可取多套,作为示例取
[0071] Hq=(1 1 1 1 1 1 1)
[0072] Vq=(2 2 3 4 3 2 2)
[0073] Hq为切向加权模板,Vq为法向加权模板。
[0074] 用加权模板计算坐标为(x,y)的点在切线与法线方向上的灰度均值分别为FH(x,y)、FV(x,y),二值化公式为
[0075]
[0076] f(x,y)表示指纹图像5中坐标为(x,y)的点所对应的灰度值。f(x,y)值为0为黑色,255为白色。
[0077] 处理完成后,获得指纹图像6;
[0078] 第七步,对指纹图像6进行细化处理。图像处理领域有多套成熟的图像细化方法,均可使用。作为示例,可取查表法。查表法为图像细化处理领域通用方法。
[0079] 处理完成后,指纹纹线已细化为一个点宽的纹线,获得指纹图像7;
[0080] 第八步,从指纹图像7中提取指纹特征端点、叉点,去除伪端点、叉点,用二维笛卡尔坐标系记录指纹特征端点、叉点坐标。
[0081] 端点提取方法:扫描指纹图像7中点的周围8个点,如果8个点所有相邻两个点的差的绝对值的和为2×255,则其为端点。
[0082] 叉点提取方法:扫描指纹图像7中点的周围8个点,如果8个点所有相邻两个点的差的绝对值的和为6×255,则其为叉点。
[0083] 端点、叉点提取方法为指纹图像处理领域通用方法。
[0084] 伪端点、叉点去除方法:去除方法流程如图3所示。如提取的端点坐标在指纹图像边缘20个像素点范围内,去除;如提取的端点与叉点方向变化剧烈,其为伪特征点,去除;方向变化剧烈可有多种判别方法,作为示例,可将(x,y)点周围7×7领域内画一条闭合折线,折线经过的两点计算方向场差值的绝对值并累加,如图4所示;如累加和>90,则认为方向变化剧烈,(x,y)点为伪特征点,去除;如特征点间距离小于10个像素,随机去除一个特征点。
[0085] 记录指纹特征端点、叉点坐标值,不记录特征点性质,即不区分端点、叉点。图5为提取到的指纹图像特征点示意图,特征点有方框标出。
[0086] 第九步,将采集的指纹样本图像依次进行特征配准,配准时将端点、叉点视为同一性质的特征点;指纹特征点配准有多套通用方法可供选择,作为示例可选:
[0087] 记录特征点的坐标值、方向场、频率场,如果两个特征点的坐标值、方向场、频率场均在可接受的差值范围内,判定两特征点为同一特征点。频率场计算方法使用指纹图像处理领域的频率场通用计算方法。
[0088] 两幅图像可配准的特征点登记为该枚指纹的真实特征点,同一个真实特征点在两幅图像中可能有两组不同的坐标值(x1,y1)(x2,y2),取两组坐标值的均值(Ex,Ey),记录为该真实特征点的坐标值;配准好的特征点与后一副图像再次进行特征配准;配准完毕得到真实特征点集合,如图6(a)所示,真实特征点由方框标出。
[0089] 第十步,为每个真实特征点构造两个矩阵,D1×D1维的随机误差方阵,记为DXi,D1×2维的特征点标准坐标值矩阵,记为DYi,i遍历所有的真实特征点;D1取值可在13–42之间根据经验选取;
[0090] DXi的构造方法为:
[0091] 设定特征点坐标值的波动范围Er,如Er=10;为真实特征点坐标值增加随机误差扰动,计算公式如下
[0092] Xj=Ex+Er×rand(0,1)
[0093] Yj=Ey+Er×rand(0,1)
[0094] j取1至D1,rand(0,1)函数返回(0,1)之间的随机数;(Xj,Yj)组成一个行向量,遍历j得D1×2维矩阵。构造D1-2个非线性函数,输入是一维行向量(Xj,Yj),2个元素;输出为一维行向量(Xj,Yj,Z1j,Z2j,Z3j,…,Z(D1-2)j),D1个元素。非线性函数可由用户自行定义,作为示例,可取如下非线性函数
[0095] Z(t)=(Xj-Yj)×sin(t)+(t^2)×(Yj%10)(t为整数,0
[0096] sin(t)三角函数,(t^2)表示t的平方,(Yj%10)表示Yj模10运算。
[0097] 用构造的Z(t)对(Xj,Yj)进行运算,得D1×D1维矩阵,称为随机误差方阵DXi。
[0098] DYi的构造方法为:
[0099] 将第九步中获得的(Ex,Ey)值重复D1行,得D1×2维的特征点标准坐标值矩阵DYi。
[0100] 第十一步,求解DXi的广义逆矩阵,记为IDXi。用满秩分解法求解广义逆矩阵,满秩分解法为数学上求广义逆的标准解法。
[0101] 将IDXi左乘矩阵DYi得到对应每个真实特征点的高维空间投影矩阵PDXi=IDXi×DYi,在待认证用户端存储每个真实特征点的投影矩阵PDXi;投影矩阵PDXi不含指纹模板信息。
[0102] 第十二步,以指纹图像几何中心为原点,选取离原点距离最近的K个真实特征点(要求各特征点之间有一定的间距,如特征点相距过近则认为是一个特征点,取其平均值;间距可凭经验设定,一般设定为10个像素点)。
[0103] 设定一个8-22阶的多项式函数,阶数越高,生成的生物密钥序列越长,安全性越高;但同时,运算量大幅增加,提取密钥序列时对指纹真实特征点的个数要求提高,提取失败率增高。一般阶数取10左右。
[0104] 多项式函数形如f(x)=a0+a1*x+a2*x2+a3*x3+…+an*xn,n为阶数,a0~an为系数,∈正整数,在真实特征点集合中选取n+t个特征点,将特征点的(x,y)坐标拼接为一个值z=x|y,z∈正整数,代入多项式函数求得函数值f(z),在待认证用户端存储n+t个f(z)的值及阶数n;2
[0105] 指纹生物密钥训练完成。
[0106] 指纹生物密钥提取部分具体步骤为:
[0107] 第一步至第九步,操作方法与指纹生物密钥训练阶段相同。
[0108] 第十步,所有备选真实特征点的坐标值以行排列,构造一个M1×2维矩阵,M1为备选真实特征点的数目;将M1×2维矩阵扩展为M1×D1维矩阵(记为AX),扩展方法与指纹生物密钥训练阶段扩展方法保持一致;开启循环,用AX左乘每一个PDXi,得M1×2维矩阵RAXi=AX×PDXi;从RAXi中挑选出该枚指纹的真实特征点,挑选方法为:
[0109] 以行为单位考察AX与RAXi,如在同一行中,AX前2列的值与RAXi相应列的值的差值小于20,则认为这一行对应的备选特征点是真实特征点。记录真实特征点在RAXi中的坐标值;
[0110] 第十一步,同一枚指纹在采集过程中会产生各种几何变形,随机误差,如图6(b)所示,使得指纹图像特征点位置不稳定,两幅图像匹配的特征点个数也不稳定。本发明的第九、第十步用高维矩阵投影的方法,稳定指纹图像特征点位置,提取到较稳定的真实特征点坐标值,参考图6(c)。用提取到的真实特征点坐标值,代入线性方程组求解指纹生物密钥。具体方法为:
[0111] 从真实特征点集合中,选取n+2个特征点。将特征点(x,y)坐标值拼接为一个值z=x|y,z∈正整数,将n+2个z值排序。从指纹生物密钥训练阶段存储的n+t个f(z)值中选取n+2个值,将n+2个f(z)值排序。将z值序列与f(z)值序列按序配对,得到n+2个(z,f(z))对,代入函数f(z)=a0+a1*z+a2*z2+a3*z3+…+an*zn,生成n+2个线性方程,组成线性方程组。a0~an为n+1个未知数,a0~an∈正整数,如方程组有唯一解,则解得的(a0,a1,a2,a3,。。。,an)组成的数字序列即为提取的指纹生物密钥。密钥序列长度为24×(n+1)bit。如方程组没有唯一解,则遍历真实特征点集合中n+2个特征点的所有组合,遍历n+t个f(z)值中n+2个f(z)值的所有组合;配对;继续解线性方程组;找到唯一解,提取指纹生物密钥。
[0112] 本技术领域中的普通技术人员应当认识到,以上实施例仅是用来说明本发明,而并非作为对本发明的限定,只要在本发明的实质范围内,对以上实施例的变化、变型都将落在本发明的保护范围。

附图说明

[0034] 图1为基于指纹模板的网络身份认证示意图。
[0035] 图2为基于指纹生物密钥的网络身份认证示意图。
[0036] 图3为指纹图像去除伪特征点流程图。
[0037] 图4为在7×7领域内计算方向场变化情况示意图。
[0038] 图5为指纹图像特征点提取示意图。
[0039] 图6为指纹生物密钥提取示意图。
版权所有:盲专网 ©2023 zlpt.xyz  蜀ICP备2023003576号