專利名稱:數字傳輸系統中發送的數據的鑒權的制作方法
本申請是申請號為01810646.3專利申請的分案申請。
本發明涉及數字傳輸系統中發送的數據的鑒權方法。
數字數據的廣播傳輸在付費電視系統領域中是熟知的,在該系統中擾碼的音頻視頻信息通常通過衛星或衛星/電纜鏈路被發送到多個預訂用戶,其中每個用戶具有一個譯碼器,能夠解擾傳輸的節目,以供以后觀看。地面數字廣播系統也是已知的。最新的系統也使用廣播鏈路來發送除了音頻視頻數據以外的其他數據(諸如計算機程序或交互應用項目)到譯碼器或連接的PC機。
應用數據的傳輸的一個具體的問題在于需要驗證任何這樣的數據的整體性和起源點。由于這種數據可被使用來重新配置譯碼器,以及實施任意數目的交互的應用,重要的是接收數據是完全的以及被識別為從已知的源發起的。否則,可能引起與下載不完全的數據相聯系的運行問題,以及有譯碼器成為開放的因而受到第三方等的攻擊的風險。
驗證這樣的數據的整體性,可以通過驗證由譯碼器直接接收的分組數據流而進行。在發送之前,通過把散列算法施加到分組中至少某些數據上,分組典型地被加以標記。所得出的散列數值被存儲在分組中。在接收數據分組后,譯碼器把同樣的散列算法施加到數據上,以及把由譯碼器計算的散列數值與被存儲在接收的分組中的散列數值進行比較,以便驗證接收的數據的完整性。例如,在傳輸中出現故障或損壞的事件中,計算的散列數值將與接收的散列數值不同。于是,譯碼器被提醒在現在的數據分組中存在可能的錯誤,以及將重新裝載有故障的數據分組。與熟知的散列算法(諸如消息摘要算法MD5)的使用有關的問題是,散列數值的計算是按照眾所周知的一系列計算步驟實行的,結果是任何人都可以計算數據分組的散列數值。所以,不可能驗證由譯碼器接收的數據分組的起源點。這在用接收的數據修正譯碼器的運行數據文件時是特別重要的。
為了克服這個問題,不使用散列算法來計算對于至少某些數據的散列數值,數據分組的簽名數值可以通過使用只有廣播者知道的密鑰數值被計算。這個密鑰可以通過使用對稱密鑰算法(諸如數據加密標準算法,或DES算法)被得出,其中利用譯碼器存儲等價的密鑰。然而,通過使用非對稱公共/專用密鑰算法(諸如Rivest,Shamir和Ad1eman算法,或RSA算法)可以提供更大的方便性,在這些算法中公共和專用密鑰形成數學公式的互補部分。
負責產生數據分組的廣播者存儲了專用密鑰,以及通過使用專用密鑰來計算簽名值。公共密鑰被存儲在譯碼器中,后者通過在制造期間把公共密鑰硬編碼到譯碼器的存儲器中以便接收數據。在接收數據分組后,譯碼器使用存儲的公共密鑰,通過把接收的數據與把公共密鑰算法施加到接收的簽名數值上得到的結果進行比較,從而驗證簽名數值。
即使在這樣的保安系統中,公共密鑰的數值有可能通過非法地公開地散布而被泄漏。在這樣的情形下,廣播者必須快速地撤銷等價的公共密鑰,以便阻止對數據分組未許可的接收。另外,也進而必須使用新的公共/專用密鑰。所以,廣播者將需要用新的公共密鑰代替被存儲在合法的用戶的譯碼器中的公共密鑰。取決于公共密鑰的敏感度,這可能需要廣播者費錢和費事地返還這些譯碼器給制造商,以便把新的公共密鑰硬編碼到這些譯碼器的存儲器中。
至少在本發明的優選實施例中,本發明尋求解決這些問題和其他問題。
本發明的第一方面提供數字傳輸系統中發送的數據的鑒權方法,所述方法包括以下步驟,在傳輸之前確定對于至少某些數據的至少兩個加密的數值,每個加密數值是通過使用一個相應的加密算法的密鑰對于同一個數據被確定的;以及連同所述數據一起輸出所述至少兩個加密的數值。
本發明具體地應用于,但并不限于,其中希望更新對安全敏感的數據,諸如在新的加密算法中要使用的密鑰的情形,以便確保數據“如同發布的那樣”被接收。為了提供這樣的保密性,要確定對于至少某些、優選地大多數、更優選地全部數據的至少兩個加密的數值。每個加密數值是通過使用一個相應的加密算法的密鑰被確定的。如果密鑰之一被泄漏,則“黑客”有可能截取數據以及改變數據的內容和通過使用泄漏的密鑰計算的加密的數值。然而,黑客不可能改變通過使用未泄漏的密鑰計算的加密的數值。所以,在通過使用等價于被使用來計算加密數值的密鑰的密鑰驗證加密數值時,使用等價密鑰的兩個數值將是不同的,這表示數據已成為不可靠的。
數據和加密的數值優選地被輸出,以便傳輸到接收機/譯碼器。優選地,所述數據和所述加密的數值被接收機/譯碼器接收,其中每個加密的數值通過使用所述相應的加密算法的密鑰被處理,以及每個以后得到的數值與所述至少某些數據進行比較,以便鑒權所述至少某個數據。如果該數據已成為不可靠的,則接收機/譯碼器可選擇忽略該數據,這樣,泄漏的或不可靠的新的密鑰將不存儲在譯碼器的存儲器中。優選地,如果至少一個以后得到的數值與所述至少某個數據不同,則所述接收的數據被接收機/譯碼器拒絕。
所以,本發明擴展成數字傳輸系統中一種發送的數據的鑒權方法,所述方法包括以下步驟接收所述數據和對于至少某些該數據而確定的至少兩個加密的數值,每個加密數值是通過使用一個相應的加密算法的密鑰對于同一個數據被確定的;存儲多個密鑰;通過使用所述相應的加密算法的存儲的密鑰處理每個加密的數值;把所述以后得到的數值與所述至少某些數據進行比較,以便鑒權所述至少某些數據。
優選地,每個算法是非對稱的。在優選實施例中,每個加密的數值相應于通過使用相應的加密算法的專用密鑰計算的數字簽名,每個簽名是可以通過使用所述加密算法的公共密鑰進行處理的。
優選地,所述方法包括連同每個簽名一起輸出一個要被使用來處理該簽名的公共密鑰的識別號的步驟。這使得接收機/譯碼器能夠容易識別要被使用來驗證該簽名的密鑰優選地,所述數據包括密鑰。在優選實施例中,該數據包括至少一個數字證書,優選地,至少一個數字根證書,它包含一個用于處理數據的加密算法的公共密鑰。該至少一個數字證書可包括通過使用被包含在該證書中的公共密鑰的加密算法的專用密鑰而被計算的數字簽名。因此,數字證書可被安全地發送到譯碼器,而譯碼器不必被返回到制造商那里以便把新的證書硬編碼到譯碼器的存儲器中。
優選地,所述數據包括一個撤銷的公共密鑰的識別號。識別號可包括數字證書的識別號,優選地是數字根證書,它包含所述撤銷的公共密鑰。所述數據可包括多個所述識別號,每個識別號標識各個撤銷的公共密鑰。因此,撤銷的密鑰的識別號清單可被安全地發送到譯碼器。
借助于以上方法,數據可被安全地更新,只要泄漏的密鑰的數目低于與數據一起存儲的加密的數值的數目。所以,所述數據和所述至少兩個加密的數值可被組織在數據文件中,它可包括要被存儲在以后產生的數據文件中的加密數值的最小數目的指示。這使得如果密鑰被泄漏以使得加密數值的最小數目保持大于泄漏的密鑰的數目的話,則加密數值的最小數目能夠被改變,例如,被增加。
優選地,數據文件被接收機/譯碼器接收,它把被存儲在所述數據文件中的加密數值的數目與所述最小數目進行比較,以及如果被存儲在所述數據文件中的加密數值的數目小于所述最小數目,則拒絕所述數據文件。
數據文件可以在數據模塊中被發送。對于在所述模塊中的至少某些數據的模塊加密數值可以通過使用發射機加密算法的密鑰而被計算,以及被存儲在所述數據模塊。數據模塊可以被接收機/譯碼器接收,它通過使用發射機加密算法的密鑰來處理所述模塊加密數值,以及把以后得到的數值與在模塊中的所述至少某些數據進行比較,以便鑒權在所述模塊中的所述至少某些數據。
對于在所述模塊中至少某些數據的加密數值可以相應于通過使用發射機加密算法的專用密鑰計算的數字簽名,以及是可通過使用所述加密算法的公共密鑰進行處理的。
數字傳輸系統可以是數字廣播系統,諸如電視或音頻系統。
本發明也提供用于鑒權在數字傳輸系統中要被發送的數據的設備,所述設備包括用于確定對于至少某些數據的至少兩個加密的數值的裝置,其中每個加密數值是通過使用相應的加密算法的密鑰對于同一個數據被確定的;以及用于連同所述數據一起輸出所述至少兩個加密的數值的裝置。
本發明也提供用于鑒權在數字傳輸系統中要被發送的數據的系統,所述系統包括上述的設備。該系統優選地還包括接收機/譯碼器,后者包括用于接收所述數據和所述加密數值的裝置,用于通過使用所述相應的加密算法的密鑰處理每個加密的數值的裝置,以及用于把每個以后得到的數值與所述至少某些數據進行比較以便鑒權所述至少某些數據的裝置。
本發明推廣到一種接收機/譯碼器,它包括用于接收包括所述數據的數據文件和對于至少某些數據確定的至少兩個加密的數值的裝置,每個加密數值是通過使用相應的加密算法的密鑰被確定的;用于存儲多個密鑰的裝置;用于通過使用所述相應的加密算法的存儲的密鑰處理每個加密的數值的裝置;用于把所述以后得到的數值與所述至少某些數據進行比較以便鑒權所述至少某些數據的裝置。
本發明也推廣到一種用于鑒權在數字傳輸系統中發送的數據的系統,所述系統包括上述的設備和上述的接收機/譯碼器。
本發明還推廣到一種信號,它包括數據和對于至少某些數據而確定的至少兩個加密數值,每個加密數值是通過使用相應的加密算法的密鑰被確定的。
本發明還推廣到基本上如這里參照附圖描述的、用于鑒權數據的方法或設備,接收機/譯碼器,或信號。
術語“接收機/譯碼器”或這里使用的“譯碼器”可以指用于接收編碼的或未編碼的信號(例如,電視和/或無線電信號)的接收機,這些信號可被某些其他裝置廣播或發送。術語也可以指用于譯碼接收的信號的譯碼器。這樣的接收機/譯碼器的實施例可包括與用于在“機頂盒”中譯碼被接收的信號的接收機集成在一起的譯碼器,諸如與在物理上分開的接收機組合地起作用的譯碼器,或包括附加功能(諸如網絡瀏覽器)的譯碼器,或與其他設備(諸如視頻記錄器或電視機)集成在一起的譯碼器。
正如這里使用的,術語“數字傳輸系統”包括用于發射或廣播主要音頻視頻的或多媒體數字數據的任何傳輸系統。雖然本發明特別可應用于廣播數字電視系統,但本發明也可應用于用于多媒體互聯網應用的固定電信網、閉路電視等等。
正如這里使用的,術語“數字電視系統”包括任何的衛星、地面、電纜和其他系統。
在本發明中使用的、用于產生專用/公共密鑰的適當的算法可包括RSA、Fiat-shamir,或Diffie-Hellman,以及適當的對稱密鑰算法可包括DES型算法。然而,除非其內容方面所必須的,或除非另外規定的,在與對稱算法有關的密鑰和與公共/專用算法有關的密鑰之間一般沒有什么不同之處。
為了語言簡明起見,術語“擾碼的”和“加密的”,以及“控制字”和“密鑰”被使用于文本中的各種部分。然而,將會看到,在“擾碼的數據”和“加密的數據”,以及“控制字”和“密鑰”之間沒有根本的不同。
另外,為了語言簡明起見,術語“加密的”和“加標記的”,以及“解密的”和“驗證的”被使用于文本中的各種部分。然而,將會看到,在“加密的數據”和“加標記的數據”,以及“解密的數據”和“驗證的數據”之間沒有根本的不同。
同樣地。術語“等價的密鑰”被使用來指適合于解密由第一個提到的密鑰加密的數據的密鑰,或反之亦然。
涉及到本發明的方法方面的以上的特性也可被應用于設備方面,以及反之亦然。
現在僅僅通過例子參照附圖描述本發明的優選實施例,其中
圖1顯示連同本發明使用的數字電視系統的示意圖;圖2顯示圖1的系統的譯碼器的結構;圖3顯示MPEG廣播輸送流內多個組成成分的結構;圖4顯示把軟件應用劃分成多個MPEG表;圖5顯示在DSM-CC數據文件與最終產生的MPEG表之間的關系;圖6顯示如在DSM-CC環境下規定的客戶機、服務器、網絡管理程序的關系;圖7顯示鑒權的目錄、子目錄和文件對象;圖8顯示廣播者證書、證書管理機構證書和根證書管理機構證書的格式;
圖9顯示證書撤銷清單的格式;圖10顯示根證書管理消息(RCMM)的格式;圖11顯示在譯碼器進行接收后,在RCMM處理中涉及的步驟。
圖1上顯示按照本發明的數字電視系統1的總貌。本發明包括大多數傳統的、使用已知的MPEG-2壓縮系統來發送壓縮的數字信號的數字電視系統2。更詳細地,在廣播中心的MPEG-2壓縮器3接收數字信號流(典型地是視頻信號流)。壓縮器3通過鏈路5被連接到復用器和擾碼器4。
復用器4接收多個另外的輸入信號,組合輸送的數據流,以及把壓縮的數字信號通過鏈路7發送到廣播中心的發射機6,鏈路7當然可以采取各種各樣的形式,包括電信鏈路。發射機通過上行鏈路8向衛星轉發器9發送電磁信號,在衛星轉發器上該信號被處理和通過理論上的下行鏈路10廣播到地面接收機12,在傳統上是通過由最終用戶擁有的或租用的碟形天線。由接收機12接收的信號被發送到由最終用戶擁有的或租用的集成的接收機/譯碼器13以及被連接到最終用戶的電視機14。接收機/譯碼器13把壓縮的MPEG-2信號譯碼成用于電視機14的電視信號。
用于傳輸數據的其他的輸送信道當然是可能的,諸如,地面廣播,電纜傳輸,組合的衛星/電纜鏈路,電話網等等。
在多信道系統中,復用器4處理從多個并行源接收的音頻和視頻信息,以及與發射機6進行交互以便沿著相應的數目的信道廣播信息。除了音頻視頻信息以外,消息或應用或任何其他種類的數字數據可被引入到某些或全部這些信道,與發送的數字音頻和視頻消息交織。在這樣的情形下,具有DSM-CC(數字貯存媒體命令和控制)格式軟件文件和消息的形式的數字數據流將被壓縮器3壓縮和被打包成MPEG格式。下面更詳細地描述軟件模塊的下載。
條件接入系統15被連接到復用器4和接收機/譯碼器13,以及部分位于廣播中心和部分位于譯碼器。它使得最終用戶能夠接入來自從一個或多個廣播提供者的數字電視廣播。能夠解密涉及商業提供的消息(也就是,由廣播提供者銷售的一個或幾個電視節目)的智能卡,可被插入到接收機/譯碼器13。通過使用譯碼器13和智能卡,最終用戶可以以預訂模式或以每次觀看付費模式購買商業出售品。實際上,譯碼器可被配置成能處理同時密碼(Simulcrypt)或多個密碼(Multicrypt)設計的多個接入控制系統。如上所述,由系統發送的節目在復用器4中被擾碼,加到給定的傳輸上的條件和加密密鑰由接入控制系統15確定。這樣的擾碼數據的傳輸在付費電視系統領域是熟知的。典型地,擾碼的數據連同用于數據擾碼的控制字一起被發送,控制字本身通過所謂的操作密鑰被加密,以及以加密的方式被發送。
擾碼數據和加密的控制字然后被譯碼器13接收,訪問被存儲在插入到譯碼器中的智能卡上的所述操作密鑰的等價物,以便解密加密的控制字,然后解擾碼發送的數據。付費的用戶將在每月廣播的EMM(權利管理消息)中接收對于解密加密的控制字所必須的操作密鑰,以許可觀看所述傳輸內容。除了它們在解密音頻視頻電視節目中使用以外,類似的操作密鑰可被產生和被發送,供驗證其他數據(諸如將在下面描述的軟件模塊)時使用。
交互系統16,也被連接到復用器4和接收機/譯碼器13,以及也部分地位于廣播中心和部分地位于譯碼器中,它使得最終用戶能夠通過調制解調器返回信道17與各種應用交互。調制解調器返回信道也可被應用于在條件接入系統15中使用的通信中。交互系統可被使用來使得觀眾能夠立即與傳輸中心通信,以便要求授權觀看特定的事件、下載和應用等等的合法權。
接收機/譯碼器的物理單元參照圖2,現在概略地描述適合于在本發明中使用的接收機/譯碼器13或1機頂盒的物理單元。圖上顯示的單元將按功能塊進行描述。
譯碼器13包括中央處理器20,它包括相關的存儲器單元,適用于接收來自串行接口21、并行接口22和調制解調器23(被連接到圖1的調制解調器返回信道17)的輸入數據。
譯碼器另外還適合于通過控制單元26以及從譯碼器的前面板上的開關接觸點24接收來自紅外遙控器25的輸入。譯碼器也具有兩個智能卡讀卡器27,28,分別適合于讀出銀行卡和預訂智能卡29,30。輸入也可通過紅外鍵盤(未示出)被接收。預訂智能卡讀卡器28接受插入的預訂卡30和接受條件接入單元29,以便提供必要的控制字給解復用器/解擾碼器30,使得加密的廣播信號能夠被解擾。譯碼器還包括傳統的調諧器31和解調器32,以便接收和解調衛星傳輸,然后被單元30濾波和被解復用。
在譯碼器內處理數據,通常是由中央處理器20來管理的。中央處理器的軟件結構相應于這樣一種虛擬機,它與用譯碼器的硬件部件實施的較低級別的操作系統交互。
發送的數據的分組結構現在參照圖3和4描述在從發射機發送到譯碼器的、在廣播的MPEG輸送數據流內的數據的分組結構。正如將會看到的,雖然說明是集中在MPEG標準中使用的表格格式,但相同的原理同樣應用于其他分組的數據流格式。
具體參照圖3,MPEG比特流包括節目接入表(“PAT”)40,它具有為0的分組標識(“PID”)。PAT包含對于多個節目的節目對應表(“PMT”)41的PID的參考。每個PMT包含對于該節目的音頻MPEG表42和視頻MPEG表43的數據流的PID的參考。具有為零的PID的分組(也就是,節目接入表40)提供對于所有的MPEG接入的入口點。
為了下載應用及其數據,規定兩種新的數據流類型,相關的PMT也包含對于應用MPEG表44(或它們的分段)和數據視頻MPEG表45(或它們的分段)的數據流的PID的參考。實際上,雖然在某些情形下規定分開的用于可執行的應用軟件的數據流類型和由這樣的軟件處理的數據可能是方便的,但這不是本質的。在其他的實現方案中,數據和可執行的代碼可被組裝在通過PMT接入的單個數據流中。
參照圖4,為了在數據流44內下載應用,應用46被劃分成模塊47,每個模塊由MPEG表形成。這些表中的某些表包括單個分段,而其他表由多個分段48組成。典型的分段48具有一個標題,它包括一字節表識別符(“TID”)50、表中的該分段的分段號51、該表中分段總數52、以及二字節TID擴展參考53。每個分段也包括數據部分54和CRC 55。對于特定的表47,組成該表47的所有的分段48具有相同的TID 50和相同的TID擴展53。對于特定的應用46,組成該應用46的所有的表47具有相同的TID 50,但具有不同的TID擴展。
對于每個應用46,單個MPEG表被使用作為目錄表56。目錄表56在它的標題中具有與組成應用的其他的表47相同的TID。然而,為了識別目的和由于對于目錄中的信息只需要單個表的事實,目錄表具有為零的預定的TID擴展。所有的其他的表47通常具有非零TID擴展,以及它們由多個相關的分段48組成。目錄表的標題也包括要被下載的應用的版本號。
回過來參照圖3,PAT 40,PMT 41以及應用和數據流分量44,45被循環地發送。被發送的每個應用具有各自的預定的TID。為了下載應用,具有適當的TID和為零的TID擴展的MPEG表被下載到接收機/譯碼器。這是用于需要的應用的目錄表。目錄中的數據然后被譯碼器進行處理,以便去確定組成需要的應用的表的TID擴展。此后,具有與目錄表相同的TID和從目錄中確定的TID擴展的任何需要的表可被下載。
譯碼器被安排來檢驗目錄表,以用于對它進行任何的更新。這可以通過再次周期地(例如,每30秒,或每1分或5分鐘)下載目錄表以及對比先前下載的目錄表的版本號而被完成。如果新下載的版本號是較新的版本的號碼,則與先前的目錄表有關的表被刪除,以及與新的版本有關的表被下載和被匯編。
在替換的安排中,輸入的比特流通過使用相應于TID、TID擴展和版本號的屏蔽被濾波,它們具有對于應用的TID、為零的TID擴展和比當前下載的目錄的版本號大1的版本號設置的數值。因此,版本號的增量可被檢測,以及一旦被檢測,該目錄被下載以及應用被更新,如上所述。如果應用要被終結,具有下一個版本號的空的目錄被發送,但不帶有被列出在目錄中的任何模塊。響應于這樣的空的目錄的接收,譯碼器2020被編程來刪除應用。
實際上,在譯碼器中實施應用的軟件和計算機程序可以通過譯碼器的任何部件被引入,具體地是在通過所描述的無線鏈路接收的數據流中,但也通過串行端口、智能卡鏈路等等。這樣的軟件可包括高的級別的應用,被使用來在譯碼器內實施交互應用,諸如網絡瀏覽器、小測驗應用、節目指南等等。軟件也可借助于“插入碼(patches)”等被下載來改變譯碼器軟件的工作配置。
應用也可以通過譯碼器被下載,以及被發送到連接到譯碼器的PC等等。在這樣的情形下,譯碼器起到用于軟件的通信路由器的作用,該軟件最終在連接的設備上運行。除了這個路由功能以外,譯碼器也可用來在路由到PC之前把MPEG分組化的數據變換成按照DSM-CC協議組織的計算機文件軟件(見下面)。
數據文件中數據的組織圖5顯示在一組DSM-CC U-U(用戶到用戶)數據文件60中,在被匯編的應用46中組織的、和被包容在一系列MPEG表47內的數據之間的關系。這樣的關系在WO99/49614中被描述,它的內容在此引用,以供參考。
在發送之前,數據文件被匯編成應用46,此后,被MPEG壓縮器分組為MPEG表或模塊47,如上所述,其中包括對于MPEG分組數據流特定的標題49,以及包括表ID,版本號等等。正如將會看到的,在數據文件61和最終MPEG表47中組織的數據之間可能沒有固定的關系。在被譯碼器接收和濾波后,分組標題49被丟棄,以及從表47的有用負載中重新構建的應用46。
用于數據文件的DSM-CC格式是特別適合于多媒體網絡的標準,它規定用于在客戶機用戶70,服務器用戶71,與網絡資源管理者72之間通信的一系列消息格式和會話命令,如圖6所示。網絡資源管理者72可被看作為一個邏輯實體,用來管理網絡內的資源的屬性。
在客戶機與服務器之間的通信由一系列會話建立,第一消息序列在用戶(客戶機70或服務器71)和網絡管理者72之間交換,以便配置客戶機和/或服務器用于通信。這樣的消息按照所謂的DSM-CC U-N(從用戶到網絡)協議被格式化。這個協議的子集已被具體地定義以用于廣播下載數據。
一旦通信鏈路被建立,以后就按照DSM-CC U-U協議在客戶機70和服務器71之間交換消息。這種消息序列相應于圖5的數據文件60。在DSM-CC U-U消息的情形下,數據被組織在按照BIOP或廣播軌道間(Inter Orb)協議分組的消息序列61中。
每個消息或對象61包括標題62,子標題63和包含數據本身的有用負載64。按照BIOP協議,標題62特別地包含消息類型和BIOP版本的指示,而子標題表示由系統結構規定的對象和其他信息的類型。
在DSM-CC U-U文件的有用負載內的數據對象64通常可被規定為三種類型中的一種類型;目錄對象、文件對象和數據流對象。目錄對象規定根目錄或子目錄,被使用來參考包含實際應用數據的一系列相關的文件對象。
數據流對象可被使用來使得能夠在被包含在數據文件和MPEG分組數據流本身中的數據之間建立暫時的關系。這可在被包含在數據文件中和被設計來與由譯碼器接收和處理的基本視頻或音頻數據流同步的交互應用的情形下被使用。如上所述,在MPEG分組化的數據和數據文件之間可能沒有直接的關系。
不像其中的單個目錄參考只具有單個分級級別的一組表的MPEG表,數據文件60可以以更復雜的分級形式被組織。正如對于被存儲在PC或服務器中的文件,主目錄或根目錄可以參照一個或多個子目錄,這些子目錄進而又參考第二級別的數據文件。甚至可以參考與另一個組的應用數據有關的第二根目錄。
數據文件組的文件結構參照圖7,圖上顯示數據文件組的文件結構的例子。用75表示的根目錄DIR A0參考對象文件77的子目錄組A1。為了簡明起見,圖上只顯示與子目錄A4有關的單個組的對象文件F1,F2等等。實際上,多組的對象文件可被子目錄A1到A4中的每一個參考。
在每個目錄和子目錄內,對于鏈接到該目錄的文件引入一組鑒權步驟。參照根目錄75,子標題63包括通過把散列算法施加到被存儲在被表示為76的子目錄文件A1到A4中的某些或全部數據而得到的散列數值。所使用的散列算法可以具有任何已知的類型,諸如消息摘要算法MD5。
在一個實現方案中,算法可被各個地施加到每個相關的文件或子目錄上,以及在發送之前施加到一個對于被存儲在根目錄75中的每個子目錄76的散列數值表上。然而,雖然這樣的解決方案在驗證每個子目錄方面能夠提高檢驗分辨率程度,這個解決方案在對于譯碼器計算相應的簽名所必須的處理時間方面,是相當不夠的。因此,目錄79的子標題63優選地包括通過把MD5散列算法施加到組合的子標題和子目錄76的有用負載分段63,64而計算出的累積的散列數值79,也就是,不用標題62。具體地,被包含在子目錄76內并且涉及到文件對象層77的散列數值82被包括在這個散列計算中。
在圖7所示的子目錄A4的情形下,這個子目錄本身關系到以77表示的一組對象文件F1-Fn。在這種情形下,累積的散列數值82是對于對象文件77的組合的內容而產生的。這個數值被包括在能導致散列數值79的散列處理過程中。所以,不可能不改變子目錄76的散列數值82而改變任何對象文件77,而這將會進而改變目錄75的散列數值79。
在本例中,組合的散列數值是對于目錄中所有的子目錄A1-A4計算的。這個散列數值連同從其中取數據的子目錄組的識別號一起被存儲。在其他的實施例中,一系列組合的或單獨的散列數值和相應的識別號可被存儲在目錄的子標題中。
例如,第二組子目錄(它也是與根目錄有關的,但涉及到不同的組的數據或可執行代碼)也可一起被編組,并且對于這些子目錄而計算的積累的散列數值被加以計算和被存儲在子標題根目錄中。與單個目錄有關的單個散列數值可相等地被存儲在根目錄的子標題中。
數據文件組或單獨的數據文件的鑒權當然不阻止根目錄(或實際上,任何其他文件)也去參照未驗證的或未散列的數據文件,但對于這個文件的任何運行,將需要考慮這樣的文件的缺少驗證。在這方面,不一定必須鑒權數據流對象。
在這種情形下散列函數的使用主要使得譯碼器能夠驗證下載的數據文件的整體性或完整性。在傳輸時故障或損壞的情形下,積累散列算法對于接收的非獨立的文件的運行將不會給出與被存儲在根目錄中的這些文件的散列數值相同的結果。譯碼器然后被提示在下載的數據中存在可能的錯誤,以及將重新下載有故障的數據文件。
用于根目錄的簽名數值為了增強的安全性,根目錄75的簽名數值被加以計算。在本實施例中,使用專用/公共密鑰算法,諸如Rivest,Shamir和Adleman或RSA算法,負責產生數據文件的廣播者具有專用密鑰數值,并且公共密鑰數值由譯碼器保持。替換地,秘密密鑰可相應于通過對稱密鑰算法(諸如數據加密標準或DES算法)得到的密鑰。
如圖7所示,根目錄75包括廣播者識別號80,它向譯碼器表示在驗證級要被連同通過使用廣播者的專用密鑰產生的計算的簽名數值81一起使用的公共密鑰。在這種情形下,簽名數值81是通過把由廣播者保持的專用密鑰施加到目錄75內某些或全部數據(優選地,包括有用負載64和/或積累的散列數值79)而被產生的。然后,譯碼器通過使用由廣播者識別號80標識的相應的公共密鑰來驗證這個簽名數值81。
在本例中,目錄75中的數據被解密,以及專用密鑰只被使用來提供由公共密鑰可驗證的簽名數值。在替換的實施例中,目錄的某些或所有的內容可被專用密鑰加密,此后由相應的密鑰解密。
在任一種情形下,簽名數值或由加密密鑰使用的加密碼塊的產生使得譯碼器能夠驗證目錄75的整體性和起源點,也就是由這個根目錄所聯系到的文件的整體性和起源點。由于所聯系到的文件的積累的散列數值被包括在簽名81的計算中,如果在驗證級中沒有檢測到這一點,就不可能改變這些數值。由于每個散列數值通常對于給定的數據組是唯一的,所以,如果不改變任何依賴的散列文件的特征的散列數值,就不可能改變這些散列文件的內容,以及從而改變目錄的最終的簽名數值。
正如將會看到的,有可能具有多個變例,特別是為了減小在每級散列的或加標記的數據量。具體地,在目錄或子目錄中被使用來驗證較低的級別的數據文件的簽名或散列數值的情形下,目錄簽名或散列數值可以通過只使用較低的級別的散列數值而不使用其他數據被產生。
例如,在A0目錄75中的組合的散列數值79可以通過使用被表示為76的每個A1-A4子目錄的組合的散列數值被產生。由于這些數值正好是與子目錄的有用負載中的數據一樣獨特的,組合的散列數值79對于所討論的子目錄仍舊是獨特的。而且,仍舊可假設較低的級別的對象和目錄文件77,78的整體性,因為散列數值82仍舊在計算中被使用。
廣播者數字證書參照圖8,公共密鑰91和廣播者識別號80在數字證書中優選地以熟知的國際標準組織(ISO)X.509標準的形式提供給譯碼器的用戶,它在制造期間被硬編碼到譯碼器的存儲器中。這樣的證書通過受信任的第三方(它們通常被稱為證書管理機構(CA))分配給譯碼器的制造商。這樣的證書的使用,主要由于通過用于保障在萬維網(WWW)上的信用卡交易的Netscape Communications開發的和標準化的安全插口層(SSL)安全輸送協議,從而變成為更廣泛的。
除了公共密鑰91和廣播者識別號80以外,與廣播者有關的數字證書、或廣播者證書90還包括·廣播者證書90的版本號92;·廣播者證書90的串號93;·分發廣播者證書90的CA的CA識別號94;·廣播者證書90的有效性期限95,用于表示需要使用證書的時間期間的開始點和結束點;以及·廣播者證書90的簽名數值96。
正如從上面看到的,廣播者證書包括兩個不同的識別號相應于證書的分發者的識別號94的第一“分發者名稱”識別號,和相應于標識公共密鑰91的識別號80的第二“主題名稱”識別號。
CA通過把CA的專用密鑰或CA專用密鑰施加給廣播者證書內的至少某些或全部的數據,從而計算出廣播者證書90的簽名數值96。然后,譯碼器可以通過使用由CA識別號94標識的相應的CA公共密鑰101而處理簽名,以便確定證書的內容在由CA進行簽名后沒有被修改,從而驗證這個簽名數值96。
譯碼器可以存儲用于不同的各個廣播者的多個這樣的證書。
證書管理機構數字證書還參照圖8,相應的CA公共密鑰101和CA識別號94在CA證書100中被提供給譯碼器的用戶,它也是在制造期間被硬編碼到譯碼器中的。CA證書100還包括·CA證書100的版本號102;·CA證書100的串號103;·分發CA證書100的根證書管理機構(RCA)(諸如歐洲電信標準局(ETSI))的RCA識別號104;·CA證書100的有效性期限105;以及·CA證書100的簽名數值106。
正如從上面看到的,CA證書也包括兩個不同的識別號相應于證書的分發者的識別號104的第一“發布者名稱”識別號,和相應于標識公共密鑰101的識別號94的第二“受主名稱”識別號。
RCA通過把RCA的專用密鑰或RCA專用密鑰施加給CA證書內至少某些或全部的數據,從而計算CA證書100的簽名數值106。然后,譯碼器可以通過使用由RCA識別號104標識的相應的RCA公共密鑰111而處理簽名,以便確定證書的內容在由進行RCA簽名后沒有被修改,從而驗證這個簽名數值106。
譯碼器可以存儲用于不同的各個CA的多個這樣的證書。
根證書管理機構數字證書相應的RCA公共密鑰111和RCA識別號104在RCA或根證書110中被提供給譯碼器的用戶,它也是在制造期間被硬編碼到譯碼器的存儲器中的。每個譯碼器典型地包括一組兩個或多個根證書。每個根證書110還包括·根證書110的版本號112;·根證書110的串號113;·根證書110的有效性期限114;以及·根證書110的簽名數值115。
正如從上面看到的,根證書只包括單個識別號,即,證書的分發者的識別號104。這個識別號104也標識公共密鑰111。因此,根證書可被定義為其中發布者名稱是與受主名稱相同的證書。
由于根證書是在廣播者證書90-CA證書100-根證書110的鏈中的最終的證書,根證書是本身加標記的,也就是,簽名數值是通過使用等價于公共密鑰111的專用密鑰而被計算出的。所以,要關心的是根證書的內容不變成為公開地可提供的。
當然,有可能RCA把廣播者證書90直接提供給譯碼器的制造商,在這種情形下,廣播者證書將包含RCA識別號111,以及通過使用RCA專用密鑰而被加標記。
證書撤銷清單如果相應于被存儲在證書中的公共密鑰的的專用密鑰被泄漏,則任何的廣播者證書90和CA證書100可以在其中規定的有效期限時間到之前通過刪除而被撤銷。這樣的撤銷可以通過發送包含要被撤銷的證書的串號92、102的清單的證書撤銷清單給譯碼器而被實施。在撤銷后,優選地通過從譯碼器的存儲器中刪除證書而使得證書不能起作用,由此阻止下載任何未批準的和可能惡意的、使用泄露的專用密鑰加標記的數據分組。
CRL由CA或RCA分發給廣播者,后者通過調制解調器返回信道17把CRL發送到譯碼器或通過MPEG輸送流廣播CRL。廣播者把CRL插入到從發射機發送到譯碼器的所有的輸送流中并不是重要的;廣播者把CRL插入到非常可能由譯碼器調諧到的那些輸送流就足夠了。例如,CRL可以作為數據文件被插入到從發射機廣播到譯碼器的一組數據文件的根目錄75或子目錄76中。
參照圖9,CRL典型地包括·分發CRL 120的CA或RCA的識別號94或104;·發布CRL 120的日期122;·下一個CRL預期要被發布的日期124;·要被撤銷的證書的串號的清單125,其中包括對于每個被撤銷的證書、該證書的撤銷的時間和日期;以及·CRL的簽名數值126,它是通過使用發布CRL 120的CA或RCA的專用密鑰而被計算的。
在接收CRL后,譯碼器把發布該CRL 120的日期122與由先前接收的CRL建議的該CRL預期要被發布的日期124進行比較。如果新接收的CRL的日期122不遲于該CRL預期要被發布的日期124,則CRL被忽略。
如果新接收的CRL的日期122遲于該CRL預期要被發布的日期124,則CRL的簽名通過使用CA的發布者的公共密鑰(它是通過使用被包含在CRL中的識別號94或104被標識的)而被驗證。
如果CRL的整體性被這樣地驗證,則CRL被加以處理以便附加上日期124,并且把下一個CRL預期要被發布的日期124存儲在永久存儲器中,以及存儲撤銷的證書的串號的清單125。接收的撤銷證書清單125也被存儲在譯碼器的永久存儲器中。為了性能上的原因,CRL 120優選地被超高速緩存在譯碼器的存儲器中。優選地,譯碼器的超高速緩存器以樹狀的方式存儲CRL 120,并且RCA的CRL位于“樹”的頂部以及該RCA分布的CA的CRL位于“樹”的底部。
在撤銷廣播者證書90的事件中,如果廣播者的專用密鑰被泄露,則用于該廣播者的證書管理機構把廣播者證書90的串號93附加到它的CRL 120上。證書管理機構隨后分發新的CRL 120給所有的廣播者,這些廣播者也接受所分發的用于廣播的廣播者證書90。只要譯碼器例如在對廣播者的信道攻擊后下載新的CRL 120,CRL超高速緩存器就被更新,以及在CRL 120的清單125中標識的任何證書將被撤銷。
替代廣播者證書90由證書管理機構100產生,以及在文件的目錄75或76中被廣播給用戶。替代廣播者證書將包括新的公共密鑰91、更新的版本號92、更新的有效性期限95、以及通過使用CA的專用密鑰計算出的新的簽名數值96。廣播者識別號80和CA識別號94將保持不變。在接收替代廣播者證書90后,譯碼器通過使用被包含在由CA識別號94標識的CA證書中的相應的CA公共密鑰處理證書而驗證證書。
在撤銷CA證書100后,該CA的CRL從譯碼器的存儲器中被去除。所以,如果該CA的CRL的尺寸變得太大而不能貯存在譯碼器的超高速存儲器中,則可能希望自動地撤銷CA證書100。在這種情形下,分發CA證書100到該CA的RCA將把該CA證書100的串號103附加到它的CRL中。根證書管理機構隨后把新的CRL分發給所有的廣播者,這些廣播者也接受由該RCA分發的用于廣播的CA證書。只要譯碼器例如通過廣播者的信道下載新的CRL 120,CRL超高速緩存器就被更新,以及在CRL 120的清單125中標識的任何證書將進行撤銷。
在撤銷證書管理機構的CA證書100后,除了把對于該證書管理機構的新的CA證書貯存到譯碼器以外,必須對所有的廣播者的廣播者證書90進行替換,這些廣播者是接受該證書管理機構分發的證書的廣播者,因為,由于用于該證書管理機構的專用密鑰不再有效,所以將需要通過使用加標記的新的廣播者證書90。替代的CA證書100由根證書管理機構110產生,以及在文件的目錄75或76中被廣播給用戶。類似于替代的廣播者證書,替代的CA證書將包括新的CA公共密鑰101、更新的版本號102、更新的有效性期限105、以及通過使用RCA的專用密鑰計算出的新的簽名數值106。CA識別號94和RCA識別號104將保持不變。在接收替代的CA證書100后,譯碼器通過使用被包含在由RCA識別號104標識的RCA證書110中的相應的RCA公共密鑰去處理證書,從而驗證證書。
根證書管理消息在撤銷根證書管理機構的RCA證書110后,必須用新的RCA代替撤銷的RCA證書。如上所述,RCA證書是本身加標記的,所以不希望把RCA證書包括在CRL中,因為有可能黑客會占有證書,如果他知道被使用來標記CRL的專用密鑰的話。所以,在RCA證書每次要被更新時,例如當它已經成為過時的或被撤銷時,必須把譯碼器返回到制造商。
為了克服這個問題,由根證書管理機構產生根證書管理消息(RCMM),以便由廣播者廣播到譯碼器。正如下面更詳細地說明的,類似于CRL,RCMN包含要被撤銷的根證書的串號的清單125,其中包括對于每個撤銷的根證書,撤銷該證書的時間和日期,連同對于已成為過時的或在清單125中表示的那些證書的一個或多個替代的根證書。
正如將會看到的,從RCMM的敏感的內容(新的根證書)看來,重要的是確保RCMM“在被發布”給廣播者時被譯碼器接收,也就是,確保RCMM的內容在分發與接收之間沒有改變。也是重要的是確保RCMM只被RCMM尋址到的譯碼器接入。
為了增強安全性,對于被包括在其中的至少某些數據(優選地是全部數據)。RCMM包含至少兩個簽名數值,這與CRL不同。每個簽名數值是通過使用相應的加密算法的密鑰(諸如公共/專用密鑰對的專用密鑰)而被計算的。
當RCMM被根證書管理機構(RCA)發布以及包括新的根證書110時,RCMM包括至少兩個簽名數值。每個簽名數值是通過使用由接受該RCA提供的證書的證明的相應的專用密鑰被計算的(雖然可以選擇與譯碼器存儲的密鑰等價的任何密鑰)。如果那些證書管理機構之一未知的,它的專用密鑰被泄漏,有可能“黑客”截取廣播者的廣播,以及如果他知道廣播者和證書管理機構的專用密鑰,則他可能改變RCMM的內容和通過使用證書管理機構的專用密鑰計算出的RCMM的簽名數值。然而,黑客不可能改變通過使用其他證書管理機構的專用密鑰計算出的簽名數值,因為這個密鑰沒有被泄漏。所以,在由譯碼器通過使用兩個證書管理機構的公共密鑰驗證簽名數值后,由譯碼器通過使用各個公共密鑰計算出的兩個數值將不是相同的。所以,譯碼器將被提示缺乏RCMM的內容的整體性,以及將拒絕RCMM,或不進行RCMM的處理。
因此,根證書被安全地更新,只要泄漏的證書的數目低于被包含在RCMM中的簽名的數目。所以,RCMM的簽名的數目是由分發RCMM的根證書管理機構確定的變量。
現在參照圖10更詳細地描述RCMM的格式。
RCMM130包括·分發RCMM 130的RCA的識別號132;·發布RCMM 130的日期134;·以后的RCMM將包含的簽名數值的數目136;·包含了要被存儲在譯碼器中的一個或多個更新的或替換根證書的域138;·要被撤銷的根證書的串號的清單140,其中包括對于每個被撤銷的根證書、該證書的撤銷的時間和日期;以及·至少兩個簽名域142,其中每個包含被存儲在譯碼器中的證書的識別號144,它包含公共密鑰、要被使用來驗證被包含在由簽名區中的簽名數值;以及RCMM的簽名數值,它是通過使用等價于被包含在由識別號144識別的證書中的公共密鑰的專用密鑰而被計算的。
簽名域142的數目應當等于或大于如在先前接收的RCMM中建議的簽名域的數目136。
優選地,RCMM通過MPEG輸送流被發送,因為調制解調器返回信道可被容易地斷開連接或可能完全不存在。優選地,RCMM被廣播者作為數據文件插入到根目錄75中,以便確保RCMM被譯碼器下載。
根證書管理消息的處理和產生現在參照圖11描述由譯碼器對RCMM的接收和處理。
在接收RCMM后,在步驟200,譯碼器比較該RCMM 130被發布的日期134與先前發布的RCMM的日期。如果新接收的RCMM的日期134不遲于先前的RCMM發布的日期,則RCMM被拒絕。
如果新接收的RCMM的日期134遲于先前的RCMM的接收的日期,則新接收的RCMM要包含的簽名數值的數目136(正如由先前接收的RCMM建議的那樣)在步驟202與實際上被包含在新接收的RCMM中的簽名數值的數目進行比較。如果被包含在新接收的RCMM中的簽名數值的數目低于預期的,則RCMM被拒絕。這可阻止RCMM由于黑客抹除了與未泄漏的專用/公共密鑰對有關的簽名而要被進行處理。
如果被包含在新接收的RCMM中的簽名數值的數目等于或大于預期的簽名數目,則在步驟204,被包含在RCMM中的每個簽名數值146通過使用由被包含在與該簽名數值相同的簽名區142中的識別號144標識的公共密鑰而被驗證。在步驟206,譯碼器確定通過使用公共密鑰計算出的至少一個數值是否與通過使用不同的公共密鑰計算的任何其他的數值不同。如果至少一個計算的數值不同于至少一個其他計算的數值,則RCMM被拒絕。
如果在步驟206證明了RCMM的整體性,則RCMM被處理,在步驟208把撤銷的根證書的串號的清單140存儲在譯碼器的永久存儲器中,以使得這些證書可以從譯碼器的存儲器中被刪除,在步驟210把被包含在域138中的每個根證書存儲在譯碼器的永久存儲器中,以及在步驟212把RCMM的日期134存儲在永久存儲器中。如果根證書管理機構的證書被刪除,則由該管理機構發布的任何CRL也被刪除。
優選地,被包含在RCMMZ中的數據的永久貯存的整體性被保持,如果在RCMM消息的處理期間譯碼器被關斷的話。所以,如果在PCMM處理期間打算關斷功率,則與被存儲在譯碼器中的、先前處理的RCMM有關的清單140被保持,就好像新的接收的RCMM消息完全沒有被處理那樣。
如前所述,根證書管理機構(RCA)典型地具有至少兩個RCA證書RC0和RC1,它們被存儲在每個譯碼器中。在這些證書之一(比如說RC0)被泄漏的情形下,必須替換被存儲在譯碼器中的所有的CA證書(它們通過使用等價于被存儲在RC0中的公共密鑰的專用密鑰而被加標記),以及產生新的RCA證書RC2來替代RC0。
參照圖12,為了替換這些CA證書,首先在步驟300,由RCA發布表示要被撤銷的CA證書的串號的適當的CRL消息。其次,在步驟302,通過使用非泄漏的證書RC1的專用密鑰加標記的替代的CA證書被發布給廣播者,以便廣播到譯碼器。
然后就刪除泄漏的RCA證書RC0以及用新的RCA證書RC2替換這個證書。在步驟304,RCA產生新的公共/專用密鑰對,把新的公共密鑰插入到證書RC2中以及通過使用新的專用密鑰去標記證書。
在步驟306,RCA產生RCMM,它在域138中包含證書RC2,以及在清單140中包含RC0的串號。在步驟308,RCMM被分發給廣播者,以便發送到譯碼器,以便刪除泄漏的證書RC0和用新的證書RC2替代它。
RCA證書RC1和RC2隨后將被提供給譯碼器制造商,以便硬編碼到新的譯碼器的存儲器中。
將會看到,以上純粹作為例子描述了本發明,以及可以在本發明的范圍內作出細節的修正。
例如,除了新的RCA證書以外,RCMM可包括新的CA證書100和/或新的廣播者證書90,以及清單140可包括要被撤銷的CA證書和/或廣播者證書的識別號。這可以使得能避免由RCA產生分開的CRL消息。
在說明書中以及(在適合的情形下)權利要求和附圖揭示的每個特征可以獨立地或以任何適當的組合而被提供。
權利要求
1.一種形成一個包括數字數據和數字音頻視頻信息的數字數據流的方法,該方法包括以下步驟利用DSM-CC U-U文件的有用負荷內的數據對象以DSM-CC格式來格式化該數字數據,至少一個所述數據對象是流對象,該流對象啟動在被包含在至少一個所述數據對象中的數據與該數字音頻視頻信息之間的時間關系;以及交織該數字數據與該數字音頻視頻信息。
2.權利要求1的方法,其中被包含在該至少一個數據目標中的數據對應于至少一個互動應用。
3.權利要求2的方法,其中該至少一個互動應用被設計成與數字音頻視頻信息相同步。
4.前述權利要求的任一項的方法,還包括把該數字數據組織在按照Broadcast InterOrb Protocol(BIOP)編組的一系列消息中的步驟。
5.前述權利要求的任一項的方法,還包括把該數據格式化為MPEG分組的步驟。
6.用于形成一個包括數字數據和數字音頻視頻信息的數字數據流的設備,該設備包括利用DSM-CC U-U文件的有用負荷內的數據對象以DSM-CC格式來格式化該數字數據的裝置,至少一個該數據對外是流對象,該流對象啟動在被包含在至少一個該數據對象中的數據與數字音頻視頻信息之間的時間關系;以及用于交織數字數據與數字音頻視頻信息的裝置。
7.一種數字數據流,包括交織的數字數據與數字音頻視頻消息,該數字數據利用DSM-CC U-U文件的有用負荷內的數據目標以DSM-CC格式被格式化,至少一個該數據對象是流對象,該流對象啟動在被包含在至少一個該數據對象中的數據與數字音頻視頻信息之間的時間關系。
全文摘要
在數字傳輸系統中發送的數據的鑒權方法,其中方法包括以下步驟,在傳輸之前,確定對于至少某些數據的至少兩個加密的數值,每個加密數值可通過使用各個加密算法的密鑰來確定,以及連同所述數據一起輸出所述至少兩個加密的數值。
文檔編號H04N5/00GK1897525SQ20061010540
公開日2007年1月17日 申請日期2001年1月11日 優先權日2000年4月3日
發明者J·-B·G·M·伯奎, P·普萊恩 申請人:卡納爾技術股份有限公司