用于媒體路徑安全的方法和系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及用于媒體路徑安全的方法和系統(tǒng)并特別地涉及使數(shù)字媒體安全。
【背景技術(shù)】
[0002]許多媒體回放設(shè)備提供受保護(hù)的媒體路徑來確保在回放期間不能從所述設(shè)備提取視聽內(nèi)容。它們?nèi)慷荚馐艿剿鼈兊慕涌谠谟脩艨稍L問存儲(chǔ)器中的問題。同樣地,從保護(hù)的一個(gè)域移動(dòng)到媒體路徑保護(hù)域中的內(nèi)容肯定被暴露給用戶空間攻擊。
[0003]本文公開的系統(tǒng)和方法提供用于媒體路徑安全的方法和系統(tǒng)以消除或減輕前述缺點(diǎn)中的至少某些。
【發(fā)明內(nèi)容】
[0004]本發(fā)明的目的是提供用于媒體路徑安全的改進(jìn)的方法和系統(tǒng)。
[0005]本公開提供與數(shù)字內(nèi)容相關(guān)聯(lián)的安全控制的擴(kuò)展,所述數(shù)字內(nèi)容在光盤上、在USB驅(qū)動(dòng)器上、在硬盤驅(qū)動(dòng)器上、在固態(tài)盤(SSD)上或在連接的網(wǎng)絡(luò)上的文件或目錄中分發(fā)。對(duì)現(xiàn)有系統(tǒng)的控制的該擴(kuò)展提供點(diǎn),在所述點(diǎn)處變換的(即被腐蝕的(corrupted))視頻數(shù)據(jù)可以針對(duì)GPU (圖形處理單元)被修理和加密,或針對(duì)軟件解碼器的處理和進(jìn)一步修理而被修理和再腐蝕,或針對(duì)隨后的軟件解碼而被修理和解壓縮。修理和加密過程或修理和再腐蝕過程或修理/解壓縮過程中的每個(gè)被混合為單個(gè)操作并且以抵抗白盒攻擊的方式被保護(hù)。修理/加密、修理/解壓縮或修理/再腐蝕操作是按照內(nèi)容不同的并且與內(nèi)容相關(guān)聯(lián)且一起分發(fā)。如果適當(dāng)信令來自與內(nèi)容一起分發(fā)的代碼,則播放器調(diào)用修理/加密或修理/再腐蝕或修理/解壓縮操作。視頻數(shù)據(jù)的加密保護(hù)(通過加密、進(jìn)一步腐蝕或解壓縮被唯一提供給視頻再現(xiàn)(render)子系統(tǒng)的GPU或軟件解碼器并且因此在被攻擊時(shí)不容易被克隆或抽取(siphon)。
[0006]本發(fā)明描述了用于從創(chuàng)作到向許多消費(fèi)者部署的媒體路徑保護(hù)的方法和系統(tǒng)。
[0007]根據(jù)本公開的一個(gè)方面,提供了一種用于媒體路徑安全的系統(tǒng),所述系統(tǒng)包括具有用于腐蝕內(nèi)容數(shù)據(jù)并提供解腐蝕數(shù)據(jù)的內(nèi)容流變換和腐蝕器的創(chuàng)作系統(tǒng)、用于輸送被腐蝕的內(nèi)容數(shù)據(jù)和解腐蝕數(shù)據(jù)的媒體容器,以及具有用于依靠解腐蝕數(shù)據(jù)修理被腐蝕的內(nèi)容數(shù)據(jù)的修理部件的客戶端系統(tǒng)。
[0008]根據(jù)本公開的另一方面,提供了一種提供媒體路徑安全的方法,方法包括在創(chuàng)作系統(tǒng)中創(chuàng)作內(nèi)容數(shù)據(jù)、腐蝕和變換創(chuàng)作的內(nèi)容數(shù)據(jù)以提供被腐蝕的內(nèi)容數(shù)據(jù)和解腐蝕數(shù)據(jù)、將被腐蝕的內(nèi)容數(shù)據(jù)和解腐蝕數(shù)據(jù)存儲(chǔ)在媒體容器中、將媒體容器輸送到客戶端系統(tǒng)、在客戶端系統(tǒng)中依靠解腐蝕數(shù)據(jù)來修理被腐蝕的內(nèi)容數(shù)據(jù)。
[0009]根據(jù)本公開的另一方面,提供了一種客戶端系統(tǒng),所述客戶端系統(tǒng)包括用于接收媒體容器的輸入和用于依靠解腐蝕數(shù)據(jù)修理被腐蝕的內(nèi)容數(shù)據(jù)的修理部件。
【附圖說明】
[0010]根據(jù)關(guān)于附圖的以下詳細(xì)描述將進(jìn)一步理解本發(fā)明,在所述附圖中:
圖1圖示了根據(jù)本公開的實(shí)施例的系統(tǒng)概覽;
圖2圖示了根據(jù)本公開的實(shí)施例的客戶端系統(tǒng)概覽;
圖3圖示了根據(jù)本公開的實(shí)施例的創(chuàng)作側(cè)媒體準(zhǔn)備;
圖4圖示了根據(jù)本公開的另一實(shí)施例的客戶端系統(tǒng)中的客戶端側(cè)媒體處理;以及圖5圖示了根據(jù)本公開的進(jìn)一步實(shí)施例的客戶端系統(tǒng)中的客戶端側(cè)媒體處理。
[0011]圖6圖示了根據(jù)本公開的進(jìn)一步實(shí)施例的客戶端系統(tǒng)中的客戶端側(cè)媒體處理。
【具體實(shí)施方式】
[0012]參考圖1,圖示了一種根據(jù)本公開的實(shí)施例的系統(tǒng)概覽。對(duì)于系統(tǒng)和方法10,存在兩個(gè)主要部分,創(chuàng)作側(cè)處理12和客戶端側(cè)處理14。
[0013]創(chuàng)作側(cè)處理。取得原始未保護(hù)的媒體16作為輸入,第一步涉及準(zhǔn)備18受保護(hù)的變換的形式的媒體。然后在媒體容器20中發(fā)布受保護(hù)的媒體連同內(nèi)容代碼。媒體容器20可以以許多形式分發(fā)。這些包括但不限于:在光盤上、在USB驅(qū)動(dòng)器上、在硬盤驅(qū)動(dòng)器上、在固態(tài)盤(SSD)上或在連接的網(wǎng)絡(luò)上的文件或目錄中。
[0014]客戶端側(cè)處理??蛻舳藗?cè)媒體播放器然后取得媒體容器20并且執(zhí)行在媒體上的受保護(hù)的媒體回放22。播放器執(zhí)行流的解復(fù)用并且將基本視頻流的處理移交(relegate)到原生內(nèi)容代碼。原生內(nèi)容代碼被提供有在媒體容器中受保護(hù)的媒體。
[0015]參考圖2和3,當(dāng)前描述的系統(tǒng)包含三個(gè)主要部件,媒體變換部件30、密鑰交換部件32和修理部件34。
[0016]媒體變換部件30包括解復(fù)用器24、初級(jí)流變換和腐蝕器26以及復(fù)用器28。
[0017]在操作中,媒體變換部件30在解復(fù)用之后通過唯一地標(biāo)識(shí)初級(jí)流的部分、腐蝕基本(essential)數(shù)據(jù)、對(duì)表格中的所述數(shù)據(jù)和流它本身編碼以及將配置數(shù)據(jù)提供到用于第二部件,密鑰交換部件32,的構(gòu)建系統(tǒng)來變換原始編碼的媒體16(例如H.264、MPEG、VC-1)。
[0018]媒體變換部件30是僅構(gòu)建時(shí)(build-time)部件,從未被分發(fā)并且僅被用在受保護(hù)的媒體和相關(guān)聯(lián)的代碼/數(shù)據(jù)的準(zhǔn)備中。媒體變換部件30被用在系統(tǒng)10的頭端/創(chuàng)作側(cè)12上。在媒體流被解復(fù)用24之后,通過移除流的塊并且以隨機(jī)數(shù)據(jù)替代所述塊來腐蝕26視頻。在數(shù)據(jù)表格中變換和放置從流移除的視頻數(shù)據(jù)?;诔尸F(xiàn)時(shí)間戳來定位腐蝕,這被用來實(shí)現(xiàn)單獨(dú)的初級(jí)流(例如,視頻、音頻、字幕)的同步。
[0019]媒體變換(MT)過程被建立以與AES加密一起工作?;诒粔嚎s的流最后將如何針對(duì)圖形卡成塊并且加密,腐蝕可以發(fā)生的位置是受限的。一旦被腐蝕的字節(jié)的位置已經(jīng)被確定,就選擇被放置在如存儲(chǔ)在外部表中的未腐蝕的字節(jié)上的變換。根據(jù)US6,594,761、US6, 842,862 和 US7, 350,085 產(chǎn)生數(shù)據(jù)變換。
[0020]在MPEG和H.264視頻編碼中,定時(shí)和導(dǎo)航信息與剪輯(clip) (M2TS文件)內(nèi)的偏移和呈現(xiàn)時(shí)間戳(在M2TS PES-分組報(bào)頭中)兩者相關(guān)。這些的后解復(fù)用都不是可用的,并且在H.264數(shù)據(jù)中不存在唯一標(biāo)識(shí)信息來表明任何特定的H.264元素屬于哪個(gè)呈現(xiàn)時(shí)間或剪輯偏移并且因此測(cè)驗(yàn)(workout)在哪里應(yīng)用修理。在幀報(bào)頭內(nèi)存在“幀號(hào)”和“圖片順序計(jì)數(shù)”字段,但這些不是H.264流內(nèi)的唯一的、絕對(duì)的或單調(diào)增加的值。
[0021]取決于組成解復(fù)用器24的輸出的事物,過程可以或可以不具有對(duì)完整的和/或?qū)R的Η.264 Nal單元的訪問。過程可以僅具有時(shí)間片(slice)或幀數(shù)據(jù)或可以是對(duì)應(yīng)于非幀H.264 Nal單元的被傳遞的數(shù)據(jù)。過程可以具有完整的幀或單個(gè)時(shí)間片。因此,用于應(yīng)用修理后解復(fù)用的廣泛?jiǎn)栴}是標(biāo)識(shí),即決定當(dāng)前在解復(fù)用流和同步中正在處理哪個(gè)幀,即找到根據(jù)其分析數(shù)據(jù)的參考點(diǎn)。
[0022]在調(diào)查的大部分解復(fù)用器中,觀察到由多個(gè)Nal單元進(jìn)行的成塊。某些解復(fù)用器呈現(xiàn)全部H.264 Nal單元,某些僅呈現(xiàn)與幀數(shù)據(jù)相關(guān)的那些Nal單元。某些包括在MPEG開始代碼,而某些以長(zhǎng)度字段替代開始代碼。在最壞的情況下并且在純M2TS剝離器(stripper)中,一個(gè)可以僅具有字節(jié)流。
[0023]針對(duì)需要處理來自H.264字節(jié)流的同步和幀標(biāo)識(shí)的情況下,本技術(shù)方案將分析不斷地監(jiān)視MPEG開始代碼的存在的后解復(fù)用字節(jié)流。每次觀察到開始代碼,這被視為基礎(chǔ)編索引點(diǎn)并且計(jì)數(shù)字節(jié)開始。而且在該點(diǎn)處,過程將初始化64位散列(hash)的計(jì)算。針對(duì)修理,過程對(duì)影響幀數(shù)據(jù)、尤其對(duì)選擇三感興趣,在所述選擇三中幀數(shù)據(jù)是過程被允許腐蝕的唯一的東西。在H.264時(shí)間片報(bào)頭內(nèi)存在各種字段,所述各種字段在幀之間廣泛類似并且跨相同幀內(nèi)的所有時(shí)間片廣泛恒定。該過程需要確保越過時(shí)間片報(bào)頭的末尾充分地計(jì)算散列以肯定視頻數(shù)據(jù)正在被散列。更進(jìn)一步地,雖然通過在散列計(jì)算內(nèi)包括來自時(shí)間片報(bào)頭的幀號(hào)和圖片順序計(jì)數(shù)字段,這些值跨整個(gè)剪輯是非唯一的,但是過程也能夠在具有