1.一种基于属性加密的分布式访问控制方法,其特征在于:包括以下步骤S1:系统初始化,生成系统公共参数、可信第三方(Trusted Third Party,TP)的公/私钥对以及每个属性的公/私钥对;
S2:数据加密,数据拥有者加密数据,并把数据以加密的形式存储到云服务器上;
S3:用户密钥生成,TP给合法用户分配一个全局身份表示(Global Identifier,GID),并给该用户分发证书和全局私钥,属性权威(Attribute Authority,AA)则基于用户的权限给其分发属性私钥;
S4:访问数据,用户向服务器请求数据访问,当且仅当用户的属性集满足密文中的访问结构,用户才能利用全局私钥和属性私钥来解密密文;
S5:用户撤销,当用户的权限发生变化时,则对用户的私钥进行更新,使其以一个新的身份重新加入到系统中来。
2.根据权利要求1所述的基于属性加密的分布式访问控制方法,其特征在于:所述步骤S1包括如下步骤:S11:TP初始化,输入安全参数,生成系统公共参数和可信第三方的公/私钥对;
S12:AA初始化;
其中S12包括如下步骤:
S121:每个AA从TP处接收到系统公共参数和TP的公钥;
S122:各个AA为其管理的每个属性生成公/私钥对。
3.根据权利要求1所述的基于属性加密的分布式访问控制方法,其特征在于:所述步骤S2包括如下步骤:S21:数据拥有者分别从TP和AA处接收到系统公共参数和每个属性的公钥;
S22:数据拥有者基于全局属性集U,给数据定义一个访问结构A,A由访问矩阵(M,ρ)来表示,其中函数ρ表示矩阵M每一行与属性x之间的映射;
S23:从Zp中选取随机数s作为加密指数,令s为向量 的第一个元素;
S24:计算 其中Mi是矩阵M的第i行;
S25:选取随机数ri∈Zp;
S26:输出密文CT;
S27:数据拥有者把密文CT上传到云服务器上。
4.根据权利要求1所述的基于属性加密的分布式访问控制方法,其特征在于:所述步骤S3包括如下步骤:S31:用户加入系统,向TP提交身份信息进行注册;
S32:TP认证用户的合法性;
S33:若用户合法,则给用户分配一个GID,并给用户分发一个证书和全局私钥,其中证书包含用户的GID、用户的属性列表以及用户的全局公钥;若该用户不合法,则拒绝加入系统;
S34:当用户收到TP发来的证书和全局私钥,便把证书发给其隶属的各个AA;
S35:当AA收到证书后,AA使用TP的公钥解密证书,并验证用户GID是否属于用户撤销列表(UL);
S36:若 则AA基于用户的属性列表给用户生成属性私钥;若GID∈UL,AA终止操作;
S37:然后AA把用户的属性私钥发送给云服务器,并存储在云服务器上。
5.根据权利要求1所述的基于属性加密的分布式访问控制方法,其特征在于:所述步骤S4包括如下步骤:S41:用户GID向云服务器发送数据访问请求,并把证书发给云服务器;
S42:云服务器使用TP的公钥解密证书,并验证用户GID是否属于用户撤销列表(UL);
S43:若 则继续以下操作;若GID∈UL,云服务器终止操作;
S44:云服务器检索用户的属性私钥;
S45:接着使用用户的属性私钥解密密文,并生成解密令牌TK;
其中S45包括如下步骤:
S451:令 且I={i:ρ(i)∈RA},若根据访问矩阵M,{λi}i∈I是加密指数s的有效分享,则存在恢复系数{wi∈Zp}i∈I能够重构出加密指数是 首先云服务器选取{wi∈Zp}i∈I;
S452:接着云服务器计算解密令牌TK;
S46:然后云服务器把TK和密文发送给用户;
S47:最后用户使用全局私钥和TK解密密文,若用户的属性满足密文中的访问结构,则用户成功解密;若不满足,则解密失败。
6.根据权利要求1所述的基于属性加密的分布式访问控制方法,其特征在于:所述步骤S5包括如下步骤:S51:当用户的权限发生变化时,用户把其发生变化的身份信息发送给TP,并在TP处进行重新注册;
S52:TP把用户原来的GID写入UL中,并公布UL;
S53:TP为用户分配一个新的全局身份标识GID′,并为用户分发一个新的证书和全局私钥,其中新的证书包含GID′、新的用户属性列表以及新的全局公钥,然后TP把用户新的全局私钥和证书同时发给用户;
S54:当用户收到TP发来的新的证书和全局私钥后,使用新的证书重新与其隶属的各个AA进行交互。
S55:当AA收到证书ACertGID′后,AA使用TP的公钥解密证书,并验证用户GID′是否属于UL;
S56:若 AA继续以下操作;若GID′∈UL,AA终止操作;
S57:该步骤与S37一样,AA基于用户的属性列表给撤销用户生成新的属性私钥;
S58:然后AA把用户的各个属性私钥发送给云服务器,云服务器从参与密钥分发的AA处收到用户的属性私钥并存储,同时云服务器删除UL中新增撤销用户的属性私钥。