CN111416793A - 基于开放平台的权限控制方法和嵌入式设备 - Google Patents

基于开放平台的权限控制方法和嵌入式设备 Download PDF

Info

Publication number
CN111416793A
CN111416793A CN201910015464.2A CN201910015464A CN111416793A CN 111416793 A CN111416793 A CN 111416793A CN 201910015464 A CN201910015464 A CN 201910015464A CN 111416793 A CN111416793 A CN 111416793A
Authority
CN
China
Prior art keywords
application
party application
software development
equipment
development kit
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
Application number
CN201910015464.2A
Other languages
English (en)
Other versions
CN111416793B (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.)
Hangzhou Hikvision Digital Technology Co Ltd
Original Assignee
Hangzhou Hikvision Digital Technology 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 Hangzhou Hikvision Digital Technology Co Ltd filed Critical Hangzhou Hikvision Digital Technology Co Ltd
Priority to CN201910015464.2A priority Critical patent/CN111416793B/zh
Publication of CN111416793A publication Critical patent/CN111416793A/zh
Application granted granted Critical
Publication of CN111416793B publication Critical patent/CN111416793B/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/0876Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/161Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
    • H04L69/162Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields involving adaptations of sockets based mechanisms

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Power Engineering (AREA)
  • Stored Programmes (AREA)

Abstract

本发明公开了一种基于开放平台的权限控制方法以及一种基于开放平台的嵌入式设备。基于本发明,嵌入式设备可以通过运行设备主应用来提供用于第三方应用接入的开放平台,可以使得嵌入式设备借助第三方应用实现服务范围的扩展,并且,第三方应用中集成的软件开发工具包还可以通过与设备主应用的交互实现对第三方应用的权限控制,从而能够在对嵌入式设备实施扩展的基础上确保信息安全,而且,基于软件开发工具包的权限控制不会妨碍第三方应用与设备主应用基于开放平台的集成。

Description

基于开放平台的权限控制方法和嵌入式设备
技术领域
本发明涉及安防领域,尤其涉及一种基于开放平台的权限控制方法以及一种基于开发平台的嵌入式设备。
背景技术
在安防领域中,通常会在监控场景中布设嵌入式设备,例如IPC(IP Camera,网络摄像机),用以提供例如视频流等基于信息采集的设备服务。
若需要引入例如算法应用等其他服务对采集的信息做进一步处理,则需要在嵌入设备做开发。
对嵌入式设备的开发可以通过在嵌入式设备按需导入应用软件来实现。然而,嵌入式设备提供的某些设备服务可能会涉及到一些敏感信息,而导入应用对这些敏感信息的访问有可能会存在信息安全的隐患。因此,如何在对嵌入式设备实施扩展的基础上确保信息安全,成为现有技术中有待解决的技术问题。
发明内容
本发明的一个实施例提供了一种基于开放平台的权限控制方法,所述权限控制方法应用于具有设备主应用和第三方应用的嵌入式设备,设备主应用提供第三方应用接入的开放平台,第三方应用中集成有用于第三方应用与设备主应用对接的软件开发工具包,并且,所述权限控制方法包括:
软件开发工具包在被第三方应用调用获取嵌入式设备的设备服务时,向嵌入式设备的设备主应用发送针对设备服务的鉴权请求、并在鉴权请求中携带第三方应用的应用唯一标识;
设备主应用根据接收到的鉴权请求,利用与应用唯一标识和设备服务绑定的权限配置对第三方应用获取设备服务的权限进行鉴权、并向软件开发工具包返回鉴权结果;
软件开发工具包根据设备主应用返回的鉴权结果,判断第三方应用对设备服务的访问权限;
若第三方应用具有对设备服务的访问权限,则第三方应用通过调用软件开发工具包获取设备主应用返回的设备服务;
若第三方应用对设备服务无访问权限,则软件开发工具包向第三方应用返回获取失败的响应。
可选地,所述权限控制方法进一步包括:软件开发工具包与设备主应用建立域套接字通讯连接。
可选地,软件开发工具包与主设备应用的通讯方式为进程间通讯。
可选地,软件开发工具包为域套接字通讯连接的客户端,设备主应用为域套接字通讯连接的服务端、并监听软件开发工具包。
可选地,所述软件开发工具包中包含有多个用于被第三方应用调用以获取设备服务的OpenAPI,所述软件开发工具包针对设备服务对应的每个OpenAPI向设备主应用发起鉴权请求。
可选地,所述权限控制方法进一步包括:设备主应用从嵌入式设备的设备客户端接收与应用唯一标识和设备服务绑定的权限配置并保存。
本发明的另一个实施例提供了另一种基于开放平台的权限控制方法,所述权限控制方法应用于具有设备主应用和第三方应用的嵌入式设备,设备主应用提供第三方应用接入的开放平台,第三方应用中集成有用于第三方应用与设备主应用对接的软件开发工具包,并且,所述权限控制方法包括:
软件开发工具包在被第三方应用调用获取嵌入式设备的设备服务时,向嵌入式设备的设备主应用发送针对设备服务的鉴权请求、并在鉴权请求中携带第三方应用的应用唯一标识;
软件开发工具包根据设备主应用基于与应用唯一标识和设备服务绑定的权限配置返回的鉴权结果,判断第三方应用对设备服务的访问权限;
若第三方应用具有对设备服务的访问权限,则软件开发工具包在第三方应用的调用下向第三方应用返回从获取设备主应用获取的设备服务;
若第三方应用对设备服务无访问权限,则软件开发工具包向第三方应用返回获取失败的响应。
可选地,所述权限控制方法进一步包括:软件开发工具包与设备主应用建立域套接字通讯连接。
可选地,软件开发工具包与主设备应用基于域套接字通讯连接的通讯方式为进程间通讯。
可选地,所述软件开发工具包中包含有多个用于被第三方应用调用以获取设备服务的OpenAPI,所述软件开发工具包针对设备服务对应的每个OpenAPI向设备主应用发起鉴权请求。
本发明的另一个实施例提供了一种开放平台的嵌入式设备,所述嵌入式设备包括处理器,所述处理器用于运行设备主应用和第三方应用,其中:
主设备应用用于提供第三方应用接入的开放平台;
第三方应用中集成有用于第三方应用与设备主应用对接的软件开发工具包;
软件开发工具包在被第三方应用调用获取嵌入式设备的设备服务时,向嵌入式设备的设备主应用发送针对设备服务的鉴权请求、并在鉴权请求中携带第三方应用的应用唯一标识;
设备主应用根据接收到的鉴权请求,利用与应用唯一标识和设备服务绑定的权限配置对第三方应用获取设备服务的权限进行鉴权、并向软件开发工具包返回鉴权结果;
软件开发工具包根据设备主应用返回的鉴权结果,判断第三方应用对设备服务的访问权限;
若第三方应用具有对设备服务的访问权限,则第三方应用通过调用软件开发工具包获取设备主应用返回的设备服务;
若第三方应用对设备服务无访问权限,则软件开发工具包向第三方应用返回获取失败的响应。
可选地,软件开发工具包与设备主应用建立域套接字通讯连接。
可选地,软件开发工具包为域套接字通讯连接的客户端,设备主应用为域套接字通讯连接的服务端、并监听软件开发工具包。
可选地,软件开发工具包与主设备应用的通讯方式为进程间通讯。
可选地,所述软件开发工具包中包含有多个用于被第三方应用调用以获取设备服务的OpenAPI,所述软件开发工具包针对设备服务对应的每个OpenAPI向设备主应用发起鉴权请求。
可选地,设备主应用从嵌入式设备的设备客户端接收与应用唯一标识和设备服务绑定的权限配置并保存。
如上可见,基于上述实施例,嵌入式设备可以通过运行设备主应用来提供用于第三方应用接入的开放平台,可以使得嵌入式设备借助第三方应用实现服务范围的扩展,并且,第三方应用中集成的软件开发工具包还可以通过与设备主应用的交互实现对第三方应用的权限控制,从而能够在对嵌入式设备实施扩展的基础上确保信息安全,而且,基于软件开发工具包的权限控制不会妨碍第三方应用与设备主应用基于开放平台的集成。
附图说明
图1为一个实施例中基于开放平台的服务系统的框架结构示意图;
图2为基于如图1所示服务系统的服务开发机制的原理性示意图;
图3为如图1所示服务系统中的嵌入式设备基于软件开发工具包的内部服务框架的原理性示意图;
图4为图3中示出的软件开发工具包的内部架构的示意图;
图5为如图4所示内部架构的一实例示意图;
图6为如图1所示服务系统中对第三方应用的权限管理机制的原理性示意图;
图7为基于如图6所示权限管理机制的权限配置流程示意图;
图8为基于如图6所示权限管理机制的一种基于开放平台的权限控制方法的流程示意图;
图9为如图8所示权限控制方法的一种具体实现流程的示意图;
图10为基于如图6所示权限管理机制的另一种基于开放平台的权限控制方法的流程示意图。
具体实施方式
为使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举实施例,对本发明进一步详细说明。
图1为一个实施例中基于开放平台的服务系统的框架结构示意图。请参见图1,在一个实施例中,一种基于开放平台的服务系统包括嵌入式设备10、设备客户端20以及第三方客户端30。
在图1中,嵌入式设备10装载有设备主应用200和第三方应用300。设备主应用200则是嵌入式设备10出厂自带的应用,可选地,嵌入式设备10还可以装在出厂自带的设备子应用210。第三方应用300则是嵌入式设备10出厂后导入的应用。或者,设备主应用200和设备子应用210可以认为是嵌入式设备10的植入应用,第三方应用300可以认为是嵌入式设备10的导入应用。
设备主应用200、设备子应用210以及第三方应用300可以共享嵌入式设备10的硬件资源100。例如,共享的硬件资源100可以包括:处理器110,用于运行设备主应用200、设备子应用210以及第三方应用300的处理器110;AI(Artificial Intelligence,人工智能)芯片120,用于提供智能分析算法(Intelligent Analysis Algorithm)的硬件支持;非易失性存储介质130,例如FLASH(闪存)等,用于存储设备主应用200、设备子应用210以及第三方应用300的应用包;易失性存储介质140,例如DDR(Double Data Rate,双倍速率)内存等,用于设备主应用200、设备子应用210、第三方应用300运行缓存;网卡150,用于嵌入式设备10的网络交互;以及,外设接口160,用于嵌入式设备10的报警输出。
嵌入式设备10通过运行设备主应用200或者同时运行设备主应用200和设备子应用210,可以支持各种设备服务的正常提供,设备服务具体可以包括视频流(例如YUV视频流)、报警、录像、图片、日志、网络、时间、元数据(metadata)结构化信息等。可以理解的是,此处仅仅是对设备服务的举例说明,设备服务的范围可以不限于此。
嵌入式设备10通过运行设备主应用200还可以与设备客户端20交互,以接受设备客户端20对嵌入式设备10的管理。
另外,嵌入式设备10通过运行设备主应用200,可以提供用于第三方应用300接入的开放平台(Open Platform)。在本实施例中,开放平台可以认为是开放给第三方集成商基于第三方应用300进行服务开发的平台,第三方集成商提供的每个第三方应用300可以通过集成的SDK(Software Development Kit,软件开发工具包)400接入开放平台,从而集成到嵌入式设备10中。由于第三方应用300中集成的用于第三方应用300与设备主应用200的对接的SDK 400是对第三方开放的,因此,SDK 400也可以称为OpenSDK(Open SoftwareDevelopment Kit,开放式软件开发工具包)。
嵌入式设备10通过运行第三方应用300可以基于嵌入式设备10的设备服务而提供第三方开发服务310,即,可以允许第三方集成商利用第三方应用300而在嵌入式设备10开发处可提供给第三方客户端30的第三方开发服务310。
图2为基于如图1所示服务系统的服务开发机制的原理性示意图。请参见图2,嵌入式设备10的设备厂商51为了支持第三方应用300的接入,可以向第三方集成商53提供用于接入开放平台的OpenSDK 400;第三方集成商53可以根据开发需求从应用开发者52选择相应的第三方应用300、并将OpenSDK 400与第三方应用300编译封装在一个应用包中,然后即可导入至嵌入式设备10。例如,设备厂商51可以提供一个门户平台,用于第三方集成商53在线执行应用包的封装以及向嵌入式设备10的导入。
由此,通过在嵌入式设备10导入集成有OpenSDK 400的各种第三方应用300,即可由导入的第三方应用300通过OpenSDK 400在嵌入式设备10获取设备服务、并基于设备服务提供相应的第三方开发服务310。
第三方开发服务310可以包括智能AI、云服务(Cloud Service)、终端体验、智能家居(Smart Home)、第三方平台接入(Third Party Platform Access)等,其中,智能AI可以提供更精准的智能算法服务,例如分析算法(Intelligent Analysis Algorithm);云服务可以对接各种定制化协议用于云存储、健康监测服务等;终端体验可以提供报警推送、可视化数据分析等服务。从而,基于各种第三方开发服务310,可以构建形成基于开放平台的智能生态圈。
如前所述,每个第三方应用300中集成有OpenSDK 400,并且,每个第三方应用300通过调用其集成的OpenSDK 400与设备主应用200通讯,以实现设备服务与第三方开发服务310的对接。
在上述实施例的服务系统中,嵌入式设备10可以通过运行设备主应用200来提供用于第三方应用300接入的开放平台,因而嵌入式设备10可以灵活地接受第三方的服务开发,而且,由于接入开放平台的第三方应用300可以通过调用内部集成的OpenSDK 400而获取嵌入式设备10的设备服务,因而使得嵌入式设备10可以借助第三方应用300提供基于设备服务的第三方开发服务310,从而使嵌入式设备10的服务范围易于扩展。
图3为如图1所示服务系统中的嵌入式设备基于软件开发工具包的内部服务框架的原理性示意图。如图3所示,每个第三方应用300集成的OpenSDK 400可以看作使该第三方应用300与设备主应用200之间的通讯桥梁。
图4为图3中示出的软件开发工具包的内部架构的示意图。如图4所示,作为第三方应用300与设备主应用200之间的通讯桥梁的OpenSDK 400,其中可以包含多个OpenAPI(Open Application Programming Interface,开放应用程序编程接口)420,这些OpenAPI420用于被第三方应用300调用以获取设备服务。
具体地,OpenSDK 400中的OpenAPI 420可以包括服务调用API 421和协议调用API422,其中,服务调用API 421用于为第三方应用300获取对应的设备服务提供调用接口,协议调用API 422用于为第三方应用300与设备主应用200通讯使用对应的通讯协议提供调用接口。
并且,OpenSDK 400中还可以包含权限管理及许可校验模块410,用于对第三方应用300在嵌入式设备10的运行进行许可校验、以及对第三方应用300调用多个OpenAPI420的权限进行权限控制。
图5为如图4所示内部架构的一实例示意图。请参见图5,在一个具体实例中,以服务调用API 421包括对应如下设备服务的API为例:包括视频流(例如YUV视频流)、报警、录像、图片、日志、网络、时间、元数据结构化信息。并且,在如图5所示的实例中,还以协议调用API 422包括对应如下通讯协议的API为例:RTSP(Real Time Streaming Protocol,实时流传输协议)、ONVIF(Open Network Video Interface Forum,开放型网络视频接口论坛)协议、ISAPI(Internet Server Application Programming Interface,互联网服务器应用程序接口)协议、以及可扩展的自定义ISAPI协议,其中,自定义ISAPI动态扩展协议支持第三方APP通过扩展URL的方式自定义ISAPI协议。
假设权限管理及许可校验模块410对第三方应用300的许可校验通过、并且通过权限鉴权过程确认第三方应用300具有使用ONVIF协议获取报警组件这一设备服务的权限,则该第三方应用300可以调用服务调用API 421中对应报警组件的API,从而通过与设备主应用200之间基于ONVIF协议的交互而与报警服务对接,例如报警事件的注册和注销、报警联动能力的获取、报警事件的触发。
假设权限管理及许可校验模块410对第三方应用300的许可校验通过、并且通过权限鉴权过程确认第三方应用300具有ISAPI协议获取智能结构化信息的权限,则该第三方应用300可以调用服务调用API 421中对应元数据智能结构化信息的API,从而通过与设备主应用200之间基于ISAPI协议的交互而与应元数据智能结构化信息服务对接。元数据结构化信息服务可以是提供对视频流分析得到的目标位置、目标停留时间等智能结构化目标信息,并且,对视频流分析得到智能结构化目标信息需要使用智能算法。其中,使用的算法可以是由嵌入式设备自带的算法,例如,设备子应用210,或者,也可以利用由第三方应用300提供的第三方算法。因此,第三方应用300提供的第三方算法服务与元数据智能结构化信息服务对接,即可获取基于第三方算法的智能结构化目标信息。
如上可见,OpenAPI 420可以看作是第三方应用300与设备主应用200之间的通道,权限管理及许可校验模块410则可以看作是第三方应用300与设备主应用200之间的防火墙,第三方应用300是否被允许在嵌入式设备10中运行、以及OpenAPI 420中的哪些允许被第三方应用300调用,都由权限管理及许可校验模块410来控制。
对于授权许可,OpenSDK 400可以利用导入至嵌入式设备10的License Key(许可密钥)执行许可校验。实际应用中,可以不是所有的第三方应用300都需要授权才可在嵌入式设备10运行。
对于权限管理,可以通过OpenSDK 400与设备主应用200的交互来实现对第三方应用300的权限控制。
图6为如图1所示服务系统中对第三方应用的权限管理机制的原理性示意图。请参见图6,被第三方应用300调用的OpenSDK 400可以对该第三方应用300获取设备服务的权限进行权限控制,所述的权限控制是根据设备主应用200对第三方应用300的权限鉴权结果执行的,OpenSDK 400可以通过进程间通讯的方式请求设备主应用200进行鉴权并接收设备主应用200的鉴权结果。其中,设备主应用200对第三方应用300的权限鉴权依据的是来自设备客户端20的权限配置。
图7为基于如图6所示权限管理机制的权限配置流程示意图。请参见图7,由设备主应用200执行的权限配置流程可以包括:
S710:对设备客户端进行用户登录认证。
S720:接收通过用户登陆认证的设备客户端传送的权限配置。
S730:保存接收到的权限配置。
如图7所示的流程可以实现第三方应用300导入嵌入式设备10的权限配置。并且,设备主应用20保存的权限配置可以通过如图7所示的流程实时更新。
由于嵌入式设备10可以提供多种设备服务,因此,权限配置与嵌入式设备10提供的设备服务绑定,并且,嵌入式设备10提供的开放平台可以允许多个第三方应用300接入,因此,权限配置还需要与第三方应用300的应用唯一标识(例如应用名、应用ID或其他可以唯一标识第三方应用的标识信息)绑定。
即,经过如图7所示的权限配置流程,设备主应用20保存的权限配置与应用唯一标识和设备服务绑定。
图8为基于如图6所示权限管理机制的一种基于开放平台的权限控制方法的流程示意图。请参见图8,该权限控制方法应用于具有设备主应用200和第三方应用300的嵌入式设备,其中,设备主应用200提供第三方应用300接入的开放平台,第三方应用300中则集成有用于第三方应用300与设备主应用200对接的OpenSDK 400,并且,该权限控制方法包括:
S811:OpenSDK 400被第三方应用300调用,以获取嵌入式设备的设备服务。
S812:OpenSDK 400向设备主应用200请求建立域套接字通讯连接。
S813:设备主应用200作为域套接字通讯连接的服务端,在连接建立成功后向OpenSDK 400返回成功应答、并开始监听OpenSDK 400。
S814:OpenSDK 400向设备主应用200发送针对设备服务的鉴权请求、并在鉴权请求中携带第三方应用300的应用唯一标识。
S815:设备主应用200根据接收到的鉴权请求,利用与应用唯一标识和设备服务绑定的权限配置对第三方应用300获取设备服务的权限进行鉴权。
S816:设备主应用200向OpenSDK 400返回鉴权结果。
S817:OpenSDK 400根据设备主应用返回的鉴权结果,判断第三方应用300对设备服务的访问权限。
S818:若第三方应用300对设备服务无访问权限,则OpenSDK 400向第三方应用300返回获取失败的响应。
S819a至S819c:若第三方应用300具有对设备服务的访问权限,则第三方应用300通过调用OpenSDK 400获取由设备主应用200返回的设备服务。
图9为如图8所示权限控制方法的一种具体实现流程的示意图。请参见图9,相比于图8,设备主应用200在图9中表示为包括主进程模块200a和平台进程模块200b,相应地:
S812至S813涉及域套接字通讯连接建立的过程,则可以是发生在OpenSDK400与平台进程模块200b之间,并且,可以由平台进程模块200b作为域套接字通讯连接的服务端监听OpenSDK 400。
S814涉及的鉴权请求过程可以拆分为两个阶段,即:OpenSDK 400向平台进程模块200b发送鉴权请求的S814a、以及平台进程模块200b向主进程模块200a传递鉴权请求的S814b。
S815涉及的鉴权过程由主进程模块200a执行。
S816涉及的鉴权结果返回过程可以拆分为两个阶段,即:主进程模块200a向平台进程模块200b传送鉴权结果的S816a、以及平台进程模块200b向OpenSDK 400返回鉴权结果的S816b。
若第三方应用300具有对设备服务的访问权限,则通过S820a至S820e,第三方应用300通过调用OpenSDK 400获取的设备服务由设备主应用200的主进程模块200a提供、并通过平台进程模块200b和OpenSDK 400返回给第三方应用300。
图10为基于如图6所示权限管理机制的另一种基于开放平台的权限控制方法的流程示意图。请参见图10,在一个实施例中,提供了一种由OpenSDK 400执行的权限控制方法,具体包括:
S1010:OpenSDK在被第三方应用调用获取嵌入式设备的设备服务时,与设备主应用建立域套接字通讯连接;
S1020:OpenSDK向设备主应用发送针对设备服务的鉴权请求、并在鉴权请求中携带第三方应用的应用唯一标识;
S1030:OpenSDK接收设备主应用基于与应用唯一标识和设备服务绑定的权限配置返回的鉴权结果;
S1040:OpenSDK根据鉴权结果判断第三方应用对设备服务的访问权限;
S1051:若第三方应用具有对设备服务的访问权限,则OpenSDK在第三方应用的调用下向第三方应用返回从获取设备主应用获取的设备服务;
S1052:若第三方应用对设备服务无访问权限,则OpenSDK向第三方应用返回获取失败的响应。
如前文所述,OpenSDK 400包含有用于被第三方应用调用以获取设备服务的多个OpenAPI 420,因此,对第三方应用300获取设备服务的权限控制,实际上可以看作是第三方应用调用相应的OpenAPI 420的权限控制。即,第三方应用300为获取设备服务而对OpenSDK400发起的调用,实际上是对该设备服务对应的全部OpenAPI 420的调用,因此,OpenSDK400可以针对设备服务发起的权限控制,可以包括为每个被调用的OpenAPI 420向设备主应用发起鉴权请求。
相应地,OpenSDK 400中包含的权限管理及许可校验模块410可通过如图10所示的流程实现权限控制。
另外,也可能存在某些设备服务不需要权限配置的情况,相应地,设备主应用200可以将不需要权限配置的设备服务通知OpenSDK 400,若第三方应用300请求获取的设备服务属于不需要权限管理的设备服务,OpenSDK 400跳过权限管理的流程。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。

Claims (16)

1.一种基于开放平台的权限控制方法,其特征在于,所述权限控制方法应用于具有设备主应用和第三方应用的嵌入式设备,设备主应用提供第三方应用接入的开放平台,第三方应用中集成有用于第三方应用与设备主应用对接的软件开发工具包,并且,所述权限控制方法包括:
软件开发工具包在被第三方应用调用获取嵌入式设备的设备服务时,向嵌入式设备的设备主应用发送针对设备服务的鉴权请求、并在鉴权请求中携带第三方应用的应用唯一标识;
设备主应用根据接收到的鉴权请求,利用与应用唯一标识和设备服务绑定的权限配置对第三方应用获取设备服务的权限进行鉴权、并向软件开发工具包返回鉴权结果;
软件开发工具包根据设备主应用返回的鉴权结果,判断第三方应用对设备服务的访问权限;
若第三方应用具有对设备服务的访问权限,则第三方应用通过调用软件开发工具包获取设备主应用返回的设备服务;
若第三方应用对设备服务无访问权限,则软件开发工具包向第三方应用返回获取失败的响应。
2.根据权利要求1所述的权限控制方法,其特征在于,所述权限控制方法进一步包括:
软件开发工具包与设备主应用建立域套接字通讯连接。
3.根据权利要求1所述的权限控制方法,其特征在于,软件开发工具包与主设备应用的通讯方式为进程间通讯。
4.根据权利要求2所述的权限控制方法,其特征在于,软件开发工具包为域套接字通讯连接的客户端,设备主应用为域套接字通讯连接的服务端、并监听软件开发工具包。
5.根据权利要求1所述的权限控制方法,其特征在于,所述软件开发工具包中包含有多个用于被第三方应用调用以获取设备服务的OpenAPI,所述软件开发工具包针对设备服务对应的每个OpenAPI向设备主应用发起鉴权请求。
6.根据权利要求1所述的权限控制方法,其特征在于,所述权限控制方法进一步包括:
设备主应用从嵌入式设备的设备客户端接收与应用唯一标识和设备服务绑定的权限配置并保存。
7.一种基于开放平台的权限控制方法,其特征在于,所述权限控制方法应用于具有设备主应用和第三方应用的嵌入式设备,设备主应用提供第三方应用接入的开放平台,第三方应用中集成有用于第三方应用与设备主应用对接的软件开发工具包,并且,所述权限控制方法包括:
软件开发工具包在被第三方应用调用获取嵌入式设备的设备服务时,向嵌入式设备的设备主应用发送针对设备服务的鉴权请求、并在鉴权请求中携带第三方应用的应用唯一标识;
软件开发工具包根据设备主应用基于与应用唯一标识和设备服务绑定的权限配置返回的鉴权结果,判断第三方应用对设备服务的访问权限;
若第三方应用具有对设备服务的访问权限,则软件开发工具包在第三方应用的调用下向第三方应用返回从获取设备主应用获取的设备服务;
若第三方应用对设备服务无访问权限,则软件开发工具包向第三方应用返回获取失败的响应。
8.根据权利要求7所述的权限控制方法,其特征在于,所述权限控制方法进一步包括:
软件开发工具包与设备主应用建立域套接字通讯连接。
9.根据权利要求8所述的权限控制方法,其特征在于,软件开发工具包与主设备应用基于域套接字通讯连接的通讯方式为进程间通讯。
10.根据权利要求7所述的权限控制方法,其特征在于,所述软件开发工具包中包含有多个用于被第三方应用调用以获取设备服务的OpenAPI,所述软件开发工具包针对设备服务对应的每个OpenAPI向设备主应用发起鉴权请求。
11.一种基于开放平台的嵌入式设备,其特征在于,所述嵌入式设备包括处理器,所述处理器用于运行设备主应用和第三方应用,其中:
主设备应用用于提供第三方应用接入的开放平台;
第三方应用中集成有用于第三方应用与设备主应用对接的软件开发工具包;
软件开发工具包在被第三方应用调用获取嵌入式设备的设备服务时,向嵌入式设备的设备主应用发送针对设备服务的鉴权请求、并在鉴权请求中携带第三方应用的应用唯一标识;
设备主应用根据接收到的鉴权请求,利用与应用唯一标识和设备服务绑定的权限配置对第三方应用获取设备服务的权限进行鉴权、并向软件开发工具包返回鉴权结果;
软件开发工具包根据设备主应用返回的鉴权结果,判断第三方应用对设备服务的访问权限;
若第三方应用具有对设备服务的访问权限,则第三方应用通过调用软件开发工具包获取设备主应用返回的设备服务;
若第三方应用对设备服务无访问权限,则软件开发工具包向第三方应用返回获取失败的响应。
12.根据权利要求11所述的嵌入式设备,其特征在于,软件开发工具包与设备主应用建立域套接字通讯连接。
13.根据权利要求11所述的嵌入式设备,其特征在于,软件开发工具包为域套接字通讯连接的客户端,设备主应用为域套接字通讯连接的服务端、并监听软件开发工具包。
14.根据权利要求11所述的嵌入式设备,其特征在于,软件开发工具包与主设备应用的通讯方式为进程间通讯。
15.根据权利要求14所述的嵌入式设备,其特征在于,所述软件开发工具包中包含有多个用于被第三方应用调用以获取设备服务的OpenAPI,所述软件开发工具包针对设备服务对应的每个OpenAPI向设备主应用发起鉴权请求。
16.根据权利要求15所述的嵌入式设备,其特征在于,设备主应用从嵌入式设备的设备客户端接收与应用唯一标识和设备服务绑定的权限配置并保存。
CN201910015464.2A 2019-01-08 2019-01-08 基于开放平台的权限控制方法和嵌入式设备 Active CN111416793B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910015464.2A CN111416793B (zh) 2019-01-08 2019-01-08 基于开放平台的权限控制方法和嵌入式设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910015464.2A CN111416793B (zh) 2019-01-08 2019-01-08 基于开放平台的权限控制方法和嵌入式设备

Publications (2)

Publication Number Publication Date
CN111416793A true CN111416793A (zh) 2020-07-14
CN111416793B CN111416793B (zh) 2022-05-24

Family

ID=71492601

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910015464.2A Active CN111416793B (zh) 2019-01-08 2019-01-08 基于开放平台的权限控制方法和嵌入式设备

Country Status (1)

Country Link
CN (1) CN111416793B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112217882A (zh) * 2020-09-25 2021-01-12 航天信息股份有限公司 一种用于服务开放的分布式网关系统
CN112579997A (zh) * 2020-12-17 2021-03-30 数字广东网络建设有限公司 一种用户权限配置方法、装置、计算机设备及存储介质
CN116149883A (zh) * 2023-04-21 2023-05-23 杭州实在智能科技有限公司 用于Web系统中的RPA软件快速嵌入方法及系统

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102238007A (zh) * 2010-04-20 2011-11-09 阿里巴巴集团控股有限公司 第三方应用获得用户的会话令牌的方法、装置及系统
CN102591705A (zh) * 2011-01-17 2012-07-18 腾讯科技(深圳)有限公司 一种开放平台代理访问方法及装置
CN103001936A (zh) * 2011-09-16 2013-03-27 北京新媒传信科技有限公司 一种第三方应用接口授权方法和系统
CN103095666A (zh) * 2011-11-07 2013-05-08 阿里巴巴集团控股有限公司 第三方应用处理方法及装置
CN103378969A (zh) * 2012-04-12 2013-10-30 腾讯科技(北京)有限公司 一种授权方法、系统及第三方应用系统
CN104125063A (zh) * 2013-04-28 2014-10-29 腾讯科技(深圳)有限公司 授权认证方法、设备及系统
CN104836784A (zh) * 2014-09-25 2015-08-12 腾讯科技(北京)有限公司 一种信息处理方法、客户端和服务器
CN106873958A (zh) * 2016-07-06 2017-06-20 阿里巴巴集团控股有限公司 一种应用编程接口的调用方法及装置
CN106936934A (zh) * 2017-04-27 2017-07-07 四川长虹电器股份有限公司 基于模块化服务的开放平台第三方应用接入方法

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102238007A (zh) * 2010-04-20 2011-11-09 阿里巴巴集团控股有限公司 第三方应用获得用户的会话令牌的方法、装置及系统
CN102591705A (zh) * 2011-01-17 2012-07-18 腾讯科技(深圳)有限公司 一种开放平台代理访问方法及装置
CN103001936A (zh) * 2011-09-16 2013-03-27 北京新媒传信科技有限公司 一种第三方应用接口授权方法和系统
CN103095666A (zh) * 2011-11-07 2013-05-08 阿里巴巴集团控股有限公司 第三方应用处理方法及装置
CN103378969A (zh) * 2012-04-12 2013-10-30 腾讯科技(北京)有限公司 一种授权方法、系统及第三方应用系统
CN104125063A (zh) * 2013-04-28 2014-10-29 腾讯科技(深圳)有限公司 授权认证方法、设备及系统
CN104836784A (zh) * 2014-09-25 2015-08-12 腾讯科技(北京)有限公司 一种信息处理方法、客户端和服务器
CN106873958A (zh) * 2016-07-06 2017-06-20 阿里巴巴集团控股有限公司 一种应用编程接口的调用方法及装置
CN106936934A (zh) * 2017-04-27 2017-07-07 四川长虹电器股份有限公司 基于模块化服务的开放平台第三方应用接入方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
吴迪: "一种可穿戴设备扩展架构的设计", 《太原师范学院学报(自然科学版)》 *
邱巍等: "基于IMS网络的核心网能力开放部署方式", 《电信科学》 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112217882A (zh) * 2020-09-25 2021-01-12 航天信息股份有限公司 一种用于服务开放的分布式网关系统
CN112217882B (zh) * 2020-09-25 2024-03-26 航天信息股份有限公司 一种用于服务开放的分布式网关系统
CN112579997A (zh) * 2020-12-17 2021-03-30 数字广东网络建设有限公司 一种用户权限配置方法、装置、计算机设备及存储介质
CN112579997B (zh) * 2020-12-17 2024-03-12 数字广东网络建设有限公司 一种用户权限配置方法、装置、计算机设备及存储介质
CN116149883A (zh) * 2023-04-21 2023-05-23 杭州实在智能科技有限公司 用于Web系统中的RPA软件快速嵌入方法及系统

Also Published As

Publication number Publication date
CN111416793B (zh) 2022-05-24

Similar Documents

Publication Publication Date Title
CN110944330B (zh) Mec平台部署方法及装置
RU2646390C1 (ru) Способ и аппарат для привязки устройства
US8495213B2 (en) Terminal and method for managing secure devices
KR20200092331A (ko) 블록체인 기반 스마트 계약 호출 방법과 장치, 및 전자 디바이스
CN111416793B (zh) 基于开放平台的权限控制方法和嵌入式设备
US20040019683A1 (en) Protocol independent communication system for mobile devices
CN110602445B (zh) 视频监控数据获取方法、装置、计算机设备和存储介质
CA2508747A1 (en) Apparatus and methods for implementation of network software interfaces
US20190327239A1 (en) Managing data access
KR20130127523A (ko) 모바일 디바이스들, 인터넷-접속 차량들, 및 클라우드 서비스들의 접속
US20140298368A1 (en) Authentication system and method of operating the same
CN106471465A (zh) 服务启用器功能
CN104980448B (zh) 一种远程监控方法、装置及系统
KR101620254B1 (ko) 액세스 제어 방법, 장치, 프로그램 및 기록매체
EP3942832B1 (en) Network based media processing security
KR20190069574A (ko) 무선 네트워크 유형 검출 방법과 장치, 및 전자 디바이스
US20180262720A1 (en) Method and Apparatus for Managing Provisioning of an Imaging System
CN112217910B (zh) 视频服务访问方法、装置、网络设备和存储介质
KR101040022B1 (ko) 데이터베이스 동기화 방법
CN111416792B (zh) 嵌入式设备的内部免认证方法以及嵌入式设备
CN110457959B (zh) 一种基于Trust应用的信息传输方法及装置
EP2595420A1 (en) Method of sending a message to a secure element
CN110769065A (zh) 一种远程管理方法、系统、终端设备及服务器
CN111414156B (zh) 基于开放平台的嵌入式设备和服务系统以及服务开发方法
CN113065131A (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