专利名称:一种基于数字水印的高清视频加密传输方法及系统的利记博彩app
技术领域:
本发明属于信息安全技术,具体涉及一种基于数字水印的高清视频加密传输方 法。
背景技术:
随着数字电视和高清电影等高清数字内容的推广和普及,数字化的音频、视频 播放录制设备走进千家万户,高清数字内容的非法复制和侵权行为将会非常严重,这从 发达国家的广播电视节目、互联网中的视频资源以至于大屏幕终端输出设备就能看出 来。因为高清内容都是数字信号,复制、存储相当容易,而且不会出现失真问题。因 此,对高清数字内容的版权管理与保护已成为亟待解决的问题。现有的关于高清视频的内容保护系统主要有面向DVI、HDMI接口的HDCP(高 带宽数字内容保护技术)系统,在电脑平台上受到HDCP技术保护的数据内容在输出时会 由操作系统中的COPP驱动(认证输出保护协议)首先验证显卡,只有合法的显卡才能实 现内容输出,随后要认证显示设备的密钥,只有符合HDCP要求的设备才可以最终显示 显卡传送来的内容,HDCP传输过程中,发送端和接受端都存储一个可用密钥集,这些 密钥都是秘密存储,发送端和接受端都根据密钥进行加密解密运算,这样的运算中还要 加入一个特别的值KSV(视频加密密钥)。同时HDCP的每个设备会有一个唯一的KSV 序列号,发送端和接受端的密码处理单元会核对对方的KSV值,以确保连接是合法的。 HDCP的加密过程会对每个像素进行处理,使得画面变得毫无规律、无法识别,只有确 认同步后的发送端和接受端才可能进行逆向处理,完成数据的还原。前面说到,HDCP 需要软硬件共同支持,凡是参与内容传输的设备缺一不可,HDCP从始到终都保护视频 信号,也就是说整套播放系统中每一个环节都必须支持HDCP协议,如果显示器不支持 HDCP协议,那么就无法正常播放高清节目,只能看到黑屏或者低画质的节目。要支持 HDCP协议,必须使用DVI、HDMI等数字视频接口,传统的VGA等模拟信号接口无法 支持HDCP协议。当使用VGA等模拟信号接口时,画面就会下降成为低画质,或者提示 无法播放,从而失去高清的意义,防止了盗版。需要说明的是,HDMI接口内嵌了 HDCP 协议,带有HDMI接口的显示器都支持HDCP协议。但是并不是带DVI接口的液晶显示 器都支持HDCP协议,必须经过带有相应硬件芯片,通过认证的显示器才行。可以看到HDCP协议设计的层次过于复杂,对于每一个环节都需要遵守严格的 约定,复杂度过高。
发明内容
本发明的目的在于提供一种高清视频加密传输方法,该方法利用视频水印技术 可以保证既具有较高的安全性又有较低的计算复杂性。本发明还提供了实现该方法的系统。—种基于视频水印的高清视频加密传输方法,具体为
(1)发送端生成随机比特串作为视频加扰密钥sk,循环使用Sk与高清视频各帧逐比特异或运算,并对sk加密,将加密得到的esk作为水印嵌入到异或运算后的视频帧, 再将嵌入水印的视频帧传送给接收端;(2)接收端接收来自发送端的视频帧,提取水印esk,对esk解密得到视频加扰密 钥sk,循环使用sk与接收的视频帧进行逐比特异或运算还原高清视频。所述随机比特串的位数为32 1024。所述视频加扰密钥sk实时更新,发送端将Sk的更新状态作为水印的一部分信息 嵌入视频帧并传送给接收端,接收端判断sk是否更新,若更新,则按照所述步骤(2)操 作,否则,直接使用最近一次解密得到的视频加扰密钥与当前接收的视频帧进行逐比特 异或运算还原高清视频。采用RSA加密算法对所述视频加扰密钥Sk加密。采用LSB(最不重要像素位)水印嵌入算法进行水印嵌入。一种基于视频水印的高清视频加密传输装置,包括发送端和接收端,所述发送端包括视频加密模块300、密钥加密模块400和水印嵌入模块500 ;视 频加密模块300包括sk生成模块301和视频帧加密模块302,sk生成模块301用于生成 随机比特串作为视频加扰密钥sk,视频帧加密模块302用于循环使用sk与高清视频的各 帧逐比特异或运算;密钥加密模块400用于加密视频加扰密钥sk,并将加密得到的esk传 递给水印嵌入模块500 ;水印嵌入模块500用于将加密得到的esk作为水印嵌入到异或运 算后的视频帧,再将嵌入水印的视频帧传送给接收端;所述接收端包括水印提取模块600、密钥解密模块700和视频帧解密模块800 ; 水印提取模块600用于在来自接收端的视频帧中提取水印esk,密钥解密模块700用于解 密提取的水印esk得到视频加扰密钥sk,帧解密模块800循环使用sk与接收的视频帧逐 比特异或运算还原高清视频。作为优化,所述Sk生成模块301实时更新随机比特串,对随机比特串赋予唯一 标识,所述水印嵌入模块500用于将由随机比特串的唯一标识、esk的长度信息和esk构 成的水印嵌入到异或运算后的视频帧,再将嵌入水印的视频帧传送给水印提取模块600 ; 所述水印提取模块600首先从接收的视频帧中提取随机比特串的唯一标识,判断sk是否 更新,若更新,则进而提取esk长度,根据esk长度提取esk,再对esk解密得到视频加扰 密钥sk,最后循环使用sk与接收的视频帧逐比特异或运算还原高清视频,否则,直接使 用最近一次解密得到的视频加扰密钥与当前接收的视频帧进行逐比特异或运算还原高清 视频。本发明方法及其系统采用伪随机算法产生加扰密钥sk,RSA算法对视频加扰密 钥Sk进行加密,从而保证sk在传输的过程不被截获,然后使用LSB算法将加密后的esk 作为水印嵌入到加密的视频中,从而实现高清视频的安全加密,具体而言,本发明具有 以下特点(1)用随机数生成器生成随机数,作为视频加扰密钥。随机数生成器可以采用已 有的各种随机数生成算法;(2)使用产生的视频加扰密钥与高清视频数字内容分段按位进行异或操作(分段 与比特序列长度相同)。只对数字内容进行异或处理既可以保证内容安全又可以兼顾加密效率;(3)本发明中使用RSA算法对视频加密密钥进行加密,RSA算法是目前使用最为广泛的密码算法,安全性较高。目前,世界上还没有任何可靠的攻击RSA算法的方 式。只要其密钥的长度足够长,用RSA加密的信息实际上是不能被解破的,因而本方法 通过调整密钥长度就可以保证既具有较高的安全性又有较低的计算复杂性;(4)本发明中使用LSB水印算法将加密的视频加扰密钥Sk作为水印嵌入到视频 当中;(5)本发明具有较高的加解密效率。总之,在本发明的基于数字水印的高清视频加密方法支持下,可以在发送端与 接受端实现高清视频的安全传输,并保证高清视频内容在安全传输的前提下的传输质量。
图1是本发明提供的高清视频加密传输系统的结构图;图2是本发明提供的高清视频加密传输系统的流程图。
具体实施例方式下面结合附图和具体实施方式
对本发明做进一步详细说明。如图1所示,本系统可分为六个主要模块,即视频加密模块300、密钥加密模块 400、水印嵌入模块500、水印提取模块600、密钥解密模块700、视频解密模块800。图 2是本发明提供的高清视频加密传输系统的流程图,本发明为需要传输高清视频的两端提 供加密服务,发送端验证所有接受器的合法性,并接收从合法接收端发送的RSA公钥, 合法的接收端使用私钥解密提取的水印,得到视频解扰密钥,然后利用视频解扰密钥还 原原始的高清视频流。下面详细说明本发明提供的高清视频加密传输系统的各个部分作进一步的详细 说明。视频加密模块300用于对需要保护的高清视频作加密处理,该模块的主要功能 是生成η ( —般32 < = η < = 1024)位长的随机比特串sk,sk作为视频加扰密钥对高清视 频流进行加密处理。该模块由两个子模块组成sk生成模块301和视频帧加密模块302。sk生成模块301使用系统时钟为随机数种子。随机产生η个正整数,如果产生 的正整数是奇数则记录一个比特1,如果产生的正整数为偶数,则记录一个比特0,这样 构造出一个η位长的随机比特串sk,同时以递增方式给该sk分配一个无符号整数的数字 ID,并把sk传递给视频帧加密模块302。视频帧加密模块302使用sk对原始高清视频流进行加密。读取原始高清视流的 每一帧f,对f和Sk进行逐比特的异或运算,由于Sk是随机生成的比特串,与视频帧f进 行异或运算后,视频帧f的数据比特被随机翻转,相当于加了一个随机扰动,这样达到视 频加密的目的。根据异或运算的一个特点,我们知道αΘ6Θ6 = α,在我们的方案中表示为 /ΘΑΘΑ = /,所以解密视频帧的时候,只需要将加密的视频帧与视频加扰比特串sk再进行一次异或操作,就可 以还原原始的视频帧。密钥加密模块400用于加密Sk生成模块301产生的随机比特串。从视频帧加密 模块302的处理方法知道,接收方收到加密的视频流后,需要使用视频加扰密钥Sk进行 还原,因此需要将视频加扰密钥Sk发送同时发送给接收方。视频加扰密钥Sk对于原始视 频流的还原十分关键,如果直接传输的话,很可能在中间被截获,从而可以轻易的得到 原始的高清视频流,这样的方案显然安全度不高,因此本发明中对视频加扰密钥Sk进行 加密处理,以确保传输Sk的安全,加密方法可采用非对称加密算法,其中优选非对称加 密体系的RSA算法。在非对称加密(或称公开密钥加密)体系中,密钥被分解为一对,即公开密钥 (公钥)和私有密钥(私钥)。这对密钥中任何一把都可以作为公开密钥,通过非保密方 式向他人公开,而另一把作为私有密钥,加以妥善保存。公开密钥用于加密,私有密钥 用于解密,私有密钥只能由生成密钥的交换方掌握,公开密钥可广泛公布,但它只对应 于生成密钥的交换方。非对称加密方式可以使通信双方无须事先交换密钥就可以建立安 全通信。非对称加密体系一般是建立在某些已知的数学难题之上,是计算机复杂性理论 发展的必然结果。RSA算法是世界上第一个既能用于数据加密也能用于数字签名的非对称性加密 算法。它易于理解和操作,所以流行甚广。虽然RSA的安全性一直未能得到理论上的 证实,但它经历了各种攻击,RSA算法最常用的攻击方式是分解大数N,即由用某种算 法将进行质因数分解,而N的位数越多,分解就越困难。最新的成果是,五大洲的六百 名研究人员利用1600部电脑和网络,花了 8个月的时间分解了 129bit的N。可见,如果 采用更长的N,RSA算法的破解成本就更高,也就意味着加密方法的安全性就更高。在RSA算法中,我们先要获得两个不同的质数P和Q做为算法因子,再找出一 个正整数E,使得E与(P-I)* (Q-I)的值互质,这个E就是私钥。找到一个整数D,使 得(E*D)mod((P-I)* (Q-I)) = 1成立,D就是公钥1。设N为P和Q的乘积,N则为 公钥2。加密时先将明文转换为一个或一组小于N的整数I,并计算IDmodN的值M,M 就密文。解密时将密文MEmod N,也就是M的E次方再除以N所得的余数就是明文。 因为私钥E与((P-DMQ-D)互质,而公钥D使(E*D)mod((P-I)* (Q-I)) = 1成立。 破解者可以得到D和N,如果想要得到E,必须得出(P-1)*(Q_1),因而必须先对N进 行因数分解。如果N很大那么因数分解就会非常困难,所以要提高加密强度P和Q的数 值大小起着决定性的因素。本发明中视频接收端建立连接并通过认证后,向高清视频发送方发送X509格式 的公钥证书,证书采用1024位的公钥,保证加密的安全。证书里面包含公钥D和N,高 清视频发送端按照证书格式提取出D和N,用来加密Sk生成模块301中随机产生的视频 加扰比特串sk,执行的计算为esk = skD modN,密钥加密模块400生成不大于1024位 长的esk比特串,并传递给水印嵌入模块500。水印嵌入模块500用于将esk嵌入到加密后的视频帧中。数字水印技术是一门交 叉的新兴研究领域,它涉及信号处理、图像理论、编码理论、信息论、密码学、计算机 科学、概率论和随机过程、算法设计等技术,有着广泛的应用背景,数字水印是在数字 图像、音频或者视频等媒体中加入一些信号以提供一些额外的信息,按水印特征可讲水印划分为可见水印和不可见水印,可见水印是可以看见的水印、水印在图像或视频中可 见,不可见水印是一种应用较广泛的水印,被加在图像、音频、视频当中,表面上不可 察觉,是一种信息隐藏技术。在传统的基于空间域的图像信息隐藏技术中,最低有效位 (LSB)算法信息容量大、容易实现,算法复杂度低,比较容易实现。高清视频发送方加 密sk后,生成小于1024比特位的加密比特串esk,本发明使用LSB数字水印算法将esk 比特嵌入到代发送的视频帧内。LSB算法是一种信息隐藏技术,信息隐藏就是将秘密信息隐藏到一般的数字多 媒体文件中,通常待隐藏的信息被称为秘密信息,它可以是版权信息或者秘密数据。在 图像中应用的信息隐藏技术基本上可以分为两大 类空域法和频域法。空域法是直接改 变图像元素的值,一半是在图像元素的亮度和色带中加入隐藏信息。频域法是利用某种 数学变换将图像用频域表示,通过更改图像的某些频域系数加入秘密信息,然后在利用 反变换来生成隐藏了秘密信息的图像。LSB算法是空域算法中较常用的算法,他是将信息嵌入到图像中最不重要的像 素位上,在本系统中,视频帧的最不重要位为每个像素颜色值的最低位,因此每个字节 可以嵌入一个比特。LSB算法的主要优点是可以实现高容 量和较好不可见性。本系统中高清视频的每一帧都经过了加密处理,系统支持从任何帧开始就可以 解密,因此需要在每一帧都嵌入加密后的视频加扰密钥esk,该模块包括以下三个子模 块数字ID嵌入模块501、esk长度嵌入模块502、esk嵌入模块503。数字ID嵌入模块501用于在视频帧中嵌入当前使用的Sk的数字ID。由于接收 方提取水印之后,需要使用RSA算法解密水印得到高清视频加扰密钥sk,如果每一帧都 经过一次RSA解密运算的话,计算量会很大。因此本系统中每隔5分钟更新一次高清视 频加扰密钥sk,并对每个sk分配一个无符号整数ID,每一次更新sk,对应的无符号整 数ID自动加1。每五分钟更新一次sk使得即使sk被破解也只能还原最多5分钟的高清 视频,增加了整个系统的安全性。sk的ID使用4字节存储,一共32个比特。由于视 频帧的每一个字节可以嵌入一个bit,因此本系统将视频帧的前32个字节用于嵌入sk的 无符号整数ID,对视频帧的每一个字节进行编号,从左上的第一个像素的第一个字节开 始编号为0,逐字节递增。从低位到高位读取这无符号整数ID的32个比特,如果ID第
位读取的比特为“1”,将视频帧编号为i的字节的最低位置位为“1”,如果 ID第i位读取的比特为“0”,将视频帧编号为i的字节的最低位置位为“0”,读完ID 的32个比特后,sk的无符号整数ID作为水印嵌入结束,数字ID嵌入模块501将该帧传 递给esk长度嵌入模块502。esk长度嵌入模块502用于在视频帧中嵌入esk的比特位度数值len。Ien对于esk 的提取至关重要,由于eSk = SkDmodN,所以esk是一个小于N的大数,它的比特位数不 大于1024,但是具体位数并不确定,因此接收方想要通过水印算法提取esk的话,需要知 道esk —共有多少个比特,所以esk的比特位数也需要传递给高清视频接收方。因为Ien 不大于1024,可以使用一个无符号短整形数表示,一共16个比特,从低位往高位顺序读 取Ien的16个比特,Ien的第i(0《i《15)个比特对应嵌入在视频帧编号为i+32的字节的最 低位上,该模块的嵌入操作与数字ID嵌入模块501的嵌入操作一样,esk长度嵌入模块 502处理完后将该帧传递给esk嵌入模块503。
esk嵌入模块503用于在视频帧中嵌入加密后的视频加扰密钥esk。esk是解密高 清视频的核心数据,从最低位开始读取esk的每一个bit,第i (O^len)个比特对应嵌入在 视频帧编号为i+48的字节的最低位上,该模块的嵌入操作与数字ID嵌入模块501的嵌入 操作一样,esk嵌入模块503处理完该帧后将该帧发送给高清视频接收端。水印提取模块600接收到 高清视频发送端传递过来的高清视频帧,同时在该帧 中提取水印信息。视频每一帧的解密密钥全部包含在这一帧内,因此视频接收方接收到 一帧数据后可以实时的从这一帧中提取密钥信息。解密每一帧的核心数据为高清视频发 送端Sk生成模块301产生的高清视频加扰密钥sk,而sk并不是直接传送给高清视频接收 端,而是通过密钥加密模块400加密后再经过水印嵌入模块500嵌入在每一帧当中。所 以高清视频接收端需要实时的提取水印,该部分由以下三个子模块组成数字ID提取模 块601、esk长度提取模块602、esk提取模块603。数字ID提取模块601用于提取加密当前帧的Sk的数字ID,高清视频发送方每隔 5分钟产生一个新的sk,以防止sk的意外泄漏,每个ID拥有一个无符号的整数编号。按 照发送端水印嵌入模块500嵌入水印的协议,每一帧的前32字节拥有sk的ID信息,每 个字节携带一个bit的水印信息。顺序读取视频帧的前32个中每一个字节的最低位,视 频帧编号为KO盗《31)的字节的最低位构造无符号整数ID的第i位,得到sk的编号ID。 比较当前帧提取的ID与系统当前记录的sk编号ID是否一致,如果不一致,则加密当前 帧的sk为高清视频发送端最新更新的sk,接收端同时更新缓存的sk以及编号ID;如果 一致,则高清视频发送端并没有更新sk,对于当前帧的解密可以使用系统缓存的sk,无 需提取esk水印并通过RSA算法解密出sk。esk长度提取模块602用于提取esk的比特位数len。如果高清视频发送端更新 了 sk,则需要提取更新后的esk,视频帧编号为i(32^47)的字节的最低位构造无符号短 整形数Ien的第(i-32)位,esk长度提取模块602提取到Ien后,将当前帧和Ien值传递给 esk提取模块603。esk提取模块603得到Ien之后,继续从视频帧提取水印,视频帧编号为 i(48<i<48+len-l)的字节的最低位构造esk的第(i_48)位,得到esk并传递给密钥解密模 块 700。密钥解密模块700用于解密esk以得到sk生成模块301产生的高清视频加扰密钥 sk。高清视频接收方提取水印得到的是加密后的高清视频加扰密钥esk,esk本身并不能 还原高清视频,它必须先通过RSA算法解密,得到高清视频发送方产生的随机比特串。 因此,即使视频中嵌入水印的算法被破解,视频水印被非法提取也不会影响到高清视频 的安全性。密钥解密模块700读取私钥证书,按照X509格式读取公钥N和私钥E,通 过sk = eskEmodN计算得到sk,并将sk传递给视频解密模块800。视频解密模块800得到sk生成模块301产生的高清视频加扰密钥sk后,使用sk 对视频帧再做一次异或运算还原出原始的视频帧,具体操作步骤与加扰高清视频帧时一 样。
权利要求
1.一种基于视频水印的高清视频加密传输方法,具体为(1)发送端生成随机比特串作为视频加扰密钥sk,循环使用sk与高清视频各帧逐比 特异或运算,接着对sk加密,将加密得到的esk作为水印嵌入到异或运算后的视频帧,再 将嵌入水印的视频帧传送给接收端;(2)接收端接收来自发送端的视频帧,提取水印esk,对esk解密得到视频加扰密钥 Sk,循环使用Sk与接收的视频帧进行逐比特异或运算还原高清视频。
2.根据权利要求1所述的高清视频加密传输方法,其特征在于,所述随机比特串的位 数为32 1024。
3.根据权利要求1所述的高清视频加密传输方法,其特征在于,所述视频加扰密钥sk 实时更新,发送端将sk的更新状态作为水印的一部分信息嵌入视频帧并传送给接收端, 接收端判断sk是否更新,若更新,则按照所述步骤(2)操作,否则,直接使用最近一次 解密得到的视频加扰密钥与当前接收的视频帧进行逐比特异或运算还原高清视频。
4.根据权利要求1或2或3所述的高清视频加密传输方法,其特征在于,采用RSA 加密算法对所述视频加扰密钥sk加密。
5.根据权利要求1或2或3所述的高清视频加密传输方法,其特征在于,采用LSB水 印嵌入算法进行水印嵌入。
6.—种基于视频水印的高清视频加密传输装置,包括发送端和接收端,其特征在于所述发送端包括视频加密模块(300)、密钥加密模块(400)和水印嵌入模块(500); 视频加密模块(300)包括sk生成模块(301)和视频帧加密模块(302),sk生成模块(301) 用于生成随机比特串作为视频加扰密钥sk,视频帧加密模块(302)用于循环使用sk与高 清视频的各帧逐比特异或运算;密钥加密模块(400)用于加密视频加扰密钥sk,并将加 密得到的esk传递给水印嵌入模块(500);水印嵌入模块(500)用于将加密得到的esk作 为水印嵌入到异或运算后的视频帧,再将嵌入水印的视频帧传送给接收端;所述接收端包括水印提取模块(600)、密钥解密模块(700)和视频帧解密模块 (800);水印提取模块(600)用于在来自接收端的视频帧中提取水印esk,密钥解密模块 (700)用于解密提取的水印esk得到视频加扰密钥sk,帧解密模块(800)循环使用sk与接 收的视频帧逐比特异或运算还原高清视频。
7.根据权利要求6所述的高清视频加密传输装置,其特征在于,所述sk生成模块 (301)实时更新随机比特串,对随机比特串赋予唯一标识,所述水印嵌入模块(500)用于 将由随机比特串的唯一标识、esk的长度信息和esk构成的水印嵌入到异或运算后的视频 帧,再将嵌入水印的视频帧传送给水印提取模块(600);所述水印提取模块(600)首先从 接收的视频帧中提取随机比特串的唯一标识,判断sk是否更新,若更新,则进而提取esk 长度,根据esk长度提取esk,再对esk解密得到视频加扰密钥sk,最后循环使用sk与接 收的视频帧逐比特异或运算还原高清视频,否则,直接使用最近一次解密得到的视频加 扰密钥与当前接收的视频帧进行逐比特异或运算还原高清视频。
全文摘要
本发明公开了一种基于视频水印的高清视频加密传输方法,用随机数生成器生成随机数作为视频加扰密钥,采用RSA算法对视频加扰密钥进行加密,从而保证其在传输的过程不被截获,然后使用LSB算法将加密后的视频加扰密钥作为水印嵌入到加密的视频中,从而实现高清视频的安全加密。本发明既具有较高的安全性又有较低的计算复杂性,并保证高清视频内容在安全传输的前提下的传输质量。
文档编号H04N7/24GK102014266SQ20101056678
公开日2011年4月13日 申请日期2010年12月1日 优先权日2010年12月1日
发明者凌贺飞, 李平, 江兴才, 王杨, 邹复好 申请人:华中科技大学