用户眼部生物特征的加密方法、装置、系统及存储介质与流程

文档序号:31467716发布日期:2022-09-09 22:06阅读:63来源:国知局
用户眼部生物特征的加密方法、装置、系统及存储介质与流程

1.本发明涉及网络安全技术领域,尤其涉及用户眼部生物特征的加密方法。


背景技术:

2.现有技术能够通过用户的眼部生物特征来确定人们的身份。该眼部生物特征包括虹膜图像和瞳孔图像。通过对虹膜图像和/或瞳孔图像进行加解密,来保障用户账户的安全已经成为一种常用的保护账户安全登录的手段。在此过程中,多会采用rsa算法进行加解密,以保障数据的安全性。
3.rsa加密算法是一种非对称加密算法。现有的rsa算法存在的问题有:由于rsa算法中的加密公式和解密公式分别为:c≡memod(n)和m≡ckmod(n)。这使得攻击方得到rsa加密公式中的e值和解密公式中的k值;或者,用户方泄露了p值和q值时,攻击方就可以通过撞库、暴力破解等方式,尝试获得e值和k值,从而获取用户通过加密想要保护的原始数据。
4.为此,提供一种用户眼部生物特征的加密方法、装置、系统及存储介质,以解决rsa算法中加密秘钥、解密密钥、公钥参数和私钥参数都被攻击方获取后,加密信息被轻易破解的技术问题,是当前亟需解决的技术问题。


技术实现要素:

5.本发明的目的在于:克服现有技术的不足,提供一种用户眼部生物特征的加密方法、装置、系统及存储介质,本发明能够获取用户登录时的虹膜图像和瞳孔图像,确定前述虹膜图像或瞳孔图像对应的极坐标方程;基于该极坐标方程对前述虹膜图像进行加密,得到加密虹膜数据后,对前述加密虹膜数据进行解密,得到解密虹膜数据,以使该解密虹膜数据中的虹膜图像与预设在用户账户的虹膜图像匹配;或者,基于该极坐标方程对前述瞳孔图像进行加密,得到加密瞳孔数据后,对前述加密瞳孔数据进行解密,得到解密瞳孔数据,以使解密瞳孔数据中的瞳孔图像与预设在用户账户的瞳孔图像匹配。
6.为解决现有的技术问题,本发明提供了如下技术方案:
7.一种用户眼部生物特征的加密方法,其特征在于,包括步骤:
8.获取用户登录时的虹膜图像和瞳孔图像,确定前述虹膜图像或瞳孔图像对应的极坐标方程;
9.基于该极坐标方程对前述虹膜图像进行加密,得到加密虹膜数据后,对前述加密虹膜数据进行解密,得到解密虹膜数据,以使该解密虹膜数据中的虹膜图像与预设在用户账户的虹膜图像匹配;或者,基于该极坐标方程对前述瞳孔图像进行加密,得到加密瞳孔数据后,对前述加密瞳孔数据进行解密,得到解密瞳孔数据,以使解密瞳孔数据中的瞳孔图像与预设在用户账户的瞳孔图像匹配;其中,所述加密和解密均采用rsa算法,使前述rsa算法中的解密密钥k同时满足e*k≡1mod[(p-1)*(q-1)]和(a*e)*(a*k)≡1mod[(p-1)*(q-1)],所述e为加密密钥,所述p和q均为质数,所述a为前述rsa算法中的因子变量,模运算mod表示求余数,表示对的取值求取余数。
[0010]
进一步,所述加密虹膜数据包括前述虹膜图像和对应的加密虹膜信息;所述加密瞳孔数据包括前述瞳孔图像和对应的加密瞳孔信息;所述解密虹膜数据包括前述虹膜图像和对应的解密虹膜信息;所述解密瞳孔数据包括前述瞳孔图像和对应的解密瞳孔信息。
[0011]
进一步,对获取的前述虹膜图像或瞳孔图像进行图像处理;所述图像处理包括图像定位、图像归一化和图像增强中的至少一种;在进行图像处理后,裁剪前述虹膜图像或瞳孔图像,得到内接有前述虹膜图像或瞳孔图像的方形图片。
[0012]
进一步,所述极坐标方程为ρ1=b1(1-f
12
)/(1-f1cosθ1),其中,所述f1为离心率,f1=c1/b1,b1是椭圆长轴,c1是焦距,所述θ1为角度,0≤θ1≤2π。
[0013]
进一步,所述p和q的选取,包括步骤:调取用户设置的数字密码,将该数字密码进行拆分,选取任意一组拆分后的数字密码设置为m1,虹膜图像的面积信息s1或瞳孔图像的面积信息s2,以及rsa算法中的因子变量a;将前述m1、s1和a进行相乘,或者将前述m1、s2和a进行相乘,得到数值d1或d2,获取前述d1的所有因子对或d2的所有因子对,将其中最大的因子作为p;选取另一组拆分后的数字密码设置为m2;将前述m2、s1和a进行相乘,或者将前述m2、s2和a进行相乘,得到数值d3或d4,获取前述d3的所有因子对或d4的所有因子对,将其中最大的因子作为q。
[0014]
进一步,所述加密密钥e的取值范围为1《e《(p-1)*(q-1),且e与(p-1)*(q-1)互质;所述rsa算法中还包括公钥参数n1和私钥参数n2,且n1=n2;所述rsa算法的加密公式为c≡mjmodn1,其中j=a*e,m为明文,所述rsa算法的解密公式为m≡c
l
modn2,其中l=a*k,c为密文,模运算mod表示对n1或n2的取值求取余数,所述n1和n2均是前述p和q的乘积。
[0015]
进一步,所述a的值基于用户预设的字符组串进行hash算法加密后得到。
[0016]
一种用户眼部生物特征的加密装置,包括结构:
[0017]
信息获取单元,用以获取用户登录时的虹膜图像或瞳孔图像,确定前述虹膜图像或瞳孔图像对应的极坐标方程;
[0018]
信息加密单元,用以基于该极坐标方程对前述虹膜图像进行加密,得到加密虹膜数据,或者,基于该极坐标方程对前述瞳孔图像进行加密,得到加密瞳孔数据;
[0019]
信息解密单元,用以对前述加密虹膜数据进行解密,得到解密虹膜数据,以使该解密虹膜数据中的虹膜图像与预设在用户账户的虹膜图像匹配;或者,对前述加密瞳孔数据进行解密,得到解密瞳孔数据,以使解密瞳孔数据中的瞳孔图像与预设在用户账户的瞳孔图像匹配。
[0020]
一种用户眼部生物特征的加密系统,包括图像处理模块和系统服务器:
[0021]
图像获取模块,用以获取用户登录时的虹膜图像或瞳孔图像,确定前述虹膜图像或瞳孔图像对应的极坐标方程;
[0022]
所述系统服务器被配置为:基于该极坐标方程对前述虹膜图像进行加密,得到加密虹膜数据后,对前述加密虹膜数据进行解密,得到解密虹膜数据,以使该解密虹膜数据中的虹膜图像与预设在用户账户的虹膜图像匹配;或者,基于该极坐标方程对前述瞳孔图像进行加密,得到加密瞳孔数据后,对前述加密瞳孔数据进行解密,得到解密瞳孔数据,以使解密瞳孔数据中的瞳孔图像与预设在用户账户的瞳孔图像匹配。
[0023]
一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述用户眼部生物特征的加密方法的实施步
骤。
[0024]
基于上述优点和积极效果,本发明的优势在于:对rsa算法中私钥参数的选取条件和密钥对的选取方法进行了改进,加强密钥对的加密效果,从而对虹膜图像或瞳孔图像进行保护,限制了攻击者的解密手段。
附图说明
[0025]
图1为本发明实施例提供的流程图。
[0026]
图2为本发明实施例提供的装置的结构示意图。
[0027]
图3为本发明实施例提供的系统的结构示意图。
[0028]
附图标记说明:
[0029]
装置200,信息获取单元201,信息加密单元202,信息解密单元203;
[0030]
系统300,图像获取模块301,系统服务器302。
具体实施方式
[0031]
以下结合附图和具体实施例对本发明公开的一种用户眼部生物特征的加密方法、装置、系统及存储介质作进一步详细说明。应当注意的是,下述实施例中描述的技术特征或者技术特征的组合不应当被认为是孤立的,它们可以被相互组合从而达到更好的技术效果。在下述实施例的附图中,各附图所出现的相同标号代表相同的特征或者部件,可应用于不同实施例中。因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
[0032]
需说明的是,本说明书所附图中所绘示的结构、比例、大小等,均仅用以配合说明书所揭示的内容,以供熟悉此技术的人士了解与阅读,并非用以限定发明可实施的限定条件,任何结构的修饰、比例关系的改变或大小的调整,在不影响发明所能产生的功效及所能达成的目的下,均应落在发明所揭示的技术内容所能涵盖的范围内。本发明的优选实施方式的范围包括另外的实现,其中可以不按所述的或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
[0033]
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为授权说明书的一部分。在这里示出和讨论的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它示例可以具有不同的值。
[0034]
实施例
[0035]
参见图1所示,为本发明提供的一个流程图。所述方法的实施步骤s100如下:
[0036]
s101,获取用户登录时的虹膜图像和瞳孔图像,确定前述虹膜图像或瞳孔图像对应的极坐标方程。
[0037]
在本实施例的优选实施方式中,所述虹膜图像的轮廓或瞳孔图像的轮廓,可以近似为圆形或椭圆。
[0038]
以椭圆为例,所述虹膜图像或瞳孔图像对应的极坐标方程可以表示为ρ1=b1(1-f
12
)/(1-f1cosθ1),其中,所述f1为离心率,f1=c1/b1,b1是椭圆长轴,c1是焦距,所述θ1为角
度,0≤θ1≤2π。
[0039]
以虹膜图像的外轮廓围成的椭圆为例,长轴为b1=0.006m,短轴为0.005m,焦距则离心率虹膜外轮廓的极坐标方程为
[0040]
s102,基于该极坐标方程对前述虹膜图像进行加密,得到加密虹膜数据后,对前述加密虹膜数据进行解密,得到解密虹膜数据,以使该解密虹膜数据中的虹膜图像与预设在用户账户的虹膜图像匹配;或者,基于该极坐标方程对前述瞳孔图像进行加密,得到加密瞳孔数据后,对前述加密瞳孔数据进行解密,得到解密瞳孔数据,以使解密瞳孔数据中的瞳孔图像与预设在用户账户的瞳孔图像匹配。
[0041]
其中,所述加密和解密均采用rsa算法,使前述rsa算法中的解密密钥k满足e*k≡1mod[(p-1)*(q-1)]和(a*e)*(a*k)≡1mod[(p-1)*(q-1)],所述e为加密密钥,所述p和q均为质数,所述a为前述rsa算法中的因子变量,模运算mod表示求余数,mod[(p-1)*(q-1)]表示对(p-1)*(q-1)的取值求取余数。
[0042]
需要说明的是,所述加密虹膜数据包括前述虹膜图像和对应的加密虹膜信息;所述加密瞳孔数据包括前述瞳孔图像和对应的加密瞳孔信息;所述解密虹膜数据包括前述虹膜图像和对应的解密虹膜信息;所述解密瞳孔数据包括前述瞳孔图像和对应的解密瞳孔信息。
[0043]
又由于所述用户账户中预设存储有用户基本信息,例如用户名、用户昵称和用户代码等信息,此外,还包括用户体征信息,例如用户的虹膜图像信息、瞳孔图像信息、用户的指纹信息和用户的唇纹信息等,其中,虹膜图像和瞳孔图像属于用户眼部生物特征。
[0044]
以虹膜图像为例,当用户基于虹膜图像登录账户时,获取用户登录账户时的虹膜图像,将该虹膜图像和预设在用户账户的虹膜图像进行比对,以确保两个图像中的生物特征一致,是同一用户登录账户的行为,此处的生物特征能够用极坐标方程进行表示,而每个用户的生物特征都是唯一的,故得到的极坐标方程唯一。
[0045]
在这一过程中,为防止攻击者对用户登录时的虹膜图像进行窃取,故采用加密的形式进行上传,并经过解密操作还原用户登录时的虹膜图像。
[0046]
作为本实施例的优选实施方式,在rsa算法中,包括公钥对(公钥参数n1,加密密钥e)和私钥对(私钥参数n2,解密密钥k),n1=n2,其中,加密密钥e的取值范围为1《e《(p-1)*(q-1),且e与(p-1)*(q-1)互质;所述rsa算法的加密公式为c≡mjmodn1,其中j=a*e,m为明文。模运算mod表示对n1的取值求取余数,所述n1是前述p和q的乘积。
[0047]
另外,解密密钥k要同时满足e*k≡1mod[(p-1)*(q-1)]和(a*e)*(a*k)≡1mod[(p-1)*(q-1)],所述p和q均为质数,所述a为前述rsa算法中的因子变量,所述rsa算法的解密公式为m≡c
l
modn2,其中l=a*k,c为密文,模运算mod表示对n2的取值求取余数,所述n2是前述p和q的乘积。
[0048]
针对解密密钥k要同时满足e*k≡1mod[(p-1)*(q-1)]和(a*e)*(a*k)≡1mod[(p-1)*(q-1)]的情形进行举例说明。例如,p为23、q为59,a为175,此时,(p-1)*(q-1)=22*58=1276,则e的取值是1《e《1276,取e与1276互质的整数,e为41,由e*k≡1mod[(p-1)*(q-1)]和(a*e)*(a*k)≡1mod[(p-1)*(q-1)],得到k的值是多解的,比如求得的k可以是249、1525和2801,从而选取其中的任一值作为解密密钥k。
[0049]
还需要说明的是,常规的破解方法可以是非法获取p和q,非法获取的方式可以是
暴力破解、窃取、得到参数n1、n2后进行反推等。而由于本实施例的rsa中有a的存在,这使得攻击方要获取用户的虹膜图像或瞳孔图像前,需要同时的到a、p和q时才有可能破解rsa算法,同时,a的值可以拆解成多个质数的乘积,这对攻击方的破解增加了难度。
[0050]
优选的,所述加密虹膜数据包括前述虹膜图像和对应的加密虹膜信息;所述加密瞳孔数据包括前述瞳孔图像和对应的加密瞳孔信息;所述解密虹膜数据包括前述虹膜图像和对应的解密虹膜信息;所述解密瞳孔数据包括前述瞳孔图像和对应的解密瞳孔信息。
[0051]
优选的,对获取的前述虹膜图像或瞳孔图像进行图像处理;所述图像处理包括图像定位、图像归一化和图像增强中的至少一种;在进行图像处理后,裁剪前述虹膜图像或瞳孔图像,得到内接有前述虹膜图像或瞳孔图像的方形图片。
[0052]
优选的,所述极坐标方程为ρ=b1(1-f
12
)/(1-f1cosθ1),其中,所述f1为离心率,f1=c1/b1,b1是椭圆长轴,c1是焦距,所述θ1为角度,0≤θ1≤2π。
[0053]
可选的,所述极坐标方程为ρ2=b2(1-f
22
)/(1-f2cosθ2),其中,所述f2为离心率,f2=c2/b2,b2是椭圆长轴,c2是焦距,所述θ2为角度,0≤θ2≤2π。
[0054]
优选的,所述p和q的选取,包括步骤s110:
[0055]
s111,调取用户设置的数字密码,将该数字密码进行拆分,选取任意一组拆分后的数字密码设置为m1,虹膜图像的面积信息s1或瞳孔图像的面积信息s2,以及rsa算法中的因子变量a。
[0056]
作为本实施例的另一优选实施方式,所述数字密码可以由多位数字组成,例如该数字密码由n个数字组成(n是大于等于2的整数),从这组数字中任意选取m个(m为大于等于1且同时小于等于n的整数)数字组成m1。
[0057]
例如,用户输入一组长度为12位的数字密码,之后按照从左往右的顺序依次截取1-6位,得到m1为000023。
[0058]
以所述虹膜图像轮廓或瞳孔图像的轮廓是椭圆的为例,所述瞳孔图像的面积公式为s
瞳孔
=πb
瞳孔长轴d瞳孔短轴
,所述虹膜图像的面积则是由虹膜外轮廓包围的面积减去瞳孔图像的面积。
[0059]
作为举例而非限制,设瞳孔的长轴为0.00009m,瞳孔的短轴为0.00007m,该瞳孔图像的轮廓围成的椭圆的离心率f
瞳孔轮廓
为瞳孔的极坐标方程为瞳孔图像的面积是s
瞳孔
=π*0.0009*0.0007=0.00000197m2。设虹膜外轮廓所围成的椭圆长轴为b
虹膜轮廓
=0.006m,它的短轴为d
虹膜轮廓
=0.005m,焦距则该虹膜外轮廓所围成的椭圆的离心率f
虹膜轮廓
为那么虹膜外轮廓的极坐标系方程为那么虹膜图像的面积是s
虹膜图像
=π*0.006*0.005-π*0.0009*0.0007=0.00009227m2。
[0060]
所述a的值基于用户预设的字符组串进行hash算法加密后得到。
[0061]
s112,将前述m1、s1和a进行相乘,或者将前述m1、s2和a进行相乘,得到数值d1或d2,获取前述d1的所有因子对或d2的所有因子对,将其中最大的因子作为p。
[0062]
为减少计算量,以瞳孔图像为例,m1为000023,s2为19,a为175,从而得到d2=23*19*175,之后找出d2的所有因子对,确定p=23。
[0063]
s113,选取另一组拆分后的数字密码设置为m2;将前述m2、s1和a进行相乘,或者将前述m2、s2和a进行相乘,得到数值d3或d4,获取前述d3的所有因子对或d4的所有因子对,将其中最大的因子作为q。
[0064]
同理,为减少计算量,以瞳孔图像为例,m2为000059,s2为19,a为175,从而得到d4=59*19*175,之后找出d4的所有因子对,确定q=59。
[0065]
优选的,所述加密密钥e的取值范围为1《e《(p-1)*(q-1),且e与(p-1)*(q-1)互质;所述rsa算法中还包括公钥参数n1和私钥参数n2,且n1=n2;所述rsa算法的加密公式为c≡mjmodn1,其中j=a*e,m为明文,所述rsa算法的解密公式为m≡c
l
modn2,其中l=a*k,c为密文,模运算mod表示对n1或n2的取值求取余数,所述n1和n2均是前述p和q的乘积。
[0066]
优选的,所述a的值基于用户预设的字符组串进行hash算法加密后得到。
[0067]
作为本实施例的优选实施方式,引入因子变量a,使得整个加解密方式必须知晓p,q,a才可以实施,但a值是对用户预设的字符组串进行hash算法加密,生成hash值。由于a无法通过反向运算得到,使得整个加解密程序不可被破解;而攻击方如果要进行破解,则首先要对c≡m
a*e
mod(n)和m≡c
a*k
mod(n)进行反向运算,但只能得到a*e,a*k和n1的数值信息,无法得到a,k,e的信息。作为举例而非限制,此时有a的限制,使得a*e和a*k的防破解效果就是一个数可拆成多个因子,例如:a=6=1*6=2*3。
[0068]
在一个优选的实施方式中,假设用户预设的字符组串为“你好”,则采用hash算法中sha-512算法计算得到a值为:“5232181bc0d9888f5c9746e410b4740eb461706ba5dacfbc93587cecfc8d068bac7737e92870d6745b11a25e9cd78b55f4ffc706f73cfcae5345f1b53fb8f6b5”,并将这个hash值中每个位上的数进行相加,得到a的值为555;又如,输入的字符组串是“apple”,采用hash算法中sha-512算法得到hash值“844d8779103b94c18f4aa4cc0c3b4474058580a991fba85d3ca698a0bc9e52c5940feb7a65a3a290e17e6b23ee943ecc4f73e7490327245b4fe5d5efb590feb2”,它的a值为538。
[0069]
其它技术特征参考在前实施例,在此不再赘述。
[0070]
参见图2所示,本发明还给出了一个实施例,提供了一种用户眼部生物特征的加密装置200,所述装置200包括结构:
[0071]
信息获取单元201,用以获取用户登录时的虹膜图像或瞳孔图像,确定前述虹膜图像或瞳孔图像对应的极坐标方程。
[0072]
信息加密单元202,用以基于该极坐标方程对前述虹膜图像进行加密,得到加密虹膜数据,或者,基于该极坐标方程对前述瞳孔图像进行加密,得到加密瞳孔数据。
[0073]
信息解密单元203,用以对前述加密虹膜数据进行解密,得到解密虹膜数据,以使该解密虹膜数据中的虹膜图像与预设在用户账户的虹膜图像匹配;或者,对前述加密瞳孔数据进行解密,得到解密瞳孔数据,以使解密瞳孔数据中的瞳孔图像与预设在用户账户的瞳孔图像匹配。
[0074]
此外,参见图3所示,本发明还给出了一个实施例,提供了一种用户眼部生物特征的加密系统300,所述系统300包括图像处理模块301和系统服务器302。
[0075]
图像获取模块301,用以获取用户登录时的虹膜图像或瞳孔图像,确定前述虹膜图像或瞳孔图像对应的极坐标方程。
[0076]
所述系统服务器302被配置为:基于该极坐标方程对前述虹膜图像进行加密,得到
加密虹膜数据后,对前述加密虹膜数据进行解密,得到解密虹膜数据,以使该解密虹膜数据中的虹膜图像与预设在用户账户的虹膜图像匹配;或者,基于该极坐标方程对前述瞳孔图像进行加密,得到加密瞳孔数据后,对前述加密瞳孔数据进行解密,得到解密瞳孔数据,以使解密瞳孔数据中的瞳孔图像与预设在用户账户的瞳孔图像匹配。
[0077]
其它技术特征参见在前实施例,在此不再赘述。
[0078]
此外,本发明实施例还提供了一种计算机可读存储介质,其上存储有程序,用于前述用户眼部生物特征的加密装置中,所述程序被处理器执行时,能够实现上述任一项所述用户眼部生物特征的加密方法的步骤。
[0079]
其它技术特征参见在前实施例,在此不再赘述。
[0080]
在上面的描述中,在本公开内容的目标保护范围内,各组件可以以任意数目选择性地且操作性地进行合并。另外,像“包括”、“囊括”以及“具有”的术语应当默认被解释为包括性的或开放性的,而不是排他性的或封闭性,除非其被明确限定为相反的含义。所有技术、科技或其他方面的术语都符合本领域技术人员所理解的含义,除非其被限定为相反的含义。在词典里找到的公共术语应当在相关技术文档的背景下不被太理想化或太不实际地解释,除非本公开内容明确将其限定成那样。
[0081]
虽然已出于说明的目的描述了本公开内容的示例方面,但是本领域技术人员应当意识到,上述描述仅是对本发明较佳实施例的描述,并非对本发明范围的任何限定,本发明的优选实施方式的范围包括另外的实现,其中可以不按所述出现或讨论的顺序来执行功能。本发明领域的普通技术人员根据上述揭示内容做的任何变更、修饰,均属于权利要求书的保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1