基于访问策略的访问控制方法、相关装置及系统与流程

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


背景技术:

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


技术实现要素:

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