一起来“考考”WeDPR密码学算法的安全性
本次靶场,针对WeDPR公开可验证密文账本(Verifiable Confidential Ledger,VCL)场景式解决方案中的3类零知识证明,提供密码学算法设计漏洞的挑战环境。
进入靶场
仓库地址:
https://github.com/WeBankBlockchain/WeDPR-Lab-Core
下载源码之后,进入bounty/src目录,可以看到如下文件:
main.rs:靶场挑战入口
vcl.rs:VCL方案的靶场流程实现
vcl_data.rs:待挑战的目标数据
正确性和完备性挑战
5. 挑战者获得其输入对应的证明验证结果。
密码学算法设计漏洞判定标准
针对每一个待挑战证明,挑战者的输入不满足证明关系但仍得到“验证通过”的结果;或者挑战者的输入满足证明关系但得到“验证不通过”的结果。具体解释如下:
挑战者找到一个数值输入a,属于[0, 2^32)区间,但却未通过范围证明的验证。
零知识性挑战
以上漏洞挑战主要针对零知识证明的正确性和完备性,对于最关键的零知识性,我们提供了另一个靶场入口:vcl_data.rs
该文件中包含了100组满足加和证明的密文凭证对,即其包含的金额值满足V_C1 + V_C2 = V_C3的关系。
密码学算法设计漏洞判定标准
通过零知识证明中暴露的额外信息(如果可用),还原出各个密文凭证中的金额明文credit_value和盲化因子secret_blinding。
特别注意:由于密文凭证的设计满足完美信息隐藏(information theoretic hiding)特性,在不知道secret_blinding的前提下,每一个密文凭证中的金额明文credit_value可以是任意值,所以成功发现零知识性相关的漏洞的条件是同时找出用于生成当前密文凭证的金额明文credit_value和盲化因子secret_blinding,单独猜一个金额明文credit_value不算。
提交漏洞
完成挑战后可以前往微众银行安全响应中心登录并提交漏洞,漏洞审核通过后将发放奖励到平台账户。
提交漏洞地址:
https://security.webank.com/report/add
奖励方式
凡属于专测范围内的有效漏洞,可获对应奖金奖励
漏洞等级 |
活动期间奖励 |
低危 |
40-340 |
中危 |
150-1350 |
高危 |
660-8240 |
严重 |
10000-20000 |
活动时间:2020年12月24日—2021年1月22日
此次专测活动漏洞定级测试和提交准则请参照《微众银行SRC漏洞处理和评分标准》,公众号对话框回复【WeDPR专测】获取标准。
活动申明
如遇到特殊情况,活动内容会及时进行调整;活动最终解释权归微众银行SRC所有。