Skip to content

Commit 2770177

Browse files
julyawangHaoXuan40404
authored andcommitted
complement scd's introduction
1 parent 12bfd3a commit 2770177

7 files changed

+75
-30
lines changed

404.rst

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,4 +5,4 @@ Page Not Found
55

66
To find the page you are looking for you might want to ...
77

8-
* visit `WeDPR-Lab 1.0+ (Recommended version) <https://wedpr-lab.readthedocs.io/zh_CN/latest/>`_
8+
* visit `WeDPR-Lab 1.0+ (Recommended version) <https://wedpr-lab.readthedocs.io/zh_CN/latest/>`_

docs/api.md

+1-2
Original file line numberDiff line numberDiff line change
@@ -4,5 +4,4 @@ VCL接口说明文档:[点击这里](https://docs.rs/wedpr_s_verifiable_confid
44

55
SCD接口说明文档:[点击这里](https://docs.rs/wedpr_s_selective_certificate_disclosure/1.2.0/wedpr_s_selective_certificate_disclosure/)
66

7-
密码模块接口说明文档:[点击这里](https://docs.rs/wedpr_crypto/1.2.0/wedpr_crypto/)
8-
7+
密码模块接口说明文档:[点击这里](https://docs.rs/wedpr_crypto/1.2.0/wedpr_crypto/)

docs/introduction.md

+17-16
Original file line numberDiff line numberDiff line change
@@ -12,23 +12,10 @@ WeDPR全面拥抱开放,将陆续开源一系列核心算法组件,进一步
1212

1313
首组开源的核心算法组件将围绕**公开可验证密文账本**(Verifiable Confidential Ledger, VCL)解决方案进行,在数字化资产流通场景(如支付、清算)、涉及多方之间共享账本信息的场景(如供应链金融、跨境金融服务)等均可广泛应用。
1414

15-
开源(v1.1.0版本)包含的主要内容如下:
16-
17-
- 公开可验证密文账本的一个交互式样例,实现密文金额发行、密文金额四则运算关系验证、密文金额范围验证等功能;
18-
19-
- Rust SDK,封装底层算法,提供易用、易扩展、跨语言的编程接口;
20-
21-
- 三类零知识证明算法的高效稳定实现,包括密文加和关系证明、密文乘积关系证明、密文范围证明;
22-
23-
- 其他基础工具代码。
24-
25-
- Java、Android、iOS SDK使用示例
26-
27-
28-
29-
开源(v1.2.0版本)包含的主要内容如下:
15+
**v1.2.0版本**开源主要内容如下:
3016

3117
- **SCD场景式解决方案核心算法**,支持多种断言证明的高效稳定实现;
18+
3219
- SCD场景式解决方案的一个**交互式样例**,实现以下主要功能:
3320

3421
- 选择性披露证书颁发
@@ -38,12 +25,26 @@ WeDPR全面拥抱开放,将陆续开源一系列核心算法组件,进一步
3825
- 零知识断言披露验证
3926

4027
- 选择性属性明文披露和验证
28+
4129
- **Rust SDK**,封装底层算法,提供易用、易扩展、跨语言的编程接口;
30+
4231
- **FFI接口**,支持交叉编译跨语言、跨平台所调用的FFI适配接口;
32+
4333
- 其他**基础工具**代码;
44-
- Java、Android、iOS SDK使用示例。
4534

35+
- Java、Android、iOS SDK集成示例。
36+
37+
**v1.1.0版本**开源主要内容如下:
38+
39+
- 公开可验证密文账本的一个交互式样例,实现密文金额发行、密文金额四则运算关系验证、密文金额范围验证等功能;
40+
41+
- Rust SDK,封装底层算法,提供易用、易扩展、跨语言的编程接口;
42+
43+
- 三类零知识证明算法的高效稳定实现,包括密文加和关系证明、密文乘积关系证明、密文范围证明;
44+
45+
- 其他基础工具代码;
4646

47+
- Java、Android、iOS SDK使用示例。
4748

4849
我们期望能够通过代码开源的方式:
4950

+54-9
Original file line numberDiff line numberDiff line change
@@ -1,44 +1,89 @@
11
# 选择性认证披露场景方案
22

3+
## SCD隐私保护解决方案
4+
5+
在信息时代,信息披露无处不在,无论是个人还是企业,在日常活动中,都需要向不同实体披露经过认证的信息。例如,个人每次入住旅店时,需要出示本人身份证;企业每次参与竞标,需要提供经过相关部门认证的资质证明。
6+
7+
在传统方式中,为了获得此类认证后的凭证,用户往往需要向认证部门提供一系列认证材料,并完成相关认证手续,才能获得由相关部门签发的凭证,交互代价很高,往往只能支持捆绑认证,即多项数据只能一同认证且一同披露明文。
8+
9+
回到入住旅店的场景,虽然旅店要求客人出示身份证的主要目的是验证其为合法且满足年龄要求的公民,但这一看似平常的行为,也泄露了客人额外的敏感信息,如家庭住址、身份证号码等。在类似的企业资质证明中,尽管很多时候,仅需要证明企业特定财务情况满足一定的下限,而在传统的信息披露方式中,却不得不要求企业披露完整的敏感财务信息,由此未能实现隐私数据最小化信息披露,带来了不必要的隐私数据泄露风险。
10+
11+
![](../images/SCD.jpg)
12+
13+
针对这类场景痛点,WeDPR**选择性认证披露解决方案**,提供了最小化认证数据披露效果,**仅需认证一次**,在随后的信息披露过程中,用户可以自主选择需要披露的证书属性值明文,或者使用更为神奇的零知识断言披露方式,仅需提供“自身证书属性值满足认证条件”的断言证明(例如,证明我的年龄大于20岁,但不告诉对方具体几岁),而不提供任何隐私数据明文信息。
14+
15+
在技术层面,选择性认证披露的核心功能包括:用户可以在不依赖可信第三方服务的前提下,支持已认证证书中**任意类型的属性集合****任意子集的隐私数据披露**,并支持**基于属性值的零知识断言披露**,从而实现用户在证明自身具备某些属性值同时,完美保护了隐私属性值的明文和其他不必要披露的隐私属性值。
16+
17+
此外,选择性认证披露还进一步支持多个属性值同时进行零知识断言披露,仅当所有属性值都满足条件时,才能验证通过,当任一条件不满足时,不会泄露其他条件的满足情况,真正意义上实现了认证隐私数据的**最小化信息披露**
18+
19+
SCD场景式解决方案实现了“属性隐私同时可认证可监管”的业务模型,支持二次开发,能快速满足有“隐私认证身份凭证”需求的业务场景,如私密数字凭证、智慧医疗金融等。SCD场景式解决方案目前已经集成到微众银行自主研发并开源的**WeIdentity 分布式数字身份解决方案**中([WeIdentity仓库地址](https://github.com/WeBankFinTech/WeIdentit))。
20+
321
## SCD核心算法组件特性
422

523
WeDPR-Lab开源社区版中提供了SCD解决方案的核心算法组件和使用示例,具体包括:
624

725
- 选择性认证披露的Demo示例
826

927
- 选择性披露证书的全流程功能
10-
28+
1129
- 选择性披露证书的颁发
1230
- 选择性披露证书的混淆
13-
- 选择性披露证书的断言证明
14-
- 选择性披露证书的断言验证
31+
- 选择性披露认证的零知识断言证明
32+
- 选择性披露认证的零知识断言验证
1533
- 选择性属性明文披露和验证
16-
34+
1735
- 各类数值逻辑关系的零知识断言的证明和验证
1836
- 相等
1937
- 大于
2038
- 小于
2139
- 大于等于
2240
- 小于等于
23-
24-
- 其他基础工具代码
2541

26-
42+
- 其他基础工具代码
2743

2844
## SCD示例快速体验
2945

30-
完成[安装步骤](./installation.md)之后,进入示例目录,运行选择性认证披露Demo。
46+
为了便于用户更易理解选择性认证披露的效果,我们在SCD Demo中设定了如下具体示例应用场景:
47+
48+
用户申请“优秀青年”奖项,该奖项的申请条件为:年龄在[18,40]区间内,且贡献级大于6。根据具体贡献值,奖项又划分为:
49+
50+
- 贡献级 = 10,为 一等奖;
51+
- 贡献级 = 9 ,为 二等奖;
52+
- 贡献级 = 7或8 ,为 三等奖。
53+
54+
奖项授予方通过审核用户提供的个人认证信息,向用户反馈其是否具有该奖项的申请资格及对应的奖项评级。
55+
56+
完成[安装步骤](./installation.md)之后,进入示例目录,运行:
3157

3258
```bash
3359
cd WeDPR-Lab-Core/solution/selective_certificate_disclosure
3460
cargo run
3561
```
3662

37-
cargo run之后按照demo指引,设置中文或英文作为演示语言,按步骤输入即可进行体验。
63+
cargo run之后按照Demo指引,设置中文或英文作为演示语言,按步骤输入即可进行体验。
64+
65+
体验流程描述如下:
66+
67+
1. 用户基于属性模板填写个人凭证信息:年龄及贡献级。
68+
69+
2. 用户请求权威机构进行个人凭证信息认证,获得认证后的凭证。
70+
71+
3. 为防止权威机构对认证凭证的使用进行跟踪,用户对认证后的凭证进行混淆,获得混淆凭证。
72+
73+
4. 用户选择个人信息凭证披露方式(分别描述为以下5、6步骤)。
3874

75+
5. 用户仅提供断言证明,证明满足全部申报条件, 但不透露任何字段值。
3976

77+
- 用户生成并向奖项授予方提交“自身凭证信息满足奖项申请条件”的断言证明。
4078

79+
*(这种披露方式,奖项授予方无法直接获得用户个人凭证信息的明文,但通过对其断言证明的验证,即可判断该用户是否具有奖项申请资格。)*
4180

81+
6. 用户提供贡献级明文信息及其正确性证明, 但不透露年龄。
4282

83+
- 用户为其贡献级信息生成正确性证明。
84+
- 用户生成“自身年龄满足奖项的年龄申请条件"的断言证明。
85+
- 用户向奖项授予方提交贡献级明文、贡献级正确性证明、年龄断言证明。
4386

87+
*(这种披露方式,奖项授予方直接获得用户个人凭证信息中的贡献级明文,从而进行奖项等级评定;但无法直接获得用户的年龄信息,只能通过对其年龄断言证明的验证,判断该用户是否满足奖项的年龄申请条件。)*
4488

89+
7. 用户获得奖项授予方验证并返回的奖项资格验证结果。

images/SCD.jpg

78.5 KB
Loading

index.rst

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ WeDPR-Lab 用户文档
33
##############################################################
44

55

6-
- `什么是 WeDPR-Lab? <./docs/introduction.html>`_
6+
- `WeDPR-Lab是什么? <./docs/introduction.html>`_
77
- `安装 <./docs/installation.html>`_
88
- `公开可验证密文账本场景方案 <./docs/installation.html>`_
99
- `选择性认证披露场景方案 <./docs/installation.html>`_

release_note.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
v1.2.0
1+
v1.2.0

0 commit comments

Comments
 (0)