首页> 中国专利> 一种多授权属性加解密方法

一种多授权属性加解密方法

摘要

一种多授权属性加解密方法,包括系统初始化、数据加密、密钥分发和解密密文等步骤。本发明有益效果:解决了大型属性加密系统中访问结构稀疏所带来的加解密运算消耗大,存储空间占用率高的问题,弥补了其他方案在这一方面的不足;同时在本发明中不仅解决了计算效率和数据存储利用率的问题,还具有抗共谋攻击和选择明文攻击的安全性。

著录项

  • 公开/公告号CN107276766A

    专利类型发明专利

  • 公开/公告日2017-10-20

    原文格式PDF

  • 申请/专利权人 河南科技大学;

    申请/专利号CN201710622949.9

  • 申请日2017-07-27

  • 分类号

  • 代理机构洛阳公信知识产权事务所(普通合伙);

  • 代理人刘兴华

  • 地址 471000 河南省洛阳市涧西区西苑路48号

  • 入库时间 2023-06-19 03:34:25

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2020-05-19

    授权

    授权

  • 2017-11-17

    实质审查的生效 IPC(主分类):H04L9/32 申请日:20170727

    实质审查的生效

  • 2017-10-20

    公开

    公开

说明书

技术领域

本发明涉及加解密领域,具体地说是一种多授权属性加解密方法。

背景技术

作为一种新型的密码体制算法,基于属性的加密方法在云存储技术、社交网络、在线点播等领域得到了广泛关注与应用。相比于传统的加密算法来说,基于属性的加密算法不仅实现了细粒度的访问控制,还可以制定更加灵活的访问控制策略。

基于属性的加密算法(Attribute Based Encryption,ABE),它将用户的一系列身份信息看作是数据加解密的输入,只有满足数据拥有者所制定的访问控制策略的用户才可以获得数据信息,从而解决了以往加密算法无法实现一对多通信的难题,同时数据拥有者还可以针对数据接受者的一系列身份信息(用户属性)制定灵活的授权策略,因此基于属性的加密算法得到了广泛的关注。

之前所提出的ABE方案大多是单一授权结构的,但由于网络通信量的快速增长,单一授权机构的工作效率渐渐难以满足用户的需求;同时,在多属性授权机构方案中中央授权机构(Central Authority,CA)往往掌握全局的主密钥(Master Key,MK),一旦CA受到攻击,全局的MK将遭到泄露从而导致系统的不安全。针对以上问题,有学者提出了一种去中心的多授权机构ABE方案,在该方案中,存在多个CA和多个属性授权机构(AttributeAuthorities,AA),在实现授权时由多个CA合作授权用户身份密钥;但该方案中隐藏了密文中的授权访问结构,所以必须将所有属性授权机构所包含的属性全部参与计算,虽然保证了密文的长度恒定,但却对大规模属性系统实现困难。在大规模属性加密系统中,用户所指定的访问策略所包含的属性规模往往远小于系统提供的属性规模,这里称之为“访问结构稀疏”或是“small AND gates”。

所以针对上述问题,本发明提出了一种新型的多授权属性加解密方法。

发明内容

本发明所要解决的技术问题是提供一种多授权属性加解密方法,解决在大型属性加密系统中访问结构稀疏所带来的加解密运算消耗大,存储空间占用率高的问题。

本发明为解决上述技术问题所采用的技术方案是一种多授权属性加解密方法,包括以下步骤:

步骤一、系统初始化:包括层级属性机构属性访问树Γ的构建、系统参数生成、中央授权机构初始化和属性授权机构初始化四个方面;

(1)系统参数生成:在系统内输入一个安全参数1λ,系统调用群生成算法生成两个阶为素数p的乘法循环群G和GT,群G的生成元为g,存在双线性映射e:G×G→GT,同时,选取一个存在性不可伪造的签名算法Σsign=(KenGen,Sign,Verify),输出全局公开参数δ=(e,g,G,GT,p,Σsign);

(2)层级属性访问树Γ的构建:每一个属性授权机构将域内属性进行编码,使每一个属性都有自己的索引indexi,然后建立一个平衡二叉树,该平衡二叉树的非叶结点T[i...j]中,开始的序号为该非叶结点下对应的最左端叶节点的索引值,结束的序号为该非叶结点最右端叶节点所对应的属性值,在非偶数个属性出现时,二叉树的最右端将补充一个表达值恒为的空属性,保持属性树中所有非叶子结点的平衡;对于特定属性授权机构AAk所建立的属性访问树定义为Γk,k表示特定属性授权机构AAk的索引;

(3)中央授权机构初始化:存在若干个中央授权机构CA,CA={CA1,CA2,...,CAl},l表示CA的个数,每个中央授权机构独立运行初始化算法,随机选择ydyd为CAd的主密钥,存在令Y=e(g,g)y,其中Y为公开加密参数,调用签名算法得到验证签名密钥VerifyKeyd,CAd的签名算法公私钥对CAPVd,VerifyKeyd=μd,CAPVd=(SignKeydd);

(4)属性授权机构初始化:存在若干个属性授权机构AA,AA={AA1,AA2,...,AAt},t表示AA的个数,AA负责向用户提供用户的属性相关密钥,每一个AAj都负责管理一个属性域Uj,与任意的AAi都有这使得每个属性仅属于一个AA管理,每个AA所管理的属性是互不冲突的。对于全局属性集全局属性授权机构随机选取其中m为全局属性域所包含的属性个数;同时,对于某个特定的属性授权机构AAk当中的非叶结点x=[i...j]将随机选取并存在得出属性公开参数∪Zk,i、属性隐含参数∪zk,i以及AAk所对应的公开随机参数rk,其中∪Zk,i=Zk,1,...,Zk,3n,∪zk,i=zk,1,...,zk,3n,存在其中k=(1,2,...,t)为属性授权机构索引;

步骤二、数据加密:将欲加密的明文数据M、全局公开参数δ和用户指定的访问策略W作为输入,遍历属性授权机构建立的属性访问树Γ进行加密算法,得到加密数据CT;

步骤三、密钥分发,包括用户身份密钥分发和用户属性密钥分发:

用户身份密钥分发:用户向中央授权机构CAd提供一个唯一身份标识GID,CAd将属性授权机构AA生成的参数r和用户的唯一身份标识信息GID作为输入,输出身份密钥SKCA和属性密钥生成参数Ξ;

用户属性密钥分发:用户向属性授权机构AAk申请属性密钥,属性授权机构AAk验证用户提供的身份信息是否正确,如果正确,属性授权机构AAk将rk和∪zk,i作为输入,为用户输出一组属性密钥SKAA,如果不正确将终止属性密钥的分发;

步骤四、解密密文:授权用户将系统提供的用户属性密钥SKAA、用户身份密钥SKCA和加密密文CT作为输入,系统根据用户所提供的信息运行解密算法;如果用户符合访问策略输出数据M,否则解密失败终止系统。

本发明所述步骤二中对明文数据M加密的具体方法为:

给定明文数据M,为其选定一个首次加密随机参数得到加密的明文C=M·Ys和C′=gs,用户设置一个访问控制策略其中为全局属性集合,给定一个访问控制结构遍历平衡二叉树Γ进行加密:

(1)若attk,i和attk,i+1为两个叶子节点,对应的属性值为i和i+1,对于每个都存在如下关系:如果i=+i,则有如果则有如果则有并将以上结果包含于密文当中;如果则返回0;

(2)attk,i和attk,i+1为两个非叶子节点,规则如下:

如果两个非叶结点attk,i和attk,i+1都返回1,则返回1;

如果两个非叶结点attk,i和attk,i+1都返回0,则返回0;

如果两个非叶结点attk,i和attk,i+1中,attk,i返回0而另attk,i+1返回1,则定义并将与所对应的节点信息写入密文当中,返回1;

最后得出加密密文CT,

本发明所述步骤三中用户身份密钥分发的方法为:系统为用户随机选取使其与用户一一对应,可得D*=gy-r,Θ=1/oGID,最后得到CA的身份密钥SKCA,SKCA=(D,D*,Θ),运行签名算法,对(Signkey,GID)进行签名得到用户的签名验证参数从而得到用户属性密钥生成参数Ξ,Ξ只能用于AA生成属性密钥。

本发明所述步骤三中用户属性密钥分发的方法为:

当接收到属性授权请求时,AAk利用ud对Ξ中的签名验证信息进行验证,如果验证失败则授权终止;

为随机参数且rGID,k,x=ΣrGID,k,i,其中i为x的子节点,令用户的属性集合为存在属性当且仅当可得i=+i;当可得i=-i;当属性令该属性密钥为当属性时,令该属性密钥为时,令该属性密钥为对于非叶子节点x存在最后可得到属性私钥SKAA

本发明所述步骤四中解密密文的方法为:将加密密文用户属性密钥和用户身份密钥SKCA=(D,D*)作为输入,从加密密文CT中提取访问控制结构将用户属性集合与访问控制结构W做判断,如果不满足W则终止解密过程,否则对所有属性进行如下解密过程:

如果节点x为叶子节点:

(1)如果属性且属性设置为

(2)如果属性且属性设置为

(3)如果属性i设置为Don'tCare,则

如果节点x为非叶子节点,则

将上述结果带入下式进行计算:

由此得到:明文M为

本发明的有益效果是:本发明解决了大型属性加密系统中访问结构稀疏所带来的加解密运算消耗大,存储空间占用率高的问题,弥补了其他方案在这一方面的不足;同时在本发明中不仅解决了计算效率和数据存储利用率的问题,还具有抗共谋攻击和选择明文攻击的安全性。

附图说明

图1为本发明内容流程示意图。

具体实施方式

一种多授权属性加解密方法,包括以下步骤:

步骤一、系统初始化:包括层级属性机构属性访问树Γ的构建、系统参数生成、中央授权机构初始化和属性授权机构初始化四个方面;

(1)系统参数生成:在系统内输入一个安全参数1λ,系统调用群生成算法生成两个阶为素数p的乘法循环群G和GT,群G的生成元为g,存在双线性映射e:G×G→GT,同时,选取一个存在性不可伪造的签名算法Σsign=(KenGen,Sign,Verify),输出全局公开参数δ=(e,g,G,GT,p,Σsign);

(2)层级属性访问树Γ的构建:每一个属性授权机构将域内属性进行编码,使每一个属性都有自己的索引indexi,然后建立一个平衡二叉树,该平衡二叉树的非叶结点T[i...j]中,开始的序号为该非叶结点下对应的最左端叶节点的索引值,结束的序号为该非叶结点最右端叶节点所对应的属性值,在非偶数个属性出现时,二叉树的最右端将补充一个表达值恒为i的空属性,保持属性树中所有非叶子结点的平衡;对于特定属性授权机构AAk所建立的属性访问树定义为Γk,k表示特定属性授权机构AAk的索引;

(3)中央授权机构初始化:存在若干个中央授权机构CA,CA={CA1,CA2,...,CAl},l表示CA的个数,每个中央授权机构独立运行初始化算法,随机选择ydyd为CAd的主密钥,存在令Y=e(g,g)y,其中Y为公开加密参数,调用签名算法得到验证签名密钥VerifyKeyd,CAd的签名算法公私钥对CAPVd,VerifyKeyd=μd,CAPVd=(SignKeydd);

(4)属性授权机构初始化:存在若干个属性授权机构AA,AA={AA1,AA2,...,AAt},t表示AA的个数,AA负责向用户提供用户的属性相关密钥,每一个AAj都负责管理一个属性域Uj,都与任意的AAi都有这使得每个属性仅属于一个AA管理,每个AA所管理的属性是互不冲突的。对于全局属性集全局属性授权机构随机选取其中m为全局属性域所包含的属性个数;同时,对于某个特定的属性授权机构AAk当中的非叶结点x=[i...j]将随机选取并存在得出属性公开参数∪Zk,i、属性隐含参数∪zk,i以及AAk所对应的公开随机参数rk,其中∪Zk,i=Zk,1,...,Zk,3n,∪zk,i=zk,1,...,zk,3n,存在其中k=(1,2,...,t)为属性授权机构索引;

步骤二、数据加密:将欲加密的明文数据M、全局公开参数δ和用户指定的访问策略W作为输入,遍历属性授权机构建立的属性访问树Γ进行加密算法,得到加密数据CT;

步骤三、密钥分发,包括用户身份密钥分发和用户属性密钥分发:

用户身份密钥分发:用户向中央授权机构CAd提供一个唯一身份标识GID,CAd将属性授权机构AA生成的参数r和用户的唯一身份标识信息GID作为输入,输出身份密钥SKCA和属性密钥生成参数Ξ;

用户属性密钥分发:用户向属性授权机构AAk申请属性密钥,属性授权机构AAk验证用户提供的身份信息是否正确,如果正确,属性授权机构AAk将rk和∪zk,i作为输入,为用户输出一组属性密钥SKAA,如果不正确将终止属性密钥的分发;

步骤四、解密密文:授权用户将系统提供的用户属性密钥SKAA、用户身份密钥SKCA和加密密文CT作为输入,系统根据用户所提供的信息运行解密算法;如果用户符合访问策略输出数据M,否则解密失败终止系统。

进一步,所述步骤二中对明文数据M加密的具体方法为:

给定明文数据M,为其选定一个首次加密随机参数得到加密的明文C=M·Ys和C′=gs,用户设置一个访问控制策略其中为全局属性集合,给定一个访问控制结构遍历平衡二叉树Γ进行加密:

(1)若attk,i和attk,i+1为两个叶子节点,对应的属性值为i和i+1,对于每个都存在如下关系:如果i=+i,则有如果i=-i,则有如果则有并将以上结果包含于密文当中;如果则返回0;

(2)attk,i和attk,i+1为两个非叶子节点,规则如下:

如果两个非叶结点attk,i和attk,i+1都返回1,则返回1;

如果两个非叶结点attk,i和attk,i+1都返回0,则返回0;

如果两个非叶结点attk,i和attk,i+1中,attk,i返回0而另attk,i+1返回1,则定义并将与所对应的节点信息写入密文当中,返回1;

最后得出加密密文CT,

进一步,所述步骤三中用户身份密钥分发的方法为:系统为用户随机选取使其与用户一一对应,可得D*=gy-r,Θ=1/oGID,最后得到CA的身份密钥SKCA,SKCA=(D,D*,Θ),运行签名算法,对(Signkey,GID)进行签名得到用户的签名验证参数从而得到用户属性密钥生成参数Ξ,Ξ只能用于AA生成属性密钥。

进一步,所述步骤三中用户属性密钥分发的方法为:

当接收到属性授权请求时,AAk利用ud对Ξ中的签名验证信息进行验证,如果验证失败则授权终止;

为随机参数且rGID,k,x=ΣrGID,k,i,其中i为x的子节点,令用户的属性集合为存在属性当且仅当可得i=+i;当可得i=-i;当属性令该属性密钥为当属性时,令该属性密钥为时,令该属性密钥为对于非叶子节点x存在最后可得到属性私钥SKAA

进一步,所述步骤四中解密密文的方法为:将加密密文用户属性密钥和用户身份密钥SKCA=(D,D*)作为输入,从加密密文CT中提取访问控制结构将用户属性集合与访问控制结构W做判断,如果不满足W则终止解密过程,否则对所有属性进行如下解密过程:

如果节点x为叶子节点:

(1)如果属性且属性设置为i=+i,则

(2)如果属性且属性设置为i=-i,则

(4)如果属性i设置为Don'tCare,则

如果节点x为非叶子节点,则

将上述结果带入下式进行计算:

由此得到:明文M为

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号