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