除了psi數據以外的節目數據的加密/解密的製作方法
2023-05-29 14:34:41 2
專利名稱:除了psi數據以外的節目數據的加密/解密的製作方法
技術領域:
本發明涉及發射機和接收機之間傳送的數據的加密和解密,尤其涉及數據 及用於加密數據的加密密鑰的加密和解密。發明的背景在許多系統中,數據的未經授權的複製產生不期望的後果。例如,在諸如 由旅館、汽車旅館和有線系統提供的那些按次計費的系統中,提供按次計費節 目的供應者在他們的節目被盜版時會失去相當大的收入。許多工具通常可以在硬體商店、業餘愛好商店、大學圖書館獲得以及由黑 客和專家提供,以使得能進行包括按次計費系統在內的數據傳送系統的所有方 面的反向操作(reverse-engineering)。因此,按次計費供應者及對複製保護感 興趣的其它人實現各種副本保護系統以防止未授權的複製。複製保護系統具有多個安全目標。例如,複製保護系統旨在防止高質量壓 縮數字內容的竊取,防止高質量未壓縮數字內容的竊取以及限制由非法進入引 起的損失。本發明的複製保護系統旨在阻礙內容的未授權的複製。 發明的概述根據本發明的一個方面, 一種加密數據的方法包括如下根據至少一個節 目密鑰加密至少一個節目;加密該節目密鑰;以及將加密的節目、加密的節目
密鑰和未加密的PSI數據傳送至接收機,其中未加密的PSI數據與加密的節目 相關。根據本發明的另一方面, 一種解密數據的方法包括如下接收至少一個加 密的節目、至少一個加密的節目密鑰、以及未加密的PSI數據,其中該未加密 的PSI數據與加密的節目相關;解密已加密的節目密鑰;根據未加密的PSI數 據定位加密的節目;以及根據解密的節目密鑰定位加密的節目。附圖的簡要說明當結合附圖詳細考慮本發明時,這些和其它特徵和優點將變得更顯而易 見,其中-
圖1示出根據本發明的一個實施例的複製保護髮射機的加密編碼器;圖2更詳細地示出圖1的數據加密塊;圖3更詳細地示出圖1的動態密鑰塊;圖4更詳細地示出圖3的密鑰擴展塊;圖5更詳細地示出圖1的諸部分;圖6更詳細地示出圖5的密鑰修改量;圖7示出圖1的複製保護系統中所使用的示例修改量消息MM;圖8示出圖7中所示的修改量消息MM的控制部分;圖9示出圖8中所示的修改量消息MM的系統控制字節的示例定義;圖IO示出圖1的複製保護系統中所使用的示例消息段MS;圖11更詳細地示出圖1的節目密鑰、修改密鑰和修改量消息MM加密塊;圖12示出作為圖10中所示的消息段MS的一部分的示例密鑰消息;圖13示出用於傳送節目密鑰和修改密鑰的示例消息段MS對;圖14示出發射機和接收機對於消息生成和使用的定時;圖15示出用於在節目數據的加密期間應用節目密鑰PK的示例輪轉;圖16示出應用了輪轉的欄位的節目數據段的諸部分的一個例子;圖17示出根據本發明的一個實施例的複製保護接收機的解密解碼器;圖18更詳細地示出圖17的數據解密塊;
圖19更詳細地示出圖17的解密解碼器的諸部分;以及 圖20更詳細地示出圖17的密鑰和修改量消息加密塊。詳細說明在圖1中,複製保護髮射機的示例加密編碼器8包括用於接收MPEG傳 輸流並確定該MPEG傳輸流中的分組是否包含要加密的數據的PID過濾器IO。 如下所述,PID過濾器10還標識要用消息段MS替換的空分組,消息段MS 給予接收機以足夠的信息將用於解密所接收的信號中的加密節目數據,並且 PID過濾器10還標識包含不要加密的信息的分組。動態節目密鑰和修改密鑰發生器12動態地生成由第一加密引擎14用於加 密MPEG傳輸流中己被選擇用於加密的節目數據的節目密鑰PK。第一加密引 擎14例如可以是單巻繞(wrap)加密引擎,並且可以被設置成應用在高級加 密標準(AES)中指定的單巻繞(wrap)加密過程。加密節目數據分組被提供 給輸出多路復用器16的一個輸入。動態生成的節目密鑰PK是通過多路復用器24應用的,在該復用器上節 目密鑰PK本身由第二加密引擎18加密。第二加密引擎18可以是三重巻繞加 密引擎,並且可以被設置成應用在高級加密標準中指定的三重巻繞加密過程。與由第一加密引擎14用於加密節目數據的動態生成的節目密鑰PK不同, 由第二加密引擎18用於加密動態生成的節目密鑰PK的密鑰是消息段密鑰。固 定密鑰被存儲在存儲器20中,這些固定密鑰由消息段密鑰發生器和控制器22 用於生成消息段密鑰,並且消息段密鑰被提供給第二加密引擎18。存儲在存儲器20中的固定密鑰為例如128位長,並且有例如64個固定密 鑰存儲在存儲器20中。本文所述的散列值是例如每個64位並且被推導成固定 密鑰的所選擇的諸部分。或者,散列值可以分開存儲在存儲器20中,並且固 定密鑰和散列值可以是所需的長度和數目。因此,消息段密鑰發生器和控制器22從存儲器20中選擇要由第二加密引 擎18使用的固定密鑰,並將該消息段密鑰提供給第二加密引擎18。第二加密 引擎18基於來自消息段密鑰發生器和控制器22的消息段密鑰加密動態生成的
節目密鑰PK。如下所述,修改量消息MM和修改密鑰MK還通過多路復用器24應用並 由第二加密引擎18加密。已加密的動態生成的節目密鑰PK和已加密的修改量 消息MM被彙編成向接收機發送的節目密鑰消息段PKMS。如下進一步討論 的,已加密的修改密鑰MK、己加密的檢驗和和已加密的修改量消息MM被類 似地彙編成同樣被發往接收機的修改密鑰消息段MKMS。由節目和修改密鑰發生器12動態地生成的修改密鑰與固定密鑰一起用於 生成用於加密節目密鑰的消息段密鑰,並且檢驗和是基於存儲在存儲器20中 的固定密鑰。檢驗和例如可包括128位,並且可以從所有存儲在存儲器20中 的固定密鑰生成。因此,接收機能將來自發射機的檢驗和與從其自己的固定密 鑰生成的檢驗和相比較以檢驗其固定密鑰與發射機的固定密鑰匹配。檢驗和還 可用於確定傳輸中的錯誤。如上所示,節目密鑰消息段PKMS和修改密鑰消息段MKMS給予接收機 其解密所接收的信號中的加密節目數據所需的信息。圖2更詳細地示出第一加密引擎24。如圖1和2中所示,第一加密引擎 14被耦合在PID過濾器IO和輸出多路復用器16之間。第一加密引擎14具有3個部分14A、 14B和14C。部分14A包括信號 分離器30、存儲器32和34以及信號分離器36。部分14B包括RAM延遲38、 加密塊40和信號分離器42。部分14c包括信號分離器44、存儲器46和48以 及信號分離器50。PID過濾器10將MPEG傳輸流中的傳輸分組傳送至信號分離器30。傳輸 分組被信號分離並被存儲在以往復切換(ping-pong)形式操作的存儲器32和 34中。存儲器32和34中的傳輸分組被提供給多路復用器36。多路復用器36將來自存儲器32和34的所有分組傳送至RAM延時器38 和加密塊40兩者。這些分組包括節目分組、空分組和諸如PID、 PSIP、 PMT 和PAT等非節目分組。加密塊40使用動態生成的節目密鑰PK來加密其接收 的所有分組並將已加密的分組提供給多路復用器42。響應於來自PID過濾器 10的加密標誌,多路復用器42隻從加密塊40中選擇與所選擇的要加密的一個
或多個節目相對應的已加密的分組。將理解MPEG傳輸流可包含一個或多個節 目並且這些節目中的任何一個或多個可以被標記用於加密。所有其它分組(不與要加密的節目相對應的分組)由多路復用器42從RAM延時器38中選擇。 因此,除了與所選擇的節目相對應的分組被加密以外,多路復用器42的輸出 是輸入MPEG傳輸流。多路復用器42將已加密的和未加密的分組傳送至信號 分離器44。在多路復用器42從RAM延時器38選擇的分組中有諸如PSIP(節目和系 統信息協議)分組、PAT (節目關聯表)分組、PMT (節目映射表)分組等PSI (節目專用信息)分組、和/或包含自適應欄位的分組。因此,由多路復用器 42輸出的未加密分組包括PSI分組。PSI分組包含幫助接收機確定傳輸流的哪 個通道和哪些部分包含由用戶選擇的節目的信息。如果PSI分組被加密,則接 收機可能不能定位用戶選擇的節目用於解密。來自信號分離器44的己加密和未加密的分組被存儲在以往復切換形式操 作的存儲器46和48中。存儲器46和48中己加密和未加密的分組通過多路復 用器50提供給輸出多路復用器16。第一加密引擎14的部分14A和14C被控制成維持合適的定時、數據流速 率和同步。圖3更詳細地示出動態節目密鑰和修改密鑰發生器12的動態節目密鑰發 生器部分12A。動態節目密鑰發生器部分12A包括向隨機數發生器62提供種 子的種子發生器60。例如,種子發生器60可以根據任何希望的依據從諸如一 個或多個節目數據分組中的視頻和/或音頻的MPEG傳輸流61中的任意部分選 擇種子。信號分離器64從隨機數發生器62選擇4個128位隨機數並將這些4個 128位隨機數作為4個動態生成的節目密鑰存儲在存儲器66的下一部分中,而 加密塊40使用先前存儲在存儲器66的現用部分中的4個動態生成的節目密鑰 來加密節目數據。因此,在存儲在存儲器66的現用部分中的4個動態生成的 節目密鑰PK當前被用於加密節目數據時,多路復用器64從隨機數發生器62 中選擇另外4個128位隨機數並將這些另外4個128位隨機數作為4個動態生
成的節目密鑰PK存儲在存儲器66的下一部分。如下結合圖14所述,在修改密鑰消息段MKMS被傳送時,存儲在存儲器 66的現用部分中的4個動態生成的節目密鑰PK的使用被中止,並開始使用存 儲在存儲器66的下一部分中的4個新的動態生成的節目密鑰PK。在此轉變點 處,存儲器66的老的下一部分變成存儲器66的新的現用部分,而存儲器66 的老的現用部分變成存儲器66的新的下一部分。同樣,在這4個新的動態生 成的節目密鑰PK被用於加密節目數據時,另外4個節目密鑰PK被動態地生 成並被存儲在存儲器66的新的下一部分中。多路復用器68將來自存儲器66的現用部分的4個動態節目密鑰提供給諸 如圖4中所示的密鑰擴展器70。按照需要,密鑰擴展器70將每個動態節目密 鑰PK從128位密鑰擴展到如1408位擴展密鑰。該擴展的動態節目密鑰PK被 提供給圖2的加密塊40。圖4中所示的密鑰擴展器包括逆密鑰塊。此逆密鑰塊在節目加密期間被啟 動並在節目密鑰消息段PKMS和修改密鑰消息段MKMS的加密期間被禁用。以此方式,4個動態生成的節目密鑰PK被用於加密節目數據而以下4個 節目密鑰PK被動態地生成。正在從存儲器66的現用部分被使用的4個動態生 成節目密鑰PK繼續被使用直至修改密鑰消息段MKMS被生成。例如可以使諸消息段之間的時間取決於在輸入MPEG傳輸流中的空分組 的可用性,因為消息段被傳送來代替所選擇的空分組。PID過濾器10檢測空 分組和信號輸出多路復用器16以遞送消息段來代替來自多路復用器50的分 組。如圖5中所示,固定密鑰選擇器80使用由隨機數發生器62生成的隨機數 來尋址存儲器20以從存儲器20選擇固定密鑰。例如,存儲在存儲器20中的 各固定密鑰可以是128位,且4個32位地址字可用於從存儲器20中讀取每一 固定密鑰。這些固定密鑰被用於加密節目密鑰和修改密鑰(以下詳述),這些 密鑰被發送至接收機且接收機需要這些密鑰來解密所接收的經加密的節目數 據。更具體而言,由固定密鑰選擇器80從存儲器20選擇3個固定密鑰並將它 們作為固定密鑰KA存儲在固定密鑰存儲器82中。另外3個固定密鑰由固定密 鑰選擇器80從存儲器20選擇並被作為固定密鑰KB存儲在固定密鑰存儲器84 中。例如,這3個固定密鑰Ka和3個固定密鑰Kb中的毎一個均可以是128 位長。根據來自隨機數發生器62的隨機地址選擇存儲在固定密鑰存儲器82中 的3個固定密鑰KA和存儲在固定密鑰存儲器84中的3個固定密鑰KB。另外,三個散列值A、 B和C由固定密鑰選擇器80選擇並被存儲在消息 段密鑰和散列值存儲器86中。還基於來自隨機數發生器62的隨機地址選擇三 個散列值A、 B和C。例如,三個散列值A、 B和C中的每一個可以是64位 或固定密鑰的1/2。另外,來自隨機數發生器62的三個隨機數被作為修改密鑰 KM存儲在修改密鑰存儲器88中。例如每一修改密鑰可以為128位長。圖6中更詳細地示出的消息段密鑰發生器90包括鎖存器92" 922和923 以及96X32查找表94。鎖存器92i鎖存固定密鑰存儲器82中所存儲的三個固 定密鑰Ka中的第一個的前32位,鎖存器922鎖存固定密鑰存儲器84中所存 儲的三個固定密鑰KB中的第一個的前32位,鎖存器923鎖存固定密鑰存儲器 88中所存儲的三個固定密鑰KM中的第一個的前32位。這96個鎖存的位形成 一個96位地址,該地址讀出第一消息段密鑰的前32位用於存儲在消息段密鑰 和散列值存儲器86中。圖6還以簡化的形式示出存儲在査找表94中的四個查找表。查找表之一 被選擇用於提供存儲在消息段密鑰和散列值存儲器86中的三個消息段密鑰。 圖6中的表O的簡化的形式示出存儲在表O中的地址和位之間的關係。因此, 如果地址的第一個KM位為0且地址的第一個KA位為0且地址的第一個KB位 為0,則表O將為消息段密鑰的第一位Ko讀出O位。然而,如果地址的第一個 KM位為1且地址的第一個KJ立為1且地址的第一個Ke位為0,則表0將為 消息段密鑰的第一位K。讀出1位。如果地址的下一KM位為O且地址的下一個 KA位為0且地址的下一個KB位為0,則表0將為消息段密鑰的下一位K"賣出 0位。然而,如果地址的下一個KM位為O且地址的下一個KA位為1且地址的 下一個KB位為O,則表0將為消息段密鑰的下一個位K。讀出l位。存儲在表中的位可以與它們的地址具有任何期望的關係。該關係可以是隨 機、或、異或門、與、與非、非、MUX (多路復用)、二進位反碼、二進位 補碼或灰度關係,且每個表可以具有地址與所存儲的位之間的不同關係。在從查找表94中讀出第一消息段密鑰的前32位並將其存儲在消息段密鑰 和散列值存儲器86中之後,鎖存器92!鎖存固定密鑰存儲器82中所存儲的三 個固定密鑰KA中的第一個的第二個32位,鎖存器922鎖存固定密鑰存儲器84 中所存儲的三個固定密鑰KB中的第一個的第二個32位,且鎖存器923鎖存固 定密鑰存儲器88中所存儲的三個固定密鑰km中的第一個的第二個32位。這 96個鎖存的位形成第二個96位地址,該地址讀出第一消息段密鑰的第二個32 位用於存儲在消息段密鑰和散列值存儲器86中。存儲在固定密鑰存儲器82中的三個固定密鑰Ka中的第一個的第三個和 第四個32位、存儲在固定密鑰存儲器84中的三個固定密鑰KB中的第一個的 第三個和第四個32位和存儲在修改密鑰存儲器88中的三個修改密鑰Km中的 第一個的第三個和第四個32位被用於從查找表94中讀出第一消息段密鑰的第 三個和第四個32位。第一消息段密鑰的這些第三個和第四個32位還被存儲在 消息段密鑰和散列值存儲器86中,用於形成第一消息段密鑰的所有128位。 從查找表94中類似地讀出第二和第三個消息段密鑰並將其存儲在消息段密鑰 和散列值存儲器86中。這三個消息段密鑰被用於加密節目密鑰。另外三個消 息段密鑰被用於加密如上詳述的一組修改密鑰。如圖5中所示,多路復用器96適當地將來自存儲器66的以下4個動態生 成的節目密鑰、密鑰控制98、來自修改密鑰存儲器88的修改密鑰、來自存儲 器20的校驗和以及來自修改量消息存儲器99的修改量消息MM多路復用以創 建如下詳述的節目密鑰消息段PKMS和修改密鑰消息段MKMS。圖7中示出修改量消息MM的一個例子。如圖所示,修改量消息MM包 含64位初始值和192位控制。以下說明初始值的使用。如圖8中所示,修改 量消息MM的控制位包括例如用於系統控制的四個字節,用於指向固定密鑰 和散列值的存儲器地址的地址指針的9個字節以及能用於任何用途的11個字 節。上述地址指針指向存儲器20中對應於(i)存儲在固定密鑰存儲器82和 84中以及在所選擇的組合中被消息段密鑰發生器90用於生成存儲在消息段密鑰和散列值存儲器86中的消息段密鑰A、 B和C的6個固定密鑰以及(ii)也存 儲在消息段密鑰和散列值存儲器86中的散列值A、 B和C的地址。這些地址 指針在修改量消息MM中被發送至接收器使得接收器能重新生成如下所述地 解密節目密鑰和修改密鑰所需的消息段密鑰A、 B和C以及相應的散列值A、 B禾卩C。修改量消息MM的系統控制的32位在圖9中通過例子示出。位0和1用 於指定分配給節目數據的複製控制。位2至7被保留,除了這些保留位中的至 少一位被設置成一個值以指示相應消息段是修改密鑰消息段MKMS以及被設 置成另一個值則指示相應的消息段是節目密鑰消息段PKMS。當此至少一個保留位被設置成指示相應的消息段是修改密鑰消息段 MKMS的值時,向査找表94提供的位KM被設置成諸如全零的預定值同時三 個消息段密鑰被生成用於存儲在消息段密鑰和散列值存儲器86中。實際上, 用於加密修改密鑰消息段MKMS的消息段密鑰被生成為具有修改密鑰,該修 改密鑰具有發送器和接收器兩者均已知的預定值。當修改密鑰具有此預定值時,查找表94可只遞送固定密鑰KA作為消息段 密鑰。或者,當修改密鑰具有此預定值時,査找表94能替代地只遞送固定密 鑰KB作為消息段密鑰,或查找表94能基於固定密鑰Ka和Kb從固定密朗存儲 器82和84讀出消息段密鑰。這些替換方案是基於查找表94中的哪個表是如 由下述修改量消息MM的系統控制的位8至11所指示地被選擇的。用具有預 定值的這些修改密鑰所生成的的消息段密鑰被用於加密修改密鑰消息MK1、 MK2、和MK3以及校驗和消息CRC。當此至少一個保留位被設置成指示相應消息段是節目密鑰消息段PKMS 的值時,提供給查找表94的位KM是存儲在修改密鑰存儲器88中的隨機生成的修改密鑰,並且這些隨機生成的修改密鑰與固定密鑰KA和KB—起用於生成存儲在消息段密鑰和散列值存儲器86中的三個消息段密鑰。因此,用於加密 節目密鑰消息段PKMS的消息段密鑰除了用來自固定密鑰存儲器82和84的固 定密鑰Ka和Kb以外還用存儲在修改密鑰存儲器88中的隨機生成的修改密鑰 來生成。用存儲在修改密鑰存儲器88中的隨機生成的修改密鑰產生的消息段密鑰被用於加密節目密鑰消息PK1、 PK2、 PK3和PK4。用於生成加密節目密鑰消息段PKMS的消息段密鑰的固定密鑰可以與用 於生成加密修改密鑰消息段MKMS的消息段密鑰的固定密鑰相同或不同。位8、 9、 10和11指定存儲在查找表94中的16個可能的表中哪一個被用 於生成存儲在消息段密鑰和散列值存儲器86中的消息段密鑰。位12至15可用於任何目的諸如向接收器指示一特定的節目密鑰輪轉等, 如下所述。位16至31是由修改量消息存儲器99的CRC發生器產生的校驗和。具體 而言,修改量消息存儲器99的CRC發生器將CRC代碼用於圖9中所示的系 統控制字節的位0至15,以生成校驗和。此校驗和包括如圖9中所示的位16 至31。 CRC發生器將此校驗和附加於未修改的位0至15以形成修改量消息 MM的全系統控制。修改量消息MM的這一全系統控制由接收器用於確定, 節目密鑰消息段PKMS和/或修改密鑰消息段MKMS是否由於例如通道中的噪 聲而未被適當地接收,且這在以下詳述。如圖5中所示,多路復用器100接收存儲在消息段密鑰和散列值存儲器 86中的消息段密鑰和散列值。多路復用器100還接收存儲在存儲器102中的三 個固定密鑰A,、 B'和C,以及三個散列值A'、 B,和C,。例如,存儲在存儲器 102中的三個固定密鑰A'、 B,和C'各包括一個128位的固定密鑰,而存儲在 存儲器102中的三個散列值A,、 B'和C,各包括一個64位散列值。多路復用器96和100與第二加密引擎18 —起操作用於加密圖10中所示 的消息段MS的加密的部分。在節目密鑰消息段PKMS的情形中,圖10中所 示的消息段MS的加密部分包括修改量消息MM以及四個節目密鑰消息KM1 、 KM2、 KM3和KM4。在修改密鑰消息段MKMS的情形中,圖10中所示的消 息段MS的加密部分包括修改量消息MM、 3個修改密鑰消息MK1、 MK2和 MK3以及固定密鑰校驗和CRC。修改量消息MM包括如圖7和8中所示的初 始值和192位控制。初始值例如可包括64個預定的任意位。為了加密修改消息MM,多路復用器100將來自存儲器102的三個固定密
鑰A,、 B,和C,以及三個散列值A,、 B,和C,通過密鑰擴展器104遞送至第二加 密引擎。密鑰擴展器104例如可以類似於密鑰擴展器70並只擴展固定密鑰A'、 B,和C,。密鑰擴展器104不擴展散列值A,、 B,和C,。多路復用器96還將修 改量消息MM遞送至第二加密引擎18。第二加密引擎18在圖11中更詳細地示出。散列值A'被用於異或門106、 散列值B,被提供給異或門108而散列值C'被提供給異或門110。異或門106、 108和110逐位處理它們各自的輸入。己擴展的固定密鑰A,被用於AES加密 器112,已擴展的固定密鑰B'被用於AES加密器114而已擴展的固定密鑰C' 被用於AES加密器116。修改消息MM的初始值被提供給異或門106,修改消息MM的前1/3的控 制位被提供給AES加密器112、修改器消息MM的第二個1/3的控制位被提供 給AES加密器114而修改器消息MM的第三個1/3的控制位被應用於AEC加 密器116。AEC加密器112根據已擴展的固定密鑰A'將異或門106的輸出以及修改 量消息MM的前1/3的控制位加密,並將加密結果的一半提供給異或門108而 提供另一半作為已加密的修改量消息MM的第二個1/4。 AES加密器IM根據 已擴展的固定密鑰B'將異或門108的輸出以及修改量消息MM的控制位的第 二個1/3加密,並將加密結果的一半提供給異或門110並提供另一半作為已加 密的修改量消息MM的第三個1/4。 AES加密器116根據己擴展的固定密鑰C' 將異或門110的輸出以及修改量消息MM的控制位的第三個1/3加密,並提供 加密結果的一半作為已加密的修改量消息MM的第一個1/4並提供另一半作為 己加密的修改量消息MM的第四個1/4。節目密鑰消息段PKMS中的每一密鑰消息具有圖12的示例結構。根據此 例,節目密鑰消息KM1包括可以是與上述初始值相同或不同的初始值的64 位初始值、64位密鑰控制98以及分成兩個64位部分的128位節目密鑰中一個。 包含其它3個節目密鑰的節目密鑰消息KM2、 KM3和KM4被類似地構成。密鑰控制98被用於指定密鑰消息是否包含節目密鑰、修改密鑰或校驗和。為了加密節目密鑰消息KM1、多路復用器100將來自消息段密鑰和散列
值存儲器86的三個消息段密鑰A、 B和C以及三個散列值A、 B和C通過密 鑰擴展器104遞送至第二加密引擎18。如上所述,用於加密節目密鑰消息的三 個消息段密鑰A、 B和C是通過使用存儲在修改密鑰存儲器88中的隨機生成 的修改密鑰KM、來自固定密鑰存儲器82的固定密鑰KA以及來自固定密鑰存 儲器84的固定密鑰Kb從表94讀出的消息段密鑰。密鑰擴展器104隻擴展消息段密鑰a、 b禾nc。密鑰擴展器104不擴展散列值a、 b禾nc。多路復用器96還將來自存儲器66的下一部分的4個動態生成的節目密鑰中的第一個遞送 至第二加密引擎18。在第二加密引擎18中,散列值A被提供給異或門106、散列值B被提供 給異或門108而散列值C被提供給異或門110。已擴展的消息段密鑰A被提供 給AES加密器112、被擴展的消息段密鑰B被提供給AES加密器114,且被 擴展的消息段密鑰C被提供給AES加密器116。初始值被提供給異或門106, 控制字被提供給AES加密器112, 4個動態生成的節目密鑰中的第一個密鑰的 前1/2被提供給AES加密器114且4個動態生成的節目密鑰中的第一個密鑰的 後1/2被提供給AES加密器116。AES加密器112根據已擴展的消息段密鑰A加密異或門106的輸出以及 控制字,並將加密結果的一半提供給異或門108並提供另一半作為節目密鑰消 息KM1的第二個1/4。 AES加密器114根據已擴展的消息段密鑰B加密異或 門108的輸出以及4個動態生成的節目密鑰中的第一個密鑰的前1/2,並將加 密結果的一半提供給異或門110而提供另一半作為節目密鑰消息KM1的第三 個1/4。 AES加密器116根據已擴展的消息段密鑰C加密異或門IIO的輸出以 及4個動態生成的節目密鑰中的第一個密鑰的後1/2,並提供加密結果的一半 作為節目密鑰消息KM1的第一個1/4而另一半作為節目密鑰消息KM1的第四 個1/4。其它三個節目密鑰消息KM2、 KM3和KM4被類似地生成。 修改密鑰消息段MKMS中的每一修改密鑰消息還具有圖12的示例結構。 根據此例,修改密鑰消息MK1包括可以是與上述初始值相同或不同的初始 值的64位初始值、64位密鑰控制98以及分成兩個64位部分的128位修改密
鑰。包含另兩個修改密鑰的修改密鑰消息MK2和MK3被類似地構成。密鑰控制又用於指定密鑰消息是否包含節目密鑰、修改密鑰或檢驗和。 為了加密修改密鑰消息MK1,多路復用器100將來自消息段密鑰和散列 值存儲器86的三個消息段密鑰A、 B和C以及三個散列值A、 B和C通過密 鑰擴展器104遞送至第二加密引擎18。如上所述,用於加密修改密鑰消息的三 個消息段密鑰A、 B和C是通過使用具有預定值的修改密鑰從表94讀出的消 息段密鑰。因此,可以從表94讀出來自固定密鑰存儲器82的固定密鑰KA作 為消息段密鑰。或者,如上所述,可以從表94讀出來自固定密鑰存儲器84的 固定密鑰KB作為消息段密鑰,或固定密鑰Ka和Kb的組合可用於從表94讀出 消息段密鑰。密鑰擴展器104隻擴展消息段密鑰A、 B和C。密鑰擴展器104 不擴展散列值A、 B和C。多路復用器96還將來自修改密鑰存儲器88的修改 密鑰遞送至第二加密引擎18。散列值A、 B和C像以前那樣被提供給異或門106、 108和110。已擴展 的消息段密鑰A、 B禾Q C也像以前那樣被提供給AES加密器112、 114和116。 初始值被提供給異或門106,控制字被提供給AES加密器112,三個修改密鑰 中的第一個的前1/2被提供給AES加密器114,而三個修改密鑰中的第一個的 後1/2被提供給AES加密器116。AES加密器112將其加密結果的一半提供給異或門108並提供另一半作 為修改密鑰消息MK1的第二個1/4。AES加密器114將其加密結果的一半提供 給異或門110並提供另一半作為修改密鑰消息MK1的第三個1/4。AES加密器 116提供其加密結果的一半作為修改密鑰消息MK1的第一個1/4並提供另一半 作為修改密鑰消息MK1的第四個1/4。另兩個修改密鑰消息MK2和MK3以及校驗和消息CRC被類似地生成。 圖1的輸出多路復用器16多路調製加密的節目數據、來自傳輸流的MPEG PID首部、可由單獨發生器提供並且可以是SMPTE時間代碼(如果有的話) 的192個時間位、以及來自具有加密的節目密鑰消息段PKMS和加密的修改密 鑰消息段MKMS的傳輸流的20個前向糾錯字節以形成加密的傳輸流。每一節 目密鑰消息段PKMS和修改密鑰消息段MKMS被包含在相應的完整的ATSC 數據段中。第二加密引擎18產生成對的消息段MS,即節目密鑰消息段PKMS和修 改密鑰消息段MKMS。這對消息段MS在圖13中示出。每一消息段MS中的 修改量消息MM被按照圖8和9所示地提供。圖13中所示的第一消息段是修 改密鑰消息段MKMS並包含存儲在修改密鑰存儲器88中的三個修改密鑰的加 密格式以及來自存儲器20的校驗和(CRC)。圖13中所示的第二消息段是節目 密鑰消息段PKMS並且包含將由接收器用於解密已加密的節目數據的4個加密 的新節目密鑰的加密格式。因此,如圖10中所示,節目密鑰消息段PKMS中的修改量消息MM和4 個節目密鑰消息KM1、 KM2、 KM3和KM4被加密。類似地,修改密鑰消息 段MKMS中的修改量消息MM、三個修改密鑰消息MK1、 MK2和MK3以及 校驗和消息CRC被加密。圖10中所示的消息段MS的4個字節的首部是MPEG PID。修改量消息 MM包括圖9中所示的消息控制字節。如上所述,此控制字節將成對的消息段 MS或標識為節目密鑰消息段PKMS或標識為修改密鑰消息段MKMS。圖14示出確定密鑰同步後相對的消息對發送和接收定時。在發生可以是 MPEG傳輸流中的空分組的事件1之後,節目密鑰消息段PKMS被如圖14中 所示地發送。接收器接收此節目密鑰消息段PKMS,對其進行解密,並將包含 在該節目密鑰消息段PKMS中的節目密鑰作為下面幾個節目密鑰存儲。然而, 接收器還不開始使用這些以下幾個節目密鑰。在發送器發送節目密鑰消息段PKMS之後,發送器的加密編碼器8生成 三個修改密鑰以及修改量消息MM,並使用消息段密鑰和散列值如上所述地加 密修改量消息MM和三個修改密鑰。加密編碼器8隨後對包含如上所述的加密 的修改量消息MM和三個修改密鑰的修改密鑰消息段MKMS進行彙編。當檢 測到空分組時(事件2),發送器發送修改密鑰消息段MKMS來代替空分組 並且同時,加密編碼器8開始使用存儲在存儲器66中的下一節目密鑰作為現 用節目密鑰來加密節目數據。因此,下幾個節目密鑰變成現用節目密鑰。同時,接收器接收此修改密鑰消息段MKMS並立即開始使用其先前存儲
的下幾個節目密鑰作為現用節目密鑰來解密節目內容。因此,在發送器和接收 器中同時做出用以下幾個節目密鑰替換現用節目密鑰的動作,使得發送器和接 收器使用相同的節目密鑰來加密和解密相同的節目內容。在發送器發送修改密鑰消息段MKMS並切換節目密鑰之後,該發送器的加密解碼器8生成新的節目密鑰,並將該新的節目密鑰作為下幾個節目密鑰保 存在存儲器66中。加密編碼器8將新的節目密鑰加密並彙編包含新的節目密 鑰的另一節目密鑰消息段PKMS,並等待發送此節目密鑰消息段PKMS的機會 (諸如空分組等事件3)。在發送器的加密編碼器8生成新節目密鑰,保存該新節目密鑰並彙編下一 節目密鑰消息段PKMS的同時,接收器解密其剛接收的修改密鑰消息段 MKMS,並保存此消息中所包含的修改量消息MM和修改密鑰。在加密編碼器8不發送節目密鑰消息段PKMS和修改密鑰消息段MKMS 的期間,加密編碼器8使用現用節目密鑰來加密節目數據並將已加密的節目數 據發送至接收器。在接收器不接收節目密鑰消息段PKMS和修改密鑰消息段MKMS的段期 間,接收器使用現用節目密鑰來解密節目數據。在其中消息發送和密鑰使用與空分組的發生同步的實施例中,存在空分組 以所不期望的高頻率發生時的情形。例如,在視頻中幾乎沒有動作的時段期間, 在單個幀期間可出現許多空分組。因此,可能需要添加延遲功能使得消息發送 和密鑰切換的頻率低於預定頻率。例如,此延遲功能可以被設置使得消息發送 和密鑰切換的發生頻率低於每兩或三個ATSC幀一次。在加密節目數據期間,加密塊40輪轉4個現用節目密鑰PK。圖15示出 輪轉。如圖16中所示,要發送至接收器的欄位的每一節目數據段包括用於 將段標識成節目數據段的未加密的4位元組的MPEG首部、各包含加密的128 位節目數據的ll個塊、8個字節的未加密的節目數據以及20個字節的未加密 前向糾錯數據。如圖15中所示,4個現用節目密鑰A、 B、 C和D被以如下次序應用於第 一節目數據段中的11個數據塊A、 B、 C、 D、 A、 B、 C、 D、 A、 B、 C。因
此,現用節目密鑰A被應用於要加密的ll個數據塊中的第一個,現用節目密 鑰B被應用於要加密的11個數據塊中的第二個,...,且現用節目密鑰C被應 用於要加密的11個數據塊中的第11個。這一相同輪轉方案ABCDABCDABC可用於欄位的下一及後續節目數據段。或者,下一節目數據段可以繼續輪轉。因此,現用節目密鑰A、 B、 C和 D被以如下次序應用於第二節目數據段中要加密的11個數據塊D、 A、 B、 C、 D、 A、 B、 C、 D、 A、 B。因此,現用節目密鑰D被用於要加密的11個數據 塊中的第一個,現用節目密鑰A被用於要加密的ll個數據塊中的第二個,..., 而現用節目密鑰B被用於要加密的ll個數據塊中的第11個。可以如圖15所 指示的對後續節目數據段繼續該輪轉。作為另一替換,可以使用其它輪轉順序。圖9中所示的系統控制字節的位 12至15能用於向接收器指示該特定輪轉被用於發送器中。輸出多路復用器16連續地發送加密的節目數據段直至出現發送消息段 MS(或是節目密鑰消息段PKMS或是修改密鑰消息段MKMS)的機會(事件)。 空分組的出現導致發送這些消息段之一機會,下一空分組的出現導致發送成對 消息段MS中的另一個的機會,以此類推。可以為根據空分組的出現定期發送 消息段MS建立一個目標。例如,該目標可以是以不高於每個312段的欄位一 次的頻率發送一個消息段MS。圖17中示出複製保護接收器的示例解密解碼器180。解密解碼器180包 括一個PID過濾器182,該過濾器基於PID號檢測加密的節目數據並將其它發 送至第一解密引擎184,並檢測節目密鑰消息段PKMS和修改密鑰消息段 MKMS並將它們發送至第二解密引擎186。第一解密引擎184執行與由第一加 密引擎14執行的單個巻繞加密過程互補的單個巻繞解密過程。當修改密鑰消息段MKMS被接收時,第二解密引擎186解密(解巻繞) 此消息段以恢復修改密鑰以及存儲器188的固定密鑰和散列值地址。固定密鑰 選擇器和消息段密鑰發生器190使用這些固定密鑰和散列值地址來從存儲器 188檢索固定密鑰和散列值。在解密修改密鑰消息段MKMS的情形中,固定 密鑰選擇器和消息段密鑰發生器190使用從存儲器188檢索到的固定密鑰和散 列值以及先前已知的修改密鑰,即具有已知預定值的修改密鑰來重新生成消息段密鑰,該密鑰曾在加密編碼器8中用於加密修改密鑰和校驗消息CRC並且 是解密解碼器180解密已加密的修改密鑰和校驗和消息CRC所需要的。在解 密節目密鑰消息段PKMS的情形中,固定密鑰選擇器和消息段密鑰發生器190 基於在節目密鑰消息段PKMS的修改量消息中所包含的存儲器地址以及已解 密的修改密鑰,使用從存儲器188檢索到的固定密鑰和散列值來重新生成消息 段密鑰,該密鑰曾在加密編碼器8中用於加密節目密鑰並且是解密解碼器180 解密已加密的節目密鑰消息KM1、 KM2、 KM3和KM4所需要的。當接收到節目密鑰消息段PKMS時,第二解密引擎186使用來自固定密 鑰選擇器和消息段密鑰發生器190的消息段密鑰解密消息段MS中的節目密鑰 並將已解密的節目密鑰存儲在存儲器192的下一部分中。同時,第一解密引擎 184使用存儲在存儲器192中的現用節目密鑰來解密來自所接收的欄位的節目 數據段的加密數據。如圖18中所示,第一解密引擎184包括三個部分184A、 184B和184C。 部分184A包括信號分離器200、存儲器202和204以及多路復用器206。部 分184B包括存儲器208、解密塊210和多路復用器212。部分184C包括 信號分離器214、存儲器216和218、以及多路復用器220。部分184A、 184B 和184C由PID過濾器182控制。PID過濾器182將MPEG傳輸流中的所有分組遞送至信號分離器200。所 有分組均被信號分離並被存儲在以往復切換方式操作的存儲器202和204中。 存儲器202和204中的所有分組被提供給多路復用器206。多路復用器206將來自存儲器202和204的所有分組遞送至存儲器208 以及解密塊210。這些分組包括節目分組(可以加密其中的一個或多個)、 消息段以及諸如PID、 PSIP、 PMT和PAT等非節目分組。解密塊210使用已 解密的節目密鑰PK來解密其接收的所有分組並將已解密的分組提供給多路復 用器212。信號分離器212響應於來自PID過濾器的解密標誌只從解密塊210 中選擇與所選擇的要解密的一個或多個節目相對應的已解密的分組。所有其它 分組(不與要解密的節目對應的分組)由多路復用器212從存儲器208中選擇。 因此,多路復用器212的輸出是減去空分組並包括消息段的原始MPEG傳輸流。 多路復用器212將已解密的和未加密的分組遞送至信號分離器214。來自信號分離器214的已解密的和未加密的分組被存儲在以往復切換方 式操作的存儲器216和218中。存儲器216和218中的己解密的和未加密的分 組通過多路復用器220提供給空插入分組222。空插入分組222由PID過濾器182控制以從傳輸流中移除節目密鑰消息段 PKMS和修改密鑰消息段MKMS,以及用空分組插回傳輸流以代替被移除的節 目密鑰消息PLMS和被移除的修改密鑰消息段MKMS。空插入分組的輸出是 己解密的MPEG流。第一解密引擎184的部分184A和184C由消息分組控制以維持合適的定 時、數據流速率和同步。固定密鑰選擇器和消息段密鑰發生器l卯在圖19中更詳細地示出。如圖 19中所示,節目密鑰消息段PKMS和修改密鑰消息段MKMS被提供給第二解 密引擎186。這些消息段中的每一個具有圖IO中所示的形式。因此,如圖20 中所示,使用存儲在存儲器230中的三個固定密鑰A,、 B,和C,以及三個散列 值A'、 B'和C'解密所接收的消息段中的修改量消息MM。存儲在存儲器230 中的三個固定密鑰A,、 B,和C,以及三個散列值A,、 B,和C,與存儲在存儲器 102中的固定密鑰和散列值相同。己解密的修改量消息MM特別是向接收器指出,相應的消息段是節目密 鑰消息段PKMS還是修改密鑰消息段MKMS。如果相應的消息段是節目密鑰 消息段PKMS,則接收器知道使用已解密的修改密鑰Km以及固定密明Ka和 Kb來產生解密節目密鑰消息所需的消息段密鑰。如果相應的消息段是修改密 鑰消息段MKMS,則接收器知道使用具有預定值的已知修改密鑰來讀出固定 密鑰KA、KB,或KA和KB的某個組合作為解密修改密鑰消息和校驗和消息CRC 所需的消息段密鑰。為了解密修改密鑰消息段MKMS和節目密鑰消息段PKMS中所接收到的 一個的修改量消息MM,多路復用器232將來自存儲器230的三個固定密鑰A,、 B,和C,以及三個散列值A,、 B,和C'通過密鑰擴展器234遞送至第二加密引擎 186。密鑰擴展器234例如可以類似於密鑰擴展器104並只擴展固定密鑰A'、 B'和C,。密鑰擴展器234不擴展散列值A'、 B'和C'。執行與由加密引擎18執行的互補的操作的第二加密引擎186在圖20中更 詳細地示出。如圖20中所示,散列值C'被提供給異或門236,散列值B'被提 供給異或門238而散列值A,被提供給異或門240。異或門236、 238和240按 位處理他們相應的輸入。擴展的固定密鑰C'被提供給AES解密器242,擴展 的固定密鑰B'被提供給AES解密器244而擴展的固定密鑰A'被提供給AES 解密器246。加密的修改量消息MM的第一個1/4被提供給AES解密器242,加密的 修改量消息MM的第二個1/4被提供給AES解密器246,加密的修改量消息 MM的第三個1/4被提供給AES解密器244而加密的修改量消息MM的第四 個1/4被提供給AES解密器242。AES解密器242根據擴展的固定密鑰C'解密己加密的修改量消息MM的 第一個1個1/4和第四個1/4,並將解密結果的一半提供給異或門236並提供另 一半作為解密的修改量消息MM的控制位的第三個1/3。 AES解密器244根據 擴展的固定密鑰B,解密異或門236的輸出以及加密的修改量消息MM的第三 個1/4,並將解密結果的一半提供給異或門238並提供另一半作為解密的修改量 消息MM的控制位的第二個1/3。AES加密器246根據擴展的固定密鑰A'解密 異或門238的輸出以及加密的修改量消息MM的第二個1/4,並將加密結果的一 半提供給異或門240並提供另一半作為解密的修改量消息MM的第一個1/3。 異或門240的輸出是修改量消息MM的初始值。如果此初始值與在修改量消息 MM的加密期間使用的初始值不同,則加密/解密過程具有指示錯誤消息解密 的錯誤。如圖19中所示,多路復用器250將解密的修改量消息MM的控制位應用 於修改量消息解碼器252。在修改量消息MM的解密之後,多路復用器232將存儲在消息段密鑰存 儲器254中的三個消息段密鑰A、 B和C以及三個散列值A、 B和C遞送至密
鑰擴展器234。當修改密鑰消息段MKMS被解密時,這三個消息段密鑰被生 成為具有帶預定值的修改密鑰。密鑰擴展器只擴展三個消息段A、 B和C,它 不擴展三個散列值A、 B和C。三個擴展的消息段密鑰A、 B和C和三個散列 值A、 B和C由第二解密引擎186用於解密所接收的修改密鑰消息段MKMS 中的修改密鑰消息MK1。如上所示,三個修改密鑰消息MK1、 MK2禾nMK3 以及校驗和消息CRC中的每一個具有圖12中所示的格式,且每一消息的控制 是指示特定消息是節目密鑰消息、修改密鑰消息還是校驗和消息的密鑰控制 98。如圖20中所示,散列值C被提供給異或門236,散列值B被提供給異或 門238而散列值A被提供給異或門240。擴展的固定密鑰C被提供給AES解 密器242,擴展的固定密鑰B被提供給AES解密器242,擴展的固定密鑰B被 提供給AES解密器244,而擴展的固定密鑰A被提供給AES解密器246。加密的修改密鑰消息MK1的第一個1/4被提供給AES解密器242,加密 的修改密鑰消息MK1的第二個1/4被提供給AES解密器246,加密的修改密 鑰消息MK1的第三個1/4被提供給AES解密器244,而加密的修改密鑰消息 MK1的第四個1/4被提供給AES解密器242。AES解密器242將其解密結果的一半提供給異或門236並提供另一半作 為已解密的修改密鑰MK1的第二個1/2。AES解密器244將其解密結果的一半 提供給異或門238並提供另一半作為已解密的修改密鑰的第一個1/2。 AES加 密器246將其加密結果的一半提供給異或門240並提供另一半作為已解密的修 改密鑰的控制。異或門240的輸出是修改密鑰消息的初始值。如果此初始值是 與在修改密鑰MK1的加密期間所使用的初始值不同,則加密/解密過程具有指 示需要補救動作的錯誤。解密引擎186類似地解密修改密鑰消息MK2和MK3以及校驗和消息 CRC。多路復用器250遞送圖19中所指示的控制和校驗和,並遞送修改密鑰 用於存儲在修改密鑰存儲器256中。以下對所接收的修改密鑰消息段MKMS、固定密鑰選擇器和消息段密鑰 發生器190的說明能開始生成將用於解密來自下一接收的節目密鑰消息段
PKMS的節目密鑰的新消息段密鑰。修改量消息解碼器252解碼每一消息段中的接收並己解密的修改量消息 MM以根據圖8和9中所示的修改量消息格式和定義來確定地址。固定密鑰選 擇器260使用這些地址來從存儲器188中選擇相同的三個KA密鑰,相同的三 個KB固定密鑰以及相同的三個散列值A、 B和C它們被用於生成在加密編碼 器8中加密消息段PKMS和MKMS的消息段密鑰A、 B和C。第一密鑰存儲 器262存儲選中的三個Ka密明,第二固定密鑰存儲器264存儲選中的三個KB 密鑰而消息段密鑰存儲器254存儲所選中的三個散列值A、 B和C。消息段密鑰發生器266可以具有與圖6中所示的消息段密鑰發生器卯相 同的結構。因此,當生成消息段密鑰來解密節目密鑰時(否則,具有預定值的 修改密鑰被用於生成消息段密鑰以解密修改密鑰),鎖存器92^貞存固定密鑰 存儲器262中所存儲的三個固定密鑰KA中的第一個的前32位,鎖存器922鎖 存固定密鑰存儲器264中所存儲的三個固定密鑰KB中的第一個的前32位而鎖 存器923鎖存修改密鑰存儲器256中所存儲的三個修改密鑰Km中的第一個的 前32位。這96個鎖存的位形成一個96位地址,該地址讀出第一消息段密鑰 的前32位用於存儲在消息段密鑰存儲器254中。在接收器中選擇與在發送器中選擇的相同的表以提供存儲在消息段密鑰 存儲器254中的三個消息段密鑰。在從查找表94中讀出第一消息段密鑰的前32位並將其存儲在消息段密鑰 存儲器254中之後,當生成消息段密鑰以解密節目密鑰時(否則,具有預定值 的修改密鑰被用於生成消息段密鑰以解密修改密鑰),鎖存器92i鎖存固定密 鑰存儲器262中所存儲的三個固定密鑰KA中的第一個的第二個32位,鎖存器 922鎖存固定密鑰存儲器264中所存儲的三個固定密鑰KB中的第一個的第二個 32位而鎖存器923鎖存修改密鑰存儲器256中所存儲的三個修改密鑰Km中的 第一個的第二個32位。這96個鎖存的位形成一個96位地址,該地址讀出第 一消息段密鑰的第二個32位用於存儲在消息段密鑰存儲器254中。當生成消息段密鑰以解密節目密鑰時(否則,具有預定值的修改密鑰被用 於生成消息段密鑰以解密修改密鑰),存儲在固定密鑰存儲器262中的三個固 定密鑰KA中的第一個的第三和第四個32位、存儲在固定密鑰存儲器264中的 三個固定密鑰KB中的第一個的第三和第四個32位和存儲在修改密鑰存儲器 256中的三個修改密鑰KM中的第一個的第三和第四個32位被用於從查找表94 中讀出第一消息段密鑰的第三和第四個32位。第一消息段密鑰的這些第三和 第四個32位還被存儲在消息段密鑰存儲器254中以形成第一消息段密鑰的所 有128位。第二和第三消息段密鑰被類似地從査找表94讀出並被存儲在消息 段密鑰存儲器254中。當接收到下一節目密鑰消息段PKMS時,所接收的消息段MS中的修改 量消息MM如以前使用存儲在存儲器230中的固定密鑰A'、 B'和C,以及散列 值A'、 B'和C'一樣地被解密。隨後,多路復用器232將來自消息段密鑰存儲 器254的三個消息段密鑰A、 B和C以及三個散列值A、 B和C通過密鑰擴展 器234遞送至第二加密引擎186。密鑰擴展器234隻擴展消息段密鑰A、 B和 C。密鑰擴展器234不擴展散列值A、 B和C。在第二加密引擎186中,散列值C被提供給異或門236,散列值B被提供 給異或門238而散列值A被提供給異或門240。擴展的固定密鑰C被提供給 AES解密器242,擴展的固定密鑰B被提供給AES解密器244而擴展的固定 密鑰A被提供給AES解密器246。加密的第一節目密鑰消息KM1的第一個1/4被提供給AES解密器242, 加密的第一節目密鑰消息KMl的第二個1/4被提供給AES解密器246,加密 的第一節目密鑰消息KMl的第三個1/4被提供給AES解密器244而加密的第 一節目密鑰消息KM1的第四個1/4被應用於AEC解密器242。AES解密器242根據擴展的固定密鑰C解密已加密的第一節目密鑰消息 KMl消息的第一個1/4和第四個1/4,並將解密結果的一半提供給異或門236並 提供另一半作為已解密的第一節目密鑰消息KMl的第一個節目密鑰的第二個 1/2。 AES解密器244根據擴展的固定密鑰B解密異或門236的輸出以及已加 密的第一節目密鑰消息KMl消息的第三個1/4,並將解密結果的一半提供給異 或門238而提供另一半作為已解密的第一節目密鑰消息KM1的第一個節目密 鑰的第一個1/2。 AES解密器246根據擴展的固定密鑰A解密異或門238的輸
出以及已加密的第一節目密鑰消息KM1的第二個1/4,並將加密結果的一半提供給異或門240而提供另一半作為已解密的第一節目密鑰消息KM1的控制。 異或門240的輸出是第一節目密鑰消息KM1的初始值。如果此初始值與在第 一節目密鑰消息KM1的加密期間所使用的不同,則加密/解密過程具有指示需 要補救動作的錯誤。其它三個節目密鑰消息KM2、 KM3和KM4被類似地解密。圖19的多路復用器250將這四個節目密鑰遞送至存儲器192的下一部分, 並遞送己解密的節目密鑰消息KM1、 KM2、 KM3和KM4中的每一個的控制。多路復用器270將使用以上相對於圖15和16所述的輪轉的現用節目密鑰 通過密鑰擴展器272遞送至解密塊210,使得可以解密合適的數據。密鑰擴展 器272可以根據圖4構造。如在密鑰擴展器70的情形中,密鑰擴展器272還 包括逆向密鑰塊。此逆向密鑰塊在節目解密期間被停用而在節目密鑰消息段 PLMS和修改密鑰消息段MKMS的解密期間被啟用。在來自存儲器192的現用部分的現用密鑰被解密塊210用於解密數據的同 時,下幾個節目密鑰被接收並存儲在存儲器192的下一部分。修改量消息解碼器252還解碼所接收的己解密的修改量消息MM的全系 統控制。如上所述,圖9中示出修改量消息MM的系統控制。因此,修改量消 息解碼器252將與編碼器相同的CRC代碼應用到所接收的消息段PKMS或 MKMS中的修改量消息MM的系統控制的位0至15以重新計算校驗和16至 31位。接收器將來自位O至15的重新計算的校驗和與所接收的系統控制中的 校驗和位16至31相比較。如果來自位0至15的重新計算的校驗和與所接收 的校驗和位16至31不匹配,則所接收的消息段被當作預計在所接收的消息段 的序列中接收的下一消息段。修改量消息解碼器252還使用系統控制的已解碼的位12至15來確定節目 密鑰輪轉,該節目密鑰輪轉應由解密塊210用於解密如由從修改量消息解碼器 252延伸至多路復用器270的控制的線所示的加密節目分組,多路復用器270 用於選擇要使用的下一現用密鑰。以上已經討論了本發明的某些修改。本發明的其它修改將被在本發明的領 域中的技術人員想到。例如,如上所述的存儲器可以是ROM、 RAM、非易失 性RAM和/或任何其它合適的存儲設備。另外,如上所述,96X32查找表被用於生成消息段密鑰。因此,96地址 位被用於讀取消息段密鑰的32位。作為代替,可以使用其它查找表和尋址方 案來生成消息段密鑰。例如,384X 128查找表能用於生成消息段密鑰。因此, 包括128Km位、128Ka位和128Kb位的384的地址位可用於讀取128位消息段 密鑰。無論哪一個査找表和尋址方案被用於發送器中,均應在接收器中使用 相同的查找表和尋址方案。因此,本發明的說明應被理解成只為示例以及教導本領域的技術人員實現 本發明的最佳模式。細節可顯著變化而不背離本發明的精神,在所附權利要求 的範圍內的所有修改的專門使用被保留。
權利要求
1.一種由接收器實現的用於解密已加密數據的方法,包括從發送器接收數據密鑰,其中所述數據密鑰是由隨機數發生器用要在所述發送器中加密的數據產生的種子作為種子來生成的;從所述發送器接收一個同步信號以代替MPEG傳輸流中的空分組;從所述發送器接收所述MPEG傳輸流中的已加密數據;以及響應於所接收的同步信號同步所述數據密鑰的使用以解密所接收的已加密數據。
2. 如權利要求l所述的方法,其特徵在於,還包括在接收所述同步 信號之前從所述發送器接收所述數據密鑰。
3. 如權利要求l所述的方法,其特徵在於,從所述發送器接收的所述 數據密鑰是被加密的,並且其中同步所述數據密鑰的使用以解密所接收的 已加密數據包括解密所述己加密的數據密鑰;以及根據所述己解密的數據密鑰解密所接收的已加密的數據。
4. 如權利要求3所述的方法,其特徵在於,所述同步信號包括代替所述MPEG傳輸流中的當前空分組接收的當前同步信號,其中所述已加密的數據密鑰的解密包括根據修改密鑰解密所述已加密的數據密鑰,並且其中所述修改密鑰被包含在代替所述MPEG傳輸流中的先前空分組接收的先前接 收同步信號中。
5. 如權利要求l所述的方法,其特徵在於,所述接收同步信號以代替 空分組包括接收當前同步信號以代替當前空分組,其中所述接收數據密鑰 包括接收數據密鑰信號以代替所述MPEG傳輸流中的先前空分組,其中所述先前空分組出現在所述當前空分組之前,並且其中所述數據密鑰信號包含 所接收的數據密鑰。
6. 如權利要求5所述的方法,其特徵在於,從所述發送器接收的數據密鑰是被加密的,並且其中同步所述數據密鑰的使用以解密所接收的已加密數據包括解密所述已加密的數據密鑰;以及, 根據已解密的數據密鑰解密所接收的已加密數據。
7. 如權利要求6所述的方法,其特徵在於,所述解密己加密數據密鑰 包括根據修改密鑰解密所述已加密數據密鑰,其中所述方法還包括接收 修改密鑰同步信號以代替在所述先前空分組先前的空分組,並且其中所述 修改密鑰同步信號包含所述修改密鑰。
8. 如權利要求l所述的方法,其特徵在於,所述接收數據密鑰包括接 收多個數據密鑰,並且其中同步所述數據密鑰的使用以解密所接收的已加 密數據包括根據模式輪轉所述數據密鑰,並基於已輪轉的數據密鑰解密所 接收的數據。
9. 如權利要求8所述的方法,其特徵在於,還包括從發送器接收所述 模式的標識。
10. 如權利要求l所述的方法,其特徵在於,所述數據包括視頻。
11. 如權利要求1所述的方法,其特徵在於,還包括在解密所述數 據之前解密所述數據密鑰。
12. 如權利要求1所述的方法,其特徵在於,所述數據密鑰的接收包括接收由消息段密鑰加密的數據密鑰,其中同步所述數據密鑰的使用以解 密所接收的已加密的數據包括接收與固定密鑰相對應的存儲器地址; 根據所述存儲器地址從存儲器檢索所述固定密鑰; 從所述固定密鑰生成所述消息段密鑰; 根據所述消息段密鑰解密所述數據密鑰;以及 根據所述已解密的數據密鑰解密所述數據的至少一部分。
13. 如權利要求12所述的方法,其特徵在於,生成所述消息段密鑰包括接收修改密鑰;以及,從所述固定密鑰和所述修改密鑰生成所述消息段密鑰。
14. 如權利要求13所述的方法,其特徵在於,所述存儲器地址包括第 一存儲器地址,其中所述固定密鑰包括第一固定密鑰,其中所述消息段密 鑰包括第一消息段密鑰,其中所述修改密鑰包括第一修改密鑰,其中所接收的第一修改密鑰是被加密的,並且其中所述方法還包括 接收第二存儲器地址;基於所述第二存儲器地址從存儲器檢索第二固定密鑰; 根據具有預定值的第二修改密鑰以及根據所述第二固定密鑰生成第二 消息段密鑰;以及,根據所述第二消息段密鑰解密所述第一修改密鑰。
15. 如權利要求14所述的方法,其特徵在於,所述第一和第二存儲器 地址是已加密的第一和第二存儲器地址,並且其中所述方法還包括通過使 用第三固定密鑰來解密所述已加密的第一和第二存儲器地址。
16. 如權利要求l所述的方法,其特徵在於,接收所述MPEG傳輸流中 的已加密數據包括接收至少一個已加密節目和未加密的psi數據,其中所 述未加密PSI數據涉及所述已加密的節目,並且其中同步所述數據密鑰的 使用以解密所接收的已加密的數據包括-根據所述未加密的PSI數據定位所述已加密的節目;以及, 根據所述數據密鑰解密所述定位到的己加密節目。
17. 如權利要求l所述的方法,其特徵在於,接收所述同步信號包括 接收已加密的同步信號,並且其中所述響應於所接收的同步信號同步所述 數據密鑰的使用以解密所接收的已加密數據包括響應於所接收的已加密 的同步信號同步所述數據密鑰的使用以解密所接收的已加密數據。
18. —種用於將已加密消息解密成具有順序的第一、第二、第三和第四已解密數據部分的已解密數據的三重巻繞解密方法,其中所述已加密消 息具有順序的第一、第二、第三和第四已加密部分,所述方法包括 從發送器接收所述己加密消息以代替M P E G傳輸流中的空分組;根據第一密鑰解密所述第一和第四已加密部分以生成第一中間解密數 據和第四解密數據部分; 由第一算子根據第二密鑰處理所述第一中間解密數據以生成第一算子 輸出;根據第三密鑰解密所述第一算子輸出和所述第三已加密部分以生成第 二中間解密數據和第三解密數據部分;由第二算子根據第四密鑰處理所述第二中間解密數據以生成第二算子輸出;根據第五密鑰解密所述第二算子輸出和所述第二已加密部分以生成第 三中間解密數據和所述第二已解密數據部分;以及由第三算子根據第六密鑰處理所述第三中間解密數據以生成所述第一 已解密數據部分。
19. 如權利要求18所述的方法,其特徵在於,所述由第一算子處理所 述第一中間解密數據包括由第一邏輯門處理所述第一中間解密數據,其 中所述由第二算子處理所述第二中間解密數據包括由第二邏輯門處理所述 第二中間解密數據,並且其中由第三算子處理所述第三中間解密數據包括 由第三邏輯門處理所述第三中間解密數據。
20. 如權利要求19所述的方法,其特徵在於,所述由第一邏輯門處理所述第一中間解密數據包括由第一異或門處理所述第一中間解密數據,其 中所述由第二邏輯門處理所述第二中間解密數據包括由第二異或門處理所 述第二中間解密數據,並且其中所述由第三邏輯門處理所述第三中間解密數據包括由第三異或門處理所述第三中間解密數據。
21. 如權利要求18所述的方法,其特徵在於,所述第一已解密數據部分包括一初始值。
22. 如權利要求21所述的方法,其特徵在於,所述方法還包括基於所述初始值來檢測解密錯誤。
23. 如權利要求21所述的方法,其特徵在於,所述第二、第三和第四已解密數據部分包括控制信息。
24. 如權利要求21所述的方法,其特徵在於,所述第二已解密數據部分包括控制信息,其中所述第三和第四已解密數據部分包括節目密鑰,並 且其中所述方法還包括接收已加密的節目數據;以及,根據所述節目密鑰解密所述已加密的節目數據。
25. 如權利要求21所述的方法,其特徵在於,所述第二己解密數據部 分包括控制信息,並且其中所述第三和第四輸入數據部分包括用於解密節 目密鑰的修改密鑰,所述節目密鑰用於解密節目數據。
26. 如權利要求18所述的方法,其特徵在於,所述第二、第四和第六密鑰比所述第一、第三和第五密鑰短。
27. 如權利要求18所述的方法,其特徵在於,所述第二、第四和第六 密鑰具有所述第一、第三和第五密鑰一半的長度。
28. 如權利要求18所述的方法,其特徵在於,所述由第一算子根據第 二密鑰處理所述第一中間解密數據以生成第一算子輸出包括將所述第一 中間解密數據乘以所述第二密鑰,其中所述由第二算子根據第四密鑰處理 所述第二中間解密數據以生成第二算子輸出包括將所述第二中間解密數據 乘以所述第四密鑰,並且其中所述由第三算子根據第六密鑰處理所述第三 中間解密數據以生成所述第一解密數據部分包括將所述第三中間解密數據 乘以所述第六密鑰。
29. 如權利要求18所述的方法,其特徵在於,還包括在所述加密消息之前接收節目密鑰;從所述發送器接收所述M P E G傳輸流中的已加密數據;以及, 響應於所接收的已加密消息同步所述節目密鑰的使用以解密所接收的 已加密數據。
30. 如權利要求29所述的方法,其特徵在於,所述接收已加密消息以代替空分組包括接收當前已加密消息以代替當前空分組,其中所述接收節 目密鑰包括接收節目密鑰信號以代替所述MPEG傳輸流中的先前空分組,其中所述先前的空分組出現在所述當前空分組之前,並且其中所述節目密鑰信號包含所接收的節目密鑰。
31. 如權利要求30所述的方法,其特徵在於,從所述發送器接收的所 述節目密鑰是被加密的,並且其中同步所述節目密鑰的使用以解密所接收 的已加密數據包括解密已加密的節目密鑰;以及,根據所述已解密的節目密鑰解密所接收的已加密數據。
32. 如權利要求31所述的方法,其特徵在於,所述解密已加密的節目 密鑰包括根據修改密鑰解密所述已加密的節目密鑰,其中所述方法還包括 接收修改密鑰信號以代替在所述先前空分組先前的空分組,並且其中所述 修改密鑰同步信號包含所述修改密鑰。
33. 如權利要求29所述的方法,其特徵在於,所接收的已加密消息在 由所接收的已加密消息同步所述節目密鑰的使用來解密所接收的已加密數 據之後被解密。
34. 如權利要求18所述的方法,其特徵在於,還包括接收已加密的節目密鑰;根據所述第一、第二、第三和第四已解密數據部分中的一個或多個解 密所述已加密的節目密鑰;以及根據所述已解密的節目密鑰解密所接收的已加密數據。
35. 如權利要求34所述的方法,其特徵在於,所述已加密的消息包括 代替所述MPEG傳輸流中的第一空分組接收的第一已加密消息,其中所述接 收已加密節目密鑰包括接收代替所述第一空分組之後的第二空分組接收的 第二已加密消息中的已加密節目密鑰,其中解密所述已加密節目密鑰包括 根據修改密鑰解密所述已加密節目密鑰,並且其中所述修改密鑰包含在所 述第一己加密消息中。
36. 如權利要求18所述的方法,其特徵在於,還包括接收多個節目密鑰; 根據模式輪轉所述節目密鑰;以及, 基於所述輪轉的節目密鑰來解密所接收的數據。
37. 如權利要求36所述的方法,其特徵在於,還包括從發送器接收所 述模式的標識。
38.如權利要求18所述的方法,其特徵在於,還包括接收至少一個已加密節目和未加密psi數據,其中所述未加密的psi數據涉及所述已加密的節目;根據所述未加密的psi數據定位所述已加密的節目;以及,根據節目密鑰解密所述定位到的已加密的節目。
全文摘要
接收器從發送器接收數據。數據密鑰是用從發送器中被加密的數據導出的種子作為種子由隨機數發生器產生的。接收器還接收一個同步信號以取代MPEG傳輸流中的空分組,接收該MPEG傳輸流中的加密數據,並響應於所接收的同步信號同步該數據密鑰的使用以解密所接收的已加密數據。另外或替換地,具有順序的第一、第二、第三和第四加密部分的加密消息通過三重卷繞解密技術的使用被解密成順序的第一、第二、第三和第四解密的數據部分。
文檔編號H04N7/167GK101213839SQ200680024061
公開日2008年7月2日 申請日期2006年5月18日 優先權日2005年5月25日
發明者R·C·豪格, R·特納 申請人:真尼詩電子有限公司;理察·劉易斯