專利名稱:用于將主機標識信息嵌入到內容中的存儲器器件和方法
技術領域:
背景技術:
在一些內容保護系統中,媒體設備(例如,藍光盤)給主機播放器(例如,藍光盤播放器)提供加密的數字內容(例如,高清晰電影),用于解密和回放。該內容包含幾乎彼此相等的許多組的復制視頻幀,但具有一些稍微的改變。存在通過這些復制幀的許多替換導航路徑,且主機播放器基于在主機播放器的媒體密鑰塊的密鑰樹結構內的其所屬的該組的設備密鑰來選擇具體導航路徑。因此,由主機播放器呈現的復制幀中的具體的一些提供用來識別主機播放器的唯一簽名(或,"水印")。以此方式,如果曾盜版內容標題,可以分析盜版的復制件來確定曾使用的導航路徑和因此的生成了盜版的復制件的具體主機播放器的身份。一旦識別了危及安全的主機播放器,可以撤回主機播放器的證書和密鑰,以便主機播放器將不再能夠解密(和可能地盜版)進一步的內容,由此包含喲與主機播放器的安全分支而導致的內容提供者的潛在收益損失。例如,可以提供進一步釋放內容來分發新證書撤回列表,以便危及安全的主機播放器將當其試圖播放新內容標題時被禁用。但是,由其用來精確地檢測生態系統(ecosystem)中的危及安全的主機播放器的恢復的內容的數量來測量該方案的有效性。這導致在檢測危及安全的主機播放器時的延遲,且還包含絕對有罪設備的似然檢測。這些內容保護系統可能面對"狐貍保護雞窩"的問題,其中負責將水印注入到內容中的實體是危及安全的主機播放器本身。因此,關心一旦主機播放器被危及安全以允許復制內容,其可以被進一步危及安全來移除水印注入功能。
發明內容
本發明的實施例由權利要求限定,且在該部分中沒有任何東西應該被視為對那些權利要求的限制。通過介紹,以下描述的實施例通常涉及將主機標識(identification)信息嵌入到內容中的存儲器器件和方法。在一個實施例中,提供一種存儲器器件,包括可操作以存儲內容的存儲器和與所述存儲器通信的控制器。控制器可操作以從與存儲器器件通信的主機中接收包括主機標識信息的證書,使用該證書來驗證該主機,從主機接收播放在存儲器中存儲的內容的請求,將主機標識信息嵌入到內容中,且向主機發送具有嵌入的主機標識信息的內容。提供其他實施例,且可以單獨或一起組合地使用實施例的每個。現在,將參考附圖來描述各種實施例。
圖1是一個實施例的主機和存儲器器件的方框圖。圖2是用于將主機標識信息嵌入到內容中的一個實施例的方法的流程圖。圖3A-3E圖示可以與這些實施例一起使用的示例嵌入技術。
圖4是一個實施例的主機和存儲器器件的方框圖。圖5是用于使用知道文件系統的存儲器器件來將主機標識信息嵌入到內容中的一個實施例的方法的流程圖。圖6是用于使用不知道文件系統的存儲器器件來將主機標識信息嵌入到內容中的一個實施例的方法的流程圖。圖7是用于使用內容加載系統來更新查找表的一個實施例的方法的流程圖。
具體實施例方式介紹通過介紹,以下描述的實施例通常涉及將主機標識信息嵌入到從存儲器器件播放的內容中的存儲器器件和方法。在這些實施例中,由主機向存儲器器件提供主機標識信息作為用于向存儲器器件驗證主機的證書的部分。在驗證處理期間使用的主機識別可以提供存儲器器件安全并直接注入到內容中,以實現危及安全的主機的精確和即時檢測。也就是說,嵌入的主機標識信息使得內容所有者識別產生了其內容的盜版復制件的主機,并撤回主機的證書和密鑰,以便主機將不再能夠解密(且可能地盜版)進一步的內容。另外,因為是存儲器器件、不是主機負責將主機標識信息嵌入到內容中,因此這些實施例克服了用依賴于危及安全的主機來管理其本身的內容保護系統遭遇的"狐貍保護雞窩"的問題。該方法不與主機驅動的方法干擾,因此兩者可以同時存在。嵌入主機標識信息的概要現在轉到附圖,圖1是一個實施例的主機50和存儲器器件100的方框圖。如圖1 所示,存儲器器件100包括控制器110和可存在以存儲內容130的存儲器120。“內容"可以采用任何適當的形式,諸如但不限于數字視頻(具有或沒有隨附的音頻)(例如,電影、電視劇的一集、新聞節目等)、音頻(例如,歌曲、博客、一個或一系列聲音、音頻書等)、靜止或運動圖像(例如,照片、計算機生成的顯示等)、文本(具有或沒有圖片)(例如,文章、文本文件等)、視頻游戲或其他軟件、和這些形式的兩個或更多的混合多媒體呈現。可以以任何適當的方式來實施控制器110。例如,控制器110可以采用微處理器或處理器和存儲可由例如可編程的邏輯控制器和嵌入式微處理器(微處理器、邏輯門、 開關、專用應用集成電路(ASIC)、可編程邏輯控制器和嵌入式微控制器)執行的計算機可讀的編程代碼(例如,軟件或固件)的計算機可讀的介質的形式。控制器的例子包括、 但不限于以下微控制器ARC625D,Atmel AT91SAM, Microchip PIC18M6K20,和 Silicon LabsC8051F320。在以下討論的實施例中描述且在附圖中示出可以在控制器中使用的各種組件的例子。還可以實現控制器110作為存儲器120控制邏輯。存儲器120可以采用任何適當的形式。在一個實施例中,存儲器120采取固態(例如閃)存的形式,且可以是一次可編程、幾次可編程或多次可編程。但是,可以使用存儲器的其他形式、諸如光存儲器和磁存儲器。雖然被示出為在圖1中的單個組件,但是可以與若干組件一起實現控制器110和/或存儲器120。另外,存儲器器件100可以包含其他組件,其在圖1中示出以簡化附圖。在一個實施例中,存儲器器件100采用手持、可移除存儲卡(例如閃存卡)的形式;但是,存儲器器件100可以采用其他形式、諸如但不限于固態盤和通用串行總線(USB)設備。如圖1所示,存儲器器件100與主機設備50通信。如在此使用的,短語"與......通信"意味著直接通信或經由在此示出或描述或未示出或未描述的一個
或多個組件間接通信。主機50可以采用任何適當的形式,諸如、但不限于專用內容播放器、 移動電話、個人計算機(PC)、游戲設備、個人數字助理(PDA)、信息亭和TV系統。優選地,存儲器器件100可移除地連接到主機50,因此用戶可以與各種主機一起使用存儲器器件100。圖2是使用存儲器器件100將主機標識信息嵌入到內容中的一個實施例的方法的流程圖200。如在流程圖200中示出的,在存儲器器件100中的控制器110從主機50接收證書(動作210)并使用該證書來驗證主機50 (動作220)。(優選地,進行相互的驗證和密鑰交換,在該情況下,存儲器器件100將向主機50提供其自己的證書用于驗證。)主機50向存儲器器件100提供的證書包含識別所述主機50的信息(“主機標識信息"),諸如序列號、隨機數、關于何地、何時和/或如何制造主機50的唯一信息等。該證書可以是綁定公鑰和主機標識信息且在驗證處理期間用來驗證該公鑰屬于主機50的公鑰架構(“PKI")證書的部分。接下來,存儲器器件100從主機50接收播放在其存儲器120中存儲的內容130 的請求(動作230)。(應該注意,在此討論的動作可以以任何適當的順序來進行。例如,存儲器器件100可以在從主機50接收該證書之前或之后接收播放內容130的請求,或可以接收該請求以及該證書。)然后,存儲器器件100將在主機驗證期間從主機50接收的主機標識信息嵌入(即,"注入")到內容中(動作M0)。然后,存儲器器件100向主機50發送具有嵌入的主機標識信息的內容(動作250)。在一個實施例中,存儲器器件100在內容的回放期間(即,隨著內容被輸出到主機50)實時地〃即時地〃(“on-the-fly")將主機標識信息嵌入到所述內容中。因此,同時進行動作240和250。在一個替換實施例中,存儲器器件100僅在其完成了將主機標識信息嵌入到內容中的所有期望位置中之后(即,順序地進行動作240和250)向主機50發送內容。與該實施例相關的一個優點是,如果主機50曾盜版播放的內容,則主機標識信息將允許內容所有者識別主機50作為盜版了該內容的播放器,且可以撤回主機50的證書和密鑰,以便主機50將不再能夠解密(且可能地盜版)進一步的內容,由此包含由于主機50 的安全分支而導致的內容所有者的潛在的收益損失。也就是說,一旦使得危及安全的內容可用于大量分發,內容所有者可以通過比較危及安全的內容與原始的"金"復制件或通過使用專用軟件工具來提取危及安全的主機的識別信息。然后,危及安全的主機的識別可以被傳遞到證書授權機構以撤回該具體的主機或將其拉入黑名單。另一優點是,因為在這些實施例中,是存儲器器件100、不是主機負責將主機標識信息嵌入到內容中,該內容保護系統避免用依賴于危及安全的主機來管理其本身的內容保護系統遭遇的"狐貍保護雞窩" 的問題。示例的嵌入技術如上所述,在這些實施例中,存儲器器件100將主機標識信息嵌入到要提供給主機50用于回放的內容中。圖3A-3E圖示五個示例的嵌入技術(1)將主機標識信息嵌入到一系列圖片組(GOP)中的一個圖片組的最后幀中,(2)將主機標識信息嵌入到未參考 (unreferenced)的幀中,(3)將主機標識信息嵌入到不可到達的GOP中,(4)將主機標識信息嵌入到"用戶數據"包中,以及(5)將主機標識信息嵌入到系統層中的未參考流。在段落順序中將這些示例的嵌入技術。應該注意,這些技術僅是例子,且可以使用其他技術。因此,具體類型的嵌入技術不應該被理解為權利要求,除非在此明顯地引用。另外,如以下將更詳細描述的,可以在回放會話期間或跨越回放會話,使用一個或多于一個嵌入技術,來提供動態內容保護系統。而且,取代在給定時間使用單個嵌入技術,可以使用嵌入技術的組
I=I O在轉到這些示例嵌入技術之前,應該注意,存儲器器件100可以確定使用任何適當的技術在內容中嵌入主機標識信息的位置。例如,存儲器器件100可以通過使用在存儲器器件100中存儲的視頻文件分析器代碼(或硬件邏輯)識別/解析存儲器器件100上的文件系統來確定嵌入位置。以此方式,存儲器器件100將分析內容來確定在內容中嵌入主機標識信息的位置。這種存儲器器件100將在此被稱為"知道文件系統"。或者,存儲器器件100可以通過使用為該具體的內容而生成的且將地址與具體視頻文件對象相關聯的查找表來識別該地址來確定嵌入位置。這種存儲器器件100將在此被稱為"不知道文件系統"。可以通過內容所有者生成且與新制造的存儲器器件(或在新格式化的先前使用過的存儲器器件)上的內容一起存儲查找表。或者,如在以下更詳細討論的,內容加載系統可以通過分析存儲器器件的文件系統(例如,通過分析現有分段和FAT簇分配以便更新由內容所有者提供的查找表)來生成用于"用過的"存儲器器件的查找表。在任何情況下,在使用查找表的情形中,優選地,以寫保護方式來在存儲器器件100中存儲內容,以防止諸如解分段器的應用到處移動在內容中的數據,這將使得查找表無效。而且,以下討論假設一次寫存儲器器件和可重寫存儲器器件可以被視為與存儲器器件的固件等同的功能,即使可能存在在一次寫存儲器器件和可重寫存儲器器件處理數據中的微小變化。返回到附圖,圖3A圖示了一種嵌入技術,其中,存儲器器件100將數據嵌入到一系列圖片組(GOP)中的一個圖片組300的最后幀中。GOP是MPEG編碼的數字視頻流中的數字視頻的幀序列,其中,每個幀是視頻呈現設備(例如電視機)同時或近似同時顯示的一組亮度值,呈現導致顯示圖片的幀。GOP以內部幀(或"I-幀")開始,該內部幀包含足夠描述一幀中的每個亮度值的數據集。GOP還包含循序幀(或"P-幀"),該循序幀包含當與 N個先前幀的數據集組合時產生足夠描述一幀中的每個亮度值的數據集。GOP另外還包含雙向幀(或"B-幀"),該雙向幀包含當與N個先前幀和N個隨后幀的數據集組合時產生足夠描述一幀中的每個亮度值的數據集。存儲器器件100可以以任何適當的方式識別GOP 300的最后幀。例如,如果存儲器器件100是知道文件系統的,在存儲器器件100中的嵌入的固件可以通過使用在存儲器器件100中存儲的視頻文件分析器代碼來識別/解析存儲器器件100上的文件系統來識別 GOP 300中的最后幀的位置。在該情況下,存儲器器件100可以通過從文件系統解析信息且識別屬于文件的邏輯塊地址(LBA)來識別內容文件的開端和文件中的第一 G0P。即使當通過跟隨鏈接文件與其對應的LAB的文件系統指針在非連續LBA上分裂該文件時,存儲器器件100可以識別在文件中的每個GOP以及GOP的序列。另一方面,如果存儲器器件100是不知道文件系統的,則存儲器器件100可以通過使用查找表來確定GOP的最后幀。在該情況下,存儲器器件100可以被設計以通過識別GOP的開端和GOP的各個成員的另外的能力, 從扇區解析原始數據(raw data)可以通過基于存儲器器件的LBA來掃描在存儲器器件100 上的單調增加的扇區中包含的數據來識別GOP邊界。可以不全部被識別在原始存儲器器件數據中的單調增加的LBA的范圍內的任何GOP可能被繞開,而不適用于標記。應該注意,由存儲器器件100嵌入的主機標識信息可以被全部包含在一個GOP 300中,或可以按可以像每個GOP —個數據位一樣的低的數據率在若干GOP上分布。可以通過在指數Golomb編碼的句法元素中編碼這種數據來實現嵌入數據的最大混淆。而且,糾錯碼(ECC)、諸如多層擴展二進制Go層碼或其等同物可以被用在編碼主機標識信息以便通過擴展的冗余中來增加篡改阻力。返回到附圖,圖;3B圖示了將主機標識信息嵌入到在圖片組310中的未參考的幀中。未參考的幀是導航路徑(即,由控制視頻呈現處理的排序的數據集或數據流來指定的路徑)特別從呈現中排除的作為視頻流的完整部分的幀數據集。或者,未參考的幀可以是通過所有可用的導航路徑不可到達的幀數據集。參考的幀是被呈現的活躍幀,而未參考的幀是由于導航局限而導致的不活躍幀,且因此可用于被用于存儲主機標識信息。在一個實施例中,通過視頻編碼器,在將內容加載到存儲器器件100中之前,來特別生成未參考的幀作為主機標識信息的占位符(placeholder)。存儲器器件100的操作(無論該存儲器器件 100是不知道文件系統的還是知道文件系統的)不限于上述。另外,可以如上針對先前描述的技術所述使用ECC。圖3C圖示將主機標識信息嵌入到在一系列GOP 320中的未參考的(或〃不可到達的")圖片組(G0P)。未參考的GOP類似于未參考幀之處在于,兩者都由于施加了導航局限而不可播放。也就是說,未參考的GOP是屬于作為導航流特別從呈現中排除的視頻流的完整部分的單個GOP的一組幀。或者,未參考的GOP可以是通過所有可用的導航路徑不可到達的G0P。因此,該嵌入技術類似于將所述主機標識信息嵌入到未參考的幀中的技術。 但是,該技術可以快于未參考的幀技術,因為其與未參考的幀相比,可以需要更少的CPU周期來更簡單地實現識別GOP的開端。而且,可以如上針對先前描述的技術所述使用ECC。圖3D圖示了一種嵌入技術,其中,在視頻流330中的用戶數據字段(包)中嵌入主機標識信息。術語"用戶數據"描述參考解碼器特別從處理中排除且因此從任何顯示中排除的作為視頻流330的完整部分的數據集。典型地,在解碼器的參考實施方式中定義用戶數據字段作為占位符用于未來的增強。通過視頻編碼器,在將內容加載到存儲器器件100 中之前,來特定地生成用戶數據字段作為主機標識信息的占位符(placeholder)。存儲器器件100的操作(無論該存儲器器件100是不知道文件系統的還是知道文件系統的)不限于上述。另外,可以如上針對先前描述的技術所述使用ECC。圖3F圖示了一種嵌入技術,其中,在系統層340中的未參考的流中嵌入主機標識信息。系統層340描述由數字視頻流中的不同GOP序列的數據流和/或包的時間或空間復用的數據集。數據量描述包含特定類型的數據對象(例如,音頻數據、視頻數據、導航數據或輔助數據)的同類集合的數據集。這種流可以或可以不彼此相關。包描述可由被插入到由視頻編碼器產生的數據分段組成的部分數據集作為前綴和/或后綴的明顯的數據樣式 (位樣式)識別的數據集。通過上述技術,通過視頻編碼器,在將內容加載到存儲器器件100 中之前,來特定地生成未參考流作為主機標識信息的占位符(placeholder)。而且存儲器器件100的操作(無論該存儲器器件100是不知道文件系統的還是知道文件系統的)不限于上述,且可以如上針對先前描述的技術所述來使用ECC。再次應該注意,上述嵌入技術僅是例子,且可以使用其他嵌入技術。另外,雖然存儲器器件100可以被配置以進行單嵌入技術,但是存儲器器件100可以被配置以進行多嵌入技術。具體地,當前優選地,存儲器器件100可以被配置以隨著在回放會話期間內容被播放動態或在內容的每個回放會話時通過實現不同嵌入技術而將主機標識信息嵌入到內容
8中。改變嵌入技術可以是對比較來自多個主機的危及安全的內容來定位(然后污染或移除)嵌入的主機標識信息的攻擊者的有效對策也就是說,如果試圖得到對內容的未授權訪問的攻擊者可以可靠地識別"水印"(即,嵌入的主機標識信息),他將能夠污染或移除它們。例如,如果攻擊者危及多于一個平臺的安全,則他可能快速地發現位流不相同;這將提醒他如下事實一些攻擊者追蹤信息可能存在于位流中。然后,攻擊者可以修改或擦除任何不同的數據,由此將主機標識信息從盜版內容中移除。如果混淆量不夠或不存在,則攻擊者可能甚至可能地將主機標識信息從單個視頻流中移除。但是,通過適應地更改通過回放會話和/或跨越回放會話使用的嵌入技術,在盜版內容中引入了足夠的多樣性,使得不能容易地從單個比較中識別主機標識信息。可以使用任何適當的適應性算法來改變用于嵌入主機標識信息的方法或方法的組合。可以用來確定嵌入方法和位置的因素的例子包括、但不限于唯一的證書主機ID(即, 主機標識信息本身)、存儲器器件證書和在存儲器器件100中的歷史日志中的先前回放和注入會話信息。而且,任何適當的事件可以觸發嵌入方法或方法的組合的更改。例如,存儲器器件100可以開始與主機50的會話來在特定回放持續時間之后(例如,在十分鐘時間段之后,在播放了 100MB之后或在遇到視頻章節之后)修改嵌入算法。示例存儲器器件 可以以任何適當的方式來實施這些實施例的存儲器器件。以下段落和參考的附圖描述了一個示例實施方式。應該注意,該實施方式僅是例子,且在此所示出且描述的細節不應該被理解到權利要求中,除非在此明顯地引用。現在轉到附圖,圖4是一個實施例的存儲器器件400和主機450的方框圖。如圖 4所示,存儲器器件400包括控制器410和存儲器420。控制器410包括與存儲器420接口的存儲器接口 411和與主機450接口的主機接口 412。控制器410還包括中央處理單元 (CPU)413、可操作以提供加密和/或解密操作的密碼引擎414、隨機存取存儲器(RAM)415、 存儲存儲器器件400的基本操作的固件(邏輯)的只讀存儲器(ROM)416和存儲用于加密 /解密操作的器件專用密鑰的非易失性存儲器(NVM)417。應該注意,該存儲器器件專用密鑰可以被存儲在存儲器器件內的其他存儲器區域中。可以以任何適當的方式來實施圖4所示的組件。但是,當前優選地,存儲器器件控制器410具有足夠的CPU 413處理功率來執行文件系統通過智力而知道來解析視頻文件格式或能夠使用地址查找表來注入水印的算法, 如以下描述的。在該實施例中,存儲器420包括由主機450上的文件系統管理的公共分區425和由控制器410內部管理的隱藏保護系統區域435。隱藏保護系統區域435存儲內容加密密鑰(CEK) 440和固件(FW)代碼442(例如,證書注入代碼444和視頻文件分析器或查找表代碼446)。公共分區425和隱藏保護系統區域435可以是相同存儲器單元的部分,或可以是不同的存儲器單元。隱藏保護系統區域435是"隱藏的",因為其由控制器410(而不由主機控制器460)內部地管理,且是"受保護的",因為用控制器410的非易失性存儲器417 中存儲的唯一密鑰來加密在該區域435中存儲的對象。(存儲器器件硬件唯一密鑰可以被存儲在控制器410的非易失性存儲器417中或存儲器器件400中的其他區域中。)因此,為了訪問在該區域435中存儲的對象,控制器410將使用密碼引擎414和在非易失性存儲器 417中存儲的密鑰,來解密加密的對象。優選地,存儲器器件300采用來自在SanDisk公司的信任快閃(TrustedFlash(TM))平臺上建立的產品族的安全產品的形式。存儲器的公共分區425存儲受保護的內容文件430A,430B。在該實施例中,可以是不同版本(例如分辨率)的相同內容標題的內容文件430A,430B由內容提供者提供,且被釋放到內容復制和吸收工具,其將內容文件430A,430B加載到公共分區425中。(取代將內容430A,430B預加載到存儲器器件420中,內容文件430A,430B可以使用內容加載系統、諸如連接到因特網的信息亭或PC而側加載或下載到存儲器器件420。)雖然存儲器420 的公共分區425由主機450上的文件系統管理,但是在公共分區425中存儲的對象(諸如內容文件430A,430B)還可以由存儲器器件400保護。在該實施例中,兩個存儲的內容文件 430A,430B由在隱藏保護系統區域435中存儲的各個內容加密密鑰440來保護,且那些密鑰440本身由在控制器410的非易失性存儲器417中存儲的存儲器器件唯一密鑰來保護。 因此,為了解保護受保護內容文件(例如,內容文件430A)之一,密碼引擎414將使用在控制器410的非易失性存儲器417中存儲的存儲器器件唯一密鑰來解密適當的內容加密密鑰 440,然后使用解密的內容加密密鑰440來解密受保護內容430A。現在返回到主機450,主機450包括具有與存儲器器件400接口的存儲器器件即可 461的控制器460。控制器460還包括中央處理單元(CPU) 463、可操作以提供加密和/或解密操作的密碼引擎464、隨機存取存儲器(RAM)465、只讀存儲器(ROM)466和顯示輸出電路 471。應該注意,可以實現在盒子460中的每個組件作為整個主機系統中的分離的芯片。主機450還包括受保護大容量存儲472。存儲器器件400和主機450經由存儲器器件接口 461和主機接口 412而彼此通信。對于涉及數據的安全傳輸的操作,優選地,在存儲器器件400和主機450中的密碼引擎 414,464被用于相互地驗證彼此和提供密鑰交換。相互驗證處理要求主機450和存儲器器件400交換唯一的證書ID (如在此說明的,主機的唯一證書ID是被嵌入到內容中的主機標識信息)。在相互驗證完成之后,優選地,會話密鑰用于建立在存儲器器件450和主機400 之間通信的安全通道。或者,存儲器器件400和主機450可以支持廣播-加密-類型安全性來使得主機450提供存儲器器件400的其證書以注入到內容中。如上所述,在該實施例中的存儲器器件400可以用于將主機標識信息嵌入到內容中。圖5和6是圖示當存儲器器件400是知道文件系統的(圖5)和不知道文件系統的(圖 6)該方法的動作的流程圖500、600。首先轉到圖5,當主機450向存儲器器件400發送命令時,向密碼引擎414發送受保護(加密的)內容430A(動作505)。注入代碼444向密碼引擎414發送密碼控制命令(動作510),響應于其,密碼引擎414使用在非易失性存儲器 417中的存儲器器件唯一密鑰來解密內容加密密鑰440,密碼引擎414用該內容加密密鑰 440來解密受保護內容430A。然后,解密的"未加密"內容文件430A被發送到控制器的 RAM 415(動作515)。注入代碼444分析內容格式和結構,并應用主機證書注入算法(即, 主機標識信息嵌入技術)(動作525)。具體地,因為存儲器器件400是知道文件系統的,因此在存儲器器件400中的視頻文件分析器446分析并識別內容內的數據的實例,以根據該算法來確定嵌入主機標識信息的位置。然后,具有嵌入的主機證書的內容被發送到密碼引擎414 (動作530)。注入代碼444向密碼引擎414發送密碼控制命令,以加密具有嵌入的主機證書的內容(動作535)。然后,具有嵌入的主機證書的加密內容被發送到主機接口 412 用于傳輸到主機450 (動作M0)。主機450在不知道水印的情況下接收、處理和解碼視頻內容。在圖5中,存儲器器件100曾是知道文件系統的,且曾能夠分析內容格式和結構來應用適當的主機證書注入算法。但是,不是所有存儲器器件都具有固件模塊(或硬件邏輯) 來使得智能文件系統和視頻文件格式解析器能夠確定注入的位置。在這些情況下,可以使用特定內容專用的索引表來確定注入的位置。圖6是這種"不知道文件系統的"存儲器器件的使用的流程圖600。如圖6所述,當主機450向存儲器器件400發送命令時,向密碼引擎414發送受保護(加密的)內容430A和地址查找表446(動作60 。注入代碼444向密碼引擎414發送密碼控制命令(動作610),響應于其,密碼引擎414使用在非易失性存儲器417中的存儲器器件唯一密鑰來解密內容加密密鑰440,密碼引擎414用該內容加密密鑰440來解密受保護內容430A。然后,解密的"未加密"內容文件430A和查找表被發送到控制器的RAM 415(動作615)。然后,注入代碼444讀取查找表地址索引446(動作620),并經由查找表應用主機證書注入算法(動作62 。換句話說,注入代碼444使用具有地址索引446的查找表來識別在內容中的數據的實例,應用固件該算法嵌入主機標識信息。然后,向密碼引擎 414發送具有嵌入的主機證書的內容(動作630),密碼引擎414響應于來自注入代碼414 的密碼控制命令(動作635),加密具有嵌入的主機證書的內容,并向主機接口 412提供它用于傳輸給主機450 (動作640)。內容加載實施例可以授權內容以支持一個或多個主機標識信息嵌入技術(諸如,但不限于上述嵌入技術)。例如,內容授權工具可以在內容文件創建期間隨機注入貫穿內容文件的未參考的幀、不可到達的G0P、用戶數據包和未參考的系統流。對于知道文件系統(即具有文件系統和文件頭解析能力)的存儲器器件,不從授權工具中需要附加的信息。但是,對于不能知道文件系統的存儲器器件,授權工具可以與內容一起提供每個合成數據類型的邏輯地址索引表來用于水印注入。如上所述,可以由存儲器器件的固件來使用索引表來基于LBA和字節地址來嵌入主機標識信息。也如上所述,為了保持查找表的完整性,可以寫保護該內容來防止諸如解分段器的應用到處移動在內容中的數據,這將使得查找表無效。如果該內容和查找表被預加載到新制造或新格式化的存儲器器件中,則存儲器器件是無分段和文件分配表簇分派的,因此由內容提供者生成的查找表是準確的。但是,由于為新存儲器器件生成查找表,因此如果該存儲器器件不是新的而是曾用來存儲(或刪除) 內容,而可能發生問題。在該情況下,存儲器器件中的現有文件系統結構將在過期的查找表中呈現LBA條目。這可能例如發生在用戶購買用預加載了內容的存儲器器件、然后在存儲器器件中的剩余空閑空間上寫和擦除附加的內容時。如果用戶稍后從內容加載系統(例如,連接到因特網的信息亭、或PC)側加載或下載新內容和查找表,查找表將不與存儲器器件中的現有文件系統結構一致。在該情況下,優選地,該內容加載系統分析存儲器器件以找到用于分段和文件分配表簇分派的現有文件系統結構,然后據此更新查找表。也就是說,內容加載系統將有責任加載內容,加載索引文件(如果存在),和可能地操縱索引文件來匹配存儲器器件的現有文件系統和簇分配。圖7提供這種方法的流程圖700。在圖7中,“主機〃指的是圖4中的主機450。 取代用于呈現來自存儲器器件400的播放的內容,在此使用主機450作為內容加載系統/機器、諸如連接到因特網的信息亭、PC、空中下載的移動手持機、或從因特網或從廣播網絡獲取內容的機頂盒/TV/游戲臺。如圖7所示,響應于來自主機450的用于讀取存儲器器件查找表和文件系統的請求(動作702),存儲器器件400向主機的RAM 465提供文件系統信息,諸如FAT表和分段信息(動作703)。然后,存儲器器件控制器410向主機密碼引擎464 提供具有地址索引的加密的查找表(動作70 ,該主機密碼引擎464基于來自主機450的密碼控制(動作710)解密該查找表并向主機的RAM 465提供它(動作715)。然后,主機 450讀取查找表地址索引和文件系統信息(動作720),并向主機的RAM 465提供具有新查找表的新內容(動作72 。然后,主機450向其密碼引擎464發送具有更新的查找表的新內容(動作730),密碼引擎464基于密碼控制命令來加密那些項目(動作73幻。然后,主機450向存儲器器件接口 461提供具有更新的查找表的加密內容(動作740)用于加載到存儲器器件400中。結論意圖,先前詳細的描述被理解為本發明可以采用的所選形式的例示,且不是本發明的限定。其僅是以下權利要求,包括意圖限定所要求保護的本發明的范圍的所有等同物。 最后,應該注意,在此描述的優選實施例的任意的任何方面可以單獨使用或彼此結合使用。
權利要求
1.一種存儲器器件,包括存儲器,可操作以存儲內容;以及控制器,與所述存儲器通信,其中,所示控制器被配置以從與所述存儲器器件通信的主機接收證書,其中,所述證書包括主機標識信息;使用所述證書來驗證該主機;從主機接收對播放在存儲器中存儲的內容的請求;將所述主機標識信息嵌入到所述內容中;以及向主機發送具有嵌入的主機標識信息的內容。
2.根據權利要求1的存儲器器件,其中,所述控制器被配置以將主機標識信息嵌入到圖片組(GOP)的最后幀中。
3.根據權利要求1的存儲器器件,其中,所述控制器被配置以將主機標識信息嵌入到未參考的幀中。
4.根據權利要求1的存儲器器件,其中,所述控制器被配置以將主機標識信息嵌入到不可達到的圖片組(GOP)中。
5.根據權利要求1的存儲器器件,其中,所述控制器被配置以將主機標識信息嵌入到用戶數據字段中。
6.根據權利要求1的存儲器器件,其中,所述控制器被配置以將主機標識信息嵌入到系統層中的未參考流中。
7.根據權利要求1的存儲器器件,其中,所述控制器被配置以在內容的回放期間實時地將主機標識信息嵌入到所述內容中。
8.根據權利要求7的存儲器器件,其中,所述控制器被配置以改變如何隨著播放內容而將主機標識信息嵌入到所述內容中。
9.根據權利要求1的存儲器器件,其中,所述控制器被配置以改變如何在內容的每次回放會話時將主機標識信息嵌入到所述內容中。
10.根據權利要求1的存儲器器件,其中,所述控制器可操作以通過使用查找表確定在內容中嵌入主機標識信息的位置。
11.根據權利要求10的存儲器器件,其中,所述內容被預先加載到存儲器器件中,且所述查找表由內容所有者提供。
12.根據權利要求10的存儲器器件,其中,通過內容加載系統,所述內容和所述查找表被加載到存儲器器件中,且其中,所述內容加載系統更新查找表以應對在存儲器器件中的已有文件系統結構。
13.根據權利要求10的存儲器器件,其中,所述內容是被寫保護的,以保護查找表的完整性。
14.根據權利要求1的存儲器器件,其中,所述控制器可操作以分析該內容來確定在內容中嵌入主機標識信息的位置。
15.根據權利要求1的存儲器器件,還包括固件或硬件邏輯模塊,其可操作以分析視頻編碼和文件容器結構。
16.一種用于將主機標識信息嵌入到內容中的方法,該方法包括在存儲器器件的控制器中,所述存儲器器件包括可操作以存儲內容的存儲器從與所述存儲器器件通信的主機接收證書,其中,所述證書包括主機標識信息;使用所述證書來驗證該主機;從主機接收對播放在存儲器中存儲的內容的請求;將所述主機標識信息嵌入到所述內容中;以及向主機發送具有嵌入的主機標識信息的內容。
17.根據權利要求16的方法,其中,將所述主機標識信息嵌入到圖片組(GOP)的最后幀中。
18.根據權利要求16的方法,其中,將所述主機標識信息嵌入到未參考的幀中。
19.根據權利要求16的方法,其中,將所述主機標識信息嵌入到不可達到的圖片組 (GOP)中。
20.根據權利要求16的方法,其中,將所述主機標識信息嵌入到用戶數據字段中。
21.根據權利要求16的方法,其中,將所述主機標識信息嵌入到系統層中的未參考的流中。
22.根據權利要求16的方法,其中,在內容的回放期間實時地將主機標識信息嵌入到所述內容中。
23.根據權利要求22的方法,還包括改變如何隨著播放內容而將主機標識信息嵌入到所述內容中。
24.根據權利要求16的方法,包括改變如何在內容的每個回放會話時將主機標識信息嵌入到所述內容中。
25.根據權利要求16的方法,還包括通過使用查找表確定在內容中嵌入主機標識信息的位置。
26.根據權利要求25的方法,其中,所述內容被預先加載到存儲器器件中,且所述查找表由內容所有者提供。
27.根據權利要求25的方法,其中,通過內容加載系統,所述內容和所述查找表被加載到存儲器器件中,且其中,所述內容加載系統更新查找表以應對在存儲器器件中的已有文件系統結構。
28.根據權利要求25的方法,其中,所述內容是被寫保護的,以保護查找表的完整性。
29.根據權利要求16的方法,還包括分析該內容來確定在內容中嵌入主機標識信息的位置。
30.根據權利要求10的方法,其中,所述存儲器器件包括固件或硬件邏輯模塊,其可操作以分析視頻編碼和文件容器結構。
全文摘要
公開了一種用于將主機標識信息嵌入到內容中的存儲器器件和方法。在一個實施例中,提供一種存儲器器件,包括可操作以存儲內容的存儲器和與所述存儲器通信的控制器。控制器可操作以從與存儲器器件通信的主機中接收包括主機標識信息的證書,使用該證書來驗證該主機,從主機接收播放在存儲器中存儲的內容的請求,將主機標識信息嵌入到內容中,且向主機發送具有嵌入的主機標識信息的內容。
文檔編號G06F21/00GK102460455SQ201080028652
公開日2012年5月16日 申請日期2010年6月14日 優先權日2009年6月26日
發明者A.卡納里斯, J.E.哈爾彭, J.T.林 申請人:桑迪士克科技股份有限公司