1.一种基于层次化属性加密的外包强制访问控制方法,其特征在于,包括以下步骤:S1:系统初始化,生成系统公共参数、可信第三方服务器TP的公/私钥对以及属性的公/私钥对;
S2:以受保护的数据为客体,使用强制访问控制规则对其进行安全等级划分,安全级别由授权集决定,数据安全类别为访问结构对应的属性向量集合,数据管理者为数据定义相应的安全等级;
所述步骤S2包括如下步骤:
S21:数据管理者分别从可信第三方服务器TP和AA处接收到系统公共参数和属性树的公钥;
S22:数据管理者基于全局属性集U,将属性组织为一棵层次化的树,给数据定义一个访问结构A,A由访问矩阵(M,ρ)来表示,其中函数ρ表示矩阵M每一行到一个属性向量 的映射,数据的安全级别为访问结构A对应的属性向量的深度Co,安全类别为访问结构对应的所有属性向量集合Ko,数据的安全等级Lo=(Co,Ko);
S23:从Zp中选取随机数s和一个向量 Zp为模p剩余类的整数集合,s为其此向量的第一个元素;
S24:计算对应的分享 其中Mi是矩阵M的第i行;
S25:选取随机数ri∈Zp;
S26:计算对应的密文组件,输出对应的密文CTR;
S27:数据管理者把密文上传到外包存储服务器上;
S3:以用户即为主体,使用强制访问控制规则对其进行安全等级划分,安全级别由用户属性的层次深度决定,用户安全类别为层次化的用户属性集合,可信第三方服务器TP为用户定义相应的安全等级;
S31:用户向可信第三方服务器TP提交身份信息进行注册;
S32:可信第三方服务器TP认证用户的合法性;
S33:若用户合法,根据用户的属性向量确定用户的安全等级Ls(Cs,Ks),其中,安全级别Cs为用户属性向量的深度,安全类别Ks为用户的属性向量集合,然后给用户分配一个GID,并给用户分发一个证书ACert和全局私钥,其中证书包含用户的GID、安全等级Ls以及用户的全局公钥;若该用户不合法,则拒绝加入系统;
S34:当用户收到可信第三方服务器TP发来的证书和全局私钥,便把证书发给其所属的AA;
S35:当AA收到证书后,AA使用可信第三方服务器TP的公钥验证证书,并检查用户GID是否属于用户撤销列表UL;
S36:若 则AA基于用户的属性向量列表以及用户的安全等级,给用户生成相对应的属性私钥即读密钥;若GID∈UL,终止操作;
S37:然后AA把用户的属性私钥发送给外包存储服务器,并存储在服务器上;
S4:根据主体和客体的安全级别和类别定义安全等级集合及其集合上的偏序关系,根据安全等级定义安全属性,判定用户的安全等级与数据的安全等级,实现用户对数据的细粒度访问控制;
S41:用户向外包存储服务器发送数据访问请求即读请求,并把证书发给服务器;
S42:服务器使用可信第三方服务器TP的公钥验证证书,并验证用户是否属于用户撤销列表UL;
S43:若 则继续以下操作;若GID∈UL,服务器终止操作;
S44:服务器对用户的属性私钥进行检索;
S45:若用户为读请求且搜索到用户的密钥,用其对密文进行解密,并生成解密令牌TKR;
S451:令 且I={i:ρ(i)∈RA},l为属性向量的深度,ρ表示矩阵中每一行到一个属性向量的映射,RA表示访问结构A中的属性向量集合,根据访问矩阵M,{λi}i∈I是加密指数s的有效分享,则存在恢复系数{wi∈Zp}i∈I能够重构出加密指数是S452:接着服务器计算解密令牌TKR;
S46:然后服务器把解密令牌TKR发送给相应的用户;
S47:最后用户使用全局私钥和解密令牌TKR解密读密文,若满足相应的密文中的访问结构,则访问成功,从而进行相应的读操作;
S48:用户向数据管理者发出写操作请求,数据管理者判定用户安全等级和数据安全等级,若用户安全等级等于数据安全等级,用户对数据进行写操作,再由数据管理者重复S2步骤;
S5:用户权限撤销,当用户的权限发生变化时,则对用户安全等级进行更新,使其以一个新的身份重新加入到系统中来。
2.根据权利要求1所述的基于层次化属性加密的外包强制访问控制方法,其特征在于,所述步骤S1包括如下步骤:
S11:可信第三方服务器TP初始化,输入安全参数,生成系统公共参数和可信第三方服务器TP的公/私钥对;
S12:AA初始化;
其中S12包括如下步骤:
S121:AA从可信第三方服务器TP处接收到系统公共参数和可信第三方服务器TP的公钥;
S122:AA为其管理的属性生成公/私钥对。
3.根据权利要求1所述的基于层次化属性加密的外包强制访问控制方法,其特征在于,所述步骤S5包括如下步骤:
S51:当用户的权限发生变化时,即读写权限发生变化时,用户把其发生变化的权限信息发送给可信第三方服务器TP,并在可信第三方服务器TP处进行重新注册;
S52:可信第三方服务器TP把用户原来的全局身份标识GID写入用户撤销列表UL中,并公布用户撤销列表UL;
S53:可信第三方服务器TP为用户分配一个新的全局身份标识GID′,一个新的安全等级Ls',并为用户分发一个新的证书和全局私钥,其中新的证书包含GID′、新的安全等级Ls'、新的用户属性列表以及新的全局公钥,然后全局身份标识TP将其发送给用户;
S54:当用户收到新的证书和全局私钥后,使用新的证书重新与其所属的AA进行交互;
S55:当AA收到证书ACert'后,AA使用全局身份标识TP的公钥验证证书,并验证用户新的全局身份标识GID′是否属于用户撤销列表UL;
S56:若 AA继续操作;若GID′∈UL,AA终止操作;
S57:AA基于用户的属性列表和安全等级给撤销用户生成新的属性私钥;
S58:然后AA把用户的属性私钥发送给外包存储服务器,外包存储服务器从参与密钥分发的AA处收到用户的属性私钥并存储,同时服务器删除用户撤销列表UL中新增撤销用户的属性私钥。