CN113221089A - 基于可验证声明的隐私保护属性认证系统及方法 - Google Patents
基于可验证声明的隐私保护属性认证系统及方法 Download PDFInfo
- Publication number
- CN113221089A CN113221089A CN202110276797.8A CN202110276797A CN113221089A CN 113221089 A CN113221089 A CN 113221089A CN 202110276797 A CN202110276797 A CN 202110276797A CN 113221089 A CN113221089 A CN 113221089A
- Authority
- CN
- China
- Prior art keywords
- user
- attribute
- protocol
- commitment
- service provider
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 33
- 238000012795 verification Methods 0.000 claims abstract description 42
- 230000004044 response Effects 0.000 claims description 35
- 238000004364 calculation method Methods 0.000 claims description 15
- 101000772194 Homo sapiens Transthyretin Proteins 0.000 claims description 12
- 102100029290 Transthyretin Human genes 0.000 claims description 12
- 238000000354 decomposition reaction Methods 0.000 claims description 7
- 125000004122 cyclic group Chemical group 0.000 claims description 6
- 238000013507 mapping Methods 0.000 claims description 4
- 230000003993 interaction Effects 0.000 claims description 3
- 230000004048 modification Effects 0.000 claims description 3
- 238000012986 modification Methods 0.000 claims description 3
- 238000013461 design Methods 0.000 abstract description 4
- 230000002452 interceptive effect Effects 0.000 abstract 1
- 230000006870 function Effects 0.000 description 29
- 238000010586 diagram Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 238000011161 development Methods 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 3
- 238000011217 control strategy Methods 0.000 description 2
- 230000004069 differentiation Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000007123 defense Effects 0.000 description 1
- 230000002950 deficient Effects 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
- G06F21/33—User authentication using certificates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/45—Structures or tools for the administration of authentication
- G06F21/46—Structures or tools for the administration of authentication by designing passwords or checking the strength of passwords
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/604—Tools and structures for managing or administering access control systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6245—Protecting personal data, e.g. for financial or medical purposes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Automation & Control Theory (AREA)
- Medical Informatics (AREA)
- Databases & Information Systems (AREA)
- Storage Device Security (AREA)
Abstract
本发明提供一种基于可验证声明的隐私保护属性认证系统及方法,涉及身份认证中的隐私保护技术领域。本发明首先采用W3C的“可验证声明”设计凭证的数据结构,通过验证其签名可以确认所声明内容是否有效,由此规范了身份验证的标准;针对“可验证声明”所存在的隐私问题,对其结构进行了扩展,增加了相应字段,从而使“可验证声明”具有匿名性;采用BB短签名方案和非交互式零知识证明技术实现了属性值的区间证明、“非”关系证明及“或”关系证明;给出了协议的详细设计,包括初始化、凭证颁发协议、凭证出示协议及属性证明协议,将“可验证声明”应用在上述协议中;实现了对用户的隐私保护认证。
Description
技术领域
本发明涉及身份认证中的隐私保护技术领域,尤其涉及一种基于可验证声明的隐私保护 属性认证系统及方法。
背景技术
近几年来,互联网与计算机技术的发展给我们的生活带来了极大的改变。我们可以使用 不同的网络身份,参与在线观影、网上购物、网上教育、电子医疗、电子政务等活动,这些 活动在极大地便利了我们的生活的同时,也带来了许多不容忽视的问题。通常情况下,在线 服务提供商会验证用户的身份,要求用户提供一些私人敏感的属性信息,并将这些敏感信息 存储在服务器上。这很容易造成用户的隐私信息泄露,一方面,这可能由于服务商在金钱等 利益的驱使下贩卖用户信息;另一方面,服务商也容易遭受网络攻击,一旦服务商的网络防 御体系被攻破,服务器上用户敏感信息的泄露就会使得用户的隐私荡然无存。
随着社会的进步发展,用户的隐私保护观念也在发生改变,用户越发关注自己的隐私能 否得到保障。2017年4月,OWASP(开放式Web应用程序安全项目)组织发布了十大安全 漏洞体系,信息泄露在其中居第六位。2018年3月的中国高层发展论坛上,百度公司CEO李彦宏表达的“中国人要效率不要隐私”的观点引发了国人强烈的批判与不满。由此看出,隐 私保护在人们心中正占据越来越多的比重。
除此之外,在线服务认证过程存在的另一个问题是,服务商也不可能完全相信用户提供 的信息。只有当用户拥有某些权威机构颁发的证书时,服务商才会在验证证书的合法性后, 确认用户的信息是否有效。因此,建立一套隐私保护的数字身份管理体系还是很有必要的。 只有这样,才能在保护用户隐私的同时,更好的解决在线认证过程中服务商与用户间的信任 问题。
目前已有的数字身份管理体系是电子身份标识(eID),往往会将相关信息嵌入到SIM卡 或银行卡中,可以实现远程或在线验证用户的身份。与普通的身份验证方式相比,当用户使 用eID进行身份认证时,可以享受跨地区、跨行业的身份服务,能够有效防范身份被冒用或 盗用,防止身份信息被非法读取篡改,还可以保护用户的合法身份信息。
关于eID方面的实践,欧洲国家一直走在前列。比利时早在2004年就已推广eID的使用, 拥有eID的公民可以通过嵌入eID中的信息与签名进行公民身份的认证。奥地利于2005年开 始,允许公民将社会安全保障卡、手机SIM卡等激活成eID,公民可通过eID享用多项公共 服务。2010年11月,德国也开始启用新的eID来代替旧版的纸质身份证,该eID具有身份 认证与电子签名等功能。到目前为止,eID除在上述几个国家广泛应用在电子政务、电子商 务等领域外,也已在西班牙、俄罗斯、意大利、爱沙尼亚等多个国家颁发。
我国对eID的研究与实践工作相比欧洲多个国家来说起步较晚,但到现在也有了一定的 发展。我国的eID以智能安全芯片为载体,芯片内含有一组非对称密钥对,支持公民使用eID 进行签名。此外,eID还支持公民自证身份,使得公民在不同应用中的身份都是经过不同的 转换,所以使用eID能够有效保护公民的身份隐私,但在属性隐私的保护方面仍有欠缺,用 户仍然无法控制自己的身份属性信息的使用情况问题。
发明内容
针对现有技术存在的不足,本发明提出了一种基于可验证声明的隐私保护属性认证系统 及方法,提出了一种隐私保护属性认证协议该协议会通知用户其属性信息将会被服务提供商 如何使用,并允许用户设置自己的隐私偏好。这些偏好将会与用户的属性信息一起被存到隐 私令牌中发送给服务提供商。当服务提供商的访问策略与用户的隐私偏好有冲突时,服务提 供商会调整自己的行为,或者请求用户的特殊许可以便访问到某些用户之前不愿披露的属性 信息。本发明方法的设计,不仅仅有利于该类型协议的标准化,还有利于增强可验证声明的 安全性与隐私性。而且,基于属性的认证与普通的身份认证相比,可以提供更细粒度的访问 控制,支持访问控制策略的多样化与差异化,能够尽可能少地暴露用户信息,防止用户信息 泄露,切实保障用户的隐私安全。
为解决上述技术问题,本发明所采取的技术方案是:
一方面,一种基于可验证声明的隐私保护属性认证系统,包括:用户、身份提供方、服 务提供方;
所述用户是发起消息请求的一方;
所述服务提供方根据所述身份提供方的响应信息来决定是否对用户提供服务;
所述身份提供方提供身份管理认证服务,其具体包含身份信息、属性信息、证书的生成、 修改;
身份提供方作为权威机构,得到来自用户以及服务提供方的信任。然而,身份提供方并 不信任用户,身份提供方在给用户颁发可验证声明形式的凭证时,需要与用户执行相应的协 议进行交互,确认用户身份后才继续进行凭证的颁发;而用户与服务提供方之间,则是互不 信任的关系,用户与服务提供方之间执行协议:通过执行凭证出示协议,服务提供方相信用 户拥有身份提供方颁发的凭证;通过执行不同形式的属性证明协议,服务提供方只知道凭证 中的属性值满足策略要求的同时,无法得到关于该属性值的更多信息;
所述权威机构验证用户身份确认用户的身份无误后,签发相应的凭证发送给用户;
另一方面,一种基于可验证声明的隐私保护属性认证方法,基于前述一种基于可验证声 明的隐私保护属性认证系统实现,具体包括以下步骤:
步骤1:初始化阶段,权威机构执行Setup算法输入安全参数k,输出公共参数params; KeyGen算法在权威机构和用户两个实体中执行,该算法输入公共参数,分别输出它们各自的 公私钥((U,V),(x,y),),其中,仅保存在权威机构,不对服务提供方公开;其中(U, V)为权威机构的公钥,表示用户公钥,ku表示用户私钥,(x,y)为权威机构的私钥;
步骤2:凭证颁发协议执行阶段,使用CommitKey算法使用户证明算法输入用户私钥ku, 输出私钥证据proofku,Issue算法检验用户是否合法,输入公共参数params、用户的属性m、 用户公钥权威机构的私钥(x,y),输出相应签名σ。Obtain算法用于检验签名的有效性, 输入公共参数params、签名σ以及权威机构的公钥(U,V),输出签名的验证结果true/false;
凭证颁发协议阶段在权威机构与用户之间运行,在权威机构验证用户身份时,通过用户 公钥对用户私钥进行零知识证明进行的,这个过程没有暴露用户的私钥ku,权威机构确 认用户的身份无误后,签发相应的凭证发送给用户,具体包括以下步骤:
步骤2.1:用户与颁发者进行身份认证;
步骤2.1.3:用户计算响应,ru=n-kucl;其中ku表示用户私钥;
步骤2.1.4:用户在请求属性凭证的同时,将N,ru作为证据发送给颁发者;
步骤2.2:颁发者颁发凭证给用户;
步骤2.2.1:对于属性m∈Zp,检验m+x+yr=0是否成立,颁发者随机选择作为属 性秘钥;如果该等式不成立,则执行步骤2.2.2;否则重新执行步骤2.2.1;其中m为属性值; r表示签名的属性密钥,x与y表示权威机构私钥,Zp表示0到p-1的整数;
步骤2.3:颁发者生成包含签名(W,r)的凭证,并将该凭证发送给用户。
步骤2.4:用户验证签名是否有效;用户接收到包含签名(W,r)的凭证,验证是否成立,成立则说明签名正确,接受凭证;否则说明签名有误,丢弃该凭证,其中,g2为G2中的元素,G1,G2,Gt均表示阶数为p的循环群,p为素 数;e表示双线性映射,z表示Gt中的元素,值为e(g1,g2);
步骤3:凭证出示协议执行阶段,在用户与服务提供方之间执行,使用RandSig算法对签 名进行随机化,来保证签名的不可链接性,该算法输入公共参数params、签名σ、权威机构 的公钥(U,V),输出随机化后的签名σ、承诺Cm以及其证据proofku。Check用于检验随机化后的签名和承诺是否有效,该算法输入公共参数params、随机化后的签名σ、承诺Cm及证据proofku,输出签名的验证结果true/false。
步骤3.1:用户对承诺签名进行随机化操作,并证明某个随机化后的承诺隐藏着属性值;
步骤3.1.1:用户在接收到服务提供方的策略后,查看自己的是否满足访问策略,如果满 足访问策略,则执行步骤3.1.2;否则,退出该协议结束;
步骤3.1.4:用户随机选择w1,w2,w3,w4,w5,w6,w7,计算 其中,w1,w2,w3,w4,w5,w6,w7是从中选择的随机数,M1,M2和M3分别是C1的承诺同构、Cattr的承诺同构、辅助承诺同构;
步骤3.1.5:用户计算承诺值c=H(g2,U,V,M1,M2,M3,C1,Cattr);
步骤3.1.6:用户计算响应r1=w1-c/r',r2=w2-mc/r',r3=w3-cr/r',r4=w4-cr',r5=w5-cr”,r6=w6-cm,r7=w7-(r”+r)c;
步骤3.1.7:用户将C1,Cattr,M1,M2,M3,r1,r2,r3,r4,r5,r6,r7,W’发送给服务 提供方;
步骤3.2:服务提供方验证用户的承诺以及签名;
步骤3.2.1:服务提供方首先验证e(W',C1)=z是否成立,成立则进行步骤3.2.2,否则拒 绝用户访问,则重新进行步骤3.2或直接退出;
步骤3.2.2:服务提供方计算挑战,c'=H(g2,U,V,M1,M2,M3,C1,Cattr);
步骤3.2.3:服务提供方验证下列等式是否均成立:
若上述等式成立,则用户通过服务提供方的验证,说明承诺Cattr中隐藏了属性值m;否 则服务提供方发送m证失败通知。
步骤4:属性证明协议阶段,通过进行属性证明协议,用户向服务提供方证明,相应承 诺中隐藏的属性值满足服务提供方的要求,属性证明协议包括如下子协议:区间属性证明协 议、“或”关系的属性证明协议以及“非”关系的属性证明协议。上述属性证明协议中,用户 和服务提供方除已知公共参数外params外,还已知权威机构的公钥(U,V),以及凭证出示协 议中使用的Cattr。
步骤4.1:“或”关系属性证明协议阶段,通过执行“或”关系的属性证明协议,可以使得 服务提供商不知道用户的属性m的值的具体内容,所以使用户的隐私能够得到保护;包括以 下步骤:
步骤4.1.1:用户生成逻辑关系“或”的相关证明;
步骤4.1.1.1:服务提供方设置策略属性m的值的集合ATTR=(m1,m2,m3,...,mn),遍历集合 ATTR中的元素,对于mi∈ATTR,1≤i≤n,如果属性关系满足m≠mi,随机选择计算承诺同构否则,令k=i,作为安全参数;
步骤4.1.1.3:计算协议的挑战c=H(g2,V,Cattr,M1,M2,M3,...,Mn);
步骤4.1.1.4:计算第k个元素的挑战ck=c-∑1≤i≤n∧i≠kci;
步骤4.1.1.5:计算第k个元素的响应rk=ckrattr+w;rattr是属性值承诺Cattr中隐藏的另一 个秘密值;
步骤4.1.1.6:将M1,M2,...,Mn,r1,r2,...,rn,c1,c2,...,cn-1作为凭证发送给服务提供方;
步骤4.1.2:服务提供方验证用户属性是否满足给定的要求;
步骤4.1.2.1:计算协议的挑战c'=H(g2,V,Cattr,M1,M2,M3,...,Mn);
步骤4.1.2.2:计算第n个挑战cn=c'-∑1≤i≤n-1ci;
步骤4.2:“非”关系属性证明协议阶段,给定某个值a,通过“非”关系的属性证明协议, 用户向服务提供方证明承诺中隐藏的属性m≠a,而不用揭露具体的属性值;在该协议的实现 中,用户构造m-a的承诺C,并用C作为底数构建包含秘密m-a逆元的新承诺;具体包括以下 步骤:
步骤4.2.1:用户生成“非”关系的相关属性证据;
步骤4.2.1.3:计算挑战c=H(g2,V,Cattr,M);
步骤4.2.1.4:计算应答r1=w1-c/(m-a),r2=w2+crattr/(m-a);
步骤4.2.1.5:将r1,r2,M发送给服务提供方;
步骤4.2.2:服务提供方验证相关证明;
步骤4.2.2.1:计算挑战c'=H(g2,V,Cattr,M);
步骤4.3:区间属性证明协议公共参数有:p,G1,H,g,h,max,min,b,其中,G1表示一 个乘法循环群,p是一个大素数,代表群G1的阶数,表示模p的正整数组成的集合,H表示 哈希函数,其定义为H:G1→{0,1}*,g,h分别为群G1上两个不同的生成元,max,min是两个整数,令|·|表示元素按比特分解后的长度,则max,min满足min<max,|max-min|≤|p|-2两个 条件,b是与秘密值进行比较的值,b∈[min,max];具体包括以下步骤:
步骤4.3.1:证明方生成证明,将证明发送给验证方;
步骤4.3.1.1:计算x=m-b;如果x<0,放弃执行协议;否则,执行下一步;
步骤4.3.1.3:计算挑战c0=H(C||M),计算响应r1=w1-mc0,r2=w2-rc0;M为承诺C的同构;
步骤4.3.1.4:计算Cx=cg-b;Cx是m-b的承诺;
步骤4.3.1.5:计算n=|max-min|以及x按比特分解后的每一位x1,x2,…,xn;n是max-min 的比特分解后的位数;
步骤4.3.1.7:取i∈[1,n],如果xi=0,i∈[1,n],则执行步骤4.1.8-4.1.9;否则,执行步 骤步骤4.3.1.10-步骤4.3.1.11;完成对所有i的操作后执行步骤步骤4.3.1.12;
步骤4.3.1.9:分别计算ci=H(Ci||Mi0||Mi1),ci0=ci-ci1,ri0=ci0yi+wi0;ci表示第i位 的挑战,ci0,ri0,都分别表示第i位为0的应答;
步骤4.3.1.11:分别计算ci=H(Ci||Mi0||Mi1),ci1=ci-ci0,ri1=ci1yi+wi1;
步骤4.3.1.14:对i∈[1,n],将M,r1,r2,Ci,Mi0,Mi1,ci0,ri0,ri1,B,rB发送 给验证方;
步骤4.3.2:验证方对接收到的证明进行验证;
步骤4.3.2.2:验证Ci的个数n是否同时满足n≤|p|-2以及n≤|max-min|:满足则将继续 执行协议,否则验证失败;
步骤4.3.2.3:对i∈[1,n],计算c′i=(Ci||Mi0||Mi1),c′i1=c′i-ci0,并验证以及 是否同时成立:同时成立则继续执行协议,否则验证失败;其中c′i为第i位的 挑战,c′i1为第i位为1的挑战;
步骤4.3.2.4:计算C'x=Cg-b,c'=H(A'||B),并验证是否 成立:成立则验证成功,否则验证失败;C'x为验证方计算的m-b的承诺;A'为验证方计算的 rattr的承诺;c'验证方计算的挑战;B为步骤4.3.1中4.3.1.13发送的参数。
采用上述技术方法所产生的有益效果在于:
本发明提供一种基于可验证声明的隐私保护属性认证系统及方法,对用户隐私进行保护 的场景,通过对可验证声明进行扩展,并将其作为本协议的凭证格式,使其能更好保护用户 隐私。并且基于属性的认证与普通的身份认证相比,可以提供更细粒度的访问控制,支持访 问控制策略的多样化与差异化,能够尽可能少地暴露用户信息,防止用户信息泄露,切实保 障用户的隐私安全。通过使用零知识证明技术,在凭证颁发协议中使得用户私钥没有揭露; 在凭证出示协议中使得随机化后的BB签名及属性承诺具有匿名性、不可链接性等特点。
附图说明
图1为本发明具体实施方式的凭证颁发协议流程图;
图2为本发明具体实施方式的凭证出示协议流程图;
图3为本发明具体实施方式的属性证明协议流程图;
图4为本发明具体实施方式的凭证出示协议中可验证声明的签名示意图;
图5为本发明具体实施方式的协议初始化阶段中A类型的配置文件图;
图6为本发明具体实施方式的凭证颁发协议中的重要算法流程图;
其中,图a为凭证颁发CommitKey生成证明算法流程,b为Issue签名输出算法流程;
图7为本发明具体实施方式的凭证出示协议中的重要算法流程图;
其中,图a为凭证出示Randsig算法流程图,b为凭证出示Check算法流程图;
图8为本发明具体实施方式的属性值区间证明协议中的Prove和Verify算法流程图;
其中,图a为Prove算法流程图,b为Verify算法流程图;
图9为本发明具体实施方式的属性值区间证明协议中的IntervalProve算法流程图;
图10为本发明具体实施方式的属性值区间证明协议中的IntervalVerify算法流程图;
图11为本发明具体实施方式的“或”关系属性证明算法流程图;
其中,图a为“或”ProveOr证明算法流程图,b为“或”VerifyOr证明算法流程图;
图12为本发明具体实施方式的“非”关系属性证明算法流程图;
其中,图a为“非”ProveOr证明算法流程图,b为“非”VerifyOr证明算法流程图。
具体实施方式
下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于 说明本发明,但不用来限制本发明的范围。
本实施方式是将基于可验证声明的属性认证协议用于用户之间的隐私保护。本发明基于 BB签名以及Pedersen承诺机制设计并实现了满足隐私保护的属性认证。
一方面,一种基于可验证声明的隐私保护属性认证系统,包括:用户、身份提供方、服 务提供方;
所述用户是发起消息请求的一方;
所述服务提供方根据所述身份提供方的响应信息来决定是否对用户提供服务;
所述身份提供方提供身份管理认证服务,其具体包含身份信息、属性信息、证书的生成、 修改;
现实应用中,身份提供方作为权威机构,得到来自用户以及服务提供方的信任。然而, 身份提供方并不信任用户,身份提供方在给用户颁发可验证声明形式的凭证时,需要与用户 执行相应的协议进行交互,确认用户身份后才继续进行凭证的颁发;而用户与服务提供方之 间,则是互不信任的关系,用户不愿暴露过多的属性信息给服务提供方,服务提供方也不相 信用户提供的属性信息是正确的,所以用户与服务提供方之间执行协议:通过执行凭证出示 协议,服务提供方相信用户拥有身份提供方颁发的凭证;通过执行不同形式的属性证明协议, 服务提供方只知道凭证中的属性值满足策略要求的同时,无法得到关于该属性值的更多信息; 这样,既满足了用户保护属性信息隐私的需求,服务提供方也对用户的属性信息进行了认证。
权威机构验证用户身份确认用户的身份无误后,签发相应的凭证发送给用户;
凭证出示阶段功能包括:一是允许用户对凭证中的签名进行随机化,防止服务提供方通 过相同的签名关联到用户;二是使服务提供方可以确认属性签名的有效性;三是使用零知识 证明技术,证明随机化的承诺值中仍然隐藏着原来的秘密,便于进行后续的属性证明。所述 属性证明阶段的功能是:用户向服务提供方证明,相应承诺中隐藏的属性值满足服务提供方 的要求;
另一方面,一种基于可验证声明的隐私保护属性认证方法,基于前述一种基于可验证声 明的隐私保护属性认证系统实现,具体包括以下步骤:
所述认证协议共分为初始化、凭证颁发、凭证出示、属性证明四个阶段,其中,属性证 明协议还包括如下子协议:属性值区间证明协议、“或”关系的属性证明协议以及“非”关系的 属性证明协议。各阶段执行算法如下所述。
步骤1:初始化阶段,执行Setup算法与KeyGen算法;权威机构执行Setup算法输入安 全参数k,输出公共参数params;KeyGen算法在权威机构和用户两个实体中执行,该算法输 入公共参数,分别输出它们各自的公私钥((U,V),(x,y),),其中,仅保存在权威机 构,不对服务提供方公开;其中(U,V)为权威机构的公钥,表示用户公钥,ku表示用户私钥,(x,y)为权威机构的私钥;
步骤2:凭证颁发协议执行阶段,涉及CommitKey、Issue、Obtain三个算法。使用CommitKey算法使用户证明算法输入用户私钥ku,输出私钥证据proofku,Issue算法检验用户 是否合法,输入公共参数params、用户的属性m、用户公钥权威机构的私钥(x,y),输出相应签名σ。Obtain算法用于检验签名的有效性,输入公共参数params、签名σ以及权威机构的公钥(U,V),输出签名的验证结果true/false;
凭证颁发协议阶段在权威机构与用户之间运行,在权威机构验证用户身份时,通过用户 公钥对用户私钥进行零知识证明进行的,这个过程没有暴露用户的私钥ku,权威机构确 认用户的身份无误后,签发相应的凭证发送给用户,具体包括以下步骤:
步骤2.1:用户与颁发者进行身份认证;
步骤2.1.3:用户计算响应,ru=n-kucl;其中ku表示用户私钥;
步骤2.1.4:用户在请求属性凭证的同时,将N,ru作为证据发送给颁发者;
步骤2.2:颁发者颁发凭证给用户;
步骤2.2.1:对于属性m∈Zp,检验m+x+yr=0是否成立,颁发者随机选择作为属 性秘钥;如果该等式不成立,则执行步骤2.2.2;否则重新执行步骤2.2.1;其中m为属性值; r表示签名的属性密钥,x与y表示权威机构私钥,Zp表示0到p-1的整数;
步骤2.3:颁发者生成包含签名(W,r)的凭证,并将该凭证发送给用户。
步骤3:用户验证签名是否有效;用户接收到包含签名(W,r)的凭证,验证是否成立,成立则说明签名正确,接受凭证;否则说明签名有误,丢弃该凭证,其中, g2为G2中的元素,G2表示阶数为p的循环群,p为素数;e表示双线性映射, z表示Gt中的元素,值为e(g1,g2);
步骤3:凭证出示协议执行阶段,在用户与服务提供方之间执行,包含RandSig算法与 Check算法。RandSig算法用于对签名进行随机化,来保证签名的不可链接性,该算法输入公 共参数params、签名σ、权威机构的公钥(U,V),输出随机化后的签名σ、承诺Cm以及其证据proofku。Check用于检验随机化后的签名和承诺是否有效,该算法输入公共参数params、 随机化后的签名σ、承诺Cm及证据proofku,输出签名的验证结果true/false。
步骤3.1:用户对承诺签名进行随机化操作,并证明某个随机化后的承诺隐藏着属性值;
步骤3.1.1:用户在接收到服务提供方的策略后,查看自己的是否满足访问策略,如果满 足访问策略,则执行步骤3.1.2;否则,退出该协议结束;
步骤3.1.4:用户随机选择w1,w2,w3,w4,w5,w6,w7,计算 其中,w1,w2,w3,w4,w5,w6,w7是从中选择的随机数,M1,M2和M3分别是C1的承诺同构、Cattr的承诺同构、辅助承诺同构;
步骤3.1.5:用户计算承诺值c=H(g2,U,V,M1,M2,M3,C1,Cattr);
步骤3.1.6:用户计算响应r1=w1-c/r',r2=w2-mc/r',r3=w3-cr/r',r4=w4-cr',r5=w5-cr”,r6=w6-cm,r7=w7-(r”+r)c;
步骤3.1.7:用户将C1,Cattr,M1,M2,M3,r1,r2,r3,r4,r5,r6,r7,W’发送给服务 提供方;
步骤3.2:服务提供方验证用户的承诺以及签名;
步骤3.2.1:服务提供方首先验证e(W',C1)=z是否成立,成立则进行步骤3.2.2,否则拒 绝用户访问,则重新进行步骤3.2或直接退出;
步骤3.2.2:服务提供方计算挑战,c'=H(g2,U,V,M1,M2,M3,C1,Cattr);
步骤3.2.3:服务提供方验证下列等式是否均成立:
若上述等式成立,则用户通过服务提供方的验证,说明承诺Cattr中隐藏了属性值m;否 则服务提供方发送m证失败通知,其中凭证出示协议中可验证声明的签名示意图如图4所示;
步骤4:属性证明协议阶段,通过进行属性证明协议,用户向服务提供方证明,相应承 诺中隐藏的属性值满足服务提供方的要求,属性证明协议包括如下子协议:区间属性证明协 议、“或”关系的属性证明协议以及“非”关系的属性证明协议。上述属性证明协议中,用户 和服务提供方除已知公共参数外params外,还已知权威机构的公钥(U,V),以及凭证出示协 议中使用的Cattr。
步骤4.1:“或”关系属性证明协议阶段,通过执行“或”关系的属性证明协议,可以使得 服务提供商不知道用户的属性m的值的具体内容,所以使用户的隐私能够得到保护;包括以 下步骤:
步骤4.1.1:用户生成逻辑关系“或”的相关证明;
步骤4.1.1.1:服务提供方设置策略属性m的值的集合ATTR=(m1,m2,m3,...,mn),遍历集合 ATTR中的元素,对于mi∈ATTR,1≤i≤n,如果属性关系满足m≠mi,随机选择计算承诺同构否则,令k=i,作为安全参数;
步骤4.1.1.3:计算协议的挑战c=H(g2,V,Cattr,M1,M2,M3,...,Mn);
步骤4.1.1.4:计算第k个元素的挑战ck=c-∑1≤i≤n∧i≠kci;
步骤4.1.1.5:计算第k个元素的响应rk=ckrattr+w;rattr是属性值承诺Cattr中隐藏的另一 个秘密值;
步骤4.1.1.6:将M1,M2,...,Mn,r1,r2,...,rn,c1,c2,...,cn-1作为凭证发送给服务提供方;
步骤4.1.2:服务提供方验证用户属性是否满足给定的要求;
步骤4.1.2.1:计算协议的挑战c'=H(g2,V,Cattr,M1,M2,M3,...,Mn);
步骤4.1.2.2:计算第n个挑战cn=c'-∑1≤i≤n-1ci;
步骤4.2:“非”关系属性证明协议阶段,给定某个值a,通过“非”关系的属性证明协议, 用户向服务提供方证明承诺中隐藏的属性m≠a,而不用揭露具体的属性值;在该协议的实现 中,用户构造m-a的承诺C,并用C作为底数构建包含秘密m-a逆元的新承诺;具体包括以下 步骤:
步骤4.2.1:用户生成“非”关系的相关属性证据;
步骤4.2.1.3:计算挑战c=H(g2,V,Cattr,M);
步骤4.2.1.4:计算应答r1=w1-c/(m-a),r2=w2+crattr/(m-a);
步骤4.2.1.5:将r1,r2,M发送给服务提供方;
步骤4.2.2:服务提供方验证相关证明;
步骤4.2.2.1:计算挑战c'=H(g2,V,Cattr,M);
步骤4.3:区间属性证明协议公共参数有:p,G1,H,g,h,max,min,b,其中,G1表示一 个乘法循环群,p是一个大素数,代表群G1的阶数,表示模p的正整数组成的集合,H表示 哈希函数,其定义为H:G1→{0,1}*,g,h分别为群G1上两个不同的生成元,max,min是两个整数,令|·|表示元素按比特分解后的长度,则max,min满足min<max,|max-min|≤|p|-2两个 条件,b是与秘密值进行比较的值,b∈[min,max];具体包括以下步骤:
步骤4.3.1:证明方生成证明,将证明发送给验证方;
步骤4.3.1.1:计算x=m-b;如果x<0,放弃执行协议;否则,执行下一步;
步骤4.3.1.3:计算挑战c0=H(C||M),计算响应r1=w1-mc0,r2=w2-rc0;M为承诺C的同构;
步骤4.3.1.4:计算Cx=cg-b;Cx是m-b的承诺;
步骤4.3.1.5:计算n=|max-min|以及x按比特分解后的每一位x1,x2,…,xn;n是max-min 的比特分解后的位数;
步骤4.3.1.7:取i∈[1,n],如果xi=0,i∈[1,n],则执行步骤4.1.8-4.1.9;否则,执行步 骤步骤4.3.1.10-步骤4.3.1.11;完成对所有i的操作后执行步骤步骤4.3.1.12;
步骤4.3.1.9:分别计算ci=H(Ci||Mi0||Mi1),ci0=ci-ci1,ri0=ci0yi+wi0;ci表示第i位 的挑战,ci0,ri0,都分别表示第i位为0的应答;
步骤4.3.1.11:分别计算ci=H(Ci||Mi0||Mi1),ci1=ci-ci0,ri1=ci1yi+wi1;
步骤4.3.1.14:对i∈[1,n],将M,r1,r2,Ci,Mi0,Mi1,ci0,ri0,ri1,B,rB发送 给验证方;
步骤4.3.2:验证方对接收到的证明进行验证;
步骤4.3.2.2:验证Ci的个数n是否同时满足n≤|p|-2以及n≤|max-min|:满足则将继续 执行协议,否则验证失败;
步骤4.3.2.3:对i∈[1,n],计算c′i=(Ci||Mi0||Mi1),c′i1=c′i-ci0,并验证以及 是否同时成立:同时成立则继续执行协议,否则验证失败;其中c′i为第i位的 挑战,c′i1为第i位为1的挑战;
步骤4.3.2.4:计算C'x=Cg-b,c'=H(A'||B),并验证是否 成立:成立则验证成功,否则验证失败;C'x为验证方计算的m-b的承诺;A'为验证方计算的 rattr的承诺;c'验证方计算的挑战;B为步骤4.3.1中4.3.1.13发送的参数。
该基于可验证声明的属性认证协议依据功能可划分为三部分,凭证颁发协议:如图1、 凭证出示协议:如图2、属性证明协议:如图3。其中属性证明协议涉及子协议有:属性值区 间证明协议、“或”关系的属性证明协议以及“非”关系的属性证明协议。凭证颁发协议阶段 主要的功能是权威机构验证用户身份权威机构确认用户的身份无误后,签发相应的凭证发送 给用户。凭证出示协议阶段主要的功能有:一是允许用户对凭证中的签名进行随机化,防止 服务提供方通过相同的签名关联到用户;二是使服务提供方可以确认属性签名的有效性;三 是使用零知识证明技术,证明随机化的承诺值中仍然隐藏着原来的秘密,便于进行后续的属 性证明。属性证明协议阶段主要的功能是用户可以向服务提供方证明,相应承诺中隐藏的属 性值满足服务提供方的要求。
本实施例中基于上述描述过程,对基于可验证声明的隐私保护属性认证协议进行设计与 实现。本协议在Windows平台上开发实现,算法的开发均采用Java语言及JPBC密码库实现, 编程工具为Eclipse。
协议的初始化阶段实现包括三个算法:协议建立(Setup)算法、以及权威机构与用户的 密钥生成(KeyGen)算法。
协议建立算法需配置协议所需的密码学环境,然后生成协议所需公共参数。密码学环境 的配置,需要先在JPBC密码库中选择相应类型的椭圆曲线。JPBC密码库将配对分为类型A、 类型A1、类型D、类型E、类型F、类型G六类。类型A、类型D和类型F的配对是目前应 用较为广泛的配对。其中,类型A的配对运算速度最快,类型D和类型F的配对虽然参数 较短,但运算速度不快。本发明选用类型A的椭圆曲线来进行相关实现,其配置文件如图5 所示;
通过使用配对工厂(PairingFactory)的类方法,可以加载相关配置文件,获取配对(pairing) 对象,并由配对(pairing)对象生成相应参数。各参数及含义如表1所示,除g1外均为公共 参数params。
表1协议建立的参数说明
在密钥生成算法中,输入公共参数,分别为用户与权威机构生成公私钥。该过程涉及的 参数如表2所示。
表2密钥生成参数说明
凭证颁发协议的实现,包含密钥承诺(CommitKey)、凭证颁发(Issue)、凭证获取(Obtain) 三个函数。该协议涉及的参数如表3所示。
表3凭证颁发参数说明
在密钥承诺函数中,用户会通过零知识证明,生成私钥的承诺同构,并通过承诺同构等 信息,在不泄露私钥的情况下,证明自己是公钥Cku所对应私钥ku的持有者。在凭证颁发函数 中,权威机构先验证用户是否持有私钥ku。若用户确实持有上述私钥,权威机构会生成相应 属性的签名σ:(W,r),并将含有签名的凭证发送给用户。在凭证获取函数中,用户收到签名σ 后会通过双线性映射等运算进行签名合法性的检验。部分重要的算法流程图如图6所示。
凭证出示协议的实现包含随机化签名(Randsig)与签名检验(Check)两个函数。该协 议涉及的参数如表4所示。
表4凭证出示参数说明
在随机化签名算法中,首先会用随机数r′随机化签名得到σ′,用随机数r″构造隐藏有属 性值m的承诺Cattr,然后构造承诺同构M1,M2,M3。其中,M1作为用户知道C1中隐藏秘密的 证据,M2作为用户知道Cattr中隐藏秘密的证据,M3作为Cattr中底数U上隐藏有秘密值1的证 据。在签名检验函数中,会检验随机化后的签名是否满足要求,如满足要求,对上述证据进 行验证。算法流程如图7所示。
本实施例中属性证明协议的实现:
属性证明协议中属性值区间证明协议的实现涉及如下公共参数:params= (p,G1,ZP,H,g,h,max,min,b),还涉及参数m∈ZP,r∈Zp *,C=gmhr∈G1。m和r作为承诺C的打开信息。协议内容划分至Prove()、Verify()、ProveInterval()和VerifyInterval()四个函数中。
Prove函数输入公共参数params、承诺C和秘密m,r,输出证据P(M,r1,r2)。Verify函数 输入公共参数params、承诺C和证据P(M,r1,r2),输出验证结果true/false;ProveInterval 函数输入公共参数params、承诺C、秘密m,r以及大于等于标记ge,输出证据Pinterval=(Ci,Mi0,Mi1,ci0,ri0,ri1,B,rB);VeirfyInterval函数输入公共参数params、承诺C、证据 Pinterval=(Ci,Mi0,Mi1,ci0,ri0,ri1,B,rB)和大于等于标记ge,输出验证结果true/false。
对于证明方而言,如图8所示,先调用Prove函数生成证据P,再调用ProveInterval函 数生成Pinterval,并将P与Pinterval发送给验证方。对于验证方而言,会先调用Verify函数,如果 函数返回结果为false,就结束执行,说明证明方不知道承诺中的秘密;否则,接着执行 VeirfyInterval函数,该函数返回结果为true则说明证明方的秘密符合要求,返回结果为false 说明证明方的秘密不符合要求。上述函数流程图如8,9,10所示。
如图9所示,IntervalProve执行过程中,首先根据大于等于标记ge计算属性值与策略值 之差x及其承诺Cx;然后在x不为负数时,调用numofbits函数得到区间范围所占的比特数n, 调用decompose函数得到x比特分解后的每一位xi,并计算每一位比特分解xi的承诺,根据xi值的不同,分别计算xi值为0和1时的承诺同构与应答;最后计算整体的承诺同构B、挑战c 以及应答rB。
如图10所示,在IntervalVerify执行过程中,会先调用numofbits函数得到区间范围m及 证据被允许的最大长度k,并检验证据长度n是否满足要求;如n满足要求,接着根据大于等 于标记ge计算差值承诺Cx,并计算每一位xi的挑战,对每一位xi的证据进行处理与验证,若 每一位xi的证据都验证成功,接着计算整体挑战c,并对整体证据进行验证,根据验证结果进 行相应输出。
属性证明协议中“或”关系属性证明的协议实现,包含相关的证明(ProveOr)与验证 (VerifyOr)算法,算法流程如图11所示,协议涉及的参数如表5所示。
表5“或”关系属性证明参数说明
在该协议的证明算法中,首先生成非m值的挑战、响应与承诺同构,然后用随机数w构造 m的承诺同构,并用所有承诺同构生成挑战c,再构造出m的挑战和响应。最后,前n-1个挑 战、以及所有的承诺同构和响应将作为证据返回。该协议的验证算法中,将先构造出第n个挑 战,再对上述证据进行验证。
属性证明协议中“非”关系属性证明的协议实现,包含相关的证明(ProveNot)与验证 (VerifyNot)算法。该协议涉及的参数如表6所示。
表6“非”关系属性证明参数说明
在该协议的证明算法中,先计算隐藏有m-a秘密的承诺C,然后以C和V为底,生成承诺g2的同构M,最后生成协议所需的挑战与应答。其中,M用于构造用户知道秘密m-a的逆。该协议的验证算法会检验上述证据的正确性。算法流程图如图12所示。
实验结果中部分算法的运行时间如表7所示。
表7不同算法的运行时间
可以看出,上述算法的运行时间都在200ms以内,可以满足实际应用的需要。而ProveOr和 VerifyOr算法的运行时间跟策略中包含的元素值个数n有关,其运行时间与n的关系如表8所 示。
表8 ProveOr与VerifyOr的运行时间
Claims (5)
1.一种基于可验证声明的隐私保护属性认证系统,其特征在于,包括用户、身份提供方、服务提供方;
所述用户是发起消息请求的一方;所述服务提供方根据所述身份提供方的响应信息来决定是否对用户提供服务;
所述身份提供方提供身份管理认证服务,其具体包含身份信息、属性信息、证书的生成、修改;
身份提供方作为权威机构,得到来自用户以及服务提供方的信任;身份提供方并不信任用户,身份提供方在给用户颁发可验证声明形式的凭证时,需要与用户执行相应的协议进行交互,确认用户身份后才继续进行凭证的颁发;而用户与服务提供方之间,则是互不信任的关系,用户与服务提供方之间执行协议:通过执行凭证出示协议,服务提供方相信用户拥有身份提供方颁发的凭证;通过执行不同形式的属性证明协议,服务提供方只知道凭证中的属性值满足策略要求的同时,无法得到关于该属性值的更多信息;
所述权威机构验证用户身份确认用户的身份无误后,签发相应的凭证发送给用户。
2.一种基于可验证声明的隐私保护属性认证方法,基于前述一种基于可验证声明的隐私保护属性认证系统实现,其特征在于,包括以下步骤:
步骤1:初始化阶段,权威机构执行Setup算法输入安全参数k,输出公共参数params;KeyGen算法在权威机构和用户两个实体中执行,该算法输入公共参数,分别输出它们各自的公私钥其中,仅保存在权威机构,不对服务提供方公开;其中(U,V)为权威机构的公钥,表示用户公钥,ku表示用户私钥,(x,y)为权威机构的私钥;
步骤2:凭证颁发协议执行阶段,使用CommitKey算法使用户证明算法输入用户私钥ku,输出私钥证据proofku,Issue算法检验用户是否合法,输入公共参数params、用户的属性m、用户公钥权威机构的私钥(x,y),输出相应签名σ,使用Obtain算法检验签名的有效性,输入公共参数params、签名σ以及权威机构的公钥(U,V),输出签名的验证结果true/false;
凭证颁发协议阶段在权威机构与用户之间运行,在权威机构验证用户身份时,通过用户公钥对用户私钥进行零知识证明进行的,这个过程没有暴露用户的私钥ku,权威机构确认用户的身份无误后,签发相应的凭证发送给用户;
步骤3:凭证出示协议执行阶段,在用户与服务提供方之间执行,使用RandSig算法用于对签名进行随机化,来保证签名的不可链接性,该算法输入公共参数params、签名σ、权威机构的公钥(U,V),输出随机化后的签名σ、承诺Cm以及其证据proofku,Check用于检验随机化后的签名和承诺是否有效,该算法输入公共参数params、随机化后的签名σ、承诺Cm及证据proofku,输出签名的验证结果true/false;
步骤4:属性证明协议阶段,通过进行属性证明协议,用户向服务提供方证明,相应承诺中隐藏的属性值满足服务提供方的要求,进行验证;
所述属性证明协议包括如下子协议:区间属性证明协议、“或”关系的属性证明协议以及“非”关系的属性证明协议;在上述属性证明协议中,用户和服务提供方除已知公共参数外params外,还已知权威机构的公钥(U,V),以及凭证出示协议中使用的Cattr。
3.根据权利要求2所述的一种基于可验证声明的隐私保护属性认证方法,其特征在于,步骤2具体包括以下步骤:
步骤2.1:用户与颁发者进行身份认证;
步骤2.1.3:用户计算响应,ru=n-kucl;其中ku表示用户私钥;
步骤2.1.4:用户在请求属性凭证的同时,将N,ru作为证据发送给颁发者;
步骤2.2:颁发者颁发凭证给用户;
步骤2.2.1:对于属性m∈Zp,检验m+x+yr=0是否成立,颁发者随机选择作为属性秘钥;如果该等式不成立,则执行步骤2.2.2;否则重新执行步骤2.2.1;其中m为属性值;r表示签名的属性密钥,x与y表示权威机构私钥,Zp表示0到p-1的整数;
步骤2.3:颁发者生成包含签名(W,r)的凭证,并将该凭证发送给用户;
4.根据权利要求2所述的一种基于可验证声明的隐私保护属性认证方法,其特征在于,步骤3具体包括:
步骤3.1:用户对承诺签名进行随机化操作,并证明某个随机化后的承诺隐藏着属性值;
步骤3.1.1:用户在接收到服务提供方的策略后,查看自己的是否满足访问策略,如果满足访问策略,则执行步骤3.1.2;否则,退出该协议结束;
步骤3.1.4:用户随机选择w1,w2,w3,w4,w5,w6,w7,计算 其中,w1,w2,w3,w4,w5,w6,w7是从中选择的随机数,M1,M2和M3分别是C1的承诺同构、Cattr的承诺同构、辅助承诺同构;
步骤3.1.5:用户计算承诺值c=H(g2,U,V,M1,M2,M3,C1,Cattr);
步骤3.1.6:用户计算响应r1=w1-c/r',r2=w2-mc/r',r3=w3-cr/r',r4=w4-cr',r5=w5-cr”,r6=w6-cm,r7=w7-(r”+r)c;
步骤3.1.7:用户将C1,Cattr,M1,M2,M3,r1,r2,r3,r4,r5,r6,r7,W’发送给服务提供方;
步骤3.2:服务提供方验证用户的承诺以及签名;
步骤3.2.1:服务提供方首先验证e(W',C1)=z是否成立,成立则进行步骤3.2.2,否则拒绝用户访问,则重新进行步骤3.2或直接退出;
步骤3.2.2:服务提供方计算挑战,c'=H(g2,U,V,M1,M2,M3,C1,Cattr);
步骤3.2.3:服务提供方验证下列等式是否均成立:
若上述等式成立,则用户通过服务提供方的验证,说明承诺Cattr中隐藏了属性值m;否则服务提供方发送m证失败通知。
5.根据权利要求2所述的一种基于可验证声明的隐私保护属性认证方法,其特征在于,步骤4具体包括:
步骤4.1:“或”关系属性证明协议阶段,通过执行“或”关系的属性证明协议,可以使得服务提供商不知道用户的属性m的值的具体内容,所以使用户的隐私能够得到保护;包括以下步骤:
步骤4.1.1:用户生成逻辑关系“或”的相关证明;
步骤4.1.1.1:服务提供方设置策略属性m的值的集合ATTR=(m1,m2,m3,...,mn),遍历集合ATTR中的元素,对于mi∈ATTR,1≤i≤n,如果属性关系满足m≠mi,随机选择计算承诺同构否则,令k=i,作为安全参数;
步骤4.1.1.3:计算协议的挑战c=H(g2,V,Cattr,M1,M2,M3,...,Mn);
步骤4.1.1.4:计算第k个元素的挑战ck=c-∑1≤i≤n∧i≠kci;
步骤4.1.1.5:计算第k个元素的响应rk=ckrattr+w;rattr是属性值承诺Cattr中隐藏的另一个秘密值;
步骤4.1.1.6:将M1,M2,...,Mn,r1,r2,...,rn,c1,c2,...,cn-1作为凭证发送给服务提供方;
步骤4.1.2:服务提供方验证用户属性是否满足给定的要求;
步骤4.1.2.1:计算协议的挑战c′=H(g2,V,Cattr,M1,M2,M3,...,Mn);
步骤4.1.2.2:计算第n个挑战cn=c′-∑1≤i≤n-1ci;
步骤4.2:“非”关系属性证明协议阶段,给定某个值a,通过“非”关系的属性证明协议,用户向服务提供方证明承诺中隐藏的属性m≠a,而不用揭露具体的属性值;在该协议的实现中,用户构造m-a的承诺C,并用C作为底数构建包含秘密m-a逆元的新承诺;具体包括以下步骤:
步骤4.2.1:用户生成“非”关系的相关属性证据;
步骤4.2.1.3:计算挑战c=H(g2,V,Cattr,M);
步骤4.2.1.4:计算应答r1=w1-c/(m-a),r2=w2+crattr/(m-a);
步骤4.2.1.5:将r1,r2,M发送给服务提供方;
步骤4.2.2:服务提供方验证相关证明;
步骤4.2.2.1:计算挑战c′=H(g2,V,Cattr,M);
步骤4.3:区间属性证明协议公共参数有:p,G1,H,g,h,max,min,b,其中,G1表示一个乘法循环群,p是一个大素数,代表群G1的阶数,表示模p的正整数组成的集合,H表示哈希函数,其定义为H:G1→{0,1}*,g,h分别为群G1上两个不同的生成元,max,min是两个整数,令|·|表示元素按比特分解后的长度,则max,min满足min<max,|max-min|≤|p|-2两个条件,b是与秘密值进行比较的值,b∈[min,max];具体包括以下步骤:
步骤4.3.1:证明方生成证明,将证明发送给验证方;
步骤4.3.1.1:计算x=m-b;如果x<0,放弃执行协议;否则,执行下一步;
步骤4.3.1.3:计算挑战c0=H(C||M),计算响应r1=w1-mc0,r2=w2-rc0;M为承诺C的同构;
步骤4.3.1.4:计算Cx=cg-b;Cx是m-b的承诺;
步骤4.3.1.5:计算n=|max-min|以及x按比特分解后的每一位x1,x2,...,xn;n是max-min的比特分解后的位数;
步骤4.3.1.7:取i∈[1,n],如果xi=0,i∈[1,n],则执行步骤4.1.8-4.1.9;否则,执行步骤步骤4.3.1.10-步骤4.3.1.11;完成对所有i的操作后执行步骤步骤4.3.1.12;
步骤4.3.1.8:随机选择ci1,ri1,计算ci1,ri1,wi0,Mi1,Mi0分别为第i位为1的挑战、第i位为1的应答、计算第i位为0承诺同构的随机数、第i位为1的承诺同构、第i位为0的承诺同构;
步骤4.3.1.9:分别计算ci=H(Ci||Mi0||Mi1),ci0=ci-ci1,ri0=ci0yi+wi0;ci表示第i位的挑战,ci0,Fi0,都分别表示第i位为0的应答;
步骤4.3.1.11:分别计算ci=H(Ci||Mi0||Mi1),ci1=ci-ci0,ri1=ci1yi+wi1;
步骤4.3.1.14:对i∈[1,n],将M,r1,r2,Ci,Mi0,Mi1,ci0,ri0,ri1,B,rB发送给验证方;
步骤4.3.2:验证方对接收到的证明进行验证;
步骤4.3.2.2:验证Ci的个数n是否同时满足n≤|p|-2以及n≤|max-min|:满足则将继续执行协议,否则验证失败;
步骤4.3.2.3:对i∈[1,n],计算c′i=(Ci||Mi0||Mi1),c′i1=c′i-ci0,并验证以及是否同时成立:同时成立则继续执行协议,否则验证失败;其中c′i为第i位的挑战,c′i1为第i位为1的挑战;
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110276797.8A CN113221089B (zh) | 2021-03-15 | 2021-03-15 | 基于可验证声明的隐私保护属性认证系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110276797.8A CN113221089B (zh) | 2021-03-15 | 2021-03-15 | 基于可验证声明的隐私保护属性认证系统及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113221089A true CN113221089A (zh) | 2021-08-06 |
CN113221089B CN113221089B (zh) | 2023-11-07 |
Family
ID=77083665
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110276797.8A Active CN113221089B (zh) | 2021-03-15 | 2021-03-15 | 基于可验证声明的隐私保护属性认证系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113221089B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114169011A (zh) * | 2021-12-16 | 2022-03-11 | 福州大学 | 基于属性凭证的隐私保护电子票据系统 |
CN114186248A (zh) * | 2021-11-13 | 2022-03-15 | 云南财经大学 | 基于区块链智能合约的零知识证明可验证凭证数字身份管理系统及方法 |
CN114866255A (zh) * | 2022-04-28 | 2022-08-05 | 西安电子科技大学 | 以用户为中心面向多idp聚合的多因素认证方法 |
CN115664649A (zh) * | 2022-10-19 | 2023-01-31 | 电子科技大学 | 基于动态委员会的高安全性区块链身份管理方法及系统 |
CN116232763A (zh) * | 2023-05-05 | 2023-06-06 | 敏于行(北京)科技有限公司 | 选择性披露的动态组合可验证凭证生成方法及系统 |
CN116389164A (zh) * | 2023-05-26 | 2023-07-04 | 建信金融科技有限责任公司 | 数据的检测方法及装置 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140337239A1 (en) * | 2013-05-13 | 2014-11-13 | Pitney Bowes Inc. | Method and system for obtaining offers from sellers using privacy-preserving verifiable statements |
WO2018148597A1 (en) * | 2017-02-10 | 2018-08-16 | BlueTalon, Inc. | Authentication based on client access limitation |
CN108769020A (zh) * | 2018-05-29 | 2018-11-06 | 东北大学 | 一种隐私保护的身份属性证明系统及方法 |
CN108833373A (zh) * | 2018-05-29 | 2018-11-16 | 东北大学 | 面向关系隐私保护社交网络的即时通信与匿名访问方法 |
CN109325331A (zh) * | 2018-09-13 | 2019-02-12 | 北京航空航天大学 | 基于区块链和可信计算平台的大数据采集交易系统 |
CN110224837A (zh) * | 2019-06-06 | 2019-09-10 | 西安纸贵互联网科技有限公司 | 基于分布式身份标识的零知识证明方法及终端 |
WO2019204794A1 (en) * | 2018-04-20 | 2019-10-24 | Infonetworks Llc | System for verification of pseudonymous credentials for digital identities with managed access to personal data on trust networks |
CN111090876A (zh) * | 2020-03-18 | 2020-05-01 | 支付宝(杭州)信息技术有限公司 | 调用合约的方法及装置 |
CN111490967A (zh) * | 2019-01-29 | 2020-08-04 | 中国科学院软件研究所 | 一种提供用户友好的强认证和匿名认证的统一身份认证方法和系统 |
CN112199714A (zh) * | 2020-12-04 | 2021-01-08 | 支付宝(杭州)信息技术有限公司 | 基于区块链的隐私保护方法、装置及电子设备 |
-
2021
- 2021-03-15 CN CN202110276797.8A patent/CN113221089B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140337239A1 (en) * | 2013-05-13 | 2014-11-13 | Pitney Bowes Inc. | Method and system for obtaining offers from sellers using privacy-preserving verifiable statements |
WO2018148597A1 (en) * | 2017-02-10 | 2018-08-16 | BlueTalon, Inc. | Authentication based on client access limitation |
WO2019204794A1 (en) * | 2018-04-20 | 2019-10-24 | Infonetworks Llc | System for verification of pseudonymous credentials for digital identities with managed access to personal data on trust networks |
CN108769020A (zh) * | 2018-05-29 | 2018-11-06 | 东北大学 | 一种隐私保护的身份属性证明系统及方法 |
CN108833373A (zh) * | 2018-05-29 | 2018-11-16 | 东北大学 | 面向关系隐私保护社交网络的即时通信与匿名访问方法 |
CN109325331A (zh) * | 2018-09-13 | 2019-02-12 | 北京航空航天大学 | 基于区块链和可信计算平台的大数据采集交易系统 |
CN111490967A (zh) * | 2019-01-29 | 2020-08-04 | 中国科学院软件研究所 | 一种提供用户友好的强认证和匿名认证的统一身份认证方法和系统 |
CN110224837A (zh) * | 2019-06-06 | 2019-09-10 | 西安纸贵互联网科技有限公司 | 基于分布式身份标识的零知识证明方法及终端 |
CN111090876A (zh) * | 2020-03-18 | 2020-05-01 | 支付宝(杭州)信息技术有限公司 | 调用合约的方法及装置 |
CN112199714A (zh) * | 2020-12-04 | 2021-01-08 | 支付宝(杭州)信息技术有限公司 | 基于区块链的隐私保护方法、装置及电子设备 |
Non-Patent Citations (4)
Title |
---|
NAN GUO 等: "Privacy-preserving and efficient attributes proof based on selective aggregate CL-signature scheme", INNOVATIVE SECURITY TECHNOLOGIES AGAINST INSIDER, vol. 93, no. 2, pages 273 - 288 * |
YIMING JIANG 等: "A Privacy-Preserving E-Commerce System Based on the Blockchain Technology", 2019 IEEE INTERNATIONAL WORKSHOP ON BLOCKCHAIN ORIENTED SOFTWARE ENGINEERING(IWBOSE), pages 50 - 55 * |
冯登国 等: "一种基于TCM的属性证明协议", 中国科学:信息科学, vol. 40, no. 02, pages 189 - 199 * |
陈勇 等: "适用于多方协议的可否认认证", 网络与信息安全学报, vol. 2, no. 06, pages 71 - 78 * |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114186248A (zh) * | 2021-11-13 | 2022-03-15 | 云南财经大学 | 基于区块链智能合约的零知识证明可验证凭证数字身份管理系统及方法 |
CN114186248B (zh) * | 2021-11-13 | 2022-08-05 | 云南财经大学 | 基于区块链智能合约的零知识证明可验证凭证数字身份管理系统及方法 |
CN114169011A (zh) * | 2021-12-16 | 2022-03-11 | 福州大学 | 基于属性凭证的隐私保护电子票据系统 |
CN114169011B (zh) * | 2021-12-16 | 2024-06-04 | 福州大学 | 基于属性凭证的隐私保护电子票据系统 |
CN114866255A (zh) * | 2022-04-28 | 2022-08-05 | 西安电子科技大学 | 以用户为中心面向多idp聚合的多因素认证方法 |
CN114866255B (zh) * | 2022-04-28 | 2023-09-08 | 西安电子科技大学 | 以用户为中心面向多idp聚合的多因素认证方法 |
CN115664649A (zh) * | 2022-10-19 | 2023-01-31 | 电子科技大学 | 基于动态委员会的高安全性区块链身份管理方法及系统 |
CN115664649B (zh) * | 2022-10-19 | 2023-08-01 | 电子科技大学 | 基于动态委员会的高安全性区块链身份管理方法及系统 |
CN116232763A (zh) * | 2023-05-05 | 2023-06-06 | 敏于行(北京)科技有限公司 | 选择性披露的动态组合可验证凭证生成方法及系统 |
CN116389164A (zh) * | 2023-05-26 | 2023-07-04 | 建信金融科技有限责任公司 | 数据的检测方法及装置 |
CN116389164B (zh) * | 2023-05-26 | 2023-09-12 | 建信金融科技有限责任公司 | 数据的检测方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN113221089B (zh) | 2023-11-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Wang et al. | Identity-based data outsourcing with comprehensive auditing in clouds | |
US11212102B2 (en) | System and method for an electronic identity brokerage | |
CN113221089A (zh) | 基于可验证声明的隐私保护属性认证系统及方法 | |
Hafizul Islam et al. | Dynamic id-based remote user mutual authentication scheme with smartcard using elliptic curve cryptography | |
CN105187405A (zh) | 基于信誉的云计算身份管理方法 | |
Luong et al. | Privacy-preserving identity management system on blockchain using Zk-SNARK | |
Paquin | U-prove technology overview v1. 1 | |
Smyth et al. | Formal analysis of privacy in Direct Anonymous Attestation schemes | |
Tsai et al. | An ECC‐based blind signcryption scheme for multiple digital documents | |
Bhargav-Spantzel et al. | Multifactor identity verification using aggregated proof of knowledge | |
Huang et al. | A blockchain-based self-tallying voting protocol with maximum voter privacy | |
Garcia-Rodriguez et al. | Implementation and evaluation of a privacy-preserving distributed ABC scheme based on multi-signatures | |
Meshram et al. | An efficient remote user authentication with key agreement procedure based on convolution-Chebyshev chaotic maps using biometric | |
Emami et al. | A scalable decentralized privacy-preserving e-voting system based on zero-knowledge off-chain computations | |
CN116975936B (zh) | 金融资质证明方法、金融资质验证方法 | |
CN111245615B (zh) | 一种基于身份的数字签名密码逆向防火墙方法 | |
Hamila et al. | Enhancing security in Fiat–Shamir transformation-based non-interactive zero-knowledge protocols for IoT authentication | |
Soler et al. | A privacy-preserving key transmission protocol to distribute QRNG keys using zk-SNARKs | |
Krzywiecki et al. | Security of okamoto identification scheme: a defense against ephemeral key leakage and setup | |
JP2004228958A (ja) | 署名方法および署名プログラム | |
Chen et al. | SeCrowd: Efficient secure interactive crowdsourcing via permission-based signatures | |
Fajiang et al. | An efficient anonymous remote attestation scheme for trusted computing based on improved CPK | |
CN114329610A (zh) | 区块链隐私身份保护方法、装置、存储介质及系统 | |
Grontas et al. | Publicly auditable conditional blind signatures | |
Liang et al. | An efficient blockchain-based anonymous authentication and supervision system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |