一機一密高安全視頻加密技術創新實踐
Part 01
傳統視頻加密技術簡介
-全部加密
使用加密算法加密整個視頻流。將視頻流同傳統的文本數據同樣對待,沒有利用視頻壓縮后數據流的特殊結構。這種加密方式優點是不需要考慮視頻協議,實現簡單。但是由于需要對全部視頻數據進行加密,計算量巨大,對終端性能要求較高,另外沒有考慮視頻協議格式,加密后視頻協議結構完全被破壞。
-選擇性加密
1)基于視頻協議幀結構選擇部分內容進行加密,其中有代表性且早提出的一種加密方法是僅僅加密I幀。然而由于P幀和B幀沒有加密,視頻畫面中變動的部分沒有被保護,依然可以解析出來,所以這種僅加密I幀的方法無法達到令人滿意的效果。如圖1所示,I幀加密后依然可以看到畫面中變化的(紅色箭頭指示)部分。
圖1. I幀加密前后畫面對比
另外一種思路是為了實現快速加密,僅加密幀頭信息,MPEG、H26x序列都按一定結構組織圖像數據。由于MPEG、H26x等標準的視頻數據結構比較固定,視頻數據本身又有很強的特征,這種僅加密頭信息的方法比較容易破譯。
Meyer and Gadegast 也是基于選擇性加密思路設計了一種新的似MPEG比特流,稱之為 SECMPEG。SECAM既能使用標準加密算法DES和RSA,又能實現不同級別的密級。第一級:加密所有的頭信息(Headers);第二級:加密所有的頭信息(Headers)和I-Block中的DC和AC系數;第三級:加密I幀和PB幀;第四級:加密所有的數據。
2)基于視頻協議進一步深入延伸,Bharat Bhargava等提出了一種加密DCT符號,運動矢量MV符號的方法。這種方法除了加密I幀,還要加密 PB幀的 DCT符號位和運動矢量MV的符號位稱之為MVEA算法。相對保密性要好得多。
使用密鑰加密(如DES或IDEA)的密碼學算法來對DCT系數或運動矢量 MV符號位進行加密 ,作者稱之為RVEA算法。
還有一種叫做基于統計規律的視頻加密算法,這種方法中壓縮和加密之間具有共同點,即兩者都致力于去除冗余信息。該方法不影響壓縮率。但是此方式只適用于壓縮的視頻編碼,并且加密加密效果受壓縮算法的效果影響,有一定的適用場景限制。
3)其他加密技術,例如Zig-Zag置亂算法(Zig-Zag Permutation Algorithm) 、改變 Huffman碼表算法和純置亂算法 (Pure Permutation Algorithm)等加密強度一般,本文不做討論。
Part 02
中國移動一機一密視頻加密技術概述
一機一密團隊基于上述分析實現了高強度高靈活性的視頻逐幀加密技術,基本原理如圖2所示。
圖2.逐幀加密基本原理
向廠商提供一種IPB幀可選的視頻逐幀加密技術,廠商可根據自己的需求,選擇加密哪些視頻幀,同時該方案結合一機一密實現每個設備出廠即燒錄唯一獨立的密鑰,保證密鑰高安全性,同時為了兼容rtsp等視頻協議,視頻加密過程進行特殊處理保證加密后的視頻不影響該協議有效性,例如vlc等播放器播放加密后的畫面。如圖3所示。
圖3. 加密前后視頻數據對比(I幀)
該技術基于加密結果沖突替換機制,避免加密結果破壞原有視頻協議,實現視頻內容透明加密,即視頻數據加密后不影響視頻協議解析,例如視頻傳輸協議以及vlc播放器播放等。如圖3所示,加密后的視頻依然可以使用vlc播放器播放,只是畫面無意義。
圖4 總體架構
?如圖4所示,基于該技術延伸產生一機一密視頻分層加密解決方案,該方案整體上采用行業領先的分層加解密技術,即加密密鑰與視頻內容分離獨立部署,該技術最大優點是將視頻流與加密密鑰隔離部署,即使其中一方遭受攻擊,攻擊者也無法還原加密內容。
圖5. 技術方案
如圖5所示,整體方案由加密SDK、解密SDK、密鑰安全平臺構成,實現視頻內容全生命周期安全防護,徹底杜絕安防視頻泄露風險。加密SDK集成部署在攝像頭中,視頻在攝像頭中生成后直接加密,實現從源頭加密保證明文視頻不出攝像頭(源頭加密);加密視頻內容經過網絡流轉到IoT業務平臺,由于視頻內容已經從源頭加密,傳輸過程即使被攻擊導致內容泄露,攻擊者也無法看到視頻內容(安全流轉);加密后的視頻內容按需在IoT業務平臺存儲,由于視頻內容已經加密,即使視頻存儲平臺被攻擊導致內容泄露,攻擊者也無法看到視頻內容(安全存儲)。加密前后安全性對比如圖6所示。
圖6. 加密前后安全性示意