容忍损毁的多承诺者门限数字承诺协议
2021-05-07孙丽艳
孙丽艳, 周 健, 杨 威
(1. 安徽财经大学 管理科学与工程学院, 安徽 蚌埠 233041;2. 合肥工业大学 管理科学与工程学院, 安徽 合肥 230000; 3. 北京邮电大学 计算机学院, 北京 100083)
随着电子货币、电子支付及电子合约的广泛应用[1-2],支撑上述运用的密码学原语得到广泛研究,如零知识、盲签名、安全多方计算、承诺协议等[3-4].承诺协议来源于1982年Blum提出的比特承诺协议[5],它不仅是安全协议的基础内容和模块[6],而且为电子货币、电子支付、电子合约提供支撑,如电子投票、电子投标、彩票销售、电子支付和商业谈判[7]等,因此承诺协议在电子金融中具有重要的研究意义及广阔的应用前景[8-10].
承诺协议中参与者包括承诺方Promisor和验收方Verifier,承诺者通过交互过程向验收者证明一个断言,并且确保不向验证者泄露任何额外的信息[9].在承诺阶段,承诺者发送给验收者一个证明,用来向接受者做出承诺,并且确保接受者得不到关于证明的任何信息;在打开阶段,承诺者公开打开承诺的必要信息,验收者用打开承诺的信息打开承诺,并验证承诺的信息是否来自承诺者.协议必须满足3个安全性质:隐藏性,验收者在承诺阶段不能打开承诺者的证明,即使接受者非诚实也满足该条件;绑定性,在承诺阶段,验收者只能接受一个合法的承诺,并且承诺者不能在打开阶段改变自己的承诺,没有承诺者的帮助验收者打开证明是一个困难问题;正确性,承诺者和验收者都诚实遵守协议的情况下,协议的错误是一个小概率事件.承诺协议无需第三方介入,提供非诚实环境中的协议模式.
构造特殊性质的承诺协议是一个具有挑战性的问题.根据承诺协议使用的密钥基础不同,分为2大类,一类是使用对称密钥机制构造的承诺方案,如基于单向函数的承诺、使用伪随机数生成器的承诺[10],使用较为简单,思想也较容易理解,但安全性分析起来较困难;另一类是基于公开密码算法的承诺方案[11],如基于离散对数的承诺,虽然构造较为复杂,但是安全分析过程较为系统,公钥基础的丰富特性能够进一步的丰富承诺协议的特点.根据承诺结构和内容,承诺协议分为比特承诺协议,数字承诺协议和复杂承诺结构的承诺协议[12].比特承诺协议中承诺是一个字符,数字承诺协议中承诺是一串字符,这些承诺协议关注承诺内容,而缺少承诺结构,因此具有功能性缺陷,不能满足复杂场景的需要.目前针对承诺结构的研究,集中关注于不可关联承诺[13-14],克服关联承诺造成的不公平性.一些承诺结构具有特殊的属性,如基于BCDR具有概率加密和同态加密特性[15]的承诺方案及全局可构承诺[16].一些面向多个承诺者的承诺协议被提出[17],但是不支持部分成员的损毁,承诺打开阶段也需要全体成员参与.因此,设计具有复杂承诺结构的承诺协议是一个挑战性问题.
随着互联网金融安全的广泛深入研究,现有的承诺协议存在缺陷,承诺者和验证者之间的关系不能满足多个合作者参与承诺过程,且承诺结构不能满足承诺者的需求,如联合投票、联合竞标、联合支付等.多参与者的承诺协议可能因为承诺者和接受者之间的合谋攻击导致无法满足数字承诺协议的隐藏安全属性[18].为解决上述问题,提出一种门限数字承诺协议,通过门限密钥协议构造承诺者的密钥碎片,将承诺的信息分布在多个承诺者中,只有超过门限值的承诺者合作,承诺打开方才可打开承诺,防止承诺者和验证者间的合谋攻击.
1 门限承诺模型
门限承诺协议具有多个承诺人,妥协承诺人可能造成协议失败.考虑以下场景,多个承诺人联合向验证者承诺,每个承诺者提供私有的承诺内容,所有承诺者独立提供的部分承诺通过约定操作组成完整承诺,承诺者可能在承诺打开之前因妥协而无法参与承诺打开,造成验证者可能只能收集部分承诺者的验证承诺信息.例如多个联合购买者向被购买者支付,购买人的支付结果由每个联合购买者提供部分承诺,在承诺阶段竞标结果对被购买者是秘密的,在打开阶段可能购买人因外在原因而缺失,但是剩余购买者可以给出承诺信息,被购买者在得到部分购买者的承诺信息后,可以恢复出承诺价格.从中可以总结这种承诺协议的特点,承诺内容由全部承诺人的私有承诺组成,承诺人在承诺打开阶段提供承诺碎片,验证者在收集超过门限值数量的承诺碎片后,可以恢复出承诺内容.
1.1 门限承诺结构
门限承诺协议中具有多个承诺者和一个验证者,协议承诺者pi组成集合P={pi,1≤i≤n},规模为n;验证者V,规模为1.
定义1 分项承诺:承诺协议中具有多个承诺者pi,分项承诺是多个承诺者中一个承诺者pi的承诺ci.
定义2 分项承诺关系:分项承诺关系是承诺ci之间的关系,记为Ri,j=〈ci,cj〉.
定义3 完整承诺:完整承诺是所有承诺者对验证者的一个完整承诺集合,以及该集合中分项承诺的关系,记为m={C={ci,1≤i≤n},R={
定义4 承诺碎片:承诺碎片是完整承诺中的一个碎片,具有门限恢复性质,即超过门限数量的承诺碎片可以恢复完整承诺.
定义5 门限承诺协议:门限承诺协议是一种多个承诺人向验证者提供承诺分项,并且验证者能够通过收集超过门限数量的承诺碎片恢复完整承诺的一种承诺协议.
门限承诺协议由4个阶段组成:初始化阶段、承诺分割阶段、承诺阶段和打开阶段.初始化阶段生成承诺者的私有密钥、密钥碎片和公开加密密钥,生成算法gen(1k)→〈si,0,ki,gs〉,1≤i≤n.承诺分割阶段,承诺人贡献私有承诺分项Δmi构造完整承诺con({Δmi,1≤i≤n})=m,通过承诺分割算法dis(m)得到承诺碎片dis(m)={∂mi,1≤i≤n}.承诺阶段,承诺人使用算法com(·)输入公共参考值r和被承诺的承诺分量Δmi,输出承诺ci=com(Δmi,r),发给验证者.在承诺打开阶段,验证人收集所有承诺人的承诺分量,使用算法col(·),得到完整承诺m=col({ci,1≤i≤n}).
1.2 门限承诺性质
性质1 承诺的独立性,在承诺打开前,承诺者不能通过承诺分项和承诺碎片打开其他承诺者的承诺分项和承诺碎片.
性质2 承诺的隐藏性,在承诺打开前,验证者不能通过承诺分项打开完整承诺.
性质3 承诺的门限性,在承诺打开阶段,验证者能够通过使用超过门限数量的承诺碎片打开承诺.
性质4 承诺的绑定性,所有承诺者不能否定完整承诺.
性质5 承诺的正确性,承诺者使用承诺分项给出的完整承诺与验证者使用承诺碎片恢复的完整承诺一致.
性质6 承诺的一致性,验证者能够根据承诺者的承诺分项和承诺碎片判断承诺者是否诚实,即承诺者寻找一个满足承诺分项且能修改完整承诺的承诺碎片是一个小概率事件.
性质7 承诺的关系完整性,打开阶段的完整承诺保留分享承诺的关系{Ri,j,1≤i≤n,1≤j≤n}.
2 门限承诺协议
2.1 初始化阶段
首先由承诺者{pi,1≤i≤n}随机生成一个多项式fi(x),根据该随机多项式分配承诺者的密钥碎片和共享加密密钥.设p为一个大素数,令g为n阶循环群G的生成元,采用门限ElGamal协议为每个用户分配密钥碎片和公开加密密钥,通过Feldman的VSS方案[19]秘密分配密钥碎片,并给出门限密钥的验证.
步骤3 承诺者pi将vj,i=fi(j)通过安全信道秘密发送给其他承诺者pj,i≠j,令ai,0=si,0,pi计算并广播承诺Bi=gai,j,1≤i≤n,1≤j≤t;
(1)
如果式(1)成立,则接受该碎片ki为有效密钥碎片,否则,请求所有承诺者pi重新发送正确碎片.
协议结束后,所有承诺者pi具有一个秘密的密钥碎片ki和公开加密密钥h,如果每个承诺者都正确的发送碎片vi,j,则有如下正确性校验:
2.2 承诺分割阶段
在承诺分割阶段,承诺m被分成承诺分项和承诺打开阶段的承诺碎片.
承诺分割阶段承诺者得到承诺分项Δmi和承诺碎片∂mi.
2.3 承诺阶段
在承诺阶段,所有承诺者统一对承诺内容m承诺,承诺者保存承诺碎片∂mi,则承诺者的承诺碎片∂mi和完整承诺m之间满足如下关系:
步骤1 所有承诺者协商产生共享随机数r∈p;
步骤2 承诺者pi使用计算ci=grsi,0yΔmi(modp),ci即为成员pi对验证者的承诺,承诺者pi将ci发送给接受者;
2.4 承诺打开阶段
步骤1 超过门限t数量的承诺者向接受者公布密钥碎片r,gki(modp)和承诺碎片∂mi;
步骤2 接受者使用t数量的gki(modp)和mi验证承诺.
3 性能分析
设承诺者和验证者的计算能力为多项式时间有界,从独立性、隐藏性、门限性、绑定性、正确性和一致性6个方面分析协议的安全性.
3.1 独立性
承诺阶段承诺者pi给出ci=grsi,0yΔmi(modp),承诺者pj给出cj=grsj,0yΔmj(modp),基于离散对数难解问题,区分ci和cj的概率满足如下公式,v(k)为一个可忽略的函数:
3.2 隐藏性
密文ci=grsi,0yΔmi(modp)中基于离散对数难解问题,验证者获得mi的概率等同破解理算对数难解问题,同理验证者从密文grs0ym中获得m的概率等同破解离散对数难解问题.
3.3 正确性
验证者在承诺打开阶段中得到的完整承诺是准确的.计算如下公式,验证者收集超过门限t数量的承诺碎片后,计算完整的承诺:
承诺阶段的承诺与打开阶段的承诺一致.
3.4 门限性
单方数字承诺协议中,验证者处于不利地位,在没有承诺者的帮助下,验证者不能够打开承诺者的证明.在保证门限数量承诺者参与情况下,即使部分成员的损毁,仍可打开证明.从正确性上的公式可以看出,验证者只需要收集超过门限数量的承诺碎片就可以验证承诺的正确性.
3.5 一致性
经过参数协商阶段、承诺分割阶段,每个诚实的承诺者在承诺阶段给出的承诺分量对应完整承诺,建议协议中,每个承诺者的承诺分量为ci=grsi,0yΔmi(modp), 验证者收集全部承诺分量后,计算完整的承诺
因此建议的协议满足门限承诺协议的一致性.
3.6 绑定性
3.7 关系完整性
4 总 结
本文提出一种具有门限性质的承诺协议模型,定义完整承诺、承诺碎片和承诺关系,并通过门限密钥基础扩展数字承诺协议,验证门限数字承诺协议的可行性.门限承诺协议不仅丰富了承诺结构,通过承诺碎片建立多个承诺人之间的承诺关系,而且能够容忍部分承诺者的损毁,防止承诺者和验证者间的合谋攻击,满足门限数量的承诺碎片即可恢复完整承诺,提高了协议运行的可靠性和灵活性,支持多承诺者参与,进一步丰富了承诺协议的研究内容.建议协议进一步优化电子支付、电子投票、电子投标等复杂应用.