一種基于h.264視頻流的密鑰同步信息傳輸方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明設(shè)及一種密鑰同步信息傳輸方法,主要適用于基于H.264編碼標(biāo)準(zhǔn)的視頻, 根據(jù)H. 264視頻流的結(jié)構(gòu),在視頻帖中嵌入密鑰同步信息,進(jìn)行密鑰同步信息的傳輸。該發(fā) 明屬于視頻安全的技術(shù)領(lǐng)域。
【背景技術(shù)】
[0002] 隨著安防行業(yè)的發(fā)展,各地除了公安系統(tǒng)建設(shè)的視頻監(jiān)控點(diǎn)外,還有運(yùn)營商、開發(fā) 商、企事業(yè)單位等自行部署的視頻監(jiān)控系統(tǒng),其形成了龐大的視頻監(jiān)控資源,如電信的全球 眼無線監(jiān)控系統(tǒng)、旅游景點(diǎn)、社區(qū)、高速公路、港航、公交車、學(xué)校等社會(huì)視頻監(jiān)控點(diǎn)。然而, 運(yùn)些視頻服務(wù)在開放網(wǎng)絡(luò)環(huán)境中很容易遭受人為的攻擊,如數(shù)據(jù)攔截、信息竊取、數(shù)據(jù)篡改 和數(shù)據(jù)添刪等。
[0003] 針對運(yùn)一問題,目前已經(jīng)存在一些解決方案。比如,采用認(rèn)證技術(shù)或者權(quán)限劃分的 方式,防止非法用戶訪問存儲(chǔ)器中的視頻,在傳輸方面采用建立??诘陌踩ǖ辣WC視頻 傳輸?shù)陌踩?。然而運(yùn)些方式都存在一定的缺陷,例如嚴(yán)格的認(rèn)證過程W及復(fù)雜的權(quán)限劃 分會(huì)導(dǎo)致用戶體驗(yàn)嚴(yán)重降低等問題。
[0004] 解決上述問題的一種方法是對視頻內(nèi)容本身進(jìn)行加密,W保證視頻傳輸過程中的 安全,即便視頻數(shù)據(jù)被竊取,在不知道密鑰的情況下也無法得到明文視頻。采用加密視頻來 保護(hù)視頻安全一個(gè)很關(guān)鍵的問題在于密鑰的安全性,如果密鑰在傳輸?shù)倪^程中被竊取,或 者更新的密鑰不能及時(shí)同步,都無法保證視頻的安全。傳統(tǒng)的密鑰傳輸通常是簡單的文本 數(shù)據(jù)傳輸,將密鑰加密后傳給合法身份的實(shí)體,沒有考慮與加密對象的關(guān)聯(lián)。
【發(fā)明內(nèi)容】
[0005] 本發(fā)明的目的是克服現(xiàn)有技術(shù)中存在的不足,提供一種基于H.264編碼標(biāo)準(zhǔn)的通 用密鑰同步信息傳輸方法,在不改變視頻整體結(jié)構(gòu)下在每帖視頻中嵌入密鑰同步信息,進(jìn) 行密鑰同步信息的傳輸,視頻播放端根據(jù)視頻帖中的信息實(shí)時(shí)解密視頻,本方法具有通用 性好,安全性高,成本低,具有較高的創(chuàng)新性。H. 264編碼是由IS0/IEC與ITU-T組成的聯(lián)合視 頻組制定的視頻壓縮編碼標(biāo)準(zhǔn),2003年正式公布,目前得到非常廣泛的應(yīng)用,被稱為新一代 數(shù)字視頻壓縮格式。
[0006] 按照本發(fā)明提供的技術(shù)方案,一種基于H. 264編碼標(biāo)準(zhǔn)的通用密鑰同步信息傳輸 方法,包括如下步驟:
[0007] 第一步、解析基于H. 264編碼的視頻,W識別出H. 264編碼視頻內(nèi)的網(wǎng)絡(luò)提取層單 元(NALU,NetworkAbstraction Layer Unit),所述識別出編碼視頻的NALU包括參數(shù)集、補(bǔ) 充增強(qiáng)信息單元SEI W及視頻片。設(shè)置SEI參數(shù)信息,包括SEI有效載荷類型(SEI payloadType)、設(shè)置用戶自定義數(shù)據(jù)長度、填充UUid字段、定義用戶自定義數(shù)據(jù)信息等;
[000引第二步、視頻加密之前,在每一帖中找到輔助增強(qiáng)信息SEI,將密鑰同步信息放入 設(shè)計(jì)好的密鑰同步數(shù)據(jù)結(jié)構(gòu)體中,將密鑰同步數(shù)據(jù)結(jié)構(gòu)體填充到SEI的用戶自定義數(shù)據(jù)字 段。運(yùn)里的密鑰同步結(jié)構(gòu)體可W自行定義,內(nèi)容可W包含系統(tǒng)當(dāng)前時(shí)間,RTP(實(shí)時(shí)傳輸協(xié) 議)和PTCP(實(shí)時(shí)傳輸控制協(xié)議)信息,和當(dāng)前使用的密鑰序號等信息。密鑰同步數(shù)據(jù)結(jié)構(gòu)體 應(yīng)當(dāng)在視頻推送之前創(chuàng)建并填充,推送視頻之前首先識別出視頻帖中的補(bǔ)充增強(qiáng)信息單元 SEI,將密鑰同步數(shù)據(jù)結(jié)構(gòu)體添加到SEI中的用戶自定義數(shù)據(jù)字段。
[0009] 第=步、定期更新密鑰,在視頻流中尋找關(guān)鍵帖I帖(由于P帖主要提供輔助預(yù)測的 功能,因此只需要在每個(gè)I帖之前改變加密密鑰即可),當(dāng)密鑰更新時(shí),修改SEI的用戶自定 義數(shù)據(jù)字段中密鑰更新標(biāo)志位的值,并采取對應(yīng)的新密鑰加密視頻;
[0010] 第四步、視頻播放端接收視頻時(shí),首先尋找視頻帖的SEI字段,提取SEI字段中密鑰 更新標(biāo)志位的信息,選取相應(yīng)的密鑰解密視頻。經(jīng)測試,即使密鑰更新頻率很高(即每隔幾 帖就選取不同的密鑰加密視頻),客戶端也可W根據(jù)SEI中的密鑰同步信息快速選取正確的 密鑰解密視頻,可W保證視頻播放的正確性與實(shí)時(shí)性??蛻舳私饷芤曨l時(shí),會(huì)首先提取每個(gè) 視頻帖之前的SEI信息,得到加密運(yùn)一帖視頻的密鑰序號,客戶端會(huì)向服務(wù)器發(fā)送密鑰序號 查詢的請求,服務(wù)器會(huì)返回相應(yīng)的密鑰給客戶端。運(yùn)里的服務(wù)器是個(gè)相對的概念,在一個(gè)工 程中通常會(huì)有運(yùn)樣一個(gè)通信控制服務(wù)器,對各個(gè)實(shí)體進(jìn)行通信的控制W及合法性的驗(yàn)證 等,密鑰數(shù)據(jù)庫可W放在服務(wù)器端。
[0011] 與現(xiàn)有技術(shù)相比,本發(fā)明的積極效果為:
[0012] 本文提供了一種基于H. 264視頻流的密鑰同步信息傳輸方法,在保留視頻的參數(shù) 和其它重要信息的情況下,在每帖視頻的輔助增強(qiáng)信息SEI中嵌入密鑰同步信息,進(jìn)行密鑰 同步信息的傳輸,視頻播放端根據(jù)視頻帖中的信息實(shí)時(shí)解密視頻。經(jīng)測試,在密鑰更新頻率 很高的情況下,視頻播放端也可W根據(jù)SEI中的密鑰同步信息快速選取正確的密鑰解密視 頻,可W保證視頻播放的正確性與實(shí)時(shí)性。因此本文提出的運(yùn)種基于H.264視頻流的密鑰同 步信息傳輸方法是一種通用性好、安全性高、實(shí)時(shí)性好、成本低的密鑰同步信息傳輸方法。
【附圖說明】
[0013] 圖1是編碼后的H.264視頻結(jié)構(gòu)W及加密的方法結(jié)構(gòu)示意圖。
[0014] 圖2是H. 264視頻傳輸序列的結(jié)構(gòu)示意圖。
[0015] 圖3是在視頻帖中添加密鑰同步信息示意圖。
[0016] 圖4是視頻播放端提取密鑰同步信息示意圖。
【具體實(shí)施方式】
[0017] H. 264視頻壓縮標(biāo)準(zhǔn)是由ITU-T/IS0在2003年正式公布的視頻壓縮標(biāo)準(zhǔn),由于其相 比W往標(biāo)準(zhǔn)的出色的性能,被人們稱為新一代視頻編碼標(biāo)準(zhǔn)。
[001引 H. 264的編碼視頻序列包括一系列的網(wǎng)絡(luò)提取層單元(NALU,NetworkAbstraction Layer化it)。每個(gè)NALU包括一組對應(yīng)于視頻編碼的NAL頭信息和一個(gè)原始字節(jié)序列負(fù)荷 (RBSP,Raw B^e Sequence Payload)。每個(gè)RBSP都按獨(dú)立的NALU傳送。NALU的信息頭(一個(gè) 字節(jié))定義了RBSP單元的類型,NALU的其余部分為RBSP數(shù)據(jù)。
[0019]在RBSP的類型中,有一種類型叫做補(bǔ)充增強(qiáng)信息單元SEI,SEI是用于視頻序列解 碼的增強(qiáng)信息,主要提供額外的數(shù)據(jù)或同步信息,可W適當(dāng)提高同步性能或定義圖像的復(fù) 雜特征。因此我們可W利用視頻帖中自帶的SEI信息,按照一定規(guī)范自行在視頻帖的SEI信 息里添加用戶自定義數(shù)據(jù),進(jìn)行密鑰同步信息的傳輸。運(yùn)里的規(guī)范主要包括設(shè)置SEI載荷的 類型,設(shè)置用戶自定義數(shù)據(jù)的大小,填充UUid,拷貝UUid和用戶自定義數(shù)據(jù),實(shí)現(xiàn)方式在后 文中具體介紹。
[0020] 在H.264編碼標(biāo)準(zhǔn)中,首先是引入了兩種參數(shù)集一一序列參數(shù)集(SPS)和圖像參數(shù) 集(PPS)。序列參數(shù)集SPS包含的是針對一連續(xù)編碼視頻序列的參數(shù),如編號標(biāo)識、帖數(shù)、參 考帖的數(shù)目、解碼圖像尺寸和帖場編碼模式選擇標(biāo)識等。圖像參數(shù)集PPS對應(yīng)的是一個(gè)序列 中某一圖像或者幾幅圖像的參數(shù)標(biāo)識、賭編碼模式選擇標(biāo)識、片組數(shù)目、初始量化參數(shù)和去 方塊濾波系數(shù)調(diào)整標(biāo)識等等。視頻帖有關(guān)鍵帖(I帖)、預(yù)測帖(P帖)和雙向預(yù)測帖(B帖)=種 常見的類型。在視頻編碼的擴(kuò)展檔中還有SI和SP兩種類型。其中,參數(shù)集的作用是記錄或者 初始化基本的參數(shù)信息,如序列參數(shù)集SPS和圖像參數(shù)集PPS記錄了視頻序列的全局參數(shù)、 如圖像尺寸、視頻格式,W及編碼的檔級等等,主要功能是為了外部操作可W正確的識別一 個(gè)完整的視頻序列,因此是不可W加密的,否則將導(dǎo)致網(wǎng)絡(luò)傳輸、存儲(chǔ)和解析等均無法進(jìn) 行。由于不含實(shí)際的視頻內(nèi)容,不加密參數(shù)不會(huì)帶來安全問題。
[0021] 同樣,補(bǔ)充增強(qiáng)信息單元SEI是用于視頻序列解碼的增強(qiáng)信息,主要提供額外的數(shù) 據(jù)或同步信息,因此在視頻流傳輸?shù)倪^程中不用加密。解析基于H. 264編碼的視頻,W識別 出H. 264編碼視頻內(nèi)的NALU,包括參數(shù)集、輔助增強(qiáng)信息SEIW及視頻片。將識別出NALU中的 視頻片包括I片、B片、P片等加密傳輸,將參數(shù)集和SEI直接明文傳輸,并在SEI信息中添加密 鑰同步信息。
[0022] 因此,本發(fā)明所述密鑰同步信息傳輸方法包括如下步驟:
[0023] 第一步、解析基于H.264編碼的視頻,W識別出H.264編碼視頻內(nèi)的NALU,所述識別 出編碼視頻的NALU包括參數(shù)集、補(bǔ)充增強(qiáng)信息單元SEIW及視頻片。編碼后的H. 264視頻結(jié) 構(gòu)W及加密的方法結(jié)構(gòu)示意圖見附圖1,H.264視頻傳輸序列的結(jié)構(gòu)示意圖見附圖2。
[0024] -個(gè)SEI NAL單元包括一個(gè)或多個(gè)SEr消息。每個(gè)SEr消息由表示SEI載荷類型的 payloadType和表示SEI載荷大小的payloadSize變量組成。表示SEI載荷大小的 pay IoadSize W字節(jié)為單位,并且等于SEI載荷的字節(jié)數(shù)。設(shè)置SEI參數(shù)信息,包括 SEIpayloadType類型、設(shè)置用戶自定義數(shù)據(jù)長度、填充UUicU定義用戶自定義數(shù)據(jù)結(jié)構(gòu)等。 SEI主要修改的內(nèi)容見表1。
[0025] 表1. SEI配置用戶自定義信息參數(shù)
[0027] 具體步驟如下:
[002引 1 ?設(shè)置沈I payloadType的類型
[0029]實(shí)現(xiàn)用戶自定義數(shù)據(jù)在補(bǔ)充增強(qiáng)信息單元沈I中的插入,需要將payloadType的值 設(shè)置為