[发明专利]一种属性撤销方法有效
申请号: | 201910370729.0 | 申请日: | 2019-05-06 |
公开(公告)号: | CN110098926B | 公开(公告)日: | 2021-08-13 |
发明(设计)人: | 张选平;樊兴;王嘉寅 | 申请(专利权)人: | 西安交通大学 |
主分类号: | H04L9/08 | 分类号: | H04L9/08;H04L9/06 |
代理公司: | 西安通大专利代理有限责任公司 61200 | 代理人: | 高博 |
地址: | 710049 *** | 国省代码: | 陕西;61 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 属性 撤销 方法 | ||
1.一种属性撤销方法,其特征在于,使用树形用户空间组织方式,定义用户身份识别码为由0\1字符组成的字符串,所有用户的身份识别码拥有相同的长度m,用户身份空间是所有可能出现的用户身份识别码组成的一个全域I,域的大小为2m,根据属性使用情况划分群,然后将用户随机划分到不相关的群中,引入最小覆盖机制,使用最小可覆盖群机制组织已消减用户群,在已撤销用户群中存放代表一个用户群体的群标识码,并引入合并机制,在没有用户进入被撤销权限的用户群时,将相邻的群合并为一个群,更新用户的代理密钥和已消减用户集的插值因子完成属性撤销,包括以下步骤:
S1、系统初始化,设有三个乘法循环群和和拥有相同的素数阶q,且满足双线性映射基于素数阶的双线性循环群,应用于子群子群用于生成随机化的密钥,选定一个足够大的安全参数λ决定系统群的大小,定义拉格朗日系数Δi,S,其中S是中的一个集合;选择哈希函数将一个任意长度0/1字符组成的字符串随机映射为群的整数,选择哈希函数它将一个任意长度0/1字符组成的字符串随机映射为上的一个整数,具体为:
S101、由认证中心运行算法Setup(1λ,m,n)为系统的正常运行生成基础的参数,n为系统已创建属性的数目,m为所有用户的身份识别码拥有相同的长度,从乘法群和中分别随机选择生成元g1和g2;
选择两个随机指数计算得到系统参数如下:
系统主密钥SMK如下:
其中,系统主密钥参与到各个密钥生成的阶段,系统参数会参与到密钥生成、加解密、代理密钥生成和属性撤销等各个算法;
S102、当用户向认证中心发出携带自己身份描述信息Info的请求时,认证中心运行UserReg(SP,Info)算法,验证请求用户的身份是否合法,如果用户的身份是合法的,则从用户身份空间中为请求用户分配一个全局唯一的用户身份识别码和用户公钥/私钥,生成UPK/USK,算法选择随机指数生成的用户私钥/公钥如下:
为用户生成身份识别码uid,算法UserReg为用户分配身份识别码的过程就是从用户空间I中为用户随机选择一个未分配的字符串;
S2、用户从认证中心处获得解密数据使用的密钥SK,当认证中心收到用户发来的产生密钥的请求时,运行KeyGen(SP,SMK,S)算法,算法输入属性集合S、系统参数SP和系统主密钥SMK,输出访问密钥SK,对于属性Si,认证中心根据使用属性Si用户的数量将用户群划分为2l个一级群,每个一级群包含2m-l个用户,群标识码g的长度为l,记作Gg;每个一级群Gg包括已消减用户集(Revoked Users,RUs)RUsg、不拥有权限的用户集和拥有权限的用户集(Authorized Users,AUs)AUsg;
以每个已消减群为单位,使用秘密共享的机制将已消减用户群和拥有权限的用户联系起来,共享一个密钥s,使用拉格朗日插值多项式的机制实现密钥共享;首先,计算得到已消减用户集RUsg的大小t=|RUGg|,算法为每个一级群Gg生成阶为t+1的多项式,选择共享秘密选择一个长度为t+1的随机向量构建多项式为Pg(x)=s+y1·x+y2·x2+…+yt+1·xt+1;得Pg(0)=s,将Pg(0)嵌入所有拥有权限的用户的密钥中,计算uzr=H1(uid),得到用户useruid持有的子秘密Pg(uzr);选择随机指数输入系统主密钥SMK和系统参数SP,计算解码密钥选择随机指数计算如下:
算法输出SK如下:
;
S3、数据拥有者运行Encrypt(SP,K,Τ)→CT算法将明文数据转换为密文数据,算法依据访问树T,使用系统参数SP对数据K进行加密;
S4、代理密钥生成算法ProxyKey(SP,SMK,RL)为已消减用户集RUs和拥有权限的用户集AUs中的用户生成子秘密,算法输入已消减用户列表RL,RL均匀分布于各个一级群中;
S5、先密文转换,然后解密数据,根据用户的身份识别码,长度为l的前缀即是用户所在一级群的群识别码g=prx(uid,l),prx()为输入用户身份识别码获取用户所在的一级群的群识别码,通过群识别码快速查找出用户所属群的已消减用户集的代理密钥PSKg,计算将useruid映射到整数集的值uzr=H1(uid);
首先,查看在RUsg中是否用有个元素是uid的前缀,如果是,则表示用户是RUsg中的一个元素,不再拥有权限要求;否则,使用uid对PSKg中的插值因子进行修正计算:
式中:gzr=H1(gid);
同时计算出useruid的插值因子:
式中:zr为已消减用户集中元素的哈希值,zr=H1(id),id为已消减用户集Rus的枚举值;
输入密文组件C'y,计算出一个用于消除用户密钥的密文组件,
密文转化算法CT'输出:
;
S6、当属性撤销操作发生时,调用Revocation(uid,SP,SMK,RL,PXK)算法,输入用户的uid,系统参数SP,系统主密钥SMK和已消减用户集RUs,代理密钥PSK,更新用户的代理密钥和已消减用户集的插值因子。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西安交通大学,未经西安交通大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910370729.0/1.html,转载请声明来源钻瓜专利网。