一種基于h.264編碼標準的通用視頻加密方法及系統的制作方法
【技術領域】
[0001] 本發明涉及視頻加密方法,尤其是涉及一種基于H. 264編碼標準的通用視頻加密 方法及系統。
【背景技術】
[0002] 隨著視頻編碼技術和網絡技術的快速發展,視頻會議、數字電視、視頻聊天、在線 影視等已經逐漸成為人們日常生活中的一部分。視頻會議以其快速實時的特點得到廣泛應 用,然而,這些視頻服務在開放網絡環境中很容易遭受人為的攻擊,如數據攔截、信息竊取、 數據篡改和數據添刪等。目前,多采用認證技術、權限劃分或者建立安全通道的方式防止非 法用戶訪問存儲器中的視頻。這些方式都存在一定的缺陷,安全流程過于嚴格會降低用于 體驗,并且難以維護,如果過于簡潔,則容易出現安全漏洞。
[0003] 解決上述問題的一種方法是對視頻內容本身進行加密。當前,視頻內容的安全得 到學界的廣泛重視,很多加密方法被不斷提出,但研宄多致力于算法本身,面向應用需求的 很少。根據加密的數據類型和所占的比例,可以將加密算法大致分為完全加密、部分加密、 置亂加密、選擇性加密及基于熵編碼加密等。全加密方式是將每一幀內內容不加區分,將參 數和數據主體全部加密,其它方式會選擇一部分參數或者視頻塊進行加密。然而這些方式 在應用上都存在以下問題:
[0004] 1)、與編碼相結合的加密的研宄還不完善。一些加密方法會顯著地改變信源結構 和句法,對后續編碼影響很大,這會降低網絡資源利用率和網絡服務質量。另一些方法在安 全性、壓縮比和加密復雜度等方面互為矛盾,難以實現商業應用。
[0005] 2)、與編碼相結合的加密的通用性不好。當前應用較多的編碼標準都針對不同的 應用場景提供基本檔、主要檔和擴展檔等多種方案。不同檔級間采取的編碼策略存在一定 的差異,設置的參數如取樣頻率、圖像尺寸、編碼比特率等也都存在差異。這需要攝像設備 生產者必須先根據編碼和硬件設備的特點進行修改和優化,因此基于編碼的加密需要根據 不同的設備設計不同的方案,通用性不夠。
[0006] 3)、與編碼相結合的加密的成本較高。為了提高編碼速度,大部分攝像設備都使用 硬件方式對視頻編碼,也即在視頻處理器上集成DSP處理器等專門負責視頻編碼。如果采 用與編碼相結合的方式對視頻加密,就必然要調整與視頻編碼相關的硬件模塊的結構,這 會大大提高編碼的成本。
【發明內容】
[0007] 本發明所要解決的技術問題是提供一種在不改變視頻整體結構下保護視頻內容 的安全,通用性好、健壯性高、成本低的基于H. 264編碼標準的通用視頻加密方法及系統。
[0008] 本發明解決上述技術問題的技術方案如下:一種基于H. 264編碼標準的通用視頻 加密方法,包括以下步驟:
[0009] 步驟1 :解析基于H. 264編碼標準的視頻,識別出視頻中的NAL單元,所述NAL單 元包括參數集、輔助增強信息以及視頻片;將識別出NAL單元中的參數集和輔助增強信息 直接在網絡中進行明文傳輸;
[0010] 步驟2 :解析視頻片,識別出視頻片的首部、數據部分以及視頻片中第一個宏塊的 位置,將視頻片的首部和視頻片內第一個宏塊前的信息作為保留信息,不予加密,將視頻片 中除保留信息之外的信息進行加密;
[0011] 步驟3 :對視頻片中的經過加密得到的密文進行加殼,將經過加殼的密文、視頻片 的首部和視頻片內第一個宏塊之前的信息進行組合,得到經過加密的視頻片,將經過加密 的視頻片在網絡中進行傳輸。
[0012] 本發明的有益效果是:本發明按照H. 264視頻編碼標準編碼之后,保留視頻的參 數和其它重要信息,僅對數據主體進行加密。具體而言,就是保留視頻中的參數集SPS(序 列參數集)、PPS(圖像參數集)、SEI(輔助增強信息)等,僅僅對I幀、P幀和B幀等部分進 行加密。而對于加密的幀,仍然保留片頭中幾個比較重要的字段,其它部分全部加密。加密 后的視頻可以獲得高強度的安全保護,但仍可以與普通視頻一樣在網絡中傳輸,可以按普 通方法保存和管理密文數據,因此這是一種通用性更好、健壯性更高、成本更低的視頻流加 密方法。
[0013] 在上述技術方案的基礎上,本發明還可以做如下改進。
[0014] 進一步,所述步驟1中NAL單元中的參數集包括序列參數集SPS和圖像參數集 PPS;視頻片包括I片、B片、P片、SI片以及SP片。
[0015] 進一步,所述步驟2中視頻片內第一個宏塊之前的保留信息包括first_mb_in_ slice字段、siice_type字段、pic_parameter_set_id字段和rame_num字段。
[0016] 進一步,所述步驟2中加密為流密碼加密或分組加密,所述流密碼加密包括采用 RC4加密算法,分組加密方法包括DES加密算法、3DES加密算法、AES加密算法、SM1加密算 法和SM4加密算法。
[0017] 進一步,所述步驟3中,當檢測到加密的密文中出現起止碼時,將最后一個字節前 插入起止碼標記,在解碼時,檢測到起止碼標記時,將起止碼標記拋棄。
[0018] 進一步,一種基于H. 264編碼標準的通用視頻加密系統,包括解析模塊、加密模塊 和組合模塊;
[0019] 所述解析模塊,用于解析基于H. 264編碼標準的視頻,識別出視頻中的NAL單元, 所述NAL單元包括參數集、輔助增強信息以及視頻片;將識別出NAL單元中的參數集和輔助 增強信息直接在網絡中進行明文傳輸;
[0020] 所述加密模塊,用于解析視頻片,識別出視頻片的首部、數據部分以及視頻片中第 一個宏塊的位置,將視頻片的首部和視頻片內第一個宏塊前的信息作為保留信息,不予加 密,將視頻片中除保留信息之外的信息進行加密;
[0021] 所述組合模塊,用于對視頻片中的經過加密得到的密文進行加殼,將經過加殼的 密文、視頻片的首部和視頻片內第一個宏塊之前的信息進行組合,得到經過加密的視頻片, 將經過加密的視頻片在網絡中進行傳輸。
[0022] 進一步,所述解析模塊中NAL單元中的參數集包括序列參數集SPS和圖像參數集 PPS;視頻片包括I片、B片、P片、SI片以及SP片。
[0023] 進一步,所述加密模塊中視頻片內第一個宏塊之前的保留信息包括first_mb_in_ slice字段、siice_type字段、pic_parameter_set_id字段和rame_num字段。
[0024] 進一步,所述加密模塊中加密為流密碼加密或分組加密,所述流密碼加密包括采 用RC4加密算法,分組加密方法包括DES加密算法、3DES加密算法、AES加密算法、SM1加密 算法和SM4加密算法。
[0025] 進一步,所述組合模塊中,當檢測到加密的密文中出現起止碼時,將最后一個字節 前插入起止碼標記,在解碼時,檢測到起止碼標記時,將起止碼標記拋棄。
【附圖說明】
[0026] 圖1為現有H. 264編碼視頻的結構;
[0027] 圖2為現有I片、P片以及B片的顯不順序;
[0028] 圖3為現有視頻傳輸序列的不意圖;
[0029] 圖4為本發明方法步驟流程圖;
[0030] 圖5為本發明系統結構圖。
[0031] 附圖中,各標號所代表的部件列表如下:
[0032] 1、解析模塊,2、加密模塊,3、組合模塊。
【具體實施方式】
[0033] 以下結合附圖對本發明的原理和特征進行描述,所舉實例只用于解釋本發明,并 非用于限定本發明的范圍。
[0034] 實施例1
[0035] 如圖4所示,一種基于H. 264編碼標準的通用視頻加密方法,包括以下步驟:
[0036] 步驟1 :解析基于H. 264編碼標準的視頻,識別出視頻中的NAL單元,所述NAL單 元包括參