CN116781400A - 一种区块链上链数据处理的方法、系统、装置及电子设备 - Google Patents
一种区块链上链数据处理的方法、系统、装置及电子设备 Download PDFInfo
- Publication number
- CN116781400A CN116781400A CN202310915434.3A CN202310915434A CN116781400A CN 116781400 A CN116781400 A CN 116781400A CN 202310915434 A CN202310915434 A CN 202310915434A CN 116781400 A CN116781400 A CN 116781400A
- Authority
- CN
- China
- Prior art keywords
- key
- data
- uplink
- uplink data
- ciphertext
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 94
- 238000004590 computer program Methods 0.000 claims description 15
- 230000007246 mechanism Effects 0.000 claims description 6
- 230000008569 process Effects 0.000 description 20
- 238000010586 diagram Methods 0.000 description 15
- 238000004364 calculation method Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000005336 cracking Methods 0.000 description 2
- 238000002955 isolation Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请的一些实施例提供了一种区块链上链数据处理的方法、系统、装置及电子设备,该方法包括:向存证网关发送密文请求;接收所述存证网关发送的与所述密文请求对应的保护密钥密文值;基于所述保护密钥密文值,获取上链数据密钥,其中,所述上链数据密钥用于对业务系统的上链数据进行加密得到上链加密数据,所述上链加密数据存储至区块链,所述待处理数据是由所述业务系统对原始数据按照数据加密结构划分得到的。本申请的一些实施例可以提升上链数据密钥的安全性,进而为区块链数据提供安全性保护。
Description
技术领域
本申请涉及区块链技术领域,具体而言,涉及一种区块链上链数据处理的方法、系统、装置及电子设备。
背景技术
区块链对于不同的业务场景一般通过业务系统发起数据上链请求,将数据通过传输,最终保存到区块链上。
目前,区块链数据处理方案中,为了实现对上链数据的保护,一般利用区块链的数据隔离技术,只允许非隔离用户进行查看,或者,利用非对称密钥对数据进行两层加密或者对属性字段无区分进行加密。但是,现有的加密方案的密钥以及加密计算都是在同一个程序或者系统上进行的,存在单点破解的问题,无法确保加密的安全性,进而无法保证区块链数据的安全性。
因此,如何提供一种安全性较高的区块链上链数据处理的方法的技术方案成为亟需解决的技术问题。
发明内容
本申请的一些实施例的目的在于提供一种区块链上链数据处理的方法、系统、装置及电子设备,通过本申请的实施例的技术方案可以确保区块链存储上链数据过程中所有密钥的安全性,进而提升了区块链存储数据的安全性。
第一方面,本申请的一些实施例提供了一种区块链上链数据处理的方法,包括:向存证网关发送密文请求;接收所述存证网关发送的与所述密文请求对应的保护密钥密文值;基于所述保护密钥密文值,获取上链数据密钥,其中,所述上链数据密钥用于对业务系统的待处理数据进行加密得到上链加密数据,所述上链加密数据存储至区块链,所述待处理数据是由所述业务系统对原始数据按照数据加密结构划分得到的。
本申请的一些实施例通过向存证网关发送密文请求得到保护密钥密文值,进而通过保护密钥密文值解密得到上链数据密钥,以进行实现对上链数据的加密和存储至区块链。本申请的一些实施例通过保护密钥密文和上链数据密钥之间的关系,得到上链数据密钥,实现了对区块链存储上链数据过程中所有密钥的安全性保护,进而提升了区块链存储数据的安全性。
在一些实施例,所述基于所述保护密钥密文值,获取上链数据密钥,包括:利用私钥对所述保护密钥密文值进行解密,得到保护密钥,其中,所述保护密钥密文值是由所述私钥对应的公钥对所述保护密钥进行加密得到的;将所述保护密钥作为所述上链数据密钥。
本申请的一些实施例先通过公钥对保护密钥加密得到保护密钥密文值,在后续通过私钥对保护密钥密文值进行解密得到保护密钥,最后将保护密钥作为上链数据密钥。本申请实施例通过非对称密钥对保护密钥加解密可以提升保护密钥的安全性,进而提升了上链数据密钥的安全性。
在一些实施例,所述基于所述保护密钥密文值,获取上链数据密钥,包括:利用私钥对所述保护密钥密文值进行解密,得到保护密钥,其中,所述保护密钥密文值是由所述私钥对应的公钥对所述保护密钥进行加密得到的;利用所述保护密钥对上链数据密钥密文进行解密,得到所述上链数据密钥。
本申请的一些实施例先通过公钥对保护密钥加密得到保护密钥密文值,在后续通过私钥对保护密钥密文值进行解密得到保护密钥,最后利用保护密钥对上链数据密钥密文进行解密得到上链数据密钥。本申请实施例通过三层密钥之间相互加解密,可以实现对所有密钥的安全性保护。
在一些实施例,在所述利用私钥对所述保护密钥密文值进行解密之前,所述方法还包括:通过第三方密钥平台接口,获取第三方密钥存储设备存储的所述私钥;或者,从本地密钥平台的自签证书读取所述私钥。
本申请的一些实施例可以将私钥存储在不同的设备或平台,灵活度较高。
在一些实施例,在所述向存证网关发送密文请求之前,所述方法还包括:获取所述保护密钥密文值和所述业务系统的关联参量;向所述存证网关发送所述保护密钥密文值和所述关联参量,以便于所述存证网关创建将所述保护密钥密文值和所述关联参量绑定的账户。
本申请的一些实施例通过存证网关实现保护密钥密文值和业务系统的关联参量的绑定,为后续数据上链提供的安全性提供保障。
在一些实施例,所述获取所述保护密钥密文值,包括:生成证书请求文件;向证书颁发机构发送所述证书请求文件,生成所述证书颁发机构反馈的数字证书;或者,获取与所述证书请求文件对应的自签证书,并将所述自签证书对应私钥存储至第三方密钥存储设备或本地密钥平台,其中,所述数字证书或所述自签证书对应有私钥和公钥;生成保护密钥和所述上链数据密钥,并利用所述保护密钥对所述上链数据密钥进行加密,得到上链数据密钥密文,其中,所述上链数据密钥密文存储在所述第三方密钥存储设备或所述本地密钥平台;利用所述公钥对所述保护密钥进行加密,得到所述保护密钥密文值。
本申请的一些实施例通过向证书颁发机构获取数字证书或者自己获取自签证书的方式,得到对应的私钥和公钥,进而可以实现对保护密钥和上链数据密钥的加密,得到上链数据密钥密文和保护密钥密文值,实现了密钥的安全性保护。
在一些实施例,在所述向存证网关发送密文请求之前,所述方法还包括:生成证书请求文件、私钥、所述上链数据密钥和保护密钥;利用所述保护密钥对所述上链数据密钥进行加密,得到上链数据密钥密文,其中,所述上链数据密钥密文存储在第三方密钥存储设备或本地密钥平台;向所述存证网关发送所述证书请求文件、所述私钥和所述业务系统的关联参量,其中,所述存证网关用于生成与所述证书请求文件、所述私钥和所述业务系统的关联参量对应的申请信息;所述申请信息用于使所述存证网关发送给证书颁发机构,以得到所述证书颁发机构反馈的数字证书,进而所述存证网关利用所述数字证书对应的公钥对所述保护密钥进行加密,得到所述保护密钥密文,并创建将所述保护密钥密文和所述关联参量绑定的账户。
本申请的一些实施例通过向存证网关发送证书请求文件、私钥和业务系统的关联参量使得存证网关生成申请信息,并基于申请信息向证书颁发机构申请数字证书,存证网关在得到数字证书后可以实现对保护密钥的加密得到保护密钥密文,进而实现保护密钥密文和关联参量的绑定,实现了密钥的安全性保护和信息绑定。
第二方面,本申请的一些实施例提供了一种区块链上链数据处理的方法,包括:获取待处理数据,其中,所述待处理数据是由所述业务系统对原始数据按照数据加密结构划分得到的,所述数据加密结构包括:明文块、加密字段名和加密键值对中的至少一种;利用如第一方面任一实施例所述的方法得到的上链数据密钥对所述待处理数据进行加密,得到加密数据,其中,所述加密数据的结构包括:明文块、加密字段和密文块中的至少一种;向存证网关发送所述加密数据,以便于所述存证网关将所述加密数据上传至区块链,或者以便于所述存证网关对所述加密数据进行再次加密得到上链加密数据并上传至所述区块链。
在一些实施例,所述上链数据密钥还用于当所述业务系统查询所述区块链的数据时,对所述加密数据进行解密,得到所述原始数据。
第三方面,本申请的一些实施例提供了一种区块链上链数据处理的系统,包括:业务系统、加解密模块、存证网关和区块链,所述加解密模块集成于所述业务系统内部,或者所述加解密模块与所述业务系统独立部署连接;所述业务系统,用于对原始数据按照数据加密结构划分得到待处理数据;所述加解密模块,用于利用如第一方面任一实施例所述的方法得到的上链数据密钥对所述待处理数据进行加密,得到加密数据;所述存证网关,用于将所述加密数据上传至所述区块链,或者对所述加密数据进行再次加密得到上链加密数据并上传至所述区块链。
第四方面,本申请的一些实施例提供了一种区块链上链数据处理的装置,包括:发送模块,用于向存证网关发送密文请求;接收模块,用于接收所述存证网关发送的与所述密文请求对应的保护密钥密文值;密钥获取模块,用于基于所述保护密钥密文值,获取上链数据密钥,其中,所述上链数据密钥用于对业务系统的待处理数据进行加密得到上链加密数据,所述上链加密数据存储至区块链,所述待处理数据是由所述业务系统对原始数据按照数据加密结构划分得到的。
第五方面,本申请的一些实施例提供一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时可实现如第一方面或第二方面任一实施例所述的方法。
第六方面,本申请的一些实施例提供一种电子设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其中,所述处理器执行所述程序时可实现如第一方面或第二方面任一实施例所述的方法。
第七方面,本申请的一些实施例提供一种计算机程序产品,所述的计算机程序产品包括计算机程序,其中,所述的计算机程序被处理器执行时可实现如第一方面或第二方面任一实施例所述的方法。
附图说明
为了更清楚地说明本申请的一些实施例的技术方案,下面将对本申请的一些实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请的一些实施例提供的区块链上链数据处理的系统图之一;
图2为本申请的一些实施例提供的区块链上链数据处理的系统图之二;
图3为本申请的一些实施例提供的业务系统110接入数据上链流程的方法流程图;
图4为本申请的一些实施例提供的保护密钥密文值的获取方法流程图;
图5为本申请的一些实施例提供的区块链上链数据处理的方法流程图之一;
图6为本申请的一些实施例提供的区块链上链数据处理的方法流程图之二;
图7为本申请的一些实施例提供的数据结构示意图;
图8为本申请的一些实施例提供的加密数据的结构示意图;
图9为本申请的一些实施例提供的上链数据密钥的获取流程图;
图10为本申请的一些实施例提供的原始数据加密过程示意图;
图11为本申请的一些实施例提供的上链数据解密过程示意图;
图12为本申请的一些实施例提供的区块链上链数据处理的方法流程图之三;
图13为本申请的一些实施例提供的区块链上链数据处理的方法流程图之四;
图14为本申请的一些实施例提供的区块链上链数据处理的系统架构图;
图15为本申请的一些实施例提供的一种区块链上链数据处理的装置组成框图;
图16为本申请的一些实施例提供的一种电子设备示意图。
具体实施方式
下面将结合本申请的一些实施例中的附图,对本申请的一些实施例中的技术方案进行描述。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本申请的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
相关技术中,区块链当前对于不同的场景都是通过业务系统发起数据上链请求,然后把数据通过传输最终保存到区块链上。区块链对于上链的数据是保存在区块链的数据库上,如果采用明文存储容易泄露上链的数据内容。目前已存在的区块链数据加密方案,主要是利用非对称密钥进行两层加密或者对属性字段无区分进行加密,但是,这些方案都存在单点窃密的情况,即可以通过获取保存的一份密钥文件,获取在上链流程的任何一个节点即可解密关联的所有密文信息。对于以上问题,从加密方案或者加密数据有以下的做法:现在的区块链对于上链数据进行保护,存在多种情况:1)利用区块链的数据隔离技术,只允许非隔离用户进行查看;2)采用非对称加密或者对称加密的一种计算,对上链数据进行加密存储;3)采用非对称加密和对称加密的相互结合在智能合约进行多层加密。但是,现有的数据保护技术过于简单或者加密方案的密钥以及加密计算都是在同一个程序或者系统上(例如,智能合约),存在单点破解的问题(例如,通过本地就可以获取解密需要的所有密钥),而且还存在密钥明文方式保存在本地数据库等非专业密钥托管服务,存在极大的安全隐患。另外,现有的加密方案对字段的加密无法进行灵活设置。
鉴于此,本申请的一些实施例提供了一种区块链上链数据处理的方法,该方法通过获取存证网关的保护密钥密文,得到上链数据密钥,以实现对待处理数据的加密和存储至区块链。其中,待处理数据是按照数据加密结构划分的。本申请的一些实施例通过保护密钥和上链数据密钥之间的关联关系,可以提升保护密钥密文和上链数据密钥的安全性。通过数据解密结构划分待处理数据可以实现对原始数据的灵活加密设置。
下面结合附图1示例性阐述本申请的一些实施例提供的区块链上链数据处理的系统的整体组成结构。
如图1所示,本申请的一些实施例提供了一种区块链上链数据处理的系统图,该区块链上链数据处理的系统包括:业务系统110、存证网关120和区块链130,业务系统110还可以包括:加解密模块111。
如图2所示,本申请的另一些实施例提供了一种区块链上链数据处理的系统图,该区块链上链数据处理的系统包括:业务系统110、加解密模块111、存证网关120和区块链130。
需要说明的是,图1和图2中的加解密模块111可以部署在不同的位置。图1中的加解密模块111集成于业务系统110的内部,实现对待处理数据的加解密处理。图2中的加解密模块111独立于业务系统110的外部,业务系统110与加解密模块111连接,实现对待处理数据的加解密处理。具体的,可以根据实际情况确定加解密模块111的部署方式,本申请实施例在此不作具体限定。
下面示例性阐述各单元的具体功能。
在本申请的一些实施例中,业务系统110,用于对原始数据按照数据加密结构划分得到待处理数据。加解密模块111,用于利用上链数据密钥对所述待处理数据进行加密,得到加密数据。存证网关120,用于将所述加密数据上传至区块链130,或者对所述加密数据进行再次加密得到上链加密数据并上传至区块链130。
为了实现对原始数据在存储到区块链整个过程中所有密钥的安全性,下面示例性阐述本申请的一些实施例提供私钥、公钥、保护密钥和上链数据密钥的获取过程以及不同密钥之间的关联关系。
需要说明的是,业务系统110接入存证网关120需要在工作台(相关配置后台)创建业务系统110的账户,生成业务系统110的接入配置数据,业务系统110利用该生成配置数据业务系统可自行实现接入存证网关120或者通过前置服务(也就是通过加解密模块111)实现接入。
下面结合附图3示例性阐述本申请的一些实施例提供的由加解密模块111执行的业务系统110在存证网关120的初始化绑定过程。
请参见附图3,图3为本申请的一些实施例提供的一种业务系统110接入数据上链流程的方法流程图,该方法包括:
S310,获取保护密钥密文值和业务系统的关联参量。
例如,在本申请的一些实施例中,业务系统110的关联参量包括:业务系统110的身份标识和认证方式等关联信息。
下面结合附图4示例性阐述S310中保护密钥密文值的获取过程。
S311,生成证书请求文件。
例如,在本申请的一些实施例中,加解密模块111在本地生成CSR(CertificateSigning Request,证书签名申请)文件。
在本申请的一些实施例中,S312可以包括:向证书颁发机构发送所述证书请求文件,获取所述证书颁发机构反馈的数字证书。
例如,在本申请的一些实施例中,加解密模块111可以将CSR文件作为参数请求第三方平台(作为证书颁发机构的一个具体示例)或者CA(Certificate Authority,证书授权,作为证书颁发机构的一个具体示例)生成账号和数字证书(简称证书)。第三方平台或CA接收申请通过相关的流程签发证书后,对对应业务系统的账号和证书进行绑定。其中,证书对应有私钥和公钥一对非对称密钥。其中,私钥可以是通过第三方密钥托管平台进行生成并给到第三方平台或CA的。具体的,可以根据实际情况进行设定,本申请实施例并不局限于此。
在本申请的另一些实施例中,S312可以包括:获取与证书请求文件对应的自签证书,并将自签证书存储至第三方密钥存储设备或本地密钥平台。
例如,在本申请的另一些实施例中,加解密模块111可以把CSR文件作为参数进行自签证书签发,并把相关的自签证书和对应的私钥、公钥在第三方托管平台(作为第三方密钥存储设备的一个具体示例)或者本地相关存储设备(作为本地密钥平台的一个具体示例)进行保存。
具体的,第三方托管平台可以是与图1或图2中的业务系统110连接的独立平台。本地相关存储设备可以是集成在图1或图2中的业务系统110内部的子设备。本申请实施例在此不作具体限定。
S313,生成保护密钥和所述上链数据密钥。
例如,在本申请的一些实施例中,加解密模块111利用密码算法随机生成两组对称密钥,一组是保护密钥,另一组是上链数据密钥。
S314,利用所述保护密钥对所述上链数据密钥进行加密,得到上链数据密钥密文,其中,所述上链数据密钥密文存储在所述第三方密钥存储设备或所述本地密钥平台。
例如,在本申请的一些实施例中,加解密模块111利用保护密钥对上链数据密钥进行加密后,得到上链数据密钥密文并保存在第三方托管平台或者本地相关存储设备上。
S315,利用所述公钥对所述保护密钥进行加密,得到所述保护密钥密文值。
例如,在本申请的一些实施例中,若加解密模块111是通过第三方平台或者CA得到的数字证书,则利用数字证书对应的公钥对保护密钥进行加密,得到保护密钥密文值。在本申请的另一些实施例中,若加解密模块111是通过自签发的自签证书,则利用自签证书对应的公钥对保护密钥进行加密,得到保护密钥密文值。需要说明的是,无论是第三方得到的数字证书还是自签证书,两者对应的公钥可以是通过相同的密钥算法生成的。本申请实施例在此不作具体限定。
S320,向存证网关发送保护密钥密文值和所述关联参量,以便于存证网关创建将保护密钥密文值和关联参量绑定的账户。
例如,在本申请的一些实施例中,加解密模块111将保护密钥密文值和业务系统110的相关数据(作为关联参量的一个具体示例)作为参数,请求存证网关120进行账户创建,将保护密钥密文值和业务系统的相关数据绑定。存证网关120完成账户创建和绑定以后,完成业务系统110的接入流程。
在本申请的另一些实施例中还提供了一种业务系统110接入数据上链流程的方法,该方法包括:
S1、生成证书请求文件、私钥、所述上链数据密钥和保护密钥。
例如,在本申请的一些实施例中,加解密模块111在本地生成CSR、私钥,以及随机生成两组对称密钥,一组为上链数据密钥,另一组为保护密钥。
S2、利用所述保护密钥对所述上链数据密钥进行加密,得到上链数据密钥密文,其中,所述上链数据密钥密文存储在第三方密钥存储设备或本地密钥平台。
例如,在本申请的一些实施例中,加解密模块111使用保护密钥对上链数据密钥进行加密后保存在第三方托管平台或本地相关存储设备上。
S3、向所述存证网关发送所述证书请求文件、所述私钥和所述业务系统的关联参量,其中,所述存证网关用于生成与所述证书请求文件、所述私钥和所述业务系统的关联参量对应的申请信息;所述申请信息用于使所述存证网关发送给证书颁发机构,以得到所述证书颁发机构反馈的数字证书,进而所述存证网关利用所述数字证书对应的公钥对所述保护密钥进行加密,得到所述保护密钥密文,并创建将所述保护密钥密文和所述关联参量绑定的账户。
例如,在本申请的一些实施例中,与上述图3中的方法实施例不同的是,该实施例的存证网关120可以请求第三方平台或者CA签发对应的数字证书。
具体的,加解密模块111将生成的CSR、私钥和业务系统的相关数据作为参数发送给存证网关120,请求存证网关进行生成申请信息。存证网关120根据申请信息,请求第三方平台或者CA签发对应的数字证书。第三方密钥托管平台接收到申请后,通过相关的流程签发证书,返回相关数字证书和对应的公钥给存证网关120。存证网关120使用数字证书对应的公钥,对保护密钥进行加密得到保护密钥密文值。存证网关120把保护密钥密文值和业务系统的相关数据作为账号关联信息进行账户创建和绑定。存证网关120完成账户创建和绑定以后,完成业务系统110的接入流程。
由上述本申请的一些实施例可知,本申请实施例包括三组密钥,一组为非对称密钥、一组是保护密钥,另一组是上链数据密钥。其中,非对称密钥用于对保护密钥进行加密和解密,保护密钥用于对上链数据密钥进行解密和解密,上链数据密钥用于对待处理数据进行加密和解密实现待处理数据的加密存储。通过本申请的实施例三组密钥的交互加解密,可以提升区块链上链过程中密钥的安全性。
下面结合附图5示例性阐述本申请的一些实施例提供的由加解密模块111执行的区块链上链数据处理的具体过程。
请参见附图5,图5为本申请的一些实施例提供的一种区块链上链数据处理的方法流程图,该方法包括:
S410,向存证网关发送密文请求。
例如,在本申请的一些实施例中,以图1的系统为例,业务系统110启动程序然后同时启动内置的加解密模块111。并且业务系统110还内置有密钥托管模块(图中未示出),密钥托管模块用于存储对保护密钥加解密的公钥和私钥。若以图2的系统为例,加解密模块111为独立模块,则可以不限制业务系统110和加解密模块111的启动顺序。另外,图2中还可以设置有独立的密钥托管模块(图中未示出)。
具体的,加解密模块111通过密钥托管模块向存证网关120发送密文请求。
S420,接收所述存证网关发送的与所述密文请求对应的保护密钥密文值。
例如,在本申请的一些实施例中,存证网关120可以将与密文请求对应的保护密钥密文值反馈给加解密模块111。在本申请的另一些实施例中,若加解密模块111在预设时间内未得到存证网关120反馈的保护密钥密文值,则需要进行业务系统110认证接入流程。具体的可以参照上述提供的业务系统110接入数据上链流程的实施例。为避免重复在此不作赘述。
在本申请的一些实施例中,在执行S430之前,区块链上链数据处理的方法还包括:通过第三方密钥平台接口,获取第三方密钥存储设备存储的所述私钥;或者,从本地密钥平台的自签证书读取所述私钥。
例如,在本申请的一些实施例中,加解密模块111可以通过密钥托管模块,获取第三方密钥托管平台或者其它密码设备、云服务或者本地自签证书对应的私钥。
S430,基于所述保护密钥密文值,获取上链数据密钥,其中,所述上链数据密钥用于对业务系统的待处理数据进行加密得到上链加密数据,所述上链加密数据存储至区块链,所述待处理数据是由所述业务系统对原始数据按照数据加密结构划分得到的。
在本申请的一些实施例中,S430可以包括:利用私钥对所述保护密钥密文值进行解密,得到保护密钥;将所述保护密钥作为所述上链数据密钥。
例如,在本申请的一些实施例中,加解密模块111利用私钥对保护密钥密文值进行解密得到保护密钥,将保护密钥加载在加解密模块111内存中作为上链数据密钥。
在本申请的另一些实施例中,S430可以包括:利用私钥对所述保护密钥密文值进行解密,得到保护密钥;利用所述保护密钥对上链数据密钥密文进行解密,得到所述上链数据密钥。
例如,在本申请的另一些实施例中,加解密模块111利用私钥对保护密钥密文值进行解密得到保护密钥,之后利用保护密钥将存放在第三方托管平台或本地相关存储设备的上链数据密钥加密内容(作为上链数据密钥密文的一个具体示例)进行解密,得到上链数据密钥,并加载在加解密模块111内存中。
下面结合附图6示例性阐述本申请的一些实施例提供的由加解密模块111执行的区块链上链数据处理的具体过程。
请参见附图6,图6为本申请的一些实施例提供的一种区块链上链数据处理的方法流程图,该方法包括:
S510,获取待处理数据,其中,所述待处理数据是由所述业务系统对原始数据按照数据加密结构划分得到的,所述数据加密结构包括:明文块、加密字段名和加密键值对中的至少一种。
例如,在本申请的一些实施例中,加解密模块111可以获取业务系统110对原始数据处理过的待处理数据。可以理解的是,数据加密结构可以只包括明文块,或者数据加密结构可以包括明文块和加密字段名,亦或者数据加密结构还可以包括:明文块、加密字段名和加密键值对。本申请实施例可以根据实际情况设定数据加密结构,本申请实施例在此不作具体限定。
具体的,原始数据是业务系统110产生的数据,在提交到图1或图2系统中的加解密模块111时,可以按照如图7所示的数据结构(作为数据加密结构的一个具体示例)进行构建或者保持原数据的形式。其中,图7的数据结构可以采用多种方式建立:如果原始数据中有需要加密的字段,把需要加密的字段名放到“需加密字段名”块中;如果有需要加密的字段,把需要加密的字段键值对直接放到“需加密键值对”块中;如果有需要加密的字段,根据情况,把一部分需加密字段名放到“需加密字段名”块中,一部分键值对直接放到“需加密键值对”中;对于不需要加密的字段键值对则不用进行以上操作。另外,如果保持原数据形式(即不填写需加密字段名和需加密键值对)。在实际应用中可以在加解密模块111或者存证网关120中预先设置需加密字段,相关模块则按照这些设置进行加解密操作。
S520,利用上链数据密钥对所述待处理数据进行加密,得到加密数据,其中,所述加密数据的结构包括:明文块、加密字段和密文块中的至少一种。
例如,在本申请的一些实施例中,上链数据密钥可以是通过上述图5提供的方法实施例获取的。加解密模块111利用上链数据密钥对待处理数据进行加密后得到的加密数据包括:明文块、密文块、需加密字段名块等等其它内容(可依据实际情况进行添加扩展)。密文块是作为加密数据的一部分,对于原始数据中所有需要加密的内容都会放到密文块中。需加密字段名块作为与密文块平级的字段指定明文有哪些字段是需要加密的,如果需加密字段块指定了加密字段,加解密模块111会从业务系统110请求原始数据中找到这些字段并加密放到密文块中,把不需要加密的字段放到明文块中,最终组成如图8所示的加密数据。需加密字段名可选配,如果不填写需加密字段名内容,则密文块全部字段加密。另外,也可以配置对整个密文块进行加密。本申请实施例在此不作具体限定。
可以理解的是,加密数据的结构可以只包括明文块,也可以只包括明文块和密文块,还可以包括明文块、加密字段和密文块等。在实际应用中可以根据实际情况进行设定,本申请实施例在此不作具体限定。
S530,向存证网关发送所述加密数据,以便于所述存证网关将所述加密数据上传至区块链,或者以便于所述存证网关对所述加密数据进行再次加密得到上链加密数据并上传至所述区块链。
例如,在本申请的一些实施例中,加解密模块111向存证网关120发送加密数据,在进行上链时,可以配置为所有的加密数据进行加密,形成最终提交到区块链的上链加密数据(或称为上链数据)。或者,也可以配置为所有的加密数据不加密,直接提交到区块链存储。
在本申请的一些实施例中,上链数据密钥还用于当所述业务系统查询所述区块链的数据时,对所述加密数据进行解密,得到所述原始数据。
下面以一个具体的实施例示例性阐述S520中上链数据密钥的获取过程。
请参见附图9,图9为本申请的一些实施例提供的上链数据密钥的获取流程图,该方法包括:
S810,加解密模块111向存证网关120请求保护密钥密文值。
S820,存证网关120返回保护密钥密文值给加解密模块111。之后执行S831或S832。
S831,加解密模块111通过调用第三方密钥平台接口从第三方密钥平台112获取私钥;
S832,加解密模块111从本地密钥平台113获取私钥。
S840,加解密模块111利用私钥解密保护密钥密文值,得到保护密钥。
S850,加解密模块111利用保护密钥解密上链数据密钥密文,得到上链数据密钥。
S860,将上链数据密钥加载到加解密模块111的内存中,以便于后续利用上链数据密钥对相应的数据进行加解密操作。
具体的,本地密钥平台113和加解密模块111均可以集成于业务系统110的内部。第三方密钥平台112独立于业务系统110部署。或者,加解密模块111也可以独立于业务系统110部署,具体的可以根据实际应用进行灵活部署,本申请实施例在此不作具体限定。另外,S810~S860的具体实现细节可参照上述提供的方法实施例,为避免重复,在此不作赘述。
下面示例性阐述业务系统110、加解密模块111对原始数据进行加密和解密的具体过程。
请参见附图10所示的原始数据进行加密过程。业务系统110的原始数据的数据结构包括:明文块、需加密字段名和需加密键值对。加解密模块111针对业务系统110按照数据结构划分好的待处理数据分别进行处理。例如,明文块的数据不作任何处理放置到加密数据的明文块。将需加密字段名、需加密键值对和明文块中需要加密字段均加密得到密文块。需加密字段名也可以单独加密得到加密数据中的需加密字段。加解密模块111将加密数据发送至存证网关120,存证网关根据配置对加密数据进行全加密或者不加密作为上链数据。
请参见附图11所示的对上链数据进行解密的过程。若存证网关120对上链数据先前进行了全加密,则需要对其进行解密得到加解密模块111的加密数据。其中,存证网关120对加密数据进行全加密或解密可以采用对称密钥或非对称密钥,本申请实施例在此不作具体限定。加解密模块111在得到加密数据后,可以利用上链数据密钥对密文块、需加密字段的内容进行解密,得到原始数据。
下面结合附图12示例性阐述本申请的一些实施例提供的区块链上链数据处理的具体过程。
请参见附图12,图12为本申请的一些实施例提供的一种区块链上链数据处理的方法流程图,下述实施例是以业务系统110将数据存储至区块链130的数据时的实现流程,具体的该方法包括:
S1001、当业务系统110发起上链请求,并按照数据结构整合原始数据,得到待处理数据。
S1002、加解密模块111利用上链数据密钥对待处理数据进行加密,得到加密数据并提交给存证网关120。
例如,业务系统110调用加解密模块111实现对待处理数据的加密块的加密,包括字段级和加密块级别的加密,然后提交到存证网关120。
S1003、存证网关120对加密数据进行全文加密,提交到区块链130进行保存。
请参见附图13,图13为本申请的一些实施例提供的一种区块链上链数据处理的方法流程图。下述实施例是以业务系统110查询区块链130的数据时的实现流程,具体的该方法包括:
S1004、当业务系统110发起查询数据请求时,区块链130将上链数据发送给存证网关120。
S1005、存证网关120对上链数据进行全文解密,得到加密数据并提交给加解密模块111。
S1006、加解密模块111利用上链数据密钥对加密数据进行解密,得到原始数据。
在本申请的一些实施例中还提供了图14所示的一种区块链上链数据处理的系统架构图,该系统架构图包括:密钥托管设备140、业务层的业务系统110、中间层的网关端121和存储层的区块链130。
具体的,业务系统110进行基本的加密逻辑,业务系统110的密钥通过密钥托管设备进行托管存放,网关端121(中间层)作为存证网关120做可配置的加密操作,区块链(存储层)130作为存储数据端。对区块链应用场景下的网络架构(如下图),业务系统110可以自行引入加解密模块111或者采用独立运行的加解密模块111(也可以称为前置服务)。密钥托管设备包括密钥专用设备,如签名验签服务器和密钥管理设备等,也包括具有安全保护的文件存储系统。
通过上述本申请提供的一些实施例,可以得知本申请具体如下优势:
1)提高密钥安全度,业务系统的密钥是一对非对称密钥,其密钥是存放到专门设备中,并且密钥之间进行交叉加密保存,业务系统密钥的公钥对保护密钥进行加密,加载时使用私钥进行解密,上链数据密钥使用保护密钥进行加密和解密使用,这有别于明文存储密钥导致密钥被窃取以后直接进行加解密操作,极大防止密钥泄露。
2)防止单点破解,密钥存放在不同的环境中,基于密钥的相互加密形成的交叉锁,首先无法在单点(某个系统或者设备上)直接获取密钥明文(因为根据以上第一点密钥交叉加密),其次获取了密钥明文也无法直接对数据密文直接解密,保护了数据的安全。譬如在区块链上获取了加密数据,但是上链数据密钥是存放在业务系统的,而上链数据密钥是经过保护密钥进行加密的,保护密钥存放在存证网关对应的存储库中,保护密钥是通过业务系统密钥的公钥进行加密的,而业务系统密钥是存放在专业密钥托管设备中,所以需要破解数据的加密密钥就必须把整个上链流程的所有服务都必须进行破解才能进行解密操作。
3)基于多服务环境交叉的多层加密,在业务系统层,进行字段级加密以及密文块加密两层加密(可选配一层或者两层或者多层,基于上链数据密钥的数量而定),从业务层开始进行明文屏蔽,所有明文信息只可能在业务系统上存在;业务层数据传送到网关层,网关层会对上链数据(包括明文块和密文块)进行加密(可选配是否加密),最终提交到区块链的数据库上。
4)优化的数据结构实现可选配的字段加密,由于上链数据存在一些元数据或者可公开的数据,在公共服务平台(譬如门户)展示或者提供权威的机构系统进行数据计算和统计等。本发明方案可以基于灵活的字段选配,指定密文块字段的方式,可指定需要加密的内容,保留元数据和明文字段,其灵活度更高,而且是有业务系统进行指定的,每一次上链的数据都可以存在不同的待加密内容,有别于一般的加密方案对全部内容进行加密,灵活性差,可扩展能力较低。
请参考图15,图15示出了本申请的一些实施例提供的区块链上链数据处理的装置的组成框图。应理解,该区块链上链数据处理的装置与上述方法实施例对应,能够执行上述方法实施例涉及的各个步骤,该区块链上链数据处理的装置的具体功能可以参见上文中的描述,为避免重复,此处适当省略详细描述。
图15的区块链上链数据处理的装置包括至少一个能以软件或固件的形式存储于存储器中或固化在区块链上链数据处理的装置中的软件功能模块,该区块链上链数据处理的装置包括:发送模块1410,用于向存证网关发送密文请求;接收模块1420,用于接收所述存证网关发送的与所述密文请求对应的保护密钥密文值;密钥获取模块1430,用于基于所述保护密钥密文值,获取上链数据密钥,其中,所述上链数据密钥用于对业务系统的待处理数据进行加密得到上链加密数据,所述上链加密数据存储至区块链,所述待处理数据是由所述业务系统对原始数据按照数据加密结构划分得到的。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置的具体工作过程,可以参考前述方法中的对应过程,在此不再过多赘述。
本申请的一些实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时可实现如上述实施例提供的上述方法中的任意实施例所对应方法的操作。
本申请的一些实施例还提供了一种计算机程序产品,所述的计算机程序产品包括计算机程序,其中,所述的计算机程序被处理器执行时可实现如上述实施例提供的上述方法中的任意实施例所对应方法的操作。
如图16所示,本申请的一些实施例提供一种电子设备1500,该电子设备1500包括:存储器1510、处理器1520以及存储在存储器1510上并可在处理器1520上运行的计算机程序,其中,处理器1520通过总线1530从存储器1510读取程序并执行所述程序时可实现如上述任意实施例的方法。
处理器1520可以处理数字信号,可以包括各种计算结构。例如复杂指令集计算机结构、结构精简指令集计算机结构或者一种实行多种指令集组合的结构。在一些示例中,处理器1520可以是微处理器。
存储器1510可以用于存储由处理器1520执行的指令或指令执行过程中相关的数据。这些指令和/或数据可以包括代码,用于实现本申请实施例描述的一个或多个模块的一些功能或者全部功能。本公开实施例的处理器1520可以用于执行存储器1510中的指令以实现上述所示的方法。存储器1510包括动态随机存取存储器、静态随机存取存储器、闪存、光存储器或其它本领域技术人员所熟知的存储器。
以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
Claims (12)
1.一种区块链上链数据处理的方法,其特征在于,包括:
向存证网关发送密文请求;
接收所述存证网关发送的与所述密文请求对应的保护密钥密文值;
基于所述保护密钥密文值,获取上链数据密钥,其中,所述上链数据密钥用于对业务系统的待处理数据进行加密得到上链加密数据,所述上链加密数据存储至区块链,所述待处理数据是由所述业务系统对原始数据按照数据加密结构划分得到的。
2.如权利要求1所述的方法,其特征在于,所述基于所述保护密钥密文值,获取上链数据密钥,包括:
利用私钥对所述保护密钥密文值进行解密,得到保护密钥,其中,所述保护密钥密文值是由所述私钥对应的公钥对所述保护密钥进行加密得到的;
将所述保护密钥作为所述上链数据密钥。
3.如权利要求1所述的方法,其特征在于,所述基于所述保护密钥密文值,获取上链数据密钥,包括:
利用私钥对所述保护密钥密文值进行解密得到保护密钥,其中,所述保护密钥密文值是由所述私钥对应的公钥对所述保护密钥进行加密得到的,所述私钥是从本地密钥平台的自签证书读取的;或者,接收第三方密钥存储设备发送的所述保护密钥,其中,所述保护密钥是由所述第三方密钥存储设备的所述私钥对所述保护密钥密文值解密得到的;
利用所述保护密钥对上链数据密钥密文进行解密,得到所述上链数据密钥。
4.如权利要求1-3中任一项所述的方法,其特征在于,在所述向存证网关发送密文请求之前,所述方法还包括:
获取所述保护密钥密文值和所述业务系统的关联参量;
向所述存证网关发送所述保护密钥密文值和所述关联参量,以便于所述存证网关创建将所述保护密钥密文值和所述关联参量绑定的账户。
5.如权利要求4所述的方法,其特征在于,所述获取所述保护密钥密文值,包括:
生成证书请求文件;
向证书颁发机构发送所述证书请求文件,获取所述证书颁发机构反馈的数字证书及密钥对;或者,自行生成与所述证书请求文件对应的自签证书及密钥对,并将所述自签证书对应私钥存储至第三方密钥存储设备或本地密钥平台,其中,所述密钥对包括:所述上链数据密钥和所述保护密钥,所述数字证书或所述自签证书对应有私钥和公钥;
利用所述保护密钥对所述上链数据密钥进行加密,得到上链数据密钥密文,其中,所述上链数据密钥密文存储在所述第三方密钥存储设备或所述本地密钥平台;
利用所述公钥对所述保护密钥进行加密,得到所述保护密钥密文值。
6.如权利要求1-3中任一项所述的方法,其特征在于,在所述向存证网关发送密文请求之前,所述方法还包括:
生成证书请求文件、所述上链数据密钥和保护密钥;
利用所述保护密钥对所述上链数据密钥进行加密,得到上链数据密钥密文,其中,所述上链数据密钥密文存储在第三方密钥存储设备或本地密钥平台;
向所述存证网关发送所述证书请求文件和所述业务系统的关联参量,其中,所述存证网关用于生成与所述证书请求文件和所述业务系统的关联参量对应的申请信息;所述申请信息用于使所述存证网关发送给证书颁发机构,以得到所述证书颁发机构反馈的数字证书,进而所述存证网关利用所述数字证书对应的公钥对所述保护密钥进行加密,得到所述保护密钥密文,并创建将所述保护密钥密文和所述关联参量绑定的账户。
7.一种区块链上链数据处理的方法,其特征在于,包括:
读取原始数据中的数据,其中,所述数据包括:明文块、加密字段名和加密键值对中的至少一种;
利用如权利要求1~6中任一项权利要求所述的方法得到的上链数据密钥对所述加密字段名和所述加密键值对进行加密,得到加密数据;
向存证网关发送所述加密数据和所述明文块,以便于所述存证网关将所述加密数据和所述明文块上传至区块链,或者以便于所述存证网关对所述加密数据和所述明文块进行再次加密得到上链加密数据并上传至所述区块链。
8.如权利要求7所述的方法,其特征在于,所述上链数据密钥还用于当业务系统查询所述区块链的数据时,对所述加密数据进行解密,得到所述原始数据。
9.一种区块链上链数据处理的系统,其特征在于,包括:业务系统、加解密模块、存证网关和区块链,所述加解密模块集成于所述业务系统内部,或者所述加解密模块与所述业务系统独立部署连接;
所述业务系统,用于对原始数据按照数据加密结构划分得到待处理数据;
所述加解密模块,用于利用如权利要求1~7中任一项权利要求所述的方法得到的上链数据密钥对所述待处理数据进行加密,得到加密数据;
所述存证网关,用于将所述加密数据上传至所述区块链,或者对所述加密数据进行再次加密得到上链加密数据并上传至所述区块链。
10.一种区块链上链数据处理的装置,其特征在于,包括:
发送模块,用于向存证网关发送密文请求;
接收模块,用于接收所述存证网关发送的与所述密文请求对应的保护密钥密文值;
密钥获取模块,用于基于所述保护密钥密文值,获取上链数据密钥,其中,所述上链数据密钥用于对业务系统的待处理数据进行加密得到上链加密数据,所述上链加密数据存储至区块链,所述待处理数据是由所述业务系统对原始数据按照数据加密结构划分得到的。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,其中,所述计算机程序被处理器运行时执行如权利要求1-8中任意一项权利要求所述的方法。
12.一种电子设备,其特征在于,包括存储器、处理器以及存储在所述存储器上并在所述处理器上运行的计算机程序,其中,所述计算机程序被所述处理器运行时执行如权利要求1-8中任意一项权利要求所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310915434.3A CN116781400A (zh) | 2023-07-25 | 2023-07-25 | 一种区块链上链数据处理的方法、系统、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310915434.3A CN116781400A (zh) | 2023-07-25 | 2023-07-25 | 一种区块链上链数据处理的方法、系统、装置及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116781400A true CN116781400A (zh) | 2023-09-19 |
Family
ID=88013508
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310915434.3A Pending CN116781400A (zh) | 2023-07-25 | 2023-07-25 | 一种区块链上链数据处理的方法、系统、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116781400A (zh) |
-
2023
- 2023-07-25 CN CN202310915434.3A patent/CN116781400A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109144961B (zh) | 授权文件共享方法及装置 | |
US11108753B2 (en) | Securing files using per-file key encryption | |
CN108768951B (zh) | 一种云环境下保护文件隐私的数据加密和检索方法 | |
US7975312B2 (en) | Token passing technique for media playback devices | |
US20140112470A1 (en) | Method and system for key generation, backup, and migration based on trusted computing | |
US10880100B2 (en) | Apparatus and method for certificate enrollment | |
CN106487763B (zh) | 一种基于云计算平台的数据访问方法及用户终端 | |
US20220014367A1 (en) | Decentralized computing systems and methods for performing actions using stored private data | |
WO2004034184A3 (en) | Encrypting operating system | |
CN105245328A (zh) | 一种基于第三方的用户及文件的密钥产生管理方法 | |
KR20140099325A (ko) | 글로벌 플랫폼 규격을 사용하는 발행자 보안 도메인에 대한 키 관리 시스템 및 방법 | |
US11831753B2 (en) | Secure distributed key management system | |
CN109525388B (zh) | 一种密钥分离的组合加密方法及系统 | |
CN103152322A (zh) | 数据加密保护方法及系统 | |
KR102282788B1 (ko) | 트랜잭션에 포함된 평문 데이터의 변경을 지원하는 블록체인 시스템 | |
CN111193755B (zh) | 数据访问、数据加密方法及数据加密与访问系统 | |
CN106326666A (zh) | 一种健康档案信息管理服务系统 | |
KR20210058313A (ko) | 클라우드 환경에서 안전하고 효율적인 데이터 공유를 위한 속성기반 암호를 활용한 데이터 접근 제어 방법 및 시스템 | |
CN111191217A (zh) | 一种密码管理方法及相关装置 | |
CN114826702B (zh) | 数据库访问密码加密方法、装置和计算机设备 | |
Thilakanathan et al. | Secure multiparty data sharing in the cloud using hardware-based TPM devices | |
CN108055127A (zh) | 计算与数据分离支持热更新加密算法和密钥数据加密方法 | |
JP2006279269A (ja) | 情報管理装置、情報管理システム、ネットワークシステム、ユーザ端末、及びこれらのプログラム | |
JP4995667B2 (ja) | 情報処理装置、サーバ装置、情報処理プログラム及び方法 | |
US8755521B2 (en) | Security method and system for media playback devices |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |