技术新讯 > 电子通信装置的制造及其应用技术 > 一种基于人体生物特征的秘密生成或隐藏及恢复方法与流程  >  正文

一种基于人体生物特征的秘密生成或隐藏及恢复方法与流程

  • 国知局
  • 2024-08-02 14:55:28

本发明属于密码,特别是一种基于人体生物特征的秘密生成或隐藏及恢复方法。

背景技术:

1、在密码技术中常常涉及秘密参数、秘密数据的存储和使用,比如,密钥(比如对称密钥、私钥)、种子秘密、秘密份额、协同计算秘密参数等的存储和使用。出于安全考虑,这些秘密需要保存在受到严格安全保护的装置中比如usb key、token中并在这些装置中使用,但是,出于方便性和成本考虑,这些秘密也常常保存在用户的普通计算装置如个人电脑、手机移动终端中并使用,这些保存在用户普通计算装置中的秘密存在被木马、恶意程序窃取的风险。还有,目前云密码计算被广泛采用,在云密码技术中用户的秘密被保存在云端,而保存在云端的用户秘密也存在被窃取、被非授权使用的风险。

技术实现思路

1、本发明的目的是针对保存在用户计算装置或云端的用户秘密存在被窃取、被非授权使用的风险的问题,提出一种解决方案。

2、针对本发明的目的,本发明提出的技术方案包括一种基于人体生物特征的秘密生成或隐藏方法,以及在此基础上的一种基于人体生物特征的秘密恢复方法,其中,基于人体生物特征的秘密生成或隐藏方法如下。

3、当初次生成秘密s时(比如生成密钥、种子秘密、协同计算的秘密份额、秘密参数等),密码组件或密码装置或密码系统获取用户人体生物特性信息(包括人体生理特征信息,如指纹、人脸、虹膜、语音,以及人体行为特征信息,如手写签名笔迹),利用用户人体生物特性信息生成种子秘密y,然后利用随机选择的数据x(随机数、随机字串),生成秘密s=f(x,y),其中f(x,y)为预先选定的映射或函数(多到一或者多到多的映射或函数),s、x、y分别为单个数据(比如单个数)或一组数据(比如,包含多个数据的向量、矩阵),s、x、y各自具有或包含的数据的个数(维数)不必相同,对于一组数据,其中的每个数据的类型、取值范围不必相同;若s为一组数据,则f(x,y)为一组映射或函数(比如,函数构成的向量即向量函数或函数向量,函数构成的矩阵即函数矩阵等);所述种子秘密y为用于生成秘密s的保密数据;所述数据x称为秘密生成参数(数据);利用种子秘密y、随机数据x生成秘密s=f(x,y)的方式包括直接生成和间接生成;所述直接生成指直接计算得到秘密s的值;所述间接生成指不直接计算得到秘密s的值,而是在需要使用秘密s进行密码运算和/或计算时,不恢复出秘密s,而是由密码组件或密码装置或密码系统使用秘密x、y进行密码运算和/或计算,且密码运算和/或计算得到结果与使用秘密s进行密码运算和/或计算得到的结果相同或等同;密码组件或密码装置或密码系统将秘密生成参数x安全保存(比如保存在本地、网络,或经加密后存放在数字证书中);秘密s、y在完成初始化使用后被丢弃(比如密钥s为私钥,则在使用s计算得到公钥后被密码装置或密码程序或密码系统丢弃);

4、或者,

5、当对已有秘密s进行隐藏时(比如隐藏已生成的密钥、种子秘密、协同计算的秘密份额、秘密参数等),密码组件或密码装置或密码系统获取用户人体生物特性信息(包括人体生理特征信息,如指纹、人脸、虹膜、语音,以及人体行为特征信息,如手写签名笔迹),利用用户人体生物特性信息生成种子秘密y,然后利用秘密s、种子秘密y确定、得到满足关系s=f(x,y)的数据x(确定、得到的数据x不必是唯一的),其中f(x,y)为预先选定的映射或函数(多到一或者多到多的映射或函数),且在已知s、y的情况下根据f(x,y)能得到满足关系s=f(x,y)的数据x,s、x、y分别为单个数据(单个数)或一组数据(包含多个数据的向量、矩阵),s、x、y各自具有或包含的数据的个数(维数)不必相同,对于一组数据,其中的每个数据的类型、取值范围不必相同;若s为一组数据,则f(x,y)为一组映射或函数(比如,函数构成的向量即向量函数或函数向量,函数构成的矩阵即函数矩阵);所述种子秘密y为用于隐藏秘密s的保密数据;所述数据x称为秘密隐藏参数(数据);利用秘密s、种子秘密y确定、得到满足关系s=f(x,y)的数据x的方式包括直接方式和间接方式;所述直接方式指利用秘密s以及映射或函数关系f(x,y),直接计算得到或确定满足s=f(x,y)的数据x;所述间接方式指利用秘密s、种子秘密y确定、得到满足关系s=f(x,y)的数据x由多个参与方协同计算得到(比如客户端、服务端的密码组件或密码装置或密码系统),且全部参与方中不是所有参与方能够得到或允许得到(知晓)全部的秘密s、x和y(比如,所有参与方不能够得到或不允许得到全部的秘密s、x和y,或者某个参与方能得到或允许知晓全部的秘密s、x、y,其他参与方不能得到或不允许知晓全部的秘密s、x、y,出现后面这种情形是允许的),而通过间接方式利用秘密s、种子秘密y确定、得到满足关系s=f(x,y)的数据x,指在不是所有参与方能得到或允许得到全部的秘密s、x和y的情况下,参与方通过协同计算确定、得到满足关系s=f(x,y)的数据x,在协同计算过程中参与方通过其密码组件或密码装置或密码系统完成运算和/或计算;对于通过间接方式确定、得到x的情形,在需要使用秘密s进行密码运算和/或计算时,不恢复出秘密s,而是由参与方通过密码组件或密码装置或密码系统使用秘密x、y采用密码协同计算的方式完成密码运算和/或计算,且密码协同计算得到结果与使用秘密s进行密码运算和/或计算得到的结果相同或等同;密码组件或密码装置或密码系统将秘密隐藏参数x安全保存(比如保存在本地、网络,或经加密后存放在数字证书中);秘密s、y在完成秘密隐藏处理后被丢弃;

6、所述密码组件或密码装置或密码系统为具有使用用户人体生物特征生成种子秘密功能、并在此基础上生成或隐藏秘密的软件或硬件或软硬件相结合的组件或装置或系统;所述密码装置或密码系统为位于用户端的组件或装置或系统,或者为位于服务端的组件或装置或系统,或者为同时包含用户端和服务端的组件或装置或系统,由用户端和服务端协同完成密码运算和/或计算功能;密码组件或密码装置或密码系统利用同样的用户人体生物特征信息生成同样的种子秘密(当然,用户每次输入的人体生物特征信息不可能完全一摸一样,这里的一样是指在允许的容错范围内)。

7、对于以上所述基于人体生物特征的秘密生成或隐藏方法,安全保存秘密生成参数x或秘密隐藏参数x的方式包括:将秘密生成参数x或秘密隐藏参数安全保存在用户装置(计算装置、密码装置、存储装置)、网络上的受到安全保护的数据存储系统,或者将秘密生成参数x或秘密隐藏参数x经加密后存放在公开数据中(如数字证书中)。

8、对于以上所述基于人体生物特征的秘密生成或隐藏方法,将秘密生成参数x或秘密隐藏参数x经加密后存放在公开数据中的方式包括:

9、初次生成秘密s或隐藏秘密s时,密码组件或密码装置或密码系统利用种子秘密y导出一个密钥k,利用密钥k对秘密生成参数x或秘密隐藏参数x加密,然后将加密后的秘密生成参数x或秘密隐藏参数x保存在公开数据中(如数字证书中);

10、在后续使用秘密s时(即后续恢复秘密时),密码组件或密码装置或密码系统从公开数据中获取加密后的秘密生成参数x或秘密隐藏参数x,利用种子秘密y导出一个密钥k,然后用密钥k解密加密后的秘密生成参数x或秘密隐藏参数x,得到秘密生成参数x或秘密隐藏参数x的明文。

11、对于以上所述基于人体生物特征的秘密生成或隐藏方法,利用用户人体生物特征生成的种子秘密y还可以对应有检验信息c(如y的散列值),密码组件或密码装置或密码系统在获取用户人体生物特性信息、(后续)并利用用户人体生物特性信息生成种子秘密y后,利用检验信息c检查生成的种子秘密y是否正确(通常若不正确,则报错,用户重新输入人体生物特性信息,直到用户尝试超过一定的次数为止)。

12、检验信息c如何存放,密码组件或密码装置或密码系统如何获取检验信息c属于本发明之外的事情(比如,密码组件或密码装置或密码系统预先存放有检验信息c,或者从约定的位置获取等)。

13、对于以上所述基于人体生物特征的秘密生成或隐藏方法,生成种子秘密y的数据还可以包含利用人体生物特征之外的用户私密信息所生成的数据,所述人体生物特征之外的用户私密信息包括用户知晓的信息(如pin码)和用户拥有的信息(如用于y生成的并需要保密的二维码);利用人体生物特征之外的用户私密信息及其所生成的数据不保存在存放秘密生成参数x或秘密隐藏参数x的用户装置中,由用户在生成或隐藏以及恢复秘密s时或者需要使用秘密s时输入私密信息并生成数据。

14、对于以上所述基于人体生物特征的秘密生成或隐藏方法,秘密生成参数x或秘密隐藏参数x还可以包括利用用户输入私密信息(用户知晓或拥有的信息,如pin码,甚至可以是用户的生成种子秘密y的人体生物特征信息,或者用户的生成种子秘密y的人体生物特征信息之外的其他人体生物特征信息)所生成的数据;若秘密生成参数x中包含利用用户输入私密信息所生成的数据,则秘密生成参数x中的利用用户输入私密信息所生成的数据之外的参数(数据)为随机选择的数据(随机选择的数、随机字串);若秘密隐藏参数x中包含利用用户输入私密信息所生成的数据,则秘密隐藏参数x中的利用用户输入私密信息所生成的数据之外的参数(数据)通过s=f(x,y)确定、得到;用户输入私密信息及其所生成的数据不保存在存放秘密生成参数x或秘密隐藏参数x的用户装置中,由用户在生成或隐藏以及恢复秘密s时或者需要使用秘密s时输入私密信息并生成数据。

15、对应于以上所述基于人体生物特征的秘密生成或隐藏方法,有如下基于人体生物特征的秘密恢复方法。

16、当后续(非初次生成或隐藏)使用秘密s时,密码组件或密码装置或密码系统获取用户人体生物特性信息,生成种子秘密y,获取秘密生成参数x或秘密隐藏参数x,利用种子秘密y以及秘密生成参数x或秘密隐藏参数x,通过s=f(x,y)计算得到秘密s,使用秘密s进行密码运算和/或计算,或者,密码组件或密码装置或密码系统不直接计算得到秘密s,而是使用x、y进行密码运算和/或计算;秘密s、y在使用完成后被(使用的装置或程序或系统)丢弃。

17、若生成或隐藏的秘密s是用于密码运算的密钥(比如私钥),而密码运算采用基于秘密共享的密码协同计算方式,则两个或两个以上的密码组件或密码装置或密码系统利用秘密y以及秘密生成参数x或秘密隐藏参数x进行密码协同计算(不恢复、不直接使用密钥s进行密码运算,x、y为用于协同计算的秘密,比如共享/分享密钥s的秘密份额)(完成密码协同计算后秘密y被丢弃)。

18、如何将人体生物特征映射为种子秘密y不属于本发明的内容。

19、基于本发明的方法,用户的秘密s不被直接保存,直接保存的是与秘密s相关的秘密生成参数x或秘密隐藏参数x,而即便秘密生成参数x或秘密隐藏参数x被窃取,攻击者也无法得到秘密s;基于本发明的方法,只有在需要使用秘密s时(如需要使用s进行密码运算和/或计算时)才利用用户人体生物特征恢复出秘密s,且秘密s使用完后即被丢弃,这就大大降低了秘密s被窃取、盗用的风险;除了生成种子秘密的人体生物特征外,在本发明的具体实施中,生成种子秘密y、秘密生成参数x或秘密隐藏参数x时还可以使用用户输入的其他信息,从而通过双因素或多因素进一步提高秘密s保存、使用的安全性。

本文地址:https://www.jishuxx.com/zhuanli/20240801/244342.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。