System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术属于数据安全,具体地说,是指一种跨域多权威协同的属性基加密访问控制方法。
技术介绍
1、在大多数现有cp-abe(ciphertext-policy attribute-based encryption,密文策略属性加密方案)中,所有参与者都被迫信任一个权威(authority),容易导致出现单点失效问题,并且在实际应用中,属性通常由不同的信任域和组织管理。
2、chase提出一种多权威cp-abe机制,由不同权威机构分别管理不相交的属性域,实现多个权威机构共同管理用户属性。尽管相关研究相继提出一些扩展工作,它们本质上仍然存在单点失败的瓶颈。在这些方案中,整个属性集被分成多个不相交的子集,每个子集仅由一个权威机构维护。
3、li等人[tmacs:a robust and verifiable threshold multi-authority accesscontrol system in public cloud storage]提出一种tmacs方案,利用门限秘密共享处理单点瓶颈问题。这样,任何一个权威机构都不能单独获得主密钥。然而,在这种方案中,数据用户需要从权限列表中选择多个权限,并与每个权限通信以请求密钥共享,这带来了额外的计算和通信开销。
技术实现思路
1、本专利技术提出了一种基于区块链的跨域多权威协同的属性基加密访问控制方法,用以解决单点故障、高计算和通信开销以及属性权威跨域协作等问题。基于区块链建立多个属性权威的互信模型,并利用智能
2、所述基于区块链的跨域多权威协同的属性基加密访问控制方法,具体步骤如下:
3、步骤一,构建一个基于区块链的跨域多权威协同的系统模型;
4、所述的系统模型包括五个实体和一个覆盖层区块链网络,各实体均参与到区块链网络;
5、五个实体分别为:证书权威ca、属性权威aas、云服务提供商csp、数据所有者do和数据使用者du。
6、属性权威的全局标识记为aid,数据使用者的全局标识记为uid。
7、步骤二,对所述系统模型进行初始化,将公共参数、属性公钥和用户公钥存储在区块链账本中;
8、初始化过程具体为:
9、步骤201,证书权威执行globalsetup算法,生成全局公共参数gp,并将公共参数gp上传至区块链;同时证书权威将四个智能合约部署在区块链上。
10、生成全局公共参数的过程为:
11、设g1是素数p阶乘法群,g是g1的生成元,定义一个双线性映射e:g1×g1→g2。设h:{0,1}*→g1为单向哈希函数,它将属性映射为g1中的元素。则生成全局公共参数为gp=(p,g,h)。
12、四个智能合约包括:属性管理合约amc、属性公钥生成合约pkc、属性令牌生成合约atc和解密令牌生成合约dtc。
13、步骤202,证书权威调用属性管理合约为每个属性设置管理参数,建立属性权威与属性间的映射关系。
14、属性权威与属性间为多对多的对应关系,每个属性权威管理多个属性,同时,一个属性可由多个属性权威共同管理。
15、每个属性ω的管理参数为:nω个属性权威的列表和阈值tω。阈值tω的含义为:当用户获得nω个属性权威中的tω个属性权威颁发的属性子令牌,则用户获得该属性授权。
16、步骤203,pkc合约自动执行计算用于加密的属性子密钥和属性子公钥,并将属性子公钥上传至区块链;
17、具体实现过程为:
18、首先,属性权威加入系统时,执行aasetup算法,每个管理属性ω的属性权威aai选择两个随机数作为子密钥,主密钥则被隐式地定义为
19、
20、然后,设fi(x)和hi(x)是任意两个的(tω-1)次多项式,令fi(0)=αω,hi(0)=βω,aai为管理属性ω的其他属性权威aak计算秘密份额sij=fi(aidj),s′ij=hi(aidj),并将该秘密份额(sij,s′ij)发送给aaj。
21、最后,从其他nω-1个属性权威收到秘密份额(sji,s′ji)后,aai计算属性ω的属性子密钥和属性子公钥
22、如果属性权威aai管理一组属性si,它将生成子密钥其中,属性子公钥pki,ω通过pkc上传到区块链共享给其他实体。
23、步骤204,当pkc收集到tω个属性权威上传的属性子公钥后,自动执行onchain.genattpuk算法,计算每个属性ω的公钥:
24、
25、
26、其中,
27、则属性ω的公钥其中,mk=(αω,βω)是隐含的属性私钥。
28、步骤205,同时,对加入所述系统中的每个用户,选择随机数作为用户私钥,计算用户公钥进行用户注册,并将用户公钥上传至区块链。
29、用户公钥为:
30、
31、步骤三,数据所有者用对称密钥key对数据msg进行对称加密,同时设置访问策略,从区块链获取公共参数gp和属性公钥{pkω},执行encrypt算法对对称密钥执行属性基加密,输出数据密文和密钥密文至区块链。
32、密钥密文的计算过程为:
33、访问策略表示为lsss访问结构(m,ρ),m表示m×l矩阵,函数ρ将m的第x行映射到一个属性ρ(x)∈att1,…,attu。
34、对于m的每一行,数据所有者选取一个随机向量其中s是一个秘密值,y2,y3,…,yl用于共享秘密值s。令mx表示m的第x行,然后选取一个随机向量计算选取随机数计算密钥密文
35、ctkey=(c0=key·e(g,g)s,
36、
37、
38、最后,数据所有者发布ctkey到区块链。
39、步骤四,当属性权威监听到用户注册完成时,不同属性权威会预先执行子令牌生成算法,生成用户属性子令牌,发布到区块链。
40、当用户uid注册完成,属性权威aai执行subtokengen算法,计算其属性管理域内用户的属性子令牌,并调用atc将属性子令牌上传到区块链。
41、属性ω的子令牌计算为
42、
43、其中,和是属性子密钥。
44、步骤五,当区块链收集到tω个发布给用户uid的属性子令牌之后,atc自动执行onchain.tokengen算法,生成用户的属性令牌:
45、
46、步骤六,当用户发起访问请求,dtc从区块链账本中查询数据所有者上传的密钥密文ctkey和atc生成的属性令牌,执行onchain.dectokengen算法,为用户生成解密令牌用于最本文档来自技高网...
【技术保护点】
1.跨域多权威协同的属性基加密访问控制方法,其特征在于,具体步骤如下:
2.根据权利要求1所述跨域多权威协同的属性基加密访问控制方法,其特征在于,步骤二中所述生成全局公共参数的过程为:
3.根据权利要求1所述跨域多权威协同的属性基加密访问控制方法,其特征在于,步骤二中所述通过PKC合约计算属性子公钥的过程为:
4.根据权利要求3所述跨域多权威协同的属性基加密访问控制方法,其特征在于,基于所述属性子公钥计算属性ω的公钥为:
5.根据权利要求3所述跨域多权威协同的属性基加密访问控制方法,其特征在于,步骤四中所述用户的属性子令牌的计算公式为:
6.根据权利要求5所述的跨域多权威协同的属性基加密访问控制方法,其特征在于,所述用户的属性令牌为:
【技术特征摘要】
1.跨域多权威协同的属性基加密访问控制方法,其特征在于,具体步骤如下:
2.根据权利要求1所述跨域多权威协同的属性基加密访问控制方法,其特征在于,步骤二中所述生成全局公共参数的过程为:
3.根据权利要求1所述跨域多权威协同的属性基加密访问控制方法,其特征在于,步骤二中所述通过pkc合约计算属性子公钥的过程为:
4....
【专利技术属性】
技术研发人员:周琳娜,杨忠良,王壮,刘前卫,尤玮珂,秦宣梅,
申请(专利权)人:北京邮电大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。