CN117201405B - 一种网络包分流方法及装置、存储介质及电子设备 - Google Patents
一种网络包分流方法及装置、存储介质及电子设备 Download PDFInfo
- Publication number
- CN117201405B CN117201405B CN202311466167.2A CN202311466167A CN117201405B CN 117201405 B CN117201405 B CN 117201405B CN 202311466167 A CN202311466167 A CN 202311466167A CN 117201405 B CN117201405 B CN 117201405B
- Authority
- CN
- China
- Prior art keywords
- network packet
- connection
- network
- list
- callback function
- 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 245
- 238000001914 filtration Methods 0.000 claims abstract description 89
- 230000006870 function Effects 0.000 claims description 142
- 238000012216 screening Methods 0.000 claims description 46
- 238000013468 resource allocation Methods 0.000 claims description 6
- 238000005315 distribution function Methods 0.000 abstract description 3
- 238000004891 communication Methods 0.000 description 7
- 238000012545 processing Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 4
- 230000000977 initiatory effect Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 238000013475 authorization Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请提供了一种网络包分流方法及装置、存储介质及电子设备,通过预设分流配置,当分流配置中的分流功能字段的配置信息表征开启按进程路径分流时,注册第一回调函数和第二回调函数,获取第一回调函数反馈的目标进程的进程路径和连接信息,若查找进程路径列表中与目标进程的进程路径相匹配的进程路径所得的查找结果不满足过滤规则,则通过挂spin锁方式或atomic访问方式,将目标进程的连接信息写入至连接列表中,然后在获取第二回调函数反馈的任意进程对应的网络包的情况下,若网络包的连接信息在连接列表中,则不通过VPN网络发送网络包,实现了按照进程路径选择进程对应的网络包是否通过网络发送,从而降低流量,进而降低企业成本。
Description
技术领域
本申请涉及通信技术领域,尤其涉及一种网络包分流方法及装置、存储介质及电子设备。
背景技术
虚拟专用网络(virtual private network,VPN)是一种建立在服务提供商公共网络上的专用网络。开通VPN业务的企业可以通过VPN网络进行数据传输。
现有技术中,企业内的所有网络包全部通过VPN网络发送,导致需要消耗大量流量,从而增加企业成本。
发明内容
本申请提供了一种网络包分流方法及装置、存储介质及电子设备,目的在于解决现有技术中存在的所有网络包全部通过VPN网络发送,导致需要消耗大量流量,从而增加企业成本的问题。
为了实现上述目的,本申请提供了以下技术方案:
一种网络包分流方法,应用于Windows筛选平台,包括:
获取预设的分流配置;
在驱动上下文中初始化预设的连接列表和所述分流配置中包括的进程路径列表;所述连接列表用于存储连接信息;
若所述分流配置中的分流功能字段的配置信息表征开启按进程路径分流,则在所述Windows筛选平台的分配连接层注册第一回调函数,并在所述Windows筛选平台的网络包发送层注册第二回调函数;
在建立网络连接的情况下,获取所述第一回调函数反馈的发起所述网络连接的目标进程的进程路径和连接信息;
查找所述进程路径列表中与所述目标进程的进程路径相匹配的进程路径,得到查找结果;所述查找结果用于表征是否查找到相匹配的进程路径;
判断所述查找结果是否满足过滤规则,若所述查找结果不满足过滤规则,则通过挂spin锁方式或atomic访问方式,将所述目标进程的连接信息写入至所述连接列表中;
在获取到所述第二回调函数反馈的任意进程对应的网络包的情况下,通过挂spin锁方式或atomic访问方式,判断所述网络包的连接信息是否在所述连接列表中;
若所述网络包的连接信息在所述连接列表中,则不通过VPN网络发送所述网络包;
若所述网络包的连接信息不在所述连接列表中,则当所述网络包满足预设的过滤策略时,通过VPN网络发送所述网络包,当所述网络包满足预设的过滤策略时,通过VPN网络发送所述网络包。
上述的方法,可选的,所述判断所述查找结果是否满足过滤规则,包括:
判断所述查找结果是否与所述分流配置中的黑白名单字段的配置信息比对一致;所述分流配置中的黑白名单字段的配置信息用于表征所述进程路径列表是否为白名单;
若所述查找结果与所述分流配置中的黑白名单字段的配置信息比对一致,则确定出所述查找结果满足过滤规则;
若所述查找结果与所述分流配置中的黑白名单字段的配置信息比对不一致,则确定出所述查找结果不满足过滤规则。
上述的方法,可选的,还包括:
若所述分流配置中的分流功能字段表征未开启按进程分流功能,则在所述Windows筛选平台的网络包发送层注册所述第二回调函数;
接收所述第二回调函数反馈的网络包;
当所述网络包满足预设的过滤策略时,通过VPN网络发送所述网络包,当所述网络包不满足预设的过滤策略时,不通过VPN网络发送所述网络包。
上述的方法,可选的,所述通过VPN网络发送所述网络包,包括:
将所述网络包发送至用户态,以便所述用户态加密所述网络包,并通过VPN网络发送加密后的网络包。
上述的方法,可选的,所述在所述Windows筛选平台的分配连接层注册第一回调函数之后,还包括:
在所述Windows筛选平台的关闭释放层注册第三回调函数;
在释放端口资源时,若所述连接列表中存在连接信息,则将所述连接列表中的连接信息进行删除。
上述的方法,可选的,所述连接信息包括二元组或五元组,所述在所述Windows筛选平台的关闭释放层注册第三回调函数,包括:
若所述连接信息包括二元组,在所述Windows筛选平台的资源释放层注册第三回调函数;
若所述连接信息包括五元组,在所述Windows筛选平台的关闭连接层注册第三回调函数。
上述的方法,可选的,所述连接信息包括二元组或五元组,所述在所述Windows筛选平台的分配连接层注册第一回调函数,包括:
若所述连接信息包括二元组,在所述Windows筛选平台的资源分配层注册第一回调函数;
若所述连接信息包括五元组,在所述Windows筛选平台的授权连接层注册第一回调函数。
一种网络包分流装置,应用于Windows筛选平台,包括:
第一获取单元,用于获取预设的分流配置;
初始化单元,用于在驱动上下文中初始化预设的连接列表和所述分流配置中包括的进程路径列表;所述连接列表用于存储连接信息;
第一注册单元,用于若所述分流配置中的分流功能字段的配置信息表征开启按进程路径分流,则在所述Windows筛选平台的分配连接层注册第一回调函数,并在所述Windows筛选平台的网络包发送层注册第二回调函数;
第二获取单元,用于在建立网络连接的情况下,获取所述第一回调函数反馈的发起所述网络连接的目标进程的进程路径和连接信息;
查找单元,用于查找所述进程路径列表中与所述目标进程的进程路径相匹配的进程路径,得到查找结果;所述查找结果用于表征是否查找到相匹配的进程路径;
写入单元,用于判断所述查找结果是否满足过滤规则,若所述查找结果不满足过滤规则,则通过挂spin锁方式或atomic访问方式,将所述目标进程的连接信息写入至所述连接列表中;
判断单元,用于在获取到所述第二回调函数反馈的任意进程对应的网络包的情况下,通过挂spin锁方式或atomic访问方式,判断所述网络包的连接信息是否在所述连接列表中;
第一发送单元,用于若所述网络包的连接信息在所述连接列表中,则不通过VPN网络发送所述网络包;
第二发送单元,用于若所述网络包的连接信息不在所述连接列表中,则当所述网络包满足预设的过滤策略时,通过VPN网络发送所述网络包,当所述网络包满足预设的过滤策略时,通过VPN网络发送所述网络包。
一种存储介质,所述存储介质存储有指令集,其中,所述指令集被处理器执行时实现如上述的网络包分流方法。
一种电子设备,包括:
存储器,用于存储至少一组指令集;
处理器,用于执行所述存储器中存储的指令集,通过执行所述指令集实现如上述的网络包分流方法。
与现有技术相比,本申请包括以下优点:
本申请提供了一种网络包分流方法及装置、存储介质及电子设备,该方法通过预设分流配置,从而当分流配置中的分流功能字段的配置信息表征开启按进程路径分流时,在分配连接层注册第一回调函数,并在网络包发送层注册第二回调函数,接着获取第一回调函数反馈的发起网络连接的目标进程的进程路径和连接信息,若查找进程路径列表中与目标进程的进程路径相匹配的进程路径所得的查找结果不满足过滤规则,则通过挂spin锁方式或atomic访问方式,将目标进程的连接信息写入至连接列表中,然后在获取第二回调函数反馈的任意进程对应的网络包的情况下,若网络包的连接信息在连接列表中,则不通过VPN网络发送网络包,否则,当网络包满足预设的过滤策略时,通过VPN网络发送所述网络包,当网络包不满足预设的过滤策略时,不通过VPN网络发送所述网络包。可见,本申请方案,实现了按照进程路径选择进程对应的网络包是否通过网络发送,从而降低流量,进而降低企业成本。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请提供的一种网络包分流方法的方法流程图;
图2为本申请提供的一种网络包分流方法的又一方法流程图;
图3为本申请提供的一种网络包分流方法的再一方法流程图;
图4为本申请提供的一种网络包分流装置的结构示意图;
图5为本申请提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本文使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。
需要注意,本申请公开中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。
需要注意,本申请公开中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。
本申请实施例提供的网络包分流方法应用于Windows筛选平台(WindowsFiltering Platform),可选的,本申请实施例是基于windows系统下的Windows FilteringPlatform Callout Drivers的api开发实现。
为了方便理解,对Windows平台Windows Filtering Platform Callout Drivers驱动相关使用方式介绍如下:
用户态(User Mode)二进制后缀为exe或者dll。注意运行需要管理员权限。
管理安装/卸载/开启/停止驱动服务(SERVICE_KERNEL_DRIVER):
创建关闭驱动句柄(HANDLE)。
使用DeviceIoControl与驱动通讯。
与VPN其他端点建立udp/tcp连接。与其他端点过一段时间通讯一次保持连接。
读取驱动从系统网络栈获得的ipv4协议的网络包,进行某种处理(比如进行nat,确认是否需要转发,不需要转发可以重新通过驱动注入系统网络栈),然后通过已建立的udp/tcp连接,将其加密转发给另一个VPN的端点。
解密并且读取从其他端点获取的ipv4协议的网络包,进行某种处理(比如进行nat,确认是否需要放回驱动),然后将其通过驱动注入到系统网络栈。
内核态(Kernel Mode),二进制后缀为sys,后面简称驱动。
用户态的DeviceIoControl调用的处理逻辑。
Windows Filtering Platform Callout Drivers框架中:
ipv4的包发送路径的过滤回调注册和实现。FWPM_LAYER_OUTBOUND_IPPACKET_V4。
管理发起tcp/udp连接的进程路径和四元组信息和本地端口信息:FWPM_LAYER_ALE_RESOURCE_ASSIGNMENT_V4。
FWPM_LAYER_ALE_RESOURCE_RELEASE_V4。
FWPM_LAYER_ALE_AUTH_CONNECT_V4。
FWPM_LAYER_ALE_ENDPOINT_CLOSURE_V4。
ipv4包注入到接收队列:FwpsInjectNetworkReceiveAsync0。
ipv4包注入到发送队列:FwpsInjectNetworkSendAsync0。
本申请实施例提供了一种网络包分流方法,该方法的方法流程图如图1所示,具体包括:
S101、获取预设的分流配置。
本实施例中,预设分流配置,分流配置中至少包括分流功能字段、黑白名单字段和进程路径列表。
其中,分流功能字段的配置信息用于表征是否开启按进程路径分流,可选的,分流功能字段可以用FpnIsEnable,为布尔类型(bool),当分流功能字段的配置信息为true时,即FpnIsEnable被配置为true时,表征开启按进程路径分流,当分流功能字段的配置信息为false时,即FpnIsEnable被配置为false时,表征未开启按进程路径分流。
黑白名单字段的配置信息用于表征进程路径列表是否为白名单,可选的,黑白名单字段可以用FpnIsWhiteList表示,为布尔类型,当黑白名单字段的配置信息为true时,即FpnIsWhiteList被配置为true时,表征进程路径列表为白名单,当黑白名单字段的配置信息为false时,即FpnIsWhiteList被配置为false时,表征进程路径列表为黑名单。
进程路径列表可以用FpnProcessPathMap表示,为字符串hash集合类型。
本实施例中,用户通过ui(用户界面)或者配置文件进行分流功能字段、黑白名单字段和进程路径列表的配置。用户态进程将分配配置序列化成一个字节数组在DeviceIoControl(应用程序与驱动程序交互函数)的驱动句柄上,将字节数组发送至驱动。
本实施例中,驱动获取用户态发送的字节数组,对字节数组进行反序列化,并将反序列化后的结果复制至驱动上下文的对应字段上,驱动返回DeviceIoControl的调用。
本实施例中,获取预设的分流配置。
S102、在驱动上下文中初始化预设的连接列表和分流配置中包括的进程路径列表。
本实施例中,预设连接列表,连接列表可以用FpnFlowMap表示,连接列表用于存储连接信息,连接信息包括二元组或五元组,二元组包括通信协议和本地端口,五元组包括通信协议、来源ip、来源端口、目标ip和目标端口,其中,通信协议包括tcp或udp。
其中,连接列表FpnFlowMap为字符串hash集合类型。
可选的,连接列表中所存储的连接信息可以是对连接信息进行序列化处理后得到的该连接信息对应的字符串数组或字节数组。
需要说明的是,连接列表中存储的连接信息不需要过滤,也就是说是,连接列表中存储的连接信息对应的网络包无需通过VPN网络发送。
本实施例中,在驱动上下文中初始化预设的连接列表和分流配置中包括的进程路径列表。
需要说明的是,访问进程路径列表和连接列表需要挂spin锁(即自旋锁),或者使用atmoic方式访问,以保证多线程数据一致性。其中,spin锁是指当一个线程尝试获取某个锁时,如果该锁已被其他线程占用,就一直循环检测锁是否被释放,而不是进入线程挂起或睡眠状态。
S103、判断分流配置中的分流功能字段的配置信息是否表征开启按进程路径分流,若否,执行S104,若是,执行S105。
判断分流配置中的分流功能字段的配置信息是否表征开启按进程路径分流功能,其中,若分流功能字段的配置信息为true,则确定出分流配置中的分流功能字段的配置信息表征开启按进程路径分流,若分流功能字段的配置信息为false,则确定出分流配置中的分流功能字段的配置信息表征未开启按进程路径分流。
S104、在Windows筛选平台的网络包发送层注册第二回调函数,并接收第二回调函数反馈的网络包。
本实施例中,若分流配置中的分流功能字段的配置信息表征未开启按进程路径分流,则在Windows筛选平台的网络包发送层注册第二回调函数,其中,网络包发送层可以表示为FWPM_LAYER_OUTBOUND_IPPACKET_V4,也就是说,在FWPM_LAYER_OUTBOUND_IPPACKET_V4上注册过滤回调。
第二回调函数用于回调网络包。
本实施例中,接收到第二回调函数反馈的网络包。
本实施例中,在执行步骤S104之后,执行步骤S106。
S105、在Windows筛选平台的分配连接层注册第一回调函数,并在Windows筛选平台的网络包发送层注册第二回调函数。
本实施例中,若分流配置中的分流功能字段的配置信息表征开启按进程路径分流,则在Windows筛选平台的分配连接层注册第一回调函数,其中,分配连接层包括资源分配层或授权连接层,具体的,若连接信息包括二元组,也就是包括通信协议和本地端口,则在Windows筛选平台的资源分配层注册第一回调函数,若连接信息包括五元组,即包括通信协议、来源ip、来源端口、目标ip和目标端口,则在Windows筛选平台的授权连接层注册第一回调函数。
其中,在Windows筛选平台的资源分配层注册第一回调函数,具体为,在FWPM_LAYER_ALE_RESOURCE_ASSIGNMENT_V4上注册第一回调函数。
在Windows筛选平台的授权连接层注册第一回调函数,具体为,在FWPM_LAYER_ALE_AUTH_CONNECT_V4上注册第一回调函数。
本实施例中,若分流配置中的分流功能字段的配置信息表征开启按进程路径分流,则还需要在Windows筛选平台的网络包发送层注册第二回调函数,具体的,在FWPM_LAYER_OUTBOUND_IPPACKET_V4上注册第二回调函数。
本实施例中,在执行步骤S105之后,执行步骤S109。
S106、判断网络包是否满足预设的过滤策略,若是,执行S107,若否,执行S108。
本实施例中,若分流配置中的分流功能字段的配置信息表征未开启按进程路径分流,则在接收到第二回调函数反馈的网络包之后,判断网络包是否满足预设的过滤策略,示例性的,过滤策略可以是预设过滤ip,当预设过滤ip中存在与网络包的ip相匹配的过滤ip,则确定出网络包满足预设过滤策略,当预设过滤ip中并不存在与网络包的ip相匹配的过滤ip,则确定出网络包不满足预设过滤策略。
例如,只有10.78.0.0/16ip段走VPN(即通过VPN网络发送),其他ip段走本地网络(即不通过VPN网络发送)。
本实施例中,若分流配置中的分流功能字段的配置信息表征开启按进程分流,则当第二回调函数反馈的网络包对应的连接信息不在连接列表中时,进一步判断网络包是否满足预设的过滤策略。
S107、通过VPN网络发送网络包。
本实施例中,若分流配置中的分流功能字段的配置信息表征未开启按进程分流,则当网络包满足预设的过滤率策略时,说明需要对网络包进行过滤,即通过VPN网络发送网络包。
本实施例中,若分流配置中的分流功能字段的配置信息表征开启按进程分流,则当网络包的连接信息不在连接列表中,但是,网络包满足预设的过滤策略时,通过VPN网络发送该网络包。
本实施例中,通过VPN网络发送网络包的过程,具体包括以下步骤:
将网络包发送至用户态,以便用户态加密网络包,并通过VPN网络发送加密后的网络包。
本实施例中,在第二回调函数中拒绝该网络包,将该网络包发送至用户态,用户态加密网络包,并通过VPN网络发送加密后的网络包。
其中,加密网络包的过程,具体包括:利用预设的加密方式加密网络包。
需要说明的是,预设的加密方式为现有的加密方式,此处不再赘述。
S108、不通过VPN网络发送网络包。
本实施例中,若分流配置中的分流功能字段的配置信息表征未开启按进程分流,则当网络包不满足预设的过滤策略时,说明无需对网络包进行过滤,也就是不通过VPN网络发送网络包。
本实施例中,若分流配置中的分流功能字段的配置信息表征开启按进程分流,则当网络包的连接信息在连接列表中时,说明无需对该网络进行过滤,也就是不通过VPN网络发送该网络包。
本实施例中,若分流配置中的分流功能字段的配置信息表征开启按进程分流,则当网络包的连接信息不在连接列表中,且,网络包不满足预设的过滤策略时,不通过VPN网络发送该网络包。
S109、在建立网络连接的情况下,获取第一回调函数反馈的发起网络连接的目标进程的进程路径和连接信息。
本实施例中,在完成第一回调函数的注册后,在建立网络连接的情况下,回调第一回调函数,从而得到第一回调函数反馈的发送网络连接的目标进程的进程路径和连接信息;其中,目标进程为发起网络连接的进程。
其中,连接信息包括二元组或五元组。
S110、查找进程路径列表中与目标进程的进程路径相匹配的进程路径,得到查找结果;查找结果用于表征是否查找到相匹配的进程路径。
查找进程路径列表中与目标进程的进程路径相匹配的进程路径,具体的,依次将目标进程的进程路径与进程路径列表中包括的各个进程路径进行匹配,以查找进程路径列表中与目标进程的进程路径相匹配的进程路径,从而得到查找结果。
其中,若查找到进程路径列表中与目标进程的进程路径相匹配的进程路径,则生成表征查找到相匹配的进程路径的查找结果,若查找到进程路径列表中与目标进程的进程路径相匹配的进程路径,则生成表征未查找到相匹配的进程路径的查找结果。
示例性的,表征查找到相匹配的进程路径的查找结果可以用true表示,表征未查找到相匹配的进程路径的查找结果可以用false表示。
S111、判断查找结果是否满足过滤规则,若否,执行S112,若是,执行S113。
本实施例中,判断查找结果是否满足过滤规则,若查找结果满足不满足过滤规则,则执行S112,若查找结果满足过滤规则,则执行步骤S113。
参阅图2,判断查找结果是否满足过滤规则的过程具体包括:
S201、判断查找结果与分流配置中的黑白名单字段的配置信息是否比对一致,若是,执行S202,若是,执行S203。
本实施例中,分流配置中的黑白名单字段的配置信息用于表征进程路径列表是否为白名单,黑白名单字段的配置信息包括true或false,当黑白名单字段的配置信息为true时,表征进程路径列表为白名单,当黑白名单字段的配置信息为false时,表征进程路径列表为黑名单。
判断查找结果与分流配置中的黑白名单字段的配置信息是否比对一致,其中,若查找结果表征查找到相匹配的进程路径(即查找结果为true),黑白名单字段的配置信息表征进程路径列表为白名单(即黑白名单的配置信息为true),则确定出查找结果与分流配置中的黑白名单字段的配置信息比对一致;若查找结果表征未查找到相匹配的进程路径(即查找结果为false),黑白名单字段的配置信息表征进程路径列表为黑名单(即黑白名单的配置信息为false),则确定出查找结果与分流配置中的黑白名单字段的配置信息比对一致;若查找结果表征查找到相匹配的进程路径(即查找结果为true),黑白名单字段的配置信息表征进程路径列表为黑名单(即黑白名单的配置信息为false),则确定出查找结果与分流配置中的黑白名单字段的配置信息比对不一致;若查找结果表征未查找到相匹配的进程路径(即查找结果为false),黑白名单字段的配置信息表征进程路径列表为白名单(即黑白名单的配置信息为true),则确定出查找结果与分流配置中的黑白名单字段的配置信息比对不一致。
本实施例中,若查找结果与分流配置中的黑白名单字段的配置信息比对一致,则执行步骤S202,若查找结果与分流配置中的黑白名单字段的配置信息比对不一致,则执行步骤S203。
S202、确定出查找结果满足过滤规则。
若查找结果与分流配置中的黑白名单字段的配置信息比对一致,则确定出查找结果满足过滤规则。
S203、确定出查找结果不满足过滤规则。
若查找结果与分流配置中的黑白名单字段的配置信息比对不一致,则确定出查找结果不满足过滤规则。
S112、通过挂spin锁方式或atomic访问方式,将目标进程的连接信息写入至连接列表中。
本实施例中,若查找结果不满足过滤规则,则说明不对该目标进程对应网络包进行过滤,也就是不通过VPN网络发送该目标进程对应的网络包,并通过挂spin锁方式(即为自旋锁方式)或atomic访问方式(即为原子访问方式),将目标进程的连接信息写入至连接列表中。
也就是说,连接列表中包括的各个连接信息对应的网络包为不通过VPN网络发送的网络包。
需要说明的是,通过挂spin锁方式或atomic访问方式,将目标进程的连接信息写入至连接列表中的过程,具体包括:对连接信息进行序列化处理,得到连接信息对应的字符串数组或字节数组,并,通过挂spin锁方式或atomic访问方式,将连接信息对应的字符串数据或字节数组写入连接列表中。
本申请实施例中,在执行步骤S112之后,执行步骤S113。
S113、在获取到第二回调函数反馈的任意进程对应的网络包的情况下,通过挂spin锁方式或atomic访问方式,判断网络包的连接信息是否在连接列表中,若是,执行S108,若否,执行S106。
本实施例中,若分流配置中的分流功能字段的配置信息表征开启按进程路径分流,则在获取到第二回调函数反馈的任意进程对应的网络包的情况下,获取该网络包的连接信息,并通过挂spin锁方式或atomic访问方式,判断网络包的连接信息是否在连接列表中,具体的,通过挂spin锁方式或atomic访问方式,获取连接列表中包括的各个连接信息,并对网络包的连接信息进行序列化处理,得到序列化处理结果,判断连接列表包括的各个连接信息中是否存在与序列化处理结果相匹配的连接信息,若存在,则确定出网络包的连接信息在连接列表中,若不存在,则确定出网络包的连接信息不在连接列表中。
若网络包的连接信息在连接列表中,则执行步骤S108,若否,执行步骤S106。
本申请实施例提供的网络包分流方法,通过预设分流配置,从而当分流配置中的分流功能字段的配置信息表征开启按进程路径分流时,在分配连接层注册第一回调函数,并在网络包发送层注册第二回调函数,接着获取第一回调函数反馈的发起网络连接的目标进程的进程路径和连接信息,若查找进程路径列表中与目标进程的进程路径相匹配的进程路径所得的查找结果不满足过滤规则,则通过挂spin锁方式或atomic访问方式,将目标进程的连接信息写入至连接列表中,然后在获取第二回调函数反馈的任意进程对应的网络包的情况下,若网络包的连接信息在连接列表中,则不通过VPN网络发送网络包,否则,当网络包满足预设的过滤策略时,通过VPN网络发送所述网络包,当网络包不满足预设的过滤策略时,不通过VPN网络发送所述网络包。可见,本申请方案,实现了按照进程路径选择进程对应的网络包是否通过网络发送,从而降低流量,进而降低企业成本。
参阅图3,上述本申请实施例提供的网络包分流方法中,在步骤S105提及的在Windows筛选平台的分配连接层注册第一回调函数之后,还可以包括以下步骤:
S301、在Windows筛选平台的关闭释放层注册第三回调函数。
本实施例中,在Windows筛选平台的分配连接层注册第一回调函数之后,还可以在Windows筛选平台的关闭释放层注册第三回调函数。
其中,关闭释放层包括资源释放层或关闭释放层。
具体的,若连接信息包括二元组,在Windows筛选平台的关闭释放层注册第三回调函数,具体为,在Windows筛选平台的资源释放层注册第三回调函数,若连接信息包括五元组,在Windows筛选平台的关闭释放层注册第三回调函数,具体为,在Windows筛选平台的关闭连接层注册第三回调函数。
其中,在Windows筛选平台的资源释放层注册第三回调函数,即为在FWPM_LAYER_ALE_RESOURCE_RELEASE_V4上注册第三回调函数。
本申请实施例中,通过在FWPM_LAYER_ALE_RESOURCE_RELEASE_V4上注册第三回调函数,从而在释放端口资源时,删除FpnFlowMap里面的tcp/udp连接的连接id,以避免驱动泄漏内存。
在Windows筛选平台的关闭释放层注册第三回调函数,即为在FWPM_LAYER_ALE_ENDPOINT_CLOSURE_V4上注册第三回调函数。
本申请实施例中,通过在FWPM_LAYER_ALE_ENDPOINT_CLOSURE_V4上注册第三回调函数,从而在tcp或udp停用时,删除FpnFlowMap里面的tcp/udp连接的连接id,以避免驱动泄漏内存。
需要说明的是,在Windows筛选平台的关闭释放层注册第三回调函数的具体实现过程请参见现有技术,此处不再赘述。
S302、在释放端口资源时,若连接列表中存在连接信息,则将连接列表中的连接信息进行删除。
本实施例中,在释放端口资源时,若连接列表中存在连接信息,则将连接列表中的连接信息进行删除,若连接列表中不存在连接信息,则不执行任何操作。
本申请实施例提供的网络包分流方法,通过在Windows筛选平台的关闭释放层注册第三回调函数,从而在释放端口资源时,若连接列表中存在连接信息,则将连接列表中的连接信息进行删除,实现避免驱动泄漏内存。
对上述提及的网络包分流方法的具体实现过程进行举例说明如下:
示例A:
用户态在获得驱动句柄之后,向驱动配置是否开启按进程分流功能,配置一个进程列表。并且配置该进程列表是黑名单,还是白名单。
在驱动上下文中初始化两个hashSet(散列表/集合):
一个是FpnProcessPathMap储存用户态配置的配置一个进程列表。访问时应该挂spin锁,或者使用atmoic方式访问,保证多线程数据一致性。
一个是FpnFlowMap储存不需要过滤的tcp/udp连接的id。该id包含是tcp还是udp和本地端口。访问时应该挂spin锁,或者使用atmoic方式访问,保证多线程数据一致性。
FpnIsWhiteList为true时,表示该进程列表是白名单。
如果开启按进程分流功能,则:
在FWPM_LAYER_ALE_RESOURCE_ASSIGNMENT_V4上注册过滤回调,在分配端口资源时,查看系统传入的进程路径是否在ProcessPathMap表里面(match);
如果match与FpnIsWhiteList不相等,则将该tcp/udp连接的连接id加入FpnFlowMap里面。
在FWPM_LAYER_ALE_RESOURCE_RELEASE_V4上注册过滤回调,在释放端口资源时,删除FpnFlowMap里面(可能存在的)tcp/udp连接的连接id。以便避免驱动泄漏内存。
在FWPM_LAYER_OUTBOUND_IPPACKET_V4上注册过滤回调,如果收到包,则判断该包对应的tcp/udp连接的连接id是否在FpnFlowMap里面。如果在则不过滤。如果不在,则基于VPN的其他业务过滤判断决定是否将包拒绝并且转发给用户态进行后续网络加密转发。
如果不开启进程分流功能,则:
不注册FWPM_LAYER_ALE_RESOURCE_ASSIGNMENT_V4/FWPM_LAYER_ALE_RESOURCE_RELEASE_V4过滤回调。
在FWPM_LAYER_OUTBOUND_IPPACKET_V4上注册过滤回调,如果收到包,直接基于VPN的其他业务过滤判断决定是否将包拒绝并且转发给用户态进行后续网络加密转发。
示例B:
基于示例A进行修改。
将"该id包含是tcp还是udp和本地端口。"改为该id包含是tcp还是udp和来源ip来源端口+目标ip目标端口4元组。后续所有设计获取连接id的地方均做对应修改。
将"在FWPM_LAYER_ALE_RESOURCE_ASSIGNMENT_V4上注册过滤回调"改为"在FWPM_LAYER_ALE_AUTH_CONNECT_V4上注册过滤回调"。
将"在FWPM_LAYER_ALE_RESOURCE_RELEASE_V4上注册过滤回调"改为"在FWPM_LAYER_ALE_ENDPOINT_CLOSURE_V4上注册过滤回调"。
需要说明的是,虽然采用特定次序描绘了各指令,但是这不应当理解为要求这些指令以所示出的特定次序或以顺序次序执行来执行。在一定环境下,多任务和并行处理可能是有利的。
应当理解,本申请公开的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本申请公开的范围在此方面不受限制。
与图1所述的方法相对应,本申请实施例还提供了一种网络包分流装置,用于对图1中方法的具体实现,该装置应用于服务端,该装置的结构示意图如图4所示,具体包括:
第一获取单元401,用于获取预设的分流配置;
初始化单元402,用于在驱动上下文中初始化预设的连接列表和所述分流配置中包括的进程路径列表;所述连接列表用于存储连接信息;
第一注册单元403,用于若所述分流配置中的分流功能字段的配置信息表征开启按进程路径分流,则在所述Windows筛选平台的分配连接层注册第一回调函数,并在所述Windows筛选平台的网络包发送层注册第二回调函数;
第二获取单元404,用于在建立网络连接的情况下,获取所述第一回调函数反馈的发起所述网络连接的目标进程的进程路径和连接信息;
查找单元405,用于查找所述进程路径列表中与所述目标进程的进程路径相匹配的进程路径,得到查找结果;所述查找结果用于表征是否查找到相匹配的进程路径;
写入单元406,用于判断所述查找结果是否满足过滤规则,若所述查找结果不满足过滤规则,则通过挂spin锁方式或atomic访问方式,将所述目标进程的连接信息写入至所述连接列表中;
判断单元407,用于在获取到所述第二回调函数反馈的任意进程对应的网络包的情况下,通过挂spin锁方式或atomic访问方式,判断所述网络包的连接信息是否在所述连接列表中;
第一发送单元408,用于若所述网络包的连接信息在所述连接列表中,则不通过VPN网络发送所述网络包;
第二发送单元409,用于若所述网络包的连接信息不在所述连接列表中,则当所述网络包满足预设的过滤策略时,通过VPN网络发送所述网络包,当所述网络包满足预设的过滤策略时,通过VPN网络发送所述网络包。
本申请实施例提供的网络包分流装置,通过预设分流配置,从而当分流配置中的分流功能字段的配置信息表征开启按进程路径分流时,在分配连接层注册第一回调函数,并在网络包发送层注册第二回调函数,接着获取第一回调函数反馈的发起网络连接的目标进程的进程路径和连接信息,若查找进程路径列表中与目标进程的进程路径相匹配的进程路径所得的查找结果不满足过滤规则,则通过挂spin锁方式或atomic访问方式,将目标进程的连接信息写入至连接列表中,然后在获取第二回调函数反馈的任意进程对应的网络包的情况下,若网络包的连接信息在连接列表中,则不通过VPN网络发送网络包,否则,当网络包满足预设的过滤策略时,通过VPN网络发送所述网络包,当网络包不满足预设的过滤策略时,不通过VPN网络发送所述网络包。可见,本申请方案,实现了按照进程路径选择进程对应的网络包是否通过网络发送,从而降低流量,进而降低企业成本。
在本申请的一个实施例中,基于前述方案,写入单元406在判断所述查找结果是否满足过滤规则时,具体用于:
判断所述查找结果是否与所述分流配置中的黑白名单字段的配置信息比对一致;所述分流配置中的黑白名单字段的配置信息用于表征所述进程路径列表是否为白名单;
若所述查找结果与所述分流配置中的黑白名单字段的配置信息比对一致,则确定出所述查找结果满足过滤规则;
若所述查找结果与所述分流配置中的黑白名单字段的配置信息比对不一致,则确定出所述查找结果不满足过滤规则。
在本申请的一个实施例中,基于前述方案,还可以配置为:
第二注册单元,用于若所述分流配置中的分流功能字段表征未开启按进程分流功能,则在所述Windows筛选平台的网络包发送层注册所述第二回调函数;
接收单元,用于接收所述第二回调函数反馈的网络包;
第三发送单元,用于当所述网络包满足预设的过滤策略时,通过VPN网络发送所述网络包,当所述网络包不满足预设的过滤策略时,不通过VPN网络发送所述网络包。
在本申请的一个实施例中,基于前述方案,第一发送单元308在通过VPN网络发送所述网络包时,具体用于:
将所述网络包发送至用户态,以便所述用户态加密所述网络包,并通过VPN网络发送加密后的网络包。
在本申请的一个实施例中,基于前述方案,还可配置为:
第三注册单元,用于在所述Windows筛选平台的关闭释放层注册第三回调函数;
删除单元,用于在释放端口资源时,若所述连接列表中存在连接信息,则将所述连接列表中的连接信息进行删除。
在本申请的一个实施例中,基于前述方案,所述连接信息包括二元组或五元组,第三注册单元,具体用于:
若所述连接信息包括二元组,在所述Windows筛选平台的资源释放层注册第三回调函数;
若所述连接信息包括五元组,在所述Windows筛选平台的关闭连接层注册第三回调函数。
在本申请的一个实施例中,基于前述方案,所述连接信息包括二元组或五元组,第一注册单元303在所述Windows筛选平台的分配连接层注册第一回调函数时,具体用于:
若所述连接信息包括二元组,在所述Windows筛选平台的资源分配层注册第一回调函数;
若所述连接信息包括五元组,在所述Windows筛选平台的授权连接层注册第一回调函数。
本申请实施例还提供了一种存储介质,所述存储介质存储有指令集,其中,在所述指令集运行时执行如上文任一实施例公开的网络包分流方法。
本申请实施例还提供了一种电子设备,其结构示意图如图5所示,具体包括存储器501,用于存储至少一组指令集;处理器502,用于执行所述存储器中存储的指令集,通过执行如上文任一实施例公开的网络包分流方法。
尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。
虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本申请公开的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实施例中。相反地,在单个实施例的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实施例中。
以上描述仅为本申请公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请公开中所涉及的公开范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述公开构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请公开中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
Claims (10)
1.一种网络包分流方法,其特征在于,应用于Windows筛选平台,包括:
获取预设的分流配置;
在驱动上下文中初始化预设的连接列表和所述分流配置中包括的进程路径列表;所述连接列表用于存储连接信息;
若所述分流配置中的分流功能字段的配置信息表征开启按进程路径分流,则在所述Windows筛选平台的分配连接层注册第一回调函数,并在所述Windows筛选平台的网络包发送层注册第二回调函数;
在建立网络连接的情况下,获取所述第一回调函数反馈的发起所述网络连接的目标进程的进程路径和连接信息;
查找所述进程路径列表中与所述目标进程的进程路径相匹配的进程路径,得到查找结果;所述查找结果用于表征是否查找到相匹配的进程路径;
判断所述查找结果是否满足过滤规则,若所述查找结果不满足过滤规则,则通过挂spin锁方式或atomic访问方式,将所述目标进程的连接信息写入至所述连接列表中;
在获取到所述第二回调函数反馈的任意进程对应的网络包的情况下,通过挂spin锁方式或atomic访问方式,判断所述网络包的连接信息是否在所述连接列表中;
若所述网络包的连接信息在所述连接列表,则不通过VPN网络发送所述网络包;
若所述网络包的连接信息不在所述连接列表中,则当所述网络包满足预设的过滤策略时,通过VPN网络发送所述网络包,当所述网络包不满足预设的过滤策略时,不通过VPN网络发送所述网络包。
2.根据权利要求1所述的网络包分流方法,其特征在于,所述判断所述查找结果是否满足过滤规则,包括:
判断所述查找结果是否与所述分流配置中的黑白名单字段的配置信息比对一致;所述分流配置中的黑白名单字段的配置信息用于表征所述进程路径列表是否为白名单;
若所述查找结果与所述分流配置中的黑白名单字段的配置信息比对一致,则确定出所述查找结果满足过滤规则;
若所述查找结果与所述分流配置中的黑白名单字段的配置信息比对不一致,则确定出所述查找结果不满足过滤规则。
3.根据权利要求1所述的网络包分流方法,其特征在于,还包括:
若所述分流配置中的分流功能字段表征未开启按进程分流功能,则在所述Windows筛选平台的网络包发送层注册所述第二回调函数;
接收所述第二回调函数反馈的网络包;
当所述网络包满足预设的过滤策略时,通过VPN网络发送所述网络包,当所述网络包不满足预设的过滤策略时,不通过VPN网络发送所述网络包。
4.根据权利要求1-3任意一项所述的网络包分流方法,其特征在于,所述通过VPN网络发送所述网络包,包括:
将所述网络包发送至用户态,以便所述用户态加密所述网络包,并通过VPN网络发送加密后的网络包。
5.根据权利要求1所述的网络包分流方法,其特征在于,所述在所述Windows筛选平台的分配连接层注册第一回调函数之后,还包括:
在所述Windows筛选平台的关闭释放层注册第三回调函数;
在释放端口资源时,若所述连接列表中存在连接信息,则将所述连接列表中的连接信息进行删除。
6.根据权利要求5所述的网络包分流方法,其特征在于,所述连接信息包括二元组或五元组,所述在所述Windows筛选平台的关闭释放层注册第三回调函数,包括:
若所述连接信息包括二元组,在所述Windows筛选平台的资源释放层注册第三回调函数;
若所述连接信息包括五元组,在所述Windows筛选平台的关闭连接层注册第三回调函数。
7.根据权利要求1所述的网络包分流方法,其特征在于,所述连接信息包括二元组或五元组,所述在所述Windows筛选平台的分配连接层注册第一回调函数,包括:
若所述连接信息包括二元组,在所述Windows筛选平台的资源分配层注册第一回调函数;
若所述连接信息包括五元组,在所述Windows筛选平台的授权连接层注册第一回调函数。
8.一种网络包分流装置,其特征在于,应用于Windows筛选平台,包括:
第一获取单元,用于获取预设的分流配置;
初始化单元,用于在驱动上下文中初始化预设的连接列表和所述分流配置中包括的进程路径列表;所述连接列表用于存储连接信息;
第一注册单元,用于若所述分流配置中的分流功能字段的配置信息表征开启按进程路径分流,则在所述Windows筛选平台的分配连接层注册第一回调函数,并在所述Windows筛选平台的网络包发送层注册第二回调函数;
第二获取单元,用于在建立网络连接的情况下,获取所述第一回调函数反馈的发起所述网络连接的目标进程的进程路径和连接信息;
查找单元,用于查找所述进程路径列表中与所述目标进程的进程路径相匹配的进程路径,得到查找结果;所述查找结果用于表征是否查找到相匹配的进程路径;
写入单元,用于判断所述查找结果是否满足过滤规则,若所述查找结果不满足过滤规则,则通过挂spin锁方式或atomic访问方式,将所述目标进程的连接信息写入至所述连接列表中;
判断单元,用于在获取到所述第二回调函数反馈的任意进程对应的网络包的情况下,通过挂spin锁方式或atomic访问方式,判断所述网络包的连接信息是否在所述连接列表中;
第一发送单元,用于若所述网络包的连接信息在所述连接列表中,则不通过VPN网络发送所述网络包;
第二发送单元,用于若所述网络包的连接信息不在所述连接列表中,则当所述网络包满足预设的过滤策略时,通过VPN网络发送所述网络包,当所述网络包不满足预设的过滤策略时,不通过VPN网络发送所述网络包。
9.一种存储介质,其特征在于,所述存储介质存储有指令集,其中,所述指令集被处理器执行时实现如权利要求1-7任意一项所述的网络包分流方法。
10.一种电子设备,其特征在于,包括:
存储器,用于存储至少一组指令集;
处理器,用于执行所述存储器中存储的指令集,通过执行所述指令集实现如权利要求1-7任意一项所述的网络包分流方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311466167.2A CN117201405B (zh) | 2023-11-07 | 2023-11-07 | 一种网络包分流方法及装置、存储介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311466167.2A CN117201405B (zh) | 2023-11-07 | 2023-11-07 | 一种网络包分流方法及装置、存储介质及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117201405A CN117201405A (zh) | 2023-12-08 |
CN117201405B true CN117201405B (zh) | 2023-12-29 |
Family
ID=88989085
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311466167.2A Active CN117201405B (zh) | 2023-11-07 | 2023-11-07 | 一种网络包分流方法及装置、存储介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117201405B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102065125A (zh) * | 2010-11-18 | 2011-05-18 | 广州致远电子有限公司 | 一种嵌入式ssl vpn的实现方法 |
WO2012110527A1 (en) * | 2011-02-14 | 2012-08-23 | Airborne Nv | Distributed middleware for mobile devices |
TW201812607A (zh) * | 2016-09-12 | 2018-04-01 | 美商伊洛米歐公司 | 在分散式網路資訊管理系統中對於資訊有效彙總之伺服器之表示 |
CN108306832A (zh) * | 2018-01-29 | 2018-07-20 | 北京启明星辰信息安全技术有限公司 | 一种网络流量分流方法及装置 |
CN111414386A (zh) * | 2020-03-18 | 2020-07-14 | 威讯柏睿数据科技(北京)有限公司 | 一种基于分布式架构对流数据进行查询的方法和设备 |
CN116134177A (zh) * | 2020-08-06 | 2023-05-16 | 布兰尔科技有限公司 | 可部署的、远程控制的纯次氯酸制造系统和方法 |
CN116271850A (zh) * | 2023-03-03 | 2023-06-23 | 网易(杭州)网络有限公司 | 数据处理方法、装置、系统及电子装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090006618A1 (en) * | 2007-06-28 | 2009-01-01 | Richard Hayton | Methods and systems for access routing and resource mapping using filters |
-
2023
- 2023-11-07 CN CN202311466167.2A patent/CN117201405B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102065125A (zh) * | 2010-11-18 | 2011-05-18 | 广州致远电子有限公司 | 一种嵌入式ssl vpn的实现方法 |
WO2012110527A1 (en) * | 2011-02-14 | 2012-08-23 | Airborne Nv | Distributed middleware for mobile devices |
TW201812607A (zh) * | 2016-09-12 | 2018-04-01 | 美商伊洛米歐公司 | 在分散式網路資訊管理系統中對於資訊有效彙總之伺服器之表示 |
CN108306832A (zh) * | 2018-01-29 | 2018-07-20 | 北京启明星辰信息安全技术有限公司 | 一种网络流量分流方法及装置 |
CN111414386A (zh) * | 2020-03-18 | 2020-07-14 | 威讯柏睿数据科技(北京)有限公司 | 一种基于分布式架构对流数据进行查询的方法和设备 |
CN116134177A (zh) * | 2020-08-06 | 2023-05-16 | 布兰尔科技有限公司 | 可部署的、远程控制的纯次氯酸制造系统和方法 |
CN116271850A (zh) * | 2023-03-03 | 2023-06-23 | 网易(杭州)网络有限公司 | 数据处理方法、装置、系统及电子装置 |
Non-Patent Citations (3)
Title |
---|
关于无线网络用户通信信息精准分流仿真;边璐;;计算机仿真(第06期);全文 * |
广域网整合中Stateful NAT、OSPF双进程相结合的设计与应用;李健俊;俞先永;刘鹏;姜学峰;;计算机系统应用(第03期);全文 * |
软件多进程结构改造为多线程结构的方法研究;李慧, 王丹力, 戴国忠;计算机仿真(第09期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN117201405A (zh) | 2023-12-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3632057B1 (en) | Distributed ipsec gateway | |
US10594659B2 (en) | Method and system for secure communication with shared cloud services | |
US9098703B2 (en) | SOC with security function and device and scanning method using the same | |
US9946884B2 (en) | System and method for cryptographic suite management | |
US10454890B2 (en) | Negotiation of security protocols and protocol attributes in secure communications environment | |
KR100966398B1 (ko) | 보안 네트워크 환경에서 크리덴셜 및 소프트웨어 이미지제공 방법 | |
US9794237B2 (en) | Secured networks and endpoints applying internet protocol security | |
CN109936529B (zh) | 一种安全通信的方法、装置和系统 | |
US9992223B2 (en) | Flow-based anti-replay checking | |
US11277381B2 (en) | Multi-channel based just-in-time firewall control | |
EP1911192A2 (en) | Suspension and resumption of secure data connection session | |
US8607302B2 (en) | Method and system for sharing labeled information between different security realms | |
CN117201405B (zh) | 一种网络包分流方法及装置、存储介质及电子设备 | |
CN109905352B (zh) | 一种基于加密协议审计数据的方法、装置和存储介质 | |
WO2023061158A1 (zh) | 加解密方法、装置及计算机可读存储介质 | |
US11818173B2 (en) | Reducing memory footprint after TLS connection establishment | |
CN114844672B (zh) | 一种应用可信身份的确认方法、管理单元及设备 | |
US8037178B1 (en) | System and method for providing secure access to a remote desktop across firewalls in an interactive grid environment | |
CN113014565B (zh) | 实现防端口扫描的零信任架构及服务端口访问方法和设备 | |
WO2016003858A1 (en) | Secured networks and endpoints applying internet protocol security | |
CN114996730A (zh) | 一种数据加解密系统、方法、计算机设备及存储介质 | |
Agha et al. | Theoretical considerations: Inferring and enforcing use patterns for mobile cloud assurance | |
JP2009207049A (ja) | 通信装置 | |
Borkmann et al. | Combining kTLS and BPF for Introspection and Policy Enforcement | |
WO2023089438A1 (en) | Correlating remote attestation quotes with a virtualized network function (vnf) resource allocation event |
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 |