一种基于属性加密机制的访问令牌应用控制方法与流程
- 国知局
- 2024-11-19 10:01:43
本发明涉及网络信息安全,具体涉及一种基于属性加密机制的访问令牌应用控制方法。
背景技术:
1、在一般应用系统的用户管理方式中,当用户通过身份认证后,权限服务器根据用户的访问权限向用户签发应用访问令牌,然后用户将应用访问请求和访问令牌一起递交给应用服务器,应用服务器验证用户的访问令牌是否合法,如通过验证则响应用户的访问请求,否则拒绝用户的访问请求。在这一过程中,虽然访问令牌具有有效期,但在有效期内,用户的访问权限是不变的,也就是说即使权限服务器中该用户的权限已经发生变化,但由于用户仍然拥有有效的访问令牌,仍然可以有权限继续访问应用系统;并且访问令牌一旦泄露,攻击者可以不经过身份认证直接持有访问令牌冒充原本的用户进行应用系统访问。
技术实现思路
1、针对现有技术的不足,本发明提供一种基于属性加密机制的访问令牌应用控制方法,根据用户访问权限属性,对访问令牌使用属性加密机制进行加密,只有用户拥有正确的属性,才能正确解密访问令牌,从而保证用户权限变化导致属性变化或者受到网络攻击导致属性变化均无法正确解密访问令牌。
2、本发明是通过如下技术方案实现的:
3、提供一种基于属性加密机制的访问令牌应用控制方法,包括以下步骤:
4、s1、由可信第三方生成属性加密机制的公共参数:setup(λ)→(params,mpk,msk),生成系统参数params,主公钥mpk和主私钥msk;
5、s2、可信第三方为用户生成用户属性ω的私钥:keygen(mpk,msk,ω);
6、s3、服务器对访问令牌进行属性加密:encrypt(mpk,a,m):在授权用户属性字符串a的集合加密访问令牌m∈{0,1}*;
7、s4、用户收到密文的访问令牌,进行属性解密:decrypt(ct,sk):使用用户的私钥sk解密密文访问令牌ct。
8、进一步的,在步骤s1中,生成系统参数params,主公钥mpk和主私钥msk的执行步骤为:
9、(1)运行双线性群生成算法g(λ)生成(p,g1,g2,gt,g1,g2,e);输入安全参数,输出素数阶p的三个群g1,g2,gt的描述;
10、(2)选取两个哈希函数h1:{0,1}n→g1和h2:gt→zp*;
11、(3)选取两个随机指数α,β∈zp*;
12、(4)选择ind-cpa安全的对称加密方案sym=(enc,dec),suf-cma安全的消息验证码mac=(mac,vrfy)和安全密钥派生函数kdf;
13、(5)返回系统参数、主公钥和主私钥:params=(h1,h2,sym,mac,kdf),mpk=(g1,g1α,g1β,g2,g2β),msk=(α,β)。
14、进一步的,在步骤(4)中,ind-cpa安全的对称加密方案sym=(enc,dec)为:加密算法enc以密钥k∈{0,1}n和明文消息m∈{0,1}*作为输入,返回密文c∈{0,1}*,n与安全参数有关;解密算法dec输入密钥k和密文c,返回消息m。
15、进一步的,在步骤(4)中,suf-cma安全的消息验证码mac=(mac,vrfy)为:标签生成算法mac输入密钥k∈{0,1}n和消息m∈{0,1}*,返回标签t,n为密钥长度,与安全参数有关,*表示消息长度不固定;验证算法vrfy输入密钥k,消息m和标签t,返回1表示t有效,因此m是可信的;返回0表示t无效,因此m是不可信的。
16、进一步的,在步骤(4)中,安全密钥派生函数kdf为:将四个参数作为输入:一个从密钥材料源中采样的值σ,一个表示要返回的密钥长度的值l,以及两个附加参数,一个在一组可能的盐值上定义的盐值r和一个上下文变量c,这两个参数都是可选的,即可以设置为空字符串或常数;如果密钥派生函数的输出分布在计算上与{0,1}l上的均匀分布无法区分,则该函数是安全的。
17、进一步的,在步骤s2中,生成用户属性ω的用户私钥的步骤:计算hω=h1(ω)∈g1;选取一个随机数r∈zp*,返回私钥sk=(gαβ1hrω,gr2)。
18、进一步的,在步骤s3中,加密访问令牌时:选取随机指数s∈zp*;计算hω=h1(ω)∈g1,计算σ=h2(e(g1α,g2β)s);执行基于deffie-hellman的加密方案dhies;返回密文ct=(c1,c2,c3,g2s,{hωs}ω∈a)。
19、进一步的,加密方案dhies的执行步骤为:选取随机数k∈zp*,设c1=g1βg1k;计算k=kdf(c1σ,l1+l2),将二进制字符串拆分为两个长度分别为l1和l2的子串k1和k2,k=k1∥k2;l1和l2分别匹配底层sym和mac方案的秘钥长度;计算c2=enck1(m)和c3=mack2(c2)。
20、进一步的,在步骤s4中,用用户的私钥sk解密密文访问令牌ct的步骤为:在ct中查找hsω,其索引ω与sk中g1αβhωr的索引相同,如果搜索失败,则返回⊥和halt;否则,设hsω为搜索的返回值,然后计算ρ=e(g1αβhωr,g2s)/e(hωs,g2r)=e(g1,g2)αβse(hω,g2)rs/e(hω,g2)sr=e(g1,g2)αβs;计算σ=h2(ρ);用dhies恢复m,返回明文访问令牌m。
21、进一步的,用dhies恢复m的步骤为:计算k=kdf(c1σ,l1+l2)并将二进制字符串k拆分为两个长度分别为l1和l2的子串k1和(k=k1∥k2)k2;l1和l2分别匹配底层sym和mac方案的密钥长度;计算b=vrfy(c3,mack2(c2)),如果b=0,则返回⊥和halt;否则,计算m=deck1(c2)。
22、本发明的有益效果:
23、本发明基于属性加密机制对访问令牌进行加密,只有用户拥有满足访问控制权限的属性,才能正确解密访问令牌,对应用系统进行访问,用于解决一般访问令牌应用过程中的安全问题,当用户不拥有相应的属性,或者由于访问权限变化不再拥有某些属性,或者由于网络攻击导致某些属性变化,都无法正确解密访问令牌,从而防止访问令牌的泄露。
技术特征:1.一种基于属性加密机制的访问令牌应用控制方法,其特征在于:包括以下步骤:
2.根据权利要求1所述的基于属性加密机制的访问令牌应用控制方法,其特征在于:在步骤s1中,生成系统参数params,主公钥mpk和主私钥msk的执行步骤为:
3.根据权利要求2所述的基于属性加密机制的访问令牌应用控制方法,其特征在于:在步骤(4)中,ind-cpa安全的对称加密方案sym=(enc,dec)为:加密算法enc以密钥k∈{0,1}n和明文消息m∈{0,1}*作为输入,返回密文c∈{0,1}*,n与安全参数有关;解密算法dec输入密钥k和密文c,返回消息m。
4.根据权利要求2所述的基于属性加密机制的访问令牌应用控制方法,其特征在于:在步骤(4)中,suf-cma安全的消息验证码mac=(mac,vrfy)为:标签生成算法mac输入密钥k∈{0,1}n和消息m∈{0,1}*,返回标签t,n为密钥长度,与安全参数有关,*表示消息长度不固定;验证算法vrfy输入密钥k,消息m和标签t,返回1表示t有效,因此m是可信的;返回0表示t无效,因此m是不可信的。
5.根据权利要求2所述的基于属性加密机制的访问令牌应用控制方法,其特征在于:在步骤(4)中,安全密钥派生函数kdf为:将四个参数作为输入:一个从密钥材料源中采样的值σ,一个表示要返回的密钥长度的值l,以及两个附加参数,一个在一组可能的盐值上定义的盐值r和一个上下文变量c,这两个参数都是可选的,即可以设置为空字符串或常数;如果密钥派生函数的输出分布在计算上与{0,1}l上的均匀分布无法区分,则该函数是安全的。
6.根据权利要求1所述的基于属性加密机制的访问令牌应用控制方法,其特征在于:在步骤s2中,生成用户属性ω的用户私钥的步骤:计算hω=h1(ω)∈g1;选取一个随机数r∈zp*,返回私钥sk=(gαβ1hrω,gr2)。
7.根据权利要求1所述的基于属性加密机制的访问令牌应用控制方法,其特征在于:在步骤s3中,加密访问令牌时:选取随机指数s∈zp*;计算hω=h1(ω)∈g1,计算σ=h2(e(g1α,g2β)s);执行基于deffie-hellman的加密方案dhies;返回密文ct=(c1,c2,c3,g2s,{hωs}ω∈a)。
8.根据权利要求7所述的基于属性加密机制的访问令牌应用控制方法,其特征在于:加密方案dhies的执行步骤为:选取随机数k∈zp*,设c1=g1βg1k;计算k=kdf(c1σ,l1+l2),将二进制字符串拆分为两个长度分别为l1和l2的子串k1和k2,k=k1∥k2;l1和l2分别匹配底层sym和mac方案的秘钥长度;计算c2=enck1(m)和c3=mack2(c2)。
9.根据权利要求1所述的基于属性加密机制的访问令牌应用控制方法,其特征在于:在步骤s4中,用用户的私钥sk解密密文访问令牌ct的步骤为:在ct中查找hsω,其索引ω与sk中g1αβhωr的索引相同,如果搜索失败,则返回⊥和halt;否则,设hsω为搜索的返回值,然后计算ρ=e(g1αβhωr,g2s)/e(hωs,g2r)=e(g1,g2)αβse(hω,g2)rs/e(hω,g2)sr=e(g1,g2)αβs;计算σ=h2(ρ);用dhies恢复m,返回明文访问令牌m。
10.根据权利要求9所述的基于属性加密机制的访问令牌应用控制方法,其特征在于:用dhies恢复m的步骤为:计算k=kdf(c1σ,l1+l2)并将二进制字符串k拆分为两个长度分别为l1和l2的子串k1和(k=k1∥k2)k2;l1和l2分别匹配底层sym和mac方案的密钥长度;计算b=vrfy(c3,mack2(c2)),如果b=0,则返回⊥和halt;否则,计算m=deck1(c2)。
技术总结本发明涉及网络信息安全技术领域,具体涉及一种基于属性加密机制的访问令牌应用控制方法,包括以下步骤:S1、由可信第三方生成属性加密机制的公共参数:Setup(λ)→(params,mpk,msk),生成系统参数params,主公钥mpk和主私钥msk;S2、可信第三方为用户生成用户属性ω的私钥:KeyGen(mpk,msk,ω);S3、服务器对访问令牌进行属性加密:Encrypt(mpk,A,m):在授权用户属性字符串A的集合加密访问令牌m∈{0,1}*;S4、用户收到密文的访问令牌,进行属性解密:Decrypt(ct,sk):使用用户的私钥sk解密密文访问令牌ct。本发明可根据用户访问权限属性,对访问令牌使用属性加密机制进行加密,从而保证用户权限变化导致属性变化或者受到网络攻击导致属性变化均无法正确解密访问令牌。技术研发人员:王继志,卢藜丹,梅灿,董开坤,徐东亮,卢晓彦受保护的技术使用者:山东同域信息技术有限公司技术研发日:技术公布日:2024/11/14本文地址:https://www.jishuxx.com/zhuanli/20241118/331177.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。
下一篇
返回列表