專利名稱:一種對(duì)數(shù)字電視節(jié)目傳輸流進(jìn)行簽名的方法和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及數(shù)據(jù)處理技術(shù),特別涉及一種對(duì)數(shù)字電視節(jié)目傳輸流進(jìn)行簽名的方法和裝置。
背景技術(shù):
隨著科學(xué)技術(shù)的發(fā)展,數(shù)字電視技術(shù)應(yīng)運(yùn)而生。由于具有傳輸質(zhì)量高、范圍廣、速度快等諸多優(yōu)勢(shì),因此數(shù)字電視技術(shù)必將逐漸取代傳統(tǒng)的模擬電視技術(shù),擁有著廣闊的市場(chǎng)前景。圖I為現(xiàn)有數(shù)字電視廣播系統(tǒng)的組成結(jié)構(gòu)示意圖。如圖I所示,包括數(shù)字電視節(jié)目提供子系統(tǒng)、數(shù)字電視廣播前端子系統(tǒng)、數(shù)字電視廣播網(wǎng)絡(luò)子系統(tǒng)以及數(shù)字電視終端播放子系統(tǒng)。其中,數(shù)字電視節(jié)目提供子系統(tǒng)向數(shù)字電視廣播前端子系統(tǒng)提供數(shù)字電視節(jié)目傳輸流;數(shù)字電視廣播前端子系統(tǒng)將多個(gè)傳輸流復(fù)用后經(jīng)數(shù)字電視廣播網(wǎng)絡(luò)子系統(tǒng)廣播至數(shù)字電視終端播放子系統(tǒng);數(shù)字電視廣播網(wǎng)絡(luò)子系統(tǒng)可通過(guò)衛(wèi)星傳輸、有線傳輸或地面廣播等方式將傳輸流廣播至數(shù)字電視終端播放子系統(tǒng);數(shù)字電視終端播放子系統(tǒng)(即數(shù)字電視一體機(jī)或帶有數(shù)字電視機(jī)頂盒的電視接收機(jī))播放用戶選擇收看的節(jié)目。在實(shí)際應(yīng)用中,為了防止節(jié)目提供商提供非法節(jié)目,以及防止非法人員通過(guò)控制衛(wèi)星傳輸、有線傳輸或地面廣播等插入非法節(jié)目,通常會(huì)對(duì)傳輸流進(jìn)行簽名處理。為此,需要對(duì)原有數(shù)字電視廣播系統(tǒng)進(jìn)行一定的改進(jìn)。圖2為現(xiàn)有改進(jìn)后的數(shù)字電視廣播系統(tǒng)的組成結(jié)構(gòu)示意圖。如圖2所示,包括數(shù)字證書頒發(fā)子系統(tǒng)、數(shù)字電視節(jié)目提供子系統(tǒng)、數(shù)字電視廣播前端子系統(tǒng)、數(shù)字電視廣播網(wǎng)絡(luò)子系統(tǒng)以及數(shù)字電視終端播放子系統(tǒng)。節(jié)目提供商對(duì)其提供的傳輸流進(jìn)行簽名,然后由數(shù)字電視廣播前端子系統(tǒng)經(jīng)數(shù)字電視廣播網(wǎng)絡(luò)子系統(tǒng)廣播至廣大數(shù)字電視用戶。終端以數(shù)字證書頒發(fā)子系統(tǒng)為信任起點(diǎn),驗(yàn)證接收到的傳輸流是否含有合法的簽名,從而有效防止非法人員插入非法節(jié)目等。另外,如果節(jié)目提供商制作非法節(jié)目并進(jìn)行簽名,可利用攜帶在傳輸流中的數(shù)字證書輕易地進(jìn)行識(shí)別和跟蹤,從而依法追究其法律責(zé)任,從源頭上保證節(jié)目的合法性。現(xiàn)有技術(shù)中,通常采用以下簽名方式對(duì)傳輸流進(jìn)行分段,分段方式為每隔預(yù)定數(shù)目的基本包則進(jìn)行一次分段,分別對(duì)每段傳輸流中的基本包進(jìn)行哈希運(yùn)算,并根據(jù)哈希結(jié)果進(jìn)一步計(jì)算出每段傳輸流的簽名結(jié)果,之后,將簽名結(jié)果插入到傳輸流中,如將每段傳輸流對(duì)應(yīng)的簽名結(jié)果插入到該段傳輸流之后。但是,這種方式在實(shí)際應(yīng)用中會(huì)存在一定的問(wèn)題在每段傳輸流傳輸完畢之后,需要等待針對(duì)該段傳輸流的簽名運(yùn)算完成并將簽名結(jié)果打包之后,才能開始下一段傳輸流的傳輸以及將打包好的簽名結(jié)果進(jìn)行發(fā)送等,而簽名運(yùn)算通常比較耗時(shí),那么就會(huì)導(dǎo)致傳輸流的傳輸出現(xiàn)中斷,即導(dǎo)致傳輸流間歇性傳輸;對(duì)于平均傳輸速率較低的傳輸流,由于傳輸一段傳輸流的時(shí)間通常遠(yuǎn)大于簽名運(yùn)算所用時(shí)間,因此不會(huì)有太大問(wèn)題,但是,對(duì)于平均傳輸速率較高的傳輸流,由于傳輸一段傳輸流的時(shí)間比較短,即可能與簽名運(yùn)算所用時(shí)間接近,因此就會(huì)導(dǎo)致中斷比較明顯,從而影響傳輸流的正常播放,如導(dǎo)致終端播放停頓等。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明提供了一種對(duì)數(shù)字電視節(jié)目傳輸流進(jìn)行簽名的方法和裝置,能夠避免傳輸出現(xiàn)中斷。為達(dá)到上述目的,本發(fā)明的技術(shù)方案是這樣實(shí)現(xiàn)的一種對(duì)數(shù)字電視節(jié)目傳輸流進(jìn)行簽名的方法,所述傳輸流中攜帶有一路以上節(jié)目,針對(duì)待簽名的每路節(jié)目X,分別進(jìn)行以下處理A、確定同步開始標(biāo)記的位置,并在所述傳輸流中的相應(yīng)位置插入同步開始標(biāo)記;B、將之后接收到的每個(gè)傳輸流包進(jìn)行發(fā)送,并將每個(gè)屬于節(jié)目X的基本包進(jìn)行哈希運(yùn)算;確定是否滿足初始段結(jié)束條件,如果是,則在所述傳輸流中插入同步結(jié)束標(biāo)記,結(jié)束哈希運(yùn)算并計(jì)算哈希結(jié)果,然后執(zhí)行步驟C,否則,重復(fù)執(zhí)行步驟B ;C、在所述傳輸流中插入同步開始標(biāo)記,開始一個(gè)新的分段;D、將之后接收到的每個(gè)傳輸流包進(jìn)行發(fā)送,并將每個(gè)屬于節(jié)目X的基本包進(jìn)行哈希運(yùn)算,同時(shí),根據(jù)前一段傳輸流對(duì)應(yīng)的哈希結(jié)果對(duì)前一段傳輸流進(jìn)行簽名運(yùn)算;如果簽名運(yùn)算完成,則在所述傳輸流中插入同步結(jié)束標(biāo)記,然后執(zhí)行步驟E ;否貝U,重復(fù)執(zhí)行步驟D ;E、將簽名結(jié)果插入到所述傳輸流中,并重復(fù)執(zhí)行步驟C ;其中,上述過(guò)程中,將驗(yàn)證簽名的依賴信息按預(yù)定策略間隔性地插入到所述傳輸流中進(jìn)行發(fā)送。一種對(duì)數(shù)字電視節(jié)目傳輸流進(jìn)行簽名的裝置,所述傳輸流中攜帶有一路以上節(jié)目,所述裝置中包括N個(gè)簽名模塊,N的取值與待簽名的節(jié)目數(shù)相同,各簽名模塊依次對(duì)自身對(duì)應(yīng)的節(jié)目進(jìn)行簽名處理;每個(gè)簽名模塊中包括第一處理單元,用于確定同步開始標(biāo)記的位置,并在所述傳輸流中的相應(yīng)位置插入同步開始標(biāo)記,然后通知第二處理單元執(zhí)行自身功能;第二處理單元,用于將之后接收到的每個(gè)傳輸流包進(jìn)行發(fā)送,并將每個(gè)屬于節(jié)目X的基本包進(jìn)行哈希運(yùn)算;確定是否滿足初始段結(jié)束條件,如果 是,則在所述傳輸流中插入同步結(jié)束標(biāo)記,結(jié)束哈希運(yùn)算并計(jì)算哈希結(jié)果,并通知第三處理單元執(zhí)行自身功能,否則,重復(fù)執(zhí)行自身功倉(cāng)泛;第三處理單元,用于在所述傳輸流中插入同步開始標(biāo)記,開始一個(gè)新的分段,并通知第四處理單元執(zhí)行自身功能;第四處理單元,用于將之后接收到的每個(gè)傳輸流包進(jìn)行發(fā)送,并將每個(gè)屬于節(jié)目X的基本包進(jìn)行哈希運(yùn)算,同時(shí),根據(jù)前一段傳輸流對(duì)應(yīng)的哈希結(jié)果對(duì)前一段傳輸流進(jìn)行簽名運(yùn)算;
如果簽名運(yùn)算完成,則在所述傳輸流中插入同步結(jié)束標(biāo)記,并通知第五處理單元執(zhí)行自身功能,否則,重復(fù)執(zhí)行自身功能;第五處理單元,用于將簽名結(jié)果插入到所述傳輸流中,并通知第三處理單元重復(fù)執(zhí)行自身功能;第六處理單元,用于將 驗(yàn)證簽名的依賴信息按預(yù)定策略間隔性地插入到所述傳輸流中進(jìn)行發(fā)送??梢?,采用本發(fā)明所述方案,可根據(jù)簽名運(yùn)算的速度動(dòng)態(tài)調(diào)整每個(gè)分段的大小,并將哈希運(yùn)算與簽名運(yùn)算分離,即在對(duì)當(dāng)前段進(jìn)行分段,并對(duì)當(dāng)前段進(jìn)行哈希運(yùn)算的同時(shí),對(duì)前一段進(jìn)行簽名運(yùn)算,從而盡可能地避免了傳輸出現(xiàn)中斷。
圖I為現(xiàn)有數(shù)字電視廣播系統(tǒng)的組成結(jié)構(gòu)示意圖。圖2為現(xiàn)有改進(jìn)后的數(shù)字電視廣播系統(tǒng)的組成結(jié)構(gòu)示意圖。圖3為現(xiàn)有數(shù)字電視節(jié)目傳輸流的結(jié)構(gòu)示意圖。圖4為本發(fā)明對(duì)數(shù)字電視節(jié)目傳輸流進(jìn)行簽名的方法實(shí)施例的流程圖。圖5為本發(fā)明所述安全信息包的結(jié)構(gòu)示意圖。
具體實(shí)施例方式針對(duì)現(xiàn)有技術(shù)中存在的問(wèn)題,本發(fā)明中提出一種改進(jìn)后的對(duì)數(shù)字電視節(jié)目傳輸流進(jìn)行簽名的方案,即一種柔性實(shí)時(shí)簽名方案。在介紹本發(fā)明所述方案之前,首先對(duì)一些相關(guān)現(xiàn)有技術(shù)進(jìn)行說(shuō)明。數(shù)字電視節(jié)目傳輸流由一系列188字節(jié)大小的傳輸流包組成。傳輸流包可以分為以下類型基本包、空包和信息包。其中,基本包是指各路節(jié)目的音頻包、視頻包和數(shù)據(jù)包;空包中不攜帶任何信息;信息包是指攜帶有節(jié)目關(guān)聯(lián)表(PAT)、節(jié)目映射表(PMT)等傳輸流中各包的關(guān)聯(lián)信息的包。每個(gè)傳輸流包中的前8個(gè)bit為同步字段,取值為01000111,另外,在每個(gè)傳輸流包中均有一個(gè)包標(biāo)識(shí)(PID)字段,用于標(biāo)識(shí)傳輸流包的類型。其中,空包和攜帶有PAT信息的信息包的PID是固定的空包的PID為8191,攜帶有PAT信息的信息包的PID為0 ;每路節(jié)目的同一路音頻包的PID都相同,同樣,每路節(jié)目的同一路視頻包的PID也都相同,每路節(jié)目的同一路數(shù)據(jù)包的PID也都相同。圖3為現(xiàn)有數(shù)字電視節(jié)目傳輸流的結(jié)構(gòu)示意圖。如圖3所示,攜帶有PAT信息的信息包中記錄了當(dāng)前傳輸流中共攜帶有哪些路節(jié)目,以及每路節(jié)目對(duì)應(yīng)的攜帶有PMT信息的信息包的PID,因此,可以根據(jù)攜帶有PAT信息的信息包找到所有攜帶有PMT信息的信息包;每個(gè)攜帶有PMT信息的信息包中均記錄了對(duì)應(yīng)的節(jié)目中的每路音頻包的PID、每路視頻包的PID,以及每路數(shù)據(jù)包的PID,因此,可以根據(jù)攜帶有PMT信息的信息包找到每路節(jié)目的所有音頻包、視頻包和數(shù)據(jù)包。在實(shí)際應(yīng)用中,信息包會(huì)在傳輸流中間隔性地出現(xiàn)。比如假設(shè)傳輸流中共攜帶有2路節(jié)目,分別為節(jié)目I和節(jié)目3,那么,每隔固定個(gè)數(shù)的傳輸流包,則可出現(xiàn)一次攜帶有PAT信息的信息包、節(jié)目I對(duì)應(yīng)的攜帶有PMT信息的信息包以及節(jié)目3對(duì)應(yīng)的攜帶有PMT信息的信息包。
基于上述介紹,圖4為本發(fā)明對(duì)數(shù)字電視節(jié)目傳輸流進(jìn)行簽名的方法實(shí)施例的流程圖。所述傳輸流中攜帶有一路以上節(jié)目,針對(duì)待簽名的每路節(jié)目X(用節(jié)目X來(lái)代表任意一路待簽名的節(jié)目),可分別按照?qǐng)D4所示流程進(jìn)行處理。步驟41 :確定同步開始標(biāo)記的位置,并在傳輸流中的相應(yīng)位置插入同步開始臺(tái)標(biāo)記。步驟42 :將之后接收到的每個(gè)傳輸流包進(jìn)行發(fā)送,并將每個(gè)屬于節(jié)目X的基本包進(jìn)行哈希運(yùn)算。將每個(gè)屬于節(jié)目X的基本包進(jìn)行哈希運(yùn)算是指,在每個(gè)分段中,將所有屬于節(jié)目X的基本包進(jìn)行哈希運(yùn)算,并得到一個(gè)哈希結(jié)果。步驟43 :確定是否滿足初始段結(jié)束條件,如果是,則執(zhí)行步驟44,否則,重復(fù)執(zhí)行步驟42。步驟44 :在傳輸流中插入同步結(jié)束標(biāo)記,結(jié)束哈希運(yùn)算并計(jì)算哈希結(jié)果。一旦滿足初始段結(jié)束條件,則可在已發(fā)送的傳輸流包之后插入一個(gè)同步結(jié)束標(biāo)記。步驟45 :在傳輸流中插入同步開始標(biāo)記,開始一個(gè)新的分段。新的同步開始標(biāo)記可與前一個(gè)分段的同步結(jié)束標(biāo)記相鄰。步驟46 :將之后接收到的每個(gè)傳輸流包進(jìn)行發(fā)送,并將每個(gè)屬于節(jié)目X的基本包進(jìn)行哈希運(yùn)算,同時(shí),根據(jù)前一段傳輸流對(duì)應(yīng)的哈希結(jié)果對(duì)前一段傳輸流進(jìn)行簽名運(yùn)算。步驟47 :確定簽名運(yùn)算是否完成,如果是,則執(zhí)行步驟48,否則,重復(fù)執(zhí)行步驟46。步驟48 :在傳輸流中插入同步結(jié)束標(biāo)記。步驟49 :將簽名結(jié)果插入到傳輸流中,然后重復(fù)執(zhí)行步驟45。步驟46 47中,在簽名運(yùn)算完成之前,如果達(dá)到哈希運(yùn)算分段閾值,則可在傳輸流中插入同步結(jié)束標(biāo)記,并將之后接收到的每個(gè)傳輸流包進(jìn)行發(fā)送,直至簽名運(yùn)算完成,然后執(zhí)行步驟49。另外,圖4所示過(guò)程中,還需要將驗(yàn)證簽名的依賴信息按預(yù)定策略間隔性地插入到傳輸流中進(jìn)行發(fā)送,所述驗(yàn)證簽名的依賴信息包括簽名私鑰對(duì)應(yīng)的公鑰信息,簽名私鑰對(duì)應(yīng)的數(shù)字證書等;所述預(yù)定策略可為間隔預(yù)定時(shí)長(zhǎng),間隔固定數(shù)目的分段,間隔固定數(shù)目的傳輸流包等。再有,在實(shí)際應(yīng)用中,可將同步開始標(biāo)記封裝成傳輸流包,插入到傳輸流中,同樣,將同步結(jié)束標(biāo)記封裝成傳輸流包,插入到傳輸流中,將簽名結(jié)果封裝成傳輸流包,插入到傳輸流中,將驗(yàn)證簽名的依賴信息封裝成傳輸流包,插入到傳輸流中。下面對(duì)圖4所示各步驟分別進(jìn)行詳細(xì)說(shuō)明。一 )步驟 41首先,根據(jù)PID固定取值為0的特點(diǎn),從傳輸流中找到第一個(gè)攜帶有PAT信息的信息包,并從中獲取到屬于節(jié)目X的(即節(jié)目X對(duì)應(yīng)的)攜帶有PMT信息的信息包的PID ;BP針對(duì)接收到的每個(gè)傳輸流包,分別查看其PID是否取值為0,如果否,則將該傳輸流包丟棄,如果是,則從中獲取到屬于節(jié)目X的攜帶有PMT信息的信息包的PID,并將該傳輸流包發(fā)送出去。
之后,根據(jù)獲取到的PID從傳輸流中找到第一個(gè)屬于節(jié)目X的攜帶有PMT信息的信息包,并將所找到的攜帶有PMT信息的信息包之后的位置作為同步開始標(biāo)記的位置;即針對(duì)在找到的第一個(gè)攜帶有PAT信息的信息包之后接收到的每個(gè)傳輸流包,分別查看其PID是否為獲取到的PID,如果否,則將該傳輸流包丟棄,如果是,則將其之后的位置作為同步開始標(biāo)記的位置,并將同步開始標(biāo)記封裝成傳輸流包,插入到相應(yīng)位置。
另外,還需要對(duì)所找到的第一個(gè)屬于節(jié)目X的攜帶有PMT信息的信息包進(jìn)行修改,即在其中增加一個(gè)記錄項(xiàng),用于記錄安全信息包對(duì)應(yīng)的PID。在本發(fā)明所述方案中,將攜帶有同步開始標(biāo)記、同步結(jié)束標(biāo)記、簽名結(jié)果以及驗(yàn)證簽名的依賴信息的傳輸流包統(tǒng)稱為安全信息包。安全信息包對(duì)應(yīng)的PID的具體取值可根據(jù)實(shí)際情況而定。二 )步驟 42 44依據(jù)之前的介紹可知,可根據(jù)所找到的第一個(gè)屬于節(jié)目X的攜帶有PMT信息的信息包獲知屬于節(jié)目X的所有基本包的PID,并且,屬于節(jié)目X的攜帶有PMT信息的信息包的PID是已知的。那么,可從同步開始標(biāo)記開始,針對(duì)接收到的每個(gè)傳輸流包,分別根據(jù)其PID確定其是否為屬于節(jié)目X的基本包或攜帶有PMT信息的信息包;如果否,則可將該傳輸流包直接發(fā)送出去,如果為屬于節(jié)目X的基本包,則需要將其進(jìn)行哈希運(yùn)算,并將該傳輸流包發(fā)送出去,如果為屬于節(jié)目X的攜帶有PMT信息的信息包,則需要對(duì)其進(jìn)行修改,即在其中增加一個(gè)記錄項(xiàng),用于記錄安全信息包對(duì)應(yīng)的PID,并將修改后的傳輸流包發(fā)送出去。另外,實(shí)時(shí)確定是否滿足初始段結(jié)束條件,如果是,則在傳輸流中插入同步結(jié)束標(biāo)記,否則,重復(fù)步驟42。滿足初始段結(jié)束條件可以是指從插入同步開始標(biāo)記開始,已有預(yù)定數(shù)目的基本包經(jīng)過(guò)哈希運(yùn)算,或者,也可以是指從插入同步開始標(biāo)記開始,已經(jīng)經(jīng)過(guò)了預(yù)定時(shí)長(zhǎng)等。三)步驟45 49在傳輸流中插入同步開始標(biāo)記,開始一個(gè)新的分段之后,針對(duì)隨后接收到的每個(gè)傳輸流包,分別根據(jù)其PID確定其是否為屬于節(jié)目X的基本包或攜帶有PMT信息的信息包;如果否,則將該傳輸流包直接發(fā)送出去,如果為屬于節(jié)目X的基本包,則將其進(jìn)行哈希運(yùn)算,并將該傳輸流包發(fā)送出去,如果為屬于節(jié)目X的攜帶有PMT信息的信息包,則對(duì)其進(jìn)行修改,并將修改后的傳輸流包發(fā)送出去。在進(jìn)行上述處理的同時(shí),還需要根據(jù)前一段傳輸流對(duì)應(yīng)的哈希結(jié)果對(duì)前一段傳輸流進(jìn)行簽名運(yùn)算,如何進(jìn)行簽名運(yùn)算為現(xiàn)有技術(shù)。如果簽名運(yùn)算完成,則在傳輸流中插入同步結(jié)束標(biāo)記,然后執(zhí)行步驟49。另外,在簽名運(yùn)算完成之前,如果達(dá)到哈希運(yùn)算分段閾值,則在傳輸流中插入同步結(jié)束標(biāo)記,并針對(duì)之后接收到的每個(gè)傳輸流包,分別根據(jù)其PID確定其是否為屬于節(jié)目X的攜帶有PMT信息的信息包;如果否,則直接發(fā)送,如果是,則在其中增加一個(gè)記錄項(xiàng),用于記錄安全信息包對(duì)應(yīng)的PID,直至簽名運(yùn)算完成。上述過(guò)程中,傳輸流包或直接發(fā)送出去,或經(jīng)過(guò)哈希運(yùn)算后發(fā)送出去,或經(jīng)修改后發(fā)送出去,都不會(huì)對(duì)傳輸流的連貫傳輸造成影響。另外,可以看出,安全信息包可以作為節(jié)目X的一路數(shù)據(jù)流插入到傳輸流中,和節(jié)目X的音頻包、視頻包以及數(shù)據(jù)包一起組成節(jié)目X,通過(guò)修改節(jié)目X對(duì)應(yīng)的攜帶有PMT信息的信息包,可以將安全信息包的PID記錄到其中,當(dāng)進(jìn)行節(jié)目播放時(shí),終端可以根據(jù)攜帶有PMT信息的信息包找到安全信息包的PID,進(jìn)而找到安全信息包。本發(fā)明所述安全信息包可采用標(biāo)準(zhǔn)的傳輸流包格式,包長(zhǎng)度為188字節(jié),由包頭(Head)和有效載荷(Payload)兩部分組成。如圖5所示,圖5為本發(fā)明所述安全信息包的結(jié)構(gòu)示意圖。Head部分的結(jié)構(gòu)和內(nèi)容均與標(biāo)準(zhǔn)的傳輸流包的Head部分相同,Palyload部分的結(jié)構(gòu)和內(nèi)容為本發(fā)明中所提出的。其中,Type字段,用于標(biāo)識(shí)安全信息包中攜帶的信息是同步開始標(biāo)記或同步結(jié)束標(biāo)記,還是簽名結(jié)果,還是驗(yàn)證簽名的依賴信息;比如,當(dāng)該字段的取值為0x02時(shí),表示攜帶的是同步開始標(biāo)記或同步結(jié)束標(biāo)記,當(dāng)該字段的取值為0x01時(shí),表示攜帶的是簽名結(jié)果,當(dāng)該字段的取值為0x00時(shí),表示攜帶的是驗(yàn)證簽名的依賴信息,其它值保留。Content字段,用于攜帶具體的信息,即同步開始標(biāo)記、同步結(jié)束標(biāo)記、簽名結(jié)果或驗(yàn)證簽名的依賴信息,并可利用其中的第一個(gè)字節(jié)的取值不同來(lái)區(qū)分所攜帶的信息是同步開始標(biāo)記還是同步結(jié)束標(biāo)記;比如,當(dāng)?shù)谝粋€(gè)字節(jié)的取值為0x00時(shí),表示攜帶的是同步開始包,當(dāng)?shù)谝粋€(gè)字節(jié)的取值為0x01時(shí),表示攜帶的是同步結(jié)束包。Total Pkt字段,用于標(biāo)識(shí)為完整傳輸Content字段中所攜帶的信息需要占用的安全信息包數(shù);對(duì)于簽名結(jié)果或驗(yàn)證簽名的依賴信息,如果其比較大的話,用一個(gè)安全信息包可能攜帶不完,那么就需要用到多個(gè)安全信息包,通常,同步開始標(biāo)記和同步結(jié)束標(biāo)記只需用到一個(gè)安全信息包。Cur Pkt字段,用于標(biāo)識(shí)所在安全信息包在為完整傳輸Content字段中所攜帶的信息所需占用的所有安全信息包中的編號(hào),通過(guò)比較該編號(hào)和Total Pkt字段可以知道Content字段中所攜帶的信息是否已被完整傳輸。Length字段,用于標(biāo)識(shí)Content字段所占用的字節(jié)數(shù)。Padding Bytes字段,用于進(jìn)行比特填充,其中的各位可均設(shè)置為1,從而使得安全信息包的長(zhǎng)度正好為188字節(jié)。Serial Number字段和CRC32字段的作用均為本領(lǐng)域公知。至此,即完成了關(guān)于本發(fā)明方法實(shí)施例的介紹。需要說(shuō)明的是,上述實(shí)施例僅用于舉例說(shuō)明,并不用于限定本發(fā)明的技術(shù)方案,比如,也可以采用其它形式的同步開始標(biāo)記和同步結(jié)束標(biāo)記,甚至可以使用攜帶有簽名結(jié)果的安全信息包來(lái)兼容標(biāo)記功能等。本發(fā)明同時(shí)公開了一種對(duì)數(shù)字電視節(jié)目傳輸流進(jìn)行簽名的裝置,所述傳輸流中攜帶有一路以上節(jié)目,所述裝置中、包括N個(gè)簽名模塊,N的取值與待簽名的節(jié)目數(shù)相同,各簽名模塊依次對(duì)自身對(duì)應(yīng)的節(jié)目進(jìn)行簽名處理;每個(gè)簽名模塊中包括第一處理單元,用于確定同步開始標(biāo)記的位置,并在傳輸流中的相應(yīng)位置插入同步開始標(biāo)記,然后通知第二處理單元執(zhí)行自身功能;第二處理單元,用于將之后接收到的每個(gè)傳輸流包進(jìn)行發(fā)送,并將每個(gè)屬于節(jié)目X的基本包進(jìn)行哈希運(yùn)算;確定是否丨兩足初始段結(jié)束條件,如果是,則在傳輸流中插入冋步結(jié)束標(biāo)記,結(jié)束哈希運(yùn)算并計(jì)算哈希結(jié)果,并通知第三處理單元執(zhí)行自身功能,否則,重復(fù)執(zhí)行自身功能;第三處理單元,用于在傳輸流中插入同步開始標(biāo)記,開始一個(gè)新的分段,并通知第四處理單元執(zhí)行自身功能;第四處理單元,用于將之后接收到的每個(gè)傳輸流包進(jìn)行發(fā)送,并將每個(gè)屬于節(jié)目X的基本包進(jìn)行哈希運(yùn)算,同時(shí),根據(jù)前一段傳輸流對(duì)應(yīng)的哈希結(jié)果對(duì)前一段傳輸流進(jìn)行簽名運(yùn)算;如果簽名運(yùn)算完成,則在傳輸流中插入同步結(jié)束標(biāo)記,并通知第五處理單元執(zhí)行自身功能,否則,重復(fù)執(zhí)行自身功能;第五處理單元,用于將簽名結(jié)果插入到傳輸流中,并通知第三處理單元重復(fù)執(zhí)行自身功能;第六處理單元,用于將驗(yàn)證簽名的依賴信息按預(yù)定策略間隔性地插入到傳輸流中進(jìn)行發(fā)送。第四處理單元可進(jìn)一步用于,在簽名運(yùn)算完成之前,如果達(dá)到哈希運(yùn)算分段閾值,則在傳輸流中插入同步結(jié)束標(biāo)記,并將之后接收到的每個(gè)傳輸流包進(jìn)行發(fā)送,直至簽名運(yùn)算完成,然后通知第五處理單元執(zhí)行自身功能。哈希運(yùn)算分段閾值通常是指,根據(jù)信道誤碼率以及分段可能產(chǎn)生誤碼的容忍概率計(jì)算出的最大分段長(zhǎng)度。另外,第一處理單元中可具體包括第一處理子單元,用于根據(jù)包標(biāo)識(shí)PID固定取值為0的特點(diǎn)從傳輸流中找到第一個(gè)攜帶有節(jié)目關(guān)聯(lián)表PAT信息的信息包,并從中獲取到屬于節(jié)目X的攜帶有節(jié)目映射表PMT信息的信息包的PID ;根據(jù)獲取到的PID從傳輸流中找到第一個(gè)屬于節(jié)目X的攜帶有PMT信息的信息包;將所找到的攜帶有PMT信息的信息包之后的位置作為同步開始標(biāo)記的位置;第二處理子單元,用于在傳輸流中的相應(yīng)位置插入同步開始標(biāo)記。具體地,各處理單元將同步開始標(biāo)記、同步結(jié)束標(biāo)記、簽名結(jié)果和驗(yàn)證簽名的依賴信息封裝成傳輸流包,插入到傳輸流中。第一處理子單元可進(jìn)一步用于,從所找到的屬于節(jié)目X的攜帶有PMT信息的信息包中獲取到屬于節(jié)目X的基本包的PID,將屬于節(jié)目X的攜帶有PMT信息的信息包的PID以及屬于節(jié)目X的基本包的PID發(fā)送給第二處理單元和第四處理單元;并在所找到的攜帶有PMT信息的信息包中增加一個(gè)記錄項(xiàng),用于記錄安全信息包對(duì)應(yīng)的PID,其中,將攜帶有同步開始標(biāo)記、同步結(jié)束標(biāo)記、簽名結(jié)果以及驗(yàn)證簽名的依賴信息的傳輸流包統(tǒng)稱為安全信息包;第二處理單元可進(jìn)一步用于,針對(duì)接收到的每個(gè)傳輸流包,分別根據(jù)其PID確定其是否為屬于節(jié)目X的基本包或攜帶有PMT信息的信息包;如果否,則直接發(fā)送,如果為屬于節(jié)目X的基本包,則將其進(jìn)行哈希運(yùn)算,并進(jìn)行發(fā)送,如果為屬于節(jié)目X的攜帶有PMT信息的信息包,則在其中增加一個(gè)記錄項(xiàng),用于記錄安全信息包對(duì)應(yīng)的PID ;第四處理單元可進(jìn)一步用于,在未達(dá)到哈希運(yùn)算分段閾值之前,針對(duì)接收到的每個(gè)傳輸流包,分別根據(jù)其PID確定其是否為屬于節(jié)目X的基本包或攜帶有PMT信息的信息包;如果否,則直接發(fā)送,如果為屬于節(jié)目X的基本包,則將其進(jìn)行哈希運(yùn)算,并進(jìn)行發(fā)送, 如果為屬于節(jié)目X的攜帶有PMT信息的信息包,則在其中增加一個(gè)記錄項(xiàng),用于記錄安全信息包對(duì)應(yīng)的PID;當(dāng)達(dá)到哈希運(yùn)算分段閾值后,針對(duì)接收到的每個(gè)傳輸流包,分別根據(jù)其PID確定其是否為屬于節(jié)目X的攜帶有PMT信息的信息包;如果否,則直接發(fā)送,如果是,則在其中增加一個(gè)記錄項(xiàng),用于記錄安全信息包對(duì)應(yīng)的PID。另外,上述滿足初始段結(jié)束條件可包括從插入同步標(biāo)記開始,已有預(yù)定數(shù)目的基本包經(jīng)過(guò)哈希運(yùn)算;從插入同步標(biāo)記開始,已經(jīng)經(jīng)過(guò)了預(yù)定時(shí)長(zhǎng)。所述驗(yàn)證簽名的依賴信息可包括簽名私鑰對(duì)應(yīng)的公鑰信息,簽名私鑰對(duì)應(yīng)的數(shù)字證書;所述預(yù)定策略可包括間隔預(yù)定時(shí)長(zhǎng),間隔預(yù)定數(shù)目的分段,間隔預(yù)定數(shù)目的傳輸流包。上述裝置實(shí)施例的具體工作流程請(qǐng)參照前述方法實(shí)施例中的相應(yīng)說(shuō)明,不再贅述。總之,采用本發(fā)明所述方案,可根據(jù)簽名運(yùn)算的速度動(dòng)態(tài)調(diào)整每個(gè)分段的大小,并將哈希運(yùn)算與簽名運(yùn)算分離,即在對(duì)當(dāng)前段進(jìn)行分段,并對(duì)當(dāng)前段進(jìn)行哈希運(yùn)算的同時(shí),對(duì)前一段進(jìn)行簽名運(yùn)算,從而盡可能地避免了傳輸出現(xiàn)中斷,確保了傳輸流的正常播放。而且,本發(fā)明所述方案中的安全信息包自成一體,從而對(duì)傳輸流復(fù)用系統(tǒng)和條件接收系統(tǒng)透明,而且對(duì)于終端來(lái)說(shuō),如果其不能識(shí)別安全信息包,可簡(jiǎn)單地將其忽略,不會(huì)影響用戶對(duì)節(jié)目的收看,從而對(duì)用戶透明。另外,本發(fā)明所述方案不僅適用于數(shù)字電視節(jié)目傳輸流,對(duì)其它需要進(jìn)行簽名的傳輸流同樣適用。以上所述僅為本發(fā)明的較佳實(shí)施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明保護(hù)的范圍之內(nèi)。
權(quán)利要求
1.一種對(duì)數(shù)字電視節(jié)目傳輸流進(jìn)行簽名的方法,其特征在于,所述傳輸流中攜帶有一路以上節(jié)目,針對(duì)待簽名的每路節(jié)目X,分別進(jìn)行以下處理 A、確定同步開始標(biāo)記的位置,并在所述傳輸流中的相應(yīng)位置插入同步開始標(biāo)記; B、將之后接收到的每個(gè)傳輸流包進(jìn)行發(fā)送,并將每個(gè)屬于節(jié)目X的基本包進(jìn)行哈希運(yùn)算; 確定是否滿足初始段結(jié)束條件,如果是,則在所述傳輸流中插入同步結(jié)束標(biāo)記,結(jié)束哈希運(yùn)算并計(jì)算哈希結(jié)果,然后執(zhí)行步驟C,否則,重復(fù)執(zhí)行步驟B ; C、在所述傳輸流中插入同步開始標(biāo)記,開始一個(gè)新的分段; D、將之后接收到的每個(gè)傳輸流包進(jìn)行發(fā)送,并將每個(gè)屬于節(jié)目X的基本包進(jìn)行哈希運(yùn)算,同時(shí),根據(jù)前一段傳輸流對(duì)應(yīng)的哈希結(jié)果對(duì)前一段傳輸流進(jìn)行簽名運(yùn)算; 如果簽名運(yùn)算完成,則在所述傳輸流中插入同步結(jié)束標(biāo)記,然后執(zhí)行步驟E ;否則,重復(fù)執(zhí)行步驟D ; E、將簽名結(jié)果插入到所述傳輸流中,并重復(fù)執(zhí)行步驟C; 其中,上述過(guò)程中,將驗(yàn)證簽名的依賴信息按預(yù)定策略間隔性地插入到所述傳輸流中進(jìn)行發(fā)送。
2.根據(jù)權(quán)利要求I所述的方法,其特征在于,所述步驟D中進(jìn)一步包括 在簽名運(yùn)算完成之前,如果達(dá)到哈希運(yùn)算分段閾值,則在所述傳輸流中插入同步結(jié)束標(biāo)記,并將之后接收到的每個(gè)傳輸流包進(jìn)行發(fā)送,直至簽名運(yùn)算完成,然后執(zhí)行步驟E ; 所述哈希運(yùn)算分段閾值包括根據(jù)信道誤碼率以及分段可能產(chǎn)生誤碼的容忍概率計(jì)算出的最大分段長(zhǎng)度。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述確定同步開始標(biāo)記的位置包括 根據(jù)包標(biāo)識(shí)PID固定取值為O的特點(diǎn)從所述傳輸流中找到第一個(gè)攜帶有節(jié)目關(guān)聯(lián)表PAT信息的信息包,并從中獲取到屬于節(jié)目X的攜帶有節(jié)目映射表PMT信息的信息包的PID ; 根據(jù)獲取到的PID從所述傳輸流中找到第一個(gè)屬于節(jié)目X的攜帶有PMT信息的信息包; 將所找到的攜帶有PMT信息的信息包之后的位置作為同步開始標(biāo)記的位置。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于, 所述在所述傳輸流中插入同步開始標(biāo)記包括將同步開始標(biāo)記封裝成傳輸流包,插入到所述傳輸流中; 所述在所述傳輸流中插入同步結(jié)束標(biāo)記包括將同步結(jié)束標(biāo)記封裝成傳輸流包,插入到所述傳輸流中; 所述將簽名結(jié)果插入到所述傳輸流中包括將簽名結(jié)果封裝成傳輸流包,插入到所述傳輸流中; 所述將驗(yàn)證簽名的依賴信息插入到所述傳輸流中包括將驗(yàn)證簽名的依賴信息封裝成傳輸流包,插入到所述傳輸流中。
5.根據(jù)權(quán)利要求4所述的方法,其特征在于, 所述根據(jù)獲取到的PID從所述傳輸流中找到第一個(gè)屬于節(jié)目X的攜帶有PMT信息的信息包之后,進(jìn)一步包括從所找到的攜帶有PMT信息的信息包中獲取到屬于節(jié)目X的基本包的PID,并在所找到的攜帶有PMT信息的信息包中增加一個(gè)記錄項(xiàng),用于記錄安全信息包對(duì)應(yīng)的PID,其中,將攜帶有同步開始標(biāo)記、同步結(jié)束標(biāo)記、簽名結(jié)果以及驗(yàn)證簽名的依賴信息的傳輸流包統(tǒng)稱為安全信息包; 所述步驟B和步驟D中將之后接收到的每個(gè)傳輸流包進(jìn)行發(fā)送,并將每個(gè)屬于節(jié)目X的基本包進(jìn)行哈希運(yùn)算包括 針對(duì)接收到的每個(gè)傳輸流包,分別根據(jù)其PID確定其是否為屬于節(jié)目X的基本包或攜帶有PMT信息的信息包;如果否,則直接發(fā)送,如果為屬于節(jié)目X的基本包,則將其進(jìn)行哈希運(yùn)算,并進(jìn)行發(fā)送,如果為屬于節(jié)目X的攜帶有PMT信息的信息包,則在其中增加一個(gè)記錄項(xiàng),用于記錄安全信息包對(duì)應(yīng)的PID ; 所述步驟D中當(dāng)達(dá)到哈希運(yùn)算分段閾值后,將之后接收到的每個(gè)傳輸流包進(jìn)行發(fā)送包 括 針對(duì)接收到的每個(gè)傳輸流包,分別根據(jù)其PID確定其是否為屬于節(jié)目X的攜帶有PMT信息的信息包;如果否,則直接發(fā)送,如果是,則在其中增加一個(gè)記錄項(xiàng),用于記錄安全信息包對(duì)應(yīng)的PID。
6.根據(jù)權(quán)利要求1、2、3、4或5所述的方法,其特征在于,所述滿足初始段結(jié)束條件包括 從插入同步標(biāo)記開始,已有預(yù)定數(shù)目的基本包經(jīng)過(guò)哈希運(yùn)算; 從插入同步標(biāo)記開始,已經(jīng)經(jīng)過(guò)了預(yù)定時(shí)長(zhǎng)。
7.根據(jù)權(quán)利要求1、2、3、4或5所述的方法,其特征在于, 所述驗(yàn)證簽名的依賴信息包括簽名私鑰對(duì)應(yīng)的公鑰信息,簽名私鑰對(duì)應(yīng)的數(shù)字證書; 所述預(yù)定策略包括間隔預(yù)定時(shí)長(zhǎng),間隔預(yù)定數(shù)目的分段,間隔預(yù)定數(shù)目的傳輸流包。
8.—種對(duì)數(shù)字電視節(jié)目傳輸流進(jìn)行簽名的裝置,其特征在于,所述傳輸流中攜帶有一路以上節(jié)目,所述裝置中包括N個(gè)簽名模塊,N的取值與待簽名的節(jié)目數(shù)相同,各簽名模塊依次對(duì)自身對(duì)應(yīng)的節(jié)目進(jìn)行簽名處理; 每個(gè)簽名模塊中包括 第一處理單元,用于確定同步開始標(biāo)記的位置,并在所述傳輸流中的相應(yīng)位置插入同步開始標(biāo)記,然后通知第二處理單元執(zhí)行自身功能; 第二處理單元,用于將之后接收到的每個(gè)傳輸流包進(jìn)行發(fā)送,并將每個(gè)屬于節(jié)目X的基本包進(jìn)行哈希運(yùn)算; 確定是否滿足初始段結(jié)束條件,如果是,則在所述傳輸流中插入同步結(jié)束標(biāo)記,結(jié)束哈希運(yùn)算并計(jì)算哈希結(jié)果,并通知第三處理單元執(zhí)行自身功能,否則,重復(fù)執(zhí)行自身功能;第三處理單元,用于在所述傳輸流中插入同步開始標(biāo)記,開始一個(gè)新的分段,并通知第四處理單元執(zhí)行自身功能; 第四處理單元,用于將之后接收到的每個(gè)傳輸流包進(jìn)行發(fā)送,并將每個(gè)屬于節(jié)目X的基本包進(jìn)行哈希運(yùn)算,同時(shí),根據(jù)前一段傳輸流對(duì)應(yīng)的哈希結(jié)果對(duì)前一段傳輸流進(jìn)行簽名運(yùn)算; 如果簽名運(yùn)算完成,則在所述傳輸流中插入同步結(jié)束標(biāo)記,并通知第五處理單元執(zhí)行自身功能,否則,重復(fù)執(zhí)行自身功能; 第五處理單元,用于將簽名結(jié)果插入到所述傳輸流中,并通知第三處理單元重復(fù)執(zhí)行自身功能; 第六處理單元,用于將驗(yàn)證簽名的依賴信息按預(yù)定策略間隔性地插入到所述傳輸流中進(jìn)行發(fā)送。
9.根據(jù)權(quán)利要求8所述的裝置,其特征在于,所述第四處理單元進(jìn)一步用于,在簽名運(yùn)算完成之前,如果達(dá)到哈希運(yùn)算分段閾值,則在所述傳輸流中插入同步結(jié)束標(biāo)記,并將之后接收到的每個(gè)傳輸流包進(jìn)行發(fā)送,直至簽名運(yùn)算完成,然后通知第五處理單元執(zhí)行自身功倉(cāng)泛; 所述哈希運(yùn)算分段閾值包括根據(jù)信道誤碼率以及分段可能產(chǎn)生誤碼的容忍概率計(jì)算出的最大分段長(zhǎng)度。
10.根據(jù)權(quán)利要求9所述的裝置,其特征在于,所述第一處理單元中包括 第一處理子單元,用于根據(jù)包標(biāo)識(shí)PID固定取值為O的特點(diǎn)從所述傳輸流中找到第一個(gè)攜帶有節(jié)目關(guān)聯(lián)表PAT信息的信息包,并從中獲取到屬于節(jié)目X的攜帶有節(jié)目映射表PMT信息的信息包的PID ;根據(jù)獲取到的PID從所述傳輸流中找到第一個(gè)屬于節(jié)目X的攜帶有PMT信息的信息包;將所找到的攜帶有PMT信息的信息包之后的位置作為同步開始標(biāo)記的位置; 第二處理子單元,用于在所述傳輸流中的相應(yīng)位置插入同步開始標(biāo)記。
11.根據(jù)權(quán)利要求10所述的裝置,其特征在于,所述各處理單元將同步開始標(biāo)記、同步結(jié)束標(biāo)記、簽名結(jié)果和驗(yàn)證簽名的依賴信息封裝成傳輸流包,插入到所述傳輸流中。
12.根據(jù)權(quán)利要求11所述的裝置,其特征在于, 所述第一處理子單元進(jìn)一步用于,從所找到的屬于節(jié)目X的攜帶有PMT信息的信息包中獲取到屬于節(jié)目X的基本包的PID,將屬于節(jié)目X的攜帶有PMT信息的信息包的PID以及屬于節(jié)目X的基本包的PID發(fā)送給第二處理單元和第四處理單元;并在所找到的攜帶有PMT信息的信息包中增加一個(gè)記錄項(xiàng),用于記錄安全信息包對(duì)應(yīng)的PID,其中,將攜帶有同步開始標(biāo)記、同步結(jié)束標(biāo)記、簽名結(jié)果以及驗(yàn)證簽名的依賴信息的傳輸流包統(tǒng)稱為安全信息包; 所述第二處理單元進(jìn)一步用于,針對(duì)接收到的每個(gè)傳輸流包,分別根據(jù)其PID確定其是否為屬于節(jié)目X的基本包或攜帶有PMT信息的信息包;如果否,則直接發(fā)送,如果為屬于節(jié)目X的基本包,則將其進(jìn)行哈希運(yùn)算,并進(jìn)行發(fā)送,如果為屬于節(jié)目X的攜帶有PMT信息的信息包,則在其中增加一個(gè)記錄項(xiàng),用于記錄安全信息包對(duì)應(yīng)的PID ; 所述第四處理單元進(jìn)一步用于,在未達(dá)到哈希運(yùn)算分段閾值之前,針對(duì)接收到的每個(gè)傳輸流包,分別根據(jù)其PID確定其是否為屬于節(jié)目X的基本包或攜帶有PMT信息的信息包;如果否,則直接發(fā)送,如果為屬于節(jié)目X的基本包,則將其進(jìn)行哈希運(yùn)算,并進(jìn)行發(fā)送,如果為屬于節(jié)目X的攜帶有PMT信息的信息包,則在其中增加一個(gè)記錄項(xiàng),用于記錄安全信息包對(duì)應(yīng)的PID ;當(dāng)達(dá)到哈希運(yùn)算分段閾值后,針對(duì)接收到的每個(gè)傳輸流包,分別根據(jù)其PID確定其是否為屬于節(jié)目X的攜帶有PMT信息的信息包;如果否,則直接發(fā)送,如果是,則在其中增加一個(gè)記錄項(xiàng),用于記錄安全信息包對(duì)應(yīng)的PID。
13.根據(jù)權(quán)利要求8、9、10、11或12所述的裝置,其特征在于,所述滿足初始段結(jié)束條件包括 從插入同步標(biāo)記開始,已有預(yù)定數(shù)目的基本包經(jīng)過(guò)哈希運(yùn)算; 從插入同步標(biāo)記開始,已經(jīng)經(jīng)過(guò)了預(yù)定時(shí)長(zhǎng)。
14.根據(jù)權(quán)利要求8、9、10、11或12所述的裝置,其特征在于, 所述驗(yàn)證簽名的依賴信息包括簽名私鑰對(duì)應(yīng)的公鑰信息,簽名私鑰對(duì)應(yīng)的數(shù)字證書; 所述預(yù)定策略包括間隔預(yù)定時(shí)長(zhǎng),間隔預(yù)定數(shù)目的分段,間隔預(yù)定數(shù)目的傳輸流包。
全文摘要
本發(fā)明公開了一種對(duì)數(shù)字電視節(jié)目傳輸流進(jìn)行簽名的方法和裝置,根據(jù)簽名運(yùn)算的速度動(dòng)態(tài)調(diào)整每個(gè)分段的大小,并將哈希運(yùn)算與簽名運(yùn)算分離,即在對(duì)當(dāng)前段進(jìn)行分段,并對(duì)當(dāng)前段進(jìn)行哈希運(yùn)算的同時(shí),對(duì)前一段進(jìn)行簽名運(yùn)算,從而盡可能地避免了傳輸出現(xiàn)中斷。
文檔編號(hào)H04N21/2389GK102630045SQ20121010003
公開日2012年8月8日 申請(qǐng)日期2012年4月6日 優(yōu)先權(quán)日2012年4月6日
發(fā)明者夏魯寧, 張令臣, 荊繼武, 高能 申請(qǐng)人:中國(guó)科學(xué)院數(shù)據(jù)與通信保護(hù)研究教育中心