CN106358246A - 一种访问令牌颁发方法及相关设备 - Google Patents
一种访问令牌颁发方法及相关设备 Download PDFInfo
- Publication number
- CN106358246A CN106358246A CN201510419740.3A CN201510419740A CN106358246A CN 106358246 A CN106358246 A CN 106358246A CN 201510419740 A CN201510419740 A CN 201510419740A CN 106358246 A CN106358246 A CN 106358246A
- Authority
- CN
- China
- Prior art keywords
- access token
- resource
- entity
- token
- attribute
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W28/00—Network traffic management; Network resource management
- H04W28/16—Central resource management; Negotiation of resources or communication parameters, e.g. negotiating bandwidth or QoS [Quality of Service]
Landscapes
- Engineering & Computer Science (AREA)
- Quality & Reliability (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种访问令牌颁发方法及相关设备,用以给出oneM2M系统中具体的授权机制。该方法为:接收发起实体发送的对访问令牌根资源下的访问令牌签发资源的访问令牌资源创建请求,所述访问令牌资源创建请求中携带所述发起实体的标识和请求的访问令牌的权限描述信息;根据访问令牌授权策略和所述权限描述信息,为所述发起实体生成访问令牌,访问令牌中至少携带授权信息,在访问令牌根资源下创建生成的访问令牌的访问令牌资源;将访问令牌或者访问令牌资源的地址信息发送给所述发起实体;访问令牌根资源为CSE根资源下的普通资源,访问令牌签发资源为访问令牌根资源下的虚拟资源,访问令牌资源为访问令牌根资源下的普通资源。
Description
技术领域
本发明涉及通信技术领域,尤其涉及一种访问令牌颁发方法及相关设备。
背景技术
物联网标准化组织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分别代表一个资源<accessControlPolice>。对于oneM2M资源可进行创建(Create,简称C)、查询(Retrieve,简称R)、修改(Update,简称U)和删除(Delete,简称D)等操作。
oneM2M定义的资源中与授权相关的资源为访问控制策略资源<accessControlPolicy>,其中定义有访问控制策略(Access Control Policy,ACP),<accessControlPolicy>资源由资源身份标识(ID)唯一标识。其他资源通过资源中的accessControlPolicyIDs属性指定适用的访问控制策略。
oneM2M系统中服务签约信息存储在<m2mServiceSubscriptionProfile>资源中,该资源的serviceRoles属性保存有可签约的服务角色ID(Service Role ID)列表,AE通过获取可签约的服务角色而获得相应的签约服务,也就是拥有管理<m2mServiceSubscriptionProfile>资源中<serviceSubscribedNode>子资源中所描述的M2M节点(M2M Node)的权限。
oneM2M定义有三种资源类型:
普通资源(Normal Resource),具有具体的资源结构以及资源属性;
虚拟资源(Virtual Resource),不具有具体的资源结构以及资源属性,主要用于触发特定的处理过程;
公布资源(Announced Resource),具有具体的资源结构及资源属性,该资源为其他实体上普通资源中某些内容的复制,主要目的是为资源发现提供便利。
目前,oneM2M系统中仅给出了服务签约信息以及授权相关的资源,并没有给出具体的授权机制。
发明内容
本发明实施例提供一种访问令牌颁发方法及相关设备,用以给出oneM2M系统中具体的授权机制。
本发明实施例提供的具体技术方案如下:
第一方面,提供了一种访问令牌颁发方法,包括:
接收发起实体发送的对访问令牌根资源下的访问令牌签发资源的访问令牌资源创建请求,所述访问令牌资源创建请求中携带所述发起实体的标识和请求的访问令牌的权限描述信息;
根据访问令牌授权策略和所述权限描述信息,为所述发起实体生成访问令牌,所述访问令牌中至少携带授权信息,在所述访问令牌根资源下创建生成的访问令牌的访问令牌资源,所述访问令牌资源中保存有所述访问令牌;
将所述访问令牌或者所述访问令牌资源的地址信息发送给所述发起实体;
其中,所述访问令牌根资源为公共服务实体CSE根资源下的普通资源,所述访问令牌签发资源为所述访问令牌根资源下的虚拟资源,所述访问令牌资源为所述访问令牌根资源下的普通资源。
实施中,所述访问令牌根资源具有普通资源的通用属性以及指定访问控制策略的公共属性,所述公共属性所指定的访问控制策略指示允许访问所述访问令牌根资源及所述访问令牌根资源下的虚拟资源的实体。
实施中,接收发起实体发送的对访问令牌根资源下的访问令牌签发资源的访问令牌资源创建请求之后,为所述发起实体生成访问令牌之前,所述方法还包括:
根据所述访问令牌根资源的指定访问控制策略的公共属性,确定允许所述发起实体访问所述访问令牌根资源下的虚拟资源。
实施中,所述访问令牌资源具有普通资源的通用属性以及超期时间属性、签发者属性、持有者属性和令牌属性,所述超期时间属性用于指定所述访问令牌资源的有效期,所述签发者属性用于指示生成所述访问令牌的实体,所述持有者属性用于指示请求并获得所述访问令牌的实体,所述令牌属性用于存储所述访问令牌。
实施中,根据访问令牌授权策略和所述权限描述信息,为所述发起实体生成访问令牌之前,所述方法还包括:
从访问令牌授权策略实体获取所述访问令牌授权策略。
实施中,所述访问令牌中还携带认证信息,所述认证信息包括生成所述访问令牌的实体标识、所述发起实体的标识和超期时间;
所述访问令牌的授权信息包括所述发起实体的服务角色和/或访问控制策略。
实施中,根据访问令牌授权策略和所述权限描述信息,为所述发起实体生成访问令牌,包括:
根据所述访问令牌授权策略和所述权限描述信息,生成访问令牌明文;
将生成的所述访问令牌明文发送给安全功能实体,由所述安全功能实体对所述访问令牌明文进行数字签名和/或加密后得到所述访问令牌并返回;
接收所述安全功能实体返回的所述访问令牌。
第二方面,提供了一种访问令牌颁发方法,包括:
向授权实体发送对访问令牌根资源下的访问令牌签发资源的访问令牌资源创建请求,所述访问令牌资源创建请求中携带发起实体的标识和请求的访问令牌的权限描述信息;
接收所述授权实体返回的访问令牌,或者接收所述授权实体在所述访问令牌根资源下创建的访问令牌资源的地址信息,所述访问令牌资源中保存有访问令牌,所述访问令牌中至少携带授权信息;
其中,所述访问令牌根资源为公共服务实体CSE根资源下普通资源,所述访问令牌签发资源为所述访问令牌根资源下的虚拟资源,所述访问令牌资源为所述访问令牌根资源下的普通资源。
实施中,所述访问令牌根资源具有普通资源的通用属性以及指定访问控制策略的公共属性,所述公共属性所指定的访问控制策略指示允许访问所述访问令牌根资源及所述访问令牌根资源下的虚拟资源的实体。
实施中,所述访问令牌资源具有普通资源的通用属性以及超期时间属性、签发者属性、持有者属性和令牌属性,所述超期时间属性用于指定所述访问令牌资源的有效期,所述签发者属性用于指示生成所述访问令牌的实体,所述持有者属性用于指示请求并获得所述访问令牌的实体,所述令牌属性用于存储所述访问令牌。
实施中,接收所述授权实体在所述访问令牌根资源下创建的访问令牌资源的地址信息后,所述方法还包括:
根据所述地址信息获取所述访问令牌。
实施中,所述访问令牌中还携带认证信息,所述认证信息包括生成所述访问令牌的实体标识、请求并持有所述访问令牌的实体标识和超期时间;
所述访问令牌的授权信息包括所述发起实体的服务角色和/或访问控制策略。
实施中,所述方法还包括:
发送资源访问请求,所述资源访问请求中携带所述访问令牌。
第三方面,提供了一种授权实体,包括:
接收模块,用于接收发起实体发送的对访问令牌根资源下的访问令牌签发资源的访问令牌资源创建请求,所述访问令牌资源创建请求中携带所述发起实体的标识和请求的访问令牌的权限描述信息;
处理模块,用于根据访问令牌授权策略和所述权限描述信息,为所述发起实体生成访问令牌,所述访问令牌中至少携带授权信息,在所述访问令牌根资源下创建生成的访问令牌的访问令牌资源,所述访问令牌资源中保存有所述访问令牌;
发送模块,用于将所述访问令牌或者所述访问令牌资源的地址信息发送给所述发起实体;
其中,所述访问令牌根资源为公共服务实体CSE根资源下的普通资源,所述访问令牌签发资源为所述访问令牌根资源下的虚拟资源,所述访问令牌资源为所述访问令牌根资源下的普通资源。
实施中,所述访问令牌根资源具有普通资源的通用属性以及指定访问控制策略的公共属性,所述公共属性所指定的访问控制策略指示允许访问所述访问令牌根资源及所述访问令牌根资源下的虚拟资源的实体。
实施中,所述处理模块还用于:
为所述发起实体生成访问令牌之前,根据所述访问令牌根资源的指定访问控制策略的公共属性,确定允许所述发起实体访问所述访问令牌根资源下的虚拟资源。
实施中,所述访问令牌资源具有普通资源的通用属性以及超期时间属性、签发者属性、持有者属性和令牌属性,所述超期时间属性用于指定所述访问令牌资源的有效期,所述签发者属性用于指示生成所述访问令牌的实体,所述持有者属性用于指示请求并获得所述访问令牌的实体,所述令牌属性用于存储所述访问令牌。
实施中,所述处理模块还用于:从访问令牌授权策略实体获取所述访问令牌授权策略。
实施中,所述访问令牌中还携带认证信息,所述认证信息包括生成所述访问令牌的实体标识、所述发起实体的标识和超期时间;
所述访问令牌的授权信息包括所述发起实体的服务角色和/或访问控制策略。
实施中,所述处理模块具体用于:
根据所述访问令牌授权策略和所述权限描述信息,生成访问令牌明文;
所述发送模块还用于:
将生成的所述访问令牌明文发送给安全功能实体,由所述安全功能实体对所述访问令牌明文进行数字签名和/或加密后得到所述访问令牌并返回;
所述接收模块还用于:
接收所述安全功能实体返回的所述访问令牌。
第四方面,提供了一种发起实体,包括:
发送模块,用于向授权实体发送对访问令牌根资源下的访问令牌签发资源的访问令牌资源创建请求,所述访问令牌资源创建请求中携带发起实体的标识和请求的访问令牌的权限描述信息;
接收模块,用于接收所述授权实体返回的访问令牌,或者接收所述授权实体在所述访问令牌根资源下创建的访问令牌资源的地址信息,所述访问令牌资源中保存有访问令牌,所述访问令牌中至少携带授权信息;
其中,所述访问令牌根资源为公共服务实体CSE根资源下普通资源,所述访问令牌签发资源为所述访问令牌根资源下的虚拟资源,所述访问令牌资源为所述访问令牌根资源下的普通资源。
实施中,所述访问令牌根资源具有普通资源的通用属性以及指定访问控制策略的公共属性,所述公共属性所指定的访问控制策略指示允许访问所述访问令牌根资源及所述访问令牌根资源下的虚拟资源的实体。
实施中,所述访问令牌资源具有普通资源的通用属性以及超期时间属性、签发者属性、持有者属性和令牌属性,所述超期时间属性用于指定所述访问令牌资源的有效期,所述签发者属性用于指示生成所述访问令牌的实体,所述持有者属性用于指示请求并获得所述访问令牌的实体,所述令牌属性用于存储所述访问令牌。
实施中,还包括获取模块用于:
在所述接收模块接收所述授权实体在所述访问令牌根资源下创建的访问令牌资源的地址信息后,根据所述地址信息获取所述访问令牌。
实施中,所述访问令牌中还携带认证信息,所述认证信息包括生成所述访问令牌的实体标识、请求并持有所述访问令牌的实体标识和超期时间;
所述访问令牌的授权信息包括所述发起实体的服务角色和/或访问控制策略。
实施中,所述发送模块还用于:
发送资源访问请求,所述资源访问请求中携带所述访问令牌。
基于上述技术方案,本发明实施例中,通过在CSE根资源下定义资源类型为普通资源的访问令牌根资源,在访问令牌根资源下定义资源类型为虚拟资源的访问令牌签发资源,以及在访问令牌根资源下定义资源类型为普通资源的访问令牌资源,且定义对访问令牌签发资源的访问令牌资源创建操作触发一个访问令牌颁发过程,从而使得接收到发起实体对访问令牌根资源下的访问令牌签发资源的访问令牌资源创建请求,触发访问令牌颁发过程,根据访问令牌授权策略和所述权限描述信息,为所述发起实体生成访问令牌,并创建访问令牌资源,在oneM2M系统中实现了通过访问令牌进行授权的机制。
附图说明
图1为oneM2M功能架构示意图;
图2为oneM2M资源树的结构示意图;
图3为本发明实施例中定义的三种资源的关系示意图;
图4为本发明实施例中<accessToken>资源的基本结构示意图;
图5为本发明实施例中授权实体颁发访问令牌的过程示意图;
图6为本发明实施例中发起实体请求访问令牌的过程示意图;
图7为本发明实施例中托管实体使用访问令牌的过程示意图;
图8为本发明实施例中访问令牌颁发和使用的基本过程示意图;
图9为本发明实施例中访问令牌颁发以及使用的具体实施过程示意图;
图10为本发明实施例中访问令牌颁发以及使用的另一具体实施过程示意图;
图11为本发明实施例中授权实体的结构示意图;
图12为本发明实施例中另一授权实体的结构示意图;
图13为本发明实施例中发起实体的结构示意图;
图14为本发明实施例中另一发起实体的结构示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
本发明实施例中,定义了三种oneM2M资源,以实现颁发授权访问令牌(Access Token)。
定义的三种oneM2M资源分别为:访问令牌根资源<accessTokens>、访问令牌签发资源<accessTokenIssuing>和访问令牌资源<accessToken>,三者之间的关系如图3所示。
其中,<accessTokens>资源定义为CSE根资源<CSEBase>下的子资源,资源类型为oneM2M普通资源,<CSEBase>资源下可以有0个或多个<accessTokens>资源。
<accessTokens>资源除拥有oneM2M普通资源所包含的通用属性(Universal Attribute)外,还具有指定访问控制策略的公共属性(CommonAttribute):accessControlPolicyIDs,对<accessTokens>资源下的虚拟资源的访问控制由该公共属性确定,即该公共属性所指定的访问控制策略中定义了允许访问该<accessTokens>资源及其下的虚拟资源的AE实体和CSE实体。
其中,<accessTokenIssuing>资源为<accessTokens>资源下的子资源,一个<accessTokens>资源下有一个<accessTokenIssuing>资源。<accessTokenIssuing>资源的资源类型为oneM2M虚拟资源,因此没有资源属性,也没有子资源。oneM2M虚拟资源主要用来触发一个处理过程,一个针对<accessTokenIssuing>资源的创建请求(Create Request)将触发一个访问令牌颁发过程。
<accessTokenIssuing>资源的访问控制由其父资源<accessTokens>的accessControlPolicyIDs属性指定的访问控制策略确定,accessControlPolicyIDs属性规定了可以访问<accessTokenIssuing>资源的AE实体和CSE实体,即申请访问令牌。
其中,<accessToken>资源为<accessTokens>资源下的子资源,一个<accessTokens>资源下可以包含0个或多个<accessToken>资源。每个<accessToken>表示一个授权实体所颁发的访问令牌(Access Token),其资源类型为oneM2M普通资源(Normal Resource)。
<accessToken>的基本结构如图4所示,<accessToken>资源除了包含oneM2M普通资源所共有的通用属性(Universal Attribute)外,还包含有公共属性(Common Attribute):超期时间(expirationTime),还包括新定义的3个资源属性。expirationTime指定该资源的有效期,其与访问令牌的有效期相同。3个新定义的资源属性为:
issuer:访问令牌的签发者,具体为生成该访问令牌的CSE标识(CSE-ID)。
holder:访问令牌的持有者,具体为请求并持有该访问令牌的AE标识(AE-ID)或CES标识(CSE-ID)。
token:存储所颁发的访问令牌。
本发明实施例中定义如下:
发起实体(Originator Entity):为oneM2M系统中访问令牌的拥有者,具体为oneM2M系统中需要对托管实体中的资源进行访问的AE实体或CSE实体;
授权实体(Authority Entity):为oneM2M系统中访问令牌的颁发者,具体为oneM2M系统中具有访问令牌颁发能力的CSE实体;
托管实体(Hosting Entity):为oneM2M系统中访问令牌的使用者,具体为oneM2M系统中提供资源访问的CSE实体,其根据访问令牌中描述的访问权限为发起实体提供资源访问服务;
访问令牌授权策略实体(Access Token Authorization Policy Entity):为授权实体提供访问令牌授权策略,该访问令牌授权策略用于确定写入访问令牌的权限;
安全功能实体(Security Function Entity):可对访问令牌明文进行数字签名和/或加密以生成访问令牌,或对访问令牌进行解密和/或验证数字签名以获得访问令牌明文。
本发明实施例中的访问令牌定义为:用于携带应用于oneM2M环境中的授权信息,主要包括服务角色和/或访问控制策略。访问令牌中携带的服务角色用于基于角色的访问控制(Role Based Access Control,RBAC);还用于携带认证信息,所述认证信息包括生成所述访问令牌的CSE标识(即签发者标识)、请求并持有访问令牌的实体标识(将持有者标识)和超期时间。
若访问令牌的授权信息中仅携带角色,托管实体利用访问令牌中携带的角色和托管实体本地存储的基于角色的访问控制策略评估发起实体的资源访问请求,以确定是否同意发起实体的资源访问请求。
若访问令牌的授权信息中仅携带访问控制策略,该访问控制策略为访问令牌持有者的专用授权策略,托管实体使用访问令牌中携带的访问控制策略评估发起实体的资源访问请求,以确定是否同意该资源访问请求。
若访问令牌的授权信息中携带角色和访问控制策略,托管实体利用访问令牌中携带的角色和访问控制策略评估发起实体的资源访问请求,以确定是否同意发起实体的资源访问请求。
需要说明的是,访问令牌的具体格式不是本发明所关注的内容,授权实体、发起实体和托管实体之间约定访问令牌的格式即可正确使用访问令牌,本发明的保护范围并不受访问令牌具体格式的限制。
基于以上定义,本发明实施例中,如图5所示,授权实体颁发访问令牌的详细方法流程如下:
步骤501:接收发起实体发送的对访问令牌根资源下的访问令牌签发资源的访问令牌资源创建请求,所述访问令牌资源创建请求中携带所述发起实体的标识和请求的访问令牌的权限描述信息。
其中,所述访问令牌根资源为CSE根资源下的普通资源,所述访问令牌签发资源为所述访问令牌根资源下的虚拟资源。
实施中,由于访问令牌根资源具有普通资源的通用属性以及指定访问控制策略的公共属性,所述公共属性所指定的访问控制策略指示允许访问所述访问令牌根资源及所述访问令牌根资源下的虚拟资源的实体,因此授权实体在接收发起实体向访问令牌根资源下的访问令牌签发资源发送的访问令牌资源创建请求之后,为发起实体生成访问令牌之前,根据所述访问令牌根资源的指定访问控制策略的公共属性,确定允许所述发起实体访问所述访问令牌根资源下的虚拟资源。
对访问令牌签发资源的资源创建操作,将触发一个访问令牌颁发过程。
步骤502:根据访问令牌授权策略和所述权限描述信息,为所述发起实体生成访问令牌,所述访问令牌中至少携带授权信息,在所述访问令牌根资源下创建生成的访问令牌的访问令牌资源,所述访问令牌资源中保存有所述访问令牌。
其中,访问令牌资源具有普通资源的通用属性以及超期时间属性、签发者属性、持有者属性和令牌属性,所述超期时间属性用于指定所述访问令牌资源的有效期,所述签发者属性用于指示生成所述访问令牌的实体,即授权实体的标识,所述持有者属性用于指示请求并获得所述访问令牌的实体,即发起实体的标识,所述令牌属性用于存储所述访问令牌。
授权实体生成的访问令牌以及令牌属性存储的访问令牌除包含授权信息外,还包括认证信息。其中,认证信息包括生成所述访问令牌的授权实体的标识(即签发者标识)、请求并持有访问令牌的发起实体的标识(将持有者标识)和超期时间,超期时间定义了访问令牌的有效期。其中,授权信息包括发起实体的服务角色和/或访问控制策略。
优选地,访问令牌授权策略保存在访问令牌授权策略实体;授权实体根据访问令牌授权策略和所述权限描述信息,为所述发起实体生成访问令牌之前,从访问令牌授权策略实体获取所述访问令牌授权策略。
一个具体实施中,访问令牌授权策略实体中保存访问令牌授权策略与发起实体以及授权实体的对应关系,例如,访问令牌授权策略实体中包含各授权实体资源树,分别对应不同的授权实体,授权实体资源数下包含不同的发起实体的访问令牌授权策略资源。
其中,权限描述信息用于描述发起实体请求的权限,该权限可以是请求的服务角色,或者是请求的访问控制策略,也可以是服务角色和访问控制策略。
实施中,授权信息中颁发给发起实体的服务角色为:授权描述信息中请求的服务角色且访问令牌授权策略允许颁发给发起实体的服务角色。授权信息中颁发给发起实体的访问控制策略为:授权描述信息中所请求的权限且访问令牌授权策略允许发起实体使用的权限所对应的访问控制策略。
需要说明的是,访问令牌授权策略用于确定是否为发起实体颁发访问令牌,以及确定写入访问令牌的权限,即颁发给访问令牌的发起和持有者的权限,具体的策略根据具体应用进行设计,本领域技术人员可以将已有的授权策略结合应用于本发明,该部分内容不是本发明关注的内容,本发明的保护范围不以此为限制。
实施中,授权实体若根据访问令牌授权策略和权限描述信息,确定不允许为发起实体颁发访问令牌,不再执行步骤503,向发起实体返回错误信息。
步骤503:将所述访问令牌或者所述访问令牌资源的地址信息发送给所述发起实体。
其中,所述访问令牌资源为所述访问令牌根资源下的普通资源。
一个可选地实施方式中,授权实体根据访问令牌授权策略和权限描述信息生成访问令牌明文,将生成的访问令牌明文发送给安全功能实体,由所述安全功能实体对所述访问令牌进行数字签名和/或加密后得到访问令牌并返回;授权实体接收所述安全功能实体返回的访问令牌,并将访问令牌发送给发起实体。
需要说明的是,安全功能实体具体采用的数字签名算法和加密算法不受限制,已有的数字签名算法和加密算法均可用于本发明,具体的数字签名算法和加密算法不受限制,本发明的保护范围不受此限制。
基于以上定义,本发明实施例中,如图6所示,发起实体请求访问令牌的详细方法流程如下:
步骤601:向授权实体发送对访问令牌根资源下的访问令牌签发资源的访问令牌资源创建请求,所述访问令牌资源创建请求中携带发起实体的标识和请求的访问令牌的权限描述信息。
其中,所述访问令牌根资源具有普通资源的通用属性以及指定访问控制策略的公共属性,所述公共属性所指定的访问控制策略指示允许访问所述访问令牌根资源及所述访问令牌根资源下的虚拟资源的实体。
其中,权限描述信息用于描述发起实体请求的权限,该权限可以是请求的服务角色,或者是请求的访问控制策略,也可以是服务角色和访问控制策略。
步骤602:接收所述授权实体返回的访问令牌,或者接收所述授权实体在所述访问令牌根资源下创建的访问令牌资源的地址信息,所述访问令牌资源中保存有访问令牌,所述访问令牌中至少携带授权信息。
其中,所述访问令牌根资源为CSE根资源下的普通资源,所述访问令牌签发资源为所述访问令牌根资源下的虚拟资源,所述访问令牌资源为所述访问令牌根资源下的普通资源。
所述访问令牌资源具有普通资源的通用属性以及超期时间属性、签发者属性、持有者属性和令牌属性,所述超期时间属性用于指定所述访问令牌资源的有效期,所述签发者属性用于指示生成所述访问令牌的实体,所述持有者属性用于指示请求并获得所述访问令牌的实体,所述令牌属性用于存储所述访问令牌。
实施中,若发起实体接收授权实体在所述访问令牌根资源下创建的访问令牌资源的地址信息后,根据所述地址信息获取所述访问令牌。
其中,访问令牌中除携带授权信息之外还携带认证信息,认证信息包括生成所述访问令牌的实体标识、请求并持有所述访问令牌的实体标识和超期时间,授权信息包括所述发起实体的服务角色和/或访问控制策略。
实施中,授权信息中颁发给发起实体的服务角色为:授权描述信息中请求的服务角色且访问令牌授权策略允许颁发给发起实体的服务角色。授权信息中颁发给发起实体的访问控制策略为:授权描述信息中所请求的权限且访问令牌授权策略允许发起实体使用的权限所对应的访问控制策略。
实施中,发起实体在获得访问令牌后,向授权实体发送资源访问请求,该资源访问请求中携带访问令牌。
基于同一发明构思,本发明实施例中,如图7所示,托管实体使用访问令牌的详细方法流程如下:
步骤701:接收发起实体发送的资源访问请求,所述资源访问请求中携带访问令牌。
其中,访问令牌中至少携带授权信息,授权信息包括发起实体的服务角色和/或访问控制策略。
实施中,访问令牌中除携带授权信息之外还携带认证信息,认证信息包括生成所述访问令牌的实体标识、请求并持有所述访问令牌的实体标识和超期时间。
实施中,托管实体获取资源访问请求中的访问令牌后,判断该访问令牌是否有效,具体如下:
若确定所述访问令牌中携带的生成所述访问令牌的实体标识与预设的CSE标识相同,和/或,所述访问令牌中携带的请求并持有所述访问令牌的实体标识与发起实体的标识相同,和/或,访问令牌的使用时间未超过访问令牌中携带的超期时间,则确定该访问令牌有效;
否则,确定访问令牌无效。
实施中,托管实体若确定访问令牌无效,不再执行步骤702,向发起实体返回错误信息。
步骤702:根据所述访问令牌中的授权信息,确定所述发起实体的资源访问请求在授权范围内,执行所述发起实体的资源访问请求。
实施中,若所述授权信息中仅包括服务角色,根据所述访问令牌中的服务角色,获取本地保存的基于所述服务角色的访问控制策略,根据所述基于所述服务角色的访问控制策略确定所述发起实体的资源访问请求在授权范围内;
若所述授权信息中仅包括访问控制策略,根据所述访问令牌中的访问控制策略确定所述发起实体的资源访问请求在授权范围内;
若所述授权信息中包括服务角色和访问控制策略,根据所述访问令牌中的服务角色和访问控制策略确定所述发起实体的资源访问请求在授权范围内。
一个可选地实施方式中,托管实体在获得资源访问请求中的访问令牌后,将该访问令牌发送给安全认证实体,由该安全认证实体对该访问令牌进行解密和/或数字签名验证获得访问令牌明文并返回;托管实体接收安全认证实体返回的访问令牌明文,获得访问令牌明文中的授权信息,根据获得的授权信息,判断所述发起实体的资源访问请求是否在授权范围内。
以上实施例中,授权实体和托管实体可以部署在同一个实体设备中,也可以部署在不同的实体设备中。
以上实施例中,发起实体和授权实体之间通信之前,发起实体和托管实体之间通信之前,分别采用oneM2M提供的方法通过双向认证建立安全关联,以确保相互通信的两个实体之间通信的完整性和机密性,具体的通过双向认证建立安全关联的方式参见oneM2M的规定,此处不再详述。
以上实施例中所涉及的访问令牌颁发和使用的基本过程可参见图8所示,具体过程可参见以上实施例的描述,此处不再重复。
以下通过两个具体实施例对本发明所提供的访问令牌颁发以及使用过程进行举例说明。
第一具体实施例,作为授权实体的oneM2M基础设施节点(IN-CSE)向发起实体(AE-1)颁发包含有服务角色(Service Role)的访问令牌;发起实体(AE-1)利用该访问令牌访问托管实体(CSE-1)中的设备管理资源;CSE-1所在的节点为Node-1。
该具体实施例中假设:IN-CSE可访问的安全功能实体和CSE-1可访问的安全功能实体拥有用于访问令牌加密和解密的对称密钥Ks;IN-CSE可访问的安全功能实体拥有用于对访问令牌明文进行签名的私钥Kprv;CSE-1可访问的安全功能实体拥有用于验证IN-CSE数字签名的公钥证书INcert,其中包含有与Kprv匹配的公钥Kpub。
并且,假设oneM2M应用服务提供商的应用实体AE-1注册至oneM2M服务提供商的基础设施节点IN-CSE上。在IN-CSE资源树的根资源<CSEBase>下创建有负责颁发访问令牌的<accessTokens-1>资源;在IN-CSE资源树中定义有<m2mServiceSubscriptionProfile>,<serviceSubscribedNode>和<serviceSubscribedAppRule>等资源,其中描述了该应用服务提供商的应用实体所能拥有的角色和管理的M2M节点(M2M Node)
如图9所示,访问令牌颁发以及使用的过程具体如下:
步骤901:AE-1与IN-CSE通过双向认证建立安全关联;
步骤902:AE-1向IN-CSE发送对IN-CSE资源树下的<accessTokens-1>资源的子资源<accessTokenIssuing>的<accessToken>资源创建请求,该请求要求对CSE-1所在的节点Node-1执行设备诊断功能,也即AE-1想要获取包含有“设备诊断和管理(Device Diagnostics and Management)”角色的访问令牌;
步骤903:IN-CSE接收到AE-1的请求后,该请求所激活的访问令牌创建过程将做如下操作:
1、检查与<accessTokenIssuing>资源相关联的访问控制策略,确定AE-1是否拥有创建<accessToken>资源的权限,若允许则继续进行下一步的操作;
2、从作为访问令牌授权策略实体的IN-CSE资源树中获取所需的访问令牌授权策略,也即与AE-1相关的<m2mServiceSubscriptionProfile>,<serviceSubscribedNode>和<serviceSubscribedAppRule>等资源;
3、检查属于该应用服务提供商的<m2mServiceSubscriptionProfile>资源中的serviceRoles属性以确定是否拥有所请求的“设备诊断和管理(DeviceDiagnostics and Management)”角色,若有则继续进行下一步的操作;
4、检查<m2mServiceSubscriptionProfile>资源下的<serviceSubscribedNode>子资源,以确定该应用服务商是否拥有对节点Node-1的管理权限,也即是否某个<serviceSubscribedNode>子资源的node-ID属性的值为Node-1,若有则继续进行下一步的操作;
5、检查上一步匹配的<serviceSubscribedNode>资源下的ruleLinks属性所指定的<serviceSubscribedAppRule>资源,以确定该AE-1可以注册至节点Node-1,也即AE-1是否在该<serviceSubscribedAppRule>资源allowedAEs属性的AE列表中,若有则继续进行下一步的操作;
6、生成一个访问令牌明文,其中包含有“设备诊断和管理(DeviceDiagnostics and Management)”角色,并设定了访问令牌的有效期;
7、要求安全功能实体利用私钥Kprv对访问令牌明文进行数字签名,然后利用对称密钥Ks对访问令牌明文和签名结果进行加密,从而生成访问令牌AE-Token-1。
步骤904:IN-CSE将生成的访问令牌AE-Token-1发送给AE-1;
步骤905:AE-1与CSE-1通过双向认证建立安全关联;
步骤906:AE-1向Node-1所包含的CSE-1发送设备诊断请求,该请求中包含有访问令牌AE-Token-1;
步骤907:CSE-1接收到来自AE-1的设备诊断请求,并从设备诊断请求中提取出访问令牌AE-Token-1,然后做如下操作:
1、要求安全功能实体利用Ks对访问令牌进行解密,然后利用INcert中的公钥Kpub验证访问令牌的数字签名,若正确则继续进行下一步的操作;
2、检查访问令牌中的有效期,以确定令牌是否已经失效,若有效则继续进行下一步的操作;
3、提取出令牌中包含的角色,并利用基于角色的访问控制策略评估是否同意AE-1的设备诊断请求,若同意则继续进行下一步的操作;
4、执行AE-1所要求的设备诊断功能。
步骤908:CSE-1将执行结果返回给AE-1。
第二具体实施例中,如图10所示,该具体实施例中授权实体与托管实体为同一个实体,即为CSE-1,该具体实施例中访问令牌颁发与使用过程与第一具体实施例的过程类似,不同之处在于:
因为授权实体与托管实体为同一实体,安全功能实体中保护访问令牌的安全机制可以采用单纯的对称密钥机制,也即利用对称密钥实现访问令牌的完整性和机密性保护。
并且,由于CSE-1的类型不是IN-CSE,即基础设施节点,也不是基础设施节点信任和授权的节点,所以CSE-1不能颁发包含有服务角色(Service Role)的访问令牌。
基于同一发明构思,本发明实施例中提供了一种授权实体,该授权实体的具体实施可参见上述方法部分的描述,重复之处不再赘述,如图11所示,该授权实体主要包括:
接收模块1101,用于接收发起实体发送的对访问令牌根资源下的访问令牌签发资源的访问令牌资源创建请求,所述访问令牌资源创建请求中携带所述发起实体的标识和请求的访问令牌的权限描述信息;
处理模块1102,用于根据访问令牌授权策略和所述权限描述信息,为所述发起实体生成访问令牌,所述访问令牌中至少携带授权信息,在所述访问令牌根资源下创建生成的访问令牌的访问令牌资源,所述访问令牌资源中保存有所述访问令牌;
发送模块1103,用于将所述访问令牌或者所述访问令牌资源的地址信息发送给所述发起实体。
其中,所述访问令牌根资源为CSE根资源下的普通资源,所述访问令牌签发资源为所述访问令牌根资源下的虚拟资源,所述访问令牌资源为所述访问令牌根资源下的普通资源。
实施中,所述访问令牌根资源具有普通资源的通用属性以及指定访问控制策略的公共属性,所述公共属性所指定的访问控制策略指示允许访问所述访问令牌根资源及所述访问令牌根资源下的虚拟资源的实体。
实施中,所述处理模块1102还用于:
为所述发起实体生成访问令牌之前,根据所述访问令牌根资源的指定访问控制策略的公共属性,确定允许所述发起实体访问所述访问令牌根资源下的虚拟资源。
实施中,所述访问令牌资源具有普通资源的通用属性以及超期时间属性、签发者属性、持有者属性和令牌属性,所述超期时间属性用于指定所述访问令牌资源的有效期,所述签发者属性用于指示生成所述访问令牌的实体,所述持有者属性用于指示请求并获得所述访问令牌的实体,所述令牌属性用于存储所述访问令牌。
实施中,处理模块1102还用于:从访问令牌授权策略实体获取所述访问令牌授权策略。
实施中,所述访问令牌中还携带认证信息,所述认证信息包括生成所述访问令牌的实体标识、所述发起实体的标识和超期时间;
所述访问令牌的授权信息包括所述发起实体的服务角色和/或访问控制策略。
实施中,所述处理模块1102具体用于:
根据所述访问令牌授权策略和所述权限描述信息,生成访问令牌明文;
发送模块1103还用于:
将生成的所述访问令牌明文发送给安全功能实体,由所述安全功能实体对所述访问令牌明文进行数字签名和/或加密后得到所述访问令牌并返回;
接收模块1101还用于:
接收所述安全功能实体返回的所述访问令牌。
实施中,授权实体为CSE实体。
基于同一发明构思,本发明实施例中提供了一种授权实体,该授权实体的具体实施可参见上述方法部分的描述,重复之处不再赘述,如图12所示,该授权实体主要包括处理器1201、存储器1202和收发机1203,收发机1203用于在处理器1201的控制下接收和发送数据,存储器1202中保存预设的程序,处理器1201用于读取存储器中保存的程序,按照该程序执行以下过程:
通过收发机1203接收发起实体发送的对访问令牌根资源下的访问令牌签发资源的访问令牌资源创建请求,所述访问令牌资源创建请求中携带所述发起实体的标识和请求的访问令牌的权限描述信息;
根据访问令牌授权策略和所述权限描述信息,为所述发起实体生成访问令牌,所述访问令牌中至少携带授权信息,在所述访问令牌根资源下创建生成的访问令牌的访问令牌资源,所述访问令牌资源中保存有所述访问令牌;
通过收发机1203将所述访问令牌或者所述访问令牌资源的地址信息发送给所述发起实体。
其中,所述访问令牌根资源为CSE根资源下的普通资源,所述访问令牌签发资源为所述访问令牌根资源下的虚拟资源,所述访问令牌资源为所述访问令牌根资源下的普通资源。
实施中,所述访问令牌根资源具有普通资源的通用属性以及指定访问控制策略的公共属性,所述公共属性所指定的访问控制策略指示允许访问所述访问令牌根资源及所述访问令牌根资源下的虚拟资源的实体。
实施中,处理器1201为所述发起实体生成访问令牌之前,根据所述访问令牌根资源的指定访问控制策略的公共属性,确定允许所述发起实体访问所述访问令牌根资源下的虚拟资源。
实施中,所述访问令牌资源具有普通资源的通用属性以及超期时间属性、签发者属性、持有者属性和令牌属性,所述超期时间属性用于指定所述访问令牌资源的有效期,所述签发者属性用于指示生成所述访问令牌的实体,所述持有者属性用于指示请求并获得所述访问令牌的实体,所述令牌属性用于存储所述访问令牌。
实施中,处理器1201从访问令牌授权策略实体获取所述访问令牌授权策略。
实施中,所述访问令牌中还携带认证信息,所述认证信息包括生成所述访问令牌的实体标识、所述发起实体的标识和超期时间;
所述访问令牌的授权信息包括所述发起实体的服务角色和/或访问控制策略。
实施中,处理器1201根据所述访问令牌授权策略和所述权限描述信息,生成访问令牌明文;通过收发机1203将生成的所述访问令牌明文发送给安全功能实体,由所述安全功能实体对所述访问令牌明文进行数字签名和/或加密后得到所述访问令牌并返回;通过收发机1203接收所述安全功能实体返回的所述访问令牌。
实施中,授权实体为CSE实体。
其中,总线架构可以包括任意数量的互联的总线和桥,具体由处理器代表的一个或多个处理器和存储器代表的存储器的各种电路链接在一起。总线架构还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口提供接口。收发机可以是多个元件,即包括发送机和收发机,提供用于在传输介质上与各种其他装置通信的单元。处理器负责管理总线架构和通常的处理,存储器可以存储处理器在执行操作时所使用的数据。
基于同一发明构思,本发明实施例提供了一种发起实体,该发起实体的具体实施可参见上述方法部分的描述,如图13所示,该发起实体主要包括:
发送模块1301,用于向授权实体发送对访问令牌根资源下的访问令牌签发资源的访问令牌资源创建请求,所述访问令牌资源创建请求中携带发起实体的标识和请求的访问令牌的权限描述信息;
接收模块1302,用于接收所述授权实体返回的访问令牌,或者接收所述授权实体在所述访问令牌根资源下创建的访问令牌资源的地址信息,所述访问令牌资源中保存有访问令牌,所述访问令牌中至少携带授权信息;
其中,所述访问令牌根资源为公共服务实体CSE根资源下普通资源,所述访问令牌签发资源为所述访问令牌根资源下的虚拟资源,所述访问令牌资源为所述访问令牌根资源下的普通资源。
其中,所述访问令牌根资源具有普通资源的通用属性以及指定访问控制策略的公共属性,所述公共属性所指定的访问控制策略指示允许访问所述访问令牌根资源及所述访问令牌根资源下的虚拟资源的实体。
其中,所述访问令牌资源具有普通资源的通用属性以及超期时间属性、签发者属性、持有者属性和令牌属性,所述超期时间属性用于指定所述访问令牌资源的有效期,所述签发者属性用于指示生成所述访问令牌的实体,所述持有者属性用于指示请求并获得所述访问令牌的实体,所述令牌属性用于存储所述访问令牌。
实施中,还包括获取模块1303用于:
在所述接收模块1302接收所述授权实体在所述访问令牌根资源下创建的访问令牌资源的地址信息后,根据所述地址信息获取所述访问令牌。
其中,所述访问令牌中还携带认证信息,所述认证信息包括生成所述访问令牌的实体标识、请求并持有所述访问令牌的实体标识和超期时间;
所述访问令牌的授权信息包括所述发起实体的服务角色和/或访问控制策略。
实施中,所述发送模块1301还用于:
发送资源访问请求,所述资源访问请求中携带所述访问令牌。
实施中,发起实体为AE实体或CSE实体。
基于同一发明构思,本发明实施例还提供了另一发起实体,该发起实体的具体实施可参见上述方法部分的描述,重复之处不再赘述,如图14所示,该发起实体主要包括处理器1401、存储器1402和收发机1403,收发机1403用于在处理器1401的控制下接收和发送数据,存储器1402中保存预设的程序,处理器1401用于读取存储器中保存的程序,按照该程序执行以下过程:
指示收发机1403向授权实体发送对访问令牌根资源下的访问令牌签发资源的访问令牌资源创建请求,所述访问令牌资源创建请求中携带发起实体的标识和请求的访问令牌的权限描述信息;
通过收发机1403接收所述授权实体返回的访问令牌,或者接收所述授权实体在所述访问令牌根资源下创建的访问令牌资源的地址信息,所述访问令牌资源中保存有访问令牌,所述访问令牌中至少携带授权信息;
其中,所述访问令牌根资源为公共服务实体CSE根资源下普通资源,所述访问令牌签发资源为所述访问令牌根资源下的虚拟资源,所述访问令牌资源为所述访问令牌根资源下的普通资源。
其中,所述访问令牌根资源具有普通资源的通用属性以及指定访问控制策略的公共属性,所述公共属性所指定的访问控制策略指示允许访问所述访问令牌根资源及所述访问令牌根资源下的虚拟资源的实体。
其中,所述访问令牌资源具有普通资源的通用属性以及超期时间属性、签发者属性、持有者属性和令牌属性,所述超期时间属性用于指定所述访问令牌资源的有效期,所述签发者属性用于指示生成所述访问令牌的实体,所述持有者属性用于指示请求并获得所述访问令牌的实体,所述令牌属性用于存储所述访问令牌。
实施中,处理器1401在通过收发机1403接收所述授权实体在所述访问令牌根资源下创建的访问令牌资源的地址信息后,根据所述地址信息获取所述访问令牌。
其中,所述访问令牌中还携带认证信息,所述认证信息包括生成所述访问令牌的实体标识、请求并持有所述访问令牌的实体标识和超期时间;
所述访问令牌的授权信息包括所述发起实体的服务角色和/或访问控制策略。
实施中,处理器1401指示收发机1403发送资源访问请求,所述资源访问请求中携带所述访问令牌。
实施中,发起实体为AE实体或CSE实体。
其中,总线架构可以包括任意数量的互联的总线和桥,具体由处理器代表的一个或多个处理器和存储器代表的存储器的各种电路链接在一起。总线架构还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口提供接口。收发机可以是多个元件,即包括发送机和收发机,提供用于在传输介质上与各种其他装置通信的单元。处理器负责管理总线架构和通常的处理,存储器可以存储处理器在执行操作时所使用的数据。
基于上述技术方案,本发明实施例中,通过在CSE根资源下定义资源类型为普通资源的访问令牌根资源,在访问令牌根资源下定义资源类型为虚拟资源的访问令牌签发资源,以及在访问令牌根资源下定义资源类型为普通资源的访问令牌资源,且定义对访问令牌签发资源的访问令牌资源创建操作触发一个访问令牌颁发过程,从而使得接收到发起实体对访问令牌根资源下的访问令牌签发资源的访问令牌资源创建请求,触发访问令牌颁发过程,根据访问令牌授权策略和所述权限描述信息,为所述发起实体生成访问令牌,并创建访问令牌资源,在oneM2M系统中实现了通过访问令牌进行授权的机制。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (26)
1.一种访问令牌颁发方法,其特征在于,包括:
接收发起实体发送的对访问令牌根资源下的访问令牌签发资源的访问令牌资源创建请求,所述访问令牌资源创建请求中携带所述发起实体的标识和请求的访问令牌的权限描述信息;
根据访问令牌授权策略和所述权限描述信息,为所述发起实体生成访问令牌,所述访问令牌中至少携带授权信息,在所述访问令牌根资源下创建生成的访问令牌的访问令牌资源,所述访问令牌资源中保存有所述访问令牌;
将所述访问令牌或者所述访问令牌资源的地址信息发送给所述发起实体;
其中,所述访问令牌根资源为公共服务实体CSE根资源下的普通资源,所述访问令牌签发资源为所述访问令牌根资源下的虚拟资源,所述访问令牌资源为所述访问令牌根资源下的普通资源。
2.如权利要求1所述的方法,其特征在于,所述访问令牌根资源具有普通资源的通用属性以及指定访问控制策略的公共属性,所述公共属性所指定的访问控制策略指示允许访问所述访问令牌根资源及所述访问令牌根资源下的虚拟资源的实体。
3.如权利要求2所述的方法,其特征在于,接收发起实体发送的对访问令牌根资源下的访问令牌签发资源的访问令牌资源创建请求之后,为所述发起实体生成访问令牌之前,所述方法还包括:
根据所述访问令牌根资源的指定访问控制策略的公共属性,确定允许所述发起实体访问所述访问令牌根资源下的虚拟资源。
4.如权利要求1所述的方法,其特征在于,所述访问令牌资源具有普通资源的通用属性以及超期时间属性、签发者属性、持有者属性和令牌属性,所述超期时间属性用于指定所述访问令牌资源的有效期,所述签发者属性用于指示生成所述访问令牌的实体,所述持有者属性用于指示请求并获得所述访问令牌的实体,所述令牌属性用于存储所述访问令牌。
5.如权利要求1所述的方法,其特征在于,根据访问令牌授权策略和所述权限描述信息,为所述发起实体生成访问令牌之前,所述方法还包括:
从访问令牌授权策略实体获取所述访问令牌授权策略。
6.如权利要求1-5任一项所述的方法,其特征在于,所述访问令牌中还携带认证信息,所述认证信息包括生成所述访问令牌的实体标识、所述发起实体的标识和超期时间;
所述访问令牌的授权信息包括所述发起实体的服务角色和/或访问控制策略。
7.如权利要求6所述的方法,其特征在于,根据访问令牌授权策略和所述权限描述信息,为所述发起实体生成访问令牌,包括:
根据所述访问令牌授权策略和所述权限描述信息,生成访问令牌明文;
将生成的所述访问令牌明文发送给安全功能实体,由所述安全功能实体对所述访问令牌明文进行数字签名和/或加密后得到所述访问令牌并返回;
接收所述安全功能实体返回的所述访问令牌。
8.一种访问令牌颁发方法,其特征在于,包括:
向授权实体发送对访问令牌根资源下的访问令牌签发资源的访问令牌资源创建请求,所述访问令牌资源创建请求中携带发起实体的标识和请求的访问令牌的权限描述信息;
接收所述授权实体返回的访问令牌,或者接收所述授权实体在所述访问令牌根资源下创建的访问令牌资源的地址信息,所述访问令牌资源中保存有访问令牌,所述访问令牌中至少携带授权信息;
其中,所述访问令牌根资源为公共服务实体CSE根资源下普通资源,所述访问令牌签发资源为所述访问令牌根资源下的虚拟资源,所述访问令牌资源为所述访问令牌根资源下的普通资源。
9.如权利要求8所述的方法,其特征在于,所述访问令牌根资源具有普通资源的通用属性以及指定访问控制策略的公共属性,所述公共属性所指定的访问控制策略指示允许访问所述访问令牌根资源及所述访问令牌根资源下的虚拟资源的实体。
10.如权利要求8所述的方法,其特征在于,所述访问令牌资源具有普通资源的通用属性以及超期时间属性、签发者属性、持有者属性和令牌属性,所述超期时间属性用于指定所述访问令牌资源的有效期,所述签发者属性用于指示生成所述访问令牌的实体,所述持有者属性用于指示请求并获得所述访问令牌的实体,所述令牌属性用于存储所述访问令牌。
11.如权利要求10所述的方法,其特征在于,接收所述授权实体在所述访问令牌根资源下创建的访问令牌资源的地址信息后,所述方法还包括:
根据所述地址信息获取所述访问令牌。
12.如权利要求8-11任一项所述的方法,其特征在于,所述访问令牌中还携带认证信息,所述认证信息包括生成所述访问令牌的实体标识、请求并持有所述访问令牌的实体标识和超期时间;
所述访问令牌的授权信息包括所述发起实体的服务角色和/或访问控制策略。
13.如权利要求12所述的方法,其特征在于,所述方法还包括:
发送资源访问请求,所述资源访问请求中携带所述访问令牌。
14.一种授权实体,其特征在于,包括:
接收模块,用于接收发起实体发送的对访问令牌根资源下的访问令牌签发资源的访问令牌资源创建请求,所述访问令牌资源创建请求中携带所述发起实体的标识和请求的访问令牌的权限描述信息;
处理模块,用于根据访问令牌授权策略和所述权限描述信息,为所述发起实体生成访问令牌,所述访问令牌中至少携带授权信息,在所述访问令牌根资源下创建生成的访问令牌的访问令牌资源,所述访问令牌资源中保存有所述访问令牌;
发送模块,用于将所述访问令牌或者所述访问令牌资源的地址信息发送给所述发起实体;
其中,所述访问令牌根资源为公共服务实体CSE根资源下的普通资源,所述访问令牌签发资源为所述访问令牌根资源下的虚拟资源,所述访问令牌资源为所述访问令牌根资源下的普通资源。
15.如权利要求14所述的授权实体,其特征在于,所述访问令牌根资源具有普通资源的通用属性以及指定访问控制策略的公共属性,所述公共属性所指定的访问控制策略指示允许访问所述访问令牌根资源及所述访问令牌根资源下的虚拟资源的实体。
16.如权利要求15所述的授权实体,其特征在于,所述处理模块还用于:
为所述发起实体生成访问令牌之前,根据所述访问令牌根资源的指定访问控制策略的公共属性,确定允许所述发起实体访问所述访问令牌根资源下的虚拟资源。
17.如权利要求14所述的授权实体,其特征在于,所述访问令牌资源具有普通资源的通用属性以及超期时间属性、签发者属性、持有者属性和令牌属性,所述超期时间属性用于指定所述访问令牌资源的有效期,所述签发者属性用于指示生成所述访问令牌的实体,所述持有者属性用于指示请求并获得所述访问令牌的实体,所述令牌属性用于存储所述访问令牌。
18.如权利要求14所述的授权实体,其特征在于,所述处理模块还用于:从访问令牌授权策略实体获取所述访问令牌授权策略。
19.如权利要求14-18任一项所述的授权实体,其特征在于,所述访问令牌中还携带认证信息,所述认证信息包括生成所述访问令牌的实体标识、所述发起实体的标识和超期时间;
所述访问令牌的授权信息包括所述发起实体的服务角色和/或访问控制策略。
20.如权利要求19所述的授权实体,其特征在于,所述处理模块具体用于:
根据所述访问令牌授权策略和所述权限描述信息,生成访问令牌明文;
所述发送模块还用于:
将生成的所述访问令牌明文发送给安全功能实体,由所述安全功能实体对所述访问令牌明文进行数字签名和/或加密后得到所述访问令牌并返回;
所述接收模块还用于:
接收所述安全功能实体返回的所述访问令牌。
21.一种发起实体,其特征在于,包括:
发送模块,用于向授权实体发送对访问令牌根资源下的访问令牌签发资源的访问令牌资源创建请求,所述访问令牌资源创建请求中携带发起实体的标识和请求的访问令牌的权限描述信息;
接收模块,用于接收所述授权实体返回的访问令牌,或者接收所述授权实体在所述访问令牌根资源下创建的访问令牌资源的地址信息,所述访问令牌资源中保存有访问令牌,所述访问令牌中至少携带授权信息;
其中,所述访问令牌根资源为公共服务实体CSE根资源下普通资源,所述访问令牌签发资源为所述访问令牌根资源下的虚拟资源,所述访问令牌资源为所述访问令牌根资源下的普通资源。
22.如权利要求21所述的发起实体,其特征在于,所述访问令牌根资源具有普通资源的通用属性以及指定访问控制策略的公共属性,所述公共属性所指定的访问控制策略指示允许访问所述访问令牌根资源及所述访问令牌根资源下的虚拟资源的实体。
23.如权利要求21所述的发起实体,其特征在于,所述访问令牌资源具有普通资源的通用属性以及超期时间属性、签发者属性、持有者属性和令牌属性,所述超期时间属性用于指定所述访问令牌资源的有效期,所述签发者属性用于指示生成所述访问令牌的实体,所述持有者属性用于指示请求并获得所述访问令牌的实体,所述令牌属性用于存储所述访问令牌。
24.如权利要求23所述的发起实体,其特征在于,还包括获取模块用于:
在所述接收模块接收所述授权实体在所述访问令牌根资源下创建的访问令牌资源的地址信息后,根据所述地址信息获取所述访问令牌。
25.如权利要求21-24任一项所述的发起实体,其特征在于,所述访问令牌中还携带认证信息,所述认证信息包括生成所述访问令牌的实体标识、请求并持有所述访问令牌的实体标识和超期时间;
所述访问令牌的授权信息包括所述发起实体的服务角色和/或访问控制策略。
26.如权利要求25所述的发起实体,其特征在于,所述发送模块还用于:
发送资源访问请求,所述资源访问请求中携带所述访问令牌。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510419740.3A CN106358246B (zh) | 2015-07-16 | 2015-07-16 | 一种访问令牌颁发方法及相关设备 |
PCT/CN2016/087973 WO2017008640A1 (zh) | 2015-07-16 | 2016-06-30 | 一种访问令牌颁发方法及相关设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510419740.3A CN106358246B (zh) | 2015-07-16 | 2015-07-16 | 一种访问令牌颁发方法及相关设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106358246A true CN106358246A (zh) | 2017-01-25 |
CN106358246B CN106358246B (zh) | 2020-01-24 |
Family
ID=57757803
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510419740.3A Active CN106358246B (zh) | 2015-07-16 | 2015-07-16 | 一种访问令牌颁发方法及相关设备 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN106358246B (zh) |
WO (1) | WO2017008640A1 (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108667791A (zh) * | 2017-12-18 | 2018-10-16 | 中国石油天然气股份有限公司 | 身份验证方法 |
CN109902499A (zh) * | 2019-03-13 | 2019-06-18 | 广州市网星信息技术有限公司 | 一种资源授权和访问方法、装置、系统、设备和存储介质 |
CN110197075A (zh) * | 2018-04-11 | 2019-09-03 | 腾讯科技(深圳)有限公司 | 资源访问方法、装置、计算设备以及存储介质 |
WO2020038400A1 (zh) * | 2018-08-22 | 2020-02-27 | 京东方科技集团股份有限公司 | 访问控制策略配置方法、装置和系统以及存储介质 |
WO2024145948A1 (zh) * | 2023-01-06 | 2024-07-11 | 北京小米移动软件有限公司 | 授权方法、装置、通信设备及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104093118A (zh) * | 2014-03-05 | 2014-10-08 | 中兴通讯股份有限公司 | 一种资源通告的方法、机器对机器节点和系统 |
EP2890073A1 (en) * | 2013-12-31 | 2015-07-01 | Gemalto SA | System and method for securing machine-to-machine communications |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103188229B (zh) * | 2011-12-30 | 2017-09-12 | 上海贝尔股份有限公司 | 用于安全内容访问的方法和设备 |
CN102546648B (zh) * | 2012-01-18 | 2015-04-01 | Ut斯达康通讯有限公司 | 一种资源访问授权的方法 |
-
2015
- 2015-07-16 CN CN201510419740.3A patent/CN106358246B/zh active Active
-
2016
- 2016-06-30 WO PCT/CN2016/087973 patent/WO2017008640A1/zh active Application Filing
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2890073A1 (en) * | 2013-12-31 | 2015-07-01 | Gemalto SA | System and method for securing machine-to-machine communications |
CN104093118A (zh) * | 2014-03-05 | 2014-10-08 | 中兴通讯股份有限公司 | 一种资源通告的方法、机器对机器节点和系统 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108667791A (zh) * | 2017-12-18 | 2018-10-16 | 中国石油天然气股份有限公司 | 身份验证方法 |
CN108667791B (zh) * | 2017-12-18 | 2021-01-01 | 中国石油天然气股份有限公司 | 身份验证方法 |
CN110197075A (zh) * | 2018-04-11 | 2019-09-03 | 腾讯科技(深圳)有限公司 | 资源访问方法、装置、计算设备以及存储介质 |
WO2020038400A1 (zh) * | 2018-08-22 | 2020-02-27 | 京东方科技集团股份有限公司 | 访问控制策略配置方法、装置和系统以及存储介质 |
US11902279B2 (en) | 2018-08-22 | 2024-02-13 | Boe Technology Group Co., Ltd. | Method, apparatus, system and storage medium for access control policy configuration |
CN109902499A (zh) * | 2019-03-13 | 2019-06-18 | 广州市网星信息技术有限公司 | 一种资源授权和访问方法、装置、系统、设备和存储介质 |
WO2024145948A1 (zh) * | 2023-01-06 | 2024-07-11 | 北京小米移动软件有限公司 | 授权方法、装置、通信设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
WO2017008640A1 (zh) | 2017-01-19 |
CN106358246B (zh) | 2020-01-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7454035B2 (ja) | ブロックチェーンにより実装される方法及びシステム | |
CN110147994B (zh) | 一种基于同态加密的区块链的即时执行方法 | |
US11386420B2 (en) | Contextual authentication of an electronic wallet | |
CN110535833B (zh) | 一种基于区块链的数据共享控制方法 | |
US11288740B2 (en) | Securing distributed electronic wallet shares | |
Yavari et al. | An Improved Blockchain‐Based Authentication Protocol for IoT Network Management | |
US20190034919A1 (en) | Securing Electronic Wallet Transactions | |
US20190034936A1 (en) | Approving Transactions from Electronic Wallet Shares | |
US20190034917A1 (en) | Tracking an Electronic Wallet Using Radio Frequency Identification (RFID) | |
CN111475827A (zh) | 基于链下授权的隐私数据查询方法及装置 | |
TW201815123A (zh) | 量子資料密鑰協商系統及量子資料密鑰協商方法 | |
CN106358246A (zh) | 一种访问令牌颁发方法及相关设备 | |
WO2022072630A1 (en) | Providing cryptographically secure post-secrets-provisioning services | |
CN106452782A (zh) | 为终端设备生成安全通信信道的方法和系统 | |
CN101573936A (zh) | 使用可信处理技术的数字版权管理 | |
TWI437862B (zh) | 連結使用者領域之方法以及在使用者領域中交換資訊之方法 | |
CN103560887B (zh) | 智能终端远程证明方法和系统 | |
CN106302606B (zh) | 一种跨应用访问方法及装置 | |
CN106060078A (zh) | 应用于云平台的用户信息加密方法、注册方法及验证方法 | |
CN111355684A (zh) | 一种物联网数据传输方法、装置、系统、电子设备及介质 | |
CN110619222A (zh) | 基于区块链的授权处理方法、装置、系统及介质 | |
Vanderhallen et al. | Robust authentication for automotive control networks through covert channels | |
KR102377045B1 (ko) | 하드웨어 보안 모듈을 이용한 클라우드를 통한 IoT(Internet of Thing) 디바이스 인증 시스템 및 방법 | |
CN110716724B (zh) | 基于fpga实现隐私区块链的方法及装置 | |
CN104392150A (zh) | 软件授权的叠加控制装置和方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |