CN115664735A - 基于智能合约的时控性加密匿名交互方法 - Google Patents

基于智能合约的时控性加密匿名交互方法 Download PDF

Info

Publication number
CN115664735A
CN115664735A CN202211260279.8A CN202211260279A CN115664735A CN 115664735 A CN115664735 A CN 115664735A CN 202211260279 A CN202211260279 A CN 202211260279A CN 115664735 A CN115664735 A CN 115664735A
Authority
CN
China
Prior art keywords
contract
time
layer
sender
man
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
Application number
CN202211260279.8A
Other languages
English (en)
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.)
Henan University
Original Assignee
Henan 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 Henan University filed Critical Henan University
Priority to CN202211260279.8A priority Critical patent/CN115664735A/zh
Publication of CN115664735A publication Critical patent/CN115664735A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明涉及数据安全技术领域,公开一种基于智能合约的时控性加密匿名交互方法,包括发送者(即定时解密数据的接收者)、中间人、时间服务器3个实体,发送者、中间人、时间服务器受智能合约的约束,该方法包括:发送者在临近解密时间时,使用秘密共享技术将加密的陷门请求分成n个密文分片,并分别进行层层加密构造洋葱类型数据,通过从智能合约选取的中间人节点进行洋葱类型数据传输,时间服务器收到密文分片后进行整合获得陷门请求的时间,并将对应的时间陷门返回给发送者,使得发送者实现匿名查询任意时间陷门。本发明在实现匿名查询时间陷门的情况下,提高了陷门请求成功的概率,使得陷门请求更加稳定。

Description

基于智能合约的时控性加密匿名交互方法
技术领域
本发明涉及数据安全技术领域,尤其涉及一种基于智能合约的时控性加密匿名交互方法。
背景技术
时控性加密(timed-release encryption,TRE)是实现敏感数据在特定时间发布的重要技术,其实现方案也随着应用场景与应用需求不断地改进。最初的TLP方法是将消息的解密绑定到一个需要特定时间才能解决的计算难题,但由于不同设备的计算能力不同会导致很难控制精确的预定解密时间而被新的方法所替代。基于交互式时间服务器的方法是接收者通过与服务器进行交互获得时间陷门从而对消息进行解密;基于非交互式时间服务器的方法是由时间服务器周期性地广播时间陷门来实现的。而随着目前的需求更多地转向在任意时间匿名查询时间陷门,构造合适的TRE方案成为研究者的目标。
在传统的网络中进行查询行为时,可能存在中间传输节点或者时间服务器不可靠的问题。对于中间节点,其可能会因为受到攻击者的贿赂而选择放弃消息的传递,或者中间节点由于自己的某些原因而无法进行传输;对于时间服务器,可能出现不诚实生成时间陷门的情况。这会导致用户由于不能及时传输交互信息而损失利益。因此如果存在一个条约对参与者的行为进行限制,并对其诚实行为进行奖励、不诚实行为进行处罚,则可以大大提高消息传输的稳定性与安全性。我们考虑使用基于区块链的智能合约技术来解决上述问题。
区块链技术的应用可以保证陷门请求以及传输过程中消息的完整性,并且由于所有在区块链中的交易都会被网络中的所有节点验证和备份,可以在一定程度上提高了陷门查询成功的概率。智能合约作为基于区块链的不可篡改的数字化合约,实现了为所有参与者的行为进行规范化管理以及奖惩制度的规定。
现有的基于区块链智能合约的TRE方案大多利用区块链控制获得解密密钥的时间。Li等[Li C,Palanisamy B.Decentralized release of self-emerging data usingsmart contracts[C].2018IEEE 37th Symposium on Reliable Distributed Systems(SRDS).Salvador,Brazil:IEEE,2018:213-220.]2018年提出的在以太坊区块链中使用智能合约,实现了保密数据的定时解密。该方案设计了一个可执行的智能合约,雇佣一组对等点进行解密密钥的传递来实现保密数据的定时解密,而无需第三方时间服务器来提供时间陷门。以及Ning等[Ning J,Dang H,Hou R,et al.Keeping time-release secretsthrough smart contracts[J].Cryptology ePrint Archive,2018.]2018年提出一种基于激励的方法将门限秘密共享与基于区块链的智能合约相结合,将秘密预先分发给参与者并在规定时间进行秘密的重建,以此来实现时控性密码机制。该方案基于区块链上区块生成的时序性实现定时控制,并使用智能合约强制相关参与方履行合同义务。
上述方案不涉及时间服务器等可信的第三方但无法保障通信双方的身份隐私性,且方案灵活性与可扩展性较差。
发明内容
本发明针对现有TRE匿名交互工作中节点的可靠性问题,提出一种基于智能合约的时控性加密匿名交互方法,在实现匿名查询的情况下,提高了陷门请求成功的概率,使得陷门请求更加稳定。
为了实现上述目的,本发明采用以下技术方案:
一种基于智能合约的时控性加密匿名交互方法,包括发送者(即定时解密数据的接收者)、中间人、时间服务器3个实体,发送者、中间人、时间服务器受智能合约的约束,该方法包括:
发送者在临近解密时间时,使用秘密共享技术将加密的陷门请求分成n个密文分片,并分别进行层层加密构造洋葱类型数据,通过从智能合约选取的中间人节点进行洋葱类型数据传输,时间服务器收到密文分片后进行整合获得陷门请求的时间,并将对应的时间陷门返回给发送者,使得发送者实现匿名查询任意时间陷门。
进一步地,所述中间人按照以下方式生成:
每个节点向合约提供节点公钥、IP信息、保证金、可以提供服务的时间段以注册成为中间人,所有中间人被维护在中间人注册列表中,当被选择执行合约内容,并完成合约的内容后,获得相应酬金;
发送者预计服务执行的时间,并计算每个中间人所需要提供的保证金,以及合约完成后中间人能获得的酬金,智能合约按照发送者的要求从中间人注册列表中选择合适的中间人,并为每个中间人分配一个私有合约,中间人根据私有合约来执行合约内容。
进一步地,每个中间人所需要提供的保证金应满足
Figure BDA0003891255390000031
其中,t为传递成功的密文分片的数量,R为合约完成后中间人能获得的酬金。
进一步地,中间人节点按照如下方式进行洋葱类型数据传输:
中间人解密收到的洋葱类型数据,获得下一跳地址以及内层洋葱类型数据后,将内层洋葱类型数据发送给下一中间人,在解密和发送消息的同时,分别向合约提交其私钥签名的证书以及发送内容的杂凑值;或
中间人加密收到的洋葱类型数据,并将加密后的洋葱类型数据发送给上一跳,在收到消息以及发送消息的同时向合约提交其私钥签名的证书。
进一步地,具体包括:
在Tf+|To|之前,发送者生成密文分片<C1,C2,...,Cn>,并使用各路径的中间人公钥加密密文分片获得n个洋葱类型数据<O1,O2,…,On>,向合约提交密文C以及各密文分片对应的杂凑值;其中Tf表示服务开始的时间,To表示中间人的操作时间;
在Tf时刻,发送者将所有的洋葱消息发送给各路径的第一层中间人,并向合约发送其私钥签名的证书,以此来保证发送者在正确的时间发送了密文,排除发送者的原因导致的消息传递失败;
在Tf1+|To|前,一层中间人接收到洋葱消息后执行该中间人对应的私有合约:解密第一层洋葱类型数据,获得内层洋葱类型数据,向合约发送私钥签名的证书以及该层洋葱类型数据对应的杂凑值;其中Tf1表示一层中间人服务开始的时间;
在Tf1时刻,一层中间人将内层洋葱类型数据发送至二层中间人,并向合约发送私钥签名的证书;
在Tf2+|To|前,二层中间人接收到洋葱消息后执行该中间人对应的私有合约:解密第二层洋葱类型数据,获得第二层洋葱类型数据,向合约发送私钥签名的证书以及该层洋葱类型数据对应的杂凑值;其中Tf2表示二层中间人服务开始的时间;
在Tf2时刻,二层中间人将第二层洋葱类型数据发送至三层中间人,并向合约发送私钥签名的证书;
在Tf3+|To|前,三层中间人执行其私有合约:解密洋葱类型数据获得内层洋葱类型数据即密文分片,并向合约提交其杂凑值,合约检查密文分片是否正确;其中Tf3表示三层中间人服务开始的时间;
在Tf3时刻,三层中间人将密文分片发送给时间服务器,并向合约提交其私钥签名的证书以及密文分片对应的杂凑值,时间服务器将整合分片并向合约提交密文C的杂凑值;
在Tr时刻,时间服务器使用自己的私钥解密获得陷门请求时间T,根据请求时间T生成对应的时间陷门ST并选择其中一条路径将其返回;
中间人收到返回的时间陷门信息后,执行其私有合约:使用其私钥进行加密并将加密后的消息发送给上一跳中间人,同时向合约发送私钥签名的证书,发送者接收到返回的数据包后使用该路径中间人的公钥进行层层解密获得时间陷门;
合约向完成合约的中间人发放提前分配给每个中间人私有合约的酬金,并退还其保证金dp;对于不诚实的中间人执行没收其保证金的操作,在消息能够成功传递的情况下,合约不会停止。
进一步地,合约过程中的违约判定包括:
每个中间人拥有一个操作时间To,中间人在解密和传递消息的同时生成两个证书提交给合约,合约将两个证书提交时间的差值和To进行比较,若其解密时间与传递时间的差值大于To,则判定其违规;
合约通过比较三层中间人提交的密文杂凑值与发送者提交密文分片的杂凑值,检测路径中是否存在替换攻击,若检测到某一路径的杂凑值与发送者提供的不同,则判定该路径存在替换攻击,合约从后向前,依次对比中间人所提供的消息杂凑值,来找出违规中间人并予以惩罚;
对于不诚实的中间人,合约将该中间人加入黑名单,使其无法接收该合约的任何后续任务。
进一步地,所述洋葱类型数据形式如下:
Figure BDA0003891255390000041
其中,
Figure BDA0003891255390000042
Figure BDA0003891255390000043
表示各层节点使用其公钥进行加密的密码变换;
Figure BDA0003891255390000044
Figure BDA0003891255390000051
和IPTS表示下层节点地址;Ci为密文分片。
与现有技术相比,本发明具有的有益效果:
为提高用户查询时间陷门时的可靠与稳定性,本发明提出一种基于智能合约的时控性加密匿名交互方法,发送者通过运行在以太坊上的智能合约,将陷门请求通过中间人节点传递给时间服务器,并由时间服务器返回对应时间陷门给发送者。在实现匿名查询的情况下,提高了陷门请求成功的概率,使得陷门请求更加稳定。
安全性分析表明,本发明方法可以抵抗提前释放攻击、中断攻击、窃听攻击以及替换攻击。
附图说明
图1为本发明实施例一种基于智能合约的时控性加密匿名交互方法的模型图;
图2为本发明实施例合约CTAIS的内容示意图;
图3为本发明实施例参与者行为树示例图。
具体实施方式
下面结合附图和具体的实施例对本发明做进一步的解释说明:
一种基于智能合约的时控性加密匿名交互方法(TRE anonymous interactionbased on smart contract,简称为TAIS方法),包括发送者(即定时解密数据的接收者)、中间人、时间服务器3个实体,发送者、中间人、时间服务器受智能合约的约束,该方法包括:
发送者在临近解密时间时,使用秘密共享技术将加密的陷门请求分成n个密文分片,并分别进行层层加密构造洋葱类型数据,通过从智能合约选取的中间人节点进行洋葱类型数据传输,时间服务器收到密文分片后进行整合获得陷门请求的时间,并将对应的时间陷门返回给发送者(即定时解密数据的接收者),使得发送者实现匿名查询任意时间陷门。
具体介绍如下:
1.1参与者
本发明提出的方法共涉及发送者、中间人、时间服务器3个实体,具体地:
发送者(TRE中的定时解密数据接收者Bob,为方便表述,在下文中将使用Bob来指代发送者)。由Bob提交中间人筛选条件,并支付酬金来发起合约。Bob将陷门请求消息T使用时间服务器TS的公钥进行加密得到密文C,并将C分为n个密文分片,分别由n条路径同时发出。
中间人。对等点通过向智能合约提交保证金注册成为中间人节点,并由智能合约根据Bob的要求筛选后组成中间人群体。在Bob发起智能合约后,他们获得智能合约任务,完成任务后获取相应酬金。
时间服务器(timeserver,TS),作为TAIS方法的接收者。TS在接收到陷门请求的密文分片后,组合获得完整陷门请求密文C,解密获得时间T,并生成对应的时间陷门ST,使用私钥加密并返回给Bob。
1.2方法模型及目标
该方法模型的目标是,实现用户匿名查询时间陷门,即任意授权用户通过该智能合约向时间服务器请求时间陷门,时间服务器不能获得该用户的身份信息,第三方也无法获得该用户的身份信息以及传输内容。本发明通过设计一个匿名查询时间陷门智能合约CTAIS来维护该方法。
首先节点需要向合约CTAIS提交公钥等信息注册成为中间人节点,这些信息由CTAIS维护的注册列表来保存。在临近指定的解密时间,用户Bob向合约CTAIS支付酬金以启动CTAIS,并通过中间人向时间服务器发送陷门请求,CTAIS合约各参与者执行合约内容后Bob获得请求的时间陷门ST。具体过程为:Bob向合约CTAIS提交中间人筛选条件以获取所需的中间人信息,将陷门请求密文C=ETS_pub(T)分成n个密文分片<C1,C2,…,Cn>,同时将中间人分为了n组并根据中间人信息构造n个洋葱:
Figure BDA0003891255390000061
其中,
Figure BDA0003891255390000062
Figure BDA0003891255390000063
表示各层节点使用其公钥进行加密的密码变换;
Figure BDA0003891255390000064
Figure BDA0003891255390000065
和IPTS表示下层节点地址;Ci为密文分片。
Bob向合约CTAIS支付报酬后,CTAIS向所选中间人分配其私有合约。每个中间人在收到洋葱消息后执行其私有合约,时间服务器收到密文分片后将其合成原始密文,解密获得解密时间T生成对应时间陷门并返回给Bob。该方法由一个智能合约来维护,本发明称此种实现用户与时间服务器匿名交互的方法为TAIS方法,方法模型如图1所示。
TAIS方法需要保证发送者身份的隐私性。方法过程共涉及中间人注册、服务设置、中间人私有合约分配和服务执行4个阶段,下面分别进行简要介绍。
中间人注册:任意一个新的区块链网络节点在任何时间均可向合约CTAIS支付保证金来注册成为中间人,提交注册申请即表明自己可以提供执行合约内容的服务,并提交自己的公钥以及工作窗口。注册成功后,合约CTAIS维护在中间人注册列表中,进而可被选择执行CTAIS,完成后可获得相应酬金。
服务设置:用户Bob预计服务执行的时间[Tf,Te](其中Tf表示服务开始的时间,Te表示服务结束的时间),并计算每个中间人所需提供的保证金,以及合约CTAIS完成后中间人能获得的酬金。合约CTAIS根据各中间人的工作窗口以及保证金数额从注册列表中选择合适的中间人,并向Bob发送中间人集合
Figure BDA0003891255390000071
其中IPi表示中间人集合中第i个中间人的IP,
Figure BDA0003891255390000072
表示中间人集合中第i个中间人的公钥。
中间人私有合约分配:在Bob向合约CTAIS提交所需中间人条件后,CTAIS为其分配合适的中间人,并为每个中间人分配一个私有合约Pi,中间人根据Pi来执行合约内容。
服务执行:在用户预计的服务执行时间[Tf,Te]到来之前,即Tf之前,用户需要将陷门请求密文进行拆分,并使用所选中间人的公钥对得到的每个密文分片进行层层加密,生成n个洋葱。每个中间人执行自己对应的私有合约,完成后,由各自的私有合约分发酬金,其中各合约的酬金是由合约CTAIS提前分发完成的。若中间人未完成其对应私有合约,将没收其保证金。
实现TAIS方法的智能合约CTAIS如图2所示,其中,
Figure BDA0003891255390000073
Figure BDA0003891255390000074
等为中间人私有合约。
智能合约CTAIS可以被合法用户进行调用。当用户Bob调用合约CTAIS时,需要支付一定的酬金。
1.3方法假设
在TAIS方法中,我们对各参与者以及方法执行过程作出以下规定:
(1)假设发送者Bob的陷门请求信息希望快速准时地传递,并愿为此支付一定的酬金。同时并假设信息成功传递发送者可能获得的收益为R。
(2)假设有足够多的节点注册成为中间人。
(3)假设合约参与方中接受贿赂而进行不诚实行为的对手为理智的,不存在不计代价的攻击。
1.4攻击模型
本节简要概述TAIS方法可能受到的攻击类型,在3.1中详细说明是否可以抵抗这些攻击。
(1)提前释放攻击:提前释放攻击是指中间人在Bob指定的时间Tf之前,进行消息的传递。攻击者的目的是在发送者接收到TS的回复之前,完成消息的传递并获得时间陷门。
(2)中断攻击:该攻击通常发生在中间人受到贿赂而拒绝传递获得的消息时,但由于中间人在注册时交付有保证金,因此只有贿赂的金额大于其保证金时中间人才有可能接受贿赂。
(3)窃听攻击:窃听攻击是指攻击者希望通过窃听而获得传递内容或消息来源。
(4)替换攻击:指攻击者为破坏消息的传递而贿赂某一中间人,对传递消息的内容进行篡改,以达到错误传递消息的目的。
2智能合约CTAIS具体内容
匿名查询时间陷门TAIS方法由智能合约CTAIS实现。智能合约CTAIS具体内容包括下述四个模块,下文分别予以详细介绍。
2.1中间人注册模块
中间人注册模块是为每一个可以提供服务的节点所设置的模块,通过该模块,区块链网络中的任意节点均可申请成为CTAIS合约的中间人节点。
每个节点在向合约CTAIS申请注册成为中间人时,需向合约CTAIS提供以下内容:
(1)节点公钥ORpub以及IP信息;
(2)节点所拥有的可以作为保证金的流动资金数量dc,以及交付合约CTAIS要求的保证金dp
(3)节点的工作窗口[Tx,Ty],即可以提供服务的时间区间段。每个节点可以在其保证金未被冻结之前修改其工作窗口或者放弃为该合约提供服务。
在合约CTAIS对节点提交的信息进行审核过后,将合格的节点信息维护到注册列表中成为中间人节点。注册列表中的中间人节点信息包括节点公钥、IP地址和工作窗口。
2.2服务设置模块
在Tf之前,发送方Bob计算出合约运行所需要支付的酬金r,中间人所需要交付的保证金dp,所需中间人的数量3n,以及预计的服务时间[Tf,Te]。Bob将3n、[Tf,Te]以及计算所得的dp、发送给合约CTAIS。合约根据筛选条件从注册列表中选择合格的中间人信息返回给Bob。
在Tf时刻,Bob将向合约支付酬金3nr后合约开始执行,合约CTAIS将为每个中间人分配其私有合约。
在进行服务设置前,Bob将使用时间服务器公钥加密陷门请求信息获得的密文C分解为n个密文分片<C1,C2,…,Cn>。
在服务设置后,Bob将中间人分为3组,并分别使用n组中间人的公钥信息层层加密n个密文分片构造n个洋葱。以第一条路径为例,洋葱形式如下:
Figure BDA0003891255390000091
其中,
Figure BDA0003891255390000092
Figure BDA0003891255390000093
表示各层节点使用其公钥进行加密的密码变换;
Figure BDA0003891255390000094
Figure BDA0003891255390000095
和IPTS表示下层节点地址;C1为密文分片。
TAIS方法的密文分解方式采用(t,n)秘密共享的方法,其原理是将密文分解为n个密文分片,当传递成功的密文分片的数量达到t个时,即可恢复密文。该方法将陷门请求信息交由n条路径进行传递,传递成功的数量达到t个即可由TS恢复陷门请求。
假设发送者发送的密文价值为v,发送成功后可获得的收益为R,向每个中间人支付的酬金数额为r,攻击者对中间人进行贿赂时向每个中间人支付的贿金为br>0。记传输路径一共有n条,攻击者需支付的贿金总额为br_sum<R。若中间人接受攻击者的行贿必然会造成保证金dp被没收,只有贿金大于中间人的保证金时才可能贿赂成功,因此只需要保证dp>br
当攻击者想要通过攻击代替发送者获取收益时,攻击者至少需要贿赂n-t+1条路径上的所有中间人节点,此时对于攻击者所需要支付的贿金有3×br×(n-t+1)<R,因此中间人的保证金只需满足
Figure BDA0003891255390000101
即可保证dp>br,可知t越小保证金越少;但t过小时则会导致攻击者更容易发动提前释放攻击,此时攻击者需要贿赂至少t条路径上的所有中间人节点,所需要支付的贿金有3×br×t<R,此时中间人的保证金需满足
Figure BDA0003891255390000102
综上,t值应满足
Figure BDA0003891255390000103
押金dp应满足
Figure BDA0003891255390000104
2.3中间人私有合约分配模块
TAIS方法将为每个中间人的行为设计一个私有合约,并由公共合约CTAIS来保证各合约的正确执行。中间人收到上一跳传递的消息后执行其私有合约Pi,合约Pi共包括两部分算法。
(1)正向算法:解密收到的洋葱,获得下一跳地址以及内层洋葱后,将内层洋葱发送给下一中间人。在解密和发送消息的同时,分别向合约提交其私钥签名的证书以及发送内容的杂凑值;
(2)反向算法:加密收到的洋葱,并将加密后的洋葱消息发送给上一跳。在收到消息以及发送消息的同时向合约提交其私钥签名的证书。
2.4服务执行模块
在CTAIS合约执行过程中,每条路径的中间人解密获得密文分片后,需要向CTAIS合约提交密文分片对应的杂凑值,合约据此在服务结束后筛查问题出现路径。
①在Tf+|To|之前,发送者Bob生成密文分片<C1,C2,…,Cn>,并使用各路径的中间人公钥加密密文分片获得n个洋葱<O1,O2,...,On>。向合约CTAIS提交密文C以及各密文分片对应的杂凑值。其中Tf表示服务开始的时间,To表示中间人的操作时间。
②在Tf时刻,Bob将所有的洋葱消息发送给各路径的第一层中间人,并向合约发送其私钥签名的证书,以此来保证Bob在正确的时间发送了密文,排除发送者的原因导致的消息传递失败。
③在Tf1+|To|前,一层中间人接收到洋葱消息后执行该中间人对应的私有合约:解密第一层洋葱,获得内层洋葱<O′1,O′2,…,On′>,向合约发送私钥签名的证书以及该层洋葱对应的杂凑值。其中Tf1表示一层中间人服务开始的时间。
④在Tf1时刻,一层中间人将内层洋葱发送至二层中间人,并向合约发送私钥签名的证书。
⑤Tf2重复③④。其中Tf2表示二层中间人服务开始的时间。
⑥在Tf3+|To|前,三层中间人执行其私有合约:解密洋葱获得内层洋葱<C1,C2,…,Cn>即密文分片,并向合约CTAIS提交其杂凑值,合约CTAIS检查密文分片是否正确。其中Tf3表示三层中间人服务开始的时间。
⑦在Tf3时刻,三层中间人将密文分片发送给TS,并向合约提交其私钥签名的证书以及密文分片对应的杂凑值。TS将整合分片并向合约提交密文C的杂凑值。
⑧在Tr时刻,TS使用自己的私钥解密获得陷门请求时间T。TS根据请求时间T生成对应的时间陷门ST并选择其中一条路径将其返回。
⑨中间人收到返回的时间陷门信息后,执行其私有合约:使用其私钥进行加密并将加密后的消息发送给上一跳中间人,同时向合约发送私钥签名的证书。Bob接收到返回的数据包后使用该路径中间人的公钥进行层层解密获得时间陷门。
⑩合约CTAIS将向完成合约的中间人发放提前分配给每个中间人私有合约的酬金,并退还其保证金dp;对于不诚实的中间人执行没收其保证金的操作。在消息能够成功传递的情况下,合约不会停止(CTAIS合约具有鲁棒性,不会因为一个中间人的失效而导致传递失败)。
合约过程中具体的违约判定如下:
(1)每个中间人/TS拥有一个操作时间To,中间人在解密和传递消息的同时会生成两个证书提交给合约,合约将两个证书提交时间的差值和To进行比较,若其解密时间与传递时间的差值大于To,则判定其违规。
(2)合约通过比较三层中间人提交的密文杂凑值与Bob提交密文分片的杂凑值,检测路径中是否存在替换攻击。若检测到某一路径的杂凑值与Bob提供的不同,则判定该路径存在替换攻击。合约将从后向前,依次对比中间人所提供的消息杂凑值,来找出违规中间人并予以惩罚。
对于不诚实的中间人,合约将该中间人加入黑名单,使其无法接收该合约的任何后续任务。
3TAIS方法分析
本节首先针对本文所提出的TAIS方法进行安全性分析,然后分析参与者的行为对方法的影响,最后分析TAIS方法的性能。
3.1安全性分析
首先给出TAIS方法的安全模型。在TAIS方法中,假设所选中间人节点以及时间服务器都是“好奇但理智的”:他们在按照预定执行合约内容的时候,都会试图在自己能力范围内推测所传递消息的内容以及消息来源和目的地。但他们不会在明知会被没收保证金的同时主动破坏消息内容或者对消息不予传递。
下面将针对1.4中的攻击模型进行安全性分析,以证明该方法的安全性足以保证Bob在保持匿名的情况下可以成功进行时间陷门的查询。在我们的安全性分析中,我们假设所有的攻击者都是以破坏TAIS方法的目标来发动攻击的,即破坏发送者匿名或破坏发送者成功查询时间陷门。假设共有m个节点向合约注册成为中间人节点。
(1)提前释放攻击
每个中间人在对消息进行解密和传递时均需要向合约提交其私钥签名的证书,以此来证明其行为。若中间人提前进行消息的传递,则会被合约判定为违约,最后结算时将被合约没收保证金。且攻击者若贿赂中间人进行提前传递,则需要贿赂至少t条路径中的第三层中间人,而中间人所处路径位置是攻击者无法得知的,因此其需要贿赂至少t条路径中每个中间人共3t个中间人,对每个中间人至少支付大于其保证金的贿金。提前释放攻击贿赂成功的概率为
Figure BDA0003891255390000121
(2)中断攻击
在Tn+To时间内,若中间人A未向下一跳中间人传递消息,或其下一跳中间人向合约提交攻击报告,则说明该中间人未能成功传递消息。无论是主动还是被动,均被视为中断攻击。合约将检查中间人节点A以及其上一跳中间人节点:检查中间人是否接受贿赂拒绝向下一跳传递消息;检查中间人的上一跳是否发动替换攻击,使其无法执行其私有合约从而传递消息。
若有攻击者想要通过贿赂中间人使其放弃传递消息,从而达到消息传输失败的目的,则攻击者需要贿赂成功至少n-t+1条路径中各一个中间人。中断攻击成功的概率为
Figure BDA0003891255390000131
(3)窃听攻击
对于想要窃听到消息内容而发动窃听攻击的攻击者,由于传输中的消息至少经过了一层加密:使用时间服务器公钥加密,因此即使贿赂中间人节点获得传输内容,也无法获得明文信息。
对于想要窃听到消息来源而发动窃听攻击的攻击者,但由于每个节点均只知道自己的上一跳和下一跳节点,不知道自己在路径中的位置,因此需要贿赂同一条路径的所有节点。其贿赂成功的概率为
Figure BDA0003891255390000132
(4)替换攻击
所传递消息的密文分片,在经由各路径传递之前,向合约提交有其杂凑值;在路径最后传递给时间服务器之前,由最后一层中间人节点向合约提交其杂凑值,待合约检查其正确与否后传递给时间服务器。若合约检测到传递正确的密文分片数大于等于t时,继续执行该合约,对于传递失败的路径在消息传递成功后进行判断处理。若合约检测到传递正确的密文分片数小于t时,则停止该合约,检测传输错误的路径以及中间人节点,并没收其保证金。对于诚实的中间人节点,合约将返还保证金并支付其报酬。因此没有受到贿赂的节点将会理智地正确执行其合约。
若有攻击者想要通过替换攻击来破坏消息的传递,则需要贿赂成功至少n-t+1条路径中各一个中间人。其攻击成功的概率与中断攻击相同。
综上,m和n越接近,攻击者攻击成功的概率越大,但在现实生活中很难做到,因此TAIS方法可以抵抗上述攻击。
3.2参与者行为树
进一步地,我们为合约设计了一个如图3所示的参与者行为树,详细说明了根据中间人节点的不同行为导致的不同结果,以及中间人和攻击者的对应收益。在该行为树中,假设攻击者可以忽略3.1所述的概率问题成功贿赂中间人节点。由于CTAIS合约各路径中的中间人行为一致,故只展示单条路径的行为树。
假设Y表示中间人检点诚实的执行合约,N表示中间人节点接受攻击者的贿赂。N8~N15表示由于每个中间人的不同选择所导致的不同结果。此时,由2.2中押金的计算公式可知有押金
Figure BDA0003891255390000141
贿金
Figure BDA0003891255390000142
其中
Figure BDA0003891255390000143
取t=2,n=3,有
Figure BDA0003891255390000144
其中N8代表中间人节点均诚实的执行合约并获得酬金;N9~N14代表中间人中有一个或两个中间人接受了贿赂,此时中间人节点的收益为br-dp,由
Figure BDA0003891255390000145
可知,中间人接受的贿赂小于其保证金,理智的中间人节点不会接受贿赂;N15代表三个中间人节点均接受贿赂,此时若保证中间人节点的收益大于其保证金,则攻击者的收益将大于其支付的贿金,因此理智的攻击者不会发动攻击。
3.3实验与性能分析
CTAIS合约的程序运行环境为:Intel(R)Core(TM)i7-8550U CPU@1.80GHz处理器,8G内存,在以太坊Rinkeby测试网络中使用Solidity语言进行测试。2022年6月19日,以太坊测试币与美元的兑换比例为1ETH=$949.76,与Gas的兑换比例为1ETH=1×108Gas。由此,TAIS方法中涉及的函数执行成本以及与美元的折算如表1所示。
表1函数执行成本
Figure BDA0003891255390000146
中间人通过newPeer()函数进行注册,Bob通过setup()函数进行服务设置,参与者通过setCert()函数提交签名的证书,通过hash()函数提交传递消息的杂凑值,CTAIS合约通过award()函数对中间人进行奖励或惩罚。
在CTAIS合约中,进行一次陷门查询需要每个中间人调用两次setCert()函数和两次hash()函数,用户Bob调用一次setup()函数和n次hash()函数,时间服务器调用一次hash()函数,返回时每个中间人消耗一次setCert()函数,共消耗6n×setCert()+(3n+n+1+3)×hash()+setup()+award()。在本实施例中,取n=3,t=2,gas消耗成本为$4.67。
由于目前尚未存在基于区块链的匿名交互式TRE方案,因此下面将与类似方法进行对比,如表2所示。其中,DRSD[Li C,Palanisamy B.Decentralized release of self-emerging data using smart contracts[C].2018IEEE 37th Symposium on ReliableDistributed Systems(SRDS).Salvador,Brazil:IEEE,2018:213-220.]和TTSD[曹淏文.基于区块链技术的时间控制加密方案研究[D].开封:河南大学,2020.]均基于区块链实现了数据的定时解密。
表2性能对比
Figure BDA0003891255390000151
从通信的匿名性来看。用户在选择参与的中间人时,与中间人没有交互,而是直接从合约维护的中间人列表中进行选择。由于每层中间人节点的合约行为是一样的,用户在向第一层中间人分发陷门查询密文分片时,中间人并不能分辨出向自己发送消息的是用户还是其他中间人节点。在方法DRSD和TTSD中,由于用户与所有节点直接进行交互,导致用户无法隐藏其身份。因此TAIS方法实现了匿名查询。
从实现效率来看。TAIS方法针对传输过程中可能遇到的节点失效等问题进行了预处理,一旦陷门查询的行为开始,用户不需要再进行额外的计算。且在传递陷门查询的消息时,将其构造成层层加密的洋葱。中间人无法获得传递的具体信息。在方法DRSD中,只存在一条传输路径,一旦节点失效用户需要重新构造洋葱进行传递,增加查询时间的同时有可能导致无法及时获得陷门信息。因此TAIS方法从陷门查询效率上来说更加实用。
从灵活性来看。不同的用户可以根据自己所传递的消息的价值规定保证金的数额。方法的计算量和选取的中间人数目成线性关系。且在TAIS方法中,发送者(即定时解密数据的接收者)可以根据选择时间与时间服务器进行交互,而非借助于区块生成时间,灵活性较高。
由于TAIS方法进行陷门查询时使用的中间人数量较多,产生的Gas消耗较高,还需进一步优化。
综上,为提高用户查询时间陷门时的可靠与稳定性,本发明提出一种基于智能合约的时控性加密匿名交互方法,发送者通过运行在以太坊上的智能合约,将陷门请求通过中间人节点传递给时间服务器,并由时间服务器返回对应时间陷门给发送者。在实现匿名查询的情况下,提高了陷门请求成功的概率,使得陷门请求更加稳定。安全性分析表明,本发明方法可以抵抗提前释放攻击、中断攻击、窃听攻击以及替换攻击。
以上所示仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (7)

1.一种基于智能合约的时控性加密匿名交互方法,其特征在于,包括发送者、中间人、时间服务器3个实体,发送者、中间人、时间服务器受智能合约的约束,该方法包括:
发送者在临近解密时间时,使用秘密共享技术将加密的陷门请求分成n个密文分片,并分别进行层层加密构造洋葱类型数据,通过从智能合约选取的中间人节点进行洋葱类型数据传输,时间服务器收到密文分片后进行整合获得陷门请求的时间,并将对应的时间陷门返回给发送者,使得发送者实现匿名查询任意时间陷门。
2.根据权利要求1所述的基于智能合约的时控性加密匿名交互方法,其特征在于,所述中间人按照以下方式生成:
每个节点向合约提供节点公钥、IP信息、保证金、可以提供服务的时间段以注册成为中间人,所有中间人被维护在中间人注册列表中,当被选择执行合约内容,并完成合约的内容后,获得相应酬金;
发送者预计服务执行的时间,并计算每个中间人所需要提供的保证金,以及合约完成后中间人能获得的酬金,智能合约按照发送者的要求从中间人注册列表中选择合适的中间人,并为每个中间人分配一个私有合约,中间人根据私有合约来执行合约内容。
3.根据权利要求2所述的基于智能合约的时控性加密匿名交互方法,其特征在于,每个中间人所需要提供的保证金应满足
Figure FDA0003891255380000011
其中,t为传递成功的密文分片的数量,R为合约完成后中间人能获得的酬金。
4.根据权利要求1所述的基于智能合约的时控性加密匿名交互方法,其特征在于,中间人节点按照如下方式进行洋葱类型数据传输:
中间人解密收到的洋葱类型数据,获得下一跳地址以及内层洋葱类型数据后,将内层洋葱类型数据发送给下一中间人,在解密和发送消息的同时,分别向合约提交其私钥签名的证书以及发送内容的杂凑值;或
中间人加密收到的洋葱类型数据,并将加密后的洋葱类型数据发送给上一跳,在收到消息以及发送消息的同时向合约提交其私钥签名的证书。
5.根据权利要求1所述的基于智能合约的时控性加密匿名交互方法,其特征在于,具体包括:
在Tf+|To|之前,发送者生成密文分片<C1,C2,…,Cn>,并使用各路径的中间人公钥加密密文分片获得n个洋葱类型数据<O1,O2,...,On>,向合约提交密文C以及各密文分片对应的杂凑值;其中Tf表示服务开始的时间,To表示中间人的操作时间;
在Tf时刻,发送者将所有的洋葱消息发送给各路径的第一层中间人,并向合约发送其私钥签名的证书,以此来保证发送者在正确的时间发送了密文,排除发送者的原因导致的消息传递失败;
在Tf1+|To|前,一层中间人接收到洋葱消息后执行该中间人对应的私有合约:解密第一层洋葱类型数据,获得内层洋葱类型数据,向合约发送私钥签名的证书以及该层洋葱类型数据对应的杂凑值;其中Tf1表示一层中间人服务开始的时间;
在Tf1时刻,一层中间人将内层洋葱类型数据发送至二层中间人,并向合约发送私钥签名的证书;
在Tf2+|To|前,二层中间人接收到洋葱消息后执行该中间人对应的私有合约:解密第二层洋葱类型数据,获得第二层洋葱类型数据,向合约发送私钥签名的证书以及该层洋葱类型数据对应的杂凑值;其中Tf2表示二层中间人服务开始的时间;
在Tf2时刻,二层中间人将第二层洋葱类型数据发送至三层中间人,并向合约发送私钥签名的证书;
在Tf3+|To|前,三层中间人执行其私有合约:解密洋葱类型数据获得内层洋葱类型数据即密文分片,并向合约提交其杂凑值,合约检查密文分片是否正确;其中Tf3表示三层中间人服务开始的时间;
在Tf3时刻,三层中间人将密文分片发送给时间服务器,并向合约提交其私钥签名的证书以及密文分片对应的杂凑值,时间服务器将整合分片并向合约提交密文C的杂凑值;
在Tr时刻,时间服务器使用自己的私钥解密获得陷门请求时间T,根据请求时间T生成对应的时间陷门ST并选择其中一条路径将其返回;
中间人收到返回的时间陷门信息后,执行其私有合约:使用其私钥进行加密并将加密后的消息发送给上一跳中间人,同时向合约发送私钥签名的证书,发送者接收到返回的数据包后使用该路径中间人的公钥进行层层解密获得时间陷门;
合约向完成合约的中间人发放提前分配给每个中间人私有合约的酬金,并退还其保证金dp;对于不诚实的中间人执行没收其保证金的操作,在消息能够成功传递的情况下,合约不会停止。
6.根据权利要求5所述的基于智能合约的时控性加密匿名交互方法,其特征在于,合约过程中的违约判定包括:
每个中间人拥有一个操作时间To,中间人在解密和传递消息的同时生成两个证书提交给合约,合约将两个证书提交时间的差值和To进行比较,若其解密时间与传递时间的差值大于To,则判定其违规;
合约通过比较三层中间人提交的密文杂凑值与发送者提交密文分片的杂凑值,检测路径中是否存在替换攻击,若检测到某一路径的杂凑值与发送者提供的不同,则判定该路径存在替换攻击,合约从后向前,依次对比中间人所提供的消息杂凑值,来找出违规中间人并予以惩罚;
对于不诚实的中间人,合约将该中间人加入黑名单,使其无法接收该合约的任何后续任务。
7.根据权利要求1、4或6所述的基于智能合约的时控性加密匿名交互方法,其特征在于,所述洋葱类型数据形式如下:
Figure FDA0003891255380000031
其中,
Figure FDA0003891255380000032
Figure FDA0003891255380000033
表示各层节点使用其公钥进行加密的密码变换;
Figure FDA0003891255380000034
Figure FDA0003891255380000035
和IPTS表示下层节点地址;Ci为密文分片。
CN202211260279.8A 2022-10-14 2022-10-14 基于智能合约的时控性加密匿名交互方法 Pending CN115664735A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211260279.8A CN115664735A (zh) 2022-10-14 2022-10-14 基于智能合约的时控性加密匿名交互方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211260279.8A CN115664735A (zh) 2022-10-14 2022-10-14 基于智能合约的时控性加密匿名交互方法

Publications (1)

Publication Number Publication Date
CN115664735A true CN115664735A (zh) 2023-01-31

Family

ID=84987267

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211260279.8A Pending CN115664735A (zh) 2022-10-14 2022-10-14 基于智能合约的时控性加密匿名交互方法

Country Status (1)

Country Link
CN (1) CN115664735A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116366241A (zh) * 2023-02-14 2023-06-30 北京交通大学 一种去中心化的以太坊定时交易隐私保护执行方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109981690A (zh) * 2019-04-29 2019-07-05 河南大学 一种基于区块链智能合约的防篡改定时数据保密传输方法
CN111556009A (zh) * 2020-03-19 2020-08-18 河南大学 一种支持任意指定时间解密的时间控制加密系统及方法
US20210073212A1 (en) * 2018-01-17 2021-03-11 Geeq Corporation Blockchain methods, nodes, systems and products
CN114422114A (zh) * 2021-12-08 2022-04-29 河南大学 基于多时间服务器的时控性加密方法和系统
US20220255739A1 (en) * 2021-02-10 2022-08-11 Huazhong University Of Science And Technology Method and system for ensuring search completeness of searchable public key encryption

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210073212A1 (en) * 2018-01-17 2021-03-11 Geeq Corporation Blockchain methods, nodes, systems and products
CN109981690A (zh) * 2019-04-29 2019-07-05 河南大学 一种基于区块链智能合约的防篡改定时数据保密传输方法
CN111556009A (zh) * 2020-03-19 2020-08-18 河南大学 一种支持任意指定时间解密的时间控制加密系统及方法
US20220255739A1 (en) * 2021-02-10 2022-08-11 Huazhong University Of Science And Technology Method and system for ensuring search completeness of searchable public key encryption
CN114422114A (zh) * 2021-12-08 2022-04-29 河南大学 基于多时间服务器的时控性加密方法和系统

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
CHAO LI等: "Decentralized Release of Self-Emerging Data using Smart Contracts Publisher: IEEE", 2018 IEEE 37TH SYMPOSIUM ON RELIABLE DISTRIBUTED SYSTEMS (SRDS), 5 October 2018 (2018-10-05) *
PENG JIANG等: "Toward Reliable and Confidential Release for Smart Contract via ID-Based TRE", IEEE INTERNET OF THINGS JOURNAL, vol. 9, 9 November 2021 (2021-11-09), XP011911805, DOI: 10.1109/JIOT.2021.3126340 *
谭艾伦: "云环境下基于不可识别陷门的可搜索加密方案研究", CNKI优秀硕士学位论文全文库, 15 August 2020 (2020-08-15) *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116366241A (zh) * 2023-02-14 2023-06-30 北京交通大学 一种去中心化的以太坊定时交易隐私保护执行方法
CN116366241B (zh) * 2023-02-14 2024-02-02 北京交通大学 一种去中心化的以太坊定时交易隐私保护执行方法

Similar Documents

Publication Publication Date Title
CN109964242B (zh) 一种基于信任关系的区块链共识方法
US11516006B2 (en) Systems and methods for selecting and utilizing a committee of validator nodes in a distributed system
CN101981889B (zh) 计算机集群系统中的安全通信
CN109345438B (zh) 一种隐私保护的联盟打车方法及系统
Zhou et al. Secure and privacy preserving protocol for cloud-based vehicular DTNs
Cheng et al. A survey of security threats and defense on Blockchain
CN109981690B (zh) 一种基于区块链智能合约的防篡改定时数据保密传输方法
JP6788875B2 (ja) ブロック・チェーン間でデジタル資産を転送するシステム
US10757007B1 (en) Techniques for payment-based network transmissions
US6052787A (en) Process for group-based cryptographic code management between a first computer unit and group computer units
Uddin et al. An efficient selective miner consensus protocol in blockchain oriented IoT smart monitoring
Zhu et al. Data security and privacy in bitcoin system: a survey
Zhang et al. Flash freezing flash boys: Countering blockchain front-running
Zhang et al. Blockchain-based secure equipment diagnosis mechanism of smart grid
CN114565386A (zh) 多方协同隐私保护的区块链托管交易方法及系统
CN112583598A (zh) 一种复杂物联网联盟链系统通信机制
CN115664735A (zh) 基于智能合约的时控性加密匿名交互方法
Mohanty et al. Siovchain: time-lock contract based privacy-preserving data sharing in siov
CN109660344B (zh) 基于非对称密钥池路由装置的抗量子计算区块链交易方法和系统
Ren et al. Building resilient Web 3.0 with quantum information technologies and blockchain: An ambilateral view
CN111277496B (zh) 区块链层次化数据交换方法、装置和计算机设备
US12028322B2 (en) Computer-implemented system and methods for off-chain exchange of transactions pertaining to a distributed ledger
Panduro-Ramirez et al. Blockchain approach for implementing access control in IOT
Carbunar et al. Tipping pennies? privately practical anonymous micropayments
CN112689009A (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