亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

圖形系統(tǒng)中認(rèn)證組件的方法和系統(tǒng)的制作方法

文檔序號(hào):6452320閱讀:256來源:國知局
專利名稱:圖形系統(tǒng)中認(rèn)證組件的方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及對(duì)可信圖形系統(tǒng)的使用認(rèn)證組件的方法和系統(tǒng)。具體說來,本發(fā)明涉及對(duì)用密碼保密通過圖形流水線發(fā)送的內(nèi)容的系統(tǒng)認(rèn)證圖形卡的技術(shù)。
背景技術(shù)
因特網(wǎng)以及許多其他信息源和應(yīng)用軟件提供大量的流動(dòng)和固定的媒體或其他內(nèi)容,用于聽、視、處理、存儲(chǔ)或演示。但是當(dāng)前沒有實(shí)用的方法以保護(hù)版權(quán)的方式捕捉、記錄或演示流動(dòng)的或固定的媒體或內(nèi)容,使得盜版者在內(nèi)容處理或演示時(shí)不能沿流水線在某個(gè)點(diǎn)上竊取該信息流也不能占有版權(quán)或更改內(nèi)容。此問題已存于過去的媒體的演示和記錄設(shè)備,如電視內(nèi)容的VCR或音頻信號(hào)的磁帶記錄儀,但至少有一個(gè)關(guān)鍵差別。因?yàn)閿?shù)字媒體內(nèi)容能實(shí)際上沒有信息損失地記錄,對(duì)版權(quán)的擁有者就面臨一個(gè)“危險(xiǎn)”,他們的工作被自由地共享而沒有補(bǔ)償。對(duì)VCR和磁帶記錄儀,設(shè)備和傳輸媒體將噪聲或受損數(shù)據(jù)引入記錄過程。對(duì)流動(dòng)或固定的數(shù)字媒體,沒有理由不能實(shí)現(xiàn)實(shí)際上無損的轉(zhuǎn)換和再傳送,至少對(duì)人的耳朵和眼睛的能力的范圍是如此,也沒有理由純粹的數(shù)字?jǐn)?shù)據(jù)不能存儲(chǔ)及自由地發(fā)布。因此,總希望防止數(shù)字?jǐn)?shù)據(jù)的不加約束的重新發(fā)布,因?yàn)樵诎鏅?quán)擁有者為費(fèi)用能提供的與盜版者為費(fèi)用能提供的之間只有很小的差別。此外,對(duì)于象電子商務(wù)交易那樣希望能夠保密的通訊,對(duì)參與此對(duì)話的用戶重要的是沒有未授權(quán)的第三者暗中參與此交易。因此,關(guān)于受托源的內(nèi)容,當(dāng)前沒有實(shí)用的方法在用戶的計(jì)算機(jī)上“安全”地處理數(shù)據(jù)而不要防止盜版或破壞。
尤其是,一旦內(nèi)容在主計(jì)算系統(tǒng)、一個(gè)或多個(gè)圖形處理器(GPU)和如監(jiān)視器那樣的演示設(shè)備之間進(jìn)行流水線處理,盜版者或其他未經(jīng)授權(quán)的第三者就有若干機(jī)會(huì)預(yù)占線路或信號(hào),并盜版或破壞此信號(hào)。此外,當(dāng)用戶的對(duì)話經(jīng)消息服務(wù)和視頻會(huì)議成為更復(fù)雜時(shí),對(duì)保密的內(nèi)容從來源處提供可靠的線路成為今后會(huì)越發(fā)重要。
而且清楚的是,新一代的操作系統(tǒng),計(jì)算設(shè)備和應(yīng)用軟件程序?qū)?duì)業(yè)務(wù)應(yīng)用軟件從GPU使用更多的計(jì)算能力,而不是象今天這樣從個(gè)人計(jì)算機(jī)(PC)獲得更多的計(jì)算能力。因此,保證經(jīng)“可信圖形“應(yīng)用軟件發(fā)送內(nèi)容將是對(duì)未來計(jì)算設(shè)備的基本特征,且這是由現(xiàn)在的計(jì)算系統(tǒng)尚未充分說明的特征。
對(duì)受托內(nèi)容提供安全的流水線的問題能看成是兩重的(1)必須保證受托內(nèi)容在流水線期間不能被拷貝或在某薄弱環(huán)節(jié)觀看(機(jī)密性)。(2)必須保證,該流水線防止未經(jīng)授權(quán)地破壞流水線中的數(shù)據(jù)(保護(hù)的)。在系統(tǒng)安全的前后關(guān)系中,復(fù)雜性是不利條件,因?yàn)樗沟酶y以證明系統(tǒng)的安全性。好象飛機(jī)場或其他保安場合,在系統(tǒng)中有更多的入口與出口,就更難以保證安全。在這方面,目前沒有辦法使得大部分的GPU功能和顯示驅(qū)動(dòng)器在機(jī)密性和可保護(hù)性方面是可信的。共同轉(zhuǎn)讓待審的名為“Methods and Systems forCryptographically Protecting Secure Content”的美國專利申請(qǐng)?zhí)?0/124,922(2002年4月18日提交)講授的系統(tǒng)和方法,提供那樣的可信的圖形平臺(tái)。
然而,關(guān)于那樣的可信的圖形平臺(tái),在傳輸、處理和/或演示內(nèi)容之前存在一個(gè)重要的問題,與可信的圖形平臺(tái)互動(dòng)的可信的應(yīng)用軟件或服務(wù)當(dāng)前沒有足夠方法確保與其互動(dòng)的圖形平臺(tái)是可信的,而且當(dāng)前對(duì)一個(gè)應(yīng)用軟件沒有安全且足夠的方法通知圖形平臺(tái),它是可信的應(yīng)用軟件,使得它能利用可信的圖形平臺(tái)的可信的服務(wù)。因而需要改進(jìn)的方法,用于對(duì)使用可信圖形平臺(tái)進(jìn)行認(rèn)證。

發(fā)明內(nèi)容
考慮上述因素,本發(fā)明提供一種對(duì)可信圖形系統(tǒng)的使用認(rèn)證組件的方法和系統(tǒng)。對(duì)一種系統(tǒng)提供認(rèn)證圖形卡的技術(shù),該系統(tǒng)用密碼保密經(jīng)圖形流水線發(fā)送的內(nèi)容,使得應(yīng)用軟件或設(shè)備能向可信的圖形平臺(tái)指明該應(yīng)用軟件或設(shè)備是圖形平臺(tái)的可信用戶,并使得該圖形平臺(tái)能通知該可信應(yīng)用軟件或設(shè)備該圖形平臺(tái)能受其委托。
方法包括各種技術(shù),用于提供與使用具有圖形卡的可信的圖形平臺(tái)有關(guān)的認(rèn)證,技術(shù)包括由應(yīng)用軟件或設(shè)備請(qǐng)求驗(yàn)證圖形卡是安全的圖形卡,并響應(yīng)該請(qǐng)求,由在通訊上和安全上連結(jié)圖形卡的密碼處理器產(chǎn)生會(huì)話密鑰,且將該會(huì)話密鑰發(fā)送給該應(yīng)用軟件或設(shè)備。
系統(tǒng)包括包含應(yīng)用軟件或設(shè)備的計(jì)算設(shè)備,具有GPU的圖形卡和在通訊上及安全上與該GPU連接的密碼處理器,其中該應(yīng)用軟件或設(shè)備請(qǐng)求驗(yàn)證該圖形卡是安全的圖形卡,由此,響應(yīng)該請(qǐng)求,該密碼處理器產(chǎn)生會(huì)話密鑰并將該會(huì)話密鑰發(fā)送到該應(yīng)用軟件或設(shè)備。


將參考附圖進(jìn)一步敘述按本發(fā)明認(rèn)證與使用可信的圖形系統(tǒng)相關(guān)的組件的方法和系統(tǒng),附圖中
圖1A是方框圖,示出具有可以實(shí)現(xiàn)本發(fā)明的各種計(jì)算設(shè)備的示例性網(wǎng)絡(luò)環(huán)境。
圖1B是方框圖,示出可以實(shí)現(xiàn)本發(fā)明的示例性的非限定性計(jì)算設(shè)備。
圖2是流程圖,示出圖形流水線的未保護(hù)部分,它按本發(fā)明加保護(hù)。
圖3A和3B是方框圖,示出按本發(fā)明的第一層安全性的示例性方面。
圖4A到4C是方框圖,示出按本發(fā)明的第二層安全性的示例性方面。
圖5A到5B示出按本發(fā)明AYUV/ARGB格式的示例性混攪(Swizzling)。
圖6A到6B示出按本發(fā)明YOY2格式的示例性混攪。
圖7A到7B示出按本發(fā)明包裝的二維格式的示例性混攪。
圖8A到8B是方框圖,示出按本發(fā)明的第三層安全性示例性方面。
圖9A到9B方框圖,示出按本發(fā)明的示例性加密技術(shù),它能應(yīng)用軟件于從圖形處理器的輸出。
具體實(shí)施例方式
概況
本發(fā)明提供系統(tǒng)和技術(shù),用于為認(rèn)證而增強(qiáng)操作系統(tǒng)或在從可信源來的內(nèi)容和圖形系統(tǒng)之間的其他中介物,使得能由‘可信圖形’應(yīng)用軟件實(shí)現(xiàn)內(nèi)容的處理和/或演示,如防竄改機(jī)密對(duì)話和回放防非授權(quán)復(fù)制的收費(fèi)內(nèi)容。觀察可信的圖形平臺(tái)的一個(gè)方法是它提供了“層”安全(1)覆蓋表面的內(nèi)容的加密,(2)啟用GPU或其他協(xié)處理設(shè)備,以便在加密內(nèi)容上操作,并使其不能為不信任方法用,和(3)啟用被加密的命令緩沖器。本發(fā)明提供與那樣的可靠的圖形平臺(tái)相關(guān)的認(rèn)證服務(wù)。
如上所述,在系統(tǒng)安全方面復(fù)雜性是不利條件,因?yàn)槭沟酶y以證明系統(tǒng)的安全性。結(jié)果,可信的圖形平臺(tái)認(rèn)為豐富的GPU功能及顯示驅(qū)動(dòng)器是不可信的。通過限制滿足安全準(zhǔn)則能使用的硬件范圍,可信的圖形平臺(tái)增加了在機(jī)密性和可保護(hù)性方面正確實(shí)現(xiàn)的機(jī)會(huì)。上面已討論了本發(fā)明的某些方面。然而為了清楚起見,現(xiàn)在將強(qiáng)調(diào)某些內(nèi)容。機(jī)密的內(nèi)容涉及防止如第三方設(shè)備及軟件那樣的不可信的第三方來獲得對(duì)保密內(nèi)容信息的訪問。那樣機(jī)密性的例子包括防止不可信的第三方在沿著圖形流水線的任何處獲得對(duì)回放加密的收費(fèi)視頻內(nèi)容的訪問。保護(hù)的內(nèi)容涉及防止如第三方設(shè)備或軟件那樣的不可信第三方訪問或改變保密的內(nèi)容信息而不被檢測到。那樣可保護(hù)性的例子包括防止不可信的第三方訪問或更換在電子商務(wù)交易期間可能發(fā)生的秘密對(duì)話的顯示。
在這方面,可信的圖形平臺(tái)考慮如在收費(fèi)內(nèi)容視頻流的頂部的用戶接口那樣的重疊窗口以及在電子商務(wù)對(duì)話期間可能出現(xiàn)的不能隱匿的窗口。然而,在可信的圖形平臺(tái)能操作之前,按本發(fā)明有一個(gè)機(jī)構(gòu),它保證使用可信圖形平臺(tái)的應(yīng)用軟件和設(shè)備以及可信圖形平臺(tái)本身是整個(gè)可信的系統(tǒng)的真實(shí)的部分。本發(fā)明提供實(shí)現(xiàn)那樣的認(rèn)證的系統(tǒng)和技術(shù)。下面敘述細(xì)節(jié)和實(shí)施例。
示例性網(wǎng)絡(luò)環(huán)境
本專業(yè)熟練人士認(rèn)識(shí)到,能利用計(jì)算機(jī)或其他客戶或服務(wù)器設(shè)備作為計(jì)算機(jī)網(wǎng)絡(luò)或分布式計(jì)算環(huán)境的一部分。在這方面,本發(fā)明適合于任何具有任何數(shù)目內(nèi)存或存儲(chǔ)單元,和任何數(shù)目應(yīng)用軟件和過程的計(jì)算機(jī)系統(tǒng),這些應(yīng)用軟件和過程發(fā)生在任何數(shù)目存儲(chǔ)單元或卷,并隱含用于可信圖形范圍的認(rèn)證技術(shù)。本發(fā)明可應(yīng)用軟件于帶有在網(wǎng)絡(luò)環(huán)境中采用的服務(wù)器計(jì)算機(jī)及客戶計(jì)算機(jī),或具有當(dāng)?shù)丶斑h(yuǎn)端存儲(chǔ)器的分布式計(jì)算環(huán)境。本發(fā)明也能用于具有編程語言功能,解釋和執(zhí)行能力的單獨(dú)計(jì)算機(jī),以產(chǎn)生、接收并發(fā)送與遠(yuǎn)端及本地服務(wù)有關(guān)的信息。
分布式計(jì)算通過在計(jì)算設(shè)備及系統(tǒng)之間的直接交換便于共享計(jì)算機(jī)的資源及服務(wù)。這些資源及服務(wù)包括信息交換、高速緩沖存儲(chǔ)和用于文件的盤存儲(chǔ)。分布式計(jì)算得益于網(wǎng)絡(luò)互連,允許客戶均衡他們的集體能力以利于整個(gè)企業(yè)。在這方面,各種設(shè)備能具有應(yīng)用軟件,對(duì)象或資源,它們能互動(dòng),以隱含本發(fā)明對(duì)可信的圖形流水線的認(rèn)證技術(shù)。
圖1A提供示例性網(wǎng)絡(luò)化或分布式計(jì)算環(huán)境。分布式計(jì)算環(huán)境包括計(jì)算對(duì)象10a,10b等和計(jì)算對(duì)象或設(shè)備110a,110b,110c等。這些對(duì)象能包括程序、方法、數(shù)據(jù)存儲(chǔ)、可編程邏輯等。對(duì)象可包括如PDA、電視、MP3播放器、電視、個(gè)人電腦等。每個(gè)對(duì)象能經(jīng)過通訊網(wǎng)絡(luò)14與另一個(gè)對(duì)象通訊。此網(wǎng)絡(luò)本身能包括向圖1A的系統(tǒng)提供服務(wù)的其他計(jì)算對(duì)象及計(jì)算設(shè)備。按本方面的一個(gè)方面,每個(gè)對(duì)象10或110能包含對(duì)可信的圖形流水線請(qǐng)求本發(fā)明的認(rèn)證技術(shù)的應(yīng)用軟件。
可以看到,如110c那樣的對(duì)象能以另一個(gè)計(jì)算設(shè)備10或110為主機(jī)。這樣,雖然畫出的物理環(huán)境能將連結(jié)的設(shè)備示作計(jì)算機(jī),那樣的圖示僅是示例性的,物理環(huán)境能另外地畫成或描述成包括如PDA、電視、MP3播放器那樣的各種數(shù)字設(shè)備和如接口、COM對(duì)象等軟件對(duì)象。
有各種系統(tǒng)、組件和網(wǎng)絡(luò)配置支持分布式計(jì)算環(huán)境。計(jì)算系統(tǒng)能借助有線或無線系統(tǒng),經(jīng)當(dāng)?shù)鼐W(wǎng)絡(luò)或廣泛分布的網(wǎng)絡(luò)互相連結(jié)。當(dāng)前,許多網(wǎng)絡(luò)連到因特網(wǎng),它對(duì)廣泛的分布式計(jì)算提供基礎(chǔ)設(shè)施,并包容許多不同的網(wǎng)絡(luò)。
在家庭連網(wǎng)環(huán)境,至少有4種根本不同的網(wǎng)絡(luò)傳輸媒體,它們每個(gè)支持單獨(dú)的協(xié)議,如電源線、數(shù)據(jù)(無線和有線)、語音(如電話)和娛樂媒體。大多數(shù)如電燈開關(guān)及電器那樣的家用控制設(shè)備使用電源線連接。數(shù)據(jù)服務(wù)能作為寬帶(如DSL或電纜調(diào)制解調(diào)器)進(jìn)入家庭,并在家中使用無線(如HomeRF或802.11b)或有線(如家庭PNA,Cat5,甚至電源線)連結(jié)訪問。語音通話量能有線地(如Cat3)或無線地(如移動(dòng)電話)進(jìn)入家庭,并使用Cat3連線在家庭內(nèi)分布。娛樂媒體能通過衛(wèi)星或有線電視進(jìn)入家庭,且通常在家里使用同軸電纜分布。IEEE1394和DVI也作為對(duì)媒體設(shè)備群的數(shù)字互連出現(xiàn)。所有這些網(wǎng)絡(luò)環(huán)境以及作為協(xié)議標(biāo)準(zhǔn)出現(xiàn)的其他環(huán)境可以互連以形成能借助因特網(wǎng)連接外部世界的內(nèi)部網(wǎng)。簡言之,各種根本不同的源存在于數(shù)據(jù)的存儲(chǔ)和發(fā)送,結(jié)果進(jìn)一步,計(jì)算設(shè)備需要在數(shù)據(jù)處理流水線的所有部分保護(hù)內(nèi)容的方法。
因特網(wǎng)通常看作使用TCP/IP協(xié)議組的網(wǎng)絡(luò)和網(wǎng)關(guān)的集成,它是計(jì)算網(wǎng)絡(luò)行業(yè)內(nèi)熟知的。TCP/IP是“Transport Control Protocol/Internet Protocol一傳輸控制協(xié)議/網(wǎng)間協(xié)議”的縮寫。因特網(wǎng)能描述成由執(zhí)行網(wǎng)絡(luò)協(xié)議的計(jì)算機(jī)互連的地理分布式遠(yuǎn)程計(jì)算機(jī)網(wǎng)絡(luò)的系統(tǒng),它允許用戶在網(wǎng)絡(luò)上互動(dòng)并共享信息。由于那樣廣泛范圍的信息共享,如因特網(wǎng)那樣的遠(yuǎn)程網(wǎng)迄今已大體演變成開放系統(tǒng),對(duì)于開發(fā)者能基本上無限制地設(shè)計(jì)軟件應(yīng)用軟件,用以完成特定的操作和服務(wù)。
因此,網(wǎng)絡(luò)基礎(chǔ)設(shè)施啟用如客戶/服務(wù)器、對(duì)等、或混合架構(gòu)那樣網(wǎng)絡(luò)拓?fù)涞囊粋€(gè)主機(jī)?!翱蛻簟笔鞘褂门c其無關(guān)的另外的類或組的服務(wù)的類或組的成員。因此,在計(jì)算中客戶是一個(gè)過程,即粗略地看是一組指令或任務(wù),它請(qǐng)求由另外程序提供的服務(wù)??蛻暨^程使用所請(qǐng)求的服務(wù)而不必“知道”有關(guān)其他程序或服務(wù)本身的運(yùn)作細(xì)節(jié)。在客戶/服務(wù)器架構(gòu)中,尤其在連網(wǎng)系統(tǒng)中,客戶常常是訪問由如服務(wù)器那樣的另外計(jì)算機(jī)提供的共享網(wǎng)絡(luò)資源的計(jì)算機(jī)。在圖1A的例中,計(jì)算機(jī)110a,110b等能看作客戶,而計(jì)算機(jī)10a,10b等能看成服務(wù)器,服務(wù)器10a,10b維護(hù)數(shù)據(jù),這些數(shù)據(jù)隨后在客戶機(jī)110a,110b等中復(fù)制。
服務(wù)器通常是經(jīng)如因特網(wǎng)那樣的遠(yuǎn)程網(wǎng)絡(luò)能訪問的遠(yuǎn)程計(jì)算機(jī)系統(tǒng)??蛻暨^程能在第一計(jì)算機(jī)系統(tǒng)激活,而服務(wù)器過程在第二計(jì)算機(jī)系統(tǒng)激活,經(jīng)通訊媒體互相通訊,從而提供分布式功能,并允許多個(gè)客戶利用服務(wù)器的信息聚集能力。
利用由協(xié)議層提供的功能客戶和服務(wù)互相通訊。例如,超文本傳輸協(xié)議(HTTP)是結(jié)合萬維網(wǎng)(WWW)使用的公共協(xié)議。通常使用如統(tǒng)一資源定位符(URL)那樣的計(jì)算機(jī)網(wǎng)絡(luò)地址或互連網(wǎng)協(xié)議(IP)地址互相識(shí)別服務(wù)器或客戶計(jì)算機(jī)。網(wǎng)絡(luò)地址能稱為統(tǒng)一資源定位符地址。例如,能經(jīng)通訊媒體提供通訊。尤其是客戶和服務(wù)器能經(jīng)TCP/IP互連,用于大容量通訊。
因此,圖1A示出服務(wù)器經(jīng)網(wǎng)絡(luò)/總線與客戶計(jì)算機(jī)通訊的示例性連網(wǎng)或分布式環(huán)境,在那里能使用本發(fā)明。更詳細(xì)地,一系列服務(wù)器10a,10b等通過如LAN、WAN、企業(yè)內(nèi)部網(wǎng)、因特網(wǎng)等那樣的通訊網(wǎng)絡(luò)/總線14按本發(fā)明與一系列客戶或遠(yuǎn)端計(jì)算設(shè)備110a,110b,110c,110d,110e等互連,如與便攜電腦、手持電腦、瘦客戶、互聯(lián)網(wǎng)電器、或如VCR,TV、電爐、電燈、加熱器等那樣的其他設(shè)備互聯(lián)。因此,可以預(yù)期,本發(fā)明能應(yīng)用軟件于任何計(jì)算設(shè)備,希望與其連結(jié)來處理存儲(chǔ)或演示從可信源來的保密內(nèi)容。
例如在通訊網(wǎng)絡(luò)/總線14是因特網(wǎng)的網(wǎng)絡(luò)環(huán)境中,服務(wù)器10能是Web服務(wù)器,客戶110a,110b,110c,110d,110e等經(jīng)如HTTP那樣的若干的眾知的協(xié)議與其通訊。作為分布式計(jì)算環(huán)境的特征,服務(wù)器10也能用作客戶110。通訊可為有線或無線,這因地制宜。客戶設(shè)備110可經(jīng)或不經(jīng)通訊網(wǎng)絡(luò)/總線14通訊,并可以具有有關(guān)的獨(dú)立通訊。例如,在TV或VCR的情況,對(duì)于控制可以是連網(wǎng)的也可不是。每個(gè)客戶計(jì)算機(jī)110和服務(wù)器計(jì)算機(jī)10能裝有各種應(yīng)用軟件程序模塊或?qū)ο?35,并連結(jié)或訪問各種類型的存儲(chǔ)單元或?qū)ο?,?jīng)過這些存儲(chǔ)文件或下載或移植部分文件。因此,本發(fā)明能用于那樣一個(gè)計(jì)算機(jī)環(huán)境,此環(huán)境具有能訪問計(jì)算機(jī)網(wǎng)絡(luò)/總線14并與之互動(dòng)的客戶計(jì)算機(jī)110a,110b等和能與客戶機(jī)110a,110b和其他設(shè)備111及數(shù)據(jù)庫70互動(dòng)的服務(wù)器計(jì)算機(jī)。
示例性計(jì)算設(shè)備
圖1B和下面的討論試圖提供可實(shí)現(xiàn)本發(fā)明的合適的計(jì)算環(huán)境的簡明敘述。然而可以理解,考慮所有類型手持的、便攜的和其他計(jì)算設(shè)備及計(jì)算對(duì)象適合于結(jié)合本發(fā)明使用。雖然下面敘述通用計(jì)算機(jī),這僅是一個(gè)例子,本發(fā)明可用具有網(wǎng)絡(luò)/總線可交互操作性及交互作用的瘦客戶實(shí)現(xiàn)。因此,本發(fā)明能在連網(wǎng)的主機(jī)服務(wù)的環(huán)境中實(shí)現(xiàn),其中包含很小或最小的客戶資源,如那樣的環(huán)境,其中客戶設(shè)備只作為到網(wǎng)絡(luò)/總線的接口,如放在設(shè)備中的部件。主要是希望數(shù)據(jù)能存入任何地方或從那里檢索或演示數(shù)據(jù),希望一個(gè)合適的環(huán)境,用于本發(fā)明的認(rèn)證技術(shù)的操作。
雖然不是必須,本發(fā)明能通過操作系統(tǒng)、應(yīng)用軟件程序設(shè)計(jì)接口(API)實(shí)現(xiàn),并且/或者包括在應(yīng)用軟件軟件中,該軟件面向應(yīng)用軟件本發(fā)明的認(rèn)證技術(shù)。在各種實(shí)施例中,本發(fā)明還應(yīng)用軟件到硬件,它符合下面所述的接口和加密技術(shù)。軟件可以在計(jì)算機(jī)可執(zhí)行指令的一般環(huán)境敘述,如準(zhǔn)備在由如客戶工作站、服務(wù)器或其他設(shè)備那樣一臺(tái)或多臺(tái)計(jì)算機(jī)執(zhí)行的程序模塊。通常,程序模塊包括例行程序、程序、對(duì)象、組件、數(shù)據(jù)結(jié)構(gòu)等,它們完成特定的任務(wù)或?qū)崿F(xiàn)特定的抽象數(shù)據(jù)類型。通常,在各個(gè)實(shí)施例中程序模塊的功能隨意地組合或分布。而且本專業(yè)熟練人士得知,本發(fā)明能用其他計(jì)算機(jī)系統(tǒng)配置實(shí)施。其他適用于本發(fā)明的眾知的計(jì)算系統(tǒng)、環(huán)境、和/或配置包括個(gè)人電腦(PC)、自動(dòng)播放機(jī)、服務(wù)器電腦、手持或膝上設(shè)備、多處理器系統(tǒng)、基于微處理器的系統(tǒng)、可編程消費(fèi)品電子產(chǎn)品、網(wǎng)絡(luò)PC、家電、燈、環(huán)境控制單元、小型計(jì)算機(jī)、大型機(jī)等。本發(fā)明也能在分布式計(jì)算環(huán)境實(shí)施,在那里借助通過通訊網(wǎng)絡(luò)/總線或其他數(shù)據(jù)傳輸媒體鏈接的遠(yuǎn)程處理設(shè)備完成任務(wù)。在分布式計(jì)算環(huán)境中,程序模塊能位于包括內(nèi)存存儲(chǔ)設(shè)備的當(dāng)?shù)鼗蜻h(yuǎn)端的存儲(chǔ)媒體,而客戶節(jié)點(diǎn)可以轉(zhuǎn)而象服務(wù)器那樣工作。
于是圖1B示出實(shí)現(xiàn)本發(fā)明的合適的計(jì)算機(jī)系統(tǒng)環(huán)境100的例子,雖然前面已清楚,計(jì)算系統(tǒng)環(huán)境100僅是合適的計(jì)算環(huán)境的一個(gè)例子,并不試圖對(duì)本發(fā)明的使用或功能的范圍提出任何限制。計(jì)算環(huán)境100不應(yīng)解釋為對(duì)在示例性操作環(huán)境100示出的任何一個(gè)組件或其組合有任何依賴或需要。
參考圖1B,實(shí)現(xiàn)本發(fā)明的示例性系統(tǒng)包括以計(jì)算機(jī)110形式的通用計(jì)算設(shè)備。計(jì)算機(jī)110的組件包括處理單元120,系統(tǒng)存儲(chǔ)器130,和將包括系統(tǒng)存儲(chǔ)器的各種系統(tǒng)組件連接到處理單元120的系統(tǒng)總線121,但不限于這些。系統(tǒng)總線121能是若干類型總線結(jié)構(gòu)的任一種,包括存儲(chǔ)器總線或存儲(chǔ)控制器、外設(shè)總線和使用各種總線架構(gòu)的任一種的局部總線。例如,那樣的架構(gòu)包括工業(yè)標(biāo)準(zhǔn)架構(gòu)(ISA)總線、微通道架構(gòu)(MCA)總線、增強(qiáng)的ISA(EISA)總線、視頻電子技術(shù)標(biāo)準(zhǔn)協(xié)會(huì)(VESA)局部總線和外圍組件互連(PCI)總線(稱為Mezzanine總線)。
計(jì)算機(jī)110通常包括各種計(jì)算機(jī)可讀媒體。計(jì)算機(jī)可讀媒體能是任何可得到的媒體,它們能由計(jì)算機(jī)110訪問并包括易失的和非易失的媒體、可拆卸及不可拆卸的媒體。例如,計(jì)算機(jī)可讀媒體能包括計(jì)算機(jī)存儲(chǔ)媒體及通訊媒體,但不限于此。計(jì)算機(jī)存儲(chǔ)媒體包括易失和非易失的,可取走和不可取走的,以任何方法或技術(shù)實(shí)現(xiàn)的媒體,用于存儲(chǔ)如計(jì)算機(jī)可讀指令,數(shù)據(jù)結(jié)構(gòu),程序模塊,或其他數(shù)據(jù)那樣的信息。計(jì)算機(jī)存儲(chǔ)媒體包括RAM、ROM、EEPROM、閃存或其他存儲(chǔ)技術(shù)、CDROM、數(shù)字通用光盤(DVD)或其他光盤存儲(chǔ)、盒式磁帶、磁帶、磁盤存儲(chǔ)器或其他磁存儲(chǔ)設(shè)備,或任何其他能用于存儲(chǔ)所希望的信息并能由計(jì)算機(jī)110訪問的媒體。通訊媒體通常體現(xiàn)在計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其他如載波或其他傳輸機(jī)制的調(diào)制數(shù)據(jù)中,并包括任何信息傳輸媒體。術(shù)語“已調(diào)制數(shù)據(jù)信號(hào)”意指具有的一個(gè)或多個(gè)特性以將信息編碼入內(nèi)部的方式設(shè)定或改變的信號(hào)。例如,通訊媒體包括如有線網(wǎng)絡(luò)或直接連線那樣的有線媒體以及如聲音、RF、紅外的無線媒體或其他無線媒體,但不限于此。上述那些的組合也包括在計(jì)算機(jī)可讀媒體之中。
系統(tǒng)存儲(chǔ)器130包括易失和/或非易失性存儲(chǔ)器形式的計(jì)算機(jī)存儲(chǔ)媒體,如只讀存儲(chǔ)器(ROM)131和隨機(jī)存儲(chǔ)器(RAM)132。包含幫助在起動(dòng)期間在計(jì)算機(jī)的各單元之間傳輸信息的基本例行程序的基本輸入/輸出系統(tǒng)133(BIOS)通常存儲(chǔ)在ROM131。RAM132通常包含立即由處理單元120訪問和/或操作的數(shù)據(jù)和/或程序模塊。例如,圖1B示出操作系統(tǒng)134、應(yīng)用軟件程序135、其他程序模塊136和程序數(shù)據(jù)137,但不限于此。
計(jì)算機(jī)110也能包括其他可拆卸/不可拆卸的易失/非易失性的計(jì)算機(jī)存儲(chǔ)媒體。僅作為例子,圖1B示出從不可拆卸的非易失性磁媒體讀寫的硬盤驅(qū)動(dòng)器141、從可拆卸非易失性磁盤152讀寫的磁盤驅(qū)動(dòng)器151和從如CD ROM或其他光媒體那樣可拆卸的非易失性光盤156讀寫的光驅(qū)動(dòng)器155。在示例性操作環(huán)境中能使用的其他可拆卸/不可拆卸、易失/非易失性的計(jì)算機(jī)存儲(chǔ)媒體包括盒式磁帶、閃存卡、數(shù)字通用光盤、數(shù)字視頻帶、固態(tài)RAM、固態(tài)ROM等。磁盤驅(qū)動(dòng)器141通常通過如接口140那樣的不可拆卸存儲(chǔ)器接口連接到系統(tǒng)總線121,而磁盤驅(qū)動(dòng)器151及光盤驅(qū)動(dòng)器155通常由如接口150那樣的可拆卸存儲(chǔ)器接口連接到系統(tǒng)總線121。
上面討論并在圖1B中示出的驅(qū)動(dòng)器和它們相關(guān)的計(jì)算機(jī)存儲(chǔ)媒體提供了對(duì)計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊和其他用于計(jì)算機(jī)110的數(shù)據(jù)的存儲(chǔ)。例如,在圖1B,硬盤被示作存儲(chǔ)操作系統(tǒng)144、應(yīng)用軟件程序145、其他程序模塊146和程序數(shù)據(jù)147。注意,這些組件與操作系統(tǒng)134、應(yīng)程程序135、其他程序模塊136和程序數(shù)據(jù)135或者相同或者不同。這里對(duì)操作系統(tǒng)144,應(yīng)用軟件程序145,其他程序模塊146,和程序數(shù)據(jù)147標(biāo)記不同的標(biāo)號(hào),至少表示它們是不同的拷貝。用戶能通過如鍵盤162和通常稱為鼠標(biāo)、跟蹤球或觸摸墊那樣的定位設(shè)備161輸入命令和信息到計(jì)算機(jī)110。其他輸入設(shè)備(未示出)包括麥克風(fēng)、游戲桿、游戲墊、衛(wèi)星天線、掃描器等。這些和其他輸入設(shè)備常通過連接到系統(tǒng)總線121的用戶接口160連接到處理單元121,但可以借助如并行端口、游戲端口或通用串行總線(USB)那樣的其他接口和總線結(jié)構(gòu)連接。如Northbridge那樣的圖形接口182也能連接到系統(tǒng)總線121。Northbridge是與CPU或主處理單元120通訊的芯片組,并認(rèn)為專門用于加速圖形端口(AGP)通訊。一個(gè)或多個(gè)圖形處理單元(GPU)184能與圖形接口通訊。在這方面,GPU184通常包括如寄存器那樣的芯片上存儲(chǔ)器,且GPU184與視頻存儲(chǔ)器186通訊。但是GPU184僅是協(xié)處理器的一個(gè)例子,在計(jì)算機(jī)110中可包括各種協(xié)處理設(shè)備。監(jiān)視器191或其他類型的顯示設(shè)備也經(jīng)如視頻接口190那樣的接口連接系統(tǒng)總線121,它轉(zhuǎn)而與視頻存儲(chǔ)器186通訊。通常,這是計(jì)算設(shè)備中易受攻擊的部分,因而本發(fā)明提供在那里處理及演示的數(shù)據(jù)的保護(hù)及機(jī)密性。除監(jiān)視器191以外,計(jì)算機(jī)還能包括如揚(yáng)聲器197和打印機(jī)196那樣的外圍輸出設(shè)備,它們能通過輸出外圍接口195連接。
計(jì)算機(jī)110能使用到如遠(yuǎn)端計(jì)算機(jī)180那樣的一個(gè)或多個(gè)遠(yuǎn)程計(jì)算機(jī)的邏輯連接,在連網(wǎng)分布式環(huán)境內(nèi)運(yùn)行。遠(yuǎn)端計(jì)算機(jī)180能是個(gè)人計(jì)算機(jī)、服務(wù)器、路由器、網(wǎng)絡(luò)PC、對(duì)等設(shè)備或其他通用網(wǎng)絡(luò)節(jié)點(diǎn),并通常包括上述關(guān)于計(jì)算機(jī)110的多個(gè)或所有單元,雖然在圖1B中只示出存儲(chǔ)設(shè)備181。在圖1B中畫出的邏輯連結(jié)包括局域網(wǎng)(LAN)171和廣域網(wǎng)(WAN)173,但還可包括其他網(wǎng)絡(luò)/總線。那樣的網(wǎng)絡(luò)環(huán)境在家里、辦公室、企業(yè)范圍計(jì)算機(jī)網(wǎng)絡(luò)、企業(yè)內(nèi)部網(wǎng)和因特網(wǎng)中是常見的。
在使用LAN網(wǎng)絡(luò)環(huán)境時(shí),計(jì)算機(jī)110通過網(wǎng)絡(luò)接口或適配器170連接到LAN171。在使用WAN網(wǎng)絡(luò)環(huán)境時(shí),計(jì)算機(jī)110通常包括調(diào)制解調(diào)器172或其他設(shè)備,建立在諸如因特網(wǎng)那樣的WAN173的通訊。內(nèi)置或外置的調(diào)制解調(diào)器172能經(jīng)用戶輸入接口160或其他合適的機(jī)制連結(jié)到系統(tǒng)總線121。在連網(wǎng)環(huán)境中,相對(duì)于計(jì)算機(jī)110畫出的程序模塊或其部分能存儲(chǔ)在遠(yuǎn)端存儲(chǔ)設(shè)備。例如,圖1B示出駐留在存儲(chǔ)設(shè)備181的遠(yuǎn)端應(yīng)用軟件程序185??梢岳斫?,示出的網(wǎng)絡(luò)連接是示例性的,能使用其他方法在計(jì)算機(jī)之間建立通訊鏈路。
示例性分布式計(jì)算機(jī)架構(gòu)或體系結(jié)構(gòu)
考慮到個(gè)人計(jì)算機(jī)和因特網(wǎng)的發(fā)展,已經(jīng)開發(fā)或正在開發(fā)各種分布式計(jì)算架構(gòu),個(gè)人或企業(yè)的用戶裝有對(duì)應(yīng)用軟件及計(jì)算設(shè)備能無縫互操作且啟用Web的接口,使計(jì)算活動(dòng)更面向Web瀏覽器或連網(wǎng)應(yīng)用軟件。
例如,MICROSOFT.NET平臺(tái)包括服務(wù)器、積木式服務(wù),如基于Web的數(shù)據(jù)存儲(chǔ)和可下載的設(shè)備軟件。一般說來,.NET平臺(tái)提供1)使全范圍計(jì)算設(shè)備一起工作并使用戶信息自動(dòng)更新及整體同步的能力,2)通過大量使用XML代替HTML,使網(wǎng)站互動(dòng)能力能提高,3)其特征為自定義接入和從中心起點(diǎn)對(duì)用戶提供產(chǎn)品和服務(wù)的在線服務(wù),以管理各種應(yīng)用軟件(如電子郵件)或軟件(如Office.NET),4)集中化數(shù)據(jù)存儲(chǔ),增加了訪問信息的有效性和方便性,并增加了用戶和設(shè)備中信息的同步,5)對(duì)諸如電子郵件、傳真和電話各種通訊媒體的綜合能力,6)對(duì)開發(fā)者增加可再使用模塊,增加生產(chǎn)力并減少編程錯(cuò)誤的數(shù)量和7)許多其他平臺(tái)間綜合集成特性。
雖然這里的示例性實(shí)施例通常結(jié)合由駐留在計(jì)算設(shè)備上的軟件實(shí)現(xiàn)的方法敘述,本發(fā)明的一個(gè)或多個(gè)部分也能經(jīng)操作系統(tǒng)、應(yīng)用軟件程序設(shè)計(jì)接口(API)或在協(xié)處理器和不可損害的內(nèi)容之間的“中間人”(“middle man”)對(duì)象實(shí)現(xiàn),使得可信的內(nèi)容服務(wù)也能通過所有.NET的語言和服務(wù)的支持和介入并在其他分布式計(jì)算架構(gòu)中完成。此外,可以理解,按本發(fā)明敘述的一個(gè)或多個(gè)技術(shù)能包含硬件的改變,如改變GPU以適應(yīng)該技術(shù)。
用密碼保護(hù)安全的內(nèi)容
‘ZZZ應(yīng)用軟件的可信圖形平臺(tái)為增強(qiáng)操作系統(tǒng)或任何平臺(tái)提供方法和系統(tǒng),以啟用如防篡改、機(jī)密對(duì)話的“可信圖形”應(yīng)用軟件,并以防止非授權(quán)復(fù)制的方式啟用內(nèi)容的播放。圖2示出由本發(fā)明解決的問題,其中示出加密的收費(fèi)內(nèi)容200,它們經(jīng)過或由信任的軟件應(yīng)用軟件TS產(chǎn)生。由于使用信任的軟件TS,內(nèi)容200在用演示設(shè)備295演示(或其他應(yīng)用軟件)內(nèi)容200之前包含了GPU265的功能。那樣的內(nèi)容200將從系統(tǒng)或主存儲(chǔ)器230傳送到視頻存儲(chǔ)器由GPU265處理。圖2中的虛線示出安全問題所在處。在技術(shù)背景中已提到,沒有當(dāng)前的系統(tǒng)能適當(dāng)?shù)乇WC,通過由虛線圍繞的單元內(nèi)容受保護(hù)且機(jī)密的傳輸。從信任軟件TS的觀點(diǎn),由本發(fā)明解決的第一問題是在將內(nèi)容交到GPU之前,在虛線以前的組件對(duì)內(nèi)容是否可信。假設(shè)信任的軟件TS能正確認(rèn)證虛線內(nèi)的部件,則從該TS和由’ZZZ專利申請(qǐng)?zhí)岢龅挠^點(diǎn)提出的第二問題是信任的軟件TS必須合理地保證,一旦數(shù)據(jù)送到虛線之內(nèi),該數(shù)據(jù)將不被更改。本發(fā)明在下面敘述的各種實(shí)施例中針對(duì)這兩類問題。首先敘述提供按本發(fā)明的認(rèn)證服務(wù)的系統(tǒng)和方法。然后借助下列辦法以各種方法實(shí)現(xiàn)可信圖形平臺(tái)的方法和系統(tǒng)1)加密覆蓋表面的內(nèi)容,2)使GPU能在加密內(nèi)容上操作而對(duì)不可信的應(yīng)用軟件或部門不可用,和3)加密命令緩沖器的內(nèi)容。
圖形卡的認(rèn)證
本發(fā)明提到的可信圖形處理和演示的問題的第一方面涉及加密處理器和索引密鑰管理的措施。
在這方面,安全圖形卡必須能這樣地認(rèn)證本身。尤其是,信任的軟件必須能夠從傳統(tǒng)的圖形卡或欺騙設(shè)備(諸如電子欺騙)區(qū)分出安全的圖形。此外,信任的軟件必須能夠揭示對(duì)圖形卡的加密密鑰,并能驗(yàn)證,密鑰的接收者確認(rèn)是安全的圖形卡。為此目的,安全圖形卡裝備有按本發(fā)明的密碼處理器,完成認(rèn)證和密鑰傳輸?shù)募用苋蝿?wù)。
在硬件方面,按本發(fā)明提供加密處理器,它在制造期間被個(gè)性化和認(rèn)證。每個(gè)密碼處理器包含單獨(dú)的私有解密密鑰Kpriv。雖然按本發(fā)明考慮許多在密碼專業(yè)所眾知的許多不同的加密和解密算法,在上下文中這里敘述的算法是RSA,且密鑰長度是1024位,這兩方面不限制設(shè)計(jì)選擇,設(shè)計(jì)能根據(jù)所需的應(yīng)用軟件和安全等級(jí)按照眾知的權(quán)衡方法定制。
在這方面,加密處理器永遠(yuǎn)附著于圖形卡,或者將其加到現(xiàn)有的芯片中,或者作為分開的芯片加到卡上。加密處理器實(shí)現(xiàn)如下面詳述的公開密鑰加密算法并隱藏獨(dú)特的私有密鑰。在這方面,那樣的加密處理器能用當(dāng)今的硅片技術(shù)迅速地完成公開密鑰解密。然而,加密處理器也能包括公開密鑰加速器,并實(shí)現(xiàn)對(duì)稱密碼(AES)和某些控制邏輯。
在某些示例性非限制性實(shí)施例中,加密處理器包括下列易失性寄存器1)用于會(huì)話密鑰的256位寄存器S。此密鑰的壽命通常是信任的軟件的運(yùn)行時(shí)間,和2)多個(gè)索引密鑰的數(shù)組。雖然其他選擇也能是合適的,每個(gè)密鑰為128位。每個(gè)密碼與特定窗口有關(guān),并且圖形卡用于解密其內(nèi)容,每個(gè)密鑰的壽命由信任的軟件的指令操縱。
如上提到,本發(fā)明的加密處理器永久地附著于圖形卡。因此,需要安全地與加密處理器連接的措施以便使用其功能。關(guān)于與加密處理器的接口,本發(fā)明至少考慮兩項(xiàng)技術(shù)a)到信任軟件TS的外部接口和b)到GPU265的接口。前者接口(至少加密方面)必須是標(biāo)準(zhǔn)化的。后一接口可專門實(shí)現(xiàn),但必須遵照下面陳述的總方針。
關(guān)于外部接口實(shí)施中,外部接口使用用于認(rèn)證和密鑰傳輸?shù)乃接忻荑€(PK)解密協(xié)議。在此協(xié)議下,信任軟件TS用加密處理器的公開密鑰加密會(huì)話密鑰。加密處理器接收最終的加密團(tuán)(cryptoblob)并用其公開密鑰解密,從而獲得會(huì)話密鑰?,F(xiàn)在信任軟件和加密處理器共享秘密。信任軟件能使用此會(huì)話密鑰發(fā)出指令到加密處理器。
在一個(gè)非限定性實(shí)施例中,通過下列功能由加密處理器揭示外部接口
函數(shù)SetSessionKey()完成初始的認(rèn)證步驟和密鑰傳輸。這是訪問加密處理器的公開密鑰功能的唯一函數(shù)。因此在一個(gè)實(shí)施例中,本發(fā)明在每次自舉時(shí)試圖調(diào)用此函數(shù)。下面的示例性偽代碼表示SetSessionKey()的一種非限制性實(shí)現(xiàn)
SetSessionKey(cryptoblob){PKDecrypt(private Key,cryptoblob,session key);}
在成功地完成操作之后,session Key寄存器包含從加密泡來的密鑰,如256位密鑰。例如,公開密鑰算法能是1024位RSA。
一旦在信任軟件和加密處理器之間建立了對(duì)稱會(huì)話密鑰K,此密鑰能用于保密以后對(duì)加密處理器的所有來往的通訊。信任軟件和加密處理器能借助簡單的Get和Set方法通訊,為了機(jī)密性和完整性其參數(shù)受密碼的保護(hù)。尤其是每次調(diào)用的參數(shù)塊B能以下述非限制性方法處理
AES(M|HMAC(M,K1),K2),
其中
K1是K的前一半(位0到127)
K2是K的后一半(位128到255)
AES(M,K)是AES在CBC方式下用密碼K加密消息M的結(jié)果
HMAC(M,K)是通過合適的散列函數(shù)上,用密鑰K對(duì)消息M計(jì)算HMAC的結(jié)果
A|B是級(jí)聯(lián)A和B的結(jié)果。
此格式能用于下列函數(shù)的輸入?yún)?shù)和輸出參數(shù)
Set(INBOOL needs Ack,INBITS128 nonce,INENUM propertyID,INBYTESEQUENCE property Paramters,OUTBYTESEQUENCE ack)其中
Needs Ack是布爾值,它使信任軟件指出是否需要確認(rèn)。
Nonce是由信任軟件選取的128位值。若需要確認(rèn),nonce能用于確認(rèn)。
Property ID識(shí)別正設(shè)置的特性,下文表1中給出所支持特性的示例性表。
Property Parameters是對(duì)每個(gè)property ID指定的參數(shù)序列。
最后,ACK是操作的確認(rèn)。當(dāng)且僅當(dāng)needs ACK被設(shè)置時(shí)加密處理器產(chǎn)生ACK。ACK由nonce及隨后的對(duì)每個(gè)property ID指定的消息組成。
表1 Get函數(shù)的property ID的表
對(duì)于索引密鑰的property ID,此方法向由索引識(shí)別的密鑰寄存器寫入新密鑰和目的標(biāo)簽。
對(duì)于輸出鎖定property ID,此方法設(shè)置輸出鎖定標(biāo)志。當(dāng)此標(biāo)志被設(shè)定時(shí),屏幕幾何結(jié)構(gòu)(寬、高、彩色深度、刷新速率)和圖形卡輸出(VGA,DVI)不能改變。具體是,當(dāng)鎖定標(biāo)志被設(shè)定時(shí),圖形卡不執(zhí)行改變這些設(shè)定的指令。
對(duì)于L2KeyMgmt的property ID,此方法在按本方面敘述的第二層保護(hù)下,即下面將詳述的輸入和輸出加密下,設(shè)定更新頻率。
類似地,如下地給出Get函數(shù)
Get(INBITS128 nonce,INENUM property ID,INBYTESEQUENCEpropertyParamters,OUTBYTESEQUENCE response)其中
nonce是由信任軟件選擇用于響應(yīng)的128位值。
property ID識(shí)別要設(shè)定的特性,在下面圖2中給出所支持的特性的表。
property Parameters是指定每個(gè)property ID的一串參數(shù)。
Response包含操作的結(jié)果,由nonce及隨后的對(duì)每個(gè)property ID指定的消息組成。
表2 Set函數(shù)的Property ID的表
關(guān)于輸出端口,此方法返回圖形卡的輸出設(shè)定,如VGA,DVI等。
關(guān)于認(rèn)證碼,此方法按本發(fā)明敘述的第一層保護(hù)(即覆蓋部分加密)返回窗口內(nèi)容的散列。
關(guān)于Dx-SEC版本,此方法返回由圖形卡支持的Dx-SEC的版本。
關(guān)于安全表面計(jì)數(shù),此方法返回由圖形卡支持的安全表面的數(shù)目。
關(guān)于覆蓋表面計(jì)數(shù),此方法返回由圖形卡支持覆蓋表面的數(shù)目。
關(guān)于基本類型,此方法返回1,并提供更進(jìn)一步的靈活性。
關(guān)于幾何結(jié)構(gòu),此方法返回基本表面的寬、高、刷新速率和彩色深度。
Set函數(shù)還能包括設(shè)置保護(hù)區(qū)域覆蓋的位置或大小,或應(yīng)解密的主要(基本)表面部分的位置和大小的方法。
因此上述SetSessionKey,Get和Set函數(shù)涉及外部接口的非限制性實(shí)施例。術(shù)語“內(nèi)部接口”是關(guān)于在加密處理器和圖形卡其余部分之間的接口。按本發(fā)明此類接口的細(xì)節(jié)適合于每個(gè)單獨(dú)的圖形卡并受下列限制1)加密處理器應(yīng)永久地固定在圖形卡上,2)加密處理器與圖形卡其余部分之間的連接不應(yīng)顯露。
在這方面,從圖形卡去除加密處理器不應(yīng)忽視。若加密處理器作為分開的芯片實(shí)現(xiàn),這主要是對(duì)將加密處理器附著到圖形卡的機(jī)械接口的限制。通常,加密處理器應(yīng)焊在圖形卡上。另選地,加速處理器可駐留在主GPU的同一芯片上。使用如智能卡閱讀器、安裝插座那樣允許加密處理取走的標(biāo)準(zhǔn)化機(jī)械接口是不可取的。
此外,在機(jī)密處理器和圖形卡的其余部分之間的物理連接必須是不可訪問的,且不能經(jīng)標(biāo)準(zhǔn)界面暴露。例如按本發(fā)明在此總線的USB接頭是不可采用的。
對(duì)于密鑰管理的規(guī)則,每個(gè)索引密鑰智能按其相關(guān)的目的參數(shù)使用。在另外實(shí)施例中,目的的參數(shù)的值有下列意義
L1STREAM此密鑰只能與下面結(jié)合由本發(fā)明提供的第一層安全(即覆蓋部分的加密)敘述的Dx-SEC流密碼一起使用。
L2BLOCK此密鑰只能與由下述的本發(fā)明提供的第二層安全(即加密輸入和輸出)的ECB方式的成塊密碼一起使用。使用ECB方式的成塊密碼來加密由信任軟件寫的文本塊。
在這方面,當(dāng)索引被新值填入時(shí)不保持密鑰的拷貝。
另一種密鑰建立機(jī)制是建立在用于密鑰傳輸?shù)钠脚_(tái)硬件中的可信路徑。例如,若請(qǐng)求認(rèn)證安全圖形卡的軟件或硬件事先得知,可信的平臺(tái)保證寫到地址如OX12345678的總是被映射到視頻卡密鑰存儲(chǔ)器,則加密處理器不必要安全地發(fā)送會(huì)話密鑰,即因?yàn)樘娲乜墒褂么恕胺忾]路徑”。此另選方法能使用小的安全通訊機(jī)制來自舉大量安全通道。那樣的安全通訊機(jī)制能是低帶寬連接。
進(jìn)一步的實(shí)現(xiàn)是說,大量數(shù)據(jù)傳輸機(jī)制是受保護(hù)的。例如,在下述安全覆蓋系統(tǒng)中,安全的應(yīng)用軟件或設(shè)備使用保護(hù)的路徑直接發(fā)送視頻數(shù)據(jù)到視頻卡,以避免我們借助使用a)加密處理器或b)上述對(duì)密鑰交換的安全路徑的安全密鑰交換步驟。
下面敘述如在‘ZZZ專利申請(qǐng)中敘述的可信的圖形平臺(tái)并包括加密覆蓋部分、加密輸入和輸出并加密命令緩沖。下面敘述那樣的可信圖形平臺(tái)是為示例性目的,可以理解,本發(fā)明的認(rèn)證技術(shù)可應(yīng)用軟件到可信的圖形平臺(tái)的各種實(shí)現(xiàn)中。
第一安全層一加密覆蓋部分
因?yàn)橐曨l存儲(chǔ)器能由在CPU上運(yùn)行的不可信的軟件讀出,視頻存儲(chǔ)器不能保持明文方式的信息。服從于此要求的視頻存儲(chǔ)器包括用于刷新顯示的視頻存儲(chǔ)器。滿足此準(zhǔn)則的系統(tǒng)的初始實(shí)現(xiàn)加密覆蓋表面的內(nèi)容。然后覆蓋由DAC硬件在進(jìn)行中解密,或當(dāng)圖形被送到顯示器時(shí)在剛達(dá)到DAC硬件之前解密。
圖3A示出那樣技術(shù)的示例性實(shí)施例。加密收費(fèi)內(nèi)容200,即從任何處發(fā)現(xiàn)或產(chǎn)生對(duì)信任軟件應(yīng)用軟件210的事件,由可信的應(yīng)用軟件210接收。用加密處理器220的認(rèn)證交換保證在上面示例性實(shí)施例中的所述認(rèn)證交換過程或者由任何用于安全密鑰傳輸技術(shù)認(rèn)證交換過程,此保證通過加密碼或者經(jīng)過用其他方法保護(hù)的路徑實(shí)現(xiàn)。內(nèi)容200從系統(tǒng)存儲(chǔ)器230送到加密的覆蓋表面240,后者覆蓋了視頻存儲(chǔ)器260的基本表面270。結(jié)合加密處理器220,GPU265的解密部分解密由加密覆蓋240提供的加密層并將內(nèi)容提供給象素選擇280,用于輸出到數(shù)字視頻接口(DVI)/數(shù)模轉(zhuǎn)換器(DAC)290,經(jīng)轉(zhuǎn)換后再輸出到如監(jiān)視器那樣的演示設(shè)備。但是,圖3A畫出的系統(tǒng)不滿足所有上述準(zhǔn)則,因?yàn)橹挥幸粋€(gè)覆蓋。為了滿足對(duì)如可信窗口那樣的可信環(huán)境的功能的最小底線要求,在另一個(gè)實(shí)施例中啟用了兩個(gè)覆蓋。第一個(gè)“機(jī)密”覆蓋基本上是當(dāng)今存在于平臺(tái)中的覆蓋,主要用于回放的增強(qiáng)的視頻,使得其內(nèi)容能加密。第二個(gè)覆蓋專門針對(duì)現(xiàn)在敏感的用戶接口設(shè)計(jì),如電子商務(wù)對(duì)話。此“保護(hù)的覆蓋”總在最前面且不隱匿,即無彩色密鑰并具有高于第一覆蓋的優(yōu)先。第二覆蓋受到某些限制,使成本最低。例如,可以提供第二覆蓋,使得數(shù)據(jù)具有與基本表面相同的象素格式,且不能伸展或多重緩存。此外,保護(hù)的覆蓋的內(nèi)容能由硬件驗(yàn)證。表3示出在機(jī)密覆蓋與保護(hù)覆蓋之間的示例性差別。
表3 機(jī)密覆蓋和保護(hù)覆蓋的對(duì)比
圖3B示出一系統(tǒng),它包括機(jī)密覆蓋,如機(jī)密覆蓋交換鏈的覆蓋310a,310b和310c,以及保護(hù)覆蓋320。若可能,使用流密碼于安全表面加密,因?yàn)樗鼈儽葔K密碼更快且實(shí)現(xiàn)更簡單(細(xì)節(jié)見附錄A)。流密碼根據(jù)“字節(jié)在流中的位置”加密數(shù)據(jù)。因此,第一安全級(jí)用在表面的左上角帶有起動(dòng)象素加密密鑰的流密碼。不論象素是否顯示,流密碼對(duì)包含在覆蓋表面中的每個(gè)象素進(jìn)行。提出的系統(tǒng)包含兩個(gè)流密碼解密組件300a和300b,分別對(duì)應(yīng)機(jī)密覆蓋和保護(hù)覆蓋。一旦解密的象素值可用,硬件280選擇保護(hù)覆蓋320、機(jī)密覆蓋310(若基本表面270等于彩色密鑰和/或若彩色加密鑰啟用)或基本表面270的象素值,并將象素值經(jīng)DVI/DAC290送到顯示硬件。
注意,盜密方能通過一系列方法獲得對(duì)覆蓋的訪問,或者使顯示圖形不可見或者用噪聲內(nèi)容替代安全的內(nèi)容,因?yàn)橛杀I密方寫的數(shù)據(jù)也將被解密。雖然現(xiàn)在描述的可信的圖形平臺(tái)不直接抵御這些攻擊,它確實(shí)提供完整的校驗(yàn),以保證期望的內(nèi)容提供給最終用戶。因此,若輸出有些不同于輸入,用戶或信任軟件210能警覺到有對(duì)內(nèi)容的竄改。
關(guān)于對(duì)覆蓋的軟件界面,除了如源和目的的邊界框、目的的彩色密鑰等那樣一般的覆蓋信息外,機(jī)密覆蓋310還保持指定加密密鑰,而保護(hù)覆蓋320額外保持指定解密覆蓋內(nèi)容的循環(huán)冗余碼(CRC)寫入的存儲(chǔ)器位置。
機(jī)密覆蓋界面類似于現(xiàn)有的覆蓋,區(qū)別在于交換方法指定覆蓋的后端緩存區(qū)310a(即數(shù)據(jù)被交換到的緩沖區(qū))的內(nèi)容的加密密鑰索引。
保護(hù)覆蓋界面更簡單,并使得對(duì)該表面的CRC的措施,在其被首次顯示之后進(jìn)到存儲(chǔ)器位置。標(biāo)準(zhǔn)的硬件接口控制覆蓋的位置,并使CRC對(duì)在輪詢基礎(chǔ)上關(guān)心的軟件可用。例如,一個(gè)寄存器能指出CRC是否可用,而另一個(gè)使CRC能讀出。例如,能結(jié)合保護(hù)覆蓋界面使用下述示例性偽碼
FRESULT Update Overlay(LPPOINT ppnt UL);
其中
ppnt UL指定保護(hù)覆蓋的左上角。
在這方面,軟件210計(jì)算CRC值,若它關(guān)系到完整性,它是所期望的。
第二層安全-加密的輸入和輸出
為增強(qiáng)GPU265將加密內(nèi)容處理成輸入,并將加密內(nèi)容作為輸出發(fā)出,將加密和解密硬件加入到紋理映射單元(在輸入側(cè))和字母混合單元(在輸出側(cè)),而且硬件設(shè)計(jì)者在實(shí)現(xiàn)此功能中協(xié)同工作以遵循某些規(guī)則。因?yàn)榱髅艽a不能隨機(jī)訪問加密數(shù)據(jù),系統(tǒng)使用塊密碼加密數(shù)據(jù)如每次加密128位。紋理映射單元在滿的緩存器行上解密,而字母混合單元在從彩色緩存器讀出高速緩存線時(shí)解密,并在寫以前加密。在這些操作中使用的加密密鑰能是不同的。
除如視頻解密那樣3D演示之外的計(jì)算任務(wù),是剛敘述的樣式的直接擴(kuò)展。代替紋理,視頻宏功能塊用作加密的輸入;且代替彩色緩沖器,要解密的輸出幀用于加密的輸出。若內(nèi)容在命令流中以帶內(nèi)方式傳給GPU265時(shí)是要保護(hù)的,下面將敘述如何能加密命令緩沖器。
圖4A畫出剛敘述的系統(tǒng),它完成前端操作,取加密表面420作為輸入并發(fā)送加密的表面作為輸出,即經(jīng)過加密和解密組件440的加密紋理和彩色緩沖技術(shù)的前端。還提供加密的紋理400a,其中紋理400b可為視頻存儲(chǔ)器260的通常紋理。加密的紋理400a輸出到GPU265的解密組件450,它與加密處理器一起工作解密紋理,并用組件430a對(duì)從組件440來的解密數(shù)據(jù)施加圖形算法,諸如作明暗處理等。
期望配置合成的頁式交換桌面系統(tǒng),剛敘述的圖4A的系統(tǒng)能保護(hù)整個(gè)桌面系統(tǒng),只要DAC硬件解密基本表面270以及上述的覆蓋表面310和320。注意到,在那樣情況DAC硬件使用塊密碼解密而不是流密碼。那樣的系統(tǒng)使任意多的機(jī)密表面帶著任意的Z排序,混合或施加給它們的3D或其他效果參加到桌面系統(tǒng),而不犧牲安全性。保護(hù)覆蓋表面320,必須永遠(yuǎn)居首位,且其內(nèi)容必須可驗(yàn)證,駐留在分開的表面中。上述機(jī)密覆蓋310一直保持到它能由安全的頁面交換桌面系統(tǒng)或平臺(tái)在軟件中模擬。
在一個(gè)實(shí)施例中,除了能夠解密基本表面270以外,系統(tǒng)需要GPU265也能夠如可信的文字處理器那樣的普通桌面應(yīng)用軟件軟件加密明文,所以它們也期望在桌面系統(tǒng)中。圖4B示出那樣的情景,其中包括前端510b和后端510a的主交換鏈510被加密。因此,基本表面能由桌面的排字軟件430操作,由加密/解密組件440a分別對(duì)到那里的輸出/輸入保護(hù)。在與加密處理器220的通訊中,解密組件550隨后解密前端表面510b,用于輸出到DVI/DAC290。這就將系統(tǒng)暴露給某些類型的攻擊,下面將關(guān)于保證安全性細(xì)述這些攻擊,并討論防止這些攻擊的某些策略。
圖4c畫出圖4b的另選方案,其中實(shí)現(xiàn)對(duì)機(jī)密的覆蓋交換鏈310的錄制。因此,作為加密基本表面270的另選方案,硬件能使由機(jī)密的覆蓋硬件300a對(duì)用于消費(fèi)的流密碼加密,此硬件與加密處理器220一起解密流密碼數(shù)據(jù)。此表現(xiàn)機(jī)制比用塊密碼加密基本表面節(jié)省,但可能不如設(shè)計(jì)折衷考慮那樣可伸縮及靈活。因?yàn)闄C(jī)密覆蓋310使用流密碼加密,在此方面所支持的合理操作是“拷貝”操作,其中由解密組件440b使用輸入表面510b的塊密碼解密并使用覆蓋的流密碼由組件440b重加密。
這些實(shí)施例和各種組合是有用的,例如若任何數(shù)目的明文輸入與加密的輸入結(jié)合產(chǎn)生加密的輸出,一次一個(gè)加密輸入是足夠的。
關(guān)于持久的安全性,有一系列可實(shí)現(xiàn)的手段。首先,上述的第二層安全依賴的概念為明文一旦被解密不能泄漏出GPU265。例如,不存在排錯(cuò)寄存器或其他設(shè)備使得明文能由主機(jī)的中央處理單元(CPU)從芯片讀出。除了為避免那樣的泄漏所作仔細(xì)的硬件設(shè)計(jì)外,GPU265指令組設(shè)計(jì)成不可能啟用解密輸入而不啟用加密輸入。此外,硬件防止明文數(shù)據(jù)泄漏,無論是由詐騙的發(fā)起者,由盜密方的碼,或無意的原因。
此外,硬件能不泄漏密鑰。一旦密鑰經(jīng)按照認(rèn)證交換描述的密碼協(xié)議提交給GPU265,它們只能為加密和解密組件所用。
如上述討論,若GPU265能加密用于在基本表面270中顯示的明文,此設(shè)備認(rèn)為是系統(tǒng)中易受攻擊者,因?yàn)榇思用茉O(shè)備僅是那樣描述的機(jī)制,其中盜密者能具有明文及同時(shí)可用的對(duì)應(yīng)密文。借助映射基本表面,使其能由CPU看到,并建立必須加密的窗口,盜密者能夠造對(duì)應(yīng)于已知明文塊的密文塊的子集。當(dāng)感興趣的塊數(shù)目小的時(shí)候,這樣所謂的“詞典攻擊”工作得最好。例如,對(duì)以32bpp顯示方式顯示黑白對(duì)話框,因?yàn)槊繅K有4個(gè)象素,只需要16塊來顯示那樣的對(duì)話。對(duì)發(fā)現(xiàn)16個(gè)密文塊的盜密者的一個(gè)可能的途徑是通過建立即使在由GPU265解密以后仍有意義的內(nèi)容,對(duì)最終用戶歪曲對(duì)話。為此理由,保護(hù)的覆蓋最好地適用于防竄改對(duì)話,因?yàn)樵诮K端用戶看不到所期望的時(shí)它使應(yīng)用軟件程序能檢測到。
有兩種好的策略來挫敗希望建立詞典的盜密者。首先,因?yàn)樵~典只對(duì)給定的密鑰好用,改變密鑰并重加密內(nèi)容迫使盜密者用新的詞典開始。此外,對(duì)基本表面的加密,不需要使密鑰對(duì)軟件可用——它能在硬件中滾動(dòng),而只需要通知軟件,密鑰已被更改。因?yàn)橐郧暗拿荑€仍然可用,始終能用以前的密鑰解密并重加密尚未改變的基本表面的部分。因而,加密處理器220對(duì)基本表面270以那樣方法周期地滾動(dòng)加密密鑰,使得以前的密鑰仍然可用,(如用加密密鑰索引的雙重緩沖),并設(shè)法通知軟件,密鑰已被滾動(dòng)。
另外的策略涉及在加密前編碼在圖形中的位置。例如,圖形中的(x,y)象素位置(或如圖形偏置那樣的某些導(dǎo)出值)能在加密前異或(XOR)到象素?cái)?shù)據(jù)中;然后在解密后能夠接觸該造作。結(jié)果,對(duì)在該表面的不同區(qū)域中的象素的塊被不同地加密,而明文——密文的映射只是對(duì)攻擊者不可用的表面的給定位置有意義。
也提供預(yù)定的混攪格式。因?yàn)榧y理和離屏外表面需要隨機(jī)訪問,它們必須用塊密碼解密。在通常用于塊密碼的塊尺寸與對(duì)現(xiàn)代3D加速器的常用的高速緩存線尺寸之間協(xié)作良好,例如,若高速緩存線及塊的尺寸均為128位,則在硬件中能實(shí)現(xiàn)有效的加密和解密。即使有微小差別(如塊尺寸為128位而高速緩存線尺寸為256位),硬件實(shí)現(xiàn)看來也是有效的。
加密的紋理數(shù)據(jù)的一個(gè)問題是塊加密方案需要鄰接的字節(jié)塊在其加密或解密前可用;并且高速緩存線裝填需要象素?cái)?shù)據(jù)被混攪,即從圖形中(x,y)位置翻譯到的地址形成得高速緩存線裝填產(chǎn)生2D的象素區(qū)域。至今,硬件供應(yīng)商暴露可在混攪圖形數(shù)據(jù)時(shí)的假想的線性表面格式而沒有關(guān)于應(yīng)用軟件的知識(shí)。然而,因?yàn)樾湃诬浖l(fā)出加密的紋理數(shù)據(jù),軟件必須具有擾亂方案的先驗(yàn)知識(shí),使得它能加密鄰接的數(shù)據(jù)塊,并保存2D的位置。作為響應(yīng),定義混攪的圖形格式的詞典,包括YUV4:4:4,4:2:2,和4:2:0和RGB格式,為應(yīng)用軟件軟件使用。這些格式的性能有可能不如圖形被混攪到針對(duì)硬件的格式那樣高,除非加密以性能略為下降為代價(jià),即在交換中的安全性以速度為代價(jià)。
關(guān)于AYUV/ARGB(32bpp,裝成包),此32bpp表面格式除了對(duì)照度(Y)和色度(U和V)樣本的8位彩色通道外還包含字母通道。另外,它能包含標(biāo)準(zhǔn)的ARGB32bpp,因?yàn)閮煞N格式均是32bpp并裝成包。下面討論假設(shè)AYUV。其線性布置如圖5A。
在圖形中象素(X,Y)的偏置如下所示
偏置=Y(jié)*間距+X*4
假設(shè)128位的加密塊尺寸和高速緩存線尺寸,4個(gè)象素配合到單個(gè)塊中。在產(chǎn)生地址前將X和Y的低數(shù)據(jù)位交叉將導(dǎo)致在高速緩存線裝填中改善的2D位置。按照該格式,這些塊線性排列。
圖5B示出最終的圖形布置。每個(gè)帶序號(hào)的矩形是一個(gè)象素,而粗線矩形是加密的塊。對(duì)于將圖形中(x,y)位置轉(zhuǎn)換到偏置的這種格式,混攪函數(shù)的示例性偽碼,如下所示
DWORD
SwizzleAYUV(DWORD x,DWORD y,DWORD Pitch)
{
∥pitch is number of bytes per scanline of macro blocks
DWORD BlockOffset=(y>>1)*Pitch+(x>>1)*(128/8);
DWORD IntraBlockOffset=((y&2)<<2)|((x&2)<<1)|((y&1)<<1)|(x&1);
return BlockOffset+IntraBlockOffset*4;
}
對(duì)于YUY2(16bpp,裝成包)此表面格式用1/2的比率對(duì)“色度”樣本U和V進(jìn)行水平二次采樣。結(jié)果是平均到每象素16位的包圖形格式。
線性布置示于圖6A。混攪格式分配4*2象素的加密塊,如圖6B所示。如圖5A和5B,128位的塊也被混攪。注意,根據(jù)圖6B和將(x,y)座標(biāo)對(duì)翻譯成圖形偏置的下面示例性混攪偽碼,認(rèn)為U和V具有偶數(shù)的X個(gè)座標(biāo)
DWORDSwizzleYUY2Y(DWORD x,DWORD y,const SURFACEDESC&amp; sd){assert(x<sd.Width);assert(y<sd.Height);DWORD BlockOffset=(y>>1)*sd.Pitch+(x>>2)*(128/8);DWORD IntraBlockOffset=((x&amp;2)<<1)|((y&amp;1)<<1)|((x&amp;1)<<0);DWORD dwRet=BlockOffset+(IntraBlockOffset<<1);return dwRet;}DWORDSwizzleYUY2U(DWORD x,DWORD y,const SURFACEDESC&amp; sd){assert(x<sd.Width);assert(0=(x &amp; 1));assert(y<sd.Height);DWORD BlockOffset=(y>>1)*sd.Pitch+(x>>2)*(128/8);DWORD IntraBlockOffset=((x&amp;2)<<1)|((y&amp;1)<<1)|((x&amp;1)<<0);return BlockOffset+(IntraBlockOffset<<1)+1;}DWORDSwizzleYUY2V(DWORD x,DWORD y,const SURFACEDESC&amp; sd){<!-- SIPO <DP n="23"> --><dp n="d23"/>assert(x<sd.Width);assert(0=(x &amp; 1));assert(y<sd.Height);DWORD BlockOffset=(y>>2)*sd.Pitch+(x>>3)*(512/8);DWORD IntraBlockOffset=((x&amp;2)<<1)|((y&amp;1)<<1)|((x&amp;1)<<0);return BlockOffset+(IntraBlockOffset<<1)+3;}
在這方面,對(duì)伴隨圖5A,5B,6A和6B的混攪的偽碼,表面間距定義成128位的塊的每根掃描線的字節(jié)數(shù)。對(duì)于組成包的平面(12bpp),此表面格式用1/2的比率水平及垂直地二次采樣U和V,照度和色度的樣本排列在表面的兩個(gè)分開的部分。在圖7A中示出包平面(12bpp)的線性排列。
表面間距定義成在Y平面512位的塊的每行掃描線的字節(jié)數(shù)。UV平面的間距是Y平面間距的一半,因?yàn)橛?/4的樣本數(shù),但是每個(gè)樣本有2倍的彩色單元。圖7B中示出最終的混攪的圖形格式。
對(duì)于將(x,y)座標(biāo)翻譯成對(duì)Y、U和V單元的偏置的這種格式,混攪函數(shù)的示例性偽碼如下所示
DWORDSwizzlePP12Y(DWORD x,DWORD y,const SURFACEDESC&amp; sd){assert(x<sd.Width);assert(y<sd.Height);DWORD BlockOffset=(y>>2)*sd.Pitch+(x>>2)*(128/8);DWORD IntraBlockOffset=((y&amp;2)<<2)|((x&amp;2)<<1)|((y&amp;1)<<1)|(x&amp;1);return BlockOffset+IntraBlockOffset;}DWORDSwizzlePP12U(DWORD x,DWORD y,const SURFACEDESC&amp; sd)<!-- SIPO <DP n="24"> --><dp n="d24"/>{DWORD PlaneOffset=(sd.Height>>3)*sd.Pitch;if((0!=(x&amp;1))‖(0?。?y&amp;1)))_asm int 3x>>=1;y>>=1;DWORD BlockOffset=(y>>1)*sd.Pitch/2+(x>>2)*(128/8);DWORD IntraBlockOffset=((x&amp;2)<<1)|((y&amp;1)<<1)|(x&amp;1);return PlaneOffset+BlockOffset+(IntraBlockOffset<<1);}DWORDSwizzlePP12V(DWORD x,DWORD y,const SURFACEDESC&amp; sd){DWORD PlaneOffset=(sd.Height>>3)*sd.Pitch;if((0?。?x&amp;1))‖(0!=(y&amp;1)))_asm int 3x>>=1;y>>=1;DWORD BlockOffset=(y>>1)*sd.Pitch/2+(x>>2)*(128/8);DWORD IntraBlockOffset=((x&amp;2)<<1)|((y&amp;1)<<1)|(x&amp;1);return PlaneOffset+BlockOffset+(IntraBlockOffset<<1)+1;}
第三層安全——加密的命令緩沖器
上述關(guān)于第一層和第二層安全的實(shí)施例的設(shè)備能增強(qiáng),以便除了GPU265操作的圖形數(shù)據(jù)外,還加密受到GPU265作用的命令緩沖器。若應(yīng)用軟件210希望保護(hù)命令緩沖器中帶內(nèi)發(fā)送到硬件的內(nèi)容,需要此功能。圖9A示出使用加密的命令緩沖器900的視頻解碼,據(jù)此,將內(nèi)容被傳給加密的紋理400a并由解密組件450解密和由視頻解碼器430b解碼。雖然可能只對(duì)命令緩沖器加密,如加密的解碼幀420a所示,內(nèi)容在視頻存儲(chǔ)器及在命令緩沖器中加密。因此在類似于此的情況加密命令緩沖器是合適的,其中宏功能塊在視頻存儲(chǔ)器,而移動(dòng)向量和其他命令發(fā)送到此命令流。
對(duì)加密的紋理數(shù)據(jù)的最基本約束也適用于加密的命令緩沖數(shù)據(jù),但有一警告,彩色緩沖器的加密對(duì)保護(hù)所討論的內(nèi)容沒有足夠的保護(hù)。如Z緩沖器那樣的中間緩沖器也能被加密以保護(hù)系統(tǒng)免受明文的攻擊。已說明,3D演示命令810在到視頻解碼器430c的途中被加密。紋理數(shù)據(jù)400a由解密組件450解密并按命令810由視頻解碼器430c處理。隨后,在彩色緩沖器810的數(shù)據(jù)由加密/解密組件830加密。
在命令緩沖器被用完之前或之后能作竄改檢測,在命令緩沖器被完用后使用兩次通過。在一個(gè)實(shí)施例中,在內(nèi)容顯示或演示之后能作竄改檢測。
另一些實(shí)施例——圖形卡輸出的加密
在每個(gè)上述實(shí)施例中,雖然機(jī)密性和完整性已被證明,并對(duì)于圖2中的虛線部分作了敘述,對(duì)于視頻輸出機(jī)密性和完整性尚未被證明,即理論上,在圖形卡和演示設(shè)備(如監(jiān)視器)之間的接口和/或演示設(shè)備本身能遭受攻擊。
因此,在上述實(shí)施例中,如圖9所示在過程的某點(diǎn)(即使內(nèi)容在視頻存儲(chǔ)器中受保護(hù))和在圖形卡處理過程中,數(shù)據(jù)明文送到DVI/DAC290。結(jié)果,數(shù)據(jù)能在到演示設(shè)備的途中以及在演示設(shè)備中被盜版或更改。
因此,按照另選的實(shí)施例,它能可選地與這里敘述的其他實(shí)施例組合,在演示設(shè)備提供一姐妹加密處理器220b,以補(bǔ)充由加密處理器220a完成的功能。在這方面,通訊上與加密處理器220a連接的加密組件910a將數(shù)據(jù)在傳到DVI/DAC組件290之前進(jìn)行加密,而通訊上與加密處理器220b連接的解密組件910b解碼作為顯示或演示的部分發(fā)生的數(shù)據(jù),防止數(shù)據(jù)被盜版。加密組件910可選地與DVI/DAC組件290包括在一起。簡言之,應(yīng)用軟件同樣的加密和解密及密鑰管理技術(shù),內(nèi)容能通過整個(gè)圖形流水線被保護(hù),用于用密碼保護(hù)內(nèi)容的安全傳輸及處理。
如上所述,雖然結(jié)合各種計(jì)算設(shè)備、硬件、軟件和網(wǎng)絡(luò)體系結(jié)構(gòu)敘述了本發(fā)明的示例性實(shí)施例,基本的概念可應(yīng)用軟件于任何希望保護(hù)從可信源來的內(nèi)容的計(jì)算設(shè)備或系統(tǒng)。因此,結(jié)合按照本發(fā)明的可信圖形系統(tǒng)的使用,認(rèn)證組件的技術(shù)能應(yīng)用軟件于各種應(yīng)用軟件場合及設(shè)備。例如,結(jié)合本發(fā)明的可信圖形系統(tǒng)的使用認(rèn)證組件的方法的各部分能應(yīng)用軟件到計(jì)算設(shè)備的操作系統(tǒng),作為設(shè)備的分開的對(duì)象,作為另外對(duì)象的部分,作為從服務(wù)器的下載對(duì)象,作為分布式對(duì)象等來提供。雖然這里選擇示例性編程語言、偽碼、名稱和例子作為各種選擇的代表,語言、偽碼、名稱和例子不受限制。
這里敘述的各種技術(shù)能根據(jù)情況結(jié)合硬件或軟件或兩者的組合實(shí)現(xiàn)。因此,本發(fā)明的方法及裝置或某些方面或其部分能采取包容在如軟盤、CD-ROM、硬盤或其他機(jī)器可讀存儲(chǔ)媒體那樣的實(shí)質(zhì)性媒體中的程序碼(即指令)的形式,其中每當(dāng)該程序編碼被加載到如計(jì)算機(jī)那樣的機(jī)器,并由它執(zhí)行,該計(jì)算機(jī)就變成實(shí)施本發(fā)明的裝量。在程序碼在可編程計(jì)算機(jī)上執(zhí)行的情況,計(jì)算設(shè)備通常包括處理器,由該處理器可執(zhí)行的存儲(chǔ)媒體(包括易失和非易失存儲(chǔ)器和/或存儲(chǔ)單元)、至少一個(gè)輸入設(shè)備和至少一個(gè)輸出設(shè)備。如通過使用數(shù)據(jù)處理API、操作系統(tǒng)、可信的應(yīng)用軟件等一個(gè)或多個(gè)利用本發(fā)明的技術(shù)的程序,最好以高級(jí)的過程語言或面向?qū)ο蟮木幊陶Z言實(shí)現(xiàn)以便與計(jì)算機(jī)系統(tǒng)通訊。然而,若希望,程序能以匯編或機(jī)器語言實(shí)現(xiàn)。在任何情況,語言能是被翻譯或被解釋的語言,且在本發(fā)明的各種實(shí)施例中對(duì)GPU265的硬件實(shí)現(xiàn)施加了條件。
本發(fā)明的方法和裝置可以經(jīng)以程序碼的形式體現(xiàn)的通訊來實(shí)踐,程序碼經(jīng)某些傳輸媒體發(fā)送,如經(jīng)電線或電纜,穿過光纖或經(jīng)其他發(fā)送形式發(fā)送,其中當(dāng)程序碼被如EPROM、門陣列、可編程邏輯設(shè)備(PLD)等那樣的機(jī)器接收、加載和執(zhí)行時(shí),客戶計(jì)算機(jī)、視頻記錄儀等或具有圖形卡和上述在示例性實(shí)施例中描述的加密能力的接收機(jī)器成為實(shí)施本發(fā)明的裝置。當(dāng)在通用處理器上實(shí)現(xiàn)時(shí),程序碼結(jié)合處理器,提供工作上調(diào)用本發(fā)明功能的獨(dú)特裝置。此外,結(jié)合本發(fā)明使用的任何存儲(chǔ)技術(shù)可以不變地是硬件和軟件的結(jié)合。
雖然本發(fā)明已結(jié)合各種圖的較佳實(shí)施例加以描述,可以理解,可使用其他類型的實(shí)施例,或?qū)γ枋龅膶?shí)施例能作出修改及增加,而沒有偏離地完成本發(fā)明的同樣的功能。例如,雖然本發(fā)明的示例性網(wǎng)絡(luò)環(huán)境在如對(duì)等的連網(wǎng)環(huán)境那樣的情況下描述,本專業(yè)熟練者認(rèn)識(shí)到,本發(fā)明不限于此,而且在本應(yīng)用軟件情況中描述的方法能應(yīng)用軟件到任意的計(jì)算設(shè)備或環(huán)境,如游戲操縱臺(tái)、手持計(jì)算機(jī)、便攜機(jī)等,而不管是有線或無線連網(wǎng),該方法能應(yīng)用軟件到任何數(shù)量經(jīng)通訊網(wǎng)絡(luò)連接,并經(jīng)過網(wǎng)絡(luò)互動(dòng)的計(jì)算設(shè)備。此外應(yīng)該強(qiáng)調(diào),尤其在無線連網(wǎng)設(shè)備的數(shù)目繼續(xù)激增時(shí),可以期待有各種計(jì)算機(jī)平臺(tái),包括手持設(shè)備操作系統(tǒng)和其他針對(duì)應(yīng)用軟件的操作系統(tǒng)。再則,本發(fā)明可以在多個(gè)協(xié)處理芯片或設(shè)備中通過這些設(shè)備實(shí)現(xiàn),如具有多個(gè)GPU的設(shè)備,而且這里實(shí)現(xiàn)的存儲(chǔ)可類似地在多個(gè)設(shè)備間實(shí)現(xiàn)。此外,實(shí)現(xiàn)本發(fā)明的認(rèn)證技術(shù)的應(yīng)用軟件或設(shè)備甚至不需要在具有被認(rèn)證的圖形平臺(tái)的同一計(jì)算設(shè)備中。此外,按本發(fā)明的圖形卡能是可拆卸的卡,如加速圖形端口(AGP)卡,或“集成卡”,即植入芯片組的卡。因此,本發(fā)明不應(yīng)限于任何單個(gè)實(shí)施例,但在寬度和范圍上應(yīng)按照附后的權(quán)利要求來解釋。
附錄A流密碼與塊密碼
此附錄詳述了流密碼和塊密碼之間有關(guān)本文件的內(nèi)容的差別。
作為規(guī)則,流密碼比塊密碼更快更簡單地實(shí)現(xiàn)。
如名稱的含義那樣,流密碼加密和解密字節(jié)流。為解密在流中第N個(gè)字節(jié),密碼在起點(diǎn)開始,依次前進(jìn)一個(gè)字節(jié),達(dá)到所希望的流中偏移。
相反,以電子碼本方式運(yùn)行的塊密碼能加密或解密數(shù)據(jù)中任意的塊,但必須一次加密/解密完整的塊。典型的塊大小是16個(gè)字節(jié)。
流密碼的使用方式使得同一數(shù)據(jù)永不加密碼兩次,即用于加密和解密的密鑰必須頻繁改變。例如在用于收費(fèi)電視回放時(shí),每幀一次地改變密鑰是足夠了。
最后注意,有質(zhì)量好的塊密碼,可公用。
權(quán)利要求
1.一種結(jié)合使用具有圖形卡的可信的圖形平臺(tái)提供認(rèn)證的方法,包括
由圖形卡的應(yīng)用軟件或設(shè)備之一請(qǐng)求驗(yàn)證該圖形卡是安全的圖形卡;
響應(yīng)所述的請(qǐng)求,由通訊上安全地與圖形卡連接的加密處理器產(chǎn)生一個(gè)會(huì)話密鑰;和
發(fā)送所述的會(huì)話密鑰達(dá)到應(yīng)用軟件和設(shè)備之一。
2.根據(jù)權(quán)利要求1的方法,其特征在于還包括
對(duì)與圖形卡資源請(qǐng)求有關(guān)的圖形卡揭示所述會(huì)話密鑰。
3.根據(jù)權(quán)利要求1的方法,其特征在于每個(gè)加密處理器是個(gè)體化的,并在制造期間認(rèn)證。
4.根據(jù)權(quán)利要求1的方法,其特征在于每個(gè)加密處理器包括一個(gè)獨(dú)特的專用解密密碼。
5.根據(jù)權(quán)利要求1的方法,其特征在于該加密處理器通過下列方法之一永久地附著到圖形卡(1)將加密處理器加到現(xiàn)有的芯片中,和(2)將加密處理器作為分開的芯片加到圖形卡;
由此,在加密處理器和圖形卡的其余部分之間的物理連接是不可訪問和不顯露的。
6.如權(quán)利要求1的方法,其特征在于加密處理器包括(1)用于會(huì)話密鑰的多位易失寄存器S和(2)多個(gè)索引密鑰的數(shù)組。
7.根據(jù)權(quán)利要求6的方法,其特征在于會(huì)話密鑰的壽命是應(yīng)用軟件和設(shè)備之一的運(yùn)行時(shí)間,而多個(gè)密鑰的每個(gè)密鑰的壽命由從應(yīng)用軟件和設(shè)備之一來的指令操縱。
8.根據(jù)權(quán)利要求6的方法,其特征在于所述多個(gè)索引密鑰的每個(gè)(1)與包括所述應(yīng)用軟件和設(shè)備之一的主機(jī)系統(tǒng)的指定窗口關(guān)聯(lián),并且(2)由圖形卡使用來解密該窗口的內(nèi)容。
9.根據(jù)權(quán)利要求1的方法,其特征在于所述請(qǐng)求包括經(jīng)下列之一與加密處理器接口(1)到所述應(yīng)用軟件和設(shè)備之一的外部接口,和(2)到圖形卡的圖形處理單元(GPU)的內(nèi)部接口。
10.根據(jù)權(quán)利要求9的方法,其特征在于所述與外部接口的連接包括使用私有密鑰協(xié)議于認(rèn)證及密鑰傳輸,所述認(rèn)證及密鑰傳輸包括
由所述應(yīng)用軟件和設(shè)備之一用加密處理器的公開密鑰加密會(huì)話密鑰,以建立會(huì)話密鑰加密團(tuán);
加密處理器接收該會(huì)話密鑰加密團(tuán);
由加密處理器用該加密處理器的公開密鑰解密該會(huì)話密鑰加密團(tuán);
由此,所述應(yīng)用軟件和設(shè)備之一與加密處理器共享秘密,使所述應(yīng)用軟件和設(shè)備之一能使用所述的會(huì)話密鑰發(fā)送指令到加密處理器。
11.根據(jù)權(quán)利要求10的方法,其特征在于由加密處理器通過一組函數(shù)顯露外部接口,所述函數(shù)組包括
Set Session Key函數(shù),它調(diào)用所述接收,進(jìn)行接收及解密,由此使用所述會(huì)話密鑰保密所有進(jìn)一步的加密處理器與所述應(yīng)用軟件和設(shè)備之一之間的來往通訊;
Set函數(shù);
Get函數(shù);
其中,所述應(yīng)用軟件和設(shè)備之一借助Set函數(shù)和Get函數(shù)與所述加密處理器通訊,為了機(jī)密性和完整性其參數(shù)受密碼的保護(hù)。
12.根據(jù)權(quán)利要求11的方法,其特征在于所述Get函數(shù)至少包括下列之一(1)索引密鑰特性ID方法,它將新密鑰和目的標(biāo)簽寫入由該索引識(shí)別的密鑰寄存器,(2)輸出鎖定特性ID方法,它設(shè)置固定屏幕幾何結(jié)構(gòu)及圖形卡輸出的鎖定標(biāo)志,和(3)L2KeyMgmt特性ID方法,它對(duì)于由包括所述安全的圖形卡和加密處理器的可信圖形平臺(tái)提供的視頻存儲(chǔ)器加密保護(hù)的層,設(shè)置密鑰更新頻率。
13.根據(jù)權(quán)利要求11的方法,其特征在于所述Set函數(shù)至少包括下列之一(1)輸出端口方法,它返回圖形卡的至少一個(gè)輸出的設(shè)置,(2)認(rèn)證碼方法,它返回按照包括所述安全的圖形卡及加密處理器的可信圖形平臺(tái)的第一保護(hù)層返回窗口的內(nèi)容的散列,(3)DX-SEC版本方法,它返回由圖形卡支持的DX-SEC的版本,(4)安全表面計(jì)數(shù)法,它返回由圖形卡支持的安全表面的數(shù)目,(5)覆蓋表面計(jì)數(shù)法,它返回由圖形卡支持的覆蓋的安全表面的數(shù)目,(6)基本類型法它對(duì)圖形卡的未來方法提供靈活性,(7)幾何結(jié)構(gòu)方法,它返回可信圖形平臺(tái)的視頻存儲(chǔ)器的基本表面的寬,高,刷新速度和彩色深度,(8)設(shè)置受保護(hù)的覆蓋的一個(gè)區(qū)域的至少一個(gè)位置和尺寸的方法,和(9)設(shè)置要解密的基本表面的一部分的至少一個(gè)位置和尺寸的方法。
14.根據(jù)權(quán)利要求9的方法,其特征在于與內(nèi)部接口的所述連接包括在加密處理器和所述圖形卡之間的連接,由此,在不破壞圖形卡的情況下(1)加密處理器永久地固定在圖形卡上,并且(2)在加密處理器和圖形卡的其余部分之間的連接不顯露。
15.根據(jù)權(quán)利要求14的方法,其特征在于(1)加密處理器被焊在圖形卡上,或(2)加密處理器駐留在GPU的同一芯片上。
16.根據(jù)權(quán)利要求6的方法,其特征在于所述多個(gè)索引密鑰的每個(gè)索引密鑰按照與所述索引密鑰關(guān)聯(lián)的目的參數(shù)只使用一次,其中當(dāng)索引密鑰被新的值填入后,以前密鑰的值被舍棄,不可檢索。
17.根據(jù)權(quán)利要求16的方法,其特征在于目的參數(shù)值包括
與結(jié)合覆蓋表面的加密采用的DX-SEC流密碼一起使用的L1STREAM密鑰;和
與用于解密紋理塊的塊密碼一起使用的L2BLOCK密鑰;它由所述應(yīng)用軟件和設(shè)備之一寫出。
18.一種已調(diào)數(shù)據(jù)信號(hào),其特征在于,載送用于完成權(quán)利要求1的方法的計(jì)算機(jī)可執(zhí)行指令。
19.一種計(jì)算機(jī)設(shè)備,其特征在于,包括用于完成權(quán)利要求1的方法的裝置。
20.一種計(jì)算機(jī)設(shè)備,其特征在于,包括
應(yīng)用軟件和設(shè)備之一,和
具有至少一個(gè)GPU和一個(gè)與所述至少一個(gè)GPU通訊上安全地連接的加密處理器的圖形卡;
其中所述應(yīng)用軟件和設(shè)備之一請(qǐng)求圖形卡驗(yàn)證圖形卡是否安全圖形卡,并隨后響應(yīng)所述請(qǐng)求,加密處理器產(chǎn)生會(huì)話密鑰并將所述會(huì)話密鑰發(fā)送到該應(yīng)用軟件和設(shè)備之一。
21.根據(jù)權(quán)利要求20的計(jì)算設(shè)備,其特征在于所述會(huì)話密鑰對(duì)與圖形卡資源請(qǐng)求有關(guān)的圖形卡揭示所述會(huì)話密鑰。
22.根據(jù)權(quán)利要求20的計(jì)算設(shè)備,其特征在于每個(gè)加密處理器是個(gè)體化的,并在制造期間被認(rèn)證。
23.如權(quán)利要求20的計(jì)算設(shè)備,其特征在于每個(gè)加密處理器包括一個(gè)獨(dú)特的專用解密密鑰。
24.根據(jù)權(quán)利要求20的計(jì)算設(shè)備,其特征在于加密處理器用下列方法之一永久地附著到圖形卡(1)將加密處理器加到現(xiàn)有芯片,和(2)將加密處理器作為分開的芯片加到圖形卡;
由此,在加密處理器和圖形卡的其余部分的物理連接是不可訪問且不暴露的。
25.根據(jù)權(quán)利要求20的計(jì)算設(shè)備,其特征在于該加密處理器包括(1)用于會(huì)話密鑰的多位易失寄存器S和(2)多個(gè)索引密鑰的數(shù)組。
26.根據(jù)權(quán)利要求25的計(jì)算設(shè)備,其特征在于會(huì)話密鑰的壽命是應(yīng)用軟件和設(shè)備之一的運(yùn)行時(shí)間,而多個(gè)密鑰的每個(gè)密鑰的壽命由從應(yīng)用軟件和設(shè)備之一的指令操縱。
27.如權(quán)利要求25的計(jì)算設(shè)備,其特征在于所述多個(gè)索引密鑰的每一個(gè)(1)與包括所述應(yīng)用軟件和設(shè)備之一的主機(jī)系統(tǒng)的特定窗口關(guān)聯(lián),并且(2)由圖形卡用于解密該窗口的內(nèi)容。
28.如權(quán)利要求20的計(jì)算設(shè)備,其特征在于所述應(yīng)用軟件和設(shè)備之一通過下列途徑之一與加密處理器接口(1)到所述應(yīng)用軟件和設(shè)備之一的外部接口,和(2)到圖形卡上圖形處理器(GPU)的內(nèi)部接口。
29.如權(quán)利要求28的計(jì)算設(shè)備,其特征在于所述應(yīng)用軟件和設(shè)備之一使用用于認(rèn)證和密鑰傳輸?shù)乃接忻荑€加密協(xié)議與外部接口連接,所述認(rèn)證和密鑰傳輸包括
由所述應(yīng)用軟件和設(shè)備之一用加密處理器的公開密鑰加密會(huì)話密鑰以建立會(huì)話密鑰團(tuán);
由加密處理器接收會(huì)話密鑰加密團(tuán);和
由加密處理器用加密處理器的私有密鑰解密該會(huì)話密鑰加密團(tuán),從而獲得會(huì)話密鑰;
由此,所述應(yīng)用軟件和設(shè)備之一和加密處理器共享秘密,使所述應(yīng)用軟件和設(shè)備之一能使用所述會(huì)話密鑰發(fā)送指令到該加密處理器。
30.根據(jù)權(quán)利要求29的計(jì)算設(shè)備,其特征在于通過一組函數(shù)由加密處理器暴露外部接口,所述函數(shù)組包括
Set Session Key函數(shù),它調(diào)用所述接收,進(jìn)行接收及解密,由此,使用所述會(huì)話密鑰保密所有進(jìn)一步的加密處理器與所述應(yīng)用軟件和設(shè)備之一之間的來往通訊;
Set函數(shù);
Get函數(shù);
其中,所述應(yīng)用軟件和設(shè)備之一借助Set函數(shù)和Get函數(shù)與所述加密處理器通訊,為了機(jī)密性和完整性其參數(shù)受密碼的保護(hù)。
31.根據(jù)權(quán)利要求30的計(jì)算設(shè)備,其特征在于所述Get函數(shù)至少包括下列之一(1)索引密鑰特性ID方法,它將新密鑰和目的標(biāo)簽寫入由該索引識(shí)別的密鑰寄存器,(2)輸出鎖定特征ID方法,它設(shè)置固定屏幕幾何結(jié)構(gòu)及圖形卡輸出的鎖定標(biāo)志,和(2)L2KeyMgmt特性ID方法,它對(duì)于由包括所述安全圖形卡和加密處理器的可信圖形平臺(tái)提供的視頻存儲(chǔ)器加密保護(hù)的層設(shè)置密鑰更新頻率。
32.如權(quán)利要求30的計(jì)算設(shè)備,其特征在于所述Set函數(shù)至少包括下列之一(1)輸出端口方法,它返回圖形卡的至少一個(gè)輸出的設(shè)置,(2)認(rèn)證碼方法,它返回按照包括所述安全圖形卡及加密處理器的可信的圖形平臺(tái)的第一層保護(hù)返回窗口內(nèi)容的散列,(2)DX-SEC版本方法,它返回由圖形卡支持的DX-SEC的版本,(3)安全表面計(jì)數(shù)法,它返回由圖形卡支持的安全表面的數(shù)目,(4)覆蓋表面計(jì)數(shù)法,它返回由圖形卡支持的覆蓋的安全表面的數(shù)目,(5)基本類型法,它對(duì)圖形卡的未來方法提供靈活性,(6)幾何結(jié)構(gòu)方法,它返回可信圖形平臺(tái)的視頻存儲(chǔ)器的基本表面的寬、高、刷新速度和彩色深度,(7)設(shè)置受保護(hù)的覆蓋的一個(gè)區(qū)域的至少一個(gè)位置和尺寸的方法,和(8)設(shè)置要解密的基本表面的一部分的至少一個(gè)位置和尺寸的方法。
33.根據(jù)權(quán)利要求28的計(jì)算設(shè)備,其特征在于所述與內(nèi)部接口的連接包括在加密處理器和所述圖形卡之間的連接,由此,在不破壞圖形卡的情況下,(1)加密處理器永久地固定在圖形卡上并且(2)在加密處理器和圖形卡的其余部分之間的連接不暴露。
34.根據(jù)權(quán)利要求33的計(jì)算設(shè)備,其特征在于(1)加密處理器被焊在圖形卡上,或(2)加密處理器駐留在GPU的同一芯片上。
35.根據(jù)權(quán)利要求25的計(jì)算設(shè)備,其特征在于所述多個(gè)索引密鑰的每個(gè)索引密鑰按照與所述索引密鑰關(guān)聯(lián)的目的參數(shù)只使用一次,其中當(dāng)索引密鑰被新的值填入后,以前密鑰的值被舍棄,不可檢索。
36.如權(quán)利要求35的計(jì)算設(shè)備,其特征在于目的參數(shù)值包括
與結(jié)合覆蓋表面加密采用的DX-SEC流密碼一起使用的L1STREAM密鑰,和
與用于解密紋理塊的塊密碼一起使用的L2BLOCK密鑰;后一密鑰由所述應(yīng)用軟件和設(shè)備之一寫出。
37.一種結(jié)合使用具有圖形卡的可信圖形平臺(tái)提供認(rèn)證的方法,包括
由圖形卡的應(yīng)用軟件或設(shè)備之一請(qǐng)求驗(yàn)證該圖形卡是否是安全的圖形卡;
響應(yīng)所述請(qǐng)求,經(jīng)過在可信圖形平臺(tái)中建立用于密鑰傳輸?shù)陌踩ㄓ崣C(jī)制發(fā)送會(huì)話密鑰到應(yīng)用軟件和設(shè)備之一;
由此,該應(yīng)用軟件和設(shè)備之一事先知道由安全圖形卡對(duì)同一地址空間的寫入被映射到圖形卡的密鑰存儲(chǔ)器。
38.根據(jù)權(quán)利要求37的方法,其特征在于安全通訊機(jī)制是低帶寬連接。
39.一種結(jié)合使用具有圖形卡的可信圖形平臺(tái)提供認(rèn)證的方法,包括
由應(yīng)用軟件和設(shè)備之一通過經(jīng)保護(hù)的路徑向可信圖形平臺(tái)發(fā)送塊加密數(shù)據(jù)請(qǐng)求驗(yàn)證該圖形卡是否是安全的圖形卡;
響應(yīng)所述請(qǐng)求,使用密碼處理設(shè)備解密該塊加密數(shù)據(jù),從而驗(yàn)證該圖形卡是安全圖形卡;
通知所述應(yīng)用軟件和設(shè)備之一,該圖形卡是安全的圖形卡。
40.一種計(jì)算機(jī)可讀媒體,該媒體的至少一個(gè)存儲(chǔ)多個(gè)計(jì)算機(jī)可執(zhí)行指令,其特征在于,所述多個(gè)計(jì)算機(jī)可執(zhí)行指令包括
由圖形卡的應(yīng)用軟件和設(shè)備之一請(qǐng)求驗(yàn)證該圖形卡是安全圖形卡的手段;
響應(yīng)所述請(qǐng)求手段,由通訊上安全地連接該圖形卡的加密處理器產(chǎn)生會(huì)話密鑰的手段;
發(fā)送所述會(huì)話密鑰到該應(yīng)用軟件和設(shè)備之一的手段。
41.根據(jù)權(quán)利要求40的至少一個(gè)計(jì)算機(jī)可讀媒體,其特征在于還包括
對(duì)與圖形卡資源請(qǐng)求有關(guān)的圖形卡揭示所述會(huì)話密鑰的手段。
42.根據(jù)權(quán)利要求40的至少一個(gè)計(jì)算機(jī)可讀媒體,其特征在于每個(gè)加密處理器包括一個(gè)獨(dú)特的專用解密密鑰,并且個(gè)體化,在制造期間被認(rèn)證。
43.根據(jù)權(quán)利要求40的至少一個(gè)計(jì)算機(jī)可讀媒體,其特征在于該加密處理器通過下的方法之一附著到圖形卡(1)將加密處理器加到現(xiàn)有的芯片,和(2)將加密處理器作為分開的芯片加到圖形卡;
由此,在加密處理器和圖形卡的其余部分之間的物理連接是不可訪問和不暴露的。
44.根據(jù)權(quán)利要求40的至少一個(gè)計(jì)算機(jī)可讀媒體,其特征在于該加密處理器包括(1)用于會(huì)話密鑰的多位易失寄存器S和(2)多個(gè)索引密鑰的數(shù)組。
45.根據(jù)權(quán)利要求44的至少一個(gè)計(jì)算機(jī)可讀媒體,其特征在于該會(huì)話密鑰的壽命是應(yīng)用軟件和設(shè)備之一的運(yùn)行時(shí)間,而多個(gè)密鑰多個(gè)密鑰的每個(gè)密鑰的壽命由從應(yīng)用軟件和設(shè)備之一來的指令操縱。
46.根據(jù)權(quán)利要求44的至少一個(gè)計(jì)算機(jī)可讀媒體,其特征在于所述多個(gè)索引密鑰的每個(gè)(1)與包括所述應(yīng)用軟件和設(shè)備之一的主機(jī)系統(tǒng)的指定窗口關(guān)聯(lián),并且(2)由圖形卡用于解密該窗口的內(nèi)容。
47.根據(jù)權(quán)利要求40的至少一個(gè)計(jì)算機(jī)可讀媒體,其特征在于所述請(qǐng)求手段包括經(jīng)下列之一與加密處理器接口的手段(1)到所述應(yīng)用軟件和設(shè)備之一的外部接口,和(2)到圖形卡的圖形處理單元(GPU)的內(nèi)部接口。
48.根據(jù)權(quán)利要求47的至少一個(gè)計(jì)算機(jī)可讀媒體,其特征在于所述與外部接口連接的手段包括使用私有密鑰協(xié)議于認(rèn)證及密鑰傳輸,所述認(rèn)證及密鑰傳輸包括
由所述應(yīng)用軟件和設(shè)備之一用加密處理器的公開密鑰加密會(huì)話密鑰,以建立會(huì)話密鑰加密團(tuán)的手段;
由加密處理器接收該會(huì)話密鑰加密團(tuán)的手段;
由加密處理器用該加密處理器的公開密鑰解密該會(huì)話密鑰加密團(tuán)的手段;
由此,所述應(yīng)用軟件和設(shè)備之一與加密處理器共享秘密,使所述應(yīng)用軟件和設(shè)備之一能使用所述會(huì)話密鑰發(fā)送指令到加密處理器。
49.根據(jù)權(quán)利要求48的至少一個(gè)計(jì)算機(jī)可讀媒體,其特征在于由加密處理器通過一組函數(shù)顯露外部接口,所述函數(shù)組包括
Set Session Key函數(shù),它調(diào)用所述接收,進(jìn)行接收及解密,由此,使用所述會(huì)話密鑰保密所有進(jìn)一步的加密處理器與所述應(yīng)用軟件和設(shè)備之一之間的來往通訊;
Set函數(shù);
Get函數(shù);
其中,所述應(yīng)用軟件和設(shè)備之一借助Set函數(shù)和Get函數(shù)與所述加密處理器通訊,為了機(jī)密性和完整性其參數(shù)受密碼的保護(hù)。
50.根據(jù)權(quán)利要求49的至少一個(gè)計(jì)算機(jī)可讀媒體,其特征在于所述Get函數(shù)至少包括下列之一(1)索引密鑰特性ID方法,它將新密鑰和目的標(biāo)簽寫入由該索引識(shí)別的密鑰寄存器,(2)輸出鎖定特性ID方法,它設(shè)置固定屏幕幾何結(jié)構(gòu)及圖形卡輸出的鎖定標(biāo)志,和(2)L2KeyMgmt特性ID方法,它對(duì)于由包括所述安全圖形卡和加密處理器的可信圖形平臺(tái)提供的視頻存儲(chǔ)器加密保護(hù)的層設(shè)置密鑰更新頻率。
51.根據(jù)權(quán)利要求49的至少一個(gè)計(jì)算機(jī)可讀媒體,其特征在于所述Set函數(shù)至少包括下列之一(1)輸出端口方法,它返回圖形卡的至少一個(gè)輸出的設(shè)置,(2)認(rèn)證碼方法,它返回按照包括所述安全的圖形卡及加密處理器的可信圖形平臺(tái)的第一層保護(hù)返回窗口內(nèi)容的散列,(2)DX-SEC版本方法,它返回由圖形卡支持的DX-SEC的版本,(3)安全表面計(jì)數(shù)法,它返回由圖形卡支持的安全表面的數(shù)目,(4)覆蓋表面計(jì)數(shù)法,它返回由圖形卡支持的覆蓋的安全表面的數(shù)目,(5)基本類型法,它對(duì)圖形卡的未來方法提供靈活性,(6)幾何結(jié)構(gòu)方法,它返回可信圖形平臺(tái)的視頻存儲(chǔ)器的基本表面的寬,高,刷新速度和彩色深度,(7)設(shè)置受保護(hù)的覆蓋的一個(gè)區(qū)域的至少一個(gè)位置和尺寸的方法,和(8)設(shè)置要解密的基本表面的一部分的至少一個(gè)位置和尺寸的方法。
52.根據(jù)權(quán)利要求47的至少一個(gè)計(jì)算機(jī)可讀媒體,其特征在于所述與內(nèi)部接口的連接包括在加密處理器和所述圖形卡之間的連接,由此,在不破壞圖形卡的情況下,(1)加密處理器永久地固定在圖形卡上并且(2)在加密處理器和圖形卡的其余部分之間的連接不顯露。
53.如權(quán)利要求52的至少一個(gè)計(jì)算機(jī)可讀媒體,其特征在于(1)加密處理器被焊在圖形卡上,或(2)加密處理器駐留在GPU的同一芯片上。
54.根據(jù)權(quán)利要求44的至少一個(gè)計(jì)算機(jī)可讀媒體,其特征在于所述多個(gè)索引密鑰的每個(gè)索引密鑰按照與所述索引密鑰相關(guān)的目的參數(shù)只使用一次,其中當(dāng)索引密鑰被新的值填入后,以前密鑰的值被舍棄,不可檢索。
55.根據(jù)權(quán)利要求54的至少一個(gè)計(jì)算機(jī)可讀媒體,其特征在于目的參數(shù)值包括
與結(jié)合覆蓋表面的加密采用的DX-SEC流密碼一起使用的L1STREAM密鑰,和
與用于解密紋理塊的塊密碼一起使用的L2BLOCK密鑰;后一密鑰由所述應(yīng)用軟件和設(shè)備之一寫出。
56.一種計(jì)算機(jī)設(shè)備的操作系統(tǒng),其特征在于,包括
由圖形卡的應(yīng)用軟件或設(shè)備之一請(qǐng)求驗(yàn)證該圖形卡是否是安全圖形卡的手段;
響應(yīng)所述請(qǐng)求手段的請(qǐng)求,由通訊上安全地與圖形卡連接的加密處理器產(chǎn)生一個(gè)會(huì)話密鑰的手段;
發(fā)送所述會(huì)話密鑰到應(yīng)用軟件和設(shè)備之一的手段。
57.根據(jù)權(quán)利要求56的操作系統(tǒng),其特征在于還包括對(duì)與圖形卡資源請(qǐng)求有關(guān)的圖形卡揭示所述會(huì)話密鑰的手段。
58.根據(jù)權(quán)利要求56的操作系統(tǒng),其特征在于每個(gè)加密處理器包括一個(gè)獨(dú)特的專用解密密鑰,并且個(gè)體化,在制造期間被認(rèn)證。
59.根據(jù)權(quán)利要求56的操作系統(tǒng),其特征在于加密處理器通過下列方法之一永久地附著到圖形卡(1)將加密處理器加到現(xiàn)有的芯片,和(2)將加密處理器作為分別的芯片加到圖形卡;
由此,在加密處理器和圖形卡的其余部分之間的物理連接是不可訪問和不顯露的。
60.根據(jù)權(quán)利要求56的操作系統(tǒng),其特征在于加密處理器包括(1)用于會(huì)話密鑰的多位易失寄存器S和(2)多個(gè)索引密鑰的數(shù)組。
61.根據(jù)權(quán)利要求60的操作系統(tǒng),其特征在于會(huì)話密鑰的壽命是應(yīng)用軟件和設(shè)備之一的運(yùn)行時(shí)間,而多個(gè)密鑰多個(gè)密鑰的每個(gè)密鑰的壽命由從應(yīng)用軟件和設(shè)備之一來的指令操縱。
62.根據(jù)權(quán)利要求60的操作系統(tǒng),其特征在于所述多個(gè)索引密鑰的每個(gè)(1)與包括所述應(yīng)用軟件和設(shè)備之一的主機(jī)系統(tǒng)的指定窗口有關(guān),并且(2)由圖形卡使用來解密該窗口的內(nèi)容。
63.根據(jù)權(quán)利要求56的操作系統(tǒng),其特征在于所述請(qǐng)求手段包括經(jīng)下列之一與加密處理器接口的手段,(1)到所述應(yīng)用軟件和設(shè)備之一的外部接口,和(2)到圖形卡的圖形處理單元(GPU)的內(nèi)部接口。
64.根據(jù)權(quán)利要求63的操作系統(tǒng),其特征在于與外部接口連接的所述手段包括使用私有密鑰協(xié)議于認(rèn)證及密鑰傳輸,所述認(rèn)證及密鑰傳輸包括
由所述應(yīng)用軟件和設(shè)備之一用加密處理器的公開密鑰加密會(huì)話密鑰,以建立會(huì)話密鑰加密團(tuán)的手段;
由加密處理器接收該會(huì)話密鑰加密團(tuán)的手段;
由加密處理器用該加密處理器的公開密鑰解密該會(huì)話密鑰加密團(tuán)的手段;
由此,所述應(yīng)用軟件和設(shè)備之一與加密處理器共享秘密,使所述應(yīng)用軟件和設(shè)備之一能使用所述會(huì)話密鑰發(fā)送指令到加密處理器。
65.根據(jù)權(quán)利要求64的操作系統(tǒng),其特征在于由加密處理器通過一組函數(shù)顯露外部接口,所述的函數(shù)組包括
Set Session Key函數(shù),它調(diào)用所述接收,進(jìn)行接收及解密,由此,使用所述會(huì)話密鑰保密進(jìn)一步的加密處理器與所述應(yīng)用軟件和設(shè)備之一之間的來往通訊;
Set函數(shù);
Get函數(shù);
其中,所述應(yīng)用軟件和設(shè)備之一借助Set和Get函數(shù)與所述加密處理器通訊,為了機(jī)密性和完整性其參數(shù)受密碼的保護(hù)。
66.如權(quán)利要求65的操作系統(tǒng),其特征在于所述Get函數(shù)至少包括下列之一(1)索引密鑰特性ID方法,它將新密鑰和目的標(biāo)簽寫入由該索引識(shí)別的密鑰寄存器,(2)輸出鎖定特性ID方法,它設(shè)置固定屏幕幾何結(jié)構(gòu)及圖形卡輸出的鎖定標(biāo)志,和(2)L2KeyMgmt特性ID方法,它對(duì)于由包括所述安全圖形卡和加密處理器的可信圖形平臺(tái)提供的視頻存儲(chǔ)器加密保護(hù)的層設(shè)置密鑰更新頻率。
67.根據(jù)權(quán)利要求65的操作系統(tǒng),其特征在于所述Set函數(shù)至少包括下列之一(1)輸出端口方法,它返回圖形卡的至少一個(gè)輸出的設(shè)置,(2)認(rèn)證碼方法,它返回按照包括所述安全圖形卡及加密處理器的可信圖形平臺(tái)的第一層保護(hù)返回窗口內(nèi)容的散列,(2)DX-SEC版本方法,它返回由圖形卡支持的DX-SEC的版本,(3)安全表面計(jì)數(shù)法,它返回由圖形卡支持的安全表面的數(shù)目,(4)覆蓋表面計(jì)數(shù)法,它返回由圖形卡支持的覆蓋的安全表面的數(shù)目,(5)基本類型法,它對(duì)圖形卡的未來方法提供靈活性,(6)幾何結(jié)構(gòu)方法,它返回可信圖形平臺(tái)的視頻存儲(chǔ)器的基本表面的寬,高,刷新速度和彩色深度,(7)設(shè)置受保護(hù)的覆蓋的一個(gè)區(qū)域的至少一個(gè)位置和尺寸的方法,和(8)設(shè)置要解密的基本表面的一部分的至少一個(gè)位置和尺寸的方法。
68.根據(jù)權(quán)利要求63的操作系統(tǒng),其特征在于所述與內(nèi)部接口的連接包括在加密處理器和所述圖形卡之間的連接,由此,在不破壞圖形卡的情況下,(1)加密處理器永久地固定在圖形卡上,并且(2)在加密處理器和圖形卡的其余部分之間的連接不顯露。
69.根據(jù)權(quán)利要求68的操作系統(tǒng),其特征在于(1)加密處理器被焊在圖形卡上,或(2)加密處理器駐留在GPU的同一芯片上。
70.根據(jù)權(quán)利要求60的操作系統(tǒng),其特征在于所述多個(gè)索引密鑰的每個(gè)索引密鑰按照與所述索引密鑰相關(guān)的目的參數(shù)只使用一次,其中當(dāng)索引密鑰被新的值填入后,以前密鑰的值被舍棄,不可檢索。
71.根據(jù)權(quán)利要求70的操作系統(tǒng),其特征在于目的參數(shù)值包括
與結(jié)合覆蓋表面的加密采用的DX-SEC流密碼一起使用的L1STREAM密鑰;和
與用于解密紋理塊的塊密碼一起使用的L2BLOCK密鑰;后一密鑰由所述應(yīng)用軟件和設(shè)備之一寫出。
全文摘要
對(duì)可信圖形系統(tǒng)的使用提供認(rèn)證組件的方法和系統(tǒng)。對(duì)一種系統(tǒng)提供認(rèn)證圖形卡的技術(shù),該系統(tǒng)用密碼保密經(jīng)圖形流水線發(fā)送的內(nèi)容,使得應(yīng)用軟件或設(shè)備能對(duì)可信圖形平臺(tái)指明該應(yīng)用軟件或設(shè)備是可信圖形平臺(tái)的可信用戶,并使得該圖形平臺(tái)能通知可信的應(yīng)用軟件或設(shè)備該圖形平臺(tái)可受其委托。
文檔編號(hào)G06F21/00GK1474281SQ0312318
公開日2004年2月11日 申請(qǐng)日期2003年4月18日 優(yōu)先權(quán)日2002年4月18日
發(fā)明者P·英格蘭, M·佩納多, N·P·韋爾特, P 英格蘭, 啥, 韋爾特 申請(qǐng)人:微軟公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1