DAA 匿名验证

2016年论文《Universally Composable Direct Anonymous Attestation》中提到了Direct Anonymous Attestation (DAA)。
- DAA基本概念
【以下内容摘自[1] 博客Direct Anonymous Attestation 解析(1)
[2] 博客Direct Anonymous Attestation 解析(2)】
DAA(Direct Anonymous Attestation)是一种特殊的远程身份认证协议,该协议存在于具有可信模块的平台上。
DAA是一个签名方案,由TCG组织颁发其标准。它名字源于:
Direct Proof - 不采用可信第三方的介入;
Anonymous - 不会泄露签名者的身份;
Attestation - 对来至于TPM的陈述进行证明。
那么DAA既然是签名方案,首先我们要回顾一下签名的几种类型(从校验者的角度来看):
- 1对1的签名方案:即,普通的签名方案。校验者可以根据签名者的认证公钥即可判断该签名的归属;
- 1对N的签名方案:例如,环签名、指定校验者的签名、并行签名等。这种情况下,校验者需要知道所有潜在签名者的认证公钥,即1对N;
- 1对一组的签名方案:例如,群签名、DAA等。校验者需要一个认证的群公钥。
1
2
3
当然,DAA是一种特殊的群签名,它和群签名的区别是:群签名具有签名可跟踪性以及不可关联性,也就是说,管理员可以根据签名来揭示真正的签名者是谁;而DAA签名方案则具有灵活的可跟踪性以及可关联性,这是因为该协议中没有用于揭露身份的授权者(例如,群中的管理员或其他可信第三方),然而,DAA签名协议可以提供一种机制,这种机制叫做“用户可控匿名性”和“用户可控关联性”。该机制可以使得来至于同一个签名者的多个既定签名对于同一个或多个校验者来说是可关联的(因为对于某些应用来讲需要这样做,如图:)。

该图中我们可以看到,对于不同的几个服务器上的同一种应用且基于同一个bsn的签名是可关联的。一旦,服务器对该用户提供的某一个应用服务终止,例如Verifier_1上的App_3,那么与该应用相关的其他应用也会同时终止,例如Verifier_2上的App_1以及Verifier_3上的App_1和App_2。其具体实现的方法,在DAA协议构建的方案中可以看到。
1.1 TCG目标
TCG体系结构的目标主要将以下几个方面加以平衡:1.保护用户的信息;2.保护用户的计算环境;3.确保用户所选择使用的安全机制;4.保护用户的隐私。很显然在认证过程中,隐私和安全性从根本上说是矛盾的,如图所示:

这是因为:若确保安全性,那么校验者必须知道证明者拥有一个真实而确切的TPM,例如,可以用公钥密码体制进行验证,但是这样做会使得证明者的隐私性得不到保证。那么,如果确保了证明者的隐私性,那么校验者就仅仅只能知道该证明者拥有一个有效的TPM,但不知道确切的是哪个TPM以及是不是真实的,这样安全性就得不到了保证,例如,如果有一个TPM的私钥被敌手得到,那么该敌手就可以冒充该TPM与校验者进行成功的访问。基于以上的问题,E.Brickell 和 L.Chen等人提出了DAA方案。
TPM,它是一个嵌入在通信平台中的可信模块,能够提供类似于智能卡的安全功能,与通信平台之间的关系是一对一的关系,它的数据处理功能以及存储功能是与外界平台模块相对独立的。具体内部构造可参见:
平台认证,首先TCG规定了一个TPM必须要拥有一个“背书密钥EK”(Endorsement Key),与TPM的关系是一一对应的,用于证明该TPM是一个确切而真实的TPM,但出于隐私的原因,EK并不代表平台的身份。因此,TCG规定了一个TPM可以控制多个用于平台认证的假名,即“认证身份密钥AIK”(Attestation Identity Key),AIK由TPM内部生成,与EK不同的是,AIK可以有多个,且相互之间不可关联。这样AIK就可以代表平台的身份,用以证明平台的属性等。但是这就出现了一个问题,即“如何将EK(平台身份)和AIK建立关联?”这个问题用图示的方法表示如下:

- 2016年论文《Universally Composable Direct Anonymous Attestation》代码实现
代码实现见:https://github.com/cliqz-oss/anonymous-credentials
参考资料:
[1] 博客Direct Anonymous Attestation 解析(1)
[2] 博客Direct Anonymous Attestation 解析(2)
[3] 博客Direct Anonymous Attestation 解析(3)
[4] 博客Direct Anonymous Attestation 解析(4)
[5] 博客Direct Anonymous Attestation 解析(5)
[6] 2016年论文《Universally Composable Direct Anonymous Attestation》
————————————————
版权声明:本文为CSDN博主「mutourend」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/mutourend/article/details/104118414