專利名稱:從智能卡向有條件訪問模塊安全提供控制字的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及從智能卡向有條件訪問模塊安全提供控制字的方法、在智能卡的有條件訪問模塊中安全獲取控制字的方法、用于向有條件訪問模塊安全提供控制字的智能卡、 從智能卡安全獲取控制字的接收器的有條件訪問模塊、以及用于對(duì)加擾數(shù)據(jù)進(jìn)行解擾的接 收器。
背景技術(shù):
眾所周知,有條件訪問系統(tǒng)廣泛地與目前可用的付費(fèi)電視系統(tǒng)結(jié)合使用。目前,這 種系統(tǒng)基于使用控制字(也稱作業(yè)務(wù)加密密鑰)進(jìn)行加擾的服務(wù)的傳送,所述控制字被具 有有條件訪問模塊(CAM)和針對(duì)每個(gè)訂閱包的智能卡的用戶接收。通常這些服務(wù)由廣播流 中的首端(head-end)系統(tǒng)傳送。已知如下的實(shí)現(xiàn)方式CAM功能集成在例如機(jī)頂盒、電視、 個(gè)人錄像機(jī)、手機(jī)、智能電話或者計(jì)算機(jī)裝置的接收器中。智能卡通常是在工作之前被手動(dòng) 插入到CAM中的單獨(dú)的卡,但是也可以被集成在CAM中。針對(duì)來自特定服務(wù)提供商的訂閱 包的智能卡使加擾服務(wù)可以通過CAM中的解擾器被解擾并且被觀看。廣播流通常還包含權(quán) 利管理消息(EMM)(也可稱作密鑰管理消息(KMM))以及智能卡獲取控制字所需的權(quán)利控制 消息(ECM)。ECM用于以加密形式攜帶控制字。EMM用于傳送用于解密智能卡中的ECM以提 取控制字,用于解密與增加或者去除觀看/使用權(quán)相關(guān)的其它數(shù)據(jù),以及/或者用于解密其 它用戶特定數(shù)據(jù)的密鑰。在數(shù)字視頻廣播(DVB)系統(tǒng)中,控制字盜取是一個(gè)重要的問題。有時(shí)攻擊者能夠 攔截從智能卡向CAM傳送的控制字并且通過局域無線網(wǎng)或者通過因特網(wǎng)對(duì)其再分發(fā)。再分 發(fā)的控制字然后被用于在沒有合法智能卡的情況下對(duì)加擾服務(wù)進(jìn)行解擾。一種公知的用于保護(hù)從智能卡向CAM傳送的控制字的方法使用對(duì)稱加密,在向 CAM傳送前在智能卡中的共享密鑰下對(duì)控制字進(jìn)行加密,然后使用該共享密鑰解密CAM中 的控制字。這種對(duì)稱加密的弱點(diǎn)是智能卡和CAM之間的共同信任對(duì)使用的加密密鑰進(jìn)行保 密。如果黑客設(shè)法獲得或者退到出該密鑰,并且向多個(gè)CAM提供該密鑰,則可以對(duì)加密消息 進(jìn)行解密并且可以通過所有CAM對(duì)加擾服務(wù)進(jìn)行解擾。
發(fā)明內(nèi)容
本發(fā)明的目的是提供一種從智能卡向CAM提供控制字的改進(jìn)方法。根據(jù)本發(fā)明的一個(gè)方面,提出了一種智能卡中的用于從智能卡向接收器的有條件 訪問模塊安全提供控制字的方法。接收器被配置用于與用戶進(jìn)行交互,例如在接收器上選 擇服務(wù)。該方法包括從智能卡和有條件訪問模塊中的至少一個(gè)獲得多元化數(shù)據(jù)的步驟,其 中該多元化數(shù)據(jù)依賴于用戶交互。該方法還包括使用多元化函數(shù)生成加密密鑰的步驟, 該多元化函數(shù)以所述多元化數(shù)據(jù)為輸入并且以所述加密密鑰為輸出。通常,多元化函數(shù)是 XOR(異或)函數(shù),但是也可以使用任何其它數(shù)學(xué)函數(shù)。多元化函數(shù)使加密密鑰依賴于檢測 到的用戶交互。該方法還包括使用所述加密密鑰加密控制字以獲得加密控制字的步驟。如果從智能卡獲取了多元化數(shù)據(jù),那么向有條件訪問模塊提供該多元化數(shù)據(jù)用于生成解密密鑰以對(duì)加密控制字進(jìn)行解密。該方法還還包括向有條件訪問模塊提供加密控制字的步驟。根據(jù)本發(fā)明的一個(gè)方面,提出了一種用于向接收器的有條件訪問模塊安全提供控 制字的智能卡。該接收器配置用于與用戶進(jìn)行交互。該智能卡包括第一檢測器和第二檢測 器中的至少一個(gè)。第一檢測器配置用于檢測第一用戶交互,例如在接收器上選擇一個(gè)服務(wù)。 第一檢測器還配置用于生成依賴于第一用戶交互的第一多元化數(shù)據(jù)。第二檢測器配置用于 從有條件訪問模塊獲取依賴于第二用戶交互的第二多元化數(shù)據(jù),第二用戶交互例如為在接 收器上選擇一個(gè)服務(wù)。該智能卡還包括加密密鑰生成器,該加密密鑰生成器配置用于使用 多元化函數(shù)生成加密密鑰。該多元化函數(shù)以第一和第二多元化數(shù)據(jù)中的至少一個(gè)作為輸 入。該多元化函數(shù)的輸出是加密密鑰。該智能卡還包括配置用于使用所述加密密鑰加密控 制字以獲取加密控制字的加密器。該智能卡配置用于向有條件訪問模塊提供加密控制字。根據(jù)本發(fā)明的一個(gè)方面,提供了一種在接收器的有條件訪問模塊中從智能卡安全 獲取控制字的、有條件訪問模塊中的方法。該接收器配置用于與用戶進(jìn)行交互,例如在接收 器上選擇一個(gè)服務(wù)。該方法包括在有條件訪問模塊中從有條件訪問模塊和智能卡中的至少 一個(gè)獲取多元化數(shù)據(jù)的步驟,其中該多元化數(shù)據(jù)依賴于用戶交互。如果從有條件訪問模塊 獲取了多元化數(shù)據(jù),則向智能卡提供該多元化數(shù)據(jù)用于生成加密控制字。該方法還包括使 用多元化函數(shù)生成解密密鑰的步驟,該多元化函數(shù)以所述多元化數(shù)據(jù)作為輸入并且以所述 解密密鑰作為輸出。通常,該多元化函數(shù)是XOR函數(shù),但是也可以使用其它數(shù)學(xué)函數(shù)。多元 化函數(shù)使解密密鑰依賴于檢測到的用戶交互。該方法還包括從智能卡接收加密控制字的步 驟。該方法還包括使用所述解密密鑰對(duì)加密控制字進(jìn)行解密以獲取控制字的步驟。根據(jù)本發(fā)明的一方面,提出了一種接收器的有條件訪問模塊,用于從智能卡安全 獲取控制字。該接收器配置用于與用戶進(jìn)行交互。有條件訪問模塊配置用于從智能卡接收 加密控制字。有條件訪問模塊包括第一檢測器和第二檢測器中的至少一個(gè)。第一檢測器配 置用于檢測第一用戶交互,例如在接收器上選擇一個(gè)服務(wù)。第一檢測器還配置用于產(chǎn)生依 賴于第一用戶交互的第一多元化數(shù)據(jù)。第二檢測器配置用于從智能卡獲得依賴于第二用戶 交互的第二多元化數(shù)據(jù),例如在接收器上選擇一個(gè)服務(wù)。有條件訪問模塊還包括解密密鑰 生成器,該解密密鑰生成器配置用于使用多元化函數(shù)生成解密密鑰。該多元化函數(shù)以第一 和第二多元化數(shù)據(jù)中的至少一個(gè)作為輸入。該多元化函數(shù)的輸出是解密密鑰。有條件訪問 模塊還包括配置用于使用所述解密密鑰對(duì)加密控制字進(jìn)行解密以獲取控制字的解密器。通過向多元化函數(shù)加入多元化數(shù)據(jù)(多元化數(shù)據(jù)取決于用戶與接收器的交互), 其優(yōu)點(diǎn)是,由于需要準(zhǔn)確地跟蹤用戶交互,所以對(duì)于其它智能卡或者有條件訪問模塊而言 跟蹤多元化函數(shù)變得很困難。結(jié)果,用于在智能卡和有條件訪問模塊中加密和解密控制字 的加密密鑰和解密密鑰分別對(duì)于智能卡和有條件訪問模塊來說是唯一的,并且不與其它智 能卡和有條件訪問模塊共用。在加密密鑰生成器和解密密鑰生成器中使用相同的多元化函數(shù)確保加密密鑰和 解密密鑰匹配。由于多元化函數(shù)是保密的,在智能卡和有條件訪問模塊之間交換的多元化 數(shù)據(jù)不需要加密。因此,獲取了多元化數(shù)據(jù)的黑客無法生成解密密鑰。用戶交互例如是用戶在接收器上選擇了一項(xiàng)服務(wù)??梢詸z測其它類型的用戶交 互,例如按下了遙控器上的任何按鈕或者直接按下了接收器上的任何按鈕,例如用于改變音量的按鈕。當(dāng)接收器配備有外部傳感器時(shí),甚至可以檢測到溫度變化、接收器的運(yùn)動(dòng)或者 接收器附近的用戶的運(yùn)動(dòng)。權(quán)利要求2和8的實(shí)施例有利地使得智能卡中的用于加密控制字的加密密鑰依賴 于先前的控制字。結(jié)果,其優(yōu)點(diǎn)是,由于需要準(zhǔn)確地跟蹤控制字,對(duì)于其它智能卡而言跟蹤 多元化函數(shù)變得更加困難。權(quán)利要求3和9的實(shí)施例有利地在智能卡內(nèi)實(shí)現(xiàn)加密密鑰的模糊化。其優(yōu)點(diǎn)是, 使得通過分析多元化函數(shù)的輸出(即加密的加密密鑰)來對(duì)多元化函數(shù)進(jìn)行反向工程的可 能性非常小。權(quán)利要求10的實(shí)施例有利地實(shí)現(xiàn)無法從多元化函數(shù)導(dǎo)出加密密鑰。權(quán)利要求5和12的實(shí)施例有利地使得用于在有條件訪問模塊中解密控制字的解 密密鑰依賴于先前的控制字。結(jié)果,其優(yōu)點(diǎn)是,由于需要準(zhǔn)確地跟蹤控制字,對(duì)于其它有條 件訪問模塊而言跟蹤多元化函數(shù)變得更加困難。權(quán)利要求6和13的實(shí)施例有利地在有條件訪問模塊中實(shí)現(xiàn)解密密鑰的模糊化。其 優(yōu)點(diǎn)是,使得不可能通過分析多元化函數(shù)的輸出(即加密的解密密鑰)來對(duì)多元化函數(shù)進(jìn) 行反向工程。權(quán)利要求14的實(shí)施例有利地使得無法從多元化函數(shù)中導(dǎo)出解密密鑰。根據(jù)本發(fā)明的一個(gè)方面,提出了一種用于對(duì)加擾數(shù)據(jù)進(jìn)行解擾的接收器。該接收 器例如是機(jī)頂盒。該接收器包括配置用于對(duì)加擾數(shù)據(jù)的第一部分進(jìn)行解擾的第一解擾器。 該接收器還包括配置用于對(duì)加擾數(shù)據(jù)的第二部分進(jìn)行解擾的第二解擾器。該接收器還包括 具有如上所述的一個(gè)或多個(gè)特征的有條件訪問模塊。第一解擾器配置用于使用由有條件訪 問模塊獲取的控制字對(duì)加擾數(shù)據(jù)(sd)的第一部分進(jìn)行解擾。這有利地使接收器能夠在使用再分發(fā)的盜取控制字時(shí)失靈,因?yàn)樾枰鄠€(gè)控制字 以對(duì)加擾數(shù)據(jù)進(jìn)行解擾。權(quán)利要求16的實(shí)施例有利地實(shí)現(xiàn)在通常以硬件實(shí)現(xiàn)的第二解擾器中對(duì)需要較高 計(jì)算能力的高比特率加擾視頻進(jìn)行解擾,并且在通常以軟件實(shí)現(xiàn)的第一解擾器中對(duì)需要較 低計(jì)算能力的低比特率加擾音頻進(jìn)行解擾。也可以以硬件或軟件實(shí)現(xiàn)這兩個(gè)解擾器兩者。在下文中,將更詳細(xì)地描述本發(fā)明的實(shí)施例。然而,應(yīng)當(dāng)明白,這些實(shí)施例不可以 被解釋為限定本發(fā)明的保護(hù)范圍。
將參照附圖中示出的示例性實(shí)施例更詳細(xì)地說明本發(fā)明的各個(gè)方面,在附圖中圖1示出了基于本發(fā)明的一個(gè)示例性實(shí)施例的基于狀態(tài)的密鑰交換的基本概念;圖2示出了本發(fā)明的一個(gè)示例性實(shí)施例的智能卡和CAM ;圖3示出了本發(fā)明的一個(gè)示例性實(shí)施例的諸如機(jī)頂盒的接收器,;圖4和圖5示出了在本發(fā)明的示例性實(shí)施例的智能卡中執(zhí)行的方法的步驟;以及圖6和圖7示出了在本發(fā)明的示例性實(shí)施例的CAM中執(zhí)行的方法的步驟。
具體實(shí)施例方式本發(fā)明提供了基于狀態(tài)的密鑰交換,其中在智能卡和接收器中的CAM之間傳送的控制字使用了多元化密鑰進(jìn)行加密。CAM通常集成在例如機(jī)頂盒的接收器中,但是也可以實(shí)現(xiàn)在例如電視機(jī)、個(gè)人錄像機(jī)、手機(jī)、智能電話或者計(jì)算機(jī)裝置的其它類型的接收器中。多 元化基于用戶與機(jī)頂盒的交互,這可以在CAM、智能卡或者二者中進(jìn)行檢測?;跔顟B(tài)的密鑰交換的基本概念在圖1中示出,并且基于控制字CW的對(duì)稱加密。 智能卡1以本身被公知的方式(例如通過傳送到智能卡的ECM)接收一個(gè)或多個(gè)控制字CW。 智能卡1使用加密密鑰ek在加密器11中對(duì)控制字進(jìn)行加密,加密控制字E (CW)被傳送到 CAM 2。CAM 2使用解密密鑰dk在解密器21中對(duì)加密控制字E (CW)進(jìn)行解密,并獲得控制 字。在CAM中獲得的控制字可以被機(jī)頂盒用來對(duì)例如付費(fèi)電視頻道的服務(wù)進(jìn)行解擾。參考圖2,對(duì)稱密鑰ek和dk通過智能卡1中的加密密鑰生成器12中的多元化函 數(shù)和CAM 2中的解密密鑰生成器22中的多元化函數(shù)進(jìn)行循環(huán)。在密鑰生成器12和22中 使用同一多元化函數(shù)確保了加密密鑰ek和解密密鑰dk匹配。多元化函數(shù)的功能是使加密 密鑰ek和解密密鑰dk依賴于檢測到的用戶交互。通過將來自智能卡1和/或CAM 2的多 元化數(shù)據(jù)dl和/或d2分別加入多元化函數(shù)(多元化數(shù)據(jù)包括用戶交互的指示),有利的 是,由于需要準(zhǔn)確地跟蹤用戶交互,所以對(duì)于其它CAM來說跟蹤多元化函數(shù)變得很困難。檢測到的用戶交互通?;谶x擇的機(jī)頂盒的服務(wù)??梢砸愿鞣N方式實(shí)現(xiàn)用戶交互 的檢測。在CAM 2中,例如,當(dāng)機(jī)頂盒接收到遙控器命令或者在機(jī)頂盒上按下按鈕用于改變 電視頻道時(shí),檢測到用戶交互。可以檢測其它類型的用戶交互,例如按下遙控器上的任何 按鈕或者直接按下機(jī)頂盒上的任何按鈕,例如用于改變音量的按鈕。當(dāng)機(jī)頂盒配備有外部 傳感器時(shí),甚至可以檢測溫度變化、機(jī)頂盒的運(yùn)動(dòng)或者機(jī)頂盒附近的人的運(yùn)動(dòng)。在智能卡1 中,例如,通過監(jiān)視表示選擇的服務(wù)的改變的EMM和ECM中的內(nèi)容變化而檢測到用戶交互。可選地,多元化函數(shù)使用智能卡1中的哈希生成器13中的哈希函數(shù)以及CAM 2中 的哈希生成器23中的哈希函數(shù)的結(jié)果分別作為用于生成加密密鑰ek和解密密鑰dk的附 加輸入。通常,哈希函數(shù)是將數(shù)據(jù)轉(zhuǎn)換成小數(shù)據(jù)(通常是單個(gè)整數(shù))的數(shù)學(xué)函數(shù)。哈希函 數(shù)返回的值被稱作哈希值、哈希碼、哈希和、或者僅稱作哈希。本發(fā)明可以使用任何已知的 哈希算法。通過智能卡中的哈希生成器13生成哈希值hi,通過CAM中的哈希生成器23生 成哈希值h2。哈希生成器13和23中的哈希函數(shù)對(duì)控制字CW、前一控制字和前一哈希值執(zhí) 行計(jì)算。哈希函數(shù)的結(jié)果(即,哈希值hi和h2)僅當(dāng)所有控制字(也就是當(dāng)前的控制字CW 和前一控制字)對(duì)于哈希生成器13和23都相同時(shí)才保證相等。通過向多元化函數(shù)加入哈 希值,有利的是,由于需要準(zhǔn)確地跟蹤控制字,所以對(duì)于其它CAM來說跟蹤多元化函數(shù)變得 更加困難。哈希函數(shù)(H)如下定義哈希值=H(CW,前一控制字,前一哈希值)使用哈希值的固定預(yù)定值初始化哈希函數(shù)。結(jié)果是哈希函數(shù)H將產(chǎn)生基于初始化 后由該函數(shù)處理的所有控制字的內(nèi)容的輸出。智能卡1和CAM 2上的控制字之間的任何偏 差將會(huì)導(dǎo)致智能卡1或者CAM 2上的用戶交互的下一次檢測并且生成密鑰ek和dk之后的 密鑰失配。該功能有利地使得由于沒有直接響應(yīng)而難以對(duì)哈希值和多元化函數(shù)進(jìn)行反向工 程。智能卡1中的多元化函數(shù)(DIV)如下定義ek = DIV(多元化數(shù)據(jù),哈希值hi)
CAM 2中的多元化函數(shù)(DIV)如下定義dk = DIV (多元化數(shù)據(jù),哈希值h2)可選地,多元化函數(shù)使用存儲(chǔ)在智能卡1和CAM 2中的全局多元化密鑰(OTk)對(duì)密鑰ek和dk進(jìn)行加密。多元化函數(shù)因而使用(對(duì)稱)加密,該(對(duì)稱)加密可以采用來 自哈希生成器13的哈希值以及多元化數(shù)據(jù)dl和/或d2并以例如密文塊鏈接(CBC)模式 加密該數(shù)據(jù)。加密的密鑰然后用作分別在加密器11/解密器21中對(duì)控制字進(jìn)行加密/解 密的密鑰。智能卡1中的多元化函數(shù)(DIV)于是如下定義ek = EGDk(DIV(多元化數(shù)據(jù),哈希值hi))CAM 2中的多元化函數(shù)(DIV)于是如下定義dk = EGDk(DIV(多元化數(shù)據(jù),哈希值h2))通常,多元化函數(shù)是XOR函數(shù),但是也可以使用任何其它數(shù)學(xué)函數(shù)。可選地,多元化函數(shù)被實(shí)現(xiàn)為通過白盒密碼術(shù)或軟件代碼模糊技術(shù)保護(hù)的軟件模 塊。這種保護(hù)確保了無法從多元化函數(shù)中導(dǎo)出智能卡1中的加密密鑰ek和CAM 2中的解 密密鑰dk。此外,無法導(dǎo)出多元化函數(shù)內(nèi)的中間結(jié)果??梢允褂萌魏我阎陌缀忻艽a術(shù)或 者軟件代碼模糊技術(shù)。在有條件訪問系統(tǒng)中,加擾數(shù)據(jù)通常做為包括復(fù)用的音頻分量和視頻分量的DVB 流進(jìn)行廣播。音頻分量具有相對(duì)低的比特率,例如128kbit/s,而視頻分量具有相對(duì)高的比 特率,例如2000kbit/s。為了解擾高比特率加擾視頻,需要硬件解擾器的計(jì)算能力。解擾低 比特率加擾音頻需要較低的計(jì)算能力并且因此可以通過軟件執(zhí)行。圖3示出了實(shí)現(xiàn)CAM 2的接收器3。接收器3是例如機(jī)頂盒或者能夠?qū)崿F(xiàn)CAM 2 的其它設(shè)備,例如電視機(jī)、個(gè)人錄像機(jī)、手機(jī)、智能電話或者計(jì)算機(jī)裝置。在解復(fù)用器30中 解復(fù)用加擾數(shù)據(jù)sd,例如在DVB廣播流中接收的加擾電視頻道,以獲取包含加擾數(shù)據(jù)sd的 音頻分量的第一部分Pl和包含加擾數(shù)據(jù)sd的視頻分量的第二部分p2。音頻分量具有相對(duì) 低的比特率,例如128kbit/s,而視頻分量具有相對(duì)高的比特率,例如2000kbit/s。廣播流 還包括智能卡1獲取控制字所需的一個(gè)或多個(gè)ECM。ECM在解復(fù)用器30中被從廣播流中解 復(fù)用出來,然后經(jīng)由接收器傳送到智能卡1。在圖3的示例中,使用從CAM 2獲取的控制字 通過第一解擾器31對(duì)音頻分量進(jìn)行解擾。通過第二解擾器32以不同的方式(例如使用從 另一智能卡獲取的控制字或者使用由智能卡1或者CAM 2獲取的另一控制字),對(duì)視頻分量 進(jìn)行解擾。機(jī)頂盒的輸出是解擾的音頻分量dpi和解擾的視頻分量dp2??梢允褂玫谝唤鈹_器31解擾視頻分量,使用第二解擾器32解擾音頻分量。還可 以從加擾數(shù)據(jù)sd中解復(fù)用出其它部分,并通過第一解擾器31解擾這些部分中的一個(gè)或多 個(gè)部分,而通過第二解擾器32解擾的其它部分。為了解擾高比特率的加擾視頻,需要硬件解擾器的計(jì)算能力。解擾低比特率的加 擾音頻需要較低的計(jì)算能力,因此可以通過軟件執(zhí)行。第一解擾器31因此通常是軟件解擾 器。第二解擾器32通常是硬件解擾器。為了啟用軟件解擾器32,機(jī)頂盒3通常配備有用于 加載和運(yùn)行軟件的存儲(chǔ)器和處理器。機(jī)頂盒的軟件下載和運(yùn)行能力可以用于將軟件解擾功 能加到機(jī)頂盒的硬件解擾功能。圖4示出了一個(gè)示例性實(shí)施例的方法的步驟。在步驟120中,例如通過ECM,在智能卡1中接收控制字CW。在步驟103中使用加密密鑰ek對(duì)控制字CW進(jìn)行加密。在步驟 105中,加密的控制字E(CW)被提供給CAM 2。通過步驟101和102獲得加密密鑰ek。在步 驟101中,在智能卡1中獲取多元化數(shù)據(jù)dl或d2。在步驟102中,在多元化函數(shù)中使用多 元化數(shù)據(jù)生成加密密鑰ek。如果在智能卡1中檢測到用戶交互,則多元化數(shù)據(jù)dl從智能卡 中獲取并且提供給CAM 2以使得CAM 2能夠生成解密密鑰dk。至此,在步驟110中確定在 智能卡1中是否檢測到用戶交互,并且如果檢測到用戶交互,則在步驟104中將多元化數(shù)據(jù) dl提供給CAM 2。除了圖4中示出的步驟外,圖5示出了步驟106中生成哈希值的可選步驟,在步驟 102中該哈希值在多元化函數(shù)中用于生成加密密鑰ek。步驟107中示出了對(duì)加密密鑰ek 進(jìn)行加密的可選步驟。加密的加密密鑰用作在步驟103中加密控制字CW的加密密鑰。圖6示出了一個(gè)示例性實(shí)施例的方法的步驟。在步驟205中,在CAM 2中接收來 自智能卡1的加密控制字E (Cff)。在步驟203中,使用解密密鑰dk對(duì)加密控制字E (Cff)進(jìn) 行解密。解密的控制字CW可以用于對(duì)嵌入了 CAM 2的機(jī)頂盒中的服務(wù)進(jìn)行解擾。通過步 驟201和202獲得解密密鑰dk。在步驟201中,在CAM 2中獲得多元化數(shù)據(jù)dl或d2。在 步驟202中,在多元化函數(shù)中使用多元化數(shù)據(jù)以生成解密密鑰dk。如果在CAM 2中檢測到 用戶交互,則將多元化數(shù)據(jù)d2提供給智能卡1以使智能卡1能夠生成加密密鑰ek。至此, 在步驟210中確定在CAM 2中是否檢測到用戶交互,如果檢測到用戶交互,則在步驟204中 將多元化數(shù)據(jù)d2提供給智能卡1。
除了圖6中示出的步驟外,圖7示出了在步驟206中生成哈希值的可選步驟,在步 驟202中在多元化函數(shù)中使用該哈希值以生成解密密鑰dk。在步驟207中示出了對(duì)解密 密鑰dk進(jìn)行加密的可選步驟。在步驟203中,該加密的解密密鑰用作用于對(duì)加密控制字 E (Cff)進(jìn)行解密的解密密鑰。
權(quán)利要求
一種用于從智能卡向接收器的有條件訪問模塊安全地提供控制字的方法,所述接收器配置用于與用戶進(jìn)行交互,所述方法包括在智能卡中的如下步驟從智能卡和有條件訪問模塊中的至少一個(gè)獲取多元化數(shù)據(jù)(101),所述多元化數(shù)據(jù)依賴于用戶交互;使用以所述多元化數(shù)據(jù)作為輸入并且以加密密鑰作為輸出的多元化函數(shù),生成加密密鑰(102);使用所述加密密鑰對(duì)控制字進(jìn)行加密以獲取加密控制字(103);如果所述多元化數(shù)據(jù)是從智能卡獲取的,則向有條件訪問模塊提供所述多元化數(shù)據(jù)用于生成用以對(duì)加密控制字進(jìn)行解密的解密密鑰(104);以及向有條件訪問模塊提供所述加密控制字(105)。
2.根據(jù)權(quán)利要求1所述的方法,還包括在智能卡中使用以控制字、前一個(gè)控制字和前 一個(gè)哈希值作為輸入的哈希函數(shù)生成哈希值的步驟(106),其中所述多元化函數(shù)以所述哈 希值和所述多元化數(shù)據(jù)作為輸入。
3.根據(jù)權(quán)利要求1或2所述的方法,其中,生成加密密鑰的步驟(102)包括對(duì)加密密鑰 進(jìn)行加密以獲取加密的加密密鑰的步驟(107)并且所述輸出是該加密的加密密鑰,并且其 中,該加密的加密密鑰用作對(duì)控制字進(jìn)行加密的加密密鑰。
4.一種在接收器的有條件訪問模塊中從智能卡安全地獲取控制字的方法,所述接收器 配置用于與用戶進(jìn)行交互,所述方法包括在有條件訪問模塊中的如下步驟從有條件訪問模塊和智能卡中的至少一個(gè)獲取多元化數(shù)據(jù)(201),所述多元化數(shù)據(jù)依 賴于用戶交互;如果所述多元化數(shù)據(jù)是從有條件訪問模塊中獲取的,則向智能卡提供該多元化數(shù)據(jù)用 于生成加密控制字(204);使用以所述多元化數(shù)據(jù)作為輸入并且以解密密鑰作為輸出的多元化函數(shù),生成解密密 鑰(202);從智能卡接收加密控制字(205);以及使用所述解密密鑰對(duì)所述加密控制字進(jìn)行解密以獲取控制字(203)。
5.根據(jù)權(quán)利要求4所述的方法,還包括在有條件訪問模塊中使用以控制字、前一個(gè)控 制字和前一個(gè)哈希值作為輸入的哈希函數(shù)生成哈希值的步驟(206),并且其中所述多元化 函數(shù)以所述哈希值和所述多元化數(shù)據(jù)作為輸入。
6.根據(jù)權(quán)利要求4或5所述的方法,其中,生成解密密鑰的步驟(202)包括對(duì)所述解密 密鑰進(jìn)行加密以獲取加密的解密密鑰的步驟(207)并且所述輸出是該加密的解密密鑰,并 且其中,該加密的解密密鑰用作對(duì)加密控制字進(jìn)行解密的解密密鑰。
7.一種用于向接收器的有條件訪問模塊(2)安全地提供控制字(CW)的智能卡(1),所 述接收器配置用于與用戶進(jìn)行交互,所述智能卡包括第一檢測器(14)和第二檢測器(15)中的至少一個(gè),其中第一檢測器(14)配置用于檢 測第一用戶交互并且生成依賴于第一用戶交互的第一多元化數(shù)據(jù)(dl),第二檢測器(15) 配置用于從有條件訪問模塊(2)獲取依賴于第二用戶交互的第二多元化數(shù)據(jù)(d2);加密密鑰生成器(12),配置用于使用多元化函數(shù)生成加密密鑰(ek),該多元化函數(shù)以 第一多元化數(shù)據(jù)(dl)和第二多元化數(shù)據(jù)(d2)中的至少一個(gè)作為輸入并且以加密密鑰(ek)作為輸出;以及加密器(11),配置用于使用所述加密密鑰(ek)對(duì)控制字(CW)進(jìn)行加密以獲取加密控 制字(E(CW)),其中所述智能卡(1)配置用于向有條件訪問模塊(2)提供該加密控制字(E(CW))。
8.根據(jù)權(quán)利要求7所述的智能卡(1),還包括哈希生成器(13),該哈希生成器(13)配 置用于使用以控制字(CW)、前一個(gè)控制字和前一個(gè)哈希值作為輸入的哈希函數(shù)生成哈希值 (hi),并且其中所述多元化函數(shù)以第一多元化數(shù)據(jù)(dl)和第二多元化數(shù)據(jù)(d2)中的至少 一個(gè)以及所述哈希值(hi)作為輸入來生成加密密鑰(ek)。
9.根據(jù)權(quán)利要求7或8所述的智能卡(1),其中,所述加密密鑰生成器(12)還配置用 于對(duì)加密密鑰進(jìn)行加密以獲取加密的加密密鑰并且所述輸出是該加密的加密密鑰,并且其 中,該加密的加密密鑰用作對(duì)控制字(CW)進(jìn)行加密的加密密鑰(ek)。
10.根據(jù)權(quán)利要求7至9中的任一項(xiàng)所述的智能卡(1),其中所述多元化函數(shù)包括通過 白盒密碼術(shù)或者軟件代碼模糊進(jìn)行保護(hù)的軟件代碼部分。
11.一種用于從智能卡(1)安全地獲取控制字(CW)的接收器的有條件訪問模塊(2), 所述接收器配置用于與用戶進(jìn)行交互,其中所述有條件訪問模塊(2)配置用于從智能卡 (1)接收加密控制字(E(CW)),所述有條件訪問模塊包括第一檢測器(24)和第二檢測器(25)中的至少一個(gè),其中第一檢測器(24)配置用于檢 測第一用戶交互并生成依賴于第一用戶交互的第一多元化數(shù)據(jù)(d2),第二檢測器(25)配 置用于從智能卡(1)獲取依賴于第二用戶交互的第二多元化數(shù)據(jù)(dl);解密密鑰生成器(22),配置用于使用多元化函數(shù)生成解密密鑰(dk),所述多元化函數(shù) 以第一多元化數(shù)據(jù)(d2)和第二多元化數(shù)據(jù)(dl)中的至少一個(gè)作為輸入并且以解密密鑰 (dk)作為輸出;以及解密器(21),配置用于使用所述解密密鑰(dk)對(duì)加密控制字(E(CW))進(jìn)行解密以獲取 控制字(CW)。
12.根據(jù)權(quán)利要求11所述的有條件訪問模塊(2),還包括哈希生成器(23),該哈希生 成器(23)配置用于使用以控制字(CW)、前一個(gè)控制字和前一個(gè)哈希值作為輸入的哈希函 數(shù)生成哈希值(h2),并且其中所述多元化函數(shù)以第一多元化數(shù)據(jù)(d2)和第二多元化數(shù)據(jù) (dl)中的至少一個(gè)以及所述哈希值(h2)作為輸入生成解密密鑰(dk)。
13.根據(jù)權(quán)利要求11或12所述的有條件訪問模塊(2),其中,所述解密密鑰生成器 (22)還配置用于對(duì)解密密鑰進(jìn)行加密以獲取加密的解密密鑰并且所述輸出是該加密的解 密密鑰,并且其中,所述加密的解密密鑰用作對(duì)加密控制字(E(CW))進(jìn)行解密的解密密鑰 (dk)。
14.根據(jù)權(quán)利要求11至13中的任一項(xiàng)所述的有條件訪問模塊(2),其中所述多元化函 數(shù)包括通過白盒密碼術(shù)或者軟件代碼模糊進(jìn)行保護(hù)的軟件代碼部分。
15.一種用于對(duì)加擾數(shù)據(jù)(sd)進(jìn)行解擾的接收器(3),包括第一解擾器(31),配置用于對(duì)加擾數(shù)據(jù)(sd)的第一部分(pi)進(jìn)行解擾,第二解擾器(32),配置用于對(duì)加擾數(shù)據(jù)(sd)的第二部分(p2)進(jìn)行解擾,以及根據(jù)權(quán)利要求11至12中任一項(xiàng)所述的有條件訪問模塊(2),其中第一解擾器(31)配置用于使用由有條件訪問模塊⑵獲取的控制字(CW)對(duì)加擾數(shù)據(jù)(sd)的第一部分(pi)進(jìn)行解擾。
16.根據(jù)權(quán)利要求13所述的接收器(3),其中所述加擾數(shù)據(jù)(sd)是數(shù)字視頻流,所述 第一部分(pi)是該數(shù)字視頻流的音頻分量并且所述第二部分(p2)是該數(shù)字視頻流的視頻分量。
全文摘要
本發(fā)明涉及從智能卡向有條件訪問模塊安全提供控制字。本發(fā)明提供一種用于從智能卡向有條件訪問模塊(CAM)安全地提供控制字的方法、智能卡、接收器的CAM以及接收器,例如機(jī)頂盒。來自智能卡和CAM的多元化數(shù)據(jù)被用于分別在智能卡和CAM中產(chǎn)生對(duì)控制字進(jìn)行加密和解密的加密密鑰和解密密鑰,所述多樣化數(shù)據(jù)依賴于與接收器進(jìn)行的用戶交互,例如在機(jī)頂盒中選擇一項(xiàng)服務(wù)。
文檔編號(hào)H04N7/16GK101827246SQ20101013974
公開日2010年9月8日 申請(qǐng)日期2010年2月11日 優(yōu)先權(quán)日2009年2月13日
發(fā)明者A·A·瓦伊斯, E·韋斯特維爾特 申請(qǐng)人:耶德托存取公司