发明内容
本发明提供一种区块链数据提取方法、装置及存储介质,实现对区块链数据提取的安全保护,使区块链在密钥丢失或被窃取的情况下,能够安全地提取区块链数据,提升区块链的安全性和可靠性。
本发明提供一种区块链数据提取方法,所述方法包括:
步骤S10:判断所要访问的目标区块链的原始私钥是否在密钥区块链中完成备份;当未完成备份时,执行步骤S20;否则执行步骤S30;
步骤S20:完成所述目标区块链的原始私钥的备份操作以及所述密钥区块链的访问设置;
步骤S30:按照所述密钥区块链的访问设置访问所述密钥区块链;
步骤S40:获得在所述密钥区块链中对所述目标区块链的原始私钥进行调用操作的权限,同时获得建立访问所述目标区块链的VPN通道连接的权限;
步骤S50:建立访问所述目标区块链的VPN通道连接并调用所述原始私钥访问所述目标区块链。
进一步地,所述步骤S20包括:
步骤S210:提醒用户进行所述目标区块链的原始私钥备份;
步骤S220:判断用户是否同意所述备份,当用户同意时执行步骤S230,否则结束;
步骤S230:提示用户使用密钥生成元素使用加密算法生成访问所述密钥区块链的私钥,并基于所述私钥使用加密算法生成公钥。
进一步地,所述密钥生成元素包括人体生物特征、用户预设的特定字符信息和第三方机构的特定数据信息的任意一个或组合。
进一步地,所述步骤S20还包括:
步骤S240:设置所述私钥和公钥的有效期、以及对所述密钥区块链的访问方式,所述访问方式包括所使用的私钥或者私钥的组合;
步骤S250:将所述公钥、所述目标区块链的原始私钥、所述私钥和公钥的有效期、以及所述访问方式均存储至所述密钥区块链区块的信息储存区域。
进一步地,所述密钥区块链区块的信息储存区域中的所述目标区块链的原始私钥不可删除、更改和读取出,所述目标区块链的原始私钥只能调用,并通过VPN通道对目标区块链进行签名验证。
进一步地,所述步骤S30还包括:
步骤S310:判断所述有效期是否过期,当所述有效期过期时,执行步骤S320,否则执行步骤S20;
步骤S320:收到用户提供的私钥或者私钥的组合;
步骤S330,对所述私钥或者私钥的组合进行所述密钥区块链的访问的签名验证;
步骤S340:判断签名验证是否通过,如果通过则执行步骤S40,否则结束。
进一步地,当所述目标区块链的原始私钥完成在所述密钥区块链中备份时,封堵和禁止使用所述目标区块链的私钥对所述目标区块链的访问。
进一步地,所述密钥区块链为所述区块链数据提取方法新构建的密钥区块链,所述密钥区块链用于存储目标区块链的原始私钥,用户根据预设方式调用操作目标区块链的原始私钥。
为实现上述目的,本发明还提供了一种区块链数据提取装置,所述区块链数据提取装置包括存储器模组和处理器模组,所述存储器模组上存储有可在所述处理器模组上运行的区块链数据提取程序,所述区块链数据提取程序被所述处理器模组执行时实现上述区块链数据提取方法的步骤。
此外,为实现上述目的,本发明还提供了一种存储介质,所述存储介质为计算机可读存储介质,所述存储介质上存储有区块链数据提取程序,所述区块链数据提取程序可被一个或者多个处理器模组执行,以实现上述区块链数据提取方法的步骤。
本发明提供的区块链数据提取方法、装置及存储介质,通过对访问的目标区块链的原始私钥进行备份以及密钥区块链的访问控制,实现对目标区块链数据提取的安全保护,使区块链在密钥丢失或被窃取的情况下,能够安全地提取区块链数据,提升区块链的安全性和可靠性。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
现有的区块链技术中,用户在访问目标区块链时需要提供所述目标区块链的原始私钥,所述目标区块链的原始私钥与存储在目标区块链的原始公钥进行比对验证,验证后获得对所述目标区块链的访问。本发明提供的区块链提取方法,通过将所述目标区块链的原始私钥备份至密钥区块链区块的信息储存区,通过对所述密钥区块链的访问控制实现所述目标区块链的访问及数据提取,具体地,请参阅图1,图1为本发明一实施例提供的区块链数据提取方法流程示意图,该方法包括:
步骤S10:判断所要访问的目标区块链的原始私钥是否在密钥区块链中完成备份;当未完成备份时,执行步骤S20;否则执行步骤S30;
步骤S20:完成所述目标区块链的原始私钥的备份操作以及所述密钥区块链的访问设置;
步骤S30:按照所述密钥区块链的访问设置访问所述密钥区块链;
步骤S40:获得在所述密钥区块链中对所述目标区块链的原始私钥进行调用操作的权限,同时获得建立访问所述目标区块链的VPN通道连接的权限;
步骤S50:建立访问所述目标区块链的VPN通道连接并调用所述原始私钥访问所述目标区块链。
请参阅图2,所述步骤S20包括:
步骤S210:提醒用户进行所述目标区块链的原始私钥备份。
步骤S220:判断用户是否同意所述备份,当用户同意时执行步骤S230,否则结束。
步骤S230:提示用户使用密钥生成元素使用加密算法生成访问所述密钥区块链的私钥,并基于所述私钥使用加密算法生成公钥;所述密钥生成元素包括人体生物特征、用户预设的特定字符信息和第三方机构的特定数据信息的任意一个或组合。具体在一实施例中,人体生物特征是指用户自己的个人的人体生物特征,如指纹、脚趾纹、面部特征作为密钥生成元素,或者使用用户预设的特定字符信息作为密钥生成元素。可选地,用户可以指定第三方,例如家人或朋友,以第三方的人体生物特征作为密钥生成元素;也可以委托第三方组织,例如公证机构、公安、司法部门,第三方组织使用特定数据信息作为密钥生成元素,例如公证机构的数字证书、公安、司法部门指定的名称、地址、联系信息等作为特定数据信息,所述特定数据信息作为指定的密钥生成元素。
具体地,在一实施例中,所述密钥生成元素包括第一密钥生成元素、第二密钥生成元素、第三密钥生成元素和第四密钥生成元素,所述第一密钥生成元素为保存于物理介质上的一串字符,例如,保存于U盘上的一串字符、保存于电脑硬盘的一串字符、保存于纸张上的一串字符,以及其他如手机号、电子邮箱的一串字符,对第一密钥生成元素使用不可逆加密算法生成第一私钥,基于所述第一私钥使用加密算法生成第一公钥。用户只需要记得所使用的字符串和算法种类,用户不需要记录或者保存私钥,在需要使用私钥进行签名验证时,仍然可以临时生成一样的私钥。
同样的,第二密钥生成元素为用户个人的生物特征信息,例如手指纹、脚趾纹、视网膜、声纹、虹膜和其他面部特征,对所述第二密钥生成元素使用不可逆加密算法生成第二私钥,基于所述第二私钥使用加密算法生成第二公钥。第三密钥生成元素为用户指定的一个或多个他人的生物特征信息,对所述第三密钥生成元素使用不可逆加密算法生成第三私钥,基于所述第三私钥使用加密算法生成第三公钥。第四密钥生成元素为用户委托的机构持有的特定数据信息,例如用户委托的公安、公证、司法、仲裁机构,所述机构可以作为最后的特定数据信息持有者,所述机构持有的特定数据信息包括机构数字证书、公司名称、时间地点信息等基础信息,对所述第四密钥生成元素使用不可逆加密算法生成第四私钥,基于所述第四私钥使用加密算法生成第四公钥。用户、他人或者委托的机构只需要记得所使用的密钥生成元素和算法种类即可,不需要记录或者保存私钥,在需要使用私钥进行签名验证时,仍然可以临时生成一样的私钥。这样可以避免记录复杂的密钥而带来的安全性问题。
步骤S240:设置所述私钥和公钥的有效期、以及对所述密钥区块链的访问方式,所述访问方式包括所使用的私钥或者私钥的组合。具体在一实施例中,设置所述私钥和公钥的有效期为三个月,当超过三个月则所述私钥和公钥失效,需要用户重新生成私钥和公钥,这样可以确保私钥的使用安全。
步骤S250:将所述公钥、所述目标区块链的原始私钥、所述私钥和公钥的有效期、以及所述访问方式均存储至所述密钥区块链区块的信息储存区域。所述密钥区块链区块的信息储存区域中的所述目标区块链的原始私钥不可删除、更改和读取出,所述目标区块链的原始私钥只能调用,并通过VPN通道对目标区块链进行签名验证。所述密钥区块链为所述区块链数据提取方法新构建的密钥区块链,所述密钥区块链用于存储目标区块链的原始私钥,用户根据预设方式调用操作目标区块链的原始私钥。
当所述目标区块链的原始私钥完成在所述密钥区块链中备份时,封堵和禁止使用所述目标区块链的私钥对所述目标区块链的访问。具体地,当所述目标区块链的原始私钥被窃取后,窃取者使用所述原始私钥仍无法访问目标区块链,提升了区块链的安全性和可靠性。
请参阅图3,所述步骤S30还包括:
步骤S310:判断所述有效期是否过期,当所述有效期过期时,执行步骤S320,否则执行步骤S20;
步骤S320:收到用户提供的私钥或者私钥的组合;
步骤S330,对所述私钥或者私钥的组合进行所述密钥区块链的访问的签名验证;
步骤S340:判断签名验证是否通过,如果通过则执行步骤S40,否则结束。
具体地,设置对所述密钥区块链的访问方式,所述访问方式包括所使用的私钥或者私钥的组合;具体在本实施例中有以下的设置举例:用户设定对所述密钥区块链的访问方式需要使用两个私钥,正常情况下,使用第一私钥和第二私钥;当意外情况发生时,例如用户死亡或失忆,使用第二私钥和第三私钥;当无法使用用户个人生物特征时,使用第三私钥和第四私钥。同时考虑个体生物特征有随年龄变化而出现细微变化,或有时受伤导致可能信息错误,这时虽然用同样的算法,将有可能生成一个不同的私钥出来。为防止这种情况,需要保证或增强基础数据的稳定性;比如定期(如三个月)重新录入一次生物特征信息或重新设置;或者在生物特征中,只采集稳定性最高的虹膜做完基础数据;或最极端情况下,不考虑在密钥组合中使用生物特征信息。在其他的实施例中,可以设置只使用第一私钥实现对所述密钥区块链的访问,也可以设置使用多个私钥组合实现对所述密钥区块链的访问。
具体地,在一些极端的情况下,例如密钥丢失、被窃取的情况下,使用不同的私钥或者私钥组合的设置,确保可以安全地实现对区块链的数据提取。具体在一实施例中,用户在某次灾祸后变成了植物人,由于他事前有所准备,对目标区块链的原始私钥备份于密钥区块链,并将自己某个家人的生物特征作为密钥生成元素生成第五私钥,并委托公证机构,公证机构使用特定数据信息生成第六私钥,约定当用户出现这种意外时,由第五私钥和第六私钥组合作为密钥区块链的访问方式,通过完成访问所述密钥区块链,获得在所述密钥区块链中对所述目标区块链的原始私钥进行调用操作的权限,同时获得建立访问所述目标区块链的VPN通道连接的权限;进一步地,建立访问所述目标区块链的VPN通道连接并调用所述原始私钥访问所述目标区块链,成功实现对区块链数据的提取。在另外的实施例中,用户的目标区块链的原始私钥被窃取,即使窃取者取得了目标区块链的原始私钥,由于目标区块链的原始私钥在密钥区块链中完成了备份,窃取者无法使用窃取的原始私钥访问目标区块链,也无法获得目标区块链的VPN通道权限和访问权限,不能实现对目标区块链数据的提取,从而达到了防止区块链的原始私钥被窃取的保护目的,提升了区块链的安全性和可靠性。
此外,本发明还提供一种区块链数据提取装置。
请参阅图4,是本发明实施例提供的一种区块链签名验证装置的内部结构示意图,所述区块链签名验证装置至少包括存储器模组11、处理器模组12、通信总线13,以及网络接口14。优选地,所述区块链签名验证装置包括在计算机网络上存在的一组或多台云计算设备或计算机设备。
其中,存储器模组11至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器模组(例如,SD或DX存储器模组等)、磁性存储器模组、磁盘、光盘等。存储器模组11在一些实施例中可以是区块链签名验证装置的内部存储单元,例如该区块链签名验证装置的硬盘。存储器模组11在另一些实施例中也可以是区块链签名验证装置的外部存储设备,例如区块链签名验证装置上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,存储器模组11还可以既包括区块链签名验证装置的内部存储单元也包括外部存储设备,优选地,存储器模组11还可以是在计算机网络中存在的网络存储装置或云存储装置。存储器模组11不仅可以用于存储安装于区块链签名验证装置的应用软件及各类数据,例如区块链签名验证程序的代码等,还可以用于暂时地存储已经输出或者将要输出的数据。
处理器模组12在一些实施例中可以是中央处理器模组(Central ProcessingUnit,CPU)、控制器、微控制器、微处理器模组或其他数据处理芯片,或者其他用于运行存储器模组11中存储的程序代码或处理数据的任何计算装置,所述运行的程序代码可以是执行区块链签名验证程序等。
通信总线13是用于实现这些组件之间的连接通信的任何通信装置。
网络接口14可选的可以包括标准的有线接口、无线接口(如WI-FI接口),通常用于在该区块链签名验证装置与其他电子设备之间建立通信连接。
可选地,该区块链数据提取装置还可以包括用户接口,用户接口可以包括显示器(Display)、输入单元比如键盘(Keyboard),可选的用户接口还可以包括标准的有线接口、无线接口。可选地,在一些实施例中,显示器可以是LED显示器、液晶显示器、触控式液晶显示器以及OLED(Organic Light-Emitting Diode,有机发光二极管)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在区块链数据提取装置中处理的信息以及用于显示可视化的用户界面。
图4仅示出了具有组件11-14以及区块链签名验证程序的区块链签名验证装置,本领域技术人员可以理解的是,图4示出的结构并不构成对区块链签名验证装置的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置,或者是计算机网络中的一组或多台计算机设备或云计算设备。
在图4所示的区块链数据提取装置实施例中,存储器模组11中存储有区块链数据提取程序;处理器模组12执行存储器模组11中存储的区块链数据提取程序时实现如下步骤:
步骤S10:判断所要访问的目标区块链的原始私钥是否在密钥区块链中完成备份;当未完成备份时,执行步骤S20;否则执行步骤S30;
步骤S20:完成所述目标区块链的原始私钥的备份操作以及所述密钥区块链的访问设置;
步骤S30:按照所述密钥区块链的访问设置访问所述密钥区块链;
步骤S40:获得在所述密钥区块链中对所述目标区块链的原始私钥进行调用操作的权限,同时获得建立访问所述目标区块链的VPN通道连接的权限;
步骤S50:建立访问所述目标区块链的VPN通道连接并调用所述原始私钥访问所述目标区块链。
参照图5所示,为本发明区块链数据提取装置一实施例中的区块链数据提取程序的程序模块示意图,该实施例中,区块链数据提取程序可以被分割为备份模块10、储存模块20、计算模块30、设置模块40和验证模块50,示例性地:
备份模块10,用于执行用户密钥的备份的提醒及备份任务;
储存模块20,用于执行对用户的密钥、私钥、公钥和设置的储存任务;
计算模块30,用于执行加密算法生成私钥和公钥的计算任务;
设置模块40,用于执行对所述私钥和公钥的设置任务;
验证模块50,用于执行使用私钥与公钥的比对任务。
上述备份模块10、储存模块20、计算模块30、设置模块40和验证模块50等程序模块被执行时所实现的功能或操作步骤与上述实施例大体相同,在此不再赘述。
此外,本发明实施例还提出一种存储介质,所述存储介质为计算机可读存储介质,所述存储介质上存储有区块链数据提取程序,所述区块链数据提取程序可被一个或多个处理器模组执行,以实现如下操作:
步骤S10:判断所要访问的目标区块链的原始私钥是否在密钥区块链中完成备份;当未完成备份时,执行步骤S20;否则执行步骤S30;
步骤S20:完成所述目标区块链的原始私钥的备份操作以及所述密钥区块链的访问设置;
步骤S30:按照所述密钥区块链的访问设置访问所述密钥区块链;
步骤S40:获得在所述密钥区块链中对所述目标区块链的原始私钥进行调用操作的权限,同时获得建立访问所述目标区块链的VPN通道连接的权限;
步骤S50:建立访问所述目标区块链的VPN通道连接并调用所述原始私钥访问所述目标区块链。
本发明的存储介质具体实施方式与上述区块链数据提取方法和装置各实施例基本相同,在此不作累述。
与现有技术相比,本发明提供的区块链数据提取方法、装置及存储介质,通过对用户的密钥的备份和私钥公钥的设置,实现对区块链数据提取的安全保护,使区块链在密钥丢失或被窃取的情况下,能够安全地提取区块链数据,提升区块链的安全性和可靠性。
需要说明的是,上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。并且本文中的术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用计算机网络硬件平台的方式来实现。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得计算机网络的终端设备(可以是无人机、手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。