中国电建河北工程公司

数字化契约怎么样守卫?剖析群/环签名的妙用 | BTC
发布日期:2022-10-17 12:07    点击次数:200

作者:严强 / 微众银行区块链安好科学家

起原:微众银行区块链微信群众号

 

有用的数字签名机制是否必定会吐露签名方的身份?在不晓得签名方身份的条件下,怎么样验证数字签名的有用性?匿名的签名规划怎么样支持禁锢仲裁有用染指?其迎面的群签名和环签名技能之间有何差别?

在今世商业流动中,签名机制的字面说明是:为默示应承、抵赖、承担义务或义务而写下名字,同时验证方可以或许检修字迹的着实性,以核实签名的有用性。这个进程中,验证方每每可以或许从“名字”获知签名方的身份。在传统签名机制中,兴许获知签名方的身份,是验证签名有用性的须要条件。

这同时也带来了一个成就:假定染指商业流动的合作方,不违心或许利方便吐露自身的身份,那我们还能不克不迭与之签署有用的契约呢?

举个具体的例子,在典范的暗标采购场景中,投标方需要对自身投出的标书举行签名承诺,确保标书的有用性,并发挥阐发自身吻合必定的资质。与此同时,招标方、招标平台、别的投标方不克不迭经由过程签名识别出该投标方身份,防止出现围标、串标等潜伏造孽动作。

经管以上成就的关键,在于将数字签名的可验证性和签名方的身份信息解耦,这里就会用到群签名和环签名技能。这两类技能为什么兴许实现这样反常理的结果?且随本文一探毕竟。

  1. 群签名与环签名的匿名性  

在实现签名方身份埋没上,群签名和环签名是至多见的两类数字签名技能,其首要结果为签名的验证方只能验证签名来自于一个群体,但没法切确推测出签名具体来自哪个集体签名方。

回到从前的暗标采购场景,投标方可以或许经由过程群签名或环签名对自身的标书举行签名承诺,招标方和招标平台可以或许验证该标书是来自一个具有资质的群体,但没法获知其身份信息。

普通而言,一个有用的群签名或环签名算法,除了上一论提到的密码学数字签名的根抵特点之外,还具有下列特点: 群体匿名:验证方只能验证签名来自对应的群体,但没法精肯定位到集体成员。 不成链接:关于肆意两个签名,验证方没法获知它们是否来自同一的集体成员。 其根抵应用进程以下: 签名:同一群体中的集体成员应用各自差别的私钥对契约内容举行签名。 验签:验证方应用该群体的公钥对签名举行验证。

以长进程与经典数字签名最大的差别在于,尽管签名时可应用多个差别私钥中的肆意一个,但验签应用的却是同一个公钥,以此实现了必定的匿名性。

进一步细分,群签名有一个群打点员的设定,该打点员可以或许经由过程自身的打点员私钥识别举行签名的集体成员的身份,而且关于任一个成员,在同一群体内的别的成员不克不迭假充其举行签名,从而也使得禁锢仲裁成了兴许。

相比之下,环签名不需要引入群打点员,每一个集体均可以或许自由抉择别的集体,像直立聊天群同样,自由组建埋没自身身份的群体。乏味的是,Ron Rivest、Adi Shamir和Yael Tauman Kalai最初提出这一见解的论文标题成就为《How to leak a secret》,可见环签名最初的策画用途是用于安好匿名地泄露敏感信息。

在事实业务中,关于有禁锢需要或许高低级从属构造相比奔忙动的场景,可以或许优先应用群签名,邀请主管部份担任打点员的角色,为所辖领域内的集体成员签发对应的签名私钥,在须要时可以或许染指举行禁锢调剂。

关于构造构造相比灵巧,且对匿名性哀告相比高、不停留引入打点员的场景,环签名兴许是更好的抉择,集体成员可以或许自由抉择群体中成员,并对外将自身显现成该群体的一员。

值得留心的是,群签名和环签名实现的匿名性着实不是无条件的。应历时具体需要留心哪些事故,我们在下列两个小节中具体展开。

  2. 群签名的应用留心事故  

一个典范的群签名算法会奔忙及三类角色,其焦点应用流程以下: 群打点员

· 担现在始化群配置

· 生成群打点私钥并由自身生活生涯

· 基于群打点私钥,生成群公钥并果真

· 与新的群成员协商,为其生成或分拨成员的签名私钥

· 应用自身的群打点私钥对现有的签名举行身份解密 群成员· 应用自身的签名私钥对契约内容举行群签名 验证方· 应用今后的群公钥,对收到的群签名举行验证

可以或许留心到,群签名诸多操作进程中的焦点输入——群公钥是全体群成员共用的,也就是说,当群成员纠葛发生厘革时,今后的群公钥兴许会是以取消。

正如上一论所提到的,可信地取消一个旧公钥并散发一个新公钥,是一个相当有寻衅的进程,现有阶段的主流经管规划不能不寄托左右化的公钥根抵设置配备摆设,即便云云也不克不迭担保打消的公钥证书兴许及时地回响反映到公钥黑名单列表中。

在今世商业情形中,静态的业务往来触目皆是,假定每一次群成员纠葛发生厘革今后,都需要更新群公钥,那末群签名的适用性将大打折扣。

而今经典的群签名算法,对这一寻衅供应结部份经管规划,以经典的BBS04群签名算法为例,添加新的群成员着实不需要更新群公钥,群打点员可应用群打点私钥添加肆意多个群成员。

但BBS04核心算法并无供应答删除群成员的间接支持,难以有用地支持被删除群成员签名私钥的打消操作。为此,原论文和后续论文提出了一系列和谈层面的扩张,中国电建河北工程公司来减缓这一成就,罕见思路有: 定期果真一个私钥的打消列表,个中兴许包孕全体被删除群成员的签名私钥或相干信息,并同时更新今后的群公钥,使得被打消的群成员签名私钥没法生成与更新后群公钥成家的有用签名。 今后的群公钥对立稳固,但仍旧定期或及时果真一个私钥的打消列表,有用的群成员可以或许经由过程别的伎俩,如零知识证明,证明自身的签名私钥不在已颁布的打消列表中。 不管哪一类扩张,都引入了打消列表的策画,在事实业务中,假定需要支持高频的群成员纠葛厘革,怎么样担保着实时性和完备性都是不小的寻衅。

关于事实业务体系,平日会标的目标于对立今后群公钥的总体规划,削减密钥散发进程中带来的危险。以可信硬件执行情形TEE(拜会第14论)迎面的EPID和谈为例,其本质上是一个群签名,用于核实今后硬件设置配备摆设是否为已注册且未被插手黑名单的TEE模块。硬件厂商战役台服务商可以或许经由过程供应一个近程硬件认证服务,及时对TEE模块的有用性举行验证,掌握群成员打消(即TEE硬件被破解)的相干危险。

  3. 环签名的应用留心事故  

一个典范的环签名算法会奔忙及两类角色,其焦点应用流程以下: 环成员· 初始化自身的签名公钥和私钥对,并果真广播自身的公钥

· 监听广播,采集别的潜伏环成员的公钥

· 自主抉择一组环成员,将自身的公钥混入其公钥列表中,生利息次环公钥

· 联合环公钥和自身的签名私钥对契约内容举行环签名

· 颁布环签名终局和对应的环公钥

验证方· 应用环签名对应的环公钥,对收到的环签名举行验证,验证终局为签名方属于环成员之一

良多情形下,环签名算法每一次应用都市颁布新的环公钥(附加在签名数据中),所以不奔忙及群签名中群成员纠葛厘革后需要更新群公钥的成就。

但这一特点作为策画上的取舍,也影响了环签名的匿名性。环签名供应匿名性的强度,取决于采集到的别的潜伏环成员公钥的数量和品格。环签名的验证方可以或许经由过程环公钥中的公钥列表,相对苟且地推测出签名方的身份肯定为个中之一。

假定可以或许经由过程PKI等公钥服务获恰今后环成员公钥对应的身份,那更苟且肃清兴许性低的签名方,从而进一步削弱环签名的匿名性。相比之下,群签名供应的匿名性,除了群打点员之外,验证方没法切确地获知今后群中毕竟有几多个成员,以及这些成员是谁。

所以环签名在应历时,需要引入足够数量不记名的环成员公钥,担保其匿名性失去落实。以频年来相比出名的环签名应用CryptoNote为例,在其应用进程中,环成员会孕育发生必定数量标假账户,并为此划分生成随机公钥,以此来餍足环成员数量和品格的哀告,告竣难以追溯的匿名性。

关于涉计n个环成员的环签名,其完备签名数据的大小普通起码为O(n),作为去除群打点员的策画取舍,环签名的数据大小和计算宏壮度平日会比群签名高。所以,假定不介意群打点员的设定,群签名平日是更优抉择。

尽管焦点策画目标都是埋没签名方的身份,群签名和环签名在策画上各有取舍,普通情形下,可以或许参照下图举行根抵的技能选型。

正是:身份涉密契约难签署,群环签名可隐亦可现!

数字化经济中,埋没合作方的身份,关于展开奔忙及敏感隐私数据的高价钱业务,或许需要基于匿名性担保流程公平有用的民众服务等,是不成或缺的条件。基是以否需要禁锢染指,以及合作方纠葛是否奔忙动等具体需要,酌情选用群签名或许环签名算法,可以或许在合作方不吐露自身身份的条件下,实现有用契约的签署。

而今,群签名和环签名首要应用在投票、竞标、竞拍等场景,以保障染指者身份隐私,在联盟链管理中也有普及应用。以微众银行牵头联合金链盟开源事变组开源的FISCO BCOS联盟链底层平台为例,平台经由过程集成群、环签名规划,为用户供应兴许担保身份匿名性的器材。应用概况可参考《FISCO BCOS隐私特点:群/环签名技能实现》。

痛处业务需要,群签名或许环签名的根抵算法可以或许做进一步扩张,譬如,添加门限特点,使得只要在大都合作方应承的条件下材干实现签名等。

门限特点也是密码学数字签名高频应用的低档特点之一,对保障多方合作中平正、平等的合作纠葛至关首要,技能上毕竟怎么样实现,欲知概况,敬请关注下文合成。