一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于安全等级的访问控制方法、相关装置及系统与流程

2022-10-26 00:19:24 来源:中国专利 TAG:

基于安全等级的访问控制方法、相关装置及系统
1.本技术要求于2021年4月22日提交中国专利局、申请号为202110436271.1、申请名称为“基于安全等级的访问控制方法、相关装置及系统”的中国专利申请的优先权,其全部内容通过引用结合在本技术中。
技术领域
2.本技术涉及计算机及通信技术领域,尤其涉及基于安全等级的访问控制方法、相关装置及系统。


背景技术:

3.随着智能终端的发展,用户生活中的设备种类及数量越来越多,各个设备互通互联的分布式场景也正在逐渐实现。在分布式场景中,各个设备中的应用程序(application,app)之间互相调用、共享资源等等,将成为未来的趋势。
4.如何让分布式场景中的设备之间能够安全地共享资源,保证设备中资源的机密性和完整性,避免潜在的安全及用户隐私泄露风险,从而为用户提供安全、有效的全联接场景,是一个新的挑战。


技术实现要素:

5.本技术提供了基于安全等级的访问控制方法、相关装置及系统,可以避免分布式场景中各个设备的安全等级的差异性所带来的安全和隐私泄露风险。
6.第一方面,本技术实施例提供了一种基于安全等级的访问控制方法,该方法应用于包含第一设备和第二设备的通信系统,第一设备安装有调用者,第二设备安装有被调用者,调用者、被调用者属于应用,应用包括应用程序app和功能组件,app为实现多个功能的程序实体,功能组件为实现单一功能的程序实体。
7.第一方面的方法包括:第一设备向第二设备发送访问请求,访问请求用于调用者调用被调用者以访问第二设备中的第一资源;第二设备根据第一访问策略,确定允许第一设备访问第一资源,第一访问策略描述了第二设备根据安全等级开放资源的规则,安全等级包括设备安全等级和/或应用安全等级;第二设备响应访问请求调用被调用者,以访问第一资源。
8.在第一方面提供的方法中,第一设备也可以称为主体设备,第二设备也可以称为客体设备。
9.实施第一方面提供的方法,可以根据设备的安全等级制定访问策略,客体设备可以通过该访问策略来约束分布式系统中的跨设备访问,减少客体设备中资源对外暴露的方式,可以避免分布式场景中各个设备的安全等级的差异性所带来的安全和隐私泄露风险,确保客体设备中数据的机密性和完整性,保障数据安全。
10.结合第一方面,在一些实施方式中,设备安全等级指示了设备的安全能力,设备的安全能力越高,设备的安全等级越高;设备的安全能力由设备的软件和/或硬件决定。
11.结合第一方面,在一些实施方式中,应用安全等级可以由用户设置。例如,电子设备可以根据接收到的用户操作,确定各个应用的安全能级。
12.结合第一方面,在一些实施方式中,应用安全等级由以下一项或多项决定:应用运行时要求的设备安全能力、应用提供的业务或者应用的类别。其中,应用运行时要求的设备安全能力越高,或者,应用提供的业务涉及的数据越机密,应用的应用安全等级越高;应用的类别包括系统应用和第三方应用,系统应用的应用安全等级高于第三方应用的应用安全等级。
13.结合第一方面,在一些实施方式中,第一访问策略的实现方式具体包括以下几种:
14.1.第一访问策略指示:允许具备第一安全等级的设备访问具备第二安全等级的设备中的第二资源,和/或,不允许具备第三安全等级的设备访问具备第四安全等级的设备中的第三资源。
15.第一访问策略实现为上述第1种方式时,第二设备可以根据第一访问策略、第一设备的安全等级、第二设备的安全等级,确定允许第一设备访问第一资源。
16.2.第一访问策略指示:允许具备第五安全等级的设备访问第二设备中的第四资源,和/或,不允许具备第六安全等级的设备访问第二设备中的第五资源。
17.第一访问策略实现为上述第2种方式时,第二设备可以根据第一访问策略、第一设备的安全等级,确定允许第一设备访问第一资源。
18.在一些实施方式中,第二设备根据第一访问策略,确定允许第一设备访问第一资源之前,第一设备可以向第二设备发送第一设备的安全等级。
19.3.第一访问策略指示:允许第一设备访问第二设备中的第六资源,和/或,不允许第一设备访问第二设备中的第七资源。
20.第一访问策略实现为上述第3种方式时,第二设备可以根据第一访问策略,直接确定允许第一设备访问第一资源。
21.结合第一方面,在一些实施方式中,第二设备确定允许第一设备访问第二设备中的第一资源,具体包括以下一项或多项:
22.确定允许具备第一设备安全等级的设备,访问,具备第二设备安全等级的设备的第一资源;
23.确定允许具备第一应用安全等级的应用,访问,具备第二设备安全等级的设备的第一资源;
24.确定允许具备第一设备安全等级的设备,访问,具备第二应用安全等级的应用的第一资源;
25.或者,
26.确定允许具备第一应用安全等级的应用,访问,具备第二应用安全等级的应用的第一资源;
27.其中,第一设备安全等级为第一设备的设备安全等级,第二设备安全等级为第二设备的设备安全等级;第一应用安全等级为调用者的安全等级,第二应用安全等级为被调用者的安全等级。
28.结合第一方面的方法,在一些实施方式中,第一访问策略可以由第二设备自主设置;或者,第一访问策略由第二设备根据接收到的用户操作设置;或者,通信系统还包括第
三设备,第一访问策略由第三设备根据接收到的用户操作确定后,发送给第二设备。
29.结合第一方面的方法,在一些实施方式中,第二设备响应访问请求访问第一资源之前,第二设备可以确定具备第一权限,第一权限包括访问第一资源的权限。在一些实施方式中,该第一权限具体包括第一设备访问第一资源的权限。
30.结合第一方面的方法,在一些实施方式中,第一设备向第二设备发送访问请求之后,可以在提供第一资源的应用中选择一个应用作为被调用者。
31.结合第一方面的方法,在一些实施方式中,第一设备向第二设备发送访问请求之前,可以根据第一访问策略,确定允许第一设备访问第二设备中的第一资源。这样,可以通过主客体双重鉴权的方式,避免主体设备和/或客体设备被恶意攻击带来的风险,进一步保障客体设备的数据安全。
32.结合上一个实施方式中,第一设备向第二设备发送访问请求之前,可以在提供第一资源的电子设备中选择一个电子设备作为第二设备,和/或,在第二设备提供第一资源的应用中选择一个应用作为被调用者。
33.结合上一个实施方式,第一设备向第二设备发送访问请求之前,第二设备可以向第一设备发送第一访问策略。这样可以使得第一设备根据第一访问策略来进行访问控制。在另一些实施方式中,第一设备可以预置该第一访问策略。
34.结合第一方面的方法,在一些实施方式中,第一设备向第二设备发送访问请求之前,可以在提供第一资源,并且,第一访问策略指示的允许第一设备访问第一资源的电子设备中,选择一个电子设备作为第二设备;和/或,在第二设备中提供第一资源,并且,第一访问策略指示的允许第一设备访问第一资源的应用中,选择一个应用作为被调用者。这样,第一设备在选定第二设备或者被调用者的过程即执行了鉴权,可以通过主客体双重鉴权的方式,避免主体设备和/或客体设备被恶意攻击带来的风险,进一步保障客体设备的数据安全。
35.第二方面,本技术提供了一种基于安全等级的访问控制方法,该方法应用于第二设备,该方法包括:第二设备接收到第一设备发送的访问请求,访问请求用于第一设备中的调用者调用第二设备中的被调用者,以访问第二设备中的第一资源;调用者、被调用者属于应用,应用包括应用程序app和功能组件,app为实现多个功能的程序实体,功能组件为实现单一功能的程序实体;第二设备根据第一访问策略,确定允许第一设备访问第一资源,第一访问策略描述了第二设备根据安全等级开放资源的规则,安全等级包括设备安全等级和/或应用安全等级;第二设备响应访问请求调用被调用者,以访问第一资源。
36.在第二方面提供的方法中,第二设备所执行的各项操作,可参考第一方面提供的方法中关于第二设备侧的相关描述,这里不再赘述。
37.第三方面,本技术实施例提供了一种基于安全等级的访问控制方法,该方法应用于包含第一设备和第二设备的通信系统,第一设备安装有调用者,第二设备安装有被调用者,调用者、被调用者属于应用,应用包括应用程序app和功能组件,app为实现多个功能的程序实体,功能组件为实现单一功能的程序实体。
38.第三方面的方法包括:第一设备生成访问请求,访问请求用于调用者调用被调用者以访问第二设备中的第一资源;第一设备根据第一访问策略,确定允许第一设备访问第一资源,第一访问策略描述了第二设备根据安全等级开放资源的规则,安全等级包括设备
安全等级和/或应用安全等级;第一设备向第二设备发送访问请求;第二设备响应访问请求调用被调用者,以访问第一资源。
39.在第三方面提供的方法中,第一设备可以称为主体设备,第二设备可以称为客体设备。
40.实施第三方面提供的方法,主体设备可以通过访问策略来约束分布式系统中的跨设备访问,避免分布式场景中各个设备的安全等级的差异性所带来的安全和隐私泄露风险,确保客体设备中数据的机密性和完整性,保障数据安全。
41.结合第三方面提供的方法,在一些实施方式中,第二设备响应访问请求访问第一资源之前,可以根据第一访问策略,确定允许第一设备访问第一资源。这样,可以通过主客体双重鉴权的方式,避免主体设备和/或客体设备被恶意攻击带来的风险,进一步保障客体设备的数据安全。
42.结合上一实施方式中,第一设备向第二设备发送访问请求之前,第二设备可以向第一设备发送第一访问策略。这样可以使得第一设备根据第一访问策略来进行访问控制。在另一些实施方式中,第一设备可以预置该第一访问策略。
43.结合第三方面提供的方法,在一些实施方式中,第二设备响应访问请求访问第一资源之前,可以在第二设备中提供第一资源,并且,第一访问策略指示的允许第一设备访问第一资源的应用中,选择一个应用作为被调用者。这样,可以通过主客体双重鉴权的方式,避免主体设备和/或客体设备被恶意攻击带来的风险,进一步保障客体设备的数据安全。
44.结合第三方面,第一访问策略的实现方式及设置方式可参考第一方面的相关描述。
45.结合第三方面,第一设备的安全等级的确定方式及设置方式可参考第一方面的相关描述。
46.结合第三方面的方法,在一些实施方式中,第一设备向第二设备发送访问请求之前,可以先确定具备第一权限,第一权限包括访问第一资源的权限。在一些实施方式中,该第一权限具体包括第一设备访问第一资源的权限。
47.结合第三方面的方法,在一些实施方式中,第一设备向第二设备发送访问请求之前,可以在提供第一资源的电子设备中选择一个电子设备作为第二设备,和/或,在第二设备提供第一资源的应用中选择一个应用作为被调用者。
48.第四方面,本技术实施例提供了一种基于访问策略的访问控制方法,该方法应用于第一设备,该方法包括:第一设备根据第一访问策略,确定允许第一设备访问第一资源,第一访问策略描述了第二设备根据安全等级开放资源的规则,安全等级包括设备安全等级和/或应用安全等级;第一设备向第二设备发送访问请求,该访问请求用于第一设备中的调用者调用第二设备中的被调用者,以访问第二设备中的第一资源;调用者、被调用者属于应用,应用包括应用程序app和功能组件,app为实现多个功能的程序实体,功能组件为实现单一功能的程序实体。
49.在第四方面提供的方法中,第一设备所执行的各项操作,可参考第三方面提供的方法中关于第一设备侧的相关描述,这里不再赘述。
50.第五方面,本技术实施例提供了一种电子设备,包括:存储器、一个或多个处理器;存储器与一个或多个处理器耦合,存储器用于存储计算机程序代码,计算机程序代码包括
计算机指令,一个或多个处理器调用计算机指令以使得电子设备执行如第二方面或第二方面任意一种实施方式的方法。
51.第六方面,本技术实施例提供了一种电子设备,包括:存储器、一个或多个处理器;存储器与一个或多个处理器耦合,存储器用于存储计算机程序代码,计算机程序代码包括计算机指令,一个或多个处理器调用计算机指令以使得电子设备执行如第四方面或第四方面任意一种实施方式的方法。
52.第七方面,本技术实施例提供了通信系统,包括第一设备、第二设备,第一设备用于执行如第四方面或第四方面任意一种实施方式的方法,或者,第二设备用于执行如第二方面或第二方面任意一种实施方式的方法。
53.第八方面,本技术实施例提供了一种计算机可读存储介质,包括指令,当指令在电子设备上运行时,使得电子设备执行如第二方面或第二方面任意一种实施方式的方法。
54.第九方面,本技术实施例提供了一种计算机程序产品,当计算机程序产品在计算机上运行时,使得计算机执行第二方面或第二方面任意一种实施方式的方法。
55.第十方面,本技术实施例提供了一种计算机可读存储介质,包括指令,当指令在电子设备上运行时,使得电子设备执行如第四方面或第四方面任意一种实施方式的方法。
56.第十一方面,本技术实施例提供了一种计算机程序产品,当计算机程序产品在计算机上运行时,使得计算机执行第四方面或第四方面任意一种实施方式的方法。
57.实施本技术提供的技术方案,客体设备接收到主体设备发送的用于访问第一资源的访问请求后,可以根据描述自身根据安全等级开放资源的规则的访问策略,判断是否允许主体设备访问第一资源,并在判断结果为是时,响应该访问请求以访问第一资源。该方案可以根据设备的安全等级制定访问策略,客体设备可以通过该访问策略来约束分布式系统中的跨设备访问,减少客体设备中资源对外暴露的方式,可以避免分布式场景中各个设备的安全等级的差异性所带来的安全和隐私泄露风险,确保客体设备中数据的机密性和完整性,保障数据安全。
附图说明
58.图1为本技术实施例提供的通信系统10的结构示意图;
59.图2为本技术实施例提供的一种分布式场景;
60.图3a为本技术实施例提供的电子设备的硬件结构图;
61.图3b为本技术实施例提供的电子设备的软件结构图;
62.图4为本技术实施例提供的基于安全等级的访问控制方法的流程图;
63.图5a-图5h为本技术实施例提供的一组用户界面;
64.图6a为本技术实施例提供的主体设备的软件结构图;
65.图6b为本技术实施例提供的客体设备的软件结构图。
具体实施方式
66.下面将结合附图对本技术实施例中的技术方案进行清楚、详尽地描述。其中,在本技术实施例的描述中,除非另有说明,“/”表示或的意思,例如,a/b可以表示a或b;文本中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可
以表示:单独存在a,同时存在a和b,单独存在b这三种情况,另外,在本技术实施例的描述中,“多个”是指两个或多于两个。
67.以下,术语“第一”、“第二”仅用于描述目的,而不能理解为暗示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征,在本技术实施例的描述中,除非另有说明,“多个”的含义是两个或两个以上。
68.本技术以下实施例中的术语“用户界面(user interface,ui)”,是应用程序或操作系统与用户之间进行交互和信息交换的介质接口,它实现信息的内部形式与用户可以接受形式之间的转换。用户界面是通过java、可扩展标记语言(extensible markup language,xml)等特定计算机语言编写的源代码,界面源代码在电子设备上经过解析,渲染,最终呈现为用户可以识别的内容。用户界面常用的表现形式是图形用户界面(graphic user interface,gui),是指采用图形方式显示的与计算机操作相关的用户界面。它可以是在电子设备的显示屏中显示的文本、图标、按钮、菜单、选项卡、文本框、对话框、状态栏、导航栏、widget等可视的界面元素。
69.在分布式场景中,一个设备可以跨设备访问另一个设备的各类资源,例如软件资源、硬件资源、外设等等。但是,由于分布式场景中各个设备的差异性,例如各个设备的安全能力不同,分布式场景中设备之间直接无约束地跨设备访问资源,存在潜在的安全和隐私泄露风险。例如,安全能力较高的智能手机将数据传输给安全能力较低的智能音箱后,该数据可能被智能音箱泄露,对用户隐私造成风险。
70.此外,不同设备中的应用在运行时有不同的安全需求,有不同的安全要求的应用之间直接无约束地跨设备访问资源,存在潜在的安全和隐私泄露风险。例如,银行类应用运行时要求设备具备可信执行环境(trusted execution environment,tee),音乐类应用运行时仅要求设备具备普通执行环境ree(richexecution environment),则音乐类应用跨设备读取银行类应用的数据,则该数据可能被音乐类应用泄露,对用户隐私造成风险。
71.本技术以下实施例提供了基于安全等级的访问控制方法,该方法可以应用于包含多个电子设备的分布式系统。在该方法中,主体设备可以先根据客体设备中基于安全等级的访问策略,判断是否向客体设备发起用于调用第一资源的访问请求。若确定发起该访问请求,则主体设备向客体设备发送该访问请求。客体设备接收到该访问请求后,可以根据自身基于安全等级的访问策略,判断是否响应该访问请求。若确定响应该访问请求,则客体设备访问该第一资源。
72.在本技术以下实施例中,安全等级包括:设备安全等级,和/或,应用安全等级。
73.在本技术一些实施例中,客体设备中基于安全等级的访问策略描述了:该客体设备基于设备安全等级和/或应用安全等级开放资源给其他设备使用的规则。关于客体设备中基于安全等级的访问策略的具体实现,可参考后文方法实施例的相关描述。
74.在本技术实施例中,分布式系统中的各个电子设备均有对应的设备安全等级。如何评估或判定分布式系统中各个电子设备的安全等级,可参考后续方法实施例的详细描述。
75.在本技术实施例中,分布式系统中的电子设备所安装的各个应用均有对应的应用安全等级。如何评估电子设备中各个应用的安全等级,可参考后续方法实施例中的详细描
述。
76.实施本技术实施例提供的访问控制方法,可以根据设备以及应用的安全等级制定访问策略,并通过该访问策略来约束分布式系统中的跨设备访问,减少客体设备中资源对外暴露的方式,可以避免分布式场景中各个设备的安全等级的差异性所带来的安全和隐私泄露风险,确保客体设备中数据的机密性和完整性,保障数据安全。此外,该方法通过主客体双重鉴权的方式,可以避免主体设备和/或客体设备被恶意攻击带来的风险,进一步保障客体设备的数据安全。
77.在本技术的一些实施例中,还可以采用单侧鉴权的方式来执行基于安全等级的访问控制方法。具体的,若主体设备执行了根据客体设备的访问策略,判断是否发起该访问请求的操作,则客体设备无需判断是否响应主体设备发送的访问请求,可以直接响应该访问请求。或者,主体设备发送访问请求之前,无需根据客体设备的访问策略判断是否发起该访问请求,而由客体设备来判断是否响应该访问请求。单侧鉴权的方式,可以减少主体设备/客体设备的操作,提高分布式系统中跨设备调用资源的效率。
78.在本技术以下实施例中,电子设备中的资源可以包括以下一项或多项:电子设备的软件资源、硬件资源、外设或外设的资源等等。其中:
79.硬件资源和电子设备配置的硬件相关,例如可包括电子设备具备的摄像头、传感器、音频设备、显示屏、马达、闪光灯等等。
80.软件资源和电子设备配置的软件相关,例如可包括电子设备具备的内存资源、计算能力(例如美颜算法能力、音视频编解码能力)、网络能力、设备连接能力、设备发现能力、数据传输能力等等。进一步地,该软件资源可包括电子设备提供的拍照服务、录音服务、指纹认证服务、运动健康服务、播放服务、短信服务、语音识别服务、视频通话服务等等。软件资源可以包括系统资源,也可以包括第三方资源,这里不做限定。
81.外设是指和电子设备连接的,用于对数据和信息进行传输、转送和存储等作用的设备。外设例如可包括电子设备的配件设备,如鼠标、外接显示屏、蓝牙耳机、键盘,以及,该电子设备管理的智能手表、智能手环等等。外设的资源可包括硬件资源和软件资源,硬件资源和软件资源可参考前文相关描述。
82.主体设备、客体设备、电子设备中安装的应用的定义可参考后文实施例的相关描述。
83.下面,首先介绍本技术实施例提供的通信系统。
84.如图1所示,本技术实施例提供了通信系统10。通信系统10包括:多个电子设备。通信系统10也可以称为分布式系统10。
85.分布式系统10中包含的多个电子设备均为智能终端设备,可以为各种类型,本技术实施例对该多个电子设备的具体类型不作限制。例如,该多个电子设备包括手机,还可以包括平板电脑、桌面型计算机、膝上型计算机、手持计算机、笔记本电脑、智慧屏、可穿戴式设备、增强现实(augmented reality,ar)设备、虚拟现实(virtual reality,vr)设备、人工智能(artificial intelligence,ai)设备、车机、智能耳机,游戏机,还可以包括物联网(internet of things,iot)设备或智能家居设备如智能热水器、智能灯具、智能空调、摄像头等等。不限于此,分布式系统10中的多个设备还可以包括具有触敏表面或触控面板的膝上型计算机(laptop)、具有触敏表面或触控面板的台式计算机等非便携式终端设备等等。
86.分布式系统10中的多个电子设备均为部署在家庭中的设备时,分布式系统10也可被称为家庭分布式系统。
87.分布式系统10中的多个电子设备之间可以通过登录相同的账号进行连接。例如,多个电子设备可以登录同一华为账号,并通过服务器来远程连接并通信。
88.分布式系统10中的多个电子设备也可以登录不同账号,但通过绑定的方式进行连接。一个电子设备登录账号后,可以在设备管理应用中,绑定登录不同账号或未登录的其他电子设备,之后这些电子设备之间可以通过该设备管理应用通信。
89.分布式系统10中的多个电子设备还可以通过扫描二维码、近场通信(near field communication,nfc)碰一碰、搜索蓝牙设备等方式建立连接,这里不做限制。
90.总的来说,分布式系统10中的多个电子设备之间建立的通信连接可包括但不限于:有线连接、无线连接例如蓝牙(bluetooth,bt)连接、无线局域网(wireless local area networks,wlan)例如无线保真点对点(wireless fidelity point to point,wi-fi p2p)连接、近距离无线通信(near field communication,nfc)连接,红外技术(infrared,ir)连接,以及远程连接(例如通过服务器建立的连接)等等。
91.此外,分布式系统中的多个电子设备也可以结合上述任意几种方式来连接并通信,本技术实施例对此不做限制。
92.分布式系统10中的电子设备按照设备类型,还可分为瘦设备和富设备。在本技术实施例中,富设备可以是指内存及运行空间较大的电子设备,瘦设备可以是指内存及运行空间有限的电子设备。
93.当分布式系统10中包括富设备和瘦设备时,富设备和瘦设备之间可以通过绑定的方式建立连接。例如,富设备中安装有设备管理应用,并可以通过账号登录到该设备管理应用。之后,该富设备可以通过扫描二维码、nfc、蓝牙等方式发现附近的瘦设备后,然后根据用户操作,将该瘦设备绑定到富设备登录该设备管理应用所使用的账号中。
94.瘦设备和富设备绑定后,该富设备可以通过该设备管理应用来管理该瘦设备,例如向瘦设备发送各类指令以指示瘦设备执行对应的操作等等。该富设备可以称为该瘦设备的控制设备或管理设备。
95.瘦设备和富设备通过富设备登录设备管理应用的账号绑定后,该瘦设备可以将该账号作为自己的主(owner)账号,并使用该主账号加入分布式系统,进而和分布式系统中的其他电子设备通信。
96.在一些实施例中,瘦设备可以直接和其他设备建立连接,并和其他电子设备通信,瘦设备每次和其他设备通信时都携带自己的主账号。其他电子设备通过该主账号,即可获知该设备为瘦设备,并可以查询到该瘦设备的控制设备。在另一些实施例中,瘦设备可以通过富设备和其他电子设备通信。例如,瘦设备可以将自身想要发送给其他电子设备的消息发送给富设备,然后由富设备转发给其他电子设备。
97.在本技术实施例中,分布式系统10中的其他电子设备访问瘦设备中的资源时,由该瘦设备的控制设备来决定是否允许本次访问。
98.分布式系统10中的多个电子设备可以配置不同的软件操作系统(operatingsystem,os),包括但不限于等等。其中,为华为的鸿蒙系统。
99.该多个电子设备也可以都配置相同的软件操作系统,例如可以均配置在多个电子设备的软件系统均为时,分布式系统10可以看作一个超级终端。
100.在本技术实施例中,分布式系统10中的各个设备可以安装传统的应用程序(application,app),例如相机应用、图库应用、设置应用等等。后续实施例中,传统app可以简称为app。
101.此外,本技术实施例提供的分布式系统10可以安装分布式应用(distributed application)。该分布式应用可以为系统应用,也可以为第三方应用,这里不做限制。系统应用是指电子设备的生产商所提供或研发的应用,第三方应用是指非电子设备的生产商所提供或研发的应用。电子设备的生产商可以包括该电子设备的制造商、供应商、提供商或运营商等。制造商可以是指以自制或采购的零件及原料来加工制造电子设备的生产厂商。供应商可以是指提供该电子设备的整机、原料或零件的厂商。运营商可以是指负责该电子设备的经销的厂商。
102.与包含多种能力(ability)的app不同,分布式应用支持以单一能力(ability)为单位进行部署。一个分布式应用包括一个或多个功能组件。
103.功能组件是电子设备中可独立运行的最小能力单元,是对单一能力进行抽象封装的概念。app将多个功能集合在一起,而功能组件将各个功能作为单独的服务化基础能力,独立存在。即,功能组件是实现单一功能的程序实体。
104.每个功能组件都可以独立下载、安装并运行。组成同一个分布式应用的多个功能组件,可以部署在分布式系统10中的同一个电子设备中,也可以部署在不同电子设备中。
105.功能组件只是本实施例中所使用的一个词语,其代表的含义在本实施例中已经记载,其名称并不能对本实施例构成任何限制。另外,在本技术其他一些实施例中,功能组件也可以称为系统组件、系统服务、业务功能等其他名词。本技术后续实施例统一以“功能组件”进行描述。
106.以为例,中的功能组件可以包括以下两种类别:
107.(1)feature ability,fa。
108.fa是包含一组或若干组ui的功能组件,可以提供与用户交互的能力。例如,地图应用中的导航界面、即时通讯应用中的视频通话界面等,可以实现为fa。
109.在一些实施例中,fa基于mvvm(model-view-view-model)模式开发,将视图ui和业务逻辑分离,业务逻辑代码和视图ui代码分开部署。例如,一个电子设备可以将业务逻辑代码和其他app集成在一起安装,而视图ui代码则可以安装到其他电子设备中。视图ui代码所在设备,可以和业务逻辑代码所在设备通信,以获取到展示ui所需要的数据。
110.fa支持page模板的能力,例如empty ability,login ability,setting ability等。fa采用脚本语言(java script,js)提供声明式开发模式,采用类html和层叠样式表(cascading style sheet,css)声明式编程语言作为页面布局和页面样式的开发语言,并支持ecmascript规范的js语言提供页面业务逻辑。
111.fa具有免安装、独立运行、跨设备ui迁移、跨设备二进制迁移等能力。fa还具有多端部署、分布执行的特性。
112.fa可以调用aa或app,实现更多、更复杂的功能。
113.(2)particle ability,pa。
114.pa是无ui的功能组件,可以为fa提供支持,例如pa可以作为后台服务提供计算能力,或作为数据仓库提供数据访问能力。例如,美颜功能、定位功能、音视频编解码功能等,可以封装为pa。
115.pa同样具有多端部署、分布式执行等特性。pa仅对系统服务有依赖关系,和其他pa之间不存在依赖关系。
116.pa实际上将远程虚拟化、远程调用、pa管理、跨平台兼容、安全等实现做封装,对开发者开放跨设备的服务使能和唤起,以供其他设备调用本设备的计算能力,协同其他设备完成计算工作。pa支持service ability,data ability等。service ability用于提供后台运行任务的能力。data ability用于对外部提供统一的数据访问抽象。
117.pa可以调用fa或app,实现更多、更复杂的功能。
118.可以理解的是,“fa”、“pa”只是本实施例中所使用的一个词语,在本技术其他一些实施例中,其还可以被称为其他名词。例如,“pa”、“fa”也可以被称为例如原子能力(atomic ability,aa)、原子应用、元能力、原子化服务、特性能力等其他名词。
119.组成一个分布式应用的多个功能组件可以由同一个开发者来开发或提供,可以由多个开发者分别开发或提供,这里不做限制。不同开发者共同开发功能组件,可以提高分布式应用的开发效率。
120.在本技术实施例中,功能组件对外提供标准化的接口,以供调用。app可调用功能组件。在一些情况下,功能组件也可以调用其他功能组件或app。此外,被调用的功能组件也可以继续调用另外的功能组件或app,这样多级调用的方式可称为链式调用。
121.分布式系统10中的各个设备建立通信连接后,各个设备将同步分布式系统中其他设备的功能组件信息以及app信息。具体的,各个设备可以将自身安装的功能组件及app的名称同步给其他设备,以供后续在分布式系统10中调用其他设备的fa、pa等功能组件。在其他一些实施例中,各个设备还可以将自己的设备标识、设备类型等等同步给分布式系统中的其他设备。
122.参考图2,图2示例性示出了一种可能的分布式的远程教学业务场景。
123.如图2所示,分布式系统包含智能手机、平板电脑、智慧屏等电子设备。分布式系统中的各个设备两两相互连接。智能手机、平板电脑、智慧屏可以配置不同的软件操作系统(operatingsystem,os),例如智能手机和平板电脑可以配置系统,智慧屏可以配置系统。
124.智能手机中安装有“在线课堂”。“在线课堂”是一款安装于电子设备中、为老师和学生提供远程上课所需的各项功能的应用程序,本技术实施例对其名称不做限制。“在线课堂”可以包括以下几个功能组件:黑板功能组件、白板功能组件、音视频编解码功能组件、网络连接功能组件。其中,黑板功能组件、白板功能组件属于fa,音视频编解码功能组件、网络连接功能组件属于pa。黑板功能组件提供远程讲解课程的功能。白板功能组件提供远程回答问题的功能。音视频编解码功能组件提供视频音编解码功能。
125.在老师侧,老师在智能手机上使用“在线课堂”时,可以将黑板功能组件迁移或切换到智慧屏上,从而在智慧屏上讲解课程。
126.在学生侧,学生在智能手机上使用“在线课堂”时,可以将白板功能组件迁移或切换到平板电脑上,从而在平板电脑上回答问题。
127.将功能组件由一个设备a迁移或切换至另一设备b,可以包括以下两种:1,ui迁移。在fa的视图ui和业务逻辑分离时,设备a可以运行业务逻辑代码时,可以触发设备b运行该视图ui的代码,用户看来就好像是将功能组件从设备a迁移到了设备b中。2,整体迁移。整体迁移是指设备b从设备a处或者从网络中下载并安装该功能组件后,运行该功能组件并提供相应的功能。
128.在该远程教学业务场景中,“在线课堂”为调用者,平板电脑中的白板功能组件、智慧屏中的黑板功能组件为被调用者。
129.图2还示出了另一种可能的分布式视频通话业务场景。
130.如图2所示,智能手机还可以安装有其他分布式应用,例如即时通讯应用。即时通讯应用可以提供视频通话、语音通话及其他通信功能。即时通信应用可以包括以下功能组件:视频通话功能组件、音视频编解码功能组件、网络连接功能组件。
131.用户在智能手机上使用即时通讯应用时,可以将该应用的视频通话功能组件迁移或者切换到智慧屏上,从而利用智慧屏的摄像头和显示屏来进行视频通话。
132.上述“在线课堂”中的黑板功能组件,和,即时通讯应用中的视频通话功能组件,可以是同一个功能组件。也就是说,智慧屏中的该功能组件可以被智能手机上安装的“在线课堂”和即时通讯应用分别调用。
133.在该视频通话业务场景中,即时通讯应用为调用者,智慧屏中的视频通话功能组件(即视频通话功能组件)为被调用者。
134.需要说明的是,如图2所示的业务场景仅用于辅助描述本技术实施例的技术方案。在实际业务场景中,图2所示的分布式系统可以包括更多的终端设备,各个设备中可以部署更多或更少的功能组件,各分布式应用可以包括更多或更少的功能组件。
135.通过图1所示的分布式系统10,以及,图2所示的分布式场景,可以整合不同设备的软硬件能力,实现智慧化的全场景体验。
136.在一些实施例中,分布式系统10中的各个设备建立通信连接后,各个设备将同步分布式系统中其他设备的功能组件信息以及app信息。具体的,各个设备可以将自身安装的功能组件及app的名称同步给其他设备,以供后续在分布式系统10中调用其他设备的app、功能组件等等。
137.在本技术后续实施例中:发起调用功能组件或app的一方,可以称为调用者。调用者例如可以为app、fa或pa。整个调用链的初始发起者,可以称为首调者。首调者例如可以为app或fa。举例来说,调用链为:app1调用pa1,pa1调用pa2,pa2调用fa1,则app1为首调者。再举例来说,调用链为:fa1调用pa1,pa1调用pa2,则fa1为首调者。
138.在整个调用链中,中间被调用的一方以及最后被调用的一方,都可以称为被调用者。被调用者例如可以为app、fa或pa。
139.在本技术一些实施例中,调用者也可以称为主体应用,被调用者还可以称为客体应用。
140.在调用链中,调用者,以及,被调用者,可以部署在同一个电子设备中,也可以部署在不同的电子设备中。
141.调用者所在设备称为主体设备,被调用者所在设备称为客体设备。
142.本技术以下实施例所称的应用,可以包括app,也可以包括功能组件。
143.在本技术实施例提供的分布式系统10中:
144.主体设备用于根据客体设备中基于安全等级的访问策略,判断是否向客体设备发起用于调用第一资源的访问请求。若确定发起该访问请求,则主体设备向客体设备发送该访问请求。
145.客体设备用于在接收到主体设备发送的访问请求之后,根据客体设备自身基于安全等级的访问策略,判断是否响应该访问请求。若确定响应该访问请求,则客体设备访问该第一资源。
146.关于分布式系统10中的各个电子设备所执行的操作的具体实现,可参考后续方法实施例的相关描述,这里不赘述。
147.参考图3a,图3a为本技术实施例提供的电子设备的硬件结构示意图。该电子设备可以为图1所示分布式系统10中的任意一个电子设备。该电子设备可以为主体设备,也可以为客体设备。
148.如图3a所示,该电子设备可以包括处理器110,外部存储器接口120,内部存储器121,通用串行总线(universal serial bus,usb)接口130,充电管理模块140,电源管理模块141,电池142,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,扬声器170a,受话器170b,麦克风170c,耳机接口170d,传感器模块180,按键190,马达191,指示器192,摄像头193,显示屏194,以及用户标识模块(subscriber identification module,sim)卡接口195等。其中传感器模块180可以包括压力传感器180a,陀螺仪传感器180b,气压传感器180c,磁传感器180d,加速度传感器180e,距离传感器180f,接近光传感器180g,指纹传感器180h,温度传感器180j,触摸传感器180k,环境光传感器180l,骨传导传感器180m等。
149.可以理解的是,本技术实施例示意的结构并不构成对电子设备的具体限定。在本技术另一些实施例中,电子设备可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
150.处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,ap),调制解调处理器,图形处理器(graphics processing unit,gpu),图像信号处理器(image signal processor,isp),控制器,视频编解码器,数字信号处理器(digital signal processor,dsp),基带处理器,和/或神经网络处理器(neural-network processing unit,npu)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
151.控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
152.处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了系统的效率。
153.电子设备的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。
154.天线1和天线2用于发射和接收电磁波信号。电子设备中的每个天线可用于覆盖单
个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
155.移动通信模块150可以提供应用在电子设备上的包括2g/3g/4g/5g等无线通信的解决方案。移动通信模块150可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(low noise amplifier,lna)等。移动通信模块150可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块150还可以对经调制解调处理器调制后的信号放大,经天线1转为电磁波辐射出去。在一些实施例中,移动通信模块150的至少部分功能模块可以被设置于处理器110中。在一些实施例中,移动通信模块150的至少部分功能模块可以与处理器110的至少部分模块被设置在同一个器件中。
156.调制解调处理器可以包括调制器和解调器。其中,调制器用于将待发送的低频基带信号调制成中高频信号。解调器用于将接收的电磁波信号解调为低频基带信号。随后解调器将解调得到的低频基带信号传送至基带处理器处理。低频基带信号经基带处理器处理后,被传递给应用处理器。应用处理器通过音频设备(不限于扬声器170a,受话器170b等)输出声音信号,或通过显示屏194显示图像或视频。在一些实施例中,调制解调处理器可以是独立的器件。在另一些实施例中,调制解调处理器可以独立于处理器110,与移动通信模块150或其他功能模块设置在同一个器件中。
157.无线通信模块160可以提供应用在电子设备上的包括无线局域网(wireless local area networks,wlan)(如无线保真(wireless fidelity,wi-fi)网络),蓝牙(bluetooth,bt),全球导航卫星系统(global navigation satellite system,gnss),调频(frequency modulation,fm),近距离无线通信技术(near field communication,nfc),红外技术(infrared,ir)等无线通信的解决方案。无线通信模块160可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块160经由天线2接收电磁波,将电磁波信号解调以及滤波处理,将处理后的信号发送到处理器110。无线通信模块160还可以从处理器110接收待发送的信号,对其进行调频,放大,经天线2转为电磁波辐射出去。
158.在一些实施例中,电子设备的天线1和移动通信模块150耦合,天线2和无线通信模块160耦合,使得电子设备可以通过无线通信技术与网络以及其他设备通信。所述无线通信技术可以包括全球移动通讯系统(global system for mobile communications,gsm),通用分组无线服务(general packet radio service,gprs),码分多址接入(code division multiple access,cdma),宽带码分多址(wideband code division multiple access,wcdma),时分码分多址(time-division code division multiple access,td-scdma),长期演进(long term evolution,lte),bt,gnss,wlan,nfc,fm,和/或ir技术等。所述gnss可以包括全球卫星定位系统(global positioning system,gps),全球导航卫星系统(global navigation satellite system,glonass),北斗卫星导航系统(beidou navigation satellite system,bds),准天顶卫星系统(quasi-zenith satellite system,qzss)和/或星基增强系统(satellite based augmentation systems,sbas)。
159.电子设备通过gpu,显示屏194,以及应用处理器等实现显示功能。gpu为图像处理的微处理器,连接显示屏194和应用处理器。gpu用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个gpu,其执行程序指令以生成或改变显示信息。
160.显示屏194用于显示图像,视频等。显示屏194包括显示面板。显示面板可以采用液
晶显示屏(liquid crystal display,lcd),有机发光二极管(organic light-emitting diode,oled),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrix organic light emitting diode的,amoled),柔性发光二极管(flex light-emitting diode,fled),miniled,microled,micro-oled,量子点发光二极管(quantum dot light emitting diodes,qled)等。在一些实施例中,电子设备可以包括1个或n个显示屏194,n为大于1的正整数。
161.电子设备可以通过isp,摄像头193,视频编解码器,gpu,显示屏194以及应用处理器等实现拍摄功能。
162.isp用于处理摄像头193反馈的数据。例如,拍照时,打开快门,光线通过镜头被传递到摄像头感光元件上,光信号转换为电信号,摄像头感光元件将所述电信号传递给isp处理,转化为肉眼可见的图像。isp还可以对图像的噪点,亮度,肤色进行算法优化。isp还可以对拍摄场景的曝光,色温等参数优化。在一些实施例中,isp可以设置在摄像头193中。
163.摄像头193用于捕获静态图像或视频。物体通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(charge coupled device,ccd)或互补金属氧化物半导体(complementary metal-oxide-semiconductor,cmos)光电晶体管。感光元件把光信号转换成电信号,之后将电信号传递给isp转换成数字图像信号。isp将数字图像信号输出到dsp加工处理。dsp将数字图像信号转换成标准的rgb,yuv等格式的图像信号。在一些实施例中,电子设备可以包括1个或n个摄像头193,n为大于1的正整数。
164.数字信号处理器用于处理数字信号,除了可以处理数字图像信号,还可以处理其他数字信号。例如,当电子设备在频点选择时,数字信号处理器用于对频点能量进行傅里叶变换等。
165.视频编解码器用于对数字视频压缩或解压缩。电子设备可以支持一种或多种视频编解码器。这样,电子设备可以播放或录制多种编码格式的视频,例如:动态图像专家组(moving picture experts group,mpeg)1,mpeg2,mpeg3,mpeg4等。
166.npu为神经网络(neural-network,nn)计算处理器,通过借鉴生物神经网络结构,例如借鉴人脑神经元之间传递模式,对输入信息快速处理,还可以不断的自学习。通过npu可以实现电子设备的智能认知等应用,例如:图像识别,人脸识别,语音识别,文本理解等。
167.内部存储器121可以包括一个或多个随机存取存储器(random access memory,ram)和一个或多个非易失性存储器(non-volatile memory,nvm)。
168.随机存取存储器可以包括静态随机存储器(static random-access memory,sram)、动态随机存储器(dynamic random access memory,dram)、同步动态随机存储器(synchronous dynamic random access memory,sdram)、双倍资料率同步动态随机存取存储器(double data rate synchronous dynamic random access memory,ddr sdram,例如第五代ddr sdram一般称为ddr5 sdram)等;非易失性存储器可以包括磁盘存储器件、快闪存储器(flash memory)。
169.随机存取存储器可以由处理器110直接进行读写,可以用于存储操作系统或其他正在运行中的程序的可执行程序(例如机器指令),还可以用于存储用户及应用程序的数据等。
170.非易失性存储器也可以存储可执行程序和存储用户及应用程序的数据等,可以提
前加载到随机存取存储器中,用于处理器110直接进行读写。
171.外部存储器接口120可以用于连接外部的非易失性存储器,实现扩展电子设备的存储能力。外部的非易失性存储器通过外部存储器接口120与处理器110通信,实现数据存储功能。例如将音乐,视频等文件保存在外部的非易失性存储器中。
172.电子设备可以通过音频模块170,扬声器170a,受话器170b,麦克风170c,耳机接口170d,以及应用处理器等实现音频功能。例如音乐播放,录音等。
173.音频模块170用于将数字音频信息转换成模拟音频信号输出,也用于将模拟音频输入转换为数字音频信号。音频模块170还可以用于对音频信号编码和解码。在一些实施例中,音频模块170可以设置于处理器110中,或将音频模块170的部分功能模块设置于处理器110中。
174.扬声器170a,也称“喇叭”,用于将音频电信号转换为声音信号。电子设备可以通过扬声器170a收听音乐,或收听免提通话。
175.受话器170b,也称“听筒”,用于将音频电信号转换成声音信号。当电子设备接听电话或语音信息时,可以通过将受话器170b靠近人耳接听语音。
176.麦克风170c,也称“话筒”,“传声器”,用于将声音信号转换为电信号。当拨打电话或发送语音信息时,用户可以通过人嘴靠近麦克风170c发声,将声音信号输入到麦克风170c。电子设备可以设置至少一个麦克风170c。在另一些实施例中,电子设备可以设置两个麦克风170c,除了采集声音信号,还可以实现降噪功能。在另一些实施例中,电子设备还可以设置三个,四个或更多麦克风170c,实现采集声音信号,降噪,还可以识别声音来源,实现定向录音功能等。
177.指纹传感器180h用于采集指纹。电子设备可以利用采集的指纹特性实现指纹解锁,访问应用锁,指纹拍照,指纹接听来电等。
178.按键190包括开机键,音量键等。按键190可以是机械按键。也可以是触摸式按键。电子设备可以接收按键输入,产生与电子设备的用户设置以及功能控制有关的键信号输入。
179.马达191可以产生振动提示。
180.指示器192可以是指示灯,可以用于指示充电状态,电量变化,也可以用于指示消息,未接来电,通知等。
181.压力传感器180a用于感受压力信号,可以将压力信号转换成电信号。在一些实施例中,压力传感器180a可以设置于显示屏194。
182.触摸传感器180k,也称“触控器件”。触摸传感器180k可以设置于显示屏194,由触摸传感器180k与显示屏194组成触摸屏,也称“触控屏”。触摸传感器180k用于检测作用于其上或附近的触摸操作。触摸传感器可以将检测到的触摸操作传递给应用处理器,以确定触摸事件类型。可以通过显示屏194提供与触摸操作相关的视觉输出。在另一些实施例中,触摸传感器180k也可以设置于电子设备的表面,与显示屏194所处的位置不同。
183.当图3a所示的电子设备为主体设备时:
184.移动通信模块150或无线通信模块160,可用于和分布式系统10中的其他电子设备(例如客体设备)建立通信连接,建立通信连接的具体方式可参考图1中的相关描述。
185.移动通信模块150或无线通信模块160,还可用于在和其他电子设备(例如客体设
备)建立通信连接后,接收其他电子设备同步的功能组件信息以及app信息,还可用于接收其他电子设备(例如客体设备)发送的该电子设备的设备安全等级、该电子设备中各个应用的安全等级,和,该电子设备中基于安全等级的访问策略,还可用于将该主体设备的设备安全等级、该主体设备中各个应用的安全等级,同步给其他电子设备(例如客体设备)。
186.内部存储器121可用于存储其他电子设备(例如客体设备)同步的功能组件信息以及app信息,还可用于存储其他电子设备发送的该电子设备的设备安全等级、该电子设备中各个应用的安全等级,和,该电子设备中基于安全等级的访问策略,还可用于存储该主体设备自身的设备安全等级、主体设备中各个应用的安全等级等等。设备安全等级、应用安全等级以及电子设备中基于安全等级的访问策略的具体内容,可参考后续方法实施例的相关描述。
187.在一些实施例中,处理器110可用于根据客体设备中基于安全等级的访问策略,判断是否向客体设备发起用于调用第一资源的访问请求。之后,移动通信模块150或无线通信模块160,还可用于在处理器110确定发起访问请求后,向客体设备发送该访问请求。
188.显示屏194还可用于显示后续实施例提供的在主体设备上显示的用户界面。
189.主体设备中各个模块所执行的操作可参考后续方法实施例的详细描述。
190.当图3a所示的电子设备为客体设备时:
191.移动通信模块150或无线通信模块160,可用于和分布式系统10中的其他电子设备(例如主体设备)建立通信连接,建立通信连接的具体方式可参考图1相关描述。
192.移动通信模块150或无线通信模块160,还可用于和其他电子设备建立通信连接后,向其他电子设备同步功能组件信息以及app信息,还可用于向其他电子设备发送该客体设备的设备安全等级、该客体设备中各个应用的安全等级、该客体设备基于安全等级的访问策略,还可以用于接收其他电子设备(例如主体设备)发送的电子设备的设备安全等级、该电子设备中各个应用的安全等级。
193.内部存储器121存储其他电子设备(例如主体设备)同步的功能组件信息以及app信息,还可用于存储该客体设备自身的设备安全等级、该客体设备中各个应用的安全等级、该客体设备基于安全等级的访问策略,以及,其他电子设备发送的设备安全等级、其他电子设备中各个应用的安全等级等等。
194.移动通信模块150或无线通信模块160,还可用于接收到主体设备发送的用于调用客体设备中第一资源的访问请求。
195.处理器110可用于根据客体设备的访问策略,判断是否响应主体设备发送的访问请求。
196.处理器110还可用于在上述判断结果为是的情况下,调度相关模块,例如调用被调用者的实例,访问第一资源,从而响应主体设备发送的访问请求。
197.显示屏194还可用于显示后续实施例提供的在客体设备上显示的用户界面。
198.客体设备中各个模块所执行的操作可参考后续方法实施例的详细描述。
199.参考图3b,图3b为本技术实施例提供的电子设备的软件结构示意图。该电子设备可以为图1所示分布式系统10中的任意一个电子设备。该电子设备可以为主体设备,也可以为客体设备。
200.电子设备的软件系统均可以采用分层架构,事件驱动架构,微核架构,微服务架
构,或云架构等。示例性地,电子设备的软件系统包括但不限于构,或云架构等。示例性地,电子设备的软件系统包括但不限于linux或者其它操作系统。
201.分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,将android系统分为四层,从上至下分别为应用程序层,应用程序框架层,安卓运行时(android runtime)和系统库,以及内核层。
202.应用程序层可以包括一系列应用程序包。
203.如图3b所示,应用程序包可以包括app,例如相机,图库,日历,通话,地图,导航,wlan,蓝牙,音乐,视频,短信息等应用程序。应用程序层还可包括功能组件,例如fa、pa等等。
204.应用程序框架层为应用程序层的应用程序提供应用编程接口(application programming interface,api)和编程框架。应用程序框架层包括一些预先定义的函数。
205.如图3b所示,应用程序框架层可以包括窗口管理器,内容提供器,视图系统,电话管理器,资源管理器,通知管理器等。
206.窗口管理器用于管理窗口程序。窗口管理器可以获取显示屏大小,判断是否有状态栏,锁定屏幕,截取屏幕等。
207.内容提供器用来存放和获取数据,并使这些数据可以被应用程序访问。所述数据可以包括视频,图像,音频,拨打和接听的电话,浏览历史和书签,电话簿等。
208.视图系统包括可视控件,例如显示文字的控件,显示图片的控件等。视图系统可用于构建应用程序。显示界面可以由一个或多个视图组成的。例如,包括短信通知图标的显示界面,可以包括显示文字的视图以及显示图片的视图。
209.电话管理器用于提供电子设备的通信功能。例如通话状态的管理(包括接通,挂断等)。
210.资源管理器为应用程序提供各种资源,比如本地化字符串,图标,图片,布局文件,视频文件等等。
211.通知管理器使应用程序可以在状态栏中显示通知信息,可以用于传达告知类型的消息,可以短暂停留后自动消失,无需用户交互。比如通知管理器被用于告知下载完成,消息提醒等。通知管理器还可以是以图表或者滚动条文本形式出现在系统顶部状态栏的通知,例如后台运行的应用程序的通知,还可以是以对话窗口形式出现在屏幕上的通知。例如在状态栏提示文本信息,发出提示音,电子设备振动,指示灯闪烁等。
212.android runtime包括核心库和虚拟机。android runtime负责安卓系统的调度和管理。
213.核心库包含两部分:一部分是java语言需要调用的功能函数,另一部分是安卓的核心库。
214.应用程序层和应用程序框架层运行在虚拟机中。虚拟机将应用程序层和应用程序框架层的java文件执行为二进制文件。虚拟机用于执行对象生命周期的管理,堆栈管理,线程管理,安全和异常的管理,以及垃圾回收等功能。
215.系统库可以包括多个功能模块。例如:表面管理器(surface manager),媒体库(media libraries),三维图形处理库(例如:opengl es),2d图形引擎(例如:sgl)等。
216.表面管理器用于对显示子系统进行管理,并且为多个应用程序提供了2d和3d图层
的融合。
217.媒体库支持多种常用的音频,视频格式回放和录制,以及静态图像文件等。媒体库可以支持多种音视频编码格式,例如:mpeg4,h.264,mp3,aac,amr,jpg,png等。
218.三维图形处理库用于实现三维图形绘图,图像渲染,合成,和图层处理等。
219.2d图形引擎是2d绘图的绘图引擎。
220.内核层是硬件和软件之间的层。内核层至少包含显示驱动,摄像头驱动,音频驱动,传感器驱动。
221.基于图2所示的分布式系统10,图3a所示的电子设备的硬件结构,图3b所示的电子设备的软件结构,下面详细介绍本技术实施例提供的基于安全等级的访问控制方法。
222.参考图4,图4为本技术实施例提供的基于安全等级的访问控制方法的流程示意图。
223.如图4所示,该方法可包括如下步骤:
224.s101,分布式系统中的各个电子设备之间相互建立通信连接。
225.本技术实施例对分布式系统中各个电子设备之间建立通信连接的方式不做限定,例如可通过登录相同账号、绑定设备、扫描二维码等方式来建立通信连接等。本技术实施例对电子设备之间建立的通信连接的类型不做限定,例如可包括有线连接、无线连接例如蓝牙连接、wi-fi p2p连接、nfc连接,ir连接,以及远程连接等等。具体可参考图2中的相关描述。
226.在一些实施例中,分布式系统中的各个电子设备之间建立连接后,还可以相互同步功能组件信息以及app信息。例如,电子设备可以向连接的其他电子设备发送自身安装的可供调用的功能组件信息以及app信息,例如标识等等。可供调用的功能组件或app由开发者在开发阶段声明或者定义,这里的可供调用仅仅是指功能组件或app可以被调用者调用,并非是指开放或授权给某个设备调用。
227.s102,分布式系统中的各个电子设备相互同步安全等级。
228.在本技术实施例中,各个电子设备均有对应的安全等级,不同电子设备的安全等级可以不同。一个电子设备的安全等级具体包括:该电子设备的设备安全等级,和/或,该电子设备中安装的各个应用的安全等级。
229.在本技术实施例中,每个电子设备都具备对应的设备安全等级,不同电子设备的设备安全等级可以不同。
230.本技术实施例可以按照不同的粒度,将设备安全等级划分为不同的等级。本技术对该粒度不做限定。例如,可以粗略地将设备安全等级划分为高、中、低三个等级。又例如,可以将设备安全等级划分为1-10个等级,数值越高,设备安全等级越高。
231.设备安全等级主要由电子设备本身的软硬件配置决定。电子设备的软硬件配置提供的安全能力越高,设备安全等级也就越高。影响安全能力的软件配置可包括:可信安全根、tee、root权限、设备完整性保护、加密及数据安全保护、安全隔离、访问权限控制等等。root权限是指电子设备操作系统的最高管理权限。影响安全能力的硬件配置可包括:处理器、内存等等。例如,设备a运行轻量级操作系统(lite operating system,liteos),硬件采用低端处理器,不支持复杂的虚拟内存隔离,也不支持基于硬件的安全隔离;设备b运行android系统,硬件采用高端处理器,设备支持硬件的安全隔离和虚拟内存隔离等安全能
力。那么设备b的设备安全等级要高于设备a。又例如,通常来说,手机、平板电脑、智能手表、大屏设备的软硬件配置依次降低,因此其设备安全等级也依次降低。
232.电子设备中的软硬件配置可能会发生动态变化,因此,一个电子设备的设备安全等级也可能会动态变化。
233.在本技术实施例中,分布式系统中的电子设备可以安装有一个或多个应用,该应用可以包括app,还可以包括功能组件。分布式系统中的电子设备所安装的各个应用均有对应的应用安全等级。不同应用的安全等级可以不同。
234.本技术实施例可以按照不同的粒度,将应用安全等级划分为不同的等级。本技术对该粒度不做限定。例如,可以粗略地将应用安全等级划分为高、中、低三个等级。又例如,可以将应用安全等级划分为1-10个等级,数值越高,应用安全等级越高。
235.在本技术一些实施例中,电子设备中各个应用的安全等级可以由用户自主设置。具体的,电子设备可以响应于接收到的用户操作,确定或者设置电子设备中安装的应用的安全等级。
236.参考图5a,图5a示例性示出了电子设备响应于用户操作,设置应用的安全等级的一种方式。
237.图5a示出了电子设备中的设置应用提供的用户界面51。设置应用是一款安装于电子设备中,用于设置电子设备中的各项功能的应用程序,本技术实施例对其名称不做限制。
238.如图5a所示,用户界面51中显示有:状态栏501、返回键502、页面指示符503、一个或多个应用选项504、以及和应用选项504对应的控件505。
239.其中,状态栏501可包括:wi-fi信号的一个或多个信号强度指示符,时间指示符、电池状态指示符、天气指示符等等。
240.返回键502用于返回设置应用提供的上一级页面。
241.页面指示符503用于指示当前页面用于设置电子设备中各个应用的安全等级。页面指示符502可以实现为文本例如文本“应用安全等级”,还可以实现为图标或者其他形式。
242.一个或多个应用选项504对应于该电子设备中安装的各个应用或者应用类别。应用选项504可以实现为图像、图标、文本等等,这里不做限制。
243.应用选项504之后对应有控件505。
244.电子设备可以响应于在控件505上检测到的用户操作(例如点击操作、触摸操作等等),显示如图5b所示的用户界面52。
245.用户界面52用于设置接收到用户操作的控件505对应的应用选项504所指示的应用的安全等级。
246.如图5b所示,用户界面52显示有:状态栏506、返回键507、页面指示符508、控件509。其中:
247.状态栏506、返回键507可参考图5a中的状态栏501、返回键502。
248.页面指示符508用于指示当前页面用于设置对应应用的安全等级。页面指示符508可以实现为文本例如文本“即时通讯应用”,还可以实现为图标或者其他形式。
249.控件509可以是滑动条。控件509可用于用户调节应用的安全等级。例如,可以有安全等级0至安全等级10共11个安全等级级别。用户可以在控件509上输入用户操作(例如滑动操作),从而将该应用的安全等级更改为安全等级0至安全等级10中的任意一个。电子设
备可以响应于该用户操作,确定该应用的安全等级。
250.不限于图5a及图5b所示的方式,具体实现中,用户还可以通过其他方式设置电子设备中各个应用的安全等级,这里不做限定。例如,电子设备接收到作用于指示应用类别的应用选型504所对应的控件505后,可以通过和图5b类似的方式,设置该应用类别下所有应用的安全等级。又例如,电子设备接收到作用于图5a中控件505的用户操作后,可以显示一个或多个应用安全等级选项,用户可以选中一个应用安全等级选项,将对应应用的安全等级设定为该应用安全等级选项指示的安全等级。
251.在本技术另一些实施例中,电子设备可以根据以下任意一项或多项来确定各个应用的安全等级:
252.1.应用运行时要求的设备安全能力。
253.应用运行时要求的设备安全能力越高,应用安全等级也就越高。应用运行时要求的设备安全能力可以预先设置,例如可以由应用的开发人员提前声明。例如,银行类应用运行时要求设备具备tee,而音乐类应用运行时仅要求设备具备ree。
254.2.应用所提供的业务。
255.应用所提供的业务涉及到的数据越机密,则该应用的安全等级也就越高。例如,银行类应用提供支付业务,音乐类应用提供音乐播放功能,支付类应用的安全等级高于音乐类应用的安全等级。又例如,拍照类应用涉及照片、视频等敏感数据,其应用安全等级高于计算器等工具类应用。
256.3.应用的类别。
257.应用的类别可分为系统应用和第三方应用。系统应用的安全等级高于第三方应用的安全等级。
258.可见,在本技术实施例中,电子设备中各个应用的安全等级可能会发生更改,例如可能会随着用户操作动态变化。
259.具体执行s102时,分布式系统中的各个电子设备相互建立连接后,可以首先基于该连接相互同步各自的安全等级。在一些实施例中,分布式系统中的电子设备可以在自身的安全等级发生变化时,将更新后的安全等级发送给连接的其他电子设备。在另一些实施例中,分布式系统中的各个电子设备还可以周期性地相互同步安全等级。
260.可选步骤s103,主客体设备相互同步基于安全等级的访问策略。
261.在本技术实施例中,不同电子设备的访问策略可以不同,这里不做限定。
262.电子设备中基于安全等级的访问策略描述了该电子设备基于安全等级开放资源给其他设备使用的规则。访问策略中的规则仅声明或者定义开放的资源,而并非指授予使用资源的权限。
263.在本技术实施例中,电子设备中基于安全等级的访问策略描述了该电子设备基于设备安全等级和/或应用安全等级开放资源给其他设备使用的规则。
264.电子设备中基于安全等级的访问策略可包括以下任意一种或多种的组合:
265.1.通用访问策略。
266.通用访问策略不涉及某个电子设备本身的设备安全等级和/或应用安全等级,适用于分布式系统中的任意电子设备。
267.通用访问策略可以指明以下信息:约束动作,约束主体的安全等级和/或约束客体
的安全等级,资源。其中,约束动作可包括两种:允许访问,和,不允许访问。资源的定义可参考前文。
268.也就是说,通用访问策略指明了:允许何种安全等级的设备访问何种安全等级的设备中的哪些资源,和/或,不允许何种安全等级的设备访问何种安全等级的设备中的哪些资源。即,通用访问策略指示了:允许具备第一安全等级的电子设备访问具备第二安全等级的电子设备中的第二资源,和/或,不允许具备第三安全等级的电子设备访问具备第四安全等级的电子设备中的第三资源。
269.进一步地,通用访问策略指明了以下任意一项或多项:允许何种设备安全等级的设备访问何种设备安全等级的设备/何种安全等级的应用的哪些资源,不允许何种设备安全等级的设备访问何种设备安全等级的设备/何种安全等级的应用的哪些资源,允许何种安全等级的应用访问何种安全等级的应用/何种设备安全等级的设备的哪些资源,或,不允许何种安全等级的应用访问何种安全等级的应用/何种设备安全等级的设备的哪些资源。
270.示例性地,通用访问策略例如可包括:设备安全等级较低的设备不能访问设备安全等级较高的设备、设备安全等级较低的设备不能调用设备安全等级较高的设备中的修改系统设置功能、删除个人数据等功能、设备安全等级较低的设备不能读取设备安全等级较高的设备中的数据、不允许其他电子设备访问系统设置修改服务/恢复出厂设置服务、高安全等级的应用(例如银行等支付类应用)不能将数据传递给低安全等级的应用(例如音乐类应用),低安全等级的应用不能读取高安全等级应用的数据等等、允许应用访问满足该应用运行时要求的设备安全能力的设备、不允许应用访问不满足该应用运行时要求的设备安全能力的设备、允许系统应用访问其他设备的敏感资源(例如系统设置修改服务、恢复出厂设置服务、删除个人数据等等),不允许安全等级较低的应用访问其他设备的敏感资源。
271.举例来说,在上述第1条通用访问策略中,约束主体的设备安全等级、约束动作、约束客体的设备安全等级、资源分别为:较低的设备安全等级、不允许访问、较高的设备安全等级、系统设置的修改服务。
272.在一些实施例中,通用访问策略可以禁止设备安全等级不同或相差较大的设备相互访问。这样的通用访问策略可以严格地切断低设备安全等级设备到高设备安全等级设备的访问途径,避免高设备安全等级设备中的数据流向低设备安全等级设备,从避免用户隐私的泄露。这样还可以避免低设备安全等级设备修改高设备安全等级设备中的数据,保证高设备安全等级设备中数据的完整性。
273.在一些实施例中,通用访问策略可以禁止安全等级不同或相差较大的应用相互访问。这样的通用访问策略可以严格地切断低安全等级应用到高安全等级应用的访问途径,避免高安全等级应用中的数据流向低安全等级应用,从避免用户隐私的泄露。这样还可以避免低安全等级应用修改高安全等级应用中的数据,保证高安全等级应用中数据的完整性。
274.在一些实施例中,通用访问策略可以仅允许应用访问满足该应用运行时要求的设备安全能力的设备,并且不允许应用访问不满足该应用运行时要求的设备安全能力的设备。这样可以保证跨设备资源调用过程中主体设备资源的机密性和完整性。
275.在本技术实施例中,结合通用访问策略和主客体设备各自的安全等级,就可以获知该客体设备中的各个资源是否开放给该主体设备。
276.2.基于电子设备的安全等级的访问策略。
277.基于电子设备的安全等级的访问策略,可以是结合通用访问策略和该电子设备的安全等级得到的,仅适用于该电子设备。
278.基于电子设备的安全等级的访问策略可以指明以下信息:约束动作,约束主体的安全等级、资源。
279.也就是说,基于电子设备的安全等级的访问策略指明了:允许何种安全等级的设备访问该电子设备中的哪些资源,和/或,不允许何种安全等级的设备访问该电子设备中的哪些资源。即,通用访问策略指示了:允许具备第五安全等级的电子设备访问所述第二设备中的第四资源,和/或,不允许具备第六安全等级的电子设备访问所述第二设备中的第五资源。
280.进一步地,基于电子设备的安全等级的访问策略指明了以下任意一项或多项:允许具备何种设备安全等级的设备访问该电子设备中的哪些资源,不允许具备何种设备安全等级的设备访问该电子设备中的哪些资源,允许具备何种安全等级的应用访问该电子设备中的哪些资源,和/或,不允许具备何种安全等级的应用访问该电子设备中的哪些资源。
281.示例性地,假设电子设备为智能手机,则基于该电子设备的安全等级的访问策略例如可包括:允许其他智能手机执行查看数据、不允许智能音箱查看数据,等等。举例来说,在上述第1条基于电子设备的安全等级的访问策略中,约束主体的安全等级、约束动作、资源分别为:智能手机的安全等级、允许访问、数据查看服务。
282.由于电子设备自身的安全等级可能会动态变化,因此,基于该电子设备的安全等级的访问策略也可能会动态变化。
283.在本技术实施例中,结合基于客体设备的安全等级的访问策略,和,主体设备的安全等级,就可以获知该客体设备中的各个资源是否开放给该主体设备。
284.3.基于电子设备本身的访问策略。
285.基于电子设备本身的访问策略,可以是结合通用访问策略、该电子设备的安全等级,以及其他电子设备的安全等级得到的,仅适用于该电子设备。
286.基于电子设备本身的访问策略可以指明以下信息:约束动作,约束主体、资源。
287.也就是说,允许哪些设备访问该电子设备中的哪些资源,和/或,不允许哪些设备访问该电子设备中的哪些资源。即,基于电子设备本身的访问策略指明了:允许第一设备访问第二设备中的第六资源,和/或,不允许第一设备访问第二设备中的第七资源。
288.在本技术实施例中,结合基于客体设备本身的访问策略,和,主体设备,就可以获知该客体设备中的各个资源是否开放给该主体设备。
289.在本技术实施例中,电子设备中基于安全等级的访问策略可以有以下两种设置方式:
290.1.该访问策略由该电子设备默认设置。
291.例如,电子设备出厂时可预置上述第1种通用访问策略,电子设备可以自主设置上述第2种基于电子设备的安全等级的访问策略等等。
292.2.该访问策略由用户自主设置。
293.具体的,电子设备可以响应于接收到的用户操作,设置该电子设备的访问策略,还可以设置该电子设备所管理的其他电子设备的访问策略。
294.参考图5c,图5c示例性示出了电子设备响应于用户操作,设置上述第2种访问策略,即设置基于该电子设备本身的安全等级的访问策略的一种方式。
295.图5c示出了电子设备中的设置应用提供的用户界面53。
296.如图5c所示,用户界面53中显示有:状态栏、返回键、页面指示符、一个或多个资源选项510、资源选项510对应的设备安全等级控件511,以及,应用安全等级控件512。
297.一个或多个资源选项510可对应于电子设备中可供调用的一个或多个资源,例如摄像头、扬声器、短信服务、播放服务、设备连接能力等等。一个资源选项可以对应一个或多个资源。
298.资源选项510之后对应有一个设备安全等级控件511和应用安全等级控件512。
299.设备安全等级控件511展示了对允许访问该资源选项510对应的资源的设备的设备安全等级要求。电子设备可以接收到作用于该设备安全等级控件511的操作,显示更多的设备安全等级选项,以供用户更改对允许访问该资源选项510对应的资源的设备的设备安全等级要求。
300.应用安全等级控件511展示了对允许访问该资源选项510对应的资源的应用的应用安全等级要求。电子设备可以接收到作用于该应用安全等级控件511的操作,显示更多的应用安全等级选项,以供用户更改对允许访问该资源选项510对应的资源的应用的应用安全等级要求。
301.如图5c所示,电子设备将摄像头开放给设备安全等级为10级的设备和应用安全等级为高级的应用,将扬声器开放给设备安全等级为8级的设备和应用安全等级为中级的应用,以此类推。也就是说,用户设置的该电子设备的访问策略包括:允许设备安全等级为10级的设备和应用安全等级为高级的应用访问该电子设备的摄像头、运行设备安全等级为8级的设备和应用安全等级为中级的应用访问该电子设备的扬声器。
302.不限于图5c所示的方式,具体实现中,用户还可以通过其他方式设置访问策略,这里不做限定。例如,电子设备可以提供用于设置该电子设备管理的其他电子设备的访问策略的用户界面,等等。
303.上述图5c可以是由本技术实施例中客体设备提供的用户界面
304.上述图5c仅为示例,不构成对本技术的限定。
305.在本技术实施例中,通过基于安全等级的访问策略,对于电子设备拒绝开放的资源,该电子设备可以拒绝提供该资源的访问接口,从而禁止对应的电子设备访问。
306.具体执行s103时,分布式系统中的各个电子设备相互建立连接后,首先基于该连接相互同步各自的访问策略。在一些实施例中,分布式系统中的电子设备可以在访问策略发生变化时,将更新后的访问策略发送给其他电子设备。在另一些实施例中,分布式系统中的各个电子设备还可以周期性地相互同步访问策略。
307.电子设备中访问策略发生变化,可能是由于电子设备或用户更改设置导致的,也可能是由于电子设备的设备安全等级或应用安全等级发生变化导致的,具体可参考前文相关描述,这里不再赘述。
308.在本技术一些实施例中,如果分布式系统中的各个电子设备均预置有相同的通用访问策略,则主体设备中也存储有客体设备的通用访问策略,则无需执行s103。
309.s104,主体设备生成访问请求,该访问请求用于主体设备中的调用者访问客体设
备中的第一资源。
310.主体设备可以为分布式系统10中的任意一个电子设备。
311.在本技术实施例中,主体设备中安装有调用者,调用者可以为app或功能组件。app、功能组件的定义可参考前文相关描述。
312.在一些实施例中,主体设备可以在运行调用者的过程中,响应于接收到的用户操作,生成访问请求。例如,用户在主体设备(例如手机)上使用视频通话类应用时,可以输入用户操作,触发主体设备生成用于访问客体设备的摄像头和显示屏来进行视频通话的访问请求。
313.在另一些实施例中,主体设备也可以在运行调用者的过程中,在一些情况下自主地生成针对客体设备的访问请求。例如,主体设备在运行外卖类应用程序时,可以自主生成用于调用客体设备中的定位功能来获取定位数据的访问请求。例如,主体设备可以在每次进行视频通话时,都默认生成用于主体设备中的即时通讯应用调用客体设备(例如智慧屏)中的视频通话功能组件和摄像头资源的访问请求。
314.在本技术实施例中,主体设备可以使用以下任意一种方式来确定客体设备:
315.1.主体设备在运行调用者时,可以在提供第一资源的多个电子设备中,自主选择一个电子设备作为客体设备,或者,响应于接收到的用户操作选择一个电子设备作为客体设备。
316.示例性地,如果主体设备a中的调用者app1生成用于访问摄像头资源的访问请求,若主体设备a连接的设备b和设备c均可以提供摄像头资源,则主体设备a可以选择安全等级较高的设备c作为客体设备。
317.示例性地,参考图5d,图5d示出了主体设备响应于用户操作选择客体设备的场景。
318.图5d展示了主体设备(例如智能手机)在运行即时通讯应用时展示的一个用户界面54,该用户界面54为视频通话界面。用户界面54中显示有:主体设备端用户的图像,和主体设备端用户进行视频通话的其他用户的图像,一个或多个设备选项513。一个或多个设备选项513可对应于分布式系统10中,和主体设备连接并且提供第一资源的设备,例如智慧屏、平板电脑、智能手机等等。
319.如图5d所示,主体设备可以检测到作用于设备选项513的用户操作,并响应于该用户操作,将该设备选项513对应的设备(例如智慧屏)确定为客体设备。在一些实施例中,主体设备还可以响应于作用于设备选项513的用户操作,生成用于访问设备选项513对应的设备(例如智慧屏)中摄像头资源的访问请求。
320.2.主体设备在运行调用者时,可以在多个电子设备中,根据该多个电子设备各自基于安全等级的访问策略,确定允许该主体设备访问第一资源的电子设备。之后,主体设备可以在允许该主体设备访问第一资源的电子设备中,自主选择或根据用户操作选择一个电子设备作为客体设备。
321.如何根据一个电子设备中基于安全等级的访问策略,判断是否允许主体设备访问该电子设备中的第一资源,可参考后续步骤的详细描述,这里暂不赘述。
322.示例性地,参考图5f,图5f示出了主体设备根据用户操作选择客体设备的场景。
323.图5f展示了主体设备(例如智能手机)在运行即时通讯应用时展示的一个用户界面54,该用户界面54为视频通话界面。用户界面54和图5d的用户界面54类似,显示有:主体
设备端用户的图像,和主体设备端用户进行视频通话的其他用户的图像,一个或多个设备选项515。一个或多个设备选项515可对应于分布式系统10中,和主体设备连接并且允许该主体设备访问第一资源的电子设备,例如智慧屏、平板电脑等等。
324.如图5f所示,主体设备可以检测到作用于设备选项515的用户操作,并响应于该用户操作,将该设备选项515对应的设备(例如智慧屏)确定为客体设备。在一些实施例中,主体设备还可以响应于作用于设备选项515的用户操作,生成用于访问设备选项515对应的设备(例如智慧屏)中摄像头资源的访问请求。
325.对比图5d和图5f,可见,主体设备连接的电子设备中,提供第一资源的电子设备包括智慧屏、平板电脑、智能手机,但根据各个电子设备中基于安全等级的访问策略,允许主体设备访问该第一资源的电子设备仅包括智慧屏、平板电脑。
326.可见,通过上述第2种方式,主体设备已经根据该客体设备中基于安全等级的访问策略执行了针对客体设备的鉴权。
327.在本技术一些实施例中,主体设备生成的访问请求具体用于主体设备中的调用者调用客体设备中的被调用者,以访问客体设备中的第一资源。客体设备中安装有被调用者,被调用者可以为app或功能组件。
328.主体设备可以使用以下任意一种方式,在客体设备安装的多个应用中选择被调用者:
329.1.主体设备可以在客体设备中提供第一资源的应用中,自主选择一个应用作为被调用者,或者,响应于接收到的用户操作选择一个应用作为被调用者。
330.在客体设备安装的各个应用中,如果应用的功能包括访问第一资源,则该应用为提供第一资源的应用。
331.示例性地,如果主体设备a中的调用者app1生成用于访问摄像头资源的访问请求,若客体设备c中有两个提供第一资源的功能组件fa1和fa2,则主体设备a可以选择安全等级较高的功能组件fa1作为被调用者。
332.示例性地,参考图5e,图5e示出了主体设备响应于用户操作选择被调用者的场景。
333.图5e展示了主体设备(例如智能手机)在运行即时通讯应用时展示的一个用户界面55,该用户界面55可以是主体设备响应于在图5d的设备选项513上接收到的用户操作而显示的界面。用户界面55中显示有:一个或多个应用选项514。一个或多个应用选项514可对应于客体设备(例如智慧屏)安装的各个应用中,提供第一资源的应用,例如视频通话功能组件(fa)1、视频通话功能组件2、视频通话功能组件3等等。
334.如图5e所示,主体设备可以检测到作用于应用选项514的用户操作,并响应于该用户操作,将该应用选项514对应的应用(例如视频通话功能组件1)确定为被调用者。在一些实施例中,主体设备还可以响应于作用于应用选项514的用户操作,生成用于调用客体设备中的应用选项514对应的应用,以访问摄像头资源的访问请求。
335.2.主体设备在客体设备中提供第一资源的应用中,根据客体设备基于安全等级的访问策略,确定允许该主体设备访问第一资源的应用。之后,主体设备可以在允许该主体设备访问第一资源的应用中,自主选择一个应用作为被调用者,或者,响应于接收到的用户操作在其中选择一个应用作为被调用者。
336.如何根据一个电子设备中基于安全等级的访问策略,判断是否允许主体设备访问
该电子设备中应用的第一资源,可参考后续步骤的详细描述,这里暂不赘述。
337.示例性地,参考图5g,图5g示出了主体设备响应于用户操作选择被调用者的场景。
338.图5g展示了主体设备(例如智能手机)在运行即时通讯应用时展示的一个用户界面55,该用户界面55可以是主体设备响应于在图5f的设备选项515上接收到的用户操作而显示的界面。用户界面55中显示有:一个或多个应用选项516。一个或多个应用选项516可对应于客体设备(例如智慧屏)安装的各个应用中,允许主体设备访问第一资源的应用,例如视频通话功能组件(fa)1、视频通话功能组件2等等。
339.如图5g所示,主体设备可以检测到作用于应用选项516的用户操作,并响应于该用户操作,将该应用选项516对应的应用(例如视频通话功能组件1)确定为被调用者。在一些实施例中,主体设备还可以响应于作用于应用选项516的用户操作,生成用于调用客体设备中的应用选项516对应的应用,以访问摄像头资源的访问请求。
340.对比图5g和图5e,可见,客体设备(例如智慧屏)安装的应用中,提供第一资源的应用包括视频通话功能组件1-3,但根据客体设备中基于安全等级的访问策略,允许主体设备访问该第一资源的应用仅包括视频通话功能组件1-2。
341.可见,通过上述第2种方式,主体设备已经根据该客体设备中基于安全等级的访问策略执行了针对被调用者的鉴权。
342.综合上述描述可知,主体设备生成的访问请求可以包括:调用者的标识、以及第一资源的标识。如果主体设备确定了被调用者,则该访问请求还可包括被调用者的标识。在一些实施例中,该访问请求还可以包括:主体设备的标识、客体设备的标识。
343.主体设备或客体设备的标识可以为设备类型、设备型号、设备名称等等,本技术实施例对此不做限制。这里的设备类型可以从设备形态来看,例如可包括手机、平板电脑、智能耳机、iot设备或智能家居设备等等。
344.调用者的标识、被调用者的标识,可以为应用标识(app id)。
345.在本技术实施例中,第一资源可以为客体设备中的任意资源,具体取决于主体设备的需求。客体设备中资源的分类及具体内容,可参考前文相关描述。第一资源可以包括一个或多个资源,这里不做限定。
346.在一些情况下,被调用者的标识和第一资源的标识可以相同。例如,第一资源为摄像头时,该被调用者的标识也可以是该摄像头的标识,用于指示该被调用者为相机应用。
347.s105,主体设备根据客体设备中基于安全等级的访问策略,判断是否发起该访问请求。
348.在一些实施例中,主体设备生成访问请求后,可以直接执行s105。
349.在另一些实施例中,主体设备生成访问请求后,可以在确认被调用者和/或第一资源为敏感资源的前提下,执行s105。这样可以保证主体设备在符合客体设备的访问策略的情况下,访问客体设备中的敏感资源,从而保证用户数据的安全。敏感资源可以是指,被泄露后会对用户隐私造成较大风险的资源,例如隐私程度高于阈值的资源。敏感资源可以包括电子设备中的硬件资源、软件资源以及存储的数据。
350.在本技术其他一些实施例中,主体设备也可以先执行s105,后执行s104,即主体设备可以先根据访问策略判断是否发起访问请求,并在确定发起访问请求之后再生成该访问请求。
351.在一些实施例中,若执行了s103,则主体设备可以根据客体设备发送的访问策略,判断是否发起访问请求。在另一些实施例中,若未执行s103,则主体设备可以根据预存的该客体设备的访问策略,例如通用访问策略,来判断是否发起访问请求。
352.具体执行s105时,主体设备可以根据客体设备中基于安全等级的访问策略,判断是否允许主体设备访问客体设备中的第一资源。
353.其中,主体设备的设备安全等级、客体设备的设备安全等级分别可以称为第一设备安全等级、第二设备安全等级,调用者的应用安全等级、被调用者的应用安全等级分别可以称为第一应用安全等级、第二应用安全等级。
354.在本技术实施例中,允许主体设备访问客体设备中第一资源的情况包括以下任意一项或多项:
355.允许具备第一设备安全等级的设备,访问,具备第二设备安全等级的设备的第一资源;
356.允许具备第一应用安全等级的应用,访问,具备第二设备安全等级的设备的第一资源;
357.允许具备第一设备安全等级的设备,访问,具备第二应用安全等级的应用的第一资源;或者,
358.允许具备第一应用安全等级的应用,访问,具备第二应用安全等级的应用的第一资源。
359.由于客体设备中基于安全等级的访问策略描述了该客体设备基于安全等级开放资源给其他设备使用的规则,因此,主体设备可以该访问策略来执行上述判断,并得出判断结果。
360.当客体设备的访问策略包含通用访问策略时,主体设备可以根据该通用访问策略,结合主客体设备各自的安全等级,判断是否发起访问请求。
361.当客体设备的访问策略包含基于客体设备自身安全等级的访问策略时,主体设备可以根据该访问策略,结合主体设备的安全等级,判断是否发起访问请求。
362.当客体设备的访问策略包含基于客体设备本身的访问策略时,主体设备可以根据该访问策略,结合主体设备,判断是否发起访问请求。
363.通过s105,可以结合安全等级实施相应的访问策略,以此来约束分布式系统中的跨设备访问,减少客体设备中资源对外暴露的方式,可以避免分布式场景中各个设备的安全等级的差异性所带来的安全和隐私泄露风险,确保客体设备中数据的机密性和完整性,保障数据安全。
364.在一些实施例中,如果主体设备使用上述第1种确定客体设备的方式来选择客体设备,或者,主体设备使用上述第1种确定被调用者的方式来选择被调用者,则客体设备可以执行s105以针对客体设备或被调用者进行鉴权。主体设备使用上述第2种确定客体设备的方式来选择客体设备,或者,主体设备使用上述第2种确定被调用者的方式来选择被调用者,即客体设备选择客体设备或被调用者时已经执行了针对该客体设备或该被调用者的鉴权,则客体设备无需执行s105。
365.若s105的判断结果为是,则执行后续步骤。
366.若s105的判断结果为否,则主体设备可以输出提示信息,以提示用户由于安全等
级不符合客体设备的访问策略,主体设备生成的该访问请求不能被响应。该提示信息的实现形式可参考后文相关描述。
367.可选步骤s106,主体设备判断是否具备该访问请求所需的权限。
368.在本技术一些实施例中,主体设备可以在s105的判断结果为是的情况下,直接执行s106。
369.在本技术另一些实施例中,主体设备也可以先执行s106,并在s106的执行结果为是的情况下,再执行s104和/或s105。
370.主体设备生成的访问请求所需的权限包括:调用客体设备中的被调用者的权限,和/或,访问客体设备中第一资源的权限。
371.在一些实施例中,该访问请求所需的权限具体包括:主体设备调用客体设备中被调用者和/或访问第一资源的权限。当访问请求所需的权限包括调用被调用者的权限时,可以看做该权限包含调用被调用者执行各种操作的权限,因此也包含访问第一资源的权限。
372.在一些实施例中,该访问请求所需的权限具体包括:调用者调用客体设备中被调用者和/或访问第一资源的权限。
373.在一些实施例中,该访问请求所需的权限具体包括:主体设备中的调用者调用客体设备中被调用者和/或访问第一资源的权限。
374.在本技术的一些实施例中,主体设备可以在生成访问请求之后,直接向用户申请该访问请求所需的权限。在另一些实施例中,主体设备可以在生成访问请求之后,在s106的执行结果为否的情况下,向用户申请权限,这样可以减少主体设备和用户之间的交互,提高分布式系统中跨设备调用资源的效率。不限于主体设备获取该访问请求所需的权限,在其他一些实施例中,主体设备还可以从客体设备处接收该访问请求所需的权限。
375.在s106中,主体设备可以在运行调用者的过程中,使用主体设备和调用者均支持的授权方式,来请求用户授予自身生成的访问请求所需的权限。授权方式可包括但不限于:弹框授权、指纹验证授权、人脸验证授权、语音指令授权、按键授权等等,这里不做限制。
376.电子设备支持的授权方式的种类,取决于该电子设备的硬件和/或软件配置。例如,支持弹框授权需要电子设备配置显示屏。支持指纹验证授权,需要电子设备配置指纹传感器。支持人脸验证授权,需要电子设备配置摄像头以及人脸识别算法。支持语音指令授权,需要电子设备配置麦克风或其他拾音设备。支持按键授权,需要电子设备配置物理按键。
377.调用者是否具备授权条件,取决于该调用者本身的功能。例如,调用者能够提供用户界面时,该调用者可以支持弹框授权。又例如,调用者能够调用指纹传感器时,该调用者可以支持指纹验证授权。
378.主体设备支持弹框授权时,可以在显示屏上输出提示信息,该提示信息用于提示该访问请求所需的权限。之后,主体设备可以检测到作用于显示屏的用户操作,并响应于该用户操作,获取到该访问请求所需的权限。
379.主体设备支持指纹验证授权时,可以通过指纹传感器采集用户的指纹,并将采集到的指纹和预置的指纹进行比对,若两个指纹一致,则主体设备获取到访问请求所需的权限。在一些实施例中,主体设备可以预置多个指纹,并在采集到不同的预置指纹时,获取到具有不同的时效的访问请求所需的权限。
380.主体设备支持人脸验证授权时,可以通过摄像头采集用户的人脸图像,并将采集到的人脸图像和预置的人脸图像进行比对,若两者一致,则主体设备获取到访问请求所需的权限。
381.主体设备支持语音指令授权时,可以通过麦克风、受话器或者其他拾音设备来采集用户输入的语音指令,并将采集到的语音指令和预置的语音指令进行比对,若两者一致,则主体设备获取到访问请求所需的权限。在一些实施例中,主体设备可以预置多个语音指令,并在采集到不同的预置语音指令时,获取到具有不同的时效的访问请求所需的权限。
382.主体设备支持按键授权时,可以通过物理按键采集用户的按压操作,如果在物理按键上采集到了预设的按压操作(例如一次按压操作、长按操作、连续两次按压操作等等),则主体设备获取到访问请求所需的权限。在一些实施例中,主体设备可以预置多个按压操作,并在采集到不同的预置按压操作时,获取到具有不同的时效的访问请求所需的权限。
383.若s106的判断结果为是,则执行后续步骤。
384.s107,主体设备向客体设备发送该访问请求。
385.在一些实施例中,主体设备还可以向客体设备发送自身获取到的访问请求所需的权限信息,该权限信息指示访问请求所需的权限。
386.在一些实施例中,主体设备向客体设备发送的访问请求中还可以携带有该主体设备的安全等级,这样可以不必执行s102的操作,减少主客体设备之间的交互,提高跨设备资源调用的效率。
387.s108,客体设备根据客体设备的访问策略,判断是否响应该访问请求。
388.在一些实施例中,客体设备接收到访问请求后,可以直接执行s108。
389.在另一些实施例中,客体设备接收到访问请求后,可以在确认被调用者和/或第一资源为敏感资源的前提下,执行s108。这样可以保证主体设备在符合客体设备的访问策略的情况下,访问客体设备中的敏感资源,从而保证用户数据的安全。
390.具体执行s108时,和主体设备执行s105类似,客体设备可以根据客体设备中基于安全等级的访问策略,判断是否允许主体设备访问客体设备中的第一资源。也就是说,客体设备可以根据客体设备中基于安全等级的访问策略,判断是否允许属于主体设备安全等级的设备,访问属于客体设备安全等级的设备中的第一资源。
391.允许主体设备访问客体设备中第一资源的情况包括以下任意一项或多项:
392.允许具备第一设备安全等级的设备,访问,具备第二设备安全等级的设备的第一资源;
393.允许具备第一应用安全等级的应用,访问,具备第二设备安全等级的设备的第一资源;
394.允许具备第一设备安全等级的设备,访问,具备第二应用安全等级的应用的第一资源;或者,
395.允许具备第一应用安全等级的应用,访问,具备第二应用安全等级的应用的第一资源。
396.由于客体设备中基于安全等级的访问策略描述了该客体设备基于安全等级开放资源给其他设备使用的规则,因此,客体设备可以该访问策略来执行上述判断,并得出判断结果。
397.当客体设备的访问策略包含通用访问策略时,客体设备可以根据该通用访问策略,结合主客体设备各自的安全等级,判断是否响应访问请求。
398.当客体设备的访问策略包含基于客体设备自身安全等级的访问策略时,客体设备可以根据该访问策略,结合主体设备的安全等级,判断是否响应访问请求。
399.当客体设备的访问策略包含基于客体设备本身的访问策略时,客体设备可以根据该访问策略,结合主体设备,判断是否响应访问请求。
400.在一些实施例中,客体设备执行s108时涉及到的客体设备中的被调用者,可以是在s104中由主体设备生成访问请求时所选择的被调用者,并且该被调用者的标识被携带在该访问请求中。
401.在另一些实施例中,如果主体设备生成访问请求时并未选择被调用者,则客体设备执行s108时涉及到的客体设备中的被调用者,可以是客体设备在接收到访问请求后在自身安装的应用中选择的。客体设备选择被调用者的方式,和s104中主体设备选择被调用者的方式相同,可参考前文相关描述。这里,如果客体设备使用上述第1种方式来选择被调用者,则客体设备可以执行s108以针对被调用者进行鉴权;如果客体设备使用上述第2种方式来选择被调用者,即客体设备选择被调用者时已经执行了针对该被调用者的鉴权,则客体设备无需执行s108。
402.通过s108,可以结合设备的安全等级实施相应的访问策略,以此来约束分布式系统中的跨设备访问,减少客体设备中资源对外暴露的方式,可以避免分布式场景中各个设备的安全等级的差异性所带来的安全和隐私泄露风险,确保客体设备中数据的机密性和完整性,保障数据安全。
403.若s108的判断结果为是,则执行后续步骤。
404.若s108的判断结果为否,则客体设备可以向主体设备发送反馈消息,该反馈消息用于指示客体设备拒绝响应该访问请求。主体设备接收到该反馈消息之后,可以输出提示信息,以提示用户由于安全等级不符合客体设备的访问策略,主体设备生成的该访问请求不能被客体设备响应。
405.参考图5h,图5h示例性示出了主体设备输出的提示信息的一种形式。如图5h所示,该提示信息例如可以为文本“安全等级低,不能将视频通话界面迁移到对应设备中!”。在其他一些实施例中,该提示信息还可以提示用户更换客体设备等等。不限于文本,该提示信息还可以实现为语音、振动或其他形式。
406.可选步骤s109,客体设备判断是否具备该访问请求所需的权限。
407.在本技术一些实施例中,客体设备可以在s108的判断结果为是的情况下,直接执行s109。
408.在本技术另一些实施例中,客体设备也可以先执行s109,并在s109的执行结果为是的情况下,再执行s108。
409.在一些实施例中,客体设备可以在运行被调用者的过程中,使用客体设备和被调用者均支持的授权方式,来请求用户授予接收到的访问请求所需的权限。客体设备请求用户授权的方式和主体设备请求用户授权的方式类似,具体可参考s106的相关描述。
410.在另一些实施例中,客体设备可以接收到主体设备传递过来的该访问请求所需的权限信息,并根据该权限信息获取到该访问请求所需的权限。
411.若s109的判断结果为是,则执行后续步骤。
412.s110,客体设备响应该访问请求。
413.具体的,客体设备可以响应于主体设备发送的访问请求,为主体设备中的调用者创建被调用者的实例,并运行该实例来访问第一资源。在一些实施例中,如果客体设备中已经存在该被调用者的实例,则客体设备无需重新创建该被调用者的实例,可以直接运行该实例来访问第一资源。
414.在本技术实施例中,实例是运行态的app或功能组件。实例可以指进程,也可以指线程。电子设备会以进程为单位为不同的实例分配随机存取存储器(random access memory,ram)中的物理地址。电子设备在需要运行实例时,将根据虚拟地址找到ram中对应分配给该实例的空间,并在该空间中运行该实例。其中,该虚拟地址与电子设备分配给实例的物理地址相映射,其映射关系存储在电子设备的控制器中。也就是说,实例是通过虚拟地址来实现找到内存数据的实际存储位置的。
415.在本技术实施例中,客体设备响应访问请求以访问第一资源,具体可包括以下一项或多项:
416.1,客体设备运行为调用者创建的被调用者的实例,访问第一资源以执行一系列操作,例如通过显示屏显示视频通话界面、通过摄像头采集图像、执行计算操作、图像处理、获取位置信息等等。
417.2,客体设备将访问第一资源的访问结果发送给主体设备,例如将摄像头采集的图像发送给主体设备,以供主体设备发送给和其进行视频通话的另一端设备,又例如将计算结果、获取到的位置信息发送给主体设备等等。
418.3,客体设备接收主体设备发送的数据,并利用该数据来访问第一资源,并执行一系列操作。例如客体设备可以接收主体设备发送的其进行视频通话的另一端设备采集的图像,将该图像显示在显示屏的视频通话界面中。
419.这里,客体设备响应访问请求以访问第一资源时所执行的操作,可以由客体设备默认决定,也可以由客体设备侧的用户决定,还可以由主体设备侧发送的访问请求来决定,这里不做限制。
420.通过上述图4所示的基于安全等级的访问控制方法,可以通过结合安全等级的访问策略来约束分布式系统中的跨设备访问,减少客体设备中资源对外暴露的方式,可以避免分布式场景中各个设备的差异性所带来的安全和隐私泄露风险,确保客体设备中数据的机密性和完整性,保障数据安全。此外,该方法通过主客体双重鉴权的方式,可以避免主体设备或客体设备被恶意攻击带来的风险,进一步保障客体设备的数据安全。
421.在本技术一些实施例中,可以采用单侧鉴权的方式来执行图4所示的基于安全等级的访问控制方法。具体的,若主体设备执行了s105,则客体设备无需执行s108。或者,主体设备发送访问请求之前,无需执行s105,而由客体设备执行s108。单侧鉴权的方式,可以减少主体设备/客体设备的操作,提高分布式系统中跨设备调用资源的效率。
422.在一些实施例中,采用客体设备单侧鉴权的方式来执行图4所示的基于安全等级的访问控制方法时,若执行s102时主体设备拒绝接收客体设备的访问策略,或者,主体设备未执行s105,则主体设备可以向客体设备发送自身拒绝接收客体设备的访问策略或未执行s105的通知消息。客体设备接收到该通知消息之后,若接收到主体设备的访问请求可以直
接拒绝响应该访问请求。其中,主体设备拒绝接收客体设备的访问策略,或者,主体设备未执行s105,可能是由于主体设备遭到恶意攻击而导致的,通过该实施例可以避免主体设备被恶意攻击带来的风险,进一步保障客体设备的数据安全。
423.在本技术其他一些实施例中,还可以采用双侧结合鉴权的方式来执行图4所示的基于安全等级的访问控制方法。例如,若主体设备在s105中执行了判断是否允许主体设备访问客体设备中的第一资源的操作,则客体设备在s108中可以执行判断是否允许主体设备访问客体设备中被调用者的第一资源的操作。这样可以将鉴权操作分化后,分别由主体设备可客体设备执行,减少主客体设备各自的操作,提高分布式系统中跨设备调用资源的效率。
424.在一些实施例中,如果客体设备为瘦设备,则上述图4所示方法中的s108、s109均可以由该瘦设备的控制设备来执行,并且主体设备访问该瘦设备中的资源时,可以通过该控制设备来中转消息。
425.在一些实施例中,还可以根据主客体设备的安全等级,来确定访问请求或者调用关系的安全等级,在该访问请求或者调用关系的安全等级大于预设安全等级时,主体设备可以发起该访问请求或者客体设备可以响应该访问请求。访问请求或者调用关系的安全等级,具体可以由客体设备的访问策略,和主客体设备各自的安全等级来确定。例如,如果客体设备的访问策略指示该主体设备可以访问客体设备中的第一资源,则该访问请求或者调用关系的安全等级为高,如果客体设备的访问策略指示该主体设备不可以访问客体设备中的第一资源,则该访问请求或者调用关系的安全等级为低。
426.在上述图4所示的访问控制方法中:
427.主体设备可以被称为第一设备,客体设备可以被称为第二设备。
428.客体设备中基于安全等级的访问策略可以被称为第一访问策略。
429.用于管理各个电子设备的设备,例如用户管理智能家居的智能手机,可以被称为第三设备。
430.主体设备发送的访问请求所需的权限可以被称为第一权限,该第一权限的具体内容可参考前文相关描述。
431.参考图6a,图6a为本技术实施例提供的主体设备的软件结构示意图。该主体设备可以是图4实施例中的主体设备。
432.如图6a所示,主体设备可包括如下几个模块:设备安全等级管理模块、应用安全等级管理模块、设备安全等级库、应用安全等级库、访问策略管理模块、访问策略库、基于安全等级的访问控制模块、权限访问控制模块、通信模块。其中:
433.设备安全等级管理模块,用于评估或者获取主体设备的设备安全等级,还用于将主体设备的设备安全等级同步到客体设备中,并接收客体设备发送的设备安全等级。设备安全等级的详细内容、主体设备评估或者获取自身设备安全等级的方式,可参考前文方法实施例的相关描述。
434.设备安全等级库,用于存储设备安全等级管理模块获取到的主体设备的设备安全等级,和,客体设备的设备安全等级。
435.应用安全等级管理模块,用于评估或者获取主体设备中各个应用的安全等级,还用于将各个应用的安全等级同步到客体设备中,并接收客体设备发送的该客体设备中各个
应用的安全等级。应用安全等级的详细内容、主体设备评估或者获取各个应用的安全等级的方式,可参考前文方法实施例的相关描述。
436.应用安全等级库,用于存储应用安全等级管理模块获取到的主体设备中各个应用的安全等级,和,客体设备中各个应用的安全等级。
437.访问策略管理模块,用于接收客体设备同步过来的该客体设备中基于安全等级的访问策略。该客体设备的访问策略的具体实现方式可参考前文方法实施例中的相关描述。
438.访问策略库,用于存储客体设备同步过来的访问策略。
439.基于安全等级的访问控制模块,用于根据访问策略库中存储的客体设备的访问策略,判断是否向客体设备发起访问请求。
440.权限访问控制模块,用于查询客体设备是否开放了访问请求所需的权限给主体设备,还用于查询是否具有该访问请求所需的权限。在查询结果为是时,权限访问控制模块确认主体设备可以向该客体设备发起该访问请求。
441.通信模块,用于和客体设备建立连接并通信。
442.图6a仅为示意性举例,本技术实施例提供的主体设备还可以包括更多或更少的模块,这里不做限制。
443.图6a提及的主体设备中的各个模块,可以位于图3b所示的电子设备中的应用程序层、应用程序框架层、系统服务层、内核层等等,这里不做限制。
444.参考图6b,图6b为本技术实施例提供的客体设备的软件结构示意图。该客体设备可以是图4实施例中的客体设备。
445.如图6b所示,客体设备可包括如下几个模块:设备安全等级管理模块、应用安全等级管理模块、设备安全等级库、应用安全等级库、访问策略管理模块、访问策略库、基于安全等级的访问控制模块、权限访问控制模块、通信模块。其中:
446.设备安全等级管理模块,用于评估或者获取客体设备的设备安全等级,还用于将客体设备的设备安全等级同步到主体设备中,并接收主体设备发送的设备安全等级。设备安全等级的详细内容、客体设备评估或者获取自身设备安全等级的方式,可参考前文方法实施例的相关描述。
447.设备安全等级库,用于存储设备安全等级管理模块获取到的客体设备的设备安全等级,和,主体设备的设备安全等级。
448.应用安全等级管理模块,用于评估或者获取客体设备中各个应用的安全等级,还用于将各个应用的安全等级同步到主体设备中,并接收主体设备发送的该主体设备中各个应用的安全等级。应用安全等级的详细内容、客体设备评估或者获取各个应用的安全等级的方式,可参考前文方法实施例的相关描述。
449.应用安全等级库,用于存储应用安全等级管理模块获取到的客体设备中各个应用的安全等级,和,主体设备中各个应用的安全等级。
450.访问策略管理模块,用于管理客体设备中基于安全等级的访问策略,还用于向主体设备同步该访问策略。客体设备中基于安全等级的访问策略的具体实现,可参考前文方法实施例的相关内容。
451.访问策略库,用于存储客体设备的访问策略。
452.基于安全等级的访问控制模块,用于根据访问策略库中存储的客体设备的访问策
略,判断是否响应主体设备发送的访问请求。
453.权限访问控制模块,用于查询客体设备是否开放了访问请求所需的权限给主体设备,还用于查询是否具有该访问请求所需的权限。在查询结果为是时,权限访问控制模块确认客体设备可以响应该访问请求。
454.通信模块,用于和主体设备建立连接并通信。
455.图6b仅为示意性举例,本技术实施例提供的客体设备还可以包括更多或更少的模块,这里不做限制。
456.图6b提及的客体设备中的各个模块,可以位于图3b所示的电子设备中的应用程序层、应用程序框架层、系统服务层、内核层等等,这里不做限制。
457.本技术的各实施方式可以任意进行组合,以实现不同的技术效果。
458.在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本技术所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘(solid state disk,ssd))等。
459.本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,该流程可以由计算机程序来指令相关的硬件完成,该程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法实施例的流程。而前述的存储介质包括:rom或随机存储记忆体ram、磁碟或者光盘等各种可存储程序代码的介质。
460.总之,以上所述仅为本技术技术方案的实施例而已,并非用于限定本技术的保护范围。凡根据本技术的揭露,所作的任何修改、等同替换、改进等,均应包含在本技术的保护范围之内。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献