TCCBL:基于LTE-A系统的时序型隐信道
2020-01-14刘建花欧阳纯萍
黄 洋,刘建花,欧阳纯萍,杨 威
1(南华大学 计算机科学与技术学院,湖南 衡阳 421001)2(中国科学技术大学 计算机科学与技术学院,合肥 230026)
1 引 言
隐信道[1,2]是一种隐蔽信息的传输方式,它通过现有的信息传输信道利用现有的媒介来分块传输隐蔽信息.事实上,从字面意义来说,如果一个通信信道是隐蔽的,即通常意义上表示它对于不包含在通信过程中的任何第三方是不可见的.
总体来说,计算机系统评估准则(TCSEC,Trusted Computer System Evaluation Criteria)定义了两种类型的隐信道:存储型隐信道和时序型隐信道.一个存储型隐信道允许通信的一方将隐蔽信息写入一个特定的存储位置,另一方从该存储位置读取信息[3,4].相应地,一个时序型隐信道通过调制包间隔来实现通信双方的隐蔽信息传输[5,6].
然而,大部分已有的隐信道是基于广泛使用的协议,比如TCP/IP或者VoIP.到目前为止,只有很少的研究专注于设计基于LTE-A系统的隐信道,这意味着在这个方向很可观的发展空间.在本文中,我们致力于LTE-A(高级长期演进技术)系统中隐蔽通信的研究,提出了一种新型的隐信道TCCBL(Timing Covert Channel Based on LTE-A)来实现隐写策略.
本文的贡献可以总结成如下几点:
1)我们提出了一种新型的基于LTE-A系统的隐信道TCCBL.它利用保留的附加位元去传递隐蔽信息,支持混合自动重传请求(HARQ,Hybrid Automatic Repeat Request)来保证鲁棒性.另外,我们引入了一个包含预共享的哈希函数和控制参数的交互机制来实现可变的嵌入规则,从而保证了隐信道的灵活性.
2)对于隐写效率相关指标进行了理论分析验证.结果显示,隐信道的容量受三个参数的影响,分别是调制编码方案、所分配的资源块(RB,Resource Block)对的数目和隐蔽数据包的比例.
3)为了确认和验证理论的分析结果,我们在n3平台上进行了实验的验证模拟.
本文余下部分的组织结构如下:第2部分主要对相关技术的已有研究进行简要总结;第3部分对LTE-A协议栈和相关的背景进行简单的介绍;第4部分提出新型隐信道TCCBL的设计方案;第5部分对隐信道的相关指标进行理论分析评估;第6部分展示模拟和实验的结果;最后我们在第7部分对全文进行总结并讨论未来的研究方向.
2 相关工作
对TCP/IP协议而言,隐蔽信息往往被插入到冗余域,然后传送到信息的接收方.正如[7]中所描述的,TPC/IP数据包头被用来作为隐信道的媒介.时序型隐信道利用时序信息或者包排序信息来传输隐蔽信息.这些方案往往利用包间隔(PID)来建立一条时序型隐信道[8,9].对于VoIP流,Mazurczyk等人提出了两种隐写机制[10].具体来说,一种利用实时传输协议(RTP,Real-Time Transport Protocol)和实时控制协议(RTCP,Real-Time Control Protocol)来传输隐蔽信息;另一种利用延迟的音频包来实现存储时序混合型隐信道.而Ameri等人在文献[11]中提出了基于时间网络协议(NTP,Network Time Protocol)的网络隐信道.由此可见,大多数提出的隐信道都是基于通常使用的TCP/UDP协议、VoIP协议或者NTP协议.
到目前为止,对于设计基于LTE-A系统的隐信道的研究较少.因为LTE-A系统的时延相对较长,所以基于时延的时序型隐信道并不合适.
在最先基于LTE-A系统的隐信道的研究[12]中,Rezaeid等人调研了在LTE-A系统的MAC层(Media Access Control,媒体访问控制)、RLC层(Radio Link Control,无线链路层控制协议)和PDCP层(Packet Data Convergence Protocol,分组数据汇聚协议)进行信息隐藏的可能性,然后计算了可以隐藏信息的容量;但是没有展示具体的方案也没有进行网络的模拟实验.
Iwona等人提出一种隐写方案LaTEsteg[13],使用LTE网络物理层的附加位元,可获得最大隐蔽信息传输容量1.162M/s.基于他们的研究.我们通过可变的嵌入规则设计了一个更加灵活的方案,并且在n3平台实现了我们的隐信道系统.最近一个新型的隐信道SNsteg被提出,它利用序列号(SN,Sequence Number)去构建隐信道.举例而言,它发送三个序列包,前两个数据包的SN相同意味着第三个数据包嵌入了隐蔽信息.但是此方案基于严格的假设,即PDU可以被成功传输,HARQ没有开启.
文献[14]中提出了一种LTE-A系统中基于支持向量机的有监督学习框架,但是没有考虑隐信道的灵活性和鲁棒性.
因此,我们设计一个新型的隐信道TCCBL来克服以上的缺陷.首先,TCCBL利用一个交互机制来获取动态的嵌入规则以保证更加的灵活性.另外,TCCBL允许丢包,支持HARQ,从而保证了隐信道的鲁棒性.最后,我们所提出的隐写系统在n3平台进行了仿真模拟.
3 准备工作
LTE-A是现有的LTE发行版本8的升级版,支持更高的吞吐量、规模和更低的延迟,因此有更好的用户体验[15].现在LTE-A越来越流行,使其成为一个非常有前景的隐写载体.
3.1 LTE-A标准
LTE-A支持频分多路(FDD,Frequency Division Duplex)和时分多路机制(TDD,Time Division Duplex),使得在时间域上有不同的帧结构[16].我们所提出的隐信道利用了LTE-A的频分多路模式.在频分多路模式,每帧由十个1ms的子帧组成,每个子帧包含两个0.5ms的时间槽.这意味着每个传输帧的时间是10ms,而该0.5ms的时间槽称为资源块,是分配传输块(TB,Transport Block)的基本单位.
图1 从IP数据包构建传输块的过程Fig.1 Construction of TB from IP packet
3.2 LTE-A协议栈
LTE-A系统中的包传输是基于IP协议的应用.图1展示了IPD数据包被映射到传输块的过程,包括LTE-A协议栈的四层结构,分别为PDCP层、RLC层、MAC层和PHY层(Physical).具体而言,每一层从它的上层接收服务数据单元(SDU,Service Data Unit),通过增加一个特定的头部生成PDU.在这个过程中,根据SDU相较PDU的大小进行分段或者联结.RLC层在三种模式下进行工作,分为为:TM、UM和AM.我们所提出的隐写系统在UM和AM模式下工作.当一个PLC PDU只包含一个SDU的情况,RLC的包头如图2(a)和图2(b)所示.图3显示,MAC包头包含一定数量的MAC PDU的子包头,每一个子包头对应一个MAC控制元素、MAC SDU或者一个可选的附加位元.
图2 带有最长SN的RLC头的形式Fig.2 Format of RLC header with longest SN
4 设计方案
我们利用LTE-A系统中RLC头的序列号SN和MAC PDU的附加位元来设计一个具有鲁棒性和灵活性的隐信道.
图3 MAC PDU的组成格式Fig.3 Format of MAC PDU
但是,对比简单的填充或替换这两个域,我们分别从不同的角度进行利用.一个预先共享的哈希函数将一组数组{1,2,…,NC}映射到一组不同的SN值;然后那些序列号在所映射而成的SN数组中的数据包的附加位被用来嵌入隐蔽信息.如图4所示,我们在不影响公开信道的情况下建立一条LTE-A系统下的隐信道,该隐信道建立在两个用户设备(UE,User Equipment)即隐蔽通信的双方之间.我们的方案建立在如下三个前提之下:
1)两个UE之间通信流是非常稳定的.
2)过程中没有IP包的分段和SDU的联结.
3)LTE-A系统的RLC层工作在UM模式或者AM模式.
图5展示了我们所提出的隐写系统的体系结构.系统结构由两个主要部分组成,分别是交互机制和信息隐藏,具体细节将在后续内容中进行讨论.
图4 LTE-A系统中的隐信道原型Fig.4 A covert channel in LTE-A system
4.1 交互机制
隐信道的双方利用一个交互机制去协商隐写数据包.该交互机制通过一个预先共享的哈希函数来实现,算法1如下所示:
算法 1.Interactive Mechanism
Input:a variable parameterNC
Output:a set R consisting of SNs
1. v=0
2. for eachk∈[1,2,…,Nc] do
3.H(k)=(k+v)%1023+1
4. addH(k) to set R
5. end for
图5 TCCBL的体系结构Fig.5 Architecture of TCCBL
如图2所示,无论RLC层工作在AM模式或者UM模式,序列号SN只出现在头部,SN的长度只能是5bit或者10bit.在我们系统中,SN的最大长度被假设为10bit,即意味着序列号的取值范围为0到1023.因此,每次对序列号进行加法或者比较的时候需要进行模1024的操作.事实上,每个PDU的序列号SN增1,通过进行一个取模操作,SN在范围为[0,1023].
序列号SN为0的包用来作为通讯双方的同步.基于上述描述,隐蔽通信的双方维护一个特定的哈希函数H,产生一组特定的包序列号.哈希函数将每一个唯一的键值映射成一个特定的序列号.当一个数据包的序列号属于映射得到的SN数组,该包的附加位被替换成隐蔽信息.另外,通过使用一个特定的变量NC,我们可以灵活地设置隐写数据包占所有通信数据包的比例.只要能保证变化性和灵活性,哈希函数的具体形式可以多种多样.比如说,哈希函数的形式可以如下所示(v可以取不同的值):
H(k)=(k+v)%1023+1,v=0
值得一提的是,这里所使用的哈希函数只是为了获得可变的映射规则,而不是出于安全的考虑.在这个隐信道原型中,每隔5分钟,哈希函数可以通过增加v的值进行更新,从而更新隐蔽数据包的序列号数组.
4.2 MAC PDU中的信息隐藏
如图1所示,如果MAC头和MAC SDU不足以填满整个TB,剩下的部分将会被附加位填满.这里,MAC PDU的附加位被用来传输隐藏信息.对于每一个隐蔽包,我们可以通过在MAC PDU中只填充一个MAC SDU使得整个MAC帧的剩余部分都填充满附加位元,而所有附加位元的容量即使我们可以获得的最大的隐藏信息的容量.而对于每一个公开包,附加位元不会有任何修改.
4.3 隐蔽通信的过程
在这个部分,我们将会讨论在通信双方建立一条隐信道的过程.我们省略了一些通信的细节以便整个过程更加的抽象、更加容易理解.序列号SN为0的包被用来实现通信双方的同步.
如算法2所示,发送方通过往序列号为0的数据包的附加位写入非0的值开始一个隐信道.该非0的值正是变量Nc,代表了哈希键值的上届.接下来,序列号属于{H(1),H(2),…,H(NC)}的每一个数据包将被选择成为隐蔽数据包.这些隐蔽数据包的附加位用来填充隐蔽信息,而其他的数据包则不做修改.
算法 2.Communication process for sender
Input:a variable parameterNC,hash function H
1. Synchronization starts and set SN to zero
2.whilecommunication continues do
3. Creating a packet according to SN
4.ifSN==0then
5. Fill the padding field withNC
6.else
7. if SN∈{H(1),H(2),…,H(NC)}
8.fillthepaddingwithsecretinfo
9. end if
10. end if
11. Transfer the packet
12. end while
算法3描述了在隐信道中隐蔽信息接收的通信过程.具体而言,通过解析序列号为0的包,接收者可以获取变量NC.之后,接收者将会验证后续收到的每个数据包的序列号SN是否属于数组{H(1),H(2),…,H(NC)},并且从相应的附加位中获取隐藏的信息.值得一提的是,每个数据包的序列号都会被检查一次,防止包排序和丢包重传.
算法 3.Communication process for receiver
Input:hash function H
1.whilereceive a new packet do
2.ifSN==0
3. Get the parameterNCfrom padding
4.else
5. if SN∈{H(1),H(2),…,H(NC)}
6. Get the hiding information
7.endif
8. end if
9. Transfer the packet
10.endwhile
5 系统评估
在本文中,我们定义如下变量:
Tframe:以毫秒为单位的传输帧的时间(Tframe=10ms);
TBSIZE:传输块的大小,依赖于NB和MCS;
SIP:以字节为单位的当前传输IP包的大小(SIP=40bytes);
HPDCP:以字节为单位的PDCP头的大小(HPDCP=2bytes);
HRLC:以字节为单位的RLC头的大小(HRLC=2bytes);
HMAC:以字节为单位的MAC头的大小,在一个MAC PDU中只包含一个MAC SDU的情况下,HMAC=3bytes;
SPAD:以字节为单位的MAC PDU中附加域的大小;
NC:表示哈希键值上界的变量;
BR:依赖NC和SPAD的隐蔽信道容量.
表1 评估的六种情形
Table 1 Six scenarios to evaluate
ScenarioIMCSITBSNRBTBSIZEABCDEF11111122222210101020202030609030609066913351980176434525246
传输块TB的大小依赖于调制编码方案(Modulation and Coding Scheme,MCS)和分配得资源块的对数(RB)[2].每一个带有索引IMCS的MCS都有一个分配得参数ITBS.ITBS的范围是[0,26],NRB的范围是[1,110],它们共同决定了TB传输块的大小.因此,我们在表1中给出了6中不同的评估情形,来评价TCCBL的效率.
由图1可以发现,隐蔽信道容量依赖于MAC SDU的数目.基于这个观察,为了获得更高的隐蔽信道容量,我们假设一个RLC PDU中只包含一个RLC SDU,同时一个MAC PDU中只包含一个MAC SDU,即意味着在这个过程中不发生联结操作.因此,MAC层的附加于的大小可以计算如下:
SPAD=TBSIZE-(SIP+HPDCP+HRLC+HMAC)
在大多数情形下,上述的公式都能满足要求,因为TB的大小总是大于一个IP包和各层中所加的所有包头大小大小总和,所以在PDCP层存在IP包的分段.
由此可得,TCCBL的效率依赖于隐写数据包的比例(NC/1024)和单个隐写包中嵌入的隐蔽信息的容量(SPAD),则TCCBL的隐信道容量为:
则:
基于文献[3]中提及的数据包大小的分布,网络中40%的数据包的大小是40字节.因此,我们可以假定TCCBL系统中IP数据包的大小为:
SIP=40
图6展示了在上述假设下,不同情形下数据包附加域的大小即SPAD.表2给出了不同网络状况和可变参数下的隐蔽
图6 不同评估情形对应MAC PDU附加域的大小Fig.6 Size of MAC PDU padding in six scenarios
信道容量,显然地,隐信道的容量受3个因素的影响,分别是调制编码方案(ITBS)、分配RB对的数量(NRB)和隐写数据包的比例(NC/1024).
图7 不同参数下的隐信道吞吐量Fig.7 Hidden channel capacity under two parameters
6 仿真结果
为了验证和确认上述对于TCCBL效率的理论分析,我们在n3平台进行了一系列的仿真实验.这些模拟考虑了网络状态的和隐写数据包比例的影响.结果显示,隐写数据包的比例越大,隐信道的容量就会越大,但是相应地隐信道更容易被检测,更加脆弱.因此,平衡考虑,我们将四分之一的数据包设为了隐写包,即设置NC的值为256.
表2 TCCBL隐蔽信道容量
Table 2 Hidden channel capacity for TCCBL
NC25050100NRB=30ITBS=1015.18ITBS=2041.92ITBS=1030.36ITBS=2083.84ITBS=1060.72ITBS=20167.68NRB=60ITBS=1031.45ITBS=2085.32ITBS=1062.90ITBS=20170.64ITBS=10125.80ITBS=20341.28NRB=90ITBS=1041.19ITBS=20128.15ITBS=1082.84ITBS=2083.84ITBS=10256.30ITBS=20512.60
图7展示了IP包为40字节情况获取的隐信道容量.从图中可得,ITBS对隐信道的容量影响显著,并且分配越多的资源块对应更大的隐写容量.因此,仿真结果与上个章节的理论分析结果相符合.
7 总 结
在本文中,我们提出了针对LTE-A系统的一个更加鲁棒和灵活的隐信道TCCBL.当四分之一的数据包被隐写时,TCCBL可以获得的信道容量可达1655.2kps.
TCCBL综合利用了RLC层的序列号和MAC层的附加域来构建隐信道.具体而言,它包含两个功能块,分别是交互机制和信息隐藏过程.交互机制通过结合序列号SN的一个共享的哈希函数来实现.哈希函数可以有多种形式,从而保证了很大的可变性和灵活性.一个额外的可变参数可以定制隐写包占所有数据包的比例,从而影响整个隐信道的容量.对于信息隐藏过程,我们通过MAC层的附加位去嵌入隐蔽信息,保证对整个通信流不造成影响.另外,TCCBL利用了SN每次递增1的特征,保证隐信道在发生包排序和包重传的情况下依然正常工作.