1.一种基于属性密码的分布式跨域授权和访问控制方法,其特征在于:包括以下步骤S1:系统初始化:生成系统公共参数、服务供应商SPs的公/私钥对以及属性的公/私钥对、身份联盟供应商FIP的公/私钥对;
S2:数据加密:数据拥有者加密数据,并且把加密后的数据存储在服务节点SN上;
S3:用户注册和密钥生成:请求注册,身份联盟供应商FIP分配一个全局身份标识GID,并给该用户分发被签名的属性证书和全局私钥,服务供应商SPs则基于用户的属性证书给其分发相应的属性私钥,属性私钥被分为两部份,一部份发送给用户,另一部份发送给服务节点;
S4:访问数据:用户向服务节点SN提交数据访问请求,当且仅当用户的属性集满足密文中的访问结构,由用户和服务节点联合解密密文,服务节点承担部分解密计算任务,减轻终端用户的负担;
S5:用户属性密钥委托:只有在用户和服务节点SN两者合作的情况下,即在服务节点的控制下,上级用户能够为下级用户生成属性密钥,实现安全的秘钥委托。
2.根据权利要求1所述的一种基于属性密码的分布式跨域授权和访问控制方法,其特征在于:所述步骤S1包括如下步骤:S11:身份联盟供应商FIP初始化:输入安全参数,生成系统公共参数和身份联盟供应商的公/私钥对;
S12:服务供应商SPs初始化,包括:
S121:每个服务供应商SP从身份联盟供应商FIP处接收到系统公共参数和FIP的公钥;
S122:每个服务供应商SP定义属性,构建属性树并为其管理的属性生成公/私钥对。
3.根据权利要求1所述的一种基于属性密码的分布式跨域授权和访问控制方法,其特征在于:所述步骤S2包括如下步骤:S21:数据拥有者分别从身份联盟供应商FIP和服务供应商处接收到系统公共参数和属性的公钥;
S22:对于待加密的消息m,数据拥有者基于全局属性集S,给数据定义一个访问结构A,用(M,ρ,τ)来表示,其中M是一个l行n列的访问矩阵,函数ρ(i)将矩阵M的第i行映射到S中的一个属性向量 函数 表示属性向量 到属性树τ的映射;
S23:数据拥有者从整数Zp中选取随机数s和随机数组 并令s为向量的第一个元素;
S24:计算 其中Mi是矩阵M的第i行,i∈{1,2,...,l};
S25:选取随机数ri∈Zp,i∈{1,2,...,l};
S26:加密消息m,输出密文CT;
S27:数据拥有者把密文CT上传到服务节点上。
4.根据权利要求1所述的一种基于属性密码的分布式跨域授权和访问控制方法,其特征在于:所述步骤S3包括如下步骤:S31:用户请求加入系统,向身份联盟供应商FIP提交身份信息进行注册;
S32:身份联盟供应商FIP首先认证用户;
S33:若用户合法,则给用户分配一个全局身份标识GID,并给用户分发一个证书和全局私钥,其中证书包含用户的全局身份标识GID、用户的属性列表以及用户的全局公钥,身份联盟供应商FIP利用私钥对证书签名,应用安全的方式把证书和私钥发给用户;若该用户不合法,则拒绝该用户加入系统;
S34:当用户收到身份联盟供应商FIP发来的证书和全局私钥后,便把证书发给相关的服务供应商SPs;
S35:当服务供应商SPs收到用户的证书后,服务供应商SPs使用身份联盟供应商FIP的公钥验证证书;
S36:服务供应商SPs验证用户的全局身份标识GID是否属于用户撤销列表(URL);若则服务供应商SPs基于用户的属性列表给用户生成属性私钥的两个份额UASKGID,1和UASKGID,2;若GID∈URL,服务供应商SPs终止操作;
S37:服务供应商SPs把用户的属性私钥UASKGID,1和UASKGID,2分别发送给服务节点SN和用户。
5.根据权利要求1所述的一种基于属性密码的分布式跨域授权和访问控制方法,其特征在于:所述步骤S4包括如下步骤:S41:拥有全局身份标识GID的用户向服务节点SN发送数据访问请求,并把自己的证书发给服务节点SN;
S42:服务节点SN使用身份联盟供应商FIP的公钥验证证书,并验证用户的全局身份标识GID是否属于用户撤销列表(URL);
S43:若 则继续以下操作;若GID∈UL,服务节点SN终止操作;
S44:服务节点SN检索用户的属性私钥UASKGID,1;
S45:服务节点SN使用用户的属性私钥预解密密文,并生成解密令牌DT;
其中S45包括如下步骤:
S451:令 且I={i:ρ(i)∈RA},其中RA表示访问矩阵A对应的属性向量集合,若根据访问矩阵M,{λi}i∈I是加密指数s的有效分享,则存在恢复系数{wi∈Zp}i∈I能够重构出加密指数是 首先服务节点SN获取恢复系数{wi∈Zp}i∈I;
S452:接着服务节点SN计算解密令牌DT;
S46:服务节点SN把解密令牌DT发送给用户;
S47:最后用户使用属性私钥UASK(GID,2)和解密令牌DT解密密文,若用户的属性满足密文中的访问结构,则用户成功解密;若不满足,则解密失败。
6.根据权利要求1所述的一种基于属性密码的分布式跨域授权和访问控制方法,其特征在于:所述步骤S5包括如下步骤:S51:拥有全局身份标识GID'的下层用户向拥有全局身份标识GID的上层用户请求委托秘钥;
S52:拥有全局身份标识GID的上层用户先计算出UASK(GID',2);
S53:上层用户计算密钥令牌KT;
S54:上层用户把属性密钥UASK(GID',2)委托给下层用户;
S55:上层用户向服务节点SN发出密钥委托请求,并把密钥令牌KT发送给服务节点SN;
S56:服务节点SN根据用户发来的密钥令牌KT,首先检测用户是否合法;
S57:如果合法,则执行密钥委托请求;如果不合法,则拒绝密钥委托请求;
S58:服务节点SN生成相应的属性密钥UASK(GID',2),并存储在服务节点SN上。