Page 351 - 《软件学报》2021年第7期
P. 351
姚前 等:区块链系统中身份管理技术研究综述 2269
Priv_Key=(EnrollPrivateKey+ExpansionValue) mod n,根据椭圆曲线的密钥叠加特性,则对应的公钥为 TCertPub_
Key=EnrollPub_Key+ExpansionValue·G.
Table 1 The architecture of Tcerts
表 1 TCerts 结构
名称 描述
TCertID Tcert 证书序列号
encEnrollmentID EnrollmentID 的密文
encTCertIndex TCertIndex 的密文
TCertPub_Key TCert 的公钥
Extension 证书扩展域
Validity period 证书有效期
客户端在交易过程中使用不同的 TCerts 来完成不同的交易,因此观察者无法有效识别出用户的真实身份.
但这一方案也存在一定的问题:第一,为了实现更好的身份隐私保护,这一方案要求 TCA 和用户维护大量的
TCerts 证书,从而增加了系统在密钥管理、通信和存储方面的负担;第二,如果用户重复使用 TCerts 也会带来交
易的可链接性问题;第三,对于发行 TCerts 的 TCA 而言,它仍然可以链接用户的不同交易.
为了弥补 TCerts 方案的不足,目前在 Fabric 2.0 版本中引入 Idemix 方案 [27] 来实现用户身份的匿名性和不
可链接性.Idemix 方案是基于支持多消息的盲签名和零知识证明来构建的,Fabric 2.0 版本中的 Idemix 实现方案
主要是基于文献[2830]中的工作.Idemix 提供的匿名身份认证机制具有如下特性 [31] .
(1) 签发者签发包含一组用户属性的凭证(credential);
(2) 用户在使用凭证进行身份认证时通过零知识证明向验证方证明其拥有凭证并可选择性地出示相应的
属性.这一过程是零知识的,不会向观察者泄漏任何其他信息;
(3) 匿名性,即通过认证过程观察者无法获得用户真实身份信息;
(4) 不可链接性,即观察者无法将用户的多次认证过程链接在一起.
Idemix 方案与 X.509 数字证书认证方案的不同在于 Idemix 使用零知识证明,向验证者证明证明者拥有签
名及相应属性且无需出示这些值.Idemix 与 X.509 证书方案的比较如图 7 所示.
Fig.7 Comparisons between Idemix and X.509 in Fabric
图 7 Idemix 和 X.509 方案的比较
此外,Corda 中也引入了隐蔽身份(confidential identities)的概念使用临时生成的密钥对来保护隐私 [32] ,它的
设计原理类似于 Fabric 中的 TCerts 机制,这里不再赘述.
微众银行的 FISCO BCOS 区块链平台为了提高用户交易过程中的身份隐私保护,引入了群签名(group