CN115114658A - 基于区块链的可验证数据交易方法、装置、设备及介质 - Google Patents

基于区块链的可验证数据交易方法、装置、设备及介质 Download PDF

Info

Publication number
CN115114658A
CN115114658A CN202210730111.2A CN202210730111A CN115114658A CN 115114658 A CN115114658 A CN 115114658A CN 202210730111 A CN202210730111 A CN 202210730111A CN 115114658 A CN115114658 A CN 115114658A
Authority
CN
China
Prior art keywords
data
sample
key
transaction
encrypted
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.)
Granted
Application number
CN202210730111.2A
Other languages
English (en)
Other versions
CN115114658B (zh
Inventor
陈飞
王嘉豪
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen University
Original Assignee
Shenzhen University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shenzhen University filed Critical Shenzhen University
Priority to CN202210730111.2A priority Critical patent/CN115114658B/zh
Publication of CN115114658A publication Critical patent/CN115114658A/zh
Application granted granted Critical
Publication of CN115114658B publication Critical patent/CN115114658B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting 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/6245Protecting personal data, e.g. for financial or medical purposes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Payment architectures, schemes or protocols
    • G06Q20/08Payment architectures
    • G06Q20/12Payment architectures specially adapted for electronic shopping systems
    • G06Q20/123Shopping for digital content
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0283Price estimation or determination
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network 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/0442Network 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 wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols 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]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0822Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using key encryption key
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • Accounting & Taxation (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • Development Economics (AREA)
  • General Health & Medical Sciences (AREA)
  • Finance (AREA)
  • Strategic Management (AREA)
  • Computing Systems (AREA)
  • General Business, Economics & Management (AREA)
  • Software Systems (AREA)
  • Databases & Information Systems (AREA)
  • Medical Informatics (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Game Theory and Decision Science (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Storage Device Security (AREA)

Abstract

本申请涉及区块链技术领域,揭露一种基于区块链的可验证数据交易方法、装置、设备及介质,其中方法包括生成数据购买者的初始参数以及数据所有者的初始参数;分别对获取的交易数据和解密密钥进行加密,得到加密数据块和加密解密密钥,且获取第一哈希承诺以及交易数据价格;若接收到数据请求事件发生时,获取第二哈希承诺;当第一哈希承诺与第二哈希承诺一致时,获取样本数据和样本密钥,生成重加密密钥,并对样本密钥进行重加密,当样本数据可用时,判断重加密密钥是否可用,若可用时,将交易数据价格对应的数据奖励发送到数据所有者,以及基于重加密密钥,对加密数据块进行解密,以使得数据购买者得到交易数据。本发明提高数据交易的安全性。

Description

基于区块链的可验证数据交易方法、装置、设备及介质
技术领域
本申请涉及区块链技术领域,尤其涉及一种基于区块链的可验证数据交易方法、装置、设备及介质。
背景技术
数据交易是一种数据流通机制,可以驱动数据流向需要的地方,从而最大化数据的价值。数据交易一般采取数据市场的形式。在这样的市场中,数据成为数据所有者和买家之间交易的重要资产,所有者提供数据,买家消费数据。在交易属性上,线上数据交易与现实生活中的商品交易类似。首先,买方支付并请求购买数据;然后,所有者将请求的数据交付给买方;最后,买方检查数据的可用性,如果数据可用则关闭交易,或者如果数据损坏或不可用,则要求退款。
与线下交易模式相比,线上数据交易面临着安全交易安全性问题。由于两个操作(数据支付和交付)不是同时的操作,所有者和买家都可以利用此漏洞进行欺骗。对于所有者而言,它可以在收到付款后故意拒绝交付数据或恶意发送不可用的数据。对于买家来说,它还可以恶意否认数据的可用性并要求退款。为避免这种情况,传统的数据交易系统往往是中心化的,并且依赖于受信任的第三方(TTP)。在这样的中心化系统中,买方首先向TTP进行支付,然后所有者将数据发送给买方;在买方确认收到数据后,TTP向所有者进行支付。虽然这样的系统机制是实用的,但是,交易安全性问题仍然存在,因为中心化机构可能无法保持公平性。并且由于暴露在网络中的数据很容易被截获,从而导致数据隐私的丢失和价值的损失,使得数据交易的安全性难以保证。现亟需一种能够提高数据交易安全性的方法。
发明内容
本申请实施例的目的在于提出一种基于区块链的可验证数据交易方法、装置、设备及介质,以提高数据交易的安全性。
为了解决上述技术问题,本申请实施例提供一种基于区块链的可验证数据交易方法,包括:
获取系统参数,并基于所述系统参数,生成数据购买者的初始参数以及数据所有者的初始参数,其中,所述数据购买者的初始参数包括购买者公钥和购买者私钥,所述数据所有者的初始参数包括所有者公钥、所有者私钥以及n个密钥,n为正整数;
获取交易数据和解密密钥,基于所述数据所有者的初始参数,分别对所述交易数据和所述解密密钥进行加密,得到n个加密数据块和n个加密解密密钥,且获取数据所有者对所述加密数据块的第一哈希承诺以及交易数据价格,并将所述第一哈希承诺以及所述交易数据价格储存于区块链中;
响应于数据请求事件的触发指令,获取所述数据购买者对所述加密数据块的第二哈希承诺,并判断所述第一哈希承诺与所述第二哈希承诺是否一致;
若所述第一哈希承诺与所述第二哈希承诺一致,获取样本数据以及所述样本数据对应的样本密钥,并基于所述所有者私钥与所述购买者公钥,生成重加密密钥,且基于所述重加密密钥将所述样本密钥进行重加密,得到重加密样本解密密钥,且将所述重加密样本解密密钥返回所述数据购买者,以获取所述数据购买者所反馈的样本数据可用性结果;
若所述样本数据可用性结果为所述样本数据可用,获取所述数据所有者发布的重加密密钥,并判断所述重加密密钥是否可用;
若所述重加密密钥可用,将所述交易数据价格对应的数据奖励发送到所述数据所有者,以及基于所述重加密密钥,对所述加密数据块进行解密,以使得所述数据购买者得到所述交易数据。
为了解决上述技术问题,本申请实施例提供一种基于区块链的可验证数据交易装置,包括:
初始参数生成模块,用于获取系统参数,并基于所述系统参数,生成数据购买者的初始参数以及数据所有者的初始参数,其中,所述数据购买者的初始参数包括购买者公钥和购买者私钥,所述数据所有者的初始参数包括所有者公钥、所有者私钥以及n个密钥,n为正整数;
交易数据加密模块,用于获取交易数据和解密密钥,基于所述数据所有者的初始参数,分别对所述交易数据和所述解密密钥进行加密,得到n个加密数据块和n个加密解密密钥,且获取数据所有者对所述加密数据块的第一哈希承诺以及交易数据价格,并将所述第一哈希承诺以及所述交易数据价格储存于区块链中;
哈希承诺对比模块,用于响应于数据请求事件的触发指令,获取所述数据购买者对所述加密数据块的第二哈希承诺,并判断所述第一哈希承诺与所述第二哈希承诺是否一致;
样本数据判断模块,用于若所述第一哈希承诺与所述第二哈希承诺一致,获取样本数据以及所述样本数据对应的样本密钥,并基于所述所有者私钥与所述购买者公钥,生成重加密密钥,且基于所述重加密密钥将所述样本密钥进行重加密,得到重加密样本解密密钥,且将所述重加密样本解密密钥返回所述数据购买者,以获取所述数据购买者所反馈的样本数据可用性结果;
重加密密钥判断模块,用于若所述样本数据可用性结果为所述样本数据可用,获取所述数据所有者发布的重加密密钥,并判断所述重加密密钥是否可用;
交易数据完成模块,用于若所述重加密密钥可用,将所述交易数据价格对应的数据奖励发送到所述数据所有者,以及基于所述重加密密钥,对所述加密数据块进行解密,以使得所述数据购买者得到所述交易数据。
为解决上述技术问题,本发明采用的一个技术方案是:一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意一项所述的基于区块链的可验证数据交易方法。
本发明实施例提供了一种基于区块链的可验证数据交易方法、装置、设备及介质。其中,方法包括:获取系统参数,并基于系统参数,生成数据购买者的初始参数以及数据所有者的初始参数,其中,数据购买者的初始参数包括购买者公钥和购买者私钥,数据所有者的初始参数包括所有者公钥、所有者私钥以及n个密钥,n为正整数;获取交易数据和解密密钥,基于数据所有者的初始参数,分别对交易数据和解密密钥进行加密,得到n个加密数据块和n个加密解密密钥,且获取数据所有者对加密数据块的第一哈希承诺以及交易数据价格,并将第一哈希承诺以及交易数据价格储存于区块链中;响应于数据请求事件的触发指令,获取数据购买者对加密数据块的第二哈希承诺,并判断第一哈希承诺与第二哈希承诺是否一致;若第一哈希承诺与第二哈希承诺一致,获取样本数据以及样本数据对应的样本密钥,并基于所有者私钥与购买者公钥,生成重加密密钥,且基于重加密密钥将样本密钥进行重加密,得到重加密样本解密密钥,且将重加密样本解密密钥返回数据购买者,以获取数据购买者所反馈的样本数据可用性结果;若样本数据可用性结果为样本数据可用,获取数据所有者发布的重加密密钥,并判断重加密密钥是否可用;若重加密密钥可用,将交易数据价格对应的数据奖励发送到数据所有者,以及基于重加密密钥,对加密数据块进行解密,以使得数据购买者得到交易数据。
本发明实施例通过基于数据所有者的初始参数,分别对交易数据和解密密钥进行加密,并且本发明实施例还对样本数据进行重加密,使得数据所有者针对不同的数据购买者产生不同的重加密密钥,从而提供一对多的数据交易服务,由于对于交易数据的加密操作无需重复进行,而重加密的过程中保证了交易数据的机密性,从而提高了数据交易的安全性。
附图说明
为了更清楚地说明本申请中的方案,下面将对本申请实施例描述中所需要使用的附图作一个简单介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的基于区块链的可验证数据交易方法流程的一实现流程图;
图2是本申请实施例提供的基于区块链的可验证数据交易方法中子流程的又一实现流程图;
图3是本申请实施例提供的基于区块链的可验证数据交易方法中子流程的又一实现流程图;
图4是本申请实施例提供的基于区块链的可验证数据交易方法中子流程的又一实现流程图;
图5是本申请实施例提供的基于区块链的可验证数据交易方法中子流程的又一实现流程图;
图6是本申请实施例提供的基于区块链的可验证数据交易方法中子流程的又一实现流程图;
图7是本申请实施例提供的基于区块链的可验证数据交易方法中子流程的又一实现流程图;
图8是本申请实施例提供的基于区块链的可验证数据交易装置示意图;
图9是本申请实施例提供的计算机设备的示意图。
具体实施方式
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同;本文中在申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本申请;本申请的说明书和权利要求书及上述附图说明中的术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。本申请的说明书和权利要求书或上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
为了使本技术领域的人员更好地理解本申请方案,下面将结合附图,对本申请实施例中的技术方案进行清楚、完整地描述。
下面结合附图和实施方式对本发明进行详细说明。
需要说明的是,本申请实施例所提供的基于区块链的可验证数据交易方法一般由服务器执行,相应地,基于区块链的可验证数据交易装置一般配置于服务器中。
请参阅图1,图1示出了基于区块链的可验证数据交易方法的一种具体实施方式。
需注意的是,若有实质上相同的结果,本发明的方法并不以图1所示的流程顺序为限,该方法包括如下步骤:
S1:获取系统参数,并基于系统参数,生成数据购买者的初始参数以及数据所有者的初始参数。
具体的,系统参数由Setup(κ)算法生成,该算法输入安全参数K,生成系统参数param。在系统参数param生成后,该参数将暴露给数据购买者和数据所有者,则基于系统参数param,生成数据购买者的初始参数以及数据所有者的初始参数。其中,数据购买者的初始参数包括购买者公钥pkb和购买者私钥skb,数据所有者的初始参数包括所有者公钥pks、所有者私钥sks以及n个密钥K={k1,k2,...,kn},n为正整数。
其中,Setup(κ)算法是代理重加密(Proxy Re-Encryption,PRE)方案中的一个基本算法。Setup(κ)算法由委托人执行的系统参数生成算法,该算法输入一个安全参数K,生成系统公共参数param,处理后,公共参数将暴露给代理和被委托人。其中,代理重加密(Proxy Re-Encryption,PRE)是由Blaze,Bleumer和Strauss等人在1998年提出的一种密码学概念。PRE方案一般有三个实体:委托者、被委托者和代理,PRE系统允许不受信任的第三方代理将委托者使用公钥加密的密文直接转换为可由被委托者私钥解密的密文,而作为中间人的第三方代理在密文转换的过程中不能读取密文对应的明文,也不能获取密钥的任何消息。数据所有者是指数据交易中的卖方,是交易数据的拥有者;数据购买者是指数据交易中的买方,是交易数据点的购买者。
S2:获取交易数据和解密密钥,基于数据所有者的初始参数,分别对交易数据和解密密钥进行加密,得到n个加密数据块和n个加密解密密钥,且获取数据所有者对加密数据块的第一哈希承诺以及交易数据价格,并将第一哈希承诺以及交易数据价格储存于区块链中。
请参阅图2,图2示出了步骤S2的一种具体实施方式,详叙如下:
S21:获取交易数据和解密密钥。
S22:将交易数据重组为n个数据块,并基于n个密钥,依次将n个数据块进行加密,得到n个加密数据块。
S23:基于所有者公钥,将解密密钥进行加密,得到n个加密解密密钥。
S24:获取数据所有者对加密数据块的第一哈希承诺以及交易数据价格,并将第一哈希承诺以及交易数据价格储存于区块链中。
具体的,获取交易数据M和该交易数据M对应的解密密钥K,为了保证数据隐私,提高数据交易的安全性,需要在数据所有者一端对交易数据M和解密密钥K进行加密。在数据所有者一端,将交易数据M重组为n个数据块M={m1,m2,...,mn},采用对称加密算法,基于n个密钥K={k1,k2,...,kn},依次将n个数据块M={m1,m2,...,mn}进行加密,得到n个加密数据块C={c1,c2,...,cn};具体的,采用对称加密算法中的SEncrypt(mi,ki)算法,通过密钥ki对数据块mi进行加密,生成加密数据块ci,再经过n次对称加密过程,得到n个加密数据块C={c1,c2,...,cn}。同样的,采用Encrypt(m,pki)算法(一种对称加密算法)对解密密钥K进行加密,该算法输入pks对密钥ki进行非对称加密,生成加密的解密密钥eki,再经过n次非对称加密过程,S得到n个加密解密密钥EK={ek1,ek2,…,ekn}。最后,获取数据所有者对加密数据块的第一哈希承诺以及交易数据价格,并将第一哈希承诺以及交易数据价格储存于区块链中。
本实施例中,通过获取交易数据和解密密钥,并对交易数据和解密密钥进行重加密,保证了交易数据的隐私,从而提高交易数据的安全性。
请参阅图3,图3示出了步骤S24的一种具体实施方式,详叙如下:
S241:通过Merkle哈希树算法对n个加密数据块进行计算,得到树根的哈希值,并将树根的哈希值作为数据所有者对应的第一哈希承诺。
S242:获取交易数据价格,并将第一哈希承诺和交易数据价格存储于区块链中。
具体的,获取数据所有者对加密数据块C做出第一哈希承诺,并将该第一哈希承诺上传到区块链,哈希承诺作为不可否认性证明,能够识别加密数据块C中的每个子数据。哈希承诺由Merkle哈希树算法MTreeComp(C)计算,该算法将加密数据块C中的n个加密数据块组织成Merkle树,树根的哈希值(表示为hashC)即为第一哈希承诺。再将第一哈希承诺hashC和交易数据价格x写入区块链中。
其中,在密码学中,哈希承诺是对一个既有的确定性的事实(敏感数据)进行陈诉,保证未来的某个时间有验证方可以验证承诺的真假,也就是说承诺的标的是当前时间的,未来不会发生变化。在计算机科学中,哈希树(或哈希特里)是一种持久性数据结构,可用于实现集合和映射,旨在替换纯函数式编程中的哈希表。
本实施例中,通过Merkle哈希树算法对n个加密数据块进行计算,得到树根的哈希值,并将树根的哈希值作为数据所有者对应的第一哈希承,再获取交易数据价格,并将第一哈希承诺和交易数据价格存储于区块链中,由于哈希承诺具有不可否认性证明,并能够识别哈希承诺中的每个子数据,能够减少由于数据不稳定性所产生的交易信任问题,进而提高数据交易的安全性。
S3:响应于数据请求事件的触发指令,获取数据购买者对加密数据块的第二哈希承诺,并判断第一哈希承诺与第二哈希承诺是否一致。
请参阅图4,图4示出了步骤S3的一种具体实施方式,详叙如下:
S31:通过智能合约的预设方式请求数据,当请求数据被接收后,触发数据请求事件。
S32:将加密数据块与加密解密密钥返回数据购买者,以获取数据购买者对加密数据块的第二哈希承诺。
S33:在区块链中,判断第一哈希承诺与第二哈希承诺是否一致。
具体的,在数据购买者需要进行数据交易的请求时,通过调用智能合约的预设方式请求数据,此处所用的是智能合约的Request(pkb)方法请求数据。在该方法中,数据购买者需要提供其公钥pkb作为方法参数,将其写入区块链。当请求交易被成功打包后,会触发数据请求事件。当接收到数据请求数据触发后,将该事件反馈到数据所有者,以使得数据所有者及时获取数据请求消息。在确认数据请求事件后,在数据所有者一端中,将加密数据块C和加密解密密钥EK发送给反馈到数据购买者。在数据购买者收到反馈后,为了进一步的交易过程,数据购买者需要在区块链上作出数据接收的第二哈希承诺,这个承诺意味着数据购买者不能否认收到加密数据块C。第二哈希承诺的生成过程与步骤S241-S242相同,为避免重复,此处不再赘述。然后在区块链中,判断第一哈希承诺与第二哈希承诺是否一致;若一致,则使用智能合约的VerifyHashC方法来确认;如若不一致,数据购买者可以选择在此阶段恶意终止交易。但是,由于此时加密解密密钥EK无法解密加密数据块C,使得数据购买者也无法获得交易数据M的明文。因此,这样的恶意行为也被认为是没有意义的,从而保证了数据交易的安全性和保证数据交易的进行。
其中,智能合约(Smart contract)是一种旨在以信息化方式传播、验证或执行合同的计算机协议。智能合约允许在没有第三方的情况下进行可信交易,这些交易可追踪且不可逆转。
S4:若第一哈希承诺与第二哈希承诺一致,获取样本数据以及样本数据对应的样本密钥,并基于所有者私钥与购买者公钥,生成重加密密钥,且基于重加密密钥将样本密钥进行重加密,得到重加密样本解密密钥,且将重加密样本解密密钥返回数据购买者,以获取数据购买者所反馈的样本数据可用性结果。
请参阅图5,图5示出了步骤S4的一种具体实施方式,详叙如下:
S41:若第一哈希承诺与第二哈希承诺一致时,通过智能合约的预设方式确认第一哈希承诺。
S42:获取数据购买者与数据所有者所产生的随机数据,并基于随机数据生成样本数据以及样本数据对应的样本密钥。
S43:通过预设的重加密算法,基于所有者私钥与购买者公钥,生成重加密密钥。
S44:基于重加密密钥,对样本密钥重加密,得到重加密样本解密密钥。
S45:将重加密样本解密密钥发送到数据购买者,以获取数据购买者所反馈的样本数据可用性结果。
具体的,若第一哈希承诺与第二哈希承诺一致时,通过智能合约的预设方式确认第一哈希承诺,此处采用使用智能合约的VerifyHashC方法来确认。之后需要验证交易数据的可用性,本申请实施例,获取部分随机数据进行先行验证数据的可用性,来验证交易数据的可用性。
具体的,获取数据购买者与数据所有者所产生的随机数据(randoms,randomb),randoms由数据所有者提供,randomb由数据购买者提供,然后采用SampleGen(randoms,randomb)算法联合生成s个伪随机下标{r1,r2,...,rs},再将基于随机数据,生成样本数据以及样本数据对应的样本密钥
Figure BDA0003712906410000101
然后在数据所有者一端,采用预设的重加密算法生成重加密密钥rks→b,该算法将所有者私钥sks和数据购买者发布在区块链上的购买者公钥pkb作为输入,从而生成的重加密密钥rks→b。然后采用
Figure BDA0003712906410000102
算法,对样本密钥重加密,得到重加密样本解密密钥,其算法输入为重加密密钥rks→b和样本加密密钥
Figure BDA0003712906410000103
输出重加密样本解密密
Figure BDA0003712906410000104
然后将重加密样本解密密钥
Figure BDA0003712906410000105
反馈到数据购买者一端,以使得数据购买者通过重加密样本解密密钥对样本数据进行解密,再将重加密样本解密密钥发送到数据购买者,以获取数据购买者所反馈的样本数据可用性结果。
其中,预设的重加密算法为ReKeyGen(sks,pkb)算法,该算法是代理重加密方案中的一个基本算法,该算法通过委托人执行的重加密密钥生成算法,其算法输入委托人的私钥ski和被委托人的公钥pkj,生成重加密密钥rki→j,处理完成后,委托人将重加密密钥发送给第三方代理。
Figure BDA0003712906410000111
算法是代理重加密方案中的一个基本算法,其是由第三方代理执行的重加密算法,其处理完成后,代理将重加密密文发送给被委托人。
请参阅图6,图6示出了步骤S45的一种具体实施方式,详叙如下:
S451:将重加密样本解密密钥返回数据购买者,以使得数据购买者通过重加密样本解密密钥对样本数据进行解密,进而使得数据购买者对样本数据进行验证。
S452:获取数据购买者所反馈的样本数据可用性结果,其中,样本数据可用性结果包括样本数据可用和样本数据不可用。
具体的,将重加密样本解密密钥返回数据购买者,以使得数据购买者通过重加密样本解密密钥对样本数据进行解密。在数据购买者获取到重加密样本解密密钥后,采用
Figure BDA0003712906410000112
算法(对称加密算法SEncrypt对应的解密算法)进行解密,若能得到样本数据
Figure BDA0003712906410000113
则证明样本解密密钥Ksample的可用性,其输入样本解密密钥Ksample和样本加密数据Csample。在数据购买者获取到样本数据时,此时的样本数据时经过加密的,所以需要数据购买者通过重加密样本解密密钥对样本数据进行解密,得到样本数据;样本数据由不同样本数据块所组成的,所以数据购买者对每块样本数据块进行使用,能够得到每块样本数据块是否可用。若存在任何一块样本数据块不能够使用,则得到样本数据不可用的结果;若所有样本数据块均能使用,则得到样本数据可用的结果。最后数据购买者将得到的样本可用性结果返回服务器,以使得服务器获取到数据购买者所反馈的样本数据可用性结果。同时,若样本数据可用,则获取数据购买者对交易数据进行预付款,并执行步骤S5;若可用性样本数据不可用,则终止数据交易。
S5:若样本数据可用性结果为样本数据可用,获取数据所有者发布的重加密密钥,并判断重加密密钥是否可用。
具体的,重加密密钥rks→b的可用性关系到后续数据购买者是否能够对加密数据块解密,所以需要对重加密密钥rks→b进行可用性判断。本申请实施例中,通过触发区块链上仲裁方法验证重加密密钥rks→b的正确性,该方法可以在预设时间内由数据购买者触发。该方法计算方程ReEncrypt(rks→b,eksample)==reksample是否成立,若成立,则重加密密钥rks→b是正确的,也即可用的;若不成立,则则重加密密钥rks→b是错误的,也即不可用的,此时,数据购买者可用要求数据所有者返回预付款。
S6:若重加密密钥可用,将交易数据价格对应的数据奖励发送到数据所有者,以及基于重加密密钥,对加密数据块进行解密,以使得数据购买者得到交易数据。
请参阅图7,图7示出了步骤S6的一种具体实施方式,详叙如下:
S61:若重加密密钥可用,将交易数据价格对应的数据奖励发送到数据所有者。
S62:通过预设的重加密算法,将加密解密密钥转化成重加密解密密钥。
S63:对重加密解密密钥进行解密,得到解密密钥,并通过解密密钥对加密数据块进行解密,以使得数据购买者得到交易数据。
具体的,若重加密密钥rks→b可用时,说明此次交易正常进行,数据购买者可以获取到对应交易数据,而数据所有者可以获取到交易数据价格对应的数据奖励。并且通过预设的重加密算法,将加密解密密钥Ek={ek1,ek2,...,ekn}转换为重加密解密密钥REK={rek1,rek2,...,rekn};再使用Decrypt(skb,reki)算法对重加密解密密钥REK={rek1,rek2,...,rekn}进行解密,得到解密密钥K,然后使用解密密钥K对加密数据块C进行解密,得到以使得数据购买者得到交易数据。其中,预设重加密算法是ReEncrypt(rki→j,eki)算法。ReEncrypt(rki→j,eki)算法和Decrypt(skb,reki)算法是代理重加密方案中的基本算法。
本实施例中,获取系统参数,并基于系统参数,生成数据购买者的初始参数以及数据所有者的初始参数,其中,数据购买者的初始参数包括购买者公钥和购买者私钥,数据所有者的初始参数包括所有者公钥、所有者私钥以及n个密钥,n为正整数;获取交易数据和解密密钥,基于数据所有者的初始参数,分别对交易数据和解密密钥进行加密,得到n个加密数据块和n个加密解密密钥,且获取数据所有者对加密数据块的第一哈希承诺以及交易数据价格,并将第一哈希承诺以及交易数据价格储存于区块链中;若接收到数据请求事件发生时,获取数据购买者对加密数据块的第二哈希承诺,并判断第一哈希承诺与第二哈希承诺是否一致;若第一哈希承诺与第二哈希承诺一致,获取样本数据以及样本数据对应的样本密钥,并基于所有者私钥与购买者公钥,生成重加密密钥,且基于重加密密钥将样本密钥进行重加密,得到重加密样本解密密钥,且将重加密样本解密密钥返回数据购买者,以获取数据购买者所反馈的样本数据可用性结果;若样本数据可用时,获取数据所有者发布的重加密密钥,并判断重加密密钥是否可用;若重加密密钥可用时,将交易数据价格对应的数据奖励发送到数据所有者,以及基于重加密密钥,对加密数据块进行解密,以使得数据购买者得到交易数据。本发明实施例通过基于数据所有者的初始参数,分别对交易数据和解密密钥进行加密,并且本发明实施例还对样本数据进行重加密,使得数据所有者针对不同的数据购买者产生不同的重加密密钥,从而提供一对多的数据交易服务,由于对于交易数据的加密操作无需重复进行,而重加密的过程中保证了交易数据的机密性,从而提高了数据交易的安全性。
请参考图8,作为对上述图1所示方法的实现,本申请提供了一种基于区块链的可验证数据交易装置的一个实施例,该装置实施例与图1所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。
如图8所示,本实施例的基于区块链的可验证数据交易装置包括:初始参数生成模块71、交易数据加密模块72、哈希承诺对比模块73、样本数据判断模块74、重加密密钥判断模块75及交易数据完成模块76,其中:
初始参数生成模块71,用于获取系统参数,并基于系统参数,生成数据购买者的初始参数以及数据所有者的初始参数,其中,数据购买者的初始参数包括购买者公钥和购买者私钥,数据所有者的初始参数包括所有者公钥、所有者私钥以及n个密钥,n为正整数;
交易数据加密模块72,用于获取交易数据和解密密钥,基于数据所有者的初始参数,分别对交易数据和解密密钥进行加密,得到n个加密数据块和n个加密解密密钥,且获取数据所有者对加密数据块的第一哈希承诺以及交易数据价格,并将第一哈希承诺以及交易数据价格储存于区块链中;
哈希承诺对比模块73,用于响应于数据请求事件的触发指令,获取数据购买者对加密数据块的第二哈希承诺,并判断第一哈希承诺与第二哈希承诺是否一致;
样本数据判断模块74,用于若第一哈希承诺与第二哈希承诺一致,获取样本数据以及样本数据对应的样本密钥,并基于所有者私钥与购买者公钥,生成重加密密钥,且基于重加密密钥将样本密钥进行重加密,得到重加密样本解密密钥,且将重加密样本解密密钥返回数据购买者,以获取数据购买者所反馈的样本数据可用性结果;
重加密密钥判断模块75,用于若样本数据可用性结果为样本数据可用,获取数据所有者发布的重加密密钥,并判断重加密密钥是否可用;
交易数据完成模块76,用于若重加密密钥可用,将交易数据价格对应的数据奖励发送到数据所有者,以及基于重加密密钥,对加密数据块进行解密,以使得数据购买者得到交易数据。
进一步的,交易数据加密模块72包括:
交易数据获取单元,用于获取交易数据和解密密钥;
加密数据块生成单元,用于将交易数据重组为n个数据块,并基于n个密钥,依次将n个数据块进行加密,得到n个加密数据块;
解密密钥加密单元,用于基于所有者公钥,将解密密钥进行加密,得到n个加密解密密钥;
哈希承诺获取单元,用于获取数据所有者对加密数据块的第一哈希承诺以及交易数据价格,并将第一哈希承诺以及交易数据价格储存于区块链中。
进一步的,哈希承诺获取单元包括:
哈希值计算子单元,用于通过Merkle哈希树算法对n个加密数据块进行计算,得到树根的哈希值,并将树根的哈希值作为数据所有者对应的第一哈希承诺;
哈希承诺存储子单元,用于获取交易数据价格,并将第一哈希承诺和交易数据价格存储于区块链中。
进一步的,哈希承诺对比模块73包括:
数据请求事件触发单元,用于通过智能合约的预设方式请求数据,当请求数据被接收后,触发数据请求事件;
第二哈希值获取单元,用于将加密数据块与加密解密密钥返回数据购买者,以获取数据购买者对加密数据块的第二哈希承诺;
哈希值判断单元,用于在区块链中,判断第一哈希承诺与第二哈希承诺是否一致。
进一步的,样本数据判断模块74包括:
第一哈希承诺确认单元,用于若第一哈希承诺与第二哈希承诺一致时,通过智能合约的预设方式确认第一哈希承诺;
随机数据获取单元,用于获取数据购买者与数据所有者所产生的随机数据,并基于随机数据生成样本数据以及样本数据对应的样本密钥;
重加密密钥生成单元,用于通过预设的重加密算法,基于所有者私钥与购买者公钥,生成重加密密钥;
样本密钥重加密单元,用于基于重加密密钥,对样本密钥重加密,得到重加密样本解密密钥;
样本数据可用性判断单元,用于将重加密样本解密密钥发送到数据购买者,以获取数据购买者所反馈的样本数据可用性结果。
进一步的,样本数据可用性判断单元包括:
样本数据解密单元,用于将重加密样本解密密钥返回数据购买者,以使得数据购买者通过重加密样本解密密钥对样本数据进行解密,进而使得数据购买者对样本数据进行验证;
样本数据可用性结果获取单元,用于获取数据购买者所反馈的样本数据可用性结果,其中,样本数据可用性结果包括样本数据可用和样本数据不可用。
进一步的,交易数据完成模块76包括:
数据奖励发送单元,用于若重加密密钥可用,将交易数据价格对应的数据奖励发送到数据所有者;
重加密密钥转化单元,用于通过预设的重加密算法,将加密解密密钥转化成重加密解密密钥;
加密数据块解密单元,用于对重加密解密密钥进行解密,得到解密密钥,并通过解密密钥对加密数据块进行解密,以使得数据购买者得到交易数据。
为解决上述技术问题,本申请实施例还提供计算机设备。具体请参阅图9,图9为本实施例计算机设备基本结构框图。
计算机设备8包括通过系统总线相互通信连接存储器81、处理器82、网络接口83。需要指出的是,图中仅示出了具有三种组件存储器81、处理器82、网络接口83的计算机设备8,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。其中,本技术领域技术人员可以理解,这里的计算机设备是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程门阵列(Field-Programmable Gate Array,FPGA)、数字处理器(Digital Signal Processor,DSP)、嵌入式设备等。
计算机设备可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。计算机设备可以与用户通过键盘、鼠标、遥控器、触摸板或声控设备等方式进行人机交互。
存储器81至少包括一种类型的可读存储介质,可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,存储器81可以是计算机设备8的内部存储单元,例如该计算机设备8的硬盘或内存。在另一些实施例中,存储器81也可以是计算机设备8的外部存储设备,例如该计算机设备8上配备的插接式硬盘,智能存储卡(SmartMedia Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。当然,存储器81还可以既包括计算机设备8的内部存储单元也包括其外部存储设备。本实施例中,存储器81通常用于存储安装于计算机设备8的操作系统和各类应用软件,例如基于区块链的可验证数据交易方法的程序代码等。此外,存储器81还可以用于暂时地存储已经输出或者将要输出的各类数据。
处理器82在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器82通常用于控制计算机设备8的总体操作。本实施例中,处理器82用于运行存储器81中存储的程序代码或者处理数据,例如运行上述基于区块链的可验证数据交易方法的程序代码,以实现基于区块链的可验证数据交易方法的各种实施例。
网络接口83可包括无线网络接口或有线网络接口,该网络接口83通常用于在计算机设备8与其他电子设备之间建立通信连接。
本申请还提供了另一种实施方式,即提供一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序可被至少一个处理器执行,以使至少一个处理器执行如上述的一种基于区块链的可验证数据交易方法的步骤。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本申请各个实施例的方法。
显然,以上所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例,附图中给出了本申请的较佳实施例,但并不限制本申请的专利范围。本申请可以以许多不同的形式来实现,相反地,提供这些实施例的目的是使对本申请的公开内容的理解更加透彻全面。尽管参照前述实施例对本申请进行了详细的说明,对于本领域的技术人员来而言,其依然可以对前述各具体实施方式所记载的技术方案进行修改,或者对其中部分技术特征进行等效替换。凡是利用本申请说明书及附图内容所做的等效结构,直接或间接运用在其他相关的技术领域,均同理在本申请专利保护范围之内。

Claims (10)

1.一种基于区块链的可验证数据交易方法,其特征在于,包括:
获取系统参数,并基于所述系统参数,生成数据购买者的初始参数以及数据所有者的初始参数,其中,所述数据购买者的初始参数包括购买者公钥和购买者私钥,所述数据所有者的初始参数包括所有者公钥、所有者私钥以及n个密钥,n为正整数;
获取交易数据和解密密钥,基于所述数据所有者的初始参数,分别对所述交易数据和所述解密密钥进行加密,得到n个加密数据块和n个加密解密密钥,且获取数据所有者对所述加密数据块的第一哈希承诺以及交易数据价格,并将所述第一哈希承诺以及所述交易数据价格储存于区块链中;
响应于数据请求事件的触发指令,获取所述数据购买者对所述加密数据块的第二哈希承诺,并判断所述第一哈希承诺与所述第二哈希承诺是否一致;
若所述第一哈希承诺与所述第二哈希承诺一致,获取样本数据以及所述样本数据对应的样本密钥,并基于所述所有者私钥与所述购买者公钥,生成重加密密钥,且基于所述重加密密钥将所述样本密钥进行重加密,得到重加密样本解密密钥,且将所述重加密样本解密密钥返回所述数据购买者,以获取所述数据购买者所反馈的样本数据可用性结果;
若所述样本数据可用性结果为所述样本数据可用,获取所述数据所有者发布的重加密密钥,并判断所述重加密密钥是否可用;
若所述重加密密钥可用,将所述交易数据价格对应的数据奖励发送到所述数据所有者,以及基于所述重加密密钥,对所述加密数据块进行解密,以使得所述数据购买者得到所述交易数据。
2.根据权利要求1所述的基于区块链的可验证数据交易方法,其特征在于,所述获取交易数据和解密密钥,基于所述数据所有者的初始参数,分别对所述交易数据和所述解密密钥进行加密,得到n个加密数据块和n个加密解密密钥,且获取数据所有者对所述加密数据块的第一哈希承诺以及交易数据价格,并将所述第一哈希承诺以及所述交易数据价格储存于区块链中,包括:
获取所述交易数据和所述解密密钥;
将所述交易数据重组为n个数据块,并基于n个所述密钥,依次将n个所述数据块进行加密,得到n个所述加密数据块;
基于所述所有者公钥,将所述解密密钥进行加密,得到n个所述加密解密密钥;
获取所述数据所有者对所述加密数据块的第一哈希承诺以及交易数据价格,并将所述第一哈希承诺以及所述交易数据价格储存于区块链中。
3.根据权利要求2所述的基于区块链的可验证数据交易方法,其特征在于,所述获取所述数据所有者对所述加密数据块的第一哈希承诺以及交易数据价格,并将所述第一哈希承诺以及所述交易数据价格储存于区块链中,包括:
通过Merkle哈希树算法对n个所述加密数据块进行计算,得到树根的哈希值,并将所述树根的哈希值作为所述数据所有者对应的第一哈希承诺;
获取所述交易数据价格,并将所述第一哈希承诺和所述交易数据价格存储于所述区块链中。
4.根据权利要求1所述的基于区块链的可验证数据交易方法,其特征在于,所述响应于数据请求事件的触发指令,获取所述数据购买者对所述加密数据块的第二哈希承诺,并判断所述第一哈希承诺与所述第二哈希承诺是否一致,包括:
通过智能合约的预设方式请求数据,当所述请求数据被接收后,触发所述数据请求事件;
将所述加密数据块与所述加密解密密钥返回所述数据购买者,以获取所述数据购买者对所述加密数据块的第二哈希承诺;
在所述区块链中,判断所述第一哈希承诺与所述第二哈希承诺是否一致。
5.根据权利要求1所述的基于区块链的可验证数据交易方法,其特征在于,所述若所述第一哈希承诺与所述第二哈希承诺一致,获取样本数据以及所述样本数据对应的样本密钥,并基于所述所有者私钥与所述购买者公钥,生成重加密密钥,且基于所述重加密密钥将所述样本密钥进行重加密,得到重加密样本解密密钥,且将所述重加密样本解密密钥返回所述数据购买者,以获取所述数据购买者所反馈的样本数据可用性结果,包括:
若所述第一哈希承诺与所述第二哈希承诺一致,通过智能合约的预设方式确认所述第一哈希承诺;
获取所述数据购买者与所述数据所有者所产生的随机数据,并基于所述随机数据生成所述样本数据以及所述样本数据对应的样本密钥;
通过预设的重加密算法,基于所述所有者私钥与所述购买者公钥,生成所述重加密密钥;
基于所述重加密密钥,对所述样本密钥重加密,得到所述重加密样本解密密钥;
将所述重加密样本解密密钥发送到所述数据购买者,以获取所述数据购买者所反馈的样本数据可用性结果。
6.根据权利要求5所述的基于区块链的可验证数据交易方法,其特征在于,所述将所述重加密样本解密密钥返回所述数据购买者,以获取所述数据购买者所反馈的样本数据可用性结果,包括:
将所述重加密样本解密密钥返回所述数据购买者,以使得所述数据购买者通过所述重加密样本解密密钥对所述样本数据进行解密,进而使得所述数据购买者对所述样本数据进行验证;
获取所述数据购买者所反馈的样本数据可用性结果,其中,所述样本数据可用性结果包括所述样本数据可用和所述样本数据不可用。
7.根据权利要求1至6任一项所述的基于区块链的可验证数据交易方法,其特征在于,所述若所述重加密密钥可用,将所述交易数据价格对应的数据奖励发送到所述数据所有者,以及基于所述重加密密钥,对所述加密数据块进行解密,以使得所述数据购买者得到所述交易数据,包括:
若所述重加密密钥可用,将所述交易数据价格对应的数据奖励发送到所述数据所有者;
通过预设的重加密算法,将所述加密解密密钥转化成所述重加密解密密钥;
对所述重加密解密密钥进行解密,得到所述解密密钥,并通过所述解密密钥对所述加密数据块进行解密,以使得所述数据购买者得到所述交易数据。
8.一种基于区块链的可验证数据交易装置,其特征在于,包括:
初始参数生成模块,用于获取系统参数,并基于所述系统参数,生成数据购买者的初始参数以及数据所有者的初始参数,其中,所述数据购买者的初始参数包括购买者公钥和购买者私钥,所述数据所有者的初始参数包括所有者公钥、所有者私钥以及n个密钥,n为正整数;
交易数据加密模块,用于获取交易数据和解密密钥,基于所述数据所有者的初始参数,分别对所述交易数据和所述解密密钥进行加密,得到n个加密数据块和n个加密解密密钥,且获取数据所有者对所述加密数据块的第一哈希承诺以及交易数据价格,并将所述第一哈希承诺以及所述交易数据价格储存于区块链中;
哈希承诺对比模块,用于响应于数据请求事件的触发指令,获取所述数据购买者对所述加密数据块的第二哈希承诺,并判断所述第一哈希承诺与所述第二哈希承诺是否一致;
样本数据判断模块,用于若所述第一哈希承诺与所述第二哈希承诺一致,获取样本数据以及所述样本数据对应的样本密钥,并基于所述所有者私钥与所述购买者公钥,生成重加密密钥,且基于所述重加密密钥将所述样本密钥进行重加密,得到重加密样本解密密钥,且将所述重加密样本解密密钥返回所述数据购买者,以获取所述数据购买者所反馈的样本数据可用性结果;
重加密密钥判断模块,用于若所述样本数据可用性结果为所述样本数据可用,获取所述数据所有者发布的重加密密钥,并判断所述重加密密钥是否可用;
交易数据完成模块,用于若所述重加密密钥可用,将所述交易数据价格对应的数据奖励发送到所述数据所有者,以及基于所述重加密密钥,对所述加密数据块进行解密,以使得所述数据购买者得到所述交易数据。
9.一种计算机设备,其特征在于,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器执行所述计算机程序时实现如权利要求1至7中任一项所述的基于区块链的可验证数据交易方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述的基于区块链的可验证数据交易方法。
CN202210730111.2A 2022-06-24 2022-06-24 基于区块链的可验证数据交易方法、装置、设备及介质 Active CN115114658B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210730111.2A CN115114658B (zh) 2022-06-24 2022-06-24 基于区块链的可验证数据交易方法、装置、设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210730111.2A CN115114658B (zh) 2022-06-24 2022-06-24 基于区块链的可验证数据交易方法、装置、设备及介质

Publications (2)

Publication Number Publication Date
CN115114658A true CN115114658A (zh) 2022-09-27
CN115114658B CN115114658B (zh) 2024-04-05

Family

ID=83330912

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210730111.2A Active CN115114658B (zh) 2022-06-24 2022-06-24 基于区块链的可验证数据交易方法、装置、设备及介质

Country Status (1)

Country Link
CN (1) CN115114658B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115664769A (zh) * 2022-10-20 2023-01-31 牛津(海南)区块链研究院有限公司 一种基于区块链承诺的数据传输方法、系统、设备及介质
CN115865533A (zh) * 2023-02-27 2023-03-28 蓝象智联(杭州)科技有限公司 高并发场景下代理重加密管理方法、装置及存储介质
CN116071071A (zh) * 2023-03-22 2023-05-05 天聚地合(苏州)科技股份有限公司 基于区块链的数据要素交易方法、系统、存储介质及设备
CN116561739A (zh) * 2023-04-06 2023-08-08 北京熠智科技有限公司 数据交易方法以及装置、电子设备、存储介质
CN115664769B (zh) * 2022-10-20 2024-05-31 牛津(海南)区块链研究院有限公司 一种基于区块链承诺的数据传输方法、系统、设备及介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110458554A (zh) * 2019-03-31 2019-11-15 西安电子科技大学 区块链上基于身份的数据快速交易方法
WO2020259635A1 (zh) * 2019-06-27 2020-12-30 深圳前海微众银行股份有限公司 一种区块链数据共享方法及装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110458554A (zh) * 2019-03-31 2019-11-15 西安电子科技大学 区块链上基于身份的数据快速交易方法
WO2020259635A1 (zh) * 2019-06-27 2020-12-30 深圳前海微众银行股份有限公司 一种区块链数据共享方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
石润华;石泽;: "基于区块链技术的物联网密钥管理方案", 信息网络安全, no. 08, 10 August 2020 (2020-08-10) *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115664769A (zh) * 2022-10-20 2023-01-31 牛津(海南)区块链研究院有限公司 一种基于区块链承诺的数据传输方法、系统、设备及介质
CN115664769B (zh) * 2022-10-20 2024-05-31 牛津(海南)区块链研究院有限公司 一种基于区块链承诺的数据传输方法、系统、设备及介质
CN115865533A (zh) * 2023-02-27 2023-03-28 蓝象智联(杭州)科技有限公司 高并发场景下代理重加密管理方法、装置及存储介质
CN116071071A (zh) * 2023-03-22 2023-05-05 天聚地合(苏州)科技股份有限公司 基于区块链的数据要素交易方法、系统、存储介质及设备
CN116071071B (zh) * 2023-03-22 2023-08-08 天聚地合(苏州)科技股份有限公司 基于区块链的数据要素交易方法、系统、存储介质及设备
CN116561739A (zh) * 2023-04-06 2023-08-08 北京熠智科技有限公司 数据交易方法以及装置、电子设备、存储介质
CN116561739B (zh) * 2023-04-06 2024-04-16 北京熠智科技有限公司 数据交易方法以及装置、电子设备、存储介质

Also Published As

Publication number Publication date
CN115114658B (zh) 2024-04-05

Similar Documents

Publication Publication Date Title
CN115114658B (zh) 基于区块链的可验证数据交易方法、装置、设备及介质
US8843415B2 (en) Secure software service systems and methods
US20210049600A1 (en) Digital Asset Delivery Network
CN101883100B (zh) 一种数字内容分布式授权方法
US20100153273A1 (en) Systems for performing transactions at a point-of-sale terminal using mutating identifiers
US20040165728A1 (en) Limiting service provision to group members
US20070039046A1 (en) Proof of execution using random function
EP0739560A1 (en) Cryptographic system and method with key escrow feature
JP2013512503A (ja) 安全なモバイル決済処理
CN111769938B (zh) 一种区块链传感器的密钥管理系统、数据验证系统
CN111294203B (zh) 信息传输方法
CN108764912B (zh) 一种基于短信验证码的支付方法及装置
CN112532580B (zh) 一种基于区块链及代理重加密的数据传输方法及系统
CN110390212B (zh) 基于区块链的供货监控方法、节点装置
CN111027981B (zh) 多方联合训练针对IoT机具的风险评估模型的方法及装置
US20220014354A1 (en) Systems, methods and devices for provision of a secret
CN112581127A (zh) 商品交易方法和装置、计算机设备、存储介质及系统
CN111970109A (zh) 一种数据传输方法及系统
CN115242553A (zh) 一种支持安全多方计算的数据交换方法及系统
KR102056612B1 (ko) 임시 익명 인증서 생성 방법
CN113222603A (zh) 一种国际贸易信用结算认证方法及系统
JP5057270B2 (ja) 情報検証方法、情報検証装置および情報検証システム
JP3176610B2 (ja) パスワード管理方式
CN110601841B (zh) Sm2协同签名及解密方法、装置
CN107909476B (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