基于CoAP协议参数序列的隐蔽信道研究

2021-08-12 08:56杜彦辉芦天亮蔡满春
计算机应用与软件 2021年8期
关键词:信道比特传输

郭 蕊 杜彦辉 芦天亮 蔡满春

(中国人民公安大学信息技术与网络安全学院 北京 100076)

0 引 言

随着全球经济的迅猛发展,5G网络、人工智能、大数据等技术发展成熟,物联网已然成为未来生活的新形态。同时,物联网在石油、煤矿、电网等国家基础设施领域,以及医疗、交通、监管等生产生活领域的广泛应用,使得物联网通信安全越来越受到重视。

在保障通信的安全性和隐蔽性方面,传统的加密技术由于计算能力和计算架构的发展以及针对加密算法的攻击手段研究,开始面临巨大挑战。隐写术也由于过分依赖载体而受到应用限制。而隐蔽信道技术作为新的通信策略,采用通常不用于通信的方式进行隐藏且应用广泛,因此对隐蔽信道进行研究非常有必要。

随着网络技术的发展,隐蔽信道已经逐渐应用到网络通信安全领域并愈加成熟,但由于物联网中低功耗受限制设备的计算能力和数据存储容量严格受限,导致传统网络中成熟的隐蔽信道技术难以完成,亟需实现隐蔽信道向物联网环境迁移。为了弥补物联网环境下隐蔽信道研究的不足,本文通过对CoAP协议进行分析,提出并实现一种基于CoAP协议参数序列的隐蔽信道构建方法,为实现隐蔽信道向物联网迁移提供了一定的理论支持和技术支撑。

1 相关工作

隐蔽信道被定义为“一种通过改变资源分配策略和资源管理实现而产生的信道”[1],它允许进程以危害系统安全策略的方式传输信息[2]。网络隐蔽信道则是网络环境下违背通信限制规则进行隐藏信息传输的通信信道[3],已经逐渐应用到通信安全领域并愈加成熟,主要分为存储型隐蔽信道和时间型隐蔽信道。存储型隐蔽信道使用协议数据单元内部的信息进行隐蔽通信;而时间型隐蔽信道则利用协议数据单元的时间特性实现隐蔽传输。本文对几种典型的网络隐蔽信道构建方法进行分析,如表1所示。

表1 网络隐蔽信道构建方法分析

可以看出,存储型隐蔽信道具有良好的鲁棒性和传输效率,但由于修改协议数据原有内容,极易被基于内容的检测方法察觉到;而时间型隐蔽信道较难以检测,但信道容量小且双方需要保持同步,极易受到网络环境的影响。同时存储型隐蔽信道和时间型隐蔽信道均无法适用于低功耗受限制设备。为此,国内外对隐蔽信道的研究开始向物联网方向迁移。Tan等[14]提出了一种在4G/5G网络中应用数据包间延迟编码隐藏信息的系统模型,并通过对基于分组重排序、速率切换、分组丢失、重传输和调度的时间型隐蔽信道进行分析,证实了构建物联网隐蔽时序信道的可行性,但仍无法摆脱时序信道极易受网络环境影响的弊端;Nain等[15]根据IEEE 802.15.4协议提出了一种基于秘密帧识别和错误检测机制的存储型隐蔽信道构建方法,但该隐蔽信道要求芯片序列的修改尽可能少,因此具有较低的传输效率;邓雨欣等[16]融合数量和序列两个维度提出了一种基于MQTT协议命令分组编码方法,由于与正常交互行为存在差异,易被基于行为模式的检测模型察觉。

针对传统的网络隐蔽信道无法适用于低功耗受限制设备的不足以及已有的物联网隐蔽信道技术无法摆脱存储型和时间型隐蔽信道固有弊端的问题,本文通过对物联网应用协议CoAP进行分析,在不需要修改协议数据单元和控制双方同步的情况下,结合CoAP的应用场景,仅利用Accept关键字的可选参数进行序列编码,提出并实现了一种基于CoAP协议参数序列的隐蔽信道构建方法,性能分析表明该方法具有良好的隐蔽性、鲁棒性和传输效率。

2 CoAP协议分析

2.1 CoAP协议的报文结构

受限应用协议CoAP(Constrained Application Protocol)是一种面向低功耗受限制设备的基于REST架构的物联网应用层协议,是一种应用于受限网络和节点的特殊Web传输协议,在应用终端间提供方法/响应的交互模式,支持内置的资源发现[17]。目前,CoAP协议已经在Contiki和OpenWSN平台上实现。

CoAP协议的报文结构如图1所示。头部主要由版本编号Ver、报文类型T、标识符长度TKL、状态码Code和Message ID组成。标签Token由TKL指定。Options为报文选项,用于设定CoAP主机、CoAP URL、CoAP请求参数和负载媒体类型等。0xFF作为分隔符区分首部和负载,负载内容与具体应用相关,支持多种媒体类型。

图1 CoAP协议的报文结构

Options由许多部分组成,其中Uri类型选项通过使用URL语法定位服务器资源。Accept和Content-Format两者相互配合,分别指示CoAP请求和响应中的负载媒体类型。Etag跟随资源发生改变而改变并常常与If-Match和If-None-Match配合,用于PUT请求或POST请求中。

2.2 CoAP协议的工作模式

CoAP协议采取类似于HTTP的请求/响应工作方式。CoAP客户端节点向服务器发送请求信息,服务器端对请求作出响应。由于CoAP使用UDP作为传输层协议,所以不需要事先建立连接。

为了弥补UDP的不可靠性,CoAP协议增加了消息层,如图2所示。消息层负责控制端到端的报文交互,而请求/应答层则负责传输资源操作的请求和响应。同时,CoAP重传机制在一定程度上也提高了CoAP的可靠性。

图2 CoAP协议架构

2.3 隐蔽信道构建的可行性分析

基于CoAP协议的特点,将其作为物联网环境下隐蔽信道的新型载体具有以下可行性:

(1) CoAP的广泛应用为隐蔽信息的传输提供了充分的载体和良好的掩护。

(2) 消息层和重传机制的存在弥补了UDP传输的不足,为CoAP协议增强了隐蔽信息传输的可靠性和鲁棒性。

(3) CoAP协议首部存在较多的可选部分,为隐蔽信道的构建提供了可被利用的空间。

(4) 作为轻量级的物联网应用层协议之一,CoAP适用于各种低功耗受限制设备,为新型隐蔽信道向物联网转移提供了可能。

3 基于CoAP协议参数序列的隐蔽信道构建

基于CoAP协议参数序列的隐蔽信道构建是将某个特殊关键字的可选参数构造成一个序列,要求每个可选参数唯一对应于一个变量,通过控制可选参数的发送实现隐蔽信息的传输。

3.1 隐蔽信息的嵌入位置

在CoAP协议报文的关键字中,Accept选项表示CoAP客户端期望接收到的媒体类型格式,常存在于CoAP客户端向服务器端发送的GET请求报文中,而且Accept选项具有超过30种定义的媒体类型参数。因此,Accept关键词是最适合这类算法的隐蔽信息嵌入点。

通常情况下资源可以采用不同的媒体类型进行描述,如果将每种媒体类型看成一个元素,那么所有的媒体类型就可以构成一个序列的集合,每一个传感器资源所支持的媒体类型就是序列的子集。

3.2 隐蔽信息的编码算法

对于一类元素的集合{Ai|0

该算法的另一个关键在于定义一种映射关系f,实现比特序列与元素的一一对应关系。为此,本文寻找了一种映射关系f,具体定义如下:任意一个变量x,0≤x<2N,设x的二进制表示为{bN-1,bN-2,…,b0}2,即x=b0+b1×2+…+bN-2×2N-2+bN-1×2N-1,其中bi∈{0,1}。通过Array[x]唯一对应于Ax+1,从而实现消息比特与元素唯一对应关系。

3.2.1单一资源编码方式

通过分析CoAP协议可知,如果客户端对资源响应的媒体类型进行指定时,CoAP服务器将按照指定的媒体类型进行响应,反之如果客户端没有对Accept属性进行规定时,CoAP服务器将采用默认的媒体类型响应客户端的请求。即使这两种响应的媒体类型是相同的,但是接收到的Accept内容是不同的。因此,CoAP服务器的某一资源可以通过至少2种Accept选项中的可选媒体类型进行表示。

单一资源编码方式是用数组结构表示某一资源所支持的媒体类型,根据媒体类型总数计算每次可供传输的比特数,并依据定义的映射关系f,建立比特序列与媒体类型的对应关系,通过操控Accept选项的可选媒体类型实现隐蔽信息的传输。

假设需要传输的隐蔽信息为“text”,二进制表示为01110100011001010111100001110100,选择CoAP服务器端的time作为传输隐蔽信息的资源,将time资源所支持的媒体类型元素构造成数组,time[5]={“”,“text/plain”,“application/link-format”,“application/xml”,“application/octet-stream”},根据N=└log2n┘ ,可知每次可传输2比特的隐蔽信息。再依据映射关系f,建立媒体类型和比特序列的一一对应关系。同时可以规定“媒体类型为application/octet-stream”表示隐蔽信息传输的开始和结束。CoAP服务器端通过wireshark抓取请求数据包,如图3所示。

图3 单一资源传输隐蔽信息

根据对应关系,CoAP服务器端既可以判断隐蔽信息的开始和结束,也可以还原出隐蔽信息,实现了隐蔽信息的传输。

3.2.2组合资源编码方式

通常情况下,CoAP服务器端搭载的资源类型不止一个。因此,可以通过组合资源编码方式进行隐蔽信息的传输。组合资源编码方式是对单一资源编码方式的一种改进,它将编码范围扩展至资源类型-媒体类型,通过资源类型-媒体类型设计和实现隐蔽信息的传输。

同样假设需要传输的隐蔽信息为“text”。CoAP服务器端搭载time、temperature、humidity和light 4个资源类型,所支持的媒体类型数分别为5、4、4、4,共17种资源类型-媒体类型组合关系。依据N=└log2n┘ 和映射关系f,可得到4比特序列与资源类型-媒体类型的一一对应关系,如表2所示。

表2 资源类型-媒体类型与比特序列的对应关系

续表2

CoAP服务器端通过wireshark获取请求数据包,如图4所示。根据对应关系,隐蔽信息接收端可以识别和还原隐蔽信息。

图4 组合资源传输隐蔽信息

3.3 隐蔽信道优化

基于可选参数序列进行隐蔽信息传输对主动的重排序攻击具有天然的弱势。如果攻击者恶意修改数据包的Message ID,就可能影响隐蔽信息的传输。为了使接收端能够正确接收隐蔽信息,在实现中可以通过添加MD5完整性校验来提高传输的准确性。MD5作为使用最广泛的数据完整性校验算法之一,它将任意长度的数据字符串转化成固定长度值,通过对接收数据执行散列运算来检查数据是否准确。

以规定的起始符和结束符为标志完成一次隐蔽信息的传输。隐蔽信息传输完成后,可通过事先规定的校验值传输的起始符和结束符传输隐蔽信息的单向散列值,传输方法与隐蔽信息的传输方法相同。接收端对接收到的隐蔽信息进行MD5完整性校验并对比接收到的MD5值,如果相同,说明隐蔽信息接收准确;如果不同,则通过发送与结束请求报文相对应的RST报文,告知发送方重新传输隐蔽信息。

4 实验与分析

4.1 实验设置

隐蔽通信场景如图5所示,实验环境主要由四台主机和一台交换机构成。其中:PC1和PC2作为隐蔽通信的发送端和接收端;PC3和PC4作为网络环境模拟器和入侵检测系统。发送端PC1通过Copper连接PC2,依据对应规则对请求数据包进行修改并发送。接收端PC2利用libCoAP开发工具自定义构建CoAP服务器,通过网络封包分析软件wireshark 2.6.8抓取数据包,解码器依据对应规则分析数据包并还原出隐蔽信息。PC3作为网络环境模拟器搭载Netem,通过设置不同的丢包率来模拟实际复杂的网络环境,PC4安装Snort入侵检测系统用于检测信道的隐蔽性。

图5 隐蔽通信场景

4.2 隐蔽性

隐蔽性作为实现隐蔽信道的根本要求,主要是指隐蔽信道不被发现的能力。CoAP协议作为当前应用广泛的物联网应用层协议之一,在公开信道可以传输大量信息,为隐蔽信道的存在提供较好的掩护。与此同时,基于CoAP协议参数序列的隐蔽信道构建方法不需要修改协议数据原有内容也不需要控制双方同步,加上低功耗特点使得CoAP更适合数据采集的场合,也使得GET方法成为CoAP最常见的方法,进一步增强了通过GET方法利用Accept关键字的参数序列来实现隐蔽信息传输的隐蔽性。

本文实验通过Snort入侵检测系统对信道的隐蔽性进行测试,在隐蔽信息的传输过程中,PC4未显示异常。测试结果表明该隐蔽信道对入侵检测系统具有一定的穿透性,隐蔽性较好。

4.3 鲁棒性

鲁棒性指隐蔽信道抗干扰和准确传输数据的能力。一般情况下,使用误码率作为鲁棒性评估的评测标准[18-19]。本文提出的隐蔽信道实现隐蔽传输的关键在于隐蔽信息的准确按序到达。CoAP虽然采用UDP作为传输层协议,但却通过增加消息层的方式弥补了UDP传输的不可靠性,而且CoAP的重传机制进一步提高了隐蔽信息传输的准确性。但是CoAP仍然对主动的重排序攻击无计可施,因此本文通过传输对比MD5值的方法缓解重排序攻击对隐蔽信息传输造成的危害。

为了测试信道的鲁棒性,本文实验通过网络环境模拟器Netem来模拟正常网络环境,在丢包率为1%、5%、10%的环境下,每次传输10 KB的隐蔽信息,每组测试10次,统计并计算时间型网络隐蔽信道IPCTC、MBCTC、基于CoAP协议参数序列的隐蔽信道在不同丢包率下的传输正确率,结果如表3所示。

表3 不同丢包率下各类隐蔽信道的平均传输正确率 %

传统时间型隐蔽信道都是利用协议数据单元的时间特性进行传输,网络的抖动、丢包、重传会对其解码造成一定的影响,这些在表3中都有体现。从表3可以看出,本文提出的隐蔽信道在较差的网络环境中仍然可以达到平均传输正确率100%。可见,该隐蔽信道具有良好的鲁棒性。

4.4 传输效率

Houmansadr等[20]将传输效率定义为每个隐蔽数据流包传递隐蔽信息的比特数。邓雨欣等[16]提出的基于MQTT协议命令分组编码隐蔽信道模型使得单个命令平均可传输8/3比特的隐蔽信息。而在本文实现隐蔽信息传输的方法中,每个隐蔽数据流包传递的隐蔽信息比特数取决于单一资源的媒体类型数或者组合资源的资源类型-媒体类型数。比较完备的CoAP服务器通常搭载多种资源,且每种资源存在多种媒体类型。通常情况下,无论是单一资源编码方式还是组合资源编码方式均可实现单次传输至少3比特的隐蔽信息。因此,本文提出的编码方式比命令分组编码方式具有更高的传输效率。

为了说明两种编码方式的互补优势,实验分别用单一资源编码方式和组合资源编码方式传输不同长度的隐蔽信息,其中单一资源编码方式采用20种媒体类型数,组合资源编码方式采用68种资源类型-媒体类型数,测试次数20次,记录并计算隐蔽信息传输所用的平均时间,如图6所示。

图6 两种编码方式传输时间

可以看出,由于组合资源编码方式在实现方面相对单一资源编码方式复杂,数据包发送速率相对较低。所以在隐蔽信息传输量相对较小且两种编码方式所具有的媒体类型数差距不大时,采用单一资源编码方式可以节约传输所需要的时间,进一步保证了隐蔽信道的隐蔽性和鲁棒性。但当需要传输的隐蔽信息量比较大时,采用具有较大媒体类型总数的组合资源编码方式能大大缩短隐蔽信息传输所需要的时间,占有更大的优势。

5 结 语

本文通过对轻量级物联网应用层协议CoAP进行分析,提出并实现一种基于CoAP协议参数序列的隐蔽信道构建方法。该方法不需要修改协议数据原有内容也不需要控制双方同步,仅仅通过控制Accept选项的可选参数编码隐蔽信息,附带GET请求的良好掩护,使之具有更好的隐蔽性。另一方面,CoAP的消息层设计和隐蔽信息的完整性校验与比对为隐蔽信道的实现提供了良好的鲁棒性。与此同时,隐蔽信息发送端可根据接收端实际情况和隐蔽信息传输实际需求选择合适的编码方式,灵活性较强,也可实现较高的传输效率,为实现物联网环境下新型隐蔽信道转移提供了可能。

猜你喜欢
信道比特传输
基于信道分类分析的无线通信改进均衡方法
基于自适应学习的5G通信系统信道估计方法
特斯拉的接班人:电力可以通过空气传输
广播电视信号传输的技术分析
一种基于向量回归的无人机通信信道选择方法
浅谈垂直极化天线在地面数字电视传输中的应用
《彭博》比特币有多贵?
比特币分裂
4K传输
比特币一年涨135%重回5530元