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

優(yōu)化的完整性驗(yàn)證過程的制作方法

文檔序號(hào):6454821閱讀:159來源:國知局
專利名稱:優(yōu)化的完整性驗(yàn)證過程的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及優(yōu)化的完整性驗(yàn)證過程。
背景技術(shù)
如今,對(duì)于很多企業(yè)而言,保護(hù)通過網(wǎng)絡(luò)在計(jì)算機(jī)之間傳輸?shù)臄?shù)
字內(nèi)容非常重要。企業(yè)試圖通過實(shí)施某些形式的數(shù)字權(quán)益管理(DRM) 過程來進(jìn)行這種保護(hù)。DRM過程經(jīng)常涉及對(duì)內(nèi)容進(jìn)行加密(例如將內(nèi) 容的二進(jìn)制形式進(jìn)行加密),從而將使用限制到已被授權(quán)使用該內(nèi)容 的那些人。
密碼術(shù)是保護(hù)數(shù)字內(nèi)容——諸如正在網(wǎng)絡(luò)上傳送的數(shù)據(jù)——的 傳統(tǒng)方法。在其典型應(yīng)用中,密碼術(shù)保護(hù)在兩個(gè)相互信任方之間的數(shù) 字內(nèi)容,使其不會(huì)由于對(duì)傳送中的數(shù)據(jù)的攻擊而被竊取。但是,對(duì)于 現(xiàn)在的許多數(shù)字文件傳輸應(yīng)用(例如對(duì)于音頻或視頻內(nèi)容的傳輸), 情況已經(jīng)不同,因?yàn)榻邮諆?nèi)容的一方(即"接收方")可能試圖克服由 提供內(nèi)容的一方(即"發(fā)布方")應(yīng)用于該內(nèi)容的DRM加密。此外, 隨著網(wǎng)絡(luò)滲透攻擊的擴(kuò)散,第三方可能獲得對(duì)接收方計(jì)算機(jī)的訪問, 并從而訪問被保護(hù)的內(nèi)容。
除了加密和解密之外,數(shù)字內(nèi)容可能需要其他層次的保護(hù)。鑒別 是另 一種重要的保護(hù)層次。在接收數(shù)字內(nèi)容時(shí),接收者經(jīng)常需要"鑒別" 數(shù)字內(nèi)容的來源。換而言之,接收者需要通過確保內(nèi)容來自經(jīng)鑒別的 來源并且在其到達(dá)接收者的途中沒有被篡改,來驗(yàn)證數(shù)字內(nèi)容的完整 性。
至今,已經(jīng)提出了幾種用于鑒別數(shù)字內(nèi)容的完整性的過程。這些 過程通常將散列函數(shù)應(yīng)用于內(nèi)容的明文版本,以便生成散列摘要(也 被稱為散列或摘要),然后散列摘要被用于為內(nèi)容生成簽名。所有散列函數(shù)的基本性質(zhì)是,如果兩個(gè)散列不同,則這兩個(gè)輸入在某些方面 不同。當(dāng)對(duì)于不同的輸入,兩個(gè)散列相同,則稱為散列沖突。密碼系 統(tǒng)中重要的是,散列函數(shù)具有非常低的沖突概率。
傳統(tǒng)的完整性驗(yàn)證過程是計(jì)算密集型的,特別是對(duì)于具有有限計(jì) 算資源的便攜式設(shè)備而言。因此,在這個(gè)領(lǐng)域中需要較低計(jì)算密集度 的完整性驗(yàn)證過程。理想地,這樣的過程將使便攜式設(shè)備能夠快速驗(yàn) 證所接收到的數(shù)字內(nèi)容的完整性。

發(fā)明內(nèi)容
本發(fā)明的某些實(shí)施例提供用于驗(yàn)證完整性數(shù)字內(nèi)容的方法。在數(shù) 字內(nèi)容的來源處,所述方法通過將散列函數(shù)應(yīng)用于數(shù)字內(nèi)容的特定部 分來為數(shù)字內(nèi)容生成簽名,其中所述特定部分比整個(gè)數(shù)字內(nèi)容少。所 述方法向設(shè)備提供簽名和數(shù)字內(nèi)容。在設(shè)備處,所述方法將散列函數(shù) 應(yīng)用于數(shù)字內(nèi)容的特定部分,以驗(yàn)證所提供的簽名的完整性,并由此 驗(yàn)證所提供的數(shù)字內(nèi)容的完整性。
數(shù)字內(nèi)容的特定部分包括數(shù)字內(nèi)容的多個(gè)不同段。在某些實(shí)施例 中,所述方法配置來源和設(shè)備,以選擇數(shù)字內(nèi)容的預(yù)定的一組段作為 數(shù)字內(nèi)容的特定部分。在某些實(shí)施例中,設(shè)備包括只讀存儲(chǔ)器,其(l)
存儲(chǔ)用于標(biāo)識(shí)特定部分的代碼,并且(2)存儲(chǔ)散列函數(shù)。
在某些實(shí)施例中,所述方法通過(1)將散列函數(shù)應(yīng)用于所述特 定部分以生成散列摘要,以及然后(2)根據(jù)散列摘要生成簽名,從而 在來源處為數(shù)字內(nèi)容生成簽名。所述方法可以在非對(duì)稱或?qū)ΨQ完整性 驗(yàn)證過程中被實(shí)現(xiàn)。例如,在某些實(shí)施例中,所述方法在設(shè)備處通過 以下步驟來應(yīng)用散列函數(shù)(1)將散列函數(shù)應(yīng)用于所述特定部分以生 成散列摘要,以及(2)向簽名驗(yàn)證過程提供摘要和所接收到的簽名, 其中簽名驗(yàn)證過程基于所提供的摘要來確定簽名的可靠性。可替換地, 在某些實(shí)施例中,所述方法在設(shè)備處通過以下步驟來應(yīng)用散列函數(shù) (1)基于散列摘要生成第二簽名,以及(2)比較第一和第二簽名, 以確定所提供的數(shù)字內(nèi)容的完整性。在不同實(shí)施例中,數(shù)字內(nèi)容的來源可以是不同的。例如,來源可 以是內(nèi)容的作者、發(fā)布者等等。在不同實(shí)施例中,接收數(shù)字內(nèi)容的設(shè) 備也可以是不同的。這樣的設(shè)備的多個(gè)例子包括便攜式音頻/視頻播放
器(例如iPod)、膝上型電腦、移動(dòng)電話等等。在不同實(shí)施例中,數(shù) 字內(nèi)容也可以是不同的。例如,數(shù)字內(nèi)容可以是對(duì)設(shè)備操作系統(tǒng)的固 件更新、用于在設(shè)備上運(yùn)行的第三方應(yīng)用、用于在設(shè)備上播放的音頻/ 視頻文件等等。


本發(fā)明的新特征將在所附的權(quán)利要求書中闡述。但是,出于解釋
的目的,下列圖中說明了幾個(gè)實(shí)施例。
圖l說明本發(fā)明某些實(shí)施例的一個(gè)完整性驗(yàn)證系統(tǒng)。
圖2說明本發(fā)明某些實(shí)施例的另一個(gè)完整性驗(yàn)證系統(tǒng)。
圖3說明一個(gè)DRM系統(tǒng),其實(shí)現(xiàn)本發(fā)明某些實(shí)施例的完整性驗(yàn)
證系統(tǒng)。
圖4說明由本發(fā)明某些實(shí)施例中的一個(gè)或多個(gè)DRM服務(wù)器執(zhí)行 的完整性驗(yàn)證過程。
圖5說明由本發(fā)明某些實(shí)施例的便攜式多媒體設(shè)備執(zhí)行的完整性 驗(yàn)證過程。
圖6給出一個(gè)計(jì)算機(jī)系統(tǒng)圖,其概念性地說明實(shí)現(xiàn)本發(fā)明某些實(shí) 施例的典型DRM服務(wù)器、用戶計(jì)算機(jī)、或便攜式設(shè)備的組件。
具體實(shí)施例方式
在下面的描述中,出于解釋目的,給出大量細(xì)節(jié)。但是,本領(lǐng)域 技術(shù)人員將認(rèn)識(shí)到,本發(fā)明可以無需利用這些特定細(xì)節(jié)而被實(shí)現(xiàn)。在 其他例子中,為了避免由于不必要的細(xì)節(jié)而^f吏本發(fā)明的描述模糊,以 框圖形式示出公知的結(jié)構(gòu)和設(shè)備。
I. 概述
本發(fā)明的某些實(shí)施例提供了用于驗(yàn)證完整性數(shù)字內(nèi)容的方法。在數(shù)字內(nèi)容的來源處,所述方法通過將散列函數(shù)應(yīng)用于數(shù)字內(nèi)容的特定 部分來為數(shù)字內(nèi)容生成簽名,其中所述特定部分少于整個(gè)數(shù)字內(nèi)容。 所述方法向設(shè)備提供簽名和數(shù)字內(nèi)容。在設(shè)備處,所述方法將散列函 數(shù)應(yīng)用于數(shù)字內(nèi)容的特定部分,以驗(yàn)證所提供的簽名的完整性,并由 此驗(yàn)證所提供的數(shù)字內(nèi)容的完整性。
數(shù)字內(nèi)容的特定部分包括數(shù)字內(nèi)容的多個(gè)不同段。在某些實(shí)施例
中,所迷方法配置來源和設(shè)備,以選擇數(shù)字內(nèi)容的預(yù)定的一組段,作 為數(shù)字內(nèi)容的特定部分。在某些實(shí)施例中,設(shè)備包括只讀存儲(chǔ)器,其
(1)存儲(chǔ)用于標(biāo)識(shí)特定部分的代碼,并且(2 )存儲(chǔ)散列函數(shù)。
在某些實(shí)施例中,所述方法通過(1)將散列函數(shù)應(yīng)用于特定部 分以生成散列摘要,以及然后(2)根據(jù)散列摘要生成簽名,從而在來 源處為數(shù)字內(nèi)容生成簽名。所述方法可以在非對(duì)稱或?qū)ΨQ完整性驗(yàn)證 過程中被實(shí)現(xiàn)。例如,在某些實(shí)施例中,所迷方法在設(shè)備處通過以下 步驟來應(yīng)用散列函數(shù)(l)將散列函數(shù)應(yīng)用于特定部分以生成散列摘 要,以及(2)向簽名驗(yàn)證過程提供摘要和所接收到的簽名,其中簽名 驗(yàn)證過程基于所提供的摘要來確定簽名的可靠性。可替換地,在某些 實(shí)施例中,所述方法在設(shè)備處通過以下步驟來應(yīng)用散列函數(shù)(l)基 于散列摘要生成第二簽名,以及(2)比較第一和第二簽名,以確定所 提供的數(shù)字內(nèi)容的完整性。
在不同實(shí)施例中,數(shù)字內(nèi)容的來源可以是不同的。例如,來源可 以是內(nèi)容的作者、發(fā)布者等等。在不同實(shí)施例中,接收數(shù)字內(nèi)容的設(shè) 備也可以是不同的。這樣的設(shè)備的幾個(gè)例子包括便攜式音頻/視頻播放 器(例如iPod)、膝上型電腦、移動(dòng)電話等等。在不同實(shí)施例中,數(shù) 字內(nèi)容也可以是不同的。例如,數(shù)字內(nèi)容可以是對(duì)設(shè)備操作系統(tǒng)的固 件更新、用于在設(shè)備上運(yùn)行的第三方應(yīng)用、用于在設(shè)備上播放的音頻/ 視頻文件等等。
II.某些實(shí)施例的完整性驗(yàn)證系統(tǒng)
圖1概念性地說明本發(fā)明某個(gè)實(shí)施例的完整性驗(yàn)證系統(tǒng)100的細(xì) 節(jié)表示。如圖所示,該系統(tǒng)包括內(nèi)容源設(shè)備110和內(nèi)容接收設(shè)備115。
15如圖1中所示,內(nèi)容源設(shè)備110向內(nèi)容接收設(shè)備115提供至少一個(gè)數(shù) 字內(nèi)容105。內(nèi)容源是涉及內(nèi)容創(chuàng)建、銷售或發(fā)布的任何一方。這樣 的一方的例子包括內(nèi)容的作者、銷售者、發(fā)布者等。內(nèi)容源設(shè)備110 可以是一組一個(gè)或多個(gè)固定或便攜式設(shè)備、計(jì)算機(jī)、服務(wù)器等。
如圖1所示,內(nèi)容源設(shè)備110執(zhí)行散列過程120和簽名生成過程 130。散列過程120僅將散列函數(shù)應(yīng)用于數(shù)字內(nèi)容105的一部分。該部 分是比特的特定模式(pattern) 125,其中比特在圖1中被概念性地 表示為數(shù)字內(nèi)容105的涂黑的部分。
在某些實(shí)施例中,該比特模式(例如由內(nèi)容源設(shè)備110、由指示 設(shè)備IIO的DRM服務(wù)器等等)以保證足夠的數(shù)字內(nèi)容被散列以實(shí)現(xiàn)3 個(gè)目標(biāo)的方式被指定。第一,比特模式應(yīng)該被指定為使得對(duì)數(shù)字內(nèi)容 的任何墓改將需要墓改被散列的段之一,這會(huì)使墓改顯而易見,因?yàn)?篡改會(huì)改變最終的簽名。第二,比特模式應(yīng)該被指定為使得由過程120 所散列的兩個(gè)不同數(shù)字內(nèi)容不沖突(即,不生成相同的散列)。第三, 由于內(nèi)容接收設(shè)備115將為其散列過程使用相同的比特模式,所以比 特模式應(yīng)該使用實(shí)現(xiàn)前兩個(gè)目標(biāo)的最小數(shù)量的比特,使得散列過程將 最低程度地使用內(nèi)容接收設(shè)備115的計(jì)算資源。
散列過程120在某些實(shí)施例中被配置成偽隨機(jī)地選擇比特模式 125,或者在其他實(shí)施例中被配置成系統(tǒng)性地選擇比特模式125 (例如 基于字節(jié)的有序模式)。例如,在某些實(shí)施例中,數(shù)字內(nèi)容可以是程
序(諸如內(nèi)容接收設(shè)備115的操作系統(tǒng)、在內(nèi)容接收設(shè)備115上運(yùn)行 的第三方應(yīng)用等等)的目標(biāo)代碼。
在某些這樣的實(shí)施例中,代碼包括一組操作碼(即指令代碼)、 以及用于每個(gè)操作碼的0或更多的操作數(shù)(即0或更多的數(shù)據(jù))。相 應(yīng)地,這些實(shí)施例中的某些實(shí)施例將散列函數(shù)應(yīng)用于同樣多的操作碼 和操作數(shù),以使對(duì)篡改的檢測(cè)最大化,使散列的沖突最小化,并使對(duì)
計(jì)算資源的使用最少。
例如,在某些實(shí)施例中,內(nèi)容接收設(shè)備使用ARM微處理器。在 這樣的微處理器中,(包括操作碼和其相關(guān)聯(lián)的操作數(shù)的)目標(biāo)代碼的每一行被稱為一個(gè)微處理器操作單元(MOU),其具有4字節(jié)的統(tǒng) 計(jì)長度。因而,某些實(shí)施例使用4字節(jié)寬度來標(biāo)識(shí)代碼每行之間的邊 界,然后利用該知識(shí)來在每個(gè)MOU之間選擇一個(gè)或多個(gè)字節(jié)。在不 同實(shí)施例中,MOU之中對(duì)字節(jié)的選擇可具有不同的實(shí)施方式。某些 實(shí)施例包括需要被散列的比特模式中的操作碼和操作數(shù)的偽隨機(jī)混 合。其他實(shí)施例可僅僅包括正在被散列和簽名的代碼中的操作碼(例 如大部分或全部操作碼)。另一些實(shí)施例可選擇每行指令中的確定字 節(jié)(例如總是第一個(gè)字節(jié))。某些實(shí)施例使用保密函數(shù)(secret function),其為每個(gè)MOU生成MOU長度的整數(shù)模數(shù),然后選擇 MOU中對(duì)應(yīng)于該模數(shù)的一個(gè)或多個(gè)段。其他實(shí)施例可使用其他微處 理器,諸如由Motorola公司、Intel公司、AMD公司、IBM公司等所 提供的微處理器。
在不同的實(shí)施例中,散列過程120將不同的散列函數(shù)應(yīng)用于數(shù)字 內(nèi)容的特定部分。在不同實(shí)施例中所使用的散列函數(shù)的例子包括 MD5、 SHA-l等。散列函數(shù)可以在存在密鑰或不存在密鑰的情況下被 使用(即散列函數(shù)可以是帶密鑰的散列函數(shù)(keyed hashing function ))。
如上所述,散列函數(shù)是通常接受內(nèi)容的某種形式(例如明文形式) 并將其變換成被稱為摘要或散列的加擾輸出的變換。摘要通常具有用 作原始內(nèi)容的獨(dú)特"數(shù)字指紋"的大小固定的一組比特。如果原始消息 被改變并被再次散列,則很大概率上會(huì)產(chǎn)生不同的摘要。因此,可利 用散列函數(shù)來檢測(cè)更改的或偽造的文檔。散列函數(shù)提供消息完整性, 從而向內(nèi)容接收者保證內(nèi)容未被更改或破壞。
如圖1所示,簽名生成器130接收散列過程120的散列函數(shù)所產(chǎn) 生的摘要。簽名生成器130根據(jù)所接收的摘要145為內(nèi)容105產(chǎn)生簽 名147。為了生成這樣的簽名,生成器130可利用諸如SHA-1、 MD5 MAC之類的眾多已知技術(shù)中的任何一種。
如圖1所示,在系統(tǒng)100中,數(shù)字內(nèi)容105和所生成的簽名147 被提供給內(nèi)容接收設(shè)備115。不同的實(shí)施例以不同方式將該數(shù)據(jù)提供給接收設(shè)備115。例如,某些實(shí)施例通過通信網(wǎng)絡(luò),諸如局域網(wǎng)、廣 域網(wǎng)或多個(gè)網(wǎng)絡(luò)之一 (例如互聯(lián)網(wǎng)),來發(fā)布該數(shù)據(jù)。而且,通過網(wǎng) 絡(luò),內(nèi)容接收設(shè)備115可直接從內(nèi)容的創(chuàng)建者、銷售者或發(fā)布者接收 該數(shù)據(jù),或者可以間接地通過一個(gè)或多個(gè)中間服務(wù)器,諸如一個(gè)或多 個(gè)DRM服務(wù)器、內(nèi)容援存服務(wù)器等接收該數(shù)據(jù)。
內(nèi)容接收者是涉及內(nèi)容的使用或內(nèi)容的分布的任何一方。這樣的 一方的例子包括內(nèi)容的用戶、發(fā)布者等。內(nèi)容接收設(shè)備115可以是固 定的或便攜式的設(shè)備、計(jì)算機(jī)、服務(wù)器、音頻/視頻播放器、通信設(shè)備 (例如電話、尋呼機(jī)、文本消息器等)、管理器(organizer)等等。
在系統(tǒng)100中,內(nèi)容源設(shè)備110和內(nèi)容接收設(shè)備115利用非對(duì)稱 完整性驗(yàn)證過程。因此,內(nèi)容接收設(shè)備115執(zhí)行兩個(gè)過程散列過程 135和簽名驗(yàn)證過程140。
散列過程135將與內(nèi)容源設(shè)備110的散列過程120相同的散列函 數(shù)應(yīng)用于數(shù)字內(nèi)容105的與內(nèi)容源設(shè)備110的散列過程120相同的段。 特別地,在某些實(shí)施例中,接收設(shè)備115的散列過程135被配置成選 擇數(shù)字內(nèi)容105中的與內(nèi)容源設(shè)備110的散列過程120相同的比特模 式。圖1通過示出散列過程120和135使用數(shù)字內(nèi)容105中相同的涂 黑的比特模式125,來對(duì)此加以概念性說明。散列過程135對(duì)相同比 特模式125的選擇可通過導(dǎo)致選擇與散列過程120相同的比特模式的 偽隨機(jī)或系統(tǒng)性方式來進(jìn)行。
將散列過程135的散列函數(shù)應(yīng)用于內(nèi)容105就產(chǎn)生摘要149。當(dāng) 過程120和135所接收的數(shù)字內(nèi)容相同時(shí),該摘要應(yīng)當(dāng)與由散列過程 120的散列函數(shù)所產(chǎn)生的摘要145相同,因?yàn)檫@兩個(gè)過程選擇數(shù)字內(nèi) 容中相同一組段。
如圖1所示,簽名驗(yàn)證器140接收散列過程135的散列函數(shù)所產(chǎn) 生的摘要149。簽名驗(yàn)證器140還接收由內(nèi)容源設(shè)備110的簽名生成 器130所產(chǎn)生的簽名147。驗(yàn)證器140然后通過確保簽名147適合于 摘要149而確定所接收的簽名147是否是所接收的數(shù)字內(nèi)容105的正 確簽名。為了確保簽名147適合于摘要149,驗(yàn)證器140可使用諸如
18SHA-1或MD5之類的眾多已知^t術(shù)中的任一項(xiàng)。
基于摘要149和簽名147的比較,簽名驗(yàn)證器140然后輸出完整 性檢查值151。該值指示所接收的簽名147對(duì)于所接收的數(shù)字內(nèi)容105 是否是適當(dāng)?shù)暮灻?。例如,在某些?shí)施例中,完整性檢查值是布爾值, 其中當(dāng)數(shù)字內(nèi)容完整性得到驗(yàn)證時(shí)(即當(dāng)所接收的簽名與所接收的數(shù) 字內(nèi)容匹配時(shí))該值為真,當(dāng)數(shù)字內(nèi)容的完整性未被驗(yàn)證時(shí)該值為假。 在其他實(shí)施例中,完整性檢查值是任何其他類型的二態(tài)值(two-state value),其中一個(gè)態(tài)表示數(shù)字內(nèi)容完整性得到驗(yàn)證,另一個(gè)態(tài)表示數(shù) 字內(nèi)容完整性未得到驗(yàn)證。完整性檢查將指定,當(dāng)數(shù)字內(nèi)容的一個(gè)或 多個(gè)部分在簽名147被生成之后被墓改并且這些部分包括被用于生成 散列摘要145和149的一個(gè)或多個(gè)內(nèi)容段時(shí),內(nèi)容完整性未得到驗(yàn)證。
其他實(shí)施例可在不同的完整性驗(yàn)證系統(tǒng)中被實(shí)施。例如,圖2說 明了對(duì)稱完整性驗(yàn)證系統(tǒng)200中本發(fā)明的一種實(shí)現(xiàn)。系統(tǒng)200類似于 系統(tǒng)100,區(qū)別在于其內(nèi)容接收設(shè)備115不包括非對(duì)稱簽名驗(yàn)證器140, 而是包括簽名生成器240和對(duì)稱簽名驗(yàn)證器250。
類似于內(nèi)容源設(shè)備110的簽名生成器130,簽名生成器240根據(jù) 其所接收的散列摘要149生成簽名253。所生成的簽名253然后與所 接收的簽名147 —起被提供給簽名驗(yàn)證器250。驗(yàn)證器250然后比較 這兩個(gè)簽名,以指定其完整性檢查值151。當(dāng)這兩個(gè)簽名147和253 匹配時(shí),完整性檢查值151表示所接收的數(shù)字內(nèi)容未被篡改。當(dāng)這兩 個(gè)簽名不匹配時(shí),完整性檢查值表示內(nèi)容已經(jīng)被篡改(即,所接收的 簽名147不對(duì)應(yīng)于所接收的數(shù)字內(nèi)容)。
為了概念性地說明在不同實(shí)施例中或?qū)τ诓煌瑑?nèi)容,數(shù)字內(nèi)容的 不同部分可被散列,圖2示出與圖1中所示模式不同的內(nèi)容105中的 涂黑的比特模式225。圖2中涂黑的段具有不同的長度,以便概念性 說明在本發(fā)明某些實(shí)施例中可被散列的不同大小的段。
III. 實(shí)施某些實(shí)施例的完整性驗(yàn)證系統(tǒng)的DRM系統(tǒng)
某些實(shí)施例的完整性驗(yàn)證系統(tǒng)在DRM系統(tǒng)中被實(shí)現(xiàn),其中DRM 系統(tǒng)以確保內(nèi)容合法使用的方式來發(fā)布內(nèi)容。如圖3所示,DRM系統(tǒng)300包括一組DRM服務(wù)器310,其發(fā)布內(nèi)容給一組N個(gè)用戶計(jì)算機(jī) 315。這組服務(wù)器310通過諸如局域網(wǎng)、廣域網(wǎng)、多個(gè)網(wǎng)絡(luò)之一(例如 因特網(wǎng))這樣的計(jì)算機(jī)網(wǎng)絡(luò)320連接到用戶計(jì)算機(jī)315。每個(gè)用戶計(jì) 算機(jī)315連接到一組一個(gè)或多個(gè)便攜式多媒體設(shè)備330。
在某些實(shí)施例中,通過網(wǎng)絡(luò)連接,用戶計(jì)算機(jī)315與這一組DRM 服務(wù)器310通信,以購買、許可、更新或以其他方式獲得內(nèi)容。因而, 雖然在某些實(shí)施例中,DRM服務(wù)器組310向用戶計(jì)算機(jī)銷售或許可內(nèi) 容,但是在其他實(shí)施例中,這個(gè)組不銷售或許可內(nèi)容。例如,在某些 實(shí)施例中,DRM服務(wù)器組310僅僅向被授權(quán)的計(jì)算機(jī)發(fā)布內(nèi)容,而不 具有任何金融目的。
在某些實(shí)施例中,DRM服務(wù)器組310包括內(nèi)容緩存服務(wù)器,其 中在另一 DRM服務(wù)器310確定計(jì)算機(jī)310可以獲得內(nèi)容之后,該內(nèi) 容緩存服務(wù)器通過網(wǎng)絡(luò)320向用戶計(jì)算機(jī)310提供加密后的內(nèi)容。在 某些實(shí)施例中,系統(tǒng)300使用多個(gè)緩存服務(wù)器,以在網(wǎng)絡(luò)上的不同位 置處緩存內(nèi)容,以便提高網(wǎng)絡(luò)上下載內(nèi)容的速度和效率。
如上所述,用戶計(jì)算才幾315通過網(wǎng)絡(luò)320與DRMI良務(wù)器組310 通信,以購買、許可、更新或以其他方式獲得內(nèi)容。在某些實(shí)施例中, DRM服務(wù)器組310為其發(fā)布給用戶計(jì)算機(jī)315的內(nèi)容提供簽名,其中 根據(jù)本發(fā)明的某些實(shí)施例,通過僅散列內(nèi)容的一部分來生成該簽名。
特定地,圖3說明了用戶計(jì)算機(jī)315a向DRM服務(wù)器組310發(fā)送 對(duì)內(nèi)容"A,,的請(qǐng)求。該請(qǐng)求可以是對(duì)購買、許可或以其他方式獲得內(nèi) 容的請(qǐng)求??商鎿Q地,當(dāng)內(nèi)容是在用戶計(jì)算機(jī)上或在其相關(guān)聯(lián)的多媒 體設(shè)備330之一上運(yùn)行的應(yīng)用或操作系統(tǒng)時(shí),所述請(qǐng)求可以是對(duì)應(yīng)用 或操作系統(tǒng)的更新的請(qǐng)求。該請(qǐng)求可以是在用戶計(jì)算機(jī)315上執(zhí)行的 更新檢查過程中的顯式請(qǐng)求(explicit request)或隱式請(qǐng)求(implicit request),其中更新檢查過程在具有或不具有用戶干預(yù)的情況下檢查 應(yīng)用或操作系統(tǒng)的更新。
如圖3所示,DRM服務(wù)器組310接收來自用戶計(jì)算機(jī)315a的對(duì) 內(nèi)容A的請(qǐng)求。然后, 一個(gè)或多個(gè)DRM計(jì)算機(jī)執(zhí)行圖4中示出的過程400,以為所請(qǐng)求的內(nèi)容A生成簽名。如圖4所示,過程400首先 (在405)通過將散列函數(shù)僅應(yīng)用于所請(qǐng)求內(nèi)容A的一部分而生成摘 要。已經(jīng)在上述段落I和II中說明了將散列函數(shù)僅應(yīng)用于內(nèi)容的一部 分。如上所述并且在下面將進(jìn)一步描述的那樣,過程400將散列函數(shù) 應(yīng)用于內(nèi)容A的與用戶計(jì)算機(jī)315a及其相關(guān)聯(lián)的多媒體設(shè)備330a的 散列函數(shù)所應(yīng)用于的部分相同的部分。
在405處應(yīng)用散列函數(shù)之后,過程410基于在405處所產(chǎn)生的散 列摘要(在410)生成簽名。已經(jīng)在上述段落I和II中描述了基于散 列摘要生成簽名。在410處生成簽名之后,過程向用戶計(jì)算機(jī)315a提 供所請(qǐng)求的內(nèi)容A及其相關(guān)聯(lián)的簽名,然后結(jié)束。
在某些實(shí)施例中,用戶計(jì)算機(jī)315a使用所提供的簽名來驗(yàn)證所 接收內(nèi)容A的完整性。為此,通過將散列函數(shù)應(yīng)用于內(nèi)容A的與DRM 服務(wù)器組310的散列函數(shù)所應(yīng)用于的部分相同的部分,用戶計(jì)算機(jī) 315a將為內(nèi)容A生成散列摘要。然后,用戶計(jì)算機(jī)315a通過使用非 對(duì)稱簽名驗(yàn)證方法(諸如圖1所示的方法)或?qū)ΨQ簽名驗(yàn)證方法(諸 如圖2所述的方法),來利用該散列摘要驗(yàn)證簽名的完整性。
在某些實(shí)施例中,用戶計(jì)算機(jī)315a的多媒體設(shè)備330a在其與計(jì) 算機(jī)315a同步時(shí)也接收內(nèi)容A和該內(nèi)容的簽名A。因此,當(dāng)內(nèi)容A 是要用于多媒體設(shè)備330a的內(nèi)容時(shí),某些實(shí)施例中的用戶計(jì)算機(jī)315a (例如在數(shù)據(jù)存儲(chǔ)器中)記錄對(duì)于在設(shè)備330a下一次與計(jì)算機(jī)315a 進(jìn)行同步時(shí)將內(nèi)容A及其簽名下載到設(shè)備330a的需求。
類似于用戶計(jì)算機(jī)315a,多媒體設(shè)備330a通過將散列函數(shù)應(yīng)用 于內(nèi)容A的與DRM服務(wù)器組310的散列函數(shù)所應(yīng)用于的部分相同的 部分,來為內(nèi)容A生成散列摘要。然后,多媒體設(shè)備330a通過使用 非對(duì)稱簽名驗(yàn)證方法(諸如圖1所示的方法)或?qū)ΨQ簽名驗(yàn)證方法(諸 如圖2所示的方法),利用該散列摘要來驗(yàn)證內(nèi)容的完整性。
圖5說明在某些實(shí)施例中多媒體設(shè)備330a執(zhí)行的完整性驗(yàn)證過 程500的更詳細(xì)的例子。在將可執(zhí)行內(nèi)容(即,用于操作系統(tǒng)更新、 用于對(duì)現(xiàn)有應(yīng)用的更新和用于新應(yīng)用等的代碼)加載到多媒體設(shè)備330a上的同步操作期間執(zhí)行該過程。如圖所示,過程500首先(在505 ) 在同步操作期間接收可執(zhí)行內(nèi)容和該內(nèi)容的簽名,其中同步操作確保 設(shè)備具有用戶計(jì)算機(jī)指示其應(yīng)當(dāng)具有的全部?jī)?nèi)容。
在同步之后,過程(在510)重新啟動(dòng)設(shè)備,因?yàn)樵谀承?shí)施例 中,完整性驗(yàn)證過程是啟動(dòng)引導(dǎo)序列的一部分。特定地,在某些實(shí)施 例中,啟動(dòng)引導(dǎo)序列為每條新接收的代碼執(zhí)行完整性驗(yàn)證過程,即使 在圖5所示的例子中,假定在505處僅有一個(gè)內(nèi)容被加載到設(shè)備上。 在某些實(shí)施例中,啟動(dòng)序列(包括完整性驗(yàn)證過程)被存儲(chǔ)在設(shè)備315a 的非易失性只讀存儲(chǔ)器中。這確保在設(shè)備售出之后,完整性驗(yàn)證過程 不能被篡改。
因此,在啟動(dòng)引導(dǎo)序列期間,過程500 (在515處)通過將散列 函數(shù)應(yīng)用于內(nèi)容的與DRM服務(wù)器組310的散列函數(shù)所應(yīng)用于的部分 相同的部分,來為所接收的內(nèi)容生成散列摘要。然后,過程500 (在 520處)使用該散列摘要來驗(yàn)證簽名的完整性。例如,過程500可使 用非對(duì)稱簽名驗(yàn)證方法(諸如圖1所示的方法)或?qū)ΨQ簽名驗(yàn)證方法 (諸如圖2所述的方法)。
當(dāng)所述過程(在520處)不能驗(yàn)證新接收的代碼的完整性時(shí)(即 當(dāng)新接收的簽名不對(duì)應(yīng)于設(shè)備為新接收的內(nèi)容所生成的摘要時(shí)),該 過程結(jié)束,而不指定內(nèi)容可被加載到可執(zhí)行存儲(chǔ)器中??商鎿Q地,當(dāng) 該過程(在520處)驗(yàn)證新接收的代碼的完整性時(shí),該過程(在525 處)指定代碼是可執(zhí)行的。在某些實(shí)施例中,該過程(在525處)將 代碼加載到可執(zhí)行存儲(chǔ)器中并執(zhí)行該代碼。
圖3的DRM系統(tǒng)300具有不止一個(gè)用戶計(jì)算機(jī),其根據(jù)本發(fā)明 的某些實(shí)施例的完整性驗(yàn)證過程接收數(shù)字內(nèi)容和這樣的內(nèi)容的簽名。 特定地,圖3示出向DRM服務(wù)器組310請(qǐng)求內(nèi)容(即內(nèi)容B)的用 戶計(jì)算才幾315n。如圖所示,用戶計(jì)算機(jī)315n從DRM服務(wù)器組310 接收所請(qǐng)求的內(nèi)容B和該內(nèi)容的簽名。根據(jù)本發(fā)明,通過只散列內(nèi)容 B的一部分而產(chǎn)生內(nèi)容B的簽名。然后,用戶計(jì)算機(jī)315n及其相關(guān)聯(lián) 的 一組便攜式設(shè)備330以與上面針對(duì)用戶計(jì)算機(jī)315a及其相關(guān)聯(lián)的設(shè)備"0a所述的幾乎相同的方式,通過散列內(nèi)容B的與DRM服務(wù)器組 相同的部分來驗(yàn)證內(nèi)容B的完整性。 IV.系統(tǒng)圖
圖6給出一個(gè)計(jì)算機(jī)系統(tǒng)圖,其概念性地說明實(shí)現(xiàn)本發(fā)明某些實(shí) 施例的典型DRM服務(wù)器、用戶計(jì)算機(jī)、或便攜式設(shè)備的組件。計(jì)算 機(jī)系統(tǒng)600包括總線605、處理器610、系統(tǒng)存儲(chǔ)器615、只讀存儲(chǔ)器 620、永久性存儲(chǔ)設(shè)備625、輸入設(shè)備630和輸出"i殳備3035。
總線605共同地代表支持計(jì)算機(jī)系統(tǒng)600的內(nèi)部設(shè)備之間通信的 所有系統(tǒng)總線、外圍設(shè)備總線和芯片組總線。例如,總線605將處理 器610與只讀存儲(chǔ)器620、系統(tǒng)存儲(chǔ)器615以及永久性存儲(chǔ)設(shè)備625 通信地連接。
處理器610從這些各種存儲(chǔ)單元中檢索要執(zhí)行的指令和要處理的 數(shù)據(jù),以便執(zhí)行本發(fā)明的過程。只讀存儲(chǔ)器(ROM) 620存儲(chǔ)計(jì)算機(jī) 系統(tǒng)的處理器610和其他模塊所需要的靜態(tài)數(shù)據(jù)和指令。對(duì)于實(shí)施本 發(fā)明的便攜式設(shè)備,只讀存儲(chǔ)器存儲(chǔ)某些實(shí)施例的啟動(dòng)引導(dǎo)序列和散 列過程,如上所述。
另一方面,永久性存儲(chǔ)設(shè)備625是讀寫存儲(chǔ)器設(shè)備。該設(shè)備是非 易失性存儲(chǔ)器單元,其即使在計(jì)算機(jī)系統(tǒng)600被關(guān)閉的情況下也存儲(chǔ) 指令和數(shù)據(jù)。本發(fā)明的某些實(shí)施例使用大容量存儲(chǔ)設(shè)備(諸如磁盤或 光盤及其對(duì)應(yīng)的盤驅(qū)動(dòng)器)作為永久性存儲(chǔ)設(shè)備625。其他實(shí)施例使 用可移動(dòng)存儲(chǔ)設(shè)備(諸如存儲(chǔ)卡或記憶棒)作為永久性存儲(chǔ)設(shè)備。
類似于永久性存儲(chǔ)設(shè)備625,系統(tǒng)存儲(chǔ)器615是讀寫存儲(chǔ)器設(shè)備。 但是,與存儲(chǔ)設(shè)備625不同,系統(tǒng)存儲(chǔ)器是易失性讀寫存儲(chǔ)器,諸如 隨機(jī)存取存儲(chǔ)器。系統(tǒng)存儲(chǔ)器存儲(chǔ)處理器在運(yùn)行時(shí)所需的指令和數(shù)據(jù) 中的一些。在某些實(shí)施例中,本發(fā)明的過程被存儲(chǔ)在系統(tǒng)存儲(chǔ)器615、 永久性存儲(chǔ)設(shè)備625和/或只讀存儲(chǔ)器620中。
總線605還連接到輸入和輸出設(shè)備630和635。輸入設(shè)備使用戶 能夠向計(jì)算機(jī)系統(tǒng)發(fā)送信息和選擇命令。輸入設(shè)備630包括字母數(shù)字 鍵盤和光標(biāo)控制器。輸出設(shè)備635顯示由計(jì)算機(jī)系統(tǒng)所生成的圖像。
23輸出設(shè)備包括打印機(jī)和顯示設(shè)備,諸如陰極射線管(CRT)或液晶顯 示器(LCD)。
最后,如圖6所示,計(jì)算機(jī)600的某些配置還包括連接到總線605 的網(wǎng)絡(luò)適配器640。通過網(wǎng)絡(luò)適配器640,計(jì)算機(jī)可以是計(jì)算機(jī)網(wǎng)絡(luò)(諸 如局域網(wǎng)(LAN)、廣域網(wǎng)(WAN)、或內(nèi)聯(lián)網(wǎng))或多個(gè)網(wǎng)絡(luò)之一 (諸 如因特網(wǎng))的一部分。計(jì)算機(jī)系統(tǒng)600的任何或所有組件可結(jié)合本發(fā) 明被使用。但是,本領(lǐng)域技術(shù)人員將理解,任何其他系統(tǒng)配置也可結(jié) 合本發(fā)明被使用。
V.優(yōu)點(diǎn)
本領(lǐng)域技術(shù)人員將理解,上述完整性驗(yàn)證過程具有多個(gè)優(yōu)點(diǎn)。例 如,當(dāng)將新的可執(zhí)行代碼加載到設(shè)備上時(shí),驗(yàn)證代碼的完整性是很重 要的,因?yàn)檫@樣的代碼提供了攻擊設(shè)備的時(shí)機(jī)。上述完整性過程提供 了一種容易的途徑來甚至在具有有限計(jì)算資源的便攜式設(shè)備上檢查代 碼完整性。
而且,某些實(shí)施例在設(shè)備的啟動(dòng)引導(dǎo)序列期間引入完整性驗(yàn)證過 程,以便使篡改完整性過程的可能性最小化。為了進(jìn)一步減小這種可 能性,某些實(shí)施例將完整性過程存儲(chǔ)在設(shè)備的只讀存儲(chǔ)器上。
雖然已經(jīng)參考大量特定細(xì)節(jié)描述了本發(fā)明,但是本領(lǐng)域技術(shù)人員 將認(rèn)識(shí)到,本發(fā)明可以其他特定形式被實(shí)施,而不背離本發(fā)明的精神。 例如,如上面所提到的,某些實(shí)施例可使用帶密鑰的散列函數(shù)。如果 使用密鑰,則可使用對(duì)稱(單保密密鑰)和非對(duì)稱密鑰(公鑰/私鑰對(duì))。 帶密鑰的散列函數(shù)的一個(gè)例子是鍵控MD5技術(shù)(keyed MD5 technique)?;旧?,發(fā)送者將隨機(jī)生成的密鑰附加到消息的末端, 然后使用MD5散列來對(duì)消息和密鑰組合進(jìn)行散列處理,以創(chuàng)建消息 摘要。然后,密鑰被從消息中去除,并以發(fā)送者的私鑰被加密。消息、 消息摘要和加密后的密鑰被發(fā)送給接收者,其中接收者利用發(fā)送者的 公鑰打開密鑰(從而確認(rèn)消息實(shí)際上是來自該發(fā)送者)。然后,接收 者將密鑰附加到消息,并運(yùn)行與發(fā)送者相同的散列。消息摘要應(yīng)當(dāng)與 隨消息一起發(fā)送的消息摘要匹配。而且,上述的多個(gè)實(shí)施例選擇內(nèi)容的目標(biāo)代碼格式中的比特模
式。當(dāng)內(nèi)容是其他格式(例如,是源代碼或XML格式)時(shí),其他實(shí) 施例可選擇段的其他模式。因而,本領(lǐng)域技術(shù)人員將理解,本發(fā)明不 由前述示意性細(xì)節(jié)所限制,而是由所附的權(quán)利要求書來限定。
權(quán)利要求
1. 一種方法,包括a)僅根據(jù)特定內(nèi)容的一部分為所述特定內(nèi)容生成數(shù)字簽名;以及b)提供所述數(shù)字簽名。
2. 根據(jù)權(quán)利要求1所述的方法,其中生成數(shù)字簽名的步驟包括 僅對(duì)所述特定內(nèi)容的所述一部分使用散列函數(shù),以生成散列; 根據(jù)所述散列生成所述數(shù)字簽名。
3. 根據(jù)權(quán)利要求2所述的方法,進(jìn)一步包括選擇所述特定內(nèi) 容的特定部分。
4. 根據(jù)權(quán)利要求3所述的方法,其中選擇特定部分的步驟包括 選擇使對(duì)所述特定內(nèi)容的篡改的檢測(cè)最大的部分。
5. 根據(jù)權(quán)利要求3所述的方法,其中選擇特定部分的步驟包括 選擇使散列的沖突最小的部分。
6. 根據(jù)權(quán)利要求3所述的方法,其中選擇特定部分的步驟包括 選擇使計(jì)算資源最小的部分。
7. 根據(jù)權(quán)利要求1所述的方法,進(jìn)一步包括基于所述特定內(nèi) 容中的有序比特模式來選擇所述特定內(nèi)容的特定部分。
8. 根據(jù)權(quán)利要求1所述的方法,進(jìn)一步包括基于偽隨機(jī)操作 來選擇所述特定內(nèi)容的特定部分。
9. 根據(jù)權(quán)利要求1所述的方法,其中所述特定內(nèi)容包括視頻信息。
10. 根據(jù)權(quán)利要求1所述的方法,其中所述特定內(nèi)容包括音頻信息。
11. 根據(jù)權(quán)利要求l所述的方法,其中所述特定內(nèi)容包括用于 特定設(shè)備的固件的更新。
12. 根據(jù)權(quán)利要求1所述的方法,其中所述特定內(nèi)容是用于在 特定設(shè)備上操作的應(yīng)用程序。
13. 根據(jù)權(quán)利要求1所述的方法,其中所述設(shè)備是便攜式播放器。
14. 根據(jù)權(quán)利要求l所述的方法,其中所述特定內(nèi)容包括目標(biāo)代碼。
15. 根據(jù)權(quán)利要求14所述的方法,其中所述目標(biāo)代碼包括一 組操作碼和相關(guān)聯(lián)的一組操作數(shù),其中特定部分僅包括操作碼。
16. 根據(jù)權(quán)利要求14所述的方法,其中所述目標(biāo)代碼包括一 組操作碼和相關(guān)聯(lián)的一組操作數(shù),其中特定部分包括操作碼和操作數(shù)。
17. 根據(jù)權(quán)利要求1所述的方法,進(jìn)一步包括提供所述特定內(nèi)容。
18. —種計(jì)算機(jī)可讀介質(zhì),用于存儲(chǔ)可由至少一個(gè)處理器執(zhí)行 的計(jì)算機(jī)程序,所述計(jì)算機(jī)程序包括a) 用于生成數(shù)字簽名的指令集,用于僅根據(jù)特定內(nèi)容的一部分 為所述特定內(nèi)容生成數(shù)字簽名;以及b) 用于提供所述數(shù)字簽名的指令集。
19. 根據(jù)權(quán)利要求18所述的計(jì)算機(jī)可讀介質(zhì),其中所述用于 生成數(shù)字簽名的指令集包括 用于僅對(duì)所述特定內(nèi)容的所述一部分使用散列函數(shù)以生成散列的指令集;用于根據(jù)所述散列生成所述數(shù)字簽名的指令集。
20. 根據(jù)權(quán)利要求18所述的計(jì)算機(jī)可讀介質(zhì),其中所述計(jì)算 機(jī)程序進(jìn)一步包括用于基于所述特定內(nèi)容中的有序比特模式來選擇 所述特定內(nèi)容的特定部分的指令集。
21. 根據(jù)權(quán)利要求18所述的計(jì)算機(jī)可讀介質(zhì),其中所述計(jì)算 機(jī)程序進(jìn)一步包括用于基于偽隨機(jī)操作來選擇所述特定內(nèi)容的特定 部分的指令集。
22. 根據(jù)權(quán)利要求18所述的計(jì)算機(jī)可讀介質(zhì),其中所述特定 內(nèi)容包括目標(biāo)代碼。
23. 根據(jù)權(quán)利要求22所述的計(jì)算機(jī)可讀介質(zhì),其中所述目標(biāo)代碼包括一組操作碼和相關(guān)聯(lián)的 一組操作數(shù),其中特定部分僅包括操 作碼。
24. 根據(jù)權(quán)利要求22所述的計(jì)算機(jī)可讀介質(zhì),其中所述目標(biāo)代碼包括一組操作碼和相關(guān)聯(lián)的一組操作數(shù),其中特定部分包括操作 碼和操作數(shù)。
25. 根據(jù)權(quán)利要求18所述的計(jì)算機(jī)可讀介質(zhì),其中所述計(jì)算 機(jī)程序進(jìn)一步包括用于提供所述特定內(nèi)容的指令集。
26. —種方法,包括a) 接收特定內(nèi)容;以及b) 通過使用數(shù)字簽名,驗(yàn)證所述特定內(nèi)容的可靠性,其中所述 數(shù)字簽名是僅根據(jù)所述特定內(nèi)容的一部分而導(dǎo)出的。
27. 根據(jù)權(quán)利要求26所述的方法,其中所述數(shù)字簽名是從散 列所導(dǎo)出的,其中所述散列是通過僅對(duì)所述特定內(nèi)容的所述一部分使 用散列函數(shù)而生成的。
28. 根據(jù)權(quán)利要求26所述的方法,其中驗(yàn)證特定內(nèi)容的可靠 性的步驟包括使用非對(duì)稱完整性過程。
29. 根據(jù)權(quán)利要求28所述的方法,其中使用非對(duì)稱完整性過 程的步驟包括a) 僅為所接收的特定內(nèi)容的所述一部分計(jì)算特定散列;以及b) 確定所述特定散列對(duì)于所接收的數(shù)字簽名是否適當(dāng)。
30. 根據(jù)權(quán)利要求29所述的方法,進(jìn)一步包括生成完整性 檢查值,以指示所述特定散列對(duì)于所接收的數(shù)字簽名是否適當(dāng)。
31. 根據(jù)權(quán)利要求29所述的方法,其中當(dāng)確定所述特定散列 對(duì)于所接收的數(shù)字簽名適當(dāng)時(shí),所述特定內(nèi)容被驗(yàn)證為可靠的。
32. 根據(jù)權(quán)利要求26所述的方法,其中驗(yàn)證特定內(nèi)容的可靠 性的步驟包括使用對(duì)稱完整性過程。
33. 根據(jù)權(quán)利要求32所述的方法,其中使用對(duì)稱完整性過程 的步驟包括a)僅為所接收的特定內(nèi)容的所述一部分生成特定散列;b) 基于所述特定散列生成另一個(gè)數(shù)字簽名;以及c) 確定所接收的數(shù)字簽名是否與所述另 一個(gè)數(shù)字簽名匹配。
34. 根據(jù)權(quán)利要求33所迷的方法,其中當(dāng)確定這兩個(gè)數(shù)字簽 名匹配時(shí),所述特定內(nèi)容被驗(yàn)證為可靠的。
35. 根據(jù)權(quán)利要求26所述的方法,進(jìn)一步包括基于所述特 定內(nèi)容中的有序比特模式來選擇所述特定內(nèi)容的特定部分。
36. 根據(jù)權(quán)利要求26所述的方法,進(jìn)一步包括基于偽隨機(jī) 操作來選擇所述特定內(nèi)容的特定部分。
37. 根據(jù)權(quán)利要求26所述的方法,其中所述特定內(nèi)容包括視 頻信息。
38. 根據(jù)權(quán)利要求26所述的方法,其中所述特定內(nèi)容包括音 頻信息。
39. 根據(jù)權(quán)利要求26所述的方法,其中所述特定內(nèi)容包括用 于特定設(shè)備的固件的更新。
40. 根據(jù)權(quán)利要求26所述的方法,其中所述特定內(nèi)容是用于 在特定設(shè)備上操作的應(yīng)用程序。
41. 根據(jù)權(quán)利要求26所述的方法,其中所述設(shè)備是便攜式播 放器。
42. 根據(jù)權(quán)利要求26所述的方法,其中所述特定內(nèi)容包括目 標(biāo)代碼,其中所述目標(biāo)代碼包括一組操作碼和相關(guān)聯(lián)的一組操作數(shù),其中特定部分僅包括操作碼。
43. 根據(jù)權(quán)利要求26所迷的方法,其中所述特定內(nèi)容包括目 標(biāo)代碼,其中所述目標(biāo)代碼包括一組操作碼和相關(guān)聯(lián)的一組操作數(shù), 其中特定部分包括操作碼和操作數(shù)。
44. 根據(jù)權(quán)利要求26所述的方法,進(jìn)一步包括執(zhí)行與設(shè)備 的同步操作,以接收所述特定內(nèi)容和數(shù)字簽名。
45. 根據(jù)權(quán)利要求44所述的方法,其中所述設(shè)備是第一設(shè)備, 所述接收、驗(yàn)證和執(zhí)行是由第二設(shè)備執(zhí)行的。
46. 根據(jù)權(quán)利要求45所述的方法,其中在所述第二設(shè)備的引導(dǎo)序列期間執(zhí)行所述驗(yàn)證。
47. 根據(jù)權(quán)利要求26所述的方法,其中所迷驗(yàn)證至少部分地 是由存儲(chǔ)在設(shè)備的只讀存儲(chǔ)器中的指令集來執(zhí)行的。
48. —種計(jì)算機(jī)可讀介質(zhì),包括可由至少一個(gè)處理器執(zhí)行的計(jì) 算機(jī)程序,所述計(jì)算機(jī)程序包括a) 用于接收特定內(nèi)容的指令集;以及b) 用于驗(yàn)證所述特定內(nèi)容的可靠性的指令集,用于通過使用數(shù) 字簽名來驗(yàn)證所述特定內(nèi)容的可靠性,其中所述數(shù)字簽名是僅根據(jù)所 述特定內(nèi)容的 一部分導(dǎo)出的。
49. 根據(jù)權(quán)利要求48所述的計(jì)算機(jī)可讀介質(zhì),其中所述數(shù)字 簽名是從散列導(dǎo)出的,其中所述散列是通過僅對(duì)所述特定內(nèi)容的所述 一部分使用散列函數(shù)而生成的。
50. 根據(jù)權(quán)利要求48所述的計(jì)算機(jī)可讀介質(zhì),其中所述用于 驗(yàn)證所述特定內(nèi)容的可靠性的指令集包括用于使用非對(duì)稱完整性過程 的指令集。
51. 根據(jù)權(quán)利要求50所述的計(jì)算機(jī)可讀介質(zhì),其中所述用于 使用非對(duì)稱完整性過程的指令集包括a) 用于僅為所接收的特定內(nèi)容的所述一部分計(jì)算特定散列的指 令集;以及b) 用于確定所述特定散列對(duì)于所接收的數(shù)字簽名是否適當(dāng)?shù)闹?令集。
52. 根據(jù)權(quán)利要求51所述的計(jì)算機(jī)可讀介質(zhì),其中當(dāng)確定所 述特定散列對(duì)于所接收的數(shù)字簽名適當(dāng)時(shí),所述特定內(nèi)容被驗(yàn)證為可 靠的。
53. 根據(jù)權(quán)利要求48所述的計(jì)算機(jī)可讀介質(zhì),其中所述用于 驗(yàn)證所述特定內(nèi)容的可靠性的指令集包括用于使用對(duì)稱完整性過程的指令集。
54. 根據(jù)權(quán)利要求53所述的計(jì)算機(jī)可讀介質(zhì),其中所述用于 使用對(duì)稱完整性過程的指令集包括a) 用于僅為所接收的特定內(nèi)容的所述一部分生成特定散列的指令集;b) 用于基于所迷特定散列生成另一個(gè)數(shù)字簽名的指令集;以及c) 用于確定所接收的數(shù)字簽名是否與所述另 一個(gè)數(shù)字簽名匹配 的指令集。
55. 根據(jù)權(quán)利要求54所述的計(jì)算機(jī)可讀介質(zhì),其中當(dāng)確定這 兩個(gè)數(shù)字簽名匹配時(shí),所述特定內(nèi)容被驗(yàn)證為可靠的。
56. 根據(jù)權(quán)利要求48所述的計(jì)算機(jī)可讀介質(zhì),其中所述特定 內(nèi)容包括目標(biāo)代碼,所述目標(biāo)代碼包括一組操作碼和相關(guān)聯(lián)的一組操 作數(shù),特定部分僅包括操作碼。
57. 根據(jù)權(quán)利要求48所述的計(jì)算機(jī)可讀介質(zhì),其中所述特定 內(nèi)容包括目標(biāo)代碼,所述目標(biāo)代碼包括一組操作碼和相關(guān)聯(lián)的一組操 作數(shù),特定部分包括操作碼和操作數(shù)。
58. 根據(jù)權(quán)利要求48所述的方法,進(jìn)一步包括用于執(zhí)行與設(shè) 備的同步操作,以接收所述特定內(nèi)容和數(shù)字簽名的指令集,其中所述 設(shè)備是第一設(shè)備,所述用于接收、驗(yàn)證和執(zhí)行的指令集由第二設(shè)備執(zhí) 行。
59. 根據(jù)權(quán)利要求58所述的計(jì)算機(jī)可讀介質(zhì),其中所述用于 驗(yàn)證的指令集在所述第二設(shè)備的引導(dǎo)序列期間被執(zhí)行。
60. 根據(jù)權(quán)利要求48所述的計(jì)算機(jī)可讀介質(zhì),其中所述用于 驗(yàn)證的指令集至少部分地是由存儲(chǔ)在設(shè)備的只讀存儲(chǔ)器中的指令集來 執(zhí)行的。
61. —種用于訪問內(nèi)容的設(shè)備,所述設(shè)備包括a) 用于存儲(chǔ)特定內(nèi)容的存儲(chǔ)器;以及b) 用于利用數(shù)字簽名來鑒別所述內(nèi)容的電子組件,其中所述數(shù) 字簽名僅根據(jù)所述特定內(nèi)容的一部分而被導(dǎo)出。
62. 根據(jù)權(quán)利要求61所述的設(shè)備,其中所述電子組件進(jìn)一步 用于僅根據(jù)所述特定內(nèi)容的所述一部分生成所述數(shù)字簽名。
63. 根據(jù)權(quán)利要求62所述的設(shè)備,其中所述電子組件通過首先僅根據(jù)所述特定內(nèi)容的所述一部分生成散列,然后根據(jù)所生成的散 列生成數(shù)字簽名,來生成所述數(shù)字簽名。
64. 根據(jù)權(quán)利要求62所述的設(shè)備,其中所述電子組件通過將 所生成的數(shù)字簽名與所述設(shè)備所接收的數(shù)字簽名相比較,來利用所述 數(shù)字簽名。
65. 根據(jù)權(quán)利要求61所述的設(shè)備,其中所述數(shù)字簽名是所述 設(shè)備所接收的簽名。
66. 根據(jù)權(quán)利要求61所述的設(shè)備,其中所述設(shè)備是計(jì)算機(jī)。
67. 根據(jù)權(quán)利要求61所述的設(shè)備,其中所述設(shè)備是便攜式播 放器。
68. 根據(jù)權(quán)利要求61所述的設(shè)備,進(jìn)一步包括用于存儲(chǔ)指令 集的讀存儲(chǔ)器,其中所述指令集用于利用所述數(shù)字簽名來鑒別所述內(nèi) 容。
69. 根據(jù)權(quán)利要求68所述的設(shè)備,其中所述指令集包括用于 僅根據(jù)所述特定內(nèi)容的所述一部分生成數(shù)字簽名的指令。
70. —種用于發(fā)布內(nèi)容的系統(tǒng),所述系統(tǒng)包括a) 用于提供特定內(nèi)容的計(jì)算機(jī)組;以及b) 用于利用數(shù)字簽名來鑒別所述特定內(nèi)容的設(shè)備,其中所述數(shù) 字簽名僅根據(jù)所述特定內(nèi)容的一部分而被導(dǎo)出。
71. 根據(jù)權(quán)利要求70所述的系統(tǒng),其中所述計(jì)算機(jī)組進(jìn)一步用于a) 僅對(duì)所述特定內(nèi)容的所述一部分使用散列函數(shù),以生成散列;以及b) 根據(jù)所述散列生成所述數(shù)字簽名。
72. 根據(jù)權(quán)利要求71所述的系統(tǒng),其中所述計(jì)算機(jī)組通過選 擇所述特定內(nèi)容的使對(duì)所述特定內(nèi)容的篡改的檢測(cè)最大的特定部分, 來生成所述散列。
73. 根據(jù)權(quán)利要求71所述的系統(tǒng),其中所述計(jì)算機(jī)組通過選 擇所述特定內(nèi)容的使散列沖突最小的特定部分,來生成所述散列。
74. 根據(jù)權(quán)利要求71所述的系統(tǒng),其中所述計(jì)算機(jī)組通過選 擇所述特定內(nèi)容的使計(jì)算資源最小的特定部分,來生成所述散列。
75. 根據(jù)權(quán)利要求70所述的系統(tǒng),其中所述設(shè)備包括用于存 儲(chǔ)指令集的只讀存儲(chǔ)器,所述指令集用于鑒別所述特定內(nèi)容。
76. 根據(jù)權(quán)利要求70所述的系統(tǒng),其中所述計(jì)算機(jī)組包括一 臺(tái)計(jì)算機(jī)。
77. 根據(jù)權(quán)利要求70所述的系統(tǒng),其中所述計(jì)算機(jī)組包括多 于一臺(tái)的計(jì)算機(jī)。
78. 根據(jù)權(quán)利要求70所述的系統(tǒng),其中所述設(shè)備通過使用非 對(duì)稱完整性過程,來利用所述數(shù)字簽名鑒別所述特定內(nèi)容。
79. 根據(jù)權(quán)利要求70所述的系統(tǒng),其中所述設(shè)備通過使用對(duì) 稱完整性過程,來利用所迷數(shù)字簽名鑒別所述特定內(nèi)容。
80. 根據(jù)權(quán)利要求70所述的系統(tǒng),其中所述數(shù)字簽名是由所 述計(jì)算機(jī)組所提供的簽名。
81. 根據(jù)權(quán)利要求80所述的系統(tǒng),其中所述設(shè)備通過確定由 所述設(shè)備所計(jì)算的散列對(duì)于所提供的數(shù)字簽名是否適當(dāng),來利用所述 數(shù)字簽名。
82. 根據(jù)權(quán)利要求70所述的系統(tǒng),其中所述數(shù)字簽名是由所 述設(shè)備生成的。
83. 根據(jù)權(quán)利要求82所述的系統(tǒng),其中所述設(shè)備通過將由所 述設(shè)備所生成的數(shù)字簽名與由所述計(jì)算機(jī)組所提供的另 一個(gè)數(shù)字簽名 相比較,來利用所述數(shù)字簽名。
84. —種方法,包括a) 通過將散列函數(shù)應(yīng)用于數(shù)字內(nèi)容的特定部分來為所述數(shù)字內(nèi) 容生成簽名,其中所述特定部分不包括所述數(shù)字內(nèi)容的全部;b) 向設(shè)備提供所述簽名和所述數(shù)字內(nèi)容;以及c) 在所述設(shè)備處,將所述散列函數(shù)應(yīng)用于所述數(shù)字內(nèi)容的所述 特定部分,以驗(yàn)證與所述數(shù)字內(nèi)容一起被提供的所述簽名,并由此驗(yàn) 證所提供的數(shù)字內(nèi)容的完整性。
85. 根據(jù)權(quán)利要求84所述的方法,進(jìn)一步包括a) 在所述數(shù)字內(nèi)容的來源處,選擇所述數(shù)字內(nèi)容的多個(gè)不同段 作為所述數(shù)字內(nèi)容的所述特定部分;以及b) 在所述設(shè)備處,選擇所述數(shù)字內(nèi)容的同樣的多個(gè)不同段作為 所述數(shù)字內(nèi)容的所述特定部分。
86. 根據(jù)權(quán)利要求85所述的方法,其中所述來源是所述數(shù)字 內(nèi)容的作者。
87. 根據(jù)權(quán)利要求85所迷的方法,其中所迷來源是數(shù)字權(quán)益 管理系統(tǒng)中所述數(shù)字內(nèi)容的發(fā)布者。
88. 根據(jù)權(quán)利要求84所述的方法,進(jìn)一步包括將標(biāo)識(shí)所述 特定部分的代碼存儲(chǔ)在所述設(shè)備的只讀存儲(chǔ)器中。
89. 根據(jù)權(quán)利要求84所述的方法,進(jìn)一步包括將所述散列函 數(shù)存儲(chǔ)在所述設(shè)備的只讀存儲(chǔ)器中。
90. 根據(jù)權(quán)利要求84所述的方法,其中為數(shù)字內(nèi)容生成簽名 的步驟包括a) 將所述散列函數(shù)應(yīng)用于所述特定部分,以生成散列;以及b) 根據(jù)所迷散列生成所述簽名。
91. 根據(jù)權(quán)利要求84所述的方法,其中在所述設(shè)備處將散列 函數(shù)應(yīng)用于所述特定部分的步驟包,a) 將所述散列函數(shù)應(yīng)用于所i特定部分,以生成散列;以及b) 使用所生成的散列來驗(yàn)證所提供的簽名的完整性。
92. 根據(jù)權(quán)利要求91所述的方法,進(jìn)一步包括在所述設(shè)備 處,向簽名驗(yàn)證過程提供所生成的散列和所述簽名,其中所述簽名驗(yàn) 證過程基于所提供的散列來確定所述簽名的可靠性。
93. 根據(jù)權(quán)利要求91所述的方法,其中被提供給所述設(shè)備的 簽名是第一簽名,其中使用所生成的散列的步驟包括a) 在所述設(shè)備處,基于所生成的散列,生成第二簽名;以及b) 在所述設(shè)備處,比較第一簽名和第二簽名,以確定所提供的 數(shù)字內(nèi)容的完整性。
94. 根據(jù)權(quán)利要求84所述的方法,其中所述數(shù)字內(nèi)容包括用 于在所述設(shè)備上執(zhí)行的代碼,在所述設(shè)備處應(yīng)用所述散列函數(shù)的步驟 包括在將所迷代碼加載到可執(zhí)行存儲(chǔ)器中之前應(yīng)用所迷散列函數(shù)。
95. 根據(jù)權(quán)利要求84所述的方法,其中所述數(shù)字內(nèi)容包括用 于修改所述設(shè)備的操作系統(tǒng)的代碼。
全文摘要
本發(fā)明的某些實(shí)施例提供一種驗(yàn)證數(shù)字內(nèi)容完整性的方法。在數(shù)字內(nèi)容的來源處,所述方法通過將散列函數(shù)應(yīng)用于數(shù)字內(nèi)容的特定部分,來為數(shù)字內(nèi)容生成簽名,其中特定部分少于全部數(shù)字內(nèi)容。所述方法向設(shè)備提供簽名和數(shù)字內(nèi)容。在設(shè)備處,所述方法將散列函數(shù)應(yīng)用于數(shù)字內(nèi)容的特定部分,以驗(yàn)證所提供的簽名,并由此驗(yàn)證所提供的數(shù)字內(nèi)容的完整性。
文檔編號(hào)G06F21/00GK101443774SQ200780017674
公開日2009年5月27日 申請(qǐng)日期2007年3月13日 優(yōu)先權(quán)日2006年3月15日
發(fā)明者A·J·法魯吉亞, J-F·林德奧 申請(qǐng)人:蘋果公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
健康| 临漳县| 福贡县| 会理县| 盐津县| 美姑县| 曲靖市| 丹凤县| 随州市| 霍山县| 龙胜| 阳西县| 灌阳县| 凌海市| 根河市| 紫金县| 咸宁市| 青河县| 巴林左旗| 独山县| 汉寿县| 红安县| 茶陵县| 西昌市| 紫金县| 金秀| 富民县| 荣成市| 澳门| 博爱县| 吉首市| 资兴市| 中牟县| 鹰潭市| 霍邱县| 临沭县| 赤水市| 陵水| 南涧| 理塘县| 根河市|