CN112101452B - 一种访问权限的控制方法及装置 - Google Patents
一种访问权限的控制方法及装置 Download PDFInfo
- Publication number
- CN112101452B CN112101452B CN202010961897.XA CN202010961897A CN112101452B CN 112101452 B CN112101452 B CN 112101452B CN 202010961897 A CN202010961897 A CN 202010961897A CN 112101452 B CN112101452 B CN 112101452B
- Authority
- CN
- China
- Prior art keywords
- access control
- data set
- random forest
- training
- vector
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 116
- 238000012549 training Methods 0.000 claims abstract description 204
- 239000013598 vector Substances 0.000 claims abstract description 193
- 238000011217 control strategy Methods 0.000 claims abstract description 105
- 230000008569 process Effects 0.000 claims abstract description 41
- 238000010801 machine learning Methods 0.000 claims abstract description 32
- 238000007637 random forest analysis Methods 0.000 claims description 174
- 238000012360 testing method Methods 0.000 claims description 67
- 238000003066 decision tree Methods 0.000 claims description 45
- 238000004364 calculation method Methods 0.000 claims description 17
- 238000013138 pruning Methods 0.000 claims description 14
- 230000009467 reduction Effects 0.000 claims description 14
- 238000006243 chemical reaction Methods 0.000 claims description 6
- 230000002776 aggregation Effects 0.000 claims description 5
- 238000004220 aggregation Methods 0.000 claims description 5
- NAWXUBYGYWOOIX-SFHVURJKSA-N (2s)-2-[[4-[2-(2,4-diaminoquinazolin-6-yl)ethyl]benzoyl]amino]-4-methylidenepentanedioic acid Chemical compound C1=CC2=NC(N)=NC(N)=C2C=C1CCC1=CC=C(C(=O)N[C@@H](CC(=C)C(O)=O)C(O)=O)C=C1 NAWXUBYGYWOOIX-SFHVURJKSA-N 0.000 claims description 3
- 230000004931 aggregating effect Effects 0.000 claims description 3
- 230000000153 supplemental effect Effects 0.000 claims 2
- 238000010586 diagram Methods 0.000 description 9
- 230000009286 beneficial effect Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 238000011156 evaluation Methods 0.000 description 4
- 238000002474 experimental method Methods 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 238000003860 storage Methods 0.000 description 3
- 230000003044 adaptive effect Effects 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 238000007781 pre-processing Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 238000000546 chi-square test Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000011067 equilibration Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 239000003999 initiator Substances 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012706 support-vector machine Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/243—Classification techniques relating to the number of classes
- G06F18/24323—Tree-organised classifiers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- General Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Mathematical Physics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Medical Informatics (AREA)
- Storage Device Security (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请提供了一种访问权限的控制方法及装置,其中,方法包括:在接收到用户访问请求的情况下,将用户访问请求中的资源访问信息转换为向量;将向量输入判决***,得到是否允许用户访问预设资源库的判决结果;判决***至少包括一个预先训练完成的判决模型;判决模型是以预设的访问控制策略为数据集,对预设的机器学习模型进行训练得到。采用本申请对用户访问请求进行判决,可以缩短判决过程所耗费的时间。
Description
技术领域
本申请涉及网络安全领域,尤其涉及一种访问权限的控制方法及装置。
背景技术
大数据、物联网、云计算等新型信息技术的不断发展,给人们的生产、生活带来非常多的便利。但是,同时也为人们的数据保护带来了很多新的挑战,导致了各类安全事故频发。因此,如何有效地实现数据资源的保护,是数据应用与共享的前提。资源的访问权限控制可以在一定程度上对资源进行保护。
目前,访问权限的控制方法包括:访问权限判决和依据访问权限判决结果执行资源访问操作。其中,访问权限判决过程包括:在接收到用户访问请求的情况下,从预设的访问控制策略集合中匹配与用户访问请求相匹配的访问控制策略,得到待处理访问控制策略,分别将每个待处理访问控制策略与用户访问请求进行预设的逻辑运算,得到判决结果。
在实际中,由于访问控制策略集合包括海量的访问控制策略,使得匹配出待处理访问控制策略,以及分别将每个待处理访问控制策略与用户访问请求进行预设的逻辑运算的过程,都会耗费较长的时间,因此,现有的访问权限的判决过程耗费的时间较长。
发明内容
本申请提供了一种访问权限的控制方法及装置,目的在于解决访问权限的判决过程耗费时间长的问题。
为了实现上述目的,本申请提供了以下技术方案:
本申请提供了一种访问权限的控制方法,包括:
在接收到用户访问请求的情况下,将所述用户访问请求中的资源访问信息转换为向量;
将所述向量输入判决***,得到是否允许用户访问预设资源库的判决结果;所述判决***至少包括一个预先训练完成的判决模型;所述判决模型是以预设的访问控制策略为数据集,对预设的机器学习模型进行训练得到。
可选的,所述预设的机器学习模型为预先构建的多个随机森林模型;所述数据集包括训练数据集和测试数据集;所述训练数据集与所述测试数据集包含的任意一条访问控制策略包括:样本信息和样本标签信息;
以预设的访问控制策略为数据集,对预设的机器学习模型进行训练的过程,包括:
将所述训练数据集和所述测试数据集中的每条访问控制策略分别转换为向量,得到训练数据集的向量和测试数据集的向量;任一条访问控制策略的向量携带该条访问控制策略的样本信息和样本标签信息;
依据所述训练数据集的向量和向量包含的样本标签信息,分别对所述多个随机森林模型进行训练,得到多个训练后的随机森林模型;
从所述多个训练后的随机森林模型中,确定所述训练数据集的第一目标向量数量大于预设数量的随机森林模型,得到候选随机森林模型;所述第一目标向量为所述训练数据集的向量中对应的判决结果与对应的样本标签信息一致的向量;
依据所述测试训练数据集的向量和向量包含的样本标签信息,分别对所述候选随机森林模型进行训练,得到训练后的候选随机森林模型;
从所述训练后的候选随机森林模型中,确定所述测试训练集的第二目标向量总次数最大的随机森林模型,得到所述判决模型;所述第二目标向量为所述测试训练集的向量中对应的判决结果与对应的样本标签信息一致的向量。
可选的,在所述将所述训练数据集和所述测试数据集中的每条访问控制策略分别转换为向量之前,还包括:
分别将所述训练数据集和所述测试数据集作为目标数据集,执行以下操作:
平衡目标数据集中样本标签信息表示允许访问和样本标签信息表示禁止访问的访问控制策略的数量,得到平衡后的访问控制策略;
对所述平衡后的访问控制策略进行特征提取,得到访问控制策略的提取后特征;
对所述访问控制策略的提取后特征进行特征降维,得到访问控制策略的降维后特征;
所述将所述数据集中的每条访问控制策略分别转换为向量,具体包括:
分别将每条所述访问控制策略的降维后特征转换为向量。
可选的,所述依据所述训练数据集的向量和向量包含的样本标签信息,分别对所述多个随机森林模型进行训练,得到多个训练后的随机森林模型,包括:
依据所述训练数据集的向量和向量包含的样本标签信息,采用随机森林方法对所述多个随机森林模型分别进行训练,得到多个训练后的随机森林模型;
所述依据所述测试训练数据集的向量和向量包含的样本标签信息,分别对所述候选随机森林模型进行训练,得到训练后的候选随机森林模型,包括:
所述依据所述测试训练数据集的向量和向量包含的样本标签信息,采用所述随机森林方法对所述候选随机森林模型分别进行训练,得到训练后的候选随机森林模型。
可选的,所述判决***包括多个判决模型;任一所述判决模型间的结构为并行结构、级联结构或条件结构。
可选的,在所述将所述向量输入判决***,得到是否允许用户访问预设资源库的判决结果之后,还包括:
在所述判决结果表示允许访问资源的情况下,反馈所述用户访问请求所访问的资源。
本申请还提供了一种访问权限的控制装置,包括:
转换模块,用于在接收到用户访问请求的情况下,将所述用户访问请求中的资源访问信息转换为向量;
输入模块,用于将所述向量输入判决***,得到是否允许用户访问预设资源库的判决结果;所述判决***至少包括一个预先训练完成的判决模型;所述判决模型是以预设的访问控制策略为数据集,对预设的机器学习模型进行训练得到。
可选的,所述预设的机器学习模型为预先构建的多个随机森林模型;所述数据集包括训练数据集和测试数据集;所述训练数据集与所述测试数据集包含的任意一条访问控制策略包括:样本信息和样本标签信息;
所述装置还包括:
训练模块,用于以预设的访问控制策略为数据集,对预设的机器学习模型进行训练的过程,包括:
训练模块,具体用于将所述训练数据集和所述测试数据集中的每条访问控制策略分别转换为向量,得到训练数据集的向量和测试数据集的向量;任一条访问控制策略的向量携带该条访问控制策略的样本信息和样本标签信息;
依据所述训练数据集的向量和向量包含的样本标签信息,分别对所述多个随机森林模型进行训练,得到多个训练后的随机森林模型;
从所述多个训练后的随机森林模型中,确定所述训练数据集的第一目标向量数量大于预设数量的随机森林模型,得到候选随机森林模型;所述第一目标向量为所述训练数据集的向量中对应的判决结果与对应的样本标签信息一致的向量;
依据所述测试训练数据集的向量和向量包含的样本标签信息,分别对所述候选随机森林模型进行训练,得到训练后的候选随机森林模型;
从所述训练后的候选随机森林模型中,确定所述测试训练集的第二目标向量总次数最大的随机森林模型,得到所述判决模型;所述第二目标向量为所述测试训练集的向量中对应的判决结果与对应的样本标签信息一致的向量。
可选的,还包括:
执行模块,用于在所述将所述训练数据集和所述测试数据集中的每条访问控制策略分别转换为向量之前,分别将所述训练数据集和所述测试数据集作为目标数据集,执行以下操作:
平衡目标数据集中样本标签信息表示允许访问和样本标签信息表示禁止访问的访问控制策略的数量,得到平衡后的访问控制策略;
对所述平衡后的访问控制策略进行特征提取,得到访问控制策略的提取后特征;
对所述访问控制策略的提取后特征进行特征降维,得到访问控制策略的降维后特征;
所述训练模块,用于将所述数据集中的每条访问控制策略分别转换为向量,包括:
所述训练模块,具体用于分别将每条所述访问控制策略的降维后特征转换为向量。
可选的,所述训练模块,用于依据所述训练数据集的向量和向量包含的样本标签信息,分别对所述多个随机森林模型进行训练,得到多个训练后的随机森林模型,包括:
所述训练模块,具体用于依据所述训练数据集的向量和向量包含的样本标签信息,采用随机森林方法对所述多个随机森林模型分别进行训练,得到多个训练后的随机森林模型;
所述训练模块,用于依据所述测试训练数据集的向量和向量包含的样本标签信息,分别对所述候选随机森林模型进行训练,得到训练后的候选随机森林模型,包括:
所述训练模块,具体用于所述依据所述测试训练数据集的向量和向量包含的样本标签信息,采用所述随机森林方法对所述候选随机森林模型分别进行训练,得到训练后的候选随机森林模型。
本申请所述的访问权限的控制方法及装置,在接收到用户访问请求的情况下,将用户访问请求中的资源访问信息转换为向量;将向量输入判决***,得到是否允许用户访问预设资源库的判决结果。
由于判决***至少包括一个预先训练完成的判决模型,并且,判决模型是以预设的访问控制策略为数据集,对预设的机器学习模型进行训练得到,使得本申请将对用户访问请求的判决过程,转换为机器学习模型的二分类过程。使得一方面,本申请中完成训练的判决模型(机器学习模型)接收到向量到输出判决结果的过程,只需按照训练完成的参数对接输入的向量进行计算。即无需从海量的访问控制策略中匹配出待处理访问控制策略,也无需对每个待处理访问控制策略与用户访问请求进行预设的逻辑计算;另一方面,完成训练的判决模型计算速度较快。
综上所述,采用本申请对用户访问请求进行判决的过程耗费的时间可以缩短。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例公开的一种对预设的机器学习模型的训练过程示意图;
图2为本申请实施例公开的采用随机森林方法对该随机森林模型进行训练的流程图;
图3为本申请实施例公开的一种访问权限的控制方法的流程图;
图4(a)为本申请实施例公开的一种级联结构示意图;
图4(b)为本申请实施例公开的一种并行结构示意图;
图4(c)为本申请实施例公开的一种条件结构示意图;
图5为本申请实施例公开的对不同权限判决方法性能指标对比示意图;
图6为本申请实施例公开的基于不同方法训练及更新权限判决引擎所需要的模型时延的示意图;
图7为本申请实施例公开的不同方法的权限判决时间的对比示意图;
图8为本申请实施例公开的不同策略规模下的传统权限判决时延示意图;
图9为本申请实施例提供的一种访问权限的控制装置的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
对本申请实施例涉及的一些关键概念进行介绍,其中,关键概念包括:属性、属性元组、访问控制策略、用户访问请求和权限判决。其中,
属性(Attribute)用来描述参与到权限访问控制过程中的实体的特征信息,由属性名与属性值构成,可以包括四种类别的属性,可以表示成四元组(S,R,O,E)。其中,S表示主体属性,用来描述用户访问请求发起方所具有的属性信息(如角色、性别等);R表示资源属性,用来描述能够被访问的资源所具有属性信息(如名称、安全等级等);O表示操作属性,用来描述主体对资源的各种操作行为(如读取、写入等);E表示环境属性,用来描述访问权限控制发生时的环境约束信息(如时间、地点等)。
属性元组(Attribute Tuple)是刻画访问权限控制实体的特定类别属性的集合,是属性的动态指派关系的体现,可表示为X-tuple={a1,a2,…an},X∈{S,R,O,E}。
访问控制策略(Access Control Policy)是主体访问资源的规则和主体对资源授权行为的具体体现,可表示为五元组ACP=(S-tuple,R-tuple,O-tuple,E-tuple,Sign),其中,Sign∈{permit,deny}表示允许访问或禁止访问。S-tuple,R-tuple,O-tuple是必须属性元组,不能为空。E-tuple是可选的属性元组,可以为空。
用户访问请求(Access Request)是对资源的访问者、被访问的资源以及被请求操作的描述,可以表示成三元组AR=(S-tuple,R-tuple,O-tuple)。在实际中,用户访问请求中至少包含一个主体属性、一个资源属性和一个操作属性。
权限判决(Permission Decision)是在给定的访问控制策略评估环境中,针对用户访问请求,做出允许或禁止访问相应资源的判决响应,可表示为一个映射函数:Decision:AR→{permit,deny}。
在本申请实施例中,事先构建机器学习模型,并对机器学习模型进行训练,得到判决模型,该判决模型就相当于一个映射函数。其中,至少一个判决模型组成判决***,判决***用于对用户访问请求中包含的资源访问信息进行处理,得到判决结果。
在本申请实施例中,以预设的机器学习模型为随机森林模型为例,其中,随机森林模型包括多个CART决策树,其中,CART决策树的结构为现有技术,这里不再赘述。
在本申请实施例中,对随机森林模型进行训练的数据集包括训练数据集和测试数据集。其中,训练数据集和测试数据集分别包括多条预设的访问控制策略。其中,任意一条访问控制策略可以为一个五元组,其中,包括该条访问控制策略表示的权限结果(允许或禁止),在本实施例中,将该条访问控制策略中的权限结果,称为样本标签信息。将该条访问控制策略的五元组中除权限结果外的信息,称为样本信息。
图1为本申请实施例提供的一种对预设的机器学习模型的训练过程,可以包括以下步骤:
S101、分别将训练数据集和测试数据集作为目标数据集,进行预处理。
在本实施例中,对目标数据集进行预处理的过程可以包括以下步骤A1~步骤A3:
A1、平衡目标数据集中样本标签信息表示允许访问和样本标签信息表示禁止访问的访问控制策略的数量,得到平衡后的访问控制策略。
在实际中,目标数据集是一种不平衡的数据集,即其中表示允许访问的访问控制策略的数目与表示禁止访问的访问控制策略的数目,存在巨大的差距。例如,数目比例约为16:1。
在采用数据集对机器学***衡,使得平衡后的两类访问控制策略的数量相同。
可选的,在实际中,可以采用自适应综合过采样方法(Adaptive SyntheticSampling Approach,ADASYN)来平衡目标数据集,具体过程可以包括以下步骤B1~步骤B3:
B1、计算目标数据集的不平衡度。
在本步骤中,计算目标数据集的不平衡度的方式,如下公式(1)所示:
其中,ms表示第一类访问控制策略的个数,ml表示第二类访问控制策略的个数。其中,第一类访问控制策略表示目标数据集中总数目少的一类访问控制策略。第二类访问控制策略表示目标数据集中总数目多的一类访问控制策略。
B2、计算每个第一类访问控制策略的需合成访问控制策略。
在本步骤中,目标数据集中第一类访问控制策略与第二类访问控制策略间的差值的计算公式如下公式(2)所示。
GN=α·(ml-ms),α∈[0,1] (2)
其中,GN表示第一类访问控制策略与第二类访问控制策略间的差值。
从公式(2)可以看出,在α=1的情况下,GN等于两类访问控制策略的总数目的差值,该差值指示了针对第一类访问控制策略,所需补充的第一类访问控制策略的数目。
在本步骤中,确定分别对每个第一类访问控制策略,所需补充的访问控制策略。其中,具体的计算原理可以包括:用欧式距离计算每个第一类访问控制策略的f个邻居,其中,f个邻居中属于第二类访问控制策略的数目可以采用Nl表示。按照公式(3)、公式(4)和公式(5)计算得到:针对每个第一类访问控制策略,所需补充的第一类访问控制策略的数目。
其中,gni表示第i个第一类访问控制策略对应的所需补充的第一类访问控制策略的数目。
B3、针对每个第一类访问控制策略,生成补充的第一类访问控制策略。
具体的,在每个第一类访问控制策略的周围k个邻居中,选择一个第一类访问控制策略,并采用公式(6)生成补充的第一类访问控制策略。
si=xi+β·(xzi-xi),β∈[0,1] (6)
其中,xi表示第i个第一类访问控制策略,xzi表示选择的第一类访问控制策略,si表示补充的第一类访问控制策略。
A2、对平衡后的访问控制策略进行特征提取,得到访问控制策略的提取后特征。
在本步骤中,从平衡后的访问控制策略提取的特征为由访问控制策略中包含的属性元素组成的特征。
A3、对访问控制策略的提取后特征进行特征降维,得到访问控制策略的降维后特征。
在本实施例中,为了使得训练过程的高效,在本步骤中,对访问控制策略的提取后特征进行特征降维,为了描述方便,将降维得到的结果称为访问控制策略的降维后特征。
可选的,在本实施例中,可以采用卡方检验的方式对访问控制策略的提取后特征进行特征降维,具体的特征降维计算公式为公式(7)。其中,卡方检验是一种以χ2分布为基础的一种常用假设检验方法,常用来比较观察到的数据与根据假设期望得到的数据之间的关系。具体的,可以通过卡方检验来对访问控制策略的提取后特征进行打分排序,选择排名靠前的特征实现特征降维,选择判决效果较好的特征,实现高效的训练与分类。
其中,t表示相关特征的有或无,c表示权限判决结果,N表示实际观察值,E表示期望值,et表示具体的相应特征是否出现(出现为1、不出现为0),ec表示具体的权限判决结果(允许为1、拒绝为0),如E10表示相应特征t出现且权限判决结果c=0。
S102、分别将每条访问控制策略的降维后特征转换为向量。
可选的,在本步骤中,可以分别将每条访问控制策略的降维后特征转换为独热编码One-hot属性形式表示的向量,其中,具体的转换过程为现有技术,这里不再赘述。在本实施例中,为了描述方便,对于任意一条访问控制策略,将该条访问控制策略的降维后特征进行转换得到的向量,称为该条访问控制策略的向量。
需要说明的是,在实际中,S101不是必须步骤,在该情况下,S102所需执行的操作为将数据集中的每条访问控制策略转换为向量。为了描述方便,针对任意一条访问控制策略,将该条访问控制策略转换得到的向量,称为该条访问控制策略的向量。在本实施例中,由于任意一条访问控制策略包括样本信息和样本标签信息,因此,任一条访问控制策略的向量携带该条访问控制策略的样本信息和样本标签信息。
S103、依据训练数据集的向量和向量包含的样本标签信息,对多个随机森林模型分别进行训练,得到多个训练后的随机森林模型。
可选的,在本实施例中,可以依据训练数据集的向量和向量包含的样本标签信息,采用随机森林方法对多个随机森林模型分别进行训练,得到多个训练后的随机森林模型。
其中,以任意一个随机森林模型为例,采用随机森林方法对该随机森林模型进行训练的流程如图2所示,其中,具体的训练流程在图2对应的实施例中进行介绍,这里不再赘述。
S104、从多个训练后的随机森林模型中,确定训练数据集的第一目标向量数量大于预设数量的随机森林模型,得到候选随机森林模型。
在本实施例中,以任意一个训练后的随机森林模型为例,第一目标向量指:训练数据集的向量中,该训练后的随机森林模型输出对应的判决结果与相应的样本标签信息一致的向量。
本步骤的目的是:从多个训练后的随机森林模型中,确定出判决效果较好的随机森林模型,为了描述方便,将确定出的随机森林模型,称为候选随机森林模型。
S105、依据测试训练数据集的向量和向量包含的样本标签信息,分别对候选随机森林模型进行训练,得到训练后的候选随机森林模型。
在本实施例中,可以依据测试训练数据集的向量和向量包含的样本标签信息,采用随机森林方法对候选随机森林模型分别进行训练,得到训练后的候选随机森林模型。
其中,以任意一个候选随机森林模型为例,采用随机森林方法对该候选随机森林模型进行训练的原理,与采用随机森林方法对随机森林模型进行训练的原理相同,这里不再赘述。
S106、从训练后的候选随机森林模型中,确定测试训练集的第二目标向量总次数最大的随机森林模型,得到判决模型。
在本实施例中,以任意一个训练后的候选随机森林模型为例,第二目标向量指:测试训练集的向量中,该训练后的候选随机森林模型输出对应的判决结果与对应的样本标签信息一致的向量。
在本步骤中,确定出一个训练后的候选随机森林模型,并将确定出的随机森林模型,作为判决模型。
在本实施例中,以对任意一个随机森林模型的训练过程为例,介绍采用随机森林方法对该随机森林模型的训练过程。其中,随机森林方法(Random Forest,RF),也被称为随机决策森林,是一种流行的集成学习方法,可以用来建立预测模型来解决分类和回归问题。集成学习方法通过训练多个学习模型来获得较好的预测结果。随机森林模型是由多个随机不相关的CART决策树(classification and regression tree)组成的完整森林,即一个随机森林模型包括多个CART决策树。
图2为本申请实施例提供的一种对随机森林模型的训练过程,可以包括:训练数据集的向量(Sample)中基于Bootstrap方法进行有放回的重复采样,将训练数据集分为k个训练子数据集,可以表示为{Subset1,Subset2,…Subsetk-1,Subsetk},训练数据集的向量与训练子数据集的向量数目都为N。其中,k的取值为随机森林模型包括的CART决策树的数目。即一个CART决策树对应一个训练子数据集。
在本实施例中,对于任意一个CART决策树,将相应的训练子数据集中的每个向量,分别输入该CART决策树,其中,该CART决策树对每次输入的向量计算得到判决结果的过程相同。为了描述方便,本实施例以任意一个CART决策树为例进行介绍,具体可以包括:在该向量的属性特征中随机抽取出m个特征。节点再从抽取出的m个特征中选择出1个最优特征,将其应用于节点进行***操作。新生成的树节点再在剩余的m-1个特征中,基于GINI值进行尽一步的***,直至树的叶子节点无法继续进行***为止。
在本实施例中,在任意一次训练过程中,对于该随机森林模型中的k个CART决策树,每个CART决策树都会输出判决结果,可以表示为DecisionResult(Ti)。其中,若判决结果表示允许访问,则DecisionResult(Ti)=1;若判决结果表示禁止访问,则DecisionResult(Ti)=0。
本实施例通过聚合该随机森林模型中全部决策树的判决结果,得到该随机森林模型的判决结果,聚合计算方式如公式(8)所示。
其中,Vote(x)表示该随机森林模型在该次训练过程中得到的聚合结果。
在实际中,可以通过公式(9),得到该随机森林模型输出的判决结果。
其中,Permission(request)表示该随机森林模型在一次训练过程中输出的判决结果。其中,若Permission(request)=1,则判定允许用户访问相应资源;否则,禁止用户访问。
在实际中,CART决策树通过节点的***使数据变得更纯,其输出结果将更接近真实值。针对分类问题,使用数据集合的基尼***GINI的值来评估树中节点的纯度,计算GINI值的方法如下公式(10)和公式(11)所示:
其中,GINI值越大,代表该***方式效果越差,因此,选择使子节点的GINI值最小的属性作为***的依据,可实现分类树的最小化。
另外,为了降低产生过拟合的情况,CART决策树基于代价复杂度剪枝(Cost-Complexity Pruning,CCP)方法实现树的剪枝来降低树的复杂度。CCP选取节点表面误差率增益值最小的非叶子节点,删除该非叶子节点的左右子节点,若有多个非叶子节点的表面误差率增益最小值相同,则选择非叶子节点中子节点数最多的非叶子节点进行剪枝。表面误差率增益值的计算公式如下公式(12)所示。
其中,R(t)表示叶子节点的误差代价,R(t)=r(t)·p(t),r(t)是节点的错误率,p(t)是数据节点占比;R(T)表示子树的误差代价,ri(t)是子节点的错误率,pi(t)是节点i的数据节点占比;N(T)表示子树节点个数。
图3为本申请实施例提供的一种访问权限的控制方法,可以包括以下步骤:
S301、在接收到用户访问请求的情况下,将用户访问请求中的资源访问信息转换为向量。
在本步骤中,用户访问请求中包括资源访问信息,其中,资源访问信息至少包括:一个主体属性、一个资源属性和一个操作属性。本实施例不对资源访问信息的具体内容作限定。
在本步骤中,可以将资源访问请求转换为独热编码One-hot属性形式表示的向量。其中,转换的具体实现过程为现有技术,这里不再赘述。
S302、将向量输入判决***,得到是否允许用户访问预设资源库的判决结果。
在本实施例中,判决***至少包括一个预先训练完成的判决模型,其中,判决模型是通过图1对应的实施例训练得到的判决模型。
在实际中,针对分布式、开放环境下复杂的权限访问控制的业务流程,本实施例提供的完成训练的机器学习模型支持多种灵活的部署方式,组成判决***,通过该判决***能够进一步提高权限访问判决的性能。
在本实施例中,判决***可以包括多个判决模型,具体的,判决***中的多个判决模型间的结构关系可以为预设的三种结构中的任意一种。其中,预设的三种结构包括:级联结构、并行结构和条件结构。其中。
级联结构(Cascade architecture):表示组合权限判决结构内部的各判决模型间按照时序关系顺序进行调用执行,其结构如图4(a)所示。这种级联结构能够适用于不同组织之间需要进行跨域数据资源访问的场景,不同的组织针对各自的安全域内的访问控制策略训练得到各自的判决模型DE,只有所有域内判决模型DE的判决结果都表示允许的情况下,用户才能访问相应的跨域资源。
并行结构(Concurrent architecture):表示组合权限判决结构内部各判决模型能够并行、同步执行,相互之间不存在判决依赖关系,其结构如图4(b)所示。各判决模型是相同的,这种并行结构能够通过对海量并发访问请求进行分流,来提高权限判决的效率,并且由于存在多个冗余的判决模型,能够防止单点故障的发生,提高判决***的可靠性。
条件结构(Condition architecture):根据组合权限判决结构的条件约束,执行对应的判决模型,其结构如图4(c)所示。可以根据不同业务交互条件的需要,灵活选取不同的判决模型,各判决模型相互独立,提高了判决结构灵活的执行能力。
S303、在判决结果表示允许访问资源的情况下,反馈资源访问请求指示的资源。
在本步骤中,判决***从预设资源库中提取用户访问请求所访问的资源,并将提取的资源进行输出。
为了验证本申请实施例达到的效果,进行了以下实验。其中,使用A公司真实的访问控制策略集进行实验。该访问控制策略集中包括超过32000条真实的访问控制策略信息,其中,包括10类不同的用户属性信息,具体如表1所示。
表1数据集描述
/>
对实验数据集进行了数据平衡处理,并对数据进行随机划分,得到由80%访问控制策略数据组成的训练数据集与由20%访问控制策略数据组成的测试数据集。另外,为了与传统的需要遍历待处理访问控制策略的权限访问控制方法进行有效比较,还分别构建了访问控制策略规模分别为1000、2000、3000、4000、5000、6000、7000、8000的访问控制策略集来进行性能对比测试。
其中,实验的软硬件环境如下:操作***为Win10 64位,CPU为Intel(R)Core(TM)[email protected],GPU为GeForce GTX 1050Ti Max-Q,内存大小为16GB,Python的版本为3.6。
在本实施例中,对测试结果的评估指标主要是对访问控制策略的权限判决结果进行评价,其中,评价指标可以包括:准确率、精确率、召回率和F1值。其中,将权限判决结果的混淆矩阵定义如下表2所示:
表2权限判决结果的混淆矩阵
其中,TP(DPP’)表示被正确判决为允许访问的样本数量;FN(DPD’)表示被错误判决为禁止访问的样本数量;FP(DDP’)表示被错误判决为允许访问的样本数量;TN(DDD’)表示被正确判决为禁止访问的样本数量。
其中,评价指标计算方法如下:
准确率(Accuracy),表示预测判决结果正确的样本数与样本总数的比值,公式如下公式(13)所示:
精确率(Precision),表示预测判决结果中正确的判决结果为允许的样本数与预测判决结果为允许的样本数的比值,公式如下公式(14)所示:
召回率(Recall),表示预测判决结果中正确的判决结果为允许的样本数与真实情况为允许访问样本的比值,是覆盖面的度量,公式如下(15)所示:
F1值(F-Measure),是精确率和召回率的加权调和平均值,公式如下(16)所示:
为了评估本申请实施例所提出方法的性能,设计了如下3个实验:数据集平衡前与数据集平衡后不同方法AUC值(Area under the Curve)的对比、不同机器学习方法性能指标的对比,和不同方法权限判决时间的对比。
针对数据集平衡前与数据集平衡后不同方法AUC值的对比:
实验结果如表3所示,从表3的结果可知,在数据集平衡前各方法的性能普遍较差,其中LR和支持向量机SVM方法基本无法做出准确有效的判决响应。但是经过数据集平衡、特征提取和特征降维处理之后各方法的性能都得到了普遍的提高,其中,本申请实施例所提供的基于随机森林的权限判决方法能够达到最优的0.975的AUC值。
表3不同方法的AUC值
针对不同机器学习方法性能指标的对比:
在选取相同特征的条件下,对不同权限判决方法的Accuracy、Precision、Recall和F-Measure值进行对比,如图5所示的实验结果可知,与Lightgbm、LR、KNN、SVM、DT相比,本申请实施例所提出的方法具有更好的综合权限判决性能表现。另外,由于不同方法训练及更新所需时间对***访问控制策略的动态、及时更新有重要影响。因此,还对基于不同方法的权限判决引擎所需要的模型训练及更新时延进行了测试。测试结果图下表4所示。
如图6所示,Lightgbm与KNN方法模型训练时间最高,其它方法的训练时间近似。
表4不同方法的性能对比
方法 | Lightgbm | LR | RF | KNN | SVM | DT |
Accuracy | 0.863 | 0.897 | 0.926 | 0.902 | 0.899 | 0.917 |
Precision | 0.858 | 0.892 | 0.934 | 0.928 | 0.892 | 0.933 |
Recall | 0.871 | 0.905 | 0.916 | 0.872 | 0.909 | 0.899 |
F-Measure | 0.864 | 0.898 | 0.925 | 0.899 | 0.911 | 0.916 |
不同方法判决时间的对比:
如图7和图8所示,传统基于逻辑运算的权限评估方法判决时延与策略规模的大小呈现正相关的关系。随着访问控制策略规模的增长,权限判决时间也将显著的增长,而基于机器学习的方法无论策略规模大小,只要属性类别不变,权限判决时间是基本趋于稳定不变的。与其它方法相比,本申请实施例提供的方法所需要的判决时间稳定在0.115s左右,整体性能较好,由实验结果可知,本申请实施例提供的方案在测试数据集中能够达到约92.6%的权限判决准确率,判决时间稳定在约0.115s,具有较好的权限判决性能,能够满足高并发访问控制请求响应的实时性要求。
本申请实施例具有以下有益效果:
有益效果一:
本申请实施例将权限判决问题转化为了是否允许访问的机器学习二分类问题,使访问控制***的运行不受策略规模和实体数量的影响,有效的提高了权限判决的效率。
有益效果二:
本申请实施例训练完成的判决模型在进行权限判决的过程中,只需要依据用户访问请求中的资源访问信息即可做出判决响应,得到判决结果,无需与访问控制策略集进行通信交互,能够实现对敏感策略信息的隐私保护。从而,可以降低***被攻击的安全风险,能够安全地实现海量策略环境下的用户访问权限的高效判决。
有益效果三:
本申请实施例提供的训练完成的判决模型能够支持开放环境下分布式组合权限判决进程的部署。
图9为本申请实施例提供的一种访问权限的控制装置,可以包括:转换模块901和输入模块902,其中,
转换模块901,用于在接收到用户访问请求的情况下,将用户访问请求中的资源访问信息转换为向量。
输入模块902,用于将向量输入判决***,得到是否允许用户访问预设资源库的判决结果;判决***至少包括一个预先训练完成的判决模型;判决模型是以预设的访问控制策略为数据集,对预设的机器学习模型进行训练得到。
可选的,预设的机器学习模型为预先构建的多个随机森林模型;数据集包括训练数据集和测试数据集;训练数据集与测试数据集包含的任意一条访问控制策略包括:样本信息和样本标签信息;
该装置还可以包括:
训练模块,用于以预设的访问控制策略为数据集,对预设的机器学习模型进行训练的过程,包括:
训练模块,具体用于将训练数据集和测试数据集中的每条访问控制策略分别转换为向量,得到训练数据集的向量和测试数据集的向量;任一条访问控制策略的向量携带该条访问控制策略的样本信息和样本标签信息。
依据训练数据集的向量和向量包含的样本标签信息,分别对多个随机森林模型进行训练,得到多个训练后的随机森林模型;
从多个训练后的随机森林模型中,确定训练数据集的第一目标向量数量大于预设数量的随机森林模型,得到候选随机森林模型;第一目标向量为训练数据集的向量中对应的判决结果与对应的样本标签信息一致的向量;
依据测试训练数据集的向量和向量包含的样本标签信息,分别对候选随机森林模型进行训练,得到训练后的候选随机森林模型;
从训练后的候选随机森林模型中,确定测试训练集的第二目标向量总次数最大的随机森林模型,得到判决模型;第二目标向量为测试训练集的向量中对应的判决结果与对应的样本标签信息一致的向量。
可选的,该装置还可以包括:
执行模块,用于在将训练数据集和测试数据集中的每条访问控制策略分别转换为向量之前,分别将训练数据集和测试数据集作为目标数据集,执行以下操作:
平衡目标数据集中样本标签信息表示允许访问和样本标签信息表示禁止访问的访问控制策略的数量,得到平衡后的访问控制策略;对平衡后的访问控制策略进行特征提取,得到访问控制策略的提取后特征;对访问控制策略的提取后特征进行特征降维,得到访问控制策略的降维后特征;
训练模块,用于将所述数据集中的每条访问控制策略分别转换为向量,包括:
训练模块,具体用于分别将每条所述访问控制策略的降维后特征转换为向量。
可选的,训练模块,用于依据训练数据集的向量和向量包含的样本标签信息,分别对多个随机森林模型进行训练,得到多个训练后的随机森林模型,包括:
训练模块,具体用于依据训练数据集的向量和向量包含的样本标签信息,采用随机森林方法对多个随机森林模型分别进行训练,得到多个训练后的随机森林模型;
训练模块,用于依据测试训练数据集的向量和向量包含的样本标签信息,分别对候选随机森林模型进行训练,得到训练后的候选随机森林模型,包括:
训练模块,具体用于依据测试训练数据集的向量和向量包含的样本标签信息,采用随机森林方法对候选随机森林模型分别进行训练,得到训练后的候选随机森林模型。
可选的,判决***可以包括多个判决模型,其中,任一判决模型间的结构为并行结构、级联结构或条件结构。
可选的,该装置还可以包括:
反馈模块,用于在输入模块902将向量输入判决***,得到是否允许用户访问预设资源库的判决结果之后,在判决结果表示允许访问资源的情况下,反馈用户访问请求所访问的资源。
本申请实施例方法所述的功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算设备可读取存储介质中。基于这样的理解,本申请实施例对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一台计算设备(可以是个人计算机,服务器,移动计算设备或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (5)
1.一种访问权限的控制方法,其特征在于,包括:
在接收到用户访问请求的情况下,将所述用户访问请求中的资源访问信息转换为向量;
将所述向量输入判决***,得到是否允许用户访问预设资源库的判决结果;所述判决***至少包括一个预先训练完成的判决模型;所述判决模型是以预设的访问控制策略为数据集,对预设的机器学习模型进行训练得到;
所述预设的机器学习模型为预先构建的多个随机森林模型;所述数据集包括训练数据集和测试数据集;所述训练数据集与所述测试数据集包含的任意一条访问控制策略包括:样本信息和样本标签信息;
以预设的访问控制策略为数据集,对预设的机器学习模型进行训练的过程,包括:
将所述训练数据集和所述测试数据集中的每条访问控制策略分别转换为向量,得到训练数据集的向量和测试数据集的向量;任一条访问控制策略的向量携带该条访问控制策略的样本信息和样本标签信息;
依据所述训练数据集的向量和向量包含的样本标签信息,分别对所述多个随机森林模型进行训练,得到多个训练后的随机森林模型;
所述依据所述训练数据集的向量和向量包含的样本标签信息,分别对所述多个随机森林模型进行训练,得到多个训练后的随机森林模型,包括:
对所述多个随机森林模型中的每个随机森林模型进行如下训练:
将目标随机森林模型的训练数据集分为k个训练子数据集,表示为{Subset1,Subset2,…Subsetk-1,Subsetk},所述目标随机森林模型的训练数据集的向量与所述训练子数据集的向量数目都为N,其中,k的取值为所述目标随机森林模型包括的CART决策树的数目,其中,所述k个训练子数据集分别对应k个CART决策树,所述目标随机森林模型为所述多个随机森林模型中的任意一个随机森林模型;
将所述k个CART决策树中每个CART决策树对应的所述训练子数据集中的向量,分别输入所述k个CART决策树;
所述k个CART决策树对所述k个CART决策树中每个CART决策树对应的所述训练子数据集中的向量进行判决的过程具体为:
所述向量的属性特征中随机抽取出m个特征,再从所述m个特征中选择出最优特征,将所述最优特征应用于目标节点进行***操作,生成的目标CART决策的树节点,再在剩余的m-1个特征中,基于GINI值进行***,直至目标CART决策的树节点无法继续进行***为止;
获取所述k个CART决策树中每个CART决策树输出的判决结果,表示为DecisionResult(Ti),其中,若所述判决结果表示允许访问,则DecisionResult(Ti)=1;若所述判决结果表示禁止访问,则DecisionResult(Ti)=0;
聚合所述k个CART决策树中每个CART决策树都会输出的判决结果,得到所述目标随机森林模型的判决结果,聚合计算方式如公式(8)所示,
其中,Vote(x)表示所述目标随机森林模型在训练过程中得到的聚合结果;
通过公式(9),得到所述目标随机森林模型输出的判决结果;
其中,Permission(request)表示所述目标随机森林模型在一次训练过程中输出的判决结果,其中,若Permission(request)=1,则允许用户访问资源;否则,禁止用户访问资源;
使用数据集合的基尼***的所述GINI的值来评估所述k个CART决策树中各个树节点的纯度,计算所述GINI值的方法如下公式(10)和公式(11)所示:
所述k个CART决策树基于代价复杂度剪枝(Cost-Complexity Pruning,CCP)方法实现树的剪枝来降低树的复杂度,所述代价复杂度剪枝选取所述k个CART决策树中各个树节点中树节点中表面误差率增益值最小的非叶子节点,删除所述非叶子节点的左右子节点,若有多个非叶子节点的表面误差率增益最小值相同,则选择非叶子节点中子节点数最多的非叶子节点进行剪枝;表面误差率增益值的计算公式如下公式(12)所示,
其中,R(t)表示叶子节点的误差代价,R(t)=r(t)·p(t),r(t)是叶子节点的错误率,p(t)是数据节点占比;R(T)表示子树的误差代价,ri(t)是子节点的错误率,pi(t)是节点i的数据节点占比;N(T)表示子树节点个数;从所述多个训练后的随机森林模型中,确定所述训练数据集的第一目标向量数量大于预设数量的随机森林模型,得到候选随机森林模型;所述第一目标向量为所述训练数据集的向量中对应的判决结果与对应的样本标签信息一致的向量;
依据所述测试数据集和所述训练数据集的向量和向量包含的样本标签信息,分别对所述候选随机森林模型进行训练,得到训练后的候选随机森林模型;
从所述训练后的候选随机森林模型中,确定所述测试数据集和所述训练数据集的第二目标向量总次数最大的随机森林模型,得到所述判决模型;所述第二目标向量为所述测试训练集的向量中对应的判决结果与对应的样本标签信息一致的向量;
在所述将所述训练数据集和所述测试数据集中的每条访问控制策略分别转换为向量之前,还包括:
分别将所述训练数据集和所述测试数据集作为目标数据集,执行以下操作:
平衡目标数据集中样本标签信息表示允许访问和样本标签信息表示禁止访问的访问控制策略的数量,得到平衡后的访问控制策略;
其中,所述平衡目标数据集具体过程包括以下步骤B1~步骤B3:
B1、计算目标数据集的不平衡度;
计算目标数据集的不平衡度的方式,如下公式(1)所示:
其中,ms表示第一类访问控制策略的个数,ml表示第二类访问控制策略的个数;其中,所述第一类访问控制策略表示目标数据集中总数目少的一类访问控制策略;第二类访问控制策略表示目标数据集中总数目多的一类访问控制策略;
B2、计算每个第一类访问控制策略的需合成访问控制策略;
在本步骤中,目标数据集中第一类访问控制策略与第二类访问控制策略间的差值的计算公式如下公式(2)所示;
GN=α·(ml-ms),α∈[0,1] (2)
其中,GN表示第一类访问控制策略与第二类访问控制策略间的差值;
从公式(2)可以看出,在α=1的情况下,GN等于两类访问控制策略的总数目的差值,所述差值指示了针对第一类访问控制策略,所需补充的第一类访问控制策略的数目;
确定分别对每个第一类访问控制策略,所需补充的访问控制策略;其中,具体的计算原理包括:用欧式距离计算每个第一类访问控制策略的f个邻居,其中,f个邻居中属于第二类访问控制策略的数目采用Nl表示;按照公式(3)、公式(4)和公式(5)计算得到:针对每个第一类访问控制策略,所需补充的第一类访问控制策略的数目;
其中,gni表示第i个第一类访问控制策略对应的所需补充的第一类访问控制策略的数目;
B3、针对每个第一类访问控制策略,生成补充的第一类访问控制策略;
具体的,在每个第一类访问控制策略的周围k个邻居中,选择一个第一类访问控制策略,并采用公式(6)生成补充的第一类访问控制策略;
si=xi+β·(xzi-xi), β∈[0,1] (6)
其中,xi表示第i个第一类访问控制策略,xzi表示选择的第一类访问控制策略,si表示补充的第一类访问控制策略;
对所述平衡后的访问控制策略进行特征提取,得到访问控制策略的提取后特征;
对所述访问控制策略的提取后特征进行特征降维,得到访问控制策略的降维后特征;
特征降维计算公式为如下公式(7):
其中,t表示相关特征的有或无,c表示权限判决结果,N表示实际观察值,E表示期望值,et表示具体的相应特征是否出现,出现为1、不出现为0,ec表示具体的权限判决结果,允许为1、拒绝为0;
所述将所述数据集中的每条访问控制策略分别转换为向量,具体包括:
分别将每条所述访问控制策略的降维后特征转换为向量。
2.根据权利要求1所述的方法,其特征在于,所述判决***包括多个判决模型;任一所述判决模型间的结构为并行结构、级联结构或条件结构。
3.根据权利要求1~2任意一项所述的方法,其特征在于,在所述将所述向量输入判决***,得到是否允许用户访问预设资源库的判决结果之后,还包括:
在所述判决结果表示允许访问资源的情况下,反馈所述用户访问请求所访问的资源。
4.一种访问权限的控制装置,其特征在于,包括:
转换模块,用于在接收到用户访问请求的情况下,将所述用户访问请求中的资源访问信息转换为向量;
输入模块,用于将所述向量输入判决***,得到是否允许用户访问预设资源库的判决结果;所述判决***至少包括一个预先训练完成的判决模型;所述判决模型是以预设的访问控制策略为数据集,对预设的机器学习模型进行训练得到;
所述预设的机器学习模型为预先构建的多个随机森林模型;所述数据集包括训练数据集和测试数据集;所述训练数据集与所述测试数据集包含的任意一条访问控制策略包括:样本信息和样本标签信息;
所述装置还包括:
训练模块,用于以预设的访问控制策略为数据集,对预设的机器学习模型进行训练的过程,包括:
训练模块,具体用于将所述训练数据集和所述测试数据集中的每条访问控制策略分别转换为向量,得到训练数据集的向量和测试数据集的向量;任一条访问控制策略的向量携带该条访问控制策略的样本信息和样本标签信息;
依据所述训练数据集的向量和向量包含的样本标签信息,分别对所述多个随机森林模型进行训练,得到多个训练后的随机森林模型;
所述依据所述训练数据集的向量和向量包含的样本标签信息,分别对所述多个随机森林模型进行训练,得到多个训练后的随机森林模型,包括:
对所述多个随机森林模型中的每个随机森林模型进行如下训练:
将目标随机森林模型的训练数据集分为k个训练子数据集,表示为{Subset1,Subset2,…Subsetk-1,Subsetk},所述目标随机森林模型的训练数据集的向量与所述训练子数据集的向量数目都为N,其中,k的取值为所述目标随机森林模型包括的CART决策树的数目,其中,所述k个训练子数据集分别对应k个CART决策树,所述目标随机森林模型为所述多个随机森林模型中的任意一个随机森林模型;
将所述k个CART决策树中每个CART决策树对应的所述训练子数据集中的向量,分别输入所述k个CART决策树;
所述k个CART决策树对所述k个CART决策树中每个CART决策树对应的所述训练子数据集中的向量进行判决的过程具体为:
所述向量的属性特征中随机抽取出m个特征,再从所述m个特征中选择出最优特征,将所述最优特征应用于目标节点进行***操作,生成的目标CART决策的树节点,再在剩余的m-1个特征中,基于GINI值进行***,直至目标CART决策的树节点无法继续进行***为止;
获取所述k个CART决策树中每个CART决策树输出的判决结果,表示为DecisionResult(Ti),其中,若所述判决结果表示允许访问,则DecisionResult(Ti)=1;若所述判决结果表示禁止访问,则DecisionResult(Ti)=0;
聚合所述k个CART决策树中每个CART决策树都会输出的判决结果,得到所述目标随机森林模型的判决结果,聚合计算方式如公式(8)所示,
其中,Vote(x)表示所述目标随机森林模型在训练过程中得到的聚合结果;
通过公式(9),得到所述目标随机森林模型输出的判决结果;
其中,Permission(request)表示所述目标随机森林模型在一次训练过程中输出的判决结果,其中,若Permission(request)=1,则允许用户访问资源;否则,禁止用户访问资源;
使用数据集合的基尼***的所述GINI的值来评估所述k个CART决策树中各个树节点的纯度,计算所述GINI值的方法如下公式(10)和公式(11)所示:
所述k个CART决策树基于代价复杂度剪枝(Cost-Complexity Pruning,CCP)方法实现树的剪枝来降低树的复杂度,所述代价复杂度剪枝选取所述k个CART决策树中各个树节点中树节点中表面误差率增益值最小的非叶子节点,删除所述非叶子节点的左右子节点,若有多个非叶子节点的表面误差率增益最小值相同,则选择非叶子节点中子节点数最多的非叶子节点进行剪枝;表面误差率增益值的计算公式如下公式(12)所示,
其中,R(t)表示叶子节点的误差代价,R(t)=r(t)·p(t),r(t)是叶子节点的错误率,p(t)是数据节点占比;R(T)表示子树的误差代价,ri(t)是子节点的错误率,pi(t)是节点i的数据节点占比;N(T)表示子树节点个数;
从所述多个训练后的随机森林模型中,确定所述训练数据集的第一目标向量数量大于预设数量的随机森林模型,得到候选随机森林模型;所述第一目标向量为所述训练数据集的向量中对应的判决结果与对应的样本标签信息一致的向量;
依据所述测试数据集和所述训练数据集的向量和向量包含的样本标签信息,分别对所述候选随机森林模型进行训练,得到训练后的候选随机森林模型;
从所述训练后的候选随机森林模型中,确定所述测试数据集和所述训练数据集的第二目标向量总次数最大的随机森林模型,得到所述判决模型;所述第二目标向量为所述测试训练集的向量中对应的判决结果与对应的样本标签信息一致的向量;
执行模块,用于在所述将所述训练数据集和所述测试数据集中的每条访问控制策略分别转换为向量之前,分别将所述训练数据集和所述测试数据集作为目标数据集,执行以下操作:
平衡目标数据集中样本标签信息表示允许访问和样本标签信息表示禁止访问的访问控制策略的数量,得到平衡后的访问控制策略;
其中,所述平衡目标数据集具体过程包括以下步骤B1~步骤B3:
B1、计算目标数据集的不平衡度;
计算目标数据集的不平衡度的方式,如下公式(1)所示:
其中,ms表示第一类访问控制策略的个数,ml表示第二类访问控制策略的个数;其中,所述第一类访问控制策略表示目标数据集中总数目少的一类访问控制策略;第二类访问控制策略表示目标数据集中总数目多的一类访问控制策略;
B2、计算每个第一类访问控制策略的需合成访问控制策略;
在本步骤中,目标数据集中第一类访问控制策略与第二类访问控制策略间的差值的计算公式如下公式(2)所示;
GN=α·(ml-ms),α∈[0,1] (2)
其中,GN表示第一类访问控制策略与第二类访问控制策略间的差值;
从公式(2)可以看出,在α=1的情况下,GN等于两类访问控制策略的总数目的差值,所述差值指示了针对第一类访问控制策略,所需补充的第一类访问控制策略的数目;
确定分别对每个第一类访问控制策略,所需补充的访问控制策略;其中,具体的计算原理包括:用欧式距离计算每个第一类访问控制策略的f个邻居,其中,f个邻居中属于第二类访问控制策略的数目采用Nl表示;按照公式(3)、公式(4)和公式(5)计算得到:针对每个第一类访问控制策略,所需补充的第一类访问控制策略的数目;
其中,gni表示第i个第一类访问控制策略对应的所需补充的第一类访问控制策略的数目;
B3、针对每个第一类访问控制策略,生成补充的第一类访问控制策略;
具体的,在每个第一类访问控制策略的周围k个邻居中,选择一个第一类访问控制策略,并采用公式(6)生成补充的第一类访问控制策略;
si=xi+β·(xzi-xi),β∈[0,1] (6)
其中,xi表示第i个第一类访问控制策略,xzi表示选择的第一类访问控制策略,si表示补充的第一类访问控制策略;
对所述平衡后的访问控制策略进行特征提取,得到访问控制策略的提取后特征;
对所述访问控制策略的提取后特征进行特征降维,得到访问控制策略的降维后特征;
特征降维计算公式为如下公式(7):
其中,t表示相关特征的有或无,c表示权限判决结果,N表示实际观察值,E表示期望值,et表示具体的相应特征是否出现,出现为1、不出现为0,ec表示具体的权限判决结果,允许为1、拒绝为0;
所述训练模块,用于将所述数据集中的每条访问控制策略分别转换为向量,包括:
所述训练模块,具体用于分别将每条所述访问控制策略的降维后特征转换为向量。
5.根据权利要求4所述的装置,其特征在于,所述训练模块,用于依据所述训练数据集的向量和向量包含的样本标签信息,分别对所述多个随机森林模型进行训练,得到多个训练后的随机森林模型,包括:
所述训练模块,具体用于依据所述训练数据集的向量和向量包含的样本标签信息,采用随机森林方法对所述多个随机森林模型分别进行训练,得到多个训练后的随机森林模型;
所述训练模块,用于依据所述测试训练数据集的向量和向量包含的样本标签信息,分别对所述候选随机森林模型进行训练,得到训练后的候选随机森林模型,包括:
所述训练模块,具体用于所述依据所述测试训练数据集的向量和向量包含的样本标签信息,采用所述随机森林方法对所述候选随机森林模型分别进行训练,得到训练后的候选随机森林模型。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010961897.XA CN112101452B (zh) | 2020-09-14 | 2020-09-14 | 一种访问权限的控制方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010961897.XA CN112101452B (zh) | 2020-09-14 | 2020-09-14 | 一种访问权限的控制方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112101452A CN112101452A (zh) | 2020-12-18 |
CN112101452B true CN112101452B (zh) | 2023-12-22 |
Family
ID=73752459
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010961897.XA Active CN112101452B (zh) | 2020-09-14 | 2020-09-14 | 一种访问权限的控制方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112101452B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113256304B (zh) * | 2021-05-20 | 2022-09-06 | 山东大学 | 一种校园卡异常使用行为在线预警方法及*** |
CN113746899B (zh) * | 2021-07-29 | 2023-04-07 | 济南浪潮数据技术有限公司 | 一种云平台访问方法及装置 |
CN114726639B (zh) * | 2022-04-24 | 2023-08-22 | 国网河南省电力公司信息通信公司 | 一种访问控制策略自动编排方法及*** |
CN117745080B (zh) * | 2024-02-19 | 2024-04-26 | 北京北科融智云计算科技有限公司 | 基于多因素认证的数据访问控制和***方法和*** |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101453424A (zh) * | 2009-01-06 | 2009-06-10 | 中国人民解放军信息工程大学 | 一种网络信息资源访问控制方法和*** |
CN108280462A (zh) * | 2017-12-11 | 2018-07-13 | 北京三快在线科技有限公司 | 一种模型训练方法及装置,电子设备 |
CN109919197A (zh) * | 2019-02-13 | 2019-06-21 | 阿里巴巴集团控股有限公司 | 随机森林模型训练方法及装置 |
CN111475831A (zh) * | 2020-06-22 | 2020-07-31 | 南京红阵网络安全技术研究院有限公司 | 一种基于拟态防御的数据访问控制方法及*** |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10885469B2 (en) * | 2017-10-02 | 2021-01-05 | Cisco Technology, Inc. | Scalable training of random forests for high precise malware detection |
-
2020
- 2020-09-14 CN CN202010961897.XA patent/CN112101452B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101453424A (zh) * | 2009-01-06 | 2009-06-10 | 中国人民解放军信息工程大学 | 一种网络信息资源访问控制方法和*** |
CN108280462A (zh) * | 2017-12-11 | 2018-07-13 | 北京三快在线科技有限公司 | 一种模型训练方法及装置,电子设备 |
CN109919197A (zh) * | 2019-02-13 | 2019-06-21 | 阿里巴巴集团控股有限公司 | 随机森林模型训练方法及装置 |
CN111475831A (zh) * | 2020-06-22 | 2020-07-31 | 南京红阵网络安全技术研究院有限公司 | 一种基于拟态防御的数据访问控制方法及*** |
Non-Patent Citations (7)
Title |
---|
ADASYN: Adaptive synthetic sampling approach for imbalanced learning;Haibo He等;2008 IEEE International Joint Conference on Neural Networks;第1323-1324页 * |
一种基于特征提取的访问控制方法;黄美蓉 等;《计算机科学》;20190228;第46卷(第02期);第110-113页 * |
一种基于特征提取的访问控制方法;黄美蓉 等;计算机科学;第46卷(第02期);计算机科学 * |
基于高频词和AUC优化的随机森林文本分类模型;孙源 等;《数学的实践与认识》;20200131;第50卷(第01期);第10-15页 * |
基于高频词和AUC优化的随机森林文本分类模型;孙源 等;数学的实践与认识;第50卷(第01期);第10-15页 * |
康琦 等.机器学***衡分类方法.上海:同济大学出版社,2017,第165、167页. * |
黄美蓉 等.一种基于特征提取的访问控制方法.《计算机科学》.2019,第46卷(第02期), * |
Also Published As
Publication number | Publication date |
---|---|
CN112101452A (zh) | 2020-12-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112101452B (zh) | 一种访问权限的控制方法及装置 | |
Jiang et al. | Relation extraction with multi-instance multi-label convolutional neural networks | |
Ramírez‐Gallego et al. | Fast‐mRMR: Fast minimum redundancy maximum relevance algorithm for high‐dimensional big data | |
Liu et al. | Has this bug been reported? | |
Fayyoumi et al. | A survey on statistical disclosure control and micro‐aggregation techniques for secure statistical databases | |
Kareem et al. | Improved accuracy for decision tree algorithm based on unsupervised discretization | |
Liu et al. | Efficient access control permission decision engine based on machine learning | |
Bellomarini et al. | Rule-based Anti-Money Laundering in Financial Intelligence Units: Experience and Vision. | |
Sukhija et al. | Topic modeling and visualization for big data in social sciences | |
Xiaolong et al. | RFC: a feature selection algorithm for software defect prediction | |
Zhou et al. | Personal credit default prediction model based on convolution neural network | |
US20210365344A1 (en) | Detection of matching datasets using encode values | |
CN113282630A (zh) | 基于接口切换的数据查询方法及装置 | |
Cappelletti et al. | On the quality of classification models for inferring ABAC policies from access logs | |
Vucinich et al. | The current state and challenges of fairness in federated learning | |
CN112822004B (zh) | 一种基于信念网络的靶向型隐私保护数据发布方法 | |
Deng et al. | An efficient policy evaluation engine for XACML policy management | |
Sun et al. | Graph embedding with rich information through heterogeneous network | |
Manco et al. | Machine learning methods for generating high dimensional discrete datasets | |
Hu et al. | Using Graph Representation in Host‐Based Intrusion Detection | |
Tamtama et al. | Increasing Accuracy of The Random Forest Algorithm Using PCA and Resampling Techniques with Data Augmentation for Fraud Detection of Credit Card Transaction | |
US11675926B2 (en) | Systems and methods for subset selection and optimization for balanced sampled dataset generation | |
Zhu et al. | A Type‐Based Blocking Technique for Efficient Entity Resolution over Large‐Scale Data | |
Chen et al. | Android malware detection method based on graph attention networks and deep fusion of multimodal features | |
Tian et al. | [Retracted] Intrusion Detection Method Based on Deep Learning |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |