欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

用于內(nèi)容的適應(yīng)性保護(hù)的存儲(chǔ)器器件和方法

文檔序號(hào):6349765閱讀:139來(lái)源:國(guó)知局
專利名稱:用于內(nèi)容的適應(yīng)性保護(hù)的存儲(chǔ)器器件和方法
用于內(nèi)容的適應(yīng)性保護(hù)的存儲(chǔ)器器件和方法
背景技術(shù)
用于保護(hù)在諸如符合BD+標(biāo)準(zhǔn)的藍(lán)光盤(pán)的光盤(pán)上存儲(chǔ)的內(nèi)容的一些內(nèi)容保護(hù)架構(gòu)將受保護(hù)內(nèi)容與包含關(guān)于如何對(duì)受保護(hù)內(nèi)容去保護(hù)(unprotect)的指令的虛擬機(jī)代碼一起存儲(chǔ)在光盤(pán)中。在回放期間,播放器從光盤(pán)讀取受保護(hù)內(nèi)容和虛擬機(jī)代碼,并且播放器中的虛擬機(jī)執(zhí)行該虛擬機(jī)代碼以對(duì)受保護(hù)內(nèi)容去保護(hù)。一旦受保護(hù)內(nèi)容被去保護(hù),播放器就可以播放該內(nèi)容。盡管此方案提供了某個(gè)級(jí)別的保護(hù),但是隨著時(shí)間,黑客可能能夠竊用用于保護(hù)內(nèi)容的內(nèi)容保護(hù)算法。一旦內(nèi)容保護(hù)算法被竊用,就將不存在防止對(duì)內(nèi)容的未授權(quán)使用和復(fù)制的機(jī)制。

發(fā)明內(nèi)容
本發(fā)明的實(shí)施例由權(quán)利要求限定,并且此部分的任何內(nèi)容不應(yīng)被當(dāng)作對(duì)那些權(quán)利要求的限制。通過(guò)介紹,以下所述的實(shí)施例一般涉及存儲(chǔ)器器件和內(nèi)容的適應(yīng)性保護(hù)的方法。 在一個(gè)實(shí)施例中,提供了存儲(chǔ)器器件,其包括存儲(chǔ)器,操作以存儲(chǔ)內(nèi)容;以及控制器,與該存儲(chǔ)器通信。該控制器操作以產(chǎn)生與該控制器先前產(chǎn)生的至少一個(gè)內(nèi)容保護(hù)算法不同的內(nèi)容保護(hù)算法;根據(jù)該內(nèi)容保護(hù)算法保護(hù)內(nèi)容;產(chǎn)生包含關(guān)于如何對(duì)受保護(hù)內(nèi)容去保護(hù)的指令的虛擬機(jī)代碼;以及將受保護(hù)內(nèi)容和該虛擬機(jī)代碼提供給與所述存儲(chǔ)器器件通信的主機(jī)。在另一實(shí)施例中,提供了內(nèi)容的適應(yīng)性保護(hù)的方法,包括產(chǎn)生與至少一個(gè)先前產(chǎn)生的內(nèi)容保護(hù)算法不同的內(nèi)容保護(hù)算法;根據(jù)該內(nèi)容保護(hù)算法保護(hù)內(nèi)容;產(chǎn)生包含關(guān)于如何對(duì)受保護(hù)內(nèi)容去保護(hù)的指令的虛擬機(jī)代碼;以及將受保護(hù)內(nèi)容和該虛擬機(jī)代碼提供給與所述存儲(chǔ)器器件通信的主機(jī)。提供了其他實(shí)施例,每個(gè)實(shí)施例可以單獨(dú)或者一起組合使用?,F(xiàn)在將參考附圖描述各個(gè)實(shí)施例。


圖1是實(shí)施例的主機(jī)和存儲(chǔ)器器件的框圖。圖2是內(nèi)容的適應(yīng)性保護(hù)的實(shí)施例的方法的流程圖。圖3是另一實(shí)施例的主機(jī)和存儲(chǔ)器器件的框圖。圖4A和4B是與圖3所示的存儲(chǔ)器器件一起使用的內(nèi)容的適應(yīng)性保護(hù)的實(shí)施例的方法的流程圖。
具體實(shí)施例方式通過(guò)介紹,以下實(shí)施例提供了存儲(chǔ)器器件和內(nèi)容的適應(yīng)性保護(hù)的方法,其可以用于提供比使用靜態(tài)形式的保護(hù)的系統(tǒng)更強(qiáng)健的內(nèi)容保護(hù)級(jí)別。具體地,因?yàn)樵谀承┘軜?gòu)中虛擬機(jī)代碼和受保護(hù)內(nèi)容是靜態(tài)的,因此隨著時(shí)間,黑客可能能夠竊用內(nèi)容保護(hù)算法。在克
4服此問(wèn)題時(shí),存儲(chǔ)器器件可以利用可以從一個(gè)實(shí)例到另一實(shí)例變化并且可以在各個(gè)時(shí)間時(shí)產(chǎn)生新的虛擬機(jī)代碼的內(nèi)容保護(hù)算法來(lái)適應(yīng)性地保護(hù)內(nèi)容。因而,即使黑客竊用了在內(nèi)容回放的一個(gè)實(shí)例中使用的內(nèi)容保護(hù)算法,內(nèi)容仍將受到保護(hù),因?yàn)榇鎯?chǔ)器器件可以在內(nèi)容回放的另一實(shí)例時(shí)利用不同的內(nèi)容保護(hù)算法來(lái)保護(hù)該內(nèi)容。這提供了對(duì)內(nèi)容的適應(yīng)性動(dòng)態(tài)保護(hù)而不是靜態(tài)保護(hù)?,F(xiàn)在轉(zhuǎn)向附圖,圖1是實(shí)施例的主機(jī)50和存儲(chǔ)器器件100的框圖。如圖1所示, 存儲(chǔ)器器件100包括控制器110和可操作以存儲(chǔ)內(nèi)容130的存儲(chǔ)器120?!皟?nèi)容”可以采取任何適當(dāng)?shù)男问?,比如但不限于?shù)字視頻(具有或不具有隨附的音頻)(例如電影、電視劇的一集、新聞節(jié)目等)、音頻(例如歌曲、播客、一個(gè)或一系列聲音、音頻書(shū)等)、靜止或運(yùn)動(dòng)圖像(例如照片、計(jì)算機(jī)產(chǎn)生的顯示等)、文本(帶有或不帶有圖片)(例如論文、文本文件等)、視頻游戲以及這些形式的兩種或更多的混合多媒體呈現(xiàn)??刂破?10可以以任何適當(dāng)?shù)姆绞綄?shí)現(xiàn)。例如,控制器110可以采取微處理器或者處理器以及例如存儲(chǔ)可由(微)處理器執(zhí)行的計(jì)算機(jī)可讀程序代碼(例如軟件或固件)的計(jì)算機(jī)可讀介質(zhì)、邏輯門(mén)、開(kāi)關(guān)、專用集成電路(ASIC)、可編程邏輯控制器以及嵌入式微控制器的形式。控制器的例子包括但不限于以下微控制器ARC 625D、Atmel AT91SAM、 MicrochipPIC18M6K20以及Silicon Labs C8051F320。可以在控制器中使用的各個(gè)組件的例子在以下討論的實(shí)施例中描述并在相關(guān)的附圖中示出??刂破?10還可以被實(shí)現(xiàn)為存儲(chǔ)器120控制邏輯的部分。存儲(chǔ)器120可以采取任何適當(dāng)?shù)男问健T谝粋€(gè)實(shí)施例中,存儲(chǔ)器120采取固態(tài)(例如快閃)存儲(chǔ)器的形式,并且可以是一次可編程、幾次可編程或者多次可編程的。但是,可以使用其他形式的存儲(chǔ)器,比如光存儲(chǔ)器和磁存儲(chǔ)器。盡管在圖1中示出為單個(gè)組件,但是控制器Iio和/或存儲(chǔ)器120可以用幾個(gè)組件來(lái)實(shí)現(xiàn)。此外,存儲(chǔ)器器件100可以包含其他組件,它們未在圖1中示出以簡(jiǎn)化附圖。在一個(gè)實(shí)施例中,存儲(chǔ)器器件100可以采取其他形式,比如但不限于固態(tài)驅(qū)動(dòng)器和通用串行總線(USB)設(shè)備。如圖1所示,存儲(chǔ)器器件100與主機(jī)設(shè)備50通信。如在此使用的,短語(yǔ)
“與......通信”意味著直接與之通信或者經(jīng)過(guò)一個(gè)或多個(gè)組件間接與之通信,這可能有或
者可能沒(méi)有在此示出或描述。主機(jī)50可以采取任何適當(dāng)?shù)男问?,比如但不限于專用?nèi)容播放器、移動(dòng)電話、個(gè)人計(jì)算機(jī)、游戲設(shè)備、個(gè)人數(shù)字助理(PDA)和TV系統(tǒng)。優(yōu)選地,存儲(chǔ)器器件100可移除地連接到主機(jī)50,因此用戶可以與各種主機(jī)一起使用存儲(chǔ)器器件100。如圖1所示,主機(jī)50中的控制器60實(shí)現(xiàn)虛擬機(jī)70。如本領(lǐng)域中公知的,虛擬機(jī)是模仿硬件設(shè)備的性能并就像其是物理計(jì)算機(jī)那樣可以運(yùn)行其自己的操作系統(tǒng)和應(yīng)用的軟件組件。通常,虛擬機(jī)提供兼容性的益處,因此寫(xiě)入虛擬機(jī)代碼用于在虛擬機(jī)上執(zhí)行的一方不需要知道主機(jī)的軟件平臺(tái)和硬件環(huán)境的細(xì)節(jié)。而且,因?yàn)樘摂M機(jī)獨(dú)立于其基本物理硬件,因此可以用與存在與基本硬件設(shè)備上的物理組件完全不同的虛擬(例如軟件創(chuàng)建的) 組件、比如虛擬CPU和虛擬網(wǎng)卡來(lái)配置虛擬機(jī)。在一個(gè)實(shí)施例中,主機(jī)50、控制器60和虛擬機(jī)70可以與在靜態(tài)保護(hù)架構(gòu)下使用的那些相同。主機(jī)50可以包含其他組件(例如顯示設(shè)備、揚(yáng)聲器、頭戴受話器等),未在圖1中示出它們以簡(jiǎn)化附圖。圖2是使用圖1的存儲(chǔ)器器件100的內(nèi)容的適應(yīng)性保護(hù)的實(shí)施例的方法的流程圖 200。如流程圖200所示,當(dāng)控制器110接收到來(lái)自主機(jī)50的播放內(nèi)容130的請(qǐng)求時(shí),控制器110產(chǎn)生與控制器先前產(chǎn)生的至少一個(gè)內(nèi)容保護(hù)算法不同的內(nèi)容保護(hù)算法(動(dòng)作210)。 如在此使用的,“內(nèi)容保護(hù)算法”(或者“安全算法”)指可以保護(hù)內(nèi)容不被未授權(quán)使用的任意算法??梢允褂萌魏芜m當(dāng)?shù)膬?nèi)容保護(hù)算法,并且在以下描述的實(shí)施例中提供了幾個(gè)不同類(lèi)型的內(nèi)容保護(hù)算法的例子??刂破?10可以以任何適當(dāng)?shù)姆绞疆a(chǎn)生內(nèi)容保護(hù)算法。例如, 控制器110可以基于以下的一個(gè)或多個(gè)產(chǎn)生內(nèi)容保護(hù)算法用于向存儲(chǔ)器器件100驗(yàn)證主機(jī)50的主機(jī)信用;用于向主機(jī)50驗(yàn)證存儲(chǔ)器器件100的存儲(chǔ)器器件信用;主機(jī)環(huán)境(例如主機(jī)50的處理功率和存儲(chǔ)器性能);存儲(chǔ)器器件環(huán)境(例如存儲(chǔ)器器件100的處理功率和存儲(chǔ)器性能);內(nèi)容的類(lèi)型;以及關(guān)于控制器110先前產(chǎn)生的虛擬機(jī)代碼的信息。此外,控制器110可以“從零開(kāi)始(from scratch) ”產(chǎn)生內(nèi)容保護(hù)算法或者可以通過(guò)使用對(duì)存儲(chǔ)在存儲(chǔ)器器件100上的內(nèi)容保護(hù)算法的預(yù)定選擇、偽隨機(jī)選擇或者隨機(jī)選擇來(lái)產(chǎn)生內(nèi)容保護(hù)算法。另外,內(nèi)容提供者或者其他方可以為存儲(chǔ)器器件100提供關(guān)于如何產(chǎn)生內(nèi)容保護(hù)算法的指令(例如以虛擬機(jī)代碼形式)。無(wú)論其如何產(chǎn)生,產(chǎn)生的內(nèi)容保護(hù)算法與控制器110 先前產(chǎn)生的至少一個(gè)內(nèi)容保護(hù)算法不同。以此方式,控制器110提供了適應(yīng)性/動(dòng)態(tài)內(nèi)容保護(hù),這與以上背景技術(shù)部分中所述的靜態(tài)保護(hù)相對(duì)。返回到圖2,控制器110然后根據(jù)產(chǎn)生的內(nèi)容保護(hù)算法來(lái)保護(hù)內(nèi)容130(動(dòng)作 220),并產(chǎn)生包含關(guān)于如何對(duì)受保護(hù)內(nèi)容去保護(hù)的指令的虛擬機(jī)代碼(動(dòng)作230)。以此方式,虛擬機(jī)代碼與剛剛對(duì)內(nèi)容進(jìn)行的保護(hù)操作相匹配。然后控制器110將受保護(hù)的內(nèi)容和虛擬機(jī)代碼提供給主機(jī)50(動(dòng)作M0)。在接收到該受保護(hù)內(nèi)容和虛擬機(jī)代碼后,主機(jī)50 中的虛擬機(jī)70將執(zhí)行該虛擬機(jī)代碼并使用在虛擬機(jī)代碼中包含的指令對(duì)受保護(hù)內(nèi)容去保護(hù)。即,虛擬機(jī)代碼中的指令指示虛擬機(jī)70如何在存儲(chǔ)器器件100中“不進(jìn)行”控制器110 施加的內(nèi)容保護(hù),因此主機(jī)50可以呈現(xiàn)內(nèi)容用戶回放。以此方式,主機(jī)50就像播放由靜態(tài)保護(hù)架構(gòu)保護(hù)的內(nèi)容的主機(jī)那樣動(dòng)作,因?yàn)樵搩?nèi)容的回放也涉及接收和執(zhí)行包含關(guān)于如何對(duì)內(nèi)容去保護(hù)的指令的虛擬機(jī)代碼。但是,這些實(shí)施例提供了靜態(tài)保護(hù)架構(gòu)未提供的另外的保護(hù)級(jí)別,如下所述。因?yàn)樘摂M機(jī)代碼和受保護(hù)內(nèi)容在背景技術(shù)部分中所述的架構(gòu)中是靜態(tài)的,所以隨著時(shí)間,黑客可能能夠竊用內(nèi)容保護(hù)算法。一旦內(nèi)容保護(hù)算法被竊用,將不存在防止內(nèi)容的未授權(quán)使用和復(fù)制的機(jī)制。相反,因?yàn)榇鎯?chǔ)器器件100包含控制器110,存儲(chǔ)器器件100可以利用與控制器110先前產(chǎn)生的至少一個(gè)內(nèi)容保護(hù)算法不同的內(nèi)容保護(hù)算法來(lái)保護(hù)內(nèi)容 130,并在各個(gè)時(shí)間(例如在內(nèi)容的每個(gè)回放會(huì)話時(shí)、在N個(gè)回放會(huì)話后、在單個(gè)回放會(huì)話內(nèi)等等)產(chǎn)生新的虛擬機(jī)代碼,而不是僅僅存儲(chǔ)靜態(tài)內(nèi)容和靜態(tài)虛擬機(jī)代碼。對(duì)內(nèi)容的此動(dòng)態(tài)保護(hù)意味著即使黑客竊用了在內(nèi)容回放的一個(gè)實(shí)例中使用的內(nèi)容保護(hù)算法,內(nèi)容仍將被保護(hù),因?yàn)榇鎯?chǔ)器器件100將在內(nèi)容回放的另一實(shí)例中使用不同的內(nèi)容保護(hù)算法來(lái)保護(hù)內(nèi)容。即,代替僅需要竊用單個(gè)靜態(tài)內(nèi)容保護(hù)算法,黑客將需要竊用具體內(nèi)容標(biāo)題的內(nèi)容保護(hù)算法的所有可能的組合以便得到對(duì)該內(nèi)容的無(wú)限制訪問(wèn)。這提供了比靜態(tài)保護(hù)架構(gòu)所提供的明顯更高級(jí)別的內(nèi)容保護(hù)。如上所述,控制器110產(chǎn)生的內(nèi)容保護(hù)算法不同于控制器110先前產(chǎn)生的至少一個(gè)內(nèi)容保護(hù)算法。這意味著每個(gè)產(chǎn)生的內(nèi)容保護(hù)算法可以是唯一的(如果產(chǎn)生的內(nèi)容保護(hù)算法不同于控制器110先前產(chǎn)生的所有內(nèi)容保護(hù)算法)或者是先前產(chǎn)生的內(nèi)容保護(hù)算法的重復(fù)(如果產(chǎn)生的內(nèi)容保護(hù)算法不同于控制器先前產(chǎn)生的內(nèi)容保護(hù)算法的一些而不是所有)。在重復(fù)的情況下,優(yōu)選內(nèi)容保護(hù)算法不同于曾產(chǎn)生的最后的內(nèi)容保護(hù)算法。如以下更詳細(xì)地描述的,這可以通過(guò)分析與最后產(chǎn)生的內(nèi)容保護(hù)算法相關(guān)聯(lián)的存儲(chǔ)的虛擬機(jī)代碼來(lái)實(shí)現(xiàn)。 如上所述,這些實(shí)施例的存儲(chǔ)器器件100可以以任何適當(dāng)?shù)姆绞綄?shí)現(xiàn)。以下段落和參考的附圖描述了一個(gè)示例實(shí)現(xiàn)方式。應(yīng)該理解,這些實(shí)施例僅僅是例子,并且在此示出和描述的細(xì)節(jié)不應(yīng)被詮釋到權(quán)利要求中,除非在權(quán)利要求中明確列出。
返回附圖,圖3是另一實(shí)施例的存儲(chǔ)器器件300和主機(jī)350的框圖。如圖3所示, 存儲(chǔ)器器件300包括控制器310和存儲(chǔ)器320。控制器310包括用于與存儲(chǔ)器320接口的存儲(chǔ)器接口 311和用于與主機(jī)350接口的主機(jī)接口 312。控制器310還包括中央處理單元 (CPU)313、可操作以提供加密和/或解密操作的密碼引擎314、讀訪問(wèn)存儲(chǔ)器(RAM)315、存儲(chǔ)用于存儲(chǔ)器器件300的基本操作的固件的只讀存儲(chǔ)器(ROM) 316以及存儲(chǔ)用于加密/解密操作的設(shè)備特有密鑰的非易失性存儲(chǔ)器(NVM)317。在此實(shí)施例中,CPU 313可以通過(guò)運(yùn)行在存儲(chǔ)器320中存儲(chǔ)的固件代碼344來(lái)實(shí)現(xiàn)虛擬機(jī)(VM)318。但是,在其他實(shí)施例中,具有其自己的CPU的控制器310中的分離的子系統(tǒng)可以實(shí)現(xiàn)虛擬機(jī)。以下將描述虛擬機(jī)318 的使用。在此實(shí)施例中,存儲(chǔ)器320包括由主機(jī)350上的文件系統(tǒng)管理的公共分區(qū)325和由控制器310內(nèi)部地管理的隱藏受保護(hù)系統(tǒng)區(qū)335。隱藏受保護(hù)系統(tǒng)區(qū)335存儲(chǔ)內(nèi)容加密密鑰(CEK) 340、存儲(chǔ)器器件虛擬機(jī)(VM)代碼、固件(FW)代碼342和主機(jī)虛擬機(jī)(VM)代碼 346。公共分區(qū)325和隱藏受保護(hù)系統(tǒng)區(qū)335可以是相同存儲(chǔ)器單元的部分或者可以是不同的存儲(chǔ)器單元。隱藏受保護(hù)系統(tǒng)區(qū)335是“隱藏的”因?yàn)槠溆煽刂破?10 (而不由主機(jī)控制器360)內(nèi)部地管理,并且是“受保護(hù)的”因?yàn)樵谠搮^(qū)335中存儲(chǔ)的對(duì)象被用控制器310的非易失性存儲(chǔ)器317中存儲(chǔ)的唯一密鑰加密。因而,為了訪問(wèn)該區(qū)335中存儲(chǔ)的對(duì)象,控制器310將使用密碼引擎314和在非易失性存儲(chǔ)器317中存儲(chǔ)的密鑰來(lái)解密被加密的對(duì)象。 優(yōu)選地,存儲(chǔ)器器件300采取桑迪士克公司的TmstedFlash 存儲(chǔ)器器件的形式。存儲(chǔ)器的公共分區(qū)325存儲(chǔ)受保護(hù)內(nèi)容文件330A、330B。在此實(shí)施例中,可以是相同文件標(biāo)題的不同版本(例如分辨率)的內(nèi)容文件330A、330B由內(nèi)容提供者提供并被釋放為內(nèi)容復(fù)制和提取工具,其加載公共分區(qū)325中的內(nèi)容文件330A、330B。(代替內(nèi)容330A、 330B被預(yù)加載在公共分區(qū)325中,內(nèi)容文件330A、330B可以被側(cè)加載(side-load)或下載到存儲(chǔ)器器件320中)。盡管存儲(chǔ)器320的公共分區(qū)325由主機(jī)350上的文件系統(tǒng)管理, 但是在公共分區(qū)325中存儲(chǔ)的對(duì)象(比如內(nèi)容文件330A、330B)也可以由存儲(chǔ)器器件100 保護(hù)。在此實(shí)施例中,存儲(chǔ)的內(nèi)容文件330A、330B兩者由在隱藏受保護(hù)系統(tǒng)區(qū)335中存儲(chǔ)的各自內(nèi)容加密密鑰340保護(hù),并且那些密鑰340本身有在控制器310的非易失性存儲(chǔ)器 317中存儲(chǔ)的存儲(chǔ)器器件唯一密鑰保護(hù)。因而,為了對(duì)受保護(hù)內(nèi)容文件之一(比如內(nèi)容文件330A)去保護(hù),密碼引擎314將使用在控制器310的非易失性存儲(chǔ)器317中存儲(chǔ)的存儲(chǔ)器器件唯一密鑰來(lái)解密適當(dāng)?shù)膬?nèi)容加密密鑰;340,然后使用解密的內(nèi)容加密密鑰340來(lái)解密受保護(hù)內(nèi)容330A?,F(xiàn)在轉(zhuǎn)向主機(jī)350,主機(jī)350包括控制器360,該控制器360具有用于與存儲(chǔ)器器件300接口的存儲(chǔ)器器件接口 361??刂破?60還包括中央處理單元(CPU) 363、可操作以提供加密和/或解密操作的密碼引擎364、讀訪問(wèn)存儲(chǔ)器(RAM) 365和只讀存儲(chǔ)器(ROM) 366。應(yīng)該注意,框360中的每個(gè)組件可以被實(shí)現(xiàn)為在整個(gè)主機(jī)系統(tǒng)中的分離的芯片。在此實(shí)施例中,CPU 363通過(guò)執(zhí)行在ROM 366中存儲(chǔ)的軟件來(lái)實(shí)現(xiàn)虛擬機(jī)(VM) 370。但是,在其他實(shí)施例中,控制器360可以包含具有其自己的CPU的分離的虛擬機(jī)模塊。存儲(chǔ)器器件300和主機(jī)350經(jīng)由存儲(chǔ)器器件接口 361和主機(jī)接口 312彼此通信。 對(duì)于涉及數(shù)據(jù)的安全傳送的操作,優(yōu)選存儲(chǔ)器器件300和主機(jī)350中的密碼引擎314、316 用于相互驗(yàn)證彼此并提供密鑰交換。相互驗(yàn)證處理要求主機(jī)350和存儲(chǔ)器器件300交換唯一證書(shū)ID,如以下這可以被用作內(nèi)容保護(hù)算法產(chǎn)生處理的部分。在相互驗(yàn)證完成后,優(yōu)選會(huì)話密鑰用于建立安全信道用于存儲(chǔ)器器件350和主機(jī)300之間的通信。如上所述,此實(shí)施例中的存儲(chǔ)器器件300可以用于實(shí)現(xiàn)內(nèi)容的適應(yīng)性保護(hù)的方法。圖4A和4B是例示此方法的動(dòng)作的流程圖400A和400B。圖4A例示由存儲(chǔ)器器件控制器300進(jìn)行的動(dòng)作,圖4B例示由主機(jī)控制器350進(jìn)行的動(dòng)作。如圖4A所示,當(dāng)主機(jī)350 向存儲(chǔ)器器件300發(fā)送讀取內(nèi)容330A的命令時(shí),存儲(chǔ)器器件控制器310從存儲(chǔ)器320讀取受保護(hù)(加密的)內(nèi)容330A和存儲(chǔ)器器件虛擬機(jī)代碼344(動(dòng)作40 。虛擬機(jī)318向密碼引擎314發(fā)送密碼控制命令(動(dòng)作410),響應(yīng)于此,密碼引擎314使用非易失性存儲(chǔ)器317 中的存儲(chǔ)器器件唯一密鑰來(lái)解密存儲(chǔ)器器件虛擬機(jī)代碼344和內(nèi)容加密密鑰340,密碼引擎314使用該內(nèi)容加密密鑰340來(lái)解密受保護(hù)內(nèi)容330A。解密的“純(plain) ”內(nèi)容文件 330A和存儲(chǔ)器器件虛擬機(jī)代碼334然后被發(fā)送到控制器的RAM 315 (動(dòng)作415)。虛擬機(jī)318然后從RAM 315讀取虛擬機(jī)代碼344 (動(dòng)作430),這為虛擬機(jī)318提供了關(guān)于如何產(chǎn)生內(nèi)容保護(hù)算法來(lái)保護(hù)新的未受保護(hù)的內(nèi)容330A的指令。例如虛擬機(jī)代碼 344可以指定使用以下方法中的一個(gè)或多個(gè)來(lái)保護(hù)內(nèi)容330A:(1)用不同的預(yù)定密鑰按段 AES加密數(shù)據(jù),(2)用主機(jī)虛擬機(jī)代碼346中打亂的密鑰的SHA-I加密,(3)用主機(jī)虛擬機(jī)代碼346中的打亂的固定值XOR數(shù)據(jù)位,(4)用不同的值XOR塊中每隔一字節(jié),(5)XOR數(shù)據(jù)位然后用隨機(jī)密鑰3DES加密,(6)用于主機(jī)唯一證書(shū)ID AES加密,(7)用存儲(chǔ)器器件唯一證書(shū)ID AES加密,(8)用主機(jī)和存儲(chǔ)器器件證書(shū)ID的NXOR AES加密。除了使用這些方法之外或代替這些方法,存儲(chǔ)器器件300的固件代碼342可以指定另外的算法或標(biāo)準(zhǔn)用于選擇或產(chǎn)生內(nèi)容保護(hù)算法。這樣的標(biāo)準(zhǔn)包括但不限于主機(jī)信用、存儲(chǔ)器器件信用、主機(jī)環(huán)境、 存儲(chǔ)器器件環(huán)境、內(nèi)容的類(lèi)型和關(guān)于控制器110先前產(chǎn)生的虛擬機(jī)代碼的信息(例如主機(jī)虛擬機(jī)代碼346)以及關(guān)于算法的選擇是預(yù)定的、偽隨機(jī)的還是隨機(jī)的指令。無(wú)論所使用的產(chǎn)生方案如何,虛擬機(jī)318將產(chǎn)生的內(nèi)容保護(hù)算法發(fā)送回RAM 315(動(dòng)作425)??刂破?10然后使用產(chǎn)生的內(nèi)容保護(hù)算法來(lái)保護(hù)內(nèi)容330A(例如通過(guò)使用密碼引擎314來(lái)加密或破壞內(nèi)容330A)并產(chǎn)生主機(jī)虛擬機(jī)代碼346,其包含關(guān)于如何對(duì)由產(chǎn)生的內(nèi)容保護(hù)算法保護(hù)的內(nèi)容去保護(hù)的指令。(如需要,保護(hù)和產(chǎn)生動(dòng)作的順序可以相反。)受保護(hù)內(nèi)容330A和主機(jī)虛擬機(jī)代碼346被存儲(chǔ)在RAM 315中,然后由密碼引擎314 響應(yīng)于來(lái)自虛擬機(jī)318的密碼控制命令而讀取(動(dòng)作430和43 。密碼引擎314然后使用在存儲(chǔ)器器件300和主機(jī)350相互驗(yàn)證時(shí)建立的會(huì)話密鑰來(lái)加密受保護(hù)內(nèi)容330A和主機(jī)虛擬機(jī)代碼346。例如密碼引擎314可以在數(shù)據(jù)被輸出到主機(jī)350的空閑時(shí)利用主機(jī)和存儲(chǔ)器器件唯一 ID對(duì)實(shí)際數(shù)據(jù)進(jìn)行AES 1 加密處理然后進(jìn)行XOR操作。加密的受保護(hù)內(nèi)容330A和加密的主機(jī)虛擬機(jī)代碼346然后被提供給主機(jī)接口 312用于傳送到主機(jī)350 (動(dòng)作 440)。
8
返回附圖,圖4B示出例示由主機(jī)控制器350進(jìn)行的動(dòng)作的流程圖400B。如圖4B所示,當(dāng)主機(jī)350中的存儲(chǔ)器器件接口 361從存儲(chǔ)器器件300接收到加密的受保護(hù)內(nèi)容330A 和加密的主機(jī)虛擬機(jī)代碼346時(shí),加密的受保護(hù)內(nèi)容330A和加密的主機(jī)虛擬機(jī)代碼346 被提供給主機(jī)的密碼引擎364(動(dòng)作450)。響應(yīng)于發(fā)送到密碼引擎364的密碼命令(動(dòng)作 455),密碼引擎364使用安全信道會(huì)話唯一密鑰解密加密的受保護(hù)內(nèi)容330A和加密的主機(jī)虛擬機(jī)代碼;346,然后將那些解密的項(xiàng)存儲(chǔ)在主機(jī)的RAM 365中(動(dòng)作460)。主機(jī)的虛擬機(jī)370然后讀取主機(jī)虛擬機(jī)代碼346(動(dòng)作46 ,并使用在其中包含的指令對(duì)受保護(hù)內(nèi)容 330A去保護(hù)(例如通過(guò)對(duì)其解密和/或破壞)并將去保護(hù)的內(nèi)容330A存儲(chǔ)在RAM 365中 (動(dòng)作470)。主機(jī)控制器360然后從RAM365讀出去保護(hù)的內(nèi)容330A并將其發(fā)送到輸出設(shè)備,比如顯示設(shè)備和/或揚(yáng)聲器(動(dòng)作475)。如上所述,圖3所示的組件可以以任何適當(dāng)?shù)姆绞綄?shí)現(xiàn)。但是,優(yōu)選組件能夠進(jìn)行圖4A和4B所示的流程圖400A、400B中所示的動(dòng)作。例如,存儲(chǔ)器器件控制器310優(yōu)選具有足夠的CPU 313處理能力來(lái)執(zhí)行存儲(chǔ)器器件虛擬機(jī)代碼344以便產(chǎn)生和/或修改RAM 315 中的主機(jī)虛擬機(jī)代碼346以及根據(jù)產(chǎn)生的內(nèi)容保護(hù)算法在內(nèi)容330A被輸出到主機(jī)350時(shí)操縱該內(nèi)容330A。還優(yōu)選存儲(chǔ)器器件控制器310擁有允許有效數(shù)據(jù)流在空閑時(shí)經(jīng)歷密碼操作的多個(gè)重復(fù)的架構(gòu)。而且,存儲(chǔ)器器件控制器310優(yōu)選包含用于上述操作的足夠大的 RAM 315。此外,優(yōu)選主機(jī)控制器360具有按實(shí)時(shí)方式執(zhí)行主機(jī)虛擬機(jī)代碼346的能力。優(yōu)選地,主機(jī)350和存儲(chǔ)器器件300兩者在其中其組件的每個(gè)不能被篡改或者標(biāo)記(scope) 的安全執(zhí)行環(huán)境下工作。存在可以與這些實(shí)施例一起使用的許多替換。在一個(gè)替換中,代替僅向主機(jī)350 發(fā)送主機(jī)虛擬機(jī)代碼346,控制器310可以可選地將主機(jī)虛擬機(jī)代碼346存儲(chǔ)在存儲(chǔ)器320 中,如圖3中的箭頭所示。當(dāng)稍后產(chǎn)生內(nèi)容保護(hù)算法時(shí),存儲(chǔ)的主機(jī)虛擬機(jī)代碼346可以稍后被用作控制器310的輸入。例如,控制器310可以分析存儲(chǔ)的先前產(chǎn)生的主機(jī)虛擬機(jī)代碼346以確保產(chǎn)生不同的內(nèi)容保護(hù)算法,使得相同的算法不被連續(xù)使用兩次。另一替換實(shí)施例涉及主機(jī)虛擬機(jī)代碼346的第一實(shí)例的創(chuàng)建。如上所述,在內(nèi)容被產(chǎn)生的內(nèi)容保護(hù)算法保護(hù)之后(或之前),存儲(chǔ)器器件300中的控制器310產(chǎn)生主機(jī)虛擬機(jī)代碼346。在一些實(shí)施例中,內(nèi)容330A初始被存儲(chǔ)在存儲(chǔ)器器件300中,并且主機(jī)虛擬機(jī)代碼346不存在,直到在內(nèi)容被存儲(chǔ)器器件產(chǎn)生的內(nèi)容保護(hù)算法保護(hù)之后(或之前)存儲(chǔ)器器件300創(chuàng)建該。在另一實(shí)施例中,在內(nèi)容被存儲(chǔ)在存儲(chǔ)器器件300中之前,內(nèi)容提供者利用其自己的內(nèi)容保護(hù)算法來(lái)保護(hù)內(nèi)容,并將受保護(hù)的內(nèi)容330A和對(duì)受保護(hù)內(nèi)容330A 去保護(hù)所需的主機(jī)虛擬機(jī)代碼346兩者存儲(chǔ)在存儲(chǔ)器器件300中,這類(lèi)似于靜態(tài)保護(hù)架構(gòu)。 例如,內(nèi)容提供者可以使用隱藏在主機(jī)虛擬機(jī)代碼346中的AES 1 密鑰來(lái)保護(hù)內(nèi)容330A。 從而,在這樣的實(shí)施例中,在存儲(chǔ)器器件300曾被要求動(dòng)態(tài)地保護(hù)內(nèi)容330A之前,主機(jī)虛擬機(jī)代碼346被存儲(chǔ)在存儲(chǔ)器器件300中。利用此實(shí)施例,仍將遵從以上所述的用于動(dòng)態(tài)地保護(hù)內(nèi)容的處理,但是存儲(chǔ)器器件300提供的動(dòng)態(tài)保護(hù)將在內(nèi)容提供者提供的靜態(tài)保護(hù)之上。從而,存儲(chǔ)器器件300將不僅為主機(jī)350提供其創(chuàng)建的以不進(jìn)行動(dòng)態(tài)保護(hù)的虛擬機(jī)代碼,而且提供由內(nèi)容提供者提供的不進(jìn)行靜態(tài)保護(hù)的虛擬機(jī)代碼?;蛘撸鎯?chǔ)器器件300可以在應(yīng)用其動(dòng)態(tài)保護(hù)之前使用內(nèi)容提供者提供的虛擬機(jī)代碼來(lái)對(duì)靜態(tài)保護(hù)的內(nèi)容去保護(hù)。另一替換涉及存儲(chǔ)器器件300產(chǎn)生的內(nèi)容保護(hù)算法多頻繁地變化。在一個(gè)實(shí)施例中,存儲(chǔ)器器件300在內(nèi)容330A的數(shù)據(jù)正被發(fā)送到主機(jī)350時(shí)實(shí)時(shí)地向數(shù)據(jù)的所有位應(yīng)用單個(gè)內(nèi)容保護(hù)算法。在此實(shí)施例中,存儲(chǔ)器器件300對(duì)每個(gè)回放事件動(dòng)態(tài)地修改該內(nèi)容保護(hù)算法。在替換實(shí)施例中,存儲(chǔ)器器件300在一回放事件內(nèi)修改該內(nèi)容保護(hù)算法。例如,在某個(gè)回放持續(xù)時(shí)間(例如10分鐘、IOMB或者視頻章節(jié))之后,存儲(chǔ)器器件300可以發(fā)起與主機(jī)350的詢問(wèn)-響應(yīng)會(huì)話。 意圖以上詳細(xì)描述被理解為對(duì)本發(fā)明可以采取的所選形式的例示,而非對(duì)本發(fā)明的限定。意圖限定要求保護(hù)的本發(fā)明的范圍的僅僅是以下權(quán)利要求,包括所有等效物。最后,應(yīng)該注意,在此所述的任何優(yōu)選實(shí)施例的任何方面可以單獨(dú)或者彼此組合地使用。
權(quán)利要求
1.一種存儲(chǔ)器器件,包括存儲(chǔ)器,操作以存儲(chǔ)內(nèi)容;以及控制器,與該存儲(chǔ)器通信,其中該控制器操作以(a)產(chǎn)生與該控制器先前產(chǎn)生的至少一個(gè)內(nèi)容保護(hù)算法不同的內(nèi)容保護(hù)算法;(b)根據(jù)該內(nèi)容保護(hù)算法保護(hù)內(nèi)容;(c)產(chǎn)生包含關(guān)于如何對(duì)受保護(hù)內(nèi)容去保護(hù)的指令的虛擬機(jī)代碼;以及(d)將受保護(hù)內(nèi)容和該虛擬機(jī)代碼提供給與所述存儲(chǔ)器器件通信的主機(jī)。
2.如權(quán)利要求1的存儲(chǔ)器器件,其中該存儲(chǔ)器還操作以來(lái)自內(nèi)容提供者的關(guān)于如何產(chǎn)生內(nèi)容保護(hù)算法的指令,以及其中該控制器操作以通過(guò)遵循來(lái)自內(nèi)容提供者的指令來(lái)產(chǎn)生內(nèi)容保護(hù)算法。
3.如權(quán)利要求2的存儲(chǔ)器器件,其中來(lái)自內(nèi)容提供者的指令采取虛擬機(jī)代碼的形式, 以及其中該控制器還操作以實(shí)現(xiàn)虛擬機(jī),該虛擬機(jī)操作以執(zhí)行來(lái)自內(nèi)容提供者的虛擬機(jī)代碼。
4.如權(quán)利要求1的存儲(chǔ)器器件,其中該控制器操作以基于以下的一個(gè)或多個(gè)來(lái)產(chǎn)生內(nèi)容保護(hù)算法主機(jī)信用、存儲(chǔ)器器件信用、主機(jī)環(huán)境、存儲(chǔ)器器件環(huán)境、內(nèi)容的類(lèi)型、關(guān)于先前產(chǎn)生的虛擬機(jī)代碼的信息、對(duì)內(nèi)容保護(hù)算法的預(yù)定選擇、對(duì)內(nèi)容保護(hù)算法的偽隨機(jī)選擇以及對(duì)內(nèi)容保護(hù)算法的隨機(jī)選擇。
5.如權(quán)利要求1的存儲(chǔ)器器件,其中該控制器還操作以在內(nèi)容的每個(gè)回放會(huì)話時(shí)使用不同的內(nèi)容保護(hù)算法進(jìn)行(a) - (d)。
6.如權(quán)利要求1的存儲(chǔ)器器件,其中該控制器還操作以在內(nèi)容的單個(gè)回放會(huì)話內(nèi)使用不同的內(nèi)容保護(hù)算法進(jìn)行(a) - (d)。
7.如權(quán)利要求1的存儲(chǔ)器器件,其中該控制器操作以在內(nèi)容的回放期間實(shí)時(shí)地進(jìn)行 (a)-(d)。
8.如權(quán)利要求1的存儲(chǔ)器器件,其中該控制器還操作以在向主機(jī)提供受保護(hù)內(nèi)容和虛擬機(jī)代碼之前進(jìn)行與主機(jī)的相互驗(yàn)證。
9.如權(quán)利要求1的存儲(chǔ)器器件,其中該控制器還操作以在將受保護(hù)內(nèi)容和虛擬機(jī)代碼提供給主機(jī)之前對(duì)這些項(xiàng)加密。
10.如權(quán)利要求1的存儲(chǔ)器器件,其中該控制器還操作以將虛擬機(jī)代碼存儲(chǔ)在該存儲(chǔ)器中。
11.如權(quán)利要求1的存儲(chǔ)器器件,其中存儲(chǔ)在存儲(chǔ)器器件中的內(nèi)容根據(jù)第二內(nèi)容保護(hù)算法而被保護(hù),其中該存儲(chǔ)器還操作以存儲(chǔ)包含關(guān)于如何對(duì)根據(jù)第二內(nèi)容保護(hù)算法而保護(hù)的內(nèi)容去保護(hù)的指令的第二虛擬機(jī)代碼,以及其中該控制器還操作以將該第二虛擬機(jī)代碼提供給主機(jī)。
12.—種對(duì)存儲(chǔ)在存儲(chǔ)器器件中的內(nèi)容的適應(yīng)性保護(hù)的方法,該方法包括在包括操作以存儲(chǔ)內(nèi)容的存儲(chǔ)器的存儲(chǔ)器器件的控制器中進(jìn)行(a)產(chǎn)生與該控制器先前產(chǎn)生的至少一個(gè)內(nèi)容保護(hù)算法不同的內(nèi)容保護(hù)算法;(b)根據(jù)該內(nèi)容保護(hù)算法保護(hù)內(nèi)容;(c)產(chǎn)生包含關(guān)于如何對(duì)受保護(hù)內(nèi)容去保護(hù)的指令的虛擬機(jī)代碼;以及(d)將受保護(hù)內(nèi)容和該虛擬機(jī)代碼提供給與所述存儲(chǔ)器器件通信的主機(jī)。
13.如權(quán)利要求12的方法,其中該存儲(chǔ)器還操作以存儲(chǔ)來(lái)自內(nèi)容提供者的關(guān)于如何產(chǎn)生內(nèi)容保護(hù)算法的指令,以及其中通過(guò)遵循來(lái)自內(nèi)容提供者的指令來(lái)產(chǎn)生內(nèi)容保護(hù)算法。
14.如權(quán)利要求13的方法,其中來(lái)自內(nèi)容提供者的指令采取虛擬機(jī)代碼的形式,以及其中該方法還包括執(zhí)行來(lái)自內(nèi)容提供者的虛擬機(jī)代碼。
15.如權(quán)利要求12的方法,其中基于以下的一個(gè)或多個(gè)來(lái)產(chǎn)生內(nèi)容保護(hù)算法主機(jī)信用、存儲(chǔ)器器件信用、主機(jī)環(huán)境、存儲(chǔ)器器件環(huán)境、內(nèi)容的類(lèi)型、關(guān)于先前產(chǎn)生的虛擬機(jī)代碼的信息、對(duì)內(nèi)容保護(hù)算法的預(yù)定選擇、對(duì)內(nèi)容保護(hù)算法的偽隨機(jī)選擇以及對(duì)內(nèi)容保護(hù)算法的隨機(jī)選擇。
16.如權(quán)利要求12的方法,其中在內(nèi)容的每個(gè)回放會(huì)話時(shí)使用不同的內(nèi)容保護(hù)算法進(jìn)行(a)_⑷。
17.如權(quán)利要求12的方法,其中在內(nèi)容的單個(gè)回放會(huì)話內(nèi)使用不同的內(nèi)容保護(hù)算法進(jìn)行(a)_⑷。
18.如權(quán)利要求12的方法,其中在內(nèi)容的回放期間實(shí)時(shí)地進(jìn)行(a)-(d)。
19.如權(quán)利要求12的方法,還包括在向主機(jī)提供受保護(hù)內(nèi)容和虛擬機(jī)代碼之前進(jìn)行與主機(jī)的相互驗(yàn)證。
20.如權(quán)利要求12的方法,還包括在將受保護(hù)內(nèi)容和虛擬機(jī)代碼提供給主機(jī)之前對(duì)這些項(xiàng)加密。
21.如權(quán)利要求12的方法,還包括將虛擬機(jī)代碼存儲(chǔ)在該存儲(chǔ)器中。
22.如權(quán)利要求12的方法,其中存儲(chǔ)在存儲(chǔ)器器件中的內(nèi)容根據(jù)第二內(nèi)容保護(hù)算法而被保護(hù),其中該存儲(chǔ)器還操作以存儲(chǔ)包含關(guān)于如何對(duì)根據(jù)第二內(nèi)容保護(hù)算法而保護(hù)的內(nèi)容去保護(hù)的指令的第二虛擬機(jī)代碼,以及其中該方法還包括將該第二虛擬機(jī)代碼提供給主機(jī)。
全文摘要
公開(kāi)了存儲(chǔ)器器件和對(duì)內(nèi)容的適應(yīng)性保護(hù)的方法。在一個(gè)實(shí)施例中,提供了存儲(chǔ)器器件,其包括存儲(chǔ)器,操作以存儲(chǔ)內(nèi)容;以及控制器,與該存儲(chǔ)器通信。該控制器操作以產(chǎn)生與該控制器先前產(chǎn)生的至少一個(gè)內(nèi)容保護(hù)算法不同的內(nèi)容保護(hù)算法;根據(jù)該內(nèi)容保護(hù)算法保護(hù)內(nèi)容;產(chǎn)生包含關(guān)于如何對(duì)受保護(hù)內(nèi)容去保護(hù)的指令的虛擬機(jī)代碼;以及將受保護(hù)內(nèi)容和該虛擬機(jī)代碼提供給與所述存儲(chǔ)器器件通信的主機(jī)。在另一實(shí)施例中,提供了內(nèi)容的適應(yīng)性保護(hù)的方法,包括產(chǎn)生與至少一個(gè)先前產(chǎn)生的內(nèi)容保護(hù)算法不同的內(nèi)容保護(hù)算法;根據(jù)該內(nèi)容保護(hù)算法保護(hù)內(nèi)容;產(chǎn)生包含關(guān)于如何對(duì)受保護(hù)內(nèi)容去保護(hù)的指令的虛擬機(jī)代碼;以及將受保護(hù)內(nèi)容和該虛擬機(jī)代碼提供給與所述存儲(chǔ)器器件通信的主機(jī)。
文檔編號(hào)G06F21/00GK102460456SQ201080028974
公開(kāi)日2012年5月16日 申請(qǐng)日期2010年4月8日 優(yōu)先權(quán)日2009年4月28日
發(fā)明者J.T.林 申請(qǐng)人:桑迪士克科技股份有限公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
厦门市| 苏尼特左旗| 贞丰县| 汤阴县| 周至县| 韩城市| 克拉玛依市| 涿鹿县| 永康市| 漳州市| 浮梁县| 玉屏| 乌兰察布市| 通山县| 丽水市| 弥勒县| 绥宁县| 定襄县| 加查县| 霞浦县| 贵溪市| 张家界市| 固阳县| 平安县| 青冈县| 卫辉市| 武邑县| 客服| 东光县| 万盛区| 奉新县| 侯马市| 昭觉县| 普兰县| 黎川县| 遂宁市| 广河县| 娄烦县| 明星| 望都县| 富阳市|