專利名稱:一種流媒體的加密、解密方法和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信領(lǐng)域,具體涉及一種流媒體的加密、解密方法和裝置。
背景技術(shù):
隨著互聯(lián)網(wǎng)的普及,流媒體服務(wù)得到了迅速的發(fā)展。其中,基于HTTP的流媒體服務(wù),由于能夠充分利用大量的基礎(chǔ)設(shè)施,包括web服務(wù)器,基于HTTP的內(nèi)容分發(fā)網(wǎng)絡(luò),使得服務(wù)質(zhì)量得到大量提升;采用了分布計(jì)算的架構(gòu),具有良好的可擴(kuò)展性;不存在穿越防火墻的障礙。在流媒體服務(wù)中,基于HTTP的流媒體服務(wù),正成為一個(gè)新的發(fā)展趨勢(shì)。而對(duì)于流媒體的加密和打包技術(shù)也成為一個(gè)新的發(fā)展熱點(diǎn)?,F(xiàn)有的技術(shù)方案將整個(gè)文件與編碼格式相結(jié)合,對(duì)編碼的關(guān)鍵參數(shù)進(jìn)行加密,力口密可在編碼過程中或編碼后進(jìn)行。此方法適合流媒體應(yīng)用,支持隨機(jī)播放、分段授權(quán),但需要和編碼格式相結(jié)合,無法支持多種媒體格式。
發(fā)明內(nèi)容
本發(fā)明實(shí)施例提供了一種流媒體加密、打包的方法、裝置,以支持多種不同的媒體格式。本發(fā)明實(shí)施例提供了一種流媒體加密的方法,所述方法包括:把碼流切分成多個(gè)片段,根據(jù)片段的序號(hào)生成所述片段的內(nèi)容密鑰,所述片段的序號(hào)包括所述片段的時(shí)間段序號(hào)和所述片段的質(zhì)量等級(jí)序號(hào);根據(jù)所述碼流的服務(wù)模式和初始服務(wù)密碼生成服務(wù)密鑰,把所述服務(wù)密 鑰分配給所述碼流的各片段,利用所述服務(wù)密鑰對(duì)所述服務(wù)密鑰分配給的片段的內(nèi)容密鑰加密;根據(jù)所述片段的內(nèi)容密鑰、密碼初始值對(duì)所述片段的數(shù)據(jù)加密,所述初始服務(wù)密碼、所述密碼初始值事先獲得。本發(fā)明實(shí)施例提供了一種流媒體的打包方法,所述方法包括:把加密后的片段數(shù)據(jù)、不加密的片段數(shù)據(jù)打包在片段的數(shù)據(jù)塊中;把密碼初始值、加密后的內(nèi)容密鑰、片段長(zhǎng)度和加密的片段長(zhǎng)度打包在所述片段的頭部,所述內(nèi)容密鑰、所述密碼初始值用于對(duì)所述片段的數(shù)據(jù)加密;把所述片段的數(shù)據(jù)塊和所述片段的頭部打包發(fā)送。本發(fā)明實(shí)施例提供了一種流媒體的解密方法,所述方法包括:從接收碼流片段的頭部提取出權(quán)限標(biāo)識(shí)、密碼初始值,所述權(quán)限標(biāo)識(shí)包含加密位、權(quán)限標(biāo)識(shí)位;若所述權(quán)限標(biāo)識(shí)的加密位表示所述片段已加密,根據(jù)所述權(quán)限標(biāo)識(shí)位查找或申請(qǐng)權(quán)限,所述權(quán)限包含服務(wù)密鑰;從所述片段頭部提取出加密后的內(nèi)容密鑰,根據(jù)所述服務(wù)密鑰解密加密后的內(nèi)容密鑰,得到內(nèi)容密鑰;根據(jù)所述內(nèi)容密鑰和所述密碼初始值對(duì)所述加密后的數(shù)據(jù)解密。本發(fā)明實(shí)施例提供了一種流媒體加密的裝置,所述裝置包括:內(nèi)容密鑰生成單元,用于把碼流切分成多個(gè)片段,根據(jù)片段的序號(hào)生成片段的內(nèi)容密鑰,所述片段的序號(hào)包括所述片段的時(shí)間段序號(hào)和所述片段的質(zhì)量等級(jí)序號(hào);內(nèi)容密鑰加密單元,用于根據(jù)服務(wù)模式和初始服務(wù)密碼生成服務(wù)密鑰,把所述服務(wù)密鑰分配給所述碼流的各片段,利用所述服務(wù)密鑰對(duì)所述服務(wù)密鑰分配給的片段的內(nèi)容密鑰加密;數(shù)據(jù)加密單元,用于根據(jù)所述片段的內(nèi)容密鑰、密碼初始值對(duì)所述片段的數(shù)據(jù)加密。本發(fā)明實(shí)施例提供了一種流媒體的打包裝置,所述裝置包括:片段數(shù)據(jù)塊打包單元,用于把加密后的片段數(shù)據(jù)、不加密的片段數(shù)據(jù)打包在片段的數(shù)據(jù)塊中;片段頭部打包單元,用于把密碼初始值、加密后的內(nèi)容密鑰、片段長(zhǎng)度和加密的片段長(zhǎng)度打包在所述片段的頭部,所述內(nèi)容密鑰、所述密碼初始值用于對(duì)所述片段的數(shù)據(jù)加密。本發(fā)明實(shí)施例提供了一種流媒體的解密裝置,所述裝置包括:片段頭部解密單元,用于從接收碼流的片段頭部提取出權(quán)限標(biāo)識(shí)和密碼初始值,所述權(quán)限標(biāo)識(shí)包含加密位、權(quán)限標(biāo)識(shí)位,若所述權(quán)限標(biāo)識(shí)的加密位表示所述片段已加密,根據(jù)所述權(quán)限標(biāo)識(shí)位查找或申請(qǐng)權(quán)限,所述權(quán)限包含服務(wù)密鑰,從所述片段頭部提取出加密后的內(nèi)容密鑰,根據(jù)所述服務(wù)密鑰解密加密后的內(nèi)容密鑰,得到內(nèi)容密鑰;片段數(shù)據(jù)解密單元,用于根據(jù)所述所述內(nèi)容密鑰和所述密碼初始值對(duì)所述片段的加密數(shù)據(jù)解密。本發(fā)明實(shí)施例提供的技術(shù)方案通過把碼流切分成多個(gè)片段,根據(jù)片段的序號(hào)生成所述片段的內(nèi)容密鑰;根據(jù)所述碼流的服務(wù)模式和初始服務(wù)密碼生成服務(wù)密鑰,把所述服務(wù)密鑰分配給所述碼流的各片段,利用所述服務(wù)密鑰對(duì)所述服務(wù)密鑰分配給的片段的內(nèi)容密鑰加密;根據(jù)所述片段的內(nèi)容密鑰、密碼初始值對(duì)所述片段的數(shù)據(jù)加密,從而把把流媒體切分成多個(gè)片段,通過給多個(gè)片段加密和打包,以支持不同質(zhì)量不同格式的碼流的加密和打包。
為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作一簡(jiǎn)單地介紹,顯而易見,下面描述中的附圖是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。圖1為本發(fā)明流媒體加密方法一個(gè)實(shí)施例的流程圖;圖2為本發(fā)明流媒體加密方法又一個(gè)實(shí)施例的流程圖;圖3為本發(fā)明流媒體打包方法一個(gè)實(shí)施例的流程圖;圖4為本發(fā)明流媒體解密方法一個(gè)實(shí)施例的流程圖;圖5為本發(fā)明流媒體加密裝置一個(gè)實(shí)施例的流程圖;圖6為本發(fā)明流媒體打包裝置一個(gè)實(shí)施例的流程圖;圖7為本發(fā)明流媒體解密裝置一個(gè)實(shí)施例的流程圖。
具體實(shí)施例方式為使本發(fā)明實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)的前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。本發(fā)明實(shí)施例提供了一種流媒體加密的方法,所述方法包括,SlOl把碼流切分成多個(gè)片段,根據(jù)片段的序號(hào)生成片段的內(nèi)容密鑰,所述片段的序號(hào)包括所述片段的時(shí)間段序號(hào)和所述片段的質(zhì)量等級(jí)序號(hào);S103根據(jù)服務(wù)模式和初始服務(wù)密碼生成服務(wù)密鑰,把所述服務(wù)密鑰分配給所述碼流的各片段,利用所述服務(wù)密鑰對(duì)所述服務(wù)密鑰分配給的片段的內(nèi)容密鑰加密;S105根據(jù)所述片段的內(nèi)容密鑰、密碼初始值對(duì)所述片段的數(shù)據(jù)加密。在本發(fā)明的一個(gè)實(shí)施例中,SlOl所述根據(jù)片段的序號(hào)生成片段的內(nèi)容密鑰包括,根據(jù)所述片段的質(zhì)量等級(jí)序號(hào)和時(shí)間段序號(hào)生成片段索引,根據(jù)密碼算法由所述片段索引和初始內(nèi)容密鑰生成片段內(nèi)容密鑰,所述生成的片段索引滿足條件:不同所述片段對(duì)應(yīng)的片段索引互不相同。所述初始內(nèi)容密鑰生由系統(tǒng)事先確定。在AHS系統(tǒng)中,把碼流切分成多個(gè)片段(segment),將媒體內(nèi)容以片段為單位加密和打包,根據(jù)片段的序號(hào)生成片段的內(nèi)容密鑰,不同的片段采用不同的內(nèi)容密鑰加密。所述碼流可劃分成m個(gè)質(zhì)量等級(jí) 和η個(gè)時(shí)間段,媒體數(shù)據(jù)段SmQ = 0,1,...m_l,j = O, I,...n-1)的內(nèi)容密鑰計(jì)算方法如公式(I) (2)所示:SIij j = [ (i*n+j)/mn] *2128 (I);CKijj = E(SIijj, ICK) (2);其中,i是質(zhì)量等級(jí)序號(hào),j是時(shí)間段序號(hào),SIi,j是片段索引,ICK是初始內(nèi)容密鑰,E O是密碼算法。Siij的計(jì)算方法中,由片段的序號(hào)根據(jù)公式(i*n+j)/mn計(jì)算得到取值在(0,I)區(qū)間的輸出,把此輸出乘以2128用于得到128位比特的片段索引,生成的片段索引滿足條件:不同所述片段對(duì)應(yīng)的片段索引互不相同。Siij還可以通過本公式的簡(jiǎn)單變形根據(jù)所述質(zhì)量等級(jí)序號(hào)和時(shí)間段序號(hào)計(jì)算得到。如通過公式SIy = [(i*n+j)/mn]計(jì)算得到取值在(0,I)區(qū)間的片段索引輸出,再由所述片段索引和初始內(nèi)容密鑰生成所述片段的內(nèi)容密鑰。在本發(fā)明實(shí)施例中,使用的密碼算法EO是現(xiàn)有的標(biāo)準(zhǔn)加密算法,如AES (advanced encryption standard)密石馬算法。在本發(fā)明的一個(gè)實(shí)施例中,S103所述根據(jù)服務(wù)模式和初始服務(wù)密碼生成服務(wù)密鑰,把所述服務(wù)密鑰分配給所述碼流的各片段包括,根據(jù)所述服務(wù)模式確定碼流的服務(wù)密鑰數(shù)目,根據(jù)初始服務(wù)密鑰生成所述服務(wù)密鑰數(shù)目的服務(wù)密鑰,把所述服務(wù)密鑰數(shù)目的服務(wù)密鑰分配給所述碼流的各片段。所述服務(wù)模式也被稱作商業(yè)模式,可支持分段授權(quán)等商業(yè)模式。服務(wù)模式產(chǎn)生,至少包含以下情況:媒體內(nèi)容分成多種質(zhì)量來授權(quán),例如:第一種質(zhì)量的內(nèi)容免費(fèi),第二種質(zhì)量的內(nèi)容需付少量費(fèi)用,第三種質(zhì)量的內(nèi)容需付全部費(fèi)用。同一種質(zhì)量的媒體內(nèi)容分成多段來授權(quán),例如:第一段內(nèi)容免費(fèi),第二段需付少量費(fèi)用,第三段需付全部費(fèi)用。媒體節(jié)目的付費(fèi)模式:免費(fèi)、包月或單次付費(fèi)。不同的服務(wù)模式采用不同數(shù)目的權(quán)限/服務(wù)密鑰來控制,對(duì)于免費(fèi)且不加密服務(wù)模式,不使用服務(wù)密鑰;對(duì)于免費(fèi)且加密的服務(wù)模式,采用I個(gè)服務(wù)密鑰;對(duì)于包月的服務(wù)模式,使用I個(gè)服務(wù)密鑰;對(duì)于單次負(fù)費(fèi)的服務(wù)模式,使用I個(gè)服務(wù)密鑰;對(duì)于前5分鐘免費(fèi)預(yù)覽的服務(wù)模式,采用2個(gè)服務(wù)密鑰;對(duì)于分L段付費(fèi)或授權(quán)的服務(wù)模式,使用L個(gè)服務(wù)密鑰。其中,對(duì)于前5分鐘免費(fèi)預(yù)覽,后面收費(fèi)的服務(wù)模式可支持分段授權(quán)的應(yīng)用需要;高質(zhì)量碼流單次收費(fèi)、低質(zhì)量碼流免費(fèi)的模式可支持分質(zhì)量授權(quán)的需求。服務(wù)密鑰的數(shù)目和服務(wù)模式的對(duì)應(yīng)關(guān)系,不限于以上定義,可根據(jù)實(shí)際應(yīng)用的需要靈活設(shè)置。所述把所述服務(wù)密鑰數(shù)目的服務(wù)密鑰分配給所述碼流的各片段包括:若生成I個(gè)服務(wù)密鑰,給所屬碼流的各片段都分配所述服務(wù)密鑰;若對(duì)于前5分鐘免費(fèi)預(yù)覽的服務(wù)模式,生成了 2個(gè)服務(wù)密鑰,給所述碼流的前5分鐘的各片段分配第I個(gè)服務(wù)密鑰,給所述碼流5分鐘后的各片段分配第2個(gè)服務(wù)密鑰;若對(duì)于分L段付費(fèi)或授權(quán)的服務(wù)模式,生成了 L個(gè)服務(wù)密鑰,給所屬碼流每段的片斷的分配一個(gè)所述服務(wù)密鑰。把所述服務(wù)密鑰數(shù)目的服務(wù)密鑰分配給所述碼流的各片段的分配方法不限于上述規(guī)定,可根據(jù)實(shí)際應(yīng)用情況靈活設(shè)置。本發(fā)明實(shí)施例把流媒體切分成多個(gè)片段,通過給多個(gè)片段加密,以支持碼流的安全傳輸和存儲(chǔ),并可以支持不同質(zhì)量不同格式的碼流的加密和打包。本發(fā)明還能夠支持多媒體碼流實(shí)時(shí)應(yīng)用的多種需要,包括不同碼流之間的切換,分段授權(quán)的應(yīng)用需要,分質(zhì)量授權(quán)的需要,以及媒體播放的隨機(jī)播放等。本發(fā)明實(shí)施例提供了又一種流媒體加密的方法,所述方法包括,S201把碼流切分成多個(gè)片段,根據(jù)片段的序號(hào)生成片段的內(nèi)容密鑰,所述片段的序號(hào)包括所述片段的時(shí)間段序號(hào)和所述片段的質(zhì)量等級(jí)序號(hào);S203根據(jù)服務(wù)模式和初始服務(wù)密碼生成服務(wù)密鑰,把所述服務(wù)密鑰分配給所述碼流的各片段,利用所述服務(wù)密鑰對(duì)所述服務(wù)密鑰分配給的片段的內(nèi)容密鑰加密;S205根據(jù)所述片段的內(nèi)容密鑰、密碼初始值對(duì)所述片段的數(shù)據(jù)加密;S207生成權(quán)限標(biāo)識(shí),所述權(quán)限標(biāo)識(shí)包含加密位、權(quán)限標(biāo)識(shí)位,所述加密位用于存儲(chǔ)是否根據(jù)所述片段的內(nèi)容密鑰、密 碼初始值對(duì)所述片段的數(shù)據(jù)加密的信息,所述權(quán)限標(biāo)識(shí)位用于存儲(chǔ)包含所述服務(wù)密鑰的權(quán)限的標(biāo)識(shí)信息;S209把加密后的片段數(shù)據(jù)、不加密的片段數(shù)據(jù)打包在片段的數(shù)據(jù)塊中;S211把密碼初始值、加密后的內(nèi)容密鑰、所述權(quán)限標(biāo)識(shí)、片段長(zhǎng)度和加密的片段長(zhǎng)度打包在所述片段的頭部,所述內(nèi)容密鑰、所述密碼初始值用于對(duì)所述片段的數(shù)據(jù)加密。S201-S205所述步驟與S101-S105所述步驟相同。S207所述權(quán)限標(biāo)識(shí)中包括的加密位用I比特的信息表明是否對(duì)內(nèi)容加密,所述流媒體可自適應(yīng)確定是否加密,在本發(fā)明的實(shí)施例中,低質(zhì)量的碼流可以不加密,或者只加密碼流的一部分信息。加密方法不限于上述限定,本領(lǐng)域技術(shù)人員可以根據(jù)實(shí)際應(yīng)用環(huán)境靈活決定是否對(duì)信息加密。在本發(fā)明的一個(gè)實(shí)施例中,S211中采用N比特表示權(quán)限標(biāo)識(shí),采用128比特信息表示密碼初始值、采用128比特信息表示加密后的內(nèi)容密鑰、采用128比特表示片段長(zhǎng)度,采用128比特表示加密的片段長(zhǎng)度。所述未加密的數(shù)據(jù)長(zhǎng)度可以通過片段長(zhǎng)度減去片段頭部的長(zhǎng)度、所述加密的片段長(zhǎng)度得到。本發(fā)明實(shí)施例提供了一種流媒體的打包方法,如圖3所示,圖3提供了本發(fā)明一個(gè)實(shí)施例的流程圖。所述方法包括:S301把加密后的片段數(shù)據(jù)、不加密的片段數(shù)據(jù)打包在片段的數(shù)據(jù)塊中;S303把密碼初始值、加密后的內(nèi)容密鑰、所述權(quán)限標(biāo)識(shí)、片段長(zhǎng)度和加密的片段長(zhǎng)度打包在所述片段的頭部,所述內(nèi)容密鑰、所述密碼初始值用于對(duì)所述片段的數(shù)據(jù)加密;
S305,把所述片段的數(shù)據(jù)塊和所述片段的頭部打包發(fā)送。本發(fā)明實(shí)施例提供了一種流媒體的解密方法,如圖4所示,圖4提供了本發(fā)明一個(gè)實(shí)施例的流程圖。所述方法包括:S401從接收碼流片段的頭部提取出權(quán)限標(biāo)識(shí)、密碼初始值、加密的片段長(zhǎng)度,所述權(quán)限標(biāo)識(shí)包含加密位、權(quán)限標(biāo)識(shí)位;S403若所述權(quán)限標(biāo)識(shí)的加密位表示所述片段已加密,根據(jù)所述權(quán)限標(biāo)識(shí)位查找或申請(qǐng)權(quán)限,所述權(quán)限包含服務(wù)密鑰;S405從所述片段頭部提取出加密后的內(nèi)容密鑰,根據(jù)所述服務(wù)密鑰解密加密后的內(nèi)容密鑰,得到內(nèi)容密鑰;S407根據(jù)所述內(nèi)容密鑰和所述密碼初始值對(duì)所述加密后的數(shù)據(jù)解密。在本發(fā)明的一個(gè)實(shí)施例中,S401權(quán)限標(biāo)識(shí)采用N比特表示,權(quán)限標(biāo)識(shí)的第一位用于存儲(chǔ)加密位,剩余的N-1位用于存儲(chǔ)權(quán)限標(biāo)識(shí)位。所述密碼初始值采用128比特信息表
/Jn ο在本發(fā)明的一個(gè)實(shí)施例中,S405所述加密后的內(nèi)容密鑰采用128比特信息表示。S407根據(jù)所述內(nèi)容密鑰和所述密碼初始值對(duì)所述加密后的數(shù)據(jù)解密包括:根據(jù)所述內(nèi)容密鑰和所述密碼初始值產(chǎn)生子密鑰流,根據(jù)所述加密的片段長(zhǎng)度,平移所述密鑰流解密接收到的媒體數(shù)據(jù)流。在S407之前本發(fā)明實(shí)施例還包括:判斷接收到的數(shù)據(jù)是否超過所述加密的片段長(zhǎng)度,若超過,停止解密;若不超過,根據(jù)所述內(nèi)容密鑰和所述密碼初始值對(duì)加密后的數(shù)據(jù)解密。所述根據(jù)所述內(nèi) 容密鑰和所述密碼初始值對(duì)加密后的數(shù)據(jù)解密包括:平移所述密鑰,以解密所述接收到的數(shù)據(jù)?;蛘咂揭平邮盏降臄?shù)據(jù),以和所述密鑰匹配,解密所述接收到的數(shù)據(jù)。本發(fā)明實(shí)施例提供了一種流媒體加密的裝置。如圖5所示,圖5提供了本發(fā)明一個(gè)實(shí)施例的結(jié)構(gòu)圖。所述裝置包括,內(nèi)容密鑰生成單元501,用于把碼流切分成多個(gè)片段,根據(jù)片段的序號(hào)生成片段的內(nèi)容密鑰,所述片段的序號(hào)包括所述片段的時(shí)間段序號(hào)和所述片段的質(zhì)量等級(jí)序號(hào);內(nèi)容密鑰加密單元503,用于根據(jù)服務(wù)模式和初始服務(wù)密碼生成服務(wù)密鑰,把所述服務(wù)密鑰分配給所述碼流的各片段,利用所述服務(wù)密鑰對(duì)所述服務(wù)密鑰分配給的片段的內(nèi)容密鑰加密;數(shù)據(jù)加密單元505,用于根據(jù)所述片段的內(nèi)容密鑰、密碼初始值對(duì)所述片段的數(shù)據(jù)加密。所述內(nèi)容密鑰生成單元501用于根據(jù)所述片段的質(zhì)量等級(jí)序號(hào)和時(shí)間段序號(hào)生成片段索引,根據(jù)密碼算法由所述片段索引和初始內(nèi)容密鑰生成片段內(nèi)容密鑰,所述生成的片段索引滿足條件:不同所述片段對(duì)應(yīng)的片段索引互不相同。所述內(nèi)容密鑰加密單元503,用于根據(jù)所述服務(wù)模式確定碼流的服務(wù)密鑰數(shù)目,根據(jù)初始服務(wù)密鑰生成所述服務(wù)密鑰數(shù)目的服務(wù)密鑰,把所述服務(wù)密鑰數(shù)目的服務(wù)密鑰分配給所述碼流的各片段。在本發(fā)明的一個(gè)實(shí)施例中,所述裝置還包括打包單元507,用于在所述加密單元根據(jù)所述片段的內(nèi)容密鑰、密碼初始值對(duì)所述片段的數(shù)據(jù)加密之后,把加密后的片段數(shù)據(jù)打包在片段的數(shù)據(jù)塊中;把密碼初始值、加密后的內(nèi)容密鑰、片段長(zhǎng)度和加密的片段長(zhǎng)度打包在所述片段的頭部,所述內(nèi)容密鑰、所述密碼初始值用于對(duì)所述片段的數(shù)據(jù)加密。
在本發(fā)明的另一個(gè)實(shí)施例中,所述裝置還包括:權(quán)限標(biāo)識(shí)生成單元,用于生成權(quán)限標(biāo)識(shí),所述權(quán)限標(biāo)識(shí)包含加密位、權(quán)限標(biāo)識(shí)位,所述加密位用于存儲(chǔ)片段是否加密的信息,所述權(quán)限標(biāo)識(shí)位用于存儲(chǔ)權(quán)限的標(biāo)識(shí)信息;打包單元,用于在所述加密單元根據(jù)所述片段的內(nèi)容密鑰、密碼初始值對(duì)所述片段的數(shù)據(jù)加密之后,把加密后的片段數(shù)據(jù)、不加密的片段數(shù)據(jù)打包在片段的數(shù)據(jù)塊中;把密碼初始值、加密后的內(nèi)容密鑰、所述權(quán)限標(biāo)識(shí)、片段長(zhǎng)度和加密的片段長(zhǎng)度打包在所述片段的頭部,所述內(nèi)容密鑰、所述密碼初始值用于對(duì)所述片段的數(shù)據(jù)加密。本發(fā)明實(shí)施例提供了一種流媒體的打包裝置。如圖6所示,圖6提供了本發(fā)明一個(gè)實(shí)施例的結(jié)構(gòu)圖。所述裝置包括:片段數(shù)據(jù)塊打包單元601,用于把加密后的片段數(shù)據(jù)、不加密的片段數(shù)據(jù)打包在片段的數(shù)據(jù)塊中;片段頭部打包單元603,用于把密碼初始值、力口密后的內(nèi)容密鑰、片段長(zhǎng)度和加密的片段長(zhǎng)度打包在所述片段的頭部,所述內(nèi)容密鑰、所述密碼初始值用于對(duì)所述片段的數(shù)據(jù)加密;發(fā)送單元605,用于把所述片段的數(shù)據(jù)塊和所述片段的頭部打包發(fā)送。所述片段頭部打包單元還用于,把權(quán)限標(biāo)識(shí)打包在所述片段的頭部,所述權(quán)限標(biāo)識(shí)用于存儲(chǔ)片段是否加密的信息和所述權(quán)限的標(biāo)識(shí)信息。本發(fā)明實(shí)施例提供了一種流媒體的解密裝置。如圖7所示,圖7提供了本發(fā)明一個(gè)實(shí)施例的結(jié)構(gòu)圖。所述裝置包括:片段頭部解密單元701,用于從接收碼流的片段頭部提取出權(quán)限標(biāo)識(shí)和密碼初始值,所述權(quán)限標(biāo)識(shí)包含加密位、權(quán)限標(biāo)識(shí)位,若所述權(quán)限標(biāo)識(shí)的加密位表示所述片段已加密,根據(jù)所述權(quán)限標(biāo)識(shí)位查找或申請(qǐng)權(quán)限,所述權(quán)限包含服務(wù)密鑰,從所述片段頭部提取出加密后的內(nèi)容密鑰,根據(jù)所述服務(wù)密鑰解密加密后的內(nèi)容密鑰,得到內(nèi)容密鑰;片段數(shù)據(jù)解密單元703,用于根據(jù)所述所述內(nèi)容密鑰和所述密碼初始值對(duì)所述片段的加密數(shù)據(jù)解密。所述裝置還包括,片段長(zhǎng)度判斷單元,用于從接收碼流的片段頭部提取出加密的片段長(zhǎng)度信息,若接收的數(shù)據(jù)不超過加密的片段長(zhǎng)度,根據(jù)所述片段頭部解密單元得到的所述內(nèi)容密鑰和所述密碼初始值對(duì)所 述片段的加密數(shù)據(jù)解密。本領(lǐng)域技術(shù)人員可以理解實(shí)施例中的裝置中的模塊可以按照實(shí)施例描述進(jìn)行分布于實(shí)施例的裝置中,也可以進(jìn)行相應(yīng)變化位于不同于本實(shí)施例的一個(gè)或多個(gè)裝置中。上述實(shí)施例的模塊可以合并為一個(gè)模塊,也可以進(jìn)一步拆分成多個(gè)子模塊。本領(lǐng)域的技術(shù)人員可以清楚地了解到本發(fā)明實(shí)施例中的技術(shù)可借助軟件加必需的通用硬件平臺(tái)的方式來實(shí)現(xiàn)。基于這樣的理解,本發(fā)明實(shí)施例中的技術(shù)方案本質(zhì)上或者說對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計(jì)算機(jī)軟件產(chǎn)品可以存儲(chǔ)在存儲(chǔ)介質(zhì)中,如R0M/RAM、磁碟、光盤等,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個(gè)實(shí)施例或者實(shí)施例的某些部分所述的方法。最后應(yīng)說明的是:以上實(shí)施例僅用以說明本發(fā)明的技術(shù)方案,而非對(duì)其限制;盡管參照前述實(shí)施例對(duì)本發(fā)明進(jìn)行了詳細(xì)的說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:其依然可以對(duì)前述各實(shí)施例所記載的技術(shù)方案進(jìn)行修改,或者對(duì)其中部分技術(shù)特征進(jìn)行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實(shí)施例技術(shù)方案的精神和范圍。
權(quán)利要求
1.一種流媒體加密的方法,其特征在于,所述方法包括: 把碼流切分成多個(gè)片段,根據(jù)片段的序號(hào)生成所述片段的內(nèi)容密鑰,所述片段的序號(hào)包括所述片段的時(shí)間段序號(hào)和所述片段的質(zhì)量等級(jí)序號(hào); 根據(jù)所述碼流的服務(wù)模式和初始服務(wù)密碼生成服務(wù)密鑰,把所述服務(wù)密鑰分配給所述碼流的各片段,利用所述服務(wù)密鑰對(duì)所述服務(wù)密鑰分配給的片段的內(nèi)容密鑰加密; 根據(jù)所述片段的內(nèi)容密鑰、密碼初始值對(duì)所述片段的數(shù)據(jù)加密;其中,所述初始服務(wù)密碼、所述密碼初始值事先獲得。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述根據(jù)片段的序號(hào)生成所述片段的內(nèi)容密鑰包括: 根據(jù)所述片段的質(zhì)量等級(jí)序號(hào)和時(shí)間段序號(hào)生成片段索引,根據(jù)密碼算法由所述片段索引和初始內(nèi)容密鑰生成所述片段的內(nèi)容密鑰,其中,所述生成的片段索引滿足條件:不同所述片段對(duì)應(yīng)的片段索引互不相同。
3.根據(jù)權(quán)利要求1至2任一項(xiàng)所述的方法,其特征在于,所述根據(jù)服務(wù)模式和初始服務(wù)密碼生成服務(wù)密鑰,把所述服務(wù)密鑰分配給所述碼流的各片段包括,根據(jù)所述服務(wù)模式確定碼流的服務(wù)密鑰數(shù)目,根據(jù)初始服務(wù)密鑰生成所述服務(wù)密鑰數(shù)目的服務(wù)密鑰,把所述服務(wù)密鑰數(shù)目的服務(wù)密鑰分配給所述碼流的各片段。
4.根據(jù)權(quán)利要求1至3任一項(xiàng)所述的方法,其特征在于,在所述根據(jù)所述片段的內(nèi)容密鑰、密碼初始值對(duì)所述片段的數(shù)據(jù)加密之后,所述方法還包括,把加密后的片段數(shù)據(jù)打包在片段的數(shù)據(jù)塊中;把密碼初始值、加密后的內(nèi)容密鑰、片段長(zhǎng)度和加密的片段長(zhǎng)度打包在所述片段的頭部,所述內(nèi)容密鑰、所述密碼初始值用于對(duì)所述片段的數(shù)據(jù)加密。
5.根據(jù)權(quán)利要求1至3任一項(xiàng)所述的方法,其特征在于,在所述根據(jù)所述片段的內(nèi)容密鑰、密碼初始值對(duì)所述片段的·數(shù)據(jù)加密之后,所述方法還包括:生成權(quán)限標(biāo)識(shí),所述權(quán)限標(biāo)識(shí)包含加密位、權(quán)限標(biāo)識(shí)位,所述加密位用于存儲(chǔ)是否根據(jù)所述片段的內(nèi)容密鑰、密碼初始值對(duì)所述片段的數(shù)據(jù)加密的信息,所述權(quán)限標(biāo)識(shí)位用于存儲(chǔ)包含所述服務(wù)密鑰的權(quán)限的標(biāo)識(shí)息。
6.根據(jù)權(quán)利要求5所述的方法,其特征在于,在所述生成權(quán)限標(biāo)識(shí)之后,所述方法還包括,把加密后的片段數(shù)據(jù)、不加密的片段數(shù)據(jù)打包在片段的數(shù)據(jù)塊中;把密碼初始值、加密后的內(nèi)容密鑰、所述權(quán)限標(biāo)識(shí)、片段長(zhǎng)度和加密的片段長(zhǎng)度打包在所述片段的頭部,所述內(nèi)容密鑰、所述密碼初始值用于對(duì)所述片段的數(shù)據(jù)加密。
7.一種流媒體的打包方法,其特征在于,所述方法包括: 把加密后的片段數(shù)據(jù)、不加密的片段數(shù)據(jù)打包在片段的數(shù)據(jù)塊中; 把密碼初始值、加密后的內(nèi)容密鑰、片段長(zhǎng)度和加密的片段長(zhǎng)度打包在所述片段的頭部,所述內(nèi)容密鑰、所述密碼初始值用于對(duì)所述片段的數(shù)據(jù)加密; 把所述片段的數(shù)據(jù)塊和所述片段的頭部打包發(fā)送。
8.根據(jù)權(quán)利要求7所述的方法,其特征在于,所述方法還包括,把權(quán)限標(biāo)識(shí)打包在所述片段的頭部,所述權(quán)限標(biāo)識(shí)用于存儲(chǔ)片段是否加密的信息和所述權(quán)限的標(biāo)識(shí)信息。
9.一種流媒體的解密方法,其特征在于,所述方法包括:從接收碼流片段的頭部提取出權(quán)限標(biāo)識(shí)、密碼初始值,所述權(quán)限標(biāo)識(shí)包含加密位、權(quán)限標(biāo)識(shí)位;若所述權(quán)限標(biāo)識(shí)的加密位表示所述片段已加密,根據(jù)所述權(quán)限標(biāo)識(shí)位查找或申請(qǐng)權(quán)限,所述權(quán)限包含服務(wù)密鑰;從所述片段頭部提取出加密后的內(nèi)容密鑰,根據(jù)所述服務(wù)密鑰解密加密后的內(nèi)容密鑰,得到內(nèi)容密鑰;根據(jù)所述內(nèi)容密鑰和所述密碼初始值對(duì)所述加密后的數(shù)據(jù)解密。
10.根據(jù)權(quán)利要求9所述的方法,其特征在于,所述方法還包括,從接收碼流的片段頭部提取出加密的片段長(zhǎng)度信息,所述根據(jù)所述內(nèi)容密鑰和所述密碼初始值對(duì)所述加密后的數(shù)據(jù)解密包括,若接收的數(shù)據(jù)不超過加密的片段長(zhǎng)度,根據(jù)所述內(nèi)容密鑰和所述密碼初始值對(duì)加密后的數(shù)據(jù)解密。
11.一種流媒體加密的裝置,其特征在于,所述裝置包括,內(nèi)容密鑰生成單元,用于把碼流切分成多個(gè)片段,根據(jù)片段的序號(hào)生成片段的內(nèi)容密鑰,所述片段的序號(hào)包括所述片段的時(shí)間段序號(hào)和所述片段的質(zhì)量等級(jí)序號(hào);內(nèi)容密鑰加密單元,用于根據(jù)服務(wù)模式和初始服務(wù)密碼生成服務(wù)密鑰,把所述服務(wù)密鑰分配給所述碼流的各片段,利用所述服務(wù)密鑰對(duì)所述服務(wù)密鑰分配給的片段的內(nèi)容密鑰加密;數(shù)據(jù)加密單元,用于根據(jù)所述片段的內(nèi)容密鑰、密碼初始值對(duì)所述片段的數(shù)據(jù)加密。
12.根據(jù)權(quán)利要求11所述的裝置,其特征在于,所述內(nèi)容密鑰生成單元用于根據(jù)所述片段的質(zhì)量等級(jí)序號(hào)和時(shí)間段序號(hào)生成片段索引,根據(jù)密碼算法由所述片段索引和初始內(nèi)容密鑰生成片段 內(nèi)容密鑰,所述生成的片段索引滿足條件:不同所述片段對(duì)應(yīng)的片段索引互不相同。
13.根據(jù)權(quán)利要求11至12任一項(xiàng)所述的裝置,其特征在于,所述內(nèi)容密鑰加密單元,用于根據(jù)所述服務(wù)模式確定碼流的服務(wù)密鑰數(shù)目,根據(jù)初始服務(wù)密鑰生成所述服務(wù)密鑰數(shù)目的服務(wù)密鑰,把所述服務(wù)密鑰數(shù)目的服務(wù)密鑰分配給所述碼流的各片段。
14.根據(jù)權(quán)利要求11至13任一項(xiàng)所述的裝置,其特征在于,所述裝置還包括打包單元,用于在所述加密單元根據(jù)所述片段的內(nèi)容密鑰、密碼初始值對(duì)所述片段的數(shù)據(jù)加密之后,把加密后的片段數(shù)據(jù)打包在片段的數(shù)據(jù)塊中;把密碼初始值、加密后的內(nèi)容密鑰、片段長(zhǎng)度和加密的片段長(zhǎng)度打包在所述片段的頭部,所述內(nèi)容密鑰、所述密碼初始值用于對(duì)所述片段的數(shù)據(jù)加密。
15.根據(jù)權(quán)利要求11至13任一項(xiàng)所述的裝置,其特征在于,所述裝置還包括:權(quán)限標(biāo)識(shí)生成單元,用于生成權(quán)限標(biāo)識(shí),所述權(quán)限標(biāo)識(shí)包含加密位、權(quán)限標(biāo)識(shí)位,所述加密位用于存儲(chǔ)片段是否加密的信息,所述權(quán)限標(biāo)識(shí)位用于存儲(chǔ)權(quán)限的標(biāo)識(shí)信息。
16.根據(jù)權(quán)利要求15所述的裝置,其特征在于所述裝置還包括打包單元,用于在所述加密單元根據(jù)所述片段的內(nèi)容密鑰、密碼初始值對(duì)所述片段的數(shù)據(jù)加密之后,把加密后的片段數(shù)據(jù)、不加密的片段數(shù)據(jù)打包在片段的數(shù)據(jù)塊中;把密碼初始值、加密后的內(nèi)容密鑰、所述權(quán)限標(biāo)識(shí)、片段長(zhǎng)度和加密的片段長(zhǎng)度打包在所述片段的頭部,所述內(nèi)容密鑰、所述密碼初始值用于對(duì)所述片段的數(shù)據(jù)加密。
17.一種流媒體的打包裝置,其特征在于,所述裝置包括:片段數(shù)據(jù)塊打包單元,用于把加密后的片段數(shù)據(jù)、不加密的片段數(shù)據(jù)打包在片段的數(shù)據(jù)塊中;片段頭部打包單元,用于把密碼初始值、加密后的內(nèi)容密鑰、片段長(zhǎng)度和加密的片段長(zhǎng)度打包在所述片段的頭部,所述內(nèi)容密鑰、所述密碼初始值用于對(duì)所述片段的數(shù)據(jù)加密;發(fā)送單元,用于把所述片段的數(shù)據(jù)塊和所述片段的頭部打包發(fā)送。
18.根據(jù)權(quán)利要求17所述的裝置,其特征在于,所述片段頭部打包單元還用于,把權(quán)限標(biāo)識(shí)打包在所述片段的頭部,所述權(quán)限標(biāo)識(shí)用于存儲(chǔ)片段是否加密的信息和所述權(quán)限的標(biāo)識(shí)息O
19.一種流媒體的解密裝置,其特征在于,所述裝置包括:片段頭部解密單元,用于從接收碼流的片段頭部提取出權(quán)限標(biāo)識(shí)和密碼初始值,所述權(quán)限標(biāo)識(shí)包含加密位、權(quán)限標(biāo)識(shí)位,若所述權(quán)限標(biāo)識(shí)的加密位表示所述片段已加密,根據(jù)所述權(quán)限標(biāo)識(shí)位查找或申請(qǐng)權(quán)限,所述權(quán)限包含服務(wù)密鑰,從所述片段頭部提取出加密后的內(nèi)容密鑰,根據(jù)所述服務(wù)密鑰解密加密后的內(nèi)容密鑰,得到內(nèi)容密鑰;片段數(shù)據(jù)解密單元,用于根據(jù)所述內(nèi)容密鑰和所述密碼初始值對(duì)所述片段的加密數(shù)據(jù)解密。
20.根據(jù)權(quán)利要求15所述的裝置,其特征在于,所述裝置還包括,片段長(zhǎng)度判斷單元,用于從接收碼流的片段頭部提取出加密的片段長(zhǎng)度信息,若接收的數(shù)據(jù)不超過加密的片段長(zhǎng)度,根據(jù)所述片段頭部解密單元得到的所述內(nèi)容密鑰和所述密碼初始值對(duì)所述片段的加密數(shù)據(jù)解 密。
全文摘要
本發(fā)明實(shí)施例提供了一種流媒體加密的方法,所述方法包括把碼流切分成多個(gè)片段,根據(jù)片段的序號(hào)生成所述片段的內(nèi)容密鑰,所述片段的序號(hào)包括所述片段的時(shí)間段序號(hào)和所述片段的質(zhì)量等級(jí)序號(hào);根據(jù)所述碼流的服務(wù)模式和初始服務(wù)密碼生成服務(wù)密鑰,把所述服務(wù)密鑰分配給所述碼流的各片段,利用所述服務(wù)密鑰對(duì)所述服務(wù)密鑰分配給的片段的內(nèi)容密鑰加密;根據(jù)所述片段的內(nèi)容密鑰、密碼初始值對(duì)所述片段的數(shù)據(jù)加密,所述初始服務(wù)密碼、所述密碼初始值事先獲得。本發(fā)明實(shí)施例把流媒體切分成多個(gè)片段,通過給多個(gè)片段加密和打包,以支持不同質(zhì)量不同格式的碼流的加密和打包。
文檔編號(hào)H04L9/06GK103248474SQ201210022359
公開日2013年8月14日 申請(qǐng)日期2012年2月1日 優(yōu)先權(quán)日2012年2月1日
發(fā)明者廉士國(guó), 王新, 劉永亮 申請(qǐng)人:華為技術(shù)有限公司