CN116582286A - 基于区块链的数据上传方法、获取方法及装置 - Google Patents
基于区块链的数据上传方法、获取方法及装置 Download PDFInfo
- Publication number
- CN116582286A CN116582286A CN202211738210.1A CN202211738210A CN116582286A CN 116582286 A CN116582286 A CN 116582286A CN 202211738210 A CN202211738210 A CN 202211738210A CN 116582286 A CN116582286 A CN 116582286A
- Authority
- CN
- China
- Prior art keywords
- data
- blockchain
- uploading
- chain
- privacy
- 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
- 238000000034 method Methods 0.000 title claims abstract description 130
- 238000012545 processing Methods 0.000 claims abstract description 43
- 238000004364 calculation method Methods 0.000 claims abstract description 11
- 230000006870 function Effects 0.000 claims description 106
- 230000008569 process Effects 0.000 claims description 41
- 238000012795 verification Methods 0.000 claims description 39
- 238000004422 calculation algorithm Methods 0.000 claims description 25
- 238000004590 computer program Methods 0.000 claims description 10
- 238000010801 machine learning Methods 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 8
- 230000007246 mechanism Effects 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 3
- 238000012544 monitoring process Methods 0.000 description 3
- 238000003062 neural network model Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 238000012549 training Methods 0.000 description 2
- 239000002699 waste material Substances 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
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/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/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
- 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/3218—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 proof of knowledge, e.g. Fiat-Shamir, GQ, Schnorr, ornon-interactive zero-knowledge proofs
- H04L9/3221—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 proof of knowledge, e.g. Fiat-Shamir, GQ, Schnorr, ornon-interactive zero-knowledge proofs interactive zero-knowledge proofs
-
- 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
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)
- Storage Device Security (AREA)
Abstract
本发明提供一种基于区块链的数据上传方法及获取方法,所述数据上传方法包括:基于从区块链上获取的主公钥对待上传数据进行加密处理,得到第一隐私数据,将所述第一隐私数据和第一预设函数上传至云服务器;其中,所述第一预设函数用于处理所述第一隐私数据;对所述第一隐私数据进行哈希计算和数字签名得到链上数据,并将所述链上数据上传至所述区块链。本发明提供的基于区块链的数据上传方法,通过一种链上链下混合存储的方式,链上仅存储密文哈希值,提高性能及可扩展性,并降低链上空间开销。
Description
技术领域
本发明涉及数据传输技术领域,尤其涉及一种基于区块链的数据上传方法、获取方法及装置。
背景技术
区块链技术中,数据提供者将数据上传至区块链中时,云服务提供商或者其他数据请求者可能对上传数据产生好奇或恶意,使得数据共享、流通过程中发生隐私泄露,不利于数据安全和共享流通。
因此,如何基于区块链提供一种更具隐私保护的数据上传方法,是该领域亟待解决的技术问题。
发明内容
为解决现有技术中的问题,本发明提供了一种基于区块链的数据上传方法、获取方法及装置。
本发明提供一种基于区块链的数据上传方法,包括:
基于从区块链上获取的主公钥对待上传数据进行加密处理,得到第一隐私数据,将所述第一隐私数据和第一预设函数上传至云服务器;其中,所述第一预设函数用于处理所述第一隐私数据;
对所述第一隐私数据进行哈希计算和数字签名得到链上数据,并将所述链上数据上传至所述区块链。
根据本发明提供的一种基于区块链的数据上传方法,所述方法还包括:数据请求者将第二预设函数上传至云服务器,其中,所述第二预设函数用于处理所述第一隐私数据。
根据本发明提供的一种基于区块链的数据上传方法,所述第二预设函数至少包括以下其中一种:求和函数、均值函数以及机器学习模型。
本发明还提供一种基于区块链的数据获取方法,包括:
接收流程,接收数据请求者的数据获取请求,并基于所述数据获取请求拾取个人公钥,基于所述个人公钥对目标函数值进行加密处理,得到第二隐私数据;
验证流程,基于零知识证明算法生成所述第二隐私数据的有效性证明,并将所述有效性证明发送至区块链进行验证,若验证通过,则基于所述个人公钥解密所述第二隐私数据,得到哈希值;并从云服务器中获取第一隐私数据;
运算流程,基于所述哈希值判断所述第一隐私数据是否被篡改,若未篡改,则执行解密算法获取目标函数值。
根据本发明提供的一种基于区块链的数据获取方法,在所述接收流程之前,所述方法还包括:数据请求者选取目标函数,用于处理所述第一隐私数据;其中,所述目标函数包括第一预设函数和第二预设函数。
根据本发明提供的一种基于区块链的数据获取方法,所述验证流程还包括:若验证未通过或在预设时间内未成功生成所述有效性证明,则终止执行所述验证流程。
根据本发明提供的一种基于区块链的数据获取方法,所述运算流程还包括:若被篡改,则终止执行所述运算流程。
本发明还提供一种基于区块链的数据上传装置,包括:
第一上传模块,用于基于从区块链上获取的主公钥对待上传数据进行加密处理,得到第一隐私数据,将所述第一隐私数据和第一预设函数上传至云服务器;其中,所述第一预设函数用于处理所述第一隐私数据;
第二上传模块,用于对所述第一隐私数据进行哈希计算和数字签名得到链上数据,并将所述链上数据上传至所述区块链。
本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述基于区块链的数据上传方法的步骤或所述基于区块链的数据获取方法的步骤。
本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述基于区块链的数据上传方法的步骤或所述基于区块链的数据获取方法的步骤。
本发明还提供一种计算机程序产品,包括计算机程序/指令,所述计算机程序/指令被处理器执行时实现如上述任一种所述基于区块链的数据上传方法的步骤或所述基于区块链的数据获取方法的步骤。
本发明提供的基于区块链的数据上传方法、获取方法及装置,通过采取链上链下混合存储的方式,将加密后得到的第一隐私数据上传至云服务器,仅上传第一隐私数据的哈希值到区块链,既保证了数据不被篡改,又降低了链上空间开销;与此同时,通过零知识证明算法,在不公开核心数据的情况下,实现了使用方对数据以及处理结果真实性的自主验证,避免了数据所有方的展示数据与共享数据不一致的问题,实现了隐私数据可用不可见的优势,也进一步强化了数据获取过程中的隐私保护,有效避免了信息泄漏问题。
附图说明
为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明提供的基于区块链的数据上传方法的流程示意图;
图2是本发明提供的基于区块链的数据获取方法的流程示意图;
图3是本发明提供的数据上传系统整体架构及各角色间交互图;
图4是本发明提供的数据上传系统的业务流程示意图;
图5是本发明提供的基于区块链的数据上传装置的结构示意图;
图6是本发明提供的电子设备的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1是本发明提供的基于区块链的数据上传方法的流程示意图,如图1所示,所述方法包括:
步骤S110,基于从区块链上获取的主公钥对待上传数据进行加密处理,得到第一隐私数据,将所述第一隐私数据和第一预设函数上传至云服务器;其中,所述第一预设函数用于处理所述第一隐私数据;
步骤S120,对所述第一隐私数据进行哈希计算和数字签名得到链上数据,并将所述链上数据上传至所述区块链。
需要说明的是,哈希计算指的是通过摘要算法对一段信息进行处理,得到一串哈希值,又称为哈希摘要;数字签名指的是将上述得到的哈希摘要进行加密处理,即得到数字签名。具体的,待上传数据经过加密处理后得到第一隐私数据,提供数据的用户从区块链上获取主公钥,并运行函数加密算法后,得到密文CT,为了避免数据量过大造成的区块链节点负担过重,本实施例中采用链上链下混合存储的方法,具体为:数据上传者将加密后的密文CT上传到云服务器,并对数据进行哈希摘要和数字签名,再将哈希摘要及签名发送至区块链进行存储,从而提高性能及可扩展性,降低链上空间开销。
同时,假设本实施例中的云服务器是诚实的云服务提供商,即会诚实的执行指令,但是可能对上传数据产生好奇或恶意,这种存储方案可以避免云服务器篡改数据。云服务器对区块链上的事件进行监听,保证仅合法的数据使用者能够拿到加密数据。然后,数据上传者需指定能够作用在第一隐私数据上的函数,即第一预设函数。
本发明提供的基于区块链的数据上传方法,通过采取链上链下混合存储的方式,将加密后得到的第一隐私数据上传至云服务器,仅上传第一隐私数据的哈希值到区块链,既保证了数据不被篡改,又降低了链上空间开销。
根据本发明提供的基于区块链的数据上传方法,在本发明中,所述方法还包括:数据请求者将第二预设函数上传至云服务器,其中,所述第二预设函数用于处理所述第一隐私数据。
需要说明的是,除数据提供者提供第一预设函数之外,数据请求者可以根据权限自行上传至云服务器想要对第一隐私数据进行的计算函数,将数据请求者上传至云服务器的预设函数称为第二预设函数,第二预设函数的作用在于对第一隐私数据进行处理,当数据请求者需要获取某个数据处理结果时,可以利用第二预设函数对第一隐私数据进行处理,进而将得到的处理结果作为数据请求者的获取结果,整个过程中数据请求者不会直接获取第一隐私数据,进而实现对第一隐私数据的保密存储,避免出现原始数据外泄的问题。
举例来说,当数据请求者请求获取第一隐私数据的和值时,可以上传至云服务器一个求和函数,利用该求和函数对第一隐私数据进行求和处理,得到一个最终的求和结果,最终数据请求者实现对于和值的获取;在数据请求者获取和值的全过程中,数据请求者并未直接获取第一隐私数据,即实现了对原始的第一隐私数据的保密存储,有效避免了数据在共享过程中可能产生的外泄问题。
本发明提供的基于区块链的数据上传方法,通过设计一种无需共享原始数据,仅共享数据函数处理结果的共享机制,使得数据请求者无需查看原始数据,就可得到数据处理之后的结果。该机制既保证了数据上传者个人数据的隐私性,又推动了数据所携带信息在区域间各组织之间的共享和流通,保证了数据请求者对于数据所携带信息的获取需要。
根据本发明提供的基于区块链的数据上传方法,在本发明中,所述第二预设函数至少包括以下其中一种:求和函数、均值函数以及机器学习模型。
需要说明的是,求和函数和均值函数的数据处理功能相对固定,主要针对第一隐私数据进行简单的数据处理,进而得到数据请求者所需要的数据处理结果;机器学习模型泛指一起具有数据处理能力的神经网络模型,这类神经网络模型可以根据实际需要进行选择以及进行对应的模型训练过程,训练完成后使所选择神经网络模型具有对应的数据处理能力。
本发明提供的基于区块链的数据上传方法,通过选取合适的第二预设函数,实现对第一隐私数据的数据处理过程,最终得到数据请求者所需的数据处理结果,在保证第一隐私数据不被外泄的同时,实现了基于不同预设函数所得到数据处理结果的多样性,更好的满足数据请求者的数据获取需求。
图2是本发明提供的基于区块链的数据获取方法的流程示意图,如图2所示,所述方法包括:
步骤S110,接收流程,接收数据请求者的数据获取请求,并基于所述数据获取请求拾取个人公钥,基于所述个人公钥对目标函数值进行加密处理,得到第二隐私数据;
步骤S120,验证流程,基于零知识证明算法生成所述第二隐私数据的有效性证明,并将所述有效性证明发送至区块链进行验证,若验证通过,则基于所述个人公钥解密所述第二隐私数据,得到哈希值;并从云服务器中获取第一隐私数据;
步骤S130,运算流程,基于所述哈希值判断所述第一隐私数据是否被篡改,若未篡改,则执行解密算法获取目标函数值。
需要说明的是,本实施例中目标函数值指的是第一隐私数据经由预设函数处理得到的处理结果,其中,预设函数包括第一预设函数和第二预设函数,而为了确保数据处理结果,即目标函数值在共享过程中的私密性,再次对目标函数值进行加密处理,得到第二隐私数据。
零知识证明(zero-knowledgeproof)又称零知识协议(zero-knowledgeprotocol),指一个证明方(Prover)能通过与验证方(Verifier)的交互使其确信该论断是正确的,但除此之外验证方一无所知。所谓的零知识,就是指验证方除了对论断判断的结果(错或对)之外,无法获取任何额外信息,也可理解成“零泄密证明”。它是一种加密技术,具有完整性、可靠性、零知识性三个特征。在本实施例中利用零知识证明算法生成第二隐私数据的有效性证明,并将该有效性证明发送至区块链进行验证,若验证通过,则利用个人公钥解密第二隐私数据,得到哈希值,并同时获取预先存储在云服务器中的第一隐私数据。
利用得到的哈希值与第一隐私数据进行比对,验证二者是否一致,如果一致则表明存储在云服务器中的第一隐私数据没有被篡改;如果不一致则表明存储在云服务器中的第一隐私数据被篡改;如果未被篡改,则执行解密算法获取目标函数值。
本实施例中,具体为:当数据请求者由于工作需求,需要获取数据时,其并不直接获取原始数据,而是获取运行在第一隐私数据上的函数处理结果,即F(x)。将传统数据共享中的共享原始数据,改为共享数据的计算结果,实现数据的隐私保护共享,数据请求者可以选择区块链上的第一预设函数或自行第二预设函数F,同时提供个人公钥Upk用于对函数结果进行加密,最后调用智能合约。举例说明区块链中的智能合约:假设A从B处租了一套公寓,A可以通过区块链,用加密货币支付,A会收到一份包含在A与B虚拟合同中的收据;B给A可以进入这个房间的数字密码钥匙,钥匙会在指定日期前到A手中。如果密钥未按时寄出,则区块链将释放退款。如果B在租房日期之前寄出钥匙,该功能将在日期到来时将其释放给A和B。系统工作在If-Then的前提下,由数百人见证,因此A可以完全放心的进行这次交易中。
密钥生成。系统监听到链上事件后,从事件中获取数据请求者的Upk,运行密钥生成算法,对加密数据进行处理生成密钥Sk。并通过零知识证明算法生成Sk有效性证明Proof,上传至区块链上进行验证。智能合约验证证据有效性后,会将数据请求者访问数据的信息发送给该隐私数据的拥有者。如果验证未通过或在规定时间内系统未生成Proof,取消数据调用。最后使用Upk加密的Sk会被记录在合约中,相关事件被触发以通知数据请求者获取Sk。
解密。数据请求者首先利用Upk对区块链上获取的Sk密文解密。然后从云服务器中获取密文并与区块链上的哈希值进行比对,验证文件是否被篡改,若未被篡改,则运行解密算法获取F(x)。
本发明提供的基于区块链的数据获取方法,通过本发明实现了数据的隐私保护共享,不同于传统的隐私数据共享,在整个数据获取过程中仅共享第一隐私数据的函数处理结果,确保在保护数据上传者个人隐私数据的前提下,高效推进各数据请求者之间的数据利用以及数据流通;与此同时,由系统生成密钥和密钥的有效性零知识证明,保证数据请求者除了函数处理结果外不能获取任何额外的信息,且无需提供任何信息。
根据本发明提供的基于区块链的数据获取方法,在本发明中,在所述接收流程之前,所述方法还包括:数据请求者选取目标函数,用于处理所述第一隐私数据;其中,所述目标函数包括第一预设函数和第二预设函数。
需要说明的是,基于对第一隐私数据所携带信息的不同需求,需要按需选取目标函数对第一隐私数据进行处理,进而得到所需的数据处理结果,目标函数包括数据上传者提供的第一预设函数和数据请求者提供的第二预设函数。
本发明提供的基于区块链的数据获取方法,通过对目标函数的按需选取,实现了对第一隐私数据所携带信息的多样性获取,充分满足了数据请求者对于第一隐私数据所携带信息的获取需求。
根据本发明提供的基于区块链的数据获取方法,在本发明中,所述验证流程还包括:若验证未通过或在预设时间内未成功生成所述有效性证明,则终止执行所述验证流程。
需要说明的是,为了优化数据获取流程,避免出现流程浪费,故在数据获取时的验证流程中,当基于零知识证明算法生成的有效性证明在区块链上验证失败时,或者在规定时间内未能基于零知识证明算法成功生成有效性证明时,则终止该验证流程,结束整个数据获取过程。
本发明提供的基于区块链的数据获取方法,通过设定终止验证流程的条件,在验证未通过或在预设时间内未成功生成有效性证明时,及时终止验证流程,并终止整个数据获取过程,避免了流程浪费,实现了数据获取过程的流程优化。
根据本发明提供的基于区块链的数据获取方法,在本发明中,所述运算流程还包括:若被篡改,则终止执行所述运算流程。
需要说明的是,通过利用区块链上的哈希值与云服务器中的第一隐私数据的比对结果来判定第一隐私数据是否被篡改,并基于判定结果决定是否执行后续流程,当判定结果显示哈希值与第一隐私数据不一致时,说明第一隐私数据已被篡改,此时终止执行运算流程,即结束整个数据获取过程。
本发明提供的基于区块链的数据获取方法,通过比对区块链上的哈希值与云服务器中的第一隐私数据,实现了对第一隐私数据是否被篡改的判定,并在发现第一隐私数据被篡改时,及时终止运算流程,结束整个数据获取过程,基于此,确保了第一隐私数据的准确性,提高了数据获取过程的可靠性,同时也实现了对数据获取过程的流程优化,避免进行无价值的数据运算流程。
图3是本发明提供的数据上传系统整体架构及各角色间交互图,包括:
权威机构:负责全局初始化设置,本模型中使用的函数加密及零知识证明的初始化参数设置都由权威机构生成,并且负责函数加密中密钥Sk的生成,具体为:设置全局安全参数,生成该系统的主公钥和主私钥,并将系统主公钥公开在区块链中,本实施例中假设权威机构完全可信;与此同时,权威机构还用于监管数据拥有者,将公钥MPK上传至区块链;
区块链:负责存储加密数据摘要,验证零知识证明正确性,发布数据拥有者的函数,接受数据使用者的数据请求,上述功能通过智能合约实现,其中定义相关事件,用以传递消息。
数据拥有者:即前文所提到的数据上传者,负责存储数据,加密数据,指定使用函数。
数据使用者:即前文提到的数据请求者,为需要使用链上数据的用户。
云服务器供应商:用于监听区块链上的事件,存储数据拥有者上传的加密数据;其中,监听事件就是等待某个事件的发生,当这个事件发生之后,对其做出一个响应;本处指的就是监听有无调用加密数据的事件发生,可以通过设置消息触发机制来实现。
图4是本发明提供数据上传系统的业务流程示意图,包括:
Step1,开始,权威机构设置全局安全参数,生成系统主公钥和主私钥,并将系统主公钥公开到区块链中;
Step2,数据提供者从链上获取主公钥,运行函数加密算法得到密文CT;
Step3,将加密后的隐私数据CT及其哈希值分别上传到云服务器和区块链,并指定函数;
Step4,数据使用者,即数据请求者,选择预设函数或自行提供函数;
Step5,提供个人公钥Upk用于函数结果加密,并调用智能合约;
Step6,权威机构获取数据使用者选择的函数及Upk,对函数及加密数据进行处理生成Sk;
Step7,通过零知识证明算法验证Sk有效性;若验证未通过或规定时间内权威机构未生成Proof,取消数据调用,并惩罚权威机构;
Step8,Upk加密的Sk会被记录在合约中,根据事件触发通知数据使用者获取Sk;
Step9,利用Upk对链上获取的Sk密文解密,并从云上获取密文与链上的哈希值进行比对;
Step10,运行解密算法获取函数处理结果,结束。
本发明提供的基于区块链的数据上传及获取方法,通过结合区块链与云服务器,实现待上传数据链上存证,链下存储的混合存储架构。并利用零知识证明,实现数据的隐私保护和可验证结果的安全数据共享。
图5是本发明提供的基于区块链的数据上传装置的结构示意图,如图5所示,所述数据上传装置500包括:
第一上传模块510,用于基于从区块链上获取的主公钥对待上传数据进行加密处理,得到第一隐私数据,将所述第一隐私数据和第一预设函数上传至云服务器;其中,所述第一预设函数用于处理所述第一隐私数据;
第二上传模块520,用于对所述第一隐私数据进行哈希计算和数字签名得到链上数据,并将所述链上数据上传至所述区块链。
本发明提供的基于区块链的数据上传装置,通过采取链上链下混合存储的方式,将加密后得到的第一隐私数据上传至云服务器,仅上传第一隐私数据的哈希值到区块链,既保证了数据不被篡改,又降低了链上空间开销。
图6示例了一种电子设备的实体结构示意图,如图6所示,该电子设备可以包括:处理器(processor)610、通信接口(Communications Interface)620、存储器(memory)630和通信总线640,其中,处理器610,通信接口620,存储器630通过通信总线640完成相互间的通信。处理器610可以调用存储器630中的逻辑指令,以执行基于区块链的数据上传方法,该方法包括:基于从区块链上获取的主公钥对待上传数据进行加密处理,得到第一隐私数据,将所述第一隐私数据和第一预设函数上传至云服务器;其中,所述第一预设函数用于处理所述第一隐私数据;
对所述第一隐私数据进行哈希计算和数字签名得到链上数据,并将所述链上数据上传至所述区块链;
或执行基于区块链的数据获取方法,该方法包括:接收流程,接收数据请求者的数据获取请求,并基于所述数据获取请求拾取个人公钥,基于所述个人公钥对目标函数值进行加密处理,得到第二隐私数据;
验证流程,基于零知识证明算法生成所述第二隐私数据的有效性证明,并将所述有效性证明发送至区块链进行验证,若验证通过,则基于所述个人公钥解密所述第二隐私数据,得到哈希值;并从云服务器中获取第一隐私数据;
运算流程,基于所述哈希值判断所述第一隐私数据是否被篡改,若未篡改,则执行解密算法获取目标函数值。
此外,上述的存储器630中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,RandomAccessMemory)、磁碟或者光盘等各种可以存储程序代码的介质。
另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法所提供的基于区块链的数据上传方法,该方法包括:基于从区块链上获取的主公钥对待上传数据进行加密处理,得到第一隐私数据,将所述第一隐私数据和第一预设函数上传至云服务器;其中,所述第一预设函数用于处理所述第一隐私数据;
对所述第一隐私数据进行哈希计算和数字签名得到链上数据,并将所述链上数据上传至所述区块链;
或执行基于区块链的数据获取方法,该方法包括:接收流程,接收数据请求者的数据获取请求,并基于所述数据获取请求拾取个人公钥,基于所述个人公钥对目标函数值进行加密处理,得到第二隐私数据;
验证流程,基于零知识证明算法生成所述第二隐私数据的有效性证明,并将所述有效性证明发送至区块链进行验证,若验证通过,则基于所述个人公钥解密所述第二隐私数据,得到哈希值;并从云服务器中获取第一隐私数据;
运算流程,基于所述哈希值判断所述第一隐私数据是否被篡改,若未篡改,则执行解密算法获取目标函数值。
又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各提供的基于区块链的数据上传方法,该方法包括:基于从区块链上获取的主公钥对待上传数据进行加密处理,得到第一隐私数据,将所述第一隐私数据和第一预设函数上传至云服务器;其中,所述第一预设函数用于处理所述第一隐私数据;
对所述第一隐私数据进行哈希计算和数字签名得到链上数据,并将所述链上数据上传至所述区块链;
或执行基于区块链的数据获取方法,该方法包括:接收流程,接收数据请求者的数据获取请求,并基于所述数据获取请求拾取个人公钥,基于所述个人公钥对目标函数值进行加密处理,得到第二隐私数据;
验证流程,基于零知识证明算法生成所述第二隐私数据的有效性证明,并将所述有效性证明发送至区块链进行验证,若验证通过,则基于所述个人公钥解密所述第二隐私数据,得到哈希值;并从云服务器中获取第一隐私数据;
运算流程,基于所述哈希值判断所述第一隐私数据是否被篡改,若未篡改,则执行解密算法获取目标函数值。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种基于区块链的数据上传方法,其特征在于,包括:
基于从区块链上获取的主公钥对待上传数据进行加密处理,得到第一隐私数据,将所述第一隐私数据和第一预设函数上传至云服务器;其中,所述第一预设函数用于处理所述第一隐私数据;
对所述第一隐私数据进行哈希计算和数字签名得到链上数据,并将所述链上数据上传至所述区块链。
2.根据权利要求1所述的基于区块链的数据上传方法,其特征在于,所述方法还包括:数据请求者将第二预设函数上传至云服务器,其中,所述第二预设函数用于处理所述第一隐私数据。
3.根据权利要求2所述的基于区块链的数据上传方法,其特征在于,所述第二预设函数至少包括以下其中一种:求和函数、均值函数以及机器学习模型。
4.一种基于区块链的数据获取方法,其特征在于,包括:
接收流程,接收数据请求者的数据获取请求,并基于所述数据获取请求拾取个人公钥,基于所述个人公钥对目标函数值进行加密处理,得到第二隐私数据;
验证流程,基于零知识证明算法生成所述第二隐私数据的有效性证明,并将所述有效性证明发送至区块链进行验证,若验证通过,则基于所述个人公钥解密所述第二隐私数据,得到哈希值;并从云服务器中获取第一隐私数据;
运算流程,基于所述哈希值判断所述第一隐私数据是否被篡改,若未篡改,则执行解密算法获取目标函数值。
5.根据权利要求4所述的基于区块链的数据获取方法,其特征在于,在所述接收流程之前,所述方法还包括:数据请求者选取目标函数,用于处理所述第一隐私数据;其中,所述目标函数包括第一预设函数和第二预设函数。
6.根据权利要求4所述的基于区块链的数据获取方法,其特征在于,所述验证流程还包括:若验证未通过或在预设时间内未成功生成所述有效性证明,则终止执行所述验证流程。
7.根据权利要求4所述的基于区块链的数据获取方法,其特征在于,所述运算流程还包括:若被篡改,则终止执行所述运算流程。
8.一种基于区块链的数据上传装置,其特征在于,包括:
第一上传模块,用于基于从区块链上获取的主公钥对待上传数据进行加密处理,得到第一隐私数据,将所述第一隐私数据和第一预设函数上传至云服务器;其中,所述第一预设函数用于处理所述第一隐私数据;
第二上传模块,用于对所述第一隐私数据进行哈希计算和数字签名得到链上数据,并将所述链上数据上传至所述区块链。
9.一种电子设备,其特征在于,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如权利要求1-3任一项所述基于区块链的数据上传方法的步骤或4-7任一项所述基于区块链的数据获取方法的步骤。
10.一种非暂态计算机可读存储介质,其特征在于,其上存储有计算机程序,该计算机程序被处理器执行时实现如权利要求1-3任一项所述基于区块链的数据上传方法的步骤或4-7任一项所述基于区块链的数据获取方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211738210.1A CN116582286A (zh) | 2022-12-30 | 2022-12-30 | 基于区块链的数据上传方法、获取方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211738210.1A CN116582286A (zh) | 2022-12-30 | 2022-12-30 | 基于区块链的数据上传方法、获取方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116582286A true CN116582286A (zh) | 2023-08-11 |
Family
ID=87534689
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211738210.1A Pending CN116582286A (zh) | 2022-12-30 | 2022-12-30 | 基于区块链的数据上传方法、获取方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116582286A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117195309A (zh) * | 2023-11-08 | 2023-12-08 | 中孚安全技术有限公司 | 基于区块链的数据安全共享的方法、系统、设备及介质 |
-
2022
- 2022-12-30 CN CN202211738210.1A patent/CN116582286A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117195309A (zh) * | 2023-11-08 | 2023-12-08 | 中孚安全技术有限公司 | 基于区块链的数据安全共享的方法、系统、设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8843415B2 (en) | Secure software service systems and methods | |
US8196186B2 (en) | Security architecture for peer-to-peer storage system | |
CN111654367B (zh) | 密码运算、创建工作密钥的方法、密码服务平台及设备 | |
US20170161486A1 (en) | Apparatus and method for api authentication using two api tokens | |
US9300639B1 (en) | Device coordination | |
CN109347625B (zh) | 密码运算、创建工作密钥的方法、密码服务平台及设备 | |
CN114866323B (zh) | 一种用户可控的隐私数据授权共享系统及方法 | |
CN111914293A (zh) | 一种数据访问权限验证方法、装置、计算机设备及存储介质 | |
Kilari et al. | Robust revocable anonymous authentication for vehicle to grid communications | |
CN116582286A (zh) | 基于区块链的数据上传方法、获取方法及装置 | |
CN112149181A (zh) | 一种带有信誉值分析作用的混合云数据中心数据传输方法 | |
CN114781006A (zh) | 基于区块链和sgx的外包数据完整性审计方法及系统 | |
CN114567491A (zh) | 一种基于零信任原则与区块链技术的医学病历共享方法与系统 | |
CN114666064A (zh) | 基于区块链的数字资产管理方法、装置、存储介质及设备 | |
KR102457915B1 (ko) | 블록체인의 스마트 컨트랙트를 이용한 전자 투표 시스템 및 방법 | |
CN111625815B (zh) | 一种基于可信执行环境的数据交易方法及装置 | |
CN117375797A (zh) | 基于区块链与零知识证明的匿名认证与车载信息共享方法 | |
CN114996694B (zh) | 一种数据融合方法、设备、系统及存储介质 | |
CN114826592B (zh) | 基于区块链的密钥生成方法、装置、电子设备和可读介质 | |
CN113869901B (zh) | 密钥生成方法、装置、计算机可读存储介质及计算机设备 | |
CN114120498B (zh) | 用于迁移数据的方法和相关设备 | |
CN115348054A (zh) | 基于ipfs的区块链数据代理重加密模型 | |
CN115001748A (zh) | 一种模型处理方法、装置及计算机可读存储介质 | |
EP3729850B1 (en) | A method for controlling by a server the use of at least one data element of a data owner | |
Karabulut et al. | Secure enterprise services consumption for SaaS technology platforms |
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 |