Page 348 - 《软件学报》2021年第7期
P. 348

2266                                     Journal of Software  软件学报 Vol.32, No.7,  July 2021

                 某个秘密而同时又不泄露任何秘密信息的方法,这一过程需满足正确性、完备性和零知识性.零知识证明实质
                 上是一种涉及两方或更多方的协议,因此又可分为交互式零知识证明和非交互式零知识证明.交互式零知识证
                 明是指证明者和验证者通过不断交换信息来完成证明.从知识复杂性的角度来看,交互式零知识证明就是证方
                 传递的知识为 0 的交互式证明系统.非交互式零知识证明是指证明者和验证者无需多次交互也能达到零知识
                 证明的效果.目前在区块链系统中大多使用非交互式零知识证明来实现交易身份隐私保护,零币的相关内容可
                 参见第 4.4 节.
                 2.2    数字证书标识身份
                    以 Fabric 和 Corda 等为代表的联盟链则更关注强监管环境下客户身份识别(know your customer,简称 KYC)
                 的需求,均提供了基于数字证书的用户身份标识,以实现实名或可控匿名认证.
                    例如在 Linux 基金会所主导的开源联盟链平台 Hyperledger Fabric            [14] 中,Fabric 的成员服务(membership
                 services,简称 MSP)为区块链网络提供用户注册、身份管理和审计服务.Fabric 中默认的 MSP 实现使用 X.509
                 证书作为身份标识符,采用传统的公钥基础结构(public key  infrastructure,简称 PKI)分层模型,并支持 RSA 和
                 ECDSA 公钥密码算法.PKI 通过引入 CA 机构为注册真实身份的用户颁发数字证书,数字证书包含用户的身份
                 信息、用户的公钥信息、CA 数字签名和有效期等信息.数字证书作为身份标识符与用户具有一一映射关系.
                 在区块链交易过程中,数字证书可替代公钥来作为数字资产的权属标记,用户使用对应的私钥签名来完成支付
                 行为的确认.此外,CA 负责数字证书的全生命周期管理,包含数字证书的签发和更新,数字证书的撤销、查询或
                 下载等.数字证书的申请、发布和使用如图 4 所示.




















                                            Fig.4    Management and use of certificates
                                                 图 4   数字证书的管理和使用

                    更多的基于数字证书的身份管理机制可参见第 3.2 节和第 3.3 节.
                 2.3    DID标识身份
                    W3C 组织将分布式数字身份标识符(decentralized identifier,简称 DID)      [21] 定义为一种新型的支持可验证、
                 分布式数字身份的标识符,可用来标识人、组织、物品、抽象实体等任意主体.一般而言,数字身份通常由身份
                 标识符及与之相关联的属性声明来表示,分布式数字身份是基于区块链去中心化特点来构建的一种扁平化、弹
                 性化的身份管理模式,通过将身份数据所有权归还用户来解决隐私保护问题.分布式数字身份包括:分布式数字
                 身份标识符和数字身份凭证(声明集合)两部分.W3C 的 DID 规范和可验证凭证(verifiable credential)规范                  [22] 分
                 别定义了代表实体的身份标识符 DID 及与之关联的属性声明.
                    实体在注册申请后可获得一个 DID 或多个 DID,并由自己进行管理、维护,不同 DID 所代表的身份之间没
                 有关联性,可有效保护身份隐私.同时,每个 DID 会对应一个 DID Document.DID Document 是一个通用数据结构,
   343   344   345   346   347   348   349   350   351   352   353