对抗深度学习人脸攻击的实时视频加密方法及装置

专利2025-01-07  10



1.本发明涉及多媒体信息安全技术领域,尤其涉及对抗深度学习人脸攻击的实时视频加密方法、装置、智能终端及存储介质。


背景技术:

2.随着智能终端的发展和网络技术的流行,视频会议、视频课堂等视频通讯软件的使用越来越普及。然而,这些视频通讯软件在传输视频过程中容易发生隐私泄漏,进而被用于违法犯罪,例如利用视频中的人脸和声音,用人脸生成技术和语音合成技术伪造逼真的视频以骗取钱财。
3.因此,需要一种快速实时的视频加密方法来保护视频通讯过程中的内容隐私。最近出现的基于深度学习的新一代攻击方式也对视频加密方法的安全性发起了挑战,例如基于gan模型的加密人脸重建攻击,它能从加密图片中恢复出人脸细节。因此,提出一种可以抵御深度学习攻击的安全可靠视频加密方法迫在眉睫。同时考虑到国家对视频传输中敏感内容的监测问题,因此也需要保证加密后的视频数据可用,能够支持隐私保护的敏感内容检测,以确保信息的安全监管。综上,新时代的视频加密方案需要满足三个特点:实时性、安全性、可用性。
4.现阶段的视频加密技术主要分成两种:第一种是朴素的全加密方法,把视频码流当成无格式的数据流,利用aes等标准加密算法把整个数据流都进行加密,然而这种方法耗时高且加密后的数据不可用,因而不适用;第二种是格式兼容的选择性加密,既减少了计算复杂度,又保证了格式兼容使加密后的数据可提取加密域特征。选择性加密方法通常都是嵌入在视频压缩编码过程中的,通过加密如ipm(帧内预测模式)、mvd(运动向量差值)、dct(离散余弦变换)系数等语法元素,实现视频内容的隐私保护。然而,实际场景是无法把加密算法嵌入到摄像头中已烧固的dsp芯片中去,直接对压缩码流进行加密更贴近现实。那么如果要应用这种嵌入式的选择性加密算法,就要涉及到压缩视频解码和重新编码加密的耗时增加,这对实时性要求高的视频通讯软件来说是难以承受的。因此,面向压缩码流的选择性加密方法才适用于视频通讯软件的隐私保护。现有的加密算法中仅有部分基于cavlc(context-adaptive variable length coding,上下文自适应变长编码)的加密方法可以拓展成面向码流加密的方式,而其他的加密方法都无法避免重编码的过程,包括基于cabac(context
‑ꢀ
adaptive binary arithmetic coding,上下文自适应二元算术编码)的加密方法、基于dct系数的扫描顺序加密、基于dct变换类型加密,基于宏块帧位置扰乱加密等。
5.因此,现有技术在安全性和实时性上都还有待改进和提高。


技术实现要素:

6.本发明要解决的技术问题在于,针对现有技术的上述缺陷,提供一种对抗深度学习人脸攻击的实时视频加密方法、装置、智能终端及存储介质,本发明可支持视频大数据的轻量级加密以及基于云计算的视频隐私保护应用;本发明结合了更多语法元素的码字加
密,不仅考虑码流比特的值加密,还考虑了其位置加密,使加密空间显著增大,安全性进一步提升;面向码流的加密方法确保了加密速度的实时性。
7.为了解决上述技术问题,本发明第一方面提供一种对抗深度学习人脸攻击的实时视频加密方法,上述方法包括:
8.一种对抗深度学习人脸攻击的实时视频加密方法,其中,所述方法包括:
9.获取视频码流,并解析视频码流中宏块语法元素及其对应码字;
10.用aes算法对解析后的整个视频码流中的指定语法元素的码字比特位进行异或加密;
11.使用基于克努特置乱的格式兼容宏块码流顺序扰乱技术、对异或加密后的视频码流中的i帧宏块比特段进行位置排列加密;
12.对进行位置排列加密后的比特流进行重新封装。
13.所述的对抗深度学习人脸攻击的实时视频加密方法,其中,所述获取视频码流,并解析视频码流中宏块语法元素及其对应码字的步骤还包括:
14.获取h.264视频码流,将获取的h.264视频码流从扩展字节序列载荷 ebsp解封装成数据比特串sodb;
15.解析数据比特串sodb中的宏块级语法元素及其对应码字的比特位置。
16.所述的对抗深度学习人脸攻击的实时视频加密方法,其中,所述用 aes算法对解析后的整个视频码流中的指定语法元素的码字比特位进行异或加密步骤中的指定语法元素包括如下变量参数:
17.intra_4x4_ipm:4x4块的帧内预测模式;
18.intra_16x16_ipm:16x16块的帧内预测模式;
19.chroma_ipm:色度块的帧内预测模式;
20.mvd:运动向量差值;
21.ref_idx:参考帧序号;
22.delta_qp:量化参数差值;
23.sign_of_t1s:拖尾系数的符号;
24.level:残差系数幅值;
25.run_before:非零系数前零的个数。
26.所述的对抗深度学习人脸攻击的实时视频加密方法,其中,所述用 aes算法对解析后的整个视频码流中的指定语法元素的码字比特位进行异或加密的步骤包括:
27.用aes算法根据密钥生成随机二进制序列;
28.用随机序列异或加密16x16块的帧内预测模式码字的最后一位比特、 4x4块的帧内预测模式码字的三位比特;并在加密p帧的16x16块的帧内预测模式码字时,仅当宏块类型mb_type的值满足以下公式(1)的条件才加密:
29.(mb_type-7)mod 4《2
ꢀꢀ
公式(1)
30.其中,mod是求两个数值相除后的余数;
31.用随机序列异或加密色度块的帧内预测模式码字的最后一位比特,且仅当chroma_ipm等于1或2时才能加密。
32.用随机序列异或加密运动向量差值mvd码字的所有后缀比特、参考帧序号ref_idx
码字的最后一位比特;假设λ为可参考帧数最大值,参考帧序号ref_idx的加密需满足以下公式(2)的条件:
[0033][0034]
其中,指的是向下取整操作;
[0035]
用随机序列异或加密量化参数差值delta_qp码字的所有后缀比特、拖尾系数的符号sign_of_t1s码字的所有比特、残差系数幅值level码字的所有后缀比特、最后一个非零系数之间的零值个数run_before码字的最后一位比特。
[0036]
所述的对抗深度学习人脸攻击的实时视频加密方法,其中,所述使用基于克努特置乱的格式兼容宏块码流顺序扰乱技术、对异或加密后的视频码流中的i帧宏块比特段进行位置排列加密的步骤包括:
[0037]
解析所有4x4_dct块的vlc表类型;
[0038]
基于aes生成的随机数,用克努特置乱算法生成随机宏块地址顺序;
[0039]
按随机宏块地址顺序取一个宏块mbi;在宏块mbi周围任意寻找一个宏块mbj,假如宏块mbi和mbj的i帧位置交换后,i帧中各个4x4_dct 块调用的vlc表保持不变,那么就对宏块mbi和mbj的比特段位置进行交换,交换的位移矢量δs嵌入进sei消息中;如果宏块mbi和mbj的i帧位置交换后,i帧中各个4x4_dct块调用的vlc表发生改变,则继续寻找另一个宏块mbj与mbi进行交换,直到找到符合交换条件的宏块或者mbi的周围宏块都已遍历过为止;
[0040]
按随机宏块地址顺序再取另一个宏块a,重复上面步骤,直到i帧中的所有宏块都处理完毕;
[0041]
用aes算法加密sei消息。
[0042]
所述的对抗深度学习人脸攻击的实时视频加密方法,其中,所述对进行位置排列加密后的比特流进行重新封装的步骤具体包括:
[0043]
将加密后的数据比特串sodb封装成扩展字节序列载荷ebsp形式的 h.264码流。
[0044]
一种对抗深度学习人脸攻击的实时视频加密装置,其中,所述装置包括:
[0045]
获取解析模块,用于获取视频码流,并解析视频码流中宏块语法元素及其对应码字;
[0046]
异或加密模块,用于用aes算法对解析后的整个视频码流中的指定语法元素的码字比特位进行异或加密;
[0047]
位置排列加密模块,用于使用基于克努特置乱的格式兼容宏块码流顺序扰乱技术、对异或加密后的视频码流中的i帧宏块比特段进行位置排列加密;
[0048]
重新封装模块,用于对进行位置排列加密后的比特流进行重新封装。
[0049]
一种智能终端,其中,包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于执行如上任意一项所述的方法。
[0050]
一种非临时性计算机可读存储介质,其中,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行如上任意一项所述的方法。
[0051]
有益效果:与现有技术相比,本发明提供了一种对抗深度学习人脸攻击的实时视频加密方法,本发明是面向h.264码流大数据的轻量级加密方法,计算复杂度低,加密效率
高,即使在高清视频上也能实现实时加密;此外,本发明的安全性能也远超其余面向码流加密方法,能有效抵御基于深度学习的新型攻击;同时也保留了加密压缩域特征以支持基于云的隐私保护应用的视频处理分析。本发明对安全实时视频通讯、隐私保护的云监控、安全视频大数据云计算等场景都具有重大应用价值。
[0052]
本发明通过加密视频的数据使其解码出错误的像素内容,并且利用帧间预测和帧差预测可以把这种错误传播到其他区域和其他帧,以此达到整个视频内容的保护目的。本发明结合了更多语法元素的码字加密,不仅考虑码流比特的值加密,还考虑了其位置加密,使加密空间显著增大,安全性进一步提升。同时,本发明中的加密方法是面向码流的,复杂度低、效率高,这也确保了加密速度的实时性。
附图说明
[0053]
图1为本发明实施例提供的对抗深度学习人脸攻击的实时视频加密方法的具体实施方式的流程图。
[0054]
图2为本发明实施例提供的对抗深度学习人脸攻击的实时视频加密方法的具体实施方式的视频序列组成结构示意图。
[0055]
图3为本发明实施例提供的对抗深度学习人脸攻击的实时视频加密方法的具体实施方式的扩展字节序列载荷、原始字节序列载荷、与数据比特串结构示意图。
[0056]
图4为本发明的对抗深度学习人脸攻击的实时视频加密方法的具体应用实施例处理过程示意图。
[0057]
图5为本发明实施例的对抗深度学习人脸攻击的实时视频加密方法的宏块位置交换后会产生vlc表变化的4x4 dct块示意图。
[0058]
图6为本发明具体应用实施例的对抗深度学习人脸攻击的实时视频加密方法的基于深度学习的人脸隐私重建模型攻击不同加密方法的结果对比示意图。
[0059]
图7是本发明实施例提供的对抗深度学习人脸攻击的实时视频加密装置的原理框图。
[0060]
图8是本发明实施例提供的智能终端的内部结构原理框图。
具体实施方式
[0061]
为使本发明的目的、技术方案及效果更加清楚、明确,以下参照附图并举实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
[0062]
随着智能终端的发展和网络技术的流行,视频会议、视频课堂等视频通讯软件的使用越来越普及。然而,这些视频通讯软件在传输视频过程中容易发生隐私泄漏,进而被用于违法犯罪,例如利用视频中的人脸和声音,用人脸生成技术和语音合成技术伪造逼真的视频以骗取钱财。
[0063]
因此,需要一种快速实时的视频加密方法来保护视频通讯过程中的内容隐私。最近出现的基于深度学习的新一代攻击方式也对视频加密方法的安全性发起了挑战,例如基于gan模型的加密人脸重建攻击,它能从加密图片中恢复出人脸细节。因此,提出一种可以抵御深度学习攻击的安全可靠视频加密方法迫在眉睫。同时考虑到国家对视频传输中敏感
内容的监测问题,因此也需要保证加密后的视频数据可用,能够支持隐私保护的敏感内容检测,以确保信息的安全监管。综上,新时代的视频加密方案需要满足三个特点:实时性、安全性、可用性。
[0064]
现阶段的视频加密技术主要分成两种:第一种是朴素的全加密方法,把视频码流当成无格式的数据流,利用aes等标准加密算法把整个数据流都进行加密,然而这种方法耗时高且加密后的数据不可用,因而不适用;第二种是格式兼容的选择性加密,既减少了计算复杂度,又保证了格式兼容使加密后的数据可提取加密域特征。选择性加密方法通常都是嵌入在视频压缩编码过程中的,通过加密如ipm、mvd、dct系数等语法元素,实现视频内容的隐私保护。
[0065]
然而,现有技术实际场景是无法把加密算法嵌入到摄像头中已烧固的 dsp芯片中去,直接对压缩码流进行加密更贴近现实。那么如果要应用这种嵌入式的选择性加密算法,就要涉及到压缩视频解码和重新编码加密的耗时增加,这对实时性要求高的视频通讯软件来说是难以承受的。因此,面向压缩码流的选择性加密方法才适用于视频通讯软件的隐私保护。现有的加密算法中仅有部分基于cavlc的加密方法可以拓展成面向码流加密的方式,而其他的加密方法都无法避免重编码的过程,包括基于cabac 的加密方法、基于dct系数的扫描顺序加密、基于dct变换类型加密,基于宏块帧位置扰乱加密等。
[0066]
为了解决现有技术的问题,本实施例提供一种对抗深度学习人脸攻击的实时视频加密方法,本发明针对篡改图像提出了一种对抗深度学习人脸攻击的实时视频加密方法,用于支持视频大数据的轻量级加密以及基于云计算的视频隐私保护应用。
[0067]
本发明采用面向h.264码流大数据的轻量级加密方法,计算复杂度低,加密效率高,即使在高清视频上也能实现实时加密;此外,本发明的安全性能也远超其余面向码流加密方法,能有效抵御基于深度学习的新型攻击;同时也保留了加密压缩域特征以支持基于云的隐私保护应用的视频处理分析。本发明对安全实时视频通讯、隐私保护的云监控、安全视频大数据云计算等场景都具有重大应用价值。
[0068]
h.26x标准,活动图像编码标准,h.26x和mpeg―x都是应用最广泛的视音频压缩国际标准。其中,h.26x是活动图像编码标准,而mpeg则主要包括mpeg视频、mpeg音频和mpeg系统视音频同步mpeg―x既有区别又有紧密的联系,特别是h.262和h。264,它们既是itu―t制定的标准,又分别是itu―t与iso/iec联合制定的mpeg-2和mpeg的组成部分。
[0069]
其中,h.264原始码流(裸流)是由一个接一个nalu(视频数据网络抽象层单元)组成,它的功能分为两层,vcl(视频编码层)和nal(视频数据网络抽象层)。
[0070]
在h.264/avc视频编码标准中,所有的码流数据,最终都被封装成了一个一个的nalu(network abstract layer unit)就是网络抽象层单元。
[0071]
既然是视频流,那么nalu里面存放的必然有视频数据,除此之外,还有一些其他的信息,比如说时间戳,帧率,画面是否翻转等等信息。这些数据以每个nalu为一个单元,可以进行网络传输(推流),或者本地解码(播放)。
[0072]
(1)nal层(视频数据网络抽象层)
[0073]
因为h264最终还是要在网络上进行传输,在传输的时候,网络包的最大传输单元是1500字节,一个h264的帧往往是大于1500字节的,所以需要将一个帧拆成多个包进行传输。这些拆包、组包等工作都在nal 层去处理。
[0074]
(2)vcl层(视频编码层)
[0075]
对视频的原始数据进行压缩。
[0076]
示例性方法
[0077]
本实施例的方法可应用于智能终端中,本发明h.264原始码流(裸流) 只是264比较好描述,265也适用的,具体实施时,如图1中所示,本发明实施例提供的一种对抗深度学习人脸攻击的实时视频加密方法具体包括如下步骤:
[0078]
步骤s100:获取视频码流,并解析视频码流中宏块语法元素及其对应码字;
[0079]
本发明以h.264视频码流为例进行说明。例如获取h.264视频码流,并解析h.264视频码流中宏块语法元素及其对应码字。
[0080]
如图2所示,h264视频码流的组织形式从大到小排序是:视频序列 (video sequence)、图像(frame/field-picture)、片组(slice group)、片(slice)、宏块(macroblock)、子块(sub-block)、像素(pixel)。
[0081]
本发明实施例中以宏块为单位,将获取h.264视频码流划分为多个宏块,并解析h.264视频码流中宏块的语法元素及其对应码字(比特流)。
[0082]
而语法元素是码流中数据的基本单元,每个语法元素由若干比特组成,它表征了某个特定的物理意义(如预测类型、量化系数qp等)。视频编码标准的语法规定了各个语法元素的组织结构,语义阐述了语法元素的具体含义。本发明实施例中会解析h.264视频码流中宏块的语法元素及其对应码字(比特流)。
[0083]
步骤s200:用aes算法对解析后的整个视频码流中的指定语法元素的码字比特位进行异或加密;
[0084]
本发明实施例中的指定语法元素即为h.264视频码流编码过程中使用的一些变量参数,即所述指定语法元素包括如下变量参数:
[0085]
intra_4x4_ipm:4x4块的帧内预测模式
[0086]
intra_16x16_ipm:16x16块的帧内预测模式
[0087]
chroma_ipm:色度块的帧内预测模式;
[0088]
mvd:运动向量差值
[0089]
ref_idx:参考帧序号
[0090]
delta_qp:量化参数差值
[0091]
sign_of_t1s:拖尾系数的符号
[0092]
level:残差系数幅值
[0093]
run_before:非零系数前零的个数。
[0094]
本发明实施例中,用aes算法对解析后的整个视频码流中的上述指定语法元素的码字比特位进行异或加密。
[0095]
其中,aes算法是一种对称的分组加密技术,使用128位分组加密数据,提供比wep/tkips的rc4算法更高的加密强度。aes的加密码表和解密码表是分开的,并且支持子密钥加密,这种做法优于以前用一个特殊的密钥解密的做法。
[0096]
其中,所述异或加密中异或是对两个运算元的一种逻辑分析类型,符号为xor或eor。与一般的逻辑或or不同,当两两数值相同为否,而数值不同时为真。异或加密是密码学中一种加密算法,是指对信息进行异或操作来达到加密和解密目的。按这种逻辑,文本串行
的每个字符可以通过与给定的密钥进行按位异或运算来加密。如果要解密,只需要将加密后的结果与密钥再次进行按位异或运算即可。
[0097]
步骤s300:对异或加密后的视频码流,使用基于克努特置乱(knuthshuffle)的格式兼容宏块码流顺序扰乱技术、对异或加密后的视频码流中的i帧宏块比特段进行位置排列加密;
[0098]
本发明实施例中采用knuthshuffle(克努特置乱)算法的格式兼容宏块码流顺序扰乱技术、对异或加密后的视频码流中的i帧宏块比特段进行位置排列加密。
[0099]
本发明实施例采用的knuthshuffle(克努特置乱)算法,也称作fisher-yatesshuffle,即knuth洗牌算法,是一种对一个有限序列生成随机排列的算法。本发明利用aes算法生成随机序列,再基于该随机序列对i帧中的宏块地址顺序进行knuth洗牌打乱,生成随机的宏块地址顺序用于确定i帧宏块进行格式兼容扰乱操作的先后顺序。而相应的解密操作是按扰乱的顺序进行复原。
[0100]
其中,i帧宏块的格式兼容扰乱操作是基于vlc(variablelengthcoding)表不变的原则进行的。vlc表是cavlc上下文自适应变长熵编码中使用的变长码字表,一共有五种vlc表;4x4_dct块调用何种vlc表取决于其左边和上边的4x4_dct块的平均nc值,其中,dct(discretecosinetransformation)为离散余弦变换,nc值为dct块中非零残差系数的个数。
[0101]
步骤s400:重新封装加密后的比特流。
[0102]
本步骤中对进行位置排列加密后的比特流进行重新封装
[0103]
由上可见,本发明实施例针对现有视频加密的安全性和实时性问题,提供了一种对抗深度学习人脸攻击的实时视频加密方法,用于支持视频大数据的轻量级加密以及基于云计算的视频隐私保护应用。本发明实施例面向h.264码流大数据的轻量级加密方法,计算复杂度低,加密效率高,即使在高清视频上也能实现实时加密;此外,本发明采用双次加密方式的安全性能也远超其余面向码流加密方法,能有效抵御基于深度学习的新型攻击;同时也保留了加密压缩域特征以支持基于云的隐私保护应用的视频处理分析。本发明对安全实时视频通讯、隐私保护的云监控、安全视频大数据云计算等场景都具有重大应用价值。
[0104]
本发明实施例中所述步骤s100具体包括:
[0105]
s11:获取h.264视频码流,将获取的h.264视频码流从ebsp(扩展字节序列载荷)解封装成sodb(数据比特串)。
[0106]
s12:解析sodb(数据比特串)中的宏块级语法元素及其对应码字的比特位置。
[0107]
本发明实施例中,如图3所示,关于h.264视频码流相关的ebsp(扩展字节序列载荷),rbsp(原始字节序列载荷),sodp(数据比特串)的说明如下:
[0108]
1)ebsp:扩展字节序列载荷(encapsulatedbytesequencepayload),它去掉了000001/00000001这些起始码,但包含了0x3防止竞争码,原因是防止与起始码重复。
[0109]
2)rbsp:原始字节序列载荷(rawbytesequencepayload),字节对齐后的sodp,它在sodp尾部添加了一个1和若干个0用于字节对齐。
[0110]
3)sodp:数据字节流(stringofdatabits、数据比特串),不对齐的数据字节流。
[0111]
其中,sodb:数据比特串,即编码后的最原始的数据;
[0112]
rbsp:原始字节序列载荷,即在sodb的后面添加了trailingbits,即一个bit1和
若干个bit 0,以便字节对齐;
[0113]
ebsp:扩展字节序列载荷,即在rbsp的基础上添加了仿校验字节 0x03
[0114]
sodb是编码收的原始数据,经过封装后为rbsp,rbsp是nal单元的数据部分的封装格式。在nal内部为了防止与起始码竞争,从而引入填充字节0x03,这样便形成了ebsp。
[0115]
本发明实施例中,获取h.264视频码流,将获取的h.264视频码流从扩展字节序列载荷ebsp解封装成数据比特串sodb;然后解析数据比特串sodb中的宏块级语法元素及其对应码字的比特位置。
[0116]
如图4所示,将获取h.264视频码流,进行解封装和进行语法解析后形成sei(补充增强信息)和多个mb(macroblock宏块)例如,mbi宏块、
……
mbj宏块、
……
mbn宏块等,解析数据比特串sodb中的宏块级语法元素及其对应码字的比特位置。
[0117]
进一步地,如图4所示,所述步骤s200的用aes算法对解析后的整个视频码流中的指定语法元素的码字比特位进行异或加密具体包括以下步骤:
[0118]
s21:用aes算法根据密钥生成随机二进制序列。
[0119]
其中,aes算法使用的模式是计数模式(counter mode),这种模式下可以根据一个128比特的密钥生成无穷长度的随机二进制序110
……

[0120]
s22:用随机序列异或加密intra_16x16_ipm(16x16块的帧内预测模式)码字的最后一位比特、intra_4x4_ipm(4x4块的帧内预测模式)码字的三位比特;注意在加密p帧的intra_16x16_ipm码字时,仅当mb_type (宏块类型)的值满足以下公式(1)的条件才可以加密:
[0121]
(mb_type-7)mod 4《2
ꢀꢀ
(公式1)
[0122]
其中,mod表示求两个数值相除后的余数。
[0123]
s23:用随机序列异或加密色度块的帧内预测模式码字的最后一位比特,且仅当chroma_ipm等于1或2时才能加密。
[0124]
s24:用随机序列异或加密mvd(运动向量差值)码字的所有后缀比特、ref_idx(参考帧序号)码字的最后一位比特;假设λ为可参考帧数最大值,ref_idx(参考帧序号)的加密需要满足以下公式(2)的条件:
[0125][0126]
其中,指的是向下取整操作;
[0127]
s25:用随机序列异或加密delta_qp(量化参数差值)码字的所有后缀比特、sign_of_t1s(拖尾系数的符号)码字的所有比特、level(残差系数幅值)码字的所有后缀比特、最后一个run_before(非零系数之间的零值个数)码字的最后一位比特。
[0128]
本发明实施例中,通过上述步骤s21、s22、s23、s24、s25实现用 aes算法对解析后的整个视频码流中的指定语法元素的码字比特位进行异或加密,本发明面向h.264码流大数据的轻量级加密方法,安全性强,计算复杂度低,加密效率高,即使在高清视频上也能实现实时加密。
[0129]
进一步地,本发明所述步骤s300的使用基于克努特置乱的格式兼容宏块码流顺序扰乱技术、对异或加密后的视频码流中的i帧宏块比特段进行位置排列加密的步骤具体包括:
[0130]
s31:解析所有4x4_dct块的vlc表类型;
[0131]
其中,每个4x4_dct块的vlc表类型取决于其上侧和左侧的邻近 4x4_dct块的平均nc值。不同宏块中的4x4_dct块的nc值也不同,因此宏块之间的位置关系变化会影响宏块内所有的4x4_dct块选用的vlc 表类型。
[0132]
s32:基于aes生成的随机数,用克努特置乱算法生成随机宏块地址顺序;
[0133]
其中,aes算法使用的模式是计数模式(counter mode),这种模式下可以根据一个128比特的密钥生成无穷长度的随机二进制序列。而克努特置乱算法则根据aes生成的随机数对i帧的宏块地址顺序进行打乱。
[0134]
s33:按随机宏块地址顺序取一个宏块mbi;在宏块mbi周围任意寻找一个宏块mbj,假如宏块mbi和mbj的i帧位置交换后,i帧中各个 4x4_dct块调用的vlc表保持不变,那么就对宏块mbi和mbj的比特段位置进行交换,交换的位移矢量δs嵌入进sei消息中;如果宏块mbi和 mbj的i帧位置交换后,i帧中各个4x4_dct块调用的vlc表发生改变,则继续寻找另一个宏块mbj与mbi进行交换,直到找到符合交换条件的宏块或者mbi的周围宏块都已遍历过为止;
[0135]
其中,交换的位移矢量δs的编码方式采用定长编码,即用固定长度的比特量来描述位移矢量δs的值,一个比特表示符号,剩余比特表示绝对值。
[0136]
s34:重复s33步骤,直到i帧中的所有宏块都处理完毕;
[0137]
s35:用aes算法加密sei消息;
[0138]
其中,用aes的计数模式(counter mode)生成一段与sei消息等长的随机二进制序列,然后将其与sei消息中的比特进行按位异或加密。
[0139]
进一步地,本发明所述步骤s400的对进行位置排列加密后的比特流进行重新封装具体包括:
[0140]
s41:将加密后的数据比特串sodb封装成扩展字节序列载荷ebsp形式的h.264码流。
[0141]
具体如图4所示,附图4展示了本发明具体实施例的加密流程图,其加密步骤主要由按位加密和位置扰乱两步组成。
[0142]
本发明实施例中关于按位加密:指的是步骤s200中对视频码流中一些指定语法元素码字比特位的加密操作,附图4中仅展示了对intra_4x4_ipm (4x4块的帧内预测模式)码字的三个比特的加密操作,实际加密过程还包含每个宏块内的intra_16x16_ipm(16x16块的帧内预测模式)、 chroma_ipm(色度块的帧内预测模式)、mvd(运动向量差值)、ref_idx (参考帧序号)、delta_qp(量化参数差值)、sign_of_t1s(拖尾系数的符号)、level(残差系数幅值)、run_before(非零系数之间的零值个数)等语法元素的码字加密。按位加密利用aes标准加密算法根据密钥产生随机的二进制序列,将需要加密的比特位与该随机序列进行异或操作,从而达到加密视频码流比特的效果。
[0143]
本发明实施例中关于位置扰乱:指的是s300步骤中对视频码流的宏块比特段进行位置交换的操作,附图4中仅展示了一次宏块码流位置交换过程,实际加密过程还包括了i帧中其他宏块以及视频中的其他i帧。该加密过程首先用克努特置乱算法产生随机的宏块顺序,然后基于该随机顺序一个一个地对宏块进行格式兼容交换加密,已经交换过位置的宏块不再参与交换加密。每一次宏块码流位置扰乱加密会在解码帧中产生相应的二维空间
位置变化,如附图5所示。由于cavlc熵编码的上下文之间存在很强的相关性,宏块的位置变化会导致部分dct块的vlc表产生变化,进而使这些dct块的熵解码发生错误。即使如此,由于h.264的cavlc熵编码仅有5种类型的vlc表,在宏块交换后依然有一定的概率能保持dct块的vlc表不变。因此,如果能保证每次宏块扰乱都需要保证所有dct块的vlc表保持不变,就能保证位置交换后不会引起格式冲突。那么,格式兼容性的宏块扰乱操作就需要满足以下条件:两个宏块交换后,在新的宏块位置关系下,i帧中所有的4x4_dct块使用的vlc表类型与交换前保持一致。然而,如果要判断所有4x4_dct块的vlc表需要耗费很大的计算量,会严重拖慢加密速度。因此,本发明提出了仅计算如附图5中所示的深色的dct块的vlc表是否发生改变即可,这样便大大地减少格式兼容宏块置乱算法的计算复杂度。需要注意的是,除了亮度通道的dct块,还要保证色度通道的dct块所用的vlc表类型不变。考虑到位置扰乱加密的不可逆性,需要将每次交换的位移矢量δs记录进sei消息中,编码方式采用定长编码。
[0144]
其中,sei(supplemental enhancement information)指h.264码流结构中一种负责记录额外消息的数据单元。
[0145]
本发明的原理是:通过加密视频的数据使其解码出错误的像素内容,并且利用帧间预测和帧差预测可以把这种错误传播到其他区域和其他帧,以此达到整个视频内容的保护目的。本发明结合了更多语法元素的码字加密,不仅考虑码流比特的值加密,还考虑了其位置加密,使加密空间显著增大,安全性进一步提升。同时,本发明中的加密方法是面向码流的,复杂度低、效率高,这也确保了加密速度的实时性。另外,本发明的宏块码流顺序扰乱技术破坏了解码帧内宏块位置之间的关联性,让位置敏感的卷积神经网络无法学习有用的特征,从而使已知明文攻击模型下的深度学习攻击失效。同时为了保留了加密压缩域特征在p帧上的有效性,本发明仅在i帧上应用宏块码流顺序扰乱加密。
[0146]
下面给出本发明方法的一些具体实施例及实验结果:
[0147]
实施例1
[0148]
首先对本发明进行加密性能测试,并与现有的面向码流的视频加密方法做性能对比。实验的视频数据来自视频标准测试库 https://media.xiph.org/video/derf/。实验结果如表1所示,其中,
[0149]
psnr(peak signal to noise ratio)指峰值信噪比;
[0150]
ssim(structural similarity index)指结构相似性;
[0151]
ie(information entropy)指信息熵;
[0152]
edr(edges differential ratio)指边缘差异率;
[0153]
nprc(number of changing pixel rate)指改变像素率的数量;
[0154]
uaci(unified averaged changed intensity)指统一平均变化强度;
[0155]
表格1中对比的加密方法用发明人的英文名字来表示。
[0156]
可以发现,本发明的加密空间、视觉指标都明显优于其他视频加密方法,意味着本发明的安全性是最高的。
[0157]
表1面向码流的加密方法性能比较
[0158][0159][0160]
实施例2
[0161]
接着对测试视频进行放大以探究本发明在不同视频分辨率下的加密性能。表2报告了重复100次实验的平均性能结果,其中msr指位置扰乱的宏块所占百分比,er指码流加密比特所占百分比。显然,代表加密空间大小的msr和er在高清视频上进一步增大,安全性提升;此外,在加密速度上,即使是加密对象是高清视频也能满足实时性需求。
[0162]
表2不同视频分辨率下的加密性能
[0163]
分辨率msr(%)er(%)psnr(db)加密速度(fps)352x28819.062026.93407.66681888.6520704x57646.003835.86147.6340339.54021056x86465.869742.87627.622677.03411408x115276.841645.41587.526442.8333
[0164]
实施例3
[0165]
最后进行关于抵御深度学习人脸攻击的实验。实验中利用pix2pix的 cgan模型学习加密人脸到原始人脸的映射,以获取加密图像中的人脸隐私。实验在数据集casia-webface上进行评估。附图6给出了不同视频加密算法的攻击结果,可以看到从本发明加密人脸中重构出来的人脸和原始人脸完全不一样,甚至变成了女性,这说明本发明能很好地抵御基于深度学习的人脸隐私重建攻击。
[0166]
由上可见,本发明是面向h.264码流大数据的轻量级加密方法,计算复杂度低,加密效率高,即使在高清视频上也能实现实时加密;此外,本发明的安全性能也远超其余面向
码流加密方法,能有效抵御基于深度学习的新型攻击;同时也保留了加密压缩域特征以支持基于云的隐私保护应用的视频处理分析。本发明对安全实时视频通讯、隐私保护的云监控、安全视频大数据云计算等场景都具有重大应用价值。
[0167]
示例性设备
[0168]
如图7中所示,本发明实施例提供一种对抗深度学习人脸攻击的实时视频加密装置,该装置包括:
[0169]
获取解析模块410,用于获取视频码流,并解析视频码流中宏块语法元素及其对应码字;
[0170]
异或加密模块420,用于用aes算法对解析后的整个视频码流中的指定语法元素的码字比特位进行异或加密;
[0171]
位置排列加密模块430,用于使用基于克努特置乱的格式兼容宏块码流顺序扰乱技术、对异或加密后的视频码流中的i帧宏块比特段进行位置排列加密;
[0172]
重新封装模块440,用于对进行位置排列加密后的比特流进行重新封装,具体如上所述。
[0173]
基于上述实施例,本发明还提供了一种智能终端,其原理框图可以如图8所示。本发明实施例的智能终端可以为智能多媒体设备,该智能终端包括通过系统总线连接的处理器、存储器、网络接口、显示屏。其中,该智能终端的处理器用于提供计算和控制能力。该智能终端的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该智能终端的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种对抗深度学习人脸攻击的实时视频加密方法。该智能终端的显示屏可以是液晶显示屏或者电子墨水显示屏。
[0174]
本领域技术人员可以理解,图8中示出的原理框图,仅仅是与本发明方案相关的部分结构的框图,并不构成对本发明方案所应用于其上的智能终端的限定,具体的智能终端可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
[0175]
在一个实施例中,提供了一种智能终端,包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于进行以下操作的指令:
[0176]
获取视频码流,并解析视频码流中宏块语法元素及其对应码字;
[0177]
用aes算法对解析后的整个视频码流中的指定语法元素的码字比特位进行异或加密;
[0178]
使用基于克努特置乱的格式兼容宏块码流顺序扰乱技术、对异或加密后的视频码流中的i帧宏块比特段进行位置排列加密;
[0179]
对进行位置排列加密后的比特流进行重新封装。
[0180]
其中,所述获取视频码流,并解析视频码流中宏块语法元素及其对应码字的步骤还包括:
[0181]
获取h.264视频码流,将获取的h.264视频码流从扩展字节序列载荷 ebsp解封装成数据比特串sodb;
[0182]
解析数据比特串sodb中的宏块级语法元素及其对应码字的比特位置。
[0183]
其中,所述用aes算法对解析后的整个视频码流中的指定语法元素的码字比特位进行异或加密步骤中的指定语法元素包括如下变量参数:
[0184]
intra_4x4_ipm:4x4块的帧内预测模式;
[0185]
intra_16x16_ipm:16x16块的帧内预测模式;
[0186]
chroma_ipm:色度块的帧内预测模式;
[0187]
mvd:运动向量差值;
[0188]
ref_idx:参考帧序号;
[0189]
delta_qp:量化参数差值;
[0190]
sign_of_t1s:拖尾系数的符号;
[0191]
level:残差系数幅值;
[0192]
run_before:非零系数前零的个数。
[0193]
其中,所述用aes算法对解析后的整个视频码流中的指定语法元素的码字比特位进行异或加密的步骤包括:
[0194]
用aes算法根据密钥生成随机二进制序列;
[0195]
用随机序列异或加密16x16块的帧内预测模式码字的最后一位比特、 4x4块的帧内预测模式码字的三位比特;并在加密p帧的16x16块的帧内预测模式码字时,仅当宏块类型mb_type的值满足以下公式(1)的条件才加密:
[0196]
(mb_type-7)mod 4《2
ꢀꢀ
公式(1)
[0197]
其中,mod是求两个数值相除后的余数;
[0198]
用随机序列异或加密色度块的帧内预测模式码字的最后一位比特,且仅当chroma_ipm等于1或2时才能加密。
[0199]
用随机序列异或加密运动向量差值mvd码字的所有后缀比特、参考帧序号ref_idx码字的最后一位比特;假设λ为可参考帧数最大值,参考帧序号ref_idx的加密需满足以下公式(2)的条件:
[0200][0201]
其中,指的是向下取整操作;
[0202]
用随机序列异或加密量化参数差值delta_qp码字的所有后缀比特、拖尾系数的符号sign_of_t1s码字的所有比特、残差系数幅值level码字的所有后缀比特、最后一个非零系数之间的零值个数run_before码字的最后一位比特。
[0203]
其中,所述使用基于克努特置乱的格式兼容宏块码流顺序扰乱技术、对异或加密后的视频码流中的i帧宏块比特段进行位置排列加密的步骤包括:
[0204]
解析所有4x4_dct块的vlc表类型;
[0205]
基于aes生成的随机数,用克努特置乱算法生成随机宏块地址顺序;
[0206]
按随机宏块地址顺序取一个宏块mbi;在宏块mbi周围任意寻找一个宏块mbj,假如宏块mbi和mbj的i帧位置交换后,i帧中各个4x4_dct 块调用的vlc表保持不变,那么就对宏块mbi和mbj的比特段位置进行交换,交换的位移矢量δs嵌入进sei消息中;如果宏块mbi和mbj的i帧位置交换后,i帧中各个4x4_dct块调用的vlc表发生改变,则继续寻找另一个宏块mbj与mbi进行交换,直到找到符合交换条件的宏块或者mbi的周围宏块都已遍历过为止;
[0207]
按随机宏块地址顺序再取另一个宏块a,重复上面步骤,直到i帧中的所有宏块都处理完毕;
[0208]
用aes算法加密sei消息。
[0209]
其中,所述对进行位置排列加密后的比特流进行重新封装的步骤具体包括:
[0210]
将加密后的数据比特串sodb封装成扩展字节序列载荷ebsp形式的 h.264码流。
[0211]
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本发明所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom (eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路 (synchlink)dram(sldram)、存储器总线(rambus)直接ram (rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。
[0212]
综上,本发明公开了一种对抗深度学习人脸攻击的实时视频加密方法、装置、智能终端及存储介质,本发明提供了一种对抗深度学习人脸攻击的实时视频加密方法,本发明是面向h.264码流大数据的轻量级加密方法,计算复杂度低,加密效率高,即使在高清视频上也能实现实时加密;此外,本发明的安全性能也远超其余面向码流加密方法,能有效抵御基于深度学习的新型攻击;同时也保留了加密压缩域特征以支持基于云的隐私保护应用的视频处理分析。本发明对安全实时视频通讯、隐私保护的云监控、安全视频大数据云计算等场景都具有重大应用价值。
[0213]
本发明通过加密视频的数据使其解码出错误的像素内容,并且利用帧间预测和帧差预测可以把这种错误传播到其他区域和其他帧,以此达到整个视频内容的保护目的。本发明结合了更多语法元素的码字加密,不仅考虑码流比特的值加密,还考虑了其位置加密,使加密空间显著增大,安全性进一步提升。
[0214]
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

技术特征:
1.一种对抗深度学习人脸攻击的实时视频加密方法,其特征在于,所述方法包括:获取视频码流,并解析视频码流中宏块语法元素及其对应码字;用aes算法对解析后的整个视频码流中的指定语法元素的码字比特位进行异或加密;使用基于克努特置乱的格式兼容宏块码流顺序扰乱技术、对异或加密后的视频码流中的i帧宏块比特段进行位置排列加密;对进行位置排列加密后的比特流进行重新封装。2.根据权利要求1所述的对抗深度学习人脸攻击的实时视频加密方法,其特征在于,所述获取视频码流,并解析视频码流中宏块语法元素及其对应码字的步骤还包括:获取h.264视频码流,将获取的h.264视频码流从扩展字节序列载荷ebsp解封装成数据比特串sodb;解析数据比特串sodb中的宏块级语法元素及其对应码字的比特位置。3.根据权利要求1所述的对抗深度学习人脸攻击的实时视频加密方法,其特征在于,所述用aes算法对解析后的整个视频码流中的指定语法元素的码字比特位进行异或加密步骤中的指定语法元素包括如下变量参数:intra_4x4_ipm:4x4块的帧内预测模式;intra_16x16_ipm:16x16块的帧内预测模式;chroma_ipm:色度块的帧内预测模式;mvd:运动向量差值;ref_idx:参考帧序号;delta_qp:量化参数差值;sign_of_t1s:拖尾系数的符号;level:残差系数幅值;run_before:非零系数前零的个数。4.根据权利要求3所述的对抗深度学习人脸攻击的实时视频加密方法,其特征在于,所述用aes算法对解析后的整个视频码流中的指定语法元素的码字比特位进行异或加密的步骤包括:用aes算法根据密钥生成随机二进制序列;用随机序列异或加密16x16块的帧内预测模式码字的最后一位比特、4x4块的帧内预测模式码字的三位比特;并在加密p帧的16x16块的帧内预测模式码字时,仅当宏块类型mb_type的值满足以下公式(1)的条件才加密:(mb_type-7)mod 4<2
ꢀꢀꢀꢀ
公式(1)其中,mod是求两个数值相除后的余数;用随机序列异或加密色度块的帧内预测模式码字的最后一位比特,且仅当chroma_ipm等于1或2时才能加密;用随机序列异或加密运动向量差值mvd码字的所有后缀比特、参考帧序号ref_idx码字的最后一位比特;假设λ为可参考帧数最大值,参考帧序号ref_idx的加密需满足以下公式(2)的条件:
其中,指的是向下取整操作;用随机序列异或加密量化参数差值delta_qp码字的所有后缀比特、拖尾系数的符号sign_of_t1s码字的所有比特、残差系数幅值level码字的所有后缀比特、最后一个非零系数之间的零值个数run_before码字的最后一位比特。5.根据权利要求1所述的对抗深度学习人脸攻击的实时视频加密方法,其特征在于,所述使用基于克努特置乱的格式兼容宏块码流顺序扰乱技术、对异或加密后的视频码流中的i帧宏块比特段进行位置排列加密的步骤包括:解析所有4x4_dct块的vlc表类型;基于aes生成的随机数,用克努特置乱算法生成随机宏块地址顺序;按随机宏块地址顺序取一个宏块mb
i
;在宏块mb
i
周围任意寻找一个宏块mb
j
,假如宏块mb
i
和mb
j
的i帧位置交换后,i帧中各个4x4_dct块调用的vlc表保持不变,那么就对宏块mb
i
和mb
j
的比特段位置进行交换,交换的位移矢量δs嵌入进sei消息中;如果宏块mb
i
和mb
j
的i帧位置交换后,i帧中各个4x4_dct块调用的vlc表发生改变,则继续寻找另一个宏块mb
j
与mb
i
进行交换,直到找到符合交换条件的宏块或者mb
i
的周围宏块都已遍历过为止;按随机宏块地址顺序再取另一个宏块a,重复上面步骤,直到i帧中的所有宏块都处理完毕;用aes算法加密sei消息。6.根据权利要求1所述的对抗深度学习人脸攻击的实时视频加密方法,其特征在于,所述对进行位置排列加密后的比特流进行重新封装的步骤具体包括:将加密后的数据比特串sodb封装成扩展字节序列载荷ebsp形式的h.264码流。7.一种对抗深度学习人脸攻击的实时视频加密装置,其特征在于,所述装置包括:获取解析模块,用于获取视频码流,并解析视频码流中宏块语法元素及其对应码字;异或加密模块,用于用aes算法对解析后的整个视频码流中的指定语法元素的码字比特位进行异或加密;位置排列加密模块,用于使用基于克努特置乱的格式兼容宏块码流顺序扰乱技术、对异或加密后的视频码流中的i帧宏块比特段进行位置排列加密;重新封装模块,用于对进行位置排列加密后的比特流进行重新封装。8.一种智能终端,其特征在于,包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于执行如权利要求1-6中任意一项所述的方法。9.一种非临时性计算机可读存储介质,其特征在于,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行如权利要求1-6中任意一项所述的方法。

技术总结
本发明公开了对抗深度学习人脸攻击的实时视频加密方法及装置,包括:获取视频码流,并解析视频码流中宏块语法元素及其对应码字;用AES算法对解析后的整个视频码流中的指定语法元素的码字比特位进行异或加密;使用基于克努特置乱的格式兼容宏块码流顺序扰乱技术、对异或加密后的视频码流中的I帧宏块比特段进行位置排列加密;对进行位置排列加密后的比特流进行重新封装。本发明结合了更多语法元素的码字加密,不仅考虑码流比特的值加密,还考虑了其位置加密,使加密空间显著增大,安全性进一步提升;面向码流的加密方法确保了加密速度的实时性。时性。时性。


技术研发人员:田贤浩 郑培嘉 黄继武
受保护的技术使用者:深圳大学
技术研发日:2022.06.17
技术公布日:2022/11/1
转载请注明原文地址: https://tieba.8miu.com/read-11318.html

最新回复(0)