基于TCP时间戳的隐蔽通信方法及系统

摘要: 本申请属于网络隐蔽通信、网络信息安全,尤其涉及一种基于tcp时间戳的隐蔽通信方法及系统。背景技术:1、当前基于tcp时间戳奇偶性的隐蔽信道方案,直接对报文时间戳...
基于TCP时间戳的隐蔽通信方法及系统

本申请属于网络隐蔽通信、网络信息安全,尤其涉及一种基于tcp时间戳的隐蔽通信方法及系统。

背景技术:

1、当前基于tcp时间戳奇偶性的隐蔽信道方案,直接对报文时间戳的奇偶性进行修改以承载隐蔽信息,未考虑短间隔时间戳的奇偶性存在固有统计偏移,大规模通信时会导致时间戳字段的统计特征与正常流量产生明显偏差,易被检测识别。同时现有方案多采用固定的头尾标记作为协议启停标识,消息传输阶段也依赖固定明文消息头定位帧边界,固定标识会持续改变协议字段的统计规律,在频繁通信场景下会进一步暴露信道特征。此外现有伪随机加密方案的密钥因子依赖额外带外信道传输,无法与隐蔽信道本身深度融合,增加了协议部署的复杂度与暴露风险,难以兼顾隐蔽性、可靠性与通用性的多重需求。

技术实现思路

1、本申请实施例提供了一种基于tcp时间戳的隐蔽通信方法及系统,既可以维持tcp时间戳字段的正常统计特征以保障隐蔽性,又能够实现全程无固定明文标识的协议动态启停与消息定位,同时完成不依赖带外信道的伪随机密钥协商。

2、本申请一方面提供了一种基于tcp时间戳的隐蔽通信方法,所述方法包括:

3、获取待传输的单向tcp报文序列及对应的时间戳序列,根据预设差值阈值对时间戳序列进行分组,得到多个由连续报文构成的报文组;

4、根据待嵌入隐蔽信息调整各报文组内所有报文的时间戳奇偶性,同步修正相邻报文组的组间时间戳差值以满足差值阈值要求,生成携带有隐蔽信息的tcp报文序列;

5、基于携带有启动因子片段的tcp报文完成双向流密钥协商,利用协商得到的流密钥加密隐蔽信息并生成对应动态定位片段,通过动态定位片段匹配识别消息边界,实现无固定明文标识的双向隐蔽通信。

6、可选的,所述根据待嵌入隐蔽信息调整各报文组内所有报文的时间戳奇偶性,同步修正相邻报文组的组间时间戳差值以满足差值阈值要求,生成携带有隐蔽信息的tcp报文序列,包括:

7、计算当前报文组的初始偏移量,所述初始偏移量为补偿前序报文组偏移导致的组间差值缩减的数值;

8、根据当前待嵌入比特调整初始偏移量,使当前组首报文调整后的时间戳奇偶性与待嵌入比特对应;

9、将当前组内所有报文的时间戳叠加调整后的偏移量,同步修正后续所有报文组的时间戳基准,生成携带有隐蔽信息的tcp报文序列。

10、可选的,所述计算当前报文组的初始偏移量,包括:

11、获取前一报文组调整后的末报文时间戳与当前报文组原始首报文时间戳的差值;

12、判断所述差值是否小于预设差值阈值;

13、若所述差值小于预设差值阈值,则将预设差值阈值与所述差值的差值作为初始偏移量的增量,叠加基准偏移量得到初始偏移量。

14、可选的,所述基于携带有启动因子片段的tcp报文完成双向流密钥协商,利用协商得到的流密钥加密传输隐蔽信息,实现双向隐蔽通信,包括:

15、发送方选取本地预存启动因子的随机片段从首个报文组开始逐比特嵌入,以首个报文的时间戳值作为随机因子生成上行流密钥,所述启动因子为双方预先共享的用于生成密钥的基础参数;

16、接收方匹配到启动因子片段后,以对应首个报文的时间戳值作为随机因子生成上行流密钥,解密验证报文内容后返回携带自身启动因子片段的响应报文;

17、双方完成双向密钥验证并更新本地预存启动因子,利用对应方向的流密钥加密传输隐蔽信息。

18、可选的,所述以首个报文的时间戳值作为随机因子生成上行流密钥,包括:

19、提取对应方向首个报文的时间戳值;

20、将所述时间戳值与对应方向的本地预存启动因子进行拼接;

21、基于拼接后的参数生成无限长伪随机序列,将所述伪随机序列作为对应方向的流密钥。

22、可选的,所述利用协商得到的流密钥加密隐蔽信息并生成对应动态定位片段,包括:

23、根据当前消息序号截取对应长度的流密钥片段;

24、将预设消息标识、隐蔽信息以及基于隐蔽信息生成的固定长度散列校验值进行拼接,将拼接后的整体内容与流密钥片段进行异或处理,得到完整加密消息;

25、所述完整加密消息的起始加密段为对应消息的动态定位片段,用于接收端匹配识别消息边界。

26、可选的,所述方法还包括接收端解码步骤,所述接收端解码步骤包括:

27、接收tcp报文序列并提取各报文的时间戳值,根据预设差值阈值识别报文组边界,提取每个报文组首报文时间戳的奇偶性,得到隐蔽比特序列;

28、根据协商得到的流密钥与当前消息序号,预计算对应动态定位片段,在所述隐蔽比特序列中滑动匹配所述动态定位片段,定位各隐蔽信息的起始位置;

29、从对应起始位置截取隐蔽比特序列,基于流密钥进行解密与校验验证,得到原始隐蔽信息。

30、可选的,所述根据预设差值阈值识别报文组边界,包括:

31、依次计算相邻两个报文的时间戳差值;

32、判断所述差值是否大于等于预设差值阈值;

33、若所述差值大于等于预设差值阈值,则标记后一个报文为新报文组的首报文,完成报文组边界识别。

34、可选的,所述方法还包括通信结束步骤,所述通信结束步骤包括:

35、发送方向接收方发送携带结束标识的加密报文,所述结束标识为预设的固定比特序列;

36、接收方解密验证到结束标识后,向发送方返回携带结束标识的响应报文;双方确认结束标识后终止当前隐蔽通信进程。

37、本申请另一方面还提供了一种基于tcp时间戳的隐蔽通信系统,包括报文分组模块、信息嵌入模块和协商通信模块:

38、报文分组模块,用于获取待传输的单向tcp报文序列及对应的时间戳序列,根据预设差值阈值对时间戳序列进行分组,得到多个由连续报文构成的报文组;

39、信息嵌入模块,用于根据待嵌入隐蔽信息调整各报文组内所有报文的时间戳奇偶性,同步修正相邻报文组的组间时间戳差值以满足差值阈值要求,生成携带有隐蔽信息的tcp报文序列;

40、协商通信模块,用于基于携带有启动因子片段的tcp报文完成双向流密钥协商,利用协商得到的流密钥加密隐蔽信息并生成对应动态定位片段,通过动态定位片段匹配识别消息边界,实现无固定明文标识的双向隐蔽通信。

41、由上述技术方案可知,通过预设差值阈值对tcp报文时间戳进行分组,仅在间隔满足阈值的报文组上修改时间戳奇偶性,规避了短间隔时间戳的固有统计偏移,使修改后的时间戳统计特征与正常流量保持一致。在此基础上,将启动因子片段嵌入正常报文组的隐蔽信息中,同时以报文自身的时间戳值作为密钥生成的随机因子,无需设置固定启停标识,也无需借助额外带外信道传输密钥参数。上述分组嵌入机制与动态密钥协商机制相互配合,在保持时间戳字段统计特征稳定的前提下,实现了协议的动态启停与密钥同步,整体提升了隐蔽通信的抗检测能力与部署通用性。

1.一种基于tcp时间戳的隐蔽通信方法,其特征在于,所述方法包括:

2.根据权利要求1所述的基于tcp时间戳的隐蔽通信方法,其特征在于,所述根据待嵌入隐蔽信息调整各报文组内所有报文的时间戳奇偶性,同步修正相邻报文组的组间时间戳差值以满足差值阈值要求,生成携带有隐蔽信息的tcp报文序列,包括:

3.根据权利要求2所述的基于tcp时间戳的隐蔽通信方法,其特征在于,所述计算当前报文组的初始偏移量,包括:

4.根据权利要求1所述的基于tcp时间戳的隐蔽通信方法,其特征在于,所述基于携带有启动因子片段的tcp报文完成双向流密钥协商,利用协商得到的流密钥加密传输隐蔽信息,实现双向隐蔽通信,包括:

5.根据权利要求4所述的基于tcp时间戳的隐蔽通信方法,其特征在于,所述以首个报文的时间戳值作为随机因子生成上行流密钥,包括:

6.根据权利要求1所述的基于tcp时间戳的隐蔽通信方法,其特征在于,所述利用协商得到的流密钥加密隐蔽信息并生成对应动态定位片段,包括:

7.根据权利要求1所述的基于tcp时间戳的隐蔽通信方法,其特征在于,所述方法还包括接收端解码步骤,所述接收端解码步骤包括:

8.根据权利要求7所述的基于tcp时间戳的隐蔽通信方法,其特征在于,所述根据预设差值阈值识别报文组边界,包括:

9.根据权利要求1所述的基于tcp时间戳的隐蔽通信方法,其特征在于,所述方法还包括通信结束步骤,所述通信结束步骤包括:

10.一种基于tcp时间戳的隐蔽通信系统,其特征在于,包括报文分组模块、信息嵌入模块和协商通信模块: