CN116886268B - 数据传输验证方法、装置、设备及计算机可读存储介质 - Google Patents
数据传输验证方法、装置、设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN116886268B CN116886268B CN202311007920.1A CN202311007920A CN116886268B CN 116886268 B CN116886268 B CN 116886268B CN 202311007920 A CN202311007920 A CN 202311007920A CN 116886268 B CN116886268 B CN 116886268B
- Authority
- CN
- China
- Prior art keywords
- file
- data
- hash
- receiving end
- data receiving
- 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
- 238000012795 verification Methods 0.000 title claims abstract description 70
- 230000005540 biological transmission Effects 0.000 title claims abstract description 61
- 238000000034 method Methods 0.000 title claims abstract description 46
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 30
- 239000012634 fragment Substances 0.000 claims description 20
- 230000004044 response Effects 0.000 claims description 11
- 238000004590 computer program Methods 0.000 claims description 9
- 238000004364 calculation method Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 5
- 230000009471 action Effects 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
Classifications
-
- 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/008—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
-
- 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
- H04L63/0464—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 using hop-by-hop encryption, i.e. wherein an intermediate entity decrypts the information and re-encrypts it before forwarding it
-
- 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/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
- H04L9/3239—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
-
- 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/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
-
- 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)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种数据传输验证方法、装置、设备及计算机可读存储介质,属于数据传输领域,用于协助解决数据传输双方对已传输内容的争议。本申请中的待发送文件的明文哈希以及密文哈希不仅可以辅助数据接收端验证待接收数据是否可靠,而且基于待发送文件的明文哈希、密文哈希以及用于对待发送文件进行加密的文件加密密钥的哈希,便可以通过同态加密算法对数据发送端是否发送了正确文件进行判断,从而找到问题所在并解决争议,由于同态加密算法避免使用待发送文件的明文,因此本申请不但具有数据安全性高的特点,而且同态加密算法具备较高的计算速度,从而能够高效解决争议。
Description
技术领域
本发明涉及数据传输领域,特别是涉及一种数据传输验证方法,本发明还涉及一种数据传输验证装置、设备及计算机可读存储介质。
背景技术
数据传输越来越频繁地出现在各行各业,某些情况下数据接收端可能会对数据发送方传输的内容存在争议,特别是对于数据交易这种数据传输的准确性要求比较高场景,然而相关技术中缺少一种快速且可靠的解决数据传输争议的方法,导致数据传输争议的解决效率较差且在争议解决过程中容易影响数据安全。
因此,如何提供一种解决上述技术问题的方案是本领域技术人员目前需要解决的问题。
发明内容
本发明的目的是提供一种数据传输验证方法,由于同态加密算法避免使用待发送文件的明文,因此本申请不但具有数据安全性高的特点,而且同态加密算法具备较高的计算速度,从而能够高效解决争议;本发明的另一目的是提供一种数据传输验证装置、设备及计算机可读存储介质,由于同态加密算法避免使用待发送文件的明文,因此本申请不但具有数据安全性高的特点,而且同态加密算法具备较高的计算速度,从而能够高效解决争议。
为解决上述技术问题,本发明提供了一种数据传输验证方法,应用于服务平台,包括:
响应于注册指令,分别为数据发送端以及数据接收端注册身份信息,以便所述数据发送端将待发送文件的密文发送至所述数据接收端;
将所述数据发送端发送的所述待发送文件的密文哈希发送至所述数据接收端,以便所述数据接收端验证接收到的密文哈希与所述数据接收端计算的密文哈希是否匹配;
将所述数据发送端发送的所述待发送文件的明文哈希发送至所述数据接收端,以便所述数据接收端验证接收到的明文哈希与所述数据接收端计算的明文哈希是否匹配;
响应于所述数据接收端发送的争议校验请求,根据争议文件块的明文哈希、所述争议文件块的密文哈希以及所述待发送文件的文件加密密钥的哈希,通过同态加密算法判断所述数据发送端是否发送了正确文件并得到判断结果。
优选地,所述响应于注册指令,分别为数据发送端以及数据接收端注册身份信息,以便所述数据发送端将待发送文件的密文发送至所述数据接收端具体为:
响应于注册指令,为数据接收端生成第一身份标识号ID以及在区块链所属的第一地址,为数据发送端生成第二ID以及在区块链所属的第二地址,以便所述数据发送端将待发送文件的密文发送至所述数据接收端;
所述数据发送端将待发送文件的密文发送至所述数据接收端具体为:
所述数据接收端将接收端公钥以所述第一地址发送至所述区块链;
所述数据发送端通过所述第一地址从所述区块链获取所述接收端公钥;
所述数据发送端将通过所述接收端公钥加密的文件加密密钥以所述第二地址发送至所述区块链;
所述数据发送端将通过所述文件加密密钥加密后的所述待发送文件发送至所述数据接收端;
所述数据接收端从所述区块链的所述第二地址获取通过所述接收端公钥加密的文件加密密钥,并通过接收端私钥解密得到所述文件加密密钥;
所述数据接收端通过所述文件加密密钥对所述待发送文件的密文进行解密,得到所述待发送文件的明文。
优选地,所述数据发送端将通过所述文件加密密钥加密后的所述待发送文件发送至所述数据接收端具体为:
所述数据发送端将通过所述文件加密密钥加密后的所述待发送文件的各个文件分片发送至所述数据接收端;
所述密文哈希包括:所述待发送文件的各个文件分片密文的哈希;
所述明文哈希包括:所述待发送文件的各个文件分片明文的哈希。
优选地,所述待发送文件的各个文件分片的结构均为有向无环图DAG。
优选地,所述将所述数据发送端发送的所述待发送文件的明文哈希发送至所述数据接收端,以便所述数据接收端验证接收到的明文哈希与所述数据接收端计算的明文哈希是否匹配包括:
接收所述数据发送端发送的所述待发送文件的明文哈希;
基于所述明文哈希、所述数据发送端的所述第二ID以及所述第二地址,生成关于所述明文哈希的凭据,并利用所述服务平台私钥对所述凭据进行签名;
将经所述服务平台私钥签名的所述凭据发送至所述数据接收端,以便所述数据接收端获取并使用所述凭据中的各项信息。
优选地,所述响应于所述数据接收端发送的争议校验请求,根据争议文件块的明文哈希、所述争议文件块的密文哈希以及所述待发送文件的文件加密密钥的哈希,通过同态加密算法判断所述数据发送端是否发送了正确文件并得到判断结果包括:
接收所述数据接收端发送的所述文件加密密钥、争议文件块的密文哈希以及争议文件块的明文哈希;
响应于所述数据接收端发送的争议校验请求,判断如下等式是否成立;
H(C)=H(S)H(D);
其中,H(C)为争议文件块的密文哈希,H(S)为所述待发送文件的文件加密密钥的哈希,H(D)为所述争议文件块的明文哈希;
当所述等式不成立时,判定所述数据发送端发送的文件有误。
优选地,所述接收所述数据接收端发送的所述文件加密密钥、争议文件块的密文哈希以及争议文件块的明文哈希之后,响应于所述数据接收端发送的争议校验请求,判断如下等式是否成立之前,该数据传输验证方法还包括:
接收所述数据接收端发送的接收端私钥;
判断所述数据接收端发送的争议文件块的密文哈希与所述服务平台记录的对应文件块的密文哈希是否相同;
若不同,则判定所述数据接收端提供的争议文件块的密文哈希有误;
若相同,则从所述区块链的所述第二地址获取加密后的所述文件加密密钥,并利用所述接收端私钥进行解密;
判断解密得到的文件加密密钥与所述数据接收端提供的文件加密密钥是否相同;
若不同,则判定所述数据接收端提供的文件加密密钥有误;
若相同,则执行所述响应于所述数据接收端发送的争议校验请求,判断如下等式是否成立的步骤。
为解决上述技术问题,本发明还提供了一种数据传输验证装置,包括:
信息注册模块,用于响应于注册指令,分别为数据发送端以及数据接收端注册身份信息,以便所述数据发送端将待发送文件的密文发送至所述数据接收端;
第一发送模块,用于将所述数据发送端发送的所述待发送文件的密文哈希发送至所述数据接收端,以便所述数据接收端验证接收到的密文哈希与所述数据接收端计算的密文哈希是否匹配;
第二发送模块,用于将所述数据发送端发送的所述待发送文件的明文哈希发送至所述数据接收端,以便所述数据接收端验证接收到的明文哈希与所述数据接收端计算的明文哈希是否匹配;
验证模块,用于响应于所述数据接收端发送的争议校验请求,根据争议文件块的明文哈希、所述争议文件块的密文哈希以及所述待发送文件的文件加密密钥的哈希,通过同态加密算法判断所述数据发送端是否发送了正确文件并得到判断结果。
为解决上述技术问题,本发明还提供了一种数据传输验证设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如上所述数据传输验证方法的步骤。
为解决上述技术问题,本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述数据传输验证方法的步骤。
本发明提供了一种数据传输验证方法,本申请中的待发送文件的明文哈希以及密文哈希不仅可以辅助数据接收端验证待接收数据是否可靠,而且基于待发送文件的明文哈希、密文哈希以及用于对待发送文件进行加密的文件加密密钥的哈希,便可以通过同态加密算法对数据发送端是否发送了正确文件进行判断,从而找到问题所在并解决争议,由于同态加密算法避免使用待发送文件的明文,因此本申请不但具有数据安全性高的特点,而且同态加密算法具备较高的计算速度,从而能够高效解决争议。
本发明还提供了一种数据传输验证装置、设备及计算机可读存储介质,具有如上数据传输验证方法相同的有益效果。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对现有技术和实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明提供的一种数据传输验证方法的流程示意图;
图2为本发明提供的一种数据传输管理系统的结构示意图;
图3为本发明提供的另一种数据传输验证方法的流程示意图;;
图4为本发明提供的一种数据传输验证装置的结构示意图;
图5为本发明提供的一种数据传输验证设备的结构示意图。
具体实施方式
本发明的核心是提供一种数据传输验证方法,由于同态加密算法避免使用待发送文件的明文,因此本申请不但具有数据安全性高的特点,而且同态加密算法具备较高的计算速度,从而能够高效解决争议;本发明的另一核心是提供一种数据传输验证装置、设备及计算机可读存储介质,由于同态加密算法避免使用待发送文件的明文,因此本申请不但具有数据安全性高的特点,而且同态加密算法具备较高的计算速度,从而能够高效解决争议。
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参考图1,图1为本发明提供的一种数据传输验证方法的流程示意图,该数据传输验证方法包括:
S101:响应于注册指令,分别为数据发送端以及数据接收端注册身份信息,以便数据发送端将待发送文件的密文发送至数据接收端;
具体的,考虑到如上背景技术中的技术问题,又结合考虑到若服务平台直接利用待发送文件的明文来判断数据发送端发送的数据是否有问题从而解决争议,则造成了数据的暴露从而存在数据安全问题,因此本发明实施例中欲使得服务平台可以基于待发送文件的明文哈希、密文哈希以及待发送文件的文件加密密钥的哈希这三种哈希,通过同态加密算法来判断数据发送端发送的数据是否有问题从而解决争议,从而避免了待发送文件明文的暴露,提升了数据安全。
具体的,争议的解决是在数据正常传输的基础上展开的,因此本发明实施例中可以响应于注册指令,分别为数据发送端以及数据接收端注册身份信息,以便数据发送端将待发送文件的密文发送至数据接收端。
其中,数据发送端与数据接收端通过待发送文件的发送进行数据共享或者数据交易。
S102:将数据发送端发送的待发送文件的密文哈希发送至数据接收端,以便数据接收端验证接收到的密文哈希与数据接收端计算的密文哈希是否匹配;
具体的,考虑到对于数据接收端来说,其需要验证数据发送端提供的密文哈希与数据接收端计算的密文哈希是否匹配来对数据可靠性进行验证,而服务平台在争议解决时也需要使用,因此本发明实施例中可以将数据发送端发送的待发送文件的密文哈希发送至数据接收端。
S103:将数据发送端发送的待发送文件的明文哈希发送至数据接收端,以便数据接收端验证接收到的明文哈希与数据接收端计算的明文哈希是否匹配;
具体的,考虑到对于数据接收端来说,其需要验证数据发送端提供的明文哈希与数据接收端计算的明文哈希是否匹配来对数据可靠性进行验证,而服务平台在争议解决时也需要使用,因此本发明实施例中可以将数据发送端发送的待发送文件的明文哈希发送至数据接收端。
S104:响应于数据接收端发送的争议校验请求,根据争议文件块的明文哈希、争议文件块的密文哈希以及待发送文件的文件加密密钥的哈希,通过同态加密算法判断数据发送端是否发送了正确文件并得到判断结果。
具体的,数据接收端在对比明文哈希和/或密文哈希后,便可以将明文哈希和/或密文哈希不同的文件块作为争议文件块,并向服务平台发送争议校验请求,此时服务平台便可以根据争议文件块的明文哈希、争议文件块的密文哈希以及待发送文件的文件加密密钥的哈希,通过同态加密算法判断数据发送端是否发送了正确文件并得到判断结果,由于通过同态加密算法进行判断所使用的数据无需包含待发送文件的明文,因此保证了数据安全。
本发明提供了一种数据传输验证方法,本申请中的待发送文件的明文哈希以及密文哈希不仅可以辅助数据接收端验证待接收数据是否可靠,而且基于待发送文件的明文哈希、密文哈希以及用于对待发送文件进行加密的文件加密密钥的哈希,便可以通过同态加密算法对数据发送端是否发送了正确文件进行判断,从而找到问题所在并解决争议,由于同态加密算法避免使用待发送文件的明文,因此本申请不但具有数据安全性高的特点,而且同态加密算法具备较高的计算速度,从而能够高效解决争议。
在上述实施例的基础上:
作为一种优选的实施例,响应于注册指令,分别为数据发送端以及数据接收端注册身份信息,以便数据发送端将待发送文件的密文发送至数据接收端具体为:
响应于注册指令,为数据接收端生成第一身份标识号ID以及在区块链所属的第一地址,为数据发送端生成第二ID以及在区块链所属的第二地址,以便数据发送端将待发送文件的密文发送至数据接收端;
数据发送端将待发送文件的密文发送至数据接收端具体为:
数据接收端将接收端公钥以第一地址发送至区块链;
数据发送端通过第一地址从区块链获取接收端公钥;
数据发送端将通过接收端公钥加密的文件加密密钥以第二地址发送至区块链;
数据发送端将通过文件加密密钥加密后的待发送文件发送至数据接收端;
数据接收端从区块链的第二地址获取通过接收端公钥加密的文件加密密钥,并通过接收端私钥解密得到文件加密密钥;
数据接收端通过文件加密密钥对待发送文件的密文进行解密,得到待发送文件的明文。
具体的,为了更好地对本发明实施例进行说明,请参考图2,图2为本发明提供的一种数据传输管理系统的结构示意图,数据发送端以及收据接收端首先都要在服务平台完成注册,然后利用注册的信息,数据发送端以及收据接收端在区块链的帮助下便可以进行数据传输,具体过程可以为:
Step0:平台内注册:
1-数据接收端与数据发送端在服务平台内进行身份注册,生成数据接收端ID(Identity Document,身份标识号)1及接收方地址Addr1(也即第一地址),数据发送方ID2及发送方地址Addr2(也即第二地址),以及平台自身的公私钥对。
2-数据接收端生成一对个人非对称密钥对,公钥为PK,私钥为SK。
Step1:接收者公钥上链:
1-数据接收端将自己的公钥信息PK上链。
Step2:将文件分片并将明文哈希注册到服务平台中。
1-数据发送端将待发送文件进行文件分片,每个文件分片构成一个DAG(DirectedAcyclic Graph,有向无环图)图;
2-数据发送端通过平台规定的哈希算法,对每个文件分片进行哈希,构成待发送文件的明文哈希树hash tree。
Step3:服务平台发送凭证给数据接收端
1-服务平台依据接收到的明文哈希树和数据发送端的地址Addr1以及发送者身份信息ID2,为数据生成凭证,并利用平台私钥进行签名;
2-服务平台将凭证及凭证的签名发送给数据接收端。
Step4:发送者从区块链获取接收端公钥:
1-数据发送端从服务平台内获得数据接收端在区块链上的地址Addr2;
2-数据发送端根据地址,到区块链上获取数据接收段的公钥;
Step5:发送者生成随机密钥并将密钥写入区块链。
1-数据发送端在本地通过平台规定的算法生成随机密钥K(也即文件加密密钥);
2-根据平台规定的加密算法,数据发送端利用数据接收端的公钥对K进行加密;
3-数据发送端将加密后的随机密钥放入区块链。
Step6:通过密钥将文件分片加密发送给数据接收端。
1-按照平台约定的加密算法,数据发送端利用随机密钥k对所有文件片进行加密;
2-数据发送方将加密后的文件分片发送给数据接收端;
Step7:数据发送端将所有文件分片的加密hash tree发送给服务平台:
1-数据发送端将所有文件分片的密文进行hash,得到密文的hash tree。
2-数据发送端将所得的hash tree发送至服务平台。
Step8:数据接收端从平台获取密文的hash tree,并与自身计算出的密文hash做对比:
1-数据接收端从平台获取密文的hash tree;
2-数据接收端利用所获得的文件分片密文,和相同的hash算法进行hash计算;
3-数据接收端比较计算所得的密文hash tree和接收到密文hash tree,不一致的密文哈希对应的文件块则有问题;
Step9:数据接收端从区块链上获取加密后的随机密钥:
1-数据接收端从区块链中获得数据发送方加密后的随机密钥;
2-数据接收端利用自己的私钥解密获得的加密后的随机密钥;
3-数据接收端获得明文随机密钥。
Step10:数据接收端通过随机密钥和文件分片的明文算出的值做比较:
1-数据接收端通过所得的随机密钥对接收到的文件分片密文进行解密;
2-通过文件分片明文和相同的hash算法,计算hash;
3-数据接收端比较计算出的hash和从平台接收到的明文哈希;
4-若相同则合并文件,若不相同则上报平台,表示数据不同存证争议。
具体的,在如上的数据传输流程中,通过区块链可以保证密钥传输的安全性,且区块链可以记录所有用户对其的操作,便于进行操作追溯。
作为一种优选的实施例,数据发送端将通过文件加密密钥加密后的待发送文件发送至数据接收端具体为:
数据发送端将通过文件加密密钥加密后的待发送文件的各个文件分片发送至数据接收端;
密文哈希包括:待发送文件的各个文件分片密文的哈希;
明文哈希包括:待发送文件的各个文件分片明文的哈希。
具体的,为了提升数据传输效率,特别是存在发送了错误文件分片的情况下,可以仅对错误的文件分片进行重传,本发明实施例中的数据发送端发送的待发送文件为经过分片为各个文件分片的待发送文件。
作为一种优选的实施例,待发送文件的各个文件分片的结构均为有向无环图DAG。
具体的,DAG(Directed acyclic graph,有向无环图)具有结构稳定且结构简单等优点。
当然,除了该结构外,各个文件分片的结构还可以为其他类型,本发明实施例在此不做限定。
作为一种优选的实施例,将数据发送端发送的待发送文件的明文哈希发送至数据接收端,以便数据接收端验证接收到的明文哈希与数据接收端计算的明文哈希是否匹配包括:
接收数据发送端发送的待发送文件的明文哈希;
基于明文哈希、数据发送端的第二ID以及第二地址,生成关于明文哈希的凭据,并利用服务平台私钥对凭据进行签名;
将经服务平台私钥签名的凭据发送至数据接收端,以便数据接收端获取并使用凭据中的各项信息。
具体的,为了便于数据接收端获知接收到的明文哈希的发送者信息,本发明实施例中的服务平台还基于明文哈希、数据发送端的第二ID以及第二地址,生成关于明文哈希的凭据,并利用服务平台私钥对凭据进行签名,如此一来,由于经过了服务平台的验证,数据接收端便可以高可信度的认为待发送文件的明文哈希的发送者就是第二ID对应的数据发送端。
作为一种优选的实施例,响应于数据接收端发送的争议校验请求,根据争议文件块的明文哈希、争议文件块的密文哈希以及待发送文件的文件加密密钥的哈希,通过同态加密算法判断数据发送端是否发送了正确文件并得到判断结果包括:
接收数据接收端发送的文件加密密钥、争议文件块的密文哈希以及争议文件块的明文哈希;
响应于数据接收端发送的争议校验请求,判断如下等式是否成立;
H(C)=H(S)H(D);
其中,H(C)为争议文件块的密文哈希,H(S)为待发送文件的文件加密密钥的哈希,H(D)为争议文件块的明文哈希;
当等式不成立时,判定数据发送端发送的文件有误。
具体的,通过如上的等式可以进行同态加密算法下属的同态哈希算法,从而可以高效且准确的进行计算,从而判断数据发送端是否发送了正确文件。
当然,除了该具体方式外,响应于数据接收端发送的争议校验请求,根据争议文件块的明文哈希、争议文件块的密文哈希以及待发送文件的文件加密密钥的哈希,通过同态加密算法判断数据发送端是否发送了正确文件并得到判断结果还可以为其他多种形式,本发明实施例在此不做限定。
作为一种优选的实施例,接收数据接收端发送的文件加密密钥、争议文件块的密文哈希以及争议文件块的明文哈希之后,响应于数据接收端发送的争议校验请求,判断如下等式是否成立之前,该数据传输验证方法还包括:
接收数据接收端发送的接收端私钥;
判断数据接收端发送的争议文件块的密文哈希与服务平台记录的对应文件块的密文哈希是否相同;
若不同,则判定数据接收端提供的争议文件块的密文哈希有误;
若相同,则从区块链的第二地址获取加密后的文件加密密钥,并利用接收端私钥进行解密;
判断解密得到的文件加密密钥与数据接收端提供的文件加密密钥是否相同;
若不同,则判定数据接收端提供的文件加密密钥有误;
若相同,则执行响应于数据接收端发送的争议校验请求,判断如下等式是否成立的步骤。
具体的,考虑到文件加密密钥以及争议文件块的密文哈希通常都需要由数据接收端来提供,而数据接收端也可能存在发送了错误数据的可能性,因此本发明实施例中可以预先对这两部分数据的真实性进行验证,以便在这两部分数据真实可靠的情况下展开后续的“判断数据发送端是否发送了正确文件”。
其中,考虑到服务平台会接收到数据发送端发送的待发送文件的密文哈希,因此可以直接判断数据接收端发送的争议文件块的密文哈希与服务平台记录的对应文件块的密文哈希是否相同。
具体的,考虑到数据接收方提供的文件加密密钥存储在区块链中,因此本发明实施例中便可以先从区块链的第二地址获取加密后的文件加密密钥,然后利用接收端私钥进行解密得到文件加密密钥,然后与数据接收端提供的文件加密密钥进行对比即可。
其中,争议文件块的明文哈希,也可以通过数据接收端提供的争议文件块在待发送文件中的偏移从服务平台记录的来自于数据发送端的明文哈希树中找到。
请参考图4,图4为本发明提供的一种数据传输验证装置的结构示意图,该数据传输验证装置包括:
信息注册模块41,用于响应于注册指令,分别为数据发送端以及数据接收端注册身份信息,以便数据发送端将待发送文件的密文发送至数据接收端;
第一发送模块42,用于将数据发送端发送的待发送文件的密文哈希发送至数据接收端,以便数据接收端验证接收到的密文哈希与数据接收端计算的密文哈希是否匹配;
第二发送模块43,用于将数据发送端发送的待发送文件的明文哈希发送至数据接收端,以便数据接收端验证接收到的明文哈希与数据接收端计算的明文哈希是否匹配;
验证模块44,用于响应于数据接收端发送的争议校验请求,根据争议文件块的明文哈希、争议文件块的密文哈希以及待发送文件的文件加密密钥的哈希,通过同态加密算法判断数据发送端是否发送了正确文件并得到判断结果。
对于本法明实施例提供的数据传输验证装置的介绍请参照前述的数据传输验证方法的实施例,本发明实施例在此不再赘述。
请参考图5,图5为本发明提供的一种数据传输验证设备的结构示意图,该数据传输验证设备包括:
存储器51,用于存储计算机程序;
处理器52,用于执行计算机程序时实现如前述实施例中数据传输验证方法的步骤。
对于本法明实施例提供的数据传输验证设备的介绍请参照前述的数据传输验证方法的实施例,本发明实施例在此不再赘述。
本发明还提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如前述实施例中数据传输验证方法的步骤。
对于本法明实施例提供的计算机可读存储介质的介绍请参照前述的数据传输验证方法的实施例,本发明实施例在此不再赘述。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者设备中还存在另外的相同要素。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其他实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (9)
1.一种数据传输验证方法,其特征在于,应用于服务平台,包括:
响应于注册指令,分别为数据发送端以及数据接收端注册身份信息,以便所述数据发送端将待发送文件的密文发送至所述数据接收端;
将所述数据发送端发送的所述待发送文件的密文哈希发送至所述数据接收端,以便所述数据接收端验证接收到的密文哈希与所述数据接收端计算的密文哈希是否匹配;
将所述数据发送端发送的所述待发送文件的明文哈希发送至所述数据接收端,以便所述数据接收端验证接收到的明文哈希与所述数据接收端计算的明文哈希是否匹配;
响应于所述数据接收端发送的争议校验请求,根据争议文件块的明文哈希、所述争议文件块的密文哈希以及所述待发送文件的文件加密密钥的哈希,通过同态加密算法判断所述数据发送端是否发送了正确文件并得到判断结果;
所述响应于所述数据接收端发送的争议校验请求,根据争议文件块的明文哈希、所述争议文件块的密文哈希以及所述待发送文件的文件加密密钥的哈希,通过同态加密算法判断所述数据发送端是否发送了正确文件并得到判断结果包括:
接收所述数据接收端发送的所述文件加密密钥、争议文件块的密文哈希以及争议文件块的明文哈希;
响应于所述数据接收端发送的争议校验请求,判断如下等式是否成立;
H(C)=H(S)H(D);
其中,H(C)为争议文件块的密文哈希,H(S)为所述待发送文件的文件加密密钥的哈希,H(D)为所述争议文件块的明文哈希;
当所述等式不成立时,判定所述数据发送端发送的文件有误。
2.根据权利要求1所述的数据传输验证方法,其特征在于,所述响应于注册指令,分别为数据发送端以及数据接收端注册身份信息,以便所述数据发送端将待发送文件的密文发送至所述数据接收端具体为:
响应于注册指令,为数据接收端生成第一身份标识号ID以及在区块链所属的第一地址,为数据发送端生成第二ID以及在区块链所属的第二地址,以便所述数据发送端将待发送文件的密文发送至所述数据接收端;
所述数据发送端将待发送文件的密文发送至所述数据接收端具体为:
所述数据接收端将接收端公钥以所述第一地址发送至所述区块链;
所述数据发送端通过所述第一地址从所述区块链获取所述接收端公钥;
所述数据发送端将通过所述接收端公钥加密的文件加密密钥以所述第二地址发送至所述区块链;
所述数据发送端将通过所述文件加密密钥加密后的所述待发送文件发送至所述数据接收端;
所述数据接收端从所述区块链的所述第二地址获取通过所述接收端公钥加密的文件加密密钥,并通过接收端私钥解密得到所述文件加密密钥;
所述数据接收端通过所述文件加密密钥对所述待发送文件的密文进行解密,得到所述待发送文件的明文。
3.根据权利要求2所述的数据传输验证方法,其特征在于,所述数据发送端将通过所述文件加密密钥加密后的所述待发送文件发送至所述数据接收端具体为:
所述数据发送端将通过所述文件加密密钥加密后的所述待发送文件的各个文件分片发送至所述数据接收端;
所述密文哈希包括:所述待发送文件的各个文件分片密文的哈希;
所述明文哈希包括:所述待发送文件的各个文件分片明文的哈希。
4.根据权利要求3所述的数据传输验证方法,其特征在于,所述待发送文件的各个文件分片的结构均为有向无环图DAG。
5.根据权利要求4所述的数据传输验证方法,其特征在于,所述将所述数据发送端发送的所述待发送文件的明文哈希发送至所述数据接收端,以便所述数据接收端验证接收到的明文哈希与所述数据接收端计算的明文哈希是否匹配包括:
接收所述数据发送端发送的所述待发送文件的明文哈希;
基于所述明文哈希、所述数据发送端的所述第二ID以及所述第二地址,生成关于所述明文哈希的凭据,并利用所述服务平台私钥对所述凭据进行签名;
将经所述服务平台私钥签名的所述凭据发送至所述数据接收端,以便所述数据接收端获取并使用所述凭据中的各项信息。
6.根据权利要求2所述的数据传输验证方法,其特征在于,所述接收所述数据接收端发送的所述文件加密密钥、争议文件块的密文哈希以及争议文件块的明文哈希之后,响应于所述数据接收端发送的争议校验请求,判断如下等式是否成立之前,该数据传输验证方法还包括:
接收所述数据接收端发送的接收端私钥;
判断所述数据接收端发送的争议文件块的密文哈希与所述服务平台记录的对应文件块的密文哈希是否相同;
若不同,则判定所述数据接收端提供的争议文件块的密文哈希有误;
若相同,则从所述区块链的所述第二地址获取加密后的所述文件加密密钥,并利用所述接收端私钥进行解密;
判断解密得到的文件加密密钥与所述数据接收端提供的文件加密密钥是否相同;
若不同,则判定所述数据接收端提供的文件加密密钥有误;
若相同,则执行所述响应于所述数据接收端发送的争议校验请求,判断如下等式是否成立的步骤。
7.一种数据传输验证装置,其特征在于,包括:
信息注册模块,用于响应于注册指令,分别为数据发送端以及数据接收端注册身份信息,以便所述数据发送端将待发送文件的密文发送至所述数据接收端;
第一发送模块,用于将所述数据发送端发送的所述待发送文件的密文哈希发送至所述数据接收端,以便所述数据接收端验证接收到的密文哈希与所述数据接收端计算的密文哈希是否匹配;
第二发送模块,用于将所述数据发送端发送的所述待发送文件的明文哈希发送至所述数据接收端,以便所述数据接收端验证接收到的明文哈希与所述数据接收端计算的明文哈希是否匹配;
验证模块,用于响应于所述数据接收端发送的争议校验请求,根据争议文件块的明文哈希、所述争议文件块的密文哈希以及所述待发送文件的文件加密密钥的哈希,通过同态加密算法判断所述数据发送端是否发送了正确文件并得到判断结果;
所述响应于所述数据接收端发送的争议校验请求,根据争议文件块的明文哈希、所述争议文件块的密文哈希以及所述待发送文件的文件加密密钥的哈希,通过同态加密算法判断所述数据发送端是否发送了正确文件并得到判断结果包括:
接收所述数据接收端发送的所述文件加密密钥、争议文件块的密文哈希以及争议文件块的明文哈希;
响应于所述数据接收端发送的争议校验请求,判断如下等式是否成立;
H(C)=H(S)H(D);
其中,H(C)为争议文件块的密文哈希,H(S)为所述待发送文件的文件加密密钥的哈希,H(D)为所述争议文件块的明文哈希;
当所述等式不成立时,判定所述数据发送端发送的文件有误。
8.一种数据传输验证设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至6任一项所述数据传输验证方法的步骤。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述数据传输验证方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311007920.1A CN116886268B (zh) | 2023-08-10 | 2023-08-10 | 数据传输验证方法、装置、设备及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311007920.1A CN116886268B (zh) | 2023-08-10 | 2023-08-10 | 数据传输验证方法、装置、设备及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116886268A CN116886268A (zh) | 2023-10-13 |
CN116886268B true CN116886268B (zh) | 2024-04-26 |
Family
ID=88268234
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311007920.1A Active CN116886268B (zh) | 2023-08-10 | 2023-08-10 | 数据传输验证方法、装置、设备及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116886268B (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108985102A (zh) * | 2018-06-22 | 2018-12-11 | 中国电子科技集团公司电子科学研究院 | 数据完整性验证方法、装置、系统及存储介质 |
CN109711841A (zh) * | 2018-12-27 | 2019-05-03 | 石更箭数据科技(上海)有限公司 | 数据交易方法及系统、平台、存储介质 |
WO2019209168A2 (zh) * | 2018-04-26 | 2019-10-31 | 华为国际有限公司 | 数据处理方法、相关装置及区块链系统 |
CN113806772A (zh) * | 2021-09-03 | 2021-12-17 | 武汉虹旭信息技术有限责任公司 | 基于区块链的信息加密传输方法及装置 |
CN114499857A (zh) * | 2022-03-03 | 2022-05-13 | 矩阵时光数字科技有限公司 | 一种实现大数据量子加解密中数据正确性与一致性的方法 |
CN115333845A (zh) * | 2022-08-19 | 2022-11-11 | 南京理工大学 | 基于子集的隐私数据验证方法 |
CN115603891A (zh) * | 2022-09-29 | 2023-01-13 | 上海万向区块链股份公司(Cn) | 自主可控的密文数据安全计算方法和系统 |
CN116070276A (zh) * | 2023-02-23 | 2023-05-05 | 西安理工大学 | 基于同态加密与Simhash的密文查重与存储方法 |
CN116308350A (zh) * | 2023-03-14 | 2023-06-23 | 北京八分量信息科技有限公司 | 基于同态加密的隐私交易方法、装置及相关产品 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11483139B2 (en) * | 2020-08-07 | 2022-10-25 | Bank Of America Corporation | System for secure data transmission using fully homomorphic encryption |
-
2023
- 2023-08-10 CN CN202311007920.1A patent/CN116886268B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019209168A2 (zh) * | 2018-04-26 | 2019-10-31 | 华为国际有限公司 | 数据处理方法、相关装置及区块链系统 |
CN108985102A (zh) * | 2018-06-22 | 2018-12-11 | 中国电子科技集团公司电子科学研究院 | 数据完整性验证方法、装置、系统及存储介质 |
CN109711841A (zh) * | 2018-12-27 | 2019-05-03 | 石更箭数据科技(上海)有限公司 | 数据交易方法及系统、平台、存储介质 |
CN113806772A (zh) * | 2021-09-03 | 2021-12-17 | 武汉虹旭信息技术有限责任公司 | 基于区块链的信息加密传输方法及装置 |
CN114499857A (zh) * | 2022-03-03 | 2022-05-13 | 矩阵时光数字科技有限公司 | 一种实现大数据量子加解密中数据正确性与一致性的方法 |
CN115333845A (zh) * | 2022-08-19 | 2022-11-11 | 南京理工大学 | 基于子集的隐私数据验证方法 |
CN115603891A (zh) * | 2022-09-29 | 2023-01-13 | 上海万向区块链股份公司(Cn) | 自主可控的密文数据安全计算方法和系统 |
CN116070276A (zh) * | 2023-02-23 | 2023-05-05 | 西安理工大学 | 基于同态加密与Simhash的密文查重与存储方法 |
CN116308350A (zh) * | 2023-03-14 | 2023-06-23 | 北京八分量信息科技有限公司 | 基于同态加密的隐私交易方法、装置及相关产品 |
Also Published As
Publication number | Publication date |
---|---|
CN116886268A (zh) | 2023-10-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109067801B (zh) | 一种身份认证方法、身份认证装置及计算机可读介质 | |
CN109756485B (zh) | 电子合同签署方法、装置、计算机设备及存储介质 | |
JP6684930B2 (ja) | ブロックチェーンに基づくアイデンティティ認証方法、装置、ノード及びシステム | |
CN102170352B (zh) | 使用具有温特尼茨单次签名的ecdsa的方法 | |
JP5468137B2 (ja) | オンライン第三者装置を導入するエンティティ双方向認証方法 | |
CN101821987B (zh) | 有效认证电子邮件协议 | |
WO2020038137A1 (zh) | 二维码生成方法、数据处理方法、装置及服务器 | |
CN111552270B (zh) | 用于车载诊断的安全认证和数据传输方法及装置 | |
CN110555933A (zh) | 电子投票方法、装置、设备及计算机存储介质 | |
CN105227319A (zh) | 一种验证服务器的方法及装置 | |
CN104008351A (zh) | Windows应用程序完整性校验系统、方法及装置 | |
CN110611670A (zh) | 一种api请求的加密方法及装置 | |
CN110597836B (zh) | 基于区块链网络的信息查询请求响应方法及装置 | |
CN110990484B (zh) | 基于区块链的信息存储方法、系统、计算机设备及存储介质 | |
KR20120053398A (ko) | 컨텐츠를 검증하기 위한 서명 장치와 검증 장치를 포함하는 검증 시스템 및 검증 방법 | |
CN110020869B (zh) | 用于生成区块链授权信息的方法、装置及系统 | |
CN103780632A (zh) | 一种互联网文件完整性验证方法及其系统 | |
KR102103179B1 (ko) | 블록체인 오라클에서의 프라이버시 보호를 위한 영지식 증명 시스템 및 그 방법 | |
CN107332833B (zh) | 校验方法及装置 | |
CN115664655A (zh) | 一种tee可信认证方法、装置、设备及介质 | |
KR20120091618A (ko) | 연쇄 해시에 의한 전자서명 시스템 및 방법 | |
CN114726536A (zh) | 一种时间戳生成方法、装置、电子设备及存储介质 | |
US10756900B2 (en) | Non-repudiation protocol using time-based one-time password (TOTP) | |
CN111445250B (zh) | 一种区块链密钥测试方法及装置 | |
CN110175471B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |