一种双模态生物特征加密方法、设备及存储设备与流程

文档序号:17373678发布日期:2019-04-12 23:03阅读:144来源:国知局
一种双模态生物特征加密方法、设备及存储设备与流程

本发明涉及生物识别领域,尤其涉及一种双模态生物特征加密方法、设备及存储设备。



背景技术:

与传统的身份认证方法相比,生物特征认证方法存在不可撤销性的缺点,生物特征丢失是永久性的,不可能无限次重新发布新的生物特征。现有研究成果无法提供一种合适的方法对生物特征的模糊性和密码技术的精确性进行很好地融合,难以达到保护生物特征和密码的目的。此外,如何实现可以撤销、可以重新发布和不可逆的生物特征模板也是生物特征加密研究中的一个热点问题。



技术实现要素:

为了解决上述问题,本发明提供了一种双模态生物特征加密方法、设备及存储设备,一种双模态生物特征加密方法,主要包括以下步骤:

s101:在注册阶段,获取用户提交的账号、背景图片、原始面部图片和原始声纹语料;所述背景图片为若干张预先设置好的图片中的一张;

s102:根据获取的背景图片和原始面部图片,采用sha256算法,计算得到基于用户面部特征的二进制序列密钥,作为用户主密钥;

s103:根据所述账号,使用zuc算法为需要加密的应用生成一个随机数作为nounce,并将所述账号与应用的随机数之间的映射关系存储至本地数据库;

s104:使用sha256算法对所述用户主密钥和nounce进行融合,并使用sha256算法对融合结果进行散列和约简,获得16位16进制子密钥,作为需要加密的应用的登录密钥;

s105:利用golangvpr库中的trainspeech()函数对所述原始声纹语料进行训练,得到用户声纹模型的二进制信息;

s106:利用md5算法对用户声纹模型的二进制信息进行hash变换,得到基于用户声纹特征的二进制序列密钥,并将基于用户声纹特征的二进制序列密钥存储于本地数据库;

s107:利用aes算法对用户主密钥和基于用户声纹特征的二进制序列密钥进行加密编码,得到特征密文,并将特征密文存储至本地数据库,应用加密完成;

s108:在登陆阶段,自动获取用户输入的登陆账号;并利用相机获取用户登陆时的面部图片,进而进行面部识别认证,判断是否认证通过?若是,则从本地数据库获取所述特征密文,并转到步骤s109;若否,则返回错误信息,并转到步骤s112;

s109:利用麦克风采集用户登陆时的声纹语料,并进行声纹识别认证,判断是否认证通过;若是,则从本地数据库获取基于用户声纹特征的二进制序列密钥,并转到步骤s110;否则,返回错误信息,并转到步骤s112;

s110:根据获取的基于用户声纹特征的二进制序列密钥,采用aes算法对步骤s108中获取的特征密文文件进行解密,得到用户主密钥;

s111:根据步骤s108中获取的登陆账号,从本地数据库查询对应应用的随机数nounce,并采用sha256算法对用户主密钥与该对应应用的nounce进行散列和约检,得到应用登陆密钥;并对得到的应用登陆密钥进行自动复制和自动填充;

s112:登陆程序结束。

进一步地,步骤s102中,根据获取的背景图片和面部图片,采用sha256算法,计算得到基于用户面部特征的二进制序列密钥,具体如下:

s201:利用opencv视觉库提供的cvget2d()函数提取背景图片固定点的像素信息;

s202:根据所述面部图片,使用seetaface库中的getfeature()函数获取用户面部特征信息;

s203:采用sha256算法对获取的背景图片固定点的像素信息和用户面部特征信息进行融合,得到基于用户面部特征的二进制序列密钥。

进一步地,步骤s108中,面部识别认证的步骤包括:

s301:利用opencv库中的facedetect接口将原始面部图片和登陆时的面部图片中的人脸检测出来;

s302:将检测到的人脸分别剪切出来,得到两张分别只包含原始面部图片中人脸的图片和只包含登陆时的面部图片中人脸的图片;

s303:将得到的只包含人脸的图片分别转换成单通道的图像;

s304:使用直方图对获得的两张单通道的人脸图像进行比较,得到面部图片相似度;

s305:判断面部图片相似度是否大于或者等于面部识别阈值x?若是,则认证通过;否则,认证不通过;其中x>0,为预设值,本发明实施例中,取0.55。

进一步地,步骤s109中,声纹识别认证的方法为:首先,根据所述用户原始声纹语料信息,采用梅尔倒谱系数mfcc作为语音特征相似度的评价参数,对原始声纹语料和登陆时的声纹语料进行相似度计算,得到用户声音相似度;然后,判断用户声音相似度是否大于或者等于声音识别阈值y?若是,则认证通过;否则,认证不通过;其中y>0,为预设值,本发明实施例中,取0.55。

进一步地,步骤s111中,对得到的应用登陆密钥进行自动复制的方法为:

s401:调用getsystemclipboard()接口获取系统的剪切板;

s402:使用setcontents()接口向剪切板中填充软件密钥;

s403:在用户粘贴密钥后,再次使用setcontents()接口将剪切板置为空,防止密钥的二次使用。

进一步地,步骤s111中,对得到的应用登陆密钥进行自动填充的方法为:系统通过调用mouseinfo类中的getlocation()接口获取全局鼠标移动位置;当判定鼠标移动到应用密码输入框时,调用robot类的keypress()接口实现密钥信息的自动录入。

一种存储设备,所述存储设备存储指令及数据用于实现一种双模态生物特征加密方法。

一种双模态生物特征加密设备,包括:处理器及所述存储设备;所述处理器加载并执行所述存储设备中的指令及数据用于实现一种双模态生物特征加密方法。

本发明提供的技术方案带来的有益效果是:本发明所提出的技术方案具有密钥管理简单、方案适用性高等特点,有效解决了生物特征信息被盗取导致的单点失效问题;数据库中存储的模板数据或背景信息即使被盗取,攻击者也难以恢复出特征模板信息和用户密钥信息,安全性更高。

附图说明

下面将结合附图及实施例对本发明作进一步说明,附图中:

图1是本发明实施例中一种双模态生物特征加密方法的流程图;

图2是本发明实施例中应用加密的原理框图;

图3是本发明实施例中应用解密的原理框图;

图4是本发明实施例中的用户信息采集界面示意图;

图5是本发明实施例中的面部特征加密文件示意图;

图6是本发明实施例中硬件设备工作的示意图。

具体实施方式

为了对本发明的技术特征、目的和效果有更加清楚的理解,现对照附图详细说明本发明的具体实施方式。

本发明的实施例提供了一种双模态生物特征加密方法、设备及存储设备。

请参考图1,图1是本发明实施例中一种双模态生物特征加密方法的流程图,具体包括如下步骤:

s101:在注册阶段,获取用户提交的账号、背景图片、原始面部图片和原始声纹语料;所述背景图片为若干张预先设置好的图片中的一张;

s102:根据获取的背景图片和原始面部图片,采用sha256算法,计算得到基于用户面部特征的二进制序列密钥,作为用户主密钥;

s103:根据所述账号,使用zuc算法为需要加密的应用生成一个随机数作为nounce,并将所述账号与应用的随机数之间的映射关系存储至本地数据库;

s104:使用sha256算法对所述用户主密钥和nounce进行融合,并使用sha256算法对融合结果进行散列和约简,获得16位16进制子密钥,作为需要加密的应用的登录密钥;

s105:利用golangvpr库中的trainspeech()函数对所述原始声纹语料进行训练,得到用户声纹模型的二进制信息;

s106:利用md5算法对用户声纹模型的二进制信息进行hash变换,得到基于用户声纹特征的二进制序列密钥,并将基于用户声纹特征的二进制序列密钥存储于本地数据库;

s107:利用aes算法对用户主密钥和基于用户声纹特征的二进制序列密钥进行加密编码,得到特征密文,并将特征密文存储至本地数据库,应用加密完成;

s108:在登陆阶段,自动获取用户输入的登陆账号;并利用相机获取用户登陆时的面部图片,进而进行面部识别认证,判断是否认证通过?若是,从本地数据库获取所述特征密文,并转到步骤s109;若否,则返回错误信息,并转到步骤s112;

s109:利用麦克风采集用户登陆时的声纹语料,并进行声纹识别认证,判断是否认证通过;若是,则从本地数据库获取基于用户声纹特征的二进制序列密钥,并转到步骤s110;否则,返回错误信息,并转到步骤s112;

s110:根据获取的基于用户声纹特征的二进制序列密钥,采用aes算法对步骤s108中获取的特征密文文件进行解密,得到用户主密钥;

s111:根据步骤s108中获取的登陆账号,从本地数据库查询对应应用的nounce,并采用sha256算法对用户主密钥与该对应应用的nounce进行散列和约检,得到应用登陆密钥;并对得到的应用登陆密钥进行自动复制和自动填充;

s112:登陆程序结束。

步骤s102中,根据获取的背景图片和面部图片,采用sha256算法,计算得到基于用户面部特征的二进制序列密钥,具体如下:

s201:利用opencv视觉库提供的cvget2d()函数提取背景图片固定点的像素信息;

s202:根据所述面部图片,使用seetaface库中的getfeature()函数获取用户面部特征信息;

s203:采用sha256算法对获取的背景图片固定点的像素信息和用户面部特征信息进行融合,得到基于用户面部特征的二进制序列密钥;

步骤s108中,面部识别认证的步骤包括:

s301:利用opencv库中的facedetect接口将原始面部图片和登陆时的面部图片中的人脸检测出来;

s302:将检测到的人脸分别剪切出来,得到两张分别只包含原始面部图片中人脸的图片和只包含登陆时的面部图片中人脸的图片;

s303:将得到的只包含人脸的图片分别转换成单通道的图像;

s304:使用直方图对获得的两张单通道的人脸图像进行比较,得到面部图片相似度;

s305:判断面部图片相似度是否大于或者等于面部识别阈值x?若是,则认证通过;否则,认证不通过;其中x>0,为预设值,本发明实施例中,取0.55。

步骤s109中,声纹识别认证的方法为:首先,根据所述用户原始声纹语料信息,采用梅尔倒谱系数mfcc作为语音特征相似度的评价参数,对原始声纹语料和登陆时的声纹语料进行相似度计算,得到用户声音相似度(具体方法,见参考文献:赵桂兰,孙东.基于matlab的mfcc在语音相似度评价中的应用);然后,判断用户声音相似度是否大于或者等于声音识别阈值y?若是,则认证通过;否则,认证不通过;其中y>0,为预设值,本发明实施例中,取0.55。

步骤s111中,对得到的应用登陆密钥进行自动复制的方法为:

s401:调用getsystemclipboard()接口获取系统的剪切板;

s402:使用setcontents()接口向剪切板中填充软件密钥;

s403:在用户粘贴密钥后,再次使用setcontents()接口将剪切板置为空,防止密钥的二次使用;

步骤s111中,对得到的应用登陆密钥进行自动填充的方法为:系统通过调用mouseinfo类中的getlocation()接口获取全局鼠标移动位置;当判定鼠标移动到应用密码输入框时,调用robot类的keypress()接口实现密钥信息的自动录入。

如图2所示为本发明实施例的应用加密原理框图;

如图3所示为本发明实施例的应用解密原理框图;

如图4所示,为用户信息采集界面,用户进入多模态生物认证功能模块后,选择面部特征采集功能,进入图片口令选择界面,点击任意三张图片作为图片口令,采集面部特征后,点击生成按钮实现对面部特征的非线性化加密处理。

面部特征加密文件如图5所示,命名方式为“用户名+文件格式”。其中,“用户名.dat”为普通面部识别模块保存的面部特征的密文文件,采用用户自定图片口令进行加密。“用户名quick.dat”为环境自适应调节模块保存面部特征的密文文件,使用系统默认图片密钥进行加密。用户名ferquick.dat”为表情识别模块保存面部特征的密文文件,使用系统默认图片密钥进行加密。

请参见图6,图6是本发明实施例的硬件设备工作示意图,所述硬件设备具体包括:一种双模态生物特征加密设备601、处理器602及存储设备603。

一种双模态生物特征加密设备601:所述一种双模态生物特征加密设备601实现所述一种双模态生物特征加密方法。

处理器602:所述处理器602加载并执行所述存储设备603中的指令及数据用于实现所述一种双模态生物特征加密方法。

存储设备603:所述存储设备603存储指令及数据;所述存储设备603用于实现所述一种双模态生物特征加密方法。

本发明的有益效果是:本发明所提出的技术方案具有密钥管理简单、方案适用性高等特点,有效解决了生物特征信息被盗取导致的单点失效问题;数据库中存储的模板数据或背景信息即使被盗取,攻击者也难以恢复出特征模板信息和用户密钥信息,安全性更高。

以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1