CN111541540B - 区块链隐私保护的数据处理方法、装置和计算机设备 - Google Patents
区块链隐私保护的数据处理方法、装置和计算机设备 Download PDFInfo
- Publication number
- CN111541540B CN111541540B CN202010644746.1A CN202010644746A CN111541540B CN 111541540 B CN111541540 B CN 111541540B CN 202010644746 A CN202010644746 A CN 202010644746A CN 111541540 B CN111541540 B CN 111541540B
- Authority
- CN
- China
- Prior art keywords
- key
- ciphertext
- random factor
- block chain
- data
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6245—Protecting personal data, e.g. for financial or medical purposes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0869—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Medical Informatics (AREA)
- Databases & Information Systems (AREA)
- Computing Systems (AREA)
- Storage Device Security (AREA)
Abstract
本申请涉及一种区块链隐私保护的数据处理方法、系统、计算机设备和存储介质。所述方法通过对区块链进行重新创世,获取历史创世信息;根据所述历史创世信息和预设的加密算法确定第一随机因子;并在接收密钥请求的情况下,根据第一随机因子生成第一密钥,为区块链上数据的加密提供了生成密钥的随机因子,并且该随机因子的保密性较强,难以进行追溯和预测,提高了区块链上数据的隐私性。
Description
技术领域
本申请涉及区块链技术领域,特别是涉及一种区块链隐私保护的数据处理方法、装置、计算机设备和存储介质。
背景技术
区块链技术本身为分布式数据库,所有分布式节点维护相同的数据,保证数据无法篡改,历史可追溯。作为区块链的接入节点可以自由访问且获得区块链记录数据的历史记录及执行结果。存储在智能合约账本中的数据,是区块链历史记录按照智能合约规则成功执行后得到结果,并进行持久化而得到的。根据以上区块链记录信息的特点,在没有特殊机制干预的情况下,区块链上记录的历史信息与由历史信息按照公共规则所产生的数据,对于拥有所有交易信息的节点或接入方而言,是完全透明且可知的。假若信息的加密权交给客户端用户,将存储在区块链上的数据提前进行加密,那么区块链上存储的信息,将无法在所有接入方之间流转,数据仍然只对数据记录方有效且可见,将密钥以任何方式传递给数据请求方都存在安全隐患且不具备实际可行性。
针对相关技术中,区块链上的数据隐私性差的问题,目前尚未提出有效的解决方案。
发明内容
基于此,有必要针对上述技术问题,提供一种区块链隐私保护的数据处理方法、装置、计算机设备和存储介质。
根据本发明的一个方面,提供了一种区块链隐私保护的数据处理方法,包括以下步骤:
对区块链进行重新创世,获取历史创世信息;
根据所述历史创世信息和预设的加密算法确定第一随机因子;
在接收密钥请求的情况下,根据所述第一随机因子生成第一密钥,其中,所述第一密钥用于对上链数据进行加密。
在其中一个实施例中,根据所述第一随机因子生成第一密钥之后,所述方法包括:
接收与所述第一密钥对应的密文,在区块链上存储所述第一密钥与所述密文;
接收到所述密文的授权命令的情况下,根据所述第一密钥对所述密文进行解密,并执行所述授权命令。
在其中一个实施例中,根据所述第一随机因子生成第一密钥之后,所述方法包括:
根据所述密钥请求和所述第一随机因子生成第二随机因子;
用所述第二随机因子替换所述第一随机因子。
在其中一个实施例中,根据所述第一随机因子生成第一密钥之后,所述方法包括:
在所述区块链上存储所述第一密钥,发送所述第一密钥;
接收与所述第一密钥对应的密文,在区块链上存储所述密文。
在其中一个实施例中,根据所述第一随机因子生成第一密钥之后,所述方法包括:
发送所述第一密钥;
接收与所述第一密钥对应的密文,再次生成所述第一密钥,在区块链上存储所述第一密钥与所述密文。
在其中一个实施例中,发送所述第一密钥之后,所述方法包括:
接收与所述第一密钥对应的密文,获取第二密钥;
在所述第二密钥的摘要值与所述第一密钥的摘要值匹配的情况下,在区块链上存储所述第一密钥与所述密文。
在其中一个实施例中,根据所述第一随机因子生成第一密钥之后,所述方法包括:
接收与所述第一密钥对应的密文包,根据所述第一密钥对所述密文包进行解密,在区块链上存储所述密文包,其中,所述密文包包括实际密钥和密文,所述密文根据所述实际密钥进行加密,所述密文包根据所述第一密钥进行加密。
在其中一个实施例中,在所述区块链上存储所述密钥或者密钥包之后,所述方法包括:
根据所述第一随机因子和所述密钥请求生成第二随机因子;
用所述第二随机因子替换所述第一随机因子。
根据本发明的另一个方面,还提供一种区块链隐私保护数据处理装置,其特征在于,所述装置包括重新创世模块,
所述重新创世模块对区块链进行重新创世,获取历史创世信息;根据所述历史创世信息和预设的加密算法确定第一随机因子;在接收密钥请求的情况下,根据所述第一随机因子生成第一密钥,其中,所述第一密钥用于对上链数据进行加密。
在一个实施例中,所述装置还包括业务合约模块,
所述业务合约模块用于接收与所述第一密钥对应的密文,存储所述第一密钥与所述密文;在接收到所述密文的授权命令的情况下,根据所述第一密钥对所述密文进行解密,并执行所述授权命令。
根据本发明的另一个方面,还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述区块链隐私保护的数据处理方法。
根据本发明的另一个方面,还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述区块链隐私保护的数据处理方法。
上述区块链隐私保护的数据处理方法、装置、计算机设备和存储介质对区块链进行重新创世,获取历史创世信息;根据所述历史创世信息和预设的加密算法确定第一随机因子;并在接收密钥请求的情况下,根据第一随机因子生成第一密钥,为区块链上数据的加密提供了生成密钥的随机因子,并且该随机因子的保密性强,难以进行追溯和预测,提高了区块链上数据的隐私性。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据本发明一个实施例中区块链隐私保护数据处理方法的应用场景图;
图2是根据本发明一个实施例中区块链隐私保护的数据处理方法流程图;
图3是根据本发明一个实施例中重新创世过程的示意图;
图4是根据本发明另一个实施例中区块链隐私保护的数据处理方法流程图;
图5是根据本发明一个实施例中共识密钥申请的流程图;
图6是根据本发明一个实施例中非共识密钥申请的流程图;
图7是根据本发明另一个实施例中非共识申请密钥的流程图;
图8是根据本发明再一个实施例中区块链隐私保护数据处理方法的流程图;
图9是根据本发明一个具体实施例中密钥申请的流程图;
图10是根据本发明一个实施例中区块链隐私保护数据处理装置的示意图;
图11是根据本发明一个实施例中区块链隐私保护数据处理计算机设备的示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行描述和说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。基于本申请提供的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
显而易见地,下面描述中的附图仅仅是本申请的一些示例或实施例,对于本领域的普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图将本申请应用于其他类似情景。此外,还可以理解的是,虽然这种开发过程中所作出的努力可能是复杂并且冗长的,然而对于与本申请公开的内容相关的本领域的普通技术人员而言,在本申请揭露的技术内容的基础上进行的一些设计,制造或者生产等变更只是常规的技术手段,不应当理解为本申请公开的内容不充分。
在本申请中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域普通技术人员显式地和隐式地理解的是,本申请所描述的实施例在不冲突的情况下,可以与其它实施例相结合。
除非另作定义,本申请所涉及的技术术语或者科学术语应当为本申请所属技术领域内具有一般技能的人士所理解的通常意义。本申请所涉及的“一”、“一个”、“一种”、“该”等类似词语并不表示数量限制,可表示单数或复数。本申请所涉及的术语“包括”、“包含”、“具有”以及它们任何变形,意图在于覆盖不排他的包含;例如包含了一系列步骤或模块(单元)的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可以还包括没有列出的步骤或单元,或可以还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。本申请所涉及的“连接”、“相连”、“耦接”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电气的连接,不管是直接的还是间接的。本申请所涉及的“多个”是指两个或两个以上。“和/或”描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。本申请所涉及的术语“第一”、“第二”、“第三”等仅仅是区别类似的对象,不代表针对对象的特定排序。
图1是根据本发明一个实施例中区块链隐私保护数据处理方法的应用场景图,如图1所示,区块链网络102、计算机设备104、计算机设备106通过网络进行通信,网络可以包括局域网(Local Area Network,LAN)、广域网(Wide Area Network,WAN)、因特网或其组合,并连接至网站、用户设备(例如计算设备)和后端系统。通过对区块链网络102进行重新创世,获取历史创世信息;根据历史创世信息和预设的加密算法确定第一随机因子;在区块链网络102接收计算机设备104或者计算机设备106的密钥请求的情况下,根据第一随机因子生成第一密钥,计算机设备104或者计算机设备106根据第一密钥进行数据加密后将加密数据传输给区块链网络102。区块链网络102可以为公有类型、私有类型或联盟类型的区块链网络。计算机设备可以通过有线和/或无线方式通信。可选地,计算机 设备104、106可以是云计算系统的节点(图中未显示),或者每个计算机 设备104、106可以是单独的云计算系统,包括由网络互连并作为分布式处理系统工作的多台计算机。计算机 设备104和106可以运行任何适当的计算系统,使其能够作为区块链网络102中的节点;例如,计算机 设备104和106可以包括但不限于服务器、台式计算机、笔记本电脑和平板电脑计算设备。
在一个实施例中,图2是根据本发明一个实施例中区块链隐私保护的数据处理方法流程图,如图2所示,提供了一种区块链隐私保护的数据处理方法,以该方法应用于图1中的区块链网络102为例进行说明。包括以下步骤:
步骤S210,对区块链进行重新创世,获取历史创世信息。
步骤S220,根据历史创世信息和预设的加密算法确定第一随机因子。
步骤S210至步骤S220中,随机因子生成方式为重新创世(recreation),区块链由多个相连的区块构成,每个区块记录了一段时间内的交易情况,而链条中第一个被构建的区块称为创世区块。重新创世即删除现有创世区块中的交易信息,重新构建创世区块,可选地,可以通过预置合约、创世预处理等方式进行重新创世。随后,重新创世通过前一次创世的创世信息,即历史创世信息提供随机因子。在重新创世的过程中涉及的环节中随机要素越多,随机因子的随机性越好。区块链上的智能合约是在区块链系统上可以被交易触发执行的合约,智能合约可以通过代码的形式定义,以以太坊为例,支持用户在以太坊网络中创建并调用一些复杂的逻辑。可选地,步骤S220中通过智能合约生成随机因子从而生成密钥实现数据加密,指示该类型的智能合约为加密合约,随机因子保存在加密合约中,通过对加密合约中数据的访问控制,使得外界智能合约通过合法区块链交易获得由随机因子生成的密钥。通过重新创世的方式为加密合约中的随机状态数据提供零知识证明。
在一些实施例中,通过归档操作实现重新创世,在成功搭建底层区块链平台之后,区块链平台对交易数据与合约账本数据分别进行初始化。相应地,在区块链上的节点用户发起加密合约的上链操作的情况下,区块链网络接收到加密合约的部署请求。上述加密合约上链过程可以通过脚本执行,该脚本还将继续向区块链上所有创世节点发起数据归档操作,将现有创世交易记录进行下线处理。可选地,上述归档操作可以在区块链网络接收到部署请求后马上执行;也可以在接收到部署请求后,经过随机时间间隔之后再执行,进一步增加随机因子的随机性;存储区块链中的归档信息,根据预设的加密算法和归档信息确定第一随机因子。归档后的区块链明文信息,例如上述部署的发起账户、发起时间等,将存储在加密合约中,加密合约将根据上述明文信息以及预设的摘要算法生成与所有节点共识且相同的随机因子。在一些实施例中,上述加密算法为keccak算法。图3是根据本发明一个实施例中重新创世过程的示意图,在一些实施例中,如图3所示,区块链中包括4个节点,各个节点维护相同的数据。底层区块链平台搭建完成后,区块链平台对交易数据与合约账本数据分别进行初始化,此时区块链网络中并没有区块,图3中以0块示出。在随机的区块链用户发起加密合约的上链操作的情况下,即往区块链网络中添加了交易,交易执行后通过交易打包和数据持久化,生成新的创世区块。随后,区块链上所有创世节点发起数据归档操作,将已有交易记录进行下线处理,即创世区块更新,需要说明的是,上述归档操作将创世交易记录删除,并不保留归档之后的备份文件。最终,随着交易记录的归档,加密合约将存储创世区块中所有随机产生的明文信息,并且根据预设的加密算法生成随机因子,上述随机因子仅区块链中的加密合约本身可见,其他合约调用方均不可见。随着交易记录的归档,区块链网络中并无公开的数据记录,因此在下一笔交易被添加的情况下,将重新生成新的创世区块,在此之后一旦有新的节点接入,该节点仅会同步区块链新创世区块及之后的数据,而无法获取到新创世区块之前的数据。
步骤S230,在接收密钥请求的情况下,根据第一随机因子生成第一密钥。在接收到节点的密钥请求的情况下,加密合约将根据步骤S220中生成的随机因子生成密钥,并将该密钥发送给密钥请求节点。该节点在接收到密钥之后根据该密钥对需要上链的数据进行加密后上传至区块链中。在一些实施例中,加密合约结合随机因子、申请密钥的发起方、发起请求的合约地址、发起时间等多种因素返回加密所需的密钥。
相关技术中区块链上记录的交易数据与智能合约数据均来源于区块链历史记录的数据,智能合约提供的用于生产密钥的随机因子是有迹可循的。而上述区块链隐私保护的数据处理方法中,通过重新创世的方式,各个节点无法获取区块链上的历史记录,也无法获取到该随机因子生成所依据的归档信息类型,难以通过历史记录数据对随机因子进行推测,大大提高了区块链上数据的隐私性。
在一个实施例中,图4是根据本发明另一个实施例中区块链隐私保护的数据处理方法流程图,如图4所示,根据第一随机因子生成第一密钥之后,还包括:
步骤S410,区块链接收与第一密钥对应的密文,在区块链上存储第一密钥与密文;
步骤S420,在接收到密文的授权命令的情况下,区块链根据第一密钥对密文进行解密,并执行授权命令。
在步骤S410至步骤S420中,基于加密合约,区块链的用户可以将数据的访问控制也交给智能合约,以保证数据在密文的情况下基于数据所有者授权进行数据访问控制。密钥申请方在获取到密钥之后,使用该密钥对要上链的数据进行加密,并将加密后的密文上传至区块链中。在一些实施例中,区块链通过业务合约对该密文以及用于加密的密钥进行管理。密文与密钥共同保存在业务合约中,且该数据的所有权归数据所有方所有,在接收到数据所有方对数据请求方的密文访问授权命令的情况下,业务合约通过密钥将密文进行解密得到明文数据,并将明文数据通过数据请求方的公钥进行加密后返回给数据请求方。在一些实施例中,上述授权命令还可以是数据的流转与计算命令,业务合约也可以通过上述步骤对密文进行处理。智能合约在中立的角度为链上所有接入方提供完全随机的密钥生产与管理的功能,从而实现智能合约进行加密管理与访问控制,实现了链上数据在密文的情况下进行数据的授权访问。
在一个实施例中,根据第一随机因子生成第一密钥之后,随机因子将进行自更新,上述自更新过程可以根据当前随机因子和密钥请求中的随机信息,例如密钥请求方的账号、请求时间等,生成新的随机因子,并用新的随机因子替换当前随机因子。上述随机因子的自更新过程不断增加生成随机因子所依据的信息的维度,进一步提高了随机因子的随机性,从而提高了密钥的安全性能。
在一个实施例中,数据申请方通过共识申请的方式向区块链中的智能合约申请密钥。图5是根据本发明一个实施例中共识密钥申请的流程图,如图5所示,在区块链上的智能合约包括加密合约和业务合约的情况下,根据第一随机因子生成第一密钥之后还包括以下步骤:
步骤S510,在业务合约上存储第一密钥,业务合约发送第一密钥。业务合约在接收到密钥申请方的密钥请求之后,将密钥请求发送给加密合约,加密合约根据随机因子生成密钥之后,将密钥发给业务合约,业务合约存储该密钥,同时,业务合约存储密钥的过程将同步地记录在区块链上各个节点。在密钥申请方向业务合约请求密钥的情况下,业务合约将密钥发送给密钥申请方;
步骤S520,业务合约接收并存储与第一密钥对应的密文。密钥申请方根据接收到的密钥对数据进行加密,得到密文,将密文上传至业务合约,业务合约将密文与用于加密的密钥对应存储。在接收到该密文的授权、流转或者计算命令的情况下,通过密钥对密文进行解密,再执行相应的命令。
在步骤S510至步骤S520中,密钥申请方通过共识申请的方式进行密钥申请,将密钥与要加密存储的数据进行预约绑定,并存储在业务合约中。在共识申请方式中,密钥申请方对密钥的持有时效较长,因为密钥以共识方式记录在区块链上。密钥申请方可以持有该密钥,在任何需要进行加密的时段对数据进行加密,该密钥也可以多次地,对不同的数据进行加密,提高了密钥的稳定性,增加了密文的可靠性。
在一个实施例中,数据申请方通过非共识申请的方式向区块链中的智能合约申请密钥。图6是根据本发明一个实施例中非共识密钥申请的流程图,如图6所示,在区块链上的智能合约包括加密合约和业务合约的情况下,根据第一随机因子生成第一密钥之后还包括:
步骤S610,业务合约发送第一密钥。业务合约在接收到密钥申请方的密钥请求之后,将密钥请求发送给加密合约,加密合约根据随机因子生成密钥之后,将密钥发给业务合约,业务合约将密钥发送给密钥申请方;
步骤S620,业务合约接收与第一密钥对应的密文,加密合约再次生成第一密钥,在业务合约上存储第一密钥与密文。密钥申请方根据接收到的密钥对数据进行加密,得到密文,并将密文上传至业务合约,业务合约接受到密文后,再次向加密合约请求密钥。获取密钥后将密钥与密文对应存储于业务合约中。在接收到该密文的授权、流转或者计算命令的情况下,通过密钥对密文进行解密,再执行相应的命令。
在步骤S610至步骤S620中,密钥申请方通过非共识申请的方式进行密钥申请,在区块链中,每次记账行为都需要在区块链的各个节点进行同步,因此,例如,在业务合约接收到密钥时执行一次记账行为,收到密文后再次执行记账行为,则针对每一次密文与密钥的存储将产生两次记账;而本实施例中提供的方式,在接收到密文后再次申请密钥并将密文和密钥存储于业务合约中,仅执行一次记账行为,降低了区块链隐私保护的数据处理过程中的资源消耗,提高了处理效率。
在一个实施例中,图7是根据本发明另一个实施例中非共识申请密钥的流程图,如图7所示,在区块链上的智能合约包括加密合约和业务合约的情况下,业务合约发送第一密钥给密钥申请方之后,还包括以下步骤:
步骤S710,业务合约接收与第一密钥对应的密文,从加密合约获取第二密钥。其中,第一密钥即为业务合约发送给密钥申请方、密钥申请方用于加密数据的密钥,第二密钥是业务合约接收到密钥申请方上传的密文之后再次向加密合约申请的密钥;
步骤S720,在第二密钥的摘要值与第一密钥的摘要值匹配的情况下,在业务合约中存储第一密钥与密文。计算第二密钥的摘要值,并将该摘要值与第一密钥的摘要值进行比较,在两者匹配的情况下,则判断两次申请到的密钥是相同的,将密钥和密文存储于业务合约中,在一些实施例中,上述摘要值为哈希值。可选地,在两次申请到的密钥不相同的情况下,抛出异常,并将本次密文上传过程视为失败。
在步骤S710至步骤S720中,由于在非共识密钥申请过程中,业务合约第一次获取到密钥时未执行记账行为而是直接将密钥转发给密钥申请方,因此在业务合约接收到密文后再次向加密合约申请密钥时,可能会出现两次申请到的密钥并非同一个密钥的问题。本实施方式增加了密钥比对过程,从而提高了密钥与密文之间的匹配性,提高了非共识密钥申请方式下密钥的可靠性。
在一个实施例中,图8是根据本发明一个实施例中区块链隐私保护数据处理方法的流程图,如图8所示,根据第一随机因子生成第一密钥之后还有以下步骤:
步骤S810,接收与第一密钥对应的密文包,根据第一密钥对密文包进行解密,在区块链上存储密文包。其中,密文包包括实际密钥和密文,密文根据实际密钥进行加密,密文包根据第一密钥进行加密。上述区块链隐私保护数据处理方法中的数据加密均为对称加密,为了进一步提高数据的安全性,还提供了一种非对称加密方式。在使用非对称加密的情况下,在密钥申请端生成密钥对,密钥申请方将数据通过密钥对中的私钥进行加密后,将密钥对与加密后的密文一起作为密文包,通过申请到的密钥进行加密并上传至区块链的业务合约中。业务合约即可根据从加密合约中申请到的密钥将密文包解密,从而获得密钥对,将密钥对中的公钥公开,所有要保存的数据都可以用与私钥绑定的公钥进行加密后记录到区块链上,在授权的过程中,由智能合约进行公钥加密后发送给数据请求方,数据请求方用私钥解密。非对称加密的方式进一步提高了区块链隐私保护数据处理方法的隐私性和安全性。
在一个实施例中,在区块链上存储密钥或者密钥包之后,加密合约还根据第一随机因子和密钥请求生成第二随机因子;并用第二随机因子替换第一随机因子。在本实施例中,加密合约中的随机因子仅在密钥被存储后才进行自更新,上述自更新是结合现有随机因子以及密钥申请方信息进行的,无论是共识密钥申请方式还是非共识密钥申请方式,通过本实施方式进行的随机因子自更新均可以使得业务合约在接收到新的密钥申请的情况下获取新的随机因子,并且随机因子生成时所调用的信息维度不断扩大,从而进一步提高了密钥的安全性。
在一个具体的实施例中,图9是根据本发明一个具体实施例中密钥申请的流程图,如图9所示,包括以下步骤:
步骤S910,向加密合约申请密钥。区块链用户根据具体业务实际情况,从加密合约中申请密钥;
步骤S920,判断是否为共识申请。申请密钥的方式分为共识申请与非共识申请,判断是哪种申请方式;
步骤S930,非共识申请,单次授权获得密钥以及令牌。若为非共识申请,密钥可直接返回密钥申请方,并且在非共识申请中,需要额外做一次密钥申请,并将申请到的密钥哈希与用于加密数据的密钥摘要值进行匹配,以保证业务合约中申请到的密钥与用来加密的密钥一致,此过程为令牌验证过程;
步骤S940,共识申请,预约密钥并私有化保存在业务合约中。若为共识申请过程,则将密钥与要加密存储的数据进行预约绑定,并存储在业务合约中,该密钥的访问仅供密钥申请方可用。密钥申请方可以通过共识与非共识两种方式从加密合约中获取密钥,共识操作需要智能合约使用密钥所有方的公钥对申请到的密钥进行加密后,返回给用户;非共识操作可以直接从区块链中获取密钥;
步骤S950,数据本地加密。使用密钥对要上链的密文进行对称加密;
步骤S960,数据上链。将加密信息记录到区块链;
步骤S970,上链完成。最终密文数据与密文密钥共同保存在业务合约中,且该数据的所有权归数据所有方所有。在第三方发起数据访问请求时,数据所有方可以为该数据提供数据访问授权列表。经过授权许可的数据请求方对数据进行查询时,由智能合约对密文数据进行解密,并将明文数据使用数据请求方的公钥进行加密后返回给数据请求方,从而保证数据在完全密文的情况下进行数据运算与授权访问。
上述区块链隐私保护的密钥申请和访问授权方法,可以以最小的代价实现数据在存储与访问的过程中完全加密,且可以流转、运算,并且其性能的损耗完全由客户端的应用来进行加密,加密本身并不会对区块链的交易执行造成很大影响。
通过使用该项技术,区块链上的多接入方,可以将数据加密后保存在区块链上,而不用担心数据的密钥会被他人获得,在经过数据所有者授权的情况下,数据仍可以通过智能合约进行解密并再次进行加密授权,返回给数据请求方,最终实现与同态加密与可信执行环境(Trusted Execution Environmen,TEE相同的效果。而且,本方案为软件方案,对硬件设备没有较高要求,其中涉及到的加密技术均符合国家标准且不会影响区块链记录数据的效率。
应该理解的是,虽然图2-9中的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-9中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
根据本发明的另一个方面,提供了一种区块链隐私保护数据处理装置,包括加密合约模块,
加密合约模块用于接收部署请求,向区块链上的节点发起信息归档;存储区块链中的归档信息,根据预设的加密算法和归档信息确定第一随机因子;在接收密钥请求的情况下,根据第一随机因子生成第一密钥,其中,第一密钥用于对上链数据进行加密。
在一个实施例中,图10是根据本发明一个实施例中区块链隐私保护数据处理装置的示意图,如图10所示,该装置包括重新创世模块1002和业务合约模块1004。
重新创世模块1002用于对区块链进行重新创世,获取历史创世信息;根据历史创世信息和预设的加密算法确定第一随机因子;在接收密钥请求的情况下,根据第一随机因子生成第一密钥。业务合约模块1004用于接收与第一密钥对应的密文,存储第一密钥与密文;在接收到密文的授权命令的情况下,根据第一密钥对密文进行解密,并执行授权命令。
关于区块链隐私保护数据处理装置的具体限定可以参见上文中对于区块链隐私保护数据处理方法的限定,在此不再赘述。上述区块链隐私保护数据处理装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
上述区块链隐私保护的数据处理装置,通过对区块链进行重新创世,获取历史创世信息;根据所述历史创世信息和预设的加密算法确定第一随机因子;,根据预设的加密算法和归档信息确定第一随机因子,并在接收密钥请求的情况下,根据第一随机因子生成第一密钥,为区块链上数据的加密提供了生成密钥的随机因子,并且该随机因子的保密性较强,难以进行追溯和预测,提高了区块链上数据的隐私性。
在一个实施例中,图11是根据本发明一个实施例中区块链隐私保护数据处理计算机设备的示意图,该计算机设备可以是终端,其内部结构图可以如图11所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种区块链隐私保护数据处理方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图11中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
上述区块链隐私保护的数据处理计算机设备,通过对区块链进行重新创世,获取历史创世信息;根据所述历史创世信息和预设的加密算法确定第一随机因子;,根据预设的加密算法和归档信息确定第一随机因子,并在接收密钥请求的情况下,根据第一随机因子生成第一密钥,为区块链上数据的加密提供了生成密钥的随机因子,并且该随机因子的保密性较强,难以进行追溯和预测,提高了区块链上数据的隐私性。
根据本发明的另一个方面,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述区块链隐私保护的数据处理方法。
上述区块链隐私保护的数据处理计算机可读存储介质,通过对区块链进行重新创世,获取历史创世信息;根据所述历史创世信息和预设的加密算法确定第一随机因子;,根据预设的加密算法和归档信息确定第一随机因子,并在接收密钥请求的情况下,根据第一随机因子生成第一密钥,为区块链上数据的加密提供了生成密钥的随机因子,并且该随机因子的保密性较强,难以进行追溯和预测,提高了区块链上数据的隐私性。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink) DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (12)
1.一种区块链隐私保护的数据处理方法,其特征在于,所述方法包括:
对区块链进行重新创世,获取历史创世信息,其中,所述重新创世包括删除现有创世区块中的交易信息,重新构建创世区块;
根据所述历史创世信息和预设的加密算法确定第一随机因子;
在接收密钥请求的情况下,根据所述第一随机因子生成第一密钥,其中,所述第一密钥用于对上链数据进行加密。
2.根据权利要求1所述的方法,其特征在于,所述根据所述第一随机因子生成第一密钥之后,所述方法包括:
接收与所述第一密钥对应的密文,在区块链上存储所述第一密钥与所述密文;
接收到所述密文的授权命令的情况下,根据所述第一密钥对所述密文进行解密,并执行所述授权命令。
3.根据权利要求1所述的方法,其特征在于,所述根据所述第一随机因子生成第一密钥之后,所述方法包括:
根据所述密钥请求和所述第一随机因子生成第二随机因子;
用所述第二随机因子替换所述第一随机因子。
4.根据权利要求1所述的方法,其特征在于,所述根据所述第一随机因子生成第一密钥之后,所述方法包括:
在所述区块链上存储所述第一密钥,发送所述第一密钥;
接收与所述第一密钥对应的密文,在区块链上存储所述密文。
5.根据权利要求1所述的方法,其特征在于,所述根据所述第一随机因子生成第一密钥之后,所述方法包括:
发送所述第一密钥;
接收与所述第一密钥对应的密文,再次生成所述第一密钥,在区块链上存储所述第一密钥与所述密文。
6.根据权利要求5所述的方法,其特征在于,所述发送所述第一密钥之后,所述方法包括:
接收与所述第一密钥对应的密文,获取第二密钥;
在所述第二密钥的摘要值与所述第一密钥的摘要值匹配的情况下,在区块链上存储所述第一密钥与所述密文。
7.根据权利要求1所述的方法,其特征在于,所述根据所述第一随机因子生成第一密钥之后,所述方法包括:
接收与所述第一密钥对应的密文包,根据所述第一密钥对所述密文包进行解密,在区块链上存储所述密文包,其中,所述密文包包括实际密钥和密文,所述密文根据所述实际密钥进行加密,所述密文包根据所述第一密钥进行加密。
8.根据权利要求4至7任一项所述的方法,其特征在于,在所述区块链上存储所述密钥或者密钥包之后,所述方法包括:
根据所述第一随机因子和所述密钥请求生成第二随机因子;
用所述第二随机因子替换所述第一随机因子。
9.一种区块链隐私保护数据处理装置,其特征在于,所述装置包括重新创世模块,
所述重新创世模块用于对区块链进行重新创世,获取历史创世信息;根据所述历史创世信息和预设的加密算法确定第一随机因子;在接收密钥请求的情况下,根据所述第一随机因子生成第一密钥,其中,所述重新创世包括删除现有创世区块中的交易信息,重新构建创世区块,所述第一密钥用于对上链数据进行加密。
10.根据权利要求9所述的装置,其特征在于,所述装置还包括业务合约模块,
所述业务合约模块用于接收与所述第一密钥对应的密文,存储所述第一密钥与所述密文;在接收到所述密文的授权命令的情况下,根据所述第一密钥对所述密文进行解密,并执行所述授权命令。
11.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至8中任一项所述方法的步骤。
12.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至8中任一项所述的方法的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010644746.1A CN111541540B (zh) | 2020-07-07 | 2020-07-07 | 区块链隐私保护的数据处理方法、装置和计算机设备 |
PCT/CN2020/123064 WO2022007243A1 (zh) | 2020-07-07 | 2020-10-23 | 区块链隐私保护的数据处理方法、装置和计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010644746.1A CN111541540B (zh) | 2020-07-07 | 2020-07-07 | 区块链隐私保护的数据处理方法、装置和计算机设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111541540A CN111541540A (zh) | 2020-08-14 |
CN111541540B true CN111541540B (zh) | 2020-09-29 |
Family
ID=71980832
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010644746.1A Active CN111541540B (zh) | 2020-07-07 | 2020-07-07 | 区块链隐私保护的数据处理方法、装置和计算机设备 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN111541540B (zh) |
WO (1) | WO2022007243A1 (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111541540B (zh) * | 2020-07-07 | 2020-09-29 | 杭州云链趣链数字科技有限公司 | 区块链隐私保护的数据处理方法、装置和计算机设备 |
CN113722726B (zh) * | 2021-02-09 | 2024-04-05 | 京东科技控股股份有限公司 | 基于软硬件协同的加解密方法及系统 |
CN113079162B (zh) * | 2021-04-02 | 2022-08-30 | 浙江永旗区块链科技有限公司 | 一种基于区块链的分布式存储网络及其实现方法 |
US12032715B2 (en) | 2022-01-04 | 2024-07-09 | Bank Of America Corporation | System and method for securing information in a distributed network via a distributed identifier |
CN115134066B (zh) * | 2022-06-28 | 2024-08-16 | 国网福建省电力有限公司 | 基于同态加密与机器学习的混合区块链保护方法和系统 |
CN115242392B (zh) * | 2022-08-01 | 2024-03-26 | 北京成鑫盈通科技有限公司 | 基于安全传输协议实现工业信息安全传输的方法及系统 |
CN116074035A (zh) * | 2022-10-28 | 2023-05-05 | 国家电网有限公司 | 一种电能表全寿命周期质量管控数据互信上链方法 |
US11790115B1 (en) * | 2023-02-08 | 2023-10-17 | Inrupt, Inc. | Privacy preserving data processing in a Solid ecosystem using agents |
CN117240619B (zh) * | 2023-11-13 | 2024-04-16 | 杭州金智塔科技有限公司 | 隐私集合求交集基数系统及方法 |
CN117876102A (zh) * | 2024-03-08 | 2024-04-12 | 山东省国土空间数据和遥感技术研究院(山东省海域动态监视监测中心) | 联邦学习支持的隐私计算不动产金融风险的方法及平台 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017204900A1 (en) * | 2016-05-27 | 2017-11-30 | Mastercard International Incorporated | Method and system for transferring trust across block chain segments |
CN110765495A (zh) * | 2019-06-20 | 2020-02-07 | 中云智慧(北京)科技有限公司 | 一种区块链结构的生成及可遗忘安全存储方法 |
CN111125115A (zh) * | 2019-12-26 | 2020-05-08 | 山东爱城市网信息技术有限公司 | 一种基于区块链的数据存储方法、设备及介质 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020002366A1 (en) * | 2018-06-26 | 2020-01-02 | Bityoga As | Decentralised data management |
CN110620660A (zh) * | 2019-09-29 | 2019-12-27 | 广东电网有限责任公司 | 一种基于区块链的数据通信的密钥分配方法 |
CN111541540B (zh) * | 2020-07-07 | 2020-09-29 | 杭州云链趣链数字科技有限公司 | 区块链隐私保护的数据处理方法、装置和计算机设备 |
-
2020
- 2020-07-07 CN CN202010644746.1A patent/CN111541540B/zh active Active
- 2020-10-23 WO PCT/CN2020/123064 patent/WO2022007243A1/zh active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017204900A1 (en) * | 2016-05-27 | 2017-11-30 | Mastercard International Incorporated | Method and system for transferring trust across block chain segments |
CN110765495A (zh) * | 2019-06-20 | 2020-02-07 | 中云智慧(北京)科技有限公司 | 一种区块链结构的生成及可遗忘安全存储方法 |
CN111125115A (zh) * | 2019-12-26 | 2020-05-08 | 山东爱城市网信息技术有限公司 | 一种基于区块链的数据存储方法、设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111541540A (zh) | 2020-08-14 |
WO2022007243A1 (zh) | 2022-01-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111541540B (zh) | 区块链隐私保护的数据处理方法、装置和计算机设备 | |
US11108753B2 (en) | Securing files using per-file key encryption | |
CN109120639B (zh) | 一种基于区块链的数据云存储加密方法及系统 | |
Yan et al. | Deduplication on encrypted big data in cloud | |
CN110881063B (zh) | 一种隐私数据的存储方法、装置、设备及介质 | |
US11196745B2 (en) | Blockchain-based account management | |
US11115418B2 (en) | Registration and authorization method device and system | |
CN108768633B (zh) | 实现区块链中信息共享的方法及装置 | |
CN110781509B (zh) | 数据验证方法、装置、存储介质和计算机设备 | |
CN110049016A (zh) | 区块链的数据查询方法、装置、系统、设备及存储介质 | |
US20220014367A1 (en) | Decentralized computing systems and methods for performing actions using stored private data | |
CN112308561A (zh) | 基于区块链的存证方法、系统、计算机设备和存储介质 | |
CN114239046A (zh) | 数据共享方法 | |
CN110445840B (zh) | 一种基于区块链技术的文件存储和读取的方法 | |
CN109145641B (zh) | 隐私信息保护方法及系统 | |
CN114168923B (zh) | 一种基于数字证书的群ca证书生成方法和系统 | |
CN110351292B (zh) | 私钥管理方法、装置、设备和存储介质 | |
JP2020155801A (ja) | 情報管理システム及びその方法 | |
KR102622665B1 (ko) | 블록체인 기반의 데이터 관리 방법 및 장치 | |
US20220284110A1 (en) | Multi-key secure deduplication using locked fingerprints | |
CN110401535B (zh) | 数字证书生成、安全通信、身份认证方法及装置 | |
Maragatharajan et al. | Removal of duplicate data from encrypted cloud storage | |
Luna et al. | Providing security to the desktop data grid | |
KR20210028719A (ko) | 디지털 요청 처리의 보안 거버넌스 | |
Distefano et al. | Achieving distributed system information security |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |