一种资产的访问控制方法、装置、设备及介质与流程

文档序号:29788046发布日期:2022-04-23 15:30阅读:129来源:国知局
一种资产的访问控制方法、装置、设备及介质与流程
一种资产的访问控制方法、装置、设备及介质
1.本技术要求于2020年10月20日提交中国国家知识产权局、申请号为202011126183.3申请名称为“价值资产的获取方法、装置、服务器及存储介质”的中国专利申请的优先权,其全部内容通过引用结合在本技术中。
技术领域
2.本技术涉及计算机技术领域,尤其涉及一种资产的访问控制方法、装置、设备以及计算机可读存储介质。


背景技术:

3.应用是指作为独立实体运行的程序。单个应用或者多个具有调用关系的应用可以形成应用链。应用链可以作为一个整体访问资产。其中,资产是指可以产生效益的资源,例如可以是凭证或者是访问服务的应用程序编程接口(application programming interface,api)。
4.随着用户对安全需求的提高,对资产进行访问控制成为了热门研究方向。目前,业界主要是基于密码学特征对应用进行身份识别,例如是基于口令、密钥或者证书等认证因子对应用进行身份识别,然后根据身份识别结果进行访问控制。
5.然而,任何获取到目标应用的认证因子的应用都可以仿冒目标应用,从而访问资产。如此给资产安全带来了极大的挑战。业界亟需提供一种可靠的、资产的访问控制方法,保障资产安全。


技术实现要素:

6.本技术提供了一种资产的访问控制方法,该方法以应用链内在的第一身份特征代替外在的密码学特征进行身份识别,基于身份识别结果对资产进行访问控制,避免了应用被仿冒或被篡改所导致的资产安全隐患,保障了资产安全。本技术还提供了上述方法对应的系统、装置、设备、计算机可读存储介质以及计算机程序产品。
7.第一方面,本技术提供了一种资产的访问控制方法。该方法具体用于对应用链访问资产进行控制。其中,应用链包括一个或多个应用。当应用链包括多个应用时,该应用链具体是多个具有调用关系的应用形成的调用链。资产是指可以产生效益的资源。在一些示例中,资产例如可以是访问服务的应用程序编程接口api或者是凭证。其中,凭证具体可以是接入凭证(access token)。该接入凭证可以是api的凭证。
8.资产的访问控制方法可以由访问控制系统执行。具体地,访问控制系统获取应用链的第一身份特征,该应用链的第一身份特征来自于应用链中的一个或多个应用的自身逻辑,当应用链的第一身份特征与应用特征库记录的应用链的第二身份特征匹配时,允许应用链访问所述资产。
9.由于访问控制系统采用来自于应用链中一个或多个应用的自身逻辑的身份特征进行身份识别,而不是密码、密钥或者证书等外在的密码学特征进行身份识别,由此可以避
免应用被仿冒或被篡改导致的资产安全隐患,保障了资产安全。
10.在一些可能的实现方式中,应用链的第一身份特征可以来自该应用链中所有应用的自身逻辑。如此,应用链中所有应用都未被篡改的情况下,应用链的第一身份特征能够通过身份识别,访问控制系统允许该应用链访问资产,如此保障了资产安全。换言之,访问控制系统可以确保能接触到资产的应用链中所有应用都是未被篡改的应用。
11.在一些可能的实现方式中,所述应用的自身逻辑包括静态逻辑或动态逻辑。其中,静态逻辑是指应用未执行时的逻辑,例如可以是应用各功能模块的逻辑,包括应用的输入输出模块的逻辑、接口调用模块的逻辑、命令执行模块的逻辑或资源调度模块的逻辑中的任意一种或多种。动态逻辑是指应用执行时的逻辑,例如可以是应用各功能模块执行操作时的行为逻辑,包括输入输出模块执行输入输出操作的逻辑、接口调用模块执行接口调用操作的逻辑、命令执行模块执行命令的逻辑或者是资源调度模块调度资源的逻辑。
12.不同应用的自身逻辑如静态逻辑、动态逻辑是不同的,因此,应用很难被仿冒,由此避免了其他应用仿冒当前应用访问资产的情况,保障了资产安全。并且,当应用被篡改时,应用的自身逻辑如静态逻辑或动态逻辑会发生变化,访问控制系统通过来自应用自身逻辑的身份特征进行身份识别,可以有效识别出应用被篡改的情况,避免被篡改的应用访问资产导致的安全隐患,进一步保障了资产安全。
13.在一些可能的实现方式中,访问控制系统可以对应用链进行特征提取,从而获得应用链的第一身份特征。具体地,在应用链的一次作业过程中,该应用链首次访问资产前,对应用链进行特征提取,获得应用链的第一身份特征。在作业结束之前,应用链再次访问该资产前,访问控制装置可以直接获取首次访问时进行特征提取所得的第一身份特征。如此可以减少特征提取的次数,减少计算开销。
14.在一些可能的实现方式中,访问控制系统可以在所述应用链每次访问所述资产之前对所述应用链进行特征提取,得到应用链的第一身份特征。也即访问控制系统实时对应用链进行特征提取,获得应用链的第一身份特征,如此,可以使得访问控制系统获得的第一身份特征能够真实地表征此时应用链的身份,避免应用链被篡改或被感染病毒,仍以原有身份特征访问资产或目标属性的资产所导致的安全隐患。
15.在一些可能的实现方式中,应用链可以包括多个分支,例如包括多个访问资产的分支。访问控制系统可以在应用链执行到访问目标属性的资产的分支时,触发身份识别流程,从而减少对应用链的侵入性。
16.具体地,当应用链请求访问资产的属性为目标属性时,获取应用链的第一身份特征。其中,目标属性的资产可以是人为标记的资产,例如人为标记的高价值资产,或者人为标记的高风险资产等等。在一些实施例中,目标属性的资产也可以是系统推荐记录的资产。
17.该方法通过在应用链的关键路径上触发身份识别,基于身份识别结果进行访问控制,由此实现了以最小化系统开销获得最大安全收益,最小化访问控制对应用链的影响。
18.在一些可能的实现方式中,访问控制系统还可以对身份特征进行过滤,例如通过布隆过滤器得到相应的布隆向量,基于布隆向量确定第一身份特征和第二身份特征是否匹配。具体地,第一身份特征对应的第一布隆向量与应用链的第二身份特征对应的第二布隆向量的距离小于预设距离时,应用链的第一身份特征与应用特征库记录的应用链的第二身份特征匹配。
19.该方法通过将身份特征转换为布隆向量,通过向量确定身份特征是否匹配,可以提高身份识别的效率。并且,将身份特征转换为布隆向量,例如将白名单应用的身份特征混杂在一起,构成法再恢复的0、1串,还可以提高安全性。
20.在一些可能的实现方式中,访问控制系统可以比对应用链的第一身份特征和本地或远端的应用特征库记录的应用链的第二身份特征。其中,访问控制系统在本地比对应用链的第一身份特征和本地的应用特征库记录的应用链的第二身份特征,可以降低对管理侧的依赖性。远端的应用特征库能够比较及时地更新,因此,访问控制系统比对应用链的第一身份特征和远端的应用特征库记录的应用链的第二身份特征具有较高的准确度。
21.在一些可能的实现方式中,本地部署的应用可能会发生变更,例如会新增应用,或者已部署的应用会被修改,基于此,访问控制系统还可以根据远端的应用特征库更新本地的应用特征库。
22.如此,访问控制系统可以基于更新后的应用特征库进行身份特征比对,从而确保比对结果的准确度,进而保障身份识别的准确度。
23.在一些可能的实现方式中,身份特征的比对过程还可以在远端进行。具体地,访问控制系统不仅包括本地的工作节点,还可以包括远端的管理节点。访问控制系统(具体是工作节点)还可以向管理节点发送所述应用链的第一身份特征,使得所述管理节点比对所述应用链的第一身份特征和远端的应用特征库记录的所述应用链的第二身份特征。
24.在一些可能的实现方式中,所述资产包括以下任意一种或多种:本地凭证、远端凭证或者用于访问目标服务的应用程序编程接口。通过对本地凭证、远端凭证或者用于访问目标服务的应用程序编程接口进行访问控制,可以避免这些资产被泄露导致的安全隐患,保障资产安全。
25.在一些可能的实现方式中,所述身份特征包括指纹或行为特征。不同应用的指纹或行为特征是不同的,一个应用的指纹或行为特征难以被其他应用仿冒,基于指纹或行为特征进行身份识别,具有较高的可靠性。因此,基于指纹或行为特征的身份识别结果进行访问控制,可以有效保障资产的安全。
26.在一些可能的实现方式中,所述方法由访问控制系统中部署所述应用链的工作节点执行。如此可以实现对于不允许访问的应用直接在本地阻断进一步操作,避免发送访问请求至部署资产的节点,从而避免不必要的资源消耗,节约资源。
27.在一些可能的实现方式中,所述方法由访问控制系统中由部署所述资产的工作节点执行。如此可以实现在部署资产的节点侧对资产进行访问控制,从而保障资产安全。
28.第二方面,本技术实施例提供了一种访问控制系统。所述系统包括访问控制节点,所述访问控制节点用于:
29.获取应用链的第一身份特征,所述应用链的身份特征来自于所述应用链中的一个或多个应用的自身逻辑;
30.当所述应用链的第一身份特征与应用特征库记录的所述应用链的第二身份特征匹配时,允许所述应用链访问所述资产。
31.在一些可能的实现方式中,所述应用的自身逻辑包括:
32.所述应用的输入输出模块或者所述输入输出模块执行输入输出操作的逻辑;
33.所述应用的接口调用模块或者所述接口调用模块执行接口调用操作的逻辑;
34.所述应用的命令执行模块或是所述命令执行模块执行命令的逻辑;或者,
35.所述应用的资源调度模块或者所述资源调度模块调度资源的逻辑。
36.在一些可能的实现方式中,所述访问控制节点具体用于:
37.对所述应用链进行特征提取,获得所述应用链的第一身份特征。
38.在一些可能的实现方式中,所述访问控制节点具体用于:
39.在所述应用链每次访问所述资产之前对所述应用链进行特征提取。
40.在一些可能的实现方式中,所述访问控制节点具体用于:
41.当所述应用链请求访问资产的属性为目标属性时,获取所述应用链的第一身份特征。
42.在一些可能的实现方式中,当所述应用链的第一身份特征对应的第一布隆向量与所述应用链的第二身份特征对应的第二布隆向量的距离小于预设距离时,所述应用链的第一身份特征与所述应用特征库记录的所述应用链的第二身份特征匹配。
43.在一些可能的实现方式中,所述访问控制节点还用于:
44.比对所述应用链的第一身份特征和本地或远端的所述应用特征库记录的所述应用链的第二身份特征。
45.在一些可能的实现方式中,所述访问控制节点还用于:
46.根据远端的应用特征库更新本地的应用特征库。
47.在一些可能的实现方式中,所述系统还包括管理节点;
48.所述访问控制节点,还用于向管理节点发送所述应用链的第一身份特征;
49.所述管理节点,用于比对所述应用链的第一身份特征和远端的应用特征库记录的所述应用链的第二身份特征。
50.在一些可能的实现方式中,所述资产包括以下任意一种或多种:本地凭证、远端凭证或者用于访问目标服务的应用程序编程接口。
51.在一些可能的实现方式中,所述身份特征包括指纹或行为特征。
52.在一些可能的实现方式中,所述访问控制节点为部署所述应用链的工作节点。
53.在一些可能的实现方式中,所述访问控制节点为部署所述资产的工作节点。
54.第三方面,本技术实施例提供了一种访问控制装置。所述装置包括:
55.获取模块,用于获取应用链的第一身份特征,所述应用链的身份特征来自于所述应用链中的一个或多个应用的自身逻辑;
56.控制模块,用于当所述应用链的第一身份特征与应用特征库记录的所述应用链的第二身份特征匹配时,允许所述应用链访问所述资产。
57.在一些可能的实现方式中,所述应用的自身逻辑包括:
58.所述应用的输入输出模块或者所述输入输出模块执行输入输出操作的逻辑;
59.所述应用的接口调用模块或者所述接口调用模块执行接口调用操作的逻辑;
60.所述应用的命令执行模块或是所述命令执行模块执行命令的逻辑;或者,
61.所述应用的资源调度模块或者所述资源调度模块调度资源的逻辑。
62.在一些可能的实现方式中,所述获取模块具体用于:
63.对所述应用链进行特征提取,获得所述应用链的第一身份特征。
64.在一些可能的实现方式中,所述获取模块具体用于:
65.在所述应用链每次访问所述资产之前对所述应用链进行特征提取。
66.在一些可能的实现方式中,所述获取模块具体用于:
67.当所述应用链请求访问资产的属性为目标属性时,获取所述应用链的第一身份特征。
68.在一些可能的实现方式中,当所述应用链的第一身份特征对应的第一布隆向量与所述应用链的第二身份特征对应的第二布隆向量的距离小于预设距离时,所述应用链的第一身份特征与所述应用特征库记录的所述应用链的第二身份特征匹配。
69.在一些可能的实现方式中,所述装置还包括:
70.比对模块,用于比对所述应用链的第一身份特征和本地或远端的所述应用特征库记录的所述应用链的第二身份特征。
71.在一些可能的实现方式中,所述装置还包括:
72.更新模块,用于根据远端的应用特征库更新本地的应用特征库。
73.在一些可能的实现方式中,所述装置还包括:
74.发送模块,用于向管理节点发送所述应用链的第一身份特征,使得所述管理节点比对所述应用链的第一身份特征和远端的应用特征库记录的所述应用链的第二身份特征。
75.在一些可能的实现方式中,所述资产包括以下任意一种或多种:本地凭证、远端凭证或者用于访问目标服务的应用程序编程接口。
76.在一些可能的实现方式中,所述身份特征包括指纹或行为特征。
77.在一些可能的实现方式中,所述装置和所述应用链部署在同一工作节点。
78.在一些可能的实现方式中,所述装置和所述资产部署在同一工作节点。
79.第四方面,本技术实施例提供了一种设备。所述设备用于实现如第二方面或第二方面的任意一种实现方式所述的访问控制系统中所述访问控制节点的功能。
80.第五方面,本技术实施例提供了一种设备。所述设备包括处理器和存储器。所述处理器、所述存储器进行相互的通信。所述处理器用于执行所述存储器中存储的指令,以使得所述设备执行如第一方面或第一方面的任意一种实现方式所述的资产的访问控制方法。
81.第六方面,本技术提供一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,所述指令指示设备执行上述第一方面或第一方面的任一种实现方式所述的资产的访问控制方法。
82.第七方面,本技术提供了一种包含指令的计算机程序产品,当其在设备上运行时,使得设备执行上述第一方面或第一方面的任一种实现方式所述的资产的访问控制方法。
83.本技术在上述各方面提供的实现方式的基础上,还可以进行进一步组合以提供更多实现方式。
附图说明
84.为了更清楚地说明本技术实施例的技术方法,下面将对实施例中所需使用的附图作以简单地介绍。
85.图1为本技术实施例提供的一种访问控制系统的系统架构图;
86.图2为本技术实施例提供的一种对资产的访问控制的示意图;
87.图3a为本技术实施例提供的一种访问控制系统的架构示意图;
88.图3b为本技术实施例提供的一种访问控制系统的架构示意图;
89.图4为本技术实施例提供的一种资产的访问控制方法的流程图;
90.图5为本技术实施例提供的一种对资产的访问控制的示意图;
91.图6为本技术实施例提供的一种资产的访问控制方法的流程示意图;
92.图7为本技术实施例提供的一种布隆过滤器的原理图;
93.图8为本技术实施例提供的一种资产的访问控制方法的流程示意图;
94.图9为本技术实施例提供的一种访问控制装置的结构示意图;
95.图10为本技术实施例提供的一种设备的结构示意图。
具体实施方式
96.本技术实施例中的术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。
97.首先对本技术实施例中所涉及到的一些技术术语进行介绍。
98.应用是指作为独立实体运行的程序。在一些可能的实现方式中,应用可以是基于微服务框架的系统中的微服务。一个应用还可以调用另一个应用,从而形成应用链。应用链可以包括一个或多个应用,其中,多个应用是指多个具有调用关系的应用。例如,应用a调用应用b,而应用b调用应用c,则应用a、应用b和应用c可以形成一个应用链。
99.资产是指可以产生效益的资源。在一些实施例中,资产例如可以是访问服务的应用程序编程接口(application programming interface,api)或者是凭证。其中,凭证具体可以是接入凭证(access token)。该接入凭证可以是api的凭证。该凭证可以用于进行认证,以便认证通过后使用api访问对应的服务。其中,凭证可以是会话标识(session id)、安全外壳协议(secure shell,ssh)登录的密匙、json网络令牌(json web token,jwt)、一次性密码等中的任意一项或多项。
100.在实际应用时,应用链可以作为一个整体访问资产。为了保障资产安全,常常需要对应用链访问资产进行访问控制。目前,业界主要是基于密码学特征对应用链进行身份识别,例如是基于口令、密钥或者证书等认证因子对应用链进行身份识别,然后根据身份识别结果进行访问控制。然而,任何获取到目标应用的认证因子的应用都可以仿冒目标应用,从而访问资产。如此给资产安全带来了极大的挑战。
101.有鉴于此,本技术实施例提供了一种资产的访问控制方法。该方法可以由访问控制系统执行。具体地,访问控制系统获取应用链的第一身份特征,该应用链的第一身份特征来自于应用链中的一个或多个应用的自身逻辑,例如是来自于应用链中所有应用的自身逻辑,当应用链的第一身份特征与应用特征库记录的应用链的第二身份特征匹配时,允许应用链访问上述资产。
102.由于访问控制系统采用来自于应用链中一个或多个应用的自身逻辑的身份特征进行身份识别,而不是密码、密钥或者证书等外在的密码学特征进行身份识别,由此可以避免应用被仿冒或被篡改导致的资产安全隐患,保障了资产安全。
103.当应用链的第一身份特征来自于应用链中所有应用的自身逻辑时,应用链中所有应用都未被篡改的情况下,应用链的第一身份特征能够通过身份识别,访问控制系统允许
该应用链访问资产,如此保障了资产安全。换言之,访问控制系统可以确保能接触到资产的应用链中所有应用都是未被篡改的应用。
104.进一步地,访问控制系统可以在应用链每次访问资产前,对应用链进行特征提取,得到应用链的第一身份特征,并基于内在的第一身份特征进行身份识别,如此,可以避免应用因为感染病毒或被篡改,应用本体行为逻辑已经发生了变化,仍然使用原有身份特征继续执行操作所导致的安全隐患,进一步保障了资产安全。
105.为了使得本技术的技术方案更加清楚、易于理解,下面将结合附图对本技术实施例提供的访问控制系统进行介绍。
106.参见图1所示的访问控制系统的系统架构图,如图1所示,访问控制系统100包括至少一个工作节点102。每个工作节点102部署有一个或多个应用。一个或多个应用可以形成调用链。该应用链可以是多个具有调用关系的应用形成的调用链,也可以是单个应用。
107.工作节点102上的应用链可以作为一个整体访问资产,如访问api或者访问凭证。其中,该资产可以是本地资产,也可以是远端资产。本地资产是指与应用链部署在同一工作节点102的资产,例如可以包括本地凭证,或者用于访问本地目标服务的api。远端资产是指不与应用链部署在同一工作节点102的资产,例如部署在其他工作节点102的资产,该远端资产具体可以包括远端凭证,或者用于访问远端目标服务的api。
108.参见图2,部署应用链的工作节点102或者部署资产的工作节点102可以作为访问控制节点,执行资产的访问控制方法。其中,由部署应用链的工作节点102(资产为使用目标服务的api时,也可以称作服务使用节点)实施资产的访问控制方法,而不是由部署资产的工作节点102(资产为使用目标服务的api时,也可以称作服务提供节点)实施资产的访问控制方法,可以实现从服务使用节点进行控制,对于不允许访问的应用直接在本地阻断进一步操作,避免发送访问请求至服务提供节点,从而避免不必要的资源消耗,节约资源。
109.为了便于描述,后文均以部署应用链的工作节点102作为访问控制节点,实施访问控制方法进行示例说明。
110.具体地,访问控制节点(例如是部署应用链的工作节点102)部署有访问控制装置。应用链访问资产之前,访问控制装置获取应用链的第一身份特征,该应用链的第一身份特征来自于应用链中的一个或多个应用的自身逻辑,具体是应用链中的部分应用或全部应用的自身逻辑,当应用链的第一身份特征与应用特征库记录的应用链的第二身份特征匹配时,允许应用链访问所述资产。
111.其中,访问控制装置可以在应用链每次访问资产之前对应用链进行特征提取,获得应用链的第一身份特征,然后基于实时提取的第一身份特征进行身份识别,例如利用实时提取的第一身份特征和第二身份特征进行比对,当该实时获得的第一身份特征与第二身份特征匹配时,允许应用链访问该资产。如此可以实现即时防控,避免应用链中的部分应用或全部应用发生变化,仍然以原有身份特征访问资产所导致的安全隐患,进一步保障了资产安全。
112.进一步地,访问控制装置还可以在应用链请求访问资产的属性为目标属性时,启动身份识别。其中,目标属性的资产可以是人为标记的资产,例如可以是人为标记的高价值资产、人为标记的高风险资产等等。在一些实施例中,目标属性的资产也可以是系统推荐记录的资产。当应用链请求访问资产的属性为上述目标属性,例如是高价值时,获取该应用链
的第一身份特征,当第一身份特征与应用特征库记录的第二身份特征匹配时,允许应用链访问该资产,否则拒绝应用链访问该资产。如此,一方面保障了高价值、高风险资产的安全,另一方面降低了对应用的侵入性。而且,在应用链访问目标属性的资产时,采用上述访问控制方法进行访问控制,而不是对整个应用链进行访问控制,实现了以最小化系统开销获得最大安全收益,最小化访问控制对应用链的影响。
113.在一些可能的实现方式中,访问控制系统100还包括管理节点104。管理节点104可以维护远端的应用特征库。如图1所示,n(n为正整数)个工作节点102分别维护有本地的应用特征库,如应用特征库11至应用特征库1n,管理节点104维护有远端的应用特征库,如应用特征库21至应用特征库2n。
114.管理节点104可以在初始化阶段对各工作节点102上部署的应用进行特征提取,获得各工作节点102上部署的应用的身份特征,该身份特征是来自于应用的自身逻辑。自身逻辑具体可以是应用的输入输出模块或者所述输入输出模块执行输入输出操作的逻辑,应用的接口调用模块或者所述接口调用模块执行接口调用操作的逻辑,应用的命令执行模块或是所述命令执行模块执行命令的逻辑,或者是应用的资源调度模块或者所述资源调度模块调度资源的逻辑。对应地,该身份特征例如可以是静态的指纹或动态的行为特征(应用运行时的行为特征)。
115.其中,管理节点104在对工作节点102上部署的应用进行特征提取时,可以是对工作节点102上部署的白名单应用进行特征提取。白名单应用是指添加在白名单内的应用。管理节点104通过对各工作节点102上白名单应用进行特征提取,得到相应的身份特征,并根据该身份特征形成各工作节点102对应的应用特征库,该应用特征库为远端的应用特征库。该远端的应用特征库记录有应用链的第二身份特征。
116.进一步地,管理节点104可以对远端的应用特征库进行维护。具体地,工作节点102上部署的应用发生变更,如新增应用或者已部署应用被修改时,工作节点102可以上报应用变更信息,例如是新增应用的名称、目录、来源等信息,管理节点104基于应用变更信息确定是否将该新增应用加入白名单。若是,则提取该新增应用的身份特征,更新与该工作节点102对应的、远端的应用特征库。
117.在一些可能的实现方式中,工作节点102(例如是工作节点102上的访问控制装置)可以根据远端的应用特征库,更新本地的应用特征库,如此,身份特征匹配过程可以在本地完成,无需上报管理节点104,由此可以降低对管理节点104的依赖性。另外,工作节点102(例如是工作节点102上的访问控制装置)根据远端的应用特征库更新本地的应用特征库,将第一身份特征和更新后的本地的应用特征库记录的第二身份特征进行比对,可以提高比对准确度。
118.其中,工作节点102(例如是工作节点102上的访问控制装置)更新本地的应用特征库有多种实现方式。例如工作节点102可以在远端的应用特征库发生更新时,实时更新本地的应用特征库。又例如工作节点102可以按照预设周期更新本地的应用特征库。
119.需要说明的是,工作节点102(例如是工作节点102上的访问控制装置)在本地比对第一身份特征和本地的应用特征库记录的第二身份特征时,如果第一身份特征与本地的应用特征库记录的第二身份特征匹配,则表明应用链中的应用在白名单中,工作节点102(例如是访问控制装置)允许应用链访问资产,如果第一身份特征和本地的应用特征库记录的
第二身份特征不匹配,工作节点102还可以将应用链的属性信息如应用链的进程标识上报管理节点104。
120.管理节点104根据进程标识确定应用链中应用的风险,根据该风险决定是否将应用链中的应用加入白名单,若是,则对加入白名单的应用进行特征提取,更新远端的应用特征库。工作节点102可以根据远端的应用特征库更新本地的应用特征库。然后工作节点102(例如是工作节点102上的访问控制装置)再比对第一身份特征和本地的应用特征库记录的第二身份特征,若第一身份特征和第二身份特征仍不匹配,则表明应用链中至少有一个应用不在白名单中,或者至少有一个应用虽然在白名单中,但是被篡改,工作节点102(例如是访问控制装置)禁止应用链访问资产。由此可见,访问控制系统100可以实现集中应用管理,分布式管控的松耦合架构,整体具有较高可用性和可靠性。
121.在一些可能的实现方式中,工作节点102(例如是工作节点102上的访问控制装置)也可以是从远端的应用特征库获取应用链的第二身份特征,然后在本地比对第一身份特征和第二身份特征,从而确定第一身份特征和第二身份特征是否匹配。
122.在一些可能的实现方式中,工作节点102(例如是工作节点102上的访问控制装置)也可以向管理节点104发送第一身份特征,管理节点104在远端比对第一身份特征和第二身份特征,然后向工作节点102发送比对结果。该比对结果用于表征第一身份特征和第二身份特征是否匹配。
123.考虑到比对效率,工作节点102(例如是工作节点102上的访问控制装置)或者管理节点104可以获取应用链的第一身份特征对应的第一布隆向量和应用链的第二身份特征对应的第二布隆向量,确定第一布隆向量和第二布隆向量的距离,从而实现第一身份特征和第二身份特征的比对。当第一布隆向量和第二布隆向量的距离小于预设距离时,则表明应用链的第一身份特征与应用特征库记录的应用链的第二身份特征匹配,否则表明应用链的第一身份特征与应用特征库记录的应用链的第二身份特征不匹配。
124.在图1所示实施例中,访问控制装置可以以脚本、插件等计算机程序的形式部署在本地的工作节点102中。应用链访问资产前执行该脚本或插件,从而实施资产的访问控制方法。访问控制系统系统100中的工作节点102和管理节点104可以是物理节点,也可以是从物理节点中虚拟的逻辑节点。其中,一个物理节点可以对应一个物理机,如对应一个物理服务器或者一个终端,一个逻辑节点可以对应一个虚拟机。在一些实施例中,一个逻辑节点也可以对应一个容器。
125.接下来,结合附图对访问控制系统100的部署方式进行详细说明。
126.如图3a所示,访问控制系统100的各个部分可以集中地部署在云环境,具体为云环境上的一个或多个计算设备(例如:中心服务器)。该访问控制系统100的各个部分也可以集中地部署在边缘环境中,具体为边缘环境中的一个或多个计算设备(边缘计算设备)上,边缘计算设备可以为服务器、计算盒子等。所述云环境指示云服务提供商拥有的,用于提供计算、存储、通信资源的中心计算设备集群;所述边缘环境指示在地理位置上距离端设备(即端侧设备)较近的,用于提供计算、存储、通信资源的边缘计算设备集群。例如,访问控制系统100可以部署在公有云中,用于对各种面向服务的架构(service-oriented architecture,soa)的系统中的服务所形成的应用链进行身份识别,并基于身份识别结果对应用链访问资产进行访问控制。
127.在一些可能的实现方式中,访问控制系统100的各个部分还可以集中地部署在端设备上。端设备包括但不限于台式机、笔记本电脑、智能手机等用户终端。
128.如图3b所示,访问控制系统100的各个部分也可以分布式地部署在不同环境中。例如,可以在云环境、边缘环境、端设备中的三个环境,或其中任意两个环境上分别部署访问控制系统100的一部分。
129.图3a和图3b仅仅是示意性地展示了访问控制系统100的一些部署方式,在本技术实施例其他可能的实现方式中,还可以通过其他方式部署访问控制系统100,在此不再赘述。
130.接下来,结合附图从访问控制系统100(具体是访问控制系统100中访问控制装置)的角度对本技术实施例提供的资产的访问控制方法进行介绍。
131.参见图4所示的访问控制方法的流程图,该方法包括:
132.s402:访问控制装置获取应用链的第一身份特征。
133.应用链包括一个或多个具有调用关系的应用。一个应用可以包括多个分支,每一个分支表示一种操作。应用链中访问资产的分支可以预先设置管控嵌入点,当应用链中的应用执行到访问资产的分支,尤其是访问目标属性的资产时,可以通过管控嵌入点触发应用链的身份识别流程。
134.其中,管控嵌入点具体可以通过钩子(hook)实现。应用链中可以预先设置hook事件。该hook事件包括访问资产的事件。进一步地,hook事件可以是访问目标属性的资产的事件,如访问高价值资产的事件,访问高风险资产的事件。当应用链执行到管控嵌入点时,管控嵌入点可以发送应用链的属性信息如应用链的进程标识(例如是进程id)至访问控制装置。访问控制装置根据进程标识,获取对应的应用链的第一身份特征。
135.其中,第一身份特征来自于应用链中的一个或多个应用的自身逻辑。应用的自身逻辑包括静态和动态两种类型。其中,静态逻辑包括应用的输入输出模块的逻辑、接口调用模块的逻辑、命令执行模块的逻辑或资源调度模块的逻辑中的任意一种或多种。动态逻辑包括输入输出模块执行输入输出操作的逻辑、接口调用模块执行接口调用操作的逻辑、命令执行模块执行命令的逻辑或者资源调度模块调度资源的逻辑中的任意一种或多种。
136.访问控制装置可以对应用链进行特征提取,得到应用链的第一身份特征,该第一身份特征可以用于对应用链进行身份识别。具体地,访问控制装置可以提取应用链的指纹或行为特征中的一种或多种,作为应用链的第一身份特征。
137.其中,应用链的指纹为静态身份特征。应用链中应用的静态逻辑可以承载在应用的二进制文件,如exe格式的可执行文件中。访问控制装置可以对应用链中部分或全部应用的二进制文件如exe格式的可执行文件进行静态提取,得到应用链的指纹。其中,静态提取包括散列函数运算或基于校验算法的校验运算。在一些实施例中,访问控制装置可以采用信息摘要算法第5版(message-digest algorithm5,md5)对应用链中各应用的二进制文件进行计算,得到md5值,该md5值可以作为应用链的指纹。
138.应用链的行为特征为动态身份特征。应用链中应用的动态逻辑可以承载在应用的各种行为中。访问控制装置可以动态捕获应用链中部分或全部应用的行为,获得应用链的行为特征。具体地,在干净的监控环境中,运行应用链中应用的功能,访问控制装置捕获应用链中部分或全部应用的各种行为,以及与该行为相关的数据,由此可以得到应用链的动
态行为关系以及数据依赖关系。访问控制装置可以根据动态行为关系以及数据依赖关系获得应用链的行为特征。需要说明的是,访问控制装置还可以对上述动态行为关系以及数据依赖关系进行压缩,从而精简行为特征。
139.在一些可能的实现方式中,访问控制装置可以在应用链的一次作业过程中首次访问资产前,或者首次访问目标属性的资产前,先对应用链进行特征提取,获得应用链的第一身份特征。在作业结束之前,应用链再次访问该资产或该目标属性的资产前,访问控制装置可以直接获取首次访问时进行特征提取所得的第一身份特征。如此可以减少特征提取的次数,减少计算开销。
140.在另一些可能的实现方式中,访问控制装置可以在应用链每次访问资产,或者每次访问目标属性的资产前,均对应用链进行特征提取,获得应用链的第一身份特征。也即访问控制装置实时对应用链进行特征提取,获得应用链的第一身份特征,如此,可以使得访问控制装置获得的第一身份特征能够真实地表征此时应用链的身份,避免应用链被篡改或被感染病毒,仍以原有身份特征访问资产或目标属性的资产所导致的安全隐患。
141.其中,目标属性的资产可以是人为标记的资产,例如人为标记的高价值资产,或者人为标记的高风险资产等等。在一些实施例中,目标属性的资产也可以是系统推荐记录的资产。访问控制装置在访问目标属性的资产时触发身份识别流程,一方面可以保障目标属性的资产的安全,另一方面可以降低对应用链的侵入性。
142.s404:当应用链的第一身份特征与应用特征库记录的应用链的第二身份特征匹配时,访问控制装置允许该应用链访问资产。
143.应用特征库记录有工作节点102上部署的应用的身份特征。在一些实施例中,应用特征库中记录有工作节点102上部署的白名单应用的身份特征。其中,工作节点102上部署的应用可以包括应用链中的应用,因此,应用特征库记录有应用链的身份特征。为了便于区分,本技术实施例将应用特征库中记录的身份特征称之为第二身份特征。
144.访问控制装置可以根据第一身份特征和第二身份特征的相似度确定第一身份特征和第二身份特征是否匹配,例如可以在本地确定第一身份特征和本地的应用特征库中第二身份特征的相似度,实现在本地进行身份特征比对,或者向管理节点104发送第一身份特征,以便管理节点104在远端确定第一身份特征和远端的应用特征库中第二身份特征的相似度,实现在远端进行身份特征比对,从而实现应用链的身份识别。
145.其中,在本地进行身份特征比对时,访问控制装置还可以根据远端的应用特征库更新本地的应用特征库,如此可以提高比对准确度。需要说明,在一些实施例中,访问控制装置也可以从远端的应用特征库获取第二身份特征,然后在本地比对第一身份特征和第二身份特征,以确定第一身份特征和第二身份特征是否匹配,由此实现对应用链的身份识别。
146.访问控制装置根据身份识别结果确定对应的访问控制策略。例如,第一身份特征和第二身份特征匹配时,身份识别结果为身份识别通过,应用链中应用为白名单应用,访问控制装置确定访问控制策略为允许访问;第一身份特征和第二身份特征不匹配时,身份识别结果为身份识别不通过,应用链中包括非白名单应用,访问控制装置确定访问控制策略为拒绝访问。
147.为了便于理解,本技术还提供了一个具体示例进行说明。
148.如图5所示,应用链包括多个分支。其中,多个分支中包括3个访问资产的分支,具
体为分支1、分支2和分支3。分支1和分支2为用于访问高价值资产的分支,分支3为访问低价值资产的分支。分支1和分支2预先设置有管控嵌入点,当应用链执行到分支1或分支2时,分支1或分支2对应的管控嵌入点触发对应用链的身份识别流程。
149.具体地,管控嵌入点传递应用链的进程id给访问控制装置,访问控制装置根据应用链的进程id对应用链进行特征提取,获得应用链的第一身份特征,如应用链的第一指纹和第一行为特征,然后将应用链的第一身份特征与应用特征库(例如是本地的应用特征库)记录的第二身份特征如第二指纹和第二行为特征进行比对,根据比对结果获取相应的访问控制策略,返回该访问控制策略给管控嵌入点,以便对应用链访问资产进行控制。
150.其中,比对结果表征第一身份特征和第二身份特征匹配时,访问控制装置获取的访问控制策略可以是允许应用链访问资产,比对结果表征第一身份特征和第二身份特征不匹配时,访问控制装置获取的访问控制策略可以是禁止应用链访问资产。
151.在图5的示例中,应用链执行到分支1时,允许应用链访问上述高价值资产,应用链执行到分支2时,不允许应用链访问上述高价值资产。应用链执行到分支3时,由于分支3请求访问资产为低价值资产,并不触发身份识别流程,应用链可以直接访问该低价值资产。
152.基于上述内容可知,本技术实施例提供了一种资产的访问控制方法。该方法通过获取应用链内在的第一身份特征,并基于该内在的第一身份特征,而不是外在的密码学特征等进行身份识别,然后基于上述身份识别结果进行访问控制,从而避免应用仿冒或篡改导致的资产安全隐患,保障了资产安全。
153.接下来,以应用链访问本地凭证和远端凭证为例分别对本技术实施例提供的资产的访问控制方法进行介绍。
154.参见图6所示的资产的访问控制方法的流程示意图,该方法具体包括如下步骤:
155.步骤1:管理节点104对工作节点102上白名单应用进行特征提取,得到白名单应用的第二身份特征,根据第二身份特征生成远端的应用特征库。
156.具体地,管理节点104可以将第二身份特征以文件的形式存储在远端的应用特征库中。考虑到安全性,管理节点104可以对上述写入有第二身份特征的文件进行加密保护。在一些可能的实现方式中,管理节点104也可以将第二身份特征输入布隆过滤器,得到与第二身份特征对应的第二布隆向量,然后将第二布隆向量存储在远端的应用特征库中。通过将白名单应用的指纹等身份特征混杂在一起,构成一个无法再恢复的0、1串,如此可以提高安全性,以及提高特征比对的效率。
157.下面结合附图对布隆过滤器的原理进行说明。
158.参见图7所示的布隆过滤器的原理图,如图7所示,布隆过滤器先将长度为m比特的布隆向量(b1,b2,

,bm)中的所有比特位初始化为0,然后将返回值在1到m间的k个相互独立的快捷hash函数(h1,h2,

,hk)作用于每个输入的第二身份特征,如每个输入的指纹上,得到k个返回值(r1,r2,

,rk),接着将布隆向量中位置在r1,r2,

,rk的比特位置为1,从而得到与身份特征对应的布隆向量。
159.步骤2:工作节点102上的访问控制装置根据远端的应用特征库更新本地的应用特征库。
160.步骤3:当应用链执行到访问本地凭证的分支时,工作节点102上的嵌入控制点发送应用链的进程id。
161.步骤4:工作节点102上的访问控制装置根据进程id获取应用链的第一身份特征。
162.具体地,工作节点102上的访问控制装置根据进程id查找应用链包括的应用,对应用链包括的应用进行特征提取,获得应用链的第一身份特征。其中,应用链的第一身份特征包括应用链的部分或全部应用的第一身份特征,例如部分或全部应用的指纹、行为特征。
163.步骤5:工作节点102上的访问控制装置将第一身份特征输入布隆过滤器,得到第一布隆向量。
164.其中,远端的应用特征库存储第二身份特征,而非第二身份特征对应的第二布隆向量时,访问控制装置也可以不执行该步骤5。
165.步骤6:工作节点102上的访问控制装置确定第一身份特征和本地的应用特征库中记录的第二身份特征是否匹配,若是,则执行步骤7,若否,则结束当前流程。
166.其中,工作节点102上的访问控制装置可以通过第一布隆向量和第二布隆向量的距离确定第一身份特征和本地的第二身份特征是否匹配。当第一布隆向量和第二布隆向量的距离小于预设距离时,则表明第一身份特征和第二身份特征匹配,否则,第一身份特征和第二身份特征。
167.在一些实现方式中,工作节点102上的访问控制装置也可以直接确定第一身份特征和第二身份特征的相似度,从而确定第一身份特征和第二身份特征是否匹配。
168.步骤7:工作节点102上的管控嵌入点对本地凭证的密文进行解密,得到本地凭证。
169.本技术实施例对明文形式的本地凭证的获取进行白名单管控,任何不在白名单的应用链,或者在白名单中的应用链被篡改,都不能获取明文的本地凭证,由此保障了本地凭证的安全性。
170.接下来,参见图8所示的资产的访问控制方法的流程示意图,该方法具体包括如下步骤:
171.步骤1:管理节点104对工作节点102上白名单应用进行特征提取,得到白名单应用的第二身份特征,根据第二身份特征生成远端的应用特征库。
172.步骤2:工作节点102上的访问控制装置根据远端的应用特征库更新本地的应用特征库。
173.步骤3:当应用链执行到访问远端凭证的分支时,工作节点102上的嵌入控制点发送应用链的进程id。
174.步骤4:工作节点102上的访问控制装置根据进程id获取应用链的第一身份特征。
175.步骤5:工作节点102上的访问控制装置将第一身份特征输入布隆过滤器,得到第一布隆向量。
176.其中,远端的应用特征库存储第二身份特征,而非第二身份特征对应的第二布隆向量时,访问控制装置也可以不执行该步骤5。
177.步骤6:工作节点102上的访问控制装置确定第一身份特征和本地的应用特征库中记录的第二身份特征是否匹配,若是,则执行步骤7,若否,则结束当前流程。
178.步骤7:工作节点102上的管控嵌入点从凭证托管服务获取远端凭证。
179.凭证托管服务(cloud credential management service,ccms)可以在远端托管凭证。当第一身份特征和第二身份特征匹配时,管控嵌入点可以获取远端凭证,例如可以通过表现层状态转换(representational state transfer,rest)风格即restful风格的应用
程序编程接口(application programming interface,api)获取远端凭证。
180.上文结合图1至图8对本技术实施例提供的访问控制系统以及资产的访问控制方法进行了详细介绍,下面对本技术实施例提供的装置、设备进行介绍。
181.参见图9所示的访问控制装置的结构示意图,该访问控制装置900包括:
182.获取模块902,用于获取应用链的第一身份特征,所述应用链的身份特征来自于所述应用链中的一个或多个应用的自身逻辑;
183.控制模块904,用于当所述应用链的第一身份特征与应用特征库记录的所述应用链的第二身份特征匹配时,允许所述应用链访问所述资产。
184.在一些可能的实现方式中,所述应用的自身逻辑包括:
185.所述应用的输入输出模块或者所述输入输出模块执行输入输出操作的逻辑;
186.所述应用的接口调用模块或者所述接口调用模块执行接口调用操作的逻辑;
187.所述应用的命令执行模块或者所述命令执行模块执行命令的逻辑;或者,
188.所述应用的资源调度模块或者所述资源调度模块调度资源的逻辑。
189.在一些可能的实现方式中,所述获取模块902具体用于:
190.对所述应用链进行特征提取,获得所述应用链的第一身份特征。
191.在一些可能的实现方式中,所述获取模块902具体用于:
192.在所述应用链每次访问所述资产之前对所述应用链进行特征提取。
193.在一些可能的实现方式中,所述获取模块902具体用于:
194.当所述应用链请求访问资产的属性为目标属性时,获取所述应用链的第一身份特征。
195.在一些可能的实现方式中,当所述应用链的第一身份特征对应的第一布隆向量与所述应用链的第二身份特征对应的第二布隆向量的距离小于预设距离时,所述应用链的第一身份特征与所述应用特征库记录的所述应用链的第二身份特征匹配。
196.在一些可能的实现方式中,所述装置900还包括:
197.比对模块,用于比对所述应用链的第一身份特征和本地或远端的所述应用特征库记录的所述应用链的第二身份特征。
198.在一些可能的实现方式中,所述装置900还包括:
199.更新模块,用于根据远端的应用特征库更新本地的应用特征库。
200.在一些可能的实现方式中,所述装置900还包括:
201.发送模块,用于向管理节点发送所述应用链的第一身份特征,使得所述管理节点比对所述应用链的第一身份特征和远端的应用特征库记录的所述应用链的第二身份特征。
202.在一些可能的实现方式中,所述资产包括以下任意一种或多种:本地凭证、远端凭证或者用于访问目标服务的应用程序编程接口。
203.在一些可能的实现方式中,所述身份特征包括指纹或行为特征。
204.在一些可能的实现方式中,所述装置900和所述应用链部署在同一工作节点。
205.根据本技术实施例的提供的访问控制装置可对应于执行本技术实施例中描述的方法,并且访问控制装置的各个模块/单元的上述和其它操作和/或功能分别为了实现图4至图8所示实施例中的各个方法的相应流程,为了简洁,在此不再赘述。
206.本技术实施例还提供了一种设备,该设备可以是终端、服务器等计算设备,该设备
可以是单个设备,也可以是多个设备形成的集群。为了便于描述,本技术实施例以单个设备进行示例说明。该设备具体可以用于实现如图9所示的访问控制装置900的功能。接下来,将从硬件实体化的角度,对本技术实施例提供的设备进行介绍。
207.图10提供了一种设备1000的结构示意图,如图10所示,设备1000包括总线1001、处理器1002、通信接口1003和存储器1004。处理器1002、存储器1004和通信接口1003之间通过总线1001通信。
208.总线1001可以是外设部件互连标准(peripheral component interconnect,pci)总线或扩展工业标准结构(extended industry standard architecture,eisa)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,图10中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
209.处理器1002可以为中央处理器(central processing unit,cpu)、图形处理器(graphics processing unit,gpu)、微处理器(micro processor,mp)或者数字信号处理器(digital signal processor,dsp)等处理器中的任意一种或多种。
210.通信接口1003是一种输入输出(input/output,i/o)设备。通信接口1003用于和外部通信。具体地,通信接口1003可以获取远端的应用特征库记录的第二身份特征,以更新本地的应用特征库,或者是向管理节点104上报应用变更信息,以便管理节点104根据该应用变更信息,确定是否将相应的应用加入白名单等等。
211.存储器1004可以包括易失性存储器(volatile memory),例如随机存取存储器(random access memory,ram)。存储器1004还可以包括非易失性存储器(non-volatile memory),例如只读存储器(read-only memory,rom),快闪存储器,机械硬盘(hard disk drive,hdd)或固态硬盘(solid state drive,ssd)。
212.存储器1004中存储有可执行的程序代码,处理器1002执行该可执行的程序代码以执行获取应用链的第一身份特征,所述应用链的第一身份特征来自于所述应用链中的一个或多个应用的自身逻辑,当所述应用链的第一身份特征与应用特征库记录的所述应用链的第二身份特征匹配时,允许所述应用链访问所述资产的步骤,从而执行前述资产的访问控制方法。
213.本技术实施例还提供了一种计算机可读存储介质,该计算机可读存储介质包括指令,所述指令指示设备1000执行上述资产的访问控制方法。
214.本技术实施例还提供了一种计算机可读存储介质,该计算机可读存储介质包括指令,所述指令指示设备1000执行上述资产的访问控制方法。
215.本技术实施例还提供了一种计算机程序产品,所述计算机程序产品被计算机执行时,所述计算机执行前述资产的访问控制方法的任一方法。该计算机程序产品可以为一个软件安装包,在需要使用前述提供资产的访问控制方法的任一方法的情况下,可以下载该计算机程序产品并在计算机上执行该计算机程序产品。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1