本发明涉及信息安全领域,具体涉及一种生物特征密码认证方法和装置。
背景技术:
密码机已经广泛应用于金融、军队、政务等重要的领域中,密码机对传输的数据提供加解密服务,以保证数据的安全性。目前,密码机已广泛使用生物特征信息进行身份认证。
生物特征因其固有的唯一性、稳定性、精确性和易用性等特点成为广泛研究与使用的特征。但是生物特征一旦被成功的窃取或攻击,将导致该生物特征永久不可用,而人的生物特征是非常有限,不像传统的身份认证媒介如口令、IC等可以随意撤销或修改。
因此,为保证密码机的使用安全,必须保证生物特征数据的安全性和生物特征模板的不可链接性,进而需要用于密码机的一种生物特征密码认证方法和装置。
技术实现要素:
针对上述现有技术中生物特征容易被窃取的问题,本发明的目的在于提供一种生物特征密码认证方法和装置。
为了实现上述目的,本发明采用的技术方案如下:
一种生物特征密码认证方法,包括生物初始特征录入步骤和生物特征认证步骤,生物初始特征录入步骤:
S100:采集生物信息并提取初始生物特征BC0;
S110:获取随机数R0,并用随机数R0生成保护密钥keyp0,存储随机数R0;
S120:使用保护密钥keyp0对(R0|BC0)加密,加密形成的密文E(R0|BC0)作为生物特征模板BCM,存储生物特征模板BCM;
S130:通过初始生物特征BC0生成索引index0,存储索引index0;
生物特征认证步骤:
S200:采集生物信息并提取生物特征BC1;
S210:通过初始生物特征BC1生成索引index1;
S220:根据索引index1读取对应的随机数R1和生物特征模板BCM1;
S230:用随机数R1生成保护密钥keyp1,并使用keyp1对(R1|BC1)进行加密,加密形成的密文E(R1|BC1)作为生物特征认证的生物特征模板BCM’;
S240:对比生物特征模板BCM’与存储的生物特征模板BCM,若二者匹配,身份验证成功,若不匹配,身份验证失败。
进一步地,步骤S240中,若身份验证失败,重新进行步骤S200,直至达到验证阈值。
进一步地,随机数R0、生物特征模板BCM以索引index0为索引对应存储。
进一步地,步骤S110中,随机数R0通过噪声源获取;和/或生物信息是指纹、虹膜或指静脉。
进一步地,步骤S110中用随机数R0生成保护密钥keyp0的方式与步骤S230中用随机数R1生成保护密钥keyp1的方式一致;
和/或步骤S130中通过初始生物特征BC0生成索引index0的方式与步骤S210中通过初始生物特征BC1生成索引index1的方式一致。
进一步地,步骤S110中随机数R0通过函数变化生成保护密钥keyp0;
和/或步骤S230中随机数R1通过函数变化生成保护密钥keyp1。
进一步地,步骤S130中通过对初始生物特征BC0进行杂凑运算得到Hash(BC0),并从Hash(BC0)中截取某一段数据作为索引index0;
和/或步骤S210中通过对初始生物特征BC1进行杂凑运算得到Hash(BC1),并从Hash(BC1)中截取某一段数据获得所述索引index1。
一种生物特征密码认证装置,包括:
生物特征录入模块,用于进行生物信息的采集和提取生物特征BC;
密码运算模块,用于对生物特征进行加密处理、数据的加密处理;存储索引index、生物特征模板、随机数。
进一步地,密码运算模块用于在用户注册录入生物特征时通过噪声源获取随机数R;
密码运算模块用于用随机数R通过函数变化生成保护密钥keyp,使用保护密钥keyp对(R|BC)加密,加密后的密文E(R|BC)作为生物特征模板BCM;
密码运算模块用于对生物特征BC进行杂凑运算得到Hash(BC),并从Hash(BC)截取某一段数据获得索引index;
密码运算模块用于比对用户认证时与用户注册时的生物特征模板BCM,并判断是否匹配。
进一步地,随机数R、索引index、生物特征模板BCM对应存储在存储模块。
本发明通过以上技术方案,能够获得以下有益技术效果:
(1)通过引入随机数R作为分量与生物特征结合加密生成生物特征模板BCM,保证生物特征模板BCM的唯一性,保证生物特征与生物特征模板的不可链接性,即无法从生物特征模板直接获取生物特征;
(2)通过密码装置中的噪声源产生的随机数R生成生物特征模板,同一用户的生物特征模板在不同的密码装置中不同,保证密码装置之间的独立性和安全性。
当然,实施本发明的任一产品必不一定需要同时达到以上所述的所有技术效果。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1为本发明实施例所述的生物特征密码认证方法和装置的生物初始特征录入步骤的流程图;
图2为本发明实施例所述的生物特征密码认证方法和装置的生物特征认证步骤的流程图。
具体实施方式
如在说明书及权利要求当中使用了某些词汇来指称特定组件。本领域技术人员应可理解,硬件制造商可能会用不同名词来称呼同一个组件。本说明书及权利要求并不以名称的差异来作为区分组件的方式,而是以组件在功能上的差异来作为区分的准则。如在通篇说明书及权利要求当中所提及的“包括”为一开放式用语,故应解释成“包括但不限定于”。说明书后续描述为实施本发明的较佳实施方式,然所述描述乃以说明本发明的一般原则为目的,并非用以限定本发明的范围。本发明的保护范围当视所附权利要求所界定者为准。
实施例1
如图1和图2所示,本实施例提供的一种生物特征密码认证方法,包括生物初始特征录入步骤和生物特征认证步骤,生物初始特征录入步骤:首先,用户通过生物特征录入模块采集用户的生物信息并根据用户的生物信息提取初始生物特征BC0;同时,通过噪声源获取随机数R0,并用随机数R0生成保护密钥keyp0,存储随机数R0,随机数R0为生物特征模板的分量,通过噪声源获取随机数R0可以保证随机数R0的随机性和唯一性;然后,使用保护密钥keyp0对(R0|BC0)加密,加密形成的密文E(R0|BC0)作为生物特征模板BCM,存储生物特征模板BCM,加密的算法可以是对称加密算法,E(R0|BC0)标识加密后的密文;通过初始生物特征BC0生成索引index0,存储索引index0;随机数R0、生物特征模板BCM以index为索引对应存储,这样在生物特征认证时,只要获得索引index0,就能读取与索引index0对应的随机数R0和生物特征模板BCM。
生物特征认证步骤:首先采集使用者的生物信息并根据使用者的生物信息提取生物特征BC1;然后通过初始生物特征BC1生成索引index1;根据索引index1读取对应的随机数R1和生物特征模板BCM1;用随机数R1生成保护密钥keyp1,并使用keyp1加密(R1|BC1),加密形成的密文E(R1|BC1)作为生物特征认证的生物特征模板BCM’;对比生物特征模板BCM’与存储的生物特征模板BCM,若二者匹配,身份验证成功,提供密码服务,若不匹配,身份验证失败。若身份验证失败,重新开始生物特征认证步骤,直至达到验证阈值。密码服务可以是根据用户需求进行的业务数据加/解密、个人生物特征的维护等。
其中,生物信息可以是指纹、虹膜、指静脉或其他可用于身份验证的生物信息,生物初始特征录入步骤与生物特征认证步骤中的生物信息一致,例如都选取指纹来进行生物初始特征录入步骤和生物特征认证步骤。用随机数R0生成保护密钥keyp0的方式与用随机数R1生成保护密钥keyp1的方式一致,这样,当随机数R0与随机数R1相等时,保护密钥keyp0与保护密钥keyp1也相等。通过初始生物特征BC0生成索引index0的方式与通过初始生物特征BC1生成索引index1的方式一致,这样,当初始生物特征BC0与生物特征BC1相同时,索引index0与索引index1也相同。
进一步地,随机数R0通过函数变化生成保护密钥keyp0;随机数R1通过函数变化生成保护密钥keyp1,这里的函数可以是一个函数,也可以是一系列函数。
进一步地,通过对初始生物特征BC0进行杂凑运算得到Hash(BC0),并从Hash(BC0)中截取某一段数据作为索引index0;通过对初始生物特征BC1进行杂凑运算得到Hash(BC1),并从Hash(BC1)中截取某一段数据获得所述索引index1。同样地,索引index0与索引index1也可以采用其他适合的方式获得。
实施例2
如图1和图2所示,本实施例提供的一种生物特征密码认证装置,具体地,是一种密码机,其包括生物特征录入模块,密码运算模块。生物特征录入模块用于进行生物信息的采集和提取生物特征BC,生物特征录入模块可以与密码机外接或内嵌在密码机中,用户的注册和身份验证必须经过生物特征录入模块,并且在用户注册时,必须录入用户的生物初始特征并进行生物初始特征步骤;密码运算模块用于对生物特征进行加密处理、对数据的加密处理及存储索引、随机数和生物特征模板。本生物特征密码认证装置还可以包括存储模块,用于运算过程中需要进行的数据存储。
进一步地,密码运算模块用于在用户注册录入生物特征时通过噪声源获取随机数R;以及用于,用随机数R通过函数变化生成保护密钥keyp,使用保护密钥keyp对(R|BC)加密,加密后的密文E(R|BC)作为生物特征模板BCM;还用于,对生物特征BC进行杂凑运算得到Hash(BC),并从Hash(BC)截取某一段数据获得索引index;还用于,比对用户认证时与用户注册时的生物特征模板BCM,并判断是否匹配。其中,随机数R、索引index、生物特征模板BCM对应存储在存储模块中。
本实施例提供的生物特征密码认证装置,具体地,是一种密码机,采用的生物特征密码认证方法如下:包括生物初始特征录入步骤和生物特征认证步骤。
生物初始特征录入步骤:首先,生物特征录入模块采集用户的生物信息并根据用户的生物信息提取初始生物特征BC0;同时,密码运算模块通过密码机内部的噪声源获取随机数R0,并用随机数R0生成保护密钥keyp0,将随机数R0存储到存储模块中,随机数R0为生物特征模板的分量,通过噪声源获取随机数R0可以保证随机数R0的随机性和唯一性;然后,密码运算模块使用保护密钥keyp0对(R0|BC0)加密,加密形成的密文E(R0|BC0)作为生物特征模板BCM,将生物特征模板BCM存储到密码运算模块中;密码运算模块通过初始生物特征BC0生成索引index0,将索引index0存储到密码运算模块中;索引index与随机数R0,生物特征模板BCM共同对应存储在密码运算模块中,这样在生物特征认证时,只要获得索引index0,就能读取与索引index0对应的随机数R0和生物特征模板BCM。
生物特征认证步骤:首先,生物特征录入模块采集使用者的生物信息并根据使用者的生物信息提取生物特征BC1;然后密码运算模块通过初始生物特征BC1生成索引index1,再根据索引index1读取对应的随机数R1和生物特征模板BCM1。若索引index1无对应的随机数和生物特征模板,则身份认证失败;否则用随机数R1生成保护密钥keyp1,并使用keyp1加密(R1|BC1),加密后的密文E(R1|BC1)作为生物特征认证的生物特征模板BCM’;密码运算模块对比生物特征模板BCM’与存储在存储模块的生物特征模板BCM,若二者匹配,身份验证成功,密码机提供密码服务,若不匹配,身份验证失败。若身份验证失败,重新开始生物特征认证步骤,直至达到验证阈值,达到验证阈值后,密码机锁定。密码服务可以是根据用户需求进行的业务数据加/解密、个人生物特征的维护等。
其中,生物信息可以是指纹、虹膜、指静脉或其他可用于身份验证的生物信息,生物初始特征录入步骤与生物特征认证步骤中的生物信息一致,例如都选取指纹来进行生物初始特征录入步骤和生物特征认证步骤。用随机数R0生成保护密钥keyp0的方式与用随机数R1生成保护密钥keyp1的方式一致,这样,当随机数R0与随机数R1相等时,保护密钥keyp0与保护密钥keyp1也相等。通过初始生物特征BC0生成索引index0的方式与通过初始生物特征BC1生成索引index1的方式一致,这样,当初始生物特征BC0与生物特征BC1相同时,索引index0与索引index1也相同。
进一步地,随机数R0通过函数变化生成保护密钥keyp0;随机数R1通过函数变化生成保护密钥keyp1,这里的函数可以是一个函数,也可以是一系列函数。
进一步地,通过对初始生物特征BC0进行杂凑运算得到Hash(BC0),并从Hash(BC0)中截取某一段数据作为索引index0;通过对初始生物特征BC1进行杂凑运算得到Hash(BC1),并从Hash(BC1)中截取某一段数据获得所述索引index1。同样地,索引index0与索引index1也可以采用其他适合的方式获得。
其中,对于同一个密码机,所有的用户生成生物特征时使用的随机数R可根据需要确定是否相同,即所用用户使用同一个随机数R或者每个用户使用不同的随机数R均可。对于不同的密码机,随机数R由于是噪声源产生,因而一定不同。采用以随机数R作为分量的生物特征模板进行用户的身份认证,隐藏了生物特征数据,可保证生物特征数据的安全和密码机的使用安全,防止了因其他密码机或系统的生物特征模板被攻击或被窃取造成的生物特征数据的泄露和损失。
术语解释:
Hash:即哈希算法,将任意长度的二进制映射为较短的固定长度的二进制值。
本实施例提供的一种生物特征密码认证方法和装置,具有以下优点:
(1)通过引入随机数R作为分量与生物特征结合加密生成生物特征模板BCM,保证生物特征模板BCM的唯一性,保证生物特征与生物特征模板的不可链接性,即无法从生物特征模板直接获取生物特征;
(2)通过密码装置中的噪声源产生的随机数R生成生物特征模板,同一用户的生物特征模板在不同的密码装置中不同,保证密码装置之间的独立性和安全性。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上所述仅为本发明的若干实施例而已,并不用于限制本发明。对于本领域技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本发明的权利要求范围之内。