專利名稱:通過(guò)使用一種子鏈接diffie hellman與hfs認(rèn)證的制作方法
通過(guò)使用一種子鏈接DIFF正HELLMAN與HFS認(rèn)證
相關(guān)申請(qǐng)的交叉引用
本申請(qǐng)要求對(duì)2005年4月22日提交的美國(guó)臨時(shí)專利申請(qǐng)No. 60/673,979的優(yōu)
先權(quán),該申請(qǐng)的內(nèi)容通過(guò)引用結(jié)合于此。
背景技術(shù):
本說(shuō)明書一般涉及計(jì)算機(jī)安全,尤其涉及驗(yàn)證方法。這樣的系統(tǒng)可包括可通 過(guò)各種接口耦合的任意數(shù)目的組件。在這種系統(tǒng)中,受保護(hù)內(nèi)容的所有者通常尋求 對(duì)傳輸內(nèi)容之前存在足夠安全性的驗(yàn)證。信任鏈可用來(lái)在這種系統(tǒng)中建立安全性。 當(dāng)這些系統(tǒng)的使用增加時(shí)安全性易于變得更受關(guān)注,因?yàn)橛袃r(jià)值內(nèi)容的傳輸在增 加,并且實(shí)際上未經(jīng)授權(quán)用戶在獲得受保護(hù)內(nèi)容的訪問(wèn)權(quán)時(shí)易于變得更為復(fù)雜。
高價(jià)值內(nèi)容或信息的提供者可能希望確保諸如PC的常規(guī)開放計(jì)算系統(tǒng)是安 全的。PC和許多基于處理器的系統(tǒng)通常提供其中可容易地去除和替換硬件組件的 開放系統(tǒng)。這種開放系統(tǒng)可提供多個(gè)入口點(diǎn)以供對(duì)內(nèi)容的未經(jīng)授權(quán)訪問(wèn)。
本說(shuō)明書將從以下參閱附圖的詳細(xì)描述中得到更佳的理解,在附圖中 圖1是示出不帶硬件功能掃描("HFS")系統(tǒng)的常規(guī)PC和帶有安全系統(tǒng)的 CE設(shè)備的框圖。
圖2是示出帶有硬件功能掃描("HFS")系統(tǒng)的常規(guī)PC和帶有安全系統(tǒng)的 CE設(shè)備的框圖。
圖3是示出受硬件功能掃描系統(tǒng)保護(hù)的處理器的CPU和圖形設(shè)備的框圖。
圖4是示出用于執(zhí)行硬件功能掃描的一示例性過(guò)程的流程圖。
圖5是示出其中可實(shí)現(xiàn)硬件功能掃描系統(tǒng)的一示例性計(jì)算環(huán)境的框圖。
圖6是示出硬件功能掃描系統(tǒng)的一示例性實(shí)現(xiàn)和信息在硬件功能掃描系統(tǒng)的
該示例性實(shí)現(xiàn)中的元件之間交換的框圖。
圖7是示出用來(lái)在總線上建立對(duì)經(jīng)正確認(rèn)證的圖形芯片的安全傳遞的事件序
列的流程圖。
相似的參考標(biāo)號(hào)用來(lái)指附圖中的類似部分。
具體實(shí)施例方式
以下結(jié)合附圖提供的詳細(xì)說(shuō)明旨在描述現(xiàn)有示例,而非旨在表示可構(gòu)建或利 用現(xiàn)有示例的唯一形式。該描述闡明示例的功能以及構(gòu)建和操作該示例的步驟序 列。然而,相同或等效的功能和序列可通過(guò)不同示例來(lái)完成。
盡管現(xiàn)有示例在本文中被描述和說(shuō)明為在基于PC系統(tǒng)中實(shí)現(xiàn),但所述系統(tǒng)僅 被提供為一個(gè)示例而非限制。如本領(lǐng)域技術(shù)人員將理解地,現(xiàn)有示例適合各種不同 類型計(jì)算系統(tǒng)中的應(yīng)用程序。
圖1是示出不帶硬件功能掃描("HFS")系統(tǒng)1S0、可用來(lái)播放常規(guī)的受保護(hù) 媒體文件130的常規(guī)PC或CE設(shè)備150的框圖。這種不帶硬件功能掃描系統(tǒng)的PC 160可使受保護(hù)媒體文件130易于被黑客或另一未經(jīng)授權(quán)方攔截。內(nèi)容提供者110 通常與媒體服務(wù)器120耦合。內(nèi)容提供者110通常將受保護(hù)媒體文件130置于媒體 服務(wù)器130之上。該受保護(hù)媒體文件130可根據(jù)服務(wù)提供者提供的內(nèi)容在媒體服務(wù) 器上創(chuàng)建,或者服務(wù)提供者可向媒體服務(wù)器120提供受保護(hù)的媒體文件130。該受 保護(hù)媒體文件130通常包括音頻或視覺信息等。媒體服務(wù)器120通常耦合于因特網(wǎng) 140,而因特網(wǎng)140通常耦合于PC 160或CE設(shè)備150。 PC 150或CE設(shè)備150僅 僅是裝有處理器的設(shè)備的兩個(gè)示例。具體地可構(gòu)想各種設(shè)備可等效地替代PC 160 或CE設(shè)備150。在以下描述中,可以理解,術(shù)語(yǔ)PC可包括CE設(shè)備、處理器板設(shè) 備等。CE設(shè)備150因?yàn)槠涔潭ㄅ渲枚灰妆淮鄹?。相反,PC160是容易被訪問(wèn)的 開放系統(tǒng)。
PC 160通常是常規(guī)安全系統(tǒng)170的一部分,該安全系統(tǒng)170通常包括PC組 件和可滿足內(nèi)容提供者110不會(huì)發(fā)生黑客195的未經(jīng)授權(quán)訪問(wèn)的保護(hù)方法。
常規(guī)安全系統(tǒng)170可包括CPU和通常再現(xiàn)圖像信息使其可以觀看的顯示器 190。在常規(guī)PC系統(tǒng)中,PC 160耦合于外部顯示器或監(jiān)視器190。圖形密集型的 系統(tǒng)可利用一常規(guī)圖形處理器來(lái)幫助再現(xiàn)所顯示對(duì)象。CPU中處理器與圖形設(shè)備 的處理器之間的連接可使黑客195能在此點(diǎn)上進(jìn)行未經(jīng)授權(quán)訪問(wèn)。這種"安全系統(tǒng)" 170可使受保護(hù)媒體文件130能在顯示器190上播放。通常提供給圖形處理器175 的內(nèi)容是未經(jīng)加密的。
圖2是示出裝有硬件功能掃描系統(tǒng)220的PC 210的框圖。內(nèi)容提供者110通 常耦合至媒體服務(wù)器120。內(nèi)容提供者110通常將受保護(hù)媒體文件130置于媒體服 務(wù)器120之上,該受保護(hù)媒體文件130通常包括音頻和視覺信息等。媒體服務(wù)器 120通常耦合于因特網(wǎng)140,而因特網(wǎng)140通常耦合于PC210。
安全系統(tǒng)270中的PC 210可被耦合于通常再現(xiàn)圖像信息使其可以觀看的顯示 器190。 PC 210及其安全系統(tǒng)270包括硬件功能掃描系統(tǒng)220。硬件功能掃描 ("HFS")系統(tǒng)可進(jìn)一步驗(yàn)證內(nèi)容提供者IIO所請(qǐng)求的安全許可,以確保黑客或其 它未經(jīng)授權(quán)方195沒有在易受攻擊點(diǎn)340上訪問(wèn)受保護(hù)媒體文件130的未受保護(hù)版 本。硬件功能掃描通常被執(zhí)行以驗(yàn)證PC 160上的安全許可,該安全許可通常指示 正確硬件配置(的一部分),以防止黑客195在點(diǎn)340上對(duì)受保護(hù)媒體文件130的 未經(jīng)授權(quán)訪問(wèn)。
圖3是示出在帶有硬件功能掃描系統(tǒng)的PC210上的CPU 320與圖形設(shè)備350 之間執(zhí)行的硬件功能掃描的框圖。具有硬件功能掃描功能的PC 210通常包括可包 含耦合于總線340的CPU 320的計(jì)算機(jī)處理器板310??偩€340又可耦合于圖形設(shè) 備350。該圖形設(shè)備350可表示可以唯一方式再現(xiàn)現(xiàn)狀的復(fù)雜IC。 一般而言,圖形 設(shè)備的典型復(fù)雜性和它所擁有的任何唯一再現(xiàn)簽名可用來(lái)驗(yàn)證圖形設(shè)備350而非 黑客出現(xiàn)。
黑客195的未經(jīng)授權(quán)訪問(wèn)可通過(guò)使用試圖模擬真正圖形設(shè)備的設(shè)備仿真來(lái)嘗 試,并會(huì)允許黑客訪問(wèn)和復(fù)制不受保護(hù)媒體360。在這種配置中,CPU 320不會(huì)具 有只有"真正"的圖形設(shè)備出現(xiàn)的信息。CPU 320不會(huì)接收到仿真程序在攔截不受 保護(hù)內(nèi)容的任何指示。模擬真正圖形設(shè)備的圖形設(shè)備仿真可能不能模擬真正圖形設(shè) 備的復(fù)雜性,因而可能不能生成真正圖形設(shè)備的硬件功能掃描系統(tǒng)220的唯一再現(xiàn) 簽名,該硬件功能掃描系統(tǒng)220測(cè)試復(fù)雜性而唯一再現(xiàn)簽名可檢測(cè)黑客。因而,模 擬真正圖形設(shè)備的設(shè)備可能不由包括硬件功能掃描220的系統(tǒng)來(lái)驗(yàn)證。
內(nèi)容提供者110通常通過(guò)數(shù)字加密受保護(hù)的媒體文件130來(lái)防止對(duì)受保護(hù)媒 體文件130的未經(jīng)授權(quán)復(fù)制或査看。這種系統(tǒng)通常取決于信任鏈結(jié)構(gòu)。受保護(hù)媒體 文件130可使用任一可接受的當(dāng)前加密方法來(lái)加密以傳遞給CE設(shè)備150或PC 210。例如,如果PC210被內(nèi)容提供者110授權(quán)查看一受保護(hù)媒體文件130,則PC 210將被給予(通過(guò)一安全機(jī)制)允許解密受保護(hù)媒體文件130的加密密鑰。
數(shù)字權(quán)限管理加密系統(tǒng)的一個(gè)示例在1999年4月12日提交的美國(guó)專利申請(qǐng) No. 09/2卯,363、在2002年6月28日提交的美國(guó)專利申請(qǐng)No. 10/185,527、 10/185,278 和10/185,511中提供,這些申請(qǐng)通過(guò)引用全部結(jié)合于此。獲授權(quán)的PC210可使用 CPU 320來(lái)解密受保護(hù)媒體文件130并生成不受保護(hù)媒體360。該不受保護(hù)媒體360
通常以再次加密或不加密形式經(jīng)由總線340傳遞給圖形設(shè)備350,該圖形設(shè)備350 可將不受保護(hù)媒體360轉(zhuǎn)換成可由顯示器190顯示的視頻信號(hào)370。
如前所述,不受保護(hù)媒體360易于被黑客195未經(jīng)授權(quán)地訪問(wèn),所采取的形 式為在總線340上攔截不受保護(hù)媒體360的黑客或任何未經(jīng)授權(quán)用戶。一旦受保護(hù) 媒體文件130已被CPU320解密,它就變成不受保護(hù)媒體360,從而易于被可用能 捕捉和復(fù)制不受保護(hù)媒體360的另一設(shè)備替換圖形設(shè)備350的黑客未經(jīng)授權(quán)地復(fù) 制。注意保護(hù)內(nèi)容傳遞的內(nèi)容提供者110也希望采取保護(hù)內(nèi)容免受黑客195攻擊的 步驟。
PC通常具有使它們?cè)谝欢ǔ潭壬弦子诒淮鄹牡拈_放架構(gòu)。CE設(shè)備150可以 是對(duì)黑客而言難以用能夠復(fù)制不受保護(hù)媒體360的設(shè)備替換圖形設(shè)備170的密閉箱 系統(tǒng),而PC 210則是對(duì)黑客或任何其它未經(jīng)授權(quán)方而言易于用模擬圖形設(shè)備350、 并能夠復(fù)制不受保護(hù)媒體360的設(shè)備替換圖形設(shè)備350的開放箱系統(tǒng)。因此,在內(nèi) 容提供者110可允許受保護(hù)媒體文件130被下載或流入到PC 210之前,內(nèi)容提供 者110可要求PC 210具有HFS 220所提供的安全許可,并耦合于圖形設(shè)備350而 非由黑客或任何未經(jīng)授權(quán)用戶替換的模擬圖形設(shè)備350的某其它捕捉設(shè)備。
圖形設(shè)備350可包含經(jīng)數(shù)字簽名的證書,該證書可由CPU 320查詢以驗(yàn)證圖 形設(shè)備350的真實(shí)性。然而,由于用來(lái)創(chuàng)建圖形設(shè)備350的制造工藝的性質(zhì),在每 個(gè)圖形設(shè)備350中編碼唯一的證書或其它唯一的標(biāo)識(shí)符是不合算的。可使用更簡(jiǎn)單 或更為合算的證明圖形設(shè)備350真實(shí)性的方案,或可使用該方案來(lái)增加一設(shè)備證書 方案。CPU320可采用硬件功能掃描系統(tǒng)220。
圖形設(shè)備350通常是可由在復(fù)雜配置中彼此耦合的一個(gè)或多個(gè)集成電路上的 大量邏輯門構(gòu)成的一個(gè)復(fù)雜設(shè)備。圖形設(shè)備350還可以唯一方式再現(xiàn)形狀或其它圖 元。圖形設(shè)備350可再現(xiàn)形狀或其它圖元的唯一方式可由CPU 320用來(lái)驗(yàn)證它耦 合于真正的圖形設(shè)備350,而不是模擬圖形設(shè)備350的其它某設(shè)備。CPU 320可通 過(guò)執(zhí)行查詢來(lái)測(cè)試圖形設(shè)備350的唯一復(fù)雜硬件結(jié)構(gòu),諸如向圖形設(shè)備350提交形 狀或其它圖元以再現(xiàn)和比較再現(xiàn)結(jié)果與預(yù)期結(jié)果,來(lái)執(zhí)行硬件功能掃描220。通常 由于圖形設(shè)備350的復(fù)雜性,通過(guò)仿真是難以復(fù)制或生成黑客或另一未經(jīng)授權(quán)方對(duì) 硬件功能掃描220的正確響應(yīng)的。
為了唯一地標(biāo)識(shí)圖形設(shè)備350,可用只有特定圖形設(shè)備350能提供驗(yàn)證圖形設(shè) 備350的回應(yīng)或響應(yīng)的方式來(lái)構(gòu)建圖形設(shè)備350的查詢或請(qǐng)求。這通常是可能的, 因?yàn)閳D形設(shè)備350和一般的圖形設(shè)備由大量門的復(fù)雜排列構(gòu)成,并基于它們實(shí)現(xiàn)了
通常復(fù)雜的狀態(tài)模型。因此,由兩個(gè)不同的圖形設(shè)備制造模型作出的相同詢問(wèn)或請(qǐng) 求可導(dǎo)致不同的回應(yīng)、或返回不同的結(jié)果。對(duì)回應(yīng)或所返回結(jié)果的分析通常將標(biāo)識(shí)
出圖形設(shè)備350。
例如,CPU 320可向圖形設(shè)備350發(fā)送一三維形狀并請(qǐng)求該圖形設(shè)備350在 三維空間中執(zhí)行一變換,諸如加陰影。圖形設(shè)備350然后可向CPU 320發(fā)送結(jié)果 所得的經(jīng)變換或再現(xiàn)的三維形狀。CPU320可檢查所返回的結(jié)果以確定經(jīng)變換的復(fù) 雜三維形狀的數(shù)學(xué)表示是否符合CPU 320所期望的結(jié)果??赏ㄟ^(guò)參考查尋表或硬 件的軟件仿真等來(lái)作比較。
在另一示例中,CPU 320可能已儲(chǔ)存了一復(fù)雜的數(shù)學(xué)表達(dá)式。典型的表達(dá)式 將運(yùn)行圖形設(shè)備350的通常將計(jì)算制造模型的唯一和已知回應(yīng)的區(qū)域。此外,典型 的表達(dá)式還可包括表達(dá)式的商定隨機(jī)參數(shù)形式的隨機(jī)數(shù)據(jù),和/或表達(dá)式本身可隨 機(jī)地選擇的隨機(jī)數(shù)據(jù)。例如,計(jì)算結(jié)果可具有唯一位數(shù)或者可采用已知的舍入誤差。 此外,在又一示例中,圖形設(shè)備350可被制造成可添加集成電路內(nèi)的附加邊界掃描 電路以驗(yàn)證圖形設(shè)備350在廠內(nèi)的運(yùn)行。邊界掃描電路對(duì)圖形設(shè)備350的每個(gè)型號(hào) 都可以是唯一的,并且CPU 320可查詢?cè)撨吔鐠呙桦娐凡⒎治鼋Y(jié)果來(lái)驗(yàn)證圖形設(shè) 備350。
圖4是示出用于執(zhí)行一硬件功能掃描的示例性過(guò)程的流程圖。序列400通常 在CPU 320 (圖3)上執(zhí)行,但可在任何處理器上執(zhí)行。
在框410, CPU通常向圖形設(shè)備發(fā)送査詢以便于驗(yàn)證該圖形設(shè)備的真實(shí)性。 如前所述,該查詢可用使用商定隨機(jī)值、并且只有真正的圖形設(shè)備才能提供驗(yàn)證該 圖形設(shè)備的回應(yīng)或響應(yīng)的方法來(lái)構(gòu)建。
進(jìn)一步地,在框415,圖形設(shè)備通常將處理該查詢以生成一結(jié)果,并將該結(jié)果 發(fā)送給CPU以作評(píng)估。
接著在框420, CPU通常接收到來(lái)自圖形設(shè)備的查詢結(jié)果。注意,CPU可能 不需要接收該査詢結(jié)果來(lái)確定圖形設(shè)備是否是真的。(Zero-knowledge-proof)可針 對(duì)圖形設(shè)備與該圖形設(shè)備一起使用,以在不將查詢結(jié)果發(fā)送給CPU的情況下證明 該圖形設(shè)備具有正確的回應(yīng)。例如,圖形設(shè)備和CPU可將查詢結(jié)果用作發(fā)給該圖 形設(shè)備的后續(xù)消息的密鑰,并且只有在圖形設(shè)備可能不能接收到已允許其繼續(xù)發(fā)揮 作用的后續(xù)消息時(shí)該圖形設(shè)備已生成了對(duì)查詢的正確回應(yīng),圖形設(shè)備才能繼續(xù)發(fā)揮 作用。
在框430, CPU然后將從圖形設(shè)備接收的查詢結(jié)果與預(yù)期結(jié)果作比較。然后
CPU可分析該比較結(jié)果,并確定比較是通過(guò)還是失敗。如果比較失敗,則驗(yàn)證通
常將在框440結(jié)束。
在框440終止過(guò)程可能是CPU確定從圖形設(shè)備返回的結(jié)果與預(yù)期結(jié)果不同的 結(jié)果,這可指示未經(jīng)授權(quán)的圖形設(shè)備或黑客存在。執(zhí)行流通常在此時(shí)結(jié)束,因?yàn)榘?全許可因其未被確認(rèn)而不能被簽發(fā)給圖形設(shè)備。
在框450繼續(xù)過(guò)程可能是CPU確定從圖形設(shè)備返回的結(jié)果在與預(yù)期結(jié)果作比 較時(shí)是可接受的結(jié)果。安全系統(tǒng)可得出結(jié)論該圖形設(shè)備已經(jīng)通過(guò)了硬件功能掃描 并且是一真正的圖形設(shè)備而不是使用仿真設(shè)備的黑客。CPU然后可代表圖形設(shè)備 發(fā)出一安全許可,該安全許可指示圖形設(shè)備已經(jīng)被確認(rèn)。
圖5是示出其中可實(shí)現(xiàn)硬件功能掃描系統(tǒng)的一示例性計(jì)算環(huán)境的框圖。
帶有硬件功能掃描系統(tǒng)的PC 210 (見圖2)通常執(zhí)行操作系統(tǒng)505以運(yùn)行應(yīng) 用程序510。應(yīng)用程序510通常耦合于互用性網(wǎng)關(guān)520。該互用性網(wǎng)關(guān)520通常耦 合于硬件驅(qū)動(dòng)器530,并且此外互用性網(wǎng)關(guān)520還可具有與硬件驅(qū)動(dòng)器530的安全 耦合。硬件驅(qū)動(dòng)器530通常耦合于硬件抽象層535,而硬件抽象層535可耦合于硬 件設(shè)備540。
操作系統(tǒng)505可實(shí)現(xiàn)用戶模式580和內(nèi)核模式590。應(yīng)用程序510通常以用戶 模式580執(zhí)行,而互用性網(wǎng)關(guān)520通常也以用戶模式580執(zhí)行。硬件驅(qū)動(dòng)器530 通常以內(nèi)核模式5卯執(zhí)行。操作系統(tǒng)505通常出于安全原因?qū)崿F(xiàn)用戶模式580和內(nèi) 核模式590。與操作系統(tǒng)505可向內(nèi)核模式590提供的相比,操作系統(tǒng)505可向用 戶模式580提供較少的安全許可,因?yàn)閮?nèi)核模式590可具有對(duì)更易受黑客攻擊的 PC 210元件的訪問(wèn)權(quán)。操作系統(tǒng)505可能不會(huì)允許未經(jīng)數(shù)字簽名和不被信任的組 件以內(nèi)核模式5卯執(zhí)行。操作系統(tǒng)505通常向用戶模式580提供較少的安全許可, 并相應(yīng)地提供較少的對(duì)更易受黑客攻擊的PC 210元件的訪問(wèn)權(quán)。操作系統(tǒng)505通 常還可并發(fā)地執(zhí)行用戶模式5S0和內(nèi)核模式590,并且還可進(jìn)一步地一次執(zhí)行用戶 模式580的一個(gè)以上實(shí)例。
進(jìn)一步地,操作系統(tǒng)505通??赏ㄟ^(guò)包括不同級(jí)別的安全執(zhí)行環(huán)境來(lái)實(shí)現(xiàn)附 加安全層。
操作系統(tǒng)505可包括不受保護(hù)的執(zhí)行環(huán)境580和受保護(hù)的執(zhí)行環(huán)境570,其中 不受保護(hù)的執(zhí)行環(huán)境580包括比受保護(hù)執(zhí)行環(huán)境570少的安全許可。在操作系統(tǒng) 505可允許互用性網(wǎng)關(guān)520或硬件驅(qū)動(dòng)器530被載入受保護(hù)執(zhí)行環(huán)境570或在其中 執(zhí)行時(shí),操作系統(tǒng)505通常可強(qiáng)加一組安全要求。例如,安全要求可以是某種形式 的數(shù)字簽名或其它數(shù)字信任證明。用這種方式,操作系統(tǒng)505可信任互用性網(wǎng)關(guān) 520或硬件驅(qū)動(dòng)器530,并準(zhǔn)許該互用性網(wǎng)關(guān)520或硬件驅(qū)動(dòng)器530對(duì)操作系統(tǒng)505 所控制的PC 210的資源有較多的訪問(wèn)權(quán)。此外,在操作系統(tǒng)505允許應(yīng)用程序510 被載入或執(zhí)行之前,操作系統(tǒng)505通??蓪?shí)現(xiàn)較小的一組安全要求,但操作系統(tǒng) 505可準(zhǔn)許應(yīng)用程序510對(duì)操作系統(tǒng)505所控制的PC 210的資源有較少的訪問(wèn)權(quán)。 因?yàn)橛布?qū)動(dòng)器530既可以內(nèi)核模式590執(zhí)行又可在受保護(hù)執(zhí)行環(huán)境570中 執(zhí)行,所以該安全級(jí)別對(duì)內(nèi)容提供者認(rèn)證硬件設(shè)備540而言是令人滿意的。此外, 內(nèi)核模式5卯在硬件驅(qū)動(dòng)器530可被載入并以內(nèi)核模式590執(zhí)行之前可要求它被數(shù) 字簽名并且證明是可信任的,從而提供硬件驅(qū)動(dòng)器530是從合法來(lái)源接收的證明。 注意,只有受信任的驅(qū)動(dòng)器可被載入也是重要的。例如,僅僅因?yàn)?30是受信任的 并不解決內(nèi)核模式問(wèn)題,除非內(nèi)核模式的所有其它驅(qū)動(dòng)器也都是受信任的。該概念
需要在本文檔的某些地方記錄。
操作系統(tǒng)505可實(shí)現(xiàn)數(shù)字權(quán)限管理("DRM")。內(nèi)容提供者信任DRM,而內(nèi) 容提供者又可要求該DRM實(shí)現(xiàn)針對(duì)該內(nèi)容賦予DRM的策略。然后DRM可驗(yàn)證 內(nèi)容與經(jīng)數(shù)字簽名的組件(驅(qū)動(dòng)器以及用戶模式組件) 一起使用,以及是否要求圖 形驅(qū)動(dòng)器進(jìn)行硬件功能掃描220。內(nèi)容提供者可對(duì)硬件驅(qū)動(dòng)器530己代表內(nèi)容提供 者認(rèn)證了硬件540感到滿意,并且因此內(nèi)容提供者可對(duì)黑客沒有用硬件設(shè)備540 的仿真替換真正的硬件設(shè)備540以在此易受攻擊點(diǎn)上復(fù)制內(nèi)容提供者的內(nèi)容感到 滿意。
盡管例如圖形硬件545的真正的硬件設(shè)備540可通過(guò)實(shí)現(xiàn)防止未經(jīng)授權(quán)復(fù)制 的安全元件來(lái)提供防止復(fù)制的保護(hù),但黑客或其它未經(jīng)授權(quán)的第三方可創(chuàng)建硬件設(shè) 備540的仿真并將其插入PC210。這種假冒硬件設(shè)備可顯現(xiàn)為真正的硬件設(shè)備540, 但是黑客或其它未經(jīng)授權(quán)的第三方可構(gòu)建仿真硬件設(shè)備來(lái)在未啟用安全部件時(shí)報(bào) 告已啟用了安全部件。在這樣做時(shí),例如圖形驅(qū)動(dòng)器535的設(shè)備驅(qū)動(dòng)器530可向假 冒硬件設(shè)備提供來(lái)自內(nèi)容提供者110的信息的易受攻擊版本,而該假冒硬件設(shè)備可 自由地復(fù)制該信息。
因此,操作系統(tǒng)505可通過(guò)使用經(jīng)簽名和受信任的驅(qū)動(dòng)器530驗(yàn)證硬件設(shè)備 540是真的,并要求硬件驅(qū)動(dòng)器530使用硬件抽象層535執(zhí)行硬件功能掃描220。 硬件功能掃描220可確定該硬件設(shè)備540是否是真正的硬件設(shè)備,而不是黑客設(shè)置 的仿真。此外,為了確保內(nèi)核模式590的完整性,操作系統(tǒng)505可驗(yàn)證所有組件被 載入到內(nèi)核模式,并被簽名和信任。
硬件功能掃描220通常是由硬件驅(qū)動(dòng)器530發(fā)送給硬件540的查詢。該査詢 可被寫成是測(cè)試硬件設(shè)備540的唯一復(fù)雜硬件結(jié)構(gòu)。該硬件設(shè)備540可以是一復(fù)雜 設(shè)備,并且對(duì)于硬件設(shè)備540的仿真而言要復(fù)制或生成正確的回應(yīng)是困難的。艮卩, 由硬件驅(qū)動(dòng)器530在執(zhí)行硬件功能掃描220時(shí)構(gòu)建的查詢可用對(duì)這些查詢的回應(yīng)通 常唯一地標(biāo)識(shí)該硬件設(shè)備540的方式來(lái)構(gòu)建。
此外,硬件驅(qū)動(dòng)器530可儲(chǔ)存它發(fā)送給硬件設(shè)備540的查詢的表格500。這些 査詢可接受隨機(jī)的輸入數(shù)據(jù),并且硬件驅(qū)動(dòng)器530又可針對(duì)該査詢隨機(jī)地選擇輸 入。硬件驅(qū)動(dòng)器530然后可對(duì)硬件540返回的回應(yīng)和它所期望的回應(yīng)作比較。這種 比較可通過(guò)請(qǐng)求來(lái)自硬件540的回應(yīng)來(lái)直接實(shí)現(xiàn),或者可替換地可通過(guò)使用只有在 硬件已產(chǎn)生正確回應(yīng)時(shí)才會(huì)成功的進(jìn)一步操作中的回應(yīng)來(lái)間接實(shí)現(xiàn)。如果硬件驅(qū)動(dòng) 器530確定回應(yīng)相等,則硬件驅(qū)動(dòng)器530可進(jìn)一步確定硬件設(shè)備540被驗(yàn)證并且是 真實(shí)的。
在另一示例中,硬件驅(qū)動(dòng)器530可實(shí)現(xiàn)硬件540的任一部分的仿真器560。仿 真器560可以是硬件540的仿真,從而硬件驅(qū)動(dòng)器530可選擇一值并使用該仿真器 560執(zhí)行一操作,然后可將該相同值和請(qǐng)求傳送給硬件540使該硬件540可用相同 的值執(zhí)行相同的操作。該硬件驅(qū)動(dòng)器530然后可驗(yàn)證由仿真器550和硬件540執(zhí)行 的操作的結(jié)果,以確定硬件540被驗(yàn)證并且是真實(shí)的。
一旦硬件驅(qū)動(dòng)器530已執(zhí)行了硬件功能掃描220并確定真正的硬件設(shè)備540 到位,則硬件驅(qū)動(dòng)器530就可執(zhí)行認(rèn)證并驗(yàn)證硬件設(shè)備540的功能,并滿足先前所 述與內(nèi)容提供者商定的職責(zé)。
在另一示例中,PC 210可使用例如輸出保護(hù)管理器525的互用性網(wǎng)關(guān)520, 來(lái)管理可由硬件驅(qū)動(dòng)器530響應(yīng)于使用硬件功能掃描220對(duì)硬件設(shè)備540的驗(yàn)證而 提供的安全證明。此外,互用性網(wǎng)關(guān)520可提供由硬件驅(qū)動(dòng)器530所提供功能的縮 減子集,從而防止黑客對(duì)硬件驅(qū)動(dòng)器530所提供的、但互用性網(wǎng)關(guān)并不提供的功能 有任何類型的訪問(wèn)權(quán)。
圖6是示出與輸出保護(hù)管理軟件模塊耦合的硬件功能掃描過(guò)程的框圖,該輸 出保護(hù)管理軟件模塊可將硬件功能掃描的結(jié)果傳送給媒體管線523。
硬件功能掃描系統(tǒng)可被配置成將硬件功能掃描的結(jié)果傳送給諸如媒體管線 523的系統(tǒng)控制內(nèi)容分發(fā)。該系統(tǒng)可包括輸出保護(hù)管理模塊525、圖形驅(qū)動(dòng)器535、 以及圖形硬件545。
該輸出保護(hù)管理模塊525可以是用在PC的受保護(hù)環(huán)境中執(zhí)行并且還可用PC
的用戶模式執(zhí)行的軟件來(lái)實(shí)現(xiàn)的模塊。輸出保護(hù)管理模塊525可用作接收安全證書 或其它形式的安全證明的安全授權(quán)機(jī)構(gòu),這些安全證明指示該圖形驅(qū)動(dòng)器545是受 信任的、并且已經(jīng)執(zhí)行了硬件功能掃描220,該硬件功能掃描220包括硬件功能掃 描査詢410和硬件功能掃描響應(yīng)420。此外,輸出保護(hù)管理模塊525可接收指示內(nèi) 核模式590是受信任的安全證書或其它形式的安全證明。輸出保護(hù)管理模塊525 可將存在的安全證書或其它形式的安全證明傳送給內(nèi)容提供者。
圖形驅(qū)動(dòng)器535通常在常規(guī)PC中實(shí)現(xiàn),以提供如前所述對(duì)圖形硬件545的持 續(xù)和單點(diǎn)訪問(wèn)。圖形硬件545可以是用來(lái)將形狀或其它圖形信息如PC所指示地呈 現(xiàn)的任何硬件設(shè)備。圖形硬件545可包括單個(gè)的集成電路芯片,或可由集成電路芯 片的任意組合構(gòu)成。
在內(nèi)容提供者可信任圖形驅(qū)動(dòng)器545在PC上播放優(yōu)質(zhì)或高值內(nèi)容之前,內(nèi)容 提供者可請(qǐng)求圖形硬件545是可信的和經(jīng)驗(yàn)證的證明。內(nèi)容提供者可能不能直接與 圖形驅(qū)動(dòng)器610通信,并且可能不能確定圖形驅(qū)動(dòng)器545是否已執(zhí)行了硬件功能掃 描査詢410,并且是否己接收到已經(jīng)驗(yàn)證圖形硬件545的硬件功能掃描響應(yīng)420。
然而,因?yàn)椴僮飨到y(tǒng)505是受信任的,該操作系統(tǒng)505可通過(guò)驗(yàn)證互用性網(wǎng) 關(guān)520、輸出保護(hù)管理器525、以及硬件驅(qū)動(dòng)器530、圖形驅(qū)動(dòng)器535是受信任的 來(lái)驗(yàn)證受保護(hù)環(huán)境570是受信任的,所以內(nèi)容提供者可信任操作系統(tǒng)505以迫使硬 件驅(qū)動(dòng)器530使用硬件功能掃描220來(lái)在可能需要這種信任的內(nèi)容從互用性網(wǎng)關(guān) 520給予硬件驅(qū)動(dòng)器530之前驗(yàn)證硬件540是受信任的。
例如,圖形驅(qū)動(dòng)器535可創(chuàng)建一硬件功能掃描查詢410,并將該硬件功能掃描 査詢410發(fā)送給圖形硬件545。該硬件功能掃描查詢410通常以硬件功能掃描回應(yīng) 420確認(rèn)該圖形硬件545合法并且不是由黑客出于復(fù)制內(nèi)容的目的而放置的偽造品 或其它設(shè)備的方式來(lái)構(gòu)建。此外,硬件功能掃描查詢410可采取任何形式,但通常 是以將在圖形硬件545的黑客難以仿真的區(qū)域中執(zhí)行的功能的形式。此外,硬件功 能掃描回應(yīng)420可采取任何形式來(lái)確定圖形硬件545已獨(dú)立地生成了適當(dāng)?shù)幕貞?yīng), 但通常是以可與期望回應(yīng)作對(duì)比的數(shù)據(jù)的形式。
然后,圖形驅(qū)動(dòng)器535確定硬件功能掃描回應(yīng)。例如,圖形驅(qū)動(dòng)器535可從 存儲(chǔ)在圖形驅(qū)動(dòng)器535內(nèi)的查尋表中提取回應(yīng),或者圖形驅(qū)動(dòng)器535可隨機(jī)地或從 一組值中選取一值,并將該值傳遞給圖形硬件545的內(nèi)部仿真,或可使用其部分組 合。此外,在一替換示例中,圖形硬件545和圖形驅(qū)動(dòng)器535可約定圖形硬件545 和圖形驅(qū)動(dòng)器535將用作查詢410的輸入的隨機(jī)值。存儲(chǔ)在圖形驅(qū)動(dòng)器535內(nèi)的圖
形硬件545的內(nèi)部仿真然后可將選定值用作內(nèi)部仿真的輸入來(lái)計(jì)算回應(yīng)。
然后,圖形硬件545計(jì)算硬件功能掃描回應(yīng)420,并且通常將其返回給圖形驅(qū) 動(dòng)器535。
然后圖形驅(qū)動(dòng)器535確定圖形硬件545所產(chǎn)生的硬件功能掃描回應(yīng)420與圖 形驅(qū)動(dòng)器535所計(jì)算的回應(yīng)相匹配。如果圖形驅(qū)動(dòng)器535確定回應(yīng)等于期望回應(yīng), 則圖形驅(qū)動(dòng)器535可確認(rèn)圖形硬件545的真實(shí)性。例如,圖形驅(qū)動(dòng)器535然后可向 輸出保護(hù)管理模塊525發(fā)送安全通知。
然后,輸出保護(hù)管理模塊525或圖形驅(qū)動(dòng)器535可存儲(chǔ)安全狀態(tài)達(dá)必要長(zhǎng)的 時(shí)間。該輸出保護(hù)管理模塊還可向圖形驅(qū)動(dòng)器535發(fā)出請(qǐng)求,使圖形驅(qū)動(dòng)器535 發(fā)出新的硬件功能掃描査詢410來(lái)重新驗(yàn)證圖形硬件545的真實(shí)性。
最后, 一旦輸出保護(hù)管理模塊525已接收到安全狀態(tài),輸出保護(hù)管理模塊525 可請(qǐng)求圖形驅(qū)動(dòng)器535驗(yàn)證圖形驅(qū)動(dòng)器535和圖形硬件545之間的通道660。 一旦 圖形驅(qū)動(dòng)器535已驗(yàn)證了圖形驅(qū)動(dòng)器535和圖形硬件545之間的通道660,輸出保 護(hù)管理模塊525就可與內(nèi)容提供者通信,并指示圖形驅(qū)動(dòng)器535和圖形硬件545 之間的耦合是安全的,可播放優(yōu)質(zhì)的或受保護(hù)的內(nèi)容。
圖7是示出用來(lái)構(gòu)建總線上向經(jīng)適當(dāng)認(rèn)證的圖形芯片的安全傳送的事件序列 的流程圖。首先,驅(qū)動(dòng)器進(jìn)行身份驗(yàn)證(701)。受保護(hù)環(huán)境軟件將不會(huì)暫停用驅(qū)動(dòng) 器對(duì)系統(tǒng)的處理。
然后在圖形硬件和獨(dú)立硬件供應(yīng)商("IHV")內(nèi)核模式圖形驅(qū)動(dòng)器之間使用 Diffie Hellman,以構(gòu)建2048位Diffie Hellman密鑰702。此時(shí)在該過(guò)程中,已構(gòu)建 了僅為圖形硬件和IHV的驅(qū)動(dòng)器所知的密鑰。
執(zhí)行散列化以生成會(huì)話密鑰703。 IHV內(nèi)核模式驅(qū)動(dòng)器將2048位Diffie Hellman數(shù)傳遞給服務(wù)提供者的設(shè)備驅(qū)動(dòng)器模型("DDM")內(nèi)核模式組件。該DDM 組件然后執(zhí)行AES Davis Meyer散列化來(lái)生成128位會(huì)話密鑰。圖形硬件還制作 AES Davis Meyer散列來(lái)獲取會(huì)話密鑰。IHV KMD和圖形硬件都不可存儲(chǔ)Diffie Hellman密鑰。在一替換示例中,Diffie Hellman密鑰被棄用。此時(shí)可構(gòu)建僅為圖形 硬件和服務(wù)提供者DDM內(nèi)核模式組件所知的會(huì)話密鑰。
然后在Diffie Hellman位中選取一種子(704)。圖形驅(qū)動(dòng)器如前所述地進(jìn)行硬 件功能掃描以認(rèn)證圖形硬件705。它可將來(lái)自Diffie Hellman數(shù)的6個(gè)或多個(gè)位用 作種子值,以將認(rèn)證與緩和中間人攻擊的Diffie Hellman過(guò)程聯(lián)系在一起??墒褂?被確定為在給定應(yīng)用程序中提供充分安全性的任何數(shù)目的位。圖形驅(qū)動(dòng)器現(xiàn)在可信
任圖形硬件是真實(shí)的,并且Diffie Hellman過(guò)程不易受到中間人攻擊。
然后,ProtectedDXVA軟件組件,例如可執(zhí)行對(duì)可經(jīng)由總線提供給圖形卡的數(shù) 據(jù)的加密的操作系統(tǒng)軟件組件,可檢驗(yàn)驅(qū)動(dòng)器706中受保護(hù)視頻路徑-用戶可訪問(wèn) 總線("PVP-UAB")證書。這可構(gòu)建驅(qū)動(dòng)器是真實(shí)的并且符合所有PVP-UAB要 求,例如密鑰的硬件解密和適當(dāng)構(gòu)建的信任。介質(zhì)互用性網(wǎng)關(guān)("MIG")軟件現(xiàn)在 可信任圖形硬件并可允許優(yōu)質(zhì)內(nèi)容流動(dòng)。
然后,ProtectedDXVA組件創(chuàng)建一內(nèi)容密鑰,并將該內(nèi)容密鑰發(fā)送給圖形硬件 707。在新的內(nèi)容密鑰可能為新的優(yōu)質(zhì)視頻流所需的任何時(shí)候,ProtectedDXVA組 件通過(guò)請(qǐng)求服務(wù)提供者DDM內(nèi)核組件用會(huì)話密鑰加密內(nèi)容密鑰來(lái)發(fā)送內(nèi)容密鑰。 現(xiàn)在內(nèi)容密鑰為ProtectedDXVA軟件組件和圖形硬件所知。
最后,ProtectedDXVA組件使用內(nèi)容密鑰來(lái)加密優(yōu)質(zhì)視頻流,并將經(jīng)加密的視 頻流流傳送圖形硬件,在該圖形硬件中經(jīng)加密的視頻流在接收時(shí)被解密(708)?,F(xiàn) 在優(yōu)質(zhì)內(nèi)容已從MIG軟件受保護(hù)環(huán)境安全地傳遞給圖形硬件。
本領(lǐng)域技術(shù)人員將理解,用來(lái)存儲(chǔ)程序指令的存儲(chǔ)設(shè)備可在網(wǎng)絡(luò)上分發(fā)。例 如,遠(yuǎn)程計(jì)算機(jī)可存儲(chǔ)作為軟件描述的進(jìn)程的一個(gè)示例。本地或終端計(jì)算機(jī)可訪問(wèn) 遠(yuǎn)程計(jì)算機(jī)并下載部分或全部軟件來(lái)運(yùn)行該程序??商娲?,本地計(jì)算機(jī)可按需下 載軟件的片段,或通過(guò)在本地終端執(zhí)行部分軟件指令并在遠(yuǎn)程計(jì)算機(jī)(或計(jì)算機(jī)網(wǎng) 絡(luò))上執(zhí)行部分軟件指令來(lái)分布式地處理。本領(lǐng)域技術(shù)人員還將理解,通過(guò)利用本 領(lǐng)域技術(shù)人員公知的常規(guī)技術(shù),全部或部分的軟件指令可通過(guò)諸如DSP、可編程 邏輯陣列等的專用電路來(lái)實(shí)現(xiàn)。
權(quán)利要求
1.一種芯片認(rèn)證方法,包括驗(yàn)證驅(qū)動(dòng)器身份;構(gòu)建一Diffie Hellman密鑰;散列化所述Diffie Hellman密鑰;選取一種子;以及用所述種子執(zhí)行一硬件功能掃描。
2. 如權(quán)利要求1所述的芯片認(rèn)證方法,其特征在于,還包括 檢驗(yàn)驅(qū)動(dòng)器證書;創(chuàng)建一內(nèi)容密鑰;將所述內(nèi)容密鑰發(fā)送給圖形硬件設(shè)備; 將視頻信號(hào)流傳送給所述圖形硬件設(shè)備。
3. 如權(quán)利要求2所述的芯片認(rèn)證方法,其特征在于,所述硬件設(shè)備是一圖形 心片。
4. 如權(quán)利要求1所述的芯片認(rèn)證方法,其特征在于,所述散列化使用一AES Davis Meyer散歹(J執(zhí)4亍。
5. 如權(quán)利要求1所述的芯片認(rèn)證方法,其特征在于,所述種子取自所述Diffie Hellman密鑰。
6. 如權(quán)利要求1所述的芯片認(rèn)證方法,其特征在于,所述種子包括取自所述 Diffie Hellman密鑰的任何數(shù)目的位。
全文摘要
一種芯片認(rèn)證方法包括驗(yàn)證驅(qū)動(dòng)器身份、構(gòu)建Diffie Hellman密鑰、散列化該Diffie Hellman密鑰、選取一種子、并用該種子執(zhí)行硬件功能掃描。
文檔編號(hào)H04L9/00GK101167299SQ200680013372
公開日2008年4月23日 申請(qǐng)日期2006年3月22日 優(yōu)先權(quán)日2005年4月22日
發(fā)明者D·J·瑪什, D·R·布萊德, K·A·德比齊, K·瑞納瑞斯 申請(qǐng)人:微軟公司