專(zhuān)利名稱(chēng):安全設(shè)備和建立分組功能的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計(jì)算機(jī)上的內(nèi)安全容保護(hù),具體涉及使用安全設(shè)備,如保護(hù)鎖(dongle)或智能卡保護(hù)計(jì)算機(jī)上內(nèi)容的安全。
技術(shù)背景Medveczky等的美國(guó)專(zhuān)利5,182,770中描述了使用多種特征標(biāo)識(shí)碼來(lái)標(biāo) 識(shí)安裝和軟件組件的集成軟件防盜版系統(tǒng)。將獨(dú)立的安全設(shè)備連接至受保 護(hù)的計(jì)算機(jī)系統(tǒng)了并與之通信。交互地査詢(xún)當(dāng)前用戶(hù)的正確授權(quán)。該方法 提供了經(jīng)濟(jì)的對(duì)許可權(quán)以及它們使用的復(fù)雜程序的跟蹤。Anderson等的美國(guó)專(zhuān)利5,857,025中描述了基于分離處理器架構(gòu)的設(shè) 備和方法為重要信息提供物理安全保護(hù),其在發(fā)布關(guān)鍵信息之前實(shí)現(xiàn)必須 的協(xié)議。重要信息作為加密算法的密鑰使用。它還提供了混亂加密算法, 其包括使用Lorenzian系統(tǒng)公式的六個(gè)參數(shù)的確定密鑰空間。Davis等的美國(guó)專(zhuān)利6,088,450描述了無(wú)線鑒別系統(tǒng),其根據(jù)授權(quán)用戶(hù) 與節(jié)點(diǎn)的接近度控制節(jié)點(diǎn)的操作狀態(tài),節(jié)點(diǎn)可以是計(jì)算機(jī)、門(mén)控機(jī)制或任 何多狀態(tài)產(chǎn)品。此無(wú)線鑒別系統(tǒng)包括在計(jì)算機(jī)中實(shí)現(xiàn)的安全設(shè)備以及授權(quán) 用戶(hù)擁有的用戶(hù)鑒別令牌("令牌")。在安全設(shè)備和令牌間配置質(zhì)詢(xún)/應(yīng) 答協(xié)議。安全設(shè)備和令牌間第一次成功的質(zhì)詢(xún)/應(yīng)答消息交換使得節(jié)點(diǎn)處 于使授權(quán)用戶(hù)能夠訪問(wèn)節(jié)點(diǎn)內(nèi)容和/或網(wǎng)絡(luò)資源的操作狀態(tài)。以后周期性 發(fā)生的質(zhì)詢(xún)/應(yīng)答消息交換用來(lái)檢査擁有此令牌的授權(quán)用戶(hù)是否已經(jīng)離 開(kāi),從而使節(jié)點(diǎn)處于非操作狀態(tài)。FROG分組(block)密碼(參看tecapro.com/aesfrog.html)是隱藏了原 語(yǔ)(primitive)操作序列而密碼本身已知的分組密碼。其它密碼僅將密鑰作 為數(shù)據(jù)使用(它與明文組合生成密文),F(xiàn)ROG既將密鑰作為數(shù)據(jù)使用, 同時(shí)又將其作為指示如何組合這些數(shù)據(jù)的指令使用。實(shí)際中FROG使用密 鑰的擴(kuò)展版本作為程序。FROG本身作為解釋器,對(duì)明文應(yīng)用此密鑰相關(guān)的程序來(lái)生成密文。所有上述公開(kāi)中及本發(fā)明全問(wèn)中,以及這些參考文獻(xiàn)中引用的所有參 考文獻(xiàn)在此一起參考并入。發(fā)明內(nèi)容本發(fā)明旨在提供使用使用如保護(hù)鎖或智能卡的安全設(shè)備而改進(jìn)的方法 和系統(tǒng),從而保護(hù)在通用計(jì)算機(jī)或其它內(nèi)容呈現(xiàn)設(shè)備上的內(nèi)容消費(fèi)的安 全。"內(nèi)容呈現(xiàn)(render)設(shè)備"中的"呈現(xiàn)"一詞,在本發(fā)明描述和權(quán)利要求 書(shū)中使用的其所有語(yǔ)法形式中,指的是使內(nèi)容通過(guò)一種或多種感知形式得 以感知的任何合適機(jī)制或方法。具體的,但不局限前述的一般化性,"呈 現(xiàn)"不僅指顯示視頻內(nèi)容,還可以指播放音頻內(nèi)容。因此根據(jù)本發(fā)明的優(yōu)選實(shí)施例提供保護(hù)內(nèi)容安全的方法,此方法包 括在安全模塊源與內(nèi)容呈現(xiàn)設(shè)備間建立通信,從所述安全模塊源向所述 內(nèi)容呈現(xiàn)設(shè)備加載動(dòng)態(tài)生成的偽唯一安全模塊,在所述安全模塊源與所述 動(dòng)態(tài)生成的偽唯一安全模塊間建立通信,以及從所述安全模塊源向所述動(dòng) 態(tài)生成的偽唯一安全模塊傳輸解密密鑰,從而能夠解密己加密的內(nèi)容,所 述加密的內(nèi)容根據(jù)所述解密密鑰進(jìn)行加密。此外根據(jù)本發(fā)明的優(yōu)選實(shí)施例,安全模塊源包括安全設(shè)備。進(jìn)一步根據(jù)本發(fā)明的優(yōu)選實(shí)施例,安全裝置源包括遠(yuǎn)程服務(wù)器。此外根據(jù)本發(fā)明的優(yōu)選實(shí)施例,所述方法包括建立第一安全鑒別通 道,用于所述安全模塊源與所述內(nèi)容呈現(xiàn)設(shè)備間的安全通信。進(jìn)一步根據(jù)本發(fā)明的優(yōu)選實(shí)施例,此方法包括建立第二安全鑒別通 道,用于安全模塊源與所述動(dòng)態(tài)生成的偽唯一安全模塊間的安全通信。進(jìn)一步根據(jù)本發(fā)明的優(yōu)選實(shí)施例,內(nèi)容呈現(xiàn)設(shè)備還包括安全軟件代理。進(jìn)一步根據(jù)本發(fā)明的優(yōu)選實(shí)施例,第一安全鑒別通道的建立包含在所 述安全模塊源與所述安全軟件代理間建立所述第一安全鑒別通道。 另外根據(jù)本發(fā)明的優(yōu)選實(shí)施例,內(nèi)容呈現(xiàn)設(shè)備包括通用計(jì)算機(jī)。 此外根據(jù)本發(fā)明的優(yōu)選實(shí)施例,內(nèi)容呈現(xiàn)設(shè)備包括機(jī)頂盒(STB)。進(jìn)一步根據(jù)本發(fā)明的優(yōu)選實(shí)施例,內(nèi)容呈現(xiàn)設(shè)備包括數(shù)字視頻攝錄機(jī)(DVR)。進(jìn)一步根據(jù)本發(fā)明的優(yōu)選實(shí)施例,內(nèi)容呈現(xiàn)設(shè)備包括DVD播放器。 另外根據(jù)本發(fā)明的優(yōu)選實(shí)施例,動(dòng)態(tài)生成的偽唯一安全模塊包含軟件 原語(yǔ)序列,所述軟件原語(yǔ)序列中的每個(gè)軟件原語(yǔ)可以順序執(zhí)行,所述多個(gè) 軟件原語(yǔ)中的第一軟件原語(yǔ)的輸出包含所述多個(gè)軟件原語(yǔ)中第二軟件原語(yǔ) 的輸入。此外根據(jù)本發(fā)明的優(yōu)選實(shí)施例,動(dòng)態(tài)生成的偽唯一安全模塊通過(guò)下列步驟生成為所述安全模塊源提供多個(gè)軟件原語(yǔ),以及從所述多個(gè)軟件原語(yǔ)中組合出軟件原語(yǔ)序列,以形成所述動(dòng)態(tài)生成的偽唯一安全模塊,其中 每個(gè)軟件原語(yǔ)包含可以順序執(zhí)行的軟件原語(yǔ),所述多個(gè)軟件原語(yǔ)中的第一 軟件原語(yǔ)的輸出包含所述多個(gè)軟件原語(yǔ)中第二軟件原語(yǔ)的輸入。 根據(jù)本發(fā)明的另一優(yōu)選實(shí)施例,還提供了保護(hù)內(nèi)容安全的方法,此方法包括在安全模塊源與內(nèi)容呈現(xiàn)設(shè)備間建立通信,從所述安全模塊源向 所述內(nèi)容呈現(xiàn)設(shè)備加載動(dòng)態(tài)生成的偽唯一安全模塊,在所述安全模塊源與 所述動(dòng)態(tài)生成的偽唯一安全模塊間建立通信,以及從所述安全模塊源向所 述動(dòng)態(tài)生成的偽唯一安全模塊傳輸解密密鑰,從而能夠解密已加密的內(nèi) 容,所述加密的內(nèi)容根據(jù)所述解密密鑰加密,其中所述動(dòng)態(tài)生成的偽唯一 安全模塊包含軟件原語(yǔ)序列,所述軟件原語(yǔ)序列中的每個(gè)軟件原語(yǔ)能夠順 序執(zhí)行,所述多個(gè)軟件原語(yǔ)中的第一軟件原語(yǔ)的輸出包含所述多個(gè)軟件原 語(yǔ)中第二軟件原語(yǔ)的輸入。進(jìn)一步根據(jù)本發(fā)明的優(yōu)選實(shí)施例,動(dòng)態(tài)生成的偽唯一安全模塊通過(guò)下 列步驟生成向所述安全模塊源提供多個(gè)軟件原語(yǔ),以及從所述多個(gè)軟件 原語(yǔ)中組合出軟件原語(yǔ)序列,以形成所述動(dòng)態(tài)生成的偽唯一安全模塊,其 中每個(gè)軟件原語(yǔ)包含可以順序執(zhí)行的軟件原語(yǔ),所述多個(gè)軟件原語(yǔ)中的第 一軟件原語(yǔ)的輸出包含所述多個(gè)軟件原語(yǔ)中第二軟件原語(yǔ)的輸入。根據(jù)本發(fā)明的另一優(yōu)選實(shí)施例,還提供了構(gòu)造動(dòng)態(tài)生成的偽唯一安全 模塊的方法,此方法包括向安全模塊源提供多個(gè)軟件原語(yǔ),以及從所述 多個(gè)軟件原語(yǔ)中組合出軟件原語(yǔ)序列,以形成安全模塊,其中所述多個(gè)軟 件原語(yǔ)中的每個(gè)軟件原語(yǔ)包含可以順序執(zhí)行的軟件原語(yǔ),所述多個(gè)軟件原語(yǔ)中的第一軟件原語(yǔ)的輸出包含所述多個(gè)軟件原語(yǔ)中第二軟件原語(yǔ)的輸 入。進(jìn)一步根據(jù)本發(fā)明的優(yōu)選實(shí)施例,此方法包括接收初始輸入,將所 述初始輸入輸入至所述多個(gè)軟件原語(yǔ)中的第一軟件原語(yǔ),順序?qū)⑺龆鄠€(gè) 軟件原語(yǔ)中上一個(gè)軟件原語(yǔ)的輸出輸入至所述多個(gè)軟件原語(yǔ)中的下一個(gè)軟 件原語(yǔ),直至所述多個(gè)軟件原語(yǔ)的最后一個(gè)軟件原語(yǔ)生成最終輸出,以及 輸出所述最終輸出。此外根據(jù)本發(fā)明的優(yōu)選實(shí)施例,安全模塊至少部分根據(jù)最初輸入生成 結(jié)果。另外根據(jù)本發(fā)明的優(yōu)選實(shí)施例,結(jié)果至少部分根據(jù)多個(gè)軟件原語(yǔ)的次 序得出。此外根據(jù)本發(fā)明的優(yōu)選實(shí)施例,軟件原語(yǔ)中至少有一個(gè)軟件原語(yǔ)包括 散列函數(shù)。進(jìn)一步根據(jù)本發(fā)明的優(yōu)選實(shí)施例,為了形成所述安全模塊,必須使用 包含所述多個(gè)軟件原語(yǔ)的所有所述軟件原語(yǔ)。進(jìn)一步根據(jù)本發(fā)明的優(yōu)選實(shí)施例,為了形成所述安全模塊,所述多個(gè) 軟件原語(yǔ)中的每個(gè)軟件原語(yǔ)必須被使用一次且只能使用一次。另外根據(jù)本發(fā)明的優(yōu)選實(shí)施例,為了形成所述安全模塊,所述多個(gè)軟 件原語(yǔ)中的每個(gè)軟件原語(yǔ)可以被使用多于一次。此外根據(jù)本發(fā)明的優(yōu)選實(shí)施例,為了形成所述安全模塊,可以使用包 含所述多個(gè)軟件原語(yǔ)的所述軟件原語(yǔ)的任意子集。進(jìn)一步根據(jù)本發(fā)明的優(yōu)選實(shí)施例,為了形成所述安全模塊,使用包含 所述多個(gè)軟件原語(yǔ)的最小數(shù)量的所述軟件原語(yǔ)。此外根據(jù)本發(fā)明的優(yōu)選實(shí)施例,操作安全模塊用于解密己加密的信息。另外根據(jù)本發(fā)明的優(yōu)選實(shí)施例,加密的信息包括內(nèi)容。 此外根據(jù)本發(fā)明的優(yōu)選實(shí)施例,安全裝置源包括安全設(shè)備。 進(jìn)一步根據(jù)本發(fā)明的優(yōu)選實(shí)施例,安全裝置源包括遠(yuǎn)程服務(wù)器。 根據(jù)本發(fā)明的另一優(yōu)選實(shí)施例,還提供了保護(hù)內(nèi)容安全的設(shè)施,此設(shè) 施包括第一通信機(jī)制,用于在安全模塊源與內(nèi)容呈現(xiàn)設(shè)備間建立通信,動(dòng)態(tài)生成的偽唯一安全模塊加載器,用于從所述安全模塊源向所述內(nèi)容呈 現(xiàn)設(shè)備加載動(dòng)態(tài)生成的偽唯一安全模塊,第二通信機(jī)制,用于在所述安全 模塊源與所述動(dòng)態(tài)生成的偽唯一安全模塊間建立通信,以及解密密鑰傳輸 機(jī)制,用于從所述安全模塊源向所述動(dòng)態(tài)生成的偽唯一安全模塊傳輸解密 密鑰,從而能夠解密己加密的內(nèi)容,所述加密的內(nèi)容根據(jù)所述解密密鑰進(jìn) 行加密。根據(jù)本發(fā)明的另一優(yōu)選實(shí)施例,還提供了保護(hù)內(nèi)容安全的設(shè)施,此設(shè) 施包括第一通信機(jī)制,用于在安全模塊源與內(nèi)容呈現(xiàn)設(shè)備間建立通信, 動(dòng)態(tài)生成的偽唯一安全模塊加載器,用于從所述安全模塊源向所述內(nèi)容呈 現(xiàn)設(shè)備加載動(dòng)態(tài)生成的偽唯一安全模塊,第二通信機(jī)制,用于在所述安全 模塊源與所述動(dòng)態(tài)生成的偽唯一安全模塊間建立通信,以及解密密鑰傳輸 機(jī)制,用于從所述安全模塊源向所述動(dòng)態(tài)生成的偽唯一安全模塊傳輸解密 密鑰,從而能夠解密己加密的內(nèi)容,所述加密內(nèi)容根據(jù)所述解密密鑰進(jìn)行 加密,其中所述動(dòng)態(tài)生成的偽唯一安全模塊包含軟件原語(yǔ)序列,所述軟件 原語(yǔ)序列中每個(gè)軟件原語(yǔ)能夠被順序執(zhí)行,所述多個(gè)軟件原語(yǔ)中的第一軟 件原語(yǔ)的輸出包含所述多個(gè)軟件原語(yǔ)中第二軟件原語(yǔ)的輸入。根據(jù)本發(fā)明的另一優(yōu)選實(shí)施例,還提供了構(gòu)造動(dòng)態(tài)生成的偽唯一安全 模塊的系統(tǒng),此系統(tǒng)包括包含在安全模塊源中的多個(gè)軟件原語(yǔ),以及組 合器,用于組合所述多個(gè)軟件原語(yǔ)中的軟件原語(yǔ)序列,以形成安全模塊, 其中,多個(gè)軟件原語(yǔ)中的每個(gè)軟件原語(yǔ)包含能夠順序執(zhí)行的軟件原語(yǔ),所 述多個(gè)軟件原語(yǔ)中的第一軟件原語(yǔ)的輸出包含所述多個(gè)軟件原語(yǔ)中第二軟 件原語(yǔ)的輸入。
通過(guò)下面參考附圖對(duì)本發(fā)明更詳細(xì)的闡述,可以更充分地理解本發(fā) 明,其中圖1的簡(jiǎn)化框圖示出了根據(jù)本發(fā)明的優(yōu)選實(shí)施例創(chuàng)建和操作的安全系統(tǒng);圖2的簡(jiǎn)化示意圖示出圖1中的安全模塊源和內(nèi)容呈現(xiàn)設(shè)備間的通信;圖3至圖5的簡(jiǎn)化流程圖示出了圖1中的系統(tǒng)的優(yōu)選操作方法。
具體實(shí)施方式
參考圖1,其示出的是根據(jù)本發(fā)明的優(yōu)選實(shí)施例創(chuàng)建和操作的安全系 統(tǒng)的簡(jiǎn)化框圖。圖I中的系統(tǒng)包括安全模塊源IO,安全軟件代理20和安全 模塊30。安全模塊30優(yōu)選地包含動(dòng)態(tài)生成的偽唯一軟件模塊,它通過(guò)安全軟件 代理20在運(yùn)行時(shí)動(dòng)態(tài)加載或添加。例如但不局限前述的一般性,安全模塊 30優(yōu)選地包含與操作系統(tǒng)無(wú)關(guān)及與執(zhí)行位置無(wú)關(guān)的代碼片斷。安全模塊30優(yōu)選地由安全模塊源10發(fā)送至通用計(jì)算機(jī)或其它內(nèi)容呈 現(xiàn)設(shè)備40中的安全軟件代理20。在本發(fā)明的一些優(yōu)選實(shí)施例中,安全模 塊源10優(yōu)選包含安全設(shè)備。例如但不局限前述的一般性,如本領(lǐng)域己知 的,安全設(shè)備可以包含保護(hù)鎖。在本發(fā)明的替代實(shí)施例中,安全模塊源10優(yōu)選地包含遠(yuǎn)程服務(wù)器。例 如但不局限前述的一般性,遠(yuǎn)程服務(wù)器可以包含廣播數(shù)據(jù)轉(zhuǎn)發(fā)器或內(nèi)容提 供商。如果安全模塊源10與遠(yuǎn)程服務(wù)器相連,安全模塊源10優(yōu)選地通過(guò) LAN或全球網(wǎng)(比如但不限于因特網(wǎng))與內(nèi)容呈現(xiàn)設(shè)備40通信。內(nèi)容呈現(xiàn)設(shè)備的非限定性實(shí)例包括如通用計(jì)算機(jī)、機(jī)頂盒(STB)、 數(shù)字視頻攝錄機(jī)(DVR) 、 DVD播放器等設(shè)備。安全軟件代理20與"媒體 播放器"登軟件相關(guān),或者,在一些優(yōu)選實(shí)施例中,它與包含在計(jì)算機(jī)或內(nèi) 容呈現(xiàn)設(shè)備中的"媒體播放器"登軟件的編解碼器相關(guān)。本領(lǐng)域的技術(shù)人員可以理解,通常,密鑰發(fā)布通常優(yōu)選地在安全設(shè)備 或安全服務(wù)器間發(fā)生。本發(fā)明及的優(yōu)選實(shí)施例中優(yōu)選支持將內(nèi)容加密密鑰 從安全模塊源10傳輸至內(nèi)容呈現(xiàn)設(shè)備40的傳輸方法。還要理解的是,設(shè)計(jì)用于在內(nèi)容呈現(xiàn)設(shè)備40上播放內(nèi)容的軟件應(yīng)用可 以?xún)?yōu)選地包含軟件應(yīng)用。這種情況下,當(dāng)安全模塊30從安全模塊源10到 來(lái)時(shí),安全模塊30然后可以啟動(dòng)軟件應(yīng)用,使得可以使用內(nèi)容呈現(xiàn)設(shè)備 40?,F(xiàn)在描述形成安全模塊30的優(yōu)選方法。安全模塊30優(yōu)選包含偽唯一 安全功能。偽唯一安全功能優(yōu)選地利用安全模塊源IO可用的多個(gè)軟件原語(yǔ)(softwareprimitive)創(chuàng)建。多個(gè)軟件原語(yǔ)中的每個(gè)原語(yǔ)優(yōu)選能夠與多個(gè)軟 件原語(yǔ)中任何其它原語(yǔ)進(jìn)行組合。例如但不局限前述的一般性,每個(gè)原語(yǔ) 能夠順序執(zhí)行。多個(gè)原語(yǔ)子集或原語(yǔ)序列優(yōu)選以隨機(jī)或偽隨機(jī)的方式組合 以形成安全模塊30。例如但不局限前述的一般性,多個(gè)軟件原語(yǔ)中的每個(gè) 原語(yǔ)可以包含具有特定初始值的公知散列函數(shù)。軟件原語(yǔ)可以以任意順序使用,也可以重復(fù)。例如,假定有5個(gè)軟件 原語(yǔ),A、 B、 C、 D和E,組合最多5個(gè)軟件原語(yǔ)以形成安全模塊30,不 需要用到所有的原語(yǔ),安全模塊30可以包含如 ACDBE;D;AEA;和 EBAAC。要理解,此處描述的從多個(gè)軟件原語(yǔ)中組合單個(gè)原語(yǔ)可以生成很大數(shù) 量的原語(yǔ)組合。例如但不局限前述的一般性,如果安全設(shè)備有32個(gè)原語(yǔ), 32個(gè)原語(yǔ)中的每個(gè)原語(yǔ)可以使用一次且只能使用一次,不限32個(gè)原語(yǔ)的 使用順序,則有32!種可能的原語(yǔ)組合。在本發(fā)明的一些實(shí)施例中,優(yōu)選地,安全模塊源10可用且保存的多個(gè) 軟件原語(yǔ)中的一些原語(yǔ)是加密的,而安全模塊源10可用的多個(gè)軟件原語(yǔ)中 的其它原語(yǔ)優(yōu)選地沒(méi)有加密。加密的原語(yǔ)優(yōu)選地使用不同的加密密鑰加 密,其加密方式優(yōu)選地使得加密密鑰是安全模塊源10本身不可用,而是優(yōu)選保存在集中機(jī)構(gòu)處,如廣播數(shù)據(jù)轉(zhuǎn)發(fā)器上?;蛘?,加密的軟件原語(yǔ)優(yōu)選 地本地加密。因此,在對(duì)安全設(shè)備進(jìn)行反向工程攻擊時(shí),優(yōu)選地要發(fā)現(xiàn)軟 件原語(yǔ)的全集將十分困難。在本發(fā)明的一些優(yōu)選實(shí)施例中,當(dāng)安全模塊源 10需要裝配將發(fā)送至安全軟件代理20的安全模塊30時(shí),安全模塊源10 優(yōu)選地從集中機(jī)構(gòu)接收所有所需的解密密鑰。當(dāng)安全模塊源10從集中機(jī)構(gòu) 接收了所有所需的解密密鑰時(shí),安全模塊源10優(yōu)選使用解密后的原語(yǔ)用于 安全模塊30的構(gòu)造。如果由于一些原因無(wú)法得到解密密鑰,安全模塊源 10優(yōu)選只使用未加密的原語(yǔ)進(jìn)行安全模塊30的創(chuàng)建。要理解,所需的解密 密鑰優(yōu)選通過(guò)合適的安全傳輸方法(如條件訪問(wèn)系統(tǒng))的保護(hù),從集中機(jī) 構(gòu)進(jìn)行安全傳輸。要理解安全模塊30優(yōu)選地除了執(zhí)行上述內(nèi)容解密功能之外,還可以執(zhí) 行其它安全功能。例如但不局限前述的一般性,除了內(nèi)容解密,安全模塊30優(yōu)選還可以至少執(zhí)行密鑰管理和計(jì)算;內(nèi)容解碼;許可證執(zhí)行。安全模塊源IO優(yōu)選時(shí)時(shí)打亂多個(gè)軟件原語(yǔ),使加密過(guò)的軟件原語(yǔ)成為 非加密的,以前的非加密軟件原語(yǔ)使用集中機(jī)構(gòu)提供的相同密鑰進(jìn)行加 密。還要理解,多個(gè)軟件原語(yǔ)中的特定單個(gè)原語(yǔ)優(yōu)選可以包含生成相同結(jié) 果的功能,但包含不同的程序代碼,因此包含不同的程序代碼模式(在本 領(lǐng)域也被稱(chēng)作"代碼簽名")。當(dāng)安全模塊30被發(fā)送至內(nèi)容呈現(xiàn)設(shè)備40時(shí),其優(yōu)選與安全模塊源10 進(jìn)行通信,協(xié)商內(nèi)容解密密鑰的傳遞。安全模塊30還優(yōu)選包含可執(zhí)行代 碼,用于解密己加密的內(nèi)容。安全模塊30進(jìn)一步優(yōu)選包含內(nèi)容訪問(wèn)商業(yè)規(guī) 則,例如但不局限前述的一般性,內(nèi)容過(guò)期日期,在此日期之后內(nèi)容不可 使用。因此對(duì)于每次內(nèi)容解密密鑰的傳輸,安全模塊30中的可執(zhí)行部分優(yōu) 選是不同,或偽唯一的。因此,對(duì)于每個(gè)單獨(dú)的內(nèi)容密鑰,都需要截獲、 偷取及反向工程每個(gè)單獨(dú)的安全模塊30。為了使反向工程安全模塊30的任何嘗試都變得更復(fù)雜,安全模塊源 10優(yōu)選只允許安全模塊30在有限時(shí)間窗內(nèi)運(yùn)行。安全模塊源IO優(yōu)選通過(guò) 運(yùn)行內(nèi)部定時(shí)器限制應(yīng)答時(shí)間。要理解,內(nèi)部定時(shí)器包括安全定時(shí)器。安 全模塊30必須在有限時(shí)間窗結(jié)束之前向安全模塊源10證明安全模塊30已 經(jīng)完成運(yùn)行,優(yōu)選通過(guò)將計(jì)算的結(jié)果通知安全模塊源10實(shí)現(xiàn)。如果安全模 塊30無(wú)法在有限時(shí)間窗結(jié)束前將計(jì)算結(jié)果呈現(xiàn)給安全模塊源10,則安全 模塊源10不再返回解密密鑰?;氐綀D1的討論,在安全模塊源10與內(nèi)容呈現(xiàn)設(shè)備40間通信的第一 階段,優(yōu)選地在安全軟件代理20與安全模塊源10間建立第一級(jí)安全鑒別 通道(SAC) 50。然后,通過(guò)第一級(jí)SAC50,包含偽唯一安全功能的安全 模塊30從安全模塊源10上傳至內(nèi)容呈現(xiàn)設(shè)備40。在安全模塊源10與內(nèi)容呈現(xiàn)設(shè)備40間通信的第二階段,優(yōu)選的使用 此處描述的偽唯一安全功能,在內(nèi)容呈現(xiàn)設(shè)備40中包含的安全模塊30與 安全模塊源10間建立第二級(jí)SAC 60。本領(lǐng)域的技術(shù)人員會(huì)理解,安全模塊源IO自己創(chuàng)建使用的偽唯一安全功能與內(nèi)容呈現(xiàn)設(shè)備40在安全模塊30中使用的功能完全相同,從而使得 安全模塊源10可以與安全模塊30正確通信。在安全模塊源10與安全模塊30間建立第二級(jí)SAC 60后,安全模塊源 10優(yōu)選能夠給安全模塊30提供至少一個(gè)內(nèi)容解密密鑰。安全模塊30優(yōu)選 執(zhí)行或控制內(nèi)容的解密。同時(shí)參看圖2,其示出的是圖l中的安全模塊源10與內(nèi)容呈現(xiàn)設(shè)備40 間通信的示意圖。在安全模塊源10與內(nèi)容呈現(xiàn)設(shè)備40間通信的第一階段,優(yōu)選發(fā)生通 信握手(步驟210)。具體的,安全模塊源10與內(nèi)容呈現(xiàn)設(shè)備40中包含的 安全軟件代理20建立通信。在握手完成后,在安全模塊源IO與安全軟件 代理20間建立起第一級(jí)SAC 50(步驟220)。第一級(jí)SAC 50 —旦被建立, 則安全模塊30從安全模塊源10上傳至內(nèi)容呈現(xiàn)設(shè)備40 (步驟230)。安全模塊30 —旦從安全模塊源10上傳至內(nèi)容呈現(xiàn)設(shè)備40,安全模塊 源10直接與安全模塊30進(jìn)行通信。在安全模塊源10與安全模塊30間通 信的第一階段,優(yōu)選發(fā)生通信握手(步驟240)。在握手完成后,優(yōu)選在安 全模塊源10與安全模塊30間建立第二級(jí)SAC60 (步驟250)。安全模塊 源10優(yōu)選安全地將至少一個(gè)內(nèi)容解密密鑰傳輸給安全模塊30(步驟260)。 接到該至少一個(gè)內(nèi)容解密密鑰后,安全模塊30優(yōu)選地能夠解密已加密的內(nèi) 容70(步驟270),從而生成明確的內(nèi)容80,由內(nèi)容呈現(xiàn)設(shè)備40進(jìn)行呈現(xiàn)。圖3至圖5示出的是圖1中系統(tǒng)操作的優(yōu)選方法。在經(jīng)過(guò)上面的討論 后,相信圖3至圖5中的方法無(wú)需解釋而自明。要理解,如果需要的話,本發(fā)明的軟件組件可以用ROM(只讀存儲(chǔ)器) 形式實(shí)現(xiàn)。如果需要的話,軟件組件通常可以使用傳統(tǒng)技術(shù)實(shí)現(xiàn)成硬件形 式。要理解,為了清楚闡述的目的,在不同的實(shí)施例中進(jìn)行說(shuō)明的本發(fā)明 的各種特性還可以在單個(gè)實(shí)施例中進(jìn)行組合。相反的,為了簡(jiǎn)單的目的, 在單個(gè)實(shí)施例中描述本發(fā)明的各種特性也可以分開(kāi)或以任意適合的子集 合的方式提供。本領(lǐng)域的技術(shù)人員要理解,本發(fā)明不局限于上面特別示出或描述的內(nèi)容。本發(fā)明的范圍只由權(quán)利要求書(shū)限定。
權(quán)利要求
1、一種保護(hù)內(nèi)容安全的方法,包含在安全模塊源與內(nèi)容呈現(xiàn)設(shè)備間建立通信;從所述安全模塊源向所述內(nèi)容呈現(xiàn)設(shè)備加載動(dòng)態(tài)生成的偽唯一安全模塊;在所述安全模塊源與所述動(dòng)態(tài)生成的偽唯一安全模塊間建立通信;以及從所述安全模塊源向所述動(dòng)態(tài)生成的偽唯一安全模塊傳輸解密密鑰,從而能夠解密已加密的內(nèi)容,所述加密的內(nèi)容根據(jù)所述解密密鑰進(jìn)行加密。
2、 根據(jù)權(quán)利要求1的方法,其中所述安全模塊源包含安全設(shè)備。
3、 根據(jù)權(quán)利要求1的方法,其中所述安全模塊源包含遠(yuǎn)程服務(wù)器。
4、 根據(jù)權(quán)利要求1至3中任意一項(xiàng)的方法,還包含建立第一安全鑒別 通道,用于所述安全模塊源與所述內(nèi)容呈現(xiàn)設(shè)備間的安全通信。
5、 根據(jù)權(quán)利要求1至4中任意一項(xiàng)的方法,還包含建立第二安全鑒別 通道,用于所述安全模塊源與所述動(dòng)態(tài)生成的偽唯一安全模塊間的安全通 信。
6、 根據(jù)權(quán)利要求1至5中任意一項(xiàng)的方法,其中所述內(nèi)容呈現(xiàn)設(shè)備還 包含安全軟件代理。
7、 根據(jù)權(quán)利要求6的方法,其中所述第一安全鑒別通道的建立包含在 所述安全模塊源與所述安全軟件代理間建立所述第一安全鑒別通道。
8、 根據(jù)權(quán)利要求1至7中任意一項(xiàng)的方法,其中所述內(nèi)容呈現(xiàn)設(shè)備包含通用計(jì)算機(jī)。
9、 根據(jù)權(quán)利要求1至7中任意一項(xiàng)的方法,其中所述內(nèi)容呈現(xiàn)設(shè)備包 含機(jī)頂盒(STB)。
10、 根據(jù)權(quán)利要求1至7中任意一項(xiàng)的方法,其中所述內(nèi)容呈現(xiàn)設(shè)備 包含數(shù)字視頻攝錄機(jī)(DVR)。
11、 根據(jù)權(quán)利要求1至7中任意一項(xiàng)的方法,其中所述內(nèi)容呈現(xiàn)設(shè)備 包含DVD播放器。
12、 根據(jù)權(quán)利要求l至ll中任意一項(xiàng)的方法,其中所述動(dòng)態(tài)生成的偽 唯一安全模塊包含軟件原語(yǔ)序列,所述軟件原語(yǔ)序列中的每個(gè)軟件原語(yǔ)可 以順序執(zhí)行,所述多個(gè)軟件原語(yǔ)中的第一軟件原語(yǔ)的輸出包含所述多個(gè)軟 件原語(yǔ)中第二軟件原語(yǔ)的輸入。
13、 根據(jù)權(quán)利要求l至ll中任意一項(xiàng)的方法,其中所述動(dòng)態(tài)生成的偽 唯一安全模塊通過(guò)下列步驟生成為所述安全模塊源提供多個(gè)軟件原語(yǔ);以及從所述多個(gè)軟件原語(yǔ)中組合出軟件原語(yǔ)序列,以形成所述動(dòng)態(tài)生成的 偽唯一安全模塊,其中每個(gè)軟件原語(yǔ)包含可以順序執(zhí)行的軟件原語(yǔ),所述多個(gè)軟件原語(yǔ) 中的第一軟件原語(yǔ)的輸出包含所述多個(gè)軟件原語(yǔ)中第二軟件原語(yǔ)的輸入。
14、 一種保護(hù)內(nèi)容安全的方法,包含在安全模塊源與內(nèi)容呈現(xiàn)設(shè)備間建立通信;從所述安全模塊源向所述內(nèi)容呈現(xiàn)設(shè)備加載動(dòng)態(tài)生成的偽唯一安全模塊;在所述安全模塊源與所述動(dòng)態(tài)生成的偽唯一安全模塊間建立通信;以及從所述安全模塊源向所述動(dòng)態(tài)生成的偽唯一安全模塊傳輸解密密鑰, 從而能夠解密已加密的內(nèi)容,所述加密的內(nèi)容根據(jù)所述解密密鑰加密,其中所述動(dòng)態(tài)生成的偽唯一安全模塊包含軟件原語(yǔ)序列,所述軟件原 語(yǔ)序列中的每個(gè)軟件原語(yǔ)能夠順序執(zhí)行,所述多個(gè)軟件原語(yǔ)中的第一軟件 原語(yǔ)的輸出包含所述多個(gè)軟件原語(yǔ)中第二軟件原語(yǔ)的輸入。
15、 根據(jù)權(quán)利要求14的方法,其中所述動(dòng)態(tài)生成的偽唯一安全模塊通過(guò)下列步驟生成向所述安全模塊源提供多個(gè)軟件原語(yǔ);以及從所述多個(gè)軟件原語(yǔ)中組合出軟件原語(yǔ)序列,以形成所述動(dòng)態(tài)生成的 偽唯一安全模塊,其中每個(gè)軟件原語(yǔ)包含可以順序執(zhí)行的軟件原語(yǔ),所述多個(gè)軟件原語(yǔ) 中的第一軟件原語(yǔ)的輸出包含所述多個(gè)軟件原語(yǔ)中第二軟件原語(yǔ)的輸入。
16、 一種構(gòu)造動(dòng)態(tài)生成的偽唯一安全模塊的方法,包含.-向安全模塊源提供多個(gè)軟件原語(yǔ);以及從所述多個(gè)軟件原語(yǔ)中組合出軟件原語(yǔ)序列,以形成安全模塊, 其中所述多個(gè)軟件原語(yǔ)中的每個(gè)軟件原語(yǔ)包含可以順序執(zhí)行的軟件原語(yǔ),所述多個(gè)軟件原語(yǔ)中的第一軟件原語(yǔ)的輸出包含所述多個(gè)軟件原語(yǔ)中第二軟件原語(yǔ)的輸入。
17、 根據(jù)權(quán)利要求16的方法,進(jìn)一步包含 接收初始輸入;將所述初始輸入輸入至所述多個(gè)軟件原語(yǔ)中的第一軟件原語(yǔ); 順序?qū)⑺龆鄠€(gè)軟件原語(yǔ)中上一個(gè)軟件原語(yǔ)的輸出輸入至所述多個(gè)軟件原語(yǔ)中的下一個(gè)軟件原語(yǔ),直至所述多個(gè)軟件原語(yǔ)的最后一個(gè)軟件原語(yǔ)生成最終輸出;以及 輸出所述最終輸出。
18、 根據(jù)權(quán)利要求16或17的方法,其中所述安全模塊至少部分根據(jù)所述初始輸入生成結(jié)果。
19、 根據(jù)權(quán)利要求18的方法,其中所述結(jié)果還至少部分基于所述多個(gè) 軟件原語(yǔ)的次序。
20、 根據(jù)權(quán)利要求16至19中任意一項(xiàng)的方法,其中所述軟件原語(yǔ)中 至少一個(gè)軟件原語(yǔ)包含散列函數(shù)。
21、 根據(jù)權(quán)利要求16至20中任意一項(xiàng)的方法,其中為了形成所述安 全模塊,必須使用包含所述多個(gè)軟件原語(yǔ)的所有軟件原語(yǔ)。
22、 根據(jù)權(quán)利要求21的方法,其中為了形成所述安全模塊,所述多個(gè) 軟件原語(yǔ)中的每個(gè)軟件原語(yǔ)必須被使用一次且只能使用一次。
23、 根據(jù)權(quán)利要求21的方法,其中為了形成所述安全模塊,所述多個(gè) 軟件原語(yǔ)中的每個(gè)軟件原語(yǔ)可以被使用多于一次。
24、 根據(jù)權(quán)利要求16至20中任意一項(xiàng)的方法,其中為了形成所述安 全模塊,可以使用包含所述多個(gè)軟件原語(yǔ)的所述軟件原語(yǔ)的任意子集。
25、 根據(jù)權(quán)利要求24的方法,其中為了形成所述安全模塊,使用包含 所述多個(gè)軟件原語(yǔ)的最小數(shù)量的所述軟件原語(yǔ)。
26、 根據(jù)權(quán)利要求16和25中任意一項(xiàng)的方法,其中所述安全模塊用 于解密已加密的消息。
27、 根據(jù)權(quán)利要求26的方法,其中所述加密的消息包含內(nèi)容。
28、 根據(jù)權(quán)利要求16至27中任意一項(xiàng)的方法,其中所述安全模塊源 包含安全設(shè)備。
29、 根據(jù)權(quán)利要求16至27中任意一項(xiàng)的方法,其中所述安全模塊源 包含遠(yuǎn)程服務(wù)器。
30、 一種保護(hù)內(nèi)容安全的裝置,包含第一通信機(jī)制,用于在安全模塊源與內(nèi)容呈現(xiàn)設(shè)備間建立通信;動(dòng)態(tài)生成的偽唯一安全模塊加載器,用于從所述安全模塊源向所述內(nèi) 容呈現(xiàn)設(shè)備加載動(dòng)態(tài)生成的偽唯一安全模塊;第二通信機(jī)制,用于在所述安全模塊源與所述動(dòng)態(tài)生成的偽唯一安全 模塊間建立通信;以及解密密鑰傳輸機(jī)制,用于從所述安全模塊源向所述動(dòng)態(tài)生成的偽唯一 安全模塊傳輸解密密鑰,從而能夠解密已加密的內(nèi)容,所述加密的內(nèi)容根 據(jù)所述解密密鑰進(jìn)行加密。
31、 一種保護(hù)內(nèi)容安全的裝置,包含-第一通信機(jī)制,用于在安全模塊源與內(nèi)容呈現(xiàn)設(shè)備間建立通信;動(dòng)態(tài)生成的偽唯一安全模塊加載器,用于從所述安全模塊源向所述內(nèi) 容呈現(xiàn)設(shè)備加載動(dòng)態(tài)生成的偽唯一安全模塊;第二通信機(jī)制,用于在所述安全模塊源與所述動(dòng)態(tài)生成的偽唯一安全 模塊間建立通信;以及解密密鑰傳輸機(jī)制,用于從所述安全模塊源向所述動(dòng)態(tài)生成的偽唯一 安全模塊傳輸解密密鑰,從而能夠解密已加密的內(nèi)容,所述加密內(nèi)容根據(jù) 所述解密密鑰進(jìn)行加密,其中所述動(dòng)態(tài)生成的偽唯一安全模塊包含軟件原語(yǔ)序列,所述軟件原 語(yǔ)序列中每個(gè)軟件原語(yǔ)能夠被順序執(zhí)行,所述多個(gè)軟件原語(yǔ)中的第一軟件 原語(yǔ)的輸出包含所述多個(gè)軟件原語(yǔ)中第二軟件原語(yǔ)的輸入。
32、 一種構(gòu)造動(dòng)態(tài)生成的偽唯一安全模塊的系統(tǒng),包含 包含在安全模塊源中的多個(gè)軟件原語(yǔ);以及組合器,用于組合所述多個(gè)軟件原語(yǔ)中的軟件原語(yǔ)序列,以形成安全模塊,其中,多個(gè)軟件原語(yǔ)中的每個(gè)軟件原語(yǔ)包含能夠被順序執(zhí)行的軟件原 語(yǔ),所述多個(gè)軟件原語(yǔ)中的第一軟件原語(yǔ)的輸出包含所述多個(gè)軟件原語(yǔ)中 第二軟件原語(yǔ)的輸入。
全文摘要
描述了一種保護(hù)內(nèi)容安全的方法和系統(tǒng),此方法包括在安全模塊源與內(nèi)容呈現(xiàn)設(shè)備間建立通信,從安全模塊源往內(nèi)容呈現(xiàn)設(shè)備加載動(dòng)態(tài)生成的偽唯一安全模塊,在安全模塊源與動(dòng)態(tài)生成的偽唯一安全模塊間建立通信,從安全模塊源往動(dòng)態(tài)生成的偽唯一安全模塊傳輸解密密鑰,從而能夠解密已加密內(nèi)容,加密內(nèi)容根據(jù)解密密鑰加密。本發(fā)明還描述了相關(guān)方法和設(shè)施。
文檔編號(hào)H04L9/28GK101278517SQ200680036934
公開(kāi)日2008年10月1日 申請(qǐng)日期2006年9月27日 優(yōu)先權(quán)日2005年10月6日
發(fā)明者E·維斯巴德, L·桑德勒, Y·塞拉 申請(qǐng)人:Nds有限公司