建立會話密鑰的方法和實施該方法的單元的製作方法
2023-05-13 06:05:31
專利名稱:建立會話密鑰的方法和實施該方法的單元的製作方法
技術領域:
本發明涉及建立會話密鑰的方法和實施該方法的單元。
技術背景為在第一和第二單元之間的會話建立會話密鑰的一種公知方法是DiffieHellman方法,也稱為STS (站到站)協議。在DiffieHellman方法中,每一單元構建a項,另一單元可才艮據該 a項基於下式建立會活密鑰K:Ks=apmod n其中卞是隨機數;以及Diffie Hellman方法易於受到截獲者攻擊和重放攻擊。 截獲者攻擊在以下文獻中有詳細描述 Douglas Stinson, "Cryptographie Th6orie et Pratique" [Cryptography Theory and Practice], International Thomson Publishing France, Paris, 1996 (section 8.4.1)重放攻擊實質上在於存儲第 一單元發送給第二單元的消息並在隨 後再次使用所存儲的消息來欺騙第二單元。WILEY出版的BRUCE SCHNEIER所著"Cryptographie Appliqu6e"[實用密碼技術的第22.1和22.2節提出了一種建立能夠抵禦 截獲者攻擊和重放攻擊的會話密鑰的方法。這一方法是奏效的,但是可能 導致在被攻擊的情況下執行不必要操作,這反映在數據處理資源在一個單 元或者另一單元中不必要的調動。除密碼單元之間使用時,這種數據處理資源不必要的調動的問題尤為嚴 重。這是因為傳統的解擾器單元和傳統的可移除密碼單元的數據處理資源 有限。對於釆用微晶片卡形式的可移動密碼單元尤其如此。發明內容因此本發明目的在於通過提出一種為在解擾器單元與可移除的密 碼單元之間的M建立會話密鑰的方法,解決了對於接收加擾多媒體信號的i殳備的這一問題,其中該方法就凝:據處理資源而言更為經濟。 本發明因此包括一種建立會話密鑰的方法,其中a) 第 一單元抽取隨機數並將該隨機數發送到另 一單元;b) 該另一單元,或者說第二單元,構建a項,第一單元可以根據該 a項基於下式建立所述會話密鑰K:Ks=ap mod n其中p是第一單元產生的隨機數而n ^t數,c) 第二單元向第一單元發送消息,該消息包含接收的隨機數、a項 以及使用私有密鑰K^產生的對該隨機數和/或a項的籤署;然後d) 第一單元使用與私有密鑰K^對應的公共密鑰K3pu來lHiE該籤 署並且將其接收的隨機數與所發送的隨機數進行比較;以及e) 如果該籤署不正確或者如果其接收的隨機數與所發送的隨機數不匹配,則第一單元不繼續進行建立會活密鑰的後續步驟。如果發起截獲者攻擊,則可在步驟d)中通過IHi籤署檢測到該攻 擊,由此不執行建立會話密鑰的進一步步驟。如果發起重放攻擊,則也可在步驟d)中通過比較所發送的隨機數與 其接收的隨機數檢測到該攻擊,由此不執行建立會活密鑰的進一步步驟。由此,與在SCHNEIER的著作的第22.1和22.2節中公開的方法相 比,上述方法能夠節約數據處理資源。這是因為在SCHNEIER的著作中 描述的方法沒有在一發起截獲者攻擊或者重放攻擊時就中斷構建會話密 鑰的過程。在攻擊發生之後仍然進行會活密鑰構建操作,儘管這些會話密 鑰構建操作是沒有必要的,因為例如在發現攻擊時會放棄已經構建的或者 在構建過程中的會話密鑰。該建立會話密鑰的方法的實施可以包括如下特徵中的一個或者多個特徵'互換第一單元和第二單元的角色,重複步驟a)至e)。'在步驟a)至e)之前,解擾器單元和可移除的密碼單元相互交換+第一/>共密鑰Klpu;+第一證書,至少包含第二公共密鑰K2pu並且被使用與第一公共密 鑰K^相對應的第一私有密鑰K4pr籤署;以及+第二證書,至少包含第三公共密鑰K3pu並且被使用與第二公共密 鑰K—相對應的第二私有密鑰K2pr籤署,第三/>共密鑰K一對應於在步 驟C)中實現籤署的私有密鑰K3pr;以及-解擾器單元和可移除的密碼單元各自驗證所接收的第一證書和第 二證書,且僅在解擾器單元和可移除的密碼單元已能成功驗證它們每一個已接收的第一和第二證書的真實性時,繼續進行步驟a)至e)。 所述單元中的至少 一個基於向另 一單元發送和/或從另 一單元接收 的消息個數使第 一 內部計數器遞增,且在第 一計數器超出預定的第 一閾值 時,自動觸發對新的會活密鑰的建立。 另 一單元基於該同 一消息個數使第二內部計數器遞增,且在所述 第二計數器超出高於第一閾值的預定的第二閾值時,自動地使對多^^體信號的解擾停止;所述單元中的每一個根據所發送和/或接收的消息的個數使內部計 數器遞增,所述單元中的至少一個在向另 一單元發送的每條消息上添加冗 餘代碼,所述冗餘代碼根據要發送的消息的內容以及其內部計數器的當前 值計算,而另 一單元通過比較所添加的冗餘代碼與根據其接收的消息的內 容以及該另一單元自己的內部計數器的當前值計算的冗餘代碼來驗證所 接收的消息的準確性。另外,建立會話密鑰的方法的這些實施例具有如下優點'在解擾器單元與密碼單元之間的證書交換例如保證了只有經信任 機構批准的,即擁有第一有效證書的製造商可以構建可使用的解擾器單元 或者密碼單元;-根據內部消息計數器的值來觸發建立新的會話密鑰實現了對M 密鑰的定期修改,這使這兩個單元之間的信息交換更安全-如果第二內部消息計數器超出預定的第二閾值則觸發停止對多媒 體信號的解擾是對使用剽竊的解擾器單元或者密碼單元所釆取的對策,這將不會觸發對新的會話密鑰的建立;'在各單元中使用內部消息計數器並且使用這些計數器的值來計算 和驗證冗餘代碼驗證了在這兩個單元之間交換的消息的同步性並且有助 於使重放攻擊更困難;以及-對在兩個單元之間交換的包括證書交換和會話密鑰更新過程消息 的所有消息進行加密使得對交換的信息的密碼分析更困難。本發明還包括適於在建立會話密鑰的上述方法中使用的單元。
在閱讀僅通過例子以及參照附圖給出的以下描述之後可以更好地 理解本發明,在附圖中-圖1是用於發送加擾多媒體信號的系統的架構的示意圖,其中該 系統包括用於接收此種信號的設備;*圖2是建立用於圖1的接收器設備的密碼證書的方法的流程圖;'圖3A和3B構成為在圖1的接收器設備的解擾器單元與可移除的 密碼單元之間的會話建立會話密鑰的方法的流程圖;以及'圖4是在圖1的接收器設備的解擾器單元與可移除的密碼單元中 交換加密消息的方法的流程圖。
具體實施方式
圖1表示用於發送和接收加擾多媒體信號(如視聽信號或者多媒體 節目)的系統2。系統2包括發送器4,該發送器適於同時向多個接收器 設備廣播被使用控制字加擾的多媒體信號。該發送器4也適於向^收器 設備發送包含要用來對該多媒體信號進行解擾的控制字的權利控制消息 (ECM)和包含用於管理用戶訪問權的信息的權利管理消息(EMM)。為筒化圖1,僅示出了一個接收器設備6。這裡僅描述設備6的對 於理解本發明而言必需的細節。i殳備6例如由三個實體形成,即-具有天線12的解碼器10,用於接收發送器4廣播的加擾多媒體信 號以及用於在解擾這些信號之後解碼這些信號;.單元14,用於對接收的多媒體信號進行解擾;以及'可移除的密碼單元,比如可移除的安全處理器16,適於解密ECM 中包含的控制字。下文提到的控制字適於ECM的一個或者多個控制字。解碼器10還連接到顯示單元20 (如電# ),在該顯示單元上顯示 單元14解擾的多媒體信號。單元14採用例如可移除的PCMCIA (個人計算M儲器卡國際協 會)卡的形式,旨在可4艮據EN 50221標準"Common InterfaceDecoder Applications,,被插入到解碼器10中。為此,解碼器10和單元14 各具有用於M地耦合和分開單元14和解碼器10的連接器。單元14包 括適於解擾被使用控制字加擾的多媒體信號的解擾器22。單元14包括這裡表示為存儲器26的信息存儲裝置以及加密和解密 模塊28。模塊28適於使用會話密鑰IQ加密和解密在單元14與處理器16之 間交換的每個消息的全部或者部分。所用的加密和解密算法例如是DES (數據加密標準)算法。存儲器26包含三種密碼證書C1T、 Crr和C3T。證書C1T包括'公共密鑰KTlpu;-證書到期曰期;以及'使用與公共密鑰K^pu相對應的私有密鑰Knpr根據證書Cn中包含的數據產生的籤署SigmK叫r (自籤署證書)。 證書C2T包括 '公共密鑰KT2pu; -證書到期曰期;以及-使用私有密鑰Knpr根據證書C2T中包含的數據產生的籤署二後,證書Cst包括公共密鑰KT3pu、證書到期日期和使用與麼共密鑰KT2pu相對應的私有密鑰Ki2pr根據證書C3T中包含的數據產生的籤署Sign3KT2pr。存儲器26還包含私有密鑰KT3pr、闊值預加載的會話密鑰Ksp、 大的質數n和屬於集合Zn的數g,其中集合Zn是從0到n-l的整數集。私有密鑰KT^對應於公共密鑰KT3pu。例如,這裡所述的包含在存儲器26中的所有數據在單元14的製造 期間被存儲在存儲器26中。單元14還包括用於對在單元14和處理器16 之間交換的消息進行計數的計數器30、包含當前日期的寄存器32以及適 於為發送到處理器16的消息建立冗餘代碼以及mi所接收的消息的冗餘 代碼的計算器34。安全處理器16採用例如適於插入到解擾器單元14中的微晶片卡的 形式。為此,單元14和處理器16每一個均包括用於耦合和分開單元14 和處理器16的連^^口 (如M連接器)。該安全處理器包括模塊52,該模塊適於使用與模塊28使用的加密 和解密算法兼容的加密和解密算法來加密和解密處理器16和單元14之間 交換的消息的全部或者部分。處理器16還包括用於提取和解密ECM中包含的控制字的模塊50。處理器16還包括'計算器54,適於計算向單元14發送的消息的冗餘代碼以及mst從 單元14接收的消息的冗餘代碼; 內部計數器56,用於對在單元14和處理器16之間交換的消息進 行計數;.包含當前日期的內部寄存器58;以及-被示為存儲器60的信息存儲裝置。存儲器60包含三種密碼證書Clc、 Ck和C3c。證書de包括公共密鑰Kclpu、證書到期日期和使用私有密鑰Kclpr根據證書dc的內容產生的籤署SignlKclpr。密鑰Kdpr對應於公共密鑰Kclpu (自籤署證書)。證書C2e包括公共密鑰Kc2pu、證書C2e的到期日期和使用私有密鑰 Kclpr根據證書C2c的內容產生的籤署Sign2Kclpr。證書C3e包括公共密鑰Kopu、證書C3e的到期日期和籤署Sign3Kc2pr。籤署Sign3Kc2pr是使用私有密鑰Kc2pr根據證書C3。的內容產生的。存儲器60還包含私有密鑰Kc3pr、預加載的會話密鑰Ksp、高於閾 值&的閾值S2、質數11和數g。私有密鑰Kc3pr對應於公共密鑰Kopu。預加載到存儲器60中的密鑰Ksp具有與加載到存儲器26中的密鑰Ksp相 同的值。例如,上述存儲器60中包含的數據在處理器16的製造期間被存儲。處理器16可以僅在它被插入到單元14中時與單元14交換消息。類似地,單元14可以僅在單元14插入到解碼器10中時向解碼器 IO發送解擾的多媒體信號。發送器4廣播被控制字加擾的多媒體信號,所述控制字通過ECM 被以加密形式發送到設備6。設備6接收該加擾的多媒體信號和ECM以及用於管理訪問權和系 統安全的權利管理消息(EMM)。 ECM和EMM由單元14發送到處理 器16。具體地,ECM被發送到處理器16的模塊50,該模塊從ECM中 提取控制字並且解密該控制字。以該方式被解密的控制字然後被發送到單元14,在該單元處又被饋 送到解擾器22。解擾器22使用該解密的控制字對所接收的加擾多^^體信 號進行解擾。解擾的多媒體信號然後^JC送到解碼器10,該解碼器對這 些信號進行解碼並且將它們發送到顯示器單元20以供呈現給用戶。在設備6中,使用會活密鑰Ks來加密在單元14與處理器16之間 交換的消息。根據不同的實施例,每個消息以該方式被全部地或者部分地 加密。在對每個消息進行部分加密的情況下,從ECM提取的並被從處理 器16發送到單元14的控制字構成由模塊52系統地加密的部分。會話密鑰Ks僅為處理器16和單元14所知。具體而言,密鑰Ks因 接收器設備而異。因而使得在處理器16與單元14之間交換的消息難以被 另 一接收器設備截獲而無法為其所用。接著參照圖2、圖3A、 3B和圖4的流程圖描述設備6的操作。圖2表示了一種建立證書C『C2T、 C3T、 Clc、 C2c和C3c的方法。 開始,信任^被提供證書C1T、證書Ck以及私有密鑰Knpr和Kclpr。信任機構例如是負責保證在單元14與處理器16之間可靠交換消息的實體。在步驟80中,信任機構為解擾器單元製造商選擇私有/公共密鑰對KT2pr/KT2pU。然後在步驟82中,該機構為該製造商構建證書C2T並且使用該機構的私有密鑰Knpr對該證書籤署。在步驟84中,在步驟82中構建的證書C2T、證書Cu和私有密鑰 KT2pr被發送到該解擾器單元製造商。針對每個解擾器單元製造商,重複步驟80至84。在步驟80中,分 配給一解擾器單元製造商的私有/公共密鑰對KT2pr/KT2pu與分配給其它制 造商的私有〃>共密鑰對不同。然後在步驟86中,每個製造商為製造的每一個解擾器單元選擇有/公共密鑰對KT3pr/KT3pu。私有/公共密鑰對Ki3pr/KT3pu優選地為製造的每個解擾器單元所特有。然後在步驟88中,製造商構建解擾器單元的證書C3T並且使用該製造商在步驟84中接收的私有密鑰KT2pr對該證書籤署。最後在步驟卯中,證書Cu、 C2T、 C玎和私有密鑰KT3pr被存儲於單元14的存儲器26中。在步驟卯中,預加載的會話密鑰Kp以及數n和g也被存儲於存 儲器26中。與步驟80至84並行,在步驟92至96中,信任機構完成與針對解 擾器單元製造商的任務相同的任務,但是這一次是針對安全處理器製造商。例如,除了證書CiT和C2T中和密鑰Knpr、 KT2pr、 KT2pu中的下標"T"被下標"C,,取代之外,步驟92、 94和96分別與步驟80、 82和84相同。類似地,與步驟86至卯並行,在步驟98至102中,安全處理器 製造商完成與解擾器單元製造商的任務相同的任務。例如,除了 C1T、 C2T、 C3T、 KT2pr、 KT3pr、 KT3pu各項中的下標"T,,被下標"C"取代之外,步驟98、 100和102分別與步驟86、 88和卯相同。三級證書的迭加的保證了只有經信任機構批准的製造商才可製造 能夠在設備6中工作的解擾器單元或者安全處理器。例如,非經批准的解 擾器單元14製造商不能生成由與有效證書C2i相對應的私有密鑰KT2pr 籤署的證書C3T。單元14 一JS^t製造好,即被插入到解碼器10中,且處理器16被 插入到單元14中以便解擾由發送器4發送的信號。然後執行用於建立公共對稱會話密鑰的圖3A和圖3B的方法。開始,在階段110中,處理器16和單元14通過交換它們的密碼證 書相互認證。更確切地,在步驟112中,單元14發送證書di到處理器16。在 步驟114中,處理器16從證書C1T中提取公共密鑰KTlpu。然後,在步驟116中,處理器16^所接收的證書dT的有效性。 在步驟116中,處理器16使用乂>共密鑰KnpuB證書C1T的籤署並且將 該證書中包含的到期日期與寄存器58中包含的當前日期做比較。如果證書被不正確地籤署或者已經到期(即如果當前日期在到期曰 期之後),則在步驟118中,處理器16向單元14發送命令淨止單元14的 消息並且自身也被停止。由此建立會話密鑰的過程被立即中斷。否則,即如果證書dT有效,則處理器16在步驟120中發送證書 Ck:到羊元14。在步驟122中,單元14從證書dc提取公共密鑰Kclu,然後在步 驟124中mit所接收的證書C1C的有效性。在步驟124中,單元14 JlHE證書C1C的籤署並且比較該證書中包 含的到期日期與寄存器32中包含的當前曰期。如果證書dc被不正確地籤署或者已經到期,則在步驟126中,單 元14向處理器16發送命令停止處理器16的消息,且單元14自身也被停 止。由此不執行建立會話密鑰的其它步驟。否則,即如果接收的證書dc有效,則在步驟128中,單元14和 處理器16交換和lHL波此的證書C2c和C2T。為此,在步驟128,重複步 驟112至126,其中分別用C2T、 C2C、 KT2pu、 Kc2pu各項取代C『C1C、 KTlpu 、 Kclpu各項。在步驟128結束時,如果已經確定所交換的證書之一被不正確地籤 署或者已經到期,則單元14(相應地,處理器16)在相當於步驟126(相 應地,118)的步驟129中向處理器16 (相應地,單元14)發送命4^止 處理器16(相應地,單元14)的消息並且自身也被停止。否則,如果在 步驟128結束時已經確定證書Qt和C2c有效,則在步驟130中,單元14和處理器16交換彼此的證書Cw和C3C並且發汪它們的有效性。例如,在步驟130中,重複步驟112至126,其中分別用C3T、 C3C、 KT3pu、 Kopu 各項取代di、 C1C、 KTlpu、 Kdpu各項。在步驟130結束時,如果已經確定所交換的證書之一被不正確地籤 署或者已經到期,則單元14(相應地,處理器16)在相當於步驟126(相 應地,118)的步驟131向處理器16 (相應地,單元14)發送命4^止處 理器16 (相應地單元14)的消息並且自身也被停止。否則,如果在步驟130結束時已經確定證書C3T和C3C有效,則觸發構建新的會活密鑰Ks的階段150,因為在階段110交換的所有證書都有效。因此清楚的是,只有在單元14和處理器16是由被批准的製造商制 造的情況下,單元14才可以通it^目互證書發汪的階段110與處理器16 — 起恰當地工作。另外,在階段110結束時,單元14特別地具有認證的公共密鑰KC3pu , 處理器16特別地可以使用認證的公共密鑰KT3pu。用於實現相互證書B階段llO的消息在單元14與處理器16之間 以被當前會話密鑰加密的形式被交換,如用於實現構建新的會話密鑰的階 段150的由單元14和處理器16交換的消息一樣。在階段150開始時,在步驟152中,單元14抽取隨機數A並且在 步驟154中將該隨機lfc^送到處理器16。在步驟156中,處理器16接收包含數A的消息並且提取該數。在步驟158中,處理器16抽取隨機數h,然後在步驟160中使用下 式構建X項X=gu mod n (1)其中 g和n是存儲於存儲器60中的數; "'mod,,表示求冪gu被實施模n。然後在步驟162中,處理器16以預定方式組合X項和隨機數A並且使用該處理器的私有密鑰Kc3pr對結果進行籤署。所述組合的一個例子是X項和隨機數A的拼接(concatenation )。在步驟164中,處理器16抽取隨機數B。此後,在步驟166中,包含隨機數B、 X項、隨機數A以及X和A 的籤署的消息被發送到單元14。在單元14接收到該消息時,在步驟168中,單元14使用公共密鑰 KC3pu來驗證所述X項和隨機數A的籤署。如果籤署不正確,則在步驟170中,單元14 ^^令停止處理器16, 且然後它自身也被停止。否則,即如果X項和隨機數A的籤署正確,則在步驟172中,單 元14從所接收的消息中提取X項和隨機數A。然後,在步驟174中,單元14比較所接收的數A與在步驟154中 發送的數A。如果接收的隨機數與發送的隨機數不同,則單元14在步驟176中停止。否則,該過程繼續步驟178,其中單元14從所接收的消息中提取隨 機數B並且抽取隨機數v。然後,在步驟180中,單元14使用下式構建 Y項Y=gv mod n (2)在步驟182中,單元14以預定方式(如拼接方式)組合Y項和隨 機數B,並使用私有密鑰KT^對該組合結果進行籤署。在步驟184中,單元14向處理器16發送包含Y項、隨機數B以 及Y和B的籤署的消息。在步驟l卯中,處理器16接收該消息,且在步驟192中使用公共 密鑰KT3puB Y項和隨機數B的籤署。如果籤署不正確,則在步驟194中,處理器16命*止單元14, 且然後其自身也被停止。否則,在步驟196中,處理器16從所接收的消息中提取Y項和隨 機數B。然後,在步驟198中,處理器16比較所接收的隨機數B與在步驟 166中發送的隨機數B。如果這些隨機數不相等,則處理器16在步驟200 中被停止。否則,在步驟204和214中,處理器16和單元14每一個繼續構建新的會活密鑰Ks。在步驟204中,處理器16使用下式來構建新的會話密鑰KS=YU mod n (3)然後,在步驟206中,處理器驗證在步驟204中構建的會話密鑰是 否包含在用於所使用的加密和解密算法的弱密鑰或者半弱密鑰列表中。在 Bruce Schneier的著作的第12.3節中描述了 DES算法的弱密鑰或者半弱 密鑰列表。如果構建的會話密鑰包含在這樣的弱密鑰或半弱密鑰列表中,則處 理器16保留該當前的會話密鑰,用於加密和解密與單元14交換的消息。如果構建的會活密鑰不包含在該弱密鑰或半弱密鑰列表中,則在步 驟208中,處理器16重新初始化它的計數器56,然後在步驟210中用新 的會活密鑰取代當前會活密鑰,所述新的會活密鑰之後被用來加密和解密 與單元14交換的消息。與步驟204至210並行,在步驟214中,單元14使用下式來構建 新的會活密鑰IQ:KS=XV mod n (4)單元14然後繼續進行驗證步驟216以找出在步驟214中構建的會 話密鑰是否包含在用於所使用的加密和解密算法的弱密鑰或者半弱密鑰 列表中。步驟216必須設計成與步驟206相一致。如果構建的會活密鑰包含在這樣的弱密鑰或者半弱密鑰列表中,則 在步驟218中,單元14通過返回到步驟112來立即觸發建立新的會話密 鑰的過程。如果構建的會話密鑰不是弱密鑰或者半弱密鑰,則在步驟220中, 單元14重新初始化它的計數器30,然後在步驟222中用已經構建的新的 會活密鑰取代當前會話密鑰。由此使用該新的會話密鑰對隨後在單元14 與處理器16之間交換的消息進行加密。應當注意,藉助於步驟168和192,可立即檢測到截獲者攻擊,這 將立即停止構建會話密鑰並且禁止進一步的交換。類似地,藉助於步驟 174和198,可立即檢測到重放攻擊,這將立即停止構建會話密鑰並且禁 止進一步的交換。圖4示出了如何構建和加密在單元14與處理器16之間交換的消息。這一過程在單元14中始於例如單元14向處理器16發送消息MT 的階段240。在階段240開始時,在步驟242中,計數器30被遞增一個預定步長。然後,在步驟244中,計算器34計算消息MT的冗餘代碼RT。該 冗餘代碼是向消息Mi施加的密碼算法(例如散列函數)的結果,且它的 ^ItA按照當前會話密鑰和消息計數器30的當前值來設置的。該冗餘代 碼使處理器16能夠IHE所接收的消息的完整性。然後,在步驟246中,使用當前會話密鑰Ks來加密消息Mi以獲得 密碼M/。在步驟247中,構建包含密碼M/和冗餘代碼RT的消息MRT。然後在步驟248中將消息M虹發送到處理器16。在步驟2491中,假設沒有會話密鑰改變過程在進行中,單元14比 較消息計數器30的值與閾值&。如果已經達到或者超出該閾值,則單元 14在步驟2492中存儲用以激活根據圖3A和3B的方法進行的會話密鑰 改變過程所需的內容。該密鑰改變過程特別地是在處理器16已經處理消 息Mrt之後由羊元14自動觸發,以免中斷進行中的處理。根據圖4的方 法處理在會活密鑰改變過程中交換的消息。處理器16然後繼續進行接收消息MRT的階段250。在階段250開始時,在步驟251,處理器16接收單元14發送的消 息MRT。然後,在步驟252中,處理器16比較計數器56的當前值與閾值S2。如果計數器56的值已經達到或者超出閾值S2,則處理器16在步驟 254停止。否則,在步驟256中,計數器56被遞增一個增量。單元14的計數器30和處理器16的計數器56的增量可以是任何增 量,例如l,但是它們必須相同以便計數器30和56同步,即使得它們的 值在驗證冗餘代碼的步驟之前是相同的。還應當注意同步計數器30和56 不要求在單元14與處理器16之間顯式交換計數器值。然後,在步驟258中,從接收的消息MRT中提取密碼M/,然後由17模塊52使用當前^"密鑰對該密碼M/進行解密以獲得消息MT。在步驟260中,計算器54驗證在所接收的消息MRT中包含的冗餘 代碼RT。為此,該計算器54以與單元14在步驟244中相同的方式使用 當前會話密鑰和計數器56的當前值來計算消息MT的冗餘代碼RT,。如果重構的冗餘代碼RT,與所接收的消息中包含的代碼RT不匹配, 則處理器16在步驟262中被停止。否則,處理器16在步驟263中處理所接收的消息MT。處理器16可以同樣繼續進行向單元14發送消息Mc的階段264。 在階段264開始時,在步驟2651中,處理器16測試計數器56是否已經 達到或者超出閣值S2。如果是,則該處理器在步驟2652被停止。否則,在步驟266,計數器56被遞增一個增量。然後,在步驟268 中,計算器54計算消息Mc的冗餘代碼Rc。與在步驟244中一樣,該冗 餘代碼的^^lt根據當前^^密鑰和消息計數器56的當前值來設置。在隨後的步驟270中,4吏用會活密鑰Ks來加密消息Mc以獲得密碼Mc*。在步驟271中,構建包含密碼Mj和冗餘代碼Rc的消息MRC。消 息MRC然後在步驟272中被發送到單元14。單元14然後繼續進行接收由處理器16發送的消息的階段276。在階段276開始時,在步驟278中,單元14接收由處理器16發送 的消息。在步驟284中,計數器30被遞增一個增量。與在步驟242、 256和 266中一樣,計數器30和56的增量可以^1任意增量,但是它們必須是相 同的以保證這兩個計數器的同步。然後,在步驟286中,模塊28從接收的消息中提取密碼Mj並且 使用當前M密鑰Ks來對該密碼Mj進行解密。然後,在步驟288中,計算器34驗證所接收的消息中包含的冗餘 代碼Rc。為此,它以與處理器16在步驟268中相同的方式使用當前M 密鑰和計數器30的當前值來計算消息Mc的冗餘代碼Rc,。如果重構的冗餘代碼Rc,不同於所接收的冗餘代碼Rc,則單元14 在步驟290中被停止。否則,單元14在步驟292中處理所解密的消息Mc。在步驟294中,假設沒有會話密鑰改變過程在進行中,單元14比 較消息計數器30的值與閾值&。如果已經達到或者超出該閾值,則單元 14在步驟296中存儲用以激活要由單元14自動發起的會話密鑰改變過程 所需的內容。使用根據圖4的方法處理的消息按照圖3A和3B的方法完 成會活密鑰改變過程。應當注意,緊接在處理器16被第一次插入到單元14中之後,用來 加密所交換的消息的會活密鑰是預先存儲的密鑰Ksp。該密鑰用來根據圖 3A和3B的方法屏蔽在該密鑰的第一次使用過程中交換的消息。圖2、圖3A、圖3B和圖4的系統2和方法的許多其它實施例是可 能的。例如,步驟162可以由籤署步驟取代,在該籤署步驟中使用私有密 鑰Kopr僅對X項或者M隨機數A籤署。類似地,步驟182可以由如下步驟取代,即使用密鑰KT3pr僅對Y項或者M隨機數B籤署的步驟。然後,相應地使圖3A和3B的方法的後續步^目適應。證書Cn和dc可以分別被密鑰Knpu和Kclpu的值所取代,無需針 對這些^L使用的公共密鑰的任何證書。如果對於接收的每一個消息均系統地發送響應,則可以僅在接收消 息時或者僅在發送消息時遞增計數器30和56。在處理器16與單元14之間交換的證書可以包含補充信息,所述補 充信息使得這些單元中的每個單元能夠根據多種不同的標準識別另 一單 元。在分析此補充信息之後,所述單元中的一個可以採用適應於另一單元 的特定行為,例如在法國專利申請FR2 841 714中描述的那樣。在交換的消息中發送的冗餘代碼同樣可以與會話密鑰Ks結合地用 來初始化在步驟246和270中對消息的加密以及在步驟258和286中對消 息的解密。加密可以適用於消息Mi (相應地,Mc)及其冗餘代碼的組合。在 這些情形中,步驟246和247 (相應地,270和271)被置換。先在步驟 247 (相應地,271)中組合消息Mt (相應地,Mc)及其冗餘代碼,此後 在步驟246 (相應地,270)對該組合進行加密以獲得要發送的消息。類 似地,在步驟258 (對應於286)中,對接收的消息進行解密並且提供消 息MT(相應地,Mc)及其冗餘代碼。在這些情形中,由冗餘代碼對加密 的初始4t不適用。如果在檢測到攻擊企圖之後所述單元中的一個被停止,則無需該單 元在其自身被停止之前請求停止另一個單元。例如,停止該單元反映在不 存在對消息的響應,而該響應的不存在可能被另一單元解釋為停止命令。 為此,所述單元通常4吏用定時器,如果所討論的單元在定時器倒計時的時 間內沒有收到對消息的響應,則該定時器自動觸發停止該單元。對圖2的方法的描述考慮了具有證書Cn和C2c的^是製造商的 特定情況,這使得能夠對不同製造商所製造的終端或者處理器的相互作用進行控制。可選的,不同的證書Crr和C2c分配給不同的多媒體操作者。在這些情形中,證書C2T和C2C被用來控制不同操作者的終端和處理的相互作用。在另 一實施例中,單元14被集成到解碼器10中。 在又一實施例中,存儲器26或者60中包含的數據可以通過特定的 消息被修改,並且特別地可以才艮據證書的有效期來為證書展期。
權利要求
1.一種建立對稱的會話密鑰Ks的方法,所述會話密鑰Ks為用於解擾被使用控制字加擾的多媒體信號的單元和適於解密解擾所需的控制字的可移除的密碼單元所共用,其中a)所述單元中的一個,即第一單元抽取(步驟152、164)隨機數(A或者B)並將該隨機數發送到另一單元;b)所述另一單元,或者說第二單元,構建(步驟160、180)α(X或者Y)項,所述第一單元可以根據該α項基於下式建立所述會話密鑰KsKs=αβmodn其中β是所述第一單元抽取的隨機數,n是質數,所述方法的特徵在於c)所述第二單元向所述第一單元發送消息,所述消息包含接收的隨機數、所述α項以及使用私有密鑰K3pr產生的對所述隨機數和/或者所述α項的籤署(步驟166、184);然後d)所述第一單元使用與所述私有密鑰K3pr對應的公共密鑰K3pu驗證所述籤署(步驟168、192)並比較接收的隨機數與所發送的隨機數(步驟174、198);以及e)如果所述籤署不正確或者如果該接收的隨機數與發送的隨機數不匹配,則所述第一單元不繼續進行建立所述會話密鑰的後續步驟。
2. 根據權利要求1所述的方法,其特徵在於在所述第一單元和第二單 元的角色互換的情況下再次重複所述步驟a)至e)。
3. 根據前述任一權利要求所述的方法,其特徵在於在所述步驟a)至 e)之前,該解擾器單元和可移除的密碼單元彼此交換(步驟112、 120、 128、 130 ):'第一公共密鑰Klpu;'第一證書(C2T和C2C),至少包含第二公共密鑰K2pu並且被使用與所述第一^S共密鑰K4pu對應的第一私有密鑰K—籤署;以及'第二證書(C3T和C3C),至少包含第三公共密鑰K3pu並且被使用與所 述第二公共密鑰K2pu對應的第二私有密鑰K2pr籤署,所述第三公共密鑰K3pu對應於用來在步驟c)中實現籤署的私有密鑰K3pr;以及該解擾器單元和可移除的密碼單元各自發汪所接收的第 一和第二證書(步驟128、 130),且僅在該解擾器單元和可移除的密碼單元成功地!HiE 了它們每一個已接收的第一和第二證書的真實性時,繼續進行所述步驟 a)至e)。
4. 根據前述任一權利要求所述的方法,其特徵在於所述單元中的至少 一個根據向所述另 一單元發送和/或從所述另 一單元接收的消息個數使第 一內部計數器遞增(步驟242、 284),且在該第一計數器超出預定的第一 閾值時自動觸發對新的會話密鑰的建立(步驟2492、 296)。
5. 根據權利要求4所述的方法,其特徵在於所述另一單元根據該同一 消息個數使第二內部計數器遞增(步驟256、 266),且在該第二計數器超 出高於所述第一閾值的預定的第二閾值時,自動地使對所述多^體信號的 解擾停止(步驟254、 2652)。
6. 根據前述任一權利要求的方法,其特徵在於.所述單元中的每一個根據發送和/或接收的消息的個數使內部計數器 遞增(步驟242、 256、 266、 284);-所述單元中的至少一個在向另一單元發送的每個消息上添加冗餘代 碼(步驟247、 271),所述冗餘代碼是根據其內部計數器的當前值和要發 送的消息的內容計算的;以及'所述另 一單元通過比較所添加的冗餘代碼與根據接收的消息的內容 以及該另一單元自己的內部計數器的當前值計算的冗餘代碼來^所接 收的消息的準確性(步驟260、 288)。
7. —種適於在根據前述任一權利要求所述的建立公共會話密鑰的方法 中使用的單元(14, 16),其特徵在於所述單元適於執行根據上述權利要 求的建立會話密鑰的方法的所述步驟a)、 d)和e)或者所述步驟b)和c)。
8. 根據權利要求7所述的單元(14, 16),其特徵在於所述單元適於 與所述另一單元交換所述第一爿^共密鑰以及所述第一和第二證書,並且適 於mt接收的第一和第二證書,以便僅在成功地驗汪了所述第一和第二證 書的真實性時才繼續進行所述步驟a)、 d)和e)或者所述步驟b)和c)。
9. 根據權利要求7或8所述的單元(14, 16),其特徵在於所述單元 適於根據向所述另 一單元發送和/或從所述另 一單元接收的消息的個數來 使第一內部計數器(30 )遞增,以及在該計數器超出預定的第一閾值(、) 時觸發對新的會話密鑰的建立,或者適於根據該同一消息個數來使第二內部計數器(56)遞增,以及在該第二計數器超出高於所述第一閾值的預定 的第二閾值(S2)時,使對所述多媒體信號的解擾停止。
10. 根據權利要求7至9中任一權利要求所述的單元,其特徵在於所 述單元適於'根據向所述另 一單元發送和/或從所述另 一單元接收的消息的個數使 內部計數器(30, 56)遞增;以及'或者在向所述另 一單元發送的每個消息上添加根據要發送的該消息 的內容以及所述單元的內部計數器的實際值來計算的冗餘代碼;.或者通過比較添加的冗餘代碼與根據接收的消息的內容以及所述單 元自己的內部計數器的當前值計算的冗餘代碼來IHE所接收的消息的準 確性。
11. 根據權利要求7至10中任一權利要求所述的單元,其特徵在於所 述單元是用於解擾被使用控制字加擾的多媒體信號的單元(14)或者用於 解密解擾所需的控制字的可移除的密碼單元(16)。
全文摘要
本發明涉及在用於解擾經加擾的多媒體信號的單元與可移除的密碼單元之間的會話建立會話密鑰Ks的方法。根據本發明,一個單元向另一單元發送(步驟166,184)消息,該消息包含接收的隨機數、α項以及使用私有密鑰K3pr產生的隨機數和/或α項的籤署,然後該另一單元使用與私有密鑰(K3pr)對應的公共密鑰K3pu來驗證(步驟168、192)該籤署並且比較(步驟174、198)所接收的隨機數與所發送的隨機數。如果籤署不正確或者如果所接收的隨機數與所發送的隨機數不匹配,則不執行建立會話密鑰的後續步驟。
文檔編號H04N5/00GK101248614SQ200680031000
公開日2008年8月20日 申請日期2006年8月25日 優先權日2005年8月26日
發明者弗蘭克·博多, 皮埃爾·費夫裡耶, 讓-皮埃爾·維加裡耶 申請人:維亞賽斯公司