密钥处理方法、装置及区块链系统与流程

文档序号:16361737发布日期:2018-12-22 08:12阅读:196来源:国知局
密钥处理方法、装置及区块链系统与流程

本发明涉及区块链技术领域,尤其是涉及一种密钥处理方法、装置及区块链系统。

背景技术

目前区块链技术应用最广泛,最成功的就是以比特币为代表的数字货币。近来年数字货币发展很快,由于去中心化,数据不可篡改和频繁交易的特点,使其具有较高的交易流通价值,并能够通过开发对冲性质的金融衍生品,保持相对稳定的价格。

数字货币钱包在普通用户看来,是用来装钱的。这种看法是错误的,数字货币钱包是用来装密钥的工具。有了密钥就可以拥有相应地址上的数字货币的支配权,即可以用来做支付,转账,充值等金融交易属性。

正是因为数字货币钱包拥有支付,转账,购买,充值等相的金融资产属性,数字货币钱包的安全性就显得举足轻重和非常有必要。保障用户的数字货币钱包安全,成为数字货币行业一个绕不开的话题。

目前市场上的主流的数字货币钱包安全方案有以下几种:一种是以库神为代表的数字货币冷钱包,硬件来存储数字货币钱包的私钥,app产品通过二维码转输硬件的钱包的签名交易和确认交易信息。第二种是单纯的硬件产品,数字货币钱包密钥存储在硬件芯片中。第三种是储存在类似mtk手机的本地端,第四种是类似交易所的中心化钱包,用户的数字货币密钥存储在中心化的服务器中。以上四种方案都有密钥安全性低等缺陷。



技术实现要素:

有鉴于此,本发明的目的在于提供一种密钥处理方法、装置及区块链系统,以缓解现有技术中存在的数字货币钱包的密钥安全性低的技术问题。

第一方面,本发明实施例提供了一种密钥处理方法,应用于区块链系统,所述方法包括:

若与所述第一终端设备建立通信连接,所述第一终端设备至少包含:相互隔离的隐藏分区和程序存储分区,所述程序存储分区内存储有程序代码;获取所述程序存储分区内的程序代码;

运行所述程序代码,对自身预先存储的密钥进行分组共享,将分组密钥分散存储至所述第一终端设备与多个第二终端设备中的隐藏分区内。

结合第一方面,本发明实施例提供了第一方面的第一种可能的实施方式,其中,所述对自身预先存储的密钥进行分组共享,将分组密钥分散存储至所述第一终端设备与多个第二终端设备中的隐藏分区内,包括:

对所述密钥拆分成多个分组,以进行分组共享;

利用包含用户自身生物识别特征的特征信息对每个分组分别利用预设算法进行加密,得到分组密钥;

将多个所述分组密钥存储在所述第一终端设备及多个第二终端设备的隐藏分区中。

结合第一方面,本发明实施例提供了第一方面的第二种可能的实施方式,其中,所述对所述密钥拆分成多个分组,包括:

将所述密钥进行(n,m)分组共享,其中,m为所述密钥拆分共享的分组数目,n为还原所述密钥的最小分组数,3≤n≤m。

结合第一方面,本发明实施例提供了第一方面的第三种可能的实施方式,其中,所述方法还包括:

在进行数字货币交易时,在所述第一终端设备及多个第二终端设备中,获取至少n个分组密钥;

对获取到的每个所述分组密钥分别利用预设算法进行解密;

将解密后的分组密钥进行重组,得到所述密钥;

利用所述密钥对所述数字货币交易的交易数据进行签名,完成数字货币交易。

结合第一方面,本发明实施例提供了第一方面的第四种可能的实施方式,其中,所述方法还包括:

接收用户输入的密钥恢复请求,所述密钥恢复请求中携带用户自身生物识别特征;

在所述第一终端设备及多个第二终端设备中,获取待恢复的密钥的多个分组密钥;

利用所述用户自身生物识别特征对每个所述分组密钥分别利用预设算法进行解密;

将解密后的分组密钥进行重组,得到所述密钥。

结合第一方面,本发明实施例提供了第一方面的第五种可能的实施方式,其中,所述在所述第一终端设备及多个第二终端设备中,获取待恢复的密钥的分组密钥的数量至少为n个。

结合第一方面,本发明实施例提供了第一方面的第六种可能的实施方式,其中,所述预设算法为椭圆曲线算法。

第二方面,本发明实施例还提供一种密钥处理装置,应用于区块链系统,所述装置包括:

获取模块,用于若与所述第一终端设备建立通信连接,所述第一终端设备至少包含:相互隔离的隐藏分区和程序存储分区,所述程序存储分区内存储有程序代码;获取所述程序存储分区内的程序代码;

运行模块,用于运行所述程序代码,对自身预先存储的密钥进行分组共享,将分组密钥分散存储至所述第一终端设备与多个第二终端设备中的隐藏分区内。

第三方面,本发明实施例还提供一种区块链系统,包括存储器、处理器,所述存储器中存储有可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述第一方面所述的方法的步骤。

第四方面,本发明实施例还提供一种具有处理器可执行的非易失的程序代码的计算机可读介质,所述程序代码使所述处理器执行上述第一方面所述的方法。

本发明实施例带来了以下有益效果:本发明实施例的区块链系统在与所述第一终端设备建立通信连接,可以获取所述程序存储分区内的程序代码,并运行所述程序代码,以对自身预先存储的密钥进行分组共享,将分组密钥分散存储至所述第一终端设备与多个第二终端设备中的隐藏分区内。

本发明实施例能够通过使区块链系统读取第一终端设备的程序存储分区中的程序代码,并通过运行该程序代码,实现对自身预先存储的密钥进行分组共享,将分组密钥分散存储至所述第一终端设备与多个第二终端设备中的隐藏分区内,由于程序代码未存储在区块链系统中,也未存储在网络中,而是存储在用于分散存储密钥的终端设备中,通过这种离线的方式存储用于进行密钥分散存储的程序代码,使得程序代码不会被区块链系统中的不安全因素攻击篡改,提高密钥的安全。

本发明的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。

为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。

附图说明

为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的一种密钥处理方法的流程图;

图2为图1中步骤s102的流程图;

图3为本发明实施例提供的另一种密钥处理方法的流程图;

图4为本发明实施例提供的另一种密钥处理方法的流程图;

图5为本发明实施例提供的一种密钥处理装置的结构图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

目前市场上的主流的数字货币钱包安全方案有以下几种:一种是以库神为代表的数字货币冷钱包,硬件来存储数字货币钱包的私钥,app产品通过二维码转输硬件的钱包的签名交易和确认交易信息。第二种是单纯的硬件产品,数字货币钱包密钥存储在硬件芯片中。第三种是储存在类似mtk手机的本地端,第四种是类似交易所的中心化钱包,用户的数字货币密钥存储在中心化的服务器中。以上四种方案都有密钥安全性低等缺陷,基于此,本发明实施例提供的一种密钥处理方法、装置及区块链系统,可以通过使区块链系统读取第一终端设备的程序存储分区中的程序代码,并通过运行该程序代码,实现对自身预先存储的密钥进行分组共享,将分组密钥分散存储至所述第一终端设备与多个第二终端设备中的隐藏分区内,由于程序代码未存储在区块链系统中,也未存储在网络中,而是存储在用于分散存储密钥的终端设备中,通过这种离线的方式存储用于进行密钥分散存储的程序代码,使得程序代码不会被区块链系统中的不安全因素攻击篡改,提高密钥的安全。

为便于对本实施例进行理解,首先对本发明实施例所公开的一种密钥处理方法进行详细介绍,所述密钥处理方法可以应用于区块链系统,如图1所示,所述方法可以包括以下步骤:

步骤s101,若与所述第一终端设备建立通信连接,所述第一终端设备至少包含:相互隔离的隐藏分区和程序存储分区,所述程序存储分区内存储有程序代码;获取所述程序存储分区内的程序代码;

步骤s102,运行所述程序代码,对自身预先存储的密钥进行分组共享,将分组密钥分散存储至所述第一终端设备与多个第二终端设备中的隐藏分区内。

在本发明实施例中,如图2所示,所述步骤s102可以包括以下步骤:

步骤s201,对所述密钥拆分成多个分组,以进行分组共享;

在该步骤中,可以将所述密钥进行(n,m)分组共享,其中,m为所述密钥拆分共享的分组数目,n为还原所述密钥的最小分组数,3≤n≤m。

步骤s202,利用包含用户自身生物识别特征的特征信息对每个分组分别利用预设算法进行加密,得到分组密钥;

在本发明实施例中,所述预设算法为椭圆曲线算法,用户自身生物识别特征可以包括:指纹、掌纹及虹膜等的一种或多种。

步骤s203,将多个所述分组密钥存储在所述第一终端设备及多个第二终端设备的隐藏分区中。

在本发明实施例中,多个分组密钥中的任意一个存储在第一终端设备中,其余的分组密钥可以存储在不同的第二终端设备中。

本发明实施例的区块链系统在与所述第一终端设备建立通信连接,可以获取所述程序存储分区内的程序代码,并运行所述程序代码,以对自身预先存储的密钥进行分组共享,将分组密钥分散存储至所述第一终端设备与多个第二终端设备中的隐藏分区内。

本发明实施例能够通过使区块链系统读取第一终端设备的程序存储分区中的程序代码,并通过运行该程序代码,实现对自身预先存储的密钥进行分组共享,将分组密钥分散存储至所述第一终端设备与多个第二终端设备中的隐藏分区内,由于程序代码未存储在区块链系统中,也未存储在网络中,而是存储在用于分散存储密钥的终端设备中,通过这种离线的方式存储用于进行密钥分散存储的程序代码,使得程序代码不会被区块链系统中的不安全因素攻击篡改,提高密钥的安全。

在前述实施例的基础上,若用户需要进行数字货币交易时,在本发明的又一实施例中,如图3所示,所述方法还包括:

步骤s301,在进行数字货币交易时,在所述第一终端设备及多个第二终端设备中,获取至少n个分组密钥;

步骤s302,对获取到的每个所述分组密钥分别利用预设算法进行解密;

在本发明实施例中,所述预设算法为椭圆曲线算法。

步骤s303,将解密后的分组密钥进行重组,得到所述密钥;

步骤s304,利用所述密钥对所述数字货币交易的交易数据进行签名,完成数字货币交易。

通过本发明实施例能够在用户需要进行数字货币交易时,将分散存储在第一终端设备和多个第二终端设备中的分组密钥进行重组,以便利用重组得到的密钥对数字货币交易进行签名。

在前述实施例的基础上,若用户发现密钥丢失,在本发明的又一实施例中,如图4所示,所述方法还包括:

步骤s401,接收用户输入的密钥恢复请求,所述密钥恢复请求中携带用户自身生物识别特征;

步骤s402,在所述第一终端设备及多个第二终端设备中,获取待恢复的密钥的多个分组密钥;

在所述第一终端设备及多个第二终端设备中,获取待恢复的密钥的分组密钥的数量至少为n个。

步骤s403,利用所述用户自身生物识别特征对每个所述分组密钥分别利用预设算法进行解密;

在本发明实施例中,所述预设算法为椭圆曲线算法。

步骤s404,将解密后的分组密钥进行重组,得到所述密钥。

本发明实施例可以在用户丢失密钥时,根据密钥恢复请求,将分散存储在第一终端设备及多个第二终端设备中的分组密钥进行重组,从而恢复出丢失的密钥

在本发明的又一实施例中,还提供一种密钥处理装置,应用于区块链系统,如图5所示,所述装置包括:

获取模块11,用于若与所述第一终端设备建立通信连接,所述第一终端设备至少包含:相互隔离的隐藏分区和程序存储分区,所述程序存储分区内存储有程序代码;获取所述程序存储分区内的程序代码;

运行模块12,用于运行所述程序代码,对自身预先存储的密钥进行分组共享,将分组密钥分散存储至所述第一终端设备与多个第二终端设备中的隐藏分区内。

本发明实施例所提供的装置,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。

在本发明的又一实施例中,还提供一种区块链系统,包括存储器、处理器,所述存储器中存储有可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述方法实施例所述的方法的步骤。

在本发明的又一实施例中,还提供一种具有处理器可执行的非易失的程序代码的计算机可读介质,所述程序代码使所述处理器执行上述方法实施例所述的方法。

附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

本发明实施例所提供的密钥处理方法、装置及区块链系统的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

另外,在本发明实施例的描述中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。

所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。

最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

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