CN115982776A - 一种区块链的数据加密保护方法及系统 - Google Patents
一种区块链的数据加密保护方法及系统 Download PDFInfo
- Publication number
- CN115982776A CN115982776A CN202310072607.XA CN202310072607A CN115982776A CN 115982776 A CN115982776 A CN 115982776A CN 202310072607 A CN202310072607 A CN 202310072607A CN 115982776 A CN115982776 A CN 115982776A
- Authority
- CN
- China
- Prior art keywords
- node
- user data
- data
- key
- user
- 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
Images
Landscapes
- Storage Device Security (AREA)
Abstract
本发明公开一种区块链的数据加密保护方法及系统,涉及区块链技术领域。本申请的区块链的数据加密保护方法应用于区块链系统中,通过将区块链系统中的节点定义为授权节点和非授权节点,授权节点存储用户数据摘要值和用户数据,非授权节点仅存储用户数据摘要值。同时,在各节点间分发包含有用户数据的过程中,基于密码服务节点对所发送的数据进行加密,从而实现对区块链中重要数据的保护和隔离,提高数据的安全性。
Description
技术领域
本发明涉及区块链技术领域,尤其涉及一种区块链的数据加密保护方法及系统。
背景技术
区块链技术是利用块链式数据结构来验证与存储数据、利用分布式节点共识算法来生成和更新数据、利用密码学的方式保证数据传输和访问的安全、利用由自动化脚本代码组成的智能合约来编程和操作数据的一种全新的分布式基础架构与计算形式。区块链技术实际上是一种互联网数据库技术,也被称之为分布式账本技术,其特点是去中心化、公开透明,让每个人均可参与数据库记录。由于分布式账本自身的特性,所有节点上的用户都可以获得其他节点的账本数据,无法保证用户数据隐私。
目前,在数据隔离和隐私保护方面,部分区块链采用了“区块链子网”和“账本加密”机制。“账本加密”机制对账本中存储的数据进行加密保护,密文保存在“区块链子网”的所有节点上,相对于区块链网络所有节点共享一个账本的方式,“区块链子网”提供了一定的隐私保护能力,但其属于粗粒度隐私保护,对“区块链子网”内的节点不存在隐私保护能力,且子网管理维护复杂。
发明内容
本发明旨在至少解决现有技术中存在的技术问题之一。为此,本发明提出一种区块链的数据加密保护方法及系统,能够对区块链系统中的用户数据进行隔离和保护。
一方面,本发明实施例提供了一种区块链的数据加密保护方法,所述区块链的数据加密保护方法应用于区块链系统,所述区块链系统包括区块链用户节点、背书节点、排序节点、记账节点和密码服务节点,所述记账节点被标记为授权节点和非授权节点,所述区块链的数据加密保护方法包括:
所述区块链用户节点基于所述密码服务节点加密交易提案并将所述交易提案提交至所述背书节点,其中,所述交易提案包括用户数据;
所述背书节点基于所述交易提案生成提案交易结果,将所述提案交易结果返回至所述区块链用户节点,基于所述密码服务节点加密所述用户数据并将所述用户数据同步至所述授权节点,其中,所述提案交易结果包括用户数据摘要值;
所述排序节点接收来自所述区块链用户节点的提案交易结果,打包多个所述提案交易结果得到区块数据,将所述区块数据广播至记账节点,其中,所述区块数据包括用户数据摘要值;
所述记账节点保存所述区块数据,其中,所述授权节点保存用户数据摘要值和用户数据,所述非授权节点保存用户数据摘要值。
根据本发明一些实施例,所述区块链用户节点、所述背书节点、所述排序节点和所述记账节点分别调用所属的密码服务节点,实现密码服务和密钥管理功能,所述密码服务和密钥管理功能包括:
调用密码服务节点所属的硬件密码设备实现会话密钥、节点密钥、存储密钥、传输密钥的安全生成、存储与使用功能;
调用密码服务节点所属的硬件密码设备实现用户数据、密钥数据的加密与解密、数字签名与验证、摘要计算、时间戳生成及验证密码功能。
根据本发明一些实施例,对于所述区块链用户节点提交交易提案至所述背书节点的过程,所述区块链用户节点作为用户数据发送方;
对于所述背书节点将所述用户数据同步至所述授权节点的过程,所述背书节点作为用户数据发送方;
所述用户数据发送方执行以下步骤:
从所述密码服务节点中获取用户数据接收方的接收节点密钥;
根据随机生成的会话密钥对所述用户数据进行加密得到第一用户数据密文;
根据所述接收节点密钥对所述会话密钥进行安全封装,生成并发送包含第一用户数据密文和会话密钥密文的安全交易域信息。
根据本发明一些实施例,对于所述区块链用户节点提交交易提案至所述背书节点的过程,所述背书节点作为用户数据接收方;
对于所述背书节点将所述用户数据同步至所述授权节点的过程,所述授权节点作为用户数据接收方;
所述用户数据接收方执行以下步骤:
采用接收节点密钥解密安全交易域信息中的会话密钥密文,得到会话密钥;
采用所述会话密钥解密安全交易域信息中的所述第一用户数据密文,得到用户数据;
根据生成的临时存储密钥对所述用户数据进行加密,得到第二用户数据密文;
将所述第二用户数据密文保存在本地临时数据库中。
根据本发明一些实施例,在解密得到用户数据后,所述背书节点还执行以下步骤:
计算所述用户数据的摘要值,得到用户数据摘要值;
将所述用户数据摘要值作为交易信息保存至所述提案交易结果中。
根据本发明一些实施例,被标记为授权节点的所述记账节点还用于:
响应于所述区块数据,获取本地临时数据库中的用户数据;
采用所述区块数据中的用户数据摘要值验证所述用户数据,将通过验证的对应的提案交易结果写入本地区块链账本中;
根据生成的本地存储密钥加密所述用户数据,得到第三用户数据密文;
将所述第三用户数据密文保存至本地私有数据库并删除所述本地临时数据库中的用户数据。
根据本发明一些实施例,所述被标记为授权节点的所述记账节点还执行以下步骤:
响应于所述区块数据,判断本地临时数据库是否存在用户数据;
当存在用户数据,则使用临时存储密钥解密本地临时数据库中的第二用户数据密文,得到用户数据;
当不存在用户数据,则从当前授权节点之外的授权节点的本地临时数据库获取用户数据。
根据本发明一些实施例,所述密码服务节点包括:
密码服务接口单元,提供标准的区块链密码服务功能接口,以供所述区块链用户节点、所述背书节点、所述记账节点、所述排序节点调用;
密码服务功能单元,接收密码服务接口单元的密码服务请求,通过调用密码运算功能单元实现密码服务请求所需的数据加密与解密、数字签名与验证、数据摘要计算与验证、时间戳生成及验证密码功能;
密钥管理功能单元,接收密码服务接口单元的密钥管理请求,通过调用密码运算功能单元实现密钥的安全生成、存储、使用过程,管理授权节点的身份标识与鉴别凭证;
密码运算功能单元,由硬件密码设备组成,接收来自于所述密码服务功能单元和所述密钥管理功能单元的密码运算请求,通过硬件密码设备内集成的密码芯片与安全芯片,实现所需的随机数及密钥生成、密钥存储与使用、数据加解密、数字签名与验证密码功能,支持多个硬件密码设备的负载均衡及兼容不同类型的硬件密码设备。
另一方面,本发明实施例还提供了一种区块链的数据加密保护系统,包括区块链用户节点、背书节点、排序节点、记账节点和密码服务节点,所述记账节点被标记为授权节点和非授权节点;
所述区块链用户节点用于:基于所述密码服务节点加密交易提案并将所述交易提案提交至所述背书节点,其中,所述交易提案包括用户数据;
所述背书节点用于:基于所述交易提案生成提案交易结果,将所述提案交易结果返回至所述区块链用户节点,基于所述密码服务节点加密所述用户数据并将所述用户数据同步至所述授权节点,其中,所述提案交易结果包括用户数据摘要值;
所述排序节点用于:接收来自所述区块链用户节点的提案交易结果,打包多个所述提案交易结果得到区块数据,将所述区块数据广播至记账节点,其中,所述区块数据包括用户数据摘要值;
所述记账节点用于:保存所述区块数据,其中,所述授权节点保存用户数据摘要值和用户数据,所述非授权节点保存用户数据摘要值。
本发明上述的技术方案至少具有如下优点或有益效果之一:本发明实施例的区块链的数据加密保护方法应用于区块链系统中,通过将区块链系统中的节点定义为授权节点和非授权节点,授权节点存储用户数据摘要值和用户数据,非授权节点仅存储用户数据摘要值。同时,在各节点间分发包含有用户数据的过程中,基于密码服务节点对所发送的数据进行加密,从而实现对区块链中重要数据的保护和隔离,提高数据的安全性。
附图说明
图1是本发明实施例提供的区块链的数据加密保护方法流程图;
图2是本发明实施例提供的密码服务节点中的密码服务与密钥管理系统示意图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或者类似的标号表示相同或者类似的原件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。
在本发明的描述中,需要理解的是,涉及到方位描述,例如上、下、左、右等指示的方位或者位置关系为基于附图所示的方位或者位置关系,仅是为了便于描述本发明和简化描述,而不是指示或者暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
本发明的描述中,如果有描述到第一、第二等只是用于区分技术特征为目的,而不能理解为指示或者暗示相对重要性或者隐含指明所指示的技术特征的数量或者隐含指明所指示的技术特征的先后关系。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
对本申请实施例进行进一步详细说明之前,对本申请实施例中涉及的名词和术语进行说明,本申请实施例中涉及的名词和术语适用于如下的解释。
区块链系统包括多个不同类型节点,提供数据存储服务,以及数据查询服务。每个区块链节点上配置有同一条区块链,该区块链可以为联盟链、许可链等。其中,该区块链节点上的操作可以由作为区块链节点的服务器实现。
许可链指每一个参与到区块链系统的节点都是经过许可的,如果未经许可的节点是不可以加入到区块链系统当中。
联盟链,也称共同体区块链,是指其共识过程受到预选节点控制的区块链。在联盟链中,只针对链内的节点成员开放全部或部分功能,联盟链中的各个区块链节点可以基于需要定制读写权限、查询权限等。
智能合约:根据特定条件自动执行的合约程序,是用户与区块链进行交互,利用区块链实现业务逻辑的重要途径。
背书策略信息:用于指示数据存储系统中背书过程需满足的必要条件。例如,该背书策略可以指示需要背书的多个背书节点,形成一个背书节点集合,背书过程则需要该背书节点集合的联合签名。
摘要算法:对一份数据,进行一个单向的Hash函数,生成一个固定长度的Hash值,这个值就是这份数据的摘要,也称为指纹。对于同一个摘要算法,无论输入的数据是什么,输出都是相同长度的值。摘要算法是单向的,只能根据原始数据计算出它的摘要值,但是不能根据摘要值反算出原始数据。
本发明实施例提供了一种区块链的数据加密保护方法,其应用于区块链系统,区块链系统包括区块链用户节点、背书节点、排序节点、记账节点和密码服务节点,记账节点被标记为授权节点和非授权节点。
参照图1,区块链的数据加密保护方法包括以下步骤:
步骤S10,基于密码服务节点加密交易提案并将交易提案提交至背书节点,其中,交易提案包括用户数据;
步骤S20,背书节点基于交易提案生成提案交易结果,将提案交易结果返回至区块链用户节点,基于密码服务节点加密用户数据并将用户数据同步至授权节点,其中,提案交易结果包括用户数据摘要值;
步骤S30,排序节点接收来自区块链用户节点的提案交易结果,打包多个提案交易结果得到区块数据,将区块数据广播至记账节点,其中,区块数据包括用户数据摘要值;
步骤S40,记账节点保存区块数据,其中,授权节点保存用户数据摘要值和用户数据,非授权节点保存用户数据摘要值。
具体地,可以将区块链子网中的所有交易节点分别设置为授权节点或者非授权节点,然后再从授权节点中选择部分节点作为背书节点,即一个节点可以同时作为背书节点和记账节点,作为背书节点时要求该节点为授权节点,作为记账节点时该节点可以是授权节点也可以是非授权节点。授权节点允许存储与操作用户数据本身,非授权节点只允许存储与操作用户数据的摘要值,背书节点属于授权节点的子集。区块链用户节点为请求数据存储或者数据查询的用户终端,通过在用户终端安装区块链应用程序,使其成为区块链用户节点。
用户数据在区块链或者区块链子网范围内的安全分发与存储,具体过程如下:
在交易提案阶段,区块链用户节点提交包含敏感的用户数据密文的交易提案;
在交易背书阶段,背书节点执行模拟交易并生成提案交易结果,返回仅包含用户数据摘要值的提案交易结果给区块链用户节点,对用户数据进行本地加密存储并同步至其他授权节点;
在交易排序阶段,区块链用户节点发送提案交易结果至排序节点,排序节点对多个交易进行排序并打包成新的区块数据后,广播给记账节点;
在交易确认阶段,记账节点对新增的区块数据进行验证并写入到区块链账本中。
在本实施例中,区块链用户节点验证接收的提案交易结果,发送通过验证的交易给排序节点,交易中保存的是用户数据摘要值。排序节点接收到来自多个区块链用户的交易,对多个交易进行排序并打包成新增区块数据,排序节点处理和存储的是用户数据摘要值。排序节点将新增区块数据广播给区块链子网的记账节点,新增区块数据中保存的是用户数据摘要值。
对于不具备访问该用户数据权限的记账节点,即非授权节点,直接将新增区块数据写入本地区块链账本中。对于具备访问该用户数据权限的记账节点,即授权节点,可基于区块数据中的用户数据摘要值以及从背书节点同步到的用户数据,将区块数据写入本地区块链账本中,并保存用户数据在本地私有数据库中,从而能够实现敏感的用户数据在自定义的可信范围内分发,同时不影响正常的数据交易流程。
根据本发明一些具体实施例,区块链用户节点、背书节点、排序节点和记账节点分别调用所属的密码服务节点,实现密码服务和密钥管理功能。
具体地,密码服务节点基于硬件密码设备实现区块链用户节点、背书节点、记账节点、排序节点所需的各项密码功能,具体包括:
调用密码服务节点所属的硬件密码设备实现会话密钥、节点密钥、存储密钥、传输密钥等的安全生成、存储与使用等;
调用密码服务节点所属的硬件密码设备实现用户数据、密钥数据等的加密与解密、数字签名与验证、摘要计算等。
根据本发明一些具体实施例,用户数据在不同节点之间安全传输过程中,作为用户数据发送方,其进行数据发送前的针对数据保护过程如下:
从密码服务节点中获取用户数据接收方的接收节点密钥;
根据随机生成的会话密钥对用户数据进行加密得到第一用户数据密文;
根据接收节点密钥对会话密钥进行安全封装,生成并发送包含第一用户数据密文和会话密钥密文的安全交易域信息。
在一种实施例中,在区块链用户节点提交交易提案至背书节点的过程,区块链用户节点作为用户数据发送方,区块链用户节点的执行过程如下:
从所属密码服务节点中,获取用户数据将分发的各背书节点的身份标识与鉴别凭证,并验证其真实性和有效性;
生成随机会话密钥,使用该会话密钥对用户数据进行加密,得到第一用户数据密文;
使用背书节点的节点密钥对会话密钥进行安全封装,从而生成包含第一用户数据密文和会话密钥密文的安全交易域信息;
对安全交易域信息附加时间戳后使用应用密钥进行数字签名,并把该数字签名附在安全交易域信息后;
将包含第一用户数据密文的交易提案发给背书策略定义的背书节点。
在另外一种实施例中,对于背书节点将用户数据同步至其他授权节点的过程,或者说授权节点之间传输用户数据的过程,拥有用户数据的授权节点作为用户数据发送方,发送数据的授权节点的执行过程如下:
拥有用户数据的授权节点从所属的密码服务节点中,获取用户数据将分发的授权节点的身份标识与鉴别凭证,并验证其真实性和有效性;
拥有用户数据的授权节点生成随机会话密钥,使用该会话密钥对用户数据进行加密;
使用接收数据的授权节点密钥对会话密钥进行安全封装,生成包含第一用户数据密文和会话密钥密文的安全交易域信息;
对安全交易域信息附加时间戳后使用本节点密钥进行数字签名,并把该数字签名附在安全交易域信息后;
拥有用户数据的授权节点把安全交易域信息发送给其他接收数据的授权节点。
根据本发明一些具体实施例,用户数据在不同节点之间安全传输过程中,作为用户数据接收方,其接收到安全交易域信息后的处理过程如下:
采用接收节点密钥解密安全交易域信息中的会话密钥密文,得到会话密钥;
采用会话密钥解密安全交易域信息中的第一用户数据密文,得到用户数据;
根据生成的临时存储密钥对用户数据进行加密,得到第二用户数据密文;
将第二用户数据密文保存在本地临时数据库中。
在一种实施例中,在区块链用户节点提交交易提案至背书节点的过程,背书节点作为用户数据接收方,背书节点的执行过程如下:
背书节点接收到交易提案后,验证其中安全交易域信息的完整性;
使用背书节点密钥解密安全交易域信息中的会话密钥密文,得到会话密钥;
使用会话密钥解密安全交易域信息中的第一用户数据密文,得到用户数据;
背书节点使用用户数据明文等信息执行模拟交易,以确认交易是否可行;
对于确认可行的交易,背书节点计算用户数据的摘要值得到用户数据摘要值;
将用户数据摘要值作为交易信息放置到提案交易结果中;
将提案交易结果返回至区块链用户节点,其中,提案交易结果中包含用户数据摘要值,不包含用户数据本身;
背书节点生成临时存储密钥并使用临时存储密钥加密用户数据得到第二用户数据密文,将第二用户数据密文存储在本地区块链系统的本地临时数据库中。
在另外一种实施例中,对于背书节点将用户数据同步至其他授权节点的过程,或者说授权节点之间传输用户数据的过程,接收数据的授权节点作为用户数据接收方,接收数据的授权节点的执行过程如下:
授权节点接收到安全交易域信息后,验证安全交易域信息的完整性;
使用本节点的节点密钥解密安全交易域信息中的会话密钥密文,得到会话密钥;
使用会话密钥解密安全交易域信息中的第一用户数据密文,得到用户数据;
生成临时存储密钥并使用该密钥加密用户数据明文,得到第二用户数据密文;
将第二用户数据密文存储在本地区块链系统的本地临时数据库中。
根据本发明一些具体实施例,记账节点接收到区块数据后,被标记为授权节点的记账节点的记账过程如下:
响应于区块数据,判断本地临时数据库是否存在用户数据;
当存在用户数据,则使用临时存储密钥解密本地临时数据库中的第二用户数据密文,得到用户数据;
当不存在用户数据,则从当前授权节点之外的其他授权节点获取用户数据;
采用区块数据中的用户数据摘要值验证用户数据,将通过验证的对应的提案交易结果写入本地区块链账本中;
根据生成的本地存储密钥加密用户数据,得到第三用户数据密文;
将第三用户数据密文保存至本地私有数据库并删除本地临时数据库中的用户数据。
进一步地,对于从其他授权节点获取用户数据,由于授权节点之间使用上述实例的数据加密机制进行安全传输,因此,当前授权节点需要先使用本节点的节点密钥来解密会话密钥密文,然后使用会话密钥来解密用户数据密文,以获取用户数据。
根据本发明一些具体实施例,区块链用户节点从区块链系统查询敏感的用户数据过程如下:
区块链用户节点生成查询用户数据的交易提案并发送给背书节点;
背书节点执行模拟交易,从本地区块链系统的私有数据库中获取第三用户数据密文,使用本地存储密钥解密第三用户数据密文,得到用户数据。
背书节点生成随机会话密钥,使用该会话密钥对用户数据进行加密,然后使用密钥传输密钥对会话密钥进行安全封装,最后得到含用户数据密文的交易结果并返回给区块链用户节点;
区块链用户节点使用密钥传输密钥解密会话密钥密文,然后使用会话密钥解密用户数据密文;
区块链用户节点敏感数据使用完毕后,清除用户数据或根据需要对用户数据本地加密存储。
本发明实施例能够定义数据分发范围,保证敏感的用户数据本身只在授权节点范围内分发与存储,非授权节点及排序节点只存储与传输敏感数据的摘要值,在保证安全性同时提升了管理灵活性,满足数据隔离和隐私保护要求。保证用户数据在节点之间传输中机密性、完整性等安全性要求。随机生成会话密钥、结合时间戳的数字签名等机制,提升了敏感数据存储与传输过程的安全性。基于硬件密码设备实现区块链应用所需的密钥生命周期安全管理及数据加密与解密、数据签名与验证等密码功能,满足密码实现的正确、合规、有效及密钥管理安全。
根据本发明一些具体实施例,参照图2,密码服务节点中配置有密码服务与密钥管理系统,密码服务与密钥管理系统包括:
密码服务接口单元,提供标准的区块链密码服务功能接口,以供区块链用户节点、背书节点、记账节点、排序节点调用;
密码服务功能单元,接收密码服务接口单元的密码服务请求,通过调用密码运算功能单元实现密码服务请求所需的数据加密与解密、数字签名与验证、数据摘要计算与验证、时间戳生成及验证密码功能;
密钥管理功能单元,接收密码服务接口单元的密钥管理请求,通过调用密码运算功能单元实现密钥的安全生成、存储、使用过程,管理授权节点的身份标识与鉴别凭证;
密码运算功能单元,由硬件密码设备组成,接收来自于所述密码服务功能单元和密钥管理功能单元的密码运算请求,通过硬件密码设备内集成的密码芯片与安全芯片,实现所需的随机数及密钥生成、密钥存储与使用、数据加解密、数字签名与验证密码功能,支持多个硬件密码设备的负载均衡及兼容不同类型的硬件密码设备。
此外,区块链用户节点、背书节点、排序节点和记账节点安装有密码服务代理单元,区块链用户节点、背书节点、排序节点和记账节点通过密码服务代理单元调用密码服务节点提供的密码服务和密钥管理功能;
具体地,密码服务代理单元,分别安装于区块链用户节点、背书节点、排序节点和记账节点,用于区块链用户节点、背书节点、排序节点和记账节点调用密码服务节点提供的密码服务和密钥管理功能;密码服务代理单元支持不同语言版本,包括C、Java、Go等主流语言版本,实现与不同区块链系统的兼容。安装于区块链用户节点、背书节点、排序节点、记账节点的密码服务代理单元,在通过所属组织的密码服务节点的身份鉴别后,使用安全通道连接密码服务节点。
在区块链用户节点提交交易提案至背书节点的过程中,区块链用户节点作为用户数据发送方,区块链用户节点通过密码服务代理单元的执行过程包括:从所属密码服务节点中,获取用户数据将分发的各背书节点的身份标识与鉴别凭证,并验证其真实性和有效性;调用密码服务节点生成随机会话密钥,使用该会话密钥对用户数据进行加密,得到第一用户数据密文;调用密码服务节点使用背书节点的节点密钥对会话密钥进行安全封装,从而生成包含第一用户数据密文和会话密钥密文的安全交易域信息;调用密码服务节点对安全交易域信息附加时间戳后使用应用密钥进行数字签名,并把该数字签名附在安全交易域信息后。
在区块链用户节点从区块链系统查询敏感的用户数据过程时,对于接收的包含用户数据密文的交易结果,区块链用户节点通过密码服务代理单元的执行过程包括:区块链用户节点调用密码服务节点使用密钥传输密钥解密会话密钥密文,然后使用会话密钥解密用户数据密文;区块链用户节点敏感数据使用完毕后,清除用户数据或根据需要调用密码服务节点对用户数据本地加密存储。
在区块链用户节点提交交易提案至背书节点的过程,背书节点作为用户数据接收方,背书节点通过密码服务代理单元的执行过程包括:背书节点接收到交易提案后,调用密码服务节点验证其中安全交易域信息的完整性;调用密码服务节点使用背书节点密钥解密安全交易域信息中的会话密钥密文,得到会话密钥;调用密码服务节点使用会话密钥解密安全交易域信息中的第一用户数据密文,得到用户数据;对于确认可行的交易,背书节点调用密码服务节点计算用户数据的摘要值得到用户数据摘要值;背书节点调用密码服务节点生成临时存储密钥并使用临时存储密钥加密用户数据得到第二用户数据密文,将第二用户数据密文存储在本地区块链系统的本地临时数据库中。
对于背书节点将用户数据同步至其他授权节点的过程,或者说授权节点之间传输用户数据的过程,拥有用户数据的授权节点作为用户数据发送方,发送数据的授权节点通过密码服务代理单元的执行过程包括:拥有用户数据的授权节点从所属的密码服务节点中,获取用户数据将分发的授权节点的身份标识与鉴别凭证,并验证其真实性和有效性;拥有用户数据的授权节点调用密码服务节点生成随机会话密钥,使用该会话密钥对用户数据进行加密;调用密码服务节点使用接收数据的授权节点密钥对会话密钥进行安全封装,生成包含第一用户数据密文和会话密钥密文的安全交易域信息;调用密码服务节点对安全交易域信息附加时间戳后使用本节点密钥进行数字签名,并把该数字签名附在安全交易域信息后。
在区块链用户节点从区块链系统查询敏感的用户数据过程时,背书节点通过密码服务代理单元的执行过程包括:从本地区块链系统的私有数据库中获取第三用户数据密文,调用密码服务节点使用本地存储密钥解密第三用户数据密文,得到用户数据;调用密码服务节点生成随机会话密钥,使用该会话密钥对用户数据进行加密,然后使用密钥传输密钥对会话密钥进行安全封装,最后得到含用户数据密文的交易结果并返回给区块链用户节点。
对于背书节点将用户数据同步至其他授权节点的过程,或者说授权节点之间传输用户数据的过程,接收数据的授权节点作为用户数据接收方,接收数据的授权节点通过密码服务代理单元的执行过程包括:授权节点接收到安全交易域信息后,调用密码服务节点验证安全交易域信息的完整性;调用密码服务节点使用本节点的节点密钥解密安全交易域信息中的会话密钥密文,得到会话密钥;调用密码服务节点使用会话密钥解密安全交易域信息中的第一用户数据密文,得到用户数据;调用密码服务节点生成临时存储密钥并使用该密钥加密用户数据明文,得到第二用户数据密文;将第二用户数据密文存储在本地区块链系统的本地临时数据库中。
记账节点接收到区块数据后,被标记为授权节点的记账节点通过密码服务代理单元的执行过程包括:对于本地存储的用户数据,调用密码服务节点使用临时存储密钥解密本地临时数据库中的第二用户数据密文,得到用户数据;对于从其他授权节点获取用户数据,由于授权节点之间使用上述实例的数据加密机制进行安全传输,因此,当前授权节点需要先调用密码服务节点使用本节点的节点密钥来解密会话密钥密文,然后使用会话密钥来解密用户数据密文,以获取用户数据;调用密码服务节点采用区块数据中的用户数据摘要值验证用户数据,将通过验证的对应的提案交易结果写入本地区块链账本中;调用密码服务节点随机生成本地存储密钥,根据生成的本地存储密钥加密用户数据,得到第三用户数据密文;将第三用户数据密文保存至本地私有数据库并删除本地临时数据库中的用户数据。
具体地,密码服务接口单元,是密码服务与密钥管理系统的组成部分,接收来自于密码服务代理单元的密码服务和密钥管理请求,把密码服务请求转发给密码服务功能单元执行,把密钥管理请求转发给密钥管理功能单元执行。密码服务接口单元实现的功能包括:
提供区块链密码服务标准接口,包括数据哈希接口、数据加密与解密接口、数据签名与验证接口、对称密钥生成接口、非对称密钥生成接口、随机数生成接口、时间戳生成与验证接口等;
提供对密码服务代理单元的身份标识与验证,支持基于数字证书等的双向身份验证;
提供数据安全传输通道,实现密码服务代理单元与密码服务接口单元之间的安全传输。
具体地,密码服务功能单元,是密码服务与密钥管理系统的组成部分,接收来自于密码服务接口单元的密码服务请求,调用密码运算功能单元实现密码服务请求所需的数据加密与解密、数字签名与验证、数据摘要计算与验证、时间戳生成及验证等密码功能。密码服务功能单元实现的功能包括:
实现密码服务参数设置包括密钥算法类型、密钥长度等;
实现使用会话密钥对用户数据进行加密与解密、使用节点密钥对会话密钥进行加密封装与解密、对安全交易域信息进行数字签名与验证、计算用户数据的摘要值、使用临时存储密钥加密与解密用户数据、使用本地存储密钥加密与解密用户数据、计算时间戳与验证等。
具体地,密钥管理功能单元,是密码服务与密钥管理系统的组成部分,接收来自于密码服务接口单元的密钥管理请求,调用密码运算功能单元实现密钥的安全生成、存储、使用等过程,管理授权节点的身份标识与鉴别凭证。密钥管理功能单元实现的功能包括:
根据区块链用户节点、背书节点、记账节点等的请求,随机生成会话密钥、节点密钥、临时存储密钥、本地存储密钥、密钥传输密钥等;
实现节点密钥、临时存储密钥、本地存储密钥、密钥传输密钥等的在密钥管理功能单元中的加密存储;
实现密钥的分层管理,会话密钥、临时存储密钥、本地存储密钥等用于用户数据的加密,节点密钥、密钥传输密钥等用于会话密钥的安全封装;
实现密钥的安全下发、更新、销毁及密钥属性管理;
管理授权节点的身份标识与鉴别凭证。
具体地,密码运算功能单元,是密码服务与密钥管理系统的组成部分,由硬件密码设备组成,接收来自于密码服务功能单元和密钥管理功能单元的密码运算请求。密码运算功能单元实现的功能包括:
通过硬件密码设备内集成的密码芯片与安全芯片,实现所需的随机数及密钥生成、密钥存储与使用、数据加解密、数字签名与验证等密码功能。
支持同时配置多个硬件密码设备,实现多个硬件密码设备间的负载均衡。
支持兼容不同类型的硬件密码设备。
本发明实施例还提供了一种区块链的数据加密保护系统,包括区块链用户节点、背书节点、排序节点、记账节点和密码服务节点,记账节点被标记为授权节点和非授权节点;
区块链用户节点用于:基于密码服务节点加密交易提案并将交易提案提交至背书节点,其中,交易提案包括用户数据;
背书节点用于:基于交易提案生成提案交易结果,将提案交易结果返回至区块链用户节点,基于密码服务节点加密用户数据并将用户数据同步至授权节点,其中,提案交易结果包括用户数据摘要值;
排序节点用于:接收来自区块链用户节点的提案交易结果,打包多个提案交易结果得到区块数据,将区块数据广播至记账节点,其中,区块数据包括用户数据摘要值;
记账节点用于:保存区块数据,其中,授权节点保存用户数据摘要值和用户数据,非授权节点保存用户数据摘要值。
可以理解的是,上述区块链的数据加密保护方法实施例中的内容均适用于本系统实施例中,本系统实施例所具体实现的功能与上述区块链的数据加密保护方法实施例相同,并且达到的有益效果与上述区块链的数据加密保护方法实施例所达到的有益效果也相同。
上面结合附图对本发明实施例作了详细说明,但是本发明不限于上述实施例,在所属技术领域普通技术人员所具备的知识范围内,还可以在不脱离本发明宗旨的前提下作出各种变化。
Claims (9)
1.一种区块链的数据加密保护方法,其特征在于,所述区块链的数据加密保护方法应用于区块链系统,所述区块链系统包括区块链用户节点、背书节点、排序节点、记账节点和密码服务节点,所述记账节点被标记为授权节点和非授权节点,所述区块链的数据加密保护方法包括:
所述区块链用户节点基于所述密码服务节点加密交易提案并将所述交易提案提交至所述背书节点,其中,所述交易提案包括用户数据;
所述背书节点基于所述交易提案生成提案交易结果,将所述提案交易结果返回至所述区块链用户节点,基于所述密码服务节点加密所述用户数据并将所述用户数据同步至所述授权节点,其中,所述提案交易结果包括用户数据摘要值;
所述排序节点接收来自所述区块链用户节点的提案交易结果,打包多个所述提案交易结果得到区块数据,将所述区块数据广播至记账节点,其中,所述区块数据包括用户数据摘要值;
所述记账节点保存所述区块数据,其中,所述授权节点保存用户数据摘要值和用户数据,所述非授权节点保存用户数据摘要值。
2.根据权利要求1所述的区块链的数据加密保护方法,其特征在于,所述区块链用户节点、所述背书节点、所述排序节点和所述记账节点分别调用所属的密码服务节点,实现密码服务和密钥管理功能,所述密码服务和密钥管理功能包括:
调用密码服务节点所属的硬件密码设备实现会话密钥、节点密钥、存储密钥、传输密钥的安全生成、存储与使用功能;
调用密码服务节点所属的硬件密码设备实现用户数据、密钥数据的加密与解密、数字签名与验证、摘要计算、时间戳生成及验证密码功能。
3.根据权利要求2所述的区块链的数据加密保护方法,其特征在于,对于所述区块链用户节点提交交易提案至所述背书节点的过程,所述区块链用户节点作为用户数据发送方;
对于所述背书节点将所述用户数据同步至所述授权节点的过程,所述背书节点作为用户数据发送方;
所述用户数据发送方执行以下步骤:
从所述密码服务节点中获取用户数据接收方的接收节点密钥;
根据随机生成的会话密钥对所述用户数据进行加密得到第一用户数据密文;
根据所述接收节点密钥对所述会话密钥进行安全封装,生成并发送包含第一用户数据密文和会话密钥密文的安全交易域信息。
4.根据权利要求3所述的区块链的数据加密保护方法,其特征在于,对于所述区块链用户节点提交交易提案至所述背书节点的过程,所述背书节点作为用户数据接收方;
对于所述背书节点将所述用户数据同步至所述授权节点的过程,所述授权节点作为用户数据接收方;
所述用户数据接收方执行以下步骤:
采用接收节点密钥解密安全交易域信息中的会话密钥密文,得到会话密钥;
采用所述会话密钥解密安全交易域信息中的所述第一用户数据密文,得到用户数据;
根据生成的临时存储密钥对所述用户数据进行加密,得到第二用户数据密文;
将所述第二用户数据密文保存在本地临时数据库中。
5.根据权利要求4所述的区块链的数据加密保护方法,其特征在于,在解密得到用户数据后,所述背书节点还执行以下步骤:
计算所述用户数据的摘要值,得到用户数据摘要值;
将所述用户数据摘要值作为交易信息保存至所述提案交易结果中。
6.根据权利要求1所述的区块链的数据加密保护方法,其特征在于,被标记为授权节点的所述记账节点还用于:
响应于所述区块数据,获取本地临时数据库中的用户数据;
采用所述区块数据中的用户数据摘要值验证所述用户数据,将通过验证的对应的提案交易结果写入本地区块链账本中;
根据生成的本地存储密钥加密所述用户数据,得到第三用户数据密文;
将所述第三用户数据密文保存至本地私有数据库并删除所述本地临时数据库中的用户数据。
7.根据权利要求4所述的区块链的数据加密保护方法,其特征在于,所述被标记为授权节点的所述记账节点还执行以下步骤:
响应于所述区块数据,判断本地临时数据库是否存在用户数据;
当存在用户数据,则使用临时存储密钥解密本地临时数据库中的第二用户数据密文,得到用户数据;
当不存在用户数据,则从当前授权节点之外的授权节点的本地临时数据库获取用户数据。
8.根据权利要求2所述的区块链的数据加密保护方法,其特征在于,所述密码服务节点包括:
密码服务接口单元,提供标准的区块链密码服务功能接口,以供所述区块链用户节点、所述背书节点、所述记账节点、所述排序节点调用;
密码服务功能单元,接收密码服务接口单元的密码服务请求,通过调用密码运算功能单元实现密码服务请求所需的数据加密与解密、数字签名与验证、数据摘要计算与验证、时间戳生成及验证密码功能;
密钥管理功能单元,接收密码服务接口单元的密钥管理请求,通过调用密码运算功能单元实现密钥的安全生成、存储、使用过程,管理授权节点的身份标识与鉴别凭证;
密码运算功能单元,由硬件密码设备组成,接收来自于所述密码服务功能单元和所述密钥管理功能单元的密码运算请求,通过硬件密码设备内集成的密码芯片与安全芯片,实现所需的随机数及密钥生成、密钥存储与使用、数据加解密、数字签名与验证密码功能,支持多个硬件密码设备的负载均衡及兼容不同类型的硬件密码设备。
9.一种区块链的数据加密保护系统,其特征在于,包括区块链用户节点、背书节点、排序节点、记账节点和密码服务节点,所述记账节点被标记为授权节点和非授权节点;
所述区块链用户节点用于:基于所述密码服务节点加密交易提案并将所述交易提案提交至所述背书节点,其中,所述交易提案包括用户数据;
所述背书节点用于:基于所述交易提案生成提案交易结果,将所述提案交易结果返回至所述区块链用户节点,基于所述密码服务节点加密所述用户数据并将所述用户数据同步至所述授权节点,其中,所述提案交易结果包括用户数据摘要值;
所述排序节点用于:接收来自所述区块链用户节点的提案交易结果,打包多个所述提案交易结果得到区块数据,并将所述区块数据广播至记账节点,其中,所述区块数据包括用户数据摘要值;
所述记账节点用于:保存所述区块数据,其中,所述授权节点保存用户数据摘要值和用户数据,所述非授权节点保存用户数据摘要值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310072607.XA CN115982776A (zh) | 2023-01-31 | 2023-01-31 | 一种区块链的数据加密保护方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310072607.XA CN115982776A (zh) | 2023-01-31 | 2023-01-31 | 一种区块链的数据加密保护方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115982776A true CN115982776A (zh) | 2023-04-18 |
Family
ID=85970265
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310072607.XA Pending CN115982776A (zh) | 2023-01-31 | 2023-01-31 | 一种区块链的数据加密保护方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115982776A (zh) |
-
2023
- 2023-01-31 CN CN202310072607.XA patent/CN115982776A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110933108B (zh) | 基于区块链网络的数据处理方法、装置、电子设备及存储介质 | |
US8059818B2 (en) | Accessing protected data on network storage from multiple devices | |
CN102647461B (zh) | 基于超文本传输协议的通信方法、服务器、终端 | |
CN103685282B (zh) | 一种基于单点登录的身份认证方法 | |
CN109450843B (zh) | 一种基于区块链的ssl证书管理方法及系统 | |
CN111797415A (zh) | 基于区块链的数据共享方法、电子设备和存储介质 | |
US20020087862A1 (en) | Trusted intermediary | |
US20100195824A1 (en) | Method and Apparatus for Dynamic Generation of Symmetric Encryption Keys and Exchange of Dynamic Symmetric Key Infrastructure | |
US20060129847A1 (en) | Methods and systems for providing a secure data distribution via public networks | |
CN111049835B (zh) | 分布式公共证书服务网络的统一身份管理系统 | |
JPWO2010150813A1 (ja) | 暗号鍵配布システム | |
AU2006283634A1 (en) | Distributed single sign-on service | |
CN104767731A (zh) | 一种Restful移动交易系统身份认证防护方法 | |
CN105681470A (zh) | 基于超文本传输协议的通信方法、服务器、终端 | |
CN113420319A (zh) | 一种基于区块链和权限合约的数据隐私保护的方法和系统 | |
CN112565294B (zh) | 一种基于区块链电子签名的身份认证方法 | |
JP2002237812A (ja) | 秘匿データ通信方法 | |
CN102208980A (zh) | 一种通信方法及系统 | |
CN115174277B (zh) | 基于区块链的数据通信和档案交换方法 | |
CN114598463A (zh) | 一种数据认证系统 | |
CN114338091B (zh) | 数据传输方法、装置、电子设备及存储介质 | |
CN114866244A (zh) | 基于密文分组链接加密的可控匿名认证方法、系统及装置 | |
US20210111906A1 (en) | Pseudonym credential configuration method and apparatus | |
US20120257751A1 (en) | Controlled security domains | |
CN115982776A (zh) | 一种区块链的数据加密保护方法及系统 |
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 |