專利名稱:具有可更新內(nèi)容保護(hù)的內(nèi)容分布的制作方法
具有可更新內(nèi)容保護(hù)的內(nèi)容分布相關(guān)申請本申請是于2009年2月25日提交的美國臨時專利申請61/155,489和于2009年 3月10日提交的美國臨時專利申請61/159,034的接續(xù)案,并且要求上述申請的優(yōu)先權(quán)。本申請與于2004年9月20日提交的共同未決的美國專利申請No. 10/945,623相關(guān),并且要求該申請的優(yōu)先權(quán),其以引用的方式并入本文。
背景技術(shù):
將諸如視頻或音頻內(nèi)容的媒體內(nèi)容打包到數(shù)字媒體文件已使內(nèi)容的交換對于用戶而言非常容易且便捷。然而,用戶自由交換內(nèi)容可能侵犯內(nèi)容所有人的所有權(quán)。確保僅已授權(quán)用戶交換已授權(quán)內(nèi)容的一個領(lǐng)域是提供驗證平臺、用戶以及內(nèi)容的機(jī)制。在一個示例中,對用于接收和重放內(nèi)容的硬件進(jìn)行驗證,并且該硬件可被稱為“可信任的”。然而,在可信任的硬件的驗證中仍然存在漏洞,從而允許盜版者及其他非法用戶接收并且復(fù)制內(nèi)容文件,侵犯版權(quán)并且犯下公開盜竊。內(nèi)容所有人也想要限制版權(quán)受保護(hù)內(nèi)容的復(fù)制。存在許多使得版權(quán)受保護(hù)內(nèi)容的傳輸非常困難的技術(shù)示例。當(dāng)物理媒體被用于永久地或臨時地將內(nèi)容存儲在例如電子購買、租用以及訂閱電影服務(wù)行業(yè)模型中時,內(nèi)容所有人或其獲許可人使用各種加密綁定方法。這些方法典型地使用加密函數(shù)(function)中的唯一媒體或裝置標(biāo)識符或類似的播放器屬性來保護(hù)內(nèi)容免受復(fù)制或傳輸,從而使該內(nèi)容據(jù)說是被綁定于裝置。通常,這種內(nèi)容的綁定基于特定的重放裝置,這對于用戶而言是不受歡迎的。用戶可能想要在與已接收內(nèi)容的裝置的不同的裝置上播放其內(nèi)容或者用戶可能想要在若干個個人裝置之間傳輸內(nèi)容。作為當(dāng)前技術(shù)的示例,通過被稱為高級訪問內(nèi)容系統(tǒng)(Advanced Access Content System, AACS)的系統(tǒng)來保護(hù)藍(lán)光電影光盤。對于該系統(tǒng)中所需的加密函數(shù)中的某些加密函數(shù)(例如,“AES-H”和“AES-G3”)而言,AACS定義了任意常數(shù)。AACS已公開它們所選的常數(shù)。這結(jié)果成了攻擊者進(jìn)行逆向工程播放器的裨益,因為它們僅尋找已公開常數(shù)并且查看這些常數(shù)參考何處以找到敏感的加密代碼,作為找到密鑰的第一步。顯然,可以將加密常數(shù)保存為機(jī)密信息。這由4C實體及其所謂可記錄媒體的內(nèi)容保護(hù)(Content Protection for Recordable Media,CPRM)的系統(tǒng)來實現(xiàn)。然而,數(shù)以百計的制造商和數(shù)以千計的工程師需要學(xué)習(xí)常數(shù),因此他們不會長久地保密。本領(lǐng)域的任何技術(shù)人員將承認(rèn),加密計算的精確細(xì)節(jié)通常是任意的并且可以進(jìn)行變更而無需改變操作的基本安全性。例如,總是可以由加法操作來代替異或操作。同樣,可以通過常數(shù)操作來變換密值而不會影響其安全性。諸如此類的變更如果它們保持機(jī)密,將對試圖逆向工程的攻擊者施以明顯的障礙。在現(xiàn)有技術(shù)中,于2007年10月31日提交的美國申請公開No. 2008/0133938、序列號為No. 11/981,977的美國專利“自行保護(hù)數(shù)字內(nèi)容”公開了提供可更新性的另一種方式的示例。較之固件而言其方法在系統(tǒng)中以更高的級別進(jìn)行操作,并且不允許低級別加密操作的改變。這沒有提供針對逆向工程來找到密鑰的保護(hù)。這也不防護(hù)不誠實雇員泄露機(jī)密fn息ο一種方法涉及內(nèi)容的對等操作,其中用戶在他們自身之間傳輸數(shù)據(jù)。為了保護(hù)版權(quán)并且為了避免內(nèi)容的盜版,可采用“非自治”對等系統(tǒng)。該系統(tǒng)為“非自治的”在于其包括這些機(jī)制僅允許通過集中權(quán)限訪問內(nèi)容,同時允許用戶在他們之間傳輸媒體內(nèi)容??梢栽诎l(fā)明名稱均為“經(jīng)由對等操作的請求的媒體”的美國專利No. 7,165,050和美國專利公開No. 20060064386中找到非自治對等系統(tǒng)的示例??梢栽谟?/11/09提交的發(fā)明名稱為“簡單的非自治環(huán)境、水印以及認(rèn)證”的美國專利申請No. 12/369,708中找到可用在非自治對等系統(tǒng)中的組件的制造和綁定的方法的示例。
圖1示出了內(nèi)容分布(distribution)系統(tǒng)的示例。圖2示出了內(nèi)容保護(hù)方案的更新過程的實施例。圖3示出了使用可更新函數(shù)訪問媒體裝置上的安全內(nèi)容的實施例。
具體實施例方式以下討論使用可能變得混淆的若干術(shù)語。該討論使用術(shù)語“媒體”和“媒體裝置”來指代包含“內(nèi)容”的非易失性存儲裝置?!皟?nèi)容”包括任何類型的經(jīng)驗內(nèi)容,并且包括但不限于電影、電視節(jié)目、已記錄的表演、視頻文件、音頻文件以及游戲。媒體可包括可移動媒體, 諸如閃存驅(qū)動器、所謂的“拇指”驅(qū)動器、存儲卡、嵌入式閃存以及記憶棒,但沒有限制性,也不應(yīng)受這些示例的任何暗示。媒體裝置可與“重放裝置”接口連接,其中重放裝置是具有也被稱為處理器或片上系統(tǒng)(SoC)的控制器、存儲器以及與不論是嵌入式媒體還是可移動媒體的媒體接口連接的能力的任何裝置。示例包括但不限于電視、視頻投影儀、數(shù)字錄像機(jī)、機(jī)頂盒、自助服務(wù)機(jī)、 個人計算機(jī)以及包括智能電話、媒體播放器、上網(wǎng)本以及平板電腦在內(nèi)的移動計算裝置。盡管以下討論可包括通常與本發(fā)明和以上申請中所陳述的簡單非自治對等 (Simple Non-Autonomous Peering, SNAP)系統(tǒng)相關(guān)聯(lián)的示例和原理,但那些示例僅僅幫助理解此處的實施例并且提供此處實施例的可能實施方式的示例。此處所描述的實施例允許快速且容易地改變對常數(shù)及其他加密計算的機(jī)密變化, 即便是基于逐個電影。這些實施例甚至對制造商隱瞞這些細(xì)節(jié),直到其在現(xiàn)場實際被使用為止。應(yīng)當(dāng)注意到,在背景技術(shù)中所討論的SPDC方法和此處所討論的方法可用于相同的系統(tǒng)中。SPDC的組件以遠(yuǎn)高于固件的級別操作,并且此處的實施例允許低級別加密函數(shù)的改變。圖1示出了具有可更新內(nèi)容保護(hù)的內(nèi)容分布系統(tǒng)10。在廣泛分布系統(tǒng)中的可下載內(nèi)容中出現(xiàn)的問題在于刷新或更新用于確保內(nèi)容不被泄露的內(nèi)容保護(hù)的能力。通過提供可更新保護(hù)方案,內(nèi)容分布系統(tǒng)允許周期地和/或在當(dāng)前內(nèi)容保護(hù)方案被泄露時更新保護(hù)方案。在圖1中,內(nèi)容準(zhǔn)備和遞送模塊20準(zhǔn)備跨域網(wǎng)絡(luò)22而被遞送到消費(fèi)者裝置的內(nèi)容。內(nèi)容準(zhǔn)備和遞送可包括與SNAP相關(guān)的特征,諸如在本發(fā)明及上述申請中所討論的SNAP 條帶化(striping)和綁定方案或意在防止內(nèi)容的盜版的任何其他類型的加密、編碼或保護(hù)方案。內(nèi)容準(zhǔn)備和遞送系統(tǒng)還可提供諸如內(nèi)容的購買、租賃和訂閱、對內(nèi)容提供者的許可證計費(fèi)和支出、更新內(nèi)容庫的服務(wù)。如上所提及,重放裝置30可以是任何類型的重放或內(nèi)容訪問裝置。重放裝置,作為此處所用的術(shù)語,包括可為可移動的或嵌入式的播放器31和媒體40。播放器30具有執(zhí)行將進(jìn)一步討論主題的過程中的多個過程的處理器或片上系統(tǒng)(SoC)32。播放器30具有稍后將更加詳細(xì)討論的用于存儲加密函數(shù)的變化的變量儲存器36。播放器31還接口連接至媒體裝置40,該媒體裝置40可由諸如記憶棒、SD卡或拇指驅(qū)動器的可移動媒體組成或者可以是嵌入式裝置。媒體裝置或媒體40具有在如將進(jìn)一步更加詳細(xì)討論的可更新保護(hù)方案中所采用的變量選擇器44和變量儲存器42。在SNAP環(huán)境示例中,播放器31通常將是具有SoC的已驗證SNAP服從(compliant) 裝置,其中由裝置制造商60安裝的唯一密鑰來識別SoC。同樣,媒體裝置40具有由媒體制造商50安裝的唯一密鑰。這些密鑰的目的在于允許播放器31與媒體裝置40之間的加密認(rèn)證以形成重放裝置30。此外,其允許內(nèi)容準(zhǔn)備和遞送20與媒體裝置40之間的認(rèn)證。在一個實施例中,加密認(rèn)證基于諸如用于AACS和CPRM中的媒體密鑰塊。然而,諸如公鑰/私鑰的其他加密協(xié)議在本發(fā)明的范圍之內(nèi)。變量儲存器36和42存儲預(yù)定數(shù)量的變量。作為此處所用的術(shù)語“變量”是用于得出訪問內(nèi)容的必要密鑰和/或函數(shù)的微碼的特定版本。此處所用的“微碼函數(shù)”是指由播放器用于執(zhí)行加密和其他媒體相關(guān)函數(shù)的一組固件指令、算法以及常數(shù)。在制造時,重放裝置30可在其中存儲有某些預(yù)定數(shù)量的這些變量。這些變量被加密地存儲在播放器裝置 30和媒體裝置40中。另外,可存在若干不同類型的變量。在SNAP系統(tǒng)中,例如,可存在不同類型的變量。第一變量可用于得出與媒體裝置相關(guān)的唯一代碼,并且第二變量可結(jié)合用于媒體的另一唯一標(biāo)識符來驗證媒體。第三變量可用于得出對被下載到媒體的內(nèi)容解鎖或解密的密鑰。根據(jù)內(nèi)容的保護(hù)需要,可使用其他類型的變量,或者可在任何特定系統(tǒng)中不使用給出的示例變量。由于預(yù)定數(shù)量的變量隨著時間會被用盡,因此可更新保護(hù)方案提供根據(jù)需要更新變量的手段。該系統(tǒng)一般通過利用下載的內(nèi)容發(fā)送新變量來將此實現(xiàn)。圖1的媒體裝置40 存儲用于重放裝置重放的下載內(nèi)容。媒體具有在其中存儲有更多變量的變量儲存器42。另外,媒體持久地存儲某種變量選擇器44。這允許重放裝置的SoC來確定何種變量用于得出各種微碼函數(shù)變量。下面詳細(xì)討論該變量選擇器的特定示例。變量選擇器可被存儲在變量儲存器42中或可在媒體上的任何位置。例如,設(shè)想最初對所有內(nèi)容配置變量#1的系統(tǒng)。由于某些預(yù)定義時段的經(jīng)過或由于擔(dān)心變量#1已被泄露,變量#2變?yōu)榧せ?。下載有新內(nèi)容的變量選擇器識別變量#2。如果重放裝置不具有變量#2,其最初僅提供有變量#1,則重放裝置可以訪問媒體的持久儲存器來訪問變量#2。在上述SNAP-特定的實施例中,變量選擇器44由選擇文件組成。該選擇文件指定要被用于訪問內(nèi)容文件的變量文件和被用于解密變量文件的密鑰。變量文件包含要被用于訪問內(nèi)容文件的微碼函數(shù)變量。
由于選擇文件包含加密密鑰,因此其必須僅在播放器裝置30與媒體裝置40之間成功的加密認(rèn)證之后才被遞送。例如,在CPRM中,這可通過將選擇文件存儲在CPRM媒體裝置的受保護(hù)區(qū)域中來得以實現(xiàn)。然而,在認(rèn)證之后遞送秘密信息的其他方法是公知的并且在本發(fā)明的范圍之內(nèi)。注意到,由于變量對于SOC 32的指令組是唯一的,因此如果存在由系統(tǒng)支持的多于一種類型的S0C,則每個變量必須具有若干風(fēng)格(flavor),其中每種類型的SOC—個風(fēng)格。如果變量正在被遞送在媒體裝置40上在變量儲存器42中,則其必須以系統(tǒng)支持的SOC 的所有風(fēng)格來遞送。在變量儲存器42中將變量配置在現(xiàn)有的媒體上,并且在系統(tǒng)中定義新的SOC類型是可能的。在這種情況下,被配置在媒體裝置上的變量將不包含適于新的SOC類型的風(fēng)格。 為了使具有新型SOC 32的重放裝置30播放舊媒體裝置40上的內(nèi)容,這種重放裝置30必須在其自身的變量儲存器36具有先前被遞送到媒體裝置變量儲存器42中的所有變量。圖2示出了該過程的實施例的流程圖。在70,在下載內(nèi)容或插入內(nèi)容先前諸如在自助服務(wù)機(jī)已被下載至其的媒體裝置時,重放裝置訪問媒體的持久儲存器以確定所指定的變量。注意到,該過程可針對任何給定保護(hù)方案中所需的每種變量進(jìn)行重復(fù),并且選擇器可被提供有每個內(nèi)容文件,諸如對應(yīng)于每個電影的內(nèi)容文件,其中特定電影使用與存儲在同一媒體上的其他電影不同的變量。在72,一旦確定指定變量的版本或數(shù)量,就訪問重放裝置上的已存儲的變量。過程的該部分可變得可選,由于裝置可變得“意識到”所指定的變量版本將不存在于已存儲的變量中并且其可能直接到媒體以取回正確的變量。可替換地,播放器可能不被提供有任何變量。在74,重放裝置,意指重放裝置上的處理器或SoC,確定重放裝置是否具有指定變量。如先前所提及的那樣,該部分可能變得可選,因為時間前行并且已存儲變量變得作廢, 或者如果重放裝置未具有在制造時提供的任何變量。如果重放裝置具有匹配的變量,則在 84該變量被用于訪問內(nèi)容或執(zhí)行其他加密或媒體相關(guān)的操作。如先前所討論的那樣,這可根據(jù)需要進(jìn)行重復(fù)以訪問不同類型的變量。返回到74,如果重放裝置未找到匹配的變量,則在80重放裝置訪問媒體上的持久儲存器。這表明了該內(nèi)容保護(hù)方案的可更新性,其中可周期性地或在發(fā)生已配置變量的懷疑泄露之后在媒體上配置新變量和新選擇器。然后在84該新變量被用于訪問內(nèi)容。將配置多于預(yù)定數(shù)量的變量并且之后授權(quán)新的平臺或重放裝置是可能的。稍后添加的新播放器將被提供至此所釋放的所有變量。在SNAP系統(tǒng)的特定示例中,可以看出變量將如何被用于訪問內(nèi)容,如在圖2中的 84所示的那樣。圖3示出了 SNAP-特定的實施例的示例。在100,變量被用于解密媒體驗證微碼。在此示例中,媒體驗證是兩步過程。第一類型的變量被用于解密媒體的缺陷映射 (map)。如先前所提及的那樣,媒體的制造商可提供用于媒體某種唯一 ID代碼。缺陷映射經(jīng)歷一種形式的“混亂”,然后經(jīng)歷加密,該加密可被適當(dāng)?shù)淖兞拷饷芎徒獯a并且與媒體的實際缺陷映射相比較以確保它們相匹配。在102得出該函數(shù)。媒體驗證過程中的第二步驟是使用媒體的硬件缺陷映射及某些其他特性,諸如其序列號等,以便在104得出硬件認(rèn)證代碼(HAC)。然后在106將此與現(xiàn)有的HAC相比較以進(jìn)一步確保媒體是有效的。
另一類型的變量提供將密鑰恢復(fù)以解密實際內(nèi)容的函數(shù)。在SNAP示例中,在內(nèi)容文件的每個實例中內(nèi)容已被分段、加密并且條帶化。所提供的密鑰特定于具有對存儲在媒體上的內(nèi)容的特定加密和分段的特定實例。一旦使用適當(dāng)?shù)淖兞?,就?08獲得密鑰并且在110解密條帶化。然而,如以上所提及的那樣,所使用的不同類型和數(shù)量的變量以及不同數(shù)量的變量的版本取決于內(nèi)容分布系統(tǒng)和該內(nèi)容的保護(hù)需求。對于以上給出的具體示例而言沒有任何限制,也不應(yīng)有任何暗示。按照這種方式,對于內(nèi)容分布系統(tǒng)可以無限地更新內(nèi)容保護(hù)方案。這允許系統(tǒng)是可升級的、牢靠的并且不大可能為盜版者所害。盡管以上討論聚焦于可更新微碼函數(shù),但本領(lǐng)域的技術(shù)人員將理解其適用于其他加密概念,諸如媒體密鑰束(MKB)和公鑰/密鑰對。盡管已經(jīng)關(guān)于這一點(diǎn)描述了在SNAP環(huán)境中用于可更新安全事務(wù)的方法和設(shè)備的特定實施例,但目的不在于這些具體參考被認(rèn)為是對本發(fā)明范圍的限制,除非在以下權(quán)利要求中所陳述的范圍內(nèi)。
權(quán)利要求
1.一種應(yīng)用于重放裝置中的內(nèi)容文件的更新加密的受處理器控制的方法,所述重放裝置具有被配置為執(zhí)行指令的處理器,所述方法使得所述處理器進(jìn)行確定將要在重放所述內(nèi)容文件時使用的至少一個微碼函數(shù)的指定變量;確定在所述重放裝置上的內(nèi)部存儲器中是否存儲有變量以確定所述指定變量是否被包括在所存儲的變量中;如果所述指定變量未包括在所存儲的變量中,則從位于與所述重放裝置通信的媒體裝置中的存儲器中的變量儲存器取回所述指定變量;以及使用所述指定變量訪問所述內(nèi)容文件。
2.根據(jù)權(quán)利要求1所述的方法,其中,確定所述指定變量包括訪問在其中中識別所述指定變量的選擇文件。
3.根據(jù)權(quán)利要求2所述的方法,其中,訪問所述選擇文件包括訪問位于所述媒體裝置中的所述存儲器中的變量儲存器中的選擇文件。
4.根據(jù)權(quán)利要求1所述的方法,其中,訪問存儲在所述重放裝置上的變量包括訪問在制造時就被加載在所述重放裝置上的預(yù)定數(shù)量的變量。
5.根據(jù)權(quán)利要求1所述的方法,其中,從所述媒體裝置上的所述存儲器的變量儲存器中取回所述指定變量包括取回在下載所述內(nèi)容文件時就被載入到所述存儲器中的指定變量。
6.根據(jù)權(quán)利要求1所述的方法,其中,確定在內(nèi)部存儲器中是否存儲有變量包括確定在內(nèi)部存儲器中未存儲變量。
7.根據(jù)權(quán)利要求1所述的方法,還包括對至少一種其他類型的變量重復(fù)所述確定、訪問、取回以及使用。
8.根據(jù)權(quán)利要求1所述的方法,其中,使用所述指定變量訪問所述內(nèi)容文件包括在重放所述內(nèi)容文件之前使用所述指定變量驗證所述媒體裝置。
9.根據(jù)權(quán)利要求1所述的方法,其中,使用所述指定變量訪問所述內(nèi)容文件包括使用所述指定變量解密所述內(nèi)容文件的段以允許所述內(nèi)容文件的重放。
10.根據(jù)權(quán)利要求1所述的方法,還包括在所述重放裝置上存儲所述指定變量。
11.根據(jù)權(quán)利要求1所述的方法,還包括允許所述重放裝置訪問并且使用所述指定變量,但阻止所述重放裝置存儲所述指定變量。
12.—種重放裝置,所述裝置包括至少一個存儲器,其具有變量儲存器,所述變量儲存器包括微碼函數(shù)的至少一個變量;以及處理器,其被配置為執(zhí)行指示以便確定至少一個指定變量;訪問至少一個存儲器的所述變量儲存器以獲取所述指定變量;以及使用所述指定變量來解密被下載到與所述重放裝置通信的媒體裝置的內(nèi)容文件。
13.根據(jù)權(quán)利要求12所述的重放裝置,其中,所述至少一個存儲器包括所述重放裝置中的內(nèi)部存儲器和與所述處理器通信的媒體裝置中之一。
14.根據(jù)權(quán)利要求13所述的重放裝置,其中,所述內(nèi)部存儲器包括預(yù)定數(shù)量的變量。
15.根據(jù)權(quán)利要求12所述的重放裝置,其中,所述媒體裝置包括與所述內(nèi)容文件一起下載的變量。
16.根據(jù)權(quán)利要求12所述的重放裝置,其中,所述處理器通過訪問所述變量儲存器中的選擇文件來確定至少一個指定變量,所述變量儲存器位于所述媒體裝置上。
17.根據(jù)權(quán)利要求16所述的重放裝置,其中,所述處理器進(jìn)一步被配置為執(zhí)行指令以從所述選擇文件獲取密鑰并且使用該密鑰解密所述變量。
18.根據(jù)權(quán)利要求12所述的重放裝置,其中,所述處理器被配置為確定被用于驗證所述媒體裝置的變量和被用于解密所述內(nèi)容文件的變量。
19.根據(jù)權(quán)利要求12所述的重放裝置,其中,所述重放裝置包括播放器和媒體裝置。
全文摘要
一種應(yīng)用于重放裝置中的內(nèi)容文件的更新加密的方法,所述方法包括確定將要在重放所述內(nèi)容文件時使用的至少一個微碼函數(shù)的指定變量;確定在所述重放裝置上的內(nèi)部存儲器中是否存儲有變量以確定所述指定變量是否被包括在所存儲的變量中;如果所述指定變量未包括在所存儲的變量中,則從位于與所述重放裝置通信的媒體裝置中的存儲器中的變量儲存器取回所述指定變量;以及使用所述指定變量訪問所述內(nèi)容文件。
文檔編號G11B20/00GK102414751SQ201080018992
公開日2012年4月11日 申請日期2010年2月25日 優(yōu)先權(quán)日2009年2月25日
發(fā)明者杰弗里·布魯斯·洛茨皮奇, 肯尼思·戈勒, 艾倫·馬金 申請人:杰弗里·布魯斯·洛茨皮奇, 肯尼思·戈勒, 艾倫·馬金