掌桥专利:专业的专利平台
掌桥专利
首页

基于区块链的数据定时传输方法

文献发布时间:2023-06-19 15:35:18



技术领域

本发明涉及通信技术领域,特别涉及一种基于区块链的数据定时传输方法。

背景技术

数据的定时传输服务能够使得隐私数据在发送者预设的某个未来的时间范围内到达数据接收者,现有方案依赖于时间锁难题或一个可信第三方(TTP)来实现数据的定时传输。

时间锁难题要求接收者耗费巨大算力解决一个难题(例如,重复计算模两个素数的乘积的平方),其中难题的难度决定了接收者必须耗费的时间的下限,在难题被解决后,接收者才能够获取数据明文。在这种方式下,数据的到达时间取决于接收者解决难题时使用的CPU的计算能力以及接收者开始计算的时间,这使得发送者无法控制数据到达的精确时间。

在依赖于TTP的方案中,接收方加密待传输数据后,将解密密钥托付给TTP,TTP在发送者指定的时间范围内将数据的解密密钥传输给接收方,接收方收到解密密钥后,即可获取数据明文。这能够使得数据在一个精确且绝对的时间到达接收方,但这类方案中存在着单点失效点:一旦TTP存在着恶意行为,那么整个方案的安全性和功能性都无法得到保障。

发明内容

本发明的目的在于克服现有技术的一项或多项不足,提供一种基于区块链的数据定时传输方法。

本发明的目的是通过以下技术方案来实现的:基于区块链的数据定时传输方法,包括:

设置公共参数、发送方的公私钥对、传输服务器的公私钥对和接收方的公私钥对;

发送方在区块链上部署一个智能合约;

发送方将待传输数据的加密密钥分割成若干个子秘密;

发送方对待传输的数据进行加密得到数据密文;

发送方将传输任务信息上传智能合约,所述传输任务信息包括数据密文和传输时间段;

发送方选择若干个传输服务器,传输服务器在所述智能合约中进行注册;

发送方对子秘密进行加密;

发送方将加密后的子秘密发送给对应的传输服务器,所有传输服务器与所有子秘密一一对应;

传输服务器在传输时间段公开自己持有的子秘密;

智能合约验证传输服务器公开的子秘密的有效性;

当公开的有效子秘密的数量达到预设的门限值时,接收方从所述数据密文中恢复出数据明文。

优选的,发送方将待传输数据的加密密钥分割成若干个子秘密,包括:

发送方利用门限秘密共享机制将待传输数据的加密密钥分割为若干个子秘密。

优选的,发送方对待传输的数据进行加密得到数据密文,包括:

发送方利用待传输数据的加密密钥对待传输数据进行第一次加密;

发送方利用接收方的公钥对第一次加密后的待传输数据进行加密得到数据密文。

优选的,发送方选择若干个传输服务器,传输服务器在所述智能合约中进行注册,包括:

发送方选择若干个传输服务器;

发送方向所述传输服务器发送智能合约的地址;

传输服务器根据所述智能合约的地址向智能合约进行注册。

优选的,发送方选择若干个传输服务器,传输服务器在所述智能合约中进行注册,还包括:

智能合约在传输服务器向注册成功的服务器返回一个序号。

优选的,智能合约验证传输服务器公开的子秘密的有效性,包括:

智能合约计算传输服务器公开的子秘密的哈希值;

智能合约将传输服务器公开的子秘密的哈希值与发送方上传的子秘密的哈希值进行匹配,若匹配成功,则认为传输服务器公开的子秘密有效;

其中,所述传输任务信息还包括子秘密的哈希值。

优选的,接收方从所述数据密文中恢复出数据明文,包括:

接收方从区块链上获取数据密文;

接收方根据所述子秘密恢复出解密密钥;

接收方使用所述解密密钥和自己的私钥从密文数据中恢复出数据明文。

优选的,发送方将传输任务信息上传智能合约时向智能合约支付传输费用,所述智能合约在传输服务器公开的子秘密有效时向传输服务器支付工资。

优选的,传输服务器在向智能合约进行注册时向智能合约支付任务押金,智能合约在传输服务器公开的子秘密有效时向传输服务器返还任务押金。

优选的,所述数据定时传输方法还包括:

传输服务器将在传输时间段之前被泄露的子秘密上传智能合约;

智能合约计算被泄露的子秘密的哈希值;

智能合约将被泄露的子秘密的哈希值与发送方上传的子秘密的哈希值进行匹配,若匹配成功,则将泄露子秘密的传输服务器的任务押金支付给发送方和进行检举的传输服务器。

本发明的有益效果是:本发明提出了一种支持检举的定时传输方法,能够使数据发送方能够在预设的时间范围内使一条隐私数据到达接收方,且发送方无需保持在线。

附图说明

图1为本发明中数据定时传输方法的一个实施例的流程图。

具体实施方式

下面将结合实施例,对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有付出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。

参阅图1,本实施例提供了一种基于区块链的数据定时传输方法:

S01.设置公共参数、发送方的公私钥对、传输服务器的公私钥对和接收方的公私钥对。

在一个实施例中,所述S01包括:

S011.根据安全参数l,确定公共参数集PP={p,P,G,H,E(·),D(·),Enc(·),Dec(·),Sig(·),n,t},其中,p是素数,G是阶为p的循环群,P是循环群G的生成元,H是哈希函数H:{0,1}

S012.发送方

S013.接收方

S014.每一个传输服务器

S02.发送方在区块链上部署一个智能合约。

在一个实施例中,所述智能合约SC如表1所示,所述智能合约SC在区块链上的地址为Add。

表1

算法1 SC

S03.发送方将待传输数据的加密密钥分割成若干个子秘密。

在一个实施例中,发送方利用门限秘密共享机制将待传输数据的加密密钥分割为若干个子秘密。

在一个实施例中,所述S03包括:发送方

S04.发送方对待传输的数据进行加密得到数据密文。

在一个实施例中,发送方对待传输的数据进行加密得到数据密文,包括:发送方利用待传输数据的加密密钥对待传输数据进行第一次加密;发送方利用接收方的公钥对第一次加密后的待传输数据进行加密得到数据密文。

在一个实施例中,所述S04包括:发送方

S05.发送方将传输任务信息上传智能合约,所述传输任务信息包括数据密文和传输时间段。

在一个实施例,所述S05包括:发送方

S06.发送方选择若干个传输服务器,传输服务器在所述智能合约中进行注册。

在一个实施例中,发送方选择若干个传输服务器,传输服务器在所述智能合约中进行注册,包括:发送方选择若干个传输服务器;发送方向所述传输服务器发送智能合约的地址;传输服务器根据所述智能合约的地址向智能合约进行注册。

在一个实施例中,智能合约在传输服务器向注册成功的服务器返回一个序号。

在一个实施例中,所述S06包括:

S061.发送方

S062.发送方

S063.传输服务器

S064.注册成功后,传输服务器

每个传输服务器获得的序号表示该传输服务器持有的子秘密的序号,子秘密的序号表示这个子秘密在发送方上传至智能合约的列表α(所有子秘密的哈希值列表)中对应的元素序号,传输服务器、传输服务器的序号以及传输服务器持有的子秘密的关系参见表2。若有f个传输服务器注册失败,则发送方重新选择f个传输服务器,并向重新选择的传输服务器发送智能合约的地址。

S07.发送方对子秘密进行加密。

在一个实施例中,所述S07包括:在n个传输服务器注册完成后,发送方

表2传输服务器、序号及持有的子秘密对应关系

S08.发送方将加密后的子秘密发送给对应的传输服务器,所有传输服务器与所有子秘密一一对应。所有传输服务器与所有子秘密一一对应具体指:发送方将每个子秘密发送给一个传输服务器,每个传输服务器只能存储一个子秘密。

在一个实施例中,所述S08包括:发送方

S09.传输服务器在传输时间段公开自己持有的子秘密。

在一个实施例中,所述S09包括:每一个传输服务器

S10.智能合约验证传输服务器公开的子秘密的有效性。

在一个实施例中,智能合约验证传输服务器公开的子秘密的有效性,包括:智能合约计算传输服务器公开的子秘密的哈希值;智能合约将传输服务器公开的子秘密的哈希值与发送方上传的子秘密的哈希值进行匹配,若匹配成功,则认为传输服务器公开的子秘密有效;其中,所述传输任务信息还包括子秘密的哈希值。具体的,若发送方上传的所有子秘密的哈希值中存在与传输服务器公开的子秘密的哈希值相同的哈希值,则认为匹配成功。

在一个实施例中,发送方将传输任务信息上传智能合约时向智能合约支付传输费用,所述智能合约在传输服务器公开的子秘密有效时向传输服务器支付工资。

在一个实施例中,传输服务器在向智能合约进行注册时向智能合约支付任务押金,智能合约在传输服务器公开的子秘密有效时向传输服务器返还任务押金。

在一个实施例中,所述S10包括:智能合约验证进行如下验证:(a)

S11.当公开的有效子秘密的数量达到预设的门限值时,接收方从所述数据密文中恢复出数据明文。

在一个实施例中,接收方从所述数据密文中恢复出数据明文,包括:接收方从区块链上获取数据密文;接收方根据所述子秘密恢复出解密密钥;接收方使用所述解密密钥和自己的私钥从密文数据中恢复出数据明文。

在一个实施例中,所述S11包括:

S111.当t个有效的子秘密

式中,v

S112.接收方

在一个实施例中,所述数据定时传输方法还包括检举步骤,所述检举步骤包括:传输服务器将在传输时间段之前被泄露的子秘密上传智能合约;智能合约计算被泄露的子秘密的哈希值;智能合约将被泄露的子秘密的哈希值与发送方上传的子秘密的哈希值进行匹配,若匹配成功,则将泄露子秘密的传输服务器的任务押金支付给发送方和进行检举的传输服务器。具体的,若发送方上传的所有子秘密的哈希值中存在与被泄露的子秘密的哈希值相同的哈希值,则认为匹配成功。

在一个实施例中,所述检举步骤包括:传输服务器

智能合约计算子秘密ss′的哈希值H(ss′),并将H(ss′)与发送方

以上所述仅是本发明的优选实施方式,应当理解本发明并非局限于本文所披露的形式,不应看作是对其他实施例的排除,而可用于各种其他组合、修改和环境,并能够在本文所述构想范围内,通过上述教导或相关领域的技术或知识进行改动。而本领域人员所进行的改动和变化不脱离本发明的精神和范围,则都应在本发明所附权利要求的保护范围内。

技术分类

06120114500669