1.一种基于属性基密码的分布式服务访问授权及访问控制方法,其特征在于:包括以下步骤:
S1:服务发布平台初始化:服务发布平台配置有一个服务代理SB负责平台的初始化及其与用户和服务提供商的交互,服务提供商SP通过服务代理SB发布和管理服务,用户通过服务代理SB进行注册并购买服务,并由服务代理SB代理认证用户身份并对用户进行授权;
所述服务代理需要负责生成执行分布式属性基密码所需的系统公共参数、服务层次公共参数;用户购买的服务包括两类属性:服务属性和时间属性,服务属性用于指定合法用户可以访问的服务,时间属性用于限定用户访问服务的时间期限;
S2:服务发布:服务提供商SP将自己提供的服务打包销售,并根据各种服务包的包含关系构建服务属性树,下层的服务包是上层服务包的子集,叶子节点表示最细粒度的服务单元;每个SP也给出服务树中每一个服务包节点的标识方法;每个SP生成自己的公/私钥对,对应服务树的根,将自己的服务树、服务包节点标识及其公钥发布到服务平台;同时,SP利用分布式层次化的属性基密码技术为服务树的第一层服务节点即顶层服务包生成服务访问认证私钥并分发给雾节点FN;
S3:提供用户注册:获取用户Users在注册时提交的身份信息、购买的服务以及购买服务的时间期限信息;服务代理SB获取用户发送的订阅服务请求,在验证用户及用户的订阅服务请求后,SB依据用户购买的服务以及时间期限制定访问策略对认证信息利用层次化属性基密码技术进行加密,生成用户访问服务的授权票据发送给用户;
S4:提供访问服务:雾节点FN获取用户递交的认证信息和授权票据发起的服务访问请求,如果用户请求的不是顶层服务包,则FN根据用户请求的服务包在服务属性树中的层次,利用分布式层次化属性基密码技术的密钥委托算法和SP发送的顶层服务包的服务访问认证私钥生成用户请求的下层服务包的当前时隙的服务访问认证私钥,该私钥中的时间属性私钥组件取当前时隙的私钥组件,然后应用此私钥解密用户提交的授权票据,如果解密成功,则利用票据中的认证信息对用户身份进行认证,如果认证成功,则为用户提供服务;
S41:访问服务时,雾节点FN接收用户递交的服务请求信息和授权票据CT;
S42:若用户请求的是顶层服务包,雾节点FN使用SPk发送的顶层服务包的服务访问认证私钥 中的组件 和层次化属性基密码技术解密授权票据CT,其中时间属性私钥只取当前时隙TSi对应的私钥组件,以此保证只有订购了该时隙的服务的用户才能在当前访问服务;如果解密成功,则利用票据中的认证信息对用户身份进行认证,如果认证成功,则为用户提供服务;
S43:如果用户请求的是下层服务包,通过分布式层次化属性密码技术的密钥委托算法生成下层服务的当前时隙的服务访问认证私钥,然后利用层次化属性基密码技术解密授权票据CT,包括:
S431:雾节点FN利用分布式层次化属性基密码技术的密钥委托算法由对应顶层服务包的当前服务访问认证密钥 生成下层服务的当前服务访问认证私钥S432:FN使用当前服务访问认证密钥 和层次化属性基密码技术解密授权票据CT,如果解密成功,则利用票据中的认证信息对用户身份进行认证,如果认证成功,则为用户提供服务。
2.根据权利要求1所述的基于属性基密码的分布式服务访问授权及访问控制方法,其特征在于:所述步骤S1包括如下步骤:S11:服务代理SB输入安全参数λ和系统中服务树的最大深度l,生成层次化属性基密码所需的系统公共参数PP、服务层次公共参数;
S12:SB将当前和未来一段时间划分为n个较短的时隙TS1,TS2,...,TSn,作为n个时间属性,用于控制授权用户访问服务的时间期限,SB为各个时隙生成对应的时间属性公共参数;
所述时隙为一天或者一个月。
3.根据权利要求1所述的基于属性基密码的分布式服务访问授权及访问控制方法,其特征在于:所述步骤S2包括如下步骤:S21:假设本方法中有s个服务提供商,则SPk(1≤k≤s)表示第k个服务提供商,服务提供商SPk构建服务属性树Ψk并独立管理自己的服务;服务树的根对应服务提供商的标识,其下每一个节点表示一种服务包,对应一个服务属性,较高层次的服务包可以分解为多个子服务包;
S22:将服务树中每一层的每一个节点进行编号,用 中的一个整数表示,其中 是模P剩余类,P是层次化属性基加密中所取的群的素数阶,以此为基础,服务树中的每一个服务包的标识为从服务树的顶层服务包到该下层服务包的路径上每个节点对应的整数串联起来的一个向量,如 表示第i层的第m个服务包,其中0<i≤l;
S23:服务提供商SPk作为分布式属性基密码技术的第k个属性权威首先生成自己的公/私钥对{PKk,SKk};
S24:SPk将服务树、服务标识及其公钥PKk发布到服务平台;
S25:SPk用一个多元属性组 描述顶层的每一个服务包并生成对应的分布式层次化属性基密码的私钥 其中K0表示属性无关的私钥组件,KS表示服务属性对应的私钥组件, 表示每个时隙对应的私钥组件;
S26:SPk将生成的顶层服务包的属性私钥 发送给它的多个雾节点FNs。
4.根据权利要求1所述的基于属性基密码的分布式服务访问授权及访问控制方法,其特征在于:所述步骤S3包括如下步骤:S31:服务代理SB接收用户在注册时发送的订阅服务请求M,订阅服务请求M包含用户的身份认证相关的信息、用户想要订阅的服务及其有效期限;
S32:服务代理SB生成用于认证用户的认证信息AI;
S33:SB依据用户订阅的服务以及有效期限制定访问策略A,所述访问策略A确定用户的权限,由服务属性集 和时间属性集 决定,其中因此授权用户的访问结构可表示如下:S34:服务代理SB利用密文策略的分布式层次化属性基密码技术,在用户的访问结构下对用户的认证信息AI进行加密,生成用户的授权票据CT,返回给用户。
5.根据权利要求1所述的基于属性基密码的分布式服务访问授权及访问控制方法,其特征在于:在所述步骤S2中,每个服务供应商可能部署自己的服务节点即雾节点在网络边缘,为用户提供更好的服务并对用户进行访问控制。
6.根据权利要求1所述的基于属性基密码的分布式服务访问授权及访问控制方法,其特征在于:所述用户Users包括个人或者企业,在使用服务提供商SP提供的服务前,必须注册为SP的合法用户。