摘要:随着数字货币发展的广泛应用,区块链作为其核心支撺迅速成为关注的焦点.由于区块链可充当一个去中心化的可信第三方,因此在设计电子合同签署协议时,可引入区块链来保证其公平性.现有的基于区块链的合同签署协议大多只适用于两方的合同签署,当考虑扩展为多方合同签署时,由于签署方需要对每个签名进行验证,验证工作量极大.因此,设计一个简单又高效的多方公平合同签署协议成为电子商务安全丞待解决的关键问题.可验证加密签名(verifiablyencryptedsignature,VES)能够有效地保证互联网上交易过程的公平性,很自然成为合同签署协议构造的一种常规技术手段.聚合签名能够聚合多个签名为一个签名,从而提高签名和验证的效率.本文结合可验证加密签名和聚合签名,提出无证书的聚合可验证加密签名方案(CLAVES),并给出一个具体的构造方案并证明其安全性.利用该方案设计出基于区块链的多方合同签署协议.该协议分两个阶段.(1)在区块链链下阶段,签署方执行CLAVES方案,生成各自的CLAVES签名?若所有的CLAVES签名验证通过,则进入区块链链上阶段,否则协议停止?(2)在区块链链上阶段,利用基于罚金的公平交换协议(claimorrefund,COR)思想,签署方在区块链上公平地交换各自的秘密值,最后通过计算,可提取出各方对合同的普通数字签名,从而完成合同的签署.通过分析和与已有的多方合同签署协议对比表明,本文提出的多方合同签署协议具有高效性和公平性.
关键词:区块链;公平合同签署协议;聚合签名;高效;隐私保护
1、引言
随着信息技术的发展,如今签署方可通过网络交换各自的签名来完成合同签署.由于网络的异步性,合同签署过程也是异步,这必然会带来一定程度的不公平性.公平合同签署协议是公平交换协议的实际应用,旨在保障签署方公平地交换合同的数字签名.公平交换协议按有无第三方参与可分为两类:第一类无需第三方参与.比如基于逐步交换协议的思想[1],签署方需要逐步释放秘密值.这类协议不仅存在不公平性且需要昂贵的通信费用.另外一类依赖于可信第三方保证公平性[2<,又可细分为在线的与离线的两类.基于在线(半)可信第三方的协议[2,3>需要第三方始终在线,所以在多用户系统中,该协议的效率较低.基于离线可信第三方的协议w可避免在线第三方的缺陷,该协议的第三方只在签署方出现争端时,参与解决争端问题,但是该类协议的第三方是中心化的,存在为了牟利与签署方合谋或泄露敏感信息的情况,从而存在不公平性和隐私泄露的问题.
相关期刊推荐:《信息安全与技术》现已更名为《 网络空间安全》杂志是我国信息安全和信息技术领域集学术性、技术性、专业性和性为一体的部级月刊,面向中国信息安全与技术领域,展现学术水平和专业技术成果,创建中国信息安全与技术领域及时交流平台,以期提高我国信息安全和信息技术的突破。将为工程技术人员提供中、高级职称评定,为项目申请作证明依据,体现用户单位管理及技术人员的应用成果,发表科研院所研究人员的研究成果、IT企业的技术突破、工程人员的实施经验总结,以及有关单位管理经验的实施性总结。
区块链是一种基于共识算法的技术,使得在完全不信任的节点之间建立起信任机制w.因此,区块链在功能上可以提供一个无中心化的可信第三方.文献丨6-9]基于区块链技术设计公平交换协议,其核心思想是依赖罚金机制,即诚实方可获得奖励,而不诚实方将会受到罚金惩罚.文献110]利用公平交换协议设计电子投票方案,利用罚金机制迫使投票者诚实地投票,否则将会受到惩罚.不仅如此,区块链利用地址作为假名身份,一定程度上保障用户身份隐私.鉴于区块链的这两个特性,基于区块链技术的公平合同签署协议的构造成为研究热点[11_15].
值得注意的是,基于区块链的公平合同签署协议在签署方出现争端时,区块链上的节点都能提取出普通签名(为了与可验证加密签名区别开,本文将经典签名称为普通签名),又会造成隐私泄露问题.文献[12]构造了一种盲的可验i正加密签名(blindverifiablyencryptedsignature,BVES)算法,并提出一种基于公开区块链的隐私保护公平合同签署协议来解决隐私泄露问题.签署方首先在区块链链下进行协商秘密因子,用来盲化合同与身份信息;然后在区块链链上实现公平交换BVES签名,从而实现双方公平合同签署协议.在区块链上需要基于以太坊的智能合约或基于超级账本的链码来实现对BYES签名的验证.文献[13]在文献[12]的基础上,从实用性的角度出发,设计了专门用于签署合同的数字货币CcmtmrtCoin.
可验证加密签名(verifiablyencryptedsignature,VES)是保证合同签署公平性的重要工具.文献[4]首次提出VES方案的思想,该方案参与方包含:签名者、验证者和仲裁者.签名者利用仲裁者的公钥对普通签名进行加密,由此生成VES签名.验证者可以通过仲裁者的公钥来验证VES签名的有效性,但是无法提取出普通签名.当出现争端时,验证者可以要求仲裁者来提取普通签名.文献[16]基于短签名方案构造出一个VES方案,由此开始,VES方案得到广泛的关注.因此,研究人员相继提出不同的VES方案[12,13,17>181其中文献[17]基于离散对数,提出一个实用的VES签名方案,后续被文献[15]应用于设计公平合同签署协议.文献丨181则是基于格理论,提出一个新的VES签名方案.
在物联网中,聚合签名的广泛应用,使其迅速成为研究热点.无证书聚合签名与传统基于PKI的聚合签名相比较,既不需要管理公钥证书,又不存在密钥托管的问题.因此,无证书聚合签名方案更具实用性.文献丨191首次提出基于无证书的聚合签名方案来解决传统基于PKI聚合签名中证书管理和密钥托管的问题.随后基于高效和安全两个特性展开了大量的研宄[21 ̄26].
文献丨21]提出了一个新的无证书聚合签名方案,并对其安全性进行证明,但是该聚合签名方案的签名长度依赖于用户数量.文献丨22]构造的一个无证书聚合签名方案被指出是可以普遍伪造的@1.随后,基于聚合签名长度固定的想法,文献[24j提出一个签名长度固定的聚合签名方案,随即被指出该方案不能抵抗类型II敌手的攻击[251.在此基础上,文献[26]对该方案进行改进,并提出一个新的签名长度固定的无证书聚合签名方案.因此,构造一个签名长度固定的无证书聚合签名仍旧是一个难点.
1.1本文工作
本文的主要贡献如下:
(1)将无证书聚合签名(certificatelessaggregatesignature,CLAS)方案116)和VES方案结合起来,提出无证书的聚合可验证加密签名(certificatelessaggregateVES,CLAVES)方案,并给出其安全模型;
(2)基于具体的CLAS方案【21】,构造出一个具体的CLAVES方案,并证明了其安全性;
(3)基于具体的CLAVES方案构造了基于区块链的多方合同签署协议,该协议设计简单高效且满足公平性.
1.2相关工作
现有公开工作中,签署方大多数是两方.当扩展为多方合同签署时,若各签署方都需要对每个(BVES)VES签名进行验证,则(矿工)签署方的验证工作量极大.因此,设计一个简单又高效的多方公平合同签署协议成为一个严峻的挑战.
文献丨15j设计了一种基于区块链的三方合同签署协议,各签署方首先在区块链链下协商共享一个门限公钥,用于构造VES签名[17】.当成功验证所有签署方的VES签名之后,在区块链链上实现公平交换秘密因子.最后通过VES签名和秘密因子计算得出三方的普通数字签名.该协议通过区块链链上的公平交换协议来保证公平性,以及区块链链下的可验证加密签名方案保障签署方隐私.由于在区块链链下阶段需要验证每一方VES签名,随着签署方的人数增多,计算开销将增大,并且在区块链链上阶段实现deposit交易M过程较为复杂.
文献[14j在文献I12j的基础上,以增强协议的隐私性为目标,引入混币技术来设计公平合同签署协议,并且可支持多方进行合同签署.该协议分为两个阶段.区块链链下阶段,各签署方通过共享多个秘密因子,来盲化合同及身份信息.在区块链链上阶段,签署方与各自选定的第三方进行合同签署,即公平地交换签署方的BVES签名和第三方的临时密钥.虽然该协议可拓展为多方合同签署,但是在区块链链上阶段,矿工的工作量随着签署方的增加而增大,由此签署方所要支付的交易费也随之增多.
本文提出一个安全的具体的无证书的聚合可验证签名方案(CLAVES),利用这个方案设计了基于区块链的多方合同签署协议.将签名和大量的签名验证工作放在区块链链下,仅当所有的签名通过验证后才进入区块链链上,使得在区块链链上阶段仅用来公平交换秘密值,矿工只需要增加验证公私钥对是否匹配,从而计算开销不随签署方人数的增多而增大.同时,通过分析和与已有的多方合同签署协议对比表明,本文提出的多方合同签署协议简单高效且具有公平性.
2预备知识
本节介绍预备知识.在2.1节介绍双线性对的定义,在2.2节介绍一种基于罚金的公平交换协议,在2.3节介绍CLAS方案及其安全性模型,在2.4节介绍VES方案及其安全模型.
2.3.2CLAS方案的安全模型
与无证书的公钥密码体制相同,文献[21]给出两种类型的敌手Ae{Ai,Ah丨,其中敌手也是一个恶意的用户;敌手j4ii是一恶意的密钥生成中心(KeyGenerationCenter,KGC).具体如下:
类型I:敌手没有主密钥以及用户的部分私钥,但是他有能力随意替换任何用户的公钥.
类型II:敌手An知道主密钥以及用户的部分私钥,但是他既不知道用户的秘密值,也不能随意替换任何用户的公钥.
攻击者4和An分别和挑战者C进行模拟游戏Gamel和Game2,具体游戏过程参考文献[21].对于未进行签名询问的消息,若攻击者先能输出一个在自己替换新的公钥下的有效消息签名,则攻击成功;若攻击者能输出一个有效的消息签名对,则攻击成功.
定义1若多项式有界的两类敌手和分别在Gamel和Game2中攻击成功的概率都可以忽略,则CLAS方案在适应性选择消息攻击下是存在不可伪造的P1.
2.4VES签名方案
本节简要介绍VES方案及其安全属性1191.
2.4.1VES方案定义
一个VES方案有三个参与者:签名者,验证者以及仲裁者.方案具体包含以下八个算法:
Setup:输入安全系数fc,输出系统参数params.
KeyGen:输入系统参数params,输出签名者公私钥对(PK,SK).
AdjKeyGen:输入系统参数params,输出仲裁者的公私钥对(APK,ASK).
Sign:输入签名者的私钥SK和消息m,输出签名者的普通签名C7.
Verity:输入签名者的普通签名a、公钥PK和消息m.若普通签名验证正确,则输出true.否则,输出false.
VESigCreate:输入公钥PK、消息m以及仲裁者的公钥APK,输出对消息m的可验证加密签名I/.
VESigVerity:输入公钥PK、消息m、仲裁者的公钥APK以及可验证加密签名I/.若签名1/是对应公钥PK和消息m的可验证加密签名,则输出true.否则,输出false.
Adjudicate:输入公钥PK、对消息m的可验证加密签名1/以及仲裁者的公私钥对(APK,ASK),输出消息m在公钥PK下的普通签名
2.4.2VES方案的安全属性
VES方案的正确性需满足如下两点:
(1)由VESigCreate算法生成的可验证加密签名£/必须通过VESigVerity算法的验证;.
(2)仲裁者通过Adjudicate算法可以有效地从可验证加密签名v中提取出普通签名<7,且该签名必能通过Verify算法的验证.
除了正确性,VES方案还需满足以下三个安全性质:
(1)不可伪造性:攻击者无法伪造他人的可验证加密签名;
(2)不透明性:除了仲裁者外,攻击者不能从可验证加密签名中提取普通签名;
(3)可提取性:仲裁者总能从一个有效的可验证加密签名中提取出一个有效的普通签名.3CLAVES方案本节基于2.
3节CLAS方案和2.4节VES方案,在
3.1节给出CLAVES方案的基本定义.
在3.2节基于文献[21]的CLAS方案,给出一类具体的CLAVES方案,并在3.3节给出具体方案的安全性证明.3.1CLAVES方案的定义该方案由以下八个算法组成:
Setup:安全参数为fc,KGC选取主密钥A,公开系统参数params.
PartialPrivateKeyExtract:输入用户身份信息IDi,系统参数params和主密钥A,输出部分私钥
UserKeyGen:输入用户身份ID,,随机选取输出用户的秘密值和公钥对(*,,只).
AdjKeyGen:输入系统参数params,输出仲裁者的私钥对(APK,ASK).
VESSign:输入系统参数params,消息M,仲裁者公钥APK,状态信息A,用户身份信息IDt,私钥及其公钥只,输出可验证加密签名
Aggregate:聚合者执行该算法.输入ri个身份-消息-公钥-签名对(ID,,紙,只,^,输出聚合签名<7.
AggregateVerify:输入系统参数params,状态信息A,仲裁者公钥APK,聚合签名为〇■,用户身份信息IDt及其公钥只.若聚合签名有效,输出true,否则输出false.
Adjudicate:输入用户公钥巧、对消息風的可验证加密签名
定义2在CLAVES方案中,如果其在适应性选择消息攻击下是存在不可伪造的且满足VES方案的三个安全性质,则称该CLAVES方案是安全的.
* 稍后学术顾问联系您