本发明涉及数字音频隐写检测技术领域,特别涉及一种基于双向循环神经网络的网络语音流隐写分析方法及装置。
背景技术:
密码学和信息隐藏技术是信息安全领域的两个分支。密码学主要是以信息论和密码学理论为基础,通过一定的方式讲原始信息进行置乱,得到密文。信息隐写则是将隐秘信息按照一定方式嵌入原始载体当中,在不被第三方察觉的前提下,将载密信息传送给接收方。相比于密码学方式,信息隐藏的方式不容易引起第三方的注意,能显著降低被第三方攻击的概率,安全性极大的提高。也正因为此,信息隐藏得到了很多人的关注。
隐写和隐写分析是信息隐藏的两个重要方面。隐写是为了确保通信双方的信息安全。隐写分析则是为了判断载体当中是不是有密码信息。由于隐写技术具有高保密性,很容易被不法分子所利用,从而危害公共安全。于是,有效的隐写分析技术,能够迅速有效的检测出载体当中所蕴含的秘密信息,从而及时阻止通信的进行。
常用的隐写载体主要包括:图像,文本,以及语音。图像载体由于隐藏容量较大,受到比较多的关注,隐写和隐写分析技术相对比较成熟。语音和文本隐藏容量相对较小,隐写与隐写分析难度也相对较大。特别的,语音信号由于其随机性强,隐写与隐写分析更加困难。
相比于静态载体,动态载体隐写增加了时间维度,是现在使用比较多的一种隐写载体。这其中,比较有代表性的是流媒体技术,随着网络的不断发展,网络上基于流媒体的应用越来越多,典型的应用比如语音通话技术(voip)。
基于流媒体单元的隐写主要分为基于协议的隐写以及基于载荷的隐写或者。基于网络协议的信息隐藏。主要是充分利用协议的头部一些没有使用的,或者是可选的区域进行。这种方式由于协议公开,相对比较好检测。基于载荷的信息隐藏主要是通过修改流媒体当中载荷的冗余信息从而达到隐蔽通信的目的。
技术实现要素:
本发明旨在至少在一定程度上解决相关技术中的技术问题之一。
为此,本发明的一个目的在于提出一种基于双向循环神经网络的网络语音流隐写分析方法,该方法能够快速且高效的判断出原始语音流是否经过信息隐写。
本发明的另一个目的在于提出一种基于双向循环神经网络的网络语音流隐写分析装置。
为达到上述目的,本发明一方面实施例提出了一种基于双向循环神经网络的网络语音流隐写分析方法,包括:
本发明实施例的基于双向循环神经网络的网络语音流隐写分析方法,通过滑动窗口方法从网络压缩语音流中获得量化索引向量,以量化索引向量为输入,通过双向循环神经网络构建码字相关网络来提取量化索引向量当中码字的相关性特征向量,并使用特征分类网络来对所得到的相关性特征向量来进行分类,能够快速且高效的判断原始语音流是否经过隐写。
另外,根据本发明上述实施例的基于双向循环神经网络的网络语音流隐写分析方法还可以具有以下附加的技术特征:
进一步地,在本发明的一个实施例中,所述根据所述隐写概率判断所述网络语音流测试集样本是否隐写,包括:
所述隐写概率大于等于预设判定阈值,则所述网络语音流测试集样本中存在隐写信息;
所述隐写概率小于预设判定阈值,则所述网络语音流测试集样本中不存在隐写信息。
进一步地,在本发明的一个实施例中,在步骤s2之前还包括:
选择所述网络语音流训练集样本中的一半网络语音流训练集样本进行信息嵌入,采取预设调制方式将所需隐藏的信息嵌入选择的所述一半网络语音流训练集样本。
进一步地,在本发明的一个实施例中,所述网络语音流训练集样本和所述网络语音流测试集样本在网上数据库或事先构建的网络语音流样本库中采集。
进一步地,在本发明的一个实施例中,所述网络语音流训练集样本中的网络语音流有k帧,则所述量化索引向量表示为:
x=[x1,x2,…,xk]。
进一步地,在本发明的一个实施例中,所述码字相关模型为对双向循环神经网络训练生成的,所述码字相关模型为:
其中,h是节点状态向量,w为加权向量,b为偏置向量,y为输出向量
h为长短期记忆网络,x为所述量化索引向量。
进一步地,在本发明的一个实施例中,所述特征分类模型为:
st=tanh(wt·yt+bt)
zk=vk*sk+bk
其中,st是所述特征分类模型的中间层输出,zk是对应某一类别的输出值,z为最终得到的各个类别的归一化概率,h是节点状态向量。
为达到上述目的,本发明另一方面实施例提出了一种基于双向循环神经网络的网络语音流隐写分析装置,包括:
获取模块,用于获取网络语音流训练集样本和网络语音流测试集样本;
生成模块,用于通过滑动窗口方法从所述网络语音流训练集样本中抽取网络语音载荷进行处理得到量化索引向量;
抽取模块,用于利用码字相关模型抽取所述量化索引向量中的码字相关向量;
分类模块,用于通过特征分类模型对所述码字相关向量进行分类;
建模模块,用于通过监督方法进行迭代生成隐写检测模型;
检测模块,用于将所述网络语音流测试集样本输入所述隐写检测模型进行检测得到隐写概率,根据所述隐写概率判断所述网络语音流测试集样本是否隐写。
本发明实施例的基于双向循环神经网络的网络语音流隐写分析装置,通过滑动窗口方法从网络压缩语音流中获得量化索引向量,以量化索引向量为输入,通过双向循环神经网络构建码字相关网络来提取量化索引向量当中码字的相关性特征向量,并使用特征分类网络来对所得到的相关性特征向量来进行分类,能够快速且高效的判断原始语音流是否经过隐写。
另外,根据本发明上述实施例的基于双向循环神经网络的网络语音流隐写分析装置还可以具有以下附加的技术特征:
进一步地,在本发明的一个实施例中,所述根据所述隐写概率判断所述网络语音流测试集样本是否隐写,包括:
所述隐写概率大于等于预设判定阈值,则所述网络语音流测试集样本存在隐写信息;
所述隐写概率小于预设判定阈值,则所述网络语音流测试集样本不存在隐写信息。
进一步地,在本发明的一个实施例中,还包括:嵌入模块;
所述嵌入模块,用于选择所述网络语音流训练集样本中的一半网络语音流训练集样本进行信息嵌入,采取预设调制方式将所需隐藏的信息嵌入选择的所述一半网络语音流训练集样本。
本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为根据本发明一个实施例的基于双向循环神经网络的网络语音流隐写分析方法流程图;
图2为根据本发明一个实施例的码字相关模型总体框架示意图;
图3为根据本发明一个实施例的门递归单元结构示意图;
图4为根据本发明一个实施例的基于双向循环神经网络的网络语音流隐写分析方法应用场景图;
图5为根据本发明一个实施例的基于双向循环神经网络的隐写分析模型示意图;
图6为根据本发明一个实施例的语音编码流程图;
图7为根据本发明一个实施例的量化索引调制流程图;
图8为根据本发明一个实施例的基于双向循环神经网络的网络语音流隐写分析装置结构示意图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
下面参照附图描述根据本发明实施例提出的基于双向循环神经网络的网络语音流隐写分析方法及装置。
首先将参照附图描述根据本发明实施例提出的基于双向循环神经网络的网络语音流隐写分析方法。
图1为根据本发明一个实施例的基于双向循环神经网络的网络语音流隐写分析方法流程图。
如图1所示,该基于双向循环神经网络的网络语音流隐写分析方法包括以下步骤:
步骤s1,获取网络语音流训练集样本和网络语音流测试集样本。
进一步地,在本发明的一个实施例中,网络语音流训练集样本和网络语音流测试集样本在网上数据库或事先构建的网络语音流样本库中采集。
具体地,从网上采集或者其它方式构建一个网络语音流样本库。从中随机选择一部分网络语音流作为训练样本集,剩余的网络语音流作为测试样本集。
步骤s2,通过滑动窗口方法从网络语音流训练集样本中抽取网络语音载荷进行处理得到量化索引向量。
进一步地,在本发明的一个实施例中,在步骤s2之前还包括:
选择网络语音流训练集样本中的一半网络语音流训练集样本进行信息嵌入,采取预设调制方式将所需隐藏的信息嵌入选择的一半网络语音流训练集样本。
具体地,在训练样本集当中,选择其中的一半网络语音流做信息嵌入,采取量化索引调制或者基因调试的方式将所需的隐藏的信息嵌入语音流当中,并设置样本标签为隐写语音。对另一半网络语音流不嵌入信息,设置样本标签为非隐写语音。对测试样本集采用同样的方法处理。
进一步地,对于一段网络语音流假设其有k帧,则量化索引向量的可以表示为:
x=[x1,x2,…,xk]
特别的对于g.729或者g.723语音压缩编码来说,其中xj为一个3*1的列向量,j∈[1,k]。
步骤s3,利用码字相关模型抽取量化索引向量中的码字相关向量。
进一步地,码字相关模型为对双向循环神经网络训练生成的,如图2所示,展示了总体框架示意图。通过公式可以表达为:
其中,h是节点状态向量,w为加权向量,b为偏置向量,y为输出向量。
其中,h为通常为长短期记忆网络(lstm),也可以选择类似于门递归单元(gru),其结构示意如图3所示,用公式可以表述为:
it=σ(wi·[ht-1,xt]+bi)
ft=σ(wf·[ht-1,xt]+bf)
qt=tanh(wq·[ht-1,xt]+bq)
ot=σ(wo·[ht-1,xt]+bo)
ct=ft⊙ct-1+it⊙qt
ht=ot⊙tanh(ct)
其中w为权值向量,i为输入门向量,f为遗忘门向量,o为输出门向量,x为输入向量,b为线性偏置,h是节点状态,σ通常为sigmoid函数,⊙为逐点操作。
步骤s4,通过特征分类模型对码字相关向量进行分类。
进一步地,特征分类模型将码字相关模型提取出的相关特征向量进行分类,假设抽取出来的相关特征向量为y,则特征分类网络可以描述为:
st=tanh(wt·yt+bt)
zk=vk*sk+bk
其中,s是特征分类网络的中间层输出,zk是对应某一类别的输出值,z为最终得到的各个类别的归一化概率。
进一步地,特征抽取网络以及特征分类网络都通过有监督的学习框架训练得到。
步骤s5,通过监督方法对步骤s2-s4进行迭代,生成隐写检测模型。
进一步地,通过使用监督方法进行迭代,可以得到训练好的隐写检测模型。
步骤s6,将网络语音流测试集样本输入隐写检测模型进行检测得到隐写概率,根据隐写概率判断网络语音流测试集样本是否隐写。
将网络语音流测试集样本输入训练好的隐写检测模型,输出网络语音流测试集样本隐写的概率,根据概率判断网络语音流测试集样本是否存在隐写内容。
进一步地,在本发明的一个实施例中,根据隐写概率判断网络语音流测试集样本是否隐写,包括:
隐写概率大于等于预设判定阈值,则网络语音流测试集样本中存在隐写信息;
隐写概率小于预设判定阈值,则网络语音流测试集样本中不存在隐写信息。
具体地,对于隐写检测,有:
其中,z为此前输出的概率值,threshold为给定的判断阈值,stegospeech为隐写标签,coverspeech为非隐写标签。
如图4和图5所示,本发明实施例所设计的模型主要是针对基于载荷的信息隐藏,检测载体是流媒体单元的语音载荷且主要似乎voip语音流。
一般来说,为了高效的进行网络传输,通常的网络语音标准都会对语音进行压缩传输,以g.723为例,其语音编码流程如图6所示。
其中,线性预测编码(linearpredictivecoding,lpc)将语音序列压缩成一系列语音系数,然后这些系数被量化成更加适合传输的量化系数比特流在网络上进行传输。在语音隐写当中,比较流行的隐写方法通常在压缩以及量化系数的过程当中实现对信息的写入,比如量化索引调制和基音周期隐写。特别的,对于量化索引调制隐写如图7所示。
量化索引调制隐写通过划分矢量量化的码本,将信息隐藏在码本类别当中。接收方通过判断码字所属于的码本,从而判断所传输的信息流。基因周期调制与此方式类似。本发明的方法能够检测包括量化索引调制以及基音周期调制等网络语音流的隐写,具有一定的通用性。
由于语音本身有非常特殊的性质,针对常见音频的隐写分析方法对网络语音流并不是特别适用。常见的比如直接在时域检测以及变换域的检测方式由于语音压缩本身具有非常好的不可感知以及网络语音流所要求的实时性,使得这些方法并不适用。
特别的,现有针对网络语音流的隐写分析主要以统计方法以及深度学习方法为主。基于统计的方法主要通过手动提取低阶码字特征,然后使用支持向量机来进行分类,这种方式一般计算较快但是准确率较低,且无法捕捉高阶的信息。基于深度学习的网络语音流算法大多数都实时性较差,且大部分都没有考虑语音序列码字之间的相关性信息,使得复杂条件下的检测准确率不高。
根据本发明实施例提出的基于双向循环神经网络的网络语音流隐写分析方法,通过滑动窗口方法从网络压缩语音流中获得量化索引向量,以量化索引向量为输入,通过双向循环神经网络构建码字相关网络来提取量化索引向量当中码字的相关性特征向量,并使用特征分类网络来对所得到的相关性特征向量来进行分类,能够快速且高效的判断原始语音流是否经过隐写。
其次参照附图描述根据本发明实施例提出的基于双向循环神经网络的网络语音流隐写分析装置。
图8为根据本发明一个实施例的基于双向循环神经网络的网络语音流隐写分析装置结构示意图。
如图8所示,该基于双向循环神经网络的网络语音流隐写分析装置包括:获取模块100、生成模块200、抽取模块300、分类模块400、建模模块500和检测模块600。
其中,获取模块100,用于获取网络语音流训练集样本和网络语音流测试集样本。
生成模块200,用于通过滑动窗口方法从网络语音流训练集样本中抽取网络语音载荷进行处理得到量化索引向量。
抽取模块300,用于利用码字相关模型抽取量化索引向量中的码字相关向量。
分类模块400,用于通过特征分类模型对码字相关向量进行分类。
建模模块500,用于通过监督方法进行迭代生成隐写检测模型。
检测模块600,用于将网络语音流测试集样本输入隐写检测模型进行检测得到隐写概率,根据隐写概率判断网络语音流测试集样本是否隐写。
进一步地,在本发明的一个实施例中,根据隐写概率判断网络语音流测试集样本是否隐写,包括:
隐写概率大于等于预设判定阈值,则网络语音流测试集样本存在隐写信息;
隐写概率小于预设判定阈值,则网络语音流测试集样本不存在隐写信息。
进一步地,在本发明的一个实施例中,还包括:嵌入模块;
嵌入模块,用于选择网络语音流训练集样本中的一半网络语音流训练集样本进行信息嵌入,采取预设调制方式将所需隐藏的信息嵌入选择的一半网络语音流训练集样本。
需要说明的是,前述对基于双向循环神经网络的网络语音流隐写分析方法实施例的解释说明也适用于该实施例的装置,此处不再赘述。
根据本发明实施例提出的基于双向循环神经网络的网络语音流隐写分析装置,通过滑动窗口方法从网络压缩语音流中获得量化索引向量,以量化索引向量为输入,通过双向循环神经网络构建码字相关网络来提取量化索引向量当中码字的相关性特征向量,并使用特征分类网络来对所得到的相关性特征向量来进行分类,能够快速且高效的判断原始语音流是否经过隐写。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。