CN105471859B - 一种基于流粒度的访问控制方法 - Google Patents

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

Info

Publication number
CN105471859B
CN105471859B CN201510805255.XA CN201510805255A CN105471859B CN 105471859 B CN105471859 B CN 105471859B CN 201510805255 A CN201510805255 A CN 201510805255A CN 105471859 B CN105471859 B CN 105471859B
Authority
CN
China
Prior art keywords
access control
data packet
type
management module
service
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.)
Expired - Fee Related
Application number
CN201510805255.XA
Other languages
English (en)
Other versions
CN105471859A (zh
Inventor
张杨杨
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China Railway Engineering Equipment Group Co Ltd CREG
Original Assignee
China Railway Engineering Equipment Group Co Ltd CREG
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by China Railway Engineering Equipment Group Co Ltd CREG filed Critical China Railway Engineering Equipment Group Co Ltd CREG
Priority to CN201510805255.XA priority Critical patent/CN105471859B/zh
Publication of CN105471859A publication Critical patent/CN105471859A/zh
Application granted granted Critical
Publication of CN105471859B publication Critical patent/CN105471859B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/20Network architectures or network communication protocols for network security for managing network security; network security policies in general
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

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

Description

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

Claims (3)

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

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510805255.XA CN105471859B (zh) 2015-11-20 2015-11-20 一种基于流粒度的访问控制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510805255.XA CN105471859B (zh) 2015-11-20 2015-11-20 一种基于流粒度的访问控制方法

Publications (2)

Publication Number Publication Date
CN105471859A CN105471859A (zh) 2016-04-06
CN105471859B true CN105471859B (zh) 2019-02-26

Family

ID=55609130

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510805255.XA Expired - Fee Related CN105471859B (zh) 2015-11-20 2015-11-20 一种基于流粒度的访问控制方法

Country Status (1)

Country Link
CN (1) CN105471859B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106411895B (zh) * 2016-09-29 2019-04-30 中国科学院计算技术研究所 一种多粒度分布式信息流控制方法及系统
CN108040018B (zh) * 2017-11-13 2020-02-14 华中科技大学 一种网络功能虚拟化下的细粒度网络流调度方法及系统

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1801778A (zh) * 2005-12-29 2006-07-12 中山大学 一种网络数据流的多维队列调度与管理系统
EP1884085A1 (en) * 2005-04-27 2008-02-06 Level 5 Networks Inc. Packet validation in virtual network interface architecture
EP1934733A2 (en) * 2005-09-21 2008-06-25 Level 5 Networks Inc. Address encryption/rate pacing
CN101453424A (zh) * 2009-01-06 2009-06-10 中国人民解放军信息工程大学 一种网络信息资源访问控制方法和系统
CN101924781A (zh) * 2009-06-15 2010-12-22 日电(中国)有限公司 终端设备及其QoS实施方法以及流分类器
CN103139315A (zh) * 2013-03-26 2013-06-05 烽火通信科技股份有限公司 一种适用于家庭网关的应用层协议解析方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1884085A1 (en) * 2005-04-27 2008-02-06 Level 5 Networks Inc. Packet validation in virtual network interface architecture
EP1934733A2 (en) * 2005-09-21 2008-06-25 Level 5 Networks Inc. Address encryption/rate pacing
CN1801778A (zh) * 2005-12-29 2006-07-12 中山大学 一种网络数据流的多维队列调度与管理系统
CN101453424A (zh) * 2009-01-06 2009-06-10 中国人民解放军信息工程大学 一种网络信息资源访问控制方法和系统
CN101924781A (zh) * 2009-06-15 2010-12-22 日电(中国)有限公司 终端设备及其QoS实施方法以及流分类器
CN103139315A (zh) * 2013-03-26 2013-06-05 烽火通信科技股份有限公司 一种适用于家庭网关的应用层协议解析方法

Also Published As

Publication number Publication date
CN105471859A (zh) 2016-04-06

Similar Documents

Publication Publication Date Title
CN100512215C (zh) 使用分布式网络处理的数据交换设备和方法
CN1875585B (zh) 利用mac限制来控制动态未知l2泛滥的方法和系统
CN108353029B (zh) 用于管理计算网络中的数据业务的方法和系统
CN103999415B (zh) 一种用于合并网络应用的装置、方法和中间件
CN103917967B (zh) 用于配置中间盒的网络控制系统
CN103348635B (zh) 网络系统、控制单元和最优路由控制方法
CN104579962B (zh) 一种区分不同报文的QoS策略的方法及装置
EP3087700B1 (en) Data capture
CN104798356B (zh) 用于控制水平扩展软件应用中的利用率的方法和装置
EP3955550A1 (en) Flow-based management of shared buffer resources
US7742474B2 (en) Virtual network interface cards with VLAN functionality
JP2002044150A (ja) マルチレベル規制論理を有するパケットプロセッサ
CN105282191B (zh) 负载均衡系统、控制器和方法
CN100525240C (zh) 数据分组通信设备
CN107196877A (zh) 网络流量控制的方法及其网络设备
CN104170335A (zh) 分离式体系结构网络中的拥塞控制和资源分配
CN109714275A (zh) 一种用于接入业务传输的sdn控制器及其控制方法
CN110087261B (zh) 一种基于OpenWrt的企业级无线局域网流量控制方法
CN103457881B (zh) 执行数据直通转发的系统
CN106961387A (zh) 一种基于转发路径自迁移的链路型DDoS防御方法及系统
CN106550049B (zh) 一种中间件部署方法、装置及系统
CN112954069A (zh) 移动设备接入sd-wan网络的方法、装置和系统
CN105827629B (zh) 云计算环境下软件定义安全导流装置及其实现方法
CN109547358A (zh) 一种时间敏感网络切片的构造方法
CN108353068A (zh) Sdn控制器辅助的入侵防御系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20190226