一种基于属性基密码的分布式服务访问授权及访问控制方法与流程

文档序号:18000830发布日期:2019-06-25 22:49阅读:196来源:国知局
一种基于属性基密码的分布式服务访问授权及访问控制方法与流程

本发明属于网络空间安全学科中的访问控制领域,特别涉及分布式环境下的综合实现认证、授权和访问控制方法。



背景技术:

云计算是一个新的广泛的研究领域,它是一种方便的服务模型。云计算可以允许用户通过互联网按需访问资源池模型(如网络、服务器、存储、应用程序和服务),从而快速的为用户提供服务,它是并行计算、分布式计算和网格计算等技术的发展。云计算有五个基本的特征:按需自助服务、广泛的网络访问、资源池、快速灵活的使用以及可测量的服务。在这种技术中,用户可以订阅服务提供商提供的服务,用户只需要连接到互联网的终端、智能手机或平板电脑,应用程序在云中运行,而不是用户的机器。一些服务提供商提供应用程序服务(例如,googleapps,微软在线),一些提供基础设施支持(如:亚马逊的ec2,eucalyptus,nimbus)。云计算为用户访问海量服务提供了一个有效的解决方案,提供大量不同类别的服务;雾计算作为云计算的扩展,它将云计算扩展到其网络的边缘,从而实现了新的应用程序和服务。在雾计算模型中,数据和应用程序集中在网络边缘的设备中,而不是几乎完全存储在云中。它已经成为分布式应用程序和服务比较有吸引力的解决方案,并且雾计算可以提供低延迟、高移动性和地理分布式的服务。现实生活环境中,雾节点能够提高用户访问服务提供商服务的效率。通过利用雾节点广泛分布的地理位置的特点,用户能够有效的、快速的访问服务提供商的服务。

基于属性基加密(attribute-basedencryption,abe)被认为是目前最适合解决在云计算环境下的隐私数据的安全保护以及实现细粒度的数据访问的技术之一,该方法可以实现一对多的加密访问控制机制,同时,具有可扩展性,分布式的特点。abe有两种延伸的结构,一种是基于密文策略的abe(cp-abe)和基于密钥策略的abe(kp-abe),在cp-abe中,每个用户的密钥与一组属性集相关,密文则与访问结构有关;而在kp-abe中正好相反,密文与一组属性集相关,用户的密钥与访问结构有关。cp-abe更适合云计算环境中实现资源拥有者控制的细粒度访问控制方案。

然而在现实生活中,存在这样的需求:用户想要访问一个服务提供商的多种不同服务,并且想要同时订阅多个服务提供商的服务。在现有的属性加密的研究中,目前已有的方法可以分为单属性权威的cp-abe,如中国专利文献cn102916954a、cn103220291a、cn104022868a、cn104113408a;多属性权威的cp-abe,如中国专利文献cn103618728a。在单属性权威的cp-abe方案中,系统中属性的管理和密钥的分发都是由单一的服务供应商权威来执行。文献cn102916954a、cn103220291a、cn104022868a、cn104113408a中,考虑到了用户权限的撤销,但是却没有考虑到高效的解密。作者vikaspardesi等在文献《afog/cloudbaseddatadeliverymodelforpublish-subscribesystems》一文中,引入一个服务代理为多个服务提供商提供服务访问控制接口,但是服务供应商需要维护庞大的用户访问控制表,这种集中式的访问控制方式存在很大的延迟,服务代理成为系统的性能瓶颈;cn105915333a中提出了高效的密钥分配方法,但是只有一个单独的服务属性权威在分配密钥,在实际实施过程中,大大的加重了权威的负担。在中国专利文献cn2015101068880.5中,名称为《一种基于属性加密的分布式访问控制方法》的专利提出了一种不仅能够保护数据的隐私安全,而且能够实现高效的分布式以及可扩展性的细粒度访问控制的加密方法,通过利用多个权威来分担单一权威的工作量,而且可以实现用户撤销,但是没有对用户订阅的服务包中的服务属性进行层次化管理,效率不高。已有的文献中,大部分是针对云环境下数据隐私保护的研究,对云计算服务的研究文献甚少。



技术实现要素:

有鉴于此,本发明要解决的技术问题是提出一种基于属性基密码的分布式服务访问授权及访问控制方法,该方法主要用来解决用户跨域访问多服务提供商服务的认证、授权和访问控制问题。

本发明设计了一种集成任意的认证协议和分布式层次化属性基密码技术实现认证、授权和服务访问控制的综合方法,为了整个过程的高效性,每个供应商的服务被组织成层次化的服务树,所有供应商的服务发布到一个公共的服务平台,服务平台的一个服务代理为服务供应商提供服务发布接口并生成系统的分布式层次化属性基密码所需的公共参数。为了有效管理用户权限的动态变化,系统的属性分为服务属性和时间属性两类,每个用户的权限由其订购的服务集合及其订购时间构成的访问策略确定,服务代理应用这个访问策略通过融合多因子认证和分布式层次化属性基密码技术进行加密,生成用户访问服务的授权票据。该方法支持用户利用一个统一的服务发布和管理平台进行跨域访问多个服务提供商以及系统内服务提供商的服务。即,本发明既能满足在分布式环境下的高效的多属性权威加密的需求,又能通过层次化的属性基密码技术实现访问控制。

为了达到上述目的,本发明提供如下的技术方案:

本发明提供的一种基于属性基密码技术的分布式服务访问授权及访问控制方法,包括以下步骤:

s1:服务发布平台初始化:服务发布平台配置有一个服务代理(sb)负责平台的初始化及其与用户和服务提供商的交互,服务提供商(sp)通过服务代理(sb)发布和管理服务,用户通过服务代理(sb)进行注册并购买服务,并由服务代理(sb)代理认证用户身份并对用户进行授权;所述服务代理需要负责生成执行分布式属性基密码所需的系统公共参数、服务层次公共参数;用户购买的服务包括两类属性:服务属性和时间属性,服务属性用于指定合法用户可以访问的服务,时间属性用于限定用户访问服务的时间期限;

s2:服务发布:服务提供商sp将自己提供的服务打包销售,并根据各种服务包的包含关系构建服务属性树,下层的服务包是上层服务包的子集,叶子节点表示最细粒度的服务单元;每个sp也给出服务树中每一个服务包节点的标识方法;每个sp生成自己的公/私钥对(对应服务树的根),将自己的服务树、服务包节点标识及其公钥发布到服务平台;同时,sp利用分布式层次化的属性基密码技术为服务树的第一层服务节点(顶层服务包)生成服务访问认证私钥并分发给雾节点(fns);

s3:提供用户注册:获取用户(users)在注册时提交的身份信息、购买的服务以及购买服务的时间期限信息;服务代理sb获取用户发送的订阅服务请求,在验证用户及用户的订阅服务请求后,sb依据用户购买的服务以及时间期限制定访问策略对认证信息利用层次化属性基密码技术进行加密,生成用户访问服务的授权票据发送给用户;

s4:提供访问服务:雾节点fn获取用户递交的认证信息和授权票据发起的服务访问请求,如果用户请求的不是顶层服务包,则fn根据用户请求的服务包在服务属性树中的层次,利用分布式层次化属性基密码技术的密钥委托算法和sp发送的顶层服务包的服务访问认证私钥生成用户请求的下层服务包的当前时隙的服务访问认证私钥,该私钥中的时间属性私钥组件取当前时隙的私钥组件,然后应用此私钥解密用户提交的授权票据,如果解密成功,则利用票据中的认证信息对用户身份进行认证,如果认证成功,则为用户提供服务。

进一步地,所述步骤s1包括如下步骤:

s11:服务代理sb输入安全参数λ和系统中服务树的最大深度l,生成层次化属性基密码所需的系统公共参数pp、服务层次公共参数。

s12:sb将当前和未来一段时间划分为n个较短的时隙(一天或者一个月)ts1,ts2,...,tsn,作为n个时间属性,用于控制授权用户访问服务的时间期限,sb为各个时隙生成对应的时间属性公共参数。

进一步地,所述步骤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表示服务属性对应的私钥组件,表示每个时隙对应的私钥组件。

进一步,所述步骤s3包括如下步骤:

s31:用户在注册时,服务代理sb获取用户发送的订阅服务请求m,订阅服务请求m包含了用户的身份认证相关的信息、用户想要订阅的服务及其有效期限。

s32:服务代理sb生成用于认证用户的认证信息ai。

s33:sb依据用户订阅的服务以及有效期限制定访问策略a:在本方法中,用户的访问策略确定了用户的权限,由服务属性集和时间属性集决定,其中因此授权用户的访问结构可表示如下:

s34:服务代理sb利用密文策略的分布式层次化属性基密码技术,在用户的访问结构下对用户的认证信息ai进行加密,生成用户的授权票据ct,返回给用户。

进一步,所述步骤s4包括如下步骤:

s41:访问服务时,雾节点fn获取用户递交的服务请求信息和授权票据ct发起服务访问请求。

s42:若用户请求的是顶层服务包,雾节点fn使用spk发送的顶层服务包的服务访问认证私钥中的组件和层次化属性基密码技术解密授权票据ct,其中时间属性私钥只取当前时隙tsi对应的私钥组件,以此保证只有订购了该时隙的服务的用户才能在当前访问服务。如果解密成功,则利用票据中的认证信息对用户身份进行认证,如果认证成功,则为用户提供服务。

s43:如果用户请求的是下层服务包,通过分布式层次化属性密码技术的密钥委托算法生成下层服务的当前时隙的服务访问认证私钥,然后利用层次化属性基密码技术解密授权票据ct。包括:

s431:雾节点fn利用分布式层次化属性基密码技术的密钥委托算法由对应顶层服务包的当前服务访问认证密钥生成下层服务的当前服务访问认证私钥

s432:fn使用当前服务访问认证密钥和层次化属性基密码技术解密授权票据ct,如果解密成功,则利用票据中的认证信息对用户身份进行认证,如果认证成功,则为用户提供服务。

本发明的优点在于:

在本发明中,用户利用一个统一的服务发布和管理平台进行跨域访问多个服务提供商以及系统内服务提供商的服务。

另外,在本发明中,通过引入时间属性,保证了更好的对用户权限进行管理。系统的属性分为服务属性和时间属性两类,其中时间属性与用户购买服务的时间期限有关,服务代理sb将当前和未来一段时间划分为多个较短的时隙作为时间属性,用于控制授权用户访问服务的时间期限。雾节点fn利用层次化属性基密码技术对用户的授权票据执行认证,以此保证只有订购了该时隙的服务的用户才能在当前访问服务,通过这种方式,雾节点fns能够实现对用户权限更好的管理。

在本系统中,设计了一个新颖的层次化的服务属性树的结构,服务提供商sp将自己提供的服务打包销售,并根据各种服务包的包含关系构建服务属性树,下层的服务包是上层服务包的子集,叶子节点表示最细粒度的服务单元。sp只为服务树的第一层服务节点(顶层服务包)生成属性私钥并分发给雾节点fn。在对用户的授权票据执行认证时,如果用户请求的不是顶层服务包,则fn根据用户请求的服务包在服务属性树中的层次,利用分布式层次化属性基密码技术的密钥委托算法和sp发送的顶层服务包的服务访问认证私钥生成用户请求的下层服务包的当前时隙的服务访问认证私钥,然后应用此私钥解密用户提交的授权票据,如果解密成功,则利用票据中的认证信息对用户身份进行认证,如果认证成功,则为用户提供服务。

附图说明

为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步的详细描述,其中:

图1为系统模型;

其中:(1)服务提供商注册;(2)发送订阅服务请求;(3)发送密文;(4)分发属性密钥;(5)发送服务访问请求;(6)提供服务;

图2为本发明的流程框图;

图3为系统初始化流程框图;

图4为用户注册流程框图;

图5为属性密钥生成流程框图;

图6为用户访问服务流程框图;

图7为密钥委托流程框图。

具体实施方式

以将结合附图,对本发明的优选实施例进行详细的描述。

本发明的系统模型如图1所示,该模型由四个实体组成,分别为服务代理(sb)、服务提供商(sp)、雾节点(fn)以及用户。sb负责用户的认证和授权;各个sp之间相互独立,同时sp负责生成顶层服务包的属性私钥并分发给它的多个雾节点fn;雾节点fn负责为认证和授权的用户提供服务。

本发明提供的基于属性加密的分布式服务访问控制方法流程参见图2,包括以下步骤:

s1:服务发布平台初始化:服务发布平台配置有一个服务代理(sb)负责平台的初始化及其与用户和服务提供商的交互,服务提供商(sp)通过服务代理(sb)发布和管理服务,用户通过服务代理(sb)进行注册并购买服务,并由服务代理(sb)代理认证用户身份并对用户进行授权;所述服务代理需要负责生成执行分布式属性基密码所需的系统公共参数、服务层次公共参数;用户购买的(即订阅的服务包中)的服务包括两类属性:服务属性和时间属性,服务属性用于指定合法用户可以访问的服务,时间属性用于限定用户访问服务的时间期限;

进一步参见图3,所述步骤s1包括如下步骤:

s11:服务代理sb输入安全参数λ和系统中服务树的最大深度l,生成层次化属性基密码所需的系统公共参数pp、服务层次公共参数。包括:

s111:输入安全参数;

s112:生成系统公共参数,其中系统公共参数包括两个阶为p的双线性群的生成元、双线性映射e:随机元素。

s12:sb将当前和未来一段时间划分为n个较短的时隙(一天或者一个月)ts1,ts2,...,tsn,作为n个时间属性,用于控制授权用户访问服务的时间期限,sb为各个时隙生成对应的时间属性公共参数。

s2:服务发布:服务提供商sp将自己提供的服务打包销售,并根据各种服务包的包含关系构建服务属性树,下层的服务包是上层服务包的子集,叶子节点表示最细粒度的服务单元;每个sp也给出服务树中每一个服务包节点的标识方法;每个sp生成自己的公/私钥对(对应服务树的根),将自己的服务树、服务包节点标识及其公钥发布到服务平台;同时,sp利用分布式层次化的属性基密码技术为服务树的第一层服务节点(顶层服务包)生成服务访问认证私钥并分发给雾节点(fns);

进一步参见图4,所述步骤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表示服务属性对应的私钥组件,表示每个时隙对应的私钥组件。

s3:提供用户注册:用户(users)包括个人或者企业,在使用服务提供商sp提供的服务前,必须注册为sp的合法用户。用户在注册时,服务代理sb获取用户提交的身份信息、购买的服务以及购买服务的时间期限信息。服务代理sb获取用户发送得订阅服务请求,在验证用户及用户的订阅服务请求后,sb依据用户购买的服务以及时间期限制定访问策略对认证信息利用层次化属性基密码技术进行加密,生成用户访问服务的授权票据发送给用户。

进一步参见图5,所述步骤s3包括如下步骤:

s31:用户在注册时,服务代理sb获取用户发送的订阅服务请求m,订阅服务请求m包含了用户的身份认证相关的信息、用户想要订阅的服务及其有效期限。

s32:服务代理sb生成用于认证用户的认证信息ai。

s33:sb依据用户订阅的服务以及有效期限制定访问策略a:在本方法中,用户的访问策略确定了用户的权限,由服务属性集和时间属性集决定,其中因此授权用户的访问结构可表示如下:

s34:服务代理sb利用密文策略的分布式层次化属性基密码技术,在用户的访问结构下对用户的认证信息ai进行加密,生成用户的授权票据ct,返回给用户。

s4:提供访问服务:雾节点fn获取用户递交的认证信息和授权票据发起服务访问请求,如果用户请求的不是顶层服务包,则fn根据用户请求的服务包在服务属性树中的层次,利用分布式层次化属性基密码技术的密钥委托算法和sp发送的顶层服务包的服务访问认证私钥生成用户请求的下层服务包的当前时隙的服务访问认证私钥,该私钥中的时间属性私钥组件取当前时隙的私钥组件,然后应用此私钥解密用户提交的授权票据,如果解密成功,则利用票据中的认证信息对用户身份进行认证,如果认证成功,则为用户提供服务。

进一步参见图6和图7,所述步骤s4包括如下步骤:

s41:访问服务时,雾节点fn获取用户递交的服务请求信息和授权票据ct发起服务访问请求;

s42:若用户请求的是顶层服务包,雾节点fn使用spk发送的顶层服务包的服务访问认证私钥中的组件和层次化属性基密码技术解密授权票据ct,其中时间属性私钥只取当前时隙tsi对应的私钥组件,以此保证只有订购了该时隙的服务的用户才能在当前访问服务。如果解密成功,则利用票据中的认证信息对用户身份进行认证,如果认证成功,则为用户提供服务;

s43:如果用户请求的是下层服务包,通过分布式层次化属性密码技术的密钥委托算法生成下层服务的当前时隙的服务访问认证私钥,然后利用层次化属性基密码技术解密授权票据ct。包括:

s431:雾节点fn利用分布式层次化属性基密码技术的密钥委托算法由对应顶层服务包的当前服务访问认证密钥生成下层服务的当前服务访问认证私钥

s432:fn使用当前服务访问认证密钥和层次化属性基密码技术解密授权票据ct,如果解密成功,则利用票据中的认证信息对用户身份进行认证,如果认证成功,则为用户提供服务。

最后说明的是,以上优选实例仅仅用以说明本发明的技术方案而非限制,对于本领域的技术人员来说,可以根据以上的技术方案内容,在形式上和细节上做出各种相应的改变,但所有的这些改变都应该包括在本发明权利要求的保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1