混合云下支持移动设备的基于多授权的CP-ABE方法转让专利

申请号 : CN202011117300.X

文献号 : CN112260829B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 阮莹莹谢满德洪海波

申请人 : 浙江工商大学

摘要 :

本发明公开了混合云下支持移动设备的基于多授权的CP‑ABE方法,包括如下步骤:S1,初始化,生成系统公钥和主密钥的系统公私钥对;S2,加密阶段,将授权用户列表上传至私有云,在访问策略下,结合系统公钥对数据进行加密,获得密文并上传公有云;S3,密钥生成阶段,通过系统公钥、主密钥和从授权属性集中选取的随机数作为筛选密钥,计算得到用户密钥,通过系统公钥、用户属性集合和筛选密钥,计算属性授权密钥;S4,解密阶段,利用用户密钥、属性授权密钥、系统公钥和包含访问策略的密文作为输入,进行CUA解密,输出半解密密文,再通过半解密密文、系统公钥和属性授权密钥作为输入,进行用户解密,输出数据。

权利要求 :

1.混合云下支持移动设备的基于多授权的CP‑ABE方法,其特征在于包括如下步骤:

S1,初始化,生成系统公钥PK和主密钥MK的系统公私钥对;输入两个安全参数α、β和一个素数阶的循环群G0,输出系统公钥PK和主密钥MK,G0是素数阶p的一个循环群,g是生成元,双线性映射e:G0×G0→G1,接着定义一个哈希函数H:{0,1}→G0,定义用户的授权属性集V∈Zp,即U={h1,...,hn},S=[S1,...Sn](Si∈Vi)表示用户的属性集合;

S2,加密阶段,数据拥有者将授权用户列表上传至私有云,私有云在LSSS访问策略下,结合系统公钥PK对数据m进行加密,获得密文C并上传公有云;由私有云执行加密算法(PK,m,(M,ρ)),PK、m和访问策略(M,ρ)作为输入,选择单个随机数r∈V,r1,...,rl∈Zp,输出的密文C上传公有云,加密算法公式如下:C、C’、Ci、D表示加密的数据,e(g,g)表示双线性映射函数,ri表示来自用户属性集合S的r α一组随机数,g表示秘密参数,e(g,g) 、g和哈希函数H均为来自PK的参数;

访问架构P根据线性秘密共享LSSS定义访问策略(M,ρ),M是l×n的线性矩阵,Mi是矩阵M第i行对应的向量,ρ是一个单映射函数,映射矩阵每一行的属性值ρ(i),随机选择一个随机向量 s表示共享秘密,λi表示共享子秘密,即s的第i份秘密份额,S3,密钥生成阶段,通过系统公钥PK、主密钥MK和从授权属性集V中选取的随机数t作为筛选密钥 计算得到用户密钥DO_key,通过系统公钥PK、用户属性集合S和筛选密钥 计算属性授权密钥AA_key;

DO_key生成阶段,采用用户密钥生成算法(PK,MK),将系统公钥PK和主密钥MK作为输入,从授权属性集V中选择一个随机数t作为筛选密钥,输出用户密钥:α tβ

DO _key=(K=g×g )

α β

其中g 是来自PK的参数,g 是来自MK的参数,筛选密钥 通过安全信道发送给用户助理CUA,并由CUA分发给属性授权机构AA;

AA_key生成阶段,采用授权密钥生成算法 将系统公钥PK、用户属性集合S和筛选密钥 作为输入,由CUA中的一系列的AA生成AAx_key,再由CUA聚合生成AA_key,输出属性授权密钥,公式如下:AA_key=(AA1_key/,...,AAx_key)

其中哈希函数H是来自PK的参数;

S4,解密阶段,用户申请访问数据并根据LSSS的性质,利用用户密钥DO _key、属性授权密钥AA_key、系统公钥PK和包含访问策略(M,ρ)的密文CT作为输入,进行CUA解密,输出半解密密文PCT,再通过半解密密文PCT、系统公钥PK和属性授权密钥AA_key作为输入,进行用户解密,输出数据m;

所述CUA解密,采用CUA解密算法(PK,CT,AA_key,DO_key),根据LSSS的性质,如果用户提交的属性集合S满足访问结构P,令子集I={i|ρ(i)∈S}且 根据线性秘密共享(LSSS)定义,则必定会存在一个常数集 使得∑i∈Iωi·λi=s,PCT计算如下:t

L表示筛选密钥 作为指数的运算,即g ,CT包含C、C’、Ci、D,输出数据m,利用筛选密αs钥进行二次确认,即e(g,g) ,最后输出半解密密文PCT;

αs

用户解密算法(PK,PCT,DO_key)由用户执行,用户得到PCT,当r=t时,得到e(g,g) ,再结合密文C得到数据m,公式如下:

2.如权利要求1所述的混合云下支持移动设备的基于多授权的CP‑ABE方法,其特征在于采用适应性CCA方案,数据拥有者使用一次签名方案 生成验证密钥vk和签名密钥sk的密钥对,通过验证密钥vk加密m,Encrypt(PK,m,vk)→CT,通过签名密钥sk对密文CT进行签名,获得签名σ,生成最终密文(ck,CT,σ);私有云利用vk验证CT上的签名,通过算法 验证,验证通过后生成对应于验证密钥vk的密钥SKvk,即生成(DO _key,AA_key),再通过SKvk解密密文CT。

3.如权利要求1所述的混合云下支持移动设备的基于多授权的CP‑ABE方法,其特征在于包括密钥生成中心、用户、数据拥有者、私有云、公有云和用户助理CUA,密钥生成中心生成系统公钥PK和主密钥MK的系统公私钥对,完成初始化;数据拥有者将授权用户列表上传至私有云,私有云在LSSS访问策略下,结合系统公钥PK对数据m进行加密,获得密文C并上传公有云;用户通过系统公钥PK、主密钥MK和从授权属性集V中选取的随机数t作为筛选密钥计算得到用户密钥DO_key,用户助理CUA通过系统公钥PK、用户属性集合S和筛选密钥计算属性授权密钥AA_key;用户申请访问数据,私有云根据LSSS的性质,利用用户密钥DO _key、属性授权密钥AA_key、系统公钥PK和包含访问策略(M,ρ)的密文CT作为输入,进行CUA解密,输出半解密密文PCT,用户再通过半解密密文PCT、系统公钥PK和属性授权密钥AA_key作为输入,进行用户解密,输出数据m。

4.如权利要求3所述的混合云下支持移动设备的基于多授权的CP‑ABE方法,其特征在于所述用户助理CUA包含一系列的属性授权机构AA,用于生成AAx_key,再由用户助理CUA聚合生成属性授权密钥AA_key。

说明书 :

混合云下支持移动设备的基于多授权的CP‑ABE方法

技术领域

[0001] 本发明涉及多授权的CP‑ABE技术领域,尤其是涉及了混合云下支持移动设备的基于多授权的CP‑ABE方法。

背景技术

[0002] CP‑ABE(ciphertext policy attribute based encryption,密文策略属性基加密系统)是指密文对应于一个访问结构而密钥对应于属性集合,解密当且仅当属性集合中的属性能够满足此访问结构。这种设计比较接近于现实中的应用场景,可以假象每个用户根据自身条件或者属性从属性机构得到密钥,然后加密者来制定对消息的访问控制。
[0003] 但是,当前大部分多授权CP‑ABE方案对资源有限的移动设备来说都有着无法承受的计算和通信开销。

发明内容

[0004] 为解决现有技术的不足,实现高效解密的目的,本发明采用如下的技术方案:
[0005] 混合云下支持移动设备的基于多授权的CP‑ABE方法,包括如下步骤:
[0006] S1,初始化,密钥生成中心生成系统公钥PK和主密钥MK的系统公私钥对;
[0007] S2,加密阶段,数据拥有者将授权用户列表上传至私有云,私有云在LSSS访问策略下,结合系统公钥PK对数据m进行加密,获得密文C并上传公有云;
[0008] S3,密钥生成阶段,通过系统公钥PK、主密钥MK和从授权属性集V中选取的随机数t作为筛选密钥 计算得到用户密钥DO_key,通过系统公钥PK、用户属性集合S和筛选密钥计算属性授权密钥AA_key;
[0009] S4,解密阶段,用户申请访问数据并根据LSSS的性质,利用用户密钥Do_key、属性授权密钥AA_key、系统公钥PK和包含访问策略(M,ρ)的密文CT作为输入,进行CUA解密,输出半解密密文PCT,再通过半解密密文PCT、系统公钥PK和属性授权密钥AA_key作为输入,进行用户解密,输出数据m。
[0010] 所述步骤S1,输入两个安全参数α、β和一个素数阶的循环群G0,输出系统公钥PK和主密钥MK,G0是素数阶p的一个循环群,g是生成元,双线性映射e:G0×G0→G1,接着定义一个哈希函数H:{0,1}→G0,定义用户的授权属性集V∈Zp,即U={h1,...,hn},S=[S1,...Sn](Si∈Vi)表示用户的属性集合。
[0011] 所述步骤S2,由私有云执行加密算法(PK,m,(M,ρ)),PK、m和访问策略(M,ρ)作为输入,选择单个随机数r∈V,r1,...,rl∈Zp,输出的密文C上传公有云,加密算法公式如下:
[0012] (C=m·e(g,g)αs,C′=gs,
[0013]
[0014] C、C’、Ci、D表示加密的数据,e(g,g)表示双线性映射函数,ri表示来自用户属性集r α合S的一组随机数,g表示秘密参数,e(g,g) 、g和哈希函数H均为来自PK的参数;
[0015] 访问架构P根据线性秘密共享LSSS定义访问策略(M,ρ),M是l×n的线性矩阵,Mi是矩阵M第i行对应的向量,ρ是一个单映射函数,映射矩阵每一行的属性值ρ(i),随机选择一个随机向量 s表示共享秘密,λi表示共享子秘密,即s的第i份秘密份额,
[0016] 所述步骤S3,DO_key生成阶段,采用用户密钥生成算法(PK,MK),将系统公钥PK和主密钥MK作为输入,从授权属性集V中选择一个随机数t作为筛选密钥,输出用户密钥:
[0017] Do_key=(K=gα×gtβ)α β
[0018] 其中g 是来自PK的参数,g 是来自MK的参数,筛选密钥 通过安全信道发送给用户助理CUA,并由CUA分发给属性授权机构AA;
[0019] AA_key生成阶段,采用授权密钥生成算法 将系统公钥PK、用户属性集合S和筛选密钥 作为输入,由CUA中的一系列的AA生成AAx_key,再由CUA聚合生成AA_key,输出属性授权密钥,公式如下:
[0020]
[0021] AA_key=(AAl‑key,....AAx_key)
[0022] 其中哈希函数H是来自PK的参数。
[0023] 所述步骤S4,为了减少用户的计算量,当用户申请访问数据时,加密的数据将首先由私有云解密,再由用户解密,所述CUA解密,采用CUA解密算法(PK,CT,AA_key,DO_key),根据LSSS的性质,如果用户提交的属性集合S满足访问结构P,令子集I={i|ρ(i)∈S}且根据线性秘密共享(LSSS)定义,则必定会存在一个常数集 使得∑i∈Iω7·λi=s,PCT计算如下:
[0024]
[0025] L表示筛选密钥 作为指数的运算,即gt,CT包含C、C’、Ci、D,输出数据m,利用筛αs选密钥进行二次确认,即e(g,g) ,最后输出半解密密文PCT;
[0026] 用户解密算法(PK,PCT,DO_key)由用户执行,用户得到PCT,再结合密文C得到数据m,公式如下:
[0027]
[0028] 采用适应性CCA方案,数据拥有者使用一次签名方案 生成验证密钥vk和签名密钥sk的密钥对,通过验证密钥vk加密m,Encrypt(PK,m,vk)→CT,通过签名密钥sk对密文CT进行签名,获得签名σ,生成最终密文(vk,CT,σ);私有云利用υk验证CT上的签名,通过算法 验证,验证通过后生成对应于验证密钥vk的密钥SKvk,
即生成(Do_key,AA_key),再通过SKvk解密密文CT。这种方案具有强不可伪造性,即对手无法在先前签署的消息上伪造新的签名,增加了方案的安全性。
[0029] 包括密钥生成中心、用户、数据拥有者、私有云、公有云和用户助理CUA,密钥生成中心生成系统公钥PK和主密钥MK的系统公私钥对,完成初始化;数据拥有者将授权用户列表上传至私有云,私有云在LSSS访问策略下,结合系统公钥PK对数据m进行加密,获得密文C并上传公有云;用户通过系统公钥PK、主密钥MK和从授权属性集V中选取的随机数t作为筛选密钥 计算得到用户密钥DO_key,用户助理CUA通过系统公钥PK、用户属性集合S和筛选密钥 计算属性授权密钥AA_key;用户申请访问数据,私有云根据LSSS的性质,利用用户密钥Do_key、属性授权密钥AA_key、系统公钥PK和包含访问策略(M,ρ)的密文CT作为输入,进行CUA解密,输出半解密密文PCT,用户再通过半解密密文PCT、系统公钥PK和属性授权密钥AA_key作为输入,进行用户解密,输出数据m。
[0030] 所述用户助理CUA包含一系列的属性授权机构AA,用于生成AAx_key,再由用户助理CUA聚合生成属性授权密钥AA_key。
[0031] 本发明的优势和有益效果在于:
[0032] 首先通过给用户加入筛选密钥,使得在解密阶段二次确认访问者的身份,实现细粒度访问控制,其次利用LSSS访问结构提高解密效率,同时私有云负责保管用户上传的用户授权列表和确认密钥,利用混合云环境减轻移动终端(用户)的负担,在移动混合云计算环境中更为安全、高效,最后利用一次签名技术使具有CPA安全的ABE方案实现CCA安全,增加了安全性。

附图说明

[0033] 图1是本发明的原理图。

具体实施方式

[0034] 以下结合附图对本发明的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本发明,并不用于限制本发明。
[0035] 混合云下支持移动设备的基于多授权的CP‑ABE方法,包括如下步骤:
[0036] 步骤1、系统建立与初始化,密钥生成中心生成系统主公私钥对。
[0037] 系统包括了拥有移动设备的用户、数据拥有者、私有云、公有云,用户助理(CUA)及CUA中的一系列属性授权机构(AA)。
[0038] 初始化,输入两个安全参数α、β和一个素数阶的循环群G0,输出系统公钥PK和主密钥MK。
[0039] G0是素数阶p的一个循环群,g是生成元,双线性映射e:G0×G0→G1,接着定义一个哈希函数H:{0,1}→G0,定义用户的授权属性集V∈Zp,即U={h1,...,hn},S=[S1,...Sn](Si∈Vi)表示用户的属性集合。
[0040] 步骤2、加密阶段,数据拥有者Data owner(DO)将授权用户列表上传至私有云,私有云在LSSS访问策略下对数据m进行加密,获得密文C。
[0041] 由私有云执行加密算法(PK,m,(M,ρ)),PK、m和访问策略(M,ρ)作为输入,选择单个随机数r∈V,r1,...,rl∈Zp,输出密文C并上传公有云,加密算法公式如下:
[0042] (C=m·e(g,g)αs,C′=gs,
[0043]
[0044] C、C’、Ci、D表示加密的数据,e(g,g)表示双线性映射函数,具有双线性性质:a b b a ab
有e(g ,g)=e(g ,g )=e(g·g) ,Zp表示素数p的非负完全剩余系
{0,1,2,...,p‑1}, 表示素数p的既约剩余系{1,2,...,p‑1},ri表示来自用户属性集合Sr α
的一组随机数,g表示秘密参数,e(g,g) 、g和哈希函数H均为来自PK的参数。
[0045] 访问架构P根据线性秘密共享(LSSS)定义访问策略(M,ρ),M是l×n的线性矩阵,Mi是矩阵M第i行对应的向量,ρ是一个单映射函数,映射矩阵每一行的属性值ρ(i),线性秘密共享矩阵的每一行对应一个属性值,行向量和属性值一一映射,随机选择一个随机向量s表示共享秘密,λi表示共享子秘密,即s的第i份秘密份额,
[0046] 步骤3、密钥生成阶段,密钥生成算法(PK,MK,S)分为用户生成的用户密钥(DO_key生成阶段)和属性授权机构AA生成的属性授权密钥(AA_key生成阶段)。
[0047] DO_key生成阶段,采用用户密钥生成算法(PK,MK),将系统公钥PK和主密钥MK作为输入,从授权属性集V中选择一个随机数t作为筛选密钥,输出用户密钥:
[0048] Do_key=(K=gα×gtβ)α β
[0049] 其中g 是来自PK的参数,g 是来自MK的参数,筛选密钥 通过安全信道发送给用户助理(CUA),并由CUA分发给属性授权机构(AA)。
[0050] AA_key生成阶段,采用授权密钥生成算法 将系统公钥PK、用户属性集合S和筛选密钥 作为输入,由CUA中的一系列的AA生成AAx_key,再由CUA聚合生成AA_key,即CUA_key,输出属性授权密钥,公式如下:
[0051]
[0052] AA_key=(AA1_kcy,....AAx_key)
[0053] 其中哈希函数H是来自PK的参数。
[0054] 步骤4、解密阶段,用户申请访问数据并利用用户密钥对密文C进行解密得到消息m。采用解密算法(PK,CT,AA_key,Do_key),将用户密钥Do_key、公钥PK和包含访问策略(M,ρ)的密文CT作为输入,CT是加密数据的统称,包含C、C’、Ci、D,输出数据m。为了减少用户的计算量,当用户申请访问数据时,加密的数据将首先由私有云解密,再由用户解密,因此,解密算法分为两个阶段,CUA解密阶段和用户解密阶段。
[0055] CUA解密算法(PK,CT,AA_key,DO_key)由CUA执行,根据LSSS的性质,如果属性S满足访问结构,则可以解密,CUA解密算法首先选择满足属性S的用户;然后利用筛选密钥进行二次确认;最后输出半解密密文PCT。如果用户提交的属性集合S满足访问结构P,令子集I={i|ρ(i)∈S}且 根据线性秘密共享(LSSS)定义,则必定会存在一个常数集使得∑i∈Iωi·λi=s,PCT计算如下:
[0056]t
[0057] L表示筛选密钥 作为指数的运算,即g。
[0058] 用户解密算法(PK,PCT,DO_key)由用户执行,用户得到PCT,当r=t时,可得e(g,g)αs,再结合密文C得到数据m,公式如下:
[0059]
[0060] 适应性CCA方案,现有技术中存在一个定理,如果Π’是一种选择明文攻击安全的基于属性的方案,而Sig是一种强不可伪造的一次性签名方案,那么Π是一个安全的适应性CCA安全的公钥加密方案。
[0061] 目前的CP‑ABE方案Π’=(Setup,Encrypt′,KeyGen,Decrypt′)是CPA安全的,根据以上定理,可以构造一个公钥加密(PKE)方案Π=(Gen,Encrypt,Decrypt),在构造过程中,使用一次签名方案 增加方案的安全性。这种方案具有强不可伪造性,即对手无法在先前签署的消息上伪造新的签名,方案Π构造如下:
[0062] Gen(1k)运行Setup(1k,ls(k))得到(PK,MK),PK是公钥,MK是私钥。
[0063] 使用公钥PK在LSSS访问结构(M,ρ)下加密密文,首先,发送方(数据拥有者)要为一次强签名方案生成一对密钥对,运行ls(k)来得到验证密钥vk和签名密钥sk(|vk|=ls(k)),k即通过运行g(1)来生成(vk,sk),使用签名密钥sk对生成的密文CT进行签名,以获得签名σ;在这个签名方案中,发送方用验证密钥vk加密m,即Encrypt(PK,m,vk)→CT,与方案Π’的加密过程Encrypt(PK,m,(M,ρ))→C一样,再进行Signsk(CT)→σ,最终密文由验证密钥vk、ABE密文CT和签名σ组成,即(vk,CT,σ)。
[0064] 使用私钥MK解密(vk,CT,σ),首先,接收方(私有云)利用vk验证CT上的签名,通过算法 验证,验证失败就终止,输出终止符⊥,否则,接收方生成对应于“身份”vk的密钥SKvk,即与方案Π’的Keyyen(MK,PK,S)→(DO_key,AA_key)过程一样,同时根据底层ABE方案使用SKvk解密密文CT,即方案Π’的Decrypt′(PK,S,DO_keyAA‑key)→(m)。
[0065] 以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的范围。