法律状态公告日
法律状态信息
法律状态
2019-04-26
授权
授权
2019-04-12
专利申请权的转移 IPC(主分类):H04L9/08 登记生效日:20190325 变更前: 变更后: 申请日:20150713
专利申请权、专利权的转移
2016-01-20
实质审查的生效 IPC(主分类):H04L9/08 申请日:20150713
实质审查的生效
2015-12-23
公开
公开
技术领域
本发明属于信息安全技术领域,具体涉及一种可撤销两个属性的密钥策 略的属性加密方法。
背景技术
随着早期的模糊的基于身份加密方法的出现,基于属性密码学进入人类 视线。在现实中,用户不仅仅拥有唯一的公钥或者是身份,取而代之的是用 户对应的属性,比如说姓名、年龄、部门等,从而扩宽基于属性密码系统的 应用领域,引起了研究人员的关注。
针对多用户下的属性撤销机制,已存在的文章大多是直接撤销该属性下 的用户,使得用户不再具备任何性质,但是实际中用户可能仅仅需要撤销某 个属性,而不影响该用户其他属性,保证用户仍具有一定的加解密性质。因 此建立多用户下的单个属性的撤销技术,令撤销列表内包含的是撤销单个属 性的用户集合,它不影响用户的其他属性,当用户撤销后属性集仍满足访问 结构时,用户仍然就有解密能力。这样的有着细粒度可撤销的属性加密方法 是非常必要的。
发明内容
本发明的目的是提供一种可撤销两个属性的密钥策略的属性加密方法, 解决了现有技术中存在的加密方法不能撤销用户单个属性的问题。
本发明所采用的技术方案是,可撤销两个属性的密钥策略的属性加密方 法,具体按照以下步骤实施:
步骤1、系统参数初始化;
步骤2、密钥生成;
步骤3、加密;
步骤4、解密;
步骤5、追踪。
本发明的特点还在于,
步骤1的过程为设针对两个属性i和属性j构建撤销列表Ri和Rj,撤销列 表Ri表示撤销属性i的所有用户,记为撤销列表Rj表示撤 销了属性j的用户,记为其中允许q≠q′即每个撤销列表 中的撤销用户数目不等,用户在任意一个撤销列表中,或者同时存在于两个 撤销列表中,即允许用户同时撤销了属性i和属性j,令U表示系统中所有用 户集,设系统中属性个数是m,用户在加密时的属性集撤销列 表中用户的最大个数是n,消息为访问策略通过线性秘密共享技术LSSS 转换为访问策略(M,ρ),具体按照以下步骤实施:
步骤(1.1)、令G1和G2是阶为素数p的群,其中g是G1的生成元,定义 双线性映射e:G1×G1→G2;
步骤(1.2)、随机选择α∈Zp,这里Zp={0,1,…,p-1},
步骤(1.3)、构造主私钥以及相应的公共参数
步骤2的过程为将访问策略通过线性秘密共享技术LSSS转换为访问结 构(M,ρ),生成用户ID在访问结构(M,ρ)下的私钥,具体按照以下步骤实施:
步骤(2.1)、将访问策略通过LSSS转换为访问结构(M,ρ),矩阵M是一 个l×k的矩阵,Mi是矩阵M相应的第i行,映射ρ将Mi映射到属性ρ(i)∈[1,m];
步骤(2.2)、首先根据输入的身份ID∈Zp定义向量X=(x1,…,xn)T满足: xi=IDi-1modp,i={1,…,n},随机选取 {zi,0}i∈{2,…,k},{zi,1}i∈{2,…,k},{zi,2}i∈{2,…,k},{zi,3}i∈{2,…,k}∈Zp和r∈Zp,定义向量
步骤(2.3)、随机选择{ri,0}i∈[l],{ri,1}i∈[l],{ri,2}i∈[l],{ri,3}i∈[l]∈Zp,从而输出ID在 (M,ρ)下的私钥:
其中
D3=gr,
将借助矩阵MX记为
步骤3的过程为针对属性i的用户撤销列表Ri(|Ri|<n)和属性j的用户撤 销列表Rj(|Rj|<n),其中i,j∈ω,在属性集ω下对消息进行加密,具体按照 以下步骤实施:
步骤(3.1)、根据撤销列表Ri内的撤销用户集定义Yi=(yi,1,…,yi,n)T作为 式的系数向量;
步骤(3.2)、根据撤销列表Rj内的撤销用户定义Yj=(yj,1,…,yj,n)T,并将 Yj=(yj,1,…,yj,n)T作为式的系数向量;
步骤(3.3)、选取随机值s∈Zp,在属性集ω下,针对包含i属性的用户 撤销列表Ri和包含j属性的用户撤销列表Rj构造密文:
其中:
C1=gs,
步骤4的过程为设用户ID在访问结构(M,ρ)下形成的私钥sk,以及在属 性集ω下加密的密文ct和用户的撤销列表Ri和Rj,需要判定ID是否在撤销列 表Ri和Rj中,具体按照以下步骤实施:
步骤(4.1)、如果则令ω′=ω;
如果则ω′=ω-{j};
如果则ω′=ω-{i};
如果ID∈Ri∧ID∈Rj,则ω′=ω-{i}-{j};
步骤(4.2)、当且仅当属性集ω′满足用户的私钥中的访问结构(M,ρ)时, 用户才能成功解密,结合
如果首先根据ID定义X=(1,ID,…,IDn-1)T=(x1,…,xn)T,根 据撤销列表Ri定义Yi=(yi,1,…,yi,n)T作为式的系数向量,以及撤销列表Rj定义Yj=(yj,1,…,yj,n)T作为式的系数向量,计算:
当<X,Yi>≠0和<X,Yj>≠0时,即有:
令I={i:ρ(i)∈ω′},则根据已知的矩阵M,在概率多项式时间内找出常数 集{μi∈Zp}i∈I,满足Σi∈Iμi·Mi=(1,0,…,0),计算:
结合τ0的值,计算已知利用除法运算,能够成 功解密出消息
如果计算:
令I={i:ρ(i)∈ω′},存在常数集{μi∈Zp}i∈I,满足Σi∈Iμi·Mi=(1,0,…,0), 从而计算:
得到结合C,可以成功解密出
如果有:
令I={i:ρ(i)∈ω′},存在常数集{μi∈Zp}i∈I,满足Σi∈Iμi·Mi=(1,0,…,0), 从而计算:
得到结合C,可以成功解密出
如果ID∈Ri∧ID∈Rj,令I={i:ρ(i)∈ω′},存在常数集{μi∈Zp}i∈I,满足 Σi∈Iμi·Mi=(1,0,…,0),从而计算:
结合C,通过成功解密出
步骤5具体为:
令
该追踪是用于判定是否存在一个用户ID∈U={ID1,…,IDk},使得 其中i={1,2},若存在这样的用户,则说明该用户与私钥是相关的, 反之,则该用户与私钥无关,从而获取了方案中的用户责任。
本发明的有益效果是,可撤销两个属性的密钥策略的属性加密方法,撤 销用户的某一属性并不会影响该用户的其他属性以及拥有该属性的其他用 户;同时针对两个属性的撤销过程更符合实际需求;采用追踪算法判定了解 密过程中用户与用户私钥的关联性;最后将攻击方案的安全性规约到DBDHE 问题上,保证了方法的安全性。
具体实施方式
下面结合具体实施方式对本发明进行详细说明。
本发明可撤销两个属性的密钥策略的属性加密方法,具体按照以下步骤 实施:
步骤1、系统参数初始化:
过程为设针对两个属性i和属性j构建撤销列表Ri和Rj,撤销列表Ri表示 撤销属性i的所有用户,记为撤销列表Rj表示撤销了属性j 的用户,记为其中允许q≠q′即每个撤销列表中的撤销用 户数目不等,用户在任意一个撤销列表中,或者同时存在于两个撤销列表中, 即允许用户同时撤销了属性i和属性j,令U表示系统中所有用户集,设系统 中属性个数是m,用户在加密时的属性集撤销列表中用户的最 大个数是n,消息为访问策略通过线性秘密共享技术LSSS转换为访问 策略(M,ρ),具体按照以下步骤实施:
步骤(1.1)、令G1和G2是阶为素数p的群,其中g是G1的生成元,定义 双线性映射e:G1×G1→G2;
步骤(1.2)、随机选择α∈Zp,这里Zp={0,1,…,p-1},
步骤(1.3)、构造主私钥以及相应的公共参数
步骤2、密钥生成:
将访问策略通过LSSS转换为访问结构(M,ρ),生成用户ID在访问结构 (M,ρ)下的私钥,具体按照以下步骤实施:
步骤(2.1)、将访问策略通过LSSS转换为访问结构(M,ρ),矩阵M是一 个l×k的矩阵,Mi是矩阵M相应的第i行,映射ρ将Mi映射到属性ρ(i)∈[1,m],
步骤(2.2)、首先根据输入的身份ID∈Zp定义向量X=(x1,…,xn)T满足: xi=IDi-1modp,i={1,…,n},随机选取 {zi,0}i∈{2,…,k},{zi,1}i∈{2,…,k},{zi,2}i∈{2,…,k},{zi,3}i∈{2,…,k}∈Zp和r∈Zp,定义向量
步骤(2.3)、随机选择{ri,0}i∈[l],{ri,1}i∈[l],{ri,2}i∈[l],{ri,3}i∈[l]∈Zp,从而输出ID在 (M,ρ)下的私钥:
其中
D3=gr,
将借助矩阵MX可以记为
步骤3、加密:
过程为针对属性i的用户撤销列表Ri(|Ri|<n)和属性j的用户撤销列表 Rj(|Rj|<n),其中i,j∈ω,在属性集ω下对消息进行加密,具体按照以下步 骤实施:
步骤(3.1)、根据撤销列表Ri内的撤销用户集定义Yi=(yi,1,…,yi,n)T作为 式的系数向量;
步骤(3.2)、根据撤销列表Rj内的撤销用户定义Yj=(yj,1,…,yj,n)T,并将 Yj=(yj,1,…,yj,n)T作为式的系数向量;
步骤(3.3)、选取随机值s∈Zp,在属性集ω下,针对包含i属性的用户 撤销列表Ri和包含j属性的用户撤销列表Rj构造密文:
其中:
C1=gs,
步骤4、解密:
过程为设用户ID在访问结构(M,ρ)下形成的私钥sk,以及在属性集ω下 加密的密文ct和用户的撤销列表Ri和Rj,需要判定ID是否在撤销列表Ri和Rj中,具体按照以下步骤实施:
步骤(4.1)、如果则令ω′=ω;
如果则ω′=ω-{j};
如果则ω′=ω-{i};
如果ID∈Ri∧ID∈Rj,则ω′=ω-{i}-{j};
步骤(4.2)、当且仅当属性集ω′满足用户的私钥中的访问结构(M,ρ)时, 用户才能成功解密,结合
如果首先根据ID定义X=(1,ID,…,IDn-1)T=(x1,…,xn)T,根 据撤销列表Ri定义Yi=(yi,1,…,yi,n)T作为式的系数向量,以及撤销列表Rj定义Yj=(yj,1,…,yj,n)T作为式的系数向量,计算:
当<X,Yi>≠0和<X,Yj>≠0时,即有:
令I={i:ρ(i)∈ω′},则根据已知的矩阵M,在概率多项式时间内找出常数 集{μi∈Zp}i∈I,满足Σi∈Iμi·Mi=(1,0,…,0),计算:
结合τ0的值,计算已知利用除法运算,能够成 功解密出消息
如果计算:
令I={i:ρ(i)∈ω′},存在常数集{μi∈Zp}i∈I,满足Σi∈Iμi·Mi=(1,0,…,0), 从而计算:
得到结合C,可以成功解密出
如果有:
令I={i:ρ(i)∈ω′},存在常数集{μi∈Zp}i∈I,满足Σi∈Iμi·Mi=(1,0,…,0), 从而计算:
得到结合C,可以成功解密出
如果ID∈Ri∧ID∈Rj,令I={i:ρ(i)∈ω′},存在常数集{μi∈Zp}i∈I,满足 Σi∈Iμi·Mi=(1,0,…,0),从而计算:
结合C,通过成功解密出
步骤5、追踪:具体为,
令
该追踪是用于判定是否存在一个用户ID∈U={ID1,…,IDk},使得 其中i={1,2},若存在这样的用户,则说明该用户与私钥是相关的, 反之,则该用户与私钥无关,从而获取了方案中的用户责任。
下面证明本发明的安全性:
证明:若所有数据都是按照本发明方法中描述生成的,则计算密钥生成 过程、解密过程以及追踪过程中的局部参数:
(1)由撤销列表Ri对应的Yi=(yi,1,…,yi,n)T和Rj的Yj=(yj,1,…,yj,n)T得到K(1)和K(2),计算如下:
第一步,计算得到化简后的KX:
第二步,根据化简后KX的表达式,计算K(1):
同理可得,
(2)当时,τ0和φ0的计算:
从而得到
(3)追踪算法中参数的计算:
同理可以计算出:
对本发明的总结:本发明可撤销两个属性的密钥策略的属性加密方法, 是可撤销属性加密方法的一个重要进展,具体方法是,选择多用户下的两个 不同属性,建立撤销列表,考虑密钥生成过程中的用户是否在两个撤销列表 中,若存在判断用户余下的属性与访问结构的关系,只有当密文的属性集满 足用户的密钥策略,用户才能完成解密过程,设计过程需要:1)由权威中心 建立主密钥和公共参数2)利用线性秘密共享算法将访问策略转为访问结构, 生成相应访问结构下的用户私钥。3)根据属性集和已知的两个撤销列表,对 消息进行加密。4)判断用户是否在两个撤销列表中,分情况讨论,完成解密 过程。5)结合已知私钥和用户,建立追踪算法,判定用户与私钥的关联性。
机译: 基于属性的加密系统;通讯系统;系统中使用的密钥生成器;和基于属性的加密方法
机译: 开放密钥证书创建方式,属性证书创建方式和证书关系验证方式,开放密钥证书创建设备,属性证书创建设备和证书关系验证设备,通过发布密钥证书创建程序,属性证书创建程序,证书关系验证程序和程序
机译: 密码系统,基于属性等级方法基于密码学的属性生成方法来生成用于密码系统的用户的密钥的方法,基于密码学的属性分层方法的密码系统中用于密码系统的消息基于层次属性的计算机程序