论文部分内容阅读
匿名凭证系统采用一种匿名的且不可连接的方式来出示用户的电子身份凭证,同时能够对一系列属性关系进行证明。但是,传统的属性证明协议通常具有与用户属性数量相关的线性计算复杂度,不适用于智能卡等资源有限的设备。因此,论文针对该问题对属性证明协议的计算复杂度优化进行了研究,提出一系列高效的属性证明协议。本文的核心思想是,为用户的每一个属性颁发对应的匿名凭证,并且通过选择性地聚合用户签名的方式来证明其属性关系。本文的主要工作有:(1)对Camenish和Lysyanskaya在2004年提出的CL签名机制进行研究与改进,结合聚合签名的技术,提出选择性聚合CL签名机制,该签名机制在签名验证阶段具有常数的计算复杂度;并证明了该签名机制在标准模型下具备正确性,且对于自适应消息选择攻击存在不可伪造性。在此基础上,构造匿名凭证系统,并形式化地证明该协议的安全性。(2)在匿名凭证系统中设计一系列属性证明协议。由于其基于属性的策略,用户不仅能够自主选择证明协议中需要涉及的属性和相关的匿名凭证;而且也能够在证明这些属性关系的同时证明对其匿名凭证的持有。本文对这些属性证明协议进行描述,并形式化地证明其安全性。(3)采用Java语言,使用了IatePair包,利用椭圆曲线上的双线性对运算来实现这些属性证明协议。协议包括三个实体:用户(User),凭证颁发者(Signer)和验证方(Verifier)。首先给出实体类的设计,包括ECC类,user、signer、verifier类以及各自的成员属性和方法;其次给出了核心功能的实现过程,包括选择性聚合CL签名机制,匿名凭证颁发协议和属性证明协议的实现流程图;最后对属性证明协议进行时间复杂度和具体性能的分析表明,本文的属性AND和OR关系证明协议的计算代价都小于传统的CL匿名凭证系统和基于累加器的系统;而属性区间和不等式证明协议在传统的CL匿名凭证系统和基于累加器的系统中都未涉及到,本文对于属性区间和不等式谓词的证明进行了完善。