计算机应用   2017, Vol. 37 Issue (12): 3412-3416  DOI: 10.11772/j.issn.1001-9081.2017.12.3412
0

引用本文 

徐光宪, 赵越, 公忠盛. 基于混沌序列的双重加密安全网络编码方案设计[J]. 计算机应用, 2017, 37(12): 3412-3416.DOI: 10.11772/j.issn.1001-9081.2017.12.3412.
XU Guangxian, ZHAO Yue, GONG Zhongsheng. Design of secure network coding scheme by double encryption based on chaotic sequences[J]. Journal of Computer Applications, 2017, 37(12): 3412-3416. DOI: 10.11772/j.issn.1001-9081.2017.12.3412.

基金项目

国家科技支撑计划项目(2013BAH12F02);辽宁省高等学校杰出青年学者成长计划项目(LJQ2012029)

通信作者

公忠盛, E-mail:gzs19920608@sina.com

作者简介

徐光宪(1977-), 男, 江苏盐城人, 教授, 博士, 主要研究方向:信息论、网络编码;
赵越(1992-), 女, 辽宁葫芦岛人, 硕士研究生, 主要研究方向:信息论、网络编码;
公忠盛(1992-), 男, 山东泰安人, 硕士, 主要研究方向:网络编码、信息安全

文章历史

收稿日期:2017-06-01
修回日期:2017-09-18
基于混沌序列的双重加密安全网络编码方案设计
徐光宪, 赵越, 公忠盛    
辽宁工程技术大学 电子与信息工程学院, 辽宁 葫芦岛 125105
摘要: 针对当前对抗全局窃听的网络编码方案计算量大、占用带宽大、安全性不高等问题,提出一种基于混沌序列的双重加密方案。首先,利用密钥对传输数据的最后一维进行加密,加密时用数据本身扰动混沌序列;然后,用另一密钥和随机数密钥生成编码系数矩阵,此时用m序列对混沌序列进行扰动;最后,用得到的编码系数矩阵对未加密消息和加密消息进行线性组合,实现对抗全局窃听。由于编码系数矩阵是由密钥生成的,不需要在信道中传输编码系数,相对于实体网络编码(SPOC)方案,所提方案节省了网络中对编码系数传输的带宽开销。分析和实验结果表明,该方案提高了网络的安全性能,对唯密文攻击和已知明文攻击都能起到作用,并且提高了传输效率,算法复杂度适中。
关键词: 全局窃听    混沌序列    m序列    唯密文攻击    已知明文攻击    
Design of secure network coding scheme by double encryption based on chaotic sequences
XU Guangxian, ZHAO Yue, GONG Zhongsheng     
School of Electronic and Information Engineering, Liaoning Technical University, Huludao Liaoning 125105, China
Abstract: Concerning the problems of the existing network coding schemes against global wiretapping attack such as large amount of computation, low bandwidth efficiency and low security, a secure network coding scheme by double encryption based on chaotic sequences was proposed. Firstly, a key was used to encrypt the last dimensional transmission data and the chaotic sequences were disturbed by the data itself while encrypting. Then, another key and a random number key were used to generate coding coefficient matrix, while the chaotic sequences were disturbed by m sequence. Finally, the obtained coding coefficient matrix was used for the linear combination of encrypted messages and unencrypted messages against global wiretapping attacks. Since the coding coefficient matrix was generated by the keys, the coding coefficients were not needed to be transmitted in the channel. Compared with the traditional Secure Practical Network Coding (SPOC) scheme, the proposed scheme saves the bandwidth overhead of the transmission of coding coefficients in the network. The analysis and experimental results show that, the proposed scheme improves the safety performance of network, which ciphertext-only attacks and known plaintext attacks can all be resisted. And the proposed scheme can also improve the transmission efficiency, and its algorithm complexity is moderate.
Key words: global wiretapping    chaotic sequence    m sequence    ciphertext-only attack    known plaintext attack    
0 引言

传统通信网络中,中间节点只能对数据进行存储和转发,不对数据作任何处理。然而Ahlswede等[1]在2000年基于网络信息流提出网络编码概念后,对传统的网络传输模式产生了巨大冲击。网络编码的核心思想是在中间节点对收到的消息进行合理编码后再发送给下级节点,最后信宿节点对收到的数据进行解码恢复出信源消息。网络编码的使用大幅提升了网络性能,均衡了网络负载,提高了网络吞吐量,使网络能够达到理论最大流,深入的研究还表明网络编码在安全传输方面也有一定表现。随着网络编码在网络系统中的应用日渐成熟,其安全问题日益受到人们关注,虽然网络编码本身对数据具有一定的保护作用,但对于攻击者而言破译难度并不大,因此,对安全网络编码的研究成为当前研究的热点之一。

安全网络编码主要涉及窃听攻击和污染攻击两种[2],窃听攻击是指窃听者通过在网络中搭线窃听到传输的数据并试图恢复信源消息的一种攻击,窃听攻击是一种被动攻击。污染攻击是指攻击者通过网络中的某个或某些节点加入噪声使信宿节点收到与标准传输不同的消息而无法恢复出信源消息的攻击方式,污染攻击是一种主动攻击。本文所研究的内容是针对窃听攻击的。

窃听攻击的网络编码方案主要分为基于信息论和基于密码学两类[2]。基于信息论的安全网络编码要求窃听者窃听到的链路少于网络最大流,即信宿节点输入链路数,从而无法得到和信源消息相关的任何信息;基于密码学的安全网络编码主要通过隐藏或置换信源消息或编码系数而获得网络安全性,使窃听者无法获得正确的消息。

针对网络编码的窃听问题,Cai等[3]首先构造出了窃听模型,给出了网络编码能够实现安全传输的限制条件,Yeung等[4]证明了方案的最优性。文献[5]中正式提出了r-安全网络编码的概念,给出了该模型下实现网络安全的条件,要求窃听者所能窃听到的链路数小于r,当窃听者所能窃听到的链路数大于等于r时,信息就会泄露。为解决此问题,Harada等[6]提出了强r-安全网络编码方案,使窃听者窃听到的链路数大于r时也能不泄露信源消息,但此方案需要依靠特定的网络拓扑结构,也占用了大量带宽,应用性并不高。于是,Bhattad等[7]提出了弱安全网络编码的概念,适当放宽了文献[7]中的安全条件,同时保证了网络不泄露信息,约束条件是窃听者窃听到的链路数小于网络最大流。

基于信息论安全的网络编码方案都需要对窃听者的窃听能力进行限制,才能保证网络安全,面对窃听能力更强的攻击者,就会泄露有效数据。对于当前网络,很多窃听者可以窃听到全局网络,因此,基于密码学的安全网络编码方案得到应用,Vilela等[8]提出了实体安全网络编码(Secure Practical Network Coding, SPOC)方案,这种方案是靠对编码系数加密而实现网络安全的,能够抵抗全局窃听,但方案中需要将加密后的编码系数随网络一同传输,占用了网络带宽。Fan等[9]运用同态加密手段对全局编码向量加密来对抗全局窃听,但扩大了编码域,增加了运算复杂度。文献[10]以置换加密为基础构造出P编码方案,提高了编码速度,但是无法抵抗已知明文攻击;文献[11]提出一种稀疏系数矩阵和加密数据结合的方法,首先对前r维数据加密,再构造与r相关的编码矩阵,提升了网络安全性,但计算量相对较大,且同样占用网络带宽;Guo等[12]将文献[13]中提出的AONT(All-Or-Nothing Transforms)安全网络编码算法进行改进,用组合后的系数加密最后一维数据,减小了加密量,但同样无法抵抗已知明文攻击;徐光宪等[14-16]首先将混沌序列应用于安全网络编码方案,但这些方案都是基于信息论下的安全,不能抵抗全局窃听。

为了提高上述文献中安全编码方案的安全性和带宽利用率,减少编码时间,提高编码效率,本文提出一种基于混沌序列的双重加密安全网络编码方案,使用密钥对数据的最后一维进行加密,用m序列扰动另一密钥生成的混沌序列与随机数构成一个稀疏的编码矩阵。经分析对比可以证实:本方案不占用带宽,能够抵抗唯密文攻击和已知明文攻击,算法复杂度适中。

1 线性网络编码

本文研究的目标网络是单信源多信宿无圈线性网络编码,一个网络模型用有向图G(V, E)表示,V是图中链路集,E是图中节点集,e=(u, v)表示以v=head(e)为链路头、以u=tail(e)为链路尾的链路,对节点v,以v为链路尾的链路数定义为v的入度,记为ΓI(v)={head(e)=v|eE},以v为链路头的链路数目定义为节点v的出度,记为ΓO(v)={tail(e)=v|eE}。

定义1   线性网络编码。正整数ω是有限域GF(q)上的元素,用kd, e表示无环网络中邻接信道对(d, e)的关系,fe是信道e的全局编码核,为一个ω维向量,满足如下条件时,称之为线性网络编码。

1) ${\mathit{\boldsymbol{f}}_e} = \sum\limits_{d \in {\mathit{\Gamma }_I}\left( T \right)} {{k_{d, e}}{f_d}} $,其中eΓO(T);

2) 向量空间fω的自然基底由ω个虚拟信道eΓI(S)的向量构成。

2 混沌序列

定义2  混沌序列[17]。将一个离散时间的混沌系统表示为xk+1=f(xk), 0 < xk < 1(k=0, 1, …), 其中,f(x)是混沌系统的映射函数,系统以初值x0迭代得到一条离散时间的轨迹序列{xk|k=0, 1, …},即混沌序列。

混沌序列具有以下几种特征:

1) 混沌序列由特定方程产生,可控性好。

2) 混沌系统只能在非线性映射中经过反复分离与折叠产生,映射关系不可逆。

3) 混沌序列对初值及其敏感,即使初值变化微小经过多次迭代后产生的结果也可能相差很大。

混沌序列的这些特性使其成为密码学中重要的加密手段。下面介绍几种常见的产生混沌序列的混沌映射。

Logistic映射的表达式如式(1):

$ {x_{n + 1}} = \mu {x_n}(1-{x_n}) $ (1)

其中当3.5699456 < μ≤4时出现混沌状态,且当μ=4时为满映射。

tent映射的表达式如式(2):

$ {x_{n + 1}} = \left\{ \begin{array}{l} {x_n}/a, \;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;0 \le {x_n} \le a\\ \left( {1-{x_n}} \right)/\left( {1-a} \right), \;\;\;a \le {x_n} \le 1 \end{array} \right. $ (2)

其中当0 < a < 1且0≤xn≤1时出现混沌,输出信号具有普遍性和确定性,输入信号均匀分布是输出信号同样满足均匀分布。

Henon映射的表达式如式(3):

$ {x_{n + 1}} = \left\{ \begin{array}{l} 1 + {y_n}-a_n^2\\ b{x_n} \end{array} \right. $ (3)

此映射是一种二维混沌映射,需满足1.5 < a < 1.8且b=0.3,Henon具有两个映射平面,产生的混沌序列具有特殊性,需要结合使用。

Chebyshev映射的表达式如式(4):

$ {x_{n + 1}} = \cos (k \ {\cos ^{-1}}{x_n}) $ (4)

此映射是一个区间到区间的满映射,k是映射阶数,当k>2时处于混沌状态。

本文的加密方案采用的序列是Logistic混沌序列,其具有良好的混沌特性,且容易实现,符合本文加密要求。

3 编码方案

为提高网络安全性,提高带宽利用率,本文将混沌系统应用于安全网络编码。随机选定符合条件的两个混沌序列初值及一个有限域内的随机数作为密钥,首先利用密钥对信源消息的最后一维数据进行加密,同时用另一密钥生成混沌序列,并选取随机数生成m序列对其连续扰动,结合随机数构造出稀疏预编码矩阵;最后将用编码系数矩阵将加密的消息与未加密消息进行线性组合,发送到编码信道中,到信宿节点完成译码。

3.1 信源端加密

单源有向线性网络G(V, E)的最大流为R,信源产生如式(5)的消息X,其中包含n维消息向量,每一维消息向量的长度为m个数据包,数据中的元素xij取自有限域GF(q),消息向量的维数n不大于网络最大流R。信源与信宿共享加密数据以及生成编码系数矩阵的密钥αβk和m序列的初值m0

$ \mathit{\boldsymbol{X}} = \left( {\begin{array}{*{20}{c}} {{x_{11}}}&{{x_{12}}}& \cdots &{{x_{1m}}}\\ {{x_{21}}}&{{x_{22}}}& \cdots &{{x_{2m}}}\\ \vdots&\vdots&\ddots&\vdots \\ {{x_{n1}}}&{{x_{n2}}}& \cdots &{{x_{nm}}} \end{array}} \right) = \left( {\begin{array}{*{20}{c}} {{\mathit{\boldsymbol{x}}_1}}\\ {{\mathit{\boldsymbol{x}}_2}}\\ \vdots \\ {{\mathit{\boldsymbol{x}}_n}} \end{array}} \right) $ (5)

信源产生消息X=(x1, x2, …, xn)T后,提取信源消息中的最后一维数据xn进行加密得到加密向量cn,方法采用文献[15]中的方法。用Y(α)表示用初值α生成混沌序列的过程,加密过程如式(6):

$ \begin{array}{l} {\mathit{\boldsymbol{c}}_n} = ({x_{n1}} + Y(\alpha ), {x_{n2}} + Y({x_{n1}}, \alpha ), \cdots, {x_{nm}} + \\ \;\;\;\;\;\;\;\;Y({x_{n1}}, {x_{n2}}, \cdots {x_{nm-1}}, \alpha )) \end{array} $ (6)

此时信源消息表示为X=(x1, x2, …, xn-1, cn)T

随后构造编码系数矩阵TT中的对角线元素是m序列扰动Logistic混沌序列所生成的[18],用ti(i∈[1, n])表示编码系数矩阵T中的对角线元素,则t1=Y(β)⊕m1t2=Y(t1)⊕m2, …, tn=Y(tn-1)⊕mn,其中,mi(i∈[1, n])表示利用初值所生成的m序列中每8位伪随机所组成的数,⊕在此处表示模二加运算。最后一列除tn外全部为随机数k,矩阵表示为式(7):

$ \mathit{\boldsymbol{T}} = \left( {\begin{array}{*{20}{c}} {{t_1}}&0& \cdots &k\\ 0&{{t_2}}& \cdots &k\\ \vdots&\vdots&\ddots&\vdots \\ 0&0& \cdots &{{t_n}} \end{array}} \right) $ (7)

生成编码系数矩阵后,用该矩阵对加密后的消息进行组合,得到最终的加密消息X,表示为式(8):

$ \mathit{\boldsymbol{X'}} = \mathit{\boldsymbol{TX''}} = \left( {\begin{array}{*{20}{c}} {{t_1}}&0& \cdots &k\\ 0&{{t_2}}& \cdots &k\\ \vdots&\vdots &{}& \vdots \\ 0&0& \cdots &{{t_n}} \end{array}} \right)\left( {\begin{array}{*{20}{c}} {{\mathit{\boldsymbol{x}}_1}}\\ {{\mathit{\boldsymbol{x}}_2}}\\ \vdots \\ {{\mathit{\boldsymbol{c}}_n}} \end{array}} \right) = \left( {\begin{array}{*{20}{c}} {{{\mathit{\boldsymbol{x'}}}_1}}\\ {{{\mathit{\boldsymbol{x'}}}_2}}\\ \vdots \\ {{{\mathit{\boldsymbol{x'}}}_n}} \end{array}} \right) $ (8)

得到加密消息X后,为方便记录全局编码向量,方便传输,需要将X与单位矩阵结合,构成发送消息M,如式(9):

$ \mathit{\boldsymbol{M}} = \left[{I, \mathit{\boldsymbol{X'}}} \right] = \left( {\begin{array}{*{20}{c}} 1&0& \cdots &0&{{{\mathit{\boldsymbol{x'}}}_1}}\\ 0&1& \cdots &0&{{{\mathit{\boldsymbol{x'}}}_2}}\\ \vdots&\vdots&& \vdots&\vdots \\ 0&0& \cdots &1&{{{\mathit{\boldsymbol{x'}}}_n}} \end{array}} \right) $ (9)

为减小计算量,本文在加密一维信源消息数据和生成编码系数矩阵时产生的Logistic混沌序列均采用整数值序列[19]方法生成,在利用整数值序列生成混沌序列时,Logistic混沌序列变为式(10):

$ {x_{n + 1}} = \mu {x_n}({2^n}-{x_n})/{2^n}, 0 \le {x_n} < {2^n} $ (10)
3.2 中间节点编码

本文方案在消息传输过程中不需要中间节点对数据进行额外处理,只需要按照标准随机线性网络编码将消息传递给信宿节点即可。

3.3 信宿端译码

信宿节点与信源共享密钥αβk和m序列初值m0,首先信宿节点用βkm0这三个条件构造出编码系数矩阵T,当信宿节点收到n个线性无关的向量时,利用高斯消元法,首先恢复出X,如式(11):

$ \mathit{\boldsymbol{X''}} = \left( {\begin{array}{*{20}{c}} {{{\mathit{\boldsymbol{x'}}}_1}}\\ {{{\mathit{\boldsymbol{x'}}}_2}}\\ \vdots \\ {{{\mathit{\boldsymbol{x'}}}_n}} \end{array}} \right){\left( {\begin{array}{*{20}{c}} {{t_1}}&0& \cdots &k\\ 0&{{t_2}}& \cdots &k\\ \vdots&\vdots &{}& \vdots \\ 0&0& \cdots &{{t_n}} \end{array}} \right)^{-1}} = \left( {\begin{array}{*{20}{c}} {{\mathit{\boldsymbol{x}}_1}}\\ {{\mathit{\boldsymbol{x}}_2}}\\ \vdots \\ {{\mathit{\boldsymbol{c}}_n}} \end{array}} \right) $ (11)

由此就得出了前n-1维数据和加密的cn,再用密钥α恢复出信源的最后一维消息xn,就恢复出了信源的全部消息。

4 性能分析 4.1 安全性能分析 4.1.1 唯密文攻击

假设窃听者具有全局窃听能力,能够获得信道上传输的全部数据,窃听者根据这些数据试图恢复信源消息的行为,称为唯密文攻击。

从第2章对混沌序列的介绍中可知,由一个初值产生的混沌序列具有不可逆性,因此对于窃听这而言可以被认为是相互独立且均匀分布的,由此得到定理1。

定理1  编码系数矩阵T与加密数据矩阵X对于窃听者而言相互独立。

$ \begin{array}{l} {\rm{Pr}}(\mathit{\boldsymbol{T}} = \mathit{\boldsymbol{\hat T}}|\mathit{\boldsymbol{X'}} = \mathit{\boldsymbol{\hat X'}}) = \frac{{{\rm{Pr}}(\mathit{\boldsymbol{T}} = \mathit{\boldsymbol{\hat T}}|\mathit{\boldsymbol{X'}} = \mathit{\boldsymbol{\hat X'}})}}{{{\rm{Pr}}\left( {\mathit{\boldsymbol{X'}} = \mathit{\boldsymbol{\hat X'}}} \right)}} = \\ \;\;\;\;\;\frac{{\Pr (\mathit{\boldsymbol{T}} = \mathit{\boldsymbol{\hat T}}, \mathit{\boldsymbol{X''}} = \mathit{\boldsymbol{\hat X''}})}}{{\Pr \left( {\mathit{\boldsymbol{X'}} = \mathit{\boldsymbol{\hat X'}}} \right)}} = \frac{{\Pr (\mathit{\boldsymbol{T}} = \mathit{\boldsymbol{\hat T}})\Pr (\mathit{\boldsymbol{X''}} = \mathit{\boldsymbol{\hat X''}})}}{{\Pr \left( {\mathit{\boldsymbol{X'}} = \mathit{\boldsymbol{\hat X'}}} \right)}} = \\ \;\;\;\;\;\;\Pr \left( {\mathit{\boldsymbol{T}} = \mathit{\boldsymbol{\hat T}}} \right) \end{array} $ (12)

定理1说明了对窃听攻击者,只能使用穷举法来确定编码系数矩阵T,因此窃听者无法获取网络中的线性编码构造,也就无法恢复信源消息,由此得到定理2。

定理2  计算能力有限的窃听者即使获得网络信道中的所有信息也无法正确恢复出信源消息。

证明  由于窃听者能够窃听到网络中所有信息,因此能够得到加密消息矩阵X,而由定理1知窃听者无法确定编码系数矩阵T,且信源对最后一维信源消息进行了加密,因此窃听者无法恢复出${\mathit{\boldsymbol{x}}_i}\mathit{\boldsymbol{ = }}{{\mathit{\boldsymbol{\hat x}}}_i}$,推导过程如式(13):

$ \begin{array}{l} \Pr ({\mathit{\boldsymbol{x}}_i} = {{\mathit{\boldsymbol{\hat x}}}_i}|{{\mathit{\boldsymbol{x'}}}_i} = {{\mathit{\boldsymbol{\hat x'}}}_i}) = \Pr ({\mathit{\boldsymbol{x}}_i} = {{\mathit{\boldsymbol{\hat x'}}}_i}-k{\mathit{\boldsymbol{c}}_n}/{t_i}) = \\ \;\;\;\;\Pr ({\mathit{\boldsymbol{x}}_i} = {{\mathit{\boldsymbol{\hat x}}}_i}) \end{array} $ (13)

证明  编码系数矩阵T与加密传输矩阵X相互独立,即证明Pr(T=${\mathit{\boldsymbol{\hat T}}}$|X=${\mathit{\boldsymbol{\hat X}}}$)=Pr(T=${\mathit{\boldsymbol{\hat T}}}$),给定一个可逆矩阵T=${\mathit{\boldsymbol{\hat T}}}$,根据${\mathit{\boldsymbol{\hat X}}}$=${\mathit{\boldsymbol{\hat T}}}$${\hat X}$,矩阵T=${\mathit{\boldsymbol{\hat T}}}$能够得到唯一的矩阵X=${\mathit{\boldsymbol{\hat X}}}$,即当编码系数矩阵满秩T时,可以得到Pr(X=${\mathit{\boldsymbol{\hat X}}}$)=Pr(X=${\mathit{\boldsymbol{\hat X}}}$),从构造中可以看出编码系数矩阵必满秩,推导过程如式(12)。

定理2说明了窃听者不可能通过窃听到的消息恢复出信源消息,所以方案能够保证窃听者在唯密文攻击下的安全。

4.1.2 已知明文攻击

针对已知明文攻击,假设窃听者获取了信源消息xi,窃听者依然具有全局窃听能力,那么加密消息对于窃听者都是透明的,显然窃听者可以获得加密消息xi,加密消息和对应的明文消息有如式(14)的关系:

$ {{\mathit{\boldsymbol{x'}}}_i} = {t_i} \cdot {\mathit{\boldsymbol{x}}_i} + k \cdot {\mathit{\boldsymbol{c}}_n} $ (14)

窃听者在获得信源消息xi及窃听到加密消息xi后仍有三个参数无法确定,即tikcn,窃听者也就无法从窃听到的明文消息获取其他维的明文消息向量,因此方案能够保证窃听者在已知明文攻击下的安全性。

4.1.3 已知其他信息攻击

在4.1.2节中讨论了已知明文攻击,接下来考虑最坏的情况,即窃听者获得了关于一维消息的全部信息,也就是说式(10)中所有的参数对于窃听者而言都是已知的,那么相对于其他维加密消息而言,也就已知了最后一维加密消息cn和随机数k,窃听者可以通过计算xi-k·cn=ti·xi来获取其他维数据的ti倍,而由定理1可知,窃听者通过获得的编码系数无法推断出其他代编码系数,也就是说ti的值依然只能通过穷举法获得,因此其他维信源消息依然是安全的,由此得出结论,窃听者即使获取了与一维消息相关的所有信息,依然无法破解其他维信源消息,也就可以推断出,当与消息向量相关的部分消息泄露时,信源消息是安全的。

4.2 有效性分析

为验证加密算法有效性,本文以对文本文件加密为例来说明,仿真软件使用的是Matlab R2014a,仿真结果如图 1所示。

图 1 加密解密仿真结果 Figure 1 Simulation results of encryption and decryption

仿真过程中Logistic混沌序列取μ=4,密钥α=50,β=100,随机数k=75,m序列的初值m0取16位全1值,加密后的文件如图 1(b)所示,获得了良好的加密效果。图 1(c)是用正确密钥还原的文本数据,而图 1(d)中解密失败的文本数据使用的密钥为α=51,β=101,k=76,m序列初值m0取值将最后一位1变为0所得的结果,可以看出,密钥即使相差微小,也不能解出信源发送出的数据。

4.3 性能对比

针对本文提出的方案,通过与文献[8]方案、文献[11]方案和文献[12]方案在带宽开销、加密量、算法复杂度和编码效率上分别作比较来分析本文所提方案的性能。

文献[8]中的方案需要在网络中传输加密后的编码系数,每发送一个数据都需要增加m个符号;同样文献[11]方案也需要传送预编码矩阵中的数据,带宽开销为r+1;这两种方案都引入了额外的带宽开销,降低了编码效率。文献[12]方案的预编码矩阵只有一位密钥是不确定的,因此无需占用网络带宽;本文的编码系数矩阵是通过密钥生成的,也无需传输编码系数矩阵,因此没有引入带宽开销。

加密量方面,文献[8]中需要对整个编码系数矩阵加密,因此加密量为m2;文献[11]中的加密量与定义的数据加密维数r有关,等于稀疏编码系数矩阵和加密的数据数之和,为m(r+1)+rn;文献[12]中的加密量最少,仅是对组合后的最后一维数据进行了加密,加密量为n;本文所提方案中加密量为编码系数矩阵的对角线个数和一维信源消息的元素数之和,为m+n

文献[8]所构成的编码系数矩阵是非稀疏的,组合后的每一位数据都是编码前所有维数据的线性组合,因此计算复杂度较大,为O(m2n);文献[12]采用了稀疏编码系数矩阵,减小了编码复杂度,为O(mn);文献[11]虽然也采用了稀疏编码系数矩阵,但是加密复杂度和参数r有关,r决定了编码系数矩阵的稀疏程度,因此编码复杂度为O(rmn);本文方案采用的也是稀疏编码系数矩阵,加密复杂度为O(mn)。

对比不同方案的带宽开销、加密量和编码复杂度的情况如表 1所示。

表 1 不同方案参数对比 Table 1 Comparison of different scheme parameters

为比较不同编码方案的效率,本文采用对比等长数据所需时间来比较编码效率,编码数据的长度取n=1500,网络多播容量设为m=8,编码有限域大小设为GF(q)=256,信息包数目最多为5000,文献[8]方案和文献[12]方案中高级加密标准(Advanced Encryption Standard, AES)的密钥长度取192 b,文献[12]方案中取参数r=1,记录各算法编码时间如图 2所示。

图 2 不同方案编码时间比较 Figure 2 Comparison of different schemes' coding time

图 2中可以看出,文献[8]和文献[11]两种采用了AES加密算法的方案所用时间最长,由于文献[11]方案在预编码矩阵中只用到了加法运算,因此所用时间稍小于文献[8]方案;由此可以看出,文献[11]方案虽然加密量小,但是其安全性较低,攻击者一旦破解加密的一维数据,信源的所有消息就都被泄露出去了,因此文献[11]方案在加密这一维数据时采用了安全性能较高的AES加密算法,因此虽然文献[11]加密量少,但加密时间并不占优势,编码效率不高;文献[12]方案在加密信源消息时采用了流密码,预编码矩阵为稀疏矩阵,稀疏程度与参数r有关,当r取1时,编码系数矩阵与本文相同,但最后一维的加密系数不同,所用时间适中;本文采用的编码系数矩阵稀疏程度要比文献[12]方案中的要大,且加密一维编码向量时也只用到了加法运算,加密时间小于文献[12]方案,加密时间相对于其他几种加密方案是最小的,因此本文所采用的方案编码效率最高。

5 结语

本文提出了基于混沌序列的双重加密安全网络编码方案,提升了网络的安全性能,既能抵抗唯密文攻击,也对已知明文攻击有效,且没有占用网络带宽,加密时间少,提高了编码效率。该方案不需要特殊的网络结构,按照标准随机线性网络编码传输就可以安全传输,具有普遍适用性。基于本文所提方案可以寻找更高维度的混沌序列以及对混沌序列的扰动方式来实现对于大文件的加密,增大序列周期和密钥空间,此外将本文方案推广到一般网络编码的问题也值得探讨。

参考文献(References)
[1] AHLSWEDE R, CAI N, LI S Y R, et al. Network information flow[J]. IEEE Transactions on Information Theory, 2000, 46(4): 1204-1216. DOI:10.1109/18.850663
[2] 俞立峰, 杨琼, 于娟, 等. 防窃听攻击的安全网络编码[J]. 计算机应用研究, 2012, 29(3): 813-818. (YU L F, YANG Q, YU J, et al. Secure network coding against wiretapping attacks[J]. Application Research of Computers, 2012, 29(3): 813-818.)
[3] CAI N, YEUNG R W. Secure network coding[C]//Proceedings of the 2002 IEEE International Symposium on Information Theory. Piscataway, NJ:IEEE, 2002:323.
[4] YEUNG R W, CAI N. On the optimality of a construction of secure network codes[C]//ISIT 2008:Proceedings of the 2008 IEEE International Symposium on Information Theory. Piscataway, NJ:IEEE, 2008:166-170.
[5] CAI N, YEUNG R W. Secure network coding on a wiretap network[J]. IEEE Transactions on Information Theory, 2011, 57(1): 424-435. DOI:10.1109/TIT.2010.2090197
[6] HARADA K, YAMAMOTO H. Strongly secure linear network coding[J]. IEICE Transactions on Fundamentals of Electronics, Communications & Computer Sciences, 2008, E91-A(10): 2720-2728.
[7] BHATTAD K, NARAYANAN K R. Weakly secure network coding[C]//Proceedings of the 2005 First Workshop on Network Coding, Theory, and Applications. Piscataway, NJ:IEEE, 2005:281-285.
[8] VILELA J P, LIMA L, BARROS J. Lightweight security for network coding[C]//Proceedings of the 2008 IEEE International Conference on Communications. Piscataway, NJ:IEEE, 2008:1750-1754.
[9] FAN Y F, JIANG Y X, ZHU H J, et al. An efficient privacy-preserving scheme against traffic analysis attacks in network coding[C]//Proceedings of the 20098th IEEE International Conference on Computer Communications. Piscataway, NJ:IEEE, 2009:2213-2221.
[10] ZHANG P, JIANG Y X, LIN C, et al. P-coding:secure network coding against eavesdropping attacks[C]//Proceedings of the 201029th Conference on Information Communications. Piscataway, NJ:IEEE, 2010:2249-2257.
[11] LIU G J, LIU B Y, LIU X M, et al. Low-complexity secure network coding against wiretapping using intra/inter-generation coding[J]. China Communications, 2015, 12(6): 116-125. DOI:10.1109/CC.2015.7122470
[12] GUO Q, LUO MX, LI L X, et al. Secure network coding against wiretapping and Byzantine attacks[J]. EURASIP Journal on Wireless Communications and Networking, 2010, 2010: Article ID 216524. DOI:10.1155/2010/216524
[13] 罗明星, 杨义先, 王励成, 等. 抗窃听的安全网络编码[J]. 中国科学:信息科学, 2010, 40(2): 371-380. (LUO M X, YANG Y X, WANG L C, et al. Secure network coding against eavesdropping[J]. SCIENTIA SINICA Informationis, 2010, 40(2): 371-380.)
[14] 徐光宪, 李晓彤, 罗荟荟. 一种基于混沌序列的安全网络编码设计与分析[J]. 计算机科学, 2013, 40(5): 147-149. (XU G X, LI X T, LUO H H. Analysis and design of network coding based on chaotic sequence[J]. Computer Science, 2013, 40(5): 147-149.)
[15] 徐光宪, 吴巍. 混沌序列在安全网络编码算法中的应用研究[J]. 计算机应用研究, 2014, 31(4): 1212-1214. (XU G X, WU W. Research on application of chaotic sequence in security of network coding[J]. Application Research of Computers, 2014, 31(4): 1212-1214.)
[16] 徐光宪, 高嵩, 华一阳. 基于Cat-Logistic模型的安全网络编码方法研究[J]. 计算机工程, 2015, 41(9): 150-154. (XU G X, GAO S, HUA Y Y. Research on secure network coding method based on Cat-Logistic model[J]. Computer Engineering, 2015, 41(9): 150-154.)
[17] 黎明. 混沌序列及其在扩频通信中应用的研究[D]. 长春: 吉林大学, 2009: 29. (LI M. Chaos sequences and its applications in spread spectrum communication[D]. Changchun:Jilin University, 2009:29.) http://cdmd.cnki.com.cn/Article/CDMD-10183-2009092801.htm
[18] 何朗日, 李萍, 陈水华. 基于m序列持续扰动Logistic混沌序列的视频加密及FPGA实现[J]. 激光杂志, 2015, 36(9): 56-59. (HE L R, LI P, CHEN S H. The video encryption with Logistic chaotic sequence based on m sequence disturbance and its FPGA implementation[J]. Laser Journal, 2015, 36(9): 56-59.)
[19] 顾书斌. 基于FPGA改进混沌序列方法研究及加密系统设计[D]. 哈尔滨: 黑龙江大学, 2015: 13-14. (GU S B. Research on improved chaotic sequence method and its design of encryption system based on FPGA[D]. Harbin:Heilongjiang University, 2015:13-14.) http://cdmd.cnki.com.cn/Article/CDMD-10212-1015375331.htm