首页 / 专利库 / 电脑零配件 / 计算机系统 / 软件 / 系统软件 / 操作系统 / 内核 / 一种基于流粒度的访问控制方法

一种基于流粒度的访问控制方法

阅读:398发布:2024-02-29

专利汇可以提供一种基于流粒度的访问控制方法专利检索,专利查询,专利分析的服务。并且本 发明 公开了一种基于流粒度的 访问 控制方法,其步骤如下:业务 流管 理模 块 对数据包进行类型分析,对数据包进行粗粒度和细粒度判断,分别获取数据包的业务类型和数据流类型;队列管理模块将不同类型的数据包放入不同的类型队列中;利用访问控制管理模块建立以流为粒度的访问控制策略;队列管理模块根据访问控制策略对不同的数据包进行队列调度,若访问控制策略为通过,对每个队列进行依次调度;若访问控制策略未通过,将该队列清空。本发明可以对一个业务进行不同的流划分,比如 视频流 、 音频流 、文件流、其他等,且针对用户的需求将业务以流为粒度进行访问控制,可以更安全、更灵活的进行数据通信。,下面是一种基于流粒度的访问控制方法专利的具体信息内容。

1.一种基于流粒度的访问控制方法,其特征在于,其步骤如下:
步骤1:业务流管理模对数据包进行类型分析,对数据包进行粗粒度和细粒度判断,分别获取数据包的业务类型和数据流类型;
步骤2:队列管理模块将不同类型的数据包放入不同的类型队列中;
步骤3:利用访问控制管理模块建立以流为粒度的访问控制策略;
步骤4:队列管理模块根据访问控制策略对不同的数据包进行队列调度,若访问控制策略为通过,对每个队列进行依次调度;若访问控制策略未通过,将该队列清空。
2.根据权利要求1所述的基于流粒度的访问控制方法,其特征在于,所述业务流管理模块用于对数据包进行捕获处理,并按照类型将数据包放入相应的发送队列中;业务流管理模块包括业务流管理单元,用于对数据包进行捕获并分析业务类型。
3.根据权利要求1所述的基于流粒度的访问控制方法,其特征在于,所述队列管理模块用于根据访问控制策略对不同类型的数据包进行队列调度;队列管理模块包括队列管理单元,用于将不同类型的数据包放入不同的队列,并协同访问控制管理模块进行队列调度。
4.根据权利要求1所述的基于流粒度的访问控制方法,其特征在于,所述访问控制管理模块用于根据用户需求建立访问控制策略;访问控制管理模块包括访问控制单元,访问控制单元用于根据用户需求对访问控制策略进行更新维护。
5.根据权利要求2所述的基于流粒度的访问控制方法,其特征在于,所述业务流管理模块以LKM形式加载在操作系统中,业务流管理模块为内核态,可伴随系统自启动;在业务流管理模块中设有基于Netfilter框架下挂载点添加的钩子函数。
6.根据权利要求1所述的基于流粒度的访问控制方法,其特征在于,所述访问控制策略存储在访问控制策略表,访问控制策略表在内核态下以二维数组的形式存在,行代表业务类型,列代表数据流类型。
7.根据权利要求1所述的基于流粒度的访问控制方法,其特征在于,所述业务流管理模块获取数据包的业务类型和数据流类型的方法是:利用业务流识别方法对数据包进行业务类型识别,判断数据包所属的业务类型,判断数据包所属数据流类型,每个业务类型建立一个数据包链表,业务类型判断完成的数据包挂载在的链表后面。
8.根据权利要求7所述的基于流粒度的访问控制方法,其特征在于,所述业务流识别方法包括L7识别法、DPI或DFI。
9.根据权利要求7所述的基于流粒度的访问控制方法,其特征在于,所述链表结构采用单向链表实现。

说明书全文

一种基于流粒度的访问控制方法

技术领域

[0001] 本发明涉及访问控制的技术领域,具体涉及一种基于流粒度的访问控制方法。

背景技术

[0002] 目前,各种应用层出不穷,每种应用通常都包含多种业务流类型。对于企业通讯来说,一般都会包含两种业务类型,一种是敏感业务,另一种是非敏感业务。而某些敏感类业务可能只能在某个部内使用,或者限制在某层楼使用,这就需要在边界网关处能够对应用进行以流为粒度的访问控制,实现灵活高效的业务通信。
[0003] 申请号为200910106116.2的中国发明专利公开了一种交换机实现全线速调度业务流的方法,调度带有业务标识的业务流生成一个虚队列,然后对没有业务标识的业务流和虚队列进行调度,其提供了一种业务区分服务方案,可以实现不同业务的带宽区分对待,但是并未提供以流为粒度的访问控制方案。

发明内容

[0004] 为了解决上述技术问题,本发明提供了一种基于流粒度的访问控制方法,能够支持以流为粒度的访问控制。
[0005] 为了达到上述目的,本发明的技术方案是:一种基于流粒度的访问控制方法,其步骤如下:步骤1:业务流管理模对数据包进行类型分析,对数据包进行粗粒度和细粒度判断,分别获取数据包的业务类型和数据流类型;
步骤2:队列管理模块将不同类型的数据包放入不同的类型队列中;
步骤3:利用访问控制管理模块建立以流为粒度的访问控制策略;
步骤4:队列管理模块根据访问控制策略对不同的数据包进行队列调度,若访问控制策略为通过,对每个队列进行依次调度;若访问控制策略未通过,将该队列清空。
[0006] 所述业务流管理模块用于对数据包进行捕获处理,并按照类型将数据包放入相应的发送队列中;业务流管理模块包括业务流管理单元,用于对数据包进行捕获并分析业务类型。
[0007] 所述队列管理模块用于根据访问控制策略对不同类型的数据包进行队列调度;队列管理模块包括队列管理单元,用于将不同类型的数据包放入不同的队列,并协同访问控制管理模块进行队列调度。
[0008] 所述访问控制管理模块用于根据用户需求建立访问控制策略;访问控制管理模块包括访问控制单元,访问控制单元用于根据用户需求对访问控制策略进行更新维护。
[0009] 所述业务流管理模块以LKM形式加载在操作系统中,业务流管理模块为内核态,可伴随系统自启动;在业务流管理模块中设有基于Netfilter框架下挂载点添加的钩子函数。
[0010] 所述访问控制策略存储在访问控制策略表,访问控制策略表在内核态下以二维数组的形式存在,行代表业务类型,列代表数据流类型。
[0011] 所述业务流管理模块获取数据包的业务类型和数据流类型的方法是:利用业务流识别方法对数据包进行业务类型识别,判断数据包所属的业务类型,判断数据包所属数据流类型,每个业务类型建立一个数据包链表,业务类型判断完成的数据包挂载在的链表后面。
[0012] 所述业务流识别方法包括L7识别法、DPI或DFI。
[0013] 所述链表结构采用单向链表实现。
[0014] 本发明通过在边界网关处对不同的业务进行类型识别区分,根据类型识别建立访问控制策略表,然后根据预先设定的访问控制策略,查找访问控制策略表对不同类型的业务流进行区分控制。本发明可以对一个业务进行不同的流划分,比如视频流音频流、文件流、其他等,且针对用户的需求将业务以流为粒度进行访问控制,可以更安全、更灵活的进行数据通信。附图说明
[0015] 图1为本发明的流程图
[0016] 图2为本发明数据传输的示意图。

具体实施方式

[0017] 为了使本发明所要解决的技术问题、技术方案及有益效果更加清楚明白,以下结合实施例,对本发明进行详细的说明。应当说明的是,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
[0018] 一种基于流粒度的访问控制方法,如图1所示,其步骤如下:步骤1:业务流管理模块对数据包进行类型分析,对数据包进行粗粒度和细粒度判断,分别获取数据包的业务类型和数据流类型。
[0019] 业务流管理模块用于对数据包进行捕获处理,并按照类型将数据包放入相应的发送队列中。业务流管理模块包括业务流管理单元,用于对数据包进行捕获并分析业务类型。业务流管理模块以LKM(Loadable Kernel Module)形式加载在操作系统中的,其为内核态,可伴随系统自启动。具体工作时,在业务流管理模块基于Netfilter框架下的挂载点添加相应的钩子函数,就可以自动的对数据包进行捕获分析。数据包的五元组信息可以唯一标识一条业务流。业务流管理模块对于本机发送的所有数据包进行分析操作,可以查看其五元组信息,即源IP地址,目的IP地址,源端口号,目的端口号,协议类型,通过Hash运算,定位数据包的ID入口,从而识别出数据包的类型。
[0020] 业务流管理单元挂载在操作系统内核态下,可以实时的对通过本机的数据包进行捕获分析。当业务流管理单元捕获到数据包后,可以采用已经比较成熟的业务流识别方法,比如L7(Layer-7)识别法、DPI(Deep Packet Inspection)、DFI(Deep/Dynamic Flow Inspection)等。业务流管理单元识别包括两步,第一步属于粗粒度识别,即先识别出属于哪种应用,比如数据包是QQ、迅雷等;第二部属于细粒度识别,即识别该数据包的具体业务流类型,比如视频、音频、文件、其他等。
[0021] 步骤2::队列管理模块将不同类型的数据包放入不同的类型队列中。
[0022] 队列管理模块用于根据访问控制策略对不同类型的数据包进行队列调度。队列管理模块包括队列管理单元,用于将不同类型的数据包放入不同的队列,并协同访问控制管理模块进行队列调度。根据业务流管理单元识别出的数据包的业务类型和数据流类型,队列管理单元将不同业务类型的数据包存放在不同的数据列表中,不同数据流类型的数据包放入业务流表的类型入口处,将数据包挂载在对应的类型队列中去。可以预先设定不同的业务类型,比如视频、音频、文件和其他,然后为每种类型设置数据包队列。可以采用数据链表的实现形式,将数据包放入对应类型的数据包中。
[0023] 如图2所示,首先判断数据包是否属于已经存在的数据列表Data Table中,如果存在,则根据数据包的业务类型定位到数据流表Flow Table的类型入口处,如果不存在,则将该数据包所属业务类型添加至数据列表Data Table中,根据数据包的业务类型定位到数据流表Flow Table的类型入口处,最后将数据包挂载在对应的类型链表队列Queue List中去。具体地,首先,判断数据包所属的业务类型,确定业务类型后,判断该数据包所属数据流类型,需要说明的是,每个业务类型后面对应一个数据包链表,链表结构可以采用数据结构中的常用链表类型,比如单向链表,每个业务类型判断完成的数据包就会直接挂载对应的链表后面。
[0024] 步骤3:利用访问控制管理模块建立以流为粒度的访问控制策略。
[0025] 访问控制管理模块用于根据用户需求建立访问控制策略。可以为用户提供用户操作界面,界面上呈现业务分布以及业务对应的各个数据流,用户可以选择对某个业务进行访问控制,也可以针对某个业务下的某条数据流进行访问控制。用户操作完成后,根据用户态与内核态的通信机制(比如profcs,netlink,syscall,ioctl等)将用户制定的访问控制策略传递到工作在内核态下的访问控制管理模块。
[0026] 访问控制管理模块包括访问控制单元,访问控制单元用于根据用户需求对访问控制策略进行更新维护。访问控制管理模块内设有访问控制策略表,访问控制策略表在内核态下以二维数组的形式存在,行代表业务类型,列代表数据流类型。比如[qq][视频]代表qq业务的视频类型,所代表的值代表该种类型的访问控制策略,比如[qq][视频]为1代表访问控制为通过,即qq的视频数据流可以通过边界网关,若为0则代表访问控制为阻止,即qq的视频流不允许通过边界网关。访问控制单元在内核态下对访问控制策略表进行维护,对于新的访问控制策略,直接在二维数组中进行更新即可,比如访问控制策略为qq的视频允许通过,则将二维数组中的[qq][视频]置为1,若是要取消该条策略,则将值置为0;对于旧的访问控制策略,直到对应的新策略生成需要修改的对应值,否则不予处理。
[0027] 步骤4:队列管理模块根据访问控制策略对不同的数据包进行队列调度,若访问控制策略为通过,对每个队列进行依次调度;若访问控制策略未通过,将该队列清空。
[0028] 需要说明的是,如图2所示,数据流表Flow Table里的每一项都是一种数据流类型(音频、视频、文件、其他等),每种类型对应一个数据队列。队列调度采用以下方式,队列调度的时候根据访问控制策略表将访问策略为阻止的数据包直接丢弃,对于访问策略为通过的数据包采用以下轮番递进的方式进行调度,即第一轮先从各个队列的队首发送一个数据包,一轮结束后,再从各个队列的队首发送两个数据包,依次类推,通过这种依次递进的方式可以保证所有队列的数据包的发送几率是公平可靠的。
[0029] 首先粗粒度判断业务类型,比如qq、迅雷等,然后细粒度判断数据流类型,即视频、音频、文件、其他等,识别方法可以采用已经比较成熟的业务流识别方法,比如L7(Layer-7)识别、DPI(Deep Packet Inspection)、DFI(Deep/Dynamic Flow Inspection)等,根据业务流管理模块对数据包的识别,队列管理单元将数据包放入该数据流类型所对应的队列中,其中,队列数据结构可以采用链表的形式,每次放入数据包直接放入队尾。
[0030] 本发明通过在边界网关处对通过的所有数据流业务进行类型识别(比如:音频、视频、文本、其他),根据类型识别建立访问控制策略表,然后根据预先设定的访问控制策略,对不同类型的业务流进行区分控制,在访问控制策略表中查找是否有对应类型的访问控制策略,如果有,则对数据包进行控制,否则不予操作。边界网关是一种路由器,在通常的网络拓扑结构当中,其位于整个网络拓扑的出入口处,会对整个网络的数据进行路由和访问控制等操作。边界网关对通过的所有数据流进行类型识别,根据识别后的业务类型将各个数据包归入不同的数据队列,然后查找访问控制列表,判断各个类型的数据包是否允许通过(比如视频音频可以通过,文本需要阻止),最终根据访问策略对各个队列的数据包进行控制调度。比如,允许音频和视频业务流通过边界网关进行数据传输,但是文本类数据则禁止通过网关。需要说明的是,该方案不需要改变路由器本身的系统结构,仅仅需要在内核态中添加钩子模块即可实现。
[0031] 以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈