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

文档序号:31837938发布日期:2022-10-18 21:50阅读:98来源:国知局
基于安全敏感度的访问控制方法、相关装置及系统与流程
基于安全敏感度的访问控制方法、相关装置及系统
1.本技术要求于2021年4月12日提交中国专利局、申请号为202110391171.1、申请名称为“基于安全敏感度的访问控制方法、相关装置及系统”的中国专利申请的优先权,其全部内容通过引用结合在本技术中。
技术领域
2.本技术涉及计算机及通信技术领域,尤其涉及基于安全敏感度的访问控制方法、相关装置及系统。


背景技术:

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


技术实现要素:

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