事务签名处理方法、系统、密钥服务器及电子设备与流程

文档序号:16433174发布日期:2018-12-28 20:17阅读:133来源:国知局
事务签名处理方法、系统、密钥服务器及电子设备与流程

本发明实施例提供一种基于dapp容器的事务签名处理方法、系统、密钥服务器及电子设备,属于计算机技术领域。

背景技术

随着区块链技术的发展,越来越多的功能开始在区块链的体系下开始发展,其中,dapp(decentralizedapplication,分布式应用)就是建立在区块链体系上的应用,越多的技术人员投入到dapp的开发中,从而实现更多的基于区块链的应用功能。

现有技术中,对于dapp的开发而言,为了能够与区块链网络进行对接,需要开发许多区块链的底层处理逻辑,从而才能实现上层的面向用户的处理逻辑与区块链网络之间的对接。并且,由于区块链技术的开放性发展模式,也会存在众多的区块链网络(或者称作区块链的架构),各个区块链网络遵循各自的数据协议和处理机制,对于dapp开发者而言,同一个应用功能需要开发出针对不同区块链网络的多个版本的dapp,用户在使用时,需要分别使用不同版本dapp。

由此可见,现有技术中,dapp的技术框架,无论从开发还是使用都存在许多不便之处。



技术实现要素:

本发明实施例提供了一种基于dapp容器的事务签名处理方法、系统、密钥服务器及电子设备,以减少dapp容器与dapp之间的交互次数,以及增加用户私钥的安全性。

为了实现上述目的,本发明提供了一种基于dapp容器的事务签名处理方法,包括:

dapp容器接收来自dapp的事务构建请求,所述事务构建请求至少包括原始事务内容、dapp标识信息、标识用户身份的用户信息;

所述dapp容器向密钥服务器发送事务签名请求,所述事务签名请求至少包括原始事务内容、所述用户信息以及所述dapp标识信息;

所述dapp容器接收到所述密钥服务器返回的签名事务内容后,向区块链网络发送该签名事务内容。

另外,本发明还提供了一种基于dapp容器的事务签名处理系统,包括:多个dapp容器以及密钥服务器,所述密钥服务器以所述dapp标识信息和所述用户信息作为索引,存储用户私钥,

所述dapp容器,用于接收来自dapp的事务构建请求,所述事务构建请求至少包括原始事务内容、dapp标识信息、标识用户身份的用户信息,并向所述密钥服务器发送事务签名请求,所述事务签名请求至少包括原始事务内容、所述用户信息以及所述dapp标识信息,以及在接收到所述密钥服务器返回的签名事务内容后,向区块链网络发送该签名事务内容;

所述密钥服务器,用于根据所述dapp标识信息和所述用户信息获取用户私钥,并使用该用户密钥对所述原始事务内容进行签名,生成签名事务内容,然后返回给所述dapp容器。

此外,本发明还提供了一种基于dapp容器的事务签名处理系统,包括:多个dapp容器以及密钥服务器,所述密钥服务器以所述dapp容器标识信息、所述dapp标识信息以及所述用户信息作为索引,存储用户私钥,

所述dapp容器,用于接收来自dapp的事务构建请求,所述事务构建请求至少包括原始事务内容、dapp标识信息、标识用户身份的用户信息,并向所述密钥服务器发送事务签名请求,所述事务签名请求至少包括原始事务内容、所述dapp容器标识信息、所述用户信息以及所述dapp标识信息,以及在接收到所述密钥服务器返回的签名事务内容后,向区块链网络发送该签名事务内容;

所述密钥服务器,用于根据所述dapp容器标识信息、所述dapp标识信息以及所述用户信息获取用户私钥,并使用该用户密钥对所述原始事务内容进行签名,生成签名事务内容,然后返回给所述dapp容器。

此外,本发明还提供了一种密钥服务器,包括:

用户私钥存储模块,用于以所述dapp标识信息和所述用户信息作为索引存储用户私钥,或者,以所述dapp容器标识信息、所述dapp标识信息以及所述用户信息作为索引存储用户私钥;

事务签名处理模块,用于接收来自dapp容器的事务签名请求,所述事务签名请求至少包括原始事务内容、所述用户信息以及所述dapp标识信息,或者,包括原始事务内容、dapp容器标识信息、用户信息以及dapp标识信息,然后根据所述dapp标识信息以及所述用户信息获取用户私钥,或者,根据所述dapp容器标识信息、所述dapp标识信息以及所述用户信息从所述用户私钥存储模块获取用户私钥,并使用该用户密钥对所述原始事务内容进行签名,生成签名事务内容,然后返回给所述dapp容器。

此外,本发明还提供了一种电子设备,包括:

存储器,用于存储程序;

处理器,耦合至所述存储器,用于执行所述程序,以用于:

接收来自dapp的事务构建请求,所述事务构建请求至少包括原始事务内容、dapp标识信息、标识用户身份的用户信息;

向密钥服务器发送事务签名请求,所述事务签名请求至少包括原始事务内容、所述用户信息和所述dapp标识信息;

接收到所述密钥服务器返回的签名事务内容后,向区块链网络发送该签名事务内容。

本发明实施例提供了一种基于dapp容器的事务签名处理方法、系统、密钥服务器及电子设备,通过将用户私钥托管到密钥服务器中,在dapp容器进行事务构建处理的过程中,将待签名的原始事务内容发送给密钥服务器直接进行签名处理,从而减少了dapp容器在进行事务构建的过程中与dapp之间的交互次数,也减少了dapp容器为了进行事务签名处理而进行的计算处理,提高了事务构建的效率,并且使得dapp和dapp容器能够更加轻量化。此外,通过密钥服务器对用户私钥的集中管理,能够增加用户私钥的安全性,并且通过将事务签名处理转移到密钥服务器中,减少了用户私钥的传递次数,用户私钥对于dapp容器是不可见的,从而能够进一步增加用户私钥的安全性。

上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。

附图说明

图1为本发明实施例的dapp容器的应用场景示意图。

图2为本发明实施例的基于dapp容器的事务签名处理系统的应用环境示意图之一。

图3为本发明实施例的基于dapp容器的事务签名处理系统的应用环境示意图之二。

图4为本发明实施例的基于dapp容器的事务签名处理系统的应用环境示意图之三。

图5为本发明实施例的基于dapp容器的事务签名处理方法的流程示意图之一。

图6为本发明实施例的基于dapp容器的事务签名处理方法的流程示意图之二。

图7为本发明实施例的基于dapp容器的事务签名处理方法的流程示意图之三。

图8为本发明实施例的电子设备的结构示意图。

具体实施方式

下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。

技术术语定义

事务:在本发明实施例中,事务是指区块链中记录数据或信息的基本单位,也是dapp进行信息处理的基本单元,例如,实现电子货币功能的区块链网络中,一条交易记录就是一个事务,dapp的基本功能也就是处理不同用户之间的交易。

区块数据:记录在区块中的多个事务的集合体。

实施例一

在本发明实施例中,将现有dapp中与区块链网络对接的底层功能进行抽象,形成能够承载不同dapp的上层应用功能的dapp容器。在现有的dapp中,底层功能主要包括事务构建处理(其中包括事务签名处理)以及用户私钥管理等。dapp的上层应用功能主要是面向用户的界面处理以及人机交互等。在本发明实施例中,dapp只保留现有dapp的上层应用功能,而现有dapp底层应用功能都集中于dapp容器。

如图1所示,其为本发明实施例的dapp容器的应用场景示意图。如图中所示,在用户终端1中设置有整合了与区块链网络对接的底层功能的dapp容器2,多个dapp11~1m设置于用户终端中,并与dapp容器2进行通信连接。dapp11~1m用于提供界面显示以人机交互方面的处理,可以是轻量级的应用或者插件。dapp11~1m将需要进行处理的事务,通过请求的方式发送给dapp容器2。dapp容器2负责进行与区块链网络对接相关事务处理,然后根据事务或者dapp所对应的区块链网络,将处理后的事务发送至区块链网络31~3n中的一个或者多个。

dapp容器2的重要功能之一就是进行事务构建。在事务构建的过程中,需要使用用户的私钥,对dapp11~1m提供的原始事务内容进行签名,生成事务签名,将事务签名附加到原始事务内容后面形成签名事务内容(即签名后的事务),只有签名后的事务才能作为完备的事务而发送到区块链网络中。

在现有技术中,用户的私钥都是存放在dapp11~1m中,如果在dapp容器2的架构的基础上,仍然将用户的私钥存放于dapp11~1m中,则dapp容器2在每次事务构建的过程中,都需要访问dapp11~1m并获取密钥,这将会增加dapp容器2与dapp11~1m的交互次数。作为一种可选的方式,可以将用户私钥存放于dapp容器2中,不过作为dapp容器2而言,可能会存在一定的安全隐患,并且也会增加dapp容器2的自身的负担。

基于上述考虑,发明实施例提出了一种基于密钥服务器的用户私钥的托管方案,将这种托管方案应用于基于dapp容器的事务签名处理过程中。如图2所示,其为本发明实施例的基于dapp容器的事务签名处理系统的应用环境示意图之一。在图1的基础上增加了用于存放用户私钥的密钥服务器4,本发明实施例中所说的事务签名处理系统主要包括dapp容器和密钥服务器。通过图2所示的架构,将用户私钥的存储从dapp以及dapp容器中剥离,通过dapp容器2以外的密钥服务器4来专门管理用户私钥。dapp容器2在执行事务处理的过程中,可以将待签名的原始事务内容发送给密钥服务器4,由密钥服务器4进行事务签名处理,并返回签名事务内容,从而不需要dapp容器2对用户私钥进行管理以及对原始事务内容进行签名,也就是说,基于图2所示的架构,将用户私钥保管以及事务签名都托管于密钥服务器4。

具体地,dapp容器2接收来自dapp的事务构建请求,事务构建请求至少包括原始事务内容、dapp标识信息、标识用户身份的用户信息,dapp容器2根据事务构建请求中携带的信息,生成事务签名请求,并向密钥服务器4发送该事务签名请求,该用户私钥获取请求至少包括原始事务内容、用户信息以及dapp标识信息。

密钥服务器4以dapp标识信息和用户信息作为索引,存储用户私钥。密钥服务器4接收到来自dapp容器2的事务签名请求后,根据用户私钥获取请求中携带的dapp标识信息和用户信息获取用户私钥,并使用该用户密钥对所述原始事务内容进行签名,生成签名事务内容,然后返回给dapp容器2。

具体地,密钥服务器4可以包括用户私钥存储模块402和事务签名处理模块401。其中,用户私钥存储模块402用于以dapp标识信息和用户信息作为索引存储用户私钥;事务签名处理模块401,用于接收来自dapp容器2的事务签名请求,并根据事务签名请求中包括的所述dapp标识信息以及所述用户信息,从用户私钥存储模块402中获取用户私钥,并使用该用户密钥对事务签名请求中包括的原始事务内容进行签名,生成签名事务内容,然后返回给所述dapp容器。

dapp容器2收到密钥服务器4返回的签名事务内容后,向区块链网络发送该签名事务内容后,就可以将该签名事务内容发送到区块链网络中。

在实际应用中,密钥服务器4同时服务于多个dapp容器(dapp容器21~2n))。如图3所示,其为本发明实施例的基于dapp容器的事务签名处理系统的应用环境示意图之二。在密钥服务器4中存放有多个dapp(dapp11~1m)的用户私钥列表(这些用户私钥列表可以处于上述的用户私钥存储模块402中),这些用户私钥列表是按照不同的dapp而存储的,这些dapp可以是对应于一个区块链网络也可以是对应多个区块链网络的dapp,这种用户私钥托管方式,类似于中心化的托管。用户私钥的托管,可以由用户在某个用户终端上注册或者登录某个dapp的相关业务而触发,用户在注册或者登录过程中,dapp可以提示用户是否需要进行用户私钥托管,如果用户同意,则可以通过dapp容器2向密钥服务器4发出用户私钥托管请求,用户私钥托管请求中携带着dapp标识信息和用户信息以及用户私钥,密钥服务器4可以根据dapp标识信息和用户信息,核实待托管的用户私钥是否存在于密钥服务器4上,以避免重复托管,如果不存在,则以dapp标识信息和用户信息为索引,将用户私钥存入相应的用户私钥列表中。

在上述的用户私钥的托管过程以及用户私钥的获取以及进行事务签名过程中,密钥服务器4可以对dapp容器进行安全认证,以保证用户私钥的安全性,安全认证机制可以采用现有技术中成熟的安全认证机制,具体的方案不在本发明讨论范围内。

作为另外一种密钥托管方式,如图4所示,其为本发明实施例的基于dapp容器的事务签名处理系统的应用环境示意图之三。与图3的区别之处在于,在图4所示用户私钥的存储结构中,按照不同的dapp容器(dapp容器21~2n)划分了用户私钥的存储空间(这些存储空间可以处于上述的用户私钥存储模块402中),对不同的dapp容器所托管的用户私钥进行了隔离存储,从而便于进行用户私钥的安全控制。密钥服务器4以dapp容器标识信息、dapp标识信息、用户信息作为索引,存储用户私钥。

需要说明的是,每个dapp容器所承载的dapp可能会存在很大差别,图4中虽然在每个dapp容器的用户私钥存储空间中,列出了dapp11~1m的用户私钥列表,不过dapp11~1m的标号仅仅是示意性的。在实际应用中,每个dapp容器上可能只承载着少量的dapp,因此,在密钥服务器4上,各个dapp容器对应的用户私钥存储空间中,用户私钥列表的数量和对应的具体dapp可以是不同的。

在图4示出的用户私钥的托管机制中,用户私钥的托管,也可以由用户在某个用户终端上注册或者登录某个dapp的相关业务而触发。与图3所示的用户私钥的托管机制不同之处在于,dapp容器2向密钥服务器4发出的用户私钥托管请求中除了携带dapp标识信息和用户信息以及用户私钥外,还要携带有dapp容器标识信息,以便密钥服务器4为以区分dapp容器的方式来对用户私钥建立索引。此外,基于图4所示的结构中,dapp容器获取用户私钥的过程也有些不同,dapp容器向密钥服务器4发送的事务签名请求中,除了包含dapp标识信息以及用户信息外,还要包含dapp容器标识信息,相应地,密钥服务器4接收到事务签名请求后,根据dapp容器标识信息、dapp标识信息以及用户信息获取用户私钥,然后进行事务签名处理后,将签名事务内容返回给dapp容器。

本发明实施例提供的基于dapp容器的事务签名处理系统,通过将用户私钥托管到密钥服务器中,在dapp容器进行事务构建处理的过程中,将待签名的原始事务内容发送给密钥服务器直接进行签名处理,从而减少了dapp容器在进行事务构建的过程中与dapp之间的交互次数,也减少了dapp容器为了进行事务签名处理而进行的计算处理,提高了事务构建的效率,并且使得dapp和dapp容器能够更加轻量化。此外,通过密钥服务器对用户私钥的集中管理,能够增加用户私钥的安全性,并且通过将事务签名处理转移到密钥服务器中,减少了用户私钥的传递次数,用户私钥对于dapp容器是不可见的,从而能够进一步增加用户私钥的安全性。

实施例二

如图5所示,其为本发明实施例的基于dapp容器的事务签名处理方法的流程示意图之一,该处理方法包括:

s101:dapp容器接收来自dapp的事务构建请求,事务构建请求至少包括原始事务内容、dapp标识信息、标识用户身份的用户信息。其中,标识用户身份的用户信息可以包括用户公钥、用户id以及用户地址中的一个或任意多个。

s102:所述dapp容器向密钥服务器发送事务签名请求,所述事务签名请求至少包括原始事务内容、所述用户信息以及所述dapp标识信息。

s103:所述dapp容器接收到所述密钥服务器返回的签名事务内容后,向区块链网络发送该签名事务内容。

上述的图5所示的处理方法,主要是在dapp容器这一侧所执行的处理。

如图6和图7所示,其为本发明实施例的基于dapp容器的事务签名处理方法的流程示意图之二和流程示意图之三,图6和图7在图5所示的流程的基础上,增加了密钥服务器的处理步骤,其中,根据用户私钥的托管机制的不同,相应的处理流程也会存在差别。

具体地,密钥服务器以dapp标识信息和用户信息作为索引,存储用户私钥,在这样的密钥托管机制下,处理流程如图6所示,包括:

s201:dapp容器接收来自dapp的事务构建请求,事务构建请求至少包括原始事务内容、dapp标识信息、标识用户身份的用户信息。其中,标识用户身份的用户信息可以包括用户公钥、用户id以及用户地址中的一个或任意多个。

s202:dapp容器向密钥服务器发送事务签名请求,事务签名请求至少包括原始事务内容、用户信息和dapp标识信息。

s203:密钥服务器根据dapp标识信息和用户信息获取用户私钥,并使用该用户密钥对所述原始事务内容进行签名,生成签名事务内容,然后返回给dapp容器。

s204:dapp容器接收到密钥服务器返回的签名事务内容后,向区块链网络发送该签名事务内容。

作为另外一种密钥托管机制,密钥服务器以dapp容器标识信息、dapp标识信息、用户信息作为索引,存储用户私钥,相应地,用户私钥获取请求还包括dapp容器标识信息,在这样的密钥托管机制下,处理流程如图7所示,包括:

s301:dapp容器接收来自dapp的事务构建请求,事务构建请求至少包括原始事务内容、dapp标识信息、标识用户身份的用户信息。其中,标识用户身份的用户信息可以包括用户公钥、用户id以及用户地址中的一个或任意多个。

s302:dapp容器向密钥服务器发送事务签名请求,事务签名请求至少包括原始事务内容、dapp容器标识信息、用户信息和dapp标识信息。

s303:密钥服务器根据dapp容器标识信息、dapp标识信息以及用户信息获取用户私钥,并使用该用户密钥对所述原始事务内容进行签名,生成签名事务内容,然后返回给dapp容器。

s304:dapp容器接收到密钥服务器返回的签名事务内容后,向区块链网络发送该签名事务内容。

本实施例中的各个方法流程中涉及的技术方案的细节可以参考前述实施例中的详细说明。

本发明实施例提供的基于dapp容器的事务签名处理方法,通过将用户私钥托管到密钥服务器中,在dapp容器进行事务构建处理的过程中,将待签名的原始事务内容发送给密钥服务器直接进行签名处理,从而减少了dapp容器在进行事务构建的过程中与dapp之间的交互次数,也减少了dapp容器为了进行事务签名处理而进行的计算处理,提高了事务构建的效率,并且使得dapp和dapp容器能够更加轻量化。此外,通过密钥服务器对用户私钥的集中管理,能够增加用户私钥的安全性,并且通过将事务签名处理转移到密钥服务器中,减少了用户私钥的传递次数,用户私钥对于dapp容器是不可见的,从而能够进一步增加用户私钥的安全性。

实施例三

前面实施例描述了本发明实施例的基于dapp容器的事务签名处理方法以及系统的具体实施例,上述技术方案中的功能可借助一种电子设备实现完成,如图8所示,其为本发明实施例的电子设备的结构示意图,具体包括:存储器110和处理器120。

存储器110,用于存储程序。

除上述程序之外,存储器110还可被配置为存储其它各种数据以支持在电子设备上的操作。这些数据的示例包括用于在电子设备上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。

存储器110可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(sram),电可擦除可编程只读存储器(eeprom),可擦除可编程只读存储器(eprom),可编程只读存储器(prom),只读存储器(rom),磁存储器,快闪存储器,磁盘或光盘。

处理器120,耦合至存储器110,用于执行存储器110中的程序,以用于:

接收来自dapp的事务构建请求,事务构建请求至少包括原始事务内容、dapp标识信息、标识用户身份的用户信息;

向密钥服务器发送事务签名请求,所述事务签名请求至少包括原始事务内容、所述用户信息以及所述dapp标识信息;

接收到所述密钥服务器返回的签名事务内容后,向区块链网络发送该签名事务内容。

其中,用户信息可以包括用户公钥、用户id以及用户地址中的一个或任意多个。

此外,前述实施例中的其他处理也可以以程序的形式存储于存储器110中并被处理器120读取执行。详细的处理过程以及技术效果在前述实施例中已经进行详细说明,其同样适用于本实施例,在此不再赘述。

进一步,如图8所示,电子设备还可以包括:通信组件130、电源组件140、音频组件150、显示器160等其它组件。图8中仅示意性给出部分组件,并不意味着电子设备只包括图8所示组件。

通信组件130被配置为便于电子设备和其他设备之间有线或无线方式的通信。电子设备可以接入基于通信标准的无线网络,如wifi,2g或3g,或它们的组合。在一个示例性实施例中,通信组件130经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,通信组件130还包括近场通信(nfc)模块,以促进短程通信。例如,在nfc模块可基于射频识别(rfid)技术,红外数据协会(irda)技术,超宽带(uwb)技术,蓝牙(bt)技术和其他技术来实现。

电源组件140,为电子设备的各种组件提供电力。电源组件140可以包括电源管理系统,一个或多个电源,及其他与为电子设备生成、管理和分配电力相关联的组件。

音频组件150被配置为输出和/或输入音频信号。例如,音频组件150包括一个麦克风(mic),当电子设备处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器110或经由通信组件130发送。在一些实施例中,音频组件150还包括一个扬声器,用于输出音频信号。

本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。

最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

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