首页 专利交易 科技果 科技人才 科技服务 国际服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

基于可验证凭证与零知识证明的匿名可信访问控制方法 

买专利卖专利找龙图腾,真高效! 查专利查商标用IPTOP,全免费!专利年费监控用IP管家,真方便!

申请/专利权人:重庆大学

摘要:本发明涉及一种基于可验证凭证与零知识证明的匿名可信访问控制方法,属于信息安全领域。该方法包括:设计属性可验证凭证管理方法,以可验证凭证形式存储用户属性信息;设计基于零知识证明地匿名用户属性验证方法,在不暴露用户真实身份信息地情况下完成访问请求者属性验证;结合属性可验证凭证管理与零知识证明属性验证方法,设计基于区块链地分布式访问控制流程,实现匿名访问请求者地访问授权。本发明通过区块链技术实现了去中心化的细粒度、动态地访问控制,利用属性可验证凭证解决了分布式访问控制模型中访问主体属性的可信、防篡改性的问题,同时利用零知识证明进行匿名属性验证,在验证过程中为访问主体提供了隐私保护。

主权项:1.基于可验证凭证与零知识证明的匿名可信访问控制方法,其特征在于:该方法包括以下步骤:S1:设计用户属性可验证凭证管理方法;通过以可验证凭证为载体记录访问者用户属性,设计用户属性可验证凭证申请、颁发与管理方法,实现用户属性的可信与不可篡改;所述S1中,设计用户属性可验证凭证管理方法,具体包含以下步骤:S11:用户生成一个会话密钥ks3,使用会话密钥ks3加密包含自己属性证明内容的注册信息attConti得到密文消息δ31=Encks3,attConti,再使用IA的公钥PKIA对会话密钥ks3加密后得到密文消息δ32=EncPKIA,ks3,将自身标识DIDi、密文消息δ31、密文消息δ32组合成属性可验证凭证申请请求requestProofIDi,δ31,δ32;S12:IA接收到请求后,首先验证请求的合法性,再使用自己私钥SKIA解密密文消息δ32获取会话密钥ks3=Decδ32,SKIA,使用会话密钥ks3解密密文消息δ31获取用户的属性注册信息attConti=Decδ31,ks3,并对attConti进行审核;S13:属性注册信息attConti通过审核后,创建一对ECC公私钥对PKtemp,SKtemp,并嵌入PKtemp为属性可验证凭证创建唯一标识idi;S14:根据用户提交的属性注册信息attConti生成属性秘密知识f,由f生成密钥对{pki,vki},以及属性可验证凭证proofi,其中,{pki,vki}为一对证明密钥和验证密钥,用于后续零知识证明的生成和验证,属性可验证凭证proofi里包含凭证idi、凭证状态statei、凭证hash、用户唯一身份表示DIDi、证书管理公钥的hash、对用户属性的一组描述信息和IA的私钥签名信息;S15:IA构建一段内容固定的智能合约代码,将验证密钥vki嵌入到此智能合约中,作为秘密知识f的可信验证手段,并获取该合约的地址addri及代码哈希codehash;S16:IA使用凭证申请者公钥将属性可验证凭证proofi、证明密钥pki、秘密知识f、属性可验证凭证的hash和一组经过IA私钥签名的属性描述信息proofDesi一起加密后发送给凭证申请者;S17:IA将生成的属性可验证凭证idi、凭证状态statei、凭证hash、凭证验证智能合约地址addri及代码哈希codehash发布到区块链上进行记录;S18:凭证申请者接收到IA返回的消息后,使用自身私钥解密得到相关信息内容,同时将属性可验证凭证proofi、证明密钥pki、秘密知识f、属性描述信息proofDesi进行本地存储,并将凭证idi与对应状态statei更新到自身账户中;S2:设计基于零知识证明的匿名属性验证方法;根据零知识证明算法,设计用户属性可验证凭证的匿名验证方法,在不暴露用户真实身份的情况下实现用户属性的可信验证,并将其验证结果应用到访问控制的决策网络中;S3:设计基于可验证凭证与零知识证明的分布式访问控制授权流程;结合可验证凭证管理与用户属性零知识证明方法,设计基于区块链的分布式访问控制授权流程,设计访问控制过程中所需智能合约,完成安全可信的分布式访问控制;所述S2中,设计基于零知识证明的匿名属性验证方法,具体包含以下步骤:S21:匿名用户生成一个会话密钥ks1,对验证请求内容verConti、属性可验证凭证idi、凭证描述信息proofDesi、以及一个随机数n进行加密得到密文消息δ11=Encks1,verConti,proofDesi,n,在区块链上根据服务提供商s的唯一标识id通过requestPKid查询服务提供商s的公钥PKs,并使用PKs将会话密钥ks1进行加密,得到密文消息δ12=EncPKS,ks1;S22:匿名用户将密文消息δ11=Encks1,verConti,proofDesi,n和密文消息δ12=EncPKS,ks1生成一个属性验证请求requestVerδ11,δ12,并向s发送该服务请求,此处不使用用户自身DIDi,以达到隐藏访问者真实身份的目的;S23:s收到属性验证服务请求后使用自己的私钥SKs解密密文消息δ12获取会话密钥ks1=Decδ12,SKs,再使用会话密钥解密密文消息δ11,得到验证请求内容verConti、属性可验证凭证idi、凭证描述信息proooDesi和随机数n;S24:s通过属性可验证凭证idi在区块链上查询验证该凭证的状态是否有效,再验证proofDesi内描述的信息列表是否符合所需要的属性要求;S25:s在确认属性凭证描述proofDesi符合属性需求之后,进一步确认该匿名用户确实持有此属性可验证凭证,s随机产生一组公开输入并将解密后的随机数n使用会话密钥ks1加密后发送给该匿名用户;S26:匿名用户接收到s发送的消息后解密得到公开输入并根据自己所持有的秘密知识f,即使用会话密钥ks1将解密后的随机数n和公开输入加密后发送给该匿名用户,计算得到一组私有输入S27:用户基于公开输入私有输入以及本地存储的属性可验证凭证证明密钥pki,计算得到一个大小恒定的证明ω,将其使用会话密钥ks1加密后发送给s;S28:s解密得到证明ω,将其与自己创建的公共输入一起根据智能合约地址addri调用属性验证智能合约进行验证;S29:属性验证智能合约使用内部验证密钥vki,计算验证基于公开输入所计算的证明ω是否正确,返回验证结果,即在不知道匿名用户真实身份的情况下完成了用户属性验证;所述S3中,设计基于可验证凭证与零知识证明的分布式访问控制授权流程,具体包含以下步骤:S31:匿名访问请求者按照所述属性可验证凭证管理方法从权威机构IA处获取属性可验证凭证相关信息后,首先生成一个会话密钥ks2和一对公私钥对PKi,SKi,使用会话密钥ks2将访问请求信息req=opers,resIDi,proofs=[proofDes1,proofDes2,...]加密得到密文消息δ21=Encks2,req,其中opers表示访问操作类型、resIDi表示资源主体、proofs表示属性可验证凭证信息[proofDes1,proofDes2,...],同时使用访问控制主体端策略执行点D-PEP的公钥PKPEP加密会话密钥ks2得到密文消息δ22=EncPKPEP,ks2,创建一个访问请求reqAccessPKi,δ21,δ22,并向D-PEP发送访问请求;S32:D-PEP接收到访问请求后,使用自身私钥解密密文消息δ22获取会话密钥ks2,再使用ks2解密δ21获取访问请求相关信息,根据资源主体resIDi在区块链上查询该资源对应的访问策略policyID,再创建访问请求发送给策略决策网络D-PDP,其中σS-PEP是D-PEP用自己私钥PKcs进行的签名;S33:策略决策网络D-PDP中任一节点接收到AAR请求后,根据policyID在策略管理网络D-PDS上查询获得资源主体resIDi对应的访问控制策略policyi及其策略验证合约地址policyVerAddri,接着调用该策略评估智能合约进行策略验证;S34:策略评估智能合约验证过程按照所述基于零知识证明的匿名属性验证方法,分别校验访问者是否真实拥有访问策略所要求的属性特征,并通过区块链共识对访问请求做出裁决得到裁决信息decisioni,其中包括裁决结果及有效时间,同时将裁决记录Tx=req,decisionni记录于区块链账本中,将裁决TxIDi发送给策略执行网络D-PEP;S35:策略执行网络D-PEP接收到裁决信息TxIDi后,从区块链获取具体裁决信息Tx,验证裁决信息decisioni的有效性,根据裁决结果在区块链中查询req中资源主体resIDi对应的访问授权智能合约地址policyExeAddri,调用对应的访问授权智能合约对匿名访问者进行访问授权。

全文数据:

权利要求:

百度查询: 重庆大学 基于可验证凭证与零知识证明的匿名可信访问控制方法

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。

相关技术
相关技术
相关技术
相关技术