近几年针对多媒体信息的加密方法研究逐渐增多,其中音频加密是一个研究的重点。为此我们提出一种与MP3音频编码过程相结合的快速音频加密方案,选择加密对安全性敏感的数据帧,并通过实验测试选择敏感参数类型,在帧内选择加密这些敏感参数。
一、基于参数敏感性的MP3音频加密方案
1、MP3音频敏感参数选择
MPEG旧频码流由彼此独立的数据帧组成,每一帧包括标题。可选的CRC码、音频数据和附加信息等。其中的音频数据包含了主要的音频信息,对于层Ⅲ(MP3)来说,音频数据包括侧信息和主数据(比例因子、霍夫曼码数据)。
(1)MP3音频编码的参数敏感程度
按照ISD/IEC 11172-3标准中的定义,每一位音频数据对随机错误的敏感性可以分为0~5共六个等级,如表1所示。
对于层Ⅲ,辅助信息的敏感性为5—2(根据位数不同而不同,以下类似),比例因子的敏感性为3/2,霍夫曼码数据的敏感性为3—O。
(2)敏感参数测试
由上面的分析可知,MP3音频码流中比例因子占码流的比例很小。对以下类型多个音频片段Bass(男高音)、Popm(流行歌)、Inst(乐器声)、Hom(号声)、Spff(女士演讲)和Spmg(男士演讲)进行统计,比例因子数据占用音频数据的比例如表2所示。
与霍夫曼码数据相比较,比例因子数据对解码具有较高的敏感性。此处用单位长度的数据错误导致的解码信号PSNR(峰值信噪比)的变化来衡量参数对解码的敏感性,由MPEG音频编码过程可知,解码信号的PSNR随着参数错误数量的增加而减小。如图1所示,给出了上述多种类型音频片段测试结果的PSNR平均值曲线,可见,比例因子(Scale Factor)数据对应的曲线比霍犬曼码(Huffman Code)数据对应的曲线位置更低且斜率更大,这表明它对鹪码过程具有相对较高的敏感性。
2、加密方案
(1)选择加密方案
根据以上的统计分析,本文给出一种快速而安全的MP3音频加密方案。对于整段音频,选择对安全性敏感的音频帧加密;对于每个音频帧,选择对解码敏感性较高的部分参数加密,在层Ⅲ选择加密比例因子(虽然侧信息(包括主数据开始位、私有位、比例因子选择等)的敏感性也是较高的,但是由于这些参数的变动会改变数据帧的格式,从而导致加密后的音频无法被通用的MPEG音频解码器解码;另外它包含有同步信息,在发生传输错误时具有同步的功能,因此本文不建议加密这些数据)。
通过选择加密部分数据降低加密数据量,提高加/解密速度;通过选择加密敏感数据提高密码系统的安全性。其中,对音频段内的帧进行选择加密,过程如图2(a)所示,根据安全性要求选择需要保密的音频数据段,如在n个音频帧中,选择加密第2帧,而保持其他帧不变;对每一帧内部分信息加密,过程如图2(b)所示,加密编码过的比例因子和比特分配信息,而保持标题、附加信息和霍夫曼码数据不变。
(2)加密算法的选择
在部分加密方式中,加密部分数据时采用的加密算法通常是传统的高强度密码,或者是基于混沌映射的混沌流密码、混沌块密码等。其中,传统的高强度密码,如DES/IES/RSA/流密码等,通常是基于高计算复杂度的数论的,安全性高,加/解密过程的计算复杂度也相对较高,速度较慢;混沌流密码是通过混沌方程的迭代产生密钥序列,每一个单独的密钥再被用于数据的加密;混沌块密码是将明文数据块整体进行变换。混沌密码利用了混沌现象的初值敏感性、参数敏感性、遍历性和伪随机性等特点,计算复杂度相对较低,速度较快。
由于音频相对文本具有较大的数据量,直接利用传统密码将其全部加密,则系统的实时性难以得到保证,因此以往传统密码很难被直接应用在音频加密中。而在该部分加密方案中,选择加密的数据量小,因此为了提高密码系统的安全性,我们可以使用传统的高强度密码,如流密码。当然也可以采用混沌流密码,主要出于降低密码系统成4i的目的。
(3)密钥分配方案
为了增加系统的安全性,可以采用多密钥方式加密,即为不同的音频帧分配不同的密钥。攻击者只有破泽所有的密钥才能够完全破译音频密文,这就增加了破泽难度,提高了加密系统的强度。另外,当采用流密码加密时,由于网络拥塞等原因产生传输错误即使有个别音频帧丢失,仍能够确保后续音频帧的正确解密,从而提高了加密系统的鲁棒性。
在这里采用如下的多密钥方案。没用户主密钥为Key,则由LogisLic映射式(1),其中取a=4,按照式(2)迭代计算,可以产生子密钥Key -i,(i=l,2,3,…);这些子密钥再用于相应帧Frame加/解密,其中选取T>100可以保证该密钥分配方案足够安全。为了使用多密钥分配方案,在编码加密的同时,需要在MP3音频编码的数据流的附加数据中增加帧序号标志i。
二、性能分析
1、抗攻击能力
以上算法选择部分帧和部分参数加密,对此给出如下定义和定理。
定义l 对于由X和y两部分组成的明文数据C= XY(X和y的组合顺序任意).如果只加密其中的y部分,即加密后的密文数据为E= XZ,则称这种加密方式为部分加密方式。
部分加密方式通常用于对压缩过的数据进行部分或选择性加密。将敏感性较强的数据加密,这类数据的微小变化可能导致解码结果完全不可理解;加密安全性要求范围内的数据,这些数据是保护的对象,如音频的某些帧数据、图像的某个区域、视频的某个时间段的影像等,目的是以尽量小的加密数据量获得所需的加密安全性。
定理1部分加密方式(XY-÷XZ)中,当被加密的数据y和未加密的数据X相互独立,即不相关时,部分加密方式具有最高的已知密文攻击难度,且为(H( YKIZ)。
证明:根据定义l,令明文数据为C=XY.即明文是两部分数据的组合,只加密其中的y数据,这样获得的密文数据为E=XZ,其中Z是y被加密后的结果,则根据Shannon对密码安全性的定义,已知密文攻击过程的难度为Ⅳ(CKIE)。
其中,H(AIB)表示A的8条件熵,即在8已知情况下A的不确定度:I(A;BI C)表示C条件下A与日的共熵,即C条件下,A与8的共信息量。可见,当明文中X和y独立,即,( Y;XI引=0时,攻击难度具有最大值日(YKtZ)。所以;在部分加密方式中,被加密的数据应该与未加密的数据保持独立性,以保证理论上的最大攻击难度。
经过MPEG音频编码产生的音频码流由彼此独立的数据帧组成,各个帧之间的数据是相互独立的。也就是说,每一帧都包含它解码所需要的全部必要信息,不同帧之间的信息不能相互推出。对于MP3而言,由编码过程可知比例因子也是不能由霍夫曼编码计算得出的。可见,在这种加密方案中,被选择加密和保持不变的数据之间不相关,因此,它具有最大的已知密文攻击难度。
2、感知安全性
用此方法对多种音频(乐器、演讲、歌曲等)加街,加密后的音频均嘈杂不可理解。此处以利用混沌流密码加密所有帧内的比例因子数据为例,在图3中给出音频片段Spff51加密前后的明文信号、密文信号的部分波形(对应音频数据的5 000—7 000帧)对比图,加密了比例阂子一项参数,就能大幅度地改变音频数据的幅值,使得音频质量急剧下降。图4给出三种音频片段Spff51,Ssfr,Fre107密文信号与明文信号连续20帧测试的峰值信噪比,其变化范围大致是(-2dB.23dB)。从图中可看出,音频数据的变化较大,密文的可感知性很低,本方法具有较好的音频信息加密效果。
实际上,此时如果再多选择部分霍夫曼码数据一同进行流密码加密,就可以进一步加强加密效果,当然这样做带来的后果是增加时间开销。因此,实际应用中可以在时问与性能之间作出折中的选择。
3、密钥安全性
因为多密钥分配方案采用了Logiscic混沌映射,而它具有较高的初值敏感性。在此,我们进行了密钥安全性的测试,如图5所示,给出了同一音频密文在用户密钥发生微小变化时的解密的效果图。其中,图5(a)是利用正确用户密钥Key=0.123的正确解密效果;图5(b)是利用错误用户密钥Key=0.124时的解密效果。可以看出,虽然密钥只差了0.001,解密后的效果却完全不同,可见这种多密钥分配方案具有较高的安全性。
4、加密解密速度
用此方法对多种音频加密,编/解码过程仍保持较高的速度。此处以音频片段类型Bass,Popm.Inst,Horn.Spff,Spmg为例,测试加/解密速度,其中,加/解密速度采用加/解密过程占用编/解码过程的时间比例Tr( Time Ratio)来衡量,定义为:
实验使用的计算机配置为1. OGHz CPU,256MB RAM。对以上六种音频片段测试结果如表3所示。可见,加/解密过程占用编/解码过程的时间比例很/(不超过3%),这表明加密算法计算复杂度低,具有较高速度,满足实时性要求。
小知识之霍夫曼编码
霍夫曼编码(Huffman Coding)是一种编码方式,是一种用于无损数据压缩的熵编码(权编码)算法。也称“哈夫曼编码”,“赫夫曼编码”。