CN108462692B - 一种基于区块链的数据防篡改系统及其方法 - Google Patents
一种基于区块链的数据防篡改系统及其方法 Download PDFInfo
- Publication number
- CN108462692B CN108462692B CN201810091366.2A CN201810091366A CN108462692B CN 108462692 B CN108462692 B CN 108462692B CN 201810091366 A CN201810091366 A CN 201810091366A CN 108462692 B CN108462692 B CN 108462692B
- Authority
- CN
- China
- Prior art keywords
- block
- server
- data
- ith
- copy
- 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
-
- 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/12—Applying verification of the received information
- H04L63/123—Applying verification of the received information received data contents, e.g. message integrity
-
- 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/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
- H04L63/1466—Active attacks involving interception, injection, modification, spoofing of data unit addresses, e.g. hijacking, packet injection or TCP sequence number attacks
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种基于区块链的数据防篡改系统及其方法,其特征包括:客户端和服务器端;所述客户端包括:数据上传模块、数据查询模块;所述服务器端是由门户和N个服务器组成;任意第i个服务器包括:第i个单区块验证模块、第i个周期性区块链验证模块。本发明能有效降低数据从内部或外部被篡改或破坏的可能性,提高数据安全性和可信度,并且具有轻量级的客户端,降低了系统的部署难度。
Description
技术领域
本发明涉及数据防篡改领域,特别是一种基于区块链的数据防篡改系统及其方法。
背景技术
目前主要有两种数据防篡改技术,一是数字水印技术,二是数字签名。
数字水印技术是指用信号处理的方法在数字化的多媒体数据中嵌入隐蔽的标记;这种标记通常是不可见的,只有通过专用的检测器或阅读器才能提取。当数据被篡改后,可根据水印的状态即可判断数据是否已被篡改。但是,数字水印技术存在以下弊端:
(1)要求水印在数字作品中的嵌入位置必须足够隐蔽;
(2)在经历多种无意或有意的信号处理过程后,数字水印容易因为信号失真而失效;
(3)当数字水印用于防伪标签时,识别数字水印需要特殊的物理设备,增加了成本;
(4)对信息的修改编辑容易影响甚至破坏水印;
(5)已有多种对数字水印的攻击方法,如唯密写攻击、已知掩蔽信息攻击、已知水印攻击、选择密写攻击等。
数字签名也是目前常用的数据防篡改技术,其基本原理是将数据的摘要用发送者的私钥加密,与原文一起传送给接收者;接收者现将数据用散列函数计算得到摘要,再利用发送者的公钥解密收到的加密过后的摘要信息,将解密后的摘要信息和计算获得的摘要信息对比,如果一致,则表示信息未被篡改;否则,表示数据已被篡改。但是利用数字签名技术来实现数据防篡改存在以下问题:
(1)难以保证预先生成的摘要信息的安全性;
(2)对于攻击者而言,存在着暴力破解攻击找到私钥的可能性;
(3)难以预防内部管理员的篡改;
(4)即使利用分布式数据库保存数据备份,由于数据库数目较少,数据仍然有被篡改的可能。
发明内容
本发明为克服现有数据防篡改技术存在的不足,提出一种基于区块链的数据防篡改系统及其方法,以期能实现数据存储系统的不可篡改性和不可破坏性、提高数据可靠性,从而为用户提供可信的数据存储平台。
本发明为解决技术问题采用如下技术方案:
本发明一种基于区块链的数据防篡改系统的特点包括:客户端和服务器端;所述客户端包括:数据上传模块、数据查询模块;所述服务器端是由门户和N个服务器组成;任意第i个服务器包括:第i个单区块验证模块、第i个周期性区块链验证模块,1≤i≤N;
所述数据上传模块将所述客户端提交的数据上传请求发送给所述门户;
所述门户接收所述数据上传请求,并从N个服务器中随机选取K1个服务器后,将所述K1个服务器的地址发送给所述客户端;其中,K1为奇数,且1≤K1≤N;
所述客户端根据所述K1个服务器的地址将所需上传的原始数据进行加密后,将加密数据发送给所述K1个服务器;
任意第j1个服务器对所接收到的加密数据进行解密,得到第j1个解密数据后向其余的N-1个服务器进行广播;其中,1≤j1≤K1;
所述第i个服务器接收到K1个服务器广播的解密数据,将重复次数最多的解密数据进行存储后,利用第i个单区块验证模块对自身区块链上的最后一个区块进行验证,在验证完成之后,计算最后一个区块的哈希值h1,再将所存储的解密数据、原始数据所对应的客户端信息、原始数据的上传时间和所述哈希值h1进行合并,得到合并信息,并计算所述合并信息的哈希值h2,从而根据合并信息以及哈希值h2生成区块并添加至自身区块链的尾部;
所述数据查询模块将所述客户端提交的数据查询请求发送给所述门户;
所述门户接收所述数据查询请求,并从N个服务器中随机选取K2个服务器后,将所述K2个服务器的地址发送给所述客户端;K2为奇数,且1≤K2≤N;
所述客户端根据所述K2个服务器的地址将所述数据查询请求分别发送给相应的K2个服务器;
任意第j2个服务器根据数据查询请求找到对应区块,利用第j2个单区块验证模块对所述对应区块进行验证,在验证完成之后,将所述对应区块内数据的副本发送给所述客户端;其中,1≤j2≤K2;
所述客户端根据所接收到的K2个数据的副本,将重复次数最多的数据副本作为所述数据查询请求对应的查询结果;
所述第i个服务器利用所述第i个周期性区块链验证模块从自身区块链上的第一个区块开始进行周期性验证:计算当前区块的哈希值,并与下一个区块中所存储的所述当前区块的哈希值进行比较,若两者相同,则表示当前区块没有被篡改,并进行下一个区块的验证,若两者不同,则表示当前区块被篡改,利用所述第i个单区块验证模块对当前区块进行修正,在完成修正之后,进行下一个区块的验证,直到完成所有区块链上的区块验证。
本发明所述的基于区块链的数据防篡改系统的特点也在于,
所述第i个单区块验证模块对第i个服务器区块链上的最后一个区块是按如下过程进行验证:
所述第i个单区块验证模块从其余N-1个服务器中分别获取所需验证的最后一个区块的副本进行比较,选出重复次数最多的最后一个区块的副本与第i个服务器区块链上的最后一个区块的副本进行对比检验,若两者一致,表示第i个服务器的最后一个区块未被篡改;否则,表示第i个服务器的最后一个区块被篡改,并将重复次数最多的最后一个区块的副本作为第i个服务器的最后一个区块的副本。
所述第j2个单区块验证模块对第j2个服务器区块链上的对应区块是按如下过程进行验证:
所述第j2个单区块验证模块从其余N-1个服务器中分别获取所需验证的对应区块的副本进行比较,选出重复次数最多的区块的副本与第j2个服务器区块链上的对应区块的副本进行对比检验,若两者一致,表示第j2个服务器的对应区块未被篡改;否则,表示第j2个服务器的对应区块被篡改,并将重复次数最多的区块的副本作为第j2个服务器的对应区块的副本。
所述第i个周期性区块链验证模块验证时发现当前区块被篡改时,则调用所述第i个单区块验证模块对当前区块是按如下过程进行修正:
所述第i个周期性区块链验证模块从其余N-1个服务器中分别获取所需验证的当前区块的副本进行比较,选出重复次数最多的区块的副本与第i个服务器区块链上的当前区块的副本进行比较,若两者一致,表示第i个周期性区块链验证模块正在验证的当前区块未被篡改;否则,表示第i个周期性区块链验证模块验证的当前区块被篡改,并将重复次数最多的区块的副本作为第i个服务器区块链上的当前区块的副本。
本发明一种基于区块链的数据防篡改方法的特点是应用于由客户端、门户和N个服务器组成的系统中,并按如下步骤进行:
步骤1、所述客户端提交数据上传请求至所述门户;
步骤2、所述门户接收所述数据上传请求,并从N个服务器中随机选取K1个服务器后,将所述K1个服务器的地址发送给所述客户端;其中,K1为奇数,且1≤K1≤N;
步骤3、所述客户端根据所述K1个服务器的地址将所需上传的原始数据进行加密后,将加密数据发送给所述K1个服务器;
步骤4、任意第j1个服务器对所接收到的加密数据进行解密,得到第j1个解密数据后向其余的N-1个服务器进行广播;其中,1≤j1≤K1;
步骤5、所述第i个服务器接收到K1个服务器广播的解密数据,将重复次数最多的解密数据进行存储后,再对自身区块链上的最后一个区块进行验证;
步骤6、在验证完成之后,所述第i个服务器计算最后一个区块的哈希值h1,再将所存储的解密数据、原始数据所对应的客户端信息、原始数据的上传时间和哈希值h1合并,得到合并信息,并计算所述合并信息的哈希值h2,从而根据合并信息以及哈希值h2生成区块并添加至自身区块链的尾部;
步骤7、所述客户端提交数据查询请求至所述门户;
步骤8、所述门户接收所述数据查询请求,并从N个服务器中随机选取K2个服务器后,将所述K2个服务器的地址发送给所述客户端;K2为奇数,且1≤K2≤N;
步骤9、所述客户端根据所述K2个服务器的地址将所述数据查询请求分别发送给相应的K2个服务器;其中,1≤j2≤K2;
步骤10、任意第j2个服务器根据所述数据查询请求找到对应区块,对所述对应区块进行验证;
步骤11、第j2个服务器在验证完成之后,将对应区块内数据的副本发送给所述客户端;
步骤12、所述客户端根据所接收到的K2个数据的副本,将重复次数最多的数据副本作为所述数据查询请求对应的查询结果;
步骤13、所述第i个服务器从自身区块链上的第一个区块开始周期性验证:
步骤13.1、将当前验证的区块记为第p个区块,将自身区块链上的最后一个区块记为第q个区块;初始化p=1;
步骤13.2、计算第p个区块的的哈希值,并与第p+1个区块中所存储的所述第p个区块的哈希值进行比较,若两者相同,则表示第p个区块没有被篡改,并执行步骤13.3,若两者不同,则表示第p个区块可能被篡改,并执行步骤13.4;
步骤13.3、将p+1赋值给p,并判断p>(q-1)是否成立,如成立,则表示验证完成,否则返回步骤13.2;
步骤13.4、所述第i个服务器对第p个区块进行修正,在完成修正之后,返回步骤13.3。
本发明所述的基于区块链的数据防篡改方法的特点也在于,
所述步骤5是按如下过程进行验证:
步骤5a、所述第i个单区块验证模块从其余N-1个服务器中分别获取所需验证的最后一个区块的副本进行比较,选出重复次数最多的最后一个区块的副本与第i个服务器区块链上的最后一个区块的副本进行对比检验,若两者一致,表示第i个服务器上的最后一个区块未被篡改;否则,表示第i个服务器上的最后一个区块被篡改,并执行步骤5b;
步骤5b、将重复次数最多的最后一个区块的副本作为第i个服务器上的最后一个区块的副本。
所述步骤10是按如下过程进行验证:
步骤10a、所述第j2个服务器从其余N-1个服务器中分别获取所需验证的区块的副本进行比较,选出重复次数最多的区块的副本与自身区块链上对应区块的副本进行对比检验,若两者一致,表示第j2个服务器上对应区块未被篡改;否则,表示第j2个服务器上对应区块被篡改,并执行步骤10b;
步骤10b、将重复次数最多的区块的副本作为第j2个服务器上对应区块的副本。
所述步骤13.4是按如下过程进行修正:
步骤13.4a、所述第i个服务器从其余N-1个服务器中分别获取所需修正的当前区块的副本进行比较,选出重复次数最多的区块的副本与自身区块链上的当前区块的副本进行对比检验,若两者一致,表示第i个服务器的当前区块未被篡改;否则,表示第i个服务器的当前区块被篡改,并执行步骤13.4b;
步骤13.4b、将重复次数最多的区块的副本作为第i个服务器的当前区块的副本。
与现有技术相比,本发明的有益效果在于:
1、本发明提出的数据防篡改系统及方法采用了区块链技术,提高了系统去中心化的程度,有效克服了现有数据存储系统存在中心化而导致的数据易被攻击破坏或篡改、被内部人员恶意破坏或篡改的问题,提高了系统的安全性和可靠性。
2、本发明提出的数据防篡改系统及方法在数据安全性方面提出了单区块验证模块和周期性区块链验证模块,同时应用了散列函数和区块链技术,保证了数据的不可篡改性、安全性和可靠性。
3、本发明提出的数据防篡改系统及方法中,数据上传模块和数据查询模块的处理使得客户端无需像传统区块链一样需要大量计算和存储数据,大大减少了对客户端的要求,降低了客户端系统部署和更新的难度,便于普通用户使用基于区块链的数据防篡改系统,并提高了系统的可维护性。
4、本发明提出的数据防篡改系统及方法中,系统中维护的区块链数据对所有人开放,同时,普通用户无需进行身份认证或下载大量数据就可查询数据。因此本发明对普通用户具有很好的开放性。
5、本发明提出的数据防篡改系统及方法中,各存储节点采用一致的协议和规范存储、保存和传输数据,使得所有存储节点可以在去中心化的环境中维护数据,提高了系统的自治性。
附图说明
图1是本发明单区块验证模块的流程图;
图2是本发明周期性区块验证模块的流程图;
图3是本发明数据上传模块的流程图;
图4是本发明数据查询模块的流程图;
图5是本发明系统框图。
具体实施方式
本实施例中,一种基于区块链的数据防篡改系统,应用于存储大量数据,且数据会被篡改的情况中。本系统具体组成如图5所示,包括:客户端和服务器端。客户端包括:数据上传模块、数据查询模块;服务器端是由门户和N个服务器组成。任意第i个服务器包括:第i个单区块验证模块、第i个周期性区块链验证模块,1≤i≤N。
1、数据上传模块具体实施步骤如下:
客户端将数据上传请求提交给门户;
门户接收数据上传请求,并从N个服务器中随机选取K1个服务器后,将K1个服务器的地址发送给客户端;其中,K1为奇数,且1≤K1≤N;
客户端根据K1个服务器的地址将所需上传的原始数据进行加密后,将加密数据发送给K1个服务器;发送时,考虑到数据可以被截获,将原始数据进行加密传输,且K1个服务器存有解谜密钥,从而保证仅有K1个服务器能获得明文信息,提高了系统的安全性;
任意第j1个服务器对所接收到的加密数据进行解密,得到第j1个解密数据后向其余的N-1个服务器进行广播;其中,1≤j1≤K1;
第i个服务器接收到K1个服务器广播的解密数据,将重复次数最多的解密数据进行存储后,利用第i个单区块验证模块对自身区块链上的最后一个区块进行验证,在验证完成之后,计算最后一个区块的哈希值h1,再将所存储的解密数据、原始数据所对应的客户端信息、原始数据的上传时间和哈希值h1合并后,得到合并信息,并计算合并信息的哈希值h2,从而根据合并信息以及哈希值h2生成区块并添加至自身区块链的尾部。
2、数据查询模块具体实施步骤如下:
客户端将数据查询请求提交给门户;
门户接收数据查询请求,并从N个服务器中随机选取K2个服务器后,将K2个服务器的地址发送给客户端;K2为奇数,且1≤K2≤N;
客户端根据K2个服务器的地址将数据查询请求分别发送给相应的K2个服务器;
任意第j2个服务器根据数据查询请求找到对应区块,利用第j2个单区块验证模块对对应区块进行验证,在验证完成之后,将对应区块内数据的副本发送给客户端;其中,1≤j2≤K2;
客户端根据收到的K2个数据的副本,将重复次数最多的数据副本作为数据查询请求对应的查询结果,并将查询结果展示给客户端;
3、周期性区块链验证模块具体实施步骤如下:
第i个服务器利用第i个周期性区块链验证模块从自身区块链上的第一个区块开始进行周期性验证:计算当前区块的哈希值,并与下一个区块中所存储的当前区块的哈希值进行比较,若两者相同,则表示当前区块没有被篡改,并进行下一个区块的验证,若两者不同,则表示当前区块被篡改,利用第i个单区块验证模块对当前区块进行修正,在完成修正之后,进行下一个区块的验证,直到完成所有区块链上的区块验证。
4、在上述系统中,第i个服务器的单区块验证模块对自身区块链上的最后一个区块是按如下过程进行验证:
该验证方式应用于第i个服务器的最后一个区块的检查与修正;
第i个服务器的单区块验证模块从其余N-1个服务器中分别获取所需验证的最后一个区块的数据副本,共记获取N-1个数据副本,并实施对比选择操作,选出重复次数最多的最后一个区块的数据副本与自身区块链上的相应位置的数据副本进行对比,若两者一致,表示第i个服务器的最后一个区块未被篡改;否则,表示第i个服务器的最后一个区块被篡改,并将上述重复次数最多的数据副本作为第i个服务器的的最后一个区块的副本。
5、在上述系统中,第j2个服务器的单区块验证模块对自身区块链上的对应区块是按如下过程进行验证:
该验证方式应用于第j2个服务器的对应区块的检验与修正;
第j2个单区块验证模块从其余N-1个服务器中分别获取所需验证的对应区块的副本进行比较,选出重复次数最多的区块的副本与第j2个服务器区块链上的对应区块的副本进行对比检验,若两者一致,表示第j2个服务器的对应区块未被篡改;否则,表示第j2个服务器中存储的对应区块被篡改,并将重复次数最多的区块的副本作为第j2个服务器的对应区块的副本。
6、在上述系统中,第i个周期性区块链验证模块验证时发现当前区块被篡改时,则调用第i个单区块验证模块对当前区块是按如下过程进行修正:
该验证方式应用于第i个服务器对区块链进行周期性验证时,修正当前检验出的被篡改的区块;
第i个服务器从其余N-1个服务器中分别获取所需修正的区块的数据副本,并进行对比,选出重复次数最多的区块的数据副本与自身区块链上的当前区块的数据副本进行比较,若两者一致,表示第i个服务器的当前区块未被篡改;否则,表示第i个服务器的当前区块被篡改,并将重复次数最多的区块的数据副本作为第i个服务器的当前区块的副本。
7、本实施例中,一种基于区块链的数据防篡改方法是应用于由客户端、门户和N个服务器组成的系统中,系统框图如图5所示,并按如下步骤进行:
步骤1、客户端提交数据上传请求至门户;
步骤2、门户接收数据上传请求,并从N个服务器中随机选取K1个服务器,将K1个服务器的地址发送给客户端;其中,K1为奇数,且1≤K1≤N;
步骤3、客户端将所需上传的原始数据进行加密后,根据K1个服务器的地址将加密数据发送给K1个服务器;考虑到门户的安全性不高,这里门户并没有收到数据,而是由客户端直接发送给K1个服务器,因而提高了数据的安全性;
步骤4、任意第j1个服务器对所接收到的加密数据进行解密,得到第j1个解密数据后向其余的N-1个服务器进行广播;其中,1≤j1≤K1;
步骤5、第i个服务器接收到K1个服务器广播的解密数据,将重复次数最多的解密数据进行存储后,再对自身区块链上的最后一个区块进行验证,具体验证方式如图1所示;
步骤5a、第i个服务器从其余N-1个服务器中分别获取所需验证的最后一个区块的副本进行比较,选出重复次数最多的最后一个区块的副本与自身区块链上的最后一个区块的副本进行对比检验,若两者一致,表示第i个服务器上的最后一个区块未被篡改;否则,表示第i个服务器上的最后一个区块被篡改,并执行步骤5b;
步骤5b、将重复次数最多的最后一个区块的副本作为第i个服务器上的最后一个区块的副本;
步骤6、在验证完成之后,第i个服务器计算最后一个区块的哈希值h1,再将所存储的解密数据、原始数据所对应的客户端信息、原始数据的上传时间和哈希值h1合并,得到合并信息,并计算合并信息的哈希值h2,从而根据合并信息以及哈希值h2生成区块并添加至自身区块链的尾部,步骤1到步骤6对应如图3所示;
步骤7、客户端提交数据查询请求至门户;
步骤8、门户接收数据查询请求,并从N个服务器中随机选取K2个服务器后,将K2个服务器的地址发送给客户端;K2为奇数,且1≤K2≤N;
步骤9、客户端根据K2个服务器的地址将数据查询请求分别发送给相应的K2个服务器;其中,1≤j2≤K2;
步骤10、任意第j2个服务器根据数据查询请求找到对应区块,对对应区块进行验证,具体验证方式如图1所示;
步骤10a、第j2个服务器从其余N-1个服务器中分别获取所需验证的区块的副本进行比较,选出重复次数最多的区块的副本与自身区块链上对应区块的副本进行对比检验,若两者一致,表示第j2个服务器上对应区块未被篡改;否则,表示第j2个服务器上对应区块被篡改,并执行步骤10b;
步骤10b、将重复次数最多的区块的副本作为第j2个服务器上对应区块的副本。
步骤11、第j2个服务器在验证完成之后,将对应区块内数据的副本发送给客户端;
步骤12、客户端根据所接收到的K2个数据副本,将重复次数最多的数据副本作为数据查询请求对应的查询结果,步骤7到步骤12对应如图4所示;
步骤13、第i个服务器从自身区块链上的第一个区块开始验证:
步骤13.1、将当前验证的区块记为第p个区块,将自身区块链上的最后一个区块记为第q个区块;初始化p=1;
步骤13.2、计算第p个区块的的哈希值,并与第p+1个区块中所存储的第p个区块的哈希值进行比较,若两者相同,则表示第p个区块没有被篡改,并执行步骤13.3,若两者不同,则表示第p个区块可能被篡改,并执行步骤13.4;
步骤13.3、将p+1赋值给p,并判断p>(q-1)是否成立,如成立,则表示验证完成,否则返回步骤13.2;
步骤13.4、第i个服务器对第p个区块进行修正,在完成修正之后,返回步骤13.3;
步骤13.4a、第i个服务器从其余N-1个服务器中分别获取所需修正的当前区块的副本进行比较,选出重复次数最多的区块的副本与自身区块链上的当前区块的副本进行比较,若两者一致,表示第i个服务器的当前区块未被篡改;否则,表示第i个服务器的当前区块被篡改,并执行步骤13.4b;
步骤13.4b、将重复次数最多的区块的副本作为第i个服务器的当前区块的副本,步骤13对应如图2所示。
Claims (8)
1.一种基于区块链的数据防篡改系统,其特征包括:客户端和服务器端;所述客户端包括:数据上传模块、数据查询模块;所述服务器端是由门户和N个服务器组成;任意第i个服务器包括:第i个单区块验证模块、第i个周期性区块链验证模块,1≤i≤N;
所述数据上传模块将所述客户端提交的数据上传请求发送给所述门户;
所述门户接收所述数据上传请求,并从N个服务器中随机选取K1个服务器后,将所述K1个服务器的地址发送给所述客户端;其中,K1为奇数,且1≤K1≤N;
所述客户端根据所述K1个服务器的地址将所需上传的原始数据进行加密后,将加密数据发送给所述K1个服务器;
任意第j1个服务器对所接收到的加密数据进行解密,得到第j1个解密数据后向其余的N-1个服务器进行广播;其中,1≤j1≤K1;
第i个服务器接收到K1个服务器广播的解密数据,将重复次数最多的解密数据进行存储后,利用第i个单区块验证模块对自身区块链上的最后一个区块进行验证,在验证完成之后,计算最后一个区块的哈希值h1,再将所存储的解密数据、原始数据所对应的客户端信息、原始数据的上传时间和所述哈希值h1进行合并,得到合并信息,并计算所述合并信息的哈希值h2,从而根据合并信息以及哈希值h2生成区块并添加至自身区块链的尾部;
所述数据查询模块将所述客户端提交的数据查询请求发送给所述门户;
所述门户接收所述数据查询请求,并从N个服务器中随机选取K2个服务器后,将所述K2个服务器的地址发送给所述客户端;K2为奇数,且1≤K2≤N;
所述客户端根据所述K2个服务器的地址将所述数据查询请求分别发送给相应的K2个服务器;
任意第j2个服务器根据数据查询请求找到对应区块,利用第j2个单区块验证模块对所述对应区块进行验证,在验证完成之后,将所述对应区块内数据的副本发送给所述客户端;其中,1≤j2≤K2;
所述客户端根据所接收到的K2个数据的副本,将重复次数最多的数据副本作为所述数据查询请求对应的查询结果;
所述第i个服务器利用所述第i个周期性区块链验证模块从自身区块链上的第一个区块开始进行周期性验证:计算当前区块的哈希值,并与下一个区块中所存储的所述当前区块的哈希值进行比较,若两者相同,则表示当前区块没有被篡改,并进行下一个区块的验证,若两者不同,则表示当前区块被篡改,利用第i个单区块验证模块对当前区块进行修正,在完成修正之后,进行下一个区块的验证,直到完成所有区块链上的区块验证。
2.根据权利要求1所述的基于区块链的数据防篡改系统,其特征是,所述第i个单区块验证模块对第i个服务器区块链上的最后一个区块是按如下过程进行验证:
所述第i个单区块验证模块从其余N-1个服务器中分别获取所需验证的最后一个区块的副本进行比较,选出重复次数最多的最后一个区块的副本与第i个服务器区块链上的最后一个区块的副本进行对比检验,若两者一致,表示第i个服务器的最后一个区块未被篡改;否则,表示第i个服务器的最后一个区块被篡改,并将重复次数最多的最后一个区块的副本作为第i个服务器的最后一个区块的副本。
3.根据权利要求1所述的基于区块链的数据防篡改系统,其特征是,所述第j2个单区块验证模块对第j2个服务器区块链上的对应区块是按如下过程进行验证:
所述第j2个单区块验证模块从其余N-1个服务器中分别获取所需验证的对应区块的副本进行比较,选出重复次数最多的区块的副本与第j2个服务器区块链上的对应区块的副本进行对比检验,若两者一致,表示第j2个服务器的对应区块未被篡改;否则,表示第j2个服务器的对应区块被篡改,并将重复次数最多的区块的副本作为第j2个服务器的对应区块的副本。
4.根据权利要求1所述的基于区块链的数据防篡改系统,其特征是,所述第i个周期性区块链验证模块验证时发现当前区块被篡改时,则调用所述第i个单区块验证模块对当前区块是按如下过程进行修正:
所述第i个周期性区块链验证模块从其余N-1个服务器中分别获取所需验证的当前区块的副本进行比较,选出重复次数最多的区块的副本与第i个服务器区块链上的当前区块的副本进行比较,若两者一致,表示第i个周期性区块链验证模块正在验证的当前区块未被篡改;否则,表示第i个周期性区块链验证模块验证的当前区块被篡改,并将重复次数最多的区块的副本作为第i个服务器区块链上的当前区块的副本。
5.一种基于区块链的数据防篡改方法,其特征是应用于由客户端、门户和N个服务器组成的系统中,并按如下步骤进行:
步骤1、所述客户端提交数据上传请求至所述门户;
步骤2、所述门户接收所述数据上传请求,并从N个服务器中随机选取K1个服务器后,将所述K1个服务器的地址发送给所述客户端;其中,K1为奇数,且1≤K1≤N;
步骤3、所述客户端根据所述K1个服务器的地址将所需上传的原始数据进行加密后,将加密数据发送给所述K1个服务器;
步骤4、任意第j1个服务器对所接收到的加密数据进行解密,得到第j1个解密数据后向其余的N-1个服务器进行广播;其中,1≤j1≤K1;
步骤5、第i个服务器接收到K1个服务器广播的解密数据,将重复次数最多的解密数据进行存储后,再对自身区块链上的最后一个区块进行验证;
步骤6、在验证完成之后,所述第i个服务器计算最后一个区块的哈希值h1,再将所存储的解密数据、原始数据所对应的客户端信息、原始数据的上传时间和哈希值h1合并,得到合并信息,并计算所述合并信息的哈希值h2,从而根据合并信息以及哈希值h2生成区块并添加至自身区块链的尾部;
步骤7、所述客户端提交数据查询请求至所述门户;
步骤8、所述门户接收所述数据查询请求,并从N个服务器中随机选取K2个服务器后,将所述K2个服务器的地址发送给所述客户端;K2为奇数,且1≤K2≤N;
步骤9、所述客户端根据所述K2个服务器的地址将所述数据查询请求分别发送给相应的K2个服务器;其中,1≤j2≤K2;
步骤10、任意第j2个服务器根据所述数据查询请求找到对应区块,对所述对应区块进行验证;
步骤11、第j2个服务器在验证完成之后,将对应区块内数据的副本发送给所述客户端;
步骤12、所述客户端根据所接收到的K2个数据的副本,将重复次数最多的数据副本作为所述数据查询请求对应的查询结果;
步骤13、第i个服务器从自身区块链上的第一个区块开始周期性验证:
步骤13.1、将当前验证的区块记为第p个区块,将自身区块链上的最后一个区块记为第q个区块;初始化p=1;
步骤13.2、计算第p个区块的哈希值,并与第p+1个区块中所存储的所述第p个区块的哈希值进行比较,若两者相同,则表示第p个区块没有被篡改,并执行步骤13.3,若两者不同,则表示第p个区块可能被篡改,并执行步骤13.4;
步骤13.3、将p+1赋值给p,并判断p>(q-1)是否成立,如成立,则表示验证完成,否则返回步骤13.2;
步骤13.4、所述第i个服务器对第p个区块进行修正,在完成修正之后,返回步骤13.3。
6.根据权利要求5所述的基于区块链的数据防篡改方法,其特征是,所述步骤5是按如下过程进行验证:
步骤5a、第i个单区块验证模块从其余N-1个服务器中分别获取所需验证的最后一个区块的副本进行比较,选出重复次数最多的最后一个区块的副本与第i个服务器区块链上的最后一个区块的副本进行对比检验,若两者一致,表示第i个服务器上的最后一个区块未被篡改;否则,表示第i个服务器上的最后一个区块被篡改,并执行步骤5b;
步骤5b、将重复次数最多的最后一个区块的副本作为第i个服务器上的最后一个区块的副本。
7.根据权利要求5所述的基于区块链的数据防篡改方法,其特征是,所述步骤10是按如下过程进行验证:
步骤10a、所述第j2个服务器从其余N-1个服务器中分别获取所需验证的区块的副本进行比较,选出重复次数最多的区块的副本与自身区块链上对应区块的副本进行对比检验,若两者一致,表示第j2个服务器上对应区块未被篡改;否则,表示第j2个服务器上对应区块被篡改,并执行步骤10b;
步骤10b、将重复次数最多的区块的副本作为第j2个服务器上对应区块的副本。
8.根据权利要求5所述的基于区块链的数据防篡改方法,其特征是,所述步骤13.4是按如下过程进行修正:
步骤13.4a、所述第i个服务器从其余N-1个服务器中分别获取所需修正的当前区块的副本进行比较,选出重复次数最多的区块的副本与自身区块链上的当前区块的副本进行对比检验,若两者一致,表示第i个服务器的当前区块未被篡改;否则,表示第i个服务器的当前区块被篡改,并执行步骤13.4b;
步骤13.4b、将重复次数最多的区块的副本作为第i个服务器的当前区块的副本。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810091366.2A CN108462692B (zh) | 2018-01-30 | 2018-01-30 | 一种基于区块链的数据防篡改系统及其方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810091366.2A CN108462692B (zh) | 2018-01-30 | 2018-01-30 | 一种基于区块链的数据防篡改系统及其方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108462692A CN108462692A (zh) | 2018-08-28 |
CN108462692B true CN108462692B (zh) | 2020-09-18 |
Family
ID=63239371
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810091366.2A Active CN108462692B (zh) | 2018-01-30 | 2018-01-30 | 一种基于区块链的数据防篡改系统及其方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108462692B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109361738A (zh) * | 2018-09-25 | 2019-02-19 | 安徽灵图壹智能科技有限公司 | 一种基于区块链网络的身份认证系统及方法 |
WO2020085226A1 (ja) * | 2018-10-22 | 2020-04-30 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ | 制御方法、コンテンツ管理システム、プログラム、及び、データ構造 |
CN111259452A (zh) * | 2018-11-30 | 2020-06-09 | 华为技术有限公司 | 一种基于区块链的数据管理方法以及相关装置 |
CN109753823B (zh) * | 2018-12-11 | 2021-11-02 | 烨链(上海)科技有限公司 | 一种区块链数据监管方法、系统及计算机存储介质 |
CN109766723A (zh) * | 2018-12-11 | 2019-05-17 | 烨链(上海)科技有限公司 | 一种区块链数据架构、监管架构、监管方法及计算机可读存储介质 |
CN110247894B (zh) * | 2019-05-16 | 2021-06-18 | 中国联合网络通信集团有限公司 | 一种识别伪造handle服务器的方法及装置 |
CN110443074A (zh) * | 2019-08-01 | 2019-11-12 | 河南中盾云安信息科技有限公司 | 一种区块链节点数据完整性检测的方法 |
CN113343264A (zh) * | 2021-06-24 | 2021-09-03 | 北京八分量信息科技有限公司 | 一种基于区块链的数据防篡改系统及方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105975868A (zh) * | 2016-04-29 | 2016-09-28 | 杭州云象网络技术有限公司 | 一种基于区块链的证据保全方法及装置 |
CN107135661A (zh) * | 2016-12-26 | 2017-09-05 | 深圳前海达闼云端智能科技有限公司 | 数据处理方法、装置、系统及信息采集设备 |
CN107316239A (zh) * | 2017-07-14 | 2017-11-03 | 众安信息技术服务有限公司 | 一种基于区块链的信息认证和溯源方法及系统 |
CN107579817A (zh) * | 2017-09-12 | 2018-01-12 | 广州广电运通金融电子股份有限公司 | 基于区块链的用户身份验证方法、装置及系统 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104202168A (zh) * | 2014-09-19 | 2014-12-10 | 浪潮电子信息产业股份有限公司 | 一种基于可信第三方的云数据完整性验证方法 |
US20170264428A1 (en) * | 2016-03-08 | 2017-09-14 | Manifold Technology, Inc. | Data storage system with blockchain technology |
-
2018
- 2018-01-30 CN CN201810091366.2A patent/CN108462692B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105975868A (zh) * | 2016-04-29 | 2016-09-28 | 杭州云象网络技术有限公司 | 一种基于区块链的证据保全方法及装置 |
CN107135661A (zh) * | 2016-12-26 | 2017-09-05 | 深圳前海达闼云端智能科技有限公司 | 数据处理方法、装置、系统及信息采集设备 |
CN107316239A (zh) * | 2017-07-14 | 2017-11-03 | 众安信息技术服务有限公司 | 一种基于区块链的信息认证和溯源方法及系统 |
CN107579817A (zh) * | 2017-09-12 | 2018-01-12 | 广州广电运通金融电子股份有限公司 | 基于区块链的用户身份验证方法、装置及系统 |
Non-Patent Citations (2)
Title |
---|
The Multimedia Blockchain: A Distributed and Tamper-Proof Media Transaction Framework;Deepayan Bhowmik等;《2017 22nd International Conference on Digital Signal Processing (DSP)》;20170825;全文 * |
供应链的可信溯源查询在区块链上的实现;郭珊珊;《中国优秀硕士学位论文全文数据库经济与管理科学辑》;20180115;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN108462692A (zh) | 2018-08-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108462692B (zh) | 一种基于区块链的数据防篡改系统及其方法 | |
CN109740384B (zh) | 基于区块链的数据存证方法和装置 | |
US10769252B2 (en) | Method and apparatus for watermarking of digital content, method for extracting information | |
CN109067524B (zh) | 一种公私钥对生成方法及系统 | |
Farfoura et al. | A blind reversible method for watermarking relational databases based on a time-stamping protocol | |
CN110598448A (zh) | 基于区块链的操作数据处理方法、装置、设备及存储介质 | |
CN100559321C (zh) | 内容发布站点电子欺骗检测 | |
US8959346B2 (en) | System and method for a single request—single response protocol with mutual replay attack protection | |
US6266429B1 (en) | Method for confirming the integrity of an image transmitted with a loss | |
US20080083039A1 (en) | Method for integrity attestation of a computing platform hiding its configuration information | |
KR20060038462A (ko) | 방송 매체를 위한 콘텐트 식별 | |
CN110809763A (zh) | 使用带有时间戳的嵌入式版权信息识别版权材料 | |
CN110390623B (zh) | 一种基于秘密分享的图像媒体安全认证恢复方法 | |
CN110727927B (zh) | 基于区块链技术的数字产品保护系统及方法 | |
US20040143556A1 (en) | Voice signature with strong binding | |
CN111405223A (zh) | 一种视频处理方法、装置及设备 | |
CN113129198B (zh) | 一种零水印生成方法、系统及版权的侵权比对方法、系统 | |
KR20070063534A (ko) | 정규 콘텐츠 확인방법, 콘텐츠 송수신시스템, 송신기 및 수신기 | |
WO2023041212A1 (en) | Method of verification for machine learning models | |
Cao et al. | A Privacy‐Preserving Outsourcing Data Storage Scheme with Fragile Digital Watermarking‐Based Data Auditing | |
CN108540447B (zh) | 一种基于区块链的证书验证方法及系统 | |
US7739500B2 (en) | Method and system for consistent recognition of ongoing digital relationships | |
CN116232600A (zh) | 一种基于区块链的数据安全存储方法及系统 | |
CN113761578A (zh) | 一种基于区块链的文书验真方法 | |
US7574607B1 (en) | Secure pipeline processing |
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 |