專利名稱:安全的數(shù)字?jǐn)?shù)據(jù)格式和編碼的強制執(zhí)行政策的制作方法
技術(shù)領(lǐng)域:
本發(fā)明一般涉及在使數(shù)字?jǐn)?shù)據(jù)能夠使用以前將它合法化,更具體而言,涉及保證與數(shù)字?jǐn)?shù)據(jù)的使用有關(guān)的安全政策被強化執(zhí)行,其中該安全政策保證數(shù)字?jǐn)?shù)據(jù)的來源和合法性。
背景技術(shù):
個人計算機提供一種平臺,愿意投入編程工作的任何人可以在此平臺上寫程序,這些程序可以實現(xiàn)幾乎任何所希望的功能,僅僅受限于編程語言,操作環(huán)境,和執(zhí)行程序的硬件的約束,個人計算機的制造商和提供操作系統(tǒng)與編程工具的部門對用戶如何選擇使用它們各自的產(chǎn)品加的限制很少。然而,有這樣的情況,限制計算機設(shè)備如何被使用可能是重要的。廣義地說,計算設(shè)備可以是包括處理器的任何設(shè)備,執(zhí)行存儲在存儲器中的機器指令以實現(xiàn)某種功能。因而,計算設(shè)備可以具有一種專有的功能,或者在功能上可以是通用的,就象典型的個人計算機那樣。
在某些方面與個人計算機類似,而在其主要功能方面是比較專門的一種計算設(shè)備的類型是游戲控制臺,雖然游戲控制臺通??梢詫崿F(xiàn)其他的功能,但它們的主要功能是執(zhí)行機器指令,使一個或多個用戶能夠玩各種類型的游戲。生產(chǎn)游戲控制臺的公司的基本興趣在于控制在它們的游戲控制臺上執(zhí)行的任何游戲軟件的各個方面。例如,它們將想要保證游戲軟件的質(zhì)量滿足一定的技術(shù)規(guī)格。因為典型情況下游戲控制臺的制造商準(zhǔn)許其他公司生產(chǎn)能夠在它們的游戲控制臺上使用的游戲軟件,最好能夠防止未被準(zhǔn)許的軟件在游戲控制臺上使用。如果在游戲控制臺上玩未被準(zhǔn)許的軟件將導(dǎo)致收益損失暫且不說,也有一個對在游戲控制臺上玩的軟件保持質(zhì)量控制的問題。在軟件被準(zhǔn)許對公眾分配和發(fā)行以后,保證被準(zhǔn)許在游戲控制臺上使用的軟件不被修改也將是重要的。這樣的控制未被施加的話,游戲軟件可能被“亂砍亂伐”以便添加色情內(nèi)容或其他特性或功能,而這些并沒有包括在原先準(zhǔn)許由取得游戲控制臺許可證的軟件公司分配的授權(quán)軟件中。另外,游戲控制臺應(yīng)該能夠強制執(zhí)行有關(guān)游戲控制臺的地理區(qū)域的限制。防止在一臺已售出的游戲控制臺上對一個地理區(qū)域準(zhǔn)許玩的游戲軟件使用在不同的區(qū)域中。
對游戲控制臺應(yīng)該強制執(zhí)行的其他政策涉及基于游戲軟件的暴力等級,所用的語言,性內(nèi)容,和其他的準(zhǔn)則對它分類。娛樂軟件評級局(ESRB)是檢查游戲軟件和對它分級的組織,并通過將它分配到對游戲軟件認(rèn)為是適當(dāng)?shù)哪炅罱M目錄中把軟件分類。這些年令組目錄包括“每個人”(對所有的年令組都適合),“成年人”(年令為18歲以上),“成熟者”(年令為17歲以上),“少年”(年令為13歲以上)和“兒童”(年令為3歲以上)。訂購這種服務(wù)的游戲軟件生產(chǎn)者從ESRB接收評級結(jié)果并同意將相應(yīng)的分級符號包含在它們的軟件的包裝上。分級也被包含在游戲軟件中,游戲控制臺可被授權(quán)的用戶有選擇地編程,不玩具有在所希望的等級以上的任何年令組的等級的游戲軟件。因此,父母親可以將一臺游戲控制臺設(shè)置為只玩被評級為對每個人都適合的游戲軟件。游戲控制臺防止用戶繞過有關(guān)在控制臺上由授權(quán)用戶最后設(shè)置的目錄以外玩游戲軟件的任何限制是重要的。
有幾種不同的途徑可用來強制執(zhí)行與在計算設(shè)備如游戲控制臺上執(zhí)行的軟件有關(guān)的政策。例如,一種硬件元件,如具有幾種不同電阻值之一的一個電阻器可被應(yīng)用在計算設(shè)備中用以指定軟件所授權(quán)的區(qū)域。然后來自不同區(qū)域的軟件將對電阻值測試,并且將不在游戲控制臺上執(zhí)行,因為在游戲控制臺中檢測到的電阻值未在預(yù)先規(guī)定的預(yù)期值的容限內(nèi)。
為了鑒定軟件其他的涉及硬件的技術(shù)一直在使用用于存儲游戲軟件的插入盒。在一種先前技術(shù)的游戲系統(tǒng)中,授權(quán)游戲軟件盒的底座和游戲控制臺中相應(yīng)的插座被構(gòu)成以防止不同形狀的盒插入插座中。另外,游戲控制臺和任何授權(quán)的盒包括一個處理器和一個存儲為鑒定該盒所需的特定的數(shù)據(jù)的只讀存儲器(ROM)。如果由游戲控制臺中的處理器和盒中的處理器兩者實施的計算結(jié)果并不一致,游戲控制臺將不能夠使存儲在盒中的游戲軟件在游戲控制臺上執(zhí)行。
因為為了在當(dāng)代的游戲控制臺上運行而設(shè)計的圖形豐富和游戲復(fù)雜,所以游戲軟件被比較有效地在光存儲媒介,如壓縮盤-只讀存儲器盤(CDROM)或數(shù)字通用盤(DVD)上分發(fā)。因此,在軟件部件中必須采用不依靠硬件的替代方法,因為盤并不提供包含其他硬件部件的選件供在鑒定軟件和強制執(zhí)行安全和使用政策中使用。每個游戲控制臺制造商為了闡述這個問題是如何選擇的詳情并不容易得到。很清楚,采用存儲在盤上的數(shù)據(jù)確定是否軟件已被變更并強制執(zhí)行安全政策和在游戲控制臺上執(zhí)行的軟件的用法將是所希望的。
發(fā)明內(nèi)容
實際上有兩個主要的步驟必須依據(jù)本發(fā)明加以闡述,用以保證被計算設(shè)備,如游戲控制臺所使用的數(shù)字?jǐn)?shù)據(jù)是被授權(quán)的,自從它被分發(fā)以來一直未被變更,并且遵循在這些設(shè)備上使用有關(guān)的任何政策。在第一主要步驟中,數(shù)字?jǐn)?shù)據(jù)被分發(fā)到一個末端用戶以前必須被加密。其次,計算設(shè)備必須被編程,確定數(shù)字?jǐn)?shù)據(jù)被授權(quán),一直未被變更,并且按另一種方式確認(rèn)有關(guān)在此特定的計算設(shè)備上使用數(shù)字?jǐn)?shù)據(jù)的安全政策。
為了將數(shù)字?jǐn)?shù)據(jù)分發(fā)以前對它加密,在本發(fā)明中所用的方法按照預(yù)先規(guī)定的步驟確定用于數(shù)字?jǐn)?shù)據(jù)的數(shù)據(jù)摘要,典型情況下,數(shù)字?jǐn)?shù)據(jù)包括多個部分,并且在這個步驟中利用預(yù)先規(guī)定的步驟對每個部分規(guī)定部分摘要,使得所有的部分摘要包括數(shù)據(jù)摘要。這個步驟產(chǎn)生具有與數(shù)字?jǐn)?shù)據(jù)唯一地相關(guān)的形式的數(shù)據(jù)摘要,然后數(shù)據(jù)摘要被包括在數(shù)字?jǐn)?shù)據(jù)的頭段中。接著,利用預(yù)先規(guī)定的步驟對頭段確定頭段摘要,而且,頭段摘要唯一地與頭段相關(guān)。然后利用被保密的私人密鑰將頭段摘要加密。這樣一來數(shù)字?jǐn)?shù)據(jù)供分發(fā)是安全的。
一旦被加密,已加密的頭段摘要,頭段,和數(shù)字?jǐn)?shù)據(jù)可被分發(fā)供在計算設(shè)備上使用,在計算設(shè)備上使用數(shù)字?jǐn)?shù)據(jù)以前,計算設(shè)備必須確認(rèn)數(shù)字?jǐn)?shù)據(jù)的真實性,計算設(shè)備必須確認(rèn)數(shù)字?jǐn)?shù)據(jù)被授權(quán)并且自從通過實施以下的步驟進(jìn)行加密以來一直未被變更過。起初,利用與私人密鑰相對應(yīng)的公用密鑰對已加密的頭段摘要解密,恢復(fù)頭段摘要。接著,利用預(yù)先規(guī)定的步驟確定確認(rèn)的頭段摘要。然后,計算設(shè)備將頭段的確認(rèn)的頭段摘要與由解密的步驟所恢復(fù)的頭段摘要相比較,以確認(rèn)自從數(shù)字?jǐn)?shù)據(jù)被加密以來是否隨數(shù)字?jǐn)?shù)據(jù)分發(fā)的頭段已被變更。如果沒有,計算設(shè)備利用預(yù)先規(guī)定的步驟確定與包括在頭段中的數(shù)據(jù)摘要相對應(yīng)的數(shù)字?jǐn)?shù)據(jù)的確認(rèn)的數(shù)據(jù)摘要。然后將確認(rèn)的數(shù)據(jù)摘要與包括在頭段中的數(shù)據(jù)摘要相比較,以確認(rèn)在加密步驟以后被分發(fā)的數(shù)字?jǐn)?shù)據(jù)是否已被變更。實際上,這最后的兩個步驟對數(shù)字?jǐn)?shù)據(jù)的每個部分確定確認(rèn)的部分摘要,然后將確認(rèn)的部分摘要與包括在頭段中的部分摘要相比較。計算設(shè)備被編程,如果確認(rèn)的頭段摘要并不與通過解密步驟恢復(fù)的頭段摘要一致,或者如果確認(rèn)的數(shù)據(jù)摘要并不與包括在頭段中的數(shù)據(jù)摘要一致,則阻止計算設(shè)備進(jìn)一步使用數(shù)字?jǐn)?shù)據(jù)。
本方法前面的部分只是闡述問題的部分。為了控制數(shù)字?jǐn)?shù)據(jù)的使用,規(guī)定用于要被強制執(zhí)行的安全政策的準(zhǔn)則的信息在數(shù)字?jǐn)?shù)據(jù)被加密以前包括在數(shù)字?jǐn)?shù)據(jù)的頭段中。因此,預(yù)先規(guī)定的步驟被施加到包括這個信息的頭段,如以上所指出的那樣,用以確定頭段摘要。能夠在計算設(shè)備上使用數(shù)字?jǐn)?shù)據(jù)以前(假定確認(rèn)的頭段摘要已經(jīng)與通過解密步驟恢復(fù)的頭段摘要一致),計算設(shè)備被編程,以便確定是否在頭段中的信息能夠或允許在計算設(shè)備上使用數(shù)字?jǐn)?shù)據(jù)。如果是這樣,允許在計算設(shè)備上進(jìn)一步使用數(shù)字?jǐn)?shù)據(jù),否則被阻止,因為數(shù)字?jǐn)?shù)據(jù)的真實性未被確認(rèn)。如果不是這樣,在計算機器上任何進(jìn)一步使用數(shù)字?jǐn)?shù)據(jù)被阻止。
在確定是否在頭段中的信息使數(shù)字?jǐn)?shù)據(jù)能夠在計算設(shè)備上使用中,計算設(shè)備將包括在頭段內(nèi)信息中的安全政策準(zhǔn)則的指示與存儲在計算設(shè)備中的一種相應(yīng)的準(zhǔn)則狀態(tài)作比較,用以確認(rèn)它們是一致的。對于至少一種準(zhǔn)則,被授權(quán)的用戶能夠在計算機器上選擇該準(zhǔn)則的狀態(tài)。其他類型的準(zhǔn)則被存儲在計算設(shè)備的存儲器中,它們是不能夠被計算設(shè)備的用戶訪問或變更的,在頭段中的信息最好指明許多系統(tǒng)的政策準(zhǔn)則,包括數(shù)字?jǐn)?shù)據(jù)被允許在計算設(shè)備上使用的地理區(qū)域,數(shù)字?jǐn)?shù)據(jù)被允許加載到計算設(shè)備中供使用的介質(zhì)類型,基于至少一種數(shù)字?jǐn)?shù)據(jù)特性的額定值,在執(zhí)行或使用數(shù)字?jǐn)?shù)據(jù)以前必須處于適當(dāng)位置的控制臺系統(tǒng)設(shè)置(例如,用戶界面的語言,日期,時間等),當(dāng)某些系統(tǒng)部件被確定有故障時,是否可以信賴數(shù)字?jǐn)?shù)據(jù)的故障容限指示,指明是否數(shù)字?jǐn)?shù)據(jù)可被信賴的彈出控制,以便允許取下數(shù)字?jǐn)?shù)據(jù)所在的便攜式媒介,和/或任何其他預(yù)先確定的系統(tǒng)政策。
預(yù)先規(guī)定的用于產(chǎn)生每種摘要的步驟最好包括一種散列算法,正如以上所指出的那樣,數(shù)字?jǐn)?shù)據(jù)的每個部分被預(yù)先規(guī)定的步驟進(jìn)行處理,以產(chǎn)生包括在頭段中的部分摘要。計算設(shè)備被編程以防止進(jìn)一步使用確認(rèn)部分摘要并不與頭段中相應(yīng)的部分摘要一致的任何部分中的數(shù)字?jǐn)?shù)據(jù)。
本發(fā)明的其他方面被指向一種系統(tǒng),用于實施在加密數(shù)字?jǐn)?shù)據(jù)和在系統(tǒng)上使用以前強制執(zhí)行對數(shù)字?jǐn)?shù)據(jù)的安全政策中所用的方法的步驟。在每種情況下,該系統(tǒng)包括一個處理器和一個存儲器,機器指令被存儲在存儲器中,使處理器能夠?qū)嵤┩ǔEc上述的方法的步驟一致的功能。本發(fā)明也指向存儲媒介,機器指令被存儲在其上用于實施以上所討論的步驟。
通過參考以下的詳述連同附圖,本發(fā)明以上的各方面和許多伴隨的優(yōu)點將變得更加容易認(rèn)識和更好的理解,其中圖1是一種游戲系統(tǒng)的簡要的等比例圖,這種系統(tǒng)適用于實施本發(fā)明;圖2是圖1的游戲系統(tǒng)的方框圖;圖3是用作說明一種網(wǎng)絡(luò)游戲系統(tǒng)的簡圖,在其中圖1的游戲系統(tǒng)被通過網(wǎng)絡(luò)連到其他的控制臺和服務(wù)裝置;圖4是用作說明用于對便攜式媒介上的數(shù)據(jù)加密以便僅在已授權(quán)的控制臺上使用的邏輯過程流程圖;圖5是用作說明用于將控制臺初始化,以便強制執(zhí)行與控制臺和數(shù)字?jǐn)?shù)據(jù)有關(guān)的安全政策的邏輯過程流程圖;圖6是用作說明用于強制執(zhí)行控制臺和數(shù)字?jǐn)?shù)據(jù)之間兼容性的安全政策的邏輯過程流程圖;圖7是用作說明用于強制執(zhí)行關(guān)于利用控制臺使用數(shù)字?jǐn)?shù)據(jù)的安全政策的邏輯過程流程圖;和圖8是一種一般常規(guī)的個人計算機(PC)的方框圖,它對于在分配數(shù)字?jǐn)?shù)據(jù)供在控制臺上使用以前加密數(shù)字?jǐn)?shù)據(jù)是適合的。
具體實施例方式
本發(fā)明的一種優(yōu)選實施方案被描述如下,其中述及它在電子游戲系統(tǒng)中的使用,這種系統(tǒng)被設(shè)計用以執(zhí)行被分發(fā)在便攜式的,可移動的介質(zhì)上的游戲軟件。本領(lǐng)域的技術(shù)人員將認(rèn)識到本發(fā)明也可在機頂盒,連拱廊式的游戲機,個人計算機(PC),和其他的當(dāng)使用數(shù)字?jǐn)?shù)據(jù)時需要強制執(zhí)行安全政策的系統(tǒng)中實施。
示范系統(tǒng)如圖1中所示,一種示范的電子游戲系統(tǒng)100包括一個游戲控制臺102和用于最多4個用戶輸入設(shè)備的支撐物,如控制器104a和104b。游戲控制臺102裝有一個內(nèi)部的硬盤驅(qū)動器(在本圖中未示出)和一個便攜式介質(zhì)驅(qū)動器106,支持各種形式的便攜式光存儲介質(zhì),如由光存儲盤108所示。適當(dāng)?shù)谋銛y式存儲介質(zhì)的例子包括DVD盤和CD-ROM盤。在這種游戲系統(tǒng)中,游戲程序最好在DVD盤上分發(fā)供隨游戲控制臺使用,但也考慮在使用本發(fā)明的這種或其他類型的系統(tǒng)上使用其他的存儲介質(zhì),用以強制執(zhí)行數(shù)據(jù)安全政策并保證輸入本系統(tǒng)的數(shù)字?jǐn)?shù)據(jù)的真實性。
在游戲控制臺102的前面板上是4個槽110,用于連接和支撐控制器,然而槽的數(shù)量和排列可被修改。電源按鈕112和彈出按鈕114也被放置在游戲控制臺102的前面板上。電源按鈕112控制電源對游戲控制臺的應(yīng)用,彈出按鈕114交替地打開和閉合便攜式介質(zhì)驅(qū)動器106的一個托盤(未示出),使存儲盤108能夠插入和抽出,以致在盤上的數(shù)字?jǐn)?shù)據(jù)可被讀出供游戲控制臺使用。
游戲控制臺102通過聲/視(A/V)接口電纜120連到電視機或其他的顯示監(jiān)視器或屏幕(未示出)。電源電纜插頭122連到通常的交流電線路電源(未示出)時將電功率傳遞到游戲控制臺。游戲控制臺102可被進(jìn)一步提供一個數(shù)據(jù)連接器124,用以,例如通過通常的電話調(diào)制解調(diào)器或?qū)拵нB接在網(wǎng)絡(luò),如因特網(wǎng)上傳送數(shù)據(jù)。
每個控制器104a和104b被通過導(dǎo)線(或另一種方案是通過無線接口)耦合到游戲控制臺102、在用作說明的實施方案中,控制器是兼容的通用串聯(lián)總線(USB),并被通過USB電纜130連到游戲控制臺102,游戲控制臺102可以裝有范圍廣泛的用戶設(shè)備中任何一種用于與游戲軟件接合并控制它。如圖1中所示,每個控制器104a和104b裝有兩個手桿132a和132b,一個D-板134,按鈕136,和兩個觸發(fā)器138。這些控制器只是代表性的,其他已知的游戲輸入和控制機構(gòu)可替代圖1中所示的設(shè)備或添加到圖1中所示的設(shè)備中供隨游戲控制臺102使用。
一種可移動的或便攜式的存儲器單元(MU)140可以作為選件插入控制器104,提供附加的可移動的存儲設(shè)備,便攜式MU使用戶能夠存儲游戲參數(shù)并通過將便攜式MU插入其他的控制器運送它們用以在其他的控制臺上玩。在所描述的實施方案中,每個控制器被配置成容納兩個MU,然而可以另外采用多于或少于兩個MU。
游戲系統(tǒng)100能夠,例如,玩游戲,播音樂,和電視。利用存儲在硬盤驅(qū)動器上或從驅(qū)動器106中的光存儲盤108,從在線的源,或從MU140讀出的數(shù)字?jǐn)?shù)據(jù)實現(xiàn)其他的功能已被考慮。例如,游戲系統(tǒng)100能夠潛在地實現(xiàn)●玩存儲在CD和DVD盤上,在硬盤驅(qū)動器上,或從在線源下載的游戲項目;●播放存儲在便攜式介質(zhì)驅(qū)動器106中的CD上,在硬盤驅(qū)動器的文件(例如,視窗媒體聲頻(WMA)格式)中,或從因特網(wǎng)或其他的網(wǎng)絡(luò)上的在線流式源得到的數(shù)字音樂;和●播放存儲在便攜式介質(zhì)驅(qū)動器106中的DVD盤上,或硬盤驅(qū)動器上的文件(例如,活動的流式格式)中,或從因特網(wǎng)或其他的網(wǎng)絡(luò)上的在線流式源得到的數(shù)字視聽(AV)數(shù)據(jù)。
圖2更加詳細(xì)地示出游戲系統(tǒng)100的功能部件,游戲控制臺102包括一個中央處理單元(CPU)200,和一個存儲器控制器202,便于處理器訪問各種類型的存儲器,包括只讀存儲器(ROM)204,隨機存取存儲器(RAM)206,硬盤驅(qū)動器208,和便攜式介質(zhì)驅(qū)動器106。CPU 200裝有一個等級1的超高速存儲器210和一個等級2的超高速存儲器212,用以暫時存儲數(shù)據(jù),以便減少存儲器訪問周期數(shù)目,從而改進(jìn)處理速度和吞吐量。CPU 200,存儲器控制器202,和各種存儲設(shè)備被通過一種或多種總線互聯(lián),包括串行與并行總線,存儲器總線,外圍總線,和利用各種各樣總線結(jié)構(gòu)中任何一種的處理器或局部總線。舉例來說,這樣的結(jié)構(gòu)可以包括工業(yè)標(biāo)準(zhǔn)結(jié)構(gòu)(ISA)總線,微通道結(jié)構(gòu)(MCA)總線,增強型ISA(EISA)總線,電視電子標(biāo)準(zhǔn)協(xié)會(VESA)局部總線,和外圍部件互聯(lián)(PCI)總線。
作為一種適當(dāng)?shù)膶嵤┓桨傅睦?,CPU 200,存儲器控制器202,ROM204,和RAM 206被集成在一個公共的模塊214上。在這個實施方案中,ROM 204被配置成閃爍ROM,它被通過PCI總線和ROM總線(它們均未示出)連到存儲器控制器202。RAM 206被配置成多個雙數(shù)據(jù)速率同步動態(tài)RAM(DDR SDRAM),它們由存儲器控制器202通過分離的總線(未示出)獨立地控制。硬盤驅(qū)動器208和便攜式介質(zhì)驅(qū)動器106被通過PCI總線和先進(jìn)技術(shù)附加裝置(Advanced Technology Attacbment(ATA))總線216連到存儲器控制器。
一個3D圖形處理單元220和一個視頻編碼器222組成視頻處理管道,用于高速和高分辨率的圖形處理。數(shù)據(jù)從圖形處理單元220經(jīng)過數(shù)字視頻總線(未示出)傳送到視頻編碼器222。一個聲頻處理單元224和一個聲頻編碼器/解碼器(Codec)226組成相應(yīng)的聲頻處理管道,用于高保真度和立體聲的聲頻數(shù)據(jù)處理。聲頻數(shù)據(jù)經(jīng)通信鏈路(未示出)在聲頻處理單元224和聲頻聲碼器226之間傳遞。視頻和聲頻處理管道輸出數(shù)據(jù)到一個A/V口228,用以傳送到電視或其他的顯示監(jiān)視器。在用作說明的實施方案中,視頻和聲頻處理部件220-228被安裝在模塊214上。
一個USB主控制器230和一個網(wǎng)絡(luò)接口232也由模塊214實現(xiàn)。USB主控制器230被通過總線(例如,PCI總線)連到CPU 200和存儲器控制器202,并作為外圍控制器104a-104d的主機起作用。網(wǎng)絡(luò)接口232提供對網(wǎng)絡(luò)(例如,因特網(wǎng),本地網(wǎng),等)的入口,可以是范圍廣泛的各種有線或無線接口部件中任何一種,包括以太網(wǎng)卡,調(diào)制解調(diào)器,藍(lán)牙模塊,電纜調(diào)制解調(diào)器,和其他同類產(chǎn)品。
游戲控制臺102有兩個雙控制器支持分組合件240a和240b,每個分組合件支持兩個游戲控制器104a-104d。前面板輸入/輸出(I/O)分組合件242支持電源按鈕112和彈出按鈕114,以及暴露在游戲控制臺外表面上的任何發(fā)光二極管(LED)或其他指示器的功能。分組合件240a,240b,和242通過一個或多個電纜組合件244連到模塊214。
8個MU 140a-140h被示出,可連到4個控制器104a-104d,也就是,每個控制器連接兩個MU。每個MU 140對游戲提供附加的存儲器,可以存儲游戲參數(shù)和其他的數(shù)據(jù),當(dāng)MU 140插入控制器時,可被存儲器控制器202訪問。
系統(tǒng)電源模塊250對游戲系統(tǒng)100的部件提供功率。電扇252冷卻游戲控制臺102內(nèi)的部件和電路。
為了實施本發(fā)明,包含存儲在DVD或其他存儲介質(zhì)(或通過網(wǎng)絡(luò)下載)上的機器指令的游戲軟件應(yīng)用程序260被裝載到RAM 206和/或超高速存儲器210,212中供CPU 200執(zhí)行。軟件應(yīng)用程序260的各個部分可以只在需要時裝入,或者可將所有的軟件應(yīng)用程序(取決于它的規(guī)模)裝入RAM 206。軟件應(yīng)用程序260被較詳細(xì)地描述如下。
游戲系統(tǒng)100可以作為一個孤立的系統(tǒng),通過將該系統(tǒng)直接連到電視或其他的顯示監(jiān)視器進(jìn)行操作。在這種孤立模式中,游戲系統(tǒng)100使一個或多個用戶能夠玩游戲,觀看電影,或收聽音樂。然而,利用通常的調(diào)制解調(diào)器或?qū)拵нB接到因特網(wǎng)或通過網(wǎng)絡(luò)接口232可得到的其他網(wǎng)絡(luò),游戲系統(tǒng)100可以進(jìn)一步作為一個較大的網(wǎng)絡(luò)游戲社團(tuán)的一個組分進(jìn)行操作,使在線的多個玩家能夠在通過因特網(wǎng)或其他網(wǎng)絡(luò)的游戲中交互作用。
網(wǎng)絡(luò)系統(tǒng)圖3示出一種示范的網(wǎng)絡(luò)游戲環(huán)境300,通過網(wǎng)絡(luò)302將多個游戲系統(tǒng)100a,...100n互聯(lián)。網(wǎng)絡(luò)302表示范圍廣泛的數(shù)據(jù)通信網(wǎng)中任何一種,并可包括公用部分(例如,因特網(wǎng)),以及私人部分(例如,居民的局域網(wǎng)(LAN))。網(wǎng)絡(luò)302可以利用范圍廣泛的通常的通信配置中任何一種或多種來實施,包括既有有線又有無線類型。范圍廣泛的通信協(xié)議中任何一種可被用于通過網(wǎng)絡(luò)302傳送數(shù)據(jù),既包括公用的又包括特許的協(xié)議。這些協(xié)議的例子包括TCP/IP,IPX/SPX,NetBEUI,等。
除了游戲系統(tǒng)100以外,一個或多個在線服務(wù)裝置304a,...,304m可通過網(wǎng)絡(luò)302接入,對參與者提供各種服務(wù),如主持在線游戲,提供可下載的音樂或視頻文件服務(wù),主持游戲競賽,提供流式A/V文件服務(wù),和同類項目。網(wǎng)絡(luò)游戲環(huán)境300可以進(jìn)一步采用密鑰分配中心306,在對于相互互聯(lián)以及連到在線服務(wù)裝置304的各個玩家和/或游戲系統(tǒng)100的認(rèn)證中起作用。分配中心306對有效的參與者分發(fā)密鑰和服務(wù)票,然后可用于組成包括多個玩家的玩游戲組,或者從在線服務(wù)機構(gòu)304購買服務(wù)項目。
網(wǎng)絡(luò)游戲環(huán)境300對各個游戲系統(tǒng)100引入另一種可得到的存儲器源,也就是,在線存儲器。除了光存儲盤108,硬盤驅(qū)動器208,和MU 140以外,游戲系統(tǒng)100a也可以通過網(wǎng)絡(luò)302訪問在遠(yuǎn)距離存儲位置上可得到的數(shù)據(jù)文件,例如由在線服務(wù)裝置304m上的遠(yuǎn)距離存儲器308提供。
示范的方法為了示范的目的,以下描述一種優(yōu)選實施方案,用于對游戲加密,并只有在被授權(quán)的控制臺上安全地使用游戲,以保證游戲軟件未被變更和保證在游戲控制臺上只可以玩被授權(quán)玩的軟件。特別是,該實施方案強制執(zhí)行安全性和關(guān)于在便攜式介質(zhì),如光盤上分配游戲的其他政策,并保證只有未被變更的游戲復(fù)制品可被執(zhí)行,和只有通過特定的被授權(quán)的游戲控制臺組,如只在世界的特定區(qū)域中銷售供使用的游戲控制臺來實施。本領(lǐng)域的技術(shù)人員將認(rèn)識到可以對其他形式的數(shù)字?jǐn)?shù)據(jù)應(yīng)用本發(fā)明,如仿真,圖象,視頻,聲頻,文本,等。以下所描述的方法也可應(yīng)用到,或很容易修改成供在幾乎任何類型的網(wǎng)絡(luò)上,在幾乎任何類型的介質(zhì)或通過任何類型的傳播媒介,包括,例如,射頻傳播和光信號,沒有限制地控制對數(shù)字?jǐn)?shù)據(jù)的訪問中使用。
圖4是用作說明用于對作為存儲在便攜式介質(zhì)上僅供授權(quán)的控制臺使用的數(shù)字?jǐn)?shù)據(jù)400的游戲軟件加密的邏輯過程流程圖。證明文書402被隨同數(shù)字?jǐn)?shù)據(jù)編碼在便攜式介質(zhì)上。證明文書402包括所希望的安全政策信息,如由ESRB規(guī)定的內(nèi)容額定值,其他的安全政策信息包括游戲軟件被授權(quán)使用的游戲區(qū)域,如北美,日本,歐洲,或“世界的其余部分”,游戲區(qū)域信息可以指明功能方面而不是地理區(qū)域。例如,在游戲控制臺的生產(chǎn)和產(chǎn)后服務(wù)期間可以使用“制造區(qū)域”,使數(shù)字?jǐn)?shù)據(jù)只可以在提供給制造商和維持服務(wù)提供者的特定型號控制臺上使用。作為選項包括在證明文書中的另一種形式的安全政策信息詳細(xì)說明當(dāng)將數(shù)字?jǐn)?shù)據(jù)加載到RAM中時游戲控制臺被授權(quán)訪問的介質(zhì)的類型。例如,證明文書可被設(shè)置成只能由某些種類游戲控制臺讀取的一種唯一的光存儲盤的類型。利用介質(zhì)類型,軟件分發(fā)商可以防止從硬驅(qū)動器或通過網(wǎng)絡(luò)將軟件加載到RAM中,或者相反,可被設(shè)置或授權(quán)通過網(wǎng)絡(luò)下載,例如,準(zhǔn)許在控制臺上玩演示軟件。另外,另一種方案是,介質(zhì)類型可被設(shè)置成包括一個特定的授權(quán)的網(wǎng)址,由此數(shù)字?jǐn)?shù)據(jù)可被訪問并加載到RAM中,防止軟件被從任何其他的網(wǎng)址下載。
為了對便攜式介質(zhì)上的數(shù)字?jǐn)?shù)據(jù)加密,在步驟404,一種安全系統(tǒng)識別數(shù)字?jǐn)?shù)據(jù)的各部分并計算對于每部分?jǐn)?shù)字?jǐn)?shù)據(jù)的摘要。每個摘要被稱為部分摘要。最好,利用一種算法計算部分摘要,如由國家標(biāo)準(zhǔn)和技術(shù)研究所(NIST)規(guī)定的安全散列算法(Secure Hash Algorithm)版本1(SHA-1)。進(jìn)一步的關(guān)于SHA-1的信息可從http//www.itl.nist.gov/fipspubs/fip 180-1.htm得到。
在步驟406,安全系統(tǒng)建立一個頭段,其中包括每個部分摘要,安全政策信息,和希望包括在數(shù)字?jǐn)?shù)據(jù)頭段數(shù)據(jù)中的任何其他信息。然后在步驟408,安全系統(tǒng)計算整個頭段的摘要,產(chǎn)生頭段摘要。在步驟410,安全系統(tǒng)利用一種私人密鑰將頭段摘要加密。正如在本領(lǐng)域中熟知的那樣,私人密鑰是用于對數(shù)字?jǐn)?shù)據(jù)加密和認(rèn)證的數(shù)字簽名算法的部分,以致相應(yīng)的公用密鑰可被用于確認(rèn)數(shù)據(jù)的真實性和將數(shù)據(jù)解密。關(guān)于數(shù)字簽名算法的附加信息可在以下網(wǎng)址中找到http//csrc.nist.gov/publications/fips/fips186-2/fips186-2.pdf,顯而易見,在數(shù)據(jù)安全傳輸方面使用私人和公用密鑰是眾所周知的。一旦頭段摘要被加密,在步驟412,安全系統(tǒng)將已加密的頭段摘要插入頭段的開始部分,然后在步驟414,安全系統(tǒng)將頭段和數(shù)字?jǐn)?shù)據(jù)存儲在便攜式介質(zhì)或其他的存儲設(shè)備上供分發(fā)。例如,頭段和數(shù)字?jǐn)?shù)據(jù)可被存儲在DVD上供分發(fā)給具有適當(dāng)?shù)挠螒蚩刂婆_的末端用戶。
為了認(rèn)證數(shù)字?jǐn)?shù)據(jù)并保證在以上所描述的加密過程以后數(shù)字?jǐn)?shù)據(jù)未被變更,控制臺如以下所描述的那樣,實施檢驗步驟,涉及圖5-7。圖5是用作說明用于將控制臺初始化以便強制執(zhí)行與控制臺和數(shù)字?jǐn)?shù)據(jù)有關(guān)的安全政策的邏輯過程流程圖。在步驟420,控制臺被加電(或復(fù)位),將它“引導(dǎo)”啟動,在決策步驟422,控制臺確定是否初始值和參數(shù)已被設(shè)置。例如,控制臺確定是否對于時區(qū),時鐘設(shè)置,和典型情況下當(dāng)游戲控制臺被一開始設(shè)置供使用時輸入的其他初始值已被配置。如果用于控制臺的這些值或參數(shù)中任何一項還未被配置,在步驟424,控制臺啟動稱為“控制板”的用戶接口,使用戶能夠用還未被輸入的一個或多個參數(shù)或值配置控制臺。
當(dāng)控制臺被配置時,在決策步驟426,控制臺確定是否便攜式介質(zhì)是在控制臺的介質(zhì)驅(qū)動器中。本領(lǐng)域的技術(shù)人員將認(rèn)識到控制臺可以附加地,或另外地確定是否數(shù)字?jǐn)?shù)據(jù)當(dāng)前可接入供可從流式服務(wù)器得到的下載,或用于其他的訪問。如果便攜式介質(zhì)并未在控制臺介質(zhì)驅(qū)動器中,在步驟428,控制臺啟動控制板,使用機器指令和存儲在硬驅(qū)動器上的數(shù)據(jù)。如果便攜式介質(zhì)被檢出在介質(zhì)驅(qū)動器中,或者對數(shù)據(jù)的其他入口被提供,在決策步驟430,控制臺確定是否便攜式介質(zhì)包括帶有預(yù)先確定的名稱的文件、控制臺期望找到帶有預(yù)先確定名稱的文件,用以識別在介質(zhì)驅(qū)動器中或從另一個源提供的介質(zhì)的類型。介質(zhì)驅(qū)動器能夠讀出多種介質(zhì)類型,如聲頻CD,DVD,游戲盤,和其他的介質(zhì)類型。如果預(yù)先確定的文件名稱將便攜式介質(zhì)識別為包括必要的頭段和其他數(shù)字?jǐn)?shù)據(jù)的游戲盤,則實施以下步驟。如果便攜式介質(zhì)并不包括期望的指明介質(zhì)類型的預(yù)先規(guī)定的文件名稱,在步驟432,控制臺啟動控制板,以致控制臺可用于播放CD,DVD,或其他的介質(zhì)類型。
當(dāng)游戲盤被檢出時,在步驟434,控制臺從游戲盤裝載頭段。在步驟436,控制臺利用與用于對頭段摘要加密的私人密鑰有關(guān)的公用密鑰將頭段摘要解密。最好,公用密鑰被存入控制臺的永久存儲器中,也就是,ROM 204中。然后,在步驟438,控制臺計算頭段的確認(rèn)摘要,供與已解密的頭段摘要作比較。然后,通過連接器A把控制傳遞到圖6的決策步驟440。
參考圖6,決策步驟440指明控制臺確定是否已解密的頭段摘要與確認(rèn)摘要一致。如果兩個摘要并不一致,在步驟445,控制臺啟動控制板處理差錯。控制臺將指明在認(rèn)證軟件數(shù)據(jù)中已發(fā)生差錯。
如果兩個摘要一致,控制臺讀出用于安全政策信息的頭段并在決策步驟442確定,是否在頭段中所寫的介質(zhì)類型與在圖5的決策步驟430所檢出的介質(zhì)類型一致。在決策步驟430,控制臺可以檢出期望的預(yù)先規(guī)定的文件名稱,這將給出初始的指示,表明一個有效的游戲軟件盤是在便攜式介質(zhì)驅(qū)動器中。然而,預(yù)期的預(yù)先規(guī)定的文件名稱可以直接寫在可寫的壓縮盤上。因此,在圖6的決策步驟442上,控制臺確定是否頭段也指明是否數(shù)據(jù)被授權(quán)存儲在只讀游戲盤上,而不是存儲在可寫的壓縮盤,匣式存儲器,存儲卡,遠(yuǎn)距離存儲設(shè)備,或其他的存儲介質(zhì)類型上。如果在頭段中列舉的介質(zhì)類型并不與檢測到的介質(zhì)類型一致,在步驟445,控制臺啟動控制板處理差錯。
如果被授權(quán)的介質(zhì)類型與被輸出的便攜式介質(zhì)類型一致,控制臺實施類似的對游戲區(qū)域的檢驗。特別是,在決策步驟444,控制臺確定是否在頭段中被識別的游戲區(qū)域與在控制臺的永久存儲器,也就是,ROM204中所存儲的游戲區(qū)域一致。例如,控制臺確認(rèn)北美的游戲盤被用在售出只供在北美使用的游戲控制臺中。如果在頭段中被識別的游戲區(qū)域并不與控制臺中所存儲的游戲區(qū)域一致,在步驟445,控制臺啟動控制板處理差錯。
如果游戲區(qū)域一致,控制臺可以實施其他類似的可選的檢驗操作。例如,在決策步驟446,控制臺可以確定是否在便攜式介質(zhì)上的數(shù)字?jǐn)?shù)據(jù)被指望用于制造或軟件開發(fā)的目的,或用于生產(chǎn)后的服務(wù),或其他的非游戲功能。或者,另外,控制臺可以確定是否要被裝載的數(shù)字?jǐn)?shù)據(jù)需要系統(tǒng)保證在執(zhí)行數(shù)字?jǐn)?shù)據(jù)以前,各種系統(tǒng)設(shè)置處于適當(dāng)?shù)奈恢?,這些系統(tǒng)設(shè)置可包括用戶接口的語言,日期,一天的時間,和/或其他的設(shè)置。控制臺也可確定是否當(dāng)某些系統(tǒng)部件被確定有故障時可以信賴地運行數(shù)字?jǐn)?shù)據(jù)。例如,控制臺可以檢查是否一個位被設(shè)置使硬盤松開。另一種檢驗可以是是否可以信賴數(shù)字?jǐn)?shù)據(jù),以便準(zhǔn)許用戶安全地取下便攜式介質(zhì),或者是否這樣的取下應(yīng)該由系統(tǒng)本身實施。
如果控制臺確定頭段并未識別出有效的對于數(shù)字?jǐn)?shù)據(jù)已授權(quán)的功能,或者一種有效性檢查失敗,在步驟445,控制臺啟動控制板處理差錯。然而,如果控制臺確定一種有效的功能已被實施,在步驟448,控制臺啟動制造功能,服務(wù)功能,或已被檢測出的其他的有效功能,然后通過連接器B將控制傳遞到圖7的步驟450。
在圖7的邏輯過程中,利用控制臺使用數(shù)字?jǐn)?shù)據(jù)的安全政策被強制執(zhí)行。此時,控制臺已確定頭段數(shù)據(jù)是有效的,并已測試包含在證明文書中的信息。然而,為了保證每個部分的數(shù)字?jǐn)?shù)據(jù)本身未被變更,控制臺必須檢驗每個部分的摘要。為了有效地按此實施,在步驟450控制臺裝載所有的預(yù)裝部分。預(yù)裝部分包括使游戲初始化必須執(zhí)行的游戲程序代碼的部分。在步驟452,控制臺計算第一部分?jǐn)?shù)字?jǐn)?shù)據(jù)的部分摘要。在決策步驟454,控制臺將算得的部分摘要與存儲在頭段中的該部分的部分摘要作比較。如果算得的部分摘要并不與存儲在該部分的頭段中的摘要一致,在步驟445,控制臺啟動控制板處理差錯。如果部分摘要是一致的,在決策步驟456,控制臺確定是否另一部分的數(shù)字?jǐn)?shù)據(jù)被預(yù)先裝入。如果另一部分的數(shù)字?jǐn)?shù)據(jù)被預(yù)先裝入,控制返回到步驟452,計算對于下一部分?jǐn)?shù)字?jǐn)?shù)據(jù)的部分摘要。對每一部分的數(shù)字?jǐn)?shù)據(jù)進(jìn)行比較。在所有其他部分的數(shù)字?jǐn)?shù)據(jù)被允許在游戲控制臺上執(zhí)行以前對它們實施相同的步驟。
一旦所有的部分已被檢驗過,在步驟458,控制臺從便攜式介質(zhì)讀出并運行某些初始化代碼。初始化代碼最好被安全系統(tǒng)存儲在便攜式介質(zhì)上并用于處理其他的安全政策信息。例如,在決策步驟460,控制臺可以使用初始化代碼確定是否數(shù)字?jǐn)?shù)據(jù)與由授權(quán)用戶(如正在使用游戲控制臺的兒童的家長)配置的控制臺接收的ESRB額定值一致。如果數(shù)字?jǐn)?shù)據(jù)的ESRB額定值并不與控制臺中(也就是,存儲在ROM 204中)所配置的ESRB額定值一致,在步驟445,控制臺啟動控制板處理差錯。本領(lǐng)域的技術(shù)人員將認(rèn)識到初始化代碼可被按另一方式并入ROM,而不是便攜式介質(zhì)。因此,所有的檢驗可以按以上關(guān)于圖6的描述實現(xiàn)。否則,可以按另一方式由便攜式介質(zhì)的初始化代碼檢驗經(jīng)ROM檢驗的某些或全部政策。
在任何情況下,一旦ESRB額定值,和/或其他的安全政策被檢驗,在步驟462,控制臺處理數(shù)字?jǐn)?shù)據(jù)的其余部分,執(zhí)行游戲或?qū)嵤┻@些數(shù)字?jǐn)?shù)據(jù)命令控制臺執(zhí)行的其他操作。因此,游戲控制臺可以檢出已變更的軟件并將不允許任何已變更的軟件在控制臺上執(zhí)行。而且,如果包括在軟件頭段的證明文書信息中的其他參數(shù)與游戲控制臺上的設(shè)置不一致,數(shù)字?jǐn)?shù)據(jù)將不在游戲控制臺上執(zhí)行。因此,本發(fā)明保證只有被授權(quán)的游戲軟件將在游戲控制臺上執(zhí)行,因為通過利用私人密鑰將頭段摘要加密并不安全的游戲軟件將未被執(zhí)行。存儲在介質(zhì)上的軟件或其他的數(shù)字?jǐn)?shù)據(jù)中的變化將被檢出,因為已解密的頭段摘要將與由游戲控制臺確定的頭段摘要不一致。根據(jù)存儲在控制臺的ROM中的參數(shù)與游戲軟件頭段的證明文書中的參數(shù)相比較的結(jié)果也將強制執(zhí)行所有其他的安全性和使用的政策。因為頭段包括證明文書信息,對證明文書信息的任何改變也將被容易地檢出,防止數(shù)字?jǐn)?shù)據(jù)在游戲控制臺上執(zhí)行。
對數(shù)字?jǐn)?shù)據(jù)加密的示范性的操作環(huán)境圖8和以下的討論將指望提供一種對適當(dāng)?shù)挠嬎悱h(huán)境簡明和通用的描述,在其中本發(fā)明可實施對數(shù)字?jǐn)?shù)據(jù)的加密供后續(xù)的分發(fā)和在許多不同控制臺上的使用。本發(fā)明這部分內(nèi)容可以在單一的計算設(shè)備上實現(xiàn),但常常在客戶計算設(shè)備和/或服務(wù)器或由通信網(wǎng)絡(luò)連接的其他遠(yuǎn)距離計算設(shè)備上實施,典型情況下兩者均包括圖8中所示的功能部件。雖然并非必要,本發(fā)明的這方面內(nèi)容將以計算機可執(zhí)行指令的一般關(guān)系,如由PC執(zhí)行的程序模塊進(jìn)行描述。通常,程序模塊包括執(zhí)行特定的任務(wù)或?qū)嵤┨囟ǖ某橄蟮臄?shù)據(jù)類型的應(yīng)用程序,例行程序,目標(biāo),部件,功能,數(shù)據(jù)結(jié)構(gòu)等。本領(lǐng)域的技術(shù)人員也將認(rèn)識到本發(fā)明也可以利用其他的計算機系統(tǒng)配置來實現(xiàn),例如作為個人生產(chǎn)手段的客戶設(shè)備,其他的微處理機為基礎(chǔ)的或可編程的消費電子設(shè)備,多處理器系統(tǒng),網(wǎng)絡(luò)PC,小計算機,大型計算機,等。而且,本發(fā)明也可以在分布的計算環(huán)境中實施,在其中由通過通信網(wǎng)絡(luò)連接的遠(yuǎn)距離處理設(shè)備執(zhí)行各項任務(wù)。在一種分布的計算環(huán)境中,程序模塊可以放置在本地的和遠(yuǎn)距離的存儲器存儲設(shè)備中。
參考圖8,一種用于依據(jù)本發(fā)明對數(shù)字?jǐn)?shù)據(jù)加密的示范系統(tǒng)包括通常的PC 520形式的通用計算設(shè)備,提供有處理單元521,系統(tǒng)存儲器522,和系統(tǒng)總線523。系統(tǒng)總線將包括系統(tǒng)存儲器的各種系統(tǒng)部件耦合到處理單元521,并可以是幾種類型總線結(jié)構(gòu)中的任何一種,包括存儲器總線或存儲器控制器,外圍總線,和利用各種各樣總線結(jié)構(gòu)中任何一種的局部總線。系統(tǒng)存儲器包括只讀存儲器(ROM)524和隨機存取存儲器(RAM)525。一種包含基本例行程序的基本輸入/輸出系統(tǒng)526(BIOS)被存儲在ROM 524中,基本例行程序如在啟動期間幫助在PC 520內(nèi)的部件之間傳遞信息。PC 520進(jìn)一步包括一個硬盤驅(qū)動器527,用于從硬盤(未示出)讀出和寫入硬盤,一個磁盤驅(qū)動器528,用于從可移動的磁盤529讀出或?qū)懭?,和一個光盤驅(qū)動器530,用于從可移動光盤531讀出或?qū)懭耄鏑D-ROM或其他的光學(xué)介質(zhì)。分別由硬盤驅(qū)動器接口532,磁盤驅(qū)動器接口533,和光盤驅(qū)動器接口534將硬盤驅(qū)動器527,磁盤驅(qū)動器528,和光盤驅(qū)動器530連到系統(tǒng)總線。驅(qū)動器和它們的有關(guān)的計算機可讀介質(zhì)提供計算機可讀機器指令,數(shù)據(jù)結(jié)構(gòu),程序模塊,和用于PC 520的其他數(shù)據(jù)的非揮發(fā)性存儲。雖然在此所描述的示范環(huán)境采用硬盤,可移動磁盤529,可移動光盤531,本領(lǐng)域的技術(shù)人員將認(rèn)識到可存儲可被計算機訪問的數(shù)據(jù)和機器指令的其他類型的計算機可讀介質(zhì),如盒式磁帶,閃爍存儲器卡,數(shù)字視盤(DVD),伯努利(Bernoulli)匣式帶,RAM,ROM等也可以用在示范的操作環(huán)境中。
許多程序模塊可以存儲在硬盤,磁盤529,光盤531,ROM 524,或RAM 525上,包括操作系統(tǒng)535,一個或多個應(yīng)用程序536,其他的程序模塊537,和程序數(shù)據(jù)538。用戶可以輸入命令和信息到PC 520中,并通過輸入設(shè)備如鍵盤540和指示設(shè)備542提供控制輸入。指示設(shè)備542可以包括鼠標(biāo),掃描筆,無線遙控器,或其他的指示器。正如由此往后所使用的那樣,術(shù)語“鼠標(biāo)”被指望實際上包含對于控制屏幕上光標(biāo)位置有用的任何指示設(shè)備。其他的輸入設(shè)備(未示出)可以包括話筒,操縱桿,觸摸操縱桿,操縱柄,腳踏板,游戲板,衛(wèi)星盤,掃描器,或其他類似設(shè)備。這些和其他的輸入/輸出(I/O)設(shè)備經(jīng)常被通過連到系統(tǒng)總線523的I/O接口546連到處理單元521。術(shù)語I/O接口是指包括特別用于串行口,并行口,游戲口,鍵盤口,和/或通用串行總線(USB)的每種接口。監(jiān)視器547或其他類型的顯示設(shè)備也被通過適當(dāng)?shù)慕涌冢缫曨l適配器548連到系統(tǒng)總線523,可用于顯示應(yīng)用程序,圖形圖象,網(wǎng)頁,和/或其他的信息。除了監(jiān)視器外,PC經(jīng)常被連到其他的外圍輸出設(shè)備(未示出),如揚聲器(通過聲卡或其他的聲頻接口-未示出)和打印機。
如以上所指出的那樣,本發(fā)明可以在單一的機器上實施,然而,PC520也可以利用對一個或多個遠(yuǎn)距離計算機,如遠(yuǎn)距離計算機549的邏輯電路連接在網(wǎng)絡(luò)環(huán)境中運行。遠(yuǎn)距離計算機549可以是另一個PC,服務(wù)器(典型情況下被配置成與PC 520非常相似),路由器,網(wǎng)絡(luò)PC,同等級的設(shè)備,或衛(wèi)星或其他公共網(wǎng)絡(luò)節(jié)點,典型情況下包括許多或全部以上關(guān)于PC 520所描述的部件,雖然只有外部存儲器存儲設(shè)備550已在圖8中示出,圖8中所描述的邏輯連接包括局域網(wǎng)(LAN)551和廣域網(wǎng)(WAN)552,這樣的網(wǎng)絡(luò)環(huán)境在辦公室,企業(yè)范圍的計算機網(wǎng)絡(luò),內(nèi)部網(wǎng),和因特網(wǎng)中是共同的。
當(dāng)在LAN網(wǎng)絡(luò)環(huán)境中使用時,PC 520被通過網(wǎng)絡(luò)接口或適配器553連到LAN 551。當(dāng)在WAN網(wǎng)絡(luò)環(huán)境中使用時,PC 520典型情況下包括調(diào)制解調(diào)器554,或其他的裝置,如電纜調(diào)制解調(diào)器,數(shù)字用戶線路(DSL)接口,或集成服務(wù)數(shù)字網(wǎng)絡(luò)(ISDN)接口,用于通過WAN 552,如因特網(wǎng)建立通信。調(diào)制解調(diào)器554,可以是內(nèi)部的或者是外部的,被連到系統(tǒng)總線523或通過I/O設(shè)備接口546,也就是通過串行口連到系統(tǒng)總線523。在網(wǎng)絡(luò)環(huán)境中,所描述的與PC 520,或其部分有關(guān)的程序模塊可被存儲在遠(yuǎn)距離存儲器存儲設(shè)備中,將認(rèn)識到所示的網(wǎng)絡(luò)連接是示范性的,在計算機之間建立通信鏈路的其他手段也可使用,如無線通信和寬帶網(wǎng)絡(luò)鏈路。
PC 520可以具有對私人密鑰的安全入口,被用于利用通常的私人/公用密鑰加密方案對游戲的頭段摘要加密。另一種方案是,一且頭段摘要已在PC 520上算得,數(shù)字?jǐn)?shù)據(jù),頭段,和頭段摘要可被移到一個安全地點,在其中頭段摘要將用私人密鑰進(jìn)行加密。然后,數(shù)字?jǐn)?shù)據(jù),頭段,和已加密的頭段摘要將被存儲在主機中用于在分發(fā)以前復(fù)制在其他的適當(dāng)?shù)慕橘|(zhì)上,如DVD或CD-ROM,或者將通過網(wǎng)絡(luò)(如因特網(wǎng))分發(fā)到控制臺或以上已被描述過的其他類型的計算設(shè)備。
雖然本發(fā)明已經(jīng)連同實現(xiàn)它的優(yōu)選形式和對它的若干修改進(jìn)行了描述,本領(lǐng)域的技術(shù)人員將理解,可以在隨后的權(quán)利要求的范圍內(nèi)完成許多其他的修改。因此,無論如何并不指望本發(fā)明的范圍受以上的描述所限,而是完全通過參考隨后的權(quán)利要求加以確定。
權(quán)利要求
1.一種用于對要被分發(fā)供在計算設(shè)備上使用的數(shù)字?jǐn)?shù)據(jù)加密的方法,包括以下步驟(a)處理數(shù)字?jǐn)?shù)據(jù)用以建立與數(shù)字?jǐn)?shù)據(jù)唯一對應(yīng)的數(shù)據(jù)摘要;(b)將該數(shù)據(jù)摘要包括在數(shù)字?jǐn)?shù)據(jù)的頭段中;(c)處理該頭段用以建立與該頭段唯一對應(yīng)的頭段摘要;(d)用私人密鑰將頭段摘要加密,所述的私人密鑰具有一個相應(yīng)的公共密鑰,它是當(dāng)數(shù)字?jǐn)?shù)據(jù)要在計算設(shè)備上使用時被提供的;和(e)分發(fā)帶有加密的頭段的數(shù)字?jǐn)?shù)據(jù)給末端用戶,供在該計算設(shè)備上使用。
2.如權(quán)利要求1的方法,其中建立數(shù)據(jù)摘要和頭段摘要的步驟每個包括采用一種散列算法分別產(chǎn)生數(shù)據(jù)摘要和頭段摘要的步驟。
3.如權(quán)利要求1的方法,其中(a)該數(shù)字?jǐn)?shù)據(jù)包括多個部分;(b)處理該數(shù)字?jǐn)?shù)據(jù)以建立數(shù)據(jù)摘要的步驟包括處理該多個部分中的每個部分,產(chǎn)生與該多個數(shù)字?jǐn)?shù)據(jù)部分唯一對應(yīng)的多個部分摘要的步驟;和(c)包含數(shù)據(jù)摘要的步驟包括將該多個部分摘要包含到頭段中的步驟。
4.如權(quán)利要求1的方法,還包括將用于控制數(shù)字?jǐn)?shù)據(jù)在計算設(shè)備上使用的信息包含在從此建立該頭段摘要的頭段內(nèi)。
5.如權(quán)利要求4的方法,其中該信息包含以下各項中的至少一項(a)數(shù)字?jǐn)?shù)據(jù)被授權(quán)使用的地理區(qū)域的指示;(b)數(shù)字?jǐn)?shù)據(jù)被授權(quán)裝載到計算設(shè)備中供使用所用的介質(zhì)類型的指示;(c)基于數(shù)字?jǐn)?shù)據(jù)至少一種特性的額定值;(d)在使用數(shù)字?jǐn)?shù)據(jù)以前必須處于適當(dāng)位置的控制臺系統(tǒng)設(shè)置;(e)當(dāng)某些系統(tǒng)部件被確定有故障時數(shù)字?jǐn)?shù)據(jù)是否可以信賴的容錯指示;和(f)數(shù)字?jǐn)?shù)據(jù)是否可被信賴的彈出控制指示,以便允許取下存儲數(shù)字?jǐn)?shù)據(jù)的便攜式介質(zhì)。
6.如權(quán)利要求1的方法,其中該分發(fā)步驟包括將帶有加密的頭段的數(shù)字?jǐn)?shù)據(jù)存儲在可由計算設(shè)備使用的介質(zhì)上以便運行數(shù)字?jǐn)?shù)據(jù)的步驟。
7.如權(quán)利要求1的方法,其中該分發(fā)步驟包括以下步驟中至少一項(a)將帶有加密的頭段的數(shù)字?jǐn)?shù)據(jù)存儲在可由計算設(shè)備使用的存儲介質(zhì)上;和(b)將帶有加密的頭段的數(shù)字?jǐn)?shù)據(jù)通過有線和無線通信網(wǎng)中至少一種發(fā)送,供計算設(shè)備使用。
8.如權(quán)利要求1的方法,其中該數(shù)字?jǐn)?shù)據(jù)包括游戲軟件;和計算設(shè)備運行游戲軟件,使末端用戶能夠玩游戲。
9.一種使數(shù)字?jǐn)?shù)據(jù)能夠在計算設(shè)備上使用的方法,以便保證數(shù)字?jǐn)?shù)據(jù)不被變更和強制執(zhí)行關(guān)于使用數(shù)字?jǐn)?shù)據(jù)的政策,所述的數(shù)字?jǐn)?shù)據(jù)隨同頭段和用于數(shù)字?jǐn)?shù)據(jù)的加密的頭段摘要被分發(fā),加密的頭段摘要是通過用私人密鑰對頭段摘要加密產(chǎn)生的,該方法包括以下步驟(a)使用該計算設(shè)備,用與私人密鑰對應(yīng)的公共密鑰將加密的頭段摘要解密,用以恢復(fù)頭段摘要;(b)建立隨數(shù)字?jǐn)?shù)據(jù)分發(fā)的頭段的確認(rèn)頭段摘要,所述的確認(rèn)頭段摘要是利用一種與在產(chǎn)生被加密的頭段摘要中采用的相同的方法產(chǎn)生的;(c)將確認(rèn)頭段摘要與通過解密恢復(fù)的頭段摘要相比較;和(d)如果確認(rèn)頭段摘要與被恢復(fù)的頭段摘要相同,只讓數(shù)字?jǐn)?shù)據(jù)能夠在計算設(shè)備上使用。
10.如權(quán)利要求9的方法,其中數(shù)字?jǐn)?shù)據(jù)包括至少一個部分,所述的頭段包括與數(shù)字?jǐn)?shù)據(jù)的一個部分唯一地對應(yīng)的部分摘要,這是在數(shù)字?jǐn)?shù)據(jù)分發(fā)以前產(chǎn)生的,該方法進(jìn)一步包括下列的步驟(a)利用計算設(shè)備,采用與以前用于產(chǎn)生包含在頭段中的相應(yīng)的部分摘要相同的步驟處理數(shù)字?jǐn)?shù)據(jù)的每個部分,產(chǎn)生每個部分的確認(rèn)部分摘要;(b)將一個部分的確認(rèn)部分摘要與在頭段中所包含的部分摘要相比較;和(c)如果所述的部分的確認(rèn)部分摘要與包含在頭段中所述的部分的部分摘要相同,則僅使數(shù)字?jǐn)?shù)據(jù)的一個部分在計算設(shè)備上運行。
11.如權(quán)利要求9的方法,其中如果比較的步驟導(dǎo)致使數(shù)字?jǐn)?shù)據(jù)能夠在計算設(shè)備上使用,進(jìn)一步包括確定是否隨數(shù)字?jǐn)?shù)據(jù)包含的涉及數(shù)字?jǐn)?shù)據(jù)使用的信息使數(shù)字?jǐn)?shù)據(jù)能夠在計算設(shè)備上使用,如果不是,阻止數(shù)字?jǐn)?shù)據(jù)在計算設(shè)備上使用。
12.如權(quán)利要求11的方法,其中該信息包括以下各項中至少一項(a)數(shù)字?jǐn)?shù)據(jù)被允許在計算設(shè)備上使用的地理區(qū)域;(b)數(shù)字?jǐn)?shù)據(jù)被允許裝載到計算設(shè)備上供使用的介質(zhì)類型;(c)基于數(shù)字?jǐn)?shù)據(jù)至少一個特性的額定值;(d)必須在數(shù)字?jǐn)?shù)據(jù)使用前處于適當(dāng)位置的控制臺系統(tǒng)設(shè)置;(e)當(dāng)某些系統(tǒng)部件被確定有故障時數(shù)字?jǐn)?shù)據(jù)是否可被信賴的容錯指示;和(f)數(shù)字?jǐn)?shù)據(jù)是否可被信賴以便允許取下存儲數(shù)字?jǐn)?shù)據(jù)的便攜式介質(zhì)的彈出控制指示。
13.如權(quán)利要求11的方法,其中該確定步驟包括將所述的信息與設(shè)置在計算設(shè)備上相應(yīng)的參數(shù)相比較的步驟,如果比較的結(jié)果確認(rèn)使用是被授權(quán)的,使數(shù)字?jǐn)?shù)據(jù)能夠被計算設(shè)備使用,如果未被授權(quán),阻止數(shù)字?jǐn)?shù)據(jù)被計算設(shè)備使用。
14.如權(quán)利要求13的方法,還包括使被授權(quán)的用戶能夠輸入和存儲對于規(guī)定授權(quán)用戶允許在計算設(shè)備上使用的數(shù)字?jǐn)?shù)據(jù)額定值的參數(shù)的步驟。
15.如權(quán)利要求13的方法,其中該參數(shù)在計算設(shè)備被提供給末端用戶以前設(shè)置。
16.一種提供用于實施權(quán)利要求9的步驟的機器指令的存儲介質(zhì)。
17.一種用于強制執(zhí)行對指望用在計算設(shè)備上的所分發(fā)的數(shù)字?jǐn)?shù)據(jù)的安全政策的方法,包括以下步驟(a)在分發(fā)以前通過以下各項對數(shù)字?jǐn)?shù)據(jù)加密(i)依據(jù)預(yù)先規(guī)定的步驟確定數(shù)字?jǐn)?shù)據(jù)的數(shù)據(jù)摘要,產(chǎn)生與數(shù)字 數(shù)據(jù)唯一相關(guān)形式的數(shù)據(jù)摘要;(ii)將數(shù)據(jù)摘要包含在數(shù)字?jǐn)?shù)據(jù)的頭段中;(iii)利用預(yù)先規(guī)定的步驟確定頭段的頭段摘要,所述的頭段摘要與頭段唯一地相關(guān);(iv)利用保密的私人密鑰對頭段摘要加密;(b)分發(fā)已加密的頭段摘要,頭段和數(shù)字?jǐn)?shù)據(jù);(c)在計算設(shè)備上使用數(shù)字?jǐn)?shù)據(jù)以前,通過以下各項確認(rèn)數(shù)字?jǐn)?shù)據(jù)的真實性(i)利用與私人密鑰對應(yīng)的公共密鑰將已加密的頭段摘要解密,用以恢復(fù)頭段摘要;(ii)利用預(yù)先規(guī)定的步驟確定確認(rèn)頭段摘要;(iii)將頭段的確認(rèn)頭段摘要與通過解密步驟恢復(fù)的頭段摘要作比較,確認(rèn)是否隨數(shù)字?jǐn)?shù)據(jù)分發(fā)的頭段被改變;如果未被改變,(iv)利用預(yù)先規(guī)定的步驟,確定與包含在頭段中的數(shù)據(jù)摘要對應(yīng)的數(shù)字?jǐn)?shù)據(jù)的確認(rèn)數(shù)據(jù)摘要;和(v)將確認(rèn)數(shù)據(jù)摘要與包含在頭段中的數(shù)據(jù)摘要作比較,確認(rèn)是否被分發(fā)的數(shù)字?jǐn)?shù)據(jù)在加密步驟以后已被改變;和(d)如果以下各項中任何一項發(fā)生,則阻止計算設(shè)備進(jìn)一步利用數(shù)字?jǐn)?shù)據(jù)(i)確認(rèn)頭段摘要并不與通過解密步驟恢復(fù)的頭段摘要一致;和(ii)確認(rèn)數(shù)據(jù)摘要并不與包含在頭段中的數(shù)據(jù)摘要一致。
18.如權(quán)利要求17的方法,其中在分發(fā)以前對數(shù)字?jǐn)?shù)據(jù)加密的步驟包括以下的步驟(a)將信息包含在頭段中,具體說明對于將在計算設(shè)備上被強制執(zhí)行的關(guān)于使用數(shù)字?jǐn)?shù)據(jù)的安全政策準(zhǔn)則;和(b)當(dāng)預(yù)先規(guī)定的步驟被施加到頭段用以確定頭段摘要時,將該信息包含為頭段的部分。
19.如權(quán)利要求18的方法,在能夠在計算設(shè)備上使用數(shù)字?jǐn)?shù)據(jù)以前,如果確認(rèn)頭段摘要與通過解密步驟恢復(fù)的頭段摘要一致,還包括以下步驟(a)確定是否頭段中的信息讓數(shù)字?jǐn)?shù)據(jù)能夠在計算設(shè)備上使用;如果是的,(b)允許在計算設(shè)備上進(jìn)一步使用數(shù)字?jǐn)?shù)據(jù),除非因為數(shù)字?jǐn)?shù)據(jù)的真實性未被確認(rèn)而被阻止使用;如果不是,(c)阻止在計算機器上任何進(jìn)一步的使用數(shù)字?jǐn)?shù)據(jù)。
20.如權(quán)利要求19的方法,其中確定是否在頭段中的信息允許在計算設(shè)備上使用數(shù)字?jǐn)?shù)據(jù)的步驟包括將包含在頭段內(nèi)信息中的安全政策準(zhǔn)則的指示與在計算設(shè)備上的準(zhǔn)則狀態(tài)作比較的步驟,用以確認(rèn)它們是一致的。
21.如權(quán)利要求20的方法,還包括使被授權(quán)的用戶能夠選擇在計算機器上的準(zhǔn)則狀態(tài)的步驟。
22.如權(quán)利要求20的方法,其中準(zhǔn)則被存儲在計算設(shè)備上的存儲器中,并且不能被計算設(shè)備的用戶訪問或更改。
23.如權(quán)利要求18的方法,其中該信息指明以下各項中至少一項(a)數(shù)字?jǐn)?shù)據(jù)被允許在計算設(shè)備上使用的地理區(qū)域;(b)數(shù)字?jǐn)?shù)據(jù)被允許裝載到計算設(shè)備中供使用的介質(zhì)類型;(c)基于數(shù)字?jǐn)?shù)據(jù)至少一個特性的額定值;(d)在使用數(shù)字?jǐn)?shù)據(jù)以前必須處于適當(dāng)位置的控制臺系統(tǒng)設(shè)置;(e)當(dāng)某些系統(tǒng)部件被確定有故障時,數(shù)字?jǐn)?shù)據(jù)是否可被信賴的容錯指示;和(f)數(shù)字?jǐn)?shù)據(jù)是否可被信賴以便允許取下存儲數(shù)字?jǐn)?shù)據(jù)的便攜式介質(zhì)的彈出控制指示。
24.如權(quán)利要求17的方法,其中預(yù)先規(guī)定的步驟包括一種散列算法。
25.如權(quán)利要求17的方法,其中數(shù)字?jǐn)?shù)據(jù)被劃分成多個部分;和確定數(shù)據(jù)摘要的步驟包括將預(yù)先規(guī)定的步驟施加到每個部分以產(chǎn)生每個部分的部分摘要的步驟,所有所述的部分摘要一起包括數(shù)據(jù)摘要。
26.如權(quán)利要求25的方法,其中確定數(shù)字?jǐn)?shù)據(jù)的確認(rèn)數(shù)據(jù)摘要的步驟包括將預(yù)先規(guī)定的步驟施加到每個部分以產(chǎn)生每個部分的確認(rèn)部分摘要,所有所述的確認(rèn)部分摘要一起包括確認(rèn)數(shù)據(jù)摘要。
27.如權(quán)利要求26的方法,其中將確認(rèn)數(shù)據(jù)摘要與包含在頭段中的數(shù)據(jù)摘要作比較的步驟包括在使用包含在其中的任何數(shù)字?jǐn)?shù)據(jù)以前,將每個確認(rèn)部分摘要與頭段中與它相對對應(yīng)的部分摘要作比較的步驟。
28.如權(quán)利要求27的方法,其中阻止計算設(shè)備進(jìn)一步使用數(shù)字?jǐn)?shù)據(jù)的步驟包括阻止計算設(shè)備使用包含在確認(rèn)部分摘要與頭段中相應(yīng)的部分摘要不一致的任何部分中的數(shù)字?jǐn)?shù)據(jù)的步驟。
29.一種提供機器指令用于實施權(quán)利要求17的步驟的存儲器介質(zhì)。
30.一種用于強制執(zhí)行關(guān)于使用所分發(fā)的數(shù)字?jǐn)?shù)據(jù)供在計算設(shè)備上使用的安全政策的方法,包括以下步驟(a)將指明對使用數(shù)字?jǐn)?shù)據(jù)和已加密的摘要的任何限制的信息包含到要分發(fā)的數(shù)字?jǐn)?shù)據(jù)中,所述的摘要是從包含該信息的數(shù)字?jǐn)?shù)據(jù)的一部分唯一地導(dǎo)出的;(b)使計算設(shè)備對已加密的摘要解密以恢復(fù)該摘要;(c)使用以前用于建立曾被加密的摘要的相同技術(shù),用計算設(shè)備建立確認(rèn)摘要;(d)將確認(rèn)摘要與被解密的摘要作比較;和(e)如果確認(rèn)摘要與被解密的摘要是一致的,利用該信息強制執(zhí)行關(guān)于在計算設(shè)備上使用數(shù)字?jǐn)?shù)據(jù)的安全政策,如果并不一致,阻止在計算設(shè)備上使用數(shù)字?jǐn)?shù)據(jù)。
31.如權(quán)利要求30的方法,其中信息指明以下各項中至少一項(a)數(shù)字?jǐn)?shù)據(jù)被允許在計算設(shè)備上使用的地理區(qū)域;(b)數(shù)字?jǐn)?shù)據(jù)被允許裝載到計算設(shè)備中供使用的介質(zhì)類型;(c)基于數(shù)字?jǐn)?shù)據(jù)至少一個特性的額定值;(d)在使用數(shù)字?jǐn)?shù)據(jù)以前必須處于適當(dāng)位置的控制臺系統(tǒng)設(shè)置;(e)當(dāng)某些系統(tǒng)部件被確定有故障時,數(shù)字?jǐn)?shù)據(jù)是否可被信賴的容錯指示;和(f)數(shù)字?jǐn)?shù)據(jù)是否可被信賴,以便允許取下存儲數(shù)字?jǐn)?shù)據(jù)的便攜式介質(zhì)的彈出控制指示。
32.如權(quán)利要求31的方法,其中涉及提供家長控制在計算設(shè)備上使用的數(shù)字?jǐn)?shù)據(jù)的安全政策的額定值還包括只讓被授權(quán)的用戶能夠在計算設(shè)備上設(shè)置特定的額定值限,所述的特定的額定值限被存儲在計算設(shè)備上并且不容易被任何非授權(quán)的用戶更改。
33.如權(quán)利要求32的方法,其中特定的額定值限對應(yīng)于與在信息中所指明的額定值作比較的年令等級額定值,如果年令等級額定值并未被由該信息所指明的額定值超過,則只有所述的數(shù)字?jǐn)?shù)據(jù)能夠在計算設(shè)備上使用。
34.如權(quán)利要求30的方法,其中計算設(shè)備包括游戲控制臺,數(shù)字?jǐn)?shù)據(jù)包括游戲軟件。如果被使能的話,就在計算設(shè)備被執(zhí)行,因而玩游戲者可以玩游戲軟件。
35.一種提供機器指令用以實施權(quán)利要求30的步驟的存儲器介質(zhì)。
36.一種用于對數(shù)字?jǐn)?shù)據(jù)加密,使得對數(shù)字?jǐn)?shù)據(jù)的安全政策被強制執(zhí)行,以便控制它在計算設(shè)備上的使用的系統(tǒng),包括(a)存儲機器指令的存儲器;和(b)被耦合到存儲器的處理器,所述的處理器執(zhí)行機器指令,使處理器實施多種功能,包括(i)處理數(shù)字?jǐn)?shù)據(jù)以便建立與數(shù)字?jǐn)?shù)據(jù)唯一地對應(yīng)的數(shù)據(jù)摘要;(ii)將數(shù)據(jù)摘要包含在數(shù)字?jǐn)?shù)據(jù)的頭段中;(iii)處理頭段以便建立與頭段唯一地對應(yīng)的頭段摘要;和(iv)用私人密鑰對頭段摘要加密,產(chǎn)生加密的頭段摘要,所述的私人密鑰具有相應(yīng)的公共密鑰,它是在數(shù)字?jǐn)?shù)據(jù)要在計算設(shè)備上使用時提供的,產(chǎn)生加密的包括頭段和加密的頭段摘要的數(shù)字?jǐn)?shù)據(jù),供分發(fā)和在計算設(shè)備上使用。
37.如權(quán)利要求36的系統(tǒng),其中機器指令使處理器實施一種散列算法,分別產(chǎn)生數(shù)據(jù)摘要和頭段摘要。
38.如權(quán)利要求36的系統(tǒng),其中(a)數(shù)字?jǐn)?shù)據(jù)包括多個部分;和(b)機器指令進(jìn)一步使處理器(i)處理多個部分中每一個,產(chǎn)生與數(shù)字?jǐn)?shù)據(jù)的多個部分唯一地對應(yīng)的多個部分摘要;和(ii)將多個部分摘要包含在頭段中。
39.如權(quán)利要求36的系統(tǒng),其中用于控制在計算設(shè)備上使用數(shù)字?jǐn)?shù)據(jù)的信息被包含在建立頭段摘要的頭段中。
40.如權(quán)利要求39的系統(tǒng),其中該信息包含以下各項中至少一項(a)數(shù)字?jǐn)?shù)據(jù)被授權(quán)使用的地理區(qū)域指示;(b)數(shù)字?jǐn)?shù)據(jù)被授權(quán)裝載到計算設(shè)備中供使用的介質(zhì)類型指示;(c)基于數(shù)字?jǐn)?shù)據(jù)的至少一個特性的額定值;(d)在使用數(shù)字?jǐn)?shù)據(jù)以前必須處于適當(dāng)位置的控制臺系統(tǒng)設(shè)置;(e)當(dāng)某些系統(tǒng)部件被確定有故障時,數(shù)字?jǐn)?shù)據(jù)是否可被信賴的容錯指示;和(f)數(shù)字?jǐn)?shù)據(jù)是否可被信賴以便允許取下存儲數(shù)字?jǐn)?shù)據(jù)的便攜式介質(zhì)的彈出控制指示。
41.如權(quán)利要求36的系統(tǒng),還包括一種耦合到處理器的可移動的非揮發(fā)性存儲介質(zhì),其中機器指令還使處理器將帶有已加密的頭段的數(shù)字?jǐn)?shù)據(jù)存儲在可移動的介質(zhì)上。
42.如權(quán)利要求36的系統(tǒng),其中機器指令使處理器通過有線和無線通信網(wǎng)中至少一種發(fā)送帶有已加密的頭段的數(shù)字?jǐn)?shù)據(jù)供計算設(shè)備使用。
43.一種用于認(rèn)證數(shù)字?jǐn)?shù)據(jù)的系統(tǒng),以便保證數(shù)字?jǐn)?shù)據(jù)未被變更,和強制執(zhí)行關(guān)于使用數(shù)字?jǐn)?shù)據(jù)的政策,所述的數(shù)字?jǐn)?shù)據(jù)是隨同頭段和通過利用私人密鑰對頭段摘要加密產(chǎn)生的數(shù)字?jǐn)?shù)據(jù)的已加密頭段摘要分發(fā)的,該系統(tǒng)包括(a)存儲機器指令的存儲器;和(b)被耦合到存儲器的處理器,所述的處理器執(zhí)行機器指令,使處理器實施多種功能,包括(i)用與私人密鑰對應(yīng)的公共密鑰將已加密的頭段摘要解密,恢復(fù)頭段摘要;(ii)建立隨數(shù)字?jǐn)?shù)據(jù)分發(fā)的頭段的確認(rèn)頭段摘要,所述的確認(rèn)頭段摘要是按照實施與產(chǎn)生被加密的頭段摘要中采用的相同的方法的機器指令產(chǎn)生的;(iii)將確認(rèn)頭段摘要與通過解密恢復(fù)的頭段摘要作比較;和(iv)如果確認(rèn)頭段摘要與被恢復(fù)的頭段摘要相同,只使數(shù)字?jǐn)?shù)據(jù)能夠在該系統(tǒng)上使用。
44.如權(quán)利要求43的系統(tǒng),其中該數(shù)字?jǐn)?shù)據(jù)包括至少一個部分,所述的頭段包含與在分發(fā)數(shù)字?jǐn)?shù)據(jù)以前產(chǎn)生的數(shù)字?jǐn)?shù)據(jù)中所述的至少一個部分唯一地對應(yīng)的部分摘要,所述的機器指令進(jìn)一步使處理器實施以下功能(a)利用與以前用于產(chǎn)生包含在頭段中的相應(yīng)的部分摘要相同的步驟處理數(shù)字?jǐn)?shù)據(jù)的每個部分,產(chǎn)生每個部分的確認(rèn)部分摘要;(b)將一個部分的確認(rèn)部分摘要與包含在頭段中的部分摘要作比較;和(c)如果所述部分的確認(rèn)部分摘要與包含在頭段中的所述的部分的部分摘要相同,只使數(shù)字?jǐn)?shù)據(jù)的一個部分能夠在該系統(tǒng)上運行。
45.權(quán)利要求43的系統(tǒng),其中如果根據(jù)所完成的比較結(jié)果,處理器使數(shù)字?jǐn)?shù)據(jù)能夠在該系統(tǒng)上使用,機器指令還使處理器確定是否包含在數(shù)字?jǐn)?shù)據(jù)內(nèi)涉及使用數(shù)字?jǐn)?shù)據(jù)的信息使數(shù)字?jǐn)?shù)據(jù)能夠在該系統(tǒng)上使用,如果不能夠,阻止數(shù)字?jǐn)?shù)據(jù)在該系統(tǒng)上使用。
46.如權(quán)利要求45的系統(tǒng),其中該信息包含以下各項中至少一項的指示(a)數(shù)字?jǐn)?shù)據(jù)被允許在系統(tǒng)上使用的地理區(qū)域;(b)數(shù)字?jǐn)?shù)據(jù)被允許裝載到存儲器中的介質(zhì)類型;(c)基于數(shù)字?jǐn)?shù)據(jù)的至少一個特性的額定值;(d)在使用數(shù)字?jǐn)?shù)據(jù)以前必須放置在適當(dāng)位置的控制臺系統(tǒng)設(shè)置;(e)當(dāng)某些系統(tǒng)部件被確定有故障時,數(shù)字?jǐn)?shù)據(jù)是否可被信賴的容錯指示;和(f)數(shù)字?jǐn)?shù)據(jù)是否可被信賴,以便允許取下存儲數(shù)字?jǐn)?shù)據(jù)的便攜式介質(zhì)的彈出控制指令。
47.如權(quán)利要求45的系統(tǒng),其中機器指令還使處理器將所述的信息與設(shè)置在系統(tǒng)的存儲器中相應(yīng)的參數(shù)作比較,如果比較的結(jié)果確認(rèn)使用被授權(quán),允許系統(tǒng)使用數(shù)字?jǐn)?shù)據(jù),如果未被授權(quán),阻止系統(tǒng)使用數(shù)字?jǐn)?shù)據(jù)。
48.如權(quán)利要求47的系統(tǒng),共中機器指令使被授權(quán)的用戶輸入和存儲用于規(guī)定授權(quán)用戶允許在系統(tǒng)上使用的數(shù)字?jǐn)?shù)據(jù)額定值的設(shè)置到存儲器中。
49.如權(quán)利要求47的系統(tǒng),其中在系統(tǒng)可供末端用戶使用以前設(shè)置參數(shù)。
50.一種用于強制執(zhí)行關(guān)于被分發(fā)供在系統(tǒng)上使用的數(shù)字?jǐn)?shù)據(jù)用法的安全政策的系統(tǒng),后述的數(shù)字?jǐn)?shù)據(jù)包含關(guān)于數(shù)字?jǐn)?shù)據(jù)在系統(tǒng)上使用的任何限制的信息,和加密的摘要,被加密的摘要提供從包含該信息的數(shù)字?jǐn)?shù)據(jù)的一部分唯一地導(dǎo)出的加密的摘要,該系統(tǒng)包括(a)存儲多種機器指令的存儲器;和(b)被耦合到存儲器的處理器,執(zhí)行機器指令,使處理器實施以下的功能(i)將已加密的摘要解密以恢復(fù)摘要;(ii)使用以前用于建立曾被加密的摘要的相同技術(shù)建立確認(rèn)摘要;(iii)將確認(rèn)摘要與被解密的摘要作比較;和(iv)如果確認(rèn)摘要與被解密的摘要是一致的,利用該信息強制按照安全政策在系統(tǒng)上使用數(shù)字?jǐn)?shù)據(jù),如果不一致,阻止在系統(tǒng)上使用數(shù)字?jǐn)?shù)據(jù)。
51.如權(quán)利要求50的系統(tǒng),其中該信息指明以下各項中至少一項(a)數(shù)字?jǐn)?shù)據(jù)被允許在計算設(shè)備上使用的地理區(qū)域;(b)數(shù)字?jǐn)?shù)據(jù)被允許裝載到計算設(shè)備中供使用的介質(zhì)類型;(c)基于數(shù)字?jǐn)?shù)據(jù)的至少一個特性的額定值;(d)在使用數(shù)字?jǐn)?shù)據(jù)以前必須放置到適當(dāng)位置的控制臺系統(tǒng)設(shè)置;(e)當(dāng)某些系統(tǒng)部件被確定有故障時,數(shù)字?jǐn)?shù)據(jù)是否可被信賴的容錯指示;和(f)數(shù)字?jǐn)?shù)據(jù)是否可被信賴以便允許取下存儲數(shù)字?jǐn)?shù)據(jù)的便攜式介質(zhì)的彈出控制指示。
52.如權(quán)利要求51的系統(tǒng),其中涉及提供家長控制在系統(tǒng)上使用的數(shù)字?jǐn)?shù)據(jù)的安全政策的額定值,還包括只讓被授權(quán)的用戶能夠在系統(tǒng)上設(shè)置特定的額定值限,所述的特定的額定值限被存儲在存儲器中,并且不容易被非授權(quán)的用戶變更。
53.如權(quán)利要求52的系統(tǒng),其中特定的額定值限對應(yīng)于與在信息中所指明的額定值作比較的一個年令等級的額定值,如果年令等級額定值并未被信息所指明的額定值超過,則只有所述的數(shù)字?jǐn)?shù)據(jù)能夠在系統(tǒng)上使用。
54.如權(quán)利要求50的系統(tǒng),其中系統(tǒng)包括一個游戲控制臺,并且數(shù)字?jǐn)?shù)據(jù)包括在計算設(shè)備上執(zhí)行的游戲軟件,如果被使能,則玩游戲者可以玩該游戲軟件。
全文摘要
在游戲控制臺上強制執(zhí)行對數(shù)字?jǐn)?shù)據(jù)的認(rèn)證,安全政策,和游戲軟件的使用方法。當(dāng)軟件在介質(zhì)上分發(fā)以前被加密時,一種私人密鑰被用于對頭段摘要加密,該摘要包括軟件每個部分的摘要和規(guī)定軟件的區(qū)域,額定值,和介質(zhì)類型的信息。應(yīng)用一種散列算法產(chǎn)生摘要。在游戲控制臺上,一種公共密鑰被用于對頭段摘要解密,用以比較頭段的散列。計算數(shù)字?jǐn)?shù)據(jù)每個部分的摘要并與頭段中相應(yīng)的摘要作比較用以認(rèn)證數(shù)據(jù)??刂婆_將不執(zhí)行此軟件,除非頭段信息中的參數(shù)與存儲在控制臺中的參數(shù)一致和算得的每個部分的摘要與介質(zhì)上頭段中的摘要一致。
文檔編號G06F21/24GK1445693SQ03120648
公開日2003年10月1日 申請日期2003年3月18日 優(yōu)先權(quán)日2002年3月19日
發(fā)明者J·M·R·懷藤, T·C·夏普, Y·B·阿斯米, J·E·蘭格, C·M·皮里希, J·G·托馬森 申請人:微軟公司