一种基于区块链的视频帧数据双认证与分级加密方法转让专利

申请号 : CN202010810143.4

文献号 : CN111917558B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 赵逸文苏明文周之刘晓光

申请人 : 南开大学

摘要 :

一种基于区块链的视频帧数据双认证与分级加密方法;通过公钥、哈希算法(比如SM2、SM3)生成视频帧数据数字签名;通过基于相对大小的编码在频率域上嵌入数字签名,实现离线验证;通过将数字签名保存至区块链实现在线验证;通过对位平面的控制实现视频帧数据的分级加密。本发明能够对H.264编码的视频进行分级加密,数字签名嵌入与验证;本发明只需保存一个文件,可以实现视频多种清晰度的解密效果。利用本发明,可以对视频文件进行加密,保护内容隐私,同时提供预览功能,不同权限等级可解密得到不同清晰度的视频。双认证机制(在线验证、离线验证)提供视频文件的真实性和完整性检测。

权利要求 :

1.一种基于区块链的视频帧数据双认证与分级加密方法,包括如下步骤:第1.视频帧数据离线认证,包括数字签名的生成、嵌入和提取;

第1.1.数字签名的生成

(1)将H.264编码的MP4视频进行解码,采用通用开源编解码库,得到每一帧的帧数据;

选取其中所有的n个关键帧数据frame1,frame2,...,framen;

(2)采用密码杂凑算法,对第2至第n关键帧数据计算其哈希值Hash;

(3)采用公钥加密算法,随机产生一对公私钥对,用私钥对得到的哈希值进行加密,即可得到视频帧数据的数字签名Sign;

第1.2.数字签名的嵌入

(1)将第一个视频关键帧数据解析为YUV三个颜色编码矩阵,其中Y代表灰度矩阵;

(2)对Y矩阵进行8*8分块,并对每个分块作DCT变换;

(3)将视频文件对应的数字签名转换为二进制;

(4)在每个8*8分块中嵌入1bit信息;选取每个分块的对角线8个元素,自右上至左下依次编号为P0,P1,...,P7,用前四位与后四位的和之差来表示嵌入信息,同时将它们的差值强化至16,增强嵌入信息的鲁棒性,即:表示嵌入1

表示嵌入0

第1.3.数字签名的提取

(1)将第一个视频关键帧数据解析为YUV三个颜色编码矩阵;

(2)对Y矩阵进行8*8分块,并对每个分块作DCT变换;

(3)选取每个分块的对角线8个元素,自右上至左下依次编号为P0,P1,...,P7,用前四位与后四位的和之差来提取嵌入信息,即:表示1

表示0

(4)将提取出的二进制信息转换为十六进制数字签名;

第2.视频帧数据在线认证,包括数字签名的生成、保存和验证;

第2.1.数字签名的生成方式同第1.1步;

第2.2.将视频数字签名、用户信息、可信时间戳保存至区块链,区块链返回唯一的视频ID;

第2.3.数字签名的在线验证

(1)根据区块链返回的视频ID从区块链上取出数字签名sign;

(2)用户使用公钥和原视频的关键帧数据frame1,frame2,...,framen,对视频数据完整性进行验证;

第3.视频帧数据的分级加密

(1)将视频所有关键帧数据解析为YUV三个颜色编码矩阵,提取其中所有Y矩阵;

(2)Y矩阵中每个像素点用8位二进制数表示,随机生成一个高级密钥和一个低级密钥;

高级加密对于每个像素点低M位进行加密操作,低级加密对于每个像素点低N位进行加密操作,其中0<N<M≤8。

2.根据权利要求1所述的基于区块链的视频帧数据双认证与分级加密方法,其特征在于,第1.1步中,对视频进行解码时采用X264通用开源编解码库;采用SM3或SHA‑256密码杂凑算法对第2至第n关键帧数据计算其哈希值Hash;采用SM2公钥加密算法,随机产生一对公私钥对,进而得到视频帧数据的数字签名Sign,Hash=SM3(frame2||frame3||frame4||...||framen)#(1)sign=SM2Sk(Hash)#(2)。

3.根据权利要求2所述的基于区块链的视频帧数据双认证与分级加密方法,其特征在于,第2.3步中,用户使用公钥和原视频的关键帧数据frame1,frame2,...,framen,采用SM2、SM3算法,对视频数据完整性进行验证,Hash=SM3(frame2||frame3||frame4||...||framen)#(3)verify=SM2Pk(Hash)#(4)verify=1表示通过验证,否则验证失败。

4.根据权利要求1所述的基于区块链的视频帧数据双认证与分级加密方法,其特征在于,第3步中,也可以对位平面进行更细的分级操作,实现多级别的加密效果。

5.根据权利要求1或4所述的基于区块链的视频帧数据双认证与分级加密方法,其特征在于,第3步中所述的加密采用了流加密算法,能够有效避免视频在编解码、压缩、传输过程中的错误扩散。

6.根据权利要求5所述的基于区块链的视频帧数据双认证与分级加密方法,其特征在于,第3步中所述的加密采用的是ZUC流加密算法。

7.根据权利要求1所述的基于区块链的视频帧数据双认证与分级加密方法,其特征在于,本发明仅需对H.264视频关键帧数据进行加密,降低了算法的复杂度;同时保证加密后的视频能够正常播放,任何人能够预览模糊的版本,不同权限等级能够解密得到不同清晰度的视频,而后台只需保存一个文件,节省存储空间。

说明书 :

一种基于区块链的视频帧数据双认证与分级加密方法

技术领域

[0001] 本发明属于视频认证,视频加密,区块链及信息安全技术领域,具体涉及视频帧数据认证、视频加密方法。

背景技术

[0002] 在如今信息飞速发展的时代,智能监控摄像头因其能够远程监控、录制视频等功能,便成了许多行政机构、公司和家庭保障安全的不二选择;因此,智能监控摄像头在智能
监控、实时视频通信和视频动态认证等领域应用越来越广泛,随之而来的视频数据安全问
题也日趋严重[1]。
[0003] 目前,视频流数据安全问题愈演愈烈,其中主要包括:网络视频监控系统远程传输的不安全性,即传输过程中数据的完整性、可用性和机密性存在被破坏或篡改的可能[2,
3]。此外视频监控后端系统存储的监控视频数据易被窃取,未被加密的用户个人隐私信息
可被任意查看;而被加密后的视频内容无法识别,难以分类管理。对于用户隐私信息的保护
和视频后台监管的平衡已成为一个迫在眉睫的问题。
[0004] 视频加密最初是为了保护涉及政治、军事和经济等敏感应用中的视频数据,随着科技的发展,视频加密的应用领域扩展到多媒体商业服务中,如数字电视、视频点播、视频
会议等。视频加密技术的应用领域主要有:
[0005] (1)多媒体数据保密通信:随着互联网的发展,多媒体在网络中的传输越来越普遍。对视频数据先进行加密再传输就能保证多媒体数据在传输过程中的安全保密性。
[0006] (2)多媒体数据安全存储:视频加密算法可以应用于对多媒体数据库的安全存储中,例如视频聊天录像、视频会议录像、视频监控数据和医学图像库等。
[0007] (3)多媒体内容访问控制:在视频点播、数字电视和网络远程教育等系统中,通过视频加密算法不仅可以保护数据安全的在信道中进行传输,而且可以通过设定分级加密和
不同的密钥来限制用户的访问权限。这样,拥有正确密钥的用户才可以查看数据内容;用户
根据不同权限的等级也只能收看其权限范围内的内容。
[0008] 现有的视频加密技术可大致分为完全加密、信源数据加密、压缩域加密、基于熵编码的加密和码流域加密。
[0009] 完全加密算法不必考虑视频编码格式,将视频数据看作普通的二进制数据加密。也就是使用标准加密方法(比如DES)加密整个视频流。将视频比特流同传统的文本数据同
样对待,没有利用视频压缩后数据流的特殊结构。这种方法因为加解密计算量大,会带来延
迟,很难保证视频的实时传输。
[0010] 信源数据加密算法直接加密视频数据,以使视频数据混乱而不能被理解。它的优点是计算复杂度低,实时性好,但是置乱过程中改变了像素间的关系,一般适用于不需要压
缩编码的场合中[4]。
[0011] 压缩域加密算法主要是基于视频信源特征加密视频重构中的敏感数据,如DCT(离散余弦变换)系数、编码预测模式、运动矢量信息、头信息等。最早的DCT系数加密算法是
Zigzag‑permutation[5],属于置乱变换后块内系数。它的优点是置乱空间理论为64!,因而
安全性高,但由于置乱完全破坏了系数的能量大小排列规律,熵编码后的压缩比大幅降低。
MPEG编码中使用一维DCT变换将空间域数据变换到频率域,减小数据的相关性,以实现压缩
目的。Tang提出了一种DCT系数置乱的方法。置乱变换后的DCT系数方法,实现了加密的目
的,称其为DCW算法。该算法包含以下几种方法:(1)保持直流系数(第1个系数)位置不变,其
他系数间置乱;(2)置乱所有的系数;(3)将直流系数拆开,然后置乱所有的系数;(4)将许多
块的直流系数一起加密,然后将直流系数拆开,并置乱所有的系数。这几种方法获得的安全
性逐渐增加。但是能量的集中性并不等价于信息可理解性的集中性,因此,仅加密直流系
数,并不能保证密文的不可理解性;将64个DCT系数完全置乱,就违背了“之”形扫描的能量
大小排列顺序,因此这会使得熵编码后的压缩比降低。且由于块内DCT系数能量大小按
Zigzag排序,因而此类置乱算法不能防止FBA(Frequency‑based Attack)攻击[6]。而头信
息加密方式加密后视频无法被播放,兼容性较差,后台难以管理。
[0012] 基于熵编码的加密算法可分为加密码字序号和码表重建两种方法。前者为待编码的数据流在进行熵编码过程中,先查找它在原始码表中对应的序号,加密这个原始序号获
得加密序号,然后输出原始码表中与加密序号对应的码字,这种方法实现简单,因而加解密
速度快,但较大的影响了熵编码的效率。后者将标准码表修改后使用,解密密钥为加密码表
的内容和顺序,接收方如果没有这个特殊码表就不能正确解码,该方法使得编码效率降低
[4]。
[0013] 在码流域上操作的加密算法通常利用高强度的传统密码直接加密视频流,安全性较高,同时又能保持加解密前后码流长度不变。但视频信息数据量大,因而加密效率低;由
于将视频流看作普通二进制数据加密,因而改变了视频格式,不具有格式兼容性。因此码流
域加密算法适用于安全性和可操作性要求相对较低的场合。
[0014] 文献[7]提出一种适用于流格式视频数据的分层加密方法,使用传统的流密码加密视频数据的不同数据层。可以采用密文反馈方式加密,以增强密码系统安全强度。文献
[8]采用混沌流密码方式对部分视频数据进行加密。另外,有些算法只对格式信息进行加
密,计算量更少,但安全性不高。
[0015] 文献[9]采用置乱DCT系数的Zigzag扫描顺序方法实现加密,但这样就违背了使用Zigzag扫描的初衷,所以它对视频压缩率有极大的影响。文献[10]对上述方法进行了改进,
取得了更好的效果。文献[11]提出了在空域和频域置乱的方法。除了置乱以外,文献[12,
13]介绍了利用混沌密码等技术加密DCT系数或系数的符号的方法。文献[14]介绍了一种在
小波域进行图像加密的方法,与在DCT域加密的方法有异曲同工之妙,可以作为小波域视频
加密的参考。
[0016] 文献[15]指出选择性加密不能保持压缩比不变,并提出了采用多种Huffman树的加密方法(MHT)。其核心思想是使用自己定义的多个Huffman表对MPEG视频进行编码,这些
Huffman表的内容及它们的使用顺序作为解密的密钥。
[0017] 正如传统纸张水印的概念,数字水印则是将水印应用于数字作品中。数字水印采用某种方法将可识别的有关信息添加到数字作品中。所添加的信息叫水印信息,被加入水
印的部分称为宿主信息。数字视频水印是数字水印的一种,是将视频作为水印嵌入的宿主
载体的一种水印,视频水印系统一般可以由水印构造嵌入部分、水印提取检测等部分组成,
在提取前也会受到一些攻击。为了提高水印的安全性,通常在水印嵌入前的构造阶段进行
水印加密处理,保证水印的安全性;嵌入水印时对载体视频进行分析,选取合适的区域和嵌
入方式以及合适的嵌入强度等;嵌入水印后的视频在通信传播中会受到各种攻击;水印提
取检测部分是对视频中的水印进行提取或者检测是否含有水印的过程,利用特定的方法提
取水印,盲水印的提取不用原始视频,而非盲水印的提取需要用到原始视频信息;由于嵌入
前对水印进行过加密操作,相应的提取出的也是加密后的水印,还需要进行解密操作,最终
提取出水印。
[0018] 视频的数字水印具有以下特征:
[0019] (1)不可见性。由于时间维的增加,使视频水印的不可见性从图像水印的静止性扩展为动态性。除了需要满足每一个视频帧作为静止图像显示时的不可见性,还要满足视频
连续播放时的不可见性,如连续播放时不能出现明显的闪烁。
[0020] (2)安全性。视频水印算法要求嵌入算法和提取算法具有保密性,不能轻易被检测到水印的存在,更不能被轻易修改或删除。
[0021] (3)可靠性。提取水印时,水印的检测应该是可靠的,虚警概率(在没有嵌入水印的情况下错误检测到水印存在的概率)和漏检概率(在嵌入水印的情况下错误认为水印不存
在的概率)应尽可能低。
[0022] (4)鲁棒性。鲁棒性指水印信号在经历攻击后仍能被准确提取。鲁棒性对水印是极为重要的,水印攻击算法多种多样,实际应用时,应当针对具体情况进行具体分析。
[0023] (5)实时性。由于数字视频是需要连续播放的,因此在大多数应用下都要求视频水印的嵌入和检测具有实时性或接近实时性。因而对其进行处理的算法的复杂性不能过高,
否则达不到实时性要求。视频水印算法的复杂度越低,水印的实用性越强,但仍需保证水印
的鲁棒性合乎要求。
[0024] (6)水印容量:水印嵌入容量是指载体视频所能隐藏的信息量的上限,即视频中最多能嵌入水印的量,通常水印容量大能够有较好的鲁棒性。水印的不可感知、鲁棒性、容量
三者是相互制约的关系,水印嵌入过多会影响水印的不可感知性,嵌入过少又会影响水印
的鲁棒性,因此,要选择一个平衡三者的嵌入方法。
[0025] (7)确定性:嵌入的水印信息能被唯一地鉴别出来,为需要版权保护的作品提供确定可靠的证据。
[0026] (8)结合视频编码标准:视频数据信息量非常大,一般需通过压缩处理后才进行存储、传输。若是将水印嵌入压缩码流中,那么需要结合视频编码标准,若在压缩前嵌入水印,
因为水印一般是嵌入到冗余数据中,而压缩编码的作用就是将作品的冗余去除,如果忽略
视频编码标准,那么含水印视频受到压缩处理后会使得水印丢失。
[0027] 水印的嵌入质量参差不齐,各有特点,必须通过一定的评价标准进行评判。
[0028] 我们一般主要通过下面几种参数对水印性能进行评判:
[0029] (1)人眼的主观评价。我们通常使用的视频水印是进行版权保护或者鉴定视频信息是不是被篡改的。这些都是秘密信息,不能被人眼察觉。理想的视频水印嵌入后的视频质
量应该和原始视频质量没有差别。视频观看或欣赏的主体是人,视频质量的好坏也是由人
眼来判断的,因此视频水印质量好坏的直观判断是人眼。
[0030] (2)峰值信噪比PSNR(peak Signal‑to‑Noise Ratio)。由于视频信息数据量巨大,而信道带宽有限,所以视频信息一般要进行压缩编码然后再在信道中进行传输。由于目前
压缩编码都为有损压缩,视频经过压缩编码后视频信息会损失能量,通常用PSNR值来评判
压缩编码过的视频帧与原始视频帧之间的相似程度,PSNR能够反映视频经过压缩编码后视
频视觉质量的变化。同理而言,在视频中嵌入水印,相当于在视频信息中引入了噪声,必定
会影响到视频质量。因此我们也能够用峰值信噪比来评价水印信息的嵌入对原始视频质量
的影响程度,成为评判水印质量好坏的重要的定量参数。
[0031] 峰值信噪比定义如下:
[0032]
[0033] 在公式中,f表示的是嵌入水印前的视频信息,w表示嵌入的水印信息,fw表示的是嵌入水印后的视频信息,(m,n)表示的是视频中单个像素的值,Nf表示f或fw像素点的个数。
PSNR用分贝(dB)作单位。
[0034] 视频的水印方案根据水印嵌入和提取之前是否对原视频数据进行某种变换,可以分为时空域视频水印算法和频率域视频水印算法。
[0035] 时空域的视频水印算法是指直接在原始视频数据中嵌入水印的算法。其优点是简单直接、实现方便,缺点是不可见性和鲁棒性差[16]。Hartung[17]等利用扩展频谱的思想
提出了一系列时空域视频水印算法,算法对视频图像顺序扫描成一维信号,然后将水印信
息扩频调制成伪随机序列,嵌入视频一维信号中,成为这一领域的经典算法,极大的推动了
这项技术的发展。
[0036] 频域视频水印算法是在原始视频的变换域上进行水印嵌入、提取操作,这种算法嵌入的水印不容易被感知且能抵抗各种攻击。比较常见的是DCT、DWT、离散傅里叶变换
(Discrete Fourier Transform,DFT)等。频率域视频水印算法通常在DCT变换系数上嵌入
水印,对于视觉效果影响较小,鲁棒性相对时空域算法较好[18,19,20]。
[0037] 视频压缩编码的目标是在降低码率下得到好的视频质量。随着科技、网络和市场的发展,视频压缩编码也要求能够适应不同信道传输。H.264是由ITU‑T和ISO/IEC组成的联
合视频组(JVT)制定的新一代视频压缩编码标准[21]。与现有其他的视频压缩编码标准相
比,H.264能占用较少的网络资源就可以通过互联网发送高质量的视频。H.264除了能显著
地提高编码性能,在编码容错和网络适应性能等方面也有显著改善。因此H.264成为目前视
频中最主流的压缩编码标准之一。
[0038] 与以往的视频压缩编码标准相比,H.264有如下特点:
[0039] (1)H.264提出了NAL(网络抽象层)的概念,使之与VCL(视频编码层)相分离。VCL采用基于块的混合压缩编码方法,主要的工作是研究视频压缩编码的效能;NAL根据不同的网
络需求,对视频进行不同格式的封装和传输,网络友好性能显著提高,因而能更好地应用于
网络。
[0040] (2)H.264采用了先进的预测和编码技术:H.264帧内编码像块尺寸由8×8像素减小为4×4像素,便于运动物体的精确划分。以往的视频压缩编码标准采用八乘八模式和十
六乘十六模式来编码宏块,H.264则把这些模式从2种发展成7种,能更好的匹配对象形状。
以前的压缩编码标准采用1/2像素运动矢量预测,而H.264把它提高到了1/4像素。H.264的
色度块预测精度提高到了1/8像素。允许B帧作为其它帧的参考帧。前面的这些措施又显著
的提高了压缩编码的效率。
[0041] (3)H.264视频压缩编码标准采用4×4的整数DCT变换代替以前通用的8×8浮点块DCT变换,它以整数为基础进行空间变换,避免了浮点操作带来的四舍五入误差。采用小的
形状块有助于减低块效应。只进行加法和移位操作不进行乘法运算,显著提高了运算速度。
[0042] (4)H.264采用基于上下文的自适应熵编码,包括CAVLC及CABAC。
[0043] (5)H.264在编码器中采用循环去块滤波器,并且这个去块滤波器能够很好的自适应进行,能显著的去除压缩编码产生的块效应,并且促进了帧间预测。
[0044] (6)H.264视频压缩编码标准采用FMO(灵活宏块顺序),ASO(任意条带排序),SP/SI(切换条带)等新技术来提高编码效率。
[0045] H.264以上的这些特点使它与以前的视频压缩编码标准相比获得了较高的编码效率。
[0046] 参考文献
[0047] [1]唐中乾,王运兵,雷波.基于OpenCV和GPS的安全设备综合监控系统研究[J].通信技术,2015,48(11):1315‑1320.
[0048] [2]梁梓铭.公共安全视频监控存在的问题及对策研究[J].无线互联科技,2018,15(17):120‑121.LIANG Zi‑ming.Research on Problems and Countermeasures 
ofPublic Security Video Surveillance[J].Wireless Internet Technology,2018,15
(17):120‑121.
[0049] [3]孙洁,钱蕾.基于边缘计算模型的智能视频监控的研究[J].计算机与数字工程,2019,47(2):1672‑9722.SUN Jie,QIAN Lei.Research on Intelligent Video 
Surveillance  Based on Edge Computing Model[J].Computer and Digital 
Engineering,2019,47(2):1672‑9722.
[0050] [4]曹二喜.基于H.264的联合水印与加密技术研究[D].合肥工业大学,2010.
[0051] [5]Tang L..Methods for Encrypting and Decrypting MPEG Video Data Efficiently[A].Proc.oftheACM Multimedia[C].1996:219–229.
[0052] [6]Qiao L.,Nahrstedt K..Comparison ofMPEG EncryptionAlgorithm[J].Journal on Computers and Graphics.1998,22(4):437–448.
[0053] [7]张宗橙,张玲华,曹雪虹.数字信号处理原理与应用[M].南京:东南大学出版社,2005
[0054] [8]马大伟,郑应平,王令群.一种基于混沌理论的多层次变密钥视频加密方法[J].计算机应用,2005.2.vol.25,No.2:394~395
[0055] [9]廉士国,李忠新,王执铨.两种基于部分加密的图像和视频加密方案[J].计算机工程学报,2004.7.Vol.30,No.7:18~19
[0056] [10]黄贤武,王加俊,李家华.数字图像处理与压缩编码技术[M].成都:电子科技大学出版社,2005
[0057] [11]樊昌信,张甫翊,徐炳祥等.通信原理[M].北京:国防工业出版社,2001:206~214
[0058] [12]易开祥,孙鑫.一种基于混沌序列的图像加密算法[J].计算机辅助设计与图形学报,2002.12(9):672~676
[0059] [13]张萌,刘忠信等.基于混沌的视频压缩与加密方法研究[J].控制工程学报,2005.5.Vol.12,No.5:482~485
[0060] [14]Mobasseri B.C.,Siefert M.J.,Simard R.J..Content Authentication and Tamper Detection in Digital Video[A].Proc.of 4th IEEE International 
Conference on Image Processing(ICIP),2000,1:458–461.
[0061] [15]Mobasseri B.C.,Siefert M.J.,Simard R.J..ContentAuthentication and Tamper Detection in Digital Video[A].Proc.of4th IEEE International Conference 
on Image Processing(ICIP),2000,1:458–461.
[0062] [16]Bijan G.Mobasseri.A Spatial Digital Video Watermark that Survives MPEG[A].Proc.ofInternational Conference on Information Technology:Coding and 
Computing[C].2000:68–73.
[0063] [17]Hartung F H,Girod B.Digital watermarking of raw and compressed video[J].Proceedings ofSpie  the International  Society for  Optical 
Engineering,1996,2952.
[0064] [18]Mauro Barni,Franco Bartolini,Nicola Checcacci.Watermarking of MPEG‑4Video Objects[J].IEEE Transactions on Multimedia,2005,7(1):23–32.
[0065] [19]Simitopoulos D.,Tsaftaris S.A.,Boulgouris N.V.,et al.Fast MPEG watermarking for copyright protection[A].Proc.ofIEEE ICECS[C],2002:1027–1030.
[0066] [20]Christoph Busch,Wolfgang Funk,Stephen Wolthusen.Digital Watermarking:from Concepts to Real‑time VideoApplication[M].IEEEComputer 
Graphics andApplications,1999,19(l):25–35.
[0067] [21]Richardson,Iain E.H.264and MPEG‑4Video Compression:Video Coding for Next‑generation Multimedia(Google eBook)[M].Wiley,2004.

发明内容

[0068] 本发明目的是解决如下的关键技术问题:
[0069] 1.提出一种基于区块链的视频在线认证技术。将视频的数字签名同用户信息、时间戳等信息保存至区块链,作为可信存证,进行在线认证。确保不可篡改,保证视频真实性,
易于审计。利用区块链技术实现去审计化、弱中心化的特性,无需可信第三方即可在线认证
视频完整性,简化审计流程。
[0070] 2.提出一种针对H.264编码视频帧数据的分级加密方法,使得任何人可访问低清晰度视频,便于预览,不同权限的人能访问不同清晰度的内容。
[0071] 3.提出一种实现的视频离线认证方法,其原理是基于频率域的视频数字水印嵌入技术实现的。通过从视频文件中提取出数字水印,对原文件进行验证,以达到判断是否被篡
改的目的。本方法对视频编解码、添加噪声等常用视频图像处理引起的失真具有一定鲁棒
性,同时具有不错的视觉保真度。
[0072] 本发明的技术方案
[0073] 基于区块链的视频帧数据双认证与分级加密方法,具体操作步骤是:
[0074] 第1.视频帧数据离线认证,包括数字签名的生成、嵌入和提取;
[0075] 第1.1.数字签名的生成
[0076] (1)将H.264编码的MP4视频进行解码,可采用X264等通用开源编解码库,得到每一帧的帧数据。选取其中所有的n个关键帧(I帧)数据frame1,frame2,...,framen;
[0077] (2)采用密码杂凑算法如SM3,SHA‑256等,对第2至第n关键帧数据计算其哈希值Hash;
[0078] (3)采用公钥加密算法如SM2等,随机产生一对公私钥对,用私钥对得到的哈希值进行加密,即可得到视频帧数据的数字签名sign。
[0079] Hash=SM3(frame2||frame3||frame4||...||framen)
[0080] sign=SM2Sk(Hash)
[0081] 第1.2.数字签名的嵌入
[0082] (1)将第一个视频关键帧数据解析为YUV三个颜色编码矩阵,其中Y代表灰度矩阵;
[0083] (2)对Y矩阵进行8*8分块,并对每个分块作DCT变换;
[0084] (3)将视频文件对应的数字签名转换为二进制;
[0085] (4)在每个8*8分块中嵌入1bit信息。选取每个分块的对角线8个元素,自右上至左下依次编号为P0,P1,...,P7,用前四位与后四位的和之差来表示嵌入信息。同时将它们的差
值强化至16,增强嵌入信息的鲁棒性,即:
[0086] 表示嵌入1
[0087] 表示嵌入0
[0088] 第1.3.数字签名的提取
[0089] (1)将第一个视频关键帧数据解析为YUV三个颜色编码矩阵;
[0090] (2)对Y矩阵进行8*8分块,并对每个分块作DCT变换;
[0091] (3)选取每个分块的对角线8个元素,自右上至左下依次编号为P0,P1,...,P7,用前四位与后四位的和之差来提取嵌入信息,即:
[0092] 表示1
[0093] 表示0
[0094] (4)将提取出的二进制信息转换为十六进制数字签名。
[0095] 第2.视频帧数据在线认证,包括数字签名的生成、保存和验证;
[0096] 第2.1.数字签名的生成方式同第1.1步。
[0097] 第2.2.将视频数字签名、用户信息、可信时间戳保存至区块链,区块链返回唯一ID。
[0098] 第2.3.数字签名的在线验证
[0099] (1)根据区块链返回的视频ID从区块链上取出数字签名sign;
[0100] (2)用户用公钥和原视频的关键帧数据frame1,frame2,...,framen,用SM2、SM3算法可对视频数据完整性进行验证。
[0101] Hash=SM3(frame2||frame3||frame4||...||framen)    #(3)
[0102] verify=SM2Pk(Hash)                #(4)
[0103] verify=1表示通过验证,否则验证失败。
[0104] 第3.视频帧数据的分级加密
[0105] (1)将视频所有关键帧数据解析为YUV三个颜色编码矩阵,提取其中所有Y矩阵;
[0106] (2)Y矩阵中每个像素点可用8位二进制数表示,随机生成一个高级密钥和一个低级密钥。
[0107] 高级加密对于每个像素点低M位进行加密操作,低级加密对于每个像素点低N位进行加密操作,其中0<N<M≤8。本发明可以对位平面进行更细的分级操作,实现多级别的加
密效果。这里的加密采用ZUC等流加密算法。
[0108] 为了实现上述目的,本发明采用了流加密算法,可有效避免视频在编解码、压缩、传输过程中的错误扩散。
[0109] 为了实现上述目的,本发明仅需对H.264视频关键帧数据进行加密,降低了算法的复杂度。同时保证加密后的视频可以正常播放,任何人可以预览模糊的版本。不同权限等级
可解密得到不同清晰度的视频,但后台只需保存一个文件,节省存储空间。
[0110] 为了实现上述目的,本发明提供一种计算机程序将上述方案的关键环节融合其中并进行细节处理。依据前文描述的技术策略,我们可以在此基础之上,扩展分级加密等级,
实现多级的加解密效果。
[0111] 本发明的优点和有益效果:
[0112] 1、视频帧数据的离线认证在原文件中嵌入数字水印,水印满足视觉需求,在视觉上不会引起非法攻击者的注意,也无法从中提取有价值的信息,充分保障了方案的安全性,
同时节省了水印的存储空间。
[0113] 2、提供在线、离线双认证方式,保障视频的完整性。在线验证将视频的数字签名保存至区块链,保证不可篡改,简化审计流程,可实现弱中心化的信息平等共享。
[0114] 3、加密后的视频可以正常播放,任何人可以预览模糊的版本,便于后台分类管理。不同权限等级可解密得到不同清晰度的视频,但后台只需保存一个文件,节省存储空间。

附图说明

[0115] 图1.给出了本发明中H.264视频的整体处理流程图;
[0116] 图2.给出了本发明中数字签名嵌入的处理流程图;
[0117] 图3.给出了本发明中数字签名在频域上分块嵌入示意图;
[0118] 图4.给出了本发明中数字签名嵌入视频帧效果图,其中,(1)原始图像,(2)嵌入数字签名后图像;
[0119] 图5.给出了本发明中离线签名验证的处理流程图;
[0120] 图6.给出了本发明中在线签名验证的处理流程图;
[0121] 图7.给出了本发明中视频分级加密的处理流程图;
[0122] 图8.给出了本发明中分级加密不同清晰度效果图,其中,(1)原始图像,(2)视频帧强加密图像,(3)视频帧弱加密图像,(4)视频帧解密图像。

具体实施方式

[0123] 下面将结合附图介绍本发明的具体实施方式。
[0124] 图1给出了本发明中对H.264视频的整体处理流程图。
[0125] 如图1所示,方法M100从步骤S110开始,步骤S120读取需要处理的视频文件,步骤S130对本实施例中的H.264编码视频文件进行解码,得到470帧分辨率为960*540的帧数据;
选取其中所有的31个关键帧(I帧)数据frame1,frame2,...,frame31。步骤S140对视频帧数
据执行分级加密操作。步骤S150、步骤S160、步骤S170、步骤S180分别对视频执行后文提到
的签名生成、保存至区块链、签名嵌入、签名验证操作,达到在线、离线双认证视频完整性和
真实性的目的。方法M100在步骤S190终止。
[0126] 在本发明中,数字签名采用国密SM2、SM3算法,由用户的私钥生成。采用密码杂凑算法SM3,对以上得到的31个关键帧中的第2至第31关键帧数据计算其哈希值。
[0127] 由前面的公式(1)计算得到Hash值。采用公钥加密算法SM2,随机产生一对公私钥对,用私钥对得到的哈希值进行加密,即可得到视频帧数据的数字签名,并将数字签名用二
进制表示,便于后续签名嵌入。由公式(2)生成数字签名并进行BASE64编码后得到一个数字
签名sign.
[0128] 图2给出了本发明中数字签名嵌入的流程图。数字签名嵌入视频第一个关键帧数据中。其具体方法为M200。
[0129] 如图2所示,方法M200从步骤S210开始,之后每一步具体过程为:
[0130] 步骤S220:将第一个视频关键帧数据解析为YUV三个颜色编码矩阵。其中Y代表灰度矩阵;
[0131] 步骤S230:对步骤S220得到的Y矩阵进行8*8分块操作。
[0132] 步骤S240:对每个分块进行DCT变换;
[0133] 步骤S250:在每个8*8分块中嵌入1bit信息data。如图3所示,选取每个8×8分块中对角线上的8个中频系数,自右上至左下依次编号为P0,P1,...,P7,用前四位的和与后四位
的和之差来表示嵌入信息。同时将如下公式中定义的差值强化至16,增强嵌入信息的鲁棒
性,即:
[0134]
[0135] 步骤S260:每个分块进行IDCT变换,得到嵌入签名后的帧数据。
[0136] 图4展示了对于一个给定的视频实例,利用本发明的算法嵌入数字签名后得到的视频帧效果图,其中(1)是原始图像,(2)是嵌入数字签名后图像。衡量嵌入水印之后图像的
失真程度,可采用PSNR(峰值信噪比)进行定量分析。设原始视频帧为I,签名嵌入帧为I′,对
图像进行嵌入数字签名操作,根据公式(5)得到嵌入签名后I′,即图4中的(2),其相对原图
即图4中(1)的PSNR值为44.58dB。PSNR值高于35dB可以满足水印图像的要求,因此该方法生
成的含嵌入签名视频帧符合视觉不可感知的要求。
[0137] 方法M200在步骤S270终止。
[0138] 对于其他的H.264编码的视频,均可通过上述方法实现数字签名嵌入。
[0139] 图5给出了本发明中离线签名验证的处理流程图。其具体方法为M300。如图5所示,方法M300从步骤S310开始,之后每一步具体过程为:
[0140] 步骤S320:将第一个视频关键帧数据解析为YUV三个颜色编码矩阵。其中Y代表灰度矩阵;
[0141] 步骤S330:对步骤S320得到的Y矩阵进行8*8分块操作;
[0142] 步骤S340:对每个分块进行DCT变换;
[0143] 步骤S350:每个8*8分块中提取1bit信息data。如图3所示,选取每个8×8分块中对角线上的8个中频系数,自右上至左下依次编号为P0,P1,...,P7,用前四位的和与后四位的
和之差来提取嵌入信息。
[0144]
[0145] 将得到嵌入的签名信息data进行BASE64编码后得到一个数字签名sign。
[0146] 步骤S360:对S350提取到的数字签名进行验证。采用SM3算法对第2至第31关键帧数据计算其哈希值。采用公钥加密算法SM2,根据用户公钥和签名信息sign,由公式(4)得到
验证值verify。
[0147] verify=1表示通过验证,否则验证失败。
[0148] 方法M300在步骤S370终止。
[0149] 对于其他的H.264编码的视频,均可通过以上方法实现离线签名验证。
[0150] 图6给出了本发明中在线签名验证的处理流程图。其具体方法为M400。如图6所示,方法M400从步骤S410开始,之后每一步具体过程为:
[0151] 步骤S420:生成数字签名,具体过程同S150。
[0152] 步骤S430:将数字签名、用户信息和可信时间戳保存至区块链,返回视频唯一ID。
[0153] 步骤S440:根据视频ID,在区块链中查询并返回视频数字签名。
[0154] 步骤S450:对步骤S440获取的数字签名进行验证,具体过程同S350。
[0155] 方法M400在步骤S460终止。
[0156] 对于其他的H.264编码的视频,均可通过以上方法实现在线签名验证。
[0157] 图7给出了本发明中视频分级加密的处理流程图,其具体方法为M500。如图7所示,方法M500从步骤S510开始,之后每一步具体过程为:
[0158] 步骤S520:对该视频文件进行解码,得到帧数据,将视频所有关键帧数据解析为YUV三个颜色编码矩阵,提取其中所有Y矩阵;
[0159] 步骤S530:随机生成一个高级密钥和一个低级密钥;
[0160] 步骤S540:将Y矩阵中每个像素点用8位二进制数表示。在不同位平面上实现不同等级的加密。在本实施例中,高级加密对于每个像素点低7位进行加密操作,低级加密对于
每个像素点低4位进行加密操作,采用ZUC流加密算法。
[0161] 步骤S550:编码视频,将帧数据通过H.264编码为可播放视频文件。
[0162] 图8展示了对于一个给定的视频实例,利用本发明的视频分级加密得到不同清晰度效果图。根据公式(5)得到低级加密PSNR值为19.33dB。高级加密PSNR值为7.69dB。高级加
密在保护视频帧内容隐私的同时,提供了模糊的图像轮廓以供预览,低级加密画面内容相
对更清晰。拥有不同权限密钥的用户可以看到不同清晰度的视频。
[0163] 方法M500在步骤S560终止。
[0164] 对于其他的H.264编码的视频,均可通过以上方法实现分级加密。
[0165] 以上描述为本发明的优选实施例,但是本领域的技术人员应当理解,这些仅是举例说明,在不背离本发明的原理和实质的前提下,可以对这些实施方案做出多种变更或修
改。本发明的保护范围由所附权利要求书限定。