一种基于关键词的隐私保护流量检测方法

文档序号:29692199发布日期:2022-04-16 12:04阅读:115来源:国知局
一种基于关键词的隐私保护流量检测方法
virtualization,hotmiddlebox’16,page 7

13,new york,ny,usa,2016.association for computing machinery.)使用了oblivious dfa(payman mohassel,salman niksefat,saeed sadeghian,and babak sadeghiyan.an efficient protocol for oblivious dfa evaluation and applications.in topics in cryptology

ct-rsa 2012,pages 398

415,berlin,heidelberg,2012.springer berlin heidelberg.)可以在保护流量隐私的条件下进行正则表达式匹配分析,隐私保护程度较高,由于其使用了繁重的密码学工具,不可避免地带来了巨大的额外通信开销和计算开销,不能应用于实际场景。
7.另外一种解决方法是使用可信执行硬件技术,比如intel公司提供的sgx。理论上可信执行环境提供了理想的安全隐私保障和高效的运行效率,但是在实际中,可信执行环境面临着多种侧信道攻击威胁,而且其编程复杂,可开发性差。


技术实现要素:

8.本发明的目的在于针对现有技术的不足,提供一种基于关键词的隐私保护流量检测方法。
9.本发明的目的是通过以下技术方案来实现的:一种基于关键词的隐私保护流量检测方法,包括如下步骤:
10.(1)关键词提取:中间盒从正则表达式中提取出关键词。
11.(2)流量处理:客户端使用步骤(1)得到的关键词,找出流量中这些关键词匹配的位置,将未匹配的部分替换为脱敏信息。
12.(3)流量检测:中间盒使用正则表达式匹配步骤(2)得到的脱敏流量,记录每个正则表达式的匹配结果。
13.进一步地,所述步骤(1)包括如下子步骤:
14.(1.1)根据正则表达式,将

*
’‘
+’前面的连续字符看作关键词。
15.(1.2)根据正则表达式,将

?’前的连续字符看作一个关键词,并去掉其最后一个字符作为另一个关键词。
16.(1.3)根据正则表达式,将

|’前后的连续字符分别看作两个关键词。
17.(1.4)基于步骤(1.1)~(1.3)得到的关键词,去除其中重复的关键词,得到关键词集合kw。
18.进一步地,所述步骤(2)包括如下子步骤:
19.(2.1)对于步骤(1)得到的关键词集合kw,遍历其中所有的关键词kw,在流量s中找到其出现的所有位置并做标记。
20.(2.2)基于步骤(2.1)得到的关键词在流量s中出现的位置,将流量中被标记字符保留不变。对于未被标记的字符,将其中在

a’和

f’之间(包括

a’和

f’)的字符替换为

a’,将其中在

g’和

z’之间(包含

g’和

z’)的字符替换为

z’,将其中在

a’和

f’之间(包括

a’和

f’)的字符替换为

a’,将其中在

g’和

z’之间(包含

g’和

z’)的字符替换为

z’,将其中的数字字符替换为
‘0’
,将其中的空白字符替换为换行符,将其他在ascii128范围中的字符替换为

\x00’,将其他在extend ascii范围中的字符替换为

\xf0’。得到处理后的流量s


21.进一步地,所述空白字符包括空格、水平制表符、垂直制表符、换行符、换页符、回
车符等。
22.进一步地,所述步骤(3)具体为:基于步骤(2.2)得到的处理后的流量s

,使用正则表达式进行匹配,记录每条正则表达式与之匹配的结果。
23.进一步地,还包括数据校验:服务端使用步骤(1)得到的关键词,重新执行步骤(2),对比两次流量处理的结果,确保系统正常运行。
24.进一步地,所述数据校验,包括如下子步骤:
25.(4.1)服务端基于步骤(1)得到的关键词集合kw和接收到的流量t,执行步骤(2)得到t


26.(4.2)对比s和t是否一致,对比s

和t

是否一致,若s和t一致并且s

和t

一致,说明系统正常工作。否则,说明客户端或中间盒工作执行错误,服务端拒绝接受流量t。
27.本发明的有益效果是:本发明通过提取关键词和流量处理,可以在保护用户流量数据隐私安全的条件下进行正则表达式匹配流量检测,与传统的密码学解决方案相比效率较高,同时达到了与明文检测相似的精准度。本发明首次提出了基于关键词的隐私保护流量检测技术,在保护用户流量隐私的同时可以达到与明文检测相似的精准度,适用于当前高频短连接的网络环境,对流量进行实时检测,效果优于现有方法,且具有效率高、延迟低、方便部署等特点。
附图说明
28.图1是本发明的网络拓扑结构;其中,(a)为客户端,(b)中间盒,(c)为服务端。
具体实施方式
29.如图1所示,本发明一种基于关键词的隐私保护流量检测方法,从正则表达式中提取关键词,根据关键词集合对流量进行数据脱敏,中间盒使用正则表达式检测脱敏后的流量,以实现在保护用户数据隐私安全的条件下进行流量检测。具体包括以下步骤:
30.(1)关键词提取:中间盒从现有的正则表达式中,提取出关键词,具体包括以下子步骤:
31.(1.1)根据正则表达式,将

*
’‘
+’前面的连续字符看作关键词。
32.(1.2)根据正则表达式,根据

?’前的连续字符,生成两个不同的关键词,一个关键词是

?’前的连续字符,另一个是去掉最后一个字符的

?’前的连续字符。如“https?”,将生成“https”和“http”两个关键词。
33.(1.3)根据正则表达式,将

|’前后的连续字符分别看作两个关键词。
34.(1.4)基于步骤(1.1)~(1.3)得到的关键词,去除其中重复的关键词,得到关键词集合kw。
35.(2)流量处理:客户端使用步骤(1)得到的关键词,找出流量中这些关键词匹配的位置,将未匹配的部分替换为脱敏信息。本步骤根据关键词集合,保留流量中正则表达式检测需要的重要信息,将敏感信息替换为其他字符,实现数据脱敏,同时保持流量特征不变。具体包括以下子步骤:
36.(2.1)对于步骤(1.4)得到的关键词集合kw,遍历其中所有的关键词kw,在流量s中找到其出现的所有位置并做标记。
37.(2.2)基于步骤(2.1)得到的关键词在流量s中出现的位置,将流量中被标记字符保留不变。对于未被标记的字符,将其中在

a’和

f’之间(包括

a’和

f’)的字符(这些字符既有可能是小写字母,也有可能是十六进制的数字)替换为

a’,将其中在

g’和

z’之间(包含

g’和

z’)的字符(这些字符确定是小写字母)替换为

z’,将其中在

a’和

f’之间(包括

a’和

f’)的字符(这些字符既有可能是大写字母,也有可能是十六进制的数字)替换为

a’,将其中在

g’和

z’之间(包含

g’和

z’)的字符(这些字符确定是大写字母)替换为

z’,将其中的数字字符(与正则表达式中的

\d’对应)替换为
‘0’
,将其中的空白字符(如空格、水平制表符、垂直制表符、换行符、换页符、回车符)(与正则表达式中的

\s’对应)替换为换行符,将其他在ascii128范围中的字符替换为

\x00’,将其他在extend ascii范围中的字符替换为

\xf0’。得到处理后的流量s


38.(3)流量检测:基于步骤(2.2)得到的处理后的脱敏流量s

,中间盒使用正则表达式进行匹配,记录每个正则表达式与之匹配的匹配结果,即本发明流量检测的结果。本步骤根据流量和正则表达式规则集合检测出流量的相关特性。
39.(4)数据校验:服务端使用步骤(1)得到的关键词,重新执行步骤(2),对比两次流量处理的结果,确保系统正常运行,具体包括以下子步骤:
40.(4.1)服务端基于步骤(1.4)得到的关键词集合kw,和接收到的流量t,执行步骤(2)得到处理后的流量t

。包括以下子步骤:
41.(4.1.1)对于步骤(1.4)得到的关键词集合kw,遍历其中所有的关键词kw,在流量t中找到其出现的所有位置并做标记。
42.(4.1.2)基于步骤(4.1.1)得到的关键词在流量t中出现的位置,将流量中被标记字符保留不变。对于未被标记的字符,将其中在

a’和

f’之间(包括

a’和

f’)的字符替换为

a’,将其中在

g’和

z’之间(包含

g’和

z’)的字符替换为

z’,将其中在

a’和

f’之间(包括

a’和

f’)的字符替换为

a’,将其中在

g’和

z’之间(包含

g’和

z’)的字符替换为

z’,将其中的数字字符替换为
‘0’
,将其中的空白字符(如空格、水平制表符、垂直制表符、换行符、换页符、回车符)替换为换行符,将其他在ascii128范围中的字符替换为

\x00’,将其他在extend ascii范围中的字符替换为

\xf0’。得到处理后的流量t


43.(4.2)对比s和t是否一致,对比s

和t

是否一致,若s和t一致并且s

和t

一致,说明系统正常工作。若s和t不一致,或s

和t

不一致,说明客户端或中间盒工作执行错误,服务端拒绝接受该条流量t。
44.实施例
45.在三台配备2核2.4ghz intel xeon skylake处理器,4gb内存,1mbps宽带的云主机上实现本发明的实施例。为了模拟实际的网络延迟,三台服务器分别位于三个不同的国家。为了更准确地展现本发明的相关性能,每个独立的实验均重复5次,最终结果取平均值。
46.实验使用了来自于真实网络环境下保存的流量数据和当前热门的snort规则库,实验表明,本发明实例达到了99.97%的准确率。
47.当使用6738条正则表达式规则时,共提取出关键词6585个,运行时间为635毫秒。使用这些6585个关键词处理流量:处理长度为200字节的流量用时25.4毫秒,处理长度为2000字节的流量用时253.8毫秒,处理流量所用时间与流量长度呈线性关系。使用6738条正则表达式匹配处理后的流量,检测长度为200字节的流量用时5毫秒,检测长度为2000字节
的流量用时23.3毫秒。发送长度200字节的流量总延迟为596毫秒,发送长度2000字节的流量总延迟为812毫秒。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1