CN114169891A - 一种基于联盟区块链的数据安全存储方法 - Google Patents
一种基于联盟区块链的数据安全存储方法 Download PDFInfo
- Publication number
- CN114169891A CN114169891A CN202111556187.XA CN202111556187A CN114169891A CN 114169891 A CN114169891 A CN 114169891A CN 202111556187 A CN202111556187 A CN 202111556187A CN 114169891 A CN114169891 A CN 114169891A
- Authority
- CN
- China
- Prior art keywords
- data
- transaction
- block chain
- ciphertext
- metadata
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3825—Use of electronic signatures
-
- 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/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3829—Payment protocols; Details thereof insuring higher security of transaction involving key management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/40—Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
- G06Q20/401—Transaction verification
- G06Q20/4014—Identity check for transactions
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Accounting & Taxation (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Finance (AREA)
- General Business, Economics & Management (AREA)
- Strategic Management (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Storage Device Security (AREA)
Abstract
本发明提供一种基于联盟区块链的数据安全存储方法,能够实现数据的安全存储,保证数据的可靠性,有效防止数据被篡改,保障数据结果的完整性同时规避了由于第三方检验对数据安全性造成威胁的状况。包括如下步骤,生成交易数据,对交易数据执行签名并加密;将加密后的交易数据作为元数据存储至区块链网络中,数据上传完成;生成请求数据交易,区块链节点对请求数据交易的签名进行验证,若签名正确,则读取区块链对应区块中的元数据并根据元数据获取密文,若签名错误,则无法读取元数据;对获取的密文进行完整性校验,若密文数据完整,则对获取的密文解密获得数据结果,若密文数据不完整,则不对密文解密,数据访问完成。
Description
技术领域
本发明涉及数据存储技术领域,具体为一种基于联盟区块链的数据安全存储方法。
背景技术
移动互联网和物联网每天都会产生大量的数据,随着计算能力和人工智能的发展,数据时代已经到来。数据挖掘技术可以充分发挥数据的潜在价值,为人们的工作、生活提供丰富的服务,而数据安全存储是该目标的基础。一方面,只有可信、未被篡改的数据才有利用的价值,否则会产生错误的决策,可能造成不可估量的损失。另一方面,人们隐私保护意识越来越强,人们在享受各类应用程序带来便捷服务的同时,也希望自己的隐私权可以得到保证。目前,由于云存储服务提供了简单便捷的数据管理,并且用户操作不受时间以及地点的限制,因此很多个人和企业用户使用云存储服务进行数据存储和管理。然而云存储环境下,尽管用户拥有数据所有权,但用户仍然面临着数据泄露以及被篡改的风险,据实际情况统计,个人数据泄露的问题在不断加剧。
目前为了实现数据安全存储并保护用户隐私,通常采取的措施包括:
(1)接入验证:数据的所有者执行访问数据操作时,需要提供对自己身份的证明,如账户密码、手机验证码等,服务器对这些信息进行验证,成功通过验证的操作者才可以获取到数据。这种方式使用和实现便捷,但存在安全漏洞,比如账户密码被破解则用户的所有数据都会暴露。
(2)数据加密:将数据存储在云服务器时,由于云端虚拟化特征明显,不能充分信任,可以将数据加密后再存储,数据所有者在需要使用数据时,对请求得到的数据先进行解密再使用。
(3)完整性校验:存储数据和数字摘要,数据所有者需要使用数据时,下载数据和摘要值,计算出数据的摘要值与下载得到的摘要值进行比对,两者一致则说明数据没有被篡改。这种方式需要考虑如何保证摘要值可信,只有摘要值真实,完整性校验才可靠。此外,依赖第三方的完整性校验方式具有较高的效率,但第三方可能被冒充导致校验结果不可信,会对数据安全性造成威胁。
发明内容
为了解决现有技术中存在的问题,本发明提供一种基于联盟区块链的数据安全存储方法,能够实现数据的安全存储,保证数据的可靠性,有效防止数据被篡改,保障数据结果的完整性同时规避了由于第三方检验对数据安全性造成威胁的状况。
为实现上述目的,本发明提供如下技术方案:
一种基于联盟区块链的数据安全存储方法,包括如下步骤,
生成交易数据,对交易数据执行签名并加密;
将加密后的交易数据作为元数据存储至区块链网络中,数据上传完成;
生成请求数据交易,区块链节点对请求数据交易的签名进行验证,若签名正确,则读取区块链对应区块中的元数据并根据元数据获取密文,若签名错误,则无法读取元数据;
对获取的密文进行完整性校验,若密文数据完整,则对获取的密文解密获得数据结果,若密文数据不完整,则不对密文解密,数据访问完成。
优选地,对交易数据执行加密包括采用对称加密的方式将交易数据加密为密文。
优选地,所述区块链网络采用与智能合约结合的区块链网络,区块链网络与智能合约结合包括将编写的智能合约程序编译成二进制码后部署至区块链网络中。
优选地,所述区块链节点对请求数据交易的签名进行验证时,若签名正确,还包括将获取的结果同步转发到区块链其他对等的节点中存储。
优选地,所述对获取的密文进行完整性校验包括,
计算获取密文的摘要值;
生成密文数据完整性验证交易发送至区块链网络,区块链节点对密文数据完整性验证交易的签名进行验证,若验证正确,则与区块链节点通信获取区块链中存储的摘要值;
对比计算获得的摘要值和存储的摘要值,得到验证结果,若相同,则密文数据完整。
优选地,所述数据访问执行过程中,还包括对访问数据信息进行记录并存储访问记录。
优选地,所述存储访问记录后,还包括对访问记录溯源,
生成访问记录溯源交易发送至区块链,区块链节点对访问记录溯源交易的签名进行验证,若验证正确,则获取访问记录结果。
优选地,所述访问数据信息包括数据访问的时间和区块链网络的账号。
优选地,所述数据上传前,还包括对接入区块链网络的其他对等的区块链节点进行身份验证,若身份验证合格,则接入该区块链网络。
优选地,所述将加密后的交易数据作为元数据存储至区块链网络中包括,根据加密后的交易数据计算交易数据摘要值;
将加密后的交易数据以文件的形式存储至Ceph集群中,获得文件地址;
将计算的交易数据摘要值和获得的文件地址作为元数据进行存储。
与现有技术相比,本发明具有以下有益效果:
本发明提供一种基于联盟区块链的数据安全存储方法,通过对交易数据签名并加密后对数据上传,在进行数据访问时,只有通过验证的交易指令可以读取区块链中上传的用户交易数据并进行解密获得明文结果,同时在访问读取过程中,需要对获取的密文进行完整性校验,包括通过本地计算摘要值和存储在区块链中的摘要值进行对比,来进行数据完整性校验,最终进行访问记录溯源,实现数据的安全存储,在保证确认数据的可靠性的同时,能够有效防止数据被篡改,解决了目前的电子档案数据安全存储措施存在漏洞,账号密码泄露的风险较大的问题,且不需要依赖于第三方进行完整性校验,通过自身设置的摘要值对比和验证即可实现数据的完整性校验,从而规避了对数据安全性造成威胁的状况。
附图说明
图1为本发明数据安全存储方法的步骤流程图;
图2为本发明方法中Ceph集群组件的示意图;
图3为本发明方法的总体架构示意图;
图4为本发明方法中数据上传与访问的流程示意图;
图5为本发明方法中数据完整性验证和访问记录溯源的流程示意图;
图6为本发明方法中访问记录溯源的流程示意图。
具体实施方式
下面结合具体的实施例对本发明做进一步的详细说明,所述是对本发明的解释而不是限定。
如图1所示,本发明一种基于联盟区块链的数据安全存储方法,包括如下步骤,
生成交易数据,对交易数据执行签名并加密;
将加密后的交易数据作为元数据存储至区块链网络中,数据上传完成;
生成请求数据交易,区块链节点对请求数据交易的签名进行验证,若签名正确,则读取区块链对应区块中的元数据并根据元数据获取密文,若签名错误,则无法读取元数据;
对获取的密文进行完整性校验,若密文数据完整,则对获取的密文解密获得数据结果,若密文数据不完整,则不对密文解密,数据访问完成。
本发明提供一种基于联盟区块链的数据安全存储方法,通过对交易数据签名并加密后对数据上传,在进行数据访问时,只有通过验证的交易指令可以读取区块链中上传的用户交易数据并进行解密获得明文结果,同时在访问读取过程中,需要对获取的密文进行完整性校验,包括通过本地计算摘要值和存储在区块链中的摘要值进行对比,来进行数据完整性校验,最终进行访问记录溯源,实现数据的安全存储,在保证确认数据的可靠性的同时,能够有效防止数据被篡改,解决了目前的电子档案数据安全存储措施存在漏洞,账号密码泄露的风险较大的问题,且不需要依赖于第三方进行完整性校验,通过自身设置的摘要值对比和验证即可实现数据的完整性校验,从而规避了对数据安全性造成威胁的状况。
具体地,本发明一种电子档案管理用基于联盟区块链的数据安全存储方法,其方法包括如下步骤:
(S1):区块链基于P2P网络模式与其他节点直接通信,将数据广播到全网中,数据存储服务提供者执行区块链初始化脚本文件启动节点,生成创世块,等待对应用户实体的区块链节点接入,启动Ceph集群、基础服务平台程序和监控平台程序,用户启动区块链节点接入联盟链,接入过程联盟链网络会对节点进行身份验证,合法的节点成功加入到联盟链,接入网络后,节点开启监听线程,等待网络中对等节点广播数据,并检查本身区块是否是最新的,如果不是则从其他节点同步区块;
(S2):将编写的智能合约编译成二进制码,再部署到区块链网络中,用户发送访问数据、校验数据完整性、查询数据访问记录等操作时,都需要构造交易数据,并使用以太坊账号私钥对交易数据签名;
(S3):如图4所示,数据上传的是密文数据,最终以文件的形式存储在Ceph集群,用户在本地通过对称加密方式将数据加密为密文,再发送到基础服务器中,且对称加密密钥由用户自己管理,基础服务平台根据收到的数据生成文件,计算数据摘要值,再将文件存储到Ceph集群中,获得文件地址,基础服务平台发起交易调用智能合约,将数字摘要和文件地址等信息作为元数据存储在区块链网络中,区块链网络对交易达成一致;
(S4):如图5所示,用户构造数据访问交易,并使用私钥对交易签名,区块链节点先验证交易签名,将交易打包并广播到全网,最后区块链网络对交易达成共识,基础服务平台得到元数据,再从Ceph集群获取文件数据,并验证数据完整性,最后返回给用户端,用户使用对称加密密钥解密获得的密文数据,得到明文;
(S5):用户获取到某条数据m,在本地计算摘要值digest1=Hash(m),用户构造数据完整性验证交易,使用私钥对交易签名,并直接将交易请求发送到区块链网络,区块链节点验证交易签名,再将交易打包并广播到全网,最后区块链网络对交易达成共识,用户获得存储在区块链中m的摘要值digest2;
(S6):如图6所示,用户构造访问记录溯源交易,并使用私钥对交易签名,直接将交易请求发送到区块链网络,区块链节点验证交易签名,再将交易打包并广播到全网,最后区块链网络对交易达成共识。
优选的,所述步骤(S1)中,用户上传的数据以文件的形式存储在Ceph集群,数据的数字摘要、文件在Ceph集群中的地址以及访问记录存储在联盟链。
优选的,所述步骤(S1)中,当节点监听到广播的交易或区块数据后,如果验证交易或区块的签名有效,则进一步处理数据并转发到其他对等的节点。
优选的,所述步骤(S2)中,将摘要数据与文件位置数据存入区块链的操作需要通过调用智能合约来实现,因此建立区块链网络后,部署开发的智能合约。
优选的,所述步骤(S3)中,基础服务平台处于方案的中间层,向上与用户端通信,封装了业务逻辑操作,为用户提供Restful接口,向下与Ceph集群的对象网关和以太坊网络中的节点通信,调用对象网关的接口完成数据的上传操作,再生成数字摘要等元数据,执行部署在以太坊节点中的智能合约将元数据存储在节点中,或通过智能合约获取元数据再调用对象网关的接口完成数据的访问操作。
优选的,所述步骤(S4)中,交易执行过程中会记录数据访问的时间和以太坊账号,供数据所有者对访问记录溯源。
优选的,所述步骤(S5)中,当用户访问数据时基础服务平台会对获取到密文数据执行完整性校验,若用户质疑基础服务平台执行数据完整性校验的正确性,用户首先获取到密文数据,再直接与区块链节点通信获取摘要数据。
优选的,所述步骤(S5)中,用户在本地计算密文数据的摘要与从区块链获取到的摘要进行比对,相同则说明数据没有被篡改,通过去中心化保证数据完整性校验结果可信。
优选的,所述步骤(S5)中,digest2是可信的摘要值,比较digest1和digest2,若两者相同则数据是完整的,数据未存在被篡改的可能。
优选的,所述步骤(S6)中,用户每次访问数据都会在区块链中留下访问记录,利用区块链数据不可篡改的特点提供访问记录溯源,用户直接与区块链通信,发送访问记录溯源交易获取数据,溯源结果真实可信,基础服务平台提供访问记录溯源接口供用户使用。
优选地,对交易数据执行加密包括采用对称加密的方式或者非对称加密方式将交易数据加密为密文。
优选地,所述区块链网络采用与智能合约结合的区块链网络,其中,区块链网络与智能合约结合包括将编写的智能合约程序编译成二进制码后部署至区块链网络中。
其中,所述区块链节点对请求数据交易的签名进行验证时,若签名正确,还包括将获取的结果同步转发到区块链其他对等的节点中存储。
进一步地,所述对获取的密文进行完整性校验包括,
计算获取密文的摘要值;
生成密文数据完整性验证交易发送至区块链网络,区块链节点对密文数据完整性验证交易的签名进行验证,若验证正确,则与区块链节点通信获取区块链中存储的摘要值;
对比计算获得的摘要值和存储的摘要值,得到验证结果,若相同,则密文数据完整。
进一步地,所述数据访问执行过程中,还包括对访问数据信息进行记录并存储访问记录。
其中,所述存储访问记录后,还包括对访问记录溯源,
生成访问记录溯源交易发送至区块链,区块链节点对访问记录溯源交易的签名进行验证,若验证正确,则获取访问记录结果。
其中,所述访问数据信息包括数据访问的时间和区块链网络的账号,如以太坊账号,但不限于此。
进一步地,所述数据上传前,还包括对接入区块链网络的其他对等的区块链节点进行身份验证,若身份验证合格,则接入该区块链网络。进一步保障加强数据存储的安全性。
优选地,所述将加密后的交易数据作为元数据存储至区块链网络中包括,根据加密后的交易数据计算交易数据摘要值;
将加密后的交易数据以文件的形式存储至Ceph集群中,获得文件地址;
将计算的交易数据摘要值和获得的文件地址作为元数据进行存储。
本发明提供几种实施例来对本发明所述的数据安全存储方法作进一步解释和说明。
实施例一:
一种电子档案管理用基于联盟区块链的数据安全存储方法,其方法包括如下步骤:
(S1):区块链基于P2P网络模式与其他节点直接通信,将数据广播到全网中,数据存储服务提供者执行区块链初始化脚本文件启动节点,生成创世块,等待对应用户实体的区块链节点接入,启动Ceph集群、基础服务平台程序和监控平台程序,用户启动区块链节点接入联盟链,接入过程联盟链网络会对节点进行身份验证,合法的节点成功加入到联盟链,接入网络后,节点开启监听线程,等待网络中对等节点广播数据,并检查本身区块是否是最新的,如果不是则从其他节点同步区块,其中用户上传的数据以文件的形式存储在Ceph集群,数据的数字摘要、文件在Ceph集群中的地址以及访问记录存储在联盟链;
(S2):将编写的智能合约编译成二进制码,再部署到区块链网络中,用户发送访问数据、校验数据完整性、查询数据访问记录等操作时,都需要构造交易数据,并使用以太坊账号私钥对交易数据签名,其中将摘要数据与文件位置数据存入区块链的操作需要通过调用智能合约来实现,因此建立区块链网络后,部署开发的智能合约;
(S3):数据上传的是密文数据,最终以文件的形式存储在Ceph集群,用户在本地通过对称加密方式将数据加密为密文,再发送到基础服务器中,且对称加密密钥由用户自己管理,基础服务平台根据收到的数据生成文件,计算数据摘要值,再将文件存储到Ceph集群中,获得文件地址,基础服务平台发起交易调用智能合约,将数字摘要和文件地址等信息作为元数据存储在区块链网络中,区块链网络对交易达成一致,基础服务平台处于方案的中间层,向上与用户端通信,封装了业务逻辑操作,为用户提供Restful接口,向下与Ceph集群的对象网关和以太坊网络中的节点通信,调用对象网关的接口完成数据的上传操作,再生成数字摘要等元数据,执行部署在以太坊节点中的智能合约将元数据存储在节点中,或通过智能合约获取元数据再调用对象网关的接口完成数据的访问操作;
(S4):用户构造数据访问交易,并使用私钥对交易签名,区块链节点先验证交易签名,将交易打包并广播到全网,最后区块链网络对交易达成共识,基础服务平台得到元数据,再从Ceph集群获取文件数据,并验证数据完整性,最后返回给用户端,用户使用对称加密密钥解密获得的密文数据,得到明文,其中交易执行过程中会记录数据访问的时间和以太坊账号,供数据所有者对访问记录溯源;
(S5):用户获取到某条数据m,在本地计算摘要值digest1=Hash(m),用户构造数据完整性验证交易,使用私钥对交易签名,并直接将交易请求发送到区块链网络,区块链节点验证交易签名,再将交易打包并广播到全网,最后区块链网络对交易达成共识,用户获得存储在区块链中m的摘要值digest2,当用户访问数据时基础服务平台会对获取到密文数据执行完整性校验,若用户质疑基础服务平台执行数据完整性校验的正确性,用户首先获取到密文数据,再直接与区块链节点通信获取摘要数据;
(S6):用户构造访问记录溯源交易,并使用私钥对交易签名,直接将交易请求发送到区块链网络,区块链节点验证交易签名,再将交易打包并广播到全网,最后区块链网络对交易达成共识。
实施例二:
一种电子档案管理用基于联盟区块链的数据安全存储方法,其方法包括如下步骤:
(S1):区块链基于P2P网络模式与其他节点直接通信,将数据广播到全网中,数据存储服务提供者执行区块链初始化脚本文件启动节点,生成创世块,等待对应用户实体的区块链节点接入,启动Ceph集群、基础服务平台程序和监控平台程序,用户启动区块链节点接入联盟链,接入过程联盟链网络会对节点进行身份验证,合法的节点成功加入到联盟链,接入网络后,节点开启监听线程,等待网络中对等节点广播数据,并检查本身区块是否是最新的,如果不是则从其他节点同步区块,其中用户上传的数据以文件的形式存储在Ceph集群,数据的数字摘要、文件在Ceph集群中的地址以及访问记录存储在联盟链,当节点监听到广播的交易或区块数据后,如果验证交易或区块的签名有效,则进一步处理数据并转发到其他对等的节点;
(S2):将编写的智能合约编译成二进制码,再部署到区块链网络中,用户发送访问数据、校验数据完整性、查询数据访问记录等操作时,都需要构造交易数据,并使用以太坊账号私钥对交易数据签名,其中将摘要数据与文件位置数据存入区块链的操作需要通过调用智能合约来实现,因此建立区块链网络后,部署开发的智能合约;
(S3):数据上传的是密文数据,最终以文件的形式存储在Ceph集群,用户在本地通过对称加密方式将数据加密为密文,再发送到基础服务器中,且对称加密密钥由用户自己管理,基础服务平台根据收到的数据生成文件,计算数据摘要值,再将文件存储到Ceph集群中,获得文件地址,基础服务平台发起交易调用智能合约,将数字摘要和文件地址等信息作为元数据存储在区块链网络中,区块链网络对交易达成一致,基础服务平台处于方案的中间层,向上与用户端通信,封装了业务逻辑操作,为用户提供Restful接口,向下与Ceph集群的对象网关和以太坊网络中的节点通信,调用对象网关的接口完成数据的上传操作,再生成数字摘要等元数据,执行部署在以太坊节点中的智能合约将元数据存储在节点中,或通过智能合约获取元数据再调用对象网关的接口完成数据的访问操作;
(S4):用户构造数据访问交易,并使用私钥对交易签名,区块链节点先验证交易签名,将交易打包并广播到全网,最后区块链网络对交易达成共识,基础服务平台得到元数据,再从Ceph集群获取文件数据,并验证数据完整性,最后返回给用户端,用户使用对称加密密钥解密获得的密文数据,得到明文,其中交易执行过程中会记录数据访问的时间和以太坊账号,供数据所有者对访问记录溯源;
(S5):用户获取到某条数据m,在本地计算摘要值digest1=Hash(m),用户构造数据完整性验证交易,使用私钥对交易签名,并直接将交易请求发送到区块链网络,区块链节点验证交易签名,再将交易打包并广播到全网,最后区块链网络对交易达成共识,用户获得存储在区块链中m的摘要值digest2,当用户访问数据时基础服务平台会对获取到密文数据执行完整性校验,若用户质疑基础服务平台执行数据完整性校验的正确性,用户首先获取到密文数据,再直接与区块链节点通信获取摘要数据,用户在本地计算密文数据的摘要与从区块链获取到的摘要进行比对,相同则说明数据没有被篡改,通过去中心化保证数据完整性校验结果可信;
(S6):用户构造访问记录溯源交易,并使用私钥对交易签名,直接将交易请求发送到区块链网络,区块链节点验证交易签名,再将交易打包并广播到全网,最后区块链网络对交易达成共识。
实施例三:
一种电子档案管理用基于联盟区块链的数据安全存储方法,其方法包括如下步骤:
(S1):区块链基于P2P网络模式与其他节点直接通信,将数据广播到全网中,数据存储服务提供者执行区块链初始化脚本文件启动节点,生成创世块,等待对应用户实体的区块链节点接入,启动Ceph集群、基础服务平台程序和监控平台程序,用户启动区块链节点接入联盟链,接入过程联盟链网络会对节点进行身份验证,合法的节点成功加入到联盟链,接入网络后,节点开启监听线程,等待网络中对等节点广播数据,并检查本身区块是否是最新的,如果不是则从其他节点同步区块,其中用户上传的数据以文件的形式存储在Ceph集群,数据的数字摘要、文件在Ceph集群中的地址以及访问记录存储在联盟链,当节点监听到广播的交易或区块数据后,如果验证交易或区块的签名有效,则进一步处理数据并转发到其他对等的节点;
(S2):将编写的智能合约编译成二进制码,再部署到区块链网络中,用户发送访问数据、校验数据完整性、查询数据访问记录等操作时,都需要构造交易数据,并使用以太坊账号私钥对交易数据签名,其中将摘要数据与文件位置数据存入区块链的操作需要通过调用智能合约来实现,因此建立区块链网络后,部署开发的智能合约;
(S3):数据上传的是密文数据,最终以文件的形式存储在Ceph集群,用户在本地通过对称加密方式将数据加密为密文,再发送到基础服务器中,且对称加密密钥由用户自己管理,基础服务平台根据收到的数据生成文件,计算数据摘要值,再将文件存储到Ceph集群中,获得文件地址,基础服务平台发起交易调用智能合约,将数字摘要和文件地址等信息作为元数据存储在区块链网络中,区块链网络对交易达成一致,基础服务平台处于方案的中间层,向上与用户端通信,封装了业务逻辑操作,为用户提供Restful接口,向下与Ceph集群的对象网关和以太坊网络中的节点通信,调用对象网关的接口完成数据的上传操作,再生成数字摘要等元数据,执行部署在以太坊节点中的智能合约将元数据存储在节点中,或通过智能合约获取元数据再调用对象网关的接口完成数据的访问操作;
(S4):用户构造数据访问交易,并使用私钥对交易签名,区块链节点先验证交易签名,将交易打包并广播到全网,最后区块链网络对交易达成共识,基础服务平台得到元数据,再从Ceph集群获取文件数据,并验证数据完整性,最后返回给用户端,用户使用对称加密密钥解密获得的密文数据,得到明文,其中交易执行过程中会记录数据访问的时间和以太坊账号,供数据所有者对访问记录溯源;
(S5):用户获取到某条数据m,在本地计算摘要值digest1=Hash(m),用户构造数据完整性验证交易,使用私钥对交易签名,并直接将交易请求发送到区块链网络,区块链节点验证交易签名,再将交易打包并广播到全网,最后区块链网络对交易达成共识,用户获得存储在区块链中m的摘要值digest2,当用户访问数据时基础服务平台会对获取到密文数据执行完整性校验,若用户质疑基础服务平台执行数据完整性校验的正确性,用户首先获取到密文数据,再直接与区块链节点通信获取摘要数据,用户在本地计算密文数据的摘要与从区块链获取到的摘要进行比对,相同则说明据没有被篡改,通过去中心化保证数据完整性校验结果可信,digest2是可信的摘要值,比较digest1和digest2,若两者相同则数据是完整的,数据未存在被篡改的可能;
(S6):用户构造访问记录溯源交易,并使用私钥对交易签名,直接将交易请求发送到区块链网络,区块链节点验证交易签名,再将交易打包并广播到全网,最后区块链网络对交易达成共识,用户每次访问数据都会在区块链中留下访问记录,利用区块链数据不可篡改的特点提供访问记录溯源,用户直接与区块链通信,发送访问记录溯源交易获取数据,溯源结果真实可信,基础服务平台提供访问记录溯源接口供用户使用。
方法中的联盟区块链是保证数据安全存储的关键,利用区块链数据不可篡改万方数据以及交易记录可溯源的特点,将访问数据时需要的元数据存储在区块链中,并在区块链节点上部署开发的智能合约。基础服务平台通过调用智能合约将用户数据的元数据和访问记录存储在区块链中,调用智能合约产生的交易记录会永久、不可篡改的保存在节点上,因此通过对用户数据生成和访问的溯源,保证数据真实可信,Ceph集群是本方案的数据存储部分,提供TB级别的数据存储能力。同时,集群具有高可靠性和很强的扩展性,可以通过增加节点的方式应对集群存储能力不足的问题。
其中,Ceph集群包含的组件如图2所示,数据以对象的形式存储在Ceph对象存储设备(OSD)当中,Cephmonitor(MON提供了追踪集群状况的功能,Ceph对象网关)提供了兼容AmazonS3RESTfulAPI的接口来访问ceph集群,基础服务平台正是通过这些接口实现数据的上传与检索。
如图3所示,基础服务平台处于方案的中间层,向上与用户端通信,封装了业务逻辑操作,为用户提供Restful接口,向下与Ceph集群的对象网关和以太坊网络中的节点通信,调用对象网关的接口完成数据的上传操作,再生成数字摘要等元数据,执行部署在以太坊节点中的智能合约将元数据存储在节点中,或通过智能合约获取元数据再调用对象网关的接口完成数据的访问操作。监控平台周期性从Ceph集群和区块链网络中获取集群状态信息和以太坊节点在线与离线信息,通过这些数据分析系统是否处于正常状态。系统总体架构图中的用户端是数据安全存储服务的使用者,基础服务平台为用户屏蔽了服务的逻辑实现,用户端只需要通过封装好的接口便可实现数据的安全可靠且私密的存储和访问记录的溯源,用户若对基础服务平台提供的数据完整性校验和访问记录溯源接口产生质疑,也可以直接与区块链节点通信,调用智能合约完成数据完整性校验和访问记录溯源。
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。
为实现上述目的,在本发明中采取的主要技术手段。要清楚、完整、准确地加以描述,要对发明的实质内容加以说明,公开的程度以所属技术领域的普通技术人员能够理解和实现为准。
Claims (10)
1.一种基于联盟区块链的数据安全存储方法,其特征在于,包括如下步骤,
生成交易数据,对交易数据执行签名并加密;
将加密后的交易数据作为元数据存储至区块链网络中,数据上传完成;
生成请求数据交易,区块链节点对请求数据交易的签名进行验证,若签名正确,则读取区块链对应区块中的元数据并根据元数据获取密文,若签名错误,则无法读取元数据;
对获取的密文进行完整性校验,若密文数据完整,则对获取的密文解密获得数据结果,若密文数据不完整,则不对密文解密,数据访问完成。
2.根据权利要求1所述的一种基于联盟区块链的数据安全存储方法,其特征在于,对交易数据执行加密包括采用对称加密的方式将交易数据加密为密文。
3.根据权利要求1所述的一种基于联盟区块链的数据安全存储方法,其特征在于,所述区块链网络采用与智能合约结合的区块链网络,区块链网络与智能合约结合包括将编写的智能合约程序编译成二进制码后部署至区块链网络中。
4.根据权利要求1所述的一种基于联盟区块链的数据安全存储方法,其特征在于,所述区块链节点对请求数据交易的签名进行验证时,若签名正确,还包括将获取的结果同步转发到区块链其他对等的节点中存储。
5.根据权利要求1所述的一种基于联盟区块链的数据安全存储方法,其特征在于,所述对获取的密文进行完整性校验包括,
计算获取密文的摘要值;
生成密文数据完整性验证交易发送至区块链网络,区块链节点对密文数据完整性验证交易的签名进行验证,若验证正确,则与区块链节点通信获取区块链中存储的摘要值;
对比计算获得的摘要值和存储的摘要值,得到验证结果,若相同,则密文数据完整。
6.根据权利要求1所述的一种基于联盟区块链的数据安全存储方法,其特征在于,所述数据访问执行过程中,还包括对访问数据信息进行记录并存储访问记录。
7.根据权利要求6所述的一种基于联盟区块链的数据安全存储方法,其特征在于,所述存储访问记录后,还包括对访问记录溯源,
生成访问记录溯源交易发送至区块链,区块链节点对访问记录溯源交易的签名进行验证,若验证正确,则获取访问记录结果。
8.根据权利要求6所述的一种基于联盟区块链的数据安全存储方法,其特征在于,所述访问数据信息包括数据访问的时间和区块链网络的账号。
9.根据权利要求1所述的一种基于联盟区块链的数据安全存储方法,其特征在于,所述数据上传前,还包括对接入区块链网络的其他对等的区块链节点进行身份验证,若身份验证合格,则接入该区块链网络。
10.根据权利要求1所述的一种基于联盟区块链的数据安全存储方法,其特征在于,所述将加密后的交易数据作为元数据存储至区块链网络中包括,
根据加密后的交易数据计算交易数据摘要值;
将加密后的交易数据以文件的形式存储至Ceph集群中,获得文件地址;
将计算的交易数据摘要值和获得的文件地址作为元数据进行存储。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111556187.XA CN114169891A (zh) | 2021-12-17 | 2021-12-17 | 一种基于联盟区块链的数据安全存储方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111556187.XA CN114169891A (zh) | 2021-12-17 | 2021-12-17 | 一种基于联盟区块链的数据安全存储方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114169891A true CN114169891A (zh) | 2022-03-11 |
Family
ID=80487328
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111556187.XA Pending CN114169891A (zh) | 2021-12-17 | 2021-12-17 | 一种基于联盟区块链的数据安全存储方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114169891A (zh) |
-
2021
- 2021-12-17 CN CN202111556187.XA patent/CN114169891A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111090888B (zh) | 验证合约的方法及装置 | |
CN109409122B (zh) | 文件存储方法及其电子设备、存储介质 | |
CN111092727B (zh) | 共享集群密钥的方法及装置 | |
CN111092726B (zh) | 生成共享合约密钥的方法及装置 | |
CN111914269A (zh) | 一种区块链和云存储环境下的数据安全共享方法和系统 | |
CN114499895B (zh) | 一种融合可信计算与区块链的数据可信处理方法及系统 | |
WO2020211496A1 (zh) | 一种块链式账本中的签名验证方法、系统、装置及设备 | |
CN111090875A (zh) | 部署合约的方法及装置 | |
CN107483509A (zh) | 一种身份验证方法、服务器及可读存储介质 | |
CN108076057A (zh) | 一种基于区块链的数据保全系统及方法 | |
CN113742782A (zh) | 基于隐私保护的区块链访问权限控制方法和区块链系统 | |
CN104715183A (zh) | 一种虚拟机运行时的可信验证方法和设备 | |
CN110061887B (zh) | 一种基于区块链的流量统计方法、装置和设备 | |
CN110381075B (zh) | 基于区块链的设备身份认证方法和装置 | |
CN104079568A (zh) | 基于云存储技术防止文件泄密的方法及系统 | |
CN110096894B (zh) | 一种基于区块链的数据匿名共享系统及方法 | |
Aung et al. | Ethereum-based emergency service for smart home system: Smart contract implementation | |
CN115580413B (zh) | 一种零信任的多方数据融合计算方法和装置 | |
CN114629713B (zh) | 身份验证方法、装置及系统 | |
CN113918982B (zh) | 一种基于标识信息的数据处理方法及系统 | |
CN111177265A (zh) | 一种区块链分域方法 | |
CN114169891A (zh) | 一种基于联盟区块链的数据安全存储方法 | |
CN114329395A (zh) | 一种基于区块链的供应链金融隐私保护方法和系统 | |
CN115118426A (zh) | 区块链系统的数据处理方法、装置、设备及存储介质 | |
CN113360924A (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 |