本申请涉及互联网技术领域,具体涉及一种助记词生成方法、助记词恢复方法、设备和存储介质。
背景技术:
当前的助记词方案通常根据随机数生成一组助记词,再根据助记词生成种子和公私钥对。
图1为一种现有的助记词生成方案的示意图。如图1所示,在bip39助记词规范中,根据128位的随机数生成包括12个单词的助记词和种子的方法具体包括:
生成128位的二进制随机数;
根据128位的随机数生成4位校验码(同样为二进制);
将128位的随机数和4位的校验码级联后十二等分切分,得到12个11位二进制码;
bip39助记词字典包括2048(211)个单词(某一语种),该2048个单词与0-(211-1)一一对应,在bip39助记词字典中查找到分别对应上述12个11位二进制码的单词,生成助记词。
上述方法生成的助记词包括十几个无语义的字或单词,绝大多数用户实际上无法记住助记词,仍需要通过抄录或截图等不安全的方式记录助记词,而且时间久了之后非常容易丢失。
技术实现要素:
鉴于现有技术中的上述缺陷或不足,期望提供一种无需用户记忆助记词的助记词生成方法、助记词恢复方法、设备和存储介质。
第一方面,本发明提供一种助记词生成方法,包括:
采集当前用户的第一体征部位的体征信息,根据预配置的特征提取方式从体征信息中提取特征信息;其中,第一体征部位为体征具有终身不变性的部位;
根据预配置的运算方式对特征信息进行计算,生成位数不少于第一数量的第一随机数;其中,第一数量根据第一助记词规范所确定;
从第一随机数中取第一数量位数的第二随机数,并根据第二随机数和第一助记词规范生成助记词。
第二方面,本发明还提供一种设备,包括一个或多个处理器和存储器,其中存储器包含可由该一个或多个处理器执行的指令以使得该一个或多个处理器执行根据本发明各实施例提供的方法。
第三方面,本发明还提供一种存储有计算机程序的存储介质,该计算机程序使计算机执行根据本发明各实施例提供的方法。
本发明诸多实施例提供的助记词生成方法、助记词恢复方法、设备和存储介质通过采集具有终身不变性的体征信息,根据该体征信息生成符合助记词规范的随机数,再根据随机数生成助记词,保障了用户可以根据不变的体征信息重新生成同一组助记词,而无需记忆助记词;
本发明一些实施例提供的助记词生成方法、助记词恢复方法、设备和存储介质进一步通过在根据体征信息生成助记词的过程中混入密钥信息,避免了因体征信息外泄而导致私钥泄露;
本发明一些实施例提供的助记词生成方法、助记词恢复方法、设备和存储介质进一步通过重复采集体征信息并提取特征信息,比对验证各特征信息并将相同的特征信息确定为所提取的特征信息,保障了在采集手段可能导致采集的体征信息存在较大差异时提取出正确的特征信息;
本发明一些实施例提供的助记词生成方法、助记词恢复方法、设备和存储介质进一步通过提示用户不选用无法被重复采集到相同体征信息的体征部位,避免用户因指纹磨损等原因无法恢复助记词。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1为一种现有的助记词生成方案的示意图。
图2为本发明一实施例提供的一种助记词生成方法的流程图。
图3为图2所示方法的一种优选实施方式中步骤s14的流程图。
图4为图2所示方法的一种优选实施方式中步骤s12的流程图。
图5为图2所示方法的一种优选实施方式的流程图。
图6为本发明一实施例提供的一种助记词恢复方法的流程图。
图7为本发明一实施例提供的一种设备的结构示意图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与发明相关的部分。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
图2为本发明一实施例提供的一种助记词生成方法的流程图。
如图2所示,在本实施例中,本发明提供一种助记词生成方法,包括:
s12:采集当前用户的第一体征部位的体征信息,根据预配置的特征提取方式从体征信息中提取特征信息;其中,第一体征部位为体征具有终身不变性的部位;
s14:根据预配置的运算方式对特征信息进行计算,生成位数不少于第一数量的第一随机数;其中,第一数量根据第一助记词规范所确定;
s16:从第一随机数中取第一数量位数的第二随机数,并根据第二随机数和第一助记词规范生成助记词。
以下以用户甲的用户端通过采集用户甲右手无名指的指纹生成助记词,运算方式为sha256,助记词规范为bip39,第一数量为128为例,对上述方法进行示例性的阐述。
在步骤s12中,用户甲的用户端对用户甲右手无名指进行指纹采集,采集到指纹信息m1,对指纹信息m1中指纹的若干特征点进行特征提取,得到特征信息v1。其中,本领域技术人员可以理解如何对指纹图像中的特征点进行特征提取,具体过程不再赘述。
在步骤s14中,用户甲的用户端对特征信息v1进行sha256运算,生成256位的第一随机数n1。
在步骤s16中,用户甲的用户端在n1中选取前128位,得到第二随机数n2,根据n2和bip39规范生成一组包括12个词的助记词。其中,根据n2和bip39规范生成助记词的过程与图1所示的现有方法相同,本领域技术人员可以理解,此处不再赘述。
上述示例以第一体征部位为右手无名指,运算方式配置为sha256,助记词规范配置为bip39,第一数量配置为128为例,在更多实施例中,还可根据实际需求采集用户的其它手指或虹膜等具有体征终身不变性的不同体征部位,可以将运算方式配置为其它可以生成位数不少于第一数量的随机数的加密算法或随机数生成算法,可以将助记词规范配置为本领域常用的其它助记词规范,可以将第一数量配置为160、192、256等助记词规范所支持的随机数的不同位数,均可实现相同的技术效果。
上述实施例通过采集具有终身不变性的体征信息,根据该体征信息生成符合助记词规范的随机数,再根据随机数生成助记词,保障了用户可以根据不变的体征信息重新生成同一组助记词,而无需记忆助记词。
图3为图2所示方法的一种优选实施方式中步骤s14的流程图。如图3所示,在一优选实施例中,步骤s14包括:
s141:根据特征信息计算生成第一特征值;
s143:根据第一特征值和密钥信息生成位数不少于第一数量的第一随机数。
其中,密钥信息配置为以下任意一项或多项:当前用户输入的密码,当前用户的身份证号中的若干位,当前用户的手机号中的若干位,当前用户的用户id中的若干位。
具体地,在图2所示的方案中,虽然实现了用户无需记忆助记词的技术效果,但由于助记词的生成完全依赖于体征信息,而体征信息无法完全保密,例如,用户的指纹信息因各种原因存储公司的打卡机服务器、用户的手机和笔记本、公安的数据库等位置,一旦体征信息外泄,可能会引发助记词和私钥外泄的风险。
针对上述风险,在本实施例中,通过在随机数的生成过程中引入密钥信息,保障了他人在获得外泄的体征信息时也无法窃取相应的助记词和私钥,同时用户也只需记忆一个简单的密钥信息。
上述实施例进一步通过在根据体征信息生成助记词的过程中混入密钥信息,避免了因体征信息外泄而导致私钥泄露。
图4为图2所示方法的一种优选实施方式中步骤s12的流程图。如图4所示,在一优选实施例中,步骤s12包括:
s121:重复采集当前用户的第一体征部位的体征信息以获得至少两项第一体征信息;
s123:根据预配置的特征提取方式分别从各第一体征信息中提取若干第一特征信息;
s125:验证各第一特征信息中是否存在相同的特征信息:
否,则执行步骤s127:再次采集第一体征部位以获取第一体征信息并提取相应的第一特征信息,返回步骤s125;
是,则执行步骤s129:将相同的特征信息确定为所提取的特征信息。
具体地,在实际应用场景中,由于部分采集设备和部分采集技术的问题,以及,部分用户的体征可能较为模糊、用户操作不当、采集环境可能影响采集效果等问题,可能会导致采集到的体征信息没有完整包括所需要提取的特征点或采集到错误的信息,进而导致对同一体征部位的两次采集分别提取到不同的特征信息,进而生成不同助记词的问题。
针对上述问题,本实施例在采集体征信息和提取特征信息的环节添加了比对验证的手段,以保障提取到的是正确的特征信息。
例如,在步骤s121中,用户甲的用户端重复两次采集了用户甲的指纹信息m2和m3(也可以重复采集更多次),由于其中第一次采集时没有采集到完整的指纹信息(缺失了部分特征点),导致分别根据m2和m3所提取出的v2和v3不相同,步骤s125验证失败,此时执行步骤s127,再次采集用户甲的指纹信息m4并提取出相应的v4,返回步骤s125,验证v2、v3、v4中是否存在相同的特征信息:v3和v4相同,因此将v3(v4)确定为所提取的特征信息。
上述实施例进一步通过重复采集体征信息并提取特征信息,比对验证各特征信息并将相同的特征信息确定为所提取的特征信息,保障了在采集手段可能导致采集的体征信息存在较大差异时提取出正确的特征信息。
图5为图2所示方法的一种优选实施方式的流程图。如图5所示,在一优选实施例中,上述方法还包括:
s11:输出第一提示信息。
其中,第一提示信息用于提示用户不选用可能因各种因素导致无法被重复采集到相同体征信息的体征部位。
具体地,对于一些特殊岗位的劳动工作者,可能存在指纹磨损的情况,若在指纹磨损前生成助记词,可能会导致指纹磨损后无法恢复助记词的安全风险。
上述实施例进一步通过提示用户不选用无法被重复采集到相同体征信息的体征部位,避免用户因指纹磨损等原因无法恢复助记词。
图6为本发明一实施例提供的一种助记词恢复方法的流程图。如图6所示,在本实施例中,本发明还提供一种助记词恢复方法,包括:
s21:输出第二提示信息;其中,第二提示信息用于提示用户需要采集生成待恢复的助记词的体征部位;以及,
根据上述任一实施例所提供的助记词生成方法重新生成待恢复的助记词。
图7为本发明一实施例提供的一种设备的结构示意图。
如图7所示,作为另一方面,本申请还提供了一种设备700,包括一个或多个中央处理单元(cpu)701,其可以根据存储在只读存储器(rom)702中的程序或者从存储部分708加载到随机访问存储器(ram)703中的程序而执行各种适当的动作和处理。在ram703中,还存储有设备700操作所需的各种程序和数据。cpu701、rom702以及ram703通过总线704彼此相连。输入/输出(i/o)接口705也连接至总线704。
以下部件连接至i/o接口705:包括键盘、鼠标等的输入部分706;包括诸如阴极射线管(crt)、液晶显示器(lcd)等以及扬声器等的输出部分707;包括硬盘等的存储部分708;以及包括诸如lan卡、调制解调器等的网络接口卡的通信部分709。通信部分709经由诸如因特网的网络执行通信处理。驱动器710也根据需要连接至i/o接口705。可拆卸介质711,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器710上,以便于从其上读出的计算机程序根据需要被安装入存储部分708。
特别地,根据本公开的实施例,上述任一实施例描述的方法可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括有形地包含在机器可读介质上的计算机程序,所述计算机程序包含用于执行上述任一方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分709从网络上被下载和安装,和/或从可拆卸介质711被安装。
作为又一方面,本申请还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例的装置中所包含的计算机可读存储介质;也可以是单独存在,未装配入设备中的计算机可读存储介质。计算机可读存储介质存储有一个或者一个以上程序,该程序被一个或者一个以上的处理器用来执行描述于本申请提供的方法。
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这根据所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以通过执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以通过专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的单元或模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元或模块也可以设置在处理器中,例如,各所述单元可以是设置在计算机或移动智能设备中的软件程序,也可以是单独配置的硬件装置。其中,这些单元或模块的名称在某种情况下并不构成对该单元或模块本身的限定。
以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离本申请构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
1.一种助记词生成方法,其特征在于,包括:
采集当前用户的第一体征部位的体征信息,根据预配置的特征提取方式从所述体征信息中提取特征信息;其中,所述第一体征部位为体征具有终身不变性的部位;
根据预配置的运算方式对所述特征信息进行计算,生成位数不少于第一数量的第一随机数;其中,所述第一数量根据第一助记词规范所确定;
从所述第一随机数中取所述第一数量位数的第二随机数,并根据所述第二随机数和所述第一助记词规范生成助记词。
2.根据权利要求1所述的方法,其特征在于,所述根据预配置的运算方式对所述特征信息进行计算,生成位数不少于第一数量的第一随机数包括:
根据所述特征信息计算生成第一特征值;
根据所述第一特征值和密钥信息生成位数不少于第一数量的第一随机数;
其中,所述密钥信息配置为以下任意一项或多项:当前用户输入的密码,当前用户的身份证号中的若干位,当前用户的手机号中的若干位,当前用户的用户id中的若干位。
3.根据权利要求1所述的方法,其特征在于,所述采集当前用户的第一体征部位的体征信息,根据预配置的特征提取方式从所述体征信息中提取特征信息包括:
重复采集当前用户的第一体征部位的体征信息以获得至少两项第一体征信息;
根据预配置的特征提取方式分别从各所述第一体征信息中提取若干第一特征信息;
验证各所述第一特征信息中是否存在相同的特征信息:
是,则将所述相同的特征信息确定为所提取的特征信息;
否,则再次采集所述第一体征部位以获取第一体征信息并提取相应的第一特征信息,返回所述验证各所述第一特征信息中是否存在相同的特征信息。
4.根据权利要求1所述的方法,其特征在于,所述采集当前用户的体征信息,根据预配置的特征提取方式从所述体征信息中提取特征信息之前还包括:
输出第一提示信息;
其中,所述第一提示信息用于提示用户不选用可能因各种因素导致无法被重复采集到相同体征信息的体征部位。
5.根据权利要求1-4任一项所述的方法,其特征在于,所述根据预配置的运算方式对所述特征信息进行计算,生成位数不少于第一数量的第一随机数包括:
对所述特征信息进行sha256运算,生成256位的第一随机数。
6.一种助记词恢复方法,其特征在于,包括:
输出第二提示信息;其中,所述第二提示信息用于提示用户需要采集生成待恢复的助记词的体征部位;
根据如权利要求1-5任一项所述的助记词生成方法重新生成待恢复的助记词。
7.一种设备,其特征在于,所述设备包括:
一个或多个处理器;
存储器,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器执行如权利要求1-6中任一项所述的方法。
8.一种存储有计算机程序的存储介质,其特征在于,该程序被处理器执行时实现如权利要求1-6中任一项所述的方法。
技术总结