CN120337237A - 基于区块链的数据处理方法、装置、设备、介质及产品 - Google Patents

基于区块链的数据处理方法、装置、设备、介质及产品

Info

Publication number
CN120337237A
CN120337237A CN202410068813.8A CN202410068813A CN120337237A CN 120337237 A CN120337237 A CN 120337237A CN 202410068813 A CN202410068813 A CN 202410068813A CN 120337237 A CN120337237 A CN 120337237A
Authority
CN
China
Prior art keywords
service
data
signing
key
blockchain
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202410068813.8A
Other languages
English (en)
Inventor
朱耿良
廖志勇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202410068813.8A priority Critical patent/CN120337237A/zh
Publication of CN120337237A publication Critical patent/CN120337237A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/604Tools and structures for managing or administering access control systems
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6209Protecting access to data via a platform, e.g. using keys or access control rules to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bioethics (AREA)
  • Automation & Control Theory (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

本申请实施例提供了一种基于区块链的数据处理方法、装置、设备、介质及产品。该基于区块链的数据处理方法包括:调用数据签名服务程序对待上传至区块链的业务数据进行签名;数据签名服务程序基于签名密钥创建得到,且数据签名服务程序在基于签名密钥进行签名时,对签名密钥进行隐藏;若数据签名服务程序调用失败,则调用密钥恢复服务程序恢复签名密钥;根据恢复的签名密钥重建数据签名服务程序;调用重建的数据签名服务程序对业务数据进行签名,并将签名后的业务数据上传至区块链。采用本申请实施例,可以在保证签名密钥保存安全性的前提下使用签名密钥进行签名。

Description

基于区块链的数据处理方法、装置、设备、介质及产品
技术领域
本申请涉及计算机技术领域,尤其涉及区块链技术领域,具体涉及一种基于区块链的数据处理方法、装置、设备、介质及产品。
背景技术
区块链业务在与区块链进行交互时,通常需要使用签名密钥,具体使用方式是使用签名密钥对区块链业务中待上传至区块链的业务数据进行签名。目前,签名密钥的管理方式可以分为两类,第一类是区块链业务的前端管理方式,第二类是区块链业务的后端管理方式。
在区块链业务的前端管理方式中,签名密钥处于业务对象的环境中,签名过程需要与业务对象相互操作,安全保护因子需要与业务对象的特征或信息相结合;也就是说,在区块链业务的前端管理方式中,保存签名密钥的环境的安全性不受信任,无法保证签名密钥的保存安全性。在区块链业务的后端管理方式中,签名密钥处于服务器环境中,通常会搭配服务器本身的安全措施(安全措施例如可以是防火墙、网络安全策略以及文件系统权限管理,等等),但是区块链业务的后端管理方式通常无法与签名密钥的签名功能相结合;也就是说,在区块链业务的后端管理方式中,签名密钥的保存安全性可以得到保障,但是签名密钥无法发挥签名功能。可见,目前签名密钥的管理方式无法在保证签名密钥保存安全性的前提下使用签名密钥进行签名。
发明内容
本申请实施例提供了一种基于区块链的数据处理方法、装置、设备、介质及产品,可以在保证签名密钥保存安全性的前提下使用签名密钥进行签名。
一方面,本申请实施例提供了一种基于区块链的数据处理方法,该基于区块链的数据处理方法包括:
调用数据签名服务程序对待上传至区块链的业务数据进行签名;数据签名服务程序基于签名密钥创建得到,且数据签名服务程序在基于签名密钥进行签名时,对签名密钥进行隐藏;
若数据签名服务程序调用失败,则调用密钥恢复服务程序恢复签名密钥;
根据恢复的签名密钥重建数据签名服务程序;
调用重建的数据签名服务程序对业务数据进行签名,并将签名后的业务数据上传至区块链。
相应地,本申请实施例提供了一种基于区块链的数据处理装置,该基于区块链的数据处理装置包括:
处理单元,用于调用数据签名服务程序对待上传至区块链的业务数据进行签名;数据签名服务程序基于签名密钥创建得到,且数据签名服务程序在基于签名密钥进行签名时,对签名密钥进行隐藏;
处理单元,还用于若数据签名服务程序调用失败,则调用密钥恢复服务程序恢复签名密钥;
处理单元,还用于根据恢复的签名密钥重建数据签名服务程序;
处理单元,还用于调用重建的数据签名服务程序对业务数据进行签名;
通信单元,用于将签名后的业务数据上传至区块链。
在一种实现方式中,处理单元,用于调用密钥恢复服务程序恢复签名密钥时,具体用于执行如下步骤:
调用密钥恢复服务程序恢复签名密钥的加密助记信息;
对加密助记信息进行解密,得到签名密钥的助记信息;
根据助记信息恢复签名密钥。
在一种实现方式中,加密助记信息被备份至硬件加密机和云存储空间中;处理单元,用于调用密钥恢复服务程序恢复签名密钥的加密助记信息时,具体用于执行如下步骤:
调用密钥恢复服务程序,从硬件加密机中恢复签名密钥的加密助记信息;
若从硬件加密机中恢复签名密钥的加密助记信息失败,则调用密钥恢复服务程序,从云存储空间中恢复加密助记信息。
在一种实现方式中,业务数据属于目标区块链业务;加密助记信息被保存于云端为目标区块链业务分配的云存储空间中;云端为不同的区块链业务分配相互独立的云存储空间;
处理单元,用于调用密钥恢复服务程序,从云存储空间中恢复加密助记信息时,具体用于执行如下步骤:
获取目标区块链业务的云端账号信息;
调用密钥恢复服务程序,基于目标区块链业务的云端账号信息,从目标区块链业务的云存储空间中恢复加密助记信息。
在一种实现方式中,处理单元,用于根据恢复的签名密钥重建数据签名服务程序时,具体用于执行如下步骤:
根据第一密码算法对签名密钥进行第一密钥隐藏处理,得到数据签名库;
基于数据签名库重建数据签名服务程序。
在一种实现方式中,数据签名库是指数据签名表,数据签名库中包括多个数据签名;处理单元,用于调用重建的数据签名服务程序对业务数据进行签名时,具体用于执行如下步骤:
基于业务数据,在数据签名库中查询业务数据对应的数据签名,得到签名后的业务数据。
在一种实现方式中,处理单元,用于根据恢复的签名密钥重建数据签名服务程序时,具体用于执行如下步骤:
根据第二密码算法对签名密钥进行第二密钥隐藏处理,得到安全密钥;
将安全密钥传入基础签名库,根据传入安全密钥后的基础签名库,重建数据签名服务程序。
在一种实现方式中,基础签名库是指基础签名表,基础签名库中包括多个基础签名;处理单元,用于调用重建的数据签名服务程序对业务数据进行签名时,具体用于执行如下步骤:
基于业务数据,在基础签名库中查询业务数据对应的基础签名;
基于安全密钥对业务数据对应的基础签名进行签名,得到签名后的业务数据。
在一种实现方式中,数据签名服务程序调用失败,包括以下任一种:
数据签名服务程序不存在;
数据签名服务程序存在但出现异常;
数据签名服务程序解密失败;
数据签名服务程序由传入安全密钥的基础签名库构建,安全密钥丢失;安全密钥是基于签名密钥生成的。
在一种实现方式中,业务数据属于目标区块链业务;处理单元,还用于执行如下步骤:
响应于目标区块链业务的创建请求,为目标区块链业务分配签名密钥;
基于签名密钥创建数据签名服务程序;
对签名密钥进行加密备份。
在一种实现方式中,处理单元,用于对签名密钥进行加密备份时,具体用于执行如下步骤:
获取签名密钥的助记信息;
创建硬件加密服务程序,并调用硬件加密服务程序对助记信息进行加密,得到加密助记信息后,将加密助记信息存储至硬件加密机中;
创建云端加密服务程序,并调用云端加密服务程序对助记信息进行加密,得到加密助记信息后,请求云端为目标区块链业务分配云存储空间,并请求云端将加密助记信息存储至为目标区块链业务分配的云存储空间中。
相应地,本申请实施例提供一种计算机设备,该计算机设备包括:
处理器,适于实现计算机程序;
计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序适于由处理器加载并执行上述的基于区块链的数据处理方法。
相应地,本申请实施例提供一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序被计算机设备的处理器读取并执行时,使得计算机设备执行上述的基于区块链的数据处理方法。
相应地,本申请实施例提供了一种计算机程序产品,该计算机程序产品包括计算机程序,该计算机程序存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机程序,处理器执行该计算机程序,使得该计算机设备执行上述的基于区块链的数据处理方法。
本申请实施例中,可以调用数据签名服务程序对待上传至区块链的业务数据进行签名;其中,数据签名服务程序可以是基于签名密钥创建得到的,数据签名服务程序在基于签名密钥进行签名时,可以对签名密钥进行隐藏;可以看出,数据签名服务程序一方面可以隐藏签名密钥,可以保证签名密钥的保存安全性,另一方面可以发挥签名密钥的签名功能,也就是说,可以在保证签名密钥保存安全性的前提下使用签名密钥进行签名。此外,在数据签名服务程序调用失败时,本申请实施例可以支持调用密钥恢复服务程序恢复签名密钥,基于恢复的签名密钥重建数据签名服务程序,并调用重建的数据签名服务程序对业务数据进行签名,也就是说,本申请实施例可以支持签名密钥的恢复,保证签名密钥的可恢复性。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术对象来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种单层区块链网络的架构示意图;
图2是本申请实施例提供的一种双层区块链网络的架构示意图;
图3是本申请实施例提供的一种主链和局部链的运行方式示意图;
图4是本申请实施例提供的一种区块链业务与区块链之间的交互方式示意图;
图5是本申请实施例提供的一种数据处理系统的架构示意图;
图6是本申请实施例提供的一种数据签名过程的流程示意图;
图7是本申请实施例提供的另一种数据签名过程的流程示意图;
图8是本申请实施例提供的一种基于区块链的数据处理方法的流程示意图;
图9是本申请实施例提供的一种数据签名服务程序的签名逻辑示意图;
图10是本申请实施例提供的一种静态数据签名服务程序的签名逻辑示意图;
图11是本申请实施例提供的一种动态数据签名服务程序的签名逻辑示意图;
图12是本申请实施例提供的另一种基于区块链的数据处理方法的流程示意图;
图13是本申请实施例提供的一种应用场景示意图;
图14是本申请实施例提供的一种基于区块链的数据处理装置的结构示意图;
图15是本申请实施例提供的一种计算机设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术对象在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
为了能够更清楚地理解本申请实施例所提供的技术方案,在此先对技术方案涉及的一些技术术语进行介绍:
(1)区块链网络:
区块链网络是一种点对点连接的网络,区块链网络基于一类特定的网络协议,使得区块链网络中的各个区块链节点之间不需要一个中心节点来维护网络状态,而是每个区块链节点通过和相邻节点之间的广播交互,来维护全网的节点状态及与其相邻节点之间的连接状态。区块链网络可以包括单层区块链网络和双层区块链网络(双层区块链网络也可以称为分层区块链网络)。
单层区块链网络可以理解为图1所示的数据共享系统10。数据共享系统10是指用于进行节点与节点之间数据共享的系统,该数据共享系统中可以包括多个(多个可以包括两个或两个以上)区块链节点101,多个区块链节点101可以是指数据共享系统中各个客户端、终端设备或服务器。每个区块链节点101在进行正常工作时可以接收到输入信息(例如,本申请实施例涉及的业务数据),并基于接收到的输入信息维护该数据共享系统内的共享数据。为了保证数据共享系统内的信息互通,数据共享系统中的每个区块链节点之间可以存在信息连接,区块链节点之间可以通过上述信息连接进行信息传输。例如,当数据共享系统中的任意区块链节点接收到输入信息时,数据共享系统中的其他节点便根据共识算法获取该输入信息,将该输入信息作为共享数据中的数据进行存储,使得数据共享系统中全部区块链节点上存储的数据均一致。
对于数据共享系统中的每个区块链节点,均具有与其对应的节点标识,而且数据共享系统中的每个区块链节点均可以存储有数据共享系统中其他区块链节点的节点标识,以便后续根据其他区块链节点的节点标识,将生成的区块广播至数据共享系统中的其他区块链节点。每个区块链节点中可维护一个如下表1所示的节点标识列表,将节点名称和节点标识对应存储至该节点标识列表中。其中,节点标识可为IP(Internet Protocol,网络之间互联的协议)地址以及其他任一种能够用于标识该区块链节点的信息,表1中仅以IP地址为例进行说明:
表1
节点名称 节点标识
节点1 111.111.111.111
节点2 222.222.222.222
节点N NNN.NNN.NNN.NNN
上述单层区块链网络在实际应用场景中存在一些问题:例如,在电子凭证(电子凭证例如可以是电子票据、电子发票,等等)的开具场景中,区块链网络中并非所有的节点都需要部署为执行电子凭证开具任务的节点;又如,在数据存储场景中,区块链网络中并非所有的节点都有足够的资源和必要性成为参与区块链共识的节点。为了解决单层区块链网络存在的问题,本申请实施例还提出一种双层区块链网络,下面对双层区块链网络的架构进行介绍。
双层区块链网络是指将区块链网络划分为核心共识网络和业务网络(业务网络也可以称为见证网络),核心共识网络可以用于执行核心共识算法,业务网络可以用于进行数据的清分同步,并在业务网络中业务节点的基础上完成相关具体业务。双层区块链网络如图2所示,双层区块链网络20中可以包括核心共识网络201、业务网络202(业务网络202也可称为见证网络202)和路由代理网络203。其中:
核心共识网络201中可以包括一个或多个区块链管理节点(区块链管理节点也可以称为共识节点),区块链管理节点可以运行区块链共识协议,用于对区块链进行共识记账。业务网络202中可以包括一个或多个业务节点,业务节点例如可以是SPV((SimplifiedPayment Verification,简单支付验证)节点;业务节点主要用于进行业务执行,不参与记账共识,业务节点通过数据清分方式实现数据同步;数据清分(数据清分也可以称为交易清分)是指核心共识网络中的共识节点收到业务节点同步交易数据的请求后,将业务节点有权限读取的交易数据同步给业务节点,具体是指业务节点从核心共识网络中获得区块头数据和部分授权可见的区块数据。路由代理网络203中可以包括一个或多个代理节点,代理节点可以用于对核心共识网络201和业务网络202进行网络隔离,核心共识网络201和业务网络202之间的通信数据需要路由代理网络203中的代理节点进行转发。
通常来说,核心共识网络201和业务网络202处在不同网络环境下,业务网络202可以处于公有网络中,而核心共识网络201可以处于私有网络中。由于核心共识网络201处于相对安全的私有网络中,其区块链管理节点之间的相互访问本就有共识机制保证安全,不需要额外加入身份管理和网络控制。而业务网络202处于公共网络中,可能会被其它不确定的网络终端访问,因此业务网络202以及其它可能的节点接入核心共识网络201中的行为需要被严格控制。
在上述介绍的单层区块链网络和双层区块链网络中,区块链节点、区块链管理节点、业务节点以及代理节点可以是客户端、终端以及服务器中的任一种。客户端可以包括但不限于以下任一种:应用程序、小程序、软件以及网页。终端可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表、车载终端、智能家电以及飞行器等,但并不局限于此。服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(Content Delivery Network,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器。
(2)区块链:
区块链是信息技术领域的一种分布式账本技术,一般由共识、交易区块和状态数据存储、密码学身份安全等内容构成,由于账本是分布式存储的,而且区块是经过共识的,所以具有不可篡改、可追溯、共同维护等特征。
在本申请实施例中,区块链网络中维护的区块链具体可以是指联盟链。联盟链是指有准入机制的区块链,具有共识节点与其他节点(业务节点)。一般来说,任何区块链上智能合约都需要所有共识节点执行,若执行结果一致,则共识节点可以达成共识。业务节点一般不执行智能合约,但是会从共识节点将智能合约的执行结果同步下来,业务节点也可以执行业务节点的本地智能合约;本地智能合约是指运行在业务节点的智能合约,该类型的智能合约有独立的本地存储,本地智能合约仅在单个业务节点上执行,共识节点不会再去执行本地智能合约,本地智能合约的执行结果可以由业务节点在交易中提交上链。
区块链可以是由区块组成的单条区块链,或者,区块链可以包括母链和子链。其中,母链也可以称为主链,是区块链网络中通用的底层区块链。子链也可以称为局部链,是指构建在底层母链基础上的区块链;子链创建时,子链的相关信息会被记录在母链中,也就是数据上链必须依赖母链来保存、效验以及追溯,等等。子链是区块链各个行业或者垂直领域的代表,也是细分各个领域各类区块链项目的统称,一条子链可以对应于一个行业或一个垂直领域;在本申请实施例中,行业或垂直领域可以统称为区块链业务,也就是说,一条子链可以对应一个区块链业务,不同的子链对应不同的区块链业务;例如,在税务场景中,开具电子发票和办理退税可以是不同的区块链业务,分别对应不同的子链。
在双层区块链网络中,主链和局部链的运行方式如图3所示,以税务场景为例,税务总局对应于核心共识网络,核心共识网络可以运行主链,提供主链服务。各级税务机构(例如,一级税务机构是税务总局的下属机构,二级税务机构是一级税务机构的下属机构,三级税务机构是二级税务机构的下属机构)对应于业务网络。各个一级税务机构,通过一级主链业务节点的形式同步本级机构所可见的相关业务数据,对应的主链业务数据也通过一级主链业务节点转发到核心共识网络的入口,最终发送到核心共识网络中去共识执行。图3中的一级主链业务节点有2个,表示服务双活,二者的角色、数据一级权限都是完全相同的。
在二级税务机构中,另外独立运行了局部共识网络,各个二级税务机构通过二级局部共识业务节点,既从一级主链业务节点中同步主链数据,又形成了一个局部共识网络,接受业务数据,进行局部的打包出块共识。所有发往局部共识的交易不会转发到主链,而是在各个二级税务机构中完成局部链的业务处理,如有需要,可以把局部共识中的汇总信息上传至主链中。
局部共识网络之外,是三级税务机构对应的三级业务节点,这些节点不再获取主链的账本,但可以从局部共识网络中获得业务相关的主链业务数据,同时他们获取的是局部共识的账本数据,同样通过数据清分的方式获得自身相关的账本和状态数据,其本身的业务交易也是发送给局部共识网络。
(3)区块链业务:
区块链业务是指与区块链进行交互的业务,区块链业务可以将业务数据存储至区块链中,利用区块链的去中心化特性保证业务数据的不可篡改和安全性。例如,区块链业务可以是税务场景中的电子票据开具业务,业务数据可以是开具的电子票据,区块链业务可以将开具的电子票据存储至区块链中;又如,区块链业务可以是数字藏品铸造业务,业务数据可以是铸造的数字藏品,区块链业务可以将铸造的数字藏品存储至区块链中。
区块链业务与区块链之间的交互方式如图4所示,区块链业务提供区块链业务对应的客户端和区块链业务对应的服务器。区块链业务对应的客户端也可以称为业务客户端,业务客户端可以运行于终端中;业务客户端面向业务对象(业务对象是指区块链业务所服务的对象),业务对象可以通过业务客户端发起关于区块链业务的业务请求。区块链业务对应的服务器也可以称为业务服务器,业务服务器可以处理业务对象的业务请求,并将处理业务请求时产生的业务数据签名后,将签名后的业务数据上传至区块链中。
本申请实施例不对业务客户端的类型进行限定,业务客户端可以包括但不限于以下任一种:业务应用程序(业务应用程序可以称为Dapp(Decentralized Application,去中心化应用))、业务小程序以及业务网页。本申请实施例不对业务服务器的类型进行限定,业务服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(Content Delivery Network,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器;当业务客户端为Dapp时,业务服务器可以称为Dapp后端或Dapp后台。
基于以上对于区块链网络、区块链以及区块链业务等技术术语的介绍,业务服务器在将业务数据上传至区块链之前,需要采用签名密钥对业务数据进行签名,本申请实施例提供一种基于区块链的数据处理方法,该基于区块链的数据处理方法可以提供一种业务服务器的密钥安全保障体系,密钥安全保障体系可以对签名密钥提供三重保障。具体来说,三重保障中的第一重保障是创建数据签名服务程序,数据签名服务程序可以用于在隐藏签名密钥的情况下提供数据签名服务,数据签名服务可以理解为是数据签名功能,用于进行数据签名;三重保障中的第二重保障是创建硬件加密服务程序,硬件加密服务程序可以用于将签名密钥的助记信息加密保存至硬件加密机中,签名密钥的助记信息可以用于恢复签名密钥;三重保障中的第三重保障是创建云端加密服务程序,云端加密服务程序可以用于请求云端对签名密钥的助记信息进行加密保存。
基于签名密钥的三重保障,第一重保障(即数据签名服务程序)可以在数据签名的过程中对签名密钥进行隐藏,签名密钥无法导出,可以在保证签名密钥保存安全性的前提下使用签名密钥进行签名。第二重保障(即硬件加密服务程序)和第三重保障(即云端加密服务程序)可以对签名密钥进行加密备份,当存在签名密钥的恢复需求时,可以从硬件加密机和云端恢复出签名密钥;即使在硬件加密机损坏的情况下,还可以从云端恢复出签名密钥,可以保证签名密钥的可恢复性。本申请实施例中提及的服务程序是指业务服务器中的进程,服务程序包括的服务程序可以理解为是进程中的子进程,在此说明。
下面结合附图对本申请实施例提供的数据处理系统进行介绍,数据处理系统适于实现本申请实施例提供的基于区块链的数据处理方法。
如图5所示,数据处理系统可以包括业务服务器501和区块链网络中的区块链节点502。本申请实施例不对业务服务器501和区块链节点502之间的连接方式进行限定,业务服务器501和区块链节点502之间可以通过有线通信的方式建立直接的通信连接,或者,业务服务器501和区块链节点502之间可以通过无线通信的方式建立间接的通信连接。
在由业务服务器501和区块链节点502组成的数据处理系统中,业务服务器501是目标区块链业务对应的服务器,目标区块链业务是指支持与区块链交互的任一个区块链业务;业务服务器501可以响应于业务对象通过业务客户端发送的业务请求,对执行业务请求产生的业务数据进行签名,将签名后的业务数据发送至区块链节点502,以使区块链节点502将签名后的业务数据上传至区块链中。需要说明的是,当区块链网络是单层区块链网络时,区块链节点502可以是单层区块链网络中的任一个区块链节点;当区块链网络是双层区块链网络时,区块链节点502可以是双层区块链网络中的业务网络中的任一个业务节点。
基于业务服务器501和区块链节点502组成的数据处理系统,下面对业务服务器501的数据签名过程进行详细介绍。在创建目标区块链业务后,目标区块链业务被分配签名密钥;如图5所示,业务服务器501可以创建密钥保障服务程序和密钥恢复服务程序;密钥保障服务程序可以包括数据签名服务程序、硬件加密服务程序以及云端加密服务程序。数据签名服务程序可以是基于签名密钥创建的。硬件加密服务程序可以用于将签名密钥的助记信息加密备份至硬件加密机中,硬件加密机是用于提供签名密钥的助记信息加密安全的硬件;例如,硬件加密机可以是HSM(Hardware Security Module,硬件安全模块),HSM是经过独立规范认证的加密硬件设备,可以充当可靠的加密和密钥生成来源,从而可以为其他应用程序和系统维护适当的加密功能。云端加密服务程序可以用于请求云端将签名密钥的助记信息加密备份至目标区块链业务的云存储空间中。云端可以为不同的区块链业务分配相互独立的云存储空间,例如,图5中目标区块链业务的云存储空间、区块链业务1的云存储空间和区块链业务2的云存储空间是相互独立的;并且,云端从云存储空间中提取信息时,需要相应区块链业务的云账号信息作为提取凭证,例如,云端从目标区块链业务的云存储空间中提取签名密钥的加密信息时,需要目标区块链业务的云账号信息作为提取凭证,目标区块链业务的云账号信息可以用于在云端唯一标识目标区块链业务。
基于图5所示的业务服务器501中的服务程序架构,业务服务器501的数据签名过程可以包括数据签名服务程序调用成功和数据签名服务程序调用失败两种情况,下面结合图6对数据签名服务程序调用成功时,业务服务器501的数据签名过程进行介绍,结合图7对数据签名服务程序调用失败时,业务服务器501的数据签名过程进行介绍。
如图6所示,数据签名服务程序调用成功时,业务服务器501的数据签名过程,具体可以参见如下描述:业务服务器501可以调用数据签名服务程序对业务数据进行签名,数据签名服务程序可以在隐藏签名密钥的情况下对业务数据进行签名;若调用数据签名服务程序成功对业务数据进行签名,则业务服务器501可以将签名后的业务数据发送至区块链节点502。
如图7所示,数据签名服务程序调用成功时,业务服务器501的数据签名过程,具体可以参见如下描述:业务服务器501可以调用数据签名服务程序对业务数据进行签名,数据签名服务程序可以在隐藏签名密钥的情况下对业务数据进行签名;若数据签名服务程序调用失败,则业务服务器501可以调用密钥恢复服务程序恢复签名密钥。恢复得到签名密钥后,业务服务器501可以基于恢复的签名密钥重建数据签名服务程序,调用重建的数据签名服务程序对业务数据进行签名。
具体地,业务服务器501调用密钥恢复服务程序恢复签名密钥的过程中,密钥恢复服务程序可以调用硬件加密服务程序从硬件加密机中恢复签名密钥;若调用硬件加密服务程序恢复签名密钥失败,则密钥恢复服务程序可以调用云端加密服务程序从目标区块链业务在云端的云存储空间中恢复签名密钥。
需要说明的是,硬件加密机和目标区块链业务的云存储空间中加密存储的是签名密钥的助记信息,需要对加密存储的签名密钥的助记信息进行解密。在此情况下,如图5所示,密钥保障服务程序中还可以包括解密程序(解密程序可以是解密SDK(SoftwareDevelopment Kit,软件开发工具包)),解密程序可以用于对加密存储的签名密钥的助记信息进行解密,得到签名密钥的助记信息,签名密钥的助记信息可以用于恢复签名密钥。通过加密存储签名密钥的助记信息,以及解密程序的配合,可以杜绝签名密钥的明文暴露在业务服务器501的源代码中,从而防止签名密钥被恶意利用。
基于图5所示的数据处理系统,可以在保证签名密钥保存安全性的前提下使用签名密钥进行签名,并且还可以保证签名密钥的可恢复性。可以理解的是,本申请实施例描述的数据处理系统是为了更加清楚的说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定,本领域普通技术对象可知,随着区块链网络架构的演变和新业务场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
下面结合附图对本申请实施例提供的基于区块链的数据处理方法进行详细介绍。
本申请实施例提供一种基于区块链的数据处理方法,该基于区块链的数据处理方法介绍的内容包括:数据签名服务程序对业务数据进行签名的过程、签名密钥的恢复过程、数据签名服务程序的重建过程。该基于区块链的数据处理方法可以由计算机设备执行,计算机设备例如可以是图5所示的数据处理系统中的业务服务器501(业务服务器501是指目标区块链业务对应的服务器)。如图8所示,该基于区块链的数据处理方法可以包括但不限于以下步骤S801-步骤S804:
S801,调用数据签名服务程序对待上传至区块链的业务数据进行签名;数据签名服务程序基于签名密钥创建得到,且数据签名服务程序在基于签名密钥进行签名时,对签名密钥进行隐藏。
数据签名服务程序是业务服务器中,基于签名密钥对待上传至区块链的业务数据进行签名的进程,数据签名服务程序可以是基于签名密钥创建得到的。
目标区块链业务创建后,目标区块链业务可以被PKI(Public KeyInfrastructure,公钥证书体系)分配一对非对称密钥,非对称密钥中可以包括公钥和私钥。公钥可以公开,区块链网络中的区块链节点可以获取到目标区块链业务的公钥;目标区块链业务还可以将公钥发送至CA(Certificate Authority,证书授权)证书签名中心,生成公钥的数字证书(例如,数字证书可以是x509数字证书),数字证书可以用于识别目标区块链业务。私钥不可以公开,需要由业务服务器对私钥进行私密保存,本申请实施例中的签名密钥是指为目标区块链业务分配的私钥。
数据签名服务程序可以在基于签名密钥对待上传至区块链的业务数据进行签名时,对签名密钥进行隐藏。数据签名服务程序对签名密钥的隐藏方式以及数据签名服务程序对业务数据的签名方式,与数据签名服务程序的创建方式相关。数据签名服务程序具体是指白盒服务程序,下面先对白盒服务程序进行介绍,再对数据签名服务程序的创建方式进行介绍。
白盒服务程序是基于白盒密码技术实现的。白盒密码技术是一项能够抵抗白盒攻击的密码技术,即在攻击者对加密设备终端拥有完全的控制能力,能够观测和更改程序运行时的内部数据,并进行密码运算过程的逆向分析时,有效保障加密数据和密钥的安全性。相比于传统加密技术,白盒密码技术使得密钥在白盒环境中也难以被提取出来,同时白盒密钥管理也支持设备绑定认证能力,确保敏感密钥信息及加密数据的安全性保护。
白盒安全,不同于传统的黑盒安全,其目标就是在非法对象攻入系统、了解全部系统内容的情况下,确保系统安全的技术。白盒加密的核心思想包括混淆技术,密钥隐藏,密钥攻击容忍等。白盒密码技术从实现方式上可以分为两类:静态白盒和动态白盒。
静态白盒是指密码算法结合特定的密钥经过白盒密码技术处理后形成特定的密码算法库,称为白盒库,白盒库具备特定的密码功能(密码功能可以包括加密、解密以及加解密),并能在白盒攻击环境下有效保护原有密钥的安全。静态白盒更新密钥,需要重新生成白盒库。
动态白盒是指白盒库生成后就不需要再更新,原始密钥经过同样的白盒密码技术转化为白盒密钥。白盒密钥传入相匹配的白盒库可以进行正常的加密或解密功能。白盒密钥是安全的,攻击者不能通过分析白盒密钥得到任何关于原始密钥的信息。
由于使用的便捷性,一般白盒服务都提供动态白盒服务。白盒密钥可以用于保护端上的敏感根密钥信息(敏感根密钥信息例如可以是API SecretKey)、内部系统使用的鉴权密钥、token(令牌)以及其它本地敏感根密钥信息等,实现端到端的全链路数据安全解决方案。白盒密钥管理解决方案将密钥和算法进行融合,并通过引入随机化因子,有效的将密钥隐藏起来,大大提高了密钥被嗅探、被破解的难度,从而保护了密钥这一极其敏感的信息。
基于上述对白盒服务程序的介绍,可以进一步理解为,数据签名服务程序对业务数据的签名逻辑如图9所示,数据签名服务程序可以结合签名密钥和标准密码算法,对业务数据进行签名,得到签名后的业务数据。
白盒密码技术可以包括静态白盒和动态白盒,与之对应地,数据签名服务程序可以包括静态数据签名服务程序和动态数据签名服务程序。下面分别对静态数据签名服务程序的创建方式和签名方式,以及对动态数据签名服务程序的创建方式和签名方式进行介绍。
对于静态数据签名服务程序,静态数据签名服务程序的创建方式可以包括:可以根据第一密码算法对签名密钥进行第一密钥隐藏处理,得到数据签名库;基于数据签名库创建数据签名服务程序,此处的数据签名服务程序具体是指静态数据签名服务程序。其中,数据签名库是指数据签名表,数据签名表中可以包括多个数据签名;也就是说,静态数据签名服务程序通过将签名密钥转换为数据签名库的方式,隐藏签名密钥。第一密码算法是静态白盒所使用的白盒密码技术。
基于静态数据签名服务程序的创建方式,如图10所示,静态数据签名服务程序的签名方式,也就是调用静态数据签名服务程序对业务数据进行签名的方式,可以包括:基于业务数据,在数据签名库中查询业务数据对应的数据签名,得到签名后的业务数据;可以理解为,静态数据签名服务程序的签名过程,就是对数据签名表的查询过程,查询与业务数据匹配的数据签名。
对于动态数据签名服务程序,动态数据签名服务程序的创建方式可以包括:可以根据第二密码算法对签名密钥进行第二密钥隐藏处理,得到安全密钥;将安全密钥传入基础签名库,根据传入安全密钥后的基础签名库,创建数据签名服务程序,此处的数据签名服务程序具体是指动态数据签名服务程序。也就是说,动态数据签名服务程序通过将签名密钥转换为安全密钥的方式,隐藏签名密钥。其中,基础签名库是基础签名服务程序自带的,基础签名库是指基础签名表,基础签名表中可以包括多个基础签名,可以理解为,动态数据签名服务程序是基于签名密钥对基础签名服务程序改造的。第二密码算法是动态白盒所使用的白盒密码技术。
基于动态数据签名服务程序的创建方式,如图11所示,动态数据签名服务程序的签名方式,也就是调用动态数据签名服务程序对业务数据进行签名的方式,可以包括:基于业务数据,在基础签名库中查询业务数据对应的基础签名;基于安全密钥对业务数据对应的基础签名进行签名,得到签名后的业务数据。可以理解为,动态数据签名服务程序的签名过程,就是采用安全密钥对基础签名表的查询结果进行签名的过程。
静态数据签名服务程序和动态数据签名服务程序的适用场景不同,可以按需在静态数据签名服务程序和动态数据签名服务程序中,选择适用的数据签名服务对业务数据进行签名。详细地,对于静态数据签名服务程序,签名密钥与静态数据签名服务程序是绑定的,签名密钥一旦发生变化,静态数据签名服务程序也需要发生变化,因此,静态数据签名服务程序适合签名密钥比较稳定,不经常更换的数据签名场景中;而对于动态数据签名服务程序,签名密钥与动态数据签名服务程序是没有绑定,签名密钥发生变化,动态数据签名服务程序只需改变传入其中的安全密钥,因此,动态数据签名服务程序既适合签名密钥经常更换的数据签名场景中,又适合签名密钥比较稳定,不经常更换的数据签名场景中。
以上步骤S801的内容介绍了数据签名服务程序的创建方式,以及数据签名服务程序对业务数据的签名方式。此外,数据签名服务程序可以被加密,在调用数据签名服务程序对待上传至区块链的业务数据进行签名之前,可以先调用解密程序对数据签名服务程序进行解密;若对数据签名服务程序解密成功,则可以调用解密程序对数据签名服务程序进行解密。若对数据签名服务程序解密失败,则可以确定数据签名服务程序调用失败。
对数据签名服务程序的解密过程,可以理解为对数据签名服务程序的使用权限校验过程;解密成功,则可以表明具备数据签名服务程序的使用权限,解密失败,则可以表明不具备数据签名服务程序的使用权限;这样可以保证数据签名服务程序的调用安全性,具备数据签名服务程序的使用权限才可以调用数据签名服务程序。需要说明的是,数据签名服务程序可以支持对称密钥,对称密钥是指加密和解密使用相同的密钥,对称密钥例如可以是SM4(一种对称密钥),数据签名服务程序可以被对称密钥加密,解密时,需要采用相同的对称密钥进行解密。
S802,若数据签名服务程序调用失败,则调用密钥恢复服务程序恢复签名密钥。
数据签名服务程序调用失败,可以包括以下任一种情况:数据签名服务程序不存在,即数据签名服务程序丢失;数据签名服务程序存在但出现异常,例如,数据签名服务程序解密成功,但调用异常;数据签名服务程序解密失败;对于数据签名服务程序中的动态数据签名服务程序,数据签名服务程序由传入安全密钥的基础签名库构建,安全密钥丢失,安全密钥是基于签名密钥生成的。若数据签名服务程序调用失败,则可以调用密钥恢复服务程序恢复签名密钥,密钥恢复服务程序是业务服务器中,用于恢复签名密钥的进程。若调用数据签名服务程序对待上传至区块链的业务数据签名成功,则可以将签名后的业务数据上传至区块链。
签名密钥的助记信息被加密备份至硬件加密机和云存储空间中,可以从硬件加密机和云存储空间恢复签名密钥的助记信息,签名密钥的助记信息是签名密钥的描述信息,基于签名密钥的助记信息可以恢复签名密钥。详细地,调用密钥恢复服务程序恢复签名密钥的过程,可以包括:调用密钥恢复服务程序恢复签名密钥的加密助记信息;对加密助记信息进行解密,得到签名密钥的助记信息;根据助记信息恢复签名密钥。其中,签名密钥的加密助记信息可以是采用对称密钥对签名密钥的助记信息进行加密得到的,可以调用解密程序采用相同的对称密钥对签名密钥的加密助记信息进行解密,得到签名密钥的助记信息;通过加密存储签名密钥的助记信息,以及解密程序的配合,可以杜绝签名密钥的明文暴露在业务服务器的源代码中,从而防止签名密钥被恶意利用。
进一步地,签名密钥的助记信息被加密后,加密得到的加密助记信息可以被备份至硬件加密机和云存储空间中,调用密钥恢复服务程序恢复签名密钥的加密助记信息的过程,可以包括:调用密钥恢复服务程序,从硬件加密机中恢复签名密钥的加密助记信息;具体是密钥恢复服务程序调用硬件加密服务程序,从硬件加密机中恢复签名密钥的加密助记信息。若从硬件加密机中恢复签名密钥的加密助记信息失败,则可以调用密钥恢复服务程序,从云存储空间中恢复加密助记信息;具体是密钥恢复服务程序调用云端加密服务程序,从云存储空间中恢复加密助记信息。
进一步地,加密助记信息可以被保存于云端为目标区块链业务分配的云存储空间中,云端可以为不同的区块链业务分配相互独立的云存储空间;每个区块链业务的云存储空间与该区块链业务的云账号信息关联,也就是说,任一个区块链业务的云账号信息可以唯一标识对应的区块链业务的云存储空间,通过区块链业务的云账号信息可以在云端确定唯一确定该区块链业务的云存储空间。基于此,调用密钥恢复服务程序,从云存储空间中恢复加密助记信息的过程,可以包括:获取目标区块链业务的云端账号信息;调用密钥恢复服务程序,基于目标区块链业务的云端账号信息,从目标区块链业务的云存储空间中恢复加密助记信息;具体是密钥恢复服务程序调用云端加密服务程序,基于目标区块链业务的云端账号信息,从目标区块链业务的云存储空间中恢复加密助记信息。
需要说明的是,目标区块链业务的云端账号信息需要从目标区块链业务的管理对象(管理对象具体是指目标区块链业务的运营者)处获取。详细地,在调用云端加密服务程序之前,可以向管理对象输出云端账号输入界面,管理对象可以在云端账号输入界面中输入目标区块链业务的云端账号信息,并提交至业务服务器;业务服务器可以基于管理对象提交的目标区块链业务的云端账号信息,调用云端加密服务程序,从目标区块链业务的云存储空间中恢复加密助记信息。
可以看出,基于硬件加密机和云端存储空间对签名密钥的助记信息的加密备份,可以从硬件加密机和云端存储空间中恢复签名密钥的助记信息。并且,目标区块链业务的管理对象可以在业务服务器运行的数据签名服务程序调用失败,且硬件加密服务程序无法运营时,调用硬件加密服务程序恢复失败的情况下,仍然可以使用密钥恢复服务程序调用云端加密服务程序,登录目标区块链业务的云端账号信息,完成签名密钥的助记信息的取回,恢复签名密钥。从而,本申请实施例可以有效保证签名密钥的可恢复性。
S803,根据恢复的签名密钥重建数据签名服务程序。
在恢复得到签名密钥后,可以根据恢复的签名密钥重建数据签名服务程序。根据恢复的签名密钥重建数据签名服务程序的过程,与根据签名密钥创建数据签名服务程序的过程类似,具体可以参见上述步骤S801中根据签名密钥创建数据签名服务程序的过程。
简单来说,对于静态数据签名服务程序,根据恢复的签名密钥重建数据签名服务程序的过程,可以包括:根据第一密码算法对签名密钥进行第一密钥隐藏处理,得到数据签名库;基于数据签名库重建数据签名服务程序。对于动态数据签名服务程序,根据恢复的签名密钥重建数据签名服务程序的过程,可以包括:根据第二密码算法对签名密钥进行第二密钥隐藏处理,得到安全密钥;将安全密钥传入基础签名库,根据传入安全密钥后的所述基础签名库,重建数据签名服务程序。
S804,调用重建的数据签名服务程序对业务数据进行签名,并将签名后的业务数据上传至区块链。
在重建数据签名服务程序后,可以调用重建的数据签名服务程序对业务数据进行签名。调用重建的数据签名服务程序对业务数据的签名过程,与调用创建的数据签名服务程序对业务数据的签名过程类似,具体可以参见上述步骤S801中调用创建的数据签名服务程序对业务数据的签名过程。
简单来说,对于静态数据签名服务程序,调用重建的数据签名服务程序对业务数据进行签名的过程,可以包括:数据签名库是指数据签名表,数据签名库中可以包括多个数据签名;可以基于业务数据,在数据签名库中查询业务数据对应的数据签名,得到签名后的业务数据。对于动态数据签名服务程序,调用重建的数据签名服务程序对业务数据进行签名的过程,可以包括:基础签名库是指基础签名表,数据签名库中可以包括多个基础签名;可以基于业务数据,在基础签名库中查询业务数据对应的基础签名;基于安全密钥对业务数据对应的基础签名进行签名,得到签名后的业务数据。
在得到签名后的业务数据(签名后的业务数据可以是调用创建的数据签名服务程序对业务数据进行签名得到的,或者,签名后的业务数据可以是调用重建的数据签名服务程序对业务数据进行签名得到的)后,可以将签名后的业务数据上传至区块链。详细地,业务服务器可以将签名后的业务数据上传至区块链网络中的区块链节点,由区块链节点将签名后的业务数据上传至区块链。
进一步地,本申请实施例中,目标区块链业务可以与单层区块链网络中的区块链进行交互,在此情况下,区块链网络中的区块链节点具体是指单层区块链网络中的任一个区块链节点;也就是说,业务服务器可以将签名后的业务数据上传至单层区块链网络中的任一个区块链节点。或者,目标区块链业务可以与双层区块链网络中的区块链进行交互,在此情况下,区块链网络中的区块链节点具体是指双层区块链网络中的业务网络中的任一个业务节点;也就是说,业务服务器可以将签名后的业务数据上传至双层区块链网络中的业务网络中的任一个业务节点。
此外,本申请实施例中,目标区块链业务可以与区块组成的单条区块链交互,在此情况下,业务服务器可以将签名后的业务数据上传至区块链网络中的区块链节点,由区块链节点将签名后的业务数据上传至区块组成的单条区块链中。或者,目标区块链业务可以与母链和子链组成的区块链交互,区块链中可以包括目标区块链业务对应的子链,在此情况下,业务服务器可以将签名后的业务数据上传至区块链网络中的区块链节点,由区块链节点将签名后的业务数据上传至目标业务对应的子链中。
本申请实施例中,可以调用数据签名服务程序对待上传至区块链的业务数据进行签名;其中,数据签名服务程序可以是基于签名密钥创建得到的,数据签名服务程序在基于签名密钥进行签名时,可以对签名密钥进行隐藏;可以看出,数据签名服务程序一方面可以隐藏签名密钥,可以保证签名密钥的保存安全性,另一方面可以发挥签名密钥的签名功能,也就是说,可以在保证签名密钥保存安全性的前提下使用签名密钥进行签名。此外,在数据签名服务程序调用失败时,本申请实施例支持通过调用密钥恢复服务程序恢复签名密钥,基于恢复的签名密钥重建数据签名服务程序,并调用重建的数据签名服务程序对业务数据进行签名,也就是说,本申请实施例可以支持签名密钥的恢复,保证签名密钥的可恢复性。
本申请实施例提供一种基于区块链的数据处理方法,该基于区块链的数据处理方法介绍的内容包括:目标区块链业务的创建过程。该基于区块链的数据处理方法可以由计算机设备执行,计算机设备例如可以是图5所示的数据处理系统中的业务服务器501(业务服务器501是指目标区块链业务对应的服务器)。如图12所示,该基于区块链的数据处理方法可以包括但不限于以下步骤S1201-步骤S1207:
S1201,响应于目标区块链业务的创建请求,为目标区块链业务分配签名密钥。
S1202,基于签名密钥创建数据签名服务程序。
基于签名密钥数据签名服务程序的过程记载于上述图8所示实施例的步骤S801中,具体可参见上述图8所示实施例中基于签名密钥数据签名服务程序的过程,在此不再赘述。
S1203,对签名密钥进行加密备份。
对签名密钥进行加密备份的过程可以包括:获取签名密钥的助记信息;创建硬件加密服务程序,并调用硬件加密服务程序对助记信息进行加密,得到加密助记信息后,将加密助记信息存储至硬件加密机中;创建云端加密服务程序,并调用云端加密服务程序对助记信息进行加密,得到加密助记信息后,请求云端为目标区块链业务分配云存储空间,并请求云端将加密助记信息存储至为目标区块链业务分配的云存储空间中。
其中,签名密钥的助记信息可以是从目标区块链业务的管理对象(管理对象具体是指目标区块链业务的运营者)处获取。详细地,业务服务器可以向目标区块链业务的管理对象输出助记信息导入界面,目标区块链业务的管理对象可以在助记信息导入界面中输入签名密钥的助记信息,并提交至业务服务器。
硬件加密服务程序是业务服务器中,对签名密钥的助记信息进行加密,并将加密得到的加密助记信息存入硬件加密机的进程。详细地,硬件加密服务程序可以提供API(Application Programming Interface,应用程序接口),建立安全连接,获得管理对象导入的助记信息后,通过调用硬件加密机的方式,完成对助记信息的加密,并将加密得到的硬件加密信息存入硬件加密机。此处,硬件加密服务程序可以采用对称密钥对签名密钥的助记信息进行加密。
云端加密服务程序(API Key存管服务程序)是业务服务器中,与云端进行交互的进程。详细地,云端加密服务程序可以与云存储服务对接,对外接受硬件加密服务程序的调用;云端加密服务程序会通过云存储服务,云存储服务可以为每个区块链业务在云端上创建相互独立的云存储空间,此处的云存储空间可以理解为IAM(Identity and AccessManagement,业务访问权限管理)空间;管理对象导入的助记信息加密后可以在目标区块链业务的云存储空间中独立存储和管理,与其他区块链业务的云存储空间相互隔离,提供目标区块链业务的云端账号信息可以访问目标区块链业务的云存储空间,获取存储在其中的加密助记信息。此处,云端加密服务程序可以采用对称密钥对签名密钥的助记信息进行加密。
并且,云端的云存储服务基于KMS(Key Management Service,密钥管理服务)系统进行加密助记信息的管理。其中,KMS通常是一个服务器,负责通过远程客户端控制加密密钥的整个生命周期,并且可以安全地处理入站和出站密钥分发请求。此外,出于合规性和安全性原因,这些系统可以维护用于访问这些密钥的审计日志。但是,为了使密钥管理团队能够管理密钥生活方式,KMS必须由其专用HSM进行备份,以正确生成和保护密钥。每当KMS需要生成或分发密钥数据时,它直接与其HSM进行交互以进行密钥生成、检索和加密,同时将密钥共享给指定的目标,该目标可以是另一个HSM或安全应用服务器。
S1204,调用数据签名服务程序对待上传至区块链的业务数据进行签名;数据签名服务程序基于签名密钥创建得到,且数据签名服务程序在基于签名密钥进行签名时,对签名密钥进行隐藏。
本申请实施例中,步骤S1204的执行过程与上述图8所示实施例中步骤S801的执行过程相同,步骤S1204的执行过程具体可以参见上述图8所示实施例中步骤S801的执行过程,在此不再赘述。
S1205,若数据签名服务程序调用失败,则调用密钥恢复服务程序恢复签名密钥。
本申请实施例中,步骤S1205的执行过程与上述图8所示实施例中步骤S802的执行过程相同,步骤S1205的执行过程具体可以参见上述图8所示实施例中步骤S802的执行过程,在此不再赘述。
S1206,根据恢复的签名密钥重建数据签名服务程序。
本申请实施例中,步骤S1206的执行过程与上述图8所示实施例中步骤S803的执行过程相同,步骤S1206的执行过程具体可以参见上述图8所示实施例中步骤S803的执行过程,在此不再赘述。
S1207,调用重建的数据签名服务程序对业务数据进行签名,并将签名后的业务数据上传至区块链。
本申请实施例中,步骤S1207的执行过程与上述图8所示实施例中步骤S804的执行过程相同,步骤S1207的执行过程具体可以参见上述图8所示实施例中步骤S804的执行过程,在此不再赘述。
本申请实施例中,可以调用数据签名服务程序对待上传至区块链的业务数据进行签名;其中,数据签名服务程序可以是基于签名密钥创建得到的,数据签名服务程序在基于签名密钥进行签名时,可以对签名密钥进行隐藏;可以看出,数据签名服务程序一方面可以隐藏签名密钥,可以保证签名密钥的保存安全性,另一方面可以发挥签名密钥的签名功能,也就是说,可以在保证签名密钥保存安全性的前提下使用签名密钥进行签名。此外,在数据签名服务程序调用失败时,本申请实施例支持通过调用密钥恢复服务程序恢复签名密钥,基于恢复的签名密钥重建数据签名服务程序,并调用重建的数据签名服务程序对业务数据进行签名,也就是说,本申请实施例可以支持签名密钥的恢复,保证签名密钥的可恢复性。
下面以一个具体的示例,介绍本申请实施例提供的基于区块链的数据处理方法在基于双层区块链网络的税务场景中的应用。该应用场景可以包括两个阶段,目标区块链业务的创建阶段和目标区块链业务的使用阶段,下面从这两个阶段介绍本申请实施例的应用场景。
(1)目标区块链业务的创建阶段:
如图13所示,业务服务器在接收到目标区块链业务的管理对象(管理对象具体是指目标区块链业务的运营者)提交的目标区块链业务的创建请求时,可以请求双层区块链网络为目标区块链业务创建对应的子链,目标区块链业务对应的子链可以用于对目标区块链业务进行记账。此处,请求双层区块链网络为目标区块链业务创建对应的子链,具体是请求双层区块链网络中的业务网络(业务网络对应于图13所示的业务层)为目标区块链业务创建对应的子链;子链创建时,子链的相关信息会被记录在母链中,业务网络可以通过路由代理网络(路由代理网络对应于图13所示的路由代理层)将目标区块链业务对应的子链信息发送至核心共识网络(核心共识网络对应于图13中的核心共识层),由核心共识网络将目标区块链业务对应的子链信息上传至主链中。
目标区块链业务对应的子链创建成功后,业务服务器可以为目标区块链业务分配非对称密钥,为目标区块链业务分配的非对称密钥可以包括公钥和私钥(私钥即签名密钥)。
对于签名密钥,一方面业务服务器可以基于签名密钥创建数据签名服务程序。另一方面,业务服务器可以接收目标区块链业务的管理对象提交的签名密钥的助记信息,并对签名密钥的助记信息进行加密备份。加密备份具体可以包括:创建硬件加密服务程序,并调用硬件加密服务程序对助记信息进行加密,得到加密助记信息后,将加密助记信息存储至硬件加密机中;以及,创建云端加密服务程序,并调用云端加密服务程序对助记信息进行加密,得到加密助记信息后,请求云端为目标区块链业务分配云存储空间,并请求云端将加密助记信息存储至为目标区块链业务分配的云存储空间中。
对于公钥,业务服务器可以将公钥发送至双层区块链网络中的区块链节点,由双层区块链网络中的区块链节点将目标区块链业务的公钥在区块链网络中广播。此处双层区块链网络中的区块链节点具体可以是指业务网络中的任一个业务节点。
(2)目标区块链业务的使用阶段:
图13以目标区块链业务是税务业务为例,业务服务器可以响应办税对象(例如,办税对象可以为图13中的电子税局、企业以及消费者,等等)的办税请求,执行办税对象的税务业务,执行税务业务的过程中涉及的业务数据为税务数据。
业务服务器可以调用数据签名服务程序对的税务数据进行签名。若调用数据签名服务程序对税务数据签名成功,则可以将签名后的税务数据发送至双层区块链网络中的区块链节点。若数据签名服务程序调用失败,则可以调用密钥恢复服务程序恢复签名密钥,基于恢复的签名密钥重建数据签名服务程序,调用重建的数据签名服务程序对税务数据进行签名,将签名后的税务数据发送至双层区块链网络中的区块链节点。此处双层区块链网络中的区块链节点具体可以是指业务网络中的任一个业务节点。
业务网络中接收到签名后的税务数据的业务节点,在使用目标区块链业务的公钥对签名后的税务数据进行验签成功后,可以将税务数据上传至目标区块链业务对应的子链中。
可以看出,本申请实施例提供的基于区块链的数据处理方法,应用于基于双层区块链网络的税务场景中,可以保证用于对税务业务的业务数据(即税务数据)进行签名的签名密钥的保存安全性和可恢复性,有利于税务业务的正常运行。
上述详细阐述了本申请实施例的方法,为了便于更好地实施本申请实施例的上述方案,相应地,下面提供了本申请实施例的装置。
请参见图14,图14是本申请实施例提供的一种基于区块链的数据处理装置的结构示意图,该基于区块链的数据处理装置可以设置于本申请实施例提供的计算机设备中,计算机设备可以是上述图5所示的数据处理系统中的业务服务器501。图14所示的基于区块链的数据处理装置可以是运行于计算机设备中的一个计算机程序,该数据处理装置可以用于执行图8或图12所示的方法实施例中的部分或全部步骤。请参见图14,该基于区块链的数据处理装置可以包括如下单元:
处理单元1401,用于调用数据签名服务程序对待上传至区块链的业务数据进行签名;数据签名服务程序基于签名密钥创建得到,且数据签名服务程序在基于签名密钥进行签名时,对签名密钥进行隐藏;
处理单元1401,还用于若数据签名服务程序调用失败,则调用密钥恢复服务程序恢复签名密钥;
处理单元1401,还用于根据恢复的签名密钥重建数据签名服务程序;
处理单元1401,还用于调用重建的数据签名服务程序对业务数据进行签名;
通信单元1402,用于将签名后的业务数据上传至区块链。
在一种实现方式中,处理单元1401,用于调用密钥恢复服务程序恢复签名密钥时,具体用于执行如下步骤:
调用密钥恢复服务程序恢复签名密钥的加密助记信息;
对加密助记信息进行解密,得到签名密钥的助记信息;
根据助记信息恢复签名密钥。
在一种实现方式中,加密助记信息被备份至硬件加密机和云存储空间中;处理单元1401,用于调用密钥恢复服务程序恢复签名密钥的加密助记信息时,具体用于执行如下步骤:
调用密钥恢复服务程序,从硬件加密机中恢复签名密钥的加密助记信息;
若从硬件加密机中恢复签名密钥的加密助记信息失败,则调用密钥恢复服务程序,从云存储空间中恢复加密助记信息。
在一种实现方式中,业务数据属于目标区块链业务;加密助记信息被保存于云端为目标区块链业务分配的云存储空间中;云端为不同的区块链业务分配相互独立的云存储空间;
处理单元1401,用于调用密钥恢复服务程序,从云存储空间中恢复加密助记信息时,具体用于执行如下步骤:
获取目标区块链业务的云端账号信息;
调用密钥恢复服务程序,基于目标区块链业务的云端账号信息,从目标区块链业务的云存储空间中恢复加密助记信息。
在一种实现方式中,处理单元1401,用于根据恢复的签名密钥重建数据签名服务程序时,具体用于执行如下步骤:
根据第一密码算法对签名密钥进行第一密钥隐藏处理,得到数据签名库;
基于数据签名库重建数据签名服务程序。
在一种实现方式中,数据签名库是指数据签名表,数据签名库中包括多个数据签名;处理单元1401,用于调用重建的数据签名服务程序对业务数据进行签名时,具体用于执行如下步骤:
基于业务数据,在数据签名库中查询业务数据对应的数据签名,得到签名后的业务数据。
在一种实现方式中,处理单元1401,用于根据恢复的签名密钥重建数据签名服务程序时,具体用于执行如下步骤:
根据第二密码算法对签名密钥进行第二密钥隐藏处理,得到安全密钥;
将安全密钥传入基础签名库,根据传入安全密钥后的基础签名库,重建数据签名服务程序。
在一种实现方式中,基础签名库是指基础签名表,基础签名库中包括多个基础签名;处理单元1401,用于调用重建的数据签名服务程序对业务数据进行签名时,具体用于执行如下步骤:
基于业务数据,在基础签名库中查询业务数据对应的基础签名;
基于安全密钥对业务数据对应的基础签名进行签名,得到签名后的业务数据。
在一种实现方式中,数据签名服务程序调用失败,包括以下任一种:
数据签名服务程序不存在;
数据签名服务程序存在但出现异常;
数据签名服务程序解密失败;
数据签名服务程序由传入安全密钥的基础签名库构建,安全密钥丢失;安全密钥是基于签名密钥生成的。
在一种实现方式中,业务数据属于目标区块链业务;处理单元1401,还用于执行如下步骤:
响应于目标区块链业务的创建请求,为目标区块链业务分配签名密钥;
基于签名密钥创建数据签名服务程序;
对签名密钥进行加密备份。
在一种实现方式中,处理单元1401,用于对签名密钥进行加密备份时,具体用于执行如下步骤:
获取签名密钥的助记信息;
创建硬件加密服务程序,并调用硬件加密服务程序对助记信息进行加密,得到加密助记信息后,将加密助记信息存储至硬件加密机中;
创建云端加密服务程序,并调用云端加密服务程序对助记信息进行加密,得到加密助记信息后,请求云端为目标区块链业务分配云存储空间,并请求云端将加密助记信息存储至为目标区块链业务分配的云存储空间中。
根据本申请的另一个实施例,图14所示的基于区块链的数据处理装置中的各个单元可以分别或全部合并为一个或若干个另外的单元来构成,或者其中的某个(些)单元还可以再拆分为功能上更小的多个单元来构成,这可以实现同样的操作,而不影响本申请的实施例的技术效果的实现。上述单元是基于逻辑功能划分的,在实际应用中,一个单元的功能也可以由多个单元来实现,或者多个单元的功能由一个单元实现。在本申请的其它实施例中,基于区块链的数据处理装置也可以包括其它单元,在实际应用中,这些功能也可以由其它单元协助实现,并且可以由多个单元协作实现。
根据本申请的另一个实施例,可以通过在包括中央处理单元(CPU)、随机存取存储介质(RAM)、只读存储介质(ROM)等处理元件和存储元件的例如计算机的通用计算设备上运行能够执行如图8或图12所示的部分或全部方法所涉及的各步骤的计算机程序,来构造如图14中所示的基于区块链的数据处理装置,以及来实现本申请实施例的基于区块链的数据处理方法。计算机程序可以记载于例如计算机可读存储介质上,并通过计算机可读存储介质装载于上述计算设备中,并在其中运行。
本申请实施例中,可以调用数据签名服务程序对待上传至区块链的业务数据进行签名;其中,数据签名服务程序可以是基于签名密钥创建得到的,数据签名服务程序在基于签名密钥进行签名时,可以对签名密钥进行隐藏;可以看出,数据签名服务程序一方面可以隐藏签名密钥,可以保证签名密钥的保存安全性,另一方面可以发挥签名密钥的签名功能,也就是说,可以在保证签名密钥保存安全性的前提下使用签名密钥进行签名。此外,在数据签名服务程序调用失败时,本申请实施例可以支持调用密钥恢复服务程序恢复签名密钥,基于恢复的签名密钥重建数据签名服务程序,并调用重建的数据签名服务程序对业务数据进行签名,也就是说,本申请实施例可以支持签名密钥的恢复,保证签名密钥的可恢复性。
基于上述方法以及装置实施例,本申请实施例提供了一种计算机设备。请参见图15,图15是本申请实施例提供的一种计算机设备的结构示意图。图15所示的计算机设备至少包括处理器1501、输入接口1502、输出接口1503以及计算机可读存储介质1504。其中,处理器1501、输入接口1502、输出接口1503以及计算机可读存储介质1504可通过总线或其他方式连接。
计算机可读存储介质1504可以存储在计算机设备的存储器中,计算机可读存储介质1504用于存储计算机程序,计算机程序包括计算机指令,处理器1501用于执行计算机可读存储介质1504存储的计算机程序。处理器1501(或称CPU(Central Processing Unit,中央处理器))是计算机设备的计算核心以及控制核心,其适于实现计算机程序,具体适于加载并执行计算机程序从而实现相应方法流程或相应功能。
本申请实施例还提供了一种计算机可读存储介质(Memory),计算机可读存储介质是计算机设备中的记忆设备,用于存放程序和数据。可以理解的是,此处的计算机可读存储介质既可以包括计算机设备中的内置存储介质,当然也可以包括计算机设备支持的扩展存储介质。计算机可读存储介质提供存储空间,该存储空间存储了计算机设备的操作系统。并且,在该存储空间中还存放了适于被处理器加载并执行的计算机程序。需要说明的是,此处的计算机可读存储介质可以是高速RAM存储器,也可以是非不稳定的存储器(Non-VolatileMemory),例如至少一个磁盘存储器;可选的还可以是至少一个位于远离前述处理器的计算机可读存储介质。
计算机设备可以是上述图5所示的数据处理系统中的业务服务器501。具体实现中,可由处理器1501加载并执行计算机可读存储介质1504中存放的计算机程序,以实现上述有关图8或图12所示基于区块链的数据处理方法中的相应步骤。具体实现中,计算机可读存储介质1504中的计算机程序由处理器1501加载并执行如下步骤:
调用数据签名服务程序对待上传至区块链的业务数据进行签名;数据签名服务程序基于签名密钥创建得到,且数据签名服务程序在基于签名密钥进行签名时,对签名密钥进行隐藏;
若数据签名服务程序调用失败,则调用密钥恢复服务程序恢复签名密钥;
根据恢复的签名密钥重建数据签名服务程序;
调用重建的数据签名服务程序对业务数据进行签名,并将签名后的业务数据上传至区块链。
在一种实现方式中,计算机可读存储介质1504中的计算机程序由处理器1501加载并执行调用密钥恢复服务程序恢复签名密钥时,具体用于执行如下步骤:
调用密钥恢复服务程序恢复签名密钥的加密助记信息;
对加密助记信息进行解密,得到签名密钥的助记信息;
根据助记信息恢复签名密钥。
在一种实现方式中,加密助记信息被备份至硬件加密机和云存储空间中;计算机可读存储介质1504中的计算机程序由处理器1501加载并执行调用密钥恢复服务程序恢复签名密钥的加密助记信息时,具体用于执行如下步骤:
调用密钥恢复服务程序,从硬件加密机中恢复签名密钥的加密助记信息;
若从硬件加密机中恢复签名密钥的加密助记信息失败,则调用密钥恢复服务程序,从云存储空间中恢复加密助记信息。
在一种实现方式中,业务数据属于目标区块链业务;加密助记信息被保存于云端为目标区块链业务分配的云存储空间中;云端为不同的区块链业务分配相互独立的云存储空间;
计算机可读存储介质1504中的计算机程序由处理器1501加载并执行调用密钥恢复服务程序,从云存储空间中恢复加密助记信息时,具体用于执行如下步骤:
获取目标区块链业务的云端账号信息;
调用密钥恢复服务程序,基于目标区块链业务的云端账号信息,从目标区块链业务的云存储空间中恢复加密助记信息。
在一种实现方式中,计算机可读存储介质1504中的计算机程序由处理器1501加载并执行根据恢复的签名密钥重建数据签名服务程序时,具体用于执行如下步骤:
根据第一密码算法对签名密钥进行第一密钥隐藏处理,得到数据签名库;
基于数据签名库重建数据签名服务程序。
在一种实现方式中,数据签名库是指数据签名表,数据签名库中包括多个数据签名;计算机可读存储介质1504中的计算机程序由处理器1501加载并执行调用重建的数据签名服务程序对业务数据进行签名时,具体用于执行如下步骤:
基于业务数据,在数据签名库中查询业务数据对应的数据签名,得到签名后的业务数据。
在一种实现方式中,计算机可读存储介质1504中的计算机程序由处理器1501加载并执行根据恢复的签名密钥重建数据签名服务程序时,具体用于执行如下步骤:
根据第二密码算法对签名密钥进行第二密钥隐藏处理,得到安全密钥;
将安全密钥传入基础签名库,根据传入安全密钥后的基础签名库,重建数据签名服务程序。
在一种实现方式中,基础签名库是指基础签名表,基础签名库中包括多个基础签名;计算机可读存储介质1504中的计算机程序由处理器1501加载并执行调用重建的数据签名服务程序对业务数据进行签名时,具体用于执行如下步骤:
基于业务数据,在基础签名库中查询业务数据对应的基础签名;
基于安全密钥对业务数据对应的基础签名进行签名,得到签名后的业务数据。
在一种实现方式中,数据签名服务程序调用失败,包括以下任一种:
数据签名服务程序不存在;
数据签名服务程序存在但出现异常;
数据签名服务程序解密失败;
数据签名服务程序由传入安全密钥的基础签名库构建,安全密钥丢失;安全密钥是基于签名密钥生成的。
在一种实现方式中,业务数据属于目标区块链业务;计算机可读存储介质1504中的计算机程序由处理器1501加载并还用于执行如下步骤:
响应于目标区块链业务的创建请求,为目标区块链业务分配签名密钥;
基于签名密钥创建数据签名服务程序;
对签名密钥进行加密备份。
在一种实现方式中,计算机可读存储介质1504中的计算机程序由处理器1501加载并执行对签名密钥进行加密备份时,具体用于执行如下步骤:
获取签名密钥的助记信息;
创建硬件加密服务程序,并调用硬件加密服务程序对助记信息进行加密,得到加密助记信息后,将加密助记信息存储至硬件加密机中;
创建云端加密服务程序,并调用云端加密服务程序对助记信息进行加密,得到加密助记信息后,请求云端为目标区块链业务分配云存储空间,并请求云端将加密助记信息存储至为目标区块链业务分配的云存储空间中。
本申请实施例中,可以调用数据签名服务程序对待上传至区块链的业务数据进行签名;其中,数据签名服务程序可以是基于签名密钥创建得到的,数据签名服务程序在基于签名密钥进行签名时,可以对签名密钥进行隐藏;可以看出,数据签名服务程序一方面可以隐藏签名密钥,可以保证签名密钥的保存安全性,另一方面可以发挥签名密钥的签名功能,也就是说,可以在保证签名密钥保存安全性的前提下使用签名密钥进行签名。此外,在数据签名服务程序调用失败时,本申请实施例可以支持调用密钥恢复服务程序恢复签名密钥,基于恢复的签名密钥重建数据签名服务程序,并调用重建的数据签名服务程序对业务数据进行签名,也就是说,本申请实施例可以支持签名密钥的恢复,保证签名密钥的可恢复性。
本申请实施例还提供一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述基于区块链的数据处理方法。
本领域普通技术对象可以意识到,结合本申请中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术对象可以对每个特定的应用,使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本申请实施例中,术语“模块”或“单元”是指有预定功能的计算机程序或计算机程序的一部分,并与其他相关部分一起工作以实现预定目标,并且可以通过使用软件、硬件(如处理电路或存储器)或其组合来全部或部分实现。同样的,一个处理器(或多个处理器或存储器)可以用来实现一个或多个模块或单元。此外,每个模块或单元都可以是包含该模块或单元功能的整体模块或单元的一部分。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本申请实施例的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程设备。计算机指令可以存储在计算机可读存储介质中,或者通过计算机可读存储介质进行传输。计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如,同轴电缆、光纤、数字用户线(DSL))或无线(例如,红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如,固态硬盘(Solid State Disk,SSD))等。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术对象在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (15)

1.一种基于区块链的数据处理方法,其特征在于,包括:
调用数据签名服务程序对待上传至所述区块链的业务数据进行签名;所述数据签名服务程序基于签名密钥创建得到,且所述数据签名服务程序在基于所述签名密钥进行签名时,对所述签名密钥进行隐藏;
若所述数据签名服务程序调用失败,则调用密钥恢复服务程序恢复所述签名密钥;
根据恢复的所述签名密钥重建所述数据签名服务程序;
调用重建的所述数据签名服务程序对所述业务数据进行签名,并将签名后的所述业务数据上传至所述区块链。
2.如权利要求1所述的方法,其特征在于,所述调用密钥恢复服务程序恢复所述签名密钥,包括:
调用所述密钥恢复服务程序恢复所述签名密钥的加密助记信息;
对所述加密助记信息进行解密,得到所述签名密钥的助记信息;
根据所述助记信息恢复所述签名密钥。
3.如权利要求2所述的方法,其特征在于,所述加密助记信息被备份至硬件加密机和云存储空间中;所述调用所述密钥恢复服务程序恢复所述签名密钥的加密助记信息,包括:
调用所述密钥恢复服务程序,从所述硬件加密机中恢复所述签名密钥的加密助记信息;
若从所述硬件加密机中恢复所述签名密钥的加密助记信息失败,则调用所述密钥恢复服务程序,从所述云存储空间中恢复所述加密助记信息。
4.如权利要求3所述的方法,其特征在于,所述业务数据属于目标区块链业务;所述加密助记信息被保存于云端为所述目标区块链业务分配的云存储空间中;所述云端为不同的区块链业务分配相互独立的云存储空间;
所述调用所述密钥恢复服务程序,从所述云存储空间中恢复所述加密助记信息,包括:
获取所述目标区块链业务的云端账号信息;
调用所述密钥恢复服务程序,基于所述目标区块链业务的云端账号信息,从所述目标区块链业务的云存储空间中恢复所述加密助记信息。
5.如权利要求1所述的方法,其特征在于,所述根据恢复的所述签名密钥重建所述数据签名服务程序,包括:
根据第一密码算法对所述签名密钥进行第一密钥隐藏处理,得到数据签名库;
基于所述数据签名库重建所述数据签名服务程序。
6.如权利要求5所述的方法,其特征在于,所述数据签名库是指数据签名表,所述数据签名库中包括多个数据签名;所述调用重建的所述数据签名服务程序对所述业务数据进行签名,包括:
基于所述业务数据,在所述数据签名库中查询所述业务数据对应的数据签名,得到签名后的所述业务数据。
7.如权利要求1所述的方法,其特征在于,所述根据恢复的所述签名密钥重建所述数据签名服务程序,包括:
根据第二密码算法对所述签名密钥进行第二密钥隐藏处理,得到安全密钥;
将所述安全密钥传入基础签名库,根据传入所述安全密钥后的所述基础签名库,重建所述数据签名服务程序。
8.如权利要求7所述的方法,其特征在于,所述基础签名库是指基础签名表,所述基础签名库中包括多个基础签名;所述调用重建的所述数据签名服务程序对所述业务数据进行签名,包括:
基于所述业务数据,在所述基础签名库中查询所述业务数据对应的基础签名;
基于所述安全密钥对所述业务数据对应的基础签名进行签名,得到签名后的所述业务数据。
9.如权利要求1所述的方法,其特征在于,所述数据签名服务程序调用失败,包括以下任一种:
所述数据签名服务程序不存在;
所述数据签名服务程序存在但出现异常;
所述数据签名服务程序解密失败;
所述数据签名服务程序由传入安全密钥的基础签名库构建,所述安全密钥丢失;所述安全密钥是基于所述签名密钥生成的。
10.如权利要求1所述的方法,其特征在于,所述业务数据属于目标区块链业务;所述方法还包括:
响应于所述目标区块链业务的创建请求,为所述目标区块链业务分配所述签名密钥;
基于所述签名密钥创建所述数据签名服务程序;
对所述签名密钥进行加密备份。
11.如权利要求10所述的方法,其特征在于,所述对所述签名密钥进行加密备份,包括:
获取所述签名密钥的助记信息;
创建硬件加密服务程序,并调用所述硬件加密服务程序对所述助记信息进行加密,得到加密助记信息后,将所述加密助记信息存储至硬件加密机中;
创建云端加密服务程序,并调用所述云端加密服务程序对所述助记信息进行加密,得到加密助记信息后,请求云端为所述目标区块链业务分配云存储空间,并请求所述云端将所述加密助记信息存储至为所述目标区块链业务分配的云存储空间中。
12.一种基于区块链的数据处理装置,其特征在于,包括:
处理单元,用于调用数据签名服务程序对待上传至所述区块链的业务数据进行签名;所述数据签名服务程序基于签名密钥创建得到,且所述数据签名服务程序在基于所述签名密钥进行签名时,对所述签名密钥进行隐藏;
所述处理单元,还用于若所述数据签名服务程序调用失败,则调用密钥恢复服务程序恢复所述签名密钥;
所述处理单元,还用于根据恢复的所述签名密钥重建所述数据签名服务程序;
所述处理单元,还用于调用重建的所述数据签名服务程序对所述业务数据进行签名;
通信单元,用于将签名后的所述业务数据上传至所述区块链。
13.一种计算机设备,其特征在于,所述计算机设备包括:
处理器,适于实现计算机程序;
计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序适于由所述处理器加载并执行如权利要求1-11任一项所述的基于区块链的数据处理方法。
14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序适于由处理器加载并执行如权利要求1-11任一项所述的基于区块链的数据处理方法。
15.一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机程序,所述计算机程序被处理器执行时实现如权利要求1-11任一项所述的基于区块链的数据处理方法。
CN202410068813.8A 2024-01-17 2024-01-17 基于区块链的数据处理方法、装置、设备、介质及产品 Pending CN120337237A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202410068813.8A CN120337237A (zh) 2024-01-17 2024-01-17 基于区块链的数据处理方法、装置、设备、介质及产品

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202410068813.8A CN120337237A (zh) 2024-01-17 2024-01-17 基于区块链的数据处理方法、装置、设备、介质及产品

Publications (1)

Publication Number Publication Date
CN120337237A true CN120337237A (zh) 2025-07-18

Family

ID=96349750

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202410068813.8A Pending CN120337237A (zh) 2024-01-17 2024-01-17 基于区块链的数据处理方法、装置、设备、介质及产品

Country Status (1)

Country Link
CN (1) CN120337237A (zh)

Similar Documents

Publication Publication Date Title
CN112926982B (zh) 一种交易数据处理方法、装置、设备及存储介质
AU2019207312B2 (en) Distributed key management for trusted execution environments
CN110933108B (zh) 基于区块链网络的数据处理方法、装置、电子设备及存储介质
EP3732856B1 (en) System and method for decentralized-identifier authentication
EP3814948B1 (en) System and method for blockchain-based cross-entity authentication
CN112685505B (zh) 一种交易数据处理方法、装置、计算机设备及存储介质
CN111556120B (zh) 基于区块链的数据处理方法、装置、存储介质及设备
CN115412568B (zh) 分布式数据传输方法、装置及系统
JP2022512324A (ja) 外部システムに対してのセキュアな相互運用性を伴う高性能分散型記録システム
CN113255014B (zh) 一种基于区块链的数据处理方法以及相关设备
CN109753815B (zh) 基于区块链的数据处理方法、数据处理网络及电子设备
CN113328997B (zh) 联盟链跨链系统及方法
JP2022509933A (ja) 鍵管理を伴う高性能分散型記録システム
WO2022100679A1 (zh) 一种数据通信方法、装置、计算机设备及存储介质
JP2022508211A (ja) ホストされたオリジンサービスを伴う高性能分散型記録システム
CN113259130B (zh) 一种交易数据处理方法、装置、设备以及介质
CN115409511A (zh) 一种基于区块链的个人信息保护系统
Akhras et al. Ecc: Enhancing smart grid communication with ethereum blockchain, asymmetric cryptography, and cloud services
CN120337237A (zh) 基于区块链的数据处理方法、装置、设备、介质及产品
JP7158690B2 (ja) 情報処理システム、及びプログラム
Ramesh et al. Public auditing for shared data with efficient user revocation in the cloud
Zawawi et al. Realization of a data traceability and recovery service for a trusted authority service co-ordination within a Cloud environment
CN111311412A (zh) 去中心化的交易确认方法、装置及服务器
CN119887200A (zh) 一种基于区块链的数据处理方法、设备以及可读存储介质
HK40046846A (zh) 一种交易数据处理方法、装置、设备及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication