Idemix(Identity Mixer)介绍

一、Idemix是什么

Idemix(Identity Mixer)的核心是零知识证明(Zero Knowledge Proof),用户无需暴露私有数据以及任何有用的信息,也能证明自己拥有这些私有数据,对方能够进行有效验证,这就是零知识证明。
Idemix是一个密码协议套件(X.509+加密算法),保留隐私实现匿名性,交易时不用透露交易者的身份,而且交易间是无关联的,不可往前追溯。

Identity包含三个角色,包括用户(User)、发行者(Issuer)、验证者(Verifier),各自作用如下:

用户:通过Idemix生成一个proof,证明自己知道某个秘密
发行者:(fabric CA 或 idemixgen工具)验证用户的隶属属性,然后颁发一个证书
验证者:(fabric MSP)验证proof

二、Idemix的实现

Fabric中Peer通过Fabric CA进行Enroll、Register、Revoke的操作,还可以通过Identity Mixer对交易进行签名验签的操作;
Identity Mixer和Fabric CA都需要调用加密包进行具体的流程。

带有Identity Mixer的MSP
除了X.509证书外,还可以通过发行idemix凭据来实现MSP。fabric CA初始化的时候,生成两个发行者的key,包括:

IssuerPublicKey
IssuerRevocationPublicKey。
Fabric CA或idemixgen工具可以作为发行者(Issuer),Idemix MSP作为验证者(Verifier),发行者为用户颁发数字证书,用户生成Idemix凭据后向验证者提供proof,用于验证属性是否正确。目前Idemix凭据只支持3个属性,包括:

OU
IsAdmin
Enrollment ID

三、Idemix的特性

Idemix与X.509的相同点如下:

一组属性被签名,且签名不可伪造
凭证通过密码学的方式绑定到一个密钥
Idemix与X.509的不同点如下:

Idemix通过零知识证明来确保不会泄露知识或信息,并且用户拥有凭证密钥;而X.509通过最初签名的公钥来验证,知道私钥的人才能生成证明;
Idemix是各个信息间是无关联的,且不可往回追溯;而X.509显示所有属性,因此所有用于签发交易的X.509证书使用都是关联的。
Identity Mixer与X.509的对比如下图所示:

Idemix与X.509是可以共存的,可以通过在configtx.yam里面指定“msptype: idemix”来支持Idemix,如下所示:

Idemix仍然有一些局限性:

只支持固定的属性,例如OU、Role attribute、Enrollment ID、Revocation Handle attribute等;
不支持Idemix的撤销
Peers还不能使用Idemix来进行背书,目前Peers的Idemix MSP只是用来验证签名,Idemix签名只能通过客户端SDK来进行;
建议每个channel或每个网络只使用一个基于Idemix的MSP,因为Idemix当前仅提供同一组织(MSP)中client的匿名性。
 

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值