当前位置:首页 期刊杂志

改进混沌方程及其在保密VoIP系统中的应用与实现*

时间:2024-07-28

杨 轶,荣 锋,武志刚

(天津工业大学 电气与电子工程学院,天津 300387)

0 引 言

网络语音(Voice over Internet Protocol,VoIP)是一种利用IP网进行话音传输的技术,随着互联网的高速发展VoIP技术已经十分普及。虽然在IP网中有防火墙等安全保护措施,但由于网络环境的复杂性,采用明文传输话音数据的VoIP系统仍具有因窃听等攻击导致信息泄露的风险[1]。由于混沌流密码对数字信号掩盖效果较好且易于实现[2],基于混沌保密技术的VoIP通信系统设计受到了众多研究工作者的关注[3]。

混沌是一种内部具有随机性而整体呈稳定状态的动力学行为。自1989年Pecora提出将离散混沌系统应用于加密算法以来,混沌理论在加密领域的应用得到了快速发展,许多学者在图像加密、视频加密、音频加密等多媒体保密领域提出了一些混沌加密方案[4-10]。传统混沌映射中,一维混沌序列轨道简单容易被预测,二维混沌映射混沌空间小且复杂度较低,高维混沌映射复杂度高但对计算资源耗费较大[3],因此在保证系统变量尽可能少而复杂度尽可能高的情况下,设计一种形式简单的非线性混沌系统是非常有意义的工作。

Henon映射是一种形式简单的传统二维混沌映射,映射随着参数a的变化经历倍周期分岔现象而逐步进入混沌状态。在映射的混沌区间内,取不同参数a迭代出的混沌序列在相空间中拓扑结构差异很大,因此在基于Henon映射的保密系统中,选取a作为密钥初值能够起到类似“一次一密”的加密效果。实际应用中受计算精度限制,参数a只能在有限范围内取值,这导致保密系统的密钥空间与映射的混沌区间大小呈正相关关系,即扩大混沌区间可以有效提高系统的密钥空间。另外,提高Henon映射的复杂度能够使产生的混沌序列具备更强的随机性,能够更好地降低混沌行为被预测的风险[11]。为此许多学者提出了一些对于传统Henon映射的改进算法:蒋诗意等[7]、司德成等[8]分别提出了两种改进算法,扩大了映射混沌区间并提高了复杂度,但混沌区间内存在较多空白周期窗口;王晴[9]提出了一种混合映射应用于保密通信,密钥空间大且复杂性强,但时效性较差;张惠民等[10]提出的改进映射具有较大密钥空间,且混沌区间内几乎无空白周期窗,映射的复杂度也有小幅度提升。

为进一步提升映射性能,本文提出了一种改进型Henon映射。改进后的映射扩大了混沌区间且区间内无明显空白窗口,复杂度也得到了显著提高。

硬件实现作为检验混沌保密通信系统合理性的重要实验手段也越来越受到人们的重视。本文以改进型Henon映射作为流密码,在ARM平台上设计实现了一种VoIP保密通信系统,能够较好地保障信息安全。

1 Henon映射的改进与分析

1.1 改进型Henon映射

传统Henon映射如下[12]:

(1)

当b=0.3、a∈[1.06,1.4]时映射进入混沌状态。图1(a)为x(n)随参数a变化的分岔图,其中纵轴为对应参数下x(n)的迭代值。

现提出改进型Henon映射如下:

(2)

改进后的映射只增加了数乘运算和正弦运算,对映射的计算复杂度增加程度不大。对改进型映射进行分岔图分析,实验结果表明当b=0.3、a∈[1.26,1.88]时映射进入混沌状态。图1(b)为改进型Henon映射x(n)随参数a变化的分岔图。

图1 传统与改进型Henon映射分岔图

从图1中可以看出改进后混沌区间由[1.06,1.4]提升至[1.26,1.88],提升了82.35%,且无明显空白周期窗口。

1.2 Lyapunov指数分析

Lyapunov指数(后文简称李指数)是衡量混沌系统动力学特性的重要指标,它表征了系统相空间相邻轨道的平均指数发散率[12]。二维系统中存在两个李指数,两者共同构成了Lyapunov指数谱(后文简称李指数谱)。当两个李指数为一正一负且两者的和为负数时,说明此时相空间整体呈耗散而内部某方向上轨道存在指数分离现象,即混沌运动。由小数据量法[13]计算传统和改进型Henon映射的李指数谱图,结果如图2所示。

图2 传统与改进型Henon映射李指数谱图

系统随着参数a变化时,出现正李指数的区间内即产生了混沌运动,与公式(1)和(2)中的混沌带范围吻合。在混沌区间内,传统Henon映射的正李指数取值范围为(0,0.441 2],而改进型Henon映射的正李指数取值范围增至(0,0.891 6];且由于改进型Henon映射李指数之和的数值更小,说明映射整体耗散性更强,能够更快地收敛。综上所述,改进型Henon映射具有更复杂的动力学行为,生成的序列具有更高的混沌程度。

1.3 近似熵分析

近似熵是一种用于量化时间序列复杂度的非线性动力学参数[14],越复杂的时间序列所对应的近似熵越大。取a∈[1.06,1.4],步长0.001,传统Henon映射的近似熵如图3(a)所示;取a∈[1.26,1.88],步长0.001,改进型Henon映射的近似熵如图3(b)所示。

图3 传统与改进型Henon映射近似熵

可以看出改进后的映射近似熵值提升明显,其中传统型Henon映射近似熵均值为0.273,改进型映射近似熵均值为0.439,整体复杂度提升60.8%。

1.4 现有改进算法对比分析

文献[8]提出了一种结构较为简单、复杂度提升效果较好的改进型Henon映射,文献[10]提出了一种已应用于VoIP保密通信系统的改进型Henon映射。为直观体现本文映射与上述映射的对比情况,在相同实验环境下对文献中提出的两种改进型映射进行分岔图、李指数谱图和近似熵分析,结果如图4所示。

图4 文献[8,10]映射分析

整合传统Henon映射、本文改进映射、文献[8]映射和文献[10]映射的实验参数如表1所示。

表1 参数对比表

分析表1可知,文献[8]映射的混沌区间提升率很高且复杂度提升明显,但通过李指数谱图和分岔图可以看出,该映射混沌区间不连续且内部存在大量空白周期窗口,当取值落在周期窗口时产生的混沌序列近似熵值趋近于零,毫无随机性可言,因此存在安全隐患;文献[10]映射的混沌期间提升率较高,复杂度有小幅度提升,且混沌区间内无明显空白窗口,但对比可知本文提出的改进映射在混沌区间提升率和复杂度的提升率均优于文献[10]映射,更适合混沌加密设计。

2 保密通信方案设计

2.1 混沌序列的二值化及其随机性分析

为使用式(2)映射作为流密码密钥进行加密方案设计,需对映射迭代所产生的离散序列进行二值化处理,方案如下[15]:

g(i)=mod(h(i),1),

(3)

取待量化序列之前序列的平均值作为阈值对新的混沌序列进行二值化有

(4)

流密码加密系统的安全性取决于密钥序列的随机程度,当密钥序列是随机序列时理论上可保证明文信息的绝对安全[16]。美国NIST公布的SP800-22随机数测试标准是一种权威检测序列随机性的标准[5],该标准通过对被测序列进行15项标准随机数测试,计算Pvalue值来验证序列随机性和不可预测性的程度。其中Pvalue的值为

(5)

(6)

(7)

式中:sabs为统计值,erfc为互补误差函数。当Pvalue值大于0.01时认为测试序列符合随机序列要求。使用STS-2.2测试套件对106位传统Henon映射与改进型Henon二值化混沌序列进行随机数测试,结果如表2所示。

表2 NIST随机性测试表

如表2所示两种映射的15项测试的Pvalue值均大于0.01,通过了随机性测试,说明被测序列均具有较好的随机性和不可预测性,且改进后映射迭代出的序列随机程度更高,更适用于流密码密钥序列设计。

2.2 混沌流密码加密和网络同步方案设计

使用由式(3)和式(4)处理后产生的改进型Henon映射二值混沌序列作为密钥对数字话音信号进行流密码加密的过程如下:

c(i)=m(i)⊕k(i) 。

(8)

在应用流密码加密的VoIP通信系统中,为保证时效性通常由UDP协议封装话音数据在以太网传输。虽然有RTP和RTCP协议保证接收端能够收到有序排列的话音数据包,但当网络出现丢包现象或错误传输时仍会导致解密异步。应用流媒体帧同步技术进行同步方案设计,如图5所示。

图5 定时检测纠错网络同步示意图

数字话音经流密码加密后,将当前混沌序列的迭代次数作为校验码插入UDP数据包的包头。解密端使用相同的二值混沌序列进行解密并记录本端混沌序列迭代次数。解密端设置定时中断用于校验同步情况:中断到来时,判断当前处理的数据包内校验码是否与本端混沌序列迭代次数一致,若不一致则说明发生失步现象,对收到的数据包进行填充或丢包处理直到再次同步。因此在解密过程中通过实时调整实现长时间稳定解密。

3 VoIP保密通信系统的ARM平台实现

3.1 硬件设计方案

VoIP保密通信系统实现的功能为采集模拟话音信号并进行A/D转换,将转换后的数字话音信号与混沌流密码序列异或运算得到密文数字话音信号,使用UDP协议对密文进行封装并在包头中插入校验码,然后通过以太网将密文数据包传送至接收端;接收端定时检测校验同步状态并使用相同混沌序列对其进行解密恢复完成输出回放。系统硬件框图如图6所示。

图6 系统硬件框图

用于话音信号模数转换的音频编解码芯片型号为WM8978,可通过精度为8 b频率8 kHz的采样过程将输入的模拟音频转换为数字信号,也可以将数字信号恢复为模拟信号播放,通过I2S总线与系统MCU相连。系统的主控芯片选用意法半导体STM32F407,该芯片内部包含用于以太网通信的MAC(介质访问控制层)模块,因此只需外接PHY(物理层)芯片即可完成以太网通信。PHY芯片选择LAN8720以太网收发器,与STM32间通过RMII接口进行通信,用于传输由网口RJ45接收的音频数据包或将本端加密处理后的密文数字音频发送。上述芯片同电源和JTAG调试口共组成了VoIP保密通信系统的硬件部分。

3.2 软件设计方案

3.2.1 加密方案

加密端软件设计主要是实现控制话音信号的采集、加密和发送。为保障传输过程的连贯性,系统设计了DMA双缓冲机制对数字话音码流进行处理。加密端的主程序流程图和中断服务程序流程图如图7所示。

图7 加密端软件设计示意图

加密端上电后先完成初始化操作,包括对硬件的初始化和为缓冲区申请内存。为增强系统安全性,每次加密应选取不同初值来生成不同的混沌二值序列,因此系统以式(2)中参数a取值的混沌区间[1.26,1.88]为范围生成随机数作为本次加密的密钥进行保存,并将该密钥发送至解密端以生成相同二进制混沌序列。使能WM8978的ADC并开启DMA传输,开始收录模拟话音信号并将其转换为数字信号,通过DMA将数字信号循环交替填充至两个缓冲区内。其中缓冲区的大小设置为640 B,可存放长度为40 ms的音频数据。每个缓冲区填充完毕后系统触发DMA传输完成中断,进入中断服务函数,并由硬件将DMA进行切换继续填充下一缓冲区。

DMA中断服务函数主要完成对音频的加密和发送,取密钥作为初值,对改进型Henon映射迭代并二值化产生640 B的混沌数字序列,然后判断是哪个缓冲区填满,将数字混沌序列与对应缓冲区中的数字信号进行异或加密操作得到密文数字话音信号,并将当前迭代次数作为校验码插入数据头后进行UDP封装并发送至接收端。由于MCU最高主频为168 MHz,可以在40 ms内完成对缓冲区中数据的加密和打包发送,因此加密过程不会对话音传送产生延迟。

3.2.2 解密方案

解密端软件设计主要是实现对密文话音信号的恢复。与加密端类似设计了DMA双缓冲机制接收密文话音数据,DMA填满一个缓冲区后触发中断。解密端的主程序流程图和中断服务函数如图8所示。

图8 解密端软件设计示意图

设备上电后首先完成初始化操作,等待本次保密通信的密钥到达。收到密钥后,开启DAC和DMA并接收由加密端发来的密文话音包。

DMA中断服务函数主要完成解密。将密钥作为初值带入改进型Henon映射并二值化操作产生与加密端相同的二进制混沌序列并记录迭代次数,判断是哪个缓冲区填满数据,对缓冲区内密文进行异或解密操作,通过WM8978进行数模转换完成语音回放。系统通过定时中断进行同步检测处理:每隔一定时间提取当前处理缓冲区数据内的校验码与本端迭代次数对比,若不同则说明发生丢包现象,根据丢包数迭代产生二进制混沌序列使解密端再次恢复同步状态,保证语音回放的稳定进行。

4 实现结果分析

4.1 系统实物图

图9所示为本文实现的保密通信系统实物图,图中①~⑤区域分别为电源模块、主控模块(STM32、JTAG)、以太网模块(LAN8720、RJ45)、音频编解码模块(WM8978)和音频接口模块。系统还预留了一些从主控IO引出的接口便于后续的升级与维护。

图9 系统实物图

4.2 密钥敏感性分析

使用示波器测量加密端音频编解码芯片加密前后输出的明密文语音信号,通过JTAG编译器调整解密端的密钥,分别测量正确解密时的语音信号和当密钥相差10-6时解密出的语音信号,以此对比分析保密系统对初始密钥的敏感性。图10所示为系统对密钥的敏感性分析结果。

图10 密钥敏感性分析

由图中可以看出,即使密钥取值仅相差10-6,恢复出的信号却呈类似噪音状态,可见本文算法在加密解密过程中具有颇强的密钥敏感性。

4.3 相关性分析

取音频编解码芯片产生的约7.81 s数字话音信号序列记为N1,改进型Henon映射取初值a=1.8迭代并二值化产生106b二进制混沌序列记为N2,对N1与N2进行异或加密操作得到序列N3。在Matlab中导入N1与N3进行互相关性分析,结果如图11所示。

图11 明密文序列相关指数图

密文序列与明文序列互相关指数均低于0.3,说明两者几乎毫无关联[4],混沌流密码对明文的掩盖效果较好,能够抵抗唯密文攻击[16]。

4.4 语谱图分析

取音频编解码芯片产生的5 s明文数字话音和加密后的密文数字话音,导入Matlab并通过工具箱将数字话音转换为模拟音频信号,对明文音频和密文音频进行语谱图分析,结果如图12所示。

图12 语谱图

相较于明文话音,加密后的话音语谱图无明显条纹或共振峰,说明其频率分量和任意频率成分的强度分布均匀,从密文中无法得出话音信号的统计特性,能够抵抗统计分析攻击[16]。

5 结束语

本文对传统Henon映射进行了改进,对比发现改进后映射的混沌区间有所增加,且具备更高的复杂度,更适用于混沌密码的设计。基于改进型Henon映射在ARM平台设计实现了一种VoIP保密通信系统,其加密效果较好,能够有效保障话音数据在IP网传输的安全。

本文的设计实现只是阶段性结果,目前仅实现了通话功能,尚未进行呼叫控制的设计。下一步将移植呼叫控制协议来完成对通信系统的完善与功能扩展。

免责声明

我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!