基于区块链的数据定时传输方法转让专利

申请号 : CN202210055314.6

文献号 : CN114598494B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 张源李诗雨宋雅晴刘鹏飞

申请人 : 电子科技大学

摘要 :

本发明公开了一种基于区块链的数据定时传输方法,包括:发送方在区块链上部署一个智能合约;发送方将待传输数据的加密密钥分割成若干个子秘密;发送方对待传输的数据进行加密得到数据密文;发送方将传输任务信息上传智能合约;发送方选择若干个传输服务器,传输服务器在所述智能合约中进行注册;发送方对子秘密进行加密;发送方将加密后的子秘密发送给对应的传输服务器;传输服务器在传输时间段公开自己持有的子秘密;智能合约验证传输服务器公开的子秘密的有效性;接收方从所述数据密文中恢复出数据明文。本发明提能够使数据发送方能够在预设的时间范围内使一条隐私数据到达接收方,且发送方无需保持在线。

权利要求 :

1.基于区块链的数据定时传输方法,其特征在于,包括:设置公共参数、发送方的公私钥对、传输服务器的公私钥对和接收方的公私钥对;

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

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

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

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

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

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

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

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

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

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

发送方对待传输的数据进行加密得到数据密文,包括:发送方利用待传输数据的加密密钥对待传输数据进行第一次加密;

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

接收方从所述数据密文中恢复出数据明文,包括:接收方从区块链上获取数据密文;

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

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

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

所述数据定时传输方法还包括:

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

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

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

2.根据权利要求1所述的基于区块链的数据定时传输方法,其特征在于,发送方将待传输数据的加密密钥分割成若干个子秘密,包括:发送方利用门限秘密共享机制将待传输数据的加密密钥分割为若干个子秘密。

3.根据权利要求1所述的基于区块链的数据定时传输方法,其特征在于,发送方选择若干个传输服务器,传输服务器在所述智能合约中进行注册,包括:发送方选择若干个传输服务器;

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

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

4.根据权利要求3所述的基于区块链的数据定时传输方法,其特征在于,发送方选择若干个传输服务器,传输服务器在所述智能合约中进行注册,还包括:智能合约在传输服务器向注册成功的服务器返回一个序号。

5.根据权利要求1所述的基于区块链的数据定时传输方法,其特征在于,智能合约验证传输服务器公开的子秘密的有效性,包括:智能合约计算传输服务器公开的子秘密的哈希值;

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

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

6.根据权利要求1所述的基于区块链的数据定时传输方法,其特征在于,发送方将传输任务信息上传智能合约时向智能合约支付传输费用,所述智能合约在传输服务器公开的子秘密有效时向传输服务器支付工资。

说明书 :

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

技术领域

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

背景技术

[0002] 数据的定时传输服务能够使得隐私数据在发送者预设的某个未来的时间范围内到达数据接收者,现有方案依赖于时间锁难题或一个可信第三方(TTP)来实现数据的定时传输。
[0003] 时间锁难题要求接收者耗费巨大算力解决一个难题(例如,重复计算模两个素数的乘积的平方),其中难题的难度决定了接收者必须耗费的时间的下限,在难题被解决后,接收者才能够获取数据明文。在这种方式下,数据的到达时间取决于接收者解决难题时使用的CPU的计算能力以及接收者开始计算的时间,这使得发送者无法控制数据到达的精确时间。
[0004] 在依赖于TTP的方案中,接收方加密待传输数据后,将解密密钥托付给TTP,TTP在发送者指定的时间范围内将数据的解密密钥传输给接收方,接收方收到解密密钥后,即可获取数据明文。这能够使得数据在一个精确且绝对的时间到达接收方,但这类方案中存在着单点失效点:一旦TTP存在着恶意行为,那么整个方案的安全性和功能性都无法得到保障。

发明内容

[0005] 本发明的目的在于克服现有技术的一项或多项不足,提供一种基于区块链的数据定时传输方法。
[0006] 本发明的目的是通过以下技术方案来实现的:基于区块链的数据定时传输方法,包括:
[0007] 设置公共参数、发送方的公私钥对、传输服务器的公私钥对和接收方的公私钥对;
[0008] 发送方在区块链上部署一个智能合约;
[0009] 发送方将待传输数据的加密密钥分割成若干个子秘密;
[0010] 发送方对待传输的数据进行加密得到数据密文;
[0011] 发送方将传输任务信息上传智能合约,所述传输任务信息包括数据密文和传输时间段;
[0012] 发送方选择若干个传输服务器,传输服务器在所述智能合约中进行注册;
[0013] 发送方对子秘密进行加密;
[0014] 发送方将加密后的子秘密发送给对应的传输服务器,所有传输服务器与所有子秘密一一对应;
[0015] 传输服务器在传输时间段公开自己持有的子秘密;
[0016] 智能合约验证传输服务器公开的子秘密的有效性;
[0017] 当公开的有效子秘密的数量达到预设的门限值时,接收方从所述数据密文中恢复出数据明文。
[0018] 优选的,发送方将待传输数据的加密密钥分割成若干个子秘密,包括:
[0019] 发送方利用门限秘密共享机制将待传输数据的加密密钥分割为若干个子秘密。
[0020] 优选的,发送方对待传输的数据进行加密得到数据密文,包括:
[0021] 发送方利用待传输数据的加密密钥对待传输数据进行第一次加密;
[0022] 发送方利用接收方的公钥对第一次加密后的待传输数据进行加密得到数据密文。
[0023] 优选的,发送方选择若干个传输服务器,传输服务器在所述智能合约中进行注册,包括:
[0024] 发送方选择若干个传输服务器;
[0025] 发送方向所述传输服务器发送智能合约的地址;
[0026] 传输服务器根据所述智能合约的地址向智能合约进行注册。
[0027] 优选的,发送方选择若干个传输服务器,传输服务器在所述智能合约中进行注册,还包括:
[0028] 智能合约在传输服务器向注册成功的服务器返回一个序号。
[0029] 优选的,智能合约验证传输服务器公开的子秘密的有效性,包括:
[0030] 智能合约计算传输服务器公开的子秘密的哈希值;
[0031] 智能合约将传输服务器公开的子秘密的哈希值与发送方上传的子秘密的哈希值进行匹配,若匹配成功,则认为传输服务器公开的子秘密有效;
[0032] 其中,所述传输任务信息还包括子秘密的哈希值。
[0033] 优选的,接收方从所述数据密文中恢复出数据明文,包括:
[0034] 接收方从区块链上获取数据密文;
[0035] 接收方根据所述子秘密恢复出解密密钥;
[0036] 接收方使用所述解密密钥和自己的私钥从密文数据中恢复出数据明文。
[0037] 优选的,发送方将传输任务信息上传智能合约时向智能合约支付传输费用,所述智能合约在传输服务器公开的子秘密有效时向传输服务器支付工资。
[0038] 优选的,传输服务器在向智能合约进行注册时向智能合约支付任务押金,智能合约在传输服务器公开的子秘密有效时向传输服务器返还任务押金。
[0039] 优选的,所述数据定时传输方法还包括:
[0040] 传输服务器将在传输时间段之前被泄露的子秘密上传智能合约;
[0041] 智能合约计算被泄露的子秘密的哈希值;
[0042] 智能合约将被泄露的子秘密的哈希值与发送方上传的子秘密的哈希值进行匹配,若匹配成功,则将泄露子秘密的传输服务器的任务押金支付给发送方和进行检举的传输服务器。
[0043] 本发明的有益效果是:本发明提出了一种支持检举的定时传输方法,能够使数据发送方能够在预设的时间范围内使一条隐私数据到达接收方,且发送方无需保持在线。

附图说明

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

具体实施方式

[0045] 下面将结合实施例,对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有付出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0046] 参阅图1,本实施例提供了一种基于区块链的数据定时传输方法:
[0047] S01.设置公共参数、发送方的公私钥对、传输服务器的公私钥对和接收方的公私钥对。
[0048] 在一个实施例中,所述S01包括:
[0049] S011.根据安全参数l,确定公共参数集PP={p,P,G,H,E(·),D(·),Enc(·),Dec(·),Sig(·),n,t},其中,p是素数,G是阶为p的循环群,P是循环群G的生成元,H是哈希函* l数H:{0,1}→{0,1} ,E(·)表示选择一种对称加密算法进行加密,D(·)为E(·)对应的解密操作,Enc(·)表示选择一种公钥加密算法进行加密,Dec(·)表示Enc(·)对应的解密操作,Sig(·)表示选择一种签名算法进行签名,n是雇佣的传输服务器的数量,t是门限值。举例说明:EK(M)表示选择一种对称加密算法,将K作为随机的加密密钥,对M进行加密;DK(M)为EK(M)对应的解密操作;EncPK(M)表示选择一种公钥加密算法,将PK作为随机的加密公钥,对M进行加密;DecSK(C)表示将SK作为PK对应的解密私钥,对密文C进行解密;SigK(M)表示选择一种签名算法将K作为随机的签名私钥,对M进行签名。
[0050] S012.发送方 随机选择 作为自己的私钥,计算并公开 作为对应的公钥, 为模p的剩余类环。
[0051] S013.接收方 随机选择 作为自己的私钥,计算并公开 作为对应的公钥。
[0052] S014.每一个传输服务器 (i=1,2,…,N)随机选择 作为自己的私钥,计算并公开 作为对应的公钥。
[0053] S02.发送方在区块链上部署一个智能合约。
[0054] 在一个实施例中,所述智能合约SC如表1所示,所述智能合约SC在区块链上的地址为Add。
[0055] 表1
[0056] 算法1 SC
[0057]
[0058] S03.发送方将待传输数据的加密密钥分割成若干个子秘密。
[0059] 在一个实施例中,发送方利用门限秘密共享机制将待传输数据的加密密钥分割为若干个子秘密。
[0060] 在一个实施例中,所述S03包括:发送方 选择 作为待共享的主秘密,发送t方 选择一个最大阶为t‑1的多项式f(x)∈Zp,使得f(0)=a0,其中f(x)=a0+a1x+…+at‑1x‑1
,将待传输数据的加密密钥k分割成n个子秘密ssi=f(i)(i=1,2,…,n),其中k=a0,Zp为整数关于模p的加法群。
[0061] S04.发送方对待传输的数据进行加密得到数据密文。
[0062] 在一个实施例中,发送方对待传输的数据进行加密得到数据密文,包括:发送方利用待传输数据的加密密钥对待传输数据进行第一次加密;发送方利用接收方的公钥对第一次加密后的待传输数据进行加密得到数据密文。
[0063] 在一个实施例中,所述S04包括:发送方 计算e=Ek(m), 其中m是待传输数据,e为使用k对m进行对称加密得到的密文,c为使用 对e进行公钥加密得到的密文;Ek(m)表示表示选择一种对称加密算法,将k作为随机的加密密钥对m进行加密;表示表示选择一种公钥加密算法,将 作为随机的加密公钥对e进行加密。
[0064] S05.发送方将传输任务信息上传智能合约,所述传输任务信息包括数据密文和传输时间段。
[0065] 在一个实施例,所述S05包括:发送方 调用智能合约的任务发布函数SC.pubTask(c,α[n],payment,ts),其中α[n]={H(ss1),H(ss2),…,H(ssn)}是存储了所有子秘密的哈希值的列表,payment是发送方 为本次定时传输任务支付的任务费用,ts是发送方 希望待传输数据m被传输的传输时间段。
[0066] S06.发送方选择若干个传输服务器,传输服务器在所述智能合约中进行注册。
[0067] 在一个实施例中,发送方选择若干个传输服务器,传输服务器在所述智能合约中进行注册,包括:发送方选择若干个传输服务器;发送方向所述传输服务器发送智能合约的地址;传输服务器根据所述智能合约的地址向智能合约进行注册。
[0068] 在一个实施例中,智能合约在传输服务器向注册成功的服务器返回一个序号。
[0069] 在一个实施例中,所述S06包括:
[0070] S061.发送方 随机选择n个传输服务器(本实施例中n个传输服务器表示为)。
[0071] S062.发送方 将{Add,σi}发送给每一个选择的传输服务器 其中是 的身份; 表示选择一种签名算法将作为签名私钥,对 和Add串联得到的比特串进行签名,σi为发送方对 和Add串联得到的比特串的签名。
[0072] S063.传输服务器 接收到{Add,σi}后,首先验证签名σi以及智能合约的地址Add的有效性,若验证失败,传输服务器 拒绝此次雇佣;若验证成功,则传输服务器 调用智能合约中的注册函数SC.Register(deposit)向智能合约注册,其中deposit为传输服务器为此次定时传输任务交付的押金;
[0073] S064.注册成功后,传输服务器 收到SC.Register返回的一个序号indi。
[0074] 每个传输服务器获得的序号表示该传输服务器持有的子秘密的序号,子秘密的序号表示这个子秘密在发送方上传至智能合约的列表α(所有子秘密的哈希值列表)中对应的元素序号,传输服务器、传输服务器的序号以及传输服务器持有的子秘密的关系参见表2。若有f个传输服务器注册失败,则发送方重新选择f个传输服务器,并向重新选择的传输服务器发送智能合约的地址。
[0075] S07.发送方对子秘密进行加密。
[0076] 在一个实施例中,所述S07包括:在n个传输服务器注册完成后,发送方 计算表示选择一种公钥加密算法,将 作为加密密钥对 进行加密; 表示选择一种签名算
法将 作为签名私钥,对 和 进行签名,cssi为子秘密ssi的密文,σssi为发送者使用其私钥 对 和 串联得到的比特串的签名。此时,传输服务器、序号和持有的子秘密对应关系如2所示。
[0077] 表2传输服务器、序号及持有的子秘密对应关系
[0078]
[0079] S08.发送方将加密后的子秘密发送给对应的传输服务器,所有传输服务器与所有子秘密一一对应。所有传输服务器与所有子秘密一一对应具体指:发送方将每个子秘密发送给一个传输服务器,每个传输服务器只能存储一个子秘密。
[0080] 在一个实施例中,所述S08包括:发送方 将{cssi,σssi}发送给传输服务器[0081] S09.传输服务器在传输时间段公开自己持有的子秘密。
[0082] 在一个实施例中,所述S09包括:每一个传输服务器 i∈[1,n]调用智能合约中的公开秘密函数SC.pubShare 公开自己持有的子秘密。
[0083] S10.智能合约验证传输服务器公开的子秘密的有效性。
[0084] 在一个实施例中,智能合约验证传输服务器公开的子秘密的有效性,包括:智能合约计算传输服务器公开的子秘密的哈希值;智能合约将传输服务器公开的子秘密的哈希值与发送方上传的子秘密的哈希值进行匹配,若匹配成功,则认为传输服务器公开的子秘密有效;其中,所述传输任务信息还包括子秘密的哈希值。具体的,若发送方上传的所有子秘密的哈希值中存在与传输服务器公开的子秘密的哈希值相同的哈希值,则认为匹配成功。
[0085] 在一个实施例中,发送方将传输任务信息上传智能合约时向智能合约支付传输费用,所述智能合约在传输服务器公开的子秘密有效时向传输服务器支付工资。
[0086] 在一个实施例中,传输服务器在向智能合约进行注册时向智能合约支付任务押金,智能合约在传输服务器公开的子秘密有效时向传输服务器返还任务押金。
[0087] 在一个实施例中,所述S10包括:智能合约验证进行如下验证:(a)(b)传输服务器 公开子秘密的时间是否在传输时间段ts内。若验证通过,智能合约将工资支付给传输服务器
[0088] S11.当公开的有效子秘密的数量达到预设的门限值时,接收方从所述数据密文中恢复出数据明文。
[0089] 在一个实施例中,接收方从所述数据密文中恢复出数据明文,包括:接收方从区块链上获取数据密文;接收方根据所述子秘密恢复出解密密钥;接收方使用所述解密密钥和自己的私钥从密文数据中恢复出数据明文。
[0090] 在一个实施例中,所述S11包括:
[0091] S111.当t个有效的子秘密 被公开后,接收方 从区块链上获取数据密文c,恢复出
[0092]
[0093] 式中,vl为子秘密 的序号;
[0094] S112.接收方 计算 m=Dk(e),以解密出数据明文。
[0095] 在一个实施例中,所述数据定时传输方法还包括检举步骤,所述检举步骤包括:传输服务器将在传输时间段之前被泄露的子秘密上传智能合约;智能合约计算被泄露的子秘密的哈希值;智能合约将被泄露的子秘密的哈希值与发送方上传的子秘密的哈希值进行匹配,若匹配成功,则将泄露子秘密的传输服务器的任务押金支付给发送方和进行检举的传输服务器。具体的,若发送方上传的所有子秘密的哈希值中存在与被泄露的子秘密的哈希值相同的哈希值,则认为匹配成功。
[0096] 在一个实施例中,所述检举步骤包括:传输服务器 调用智能合约中的检举函数SC.Report(indi,ss′)向智能合约报告子秘密ss′被提前泄露;
[0097] 智能合约计算子秘密ss′的哈希值H(ss′),并将H(ss′)与发送方 上传的所有子秘密的哈希值进行逐一对比,若找到H(ss′)=α[indj],j∈[1,n],indj≠indi,则说明此次检举有效;如果检举有效,智能合约将传输服务器 交付的押金中的一半奖励给传输服务器 另一半赔偿给发送方
[0098] 以上所述仅是本发明的优选实施方式,应当理解本发明并非局限于本文所披露的形式,不应看作是对其他实施例的排除,而可用于各种其他组合、修改和环境,并能够在本文所述构想范围内,通过上述教导或相关领域的技术或知识进行改动。而本领域人员所进行的改动和变化不脱离本发明的精神和范围,则都应在本发明所附权利要求的保护范围内。