发明内容
本发明所要解决的技术问题是提供一种基于针对注册用户属性的多属性授权机构,能够大幅提高用户数据在云端的存储安全性的云存储系统数据保护方法。
本发明为了解决上述技术问题采用以下技术方案:本发明设计了一种云存储系统数据保护方法,云存储系统包括云端中央授权机构、客户端处理模块、云端服务器、以及管理注册用户属性信息的数个云端属性授权机构,各个云端属性授权机构分别管理注册用户的至少一项属性信息,各个注册用户拥有属于自己的唯一的用户标识ID;所述云存储系统数据保护方法包括文件上传方法和文件下载方法,其中文件上传方法如下步骤:
步骤A01.云端中央授权机构初始化,选择阶为素数p的乘法循环群G、GT,满足双线性映射e:G×G→GT,g为G的一个生成元,随机选择y0∈Z,并令Y0为系统公钥,Y0=e(g,g)y0,云端中央授权机构分别为各个云端属性授权机构Ak分配私钥种子{sk},并为各个云端属性授权机构Ak所管理注册用户的各个属性随机选择{tk,i}∈Z,各个云端属性授权机构分别管理注册用户的属性集为uk,云端中央授权机构分别向各个云端属性授权机构Ak发送{sk,{tk,i}},其中k∈{1、…、K},K为云端属性授权机构的个数,i∈{1、…、Ik},Ik为对应各个云端属性授权机构Ak管理的注册用户属性的个数;
步骤A02.各个云端属性授权机构A
k分别根据其私钥种子s
k生成伪随机函数簇
并且各个云端属性授权机构A
k分别根据{s
k,{t
k,i}}和
获得T
k,i;
步骤A03.上传数据的注册用户为待上传文件B选择唯一的文件编号,并构建针对此上传文件B的访问结构树;
步骤A04.客户端处理模块随机生成对称密钥明文FEK,用对称密钥明文FEK加密待上传文件B获得文件密文,在针对上传文件对应的访问结构树中加入hidden属性,并根据访问结构树生成带权访问控制结构表WASL、以及指定的访问注册用户属性集u
f;将hidden属性发送到任意云端属性授权机构,随机选择v∈Z,根据D
H=g
v获得D
H,并用D
H对称加密hidden属性得到ATT
H,通过访问结构树验证针对该上传文件B具有访问权限的注册用户,并将D
H发送至该具有访问权限的注册用户,根据C={FEK·e(g,g)
s,
ATT
H,WASL},加密对称密钥明文FEK得到密钥密文C,将文件密文、密钥密文C、访问结构树、以及文件编号相对应的上传至云端服务器中;其中,根据u
k,f=u
k∩u
f获得各个云端属性授权机构A
k管理注册用户的属性集u
k分别与该上传文件B访问结构树的指定的注册用户属性集u
f的交集u
k,f,l∈u
k,f,带权访问控制结构表WASL用于表示访问控制树中包含的属性集u
f中每个属性对应叶子节点的结构关系,s为访问结构树中根节点的特征值,其中,分别为访问结构树的各个叶子节点j随机选择s
j∈Z作为叶子节点j的特征值,根据树的结构通过递归计算,获得根节点的特征值s;
文件下载方法包括如下步骤:
步骤B01.某注册用户请求对上传文件B进行访问,各个云端属性授权机构A
k分别根据该注册用户的用户标识ID、该用户的属性集u
ID、以及
获得针对该注册用户的属性私钥部件簇D
k,h,并发送给该注册用户;根据
获得该注册用户身份私钥y
k,ID,发送给云端中央授权机构,其中h∈(
k,f∩u
ID),ThrVa(h)为该上传文件B访问结构树中带权访问控制结构表WASL中第h个属性的门限值;
云端中央授权机构根据该注册用户的身份标识ID、y
k,ID、y
0、以及
获得云端中央授权机构针对该注册用户的中央私钥部件D
CA,ID,并发送给该注册用户;
步骤B02.该注册用户从云端服务器下载上传文件B的文件密文和密钥密文C,并根据与该上传文件B对应hidden属性相对应的DH,解密密钥密文C中的ATTH,获得hidden属性;
步骤B03.该注册用户根据密钥密文C中带权访问控制结构表WASL,从各属性对应的叶子节点依次向上计算ThrVa(h),直到计算到根节点,若根节点门限值小于1,则拒绝访问;若根节点门限值等于1,根据
获得
根据Y
CA,ID=e(g
s,D
CA,ID),获得Y
CA,ID,并根据
合成私钥
根据
获得对称密钥D的密钥明文FEK,解密下载的文件密文。
作为本发明的一种优选技术方案:所述步骤A03中,访问结构树的构建过程包括如下步骤:
步骤A031.根据注册用户针对上传文件B所指定具有访问权限的用户的属性建立树;
步骤A032.为树上所有非叶子节点指定门限编号;
步骤A033.为树上同一父节点的所有孩子节点设置FatherNo值,并根据父节点的门限类型,设置相应的门限值ThrVa,得到针对上传文件B的访问结构树,其中FatherNo的值为其父节点的门限编号。
作为本发明的一种优选技术方案:所述步骤A04中,通过文件对应的访问结构树验证注册用户是否具有针对该文件访问权限的验证过程,包括如下步骤:
步骤A041.为各个节点指定判定值Va,并依次判断各节点是否满足该节点对应的属性条件,若满足,则设置该节点的判定值Va为1,否则设置该节点的判定值Va为0;
步骤A042.针对根据访问结构树生成的带权访问控制结构表WASL中、FatherNo相同的叶子节点,分别计算其验证值∑Va·ThrVa,若0≤验证值<1,令验证值=0;若验证值≥1,令验证值=1;
步骤A043.重复步骤②,依次向根节点递归,若根节点的验证值为1,接受访问请求;若<1,则说明不满足访问结构树,拒绝访问。
作为本发明的一种优选技术方案:所述步骤A04中,云端服务器需要对进行文件上传的注册用户的用户标识ID进行验证,若验证成功后,允许该注册用户将文件密文、密钥密文C、访问结构树、以及文件编号相对应的上传至云端服务器中。
作为本发明的一种优选技术方案:所述步骤A04中,将DH根据访问结构树、通过安全信道发送至针对该上传文件B具有访问权限的注册用户。
作为本发明的一种优选技术方案:所述步骤B01中,各个云端属性授权机构Ak将获得针对该注册用户的属性私钥部件簇Dk,h,同时发送给云端中央授权机构,云端中央授权机构对接收到的属性私钥部件簇Dk,h进行存储。
本发明所述一种云存储系统数据保护方法采用以上技术方案与现有技术相比,具有以下技术效果:
(1)本发明设计的云存储系统数据保护方法基于针对注册用户属性的多属性授权机构,为存储在云端的用户数据设计了全新的加密与解密方法,大幅提高了用户数据在云端的存储安全性,与单授权机构相比,分摊了恶意用户攻破属性授权机构的风险;
(2)本发明设计的云存储系统数据保护方法中,上传文件密文对应于一个访问结构而密钥对应于一个属性集合,当且仅当读取该上传文件的用户属性集合中的属性能够满足此上传文件的访问结构树时,才能够解密,有效提高了存储在云端环境的数据文件的安全性;
(3)本发明设计的云存储系统数据保护方法中,针对上传文件对应的访问结构树加入hidden属性,该hidden属性不由任何云端属性授权机构进行管理,并且将hidden属性引入与上传文件密文相对应的密钥密文中,避免了云端属性授权机构能够直接解密用户上传存储在云端的文件密文;
(4)基于本发明设计的云存储系统数据保护方法,当某个上传文件对应的访问权限需要变动时,只需根据变动的访问权限,重新构建该文件的访问结构树,对该上传文件、以及对应该上传文件的密钥进行重新加密、上传,使得系统数据的操作变得更加简洁灵活,充分利用了云计算分布式结构进行并行处理,更适合云存储环境,有效避免了系统因上传文件访问权限变化所带来的繁琐工作,大大提高了系统的工作效率,缩短了处理时间。
具体实施方式
下面结合说明书附图对本发明的具体实施方式作进一步详细的说明。
如图1所示,本发明设计了一种云存储系统数据保护方法,云存储系统包括云端中央授权机构、客户端处理模块、云端服务器、以及管理注册用户属性信息的数个云端属性授权机构,各个云端属性授权机构分别管理注册用户的至少一项属性信息,各个注册用户拥有属于自己的唯一的用户标识ID;所述云存储系统数据保护方法包括文件上传方法和文件下载方法,其中文件上传方法如下步骤:
步骤A01.云端中央授权机构初始化,选择阶为素数p的乘法循环群G、GT,满足双线性映射e:G×G→GT,g为G的一个生成元,随机选择y0∈Z,并令Y0为系统公钥,Y0=e(g,g)y0,云端中央授权机构分别为各个云端属性授权机构Ak分配私钥种子{sk},并为各个云端属性授权机构Ak所管理注册用户的各个属性随机选择{tk,i}∈Z,各个云端属性授权机构分别管理注册用户的属性集为uk,云端中央授权机构分别向各个云端属性授权机构Ak发送{sk,{tk,i}},其中k∈{1、…、K},K为云端属性授权机构的个数,i∈{1、…、Ik},Ik为对应各个云端属性授权机构Ak管理的注册用户属性的个数;
步骤A02.各个云端属性授权机构A
k分别根据其私钥种子s
k生成伪随机函数簇
并且各个云端属性授权机构A
k分别根据{s
k,{t
k,i}}和
获得T
k,i;
步骤A03.上传数据的注册用户为待上传文件B选择唯一的文件编号,并构建针对此上传文件B的访问结构树;
步骤A04.客户端处理模块随机生成对称密钥明文FEK,用对称密钥明文FEK加密待上传文件B获得文件密文,在针对上传文件对应的访问结构树中加入hidden属性,并根据访问结构树生成带权访问控制结构表WASL、以及指定的访问注册用户属性集u
f;将hidden属性发送到任意云端属性授权机构,随机选择v∈Z,根据D
H=g
v获得D
H,并用D
H对称加密hidden属性得到ATT
H,通过访问结构树验证针对该上传文件B具有访问权限的注册用户,并将D
H发送至该具有访问权限的注册用户,根据C={FEK·e(g,g)
s,
ATT
H,WASL},加密对称密钥明文FEK得到密钥密文C,将文件密文、密钥密文C、访问结构树、以及文件编号相对应的上传至云端服务器中;其中,根据u
k,f=u
k∩u
f获得各个云端属性授权机构A
k管理注册用户的属性集u
k分别与该上传文件B访问结构树的指定的注册用户属性集u
f的交集u
k,f,l∈u
k,f,带权访问控制结构表WASL用于表示访问控制树中包含的属性集u
f中每个属性对应叶子节点的结构关系,s为访问结构树中根节点的特征值,其中,分别为访问结构树的各个叶子节点j随机选择s
j∈Z作为叶子节点j的特征值,根据树的结构通过递归计算,获得根节点的特征值s;
文件下载方法包括如下步骤:
步骤B01.某注册用户请求对上传文件B进行访问,各个云端属性授权机构A
k分别根据该注册用户的用户标识ID、该用户的属性集u
ID、以及
获得针对该注册用户的属性私钥部件簇D
k,h,并发送给该注册用户;根据y
k,ID=F
sk(ID),获得该注册用户身份私钥y
k,ID,发送给云端中央授权机构,其中h∈(u
k,f∩u
ID)ThrVa(h)为该上传文件B访问结构树中带权访问控制结构表WASL中第h个属性的门限值;
云端中央授权机构根据该注册用户的身份标识ID、y
k,ID、y
0、以及
获得云端中央授权机构针对该注册用户的中央私钥部件D
CA,ID,并发送给该注册用户;
步骤B02.该注册用户从云端服务器下载上传文件B的文件密文和密钥密文C,并根据与该上传文件B对应hidden属性相对应的DH,解密密钥密文C中的ATTH,获得hidden属性;
步骤B03.该注册用户根据密钥密文C中带权访问控制结构表WASL,从各属性对应的叶子节点依次向上计算ThrVa(h),直到计算到根节点,若根节点门限值小于1,则拒绝访问;若根节点门限值等于1,根据
获得
根据Y
CA,ID=e(g
s,D
CA,ID),获得Y
CA,ID,并根据
合成私钥
根据
获得对称密钥D的密钥明文FEK,解密下载的文件密文。
本发明设计的云存储系统数据保护方法基于针对注册用户属性的多属性授权机构,为存储在云端的用户数据设计了全新的加密与解密方法,大幅提高了用户数据在云端的存储安全性,与单授权机构相比,分摊了恶意用户攻破属性授权机构的风险。
本发明设计的云存储系统数据保护方法中,上传文件密文对应于一个访问结构而密钥对应于一个属性集合,当且仅当读取该上传文件的用户属性集合中的属性能够满足此上传文件的访问结构树时,才能够解密,有效提高了存储在云端环境的数据文件的安全性;且针对上传文件对应的访问结构树加入hidden属性,该hidden属性不由任何云端属性授权机构进行管理,并且将hidden属性引入与上传文件密文相对应的密钥密文中,避免了云端环境能够直接解密用户上传存储在云端的文件密文。
作为本发明的一种优选技术方案:所述步骤A03中,访问结构树的构建过程包括如下步骤:
步骤A031.根据注册用户针对上传文件B所指定具有访问权限的用户的属性建立树;
步骤A032.为树上所有非叶子节点指定门限编号;
步骤A033.为树上同一父节点的所有孩子节点设置FatherNo值,并根据父节点的门限类型,设置相应的门限值ThrVa,得到针对上传文件B的访问结构树,其中FatherNo的值为其父节点的门限编号。
作为本发明的一种优选技术方案:所述步骤A04中,通过文件对应的访问结构树验证注册用户是否具有针对该文件访问权限的验证过程,包括如下步骤:
步骤A041.为各个节点指定判定值Va,并依次判断各节点是否满足该节点对应的属性条件,若满足,则设置该节点的判定值Va为1,否则设置该节点的判定值Va为0;
步骤A042.针对根据访问结构树生成的带权访问控制结构表WASL中、FatherNo相同的叶子节点,分别计算其验证值∑Va·ThrVa,若0≤验证值<1,令验证值=0;若验证值≥1,令验证值=1;
步骤A043.重复步骤②,依次向根节点递归,若根节点的验证值为1,接受访问请求;若<1,则说明不满足访问结构树,拒绝访问。
作为本发明的一种优选技术方案:所述步骤A04中,云端服务器需要对进行文件上传的注册用户的用户标识ID进行验证,若验证成功后,允许该注册用户将文件密文、密钥密文C、访问结构树、以及文件编号相对应的上传至云端服务器中。
作为本发明的一种优选技术方案:所述步骤A04中,将DH根据访问结构树、通过安全信道(如SSL协议的信道)发送至针对该上传文件B具有访问权限的注册用户。
作为本发明的一种优选技术方案:所述步骤B01中,各个云端属性授权机构Ak将获得针对该注册用户的属性私钥部件簇Dk,h,同时发送给云端中央授权机构,云端中央授权机构对接收到的属性私钥部件簇Dk,h进行存储。
本发明设计的云存储数据保护方法在应用过程当中,云存储系统包括云端中央授权机构、客户端处理模块、云端服务器、以及管理注册用户属性信息的数个云端属性授权机构。
(1)云端属性授权机构
云存储系统针对注册用户的所有属性被分为K个不相交集,由K个云端属性授权机构分别控制。云端属性授权机构需要强大的计算能力,在初始化阶段单独计算他们自己的的主密钥,在文件共享阶段各个云端属性授权机构分别计算生成其针对各个拥有访问权限的注册用户的属性私钥部件簇,并将该属性私钥部件簇直接发放给云端中央授权机构和拥有访问权限的注册用户。
(2)云端中央授权机构
云端中央授权机构不管理任何注册用户的属性,但会得到各个云端属性授权机构向拥有访问权限的注册用户发送的针对该注册用户的属性私钥部件簇,并为该注册用户计算发送中央私钥部件,以保证拥有访问权限的注册用户能够正确合成私钥,解密密钥密文。
(3)云端服务器
云端处理模块具有强大的处理能力和存储容量,进行数据文件及相关信息的接收、文件存储、验证用户标识、代理重加密等操作。
(4)客户端处理模块
注册用户包括系统中的文件上传者和文件下载者,一个用户可以同时既是文件上传者又是文件下载者。文件上传者用客户端处理模块在上传文件至云服务提供商前加密数据;文件下载者想要访问某个文件时,向所有的云端属性授权机构和云端中央授权机构请求私钥部件,得到所有的私钥部件后,在客户端处理模块合成私钥。
针对云存储系统中的结构,可将该结构内的各部分分为可信客户端处理模块、可信云端中央授权机构、以及半可信云端属性授权机构、半可信云端服务器,其中,可信客户端即为注册用户,注册用户是在其客户端选择待上传的文件,对其进行对称加密后上传;相对于访问云端文件的注册用户而言,需要得到各个云端属性授权机构针对访问文件的该注册用户的属性私钥部件簇、以及云端中央授权机构针对该注册用户的中央私钥部件,并在注册用户的客户端合成私钥;因此,注册用户的客户端是可信的,注册用户需要妥善保管自己的私密信息。
可信中央授权机构,本发明构建的多个机构中,除了多个云端属性授权机构之外,还包括一个云端中央授权机构,用于保证注册用户私钥的正确合成,由于云端中央授权机构能够得到并保存各个云端属性授权机构对任一注册用户发放的属性私钥部件簇,因此,云端中央授权机构被要求是可信的。
半可信云端属性授权机构,多个属性授权机构分别分管用户的一部分属性,存在几个属性授权机构试图通过管理的足够多的属性来得到符合条件的解密私钥的可能。本发明要求属性授权机构按照预设步骤为注册用户发放属性私钥部件,同时容忍其与其他属性授权机构串谋的可能性。故将云端属性授权机构的安全性限定为“honest but curious”,即半可信的。
半可信云端服务器,在云存储系统中,云存储服务商提供的文件服务器往往分布于不同地理位置,而注册用户的数据在云端被分块存储于不同的文件服务器,由系统管理员而非用户对其管理,因此用于存储文件的云端服务器不是完全可信的;而实际应用中,完全不可信的云端服务器是无法委托其进行重加密等操作的,本发明要求云端处理模块按照预设步骤处理数据接收、重加密等操作,能容忍数据内容在云端被窥探的可能性,但实际结果不会将任何文件明文和密钥明文信息泄露给云端服务器。故将云端服务器的安全性限定为半可信的。
本发明设计的云存储系统数据保护方法在应用中,由于基本的CP-ABE算法并不适用于代理重加密技术,故本发明先改进了基本的CP-ABE算法的访问控制结构的表示方法,使之适合代理重加密算法的结构。然后将代理重加密算法运用于含可信中心的多机构CP-ABE算法,保证系统中针对上传文件的访问权限需要改变时,不必更新所有注册用户的整个私钥,只需对其变化的部分进行更新,大大降低了访问控制权限发生变化时的开销。
其中,针对本发明设计的云存储系统的存储列表包括如下各表:
(1)属性代理密钥列表(attribute proxy key list,APKL)
各个云端属性授权机构分别维护一张APKL表,存储属性历次版本变更时的代理重加密密钥。
属性 |
版本号 |
属性i的代理重加密密钥集rki |
FEK的代理重加密密钥rkk |
(2)文件属性历史版本列表(attribute history list,AHL)
各个云端属性授权机构分别维护一张AHL表,存储上传文件的访问结构树中任意属性i的版本FTAi变更历史。。
(3)用户撤销列表(revocation user list,RUL)
各个云端属性授权机构分别维护一张RUL表,存储对某上传文件撤销访问权限的用户名列表。
(4)有效用户列表(user list,UL)
云端中央授权机构维护一张UL表,用来存储各个云端属性授权机构发来的关于某个有效用户对某上传文件的属性私钥部件簇。
文件编号 |
有效的用户 |
云端属性授权机构k |
属性私钥部件簇 |
(5)带权访问控制结构表(weighted access structure list,WASL)
文件上传者在生成访问控制树后,由此访问控制树生成的一张用来表示指定的属性集间各属性间关系的列表,由hidden属性的属性私钥对称加密后包含于密钥密文中。
除了以上存储列表之外,还包括带权访问控制结构(weighted access structure,WAS),如下表所示,若一个访问控制结构包含and、or、n of m关系,每个and节点的度至多为2,n of m节点的度为m,为每个非叶节点如下表分配权值,分配并记录门限编号,并记录其父节点的门限编号,则称该结构为带权访问控制结构。
and |
1 of 1 |
1/2 |
or |
1 of m(m>1) |
1 |
n of m |
n of m |
1/n |
如图2所示,任意访问控制结构都能转换为带权访问控制结构,只需将每个度大于2的and节点,自左向右优先嵌套即可将度降低到2,并在根节点的孩子节点中引入hidden属性,这个属性被要求包含于所有上传的数据文件的属性集,不由任何云端属性授权机构管理,且不论系统中其他属性版本如何更新,hidden属性都不更新。
如图2所示,其右侧的带权访问控制结构用如下带权访问控制结构表表示:
属性 |
父节点 |
门限编号 |
特征值 |
门限值 |
Tk,i |
father_no |
thr_no |
qj |
thr_va |
A |
root |
1111 |
q1 |
1/2 |
B |
1111 |
2222 |
q2 |
1/2 |
C |
2222 |
3333 |
q3 |
1 |
D |
3333 |
4444 |
q4 |
1/3 |
E |
3333 |
4444 |
q5 |
1/3 |
F |
3333 |
4444 |
q6 |
1/3 |
G |
3333 |
4444 |
q7 |
1/3 |
由带权访问控制结构可以生成带权访问控制结构表(weighted access structurelist,WASL),分别为访问结构树的各个叶子节点j随机选择sj∈Z作为叶子节点j的特征值,即对任意叶子节点j的特征值qj=sj,非叶子节点x的特征值qx=∑chriden(x)q·ThrVa,其中chrilden(x)返回x的所有孩子节点。如此递归计算,最后保存根节点s的值于云端处理模块。
基于本发明设计的云存储系统数据保护方法,当某个上传文件对应的访问权限需要变动时,只需根据变动的访问权限,重新构建该文件的访问结构树,对该上传文件、以及对应该上传文件的密钥进行重新加密、上传,使得系统数据的操作变得更加简洁灵活,充分利用了云计算分布式结构进行并行处理,更适合云存储环境,有效避免了系统因上传文件访问权限变化所带来的繁琐工作,大大提高了系统的工作效率,缩短了处理时间。
则关于上传文件对应的访问权限需要变动时,只需按照如下步骤进行操作即可,步骤如下:
步骤C01.当注册用户需要改变其某个上传文件的访问权限时,重新构建针对该上传文件的访问结构树;
步骤C02.上传该文件的注册用户,对该上传文件重新生成新的对称密钥,并用其对该上传文件重新加密该得到新的文件密文;
步骤C03.上传该文件的注册用户执行代理重加密密钥生成算法,生成代理重加密密钥;
步骤C04.上传该文件的注册用户将重新构建的访问结构树、新的文件密文以及自己的用户标识ID上传至云端服务器中;其中,云端服务器验证该注册用户的用户标识ID,若正确,则用新的文件密文取代原文件密文;并利用密钥密文重加密算法重加密生成新的密钥密文,取代原来保存的密钥密文。
步骤C05.各云端属性授权机构将针对该上传文件被撤销访问权限的用户标识添加至用户撤销列表,修改文件版本属性版本列表,对所有满足更换版本的最小属性集的属性,即重新设置拥有访问权限的用户的属性集合,其私钥部件的版本号值加1,并修改属性代理密钥列表,存储属性的代理重加密密钥。
本发明定义的代理重加密算法包括三个子算法:重加密密钥产生算法ReKeyGen(RAM,FEK′)、密钥密文重加密算法ReEnc(I,rki,rkk)、私钥组件重加密算法NewKeyGen();各个子算法如下:
(1)重加密密钥产生算法ReKeyGen(RAM,FEK′)
算法利用需要更换版本属性RMA,以新的对称密钥FEK′为输入,产生相关的代理重加密密钥rk={rk
i,rk
k}。其中rk
i为属性的代理重加密密钥集,rk
k为对称密钥的代理重加密密钥。输入需要更新的属性集合RMA,对每个i∈RMA,随机选择x
i′∈Z,计算
将
加入重加密密钥集{rk
i},i∈RMA;然后计算对称密钥明文的重加密密钥rk
k=FEK′/FEK;最后输出rk
k、{rk
i},并将系统版本号加1。
(2)密钥密文重加密算法ReEnc(I,rki,rkk)
算法利用进行上传文件的注册用户规定的访问结构树对应的属性集u
f和代理重加密密钥rk={rk
i,rk
k}加密密钥密文。输入密文C、代理重加密密钥集{rk
i}和C对应的带权访问控制结构中出现的属性集u
f。首先检查C和{rk
i}的版本号是否一致,如果一致,对于每个i∈RMA计算
否则不变,i∈RMA。
(3)私钥组件重加密算法NewKeyGen()
当访问控制权限发生变化时,如果注册用户UB没有被撤销权限,且UB拥有的私钥不是最新版本,则各云端属性授权机构使用该算法重新加密管理的属性集的私钥组件以生成最新版本。
首先检查密钥密文CK中包含的访问控制树各个属性对应的版本号与分配给具有访问权限的用户的属性私钥部件的版本号是否一致,其中用x表示用户属性私钥部件版本号,y表示密钥密文CK中包含的访问控制树各个属性对应的版本号。若一致,则无输出;若不一致,则计算 最后输出更新后的属性私钥部件
本发明设计的云存储系统数据保护方法在应用中,当注册用户UA需要改变其上传文件的访问权限时,即撤销注册用户UB对该上传文件的访问权限时,按照如下步骤进行操作:
步骤C01.UA需要在客户端确定更换版本的最小属性集RMA,即针对该上传文件重新设置的拥有访问权限的注册用户的属性集;
步骤C02.UA生成新的对称密钥FEK′,并用其重新加密需要更改访问权限的上传文件B得到新的文件密文CF′;
步骤C03.UA执行代理重加密密钥产生算法ReKeyGen(RAM,FEK′),生成代理重加密密钥rk={rki,rkk};
步骤C04.UA发送Rrevoke={UB,RMA,rk,CF′}以及自己的用户标识IDA至云端处理模块,发送rk、IDB、RMA给各个属性授权机构;云端服务器收到Rrevoke后,验证UA的用户标识IDA,若正确,则用新的文件密文CF′取代原文件密文CF;利用密钥密文重加密算法ReEnc(I,rki,rkk)重加密生成新的密钥密文C′,取代原来保存的密钥密文C;
步骤C05.各属性授权机构将被撤销权限的注册用户UB的用户标识IDB添加至用户撤销列表RUL,修改文件版本属性版本列表,对所有满足更换版本的最小属性集RMA的属性,将其AHL表中对应的属性版本号值加1,并修改属性代理密钥列表APKL,存储属性的代理重加密密钥。
上面结合附图对本发明的实施方式作了详细说明,但是本发明并不限于上述实施方式,在本领域普通技术人员所具备的知识范围内,还可以在不脱离本发明宗旨的前提下做出各种变化。