角色颁发方法、访问控制方法及相关设备与流程

文档序号:11156485
角色颁发方法、访问控制方法及相关设备与制造工艺

本发明涉及通信技术领域,尤其涉及一种角色颁发方法、访问控制方法及相关设备。



背景技术:

物联网标准化组织oneM2M致力于开发用于构造一个公共的机器对机器通信(Machine-To-Machine,M2M)服务层(Service Layer)的技术规范。

oneM2M功能架构如图1所示,定义了三种基本实体:

一,应用实体(Application Entity,AE),位于应用层,该实体可实现一个M2M应用服务逻辑。一个应用服务逻辑既可以驻留在多个M2M节点中,也可以在单个节点中存在多个执行实例。应用服务逻辑的每个执行实例被称为一个应用实体,每个应用实体由唯一的AE身份标识(AE-ID)标识。

例如,车队跟踪应用实例、远程血糖监测应用实例、远程电力计量实例或控制应用实例等都属于应用实体。

二,公共服务实体(Common Services Entity,CSE),一个公共服务实体由一组M2M环境中的公共服务功能(common service functions)构成。公共服务功能通过参考点Mca和参考点Mcc公开给其他实体。参考点Mcn用于访问底层网络服务实体。每个公共服务实体由唯一的CSE-ID标识。

三,底层网络服务实体(Underlying Network Services Entity,NSE),一个底层网络服务实体向多个CSE提供底层网络服务,例如提供设备管理、位置服务和设备触发服务。

oneM2M通过对标准化的资源树的操作实现服务层资源共享和交互。oneM2M资源树存在于oneM2M系统定义的CSE中。

根据oneM2M TS-0001中关于功能架构的定义,oneM2M资源树的形式如图2所示。其中,CSEBase1表示一个CSE根资源<CSEBase>,CSE1表示一个资源<remoteCSE>,APP1表示一个资源<AE>,CONT1和CONT2分别代表一个资源<container>,ACP1和ACP2分别代表一个资源<accessControlPolicy>。对于oneM2M资源可进行创建(Create,简称C)、查询(Retrieve,简称R)、修改(Update,简称U)和删除(Delete,简称D)等操作。

oneM2M定义的资源中与授权相关的资源为访问控制策略资源<accessControlPolicy>,其中定义有访问控制策略(Access Control Policy,ACP),<accessControlPolicy>资源由资源身份标识(ID)唯一标识。其他资源通过资源中的accessControlPolicyIDs属性指定适用的访问控制策略。<accessControlPolicy>资源中的特权(privileges)属性用于存储具体的访问控制规则,自我管理特权(selfPrivileges)属性用于存储维护<accessControlPolicy>资源的访问控制规则。

oneM2M安全解决技术规范oneM2M TS-0003中给出了授权架构和访问控制策略的评估。如图3所示的授权架构中,各授权组件的功能为:

策略执行点(Policy Enforcement Point,PEP),与需要访问控制的应用系统共存,并由应用系统调用。PEP根据用户的访问请求生成相应的访问控制决策请求,发送给策略决策点(Policy Decision Point,PDP),并根据PDP的访问控制决策应答确定是否执行用户的访问请求。

策略决策点(Policy Decision Point,PDP),负责根据访问控制策略评估是否同意由PEP发送来的访问控制决策请求,并将评估结果通过访问控制决策应答返回给PEP。

策略获取点(Policy Retrieval Point,PRP),根据PDP提供的策略请求获取适用的访问控制策略,并将获取的访问控制策略返回给PDP。

策略信息点(Policy Information Point,PIP),根据PDP的请求获取与用户、资源或环境相关的属性,例如访问用户的互联网协议(IP)地址、资源的创建 者、当前的时间等,然后将获得的各种属性返回给PDP。

oneM2M的基本授权流程如下:

1、PEP根据用户的访问请求生成访问控制决策请求(Access Control Decision Request)发送给PDP;

2、PDP根据PEP的访问控制决策请求向PRP发送访问控制策略请求(Access Control Policy Request);

3、PDP分析由PRP返回的访问控制策略和PEP的访问控制决策请求中提供的内容,若需要其他属性,则向PIP发送访问控制属性请求(Access Control Attribute Request),否则执行步骤5。

4、PIP根据PDP的访问控制属性请求获取相应的与访问控制相关的属性,并返回给PDP。

5、PDP根据确定适用的访问控制策略,并通过该访问控制决策应答(Access Control Attribute Response)返回给PEP。

6、PEP根据访问控制决策应答中的访问控制策略决定是否执行用户的访问请求。

oneM2M第二阶段(Release 2)将研究和制定授权架构各组成部分之间的接口,并将支持更多种类的访问控制策略,例如基于角色的访问控制,基于属性的访问控制等。目前已经明确了Release 2中将支持基于角色的访问控制这一新特性,但是如何实现基于角色的访问控制,尚没有解决方案。



技术实现要素:

本发明实施例提供一种角色颁发方法、访问控制方法及相关设备,用以为oneM2M提供基于角色的访问控制。

本发明实施例提供的具体技术方案如下:

第一方面,提供了一种角色颁发方法,包括:

公共服务实体CSE接收角色颁发实体发送的角色资源创建请求,所述角 色资源创建请求中携带颁发给发起方实体的角色信息,所述角色信息至少包括角色标识;

所述CSE根据所述角色信息在所述发起方实体对应的资源下创建角色资源,所述角色资源为普通资源且存储有所述角色信息。

较佳地,所述CSE根据所述角色信息在所述发起方实体对应的资源下创建角色资源后,还包括:

所述CSE向所述角色颁发实体返回角色资源创建响应。

较佳地,所述CSE根据所述角色信息在所述发起方实体对应的资源下创建角色资源后,还包括:

所述CSE接收所述角色颁发实体发送的角色资源修改请求,所述角色资源修改请求中携带重新颁发给所述发起方实体的角色信息;

根据重新颁发的所述角色信息修改所述角色资源中保存的角色信息。

较佳地,所述CSE根据重新颁发的所述角色信息修改所述角色资源中保存的角色信息后,还包括:

所述CSE向所述角色颁发实体返回角色资源修改响应。

较佳地,所述方法还包括:

所述CSE接收所述发起方实体对所述角色资源的资源读取请求;

所述CSE向所述发起方实体返回资源读取响应,所述资源读取响应中携带所述角色信息。

较佳地,所述CSE根据所述角色信息在所述发起方实体对应的资源下创建角色资源之前,还包括:

所述CSE根据所述发起方实体对应的资源的访问控制策略,确定允许所述角色颁发实体创建所述角色资源。

较佳地,所述CSE根据重新颁发的所述角色信息修改所述角色资源中保存的角色信息之前,还包括:

所述CSE根据所述发起方实体对应的资源的访问控制策略,确定允许所 述角色颁发实体修改所述角色资源。

较佳地,所述角色资源具有普通资源的通用属性,还具有指定失效时间的公共属性以及签约子资源。

较佳地,所述角色资源具有角色标识属性、角色颁发者标识属性、角色有效起始时间属性以及角色有效结束时间属性,所述角色标识属性用于保存角色标识,所述角色颁发者标识属性用于保存角色颁发者标识,所述角色有效起始时间属性用于保存角色有效起始时间,所述角色有效结束时间属性用于保存角色有效结束时间。

较佳地,所述角色资源还具有角色类型属性、角色名字属性以及应用类别属性中的任意一种或多种,所述角色类型属性用于保存角色类型,所述角色名字属性用于保存角色可阅读名字,所述应用类别属性用于保存角色所属的应用类别。

第二方面,提供了一种角色颁发方法,包括:

角色颁发实体生成角色资源创建请求,所述角色资源创建请求中携带颁发给发起方实体的角色信息,所述角色信息至少包括角色标识;

所述角色颁发实体向公共服务实体CSE发送所述角色资源创建请求,由所述CSE根据所述角色信息在所述发起方实体对应的资源下创建角色资源,所述角色资源为普通资源且存储有所述发起方实体的角色信息。

较佳地,所述角色颁发实体向所述CSE发送所述角色资源创建请求之后,还包括:

所述角色颁发实体接收所述CSE返回的角色资源创建响应。

较佳地,所述CSE根据所述角色信息在所述发起方实体对应的资源下创建角色资源之后,还包括:

所述角色颁发实体将所述角色资源的地址信息的指示信息发送给所述发起方实体,以及将所述角色资源的地址信息的指示信息发送给所述策略决策点PDP实体和/或策略信息点PIP实体。

较佳地,所述角色颁发实体向所述CSE发送所述角色资源创建请求之后,还包括:

所述角色颁发实体生成角色资源修改请求,所述角色资源修改请求中携带重新颁发给所述发起方实体的角色信息;

所述角色颁发实体向所述CSE发送所述角色资源修改请求。

较佳地,所述角色颁发实体向所述CSE发送所述角色资源修改请求之后,还包括:

所述角色颁发实体接收所述CSE返回的角色资源修改响应。

较佳地,所述角色资源具有普通资源的通用属性,还具有指定失效时间的公共属性以及签约子资源。

较佳地,所述角色资源具有角色标识属性、角色颁发者标识属性、角色有效起始时间属性以及角色有效结束时间属性,所述角色标识属性用于保存角色标识,所述角色颁发者标识属性用于保存角色颁发者标识,所述角色有效起始时间属性用于保存角色有效起始时间,所述角色有效结束时间属性用于保存角色有效结束时间。

较佳地,所述角色资源还具有角色类型属性、角色名字属性以及应用类别属性中的任意一种或多种,所述角色类型属性用于保存角色类型,所述角色名字属性用于保存角色可阅读名字,所述应用类别属性用于保存角色所属的应用类别。

第三方面,提供了一种角色颁发方法,包括:

发起方实体向公共服务实体CSE发送对发起方实体对应的资源下的角色资源的资源读取请求,所述角色资源为普通资源且存储有所述发起方实体的角色信息;

所述发起方实体接收所述CSE返回的资源读取响应,所述资源读取响应中携带所述角色资源中保存的角色信息,所述角色信息至少包括角色标识。

较佳地,所述角色资源具有普通资源的通用属性,还具有指定失效时间的 公共属性以及签约子资源。

较佳地,所述角色资源具有角色标识属性、角色颁发者标识属性、角色有效起始时间属性以及角色有效结束时间属性,所述角色标识属性用于保存角色标识,所述角色颁发者标识属性用于保存角色颁发者标识,所述角色有效起始时间属性用于保存角色有效起始时间,所述角色有效结束时间属性用于保存角色有效结束时间。

较佳地,所述角色资源还具有角色类型属性、角色名字属性以及应用类别属性中的任意一种或多种,所述角色类型属性用于保存角色类型,所述角色名字属性用于保存角色可阅读名字,所述应用类别属性用于保存角色所属的应用类别。

第四方面,提供了一种访问控制方法,包括:

策略执行点PEP实体获取发起方实体发送的资源访问请求,所述资源访问请求中携带所述发起方实体的角色信息,所述角色信息至少包括角色标识;

所述PEP实体根据所述资源访问请求生成访问控制决策请求,所述访问控制决策请求中携带所述发起方实体的角色信息;

所述PEP实体将所述访问控制决策请求发送给策略决策点PDP实体,由所述PDP实体根据所述角色信息查询所述发起方实体对应的角色资源获得查询结果,并由所述PDP实体根据所述查询结果以及访问控制策略确定决策结果,所述角色资源为普通资源且存储有所述发起方实体的角色信息;

所述PEP实体获取所述PDP实体返回的访问控制决策应答,所述访问控制决策应答中携带所述决策结果;

所述PEP根据所述决策结果对所述发起方实体的资源访问请求进行访问控制。

较佳地,所述角色资源具有普通资源的通用属性,还具有指定失效时间的公共属性以及签约子资源。

较佳地,所述角色资源具有角色标识属性、角色颁发者标识属性、角色有 效起始时间属性以及角色有效结束时间属性,所述角色标识属性用于保存角色标识,所述角色颁发者标识属性用于保存角色颁发者标识,所述角色有效起始时间属性用于保存角色有效起始时间,所述角色有效结束时间属性用于保存角色有效结束时间。

较佳地,所述角色资源还具有角色类型属性、角色名字属性以及应用类别属性中的任意一种或多种,所述角色类型属性用于保存角色类型,所述角色名字属性用于保存角色可阅读名字,所述应用类别属性用于保存角色所属的应用类别。

较佳地,所述资源访问请求中携带的所述发起方实体的角色标识,为根据本次资源访问所属的应用类别以及所述角色所属的应用类别确定。

第五方面,提供了一种访问控制方法,包括:

策略决策点PDP实体接收策略执行点PEP实体发送的访问控制决策请求,所述访问控制决策请求中携带发起资源访问请求的发起方实体的角色信息,所述角色信息至少包括角色标识;

所述PDP实体根据所述角色标识查询所述发起方实体对应的角色资源获得查询结果,根据所述查询结果以及访问控制策略确定决策结果,所述角色资源为普通资源且存储有所述发起方实体的角色信息;

所述PDP实体向所述PEP实体返回访问控制决策应答,所述访问控制决策应答中携带所述决策结果。

较佳地,所述PDP实体根据所述角色标识查询所述发起方实体对应的角色资源获得查询结果,包括:

所述PDP实体向公共服务实体CSE发送对所述发起方实体的角色资源的查询请求,并获得所述CSE返回的查询结果,所述查询请求中携带所述角色标识;

或者,

所述PDP实体向策略信息点PIP实体发送访问控制属性请求,所述访问控 制属性请求中携带所述发起方实体的角色标识,并接收所述PIP实体返回的访问控制属性响应,所述访问控制属性响应中携带所述PIP实体根据所述角色标识查询所述发起方实体对应的角色资源获得的查询结果。

较佳地,所述PDP实体根据所述查询结果以及访问控制策略确定决策结果,包括:

所述PDP实体若确定所述查询结果中携带所述角色资源中保存的角色信息,且根据所述角色信息确定所述角色标识有效,根据所述访问控制策略以及所述角色标识确定决策结果;

所述PDP实体若确定所述查询结果为空,根据所述访问控制策略确定决策结果为不允许所述发起方实体的资源访问请求;或者,若确定所述查询结果中携带所述角色资源中保存的角色信息,且根据所述角色信息确定所述角色标识无效,根据所述访问控制策略确定决策结果为不允许所述发起方实体的资源访问请求。

较佳地,所述角色资源具有普通资源的通用属性,还具有指定失效时间的公共属性以及签约子资源。

较佳地,所述角色资源具有角色标识属性、角色颁发者标识属性、角色有效起始时间属性以及角色有效结束时间属性,所述角色标识属性用于保存角色标识,所述角色颁发者标识属性用于保存角色颁发者标识,所述角色有效起始时间属性用于保存角色有效起始时间,所述角色有效结束时间属性用于保存角色有效结束时间。

较佳地,所述角色资源还具有角色类型属性、角色名字属性以及应用类别属性中的任意一种或多种,所述角色类型属性用于保存角色类型,所述角色名字属性用于保存角色可阅读名字,所述应用类别属性用于保存角色所属的应用类别。

第六方面,提供了一种访问控制方法,包括:

策略信息点PIP实体接收策略决策点PDP实体发送的访问控制属性请求, 所述访问控制属性请求中携带发起资源访问请求的发起方实体的角色信息,所述角色信息至少包括角色标识;

所述PIP实体根据所述角色标识向公共服务实体CSE查询所述发起方实体对应的角色资源并获取查询结果,所述角色资源为普通资源且存储有所述发起方实体的角色信息;

所述PIP实体向所述PDP实体返回访问控制属性响应,所述访问控制属性响应中携带所述查询结果。

较佳地,所述角色资源具有普通资源的通用属性,还具有指定失效时间的公共属性以及签约子资源。

较佳地,所述角色资源具有角色标识属性、角色颁发者标识属性、角色有效起始时间属性以及角色有效结束时间属性,所述角色标识属性用于保存角色标识,所述角色颁发者标识属性用于保存角色颁发者标识,所述角色有效起始时间属性用于保存角色有效起始时间,所述角色有效结束时间属性用于保存角色有效结束时间。

较佳地,所述角色资源还具有角色类型属性、角色名字属性以及应用类别属性中的任意一种或多种,所述角色类型属性用于保存角色类型,所述角色名字属性用于保存角色可阅读名字,所述应用类别属性用于保存角色所属的应用类别。

第七方面,提供了一种公共服务实体CSE,包括:

接收模块,用于接收角色颁发实体发送的角色资源创建请求,所述角色资源创建请求中携带颁发给发起方实体的角色信息,所述角色信息至少包括角色标识;

处理模块,用于根据所述角色信息在所述发起方实体对应的资源下创建角色资源,所述角色资源为普通资源且存储有所述角色信息。

较佳地,所述接收模块还用于:

在所述处理模块根据所述角色信息在所述发起方实体对应的资源下创建 角色资源后,接收所述角色颁发实体发送的角色资源修改请求,所述角色资源修改请求中携带重新颁发给所述发起方实体的角色信息;

所述处理模块还用于:

根据重新颁发的所述角色信息修改所述角色资源中保存的角色信息。

还包括第一发送模块,用于:

向所述发起方实体返回资源读取响应,所述资源读取响应中携带所述角色信息。

较佳地,还包括第二发送模块,用于:

在所述处理模块根据所述角色信息在所述发起方实体对应的资源下创建角色资源后,向所述角色颁发实体返回角色资源创建响应。

较佳地,还包括第三发送模块,用于:

在所述处理模块根据重新颁发的所述角色信息修改所述角色资源中保存的角色信息后,向所述角色颁发实体返回角色资源修改响应。

较佳地,所述接收模块还用于:

接收所述发起方实体对所述角色资源的资源读取请求;

较佳地,所述处理模块还用于:

根据所述角色信息在所述发起方实体对应的资源下创建角色资源之前,根据所述发起方实体对应的资源的访问控制策略,确定允许所述角色颁发实体创建所述角色资源。

较佳地,所述处理模块还用于:

根据重新颁发的所述角色信息修改所述角色资源中保存的角色信息之前,根据所述发起方实体对应的资源的访问控制策略,确定允许所述角色颁发实体修改所述角色资源。

第八方面,提供了一种角色颁发实体,包括:

处理模块,用于生成角色资源创建请求,所述角色资源创建请求中携带颁发给发起方实体的角色信息,所述角色信息至少包括角色标识;

发送模块,用于向公共服务实体CSE发送所述角色资源创建请求,由所述CSE根据所述角色信息在所述发起方实体对应的资源下创建角色资源,所述角色资源为普通资源且存储有所述发起方实体的角色信息。

较佳地,还包括第一接收模块,用于:

接收所述CSE返回的角色资源创建响应。

较佳地,所述发送模块还用于:

将所述角色资源的地址信息的指示信息发送给所述发起方实体,以及将所述角色资源的地址信息的指示信息发送给所述策略决策点PDP实体和/或策略信息点PIP实体。

较佳地,所述处理模块还用于:

生成角色资源修改请求,所述角色资源修改请求中携带重新颁发给所述发起方实体的角色信息;

所述发送模块还用于:

向所述CSE发送所述角色资源修改请求。

较佳地,还包括第二接收模块,用于:

接收所述CSE返回的角色资源修改响应。

第九方面,提供了一种发起方实体,包括:

发送模块,用于向公共服务实体CSE发送对发起方实体对应的资源下的角色资源的资源读取请求,所述角色资源为普通资源且存储有所述发起方实体的角色信息;

接收模块,用于接收所述CSE返回的资源读取响应,所述资源读取响应中携带所述角色资源中保存的角色信息,所述角色信息至少包括角色标识。

较佳地,所述发起方实体为应用实体或公共服务实体。

第十方面,提供了一种策略执行点PEP实体,包括:

第一获取模块,用于获取发起方实体发送的资源访问请求,所述资源访问请求中携带所述发起方实体的角色信息,所述角色信息至少包括角色标识;

生成模块,用于根据所述获取模块获取的所述资源访问请求生成访问控制决策请求,所述访问控制决策请求中携带所述发起方实体的角色信息;

发送模块,用于将所述访问控制决策请求发送给策略决策点PDP实体,由所述PDP实体根据所述角色信息查询所述发起方实体对应的角色资源获得查询结果,并由所述PDP实体根据所述查询结果以及访问控制策略确定决策结果,所述角色资源为普通资源且存储有所述发起方实体的角色信息;

第二获取模块,用于获取所述PDP实体返回的访问控制决策应答,所述访问控制决策应答中携带所述决策结果;

访问控制模块,用于根据所述决策结果对所述发起方实体的资源访问请求进行访问控制。

第十一方面,提供了一种策略决策点PDP实体,包括:

接收模块,用于接收策略执行点PEP实体发送的访问控制决策请求,所述访问控制决策请求中携带发起资源访问请求的发起方实体的角色信息,所述角色信息至少包括角色标识;

处理模块,用于根据所述角色标识查询所述发起方实体对应的角色资源获得查询结果,根据所述查询结果以及访问控制策略确定决策结果,所述角色资源为普通资源且存储有所述发起方实体的角色信息;

发送模块,用于向所述PEP实体返回访问控制决策应答,所述访问控制决策应答中携带所述决策结果。

较佳地,所述处理模块具体用于:

通过所述发送模块向公共服务实体CSE发送对所述发起方实体的角色资源的查询请求,并通过所述接收模块获得所述CSE返回的查询结果,所述查询请求中携带所述角色标识;

或者,

通过所述发送模块向策略信息点PIP实体发送访问控制属性请求,所述访问控制属性请求中携带所述发起方实体的角色标识,并通过所述接收模块接收 所述PIP实体返回的访问控制属性响应,所述访问控制属性响应中携带所述PIP实体根据所述角色标识查询所述发起方实体对应的角色资源获得的查询结果。

较佳地,所述处理模块具体用于:

若确定所述查询结果中携带所述角色资源中保存的角色信息,且根据所述角色信息确定所述角色标识有效,根据所述访问控制策略以及所述角色标识确定决策结果;

若确定所述查询结果为空,根据所述访问控制策略确定决策结果为不允许所述发起方实体的资源访问请求;或者,若确定所述查询结果中携带所述角色资源中保存的角色信息,且根据所述角色信息确定所述角色标识无效,根据所述访问控制策略确定决策结果为不允许所述发起方实体的资源访问请求。

第十二方面,提供了一种策略信息点PIP实体,包括:

接收模块,用于接收策略决策点PDP实体发送的访问控制属性请求,所述访问控制属性请求中携带发起资源访问请求的发起方实体的角色信息,所述角色信息至少包括角色标识;

处理模块,用于根据所述角色标识向公共服务实体CSE查询所述发起方实体对应的角色资源并获取查询结果,所述角色资源为普通资源且存储有所述发起方实体的角色信息;

发送模块,用于向所述PDP实体返回访问控制属性响应,所述访问控制属性响应中携带所述查询结果。

第十三方面,提供了一种公共服务实体CSE,包括处理器、存储器和收发机,其中,收发机用于在处理器的控制下接收和发送数据,存储器中保存有预设的程序,处理器读取存储器中保存的程序,按照该程序执行以下过程:

通过收发机接收角色颁发实体发送的角色资源创建请求,所述角色资源创建请求中携带颁发给发起方实体的角色信息,所述角色信息至少包括角色标识;

根据所述角色信息在所述发起方实体对应的资源下创建角色资源,所述角 色资源为普通资源且存储有所述角色信息。

较佳地,处理器根据所述角色信息在所述发起方实体对应的资源下创建角色资源后,通过收发机向所述角色颁发实体返回角色资源创建响应。

较佳地,处理器根据所述角色信息在所述发起方实体对应的资源下创建角色资源后,通过收发机接收所述角色颁发实体发送的角色资源修改请求,所述角色资源修改请求中携带重新颁发给所述发起方实体的角色信息;

根据重新颁发的所述角色信息修改所述角色资源中保存的角色信息。

较佳地,处理器根据重新颁发的所述角色信息修改所述角色资源中保存的角色信息后,通过收发机向所述角色颁发实体返回角色资源修改响应。

较佳地,处理器通过收发机接收所述发起方实体对所述角色资源的资源读取请求;

以及通过收发机向所述发起方实体返回资源读取响应,所述资源读取响应中携带所述角色信息。

较佳地,处理器根据所述角色信息在所述发起方实体对应的资源下创建角色资源之前,根据所述发起方实体对应的资源的访问控制策略,确定允许所述角色颁发实体创建所述角色资源。

较佳地,处理器根据重新颁发的所述角色信息修改所述角色资源中保存的角色信息之前,根据所述发起方实体对应的资源的访问控制策略,确定允许所述角色颁发实体修改所述角色资源。

第十四方面,提供了一种角色颁发实体,包括处理器、存储器和收发机,其中收发机用于在处理器的控制下接收和发送数据,存储器中保存有预设的程序,处理器读取存储器中保存的程序,按照该程序执行以下过程:

生成角色资源创建请求,所述角色资源创建请求中携带颁发给发起方实体的角色信息,所述角色信息至少包括角色标识;

通过收发机向公共服务实体CSE发送所述角色资源创建请求,由所述CSE根据所述角色信息在所述发起方实体对应的资源下创建角色资源,所述角色资 源为普通资源且存储有所述发起方实体的角色信息。

较佳地,处理器通过收发机接收所述CSE返回的角色资源创建响应。

较佳地,处理器通过收发机将所述角色资源的地址信息的指示信息发送给所述发起方实体,以及将所述角色资源的地址信息的指示信息发送给所述策略决策点PDP实体和/或策略信息点PIP实体。

较佳地,处理器生成角色资源修改请求,所述角色资源修改请求中携带重新颁发给所述发起方实体的角色信息;

通过收发机向所述CSE发送所述角色资源修改请求。

较佳地,处理器通过收发机接收所述CSE返回的角色资源修改响应。

第十五方面,提供了一种发起方实体,包括处理器、存储器和收发机,其中收发机在处理器的控制下接收和发送数据,存储器中保存有预设的程序,处理器读取存储器中保存的程序,按照该程序执行以下过程:

通过收发机向公共服务实体CSE发送对发起方实体对应的资源下的角色资源的资源读取请求,所述角色资源为普通资源且存储有所述发起方实体的角色信息;

通过收发机接收所述CSE返回的资源读取响应,所述资源读取响应中携带所述角色资源中保存的角色信息,所述角色信息至少包括角色标识。

较佳地,所述发起方实体为应用实体或公共服务实体。

第十六方面,提供了一种策略执行点PEP实体,包括处理器、存储器和收发机,其中收发机在处理器的控制下接收和发送数据,存储器中保存有预设的程序,处理器读取存储器中保存的程序,按照该程序执行以下过程:

通过收发机获取发起方实体发送的资源访问请求,所述资源访问请求中携带所述发起方实体的角色信息,所述角色信息至少包括角色标识;

根据所述获取模块获取的所述资源访问请求生成访问控制决策请求,所述访问控制决策请求中携带所述发起方实体的角色信息;

通过收发机将所述访问控制决策请求发送给策略决策点PDP实体,由所 述PDP实体根据所述角色信息查询所述发起方实体对应的角色资源获得查询结果,并由所述PDP实体根据所述查询结果以及访问控制策略确定决策结果,所述角色资源为普通资源且存储有所述发起方实体的角色信息;

通过收发机获取所述PDP实体返回的访问控制决策应答,所述访问控制决策应答中携带所述决策结果;

根据所述决策结果对所述发起方实体的资源访问请求进行访问控制。

第十七方面,提供了一种策略决策点PDP实体,包括处理器、存储器和收发机,其中收发机在处理器的控制下接收和发送数据,存储器中保存有预设的程序,处理器读取存储器中保存的程序,按照该程序执行以下过程:

通过收发机接收策略执行点PEP实体发送的访问控制决策请求,所述访问控制决策请求中携带发起资源访问请求的发起方实体的角色信息,所述角色信息至少包括角色标识;

根据所述角色标识查询所述发起方实体对应的角色资源获得查询结果,根据所述查询结果以及访问控制策略确定决策结果,所述角色资源为普通资源且存储有所述发起方实体的角色信息;

通过收发机向所述PEP实体返回访问控制决策应答,所述访问控制决策应答中携带所述决策结果。

较佳地,处理器通过收发机向公共服务实体CSE发送对所述发起方实体的角色资源的查询请求,并通过收发机获得所述CSE返回的查询结果,所述查询请求中携带所述角色标识;

或者,

通过收发机向策略信息点PIP实体发送访问控制属性请求,所述访问控制属性请求中携带所述发起方实体的角色标识,并通过收发机接收所述PIP实体返回的访问控制属性响应,所述访问控制属性响应中携带所述PIP实体根据所述角色标识查询所述发起方实体对应的角色资源获得的查询结果。

较佳地,处理器若确定所述查询结果中携带所述角色资源中保存的角色信 息,且根据所述角色信息确定所述角色标识有效,根据所述访问控制策略以及所述角色标识确定决策结果;

若确定所述查询结果为空,根据所述访问控制策略确定决策结果为不允许所述发起方实体的资源访问请求;或者,若确定所述查询结果中携带所述角色资源中保存的角色信息,且根据所述角色信息确定所述角色标识无效,根据所述访问控制策略确定决策结果为不允许所述发起方实体的资源访问请求。

第十八方面,提供了一种策略信息点PIP实体,包括处理器、存储器和收发机,其中收发机在处理器的控制下接收和发送数据,存储器中保存有预设的程序,处理器读取存储器中保存的程序,按照该程序执行以下过程:

通过收发机接收策略决策点PDP实体发送的访问控制属性请求,所述访问控制属性请求中携带发起资源访问请求的发起方实体的角色信息,所述角色信息至少包括角色标识;

根据所述角色标识向公共服务实体CSE查询所述发起方实体对应的角色资源并获取查询结果,所述角色资源为普通资源且存储有所述发起方实体的角色信息;

通过收发机向所述PDP实体返回访问控制属性响应,所述访问控制属性响应中携带所述查询结果。

基于上述技术方案,本发明实施例中,通过在发起方实体对应的资源下创建角色资源,该角色资源为普通资源且用于保存角色信息,该角色信息至少包括角色标识,从而能够通过对该角色资源的操作获取该角色资源中保存的角色信息,基于获取的角色信息在oneM2M中实现基于角色的访问控制。

附图说明

图1为oneM2M功能架构示意图;

图2为oneM2M资源树的结构示意图;

图3为oneM2M授权架构示意图;

图4为本发明实施例中角色资源的基本结构示意图;

图5为本发明实施例中<AE>资源结构示意图;

图6为本发明实施例中CSE执行角色颁发的方法流程示意图;

图7为本发明实施例中角色颁发实体执行角色颁发的方法流程示意图;

图8为本发明实施例中发起方实体执行角色颁发的方法流程示意图;

图9为本发明实施例中PEP实体进行访问控制的方法流程示意图;

图10为本发明实施例中PDP实体进行访问控制的方法流程示意图;

图11为本发明实施例中PIP实体进行访问控制的方法流程示意图;

图12为本发明实施例中角色颁发及使用的过程示意图;

图13为本发明实施例中实体关系示意图;

图14为本发明实施例中CSE1中相关的资源树的结构示意图;

图15为本发明实施例中另一角色颁发及使用的过程示意图;

图16为本发明实施例中CSE的结构示意图;

图17为本发明实施例中角色颁发实体的结构示意图;

图18为本发明实施例中发起方实体的结构示意图;

图19为本发明实施例中PEP实体的结构示意图;

图20为本发明实施例中PDP实体的结构示意图;

图21为本发明实施例中PIP实体的结构示意图;

图22为本发明实施例中另一CSE的结构示意图;

图23为本发明实施例中另一角色颁发实体的结构示意图;

图24为本发明实施例中另一发起方实体的结构示意图;

图25为本发明实施例中另一PEP实体的结构示意图;

图26为本发明实施例中另一PDP实体的结构示意图;

图27为本发明实施例中另一PIP实体的结构示意图。

具体实施方式

为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。

本发明实施例中定义了一种oneM2M资源用以实现基于角色的访问控制。

定义的资源为角色资源<role>,用于在CSE资源树中存储角色信息。具体地,<role>资源可以位于oneM2M基础设施节点IN-CSE中的<CSEBase>、<remoteCSE>、<AE>等资源下,即角色资源创建在发起方实体相关联的资源中,以便这些资源能够使用自身对应的<role>资源存储赋给自身的角色信息。一个IN-CSE中的<CSEBase>、<remoteCSE>或<AE>资源下,可以有一个或多个角色资源实例,一个角色资源实例表示一个角色。角色资源中存储的角色为分配给该角色资源对应的实体的角色。一个角色资源中至少存储有角色的角色标识。

定义<role>资源的基本结构如图4所示,其资源类型为oneM2M普通资源(Normal Resource),oneM2M普通资源具有具体的资源结构以及资源属性。<role>资源除包含oneM2M普通资源的通用属性(Univesal Attribute)外,还包含用于指定失效时间(expirationTime)的公共属性(Common Attribute)和oneM2M已经定义的签约<subscription>子资源。定义每个<role>资源实例用于描述一个角色。图4中的数字表示对应的资源属性的个数或者对应的子资源的个数。

<role>资源的资源属性的具体用途定义为:

角色标识(roleID)属性:用户保存角色标识;

角色颁发者标识(issuer)属性:用于保存角色颁发者标识;

角色有效起始时间(startTime)属性:用于保存角色有效起始时间;

角色有效结束时间(expiryTime)属性:用于保存角色有效结束时间;

角色类型(roleType)属性:用于区分该角色是由oneM2M服务提供商(M2M Service Provider)定义的服务签约角色(Service Subscription Role),还是由oneM2M应用服务提供商(M2M Application Service Provider)定义的与某具体应用相关的角色;

角色名字(roleName)属性:用于保存角色的可阅读名字;

应用类别(appCategory)属性:用于保存角色所属的应用类别,也即该角色的应用范围,例如设备管理应用,智能家居应用,智能交通应用等。

其中,<role>资源至少具有roleID属性,还可能具有issuer、startTime、expiryTime属性。除此之外,roleType属性、roleName属性和appCategory属性为可选的资源属性,即一个角色资源可以具有roleType属性、roleName属性和appCategory属性中的任意一种或多种。

定义<AE>资源的结构如图5所示,仅是在现有<AE>资源中增加了<role>资源为子资源,<AE>资源下<role>子资源的数量可以为零或n个,n大于等于1,用于表示赋给AE的角色。同理,<CSEBase>资源和<remoteCSE>资源的定义与<AE>资源的定义相似,在<CSEBase>资源下增加了<role>资源为子资源,在<remoteCSE>资源增加了<role>资源为子资源,<CSEBase>资源或<remoteCSE>资源下<role>子资源的数量可以为零或n个,n大于等于1。

与基于角色的访问控制相关的实体定义如下:

角色颁发(Role Authority)实体:负责向AE或CSE颁发角色,且具有在发起方实体对应的资源(如发起方的注册资源)下创建<role>子资源的能力;

发起方(Originator)实体:为AE或CSE,是角色颁发的对象,用于使用角色进行资源访问;

注册响应CSE(Registrar CSE):Originator注册至该CSE,也即Originator的注册资源创建于该CSE中;

宿主CSE(Hosting CSE):Originator想要访问的资源存在于该CSE的资源树中,在实际应用中Registrar CSE和Hosting CSE可以为同一个CSE,也可以是不同的CSE;

策略执行点(PEP)实体:负责根据访问控制决策执行用户的访问请求,PEP存在于Host CSE中;

策略决策点(PDP)实体:负责利用访问控制策略评估用户的访问请求,并做出访问控制决策;

策略信息点(PIP)实体:负责获取与访问控制相关的属性。

在实际应用中,PDP可以通过PIP获取所需要的属性,也可以直接从发起方对应的资源中获取所需的信息。发起方实体对应的资源是指发起方实体相关联的资源。本发明各实施例中,发起方对应的资源下创建有角色资源,或者需要在发起方对应的资源下创建或修改角色资源。

基于以上定义,本发明实施例中,如图6所示,以存储有发起方实体对应的资源的CSE为执行主体,该CSE可以是存储有发起方实体的注册资源的实体,也可以是存储有发起方的非注册资源的实体,角色颁发的详细方法流程如下:

步骤601:CSE接收角色颁发实体发送的角色资源创建请求,该角色资源创建请求中携带颁发给发起方实体的角色信息,该角色信息至少包括角色标识。

步骤602:CSE根据该角色信息在该发起方实体对应的资源下创建角色资源,该角色资源为普通资源且存储有该角色信息。

较佳地,CSE根据角色信息在发起方实体对应的资源下创建角色资源后,向角色颁发实体返回角色资源创建响应,该角色资源创建响应用于通知角色颁发实体该角色资源是否创建成功。

较佳地,CSE在创建角色资源后还可以对角色资源进行修改,具体为:

CSE根据角色信息在发起方实体对应的资源下创建角色资源后,接收角色颁发实体发送的角色资源修改请求,该角色资源修改请求中携带重新颁发给该发起方实体的角色信息;根据重新颁发的该角色信息修改角色资源中保存的角色信息。

较佳地,CSE根据重新颁发的角色信息修改角色资源中保存的角色信息后,向角色颁发实体返回角色资源修改响应,该角色资源修改响应用于通知角色颁发实体该角色资源是否修改成功。

较佳地,CSE接收发起方实体对角色资源的资源读取请求;向该发起方实体返回资源读取响应,该资源读取响应中携带角色信息。

实施中,若发起方实体对应的资源为该发起方实体的注册资源,则保存有该注册资源的CSE为注册响应CSE。

较佳地,CSE根据与发起方实体对应的资源相关联的访问控制策略对与该资源相关的操作进行访问控制。具体地,CSE根据角色信息在发起方实体对应的资源下创建角色资源之前,根据发起方实体对应的资源的访问控制策略,确定允许该角色颁发实体创建角色资源。具体地,CSE根据重新颁发的角色信息修改角色资源中保存的角色信息之前,根据发起方实体对应的资源的访问控制策略,确定允许角色颁发实体修改该角色资源。实施中,与发起方实体对应的资源相关联的访问控制策略指定了允许访问该资源的实体。

基于以上定义,本发明实施例中,如图7所示,角色颁发实体进行角色颁发的详细方法流程如下:

步骤701:角色颁发实体生成角色资源创建请求,该角色资源创建请求中携带颁发给发起方实体的角色信息,该角色信息至少包括角色标识。

具体地,角色资源创建请求中携带的角色信息中除了包括角色标识外,还可能包括角色颁发者标识、角色有效起始时间、角色有效结束时间,可选地,还可能包括角色类型、角色可阅读名字以及角色所属的应用类别中的一种或多种。

步骤702:角色颁发实体向CSE发送角色资源创建请求,由该CSE根据该角色信息在该发起方实体对应的资源下创建角色资源,该角色资源为普通资源且存储有该发起方实体的角色信息。

其中,CSE保存有发起方实体对应的资源,若发起方实体对应的资源为注 册资源,则该CSE为注册响应CSE,若发起方实体对应的资源不是注册资源,则该CSE为任意一个保存有发起方实体对应的资源且能够在该资源下创建角色资源的实体。

较佳地,角色颁发实体向CSE发送角色资源创建请求之后,接收该CSE返回的角色资源创建响应,该角色资源创建响应用于指示是否成功创建角色资源。

实施中,若发起方实体对应的资源不是发起方实体的注册资源,则角色颁发实体将创建的角色资源的地址信息的指示信息发送给该发起方实体;以及将该发起方实体创建的角色资源的地址信息的指示信息发送给PDP实体和/或PIP实体。具体地,角色资源的地址信息的指示信息可以是角色资源的地址信息,或者是该角色资源的上一级资源的地址信息等,其中角色资源的上一级资源为发起方实体相关联的资源。

较佳地,角色颁发实体在CSE中发起方实体对应的资源下成功创建角色资源后,还可以对该角色资源进行修改,具体地,角色颁发实体生成角色资源修改请求,该角色资源修改请求中携带重新颁发给所述发起方实体的角色信息,向CSE发送该角色资源修改请求。

较佳地,角色颁发实体向CSE发送角色资源修改请求之后,接收CSE返回的角色资源修改响应,该角色资源修改响应用于指示是否成功修改角色资源。

以上实施例中,通过在发起方实体对应的资源下创建角色资源,并在角色资源中保存角色信息,使得PEP实体获取发起方实体的携带角色信息的资源访问请求后,通过PDP实体从该发起方实体对应的角色资源中查询角色信息,获得查询结果,PDP实体根据该查询结果以及资源访问请求中携带的角色信息,确定资源访问请求中携带的角色信息是否确实颁发给了该发起方实体,若确定颁发给了该发起方实体,则根据访问控制策略确定对该资源访问请求的决策结果,从而实现基于角色的访问控制。

基于以上技术方案,本发明实施例中,如图8所示,发起方实体获取颁发的角色信息的过程如下:

步骤801:发起方实体向CSE发送对发起方实体对应的资源下的角色资源的资源读取请求,该角色资源为普通资源且存储有所述发起方实体的角色信息。

其中,CSE保存有发起方实体对应的资源,若发起方实体对应的资源为注册资源,则该CSE为注册响应CSE,若发起方实体对应的资源不是注册资源,则该CSE为任意一个保存有发起方实体对应的资源且能够在该资源下创建角色资源的实体。

步骤802:发起方实体接收CSE返回的资源读取响应,该资源读取响应中携带该角色资源中保存的角色信息,该角色信息至少包括角色标识。

具体地,资源读取响应中携带的角色信息中除了包括角色标识外,还可能包括角色颁发者标识、角色有效起始时间、角色有效结束时间,可选地,还可能包括角色类型、角色可阅读名字以及角色所属的应用类别中的一种或多种。

该实施例中,发起方实体通过读取角色资源中保存的角色信息,获知颁发给自身的角色,从而能够在发起资源访问请求时携带颁发给自身的角色信息,使得PEP实体能够根据发起方实体对应的角色资源中保存的角色信息、该资源访问请求中携带的角色信息以及访问控制策略,实现基于基于角色的访问控制。

基于同一发明构思,本发明实施例中,如图9所示,PEP进行访问控制的详细方法流程如下:

步骤901:PEP实体获取发起方实体发送的资源访问请求,该资源访问请求中携带发起方实体的角色信息,该角色信息至少包括角色标识。

具体地,发起方实体的资源访问请求中携带需要访问的目标资源的地址信息。

较佳地,资源访问请求中携带的发起方实体的角色标识,为根据本次资源 访问所属的应用类别以及角色所属的应用类别确定。例如,若发起方实体本次资源访问所属的应用类别为智能交通应用,则该发起方实体从角色列表中查找与智能交通应用相对应的角色,在资源访问请求中携带该角色的角色标识。

步骤902:PEP实体根据该资源访问请求生成访问控制决策请求,该访问控制决策请求中携带该发起方实体的角色信息。

步骤903:PEP实体将该访问控制决策请求发送给PDP实体,由PDP实体根据角色信息查询发起方实体对应的角色资源获得查询结果,并由PDP实体根据该查询结果以及访问控制策略确定决策结果,该角色资源为普通资源且存储有发起方实体的角色信息,其中,访问控制策略与发起方实体需要访问的目标资源相关联。

步骤904:PEP实体获取PDP实体返回的访问控制决策应答,该访问控制决策应答中携带该决策结果。

步骤905:PEP实体根据该决策结果对发起方实体的资源访问请求进行访问控制。

基于同一发明构思,本发明实施例中,如图10所示,PDP进行访问控制的详细方法流程如下:

步骤1001:PDP实体接收PEP实体发送的访问控制决策请求,该访问控制决策请求中携带发起资源访问请求的发起方实体的角色信息,该角色信息至少包括角色标识;

步骤1002:PDP实体根据角色标识查询发起方实体对应的角色资源获得查询结果,根据查询结果以及访问控制策略确定决策结果,角色资源为普通资源且存储有所述发起方实体的角色信息。

在一个具体实施方式中,PDP实体向CSE发送对发起方实体的角色资源的查询请求,并获得该CSE返回的查询结果,查询请求中携带角色标识。其中,CSE保存有发起方实体对应的资源。

在另一个具体实施方式中,PDP实体向PIP实体发送访问控制属性请求, 该访问控制属性请求中携带发起方实体的角色标识,并接收PIP实体返回的访问控制属性响应,该访问控制属性响应中携带PIP实体根据该角色标识查询发起方实体对应的角色资源获得的查询结果。

具体地,PDP实体若确定查询结果中携带角色资源中保存的角色信息,且根据该角色信息确定该角色标识有效,根据访问控制策略以及角色标识确定决策结果。也就是说,若访问控制策略为允许发起发实体以该角色标识所指示的角色进行资源访问,确定决策结果为允许该发起方实体本次的资源访问;若访问控制策略为不允许发起发实体以该角色标识指示的角色进行资源访问,确定决策结果为不允许为发起方实体本次的资源访问。

具体地,PDP实体若确定查询结果为空,根据访问控制策略确定决策结果为不允许发起方实体的资源访问请求;或者,若确定查询结果中携带角色资源中保存的角色信息,且根据角色信息确定角色标识无效,根据访问控制策略确定决策结果为不允许发起方实体的资源访问请求。

其中,访问控制策略可以是PDP通过向PRP发送访问控制策略请求,获取PRP返回的访问控制策略响应,该访问控制策略响应中携带基于角色进行访问控制的访问控制策略。

步骤1003:PDP实体向PEP实体返回访问控制决策应答,该访问控制决策应答中携带决策结果。

基于同一发明构思,本发明实施例中,如图11所示,PIP进行访问控制的详细方法流程如下:

步骤1101:PIP接收PDP实体发送的访问控制属性请求,该访问控制属性请求中携带发起资源访问请求的发起方实体的角色信息,该角色信息至少包括角色标识。

步骤1102:PIP实体根据角色标识向CSE查询发起方实体对应的角色资源并获取查询结果,该角色资源为普通资源且存储有发起方实体的角色信息。

具体地,若CSE中的发起方实体对应的角色资源中保存有该角色标识对 应的角色信息,则将该角色信息作为查询结果返回给PIP;若CSE中的发起方实体对应的角色资源中未保存有该角色标识对应的角色信息,则向PIP返回的查询结果为空。其中,发起方实体对应的角色资源可以有多个,CSE根据角色标识分别查询发起方实体对应的每个角色资源,确定该角色标识对应的角色资源,将该角色资源中保存的角色信息以列表的形式返回给PIP。

步骤1103:PIP实体向PDP实体返回访问控制属性响应,该访问控制属性响应中携带查询结果。

以下通过两个具体实施例对本发明实施例所提供的角色颁发以及使用过程进行说明。

第一具体实施例,如图12所示,角色颁发及使用的详细过程为:

步骤1201:角色颁发实体向Registrar CSE中Originator的注册资源发送角色资源创建或维护请求,该请求中包含有创建或修改的roleID,issuer,startTime,expiryTime,roleType,roleName和appCategory等角色属性的值。

步骤1202:Registrar CSE接收到Role Authority发送的角色资源创建或维护请求后,检查与Originator的注册资源相关联的访问控制策略,判断Role Authority是否有权创建或维护<role>资源,若有权,根据角色资源创建或维护请求所提供的<role>资源属性值创建或维护所请求的<role>资源。

步骤1203:Registrar CSE向Role Authority返回角色资源创建或维护响应,以通知Role Authority是否创建或维护成功。

步骤1204:Originator向Registrar CSE中的Originator的注册资源发送对角色资源的资源读取请求,以便获取已颁发给该Originator的角色信息。

步骤1205:Registrar CSE向Originator返回资源读取响应,通过该资源读取响应将Originator所拥有的角色以角色信息列表的方式发送给Originator,角色信息包括roleID,issuer,startTime,expiryTime,roleType,roleName和appCategory等角色属性的值。

步骤1206:Originator利用当前资源访问所属的应用类别与角色所属的应 用类别进行比较,选择适用的角色,然后向Hosting CSE中的目标资源发送资源访问请求,该资源访问请求用于请求访问该目标资源,并将所选择的角色的角色信息附着在该请求中,所附着的角色信息至少应包含角色标识。

步骤1207:Hosting CSE中的PEP根据Originator发送的资源访问请求生成访问控制决策请求,访问控制决策请求中包含有Originator提供的角色信息,将该访问控制决策请求发送给PDP。

步骤1208:PDP接收到PEP发送的访问控制决策请求后,需要检查该访问控制决策请求中携带的角色标识所指示的角色是否确实颁发给了Originator。一个具体实现中,PDP可以通过PIP进行该检查,即由PIP向Registrar CSE发送角色资源查询请求,该角色资源查询请求中携带角色标识,以查询该Originator的注册资源中的<role>资源。另一个具体实现中,PDP直接向Registrar CSE发送角色资源查询请求,该角色资源查询请求中携带角色标识,以查询该Originator的注册资源中的<role>资源,进行该检查。以上两个具体实现中,查询请求中应至少包含角色标识,查询返回的查询结果可以是该<role>资源的全部信息,也可以是该<role>资源的部分信息,但返回的查询结果应使PDP能够判断该角色是否已经颁发给Originator且仍在有效期内。

步骤1209:Registrar CSE根据角色资源查询请求查询Originator的注册资源下的角色资源,通过角色资源查询响应将查询结果发送给PIP,由PIP发送给PDP;或者,Registrar CSE根据角色资源查询请求查询Originator的注册资源下的角色资源,通过角色资源查询响应将查询结果直接发送给PDP。

步骤1210:PDP接收到角色资源查询响应后,首先根据查询结果判断该角色是否确实颁发给该Originator且仍在有效期内,然后利用访问控制策略和Originator的角色信息评估PEP发送的访问控制决策请求。

步骤1211:PDP将评估结果通过访问控制决策应答发送PEP,该访问控制决策应答中携带评估结果。

步骤1212:PEP接收到访问控制决策应答后,根据评估结果确定是否允许 Originator的资源访问请求,若允许,则执行Originator的资源访问请求。

步骤1213:PEP向Originator返回资源访问响应,该资源访问响应中携带执行结果。

第二具体实施例,oneM2M应用服务提供商(oneM2M Application Service Provider)通过oneM2M服务商(oneM2M Service Provider)提供的平台读取存储在家庭网关(Home Gateway)中的数据。如图13所示为该具体实施所涉及的实体关系示意图,对所涉及的各实体描述如下:

CSE1:为oneM2M服务提供商(oneM2M Service Provider)基础设施节点(Infrastructure Node)中的CSE(称为IN-CSE)。

CSE2:为存在于一个家庭网关(Home Gateway)中的oneM2M应用服务节点(Application Service Node)中的CSE(称为ASN-CSE)。读取CSE2中的数据需要具有相应的数据收集角色(Data Collection Role),该角色的角色标识为roleID=ROLE1234;该假设读取CSE2中的数据所属的应用类别的应用类别编号为12,也即appCategory=12。

AE1:为注册至CSE1的AE,角色颁发实体通过AE1访问CSE1中的资源且具有在CSE1中创建<role>资源的特权。

AE2:为注册至CSE1的AE,oneM2M应用服务提供商(oneM2M Application Service Provider)通过AE2访问CSE2中的资源。

该具体实施例中,CSE1中相关的资源树如图14所示,其中:

<CSEBase>:为CSE1资源树的根节点。

<AE2>:为AE2成功注册至CSE1后的注册资源。

<role>:为AE1在<AE2>中创建的子资源,一个<role>子资源表示一个赋给AE2的角色,<role>子资源中描述了roleID,issuer,startTime,expiryTime,roleType,roleName和roleAppCategory等角色属性信息。

该具体实施例中,角色颁发及使用的预配置过程为:oneM2M应用服务提供商AE2注册至oneM2M服务提供商的IN-CSE(CSE1)中,并创建了<AE2> 资源。

该具体实施例中,如图15所示,角色颁发及使用的详细过程为:

步骤1501:角色颁发实体通过AE1向CSE1中的<AE2>资源发送角色资源创建请求,该角色资源创建请求中携带角色资源所需的属性信息,例如roleID=ROLE1234,issuer=AE1,startTime=2015.10.01,expiryTime=2016.10.01,roleType=0,roleName=数据收集角色(Data Collection Role),appCategory=12等。

步骤1502:CSE1验证AE1的访问权限,确定允许AE1创建<role>资源后,根据AE1提供的角色资源的属性信息在<AE2>资源下创建相关的<role>资源。

步骤1503:CSE1将向AE1返回角色资源创建响应,该角色资源创建响应用于告知AE1是否创建成功。

步骤1504:AE2向CSE1发送对<AE2>资源的<role>资源的资源读取请求。

步骤1505:CSE1向AE2返回资源读取响应,通过该资源读取响应将<AE2>资源下的角色资源中保存的角色信息以列表形式发送给AE2,其中角色信息中包含有roleID=ROLE1234的角色信息。

步骤1506:AE2向CSE2发送资源访问请求,该资源访问请求中携带有roleID=ROLE1234的角色信息。

步骤1507:CSE2中的PEP根据AE2发送的资源访问请求生成访问控制决策请求,其中包含有AE2提供的角色信息,将该访问控制决策请求发送给PDP。

步骤1508:PDP接收到PEP发送的访问控制决策请求后,从PRP获取到与该访问控制决策请求相关联的访问控制策略,并利用roleID=ROLE1234作为查询条件向CSE1发送对<AE2>的角色资源查询请求,以从CSE1中的<AE2>读取AE2的角色信息。

步骤1509:CSE1利用roleID=RBAC1234作为查询条件在<AE2>资源下检索到该roleID对应的角色资源,并向PDP返回角色资源查询响应,该角色 资源查询响应中携带检索到的角色资源中保存的角色信息。

步骤1510:PDP根据查询到的角色信息,利用该角色信息中的角色标识和角色有效起始/终止时间等判断该角色是否颁发给AE2且仍在有效期内,若是,则利用访问控制策略和AE2的角色信息评估PEP发送的访问控制决策请求。因为roleID=ROLE1234具有数据的读取权限,所以访问控制策略的评估结果是“同意AE2的资源访问”或“不同意AE2的资源访问”,该具体实施例中假设评估结果为同意AE2的资源访问。

步骤1511:PDP将评估结果通过访问控制决策响应发送给PEP。

步骤1512:PEP根据评估结果确定AE2的资源访问请求被允许,则执行AE2的资源访问请求,读取请求访问的目标资源。

步骤1513:PEP将执行结果通过资源访问响应发送给AE2。

基于同一发明构思,本发明实施例中提供了一种CSE,该CSE可以是保存有发起方实体对应的资源的任意一个CSE,例如,可以是保存有发起方实体的注册资源的注册响应CSE,该CSE的具体实施可参见上述方法实施例部分的描述,重复之处不再赘述,如图16所示,该CSE主要包括:

接收模块1601,用于接收角色颁发实体发送的角色资源创建请求,所述角色资源创建请求中携带颁发给发起方实体的角色信息,所述角色信息至少包括角色标识;

处理模块1602,用于根据所述角色信息在所述发起方实体对应的资源下创建角色资源,所述角色资源为普通资源且存储有所述角色信息。

较佳地,所述接收模块1601还用于:

在所述处理模块根据所述角色信息在所述发起方实体对应的资源下创建角色资源后,接收所述角色颁发实体发送的角色资源修改请求,所述角色资源修改请求中携带重新颁发给所述发起方实体的角色信息;

所述处理模块还用于:

根据重新颁发的所述角色信息修改所述角色资源中保存的角色信息。

较佳地,所述接收模块还用于:

接收所述发起方实体对所述角色资源的资源读取请求;

还包括第一发送模块1603,用于:

向所述发起方实体返回资源读取响应,所述资源读取响应中携带所述角色信息。

较佳地,还包括第二发送模块1604,用于:

在所述处理模块根据所述角色信息在所述发起方实体对应的资源下创建角色资源后,向所述角色颁发实体返回角色资源创建响应。

较佳地,还包括第三发送模块1605,用于:

在所述处理模块根据重新颁发的所述角色信息修改所述角色资源中保存的角色信息后,向所述角色颁发实体返回角色资源修改响应。

较佳地,所述处理模块还用于:

根据所述角色信息在所述发起方实体对应的资源下创建角色资源之前,根据所述发起方实体对应的资源的访问控制策略,确定允许所述角色颁发实体创建所述角色资源。

较佳地,所述处理模块还用于:

根据重新颁发的所述角色信息修改所述角色资源中保存的角色信息之前,根据所述发起方实体对应的资源的访问控制策略,确定允许所述角色颁发实体修改所述角色资源。

基于同一发明构思,本发明实施例中还提供了一种角色颁发实体,该角色颁发实体的具体实施可参见上述方法实施例部分的描述,重复之处不再赘述,如图17所示,该实体主要包括:

处理模块1701,用于生成角色资源创建请求,所述角色资源创建请求中携带颁发给发起方实体的角色信息,所述角色信息至少包括角色标识;

发送模块1702,用于向公共服务实体CSE发送所述角色资源创建请求,由所述CSE根据所述角色信息在所述发起方实体对应的资源下创建角色资源, 所述角色资源为普通资源且存储有所述发起方实体的角色信息。

较佳地,还包括第一接收模块1703,用于:

接收所述CSE返回的角色资源创建响应。

较佳地,所述发送模块还用于:

将所述角色资源的地址信息的指示信息发送给所述发起方实体,以及将所述角色资源的地址信息的指示信息发送给所述策略决策点PDP实体和/或策略信息点PIP实体。

较佳地,所述处理模块还用于:

生成角色资源修改请求,所述角色资源修改请求中携带重新颁发给所述发起方实体的角色信息;

所述发送模块还用于:

向所述CSE发送所述角色资源修改请求。

较佳地,还包括第二接收模块1704,用于:

接收所述CSE返回的角色资源修改响应。

基于同一发明构思,本发明实施例中还提供了一种发起方实体,该发起方实体的具体实施可参见上述方法实施例部分的描述,重复之处不再赘述,如图18所示,该发起方实体主要包括:

发送模块1801,用于向公共服务实体CSE发送对发起方实体对应的资源下的角色资源的资源读取请求,所述角色资源为普通资源且存储有所述发起方实体的角色信息;

接收模块1802,用于接收所述CSE返回的资源读取响应,所述资源读取响应中携带所述角色资源中保存的角色信息,所述角色信息至少包括角色标识。

实施中,所述发起方实体为应用实体或公共服务实体。

基于同一发明构思,本发明实施例中还提供了一种PEP实体,该PEP实体的具体实施可参见上述方法实施例部分的描述,重复之处不再赘述,如图19 所示,该PEP实体主要包括:

第一获取模块1901,用于获取发起方实体发送的资源访问请求,所述资源访问请求中携带所述发起方实体的角色信息,所述角色信息至少包括角色标识;

生成模块1902,用于根据所述获取模块获取的所述资源访问请求生成访问控制决策请求,所述访问控制决策请求中携带所述发起方实体的角色信息;

发送模块1903,用于将所述访问控制决策请求发送给策略决策点PDP实体,由所述PDP实体根据所述角色信息查询所述发起方实体对应的角色资源获得查询结果,并由所述PDP实体根据所述查询结果以及访问控制策略确定决策结果,所述角色资源为普通资源且存储有所述发起方实体的角色信息;

第二获取模块1904,用于获取所述PDP实体返回的访问控制决策应答,所述访问控制决策应答中携带所述决策结果;

访问控制模块1905,用于根据所述决策结果对所述发起方实体的资源访问请求进行访问控制。

实施中,PEP实体位于资源访问请求所请求访问的目标资源所在的CSE中。

基于同一发明构思,本发明实施例中还提供了一种PDP实体,该PDP实体的具体实施可参见上述方法实施例部分的描述,重复之处不再赘述,如图20所示,该PDP实体主要包括:

接收模块2001,用于接收策略执行点PEP实体发送的访问控制决策请求,所述访问控制决策请求中携带发起资源访问请求的发起方实体的角色信息,所述角色信息至少包括角色标识;

处理模块2002,用于根据所述角色标识查询所述发起方实体对应的角色资源获得查询结果,根据所述查询结果以及访问控制策略确定决策结果,所述角色资源为普通资源且存储有所述发起方实体的角色信息;

发送模块2003,用于向所述PEP实体返回访问控制决策应答,所述访问 控制决策应答中携带所述决策结果。

较佳地,所述处理模块具体用于:

通过所述发送模块向公共服务实体CSE发送对所述发起方实体的角色资源的查询请求,并通过所述接收模块获得所述CSE返回的查询结果,所述查询请求中携带所述角色标识;

或者,

通过所述发送模块向策略信息点PIP实体发送访问控制属性请求,所述访问控制属性请求中携带所述发起方实体的角色标识,并通过所述接收模块接收所述PIP实体返回的访问控制属性响应,所述访问控制属性响应中携带所述PIP实体根据所述角色标识查询所述发起方实体对应的角色资源获得的查询结果。

较佳地,所述处理模块具体用于:

若确定所述查询结果中携带所述角色资源中保存的角色信息,且根据所述角色信息确定所述角色标识有效,根据所述访问控制策略以及所述角色标识确定决策结果;

若确定所述查询结果为空,根据所述访问控制策略确定决策结果为不允许所述发起方实体的资源访问请求;或者,若确定所述查询结果中携带所述角色资源中保存的角色信息,且根据所述角色信息确定所述角色标识无效,根据所述访问控制策略确定决策结果为不允许所述发起方实体的资源访问请求。

基于同一发明构思,本发明实施例中还提供了一种PIP实体,该PIP实体的具体实施可参见上述方法实施例部分的描述,如图21所示,该PIP实体主要包括:

接收模块2101,用于接收策略决策点PDP实体发送的访问控制属性请求,所述访问控制属性请求中携带发起资源访问请求的发起方实体的角色信息,所述角色信息至少包括角色标识;

处理模块2102,用于根据所述角色标识向公共服务实体CSE查询所述发起方实体对应的角色资源并获取查询结果,所述角色资源为普通资源且存储有 所述发起方实体的角色信息;

发送模块2103,用于向所述PDP实体返回访问控制属性响应,所述访问控制属性响应中携带所述查询结果。

基于同一发明构思,本发明实施例中提供了一种CSE,该CSE可以是保存有发起方实体对应的资源的任意一个CSE,也可以是保存有发起方实体的注册资源的注册响应CSE,该CSE的具体实施可参见上述方法实施例部分的描述,重复之处不再赘述,如图22所示,该CSE主要包括处理器2201、存储器2202和收发机2203,其中,收发机2203用于在处理器2201的控制下接收和发送数据,存储器2202中保存有预设的程序,处理器2201读取存储器2202中保存的程序,按照该程序执行以下过程:

通过收发机2203接收角色颁发实体发送的角色资源创建请求,所述角色资源创建请求中携带颁发给发起方实体的角色信息,所述角色信息至少包括角色标识;

根据所述角色信息在所述发起方实体对应的资源下创建角色资源,所述角色资源为普通资源且存储有所述角色信息。

较佳地,处理器2201根据所述角色信息在所述发起方实体对应的资源下创建角色资源后,通过收发机2203向所述角色颁发实体返回角色资源创建响应。

较佳地,处理器2201根据所述角色信息在所述发起方实体对应的资源下创建角色资源后,通过收发机2203接收所述角色颁发实体发送的角色资源修改请求,所述角色资源修改请求中携带重新颁发给所述发起方实体的角色信息;

处理器2201根据重新颁发的所述角色信息修改所述角色资源中保存的角色信息。

较佳地,处理器2201在根据重新颁发的所述角色信息修改所述角色资源中保存的角色信息后,通过收发机2203向所述角色颁发实体返回角色资源修 改响应。

较佳地,处理器2201通过收发机2203接收所述发起方实体对所述角色资源的资源读取请求;通过收发机2203向所述发起方实体返回资源读取响应,所述资源读取响应中携带所述角色信息。

较佳地,处理器2201根据所述角色信息在所述发起方实体对应的资源下创建角色资源之前,根据所述发起方实体对应的资源的访问控制策略,确定允许所述角色颁发实体创建所述角色资源。

较佳地,处理器2201根据重新颁发的所述角色信息修改所述角色资源中保存的角色信息之前,根据所述发起方实体对应的资源的访问控制策略,确定允许所述角色颁发实体修改所述角色资源。

基于同一发明构思,本发明实施例中还提供了一种角色颁发实体,该角色颁发实体的具体实施可参见上述方法实施例部分的描述,重复之处不再赘述,如图23所示,该角色颁发实体主要包括处理器2301、存储器2302和收发机2303,其中,收发机2303用于在处理器2301的控制下接收和发送数据,存储器2302中保存有预设的程序,处理器2301读取存储器2302中保存的程序,按照该程序执行以下过程:

生成角色资源创建请求,所述角色资源创建请求中携带颁发给发起方实体的角色信息,所述角色信息至少包括角色标识;

通过收发机2303向公共服务实体CSE发送所述角色资源创建请求,由所述CSE根据所述角色信息在所述发起方实体对应的资源下创建角色资源,所述角色资源为普通资源且存储有所述发起方实体的角色信息。

较佳地,处理器2301通过收发机2303接收所述CSE返回的角色资源创建响应。

较佳地,处理器2301通过收发机2303将所述角色资源的地址信息的指示信息发送给所述发起方实体,以及将所述角色资源的地址信息的指示信息发送给所述策略决策点PDP实体和/或策略信息点PIP实体。

较佳地,处理器2301生成角色资源修改请求,所述角色资源修改请求中携带重新颁发给所述发起方实体的角色信息;通过收发机2303向所述CSE发送所述角色资源修改请求。

较佳地,处理器2301通过收发机2303接收所述CSE返回的角色资源修改响应。

基于同一发明构思,本发明实施例中还提供了一种发起方实体,该发起方实体的具体实施可参见上述方法实施例部分的描述,重复之处不再赘述,如图24所示,该发起方实体主要包括处理器2401、存储器2402和收发机2403,其中,收发机2403用于在处理器2401的控制下接收和发送数据,存储器2402中保存有预设的程序,处理器2401读取存储器2402中保存的程序,按照该程序执行以下过程:

通过收发机2403向公共服务实体CSE发送对发起方实体对应的资源下的角色资源的资源读取请求,所述角色资源为普通资源且存储有所述发起方实体的角色信息;

通过收发机2403接收所述CSE返回的资源读取响应,所述资源读取响应中携带所述角色资源中保存的角色信息,所述角色信息至少包括角色标识。

实施中,所述发起方实体为应用实体或公共服务实体。

基于同一发明构思,本发明实施例中还提供了一种PEP实体,该PEP实体的具体实施可参见上述方法实施例部分的描述,重复之处不再赘述,如图25所示,该PEP实体主要包括处理器2501、存储器2502和收发机2503,其中,收发机2503用于在处理器2501的控制下接收和发送数据,存储器2502中保存有预设的程序,处理器2501读取存储器2502中保存的程序,按照该程序执行以下过程:

通过收发机2503获取发起方实体发送的资源访问请求,所述资源访问请求中携带所述发起方实体的角色信息,所述角色信息至少包括角色标识;

根据所述资源访问请求生成访问控制决策请求,所述访问控制决策请求中 携带所述发起方实体的角色信息;

通过收发机2503将所述访问控制决策请求发送给策略决策点PDP实体,由所述PDP实体根据所述角色信息查询所述发起方实体对应的角色资源获得查询结果,并由所述PDP实体根据所述查询结果以及访问控制策略确定决策结果,所述角色资源为普通资源且存储有所述发起方实体的角色信息;

通过收发机2503获取所述PDP实体返回的访问控制决策应答,所述访问控制决策应答中携带所述决策结果;

根据所述决策结果对所述发起方实体的资源访问请求进行访问控制。

实施中,PEP实体位于资源访问请求所请求访问的目标资源所在的CSE中。

基于同一发明构思,本发明实施例中还提供了一种PDP实体,该PDP实体的具体实施可参见上述方法实施例部分的描述,重复之处不再赘述,如图26所示,该PDP实体主要包括处理器2601、存储器2602和收发机2603,其中,收发机2603用于在处理器2601的控制下接收和发送数据,存储器2602中保存有预设的程序,处理器2601读取存储器2602中保存的程序,按照该程序执行以下过程:

通过收发机2603接收策略执行点PEP实体发送的访问控制决策请求,所述访问控制决策请求中携带发起资源访问请求的发起方实体的角色信息,所述角色信息至少包括角色标识;

根据所述角色标识查询所述发起方实体对应的角色资源获得查询结果,根据所述查询结果以及访问控制策略确定决策结果,所述角色资源为普通资源且存储有所述发起方实体的角色信息;

通过收发机2603向所述PEP实体返回访问控制决策应答,所述访问控制决策应答中携带所述决策结果。

较佳地,处理器2601通过收发机2603向公共服务实体CSE发送对所述发起方实体的角色资源的查询请求,并通过收发机2603获得所述CSE返回的 查询结果,所述查询请求中携带所述角色标识;

或者,

通过收发机2603向策略信息点PIP实体发送访问控制属性请求,所述访问控制属性请求中携带所述发起方实体的角色标识,并通过收发机2603接收所述PIP实体返回的访问控制属性响应,所述访问控制属性响应中携带所述PIP实体根据所述角色标识查询所述发起方实体对应的角色资源获得的查询结果。

较佳地,处理器2601若确定所述查询结果中携带所述角色资源中保存的角色信息,且根据所述角色信息确定所述角色标识有效,根据所述访问控制策略以及所述角色标识确定决策结果;

若确定所述查询结果为空,根据所述访问控制策略确定决策结果为不允许所述发起方实体的资源访问请求;或者,若确定所述查询结果中携带所述角色资源中保存的角色信息,且根据所述角色信息确定所述角色标识无效,根据所述访问控制策略确定决策结果为不允许所述发起方实体的资源访问请求。

基于同一发明构思,本发明实施例中还提供了一种PIP实体,该PIP实体的具体实施可参见上述方法实施例部分的描述,如图27所示,该PIP实体主要包括处理器2701、存储器2702和收发机2703,其中,收发机2703用于在处理器2701的控制下接收和发送数据,存储器2702中保存有预设的程序,处理器2701读取存储器2702中保存的程序,按照该程序执行以下过程:

通过收发机2703接收策略决策点PDP实体发送的访问控制属性请求,所述访问控制属性请求中携带发起资源访问请求的发起方实体的角色信息,所述角色信息至少包括角色标识;

根据所述角色标识向公共服务实体CSE查询所述发起方实体对应的角色资源并获取查询结果,所述角色资源为普通资源且存储有所述发起方实体的角色信息;

通过收发机2703向所述PDP实体返回访问控制属性响应,所述访问控制属性响应中携带所述查询结果。

其中,图22至图27所对应的实施例中,总线架构可以包括任意数量的互联的总线和桥,具体由处理器代表的一个或多个处理器和存储器代表的存储器的各种电路链接在一起。总线架构还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口提供接口。收发机可以是多个元件,即包括发送机和收发机,提供用于在传输介质上与各种其他装置通信的单元。处理器负责管理总线架构和通常的处理,存储器可以存储处理器在执行操作时所使用的数据。

基于上述技术方案,本发明实施例中,通过在发起方实体对应的资源下创建角色资源,该角色资源为普通资源且用于保存角色信息,该角色信息至少包括角色标识,从而能够通过对该角色资源的操作获取该角色资源中保存的角色信息,基于获取的角色信息在oneM2M中实现基于角色的访问控制。

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中 的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

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