CN108259413B - 一种获取证书、鉴权的方法及网络设备 - Google Patents

一种获取证书、鉴权的方法及网络设备 Download PDF

Info

Publication number
CN108259413B
CN108259413B CN201611238763.5A CN201611238763A CN108259413B CN 108259413 B CN108259413 B CN 108259413B CN 201611238763 A CN201611238763 A CN 201611238763A CN 108259413 B CN108259413 B CN 108259413B
Authority
CN
China
Prior art keywords
app
apis
certificate
api
equal
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.)
Active
Application number
CN201611238763.5A
Other languages
English (en)
Other versions
CN108259413A (zh
Inventor
张大成
付天福
周冲
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201611238763.5A priority Critical patent/CN108259413B/zh
Priority to JP2019534954A priority patent/JP6940240B2/ja
Priority to PCT/CN2017/101307 priority patent/WO2018120913A1/zh
Priority to EP17886998.8A priority patent/EP3550786B1/en
Publication of CN108259413A publication Critical patent/CN108259413A/zh
Priority to US16/456,706 priority patent/US11451531B2/en
Application granted granted Critical
Publication of CN108259413B publication Critical patent/CN108259413B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0823Network architectures or network communication protocols for network security for authentication of entities using certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/062Network architectures or network communication protocols for network security for supporting key management in a packet data network for key distribution, e.g. centrally by trusted party
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/101Access control lists [ACL]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3263Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • H04L9/3268Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements using certificate validation, registration, distribution or revocation, e.g. certificate revocation list [CRL]

Abstract

本申请提供一种获取证书、鉴权的方法及网络设备,以改善APP对API的操作权限控制。根据该方法,网络设备向证书生成设备发送包含APP的证书申请信息,该证书生成设备根据所述APP生成证书并将生成的证书发给网络设备。该证书用于所述APP访问控制器的API时的权限认证。该证书包括(a)~(c)中的一个或多个:(a)该APP对控制器的N个应用程序编程接口API的操作权限信息,(b)N个API中该APP有权操作的L个API的标识,(c)该N个API中该APP无权操作的R个API的标识,N为大于或等于1的自然数,L为大于或等于1的自然数,并且L小于或等于N,R为大于或等于1的自然数,并且R小于或等于N。

Description

一种获取证书、鉴权的方法及网络设备
技术领域
本发明属于网络通信技术领域,涉及一种获取证书、鉴权的方法及网络设备。
背景技术
软件定义一切(英文:software defined anything,SDX)是所有种类的软件定义计算技术的集合。SDX中软件在控制硬件中起主要作用。常见的SDX技术包括软件定义网络(英文:software-defined networking,SDN)、软件定义数据中心(英文:software-defineddata center,SDDC)、软件定义存储(英文:software-defined storage,SDS)等。
SDX架构中,控制器集中控制所有的硬件能力。并且,控制器向用户提供应用编程接口(英文:application programming interface,API),用户的各种应用程序(APP)可以访问该API以对控制器所控制的网络设备、安全设备、虚拟机等进行配置管理,或获取网络信息。
然而,由于APP来自控制器外部,可能由第三方开发、由用户使用,有必要控制这些APP的权限,以防止对控制器的API的误用和滥用。
发明内容
本申请提供了一种获取证书、鉴权的方法及网络设备,以改善APP对API的操作权限控制。
本申请的第一方面提供一种获取证书的方法。根据该方法,网络设备向证书生成设备发送包含APP的证书申请信息,该证书生成设备根据所述APP生成证书并将生成的证书发给网络设备。该证书用于所述APP访问控制器的API时的权限认证。该证书包括(a)~(c)中的一个或多个:(a)该APP对控制器的N个应用程序编程接口API的操作权限信息,(b)N个API中该APP有权操作的L个API的标识,(c)该N个API中该APP无权操作的R个API的标识,N为大于或等于1的自然数,L为大于或等于1的自然数,并且L小于或等于N,R为大于或等于1的自然数,并且R小于或等于N。
本申请的第二方面提供一种鉴权方法,根据该方法,鉴权设备接收APP的访问请求消息,根据该访问请求消息中的证书中携带的操作权限信息确定所述APP对控制器的N个API的的操作权限。该访问请求消息的证书包括所述(a)~(c)中的一个或多个。
本申请的第三方面提供一种证书生成设备。该设备包括通信接口和证书生成模块。所述通信接口用于接收证书申请信息并发送所述证书申请信息给所述证书生成模块,所述证书申请信息包括应用程序APP;所述证书生成模块用于接收所述通信接口发送的所述证书申请信息,根据所述证书申请信息中的所述APP生成证书,所述证书包括所述(a)~(c)中的一个或多个。
本申请的第四方面提供一种网络设备,该网络设备包括通信接口和鉴权模块,其中,
所述通信接口,用于接收应用程序APP的访问请求消息,所述访问请求消息包括数字证书,所述数字证书中包括所述(a)~(c)中的一个或多个。所述鉴权模块,用于根据所述操作权限信息确定所述APP对所述N个API的操作权限。
在本申请的生成证书的方法、鉴权的方法和设备中,将APP对控制器的API的操作权限携带在证书中,APP访问控制器的API时提供该证书供鉴权设备认证,鉴权设备根据证书中携带的API操作权限确定该APP是否有权操作该APP申请访问的API。这有助于对APP访问API的操作权限控制,且方法简单,简化了鉴权过程。
可选地,所述证书包括(a)所述APP对控制器的N个API的操作权限信息,所述操作权限信息包括所述N个API的标识以及所述APP对所述N个API中的每个API的操作权限。这样,鉴权设备可以获取到该APP对所有API的操作权限信息,从而可以确定该APP对当前申请访问的API是否有权操作。
可选地,所述操作权限信息包括M个API标识集合的标识,该M个API标识集合中的每个API标识集合的标识用于标识该API标识集合中K个API的操作权限,M为大于或等于1的自然数,K为大于或等于0的整数且K小于或等于N。这样,鉴权设备可以根据证书中携带的API标识集合确定该APP有权操作哪些API或者有权访问该API标识集合所标识的资源。
可选地,所述证书包括(a)所述APP对控制器的N个API的操作权限信息,所述操作权限用位图表示。这样,可以有效减少占用鉴权设备的存储资源,并提高鉴权效率。
可选地,所述(a)~(c)中的一个或多个携带在所述证书的扩展信息中。这样,鉴权设备在根据证书对该APP进行认证时,即可确定该APP对控制器的N个API的访问权限,从而快速确定该APP对其当前申请访问的API是否有访问权限。
可选地,所述网络设备为所述控制器或所述控制器的一部分。该网络设备可能是鉴权服务器。
可选地,所述网络设备是软件定义网络SDN控制器。
本申请的又一方面提了供一种网络设备,该网络设备包括处理器和与该处理器通信的存储器,当处理器运行存储器中存储的指令或计算机程序时,可以执行上述的证书生成方法或鉴权方法。
本申请的又一方面提了供一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述的证书生成方法或鉴权方法。
本申请的又一方面提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述的证书生成方法或鉴权方法。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例的一种SDN的组网示意图;
图2为本申请实施例的证书获取方法方法流程示意图;
图3为本申请实施例的证书包括的一种APP对API的操作权限信息的组成示意图;
图4为本申请实施例的证书包括的另一种APP对API的操作权限信息的组成示意图;
图5为本申请实施例的证书包括的又一种APP对API的操作权限信息的组成示意图;
图6为本申请实施例的证书的组成示意图;
图7为本申请实施例的鉴权方法的流程示意图;
图8为本申请实施例的一种策略数据表项的组成示意图;
图9为本申请实施例的另一种策略数据表项的组成示意图;
图10为本申请实施例的又一种策略数据表项的组成示意图;
图11为本申请实施例的一种证书生成设备的组成示意图;
图12为本申请实施例的一种网络设备的组成示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。
本申请中,SDX可以是SDN、SDDC、SDS或软件定义基础设施(英文:software-defined infrastructure,SDI)。以下以SDN为例描述本申请的各个实施方式,但是本申请的各个实施方式也适用于SDX中的SDDC、SDS或SDI等。
如图1所示,一种SDN包括控制器和该控制器控制的X个网元:网元1、网元2、…网元X。X为大于或等于1的自然数。该控制器包括数据-控制接口和应用-控制接口。网元1~网元X中的每个网元通过所述数据-控制接口与控制器通信,以接收控制器发送的转发表,并根据转发表转发报文。X为大于或等于1的自然数。控制器发送给不同网元的转发表可能相同或不同。应用程序APP 1~APP Z通过应用-控制接口与该控制器通信。Z为大于或等于1的自然数。该控制器还提供N个API,比如API 1~API N,N为大于或等于1的自然数。每个API提供一种或多种资源,以供应用程序调用,从而可以使得所述应用程序可以通过调用该API实现对对应资源的控制。比如当某个应用程序APP 1调用API 1时,该应用程序APP 1可以使用1兆比特每秒(Mbps)的带宽转发流量。具体地,APP 1~APP Z可以通过该控制器的ACI调用该控制器提供的API 1~API N中的一个或多个,以通过该控制器来操作该控制器控制的网元1~网元Y。
可选地,DCI部署有开流(OpenFlow)协议。可选地,DCI也可以进一步部署路径计算单元通信协议(英文:Path Computation Element Communication Protocol,PCEP)、边界网关协议(英文:Border Gateway Protocol,BGP)、网络配置(NETCONF)协议、中间系统到中间系统(英文:Intermediate System to Intermediate System,ISIS)协议、开放最短路径优先(Open Shortest Path First,OSPF)协议中的一个或多个。
可选地,所述API可以是开栈(OpenStack)API或OpenFlow API或代表性状态转移(英文:Representational State Transfer,RESTful)API。
在密码学中,证书是指公开密钥证书(英文:public key certificate)。证书又称数字证书(英文:digital certificate)、身份证书(英文:identity certificate)或安全证书。证书是用来证明公开密钥所有者的身份的电子文件。证书发布机构发布的证书通常包括证书有效期、公钥、主体(证书所有者)和签名所使用的算法。其中,证书有效期表示证书的有效时间,公钥是对消息进行加密的公钥密码,主体(证书所有者)标识使用证书的组织,签名所使用的算法用于验证证书的完整性。签名所使用的算法可以确保证书没有被篡改,其原理是,在发布证书时,证书的发布机构根据指纹算法计算整个证书的hash值并将该hash值与证书一起发给证书的使用者,证书的使用者在打开证书时,根据指纹算法计算证书的hash值,并将自己计算得到的hash值与证书的发布机构发布的hash值比较,如果二者相同,则表明证书未被篡改过。在X.509中规范了这个认证的过程与标准。
如图2所示,本申请的一种证书获取方法中,当某个APP,比如APP 1希望获取证书,以通过访问控制器的一个或多个API来执行某些操作时,该APP 1的拥有者一侧的网络设备将该APP 1提交给证书发布机构,证书发布机构的安全设备对APP 1进行安全检测。根据安全设备的安全检测结果确定(a)~(c)中的一个或多个:(a)该APP对控制器的N个API中每个API的操作权限;(b)所述N个API中所述APP有权操作的L个API的标识;(c)所述N个API中所述APP无权操作的R个API的标识。N为大于或等于1的自然数。L为大于或等于1的自然数,并且L小于或等于N。R为大于或等于1的自然数,并且R小于或等于N。证书发布机构的证书生成设备为该APP 1生成证书,该证书中包括APP 1对所述N个API的访问权限或者所述N个API中APP 1有权操作的L个API列表,该证书发布机构的证书发布设备将所述证书发给APP 1的拥有者。证书发布机构是创建证书的组织或个人,证书发布机构只创建证书而不是证书的使用者。
如图3所示,证书中包括的内容(a)可以包括控制器的N个API中、所述APP对每个API的操作权限,图3中,某个APP对控制器的N个API中的API 1和API 3有操作权限,对API 2和API N没有操作权限,对于N个API中的其他API的操作权限,也包括在内容(a)中。
如图4所示,证书中包括的内容所述N个API中所述APP有权操作的L个API的标识。图4中,假定某个APP只对控制器的N个API中的API 1和API 3有操作权限,对控制器的N个API中的其他API没有操作权限,则证书中可以只包括所述APP有操作权限的API的标识的列表:API 1和API 3。
如图5所示,证书中包括的内容所述N个API中所述APP无权操作的R个API的标识。图5中,假定某个APP只对控制器的N个API中的API 1和API 3无操作权限,对控制器的N个API中的其他API有操作权限,则证书中可以只包括所述APP无操作权限的API的标识的列表:API1和API 3。
可选地,所述安全设备对APP 1进行安全检测可以包括:对APP 1进行沙箱测试。
可选地,如图6所示,所述证书可以遵循X.509标准,包括:
1)主体(Subject):证书拥有者的可识别名称,命名规则一般采用X.500格式。
2)主体公钥信息:主体的公钥及算法标识符。
3)证书发布者(Issuer):包括证书发布者的身份信息及签名。
4)证书的有效期(Validity):证书的有效的起始与结束时间。
5)管理信息:证书的版本、加密算法标识、序列号等信息。
6)证书扩展信息(Extensions):包括基本约束,相关标识等。
证书的扩展信息可以包括三个域:类型、可否缺省、值。类型字段定义了扩展值字段中的数据类型。这个类型可以是简单的字符串、数值、日期、图片或一个复杂的数据类型。为便于交互,所有的数据类型都在国际知名组织进行注册。是否可缺省字段是一比特标识位。当一扩展标识为不可缺省时,说明相应的扩展值比较重要,应用程序不能忽略这个信息。如果使用一特殊证书的应用程序不能处理该字段的内容,就应该拒绝此证书。值字段包含了这个扩展实际的数据。
所述(a)~(c)中的一个或多个可以携带在证书生成设备生成的证书的扩展信息中。
如图7所示,当某个APP,比如APP 1,试图访问控制器上的特定API,比如API 1时,鉴权设备验证该APP 1提供的证书是否有效,如果确定APP 1提供的证书有效,则鉴权设备进一步根据该证书中包括的所述(a)~(c),确定APP 1有权访问控制器的哪个或哪些API。鉴权设备可以位于控制器上,或者独立于控制器,或者控制器本身也可以作为鉴权设备完成对APP的鉴权。
具体地,如果证书包括所述内容(a)该APP对控制器的N个API的操作权限信息,则鉴权设备根据内容(a)确定该APP有操作权限的API,确定API 1是否该APP有操作权限的API,也就是说,确定API 1是否所述控制器的N个API之一,如果所述API 1是所述控制器的N个API中的一个,则进一步确定APP 1对API 1的权限是否是“有操作权限”,如果APP 1对API1的操作权限为“有操作权限”,则允许该APP 1操作API 1;如果APP 1对API 1的操作权限为“无操作权限”,则不允许APP 1操作API 1。可选地,如果APP 1对API 1的操作权限为“有操作权限”,除了允许该APP 1操作API 1之外,还可以向APP 1返回响应信息,该响应信息包括指示APP 1对API 1有操作权限的信息。
具体地,如果证书包括所述内容(b)所述N个API中所述APP有权操作的L个API的标识,则鉴权设备根据内容(b)确定该APP试图访问的API是否在内容(b)中,即确定API 1是否在内容(b)中,如果API 1在内容(b)中,则确定APP 1对API 1有操作权限,则允许该APP 1操作API 1;如果APP 1不在内容(b)中,则确定APP 1对API 1无操作权限,则不允许APP 1操作API 1。可选地,如果APP 1对API 1有操作权限,除了允许该APP 1操作API1之外,还可以向APP 1返回响应信息,该响应信息包括指示APP 1对API 1有操作权限的信息。
具体地,如果证书包括所述内容(c)所述N个API中所述APP无权操作的R个API的标识,则鉴权设备根据内容(c)确定该APP试图访问的API是否在内容(c)中,即确定APP 1试图访问的API 1是否在内容(c)中,如果API 1在内容(c)中,则确定APP 1对API 1无操作权限,则不允许该APP 1操作API 1;如果APP 1不在内容(c)中,则确定APP 1对API1有操作权限,则允许APP 1操作API 1。
本申请的生成证书的方法、鉴权的方法和控制器,将APP对控制器的API的操作权限携带在证书中,APP访问控制器的API时提供该证书供鉴权设备认证,鉴权设备根据证书中携带的API操作权限确定该APP是否有权操作该APP申请访问的API。这有助于对APP访问API的操作权限控制,且方法简单,简化了鉴权过程。
可选地,如果APP 1对API 1有操作权限,除了允许该APP 1操作API 1之外,还可以向APP 1返回响应信息,该响应信息包括指示APP 1对API 1有操作权限的信息。
可选地,上述API的地址可以是统一资源定位器(Uniform Resource Locator,URL)。API list可以包括一个或多个API标识。所述API标识可以是编号或其他可以用于唯一标识某个API或某类API的标识。
可选地,上述实施例方式中,所述“操作权限”包括“调用权限”,所述“操作”包括“调用”,比如APP 1对API 1有操作权限,则表示允许APP 1调用API 1;APP 1对API 1无操作权限,则表示不允许APP 1调用API 1。当然,“操作权限”还可以包括其他可能的内容,比如“修改权限”、“替换权限”等中的一个或多个。“修改权限”表示APP对该API有修改的权限,“替换权限”表示该APP可以将该API替换为其他内容。
在一种实施方式中,所述APP的证书中包括内容(a)。API可以是URL。为了节省证书所占用的空间,可以用位图表示该APP对每个API的操作权限。例如,将APP的证书中的APIlist中的每个API用一个二进制位编号,并用二进制数中对应的位的值来表示该APP对对应这个二进制位的API的操作权限。比如,假定控制器有4个API,分别标识为API 1、API2、API 3和API 4。可以将API 1、API 2、API 3和API 4依次对应到一个二进制位,则得到一个二进制序列ABCD,其中A对应API 1并且A作为API 1的标识,A的二进制数值可以表示APP1对API 1的操作权限,BCD类似。可选地,可以将APP有权访问的API对应的二进制位置为1,将APP无权访问的API对应的二进制位置为0,反之亦然。例如,APP对API 1、API 2、API 3和API4的访问权限分别对应4个二进制位的值。如果APP有权操作API 1和API 2而无权操作API 3和API 4,则该APP对控制器的所有API的操作权限值为1100,该APP的证书中包括该APP对4个API的操作权限值1100。当控制器确定该APP提供的证书中包括的控制器的所有API的操作权限值为1100时,该控制器确定该APP有权访问该控制器的API 1和API 2,无权访问该控制器的API 3和API 4。
在一种实施方式中,APP提供的证书包括内容(b),则该APP的证书包括一个或多个API标识,所述一个或多个API标识用于表示该APP有权操作该一个或多个API标识所标识的API。
在一种实施方式中,APP提供的证书包括内容(c),则该APP的证书包括一个或多个API标识,所述一个或多个API标识用于表示该APP无权操作该一个或多个API标识所标识的API。
在一种实施方式中,控制器的多个API被分为多个API标识集合(API Set),每个APISet可以包括一个或多个API标识,每个API Set可以用于标识一组特定的资源。在一种实施方式中,所述APP对所述API标识集合中的API标识所标识的API的操作权限相同。在另一种实施方式中,所述APP对所述API标识集合中的APIAPI标识所标识的API的操作权限可以不同,多个不同操作权限的API组成一个访问权限组合,如果APP有权访问该API标识集合,则该APP有权操作该访问权限组合。APP提供的证书中可以包括一个或多个API Set。例如,控制器有4个API,4个API的标识分别为API 1、API 2、API 3和API 4。API Set 1包括API1和API 2,API Set 2包括API 3,API Set 3包括API 4。在一种实施方式中,API Set中包含的API标识列表用于表示该APP有权操作API Set中的API,在这种情况下,如果APP 1有权操作API 1和API 2而无权操作API 3和API 4,则APP 1的证书中会只包括API Set 1而不包括API Set 2和API Set 3。在另一种实施方式中,API Set中包含的API标识列表用于表示该APP无权操作API Set中的API而有权操作N个API中、除了该API Set的其他API,在这种情况下,如果APP 1有权操作API 1和API 2而无权操作API 3和API 4,则APP 1的证书中会只包括API Set 2和API Set 3而不包括API Set 1。
在一种实施方式中,鉴权设备获取的APP对控制器的API的操作权限信息,可以以策略数据表项的方式保存在鉴权设备或控制器或与鉴权设备通信的其他存储设备上,策略数据表项的格式和内容如图8~10所示,包括(a’)~(c’)中的一个或多个:(a’)APP标识和该APP对控制器的N个API的操作权限的映射关系,(b’)APP标识和所述N个API中所述APP有权操作的L个API的标识的映射关系,(c’)APP标识和所述N个API中所述APP无权操作的R个API的标识的映射关系。
根据图8,对于任意一个APP,比如APP 1,该APP 1的策略数据表项包括该APP的标识APP 1、以及该APP 1对控制器的所有API的操作权限,Y表示APP 1对对应的API有操作权限,N表示APP 1对该API没有操作权限,当然,操作权限也可以用其他符号来表示,比如用某个数字或字符来表示APP 1对该API有操作权限,而用其他的不同数字或字符来表示APP 1对该API没有操作权限。
根据图9,对于一个APP,比如APP 1,该APP 1的策略数据表项包括该APP的标识APP1、以及控制器的所有API中该APP 1有操作权限的API的标识列表API Li st 1,API List 1包括该APP 1有操作权限的API的标识API 1、API 2、API 5和API 7。
根据图10,对于一个APP,比如APP 1,该APP 1的策略数据表项包括该APP的标识APP1、以及控制器的所有API中该APP 1没有操作权限的API的标识列表API Li st 1,APILi st1包括该APP 1无操作权限的API的标识API 1、API 2、API 5和API 7。
在一种实施方式中,鉴权设备可以只维护以上(a’)、(b’)和(c’)中的一种,或者只维护APP与该APP有权操作的API集合标识的映射关系,由于这些映射关系相对静态,便于维护鉴权设备。可选地,鉴权设备包含的策略数据表项可以被老化,以减少策略数据看的大小。
在一种实施方式中,鉴权设备可以是单独的网络设备,比如服务器,也可以是控制器的一部分。
如图11所示,图2所示的证书生成设备包括通信接口1102和证书生成模块1104,所述通信接口1102用于接收证书申请信息并发送所述证书申请信息给所述证书生成模块,所述证书申请信息包括应用程序APP;所述证书生成模块1104用于接收所述通信接口发送的所述证书申请信息,根据所述证书申请信息中的所述APP生成证书,所述证书包括上述(a)~(c)中的一个或多个。该通信接口还可以用于向发出证书申请信息的网络设备返回包含APP对控制器的API的操作权限信息的证书。另外,该证书生成设备还可以包括安全检测模块1106,用于对通信接口1102收到的APP进行安全检测,以确定该APP的安全特性,在确定该APP的安全特性后确定该APP有权操作的控制器API。可选地,该证书生成设备可以不包括安全检测模块1106,而是在证书生成设备之外设置独立的安全检测设备,该安全检测设备对通信接口1102收到的APP进行安全检测,以确定该APP的安全特性,在确定该APP的安全特性后确定该APP有权操作的控制器API。可选地,证书生成模块1104可以通过通用中央处理器CPU或专用集成电路(Application Specific Integrated Circuit,ASIC)或现场可编程门阵列(Field-Programmable Gate Array,FPGA)来实现
如图12所示,图4所示的鉴权设备包括通信接口1202和鉴权模块1204。所述通信接口1202用于接收应用程序APP的访问请求消息,所述该访问请求消息包括数字证书,所述该数字证书中包括上述(a)~(c)中的一个或多个;所述鉴权模块1204用于根据所述操作权限信息确定所述该APP对所述N个API的操作权限。可选地,鉴权模块1204可以通过CPU或ASIC或FPGA来实现。可选地,该鉴权设备可以是能够实现上述鉴权方法的任意网络设备。该鉴权设备可以是独立于控制器的网络设备,也可以是控制器的一部分。该鉴权设备为控制器的一部分时,该鉴权设备可以通过物理器件或者软件模块来实现。
本申请的又一方面提了供一种网络设备,该网络设备包括处理器和与该处理器通信的存储器,当处理器运行存储器中存储的指令或计算机程序时,可以执行上述的证书生成方法或鉴权方法。
本申请的又一方面提了供一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述的证书生成方法或鉴权方法。
本申请的又一方面提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述的证书生成方法或鉴权方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者通过所述计算机可读存储介质进行传输。所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质。例如,可以利用磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))来存储或传输所述计算机指令。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元或模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元/模块可以集成在一个处理单元/模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元/模块集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。比如,鉴权模块、证书生成模块等都可以通过CPU或ASIC或FPGA来实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。

Claims (26)

1.一种获取证书的方法,其特征在于,包括:
网络设备向证书发布设备发送证书申请信息,所述证书申请信息包括应用程序APP的标识;
所述网络设备接收所述证书发布设备返回的所述APP的证书,所述证书是由所述证书发布设备根据所述APP生成的;所述证书用于所述APP访问控制器的API时的权限认证;
所述证书包括(a)~(c)中的一个或多个操作权限信息:(a)所述APP对所述控制器的N个应用程序编程接口API的操作权限信息,(b)所述N个API中所述APP有权操作的L个API的标识,(c)所述N个API中所述APP无权操作的R个API的标识,N为大于或等于1的自然数,L为大于或等于1的自然数,并且L小于或等于N,R为大于或等于1的自然数,并且R小于或等于N。
2.根据权利要求1所述的方法,其特征在于,所述证书包括(a)所述APP对控制器的N个应用程序接口API的操作权限信息,所述操作权限信息包括所述N个API的标识以及所述APP对所述N个API中的每个API的操作权限。
3.根据权利要求1或2所述的方法,其特征在于,所述APP对控制器的N个应用程序接口API的操作权限信息包括M个API标识集合的标识,该M个API标识集合中的每个API标识集合的标识用于标识该API标识集合中K个API的操作权限,M为大于或等于1的自然数,K为大于或等于0的整数且K小于或等于N。
4.根据权利要求1或2所述的方法,其特征在于,所述证书包括(a)所述APP对控制器的N个API的操作权限信息,所述操作权限信息用位图表示。
5.根据权利要求1或2所述的方法,其特征在于,所述(a)~(c)中的一个或多个携带在所述证书的扩展信息中。
6.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行如权利要求1-5中任意一项所述的方法。
7.一种网络设备,其特征在于,包括处理器和与所述处理器通信的存储器,所述存储器存储有指令,当其在计算机上运行时,使得计算机执行如权利要求1-5中任意一项所述的方法。
8.一种鉴权方法,其特征在于,包括:
鉴权设备接收应用程序APP的访问请求消息,所述访问请求消息包括数字证书,所述数字证书中包括(a)~(c)中的一个或多个操作权限信息:(a)所述APP对控制器的N个应用程序编程接口API的操作权限信息,(b)所述N个API中所述APP有权操作的L个API的标识,(c)所述N个API中所述APP无权操作的R个API的标识,N为大于或等于1的自然数,L为大于或等于1的自然数,并且L小于或等于N,R为大于或等于1的自然数,并且R小于或等于N;
所述鉴权设备根据所述一个或多个操作权限信息确定所述APP对所述一个或多个API的操作权限。
9.根据权利要求8所述的方法,其特征在于,若所述数字证书中包括(a)所述APP对控制器的N个API的操作权限信息,所述操作权限信息包括所述N个API的标识以及所述APP对所述N个API中的每个API的操作权限。
10.根据权利要求8或9所述的方法,其特征在于,所述APP对控制器的N个API的操作权限信息包括M个API标识集合的标识,该M个API标识集合中的每个API标识集合的标识用于标识所述API标识集合中K个API的操作权限,M为大于或等于1的自然数,K为大于或等于0的整数且K小于或等于N。
11.根据权利要求8或9所述的方法,其特征在于,若所述数字证书中包括(a)所述APP对控制器的N个API的操作权限信息,该操作权限信息用位图表示。
12.根据权利要求8或9所述的方法,其特征在于,所述(a)~(c)中的一个或多个携带在所述证书的扩展信息中。
13.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行如权利要求8-12任意一项所述的方法。
14.一种网络设备,其特征在于,包括处理器和与所述处理器通信的存储器,所述存储器存储有指令,当其在计算机上运行时,使得计算机执行如权利要求8-12任意一项所述的方法。
15.一种证书生成设备,其特征在于,包括通信接口和证书生成模块,其中:
所述通信接口用于接收证书申请信息并发送所述证书申请信息给所述证书生成模块,所述证书申请信息包括应用程序APP的标识;
所述证书生成模块用于接收所述通信接口发送的所述证书申请信息,根据所述证书申请信息中的所述APP生成证书,所述证书包括(a)~(c)中的一个或多个操作权限信息:(a)所述APP对控制器的N个应用程序编程接口API的操作权限信息,(b)所述N个API中所述APP有权操作的L个API的标识,(c)所述N个API中所述APP无权操作的R个API的标识,N为大于或等于1的自然数,L为大于或等于1的自然数,并且L小于或等于N,R为大于或等于1的自然数,并且R小于或等于N。
16.根据权利要求15所述的设备,其特征在于,若所述证书包括(a)所述APP对控制器的N个API的操作权限信息,所述操作权限信息包括所述N个API的标识以及所述APP对所述N个API中的每个API的操作权限信息。
17.根据权利要求15或16所述的设备,其特征在于,所述APP对控制器的N个API的操作权限信息包括M个API标识集合的标识,所述M个API标识集合中的每个API标识集合的标识用于标识所述API标识集合中的K个API的操作权限,M为大于或等于1的自然数,K为大于或等于1的自然数且K小于或等于N。
18.根据权利要求15或16所述的设备,其特征在于,若所述证书包括(a)所述APP对控制器的N个API的操作权限信息,所述操作权限信息用位图表示。
19.根据权利要求15或16所述的设备,其特征在于,所述(a)~(c)中的一个或多个携带在所述证书的扩展信息中。
20.一种网络设备,其特征在于,包括通信接口和鉴权模块,其中,
所述通信接口,用于接收应用程序APP的访问请求消息,所述访问请求消息包括数字证书,所述数字证书中包括(a)~(c)中的一个或多个操作权限信息:(a)所述APP对控制器的N个应用程序编程接口API的操作权限信息,(b)所述N个API中所述APP有权操作的L个API的标识,(c)所述N个API中所述APP无权操作的R个API的标识,N为大于或等于1的自然数,L为大于或等于1的自然数,并且L小于或等于N,R为大于或等于1的自然数,并且R小于或等于N;
所述鉴权模块,用于根据所述一个或多个操作权限信息确定所述APP对所述N个API的操作权限。
21.根据权利要求20所述的网络设备,其特征在于,所述数字证书中包括(a)所述APP对控制器的N个API的操作权限信息,所述操作权限信息包括所述N个API的标识以及所述APP对所述N个API中的每个API的操作权限。
22.根据权利要求20或21所述的网络设备,其特征在于,所述APP对控制器的N个API的操作权限信息包括M个API标识集合的标识,所述M个API标识集合中的每个API标识集合的标识用于标识所述API标识集合中的K个API的操作权限,M为大于或等于1的自然数,K为大于或等于1的自然数且K小于或等于N。
23.根据权利要求20所述的网络设备,其特征在于,所述数字证书中包括(a)所述APP对控制器的N个API的操作权限信息,所述操作权限信息用位图表示。
24.根据权利要求20或21所述的网络设备,其特征在于,所述(a)~(c)中的一个或多个携带在所述证书的扩展信息中。
25.根据权利要求20或21所述的网络设备,其特征在于,所述网络设备为所述控制器或所述控制器的一部分。
26.根据权利要求20或21所述的网络设备,其特征在于,所述网络设备是软件定义网络SDN控制器。
CN201611238763.5A 2016-12-28 2016-12-28 一种获取证书、鉴权的方法及网络设备 Active CN108259413B (zh)

Priority Applications (5)

Application Number Priority Date Filing Date Title
CN201611238763.5A CN108259413B (zh) 2016-12-28 2016-12-28 一种获取证书、鉴权的方法及网络设备
JP2019534954A JP6940240B2 (ja) 2016-12-28 2017-09-11 証明書取得方法、認証方法及びネットワークデバイス
PCT/CN2017/101307 WO2018120913A1 (zh) 2016-12-28 2017-09-11 一种获取证书、鉴权的方法及网络设备
EP17886998.8A EP3550786B1 (en) 2016-12-28 2017-09-11 Certificate acquisition method, authentication method and network device
US16/456,706 US11451531B2 (en) 2016-12-28 2019-06-28 Certificate obtaining method, authentication method, and network device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611238763.5A CN108259413B (zh) 2016-12-28 2016-12-28 一种获取证书、鉴权的方法及网络设备

Publications (2)

Publication Number Publication Date
CN108259413A CN108259413A (zh) 2018-07-06
CN108259413B true CN108259413B (zh) 2021-06-01

Family

ID=62710331

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611238763.5A Active CN108259413B (zh) 2016-12-28 2016-12-28 一种获取证书、鉴权的方法及网络设备

Country Status (5)

Country Link
US (1) US11451531B2 (zh)
EP (1) EP3550786B1 (zh)
JP (1) JP6940240B2 (zh)
CN (1) CN108259413B (zh)
WO (1) WO2018120913A1 (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10694250B2 (en) 2018-08-30 2020-06-23 At&T Intellectual Property I, L.P. Audiovisual content screening for locked application programming interfaces
CN109408250A (zh) * 2018-09-27 2019-03-01 天津字节跳动科技有限公司 调用应用程序编程接口api方法、装置、电子设备
CN109829287A (zh) * 2018-11-20 2019-05-31 新疆福禄网络科技有限公司 Api接口权限访问方法、设备、存储介质及装置
US11516253B1 (en) * 2019-03-28 2022-11-29 Amazon Technologies, Inc. Identity-aware filtering proxy for virtual networks
US10944578B2 (en) * 2019-07-24 2021-03-09 Advanced New Technologies Co., Ltd. Identity verification
CN111147259B (zh) * 2019-12-26 2022-01-14 华为技术有限公司 鉴权方法和设备
CN112383557B (zh) * 2020-11-17 2023-06-20 北京明朝万达科技股份有限公司 一种安全接入网关及工业设备通信管理方法
CN114598481A (zh) * 2020-11-19 2022-06-07 卫宁健康科技集团股份有限公司 一种授权认证方法、装置、电子设备及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102710640A (zh) * 2012-05-31 2012-10-03 中国联合网络通信集团有限公司 请求授权的方法、装置和系统
CN102819715A (zh) * 2012-08-15 2012-12-12 腾讯科技(深圳)有限公司 Api监控方法和装置

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2616701A (en) * 1999-10-26 2001-06-06 At Home Corporation Method and system for authorizing and authenticating users
CN101714201B (zh) 2000-09-21 2016-02-03 黑莓有限公司 代码签字系统及方法
JP2002351563A (ja) * 2001-05-30 2002-12-06 Canon Inc 情報処理装置、情報処理方法およびプログラム
JP4606409B2 (ja) * 2004-04-15 2011-01-05 パナソニック株式会社 アクセス制御装置及び電子機器
JP4727278B2 (ja) * 2005-04-05 2011-07-20 株式会社エヌ・ティ・ティ・ドコモ アプリケーションプログラム検証システム、アプリケーションプログラム検証方法およびコンピュータプログラム
EP1998269A4 (en) * 2006-02-21 2012-02-29 Nec Corp PROGRAM EXECUTION MONITORING SYSTEM, EXECUTION MONITORING METHOD, COMPUTER CONTROL PROGRAM
CN101854624A (zh) * 2009-04-02 2010-10-06 联芯科技有限公司 移动终端的动态加载软件验证方法、监控方法和装置
WO2013080632A1 (ja) * 2011-11-30 2013-06-06 日本放送協会 受信装置、プログラム及び受信方法
US9009856B2 (en) * 2011-12-16 2015-04-14 Dell Products L.P. Protected application programming interfaces
EP2959707B1 (en) * 2013-02-22 2020-08-26 Adaptive Mobile Security Limited Network security system and method
KR101934025B1 (ko) * 2013-02-22 2018-12-31 삼성전자주식회사 보안 정책을 적용하는 단말기, 서버 및 그 제어 방법
WO2015118751A1 (ja) * 2014-02-06 2015-08-13 ソニー株式会社 情報処理装置、情報処理方法、プログラム、及びサーバ
JP6424499B2 (ja) * 2014-07-10 2018-11-21 株式会社リコー 画像形成装置、情報処理方法、及びプログラム
WO2016013200A1 (ja) * 2014-07-22 2016-01-28 日本電気株式会社 情報処理システム及びネットワークリソース管理方法
CN105704154B (zh) * 2016-04-01 2019-11-05 金蝶软件(中国)有限公司 一种基于RESTful的服务处理方法、装置及系统

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102710640A (zh) * 2012-05-31 2012-10-03 中国联合网络通信集团有限公司 请求授权的方法、装置和系统
CN102819715A (zh) * 2012-08-15 2012-12-12 腾讯科技(深圳)有限公司 Api监控方法和装置

Also Published As

Publication number Publication date
WO2018120913A1 (zh) 2018-07-05
JP6940240B2 (ja) 2021-09-22
EP3550786A1 (en) 2019-10-09
US20190327224A1 (en) 2019-10-24
EP3550786B1 (en) 2022-02-16
CN108259413A (zh) 2018-07-06
JP2020514863A (ja) 2020-05-21
EP3550786A4 (en) 2019-12-04
US11451531B2 (en) 2022-09-20

Similar Documents

Publication Publication Date Title
CN108259413B (zh) 一种获取证书、鉴权的方法及网络设备
CN110463237B (zh) 用于管理服务器和用户设备之间的通信的方法
US20200396060A1 (en) Identity Management Method, Device, Communications Network, And Storage Medium
US10084790B2 (en) Peer to peer enterprise file sharing
CN101605137B (zh) 安全分布式文件系统
CN115758444A (zh) 区块链实现的方法和系统
CN112671720B (zh) 一种云平台资源访问控制的令牌构造方法、装置及设备
CN111181944B (zh) 通信系统及信息发布方法、装置、介质、设备
CN111241492A (zh) 一种产品多租户安全授信方法、系统及电子设备
JP2020078067A (ja) モバイルデバイスを有するユーザがスタンドアロンコンピューティングデバイスの能力にアクセスすることをセキュアに可能にするためのシステム及び方法
WO2014169802A1 (zh) 终端、网络侧设备、终端应用控制方法及系统
CN108809631B (zh) 一种量子密钥服务管理系统及方法
CN106685901B (zh) 用于处理跨域数据的方法、第一服务器及第二服务器
CN106537962B (zh) 无线网络配置、接入和访问方法、装置及设备
CN114978698B (zh) 网络接入方法、目标终端、凭证管理网元及验证网元
Schulz et al. d 2 Deleting Diaspora: Practical attacks for profile discovery and deletion
US11171786B1 (en) Chained trusted platform modules (TPMs) as a secure bus for pre-placement of device capabilities
CN114598724A (zh) 电力物联网的安全防护方法、装置、设备及存储介质
CN112307116A (zh) 基于区块链的数据访问控制方法、装置及设备
CN115860017B (zh) 一种数据处理方法和相关装置
CN113785547B (zh) 一种Profile数据的安全传输方法和相应装置
EP4340297A1 (en) Service function authorization
US20230229752A1 (en) Attestation of application identity for inter-app communications
CN109120631B (zh) 功能调用系统、方法、装置及存储介质
CN116055105A (zh) 云存储数据的处理方法、装置和服务器

Legal Events

Date Code Title Description
PB01 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