TWI390408B - 晶片組防護卸載引擎 - Google Patents

晶片組防護卸載引擎 Download PDF

Info

Publication number
TWI390408B
TWI390408B TW95146784A TW95146784A TWI390408B TW I390408 B TWI390408 B TW I390408B TW 95146784 A TW95146784 A TW 95146784A TW 95146784 A TW95146784 A TW 95146784A TW I390408 B TWI390408 B TW I390408B
Authority
TW
Taiwan
Prior art keywords
bridge
cpu
ciphertext
gpu
data
Prior art date
Application number
TW95146784A
Other languages
English (en)
Other versions
TW200811658A (en
Inventor
Michael B Cox
Henry Packard Moreton
Brian Keith Langendorf
David G Reed
Original Assignee
Nvidia Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US11/304,408 external-priority patent/US7920701B1/en
Priority claimed from US11/304,116 external-priority patent/US8473750B2/en
Application filed by Nvidia Corp filed Critical Nvidia Corp
Publication of TW200811658A publication Critical patent/TW200811658A/zh
Application granted granted Critical
Publication of TWI390408B publication Critical patent/TWI390408B/zh

Links

Description

晶片組防護卸載引擎
本發明一般而言係關於提供數位內容保護之技術。更特定言之,本發明係關於用於從一中央處理單元(CPU)卸載數位內容保護方面之技術。
在許多消費產品中的一問題係必須沿可能分接的信號路徑傳輸數位內容。由此,數位內容提供者擔心駭客未經授權地複製數位內容。例如,一家庭娛樂系統可能包括一個人電腦(PC)、圖形子系統、高清晰度電視、數控器、數位錄影機及播放器、及數位多功能碟片(DVD)播放器。因此,存在駭客使用(例如)一或多個信號匯流排之輸出來攔截未加密數位內容(時常稱為"明文"內容)之風險。
數位內容保護保護音頻及視訊內容不受未經授權複製之重要性與日俱增。此外,數位內容保護包括用於加密將要通過可分接之信號匯流排傳輸之內容的協定。在1998年五家公司(5C)開發出一數位傳輸內容保護(DTCP)方案並係說明於1998年7月由日立公司、英特爾公司、松下電器公司、索尼公司及東芝公司所出版的白皮書"5C數位傳輸內容保護"中,其內容以引用方式併入本文。DTCP方法之額外細節係說明於在2004年1月由日立公司、英特爾公司、松下電器公司、索尼公司及東芝公司所出版的"數位傳輸內容保護規格書"版本1.3中,其內容以引用方式併入本文。該DTCP方法可配合一電機電子工程師學會(IEEE)1394多媒體匯流排使用並包括使一來源器件與一下沉器件(可接收一內容流之一器件)建立安全內容傳輸之一協定。該DTCP包括一認證及密鑰交換(AKE)協定、內容加密及使用一加密模式指示器(EMI)之複製控制資訊(CCI)。
數位內容保護方案(例如DTCP)之一缺點在於儘管在器件間的系統匯流排上加密內容,但明文資料在一或多個內部資料匯流排處易受竊取。例如,考量在一以PC為主的多媒體系統內的DVD播放。DVD內容係採用一加密形式由一中央處理單元(CPU)從一DVD播放器接收。CPU解密其所接收之數位內容。然後CPU重新加密DVD資料,之後將該資料寫入一顯示器件。然而,CPU所執行之解密及重新加密一般必需將明文資料寫入一記憶體系統,其中在一記憶體匯流排處內容易受竊取。
數位內容保護方案之另一缺點在於其在執行高清晰度視訊之加密及解密之CPU上強加一明顯負擔。例如,高級加密標準(AES)強加大約16個循環/位元組(B)的加密代價。壓縮格式的高清晰度電視(HDTV)對應於大約50 MB/s加密帶寬,因此各高清晰度壓縮的HDTV內容流對應於可用CPU時脈循環之800 MHz。在操作數千兆赫之時脈速率之一CPU上此係一明顯負擔。而且,在某些多媒體系統中,需要能夠同時處理數個視訊流,使得在最壞情形下在一CPU上的總加密/解密負擔可消耗大多數CPU時脈循環。
因此需要一種用於提供數位內容保護之裝置、系統及方法。
揭示一種用於橋接一中央處理單元至一系統內系統組件之橋接器。在該橋接器內的一防護引擎允許將密碼服務從中央處理單元卸載給該橋接器。在一具體實施例中,該防護引擎在該橋接器之不安全介面處將受保護資料加密為密文。
圖1係依據本發明之一具體實施例之一數位內容系統100之一方塊圖。數位內容系統100包括一橋接器110,其具有一防護引擎112。依據本發明之一具體實施例,安全服務(例如為CPU 120下游之至少一器件加密資料)係使用防護引擎112從CPU 120卸載給橋接器110。
橋接器110可實施為一單一晶片、一組晶片或在上面形成CPU 120的相同晶片之一部分。如下面更詳細所述,橋接器110可包括任何橋接器,例如用作橋接一中央處理單元(CPU)120至其他器件之一晶片組之一部分,例如一北橋晶片、一南橋晶片或北橋及南橋晶片之一組合。
防護引擎112執行橋接器110內的密碼服務。範例性密碼服務包括加密、解密及轉碼(即在不同加密格式之間的轉換)。該等密碼服務可應用於(例如)需要受保護之資料種類。在某些應用中,穿過橋接器110之所有資料均需要密碼服務。然而,更一般而言,僅需要受保護之資料(例如需要數位內容保護之資料)可能需要密碼服務。防護引擎112所提供之密碼服務可用於沿易受入侵之數位內容系統100之部分來保護資料(例如諸如視訊內容之數位內容)。
該等密碼服務可提供於資料存取操作期間,例如資料寫入操作。加密/解密密鑰114係儲存於防護引擎112內以支援該等密碼服務。儘管可儲存一單一加密及/或解密密鑰,但更一般而言可儲存額外密鑰來支援多個加密、解密或轉碼類型。在一具體實施例中,一上下文指標116指向一上下文資料來源,例如在記憶體130內的上下文資料118。上下文資料118包括資料結構以允許一上下文切換為特定來源/目的地位址選擇一指定密碼服務(例如加密、解密或轉碼)供防護引擎112執行。各上下文還可指示一指定加密/解密密鑰。
在一具體實施例中,防護引擎112支援壓縮或未壓縮資料的標準加密及解密技術(例如高級加密標準(AES)、三重資料加密標準(3DES)或公開/私人密鑰遠端伺服器管理(RSM))。然而,防護引擎112還可配置成用以支援其他加密協定。範例性轉碼應用包括從一加密標準格式轉換至另一加密標準格式或在二不同加密密鑰之間轉換,例如在具有一第一密鑰之AES與具有一第二密鑰之AES之間執行一轉換。防護引擎112較佳的係至少部分地使用專用防篡改加密硬體實施,比較僅採用軟體之操作加密/解密演算法,該硬體在改良安全性方面提供多個好處。此外,使用專用硬體實施防護引擎112還允許改良效能及功率消耗。
橋接器110耦合一CPU 120、記憶體130及其他器件,例如一圖形處理單元(GPU)140(顯示耦合至一顯示器150)。 橋接器110係藉由具有一匯流排介面121之一匯流排122(例如一前測匯流排(FSB))而耦合至CPU 120。耦合一CPU至一橋接器之一匯流排介面121一般係一專用高速介面,其由於使入侵匯流排122較難的焊接連接、嵌入式電路路徑及一高速資料速率而固有地安全。因而,在下列論述過程中,應明白可橫跨匯流排介面121從CPU 120將明文資料安全地傳輸至橋接器110,因為駭客從在一裝配單元內的匯流排介面121攔截資料極為困難(換言之,匯流排介面121係為安全匯流排介面)。
在系統100內,在橋接器110與其他組件(例如組件130與140)之間存在具有不安全連結之數個路徑。例如,當一駭客潛在地可存取一橋接器介面124或126與相關聯匯流排135或145時,一連結係不安全。例如,一記憶體匯流排135或至GPU 140之一匯流排145可能不安全,因為匯流排135或145係不安全地焊接及/或具有一低得足以使侵入匯流排135或145可行之資料速率(換言之,匯流排135或145係不安全匯流排)。
輸入路徑包括從其他器件將輸入資料寫入橋接器110,例如從CPU 120直接寫入橋接器110。輸出路徑包括使用點對點技術從橋接器110直接將輸出資料寫入其他器件,例如寫入GPU 140或寫入記憶體130。此外,直接記憶體存取路徑包括直接寫入記憶體130,例如CPU 110寫入記憶體130之一直接記憶體存取。橋接器110可利用任何能夠從一器件將資料寫入另一器件並能夠進行直接記憶體存取之介 面。在一具體實施例中,橋接器110係調適以利用一周邊組件介面快送(PCI-E)作為至少一其他器件(例如GPU 140)之一高速介面。PCI-E係在周邊組件介面-特殊利益組織(PCI-SIG)所出版之"PCIe基礎規格書"中所說明之一高速介面標準,其內容以引用方式併入本文。然而,更一般而言還可使用其他產業標準介面(例如周邊組件介面(PCI))替代PCI-E耦合CPU 120至橋接器110。
在一具體實施例中,防護引擎112係一PCI器件,其可(例如)實施於PCI匯流排0上以允許在母板製造時認證並鑒定防護引擎112。在PCI架構中,存在不同的匯流排序號,其對應於一主匯流排序號、次匯流排序號及從屬匯流排序號。PCI匯流排0定義主機橋接器所連接之匯流排,其中主機橋接器將CPU連接至PCI系統。可能使用一權限寫入來將加密/解密密鑰載入防護引擎112內。
圖1說明用於在CPU 120內運行一視訊播放器(VP)應用程式190及一圖形驅動器185之一範例性應用程式185。從一數位內容來源160(例如DVD播放器)接收加密的數位內容(出於說明目的,數位內容來源播放器160係顯示直接附著至CPU 120,儘管更精確而言其將連接至一輸入器件埠)。依據一數位內容保護協定,CPU 120包括加密/解密軟體195並從數位內容來源160讀取加密數位內容並使用加密/解密軟體195來執行加密內容的任何初始解密。VP應用程式190執行用於管理播放及/或儲存一或多個視訊流之操作。
GPU 140從CPU 120接收命令用於產生視訊圖框並一般還從記憶體130接收視訊資料。GPU 140之一方面在於可將視訊處理操作卸載給GPU 140以減小CPU利用率。然而,GPU 140之另一方面在於其可產生改良顯示屬性之視訊圖框。例如,視訊內容可採用一原始格式來產生,該格式對於在一個人電腦或一高清晰度電視機上的顯示並非最佳。作為一說明性範例,加利福尼亞州聖塔克拉拉市Nvidia公司所銷售之Nvidia純視訊解碼器配合GeForce6及7系列GPU工作。GeForce6及7系列GPU包括一可程式化視訊處理器、一MPEG-2解碼引擎及一運動估算引擎。Nvidia純視訊解碼器利用硬體加速執行濾波、比例縮放、格式轉換及其他操作來加速視訊播放。此外,可利用各種操作來減小視覺假影而改良視訊內容在桌上型個人電腦、筆記型個人電腦(PC)及高清晰度電視機(HDTV)上的顯示,包括次像素計算以減小混淆效應。因而應理解,在下列論述過程中,在一具體實施例中,GPU 140支援一或多個特徵來改良視訊播放並減小CPU利用率,例如可程式化視訊處理。MPEG-2解碼、解交錯、反向電視電影處理、濾波、比例縮放、格式轉換及運動估算。
CPU 120可基於任何適當的微處理器。作為一範例,CPU 120可以係一支援虛擬機實施方案之微處理器。一虛擬機實施方案允許邏輯上將一微處理器CPU分成專用於執行不同功能之分離分區。例如,在數位內容應用中,此點允許一分區專用服務於數位內容。作為一說明性範例,在 一虛擬機內的一分區可專用於視訊播放器軟體。在一虛擬機實施方案中,視訊播放器分區與所有其他分區隔離,因此沒有任何其他軟體可讀取或修改視訊播放器的資料。虛擬機支援提供針對軟體攻擊之改良安全性,而防護引擎112提供針對硬體攻擊之改良安全性。作為設計以作為一虛擬機操作之一CPU之一範例,英特爾已開發出一64位元奔騰微處理器,其整合安全特徵設計以支援華盛頓州Redmond市微軟公司代號"Longhorn"版本的Windows®作業系統。
依據傳統內容保護方案,需要加密在匯流排145上發送至GPU 140的一命令流,然後使用一GPU解密引擎147在GPU 140內解密。傳統上,CPU 120還需執行重新加密發送至橋接器110之數位內容之功能,因此加密在匯流排145上的輸出。然而,依據本發明,橋接器110執行任何必須的資料重新加密。因而,從CPU 120卸載該重新加密功能,從而改良CPU效能。而且,防護引擎112可包括專用硬體,比較在CPU 195內的一以軟體為主加密/解密,其減小加密/解密所需之功率消耗。此外,在一具體實施例中,橋接器110加密橫跨記憶體匯流排135傳輸用於儲存於記憶體130之資料,從而改良安全性。
圖2顯示防護引擎112之一範例性實施方案。在一具體實施例中,防護引擎112包括一暫存器空間210、微控制器220及唯讀記憶體(ROM)程式碼儲存器230。各支援的加密演算法可包括用於執行一加密/解密演算法的專用防篡改 密碼硬體模組240(一般稱為"加密硬體")及相關聯的晶片上記憶體緩衝器245。一通信模組250支援直接記憶體存取(DMA)及與系統100之其他組件進行點對點(P2P)通信。
圖3說明一北橋架構。在此具體實施例中,防護引擎112係置放於一北橋晶片305內。一傳統南橋晶片310係耦合至北橋晶片305。
圖4說明一南橋架構。在此具體實施例中,防護引擎112係置放於一南橋晶片410內。南橋晶片410可耦合至一北橋晶片405。然而,某些微處理器CPU(例如AMD K8處理器)具有一整合的北橋功能性,因此應明白南橋晶片410可直接連接至一CPU 120。
如先前所述,在一具體實施例中,防護引擎112係設計以在一PCI架構環境中工作(例如,諸如在同時由PCI-SIG所出版之PCI-E規格書或PCI 2.2規格書中所述之一PCI-Express環境,各規格書內容以引用方式併入本文)。PCI架構支援針對記憶體之CPU及器件讀寫交易以及經由特殊組態至器件之讀寫、I/O與記憶體映射I/O(MMIO)交易。各PCI相容器件支援允許發現、查詢並配置器件之一"組態空間"。各"組態空間"可視需要地支援CPU及其他器件可讀取及寫入器件之位址區域。該些區域係藉由"基址暫存器"(BAR)來定義。
圖5說明一PCI組態空間510,其具有一基址暫存器520,基址暫存器520允許從CPU或其他器件經由記憶體映射的讀取及寫入來存取一記憶體映射位址範圍。器件控制及資 料結構可嵌入BAR所指向之位址區域內。例如,以下所述之控制及資料結構可在防護引擎112之一具體實施例中嵌入一BAR所指向之一或多個位址區域內。
圖6說明用於實施一上下文切換之一範例性上下文資料結構610。在一具體實施例中,防護引擎112能夠支援整數數目M個同時會話,其對應於M個實例的上下文資料結構610。一密鑰陣列630允許需要利用不同密鑰(或多個密鑰)之不同加密、解密或轉碼演算法。在一具體實施例中,密鑰陣列630支援一整數數目N個密鑰。一上下文係基於來源位址、目的地位址及記憶體屬性(例如一直接記憶體存取)來選擇。一範例性上下文資料結構610包括上下文資訊加密/解密欄位612,其定義是否要執行加密或解密、加密/解密演算法欄位614,其定義要使用的加密/解密演算法、一定義是否使用DMA之欄位616、一DMA輸入描述符欄位618,其定義用於從記憶體進行DMA器件所需之參數、一輸出描述符欄位620,其定義從器件輸出所需之參數、一索引欄位622,其識別在密鑰陣列630內的第一密鑰、及一序號欄位624,其指示加密/解密演算法所使用之密鑰數。
範例性上下文資料結構610還表述為偽代碼。在一具體實施例中,該防護引擎支援一整數數目M的上下文及一整數數目N的晶片上密鑰。各上下文可使用一可變數目的密鑰。此外,各上下文具有能夠讀取輸入資料(或將輸入資料寫入其)之必須資訊與能夠寫入輸出資料之必須資料。可包括一DMA位址描述符表或其他描述符以支援DMA存 取。提供針對一當前上下文之一索引,其致動快速的上下文切換(用以改變上下文、改變當前索引)。提供該基址暫存器之一偏移以允許將防護引擎112實施為在一單一PCI器件內的數個功能之一者。在偽代碼中,該些資料結構係映射成一或多個防護引擎BAR,如下:integer N integer M index current_context Offset_from_base_address MMIO_input Key keys[N]
一範例性上下文資料結構如下:struct{ Boolean encrypt_not_decrypt; Enumerated encryption_decryption_algorithm; Boolean use_dma DMA_input dma_input Output output index start_key(索引成密鑰) integer number_pf_keys (密鑰數目必須與encryption_decryption_algorithm相一致) }Contexts[M] and where struct DMA_input{ Address data_descriptor_table integer length } struct Output{ Address addr integer limit }
本發明允許防護引擎112可用來加密、解密或轉碼之數個不同輸入模式。防護引擎112之輸入可以係來自CPU之直接寫入、來自另外器件之直接寫入或經由一直接記憶體存取所進行之一輸入。作為一範例,可藉由CPU或經由點對點交易藉由另外器件進行至器件之記憶體映射寫入。作為一範例,CPU可將明文寫入防護引擎112內。該防護引擎然後加密並將密文寫入一目的地。作為另一範例,一CPU或其他器件可向防護引擎112寫入密文。在此情況下,防護引擎112解密該密文並將明文輸出寫入一目的地。對於一直接記憶體存取輸入情況,使用一直接記憶體存取來讀取CPU或另外器件所寫入來自記憶體之內容資料。對於直接記憶體存取針對明文資料之情況,防護引擎112執行加密及密文之寫入。對於直接記憶體存取針對明文資料之情況,防護引擎112執行解密及明文資料之寫入。
輸出可以至實體記憶體或使用點對點的另外器件。在一具體實施例中,藉由一可程式化位址來決定輸出。例如,該可程式化位址可以係在實體記憶體或另外器件之記憶體空間內的一輸出位址範圍。
輸入模式包括藉由CPU 120或使用點對點寫入之其他器件的MMIO寫入。輸出模式包括至記憶體之直接記憶體存取與點對點。在一具體實施例中,CPU 120可直接將明文資料寫入加密引擎112。加密引擎可將加密資料寫入記憶體130,從而排除將明文儲存於記憶體130內之需要。
本發明之範例性應用包括解密並解密視訊用於播放中的應用、在不同標準之間加密及解密(即轉碼)用於儲存應用,例如網路儲存、加密、解密或轉碼網路流量、及用於在個人錄影機系統內加密及解密內容之應用。
圖7說明用於安全顯示視訊之一範例性操作序列。作為一說明性範例,橋接器110係作為一北橋晶片610-A及一南橋晶片610-B而說明。出於說明性目的省略組件之間的該等匯流排以簡化圖式。如箭頭701所示,CPU 120從一視訊內容來源160讀取視訊資料。依據內容保護協定,加密該內容。CPU 120使用軟體解密技術來執行在CPU 120內的解密702。CPU 120將明文資料發送703至防護引擎112。由於一前測匯流排難以分接,因此從CPU 120至防護引擎112之明文資料傳輸係固有地安全。防護引擎112加密資料704。防護引擎112然後使用一直接記憶體存取以向記憶體130寫入705密文。由此,透過一記憶體匯流排(未顯示)傳輸之任何內容較安全。GPU 140然後使用一直接記憶體存取來讀取706密文。GPU 140然後解密並顯示707內容。
參見圖7,本發明所提供之一好處在於內容可傳輸並作為密文儲存於易受入侵之系統部分內。因而,改良數位內容保護。此外,減小與加密內容相關聯之CPU額外負擔,從而改良CPU效能。此外,防護引擎112較佳的係設計以在執行加密及解密操作時比CPU 120更具功率效率。由此,將加密/解密操作卸載給防護引擎112可減小功率消耗。
本發明之另一應用係在個人錄影機(PVR)應用中。PVR記錄電視信號,例如HDTV信號。圖8說明用於數位電視(DTV)之範例性PVR系統800。例如,PVR系統800可以係一媒體為中心的個人電腦,其具有一CPU 120、GPU 140、顯示器150、記憶體130、及至少一橋接器(例如橋接器110)。一視訊捕捉(VC)模組805係包括於PVR系統800內並可(例如)包括於橋接器110內。VC模組805捕捉廣播信號810用於儲存。一HDTV接收器802可耦合至PVR系統800以接收廣播信號。例如,HDTV接收器802可執行解調變及解碼以產生採用解調變資料訊包之一運輸流之形式的視訊信號810。視訊信號810可藉由橋接器110來直接接收或從另外組件耦合至橋接器110內,取決於實施方案。
已提出,未來電視接收器應需要識別一廣播旗標並回應偵測一廣播旗標來實施一數位內容保護方案來保護捕捉的視訊免於經由網際網路或其他大量技術來分發。由此,所接收之廣播HDTV信號之任何副本均採用一受保護格式保持,使一終端使用者難以分發不受保護的視訊內容副本。依據程式及系統資訊協定(PSIP),廣播旗標可(例如)包括於先進電視系統委員會(ATSC)視訊訊包之標頭內。在本發明之一具體實施例中,PVR系統800偵測一廣播旗標是否存在於視訊信號810內。若存在一廣播旗標,則將需要支援數位內容保護之加密/解密服務卸載給防護引擎112。對於一PVR應用情況,該等程序之許多程序與圖7中所述的相同,除了資料來源係廣播信號並監視一廣播旗標之存在。例如,PVR系統800可加密接收的視訊信號之副本以儲存於記憶體130內用於稍後播放並執行後續播放所需之解密。
儘管已說明本發明之一範例性應用,但更一般而言其可用於為各種不同器件及記憶體類型提供加密、解密或轉碼服務。可提供加密、解密或轉碼服務至一記憶棒或網路儲存器件。例如,在一網路儲存器件中,防護引擎112可用於加密資料用於儲存。在用於網路儲存之一具體實施例中,防護引擎112執行轉碼,其中加密格式係從一第一加密格式(例如用於透過一網路傳輸之資料之一加密格式)改變至一第二加密格式(例如用於資料儲存之一加密格式)。
在一具體實施例中,防護引擎112係形成於不同於橋接器110的一分離器件內。例如,防護引擎112可形成於不同於橋接器110的一晶片上。在此具體實施例中,可使用一輸入/輸出介面(例如PCI-E)來耦合防護引擎112至該晶片組內的其他組件。此替代性實施方案之一優點在於其允許在具有一不同實體分區的晶片組內實現防護引擎112之功能性好處。作為一範例,可設計一基本晶片組而沒有防護引擎112。對於需要增強安全性的該等市場,方可將包括防護引擎112之器件經由一I/O介面耦合至該基本晶片組設計以產生具有增強安全性的晶片組。
如先前所述,上下文狀態係儲存於記憶體內以支援多個上下文之使用。在一虛擬機實施方案(例如Longhorn)中,該等分區提供一較高程度的保護以免受軟體攻擊,如先前所述。然而,在不具有用於提供容器隔離之分區之一系統(例如運行Linux或WinXp之一系統)內,可能需要對儲存於記憶體內的上下文資訊提供額外保護以增加安全性。在一具體實施例中,一密鑰係儲存於防護引擎112之硬體內以加密/解密儲存於記憶體內的上下文狀態。比較將上下文狀態資訊作為明文儲存於記憶體內,此點允許將上下文狀態作為密文儲存於記憶體內,藉此改良安全性。
本發明之一具體實施例係關於一種具有一電腦可讀取媒體之電腦儲存產品,該電腦可讀取媒體在其上具有用於執行各種電腦實施操作之電腦程式碼。該媒體及電腦程式碼可以係為本發明目的而專門設計並構造的該等媒體及電腦程式碼,或其可以係習知電腦軟體技術者所熟知並可使用的種類。電腦可讀取媒體之範例包括(但不限於):磁性媒體,例如硬碟、軟碟及磁帶、光學媒體,例如CD-ROM及全息器件、磁光媒體,例如光碟、及專門配置成用以儲存並執行程式碼之硬體器件,例如特定應用積體電路("ASIC")、可程式化邏輯器件("PLD")及ROM與RAM器件。電腦程式碼之範例包括機器碼(例如一編譯器所產生之機器碼)與包含一電腦使用轉譯器執行之更高階程式碼的檔案。例如,本發明之一具體實施例可使用Java、C++或其他物件導向程式化語言及開發工具來實施。本發明之另一具體實施例可取代或組合機器可執行軟體指令而採用硬佈線電路來實施。
出於解釋目的,前述說明使用特定術語以提供對本發明的一詳盡理解。但是,習知此項技術者應明白,為了實施本發明不必需要特定細節。因而,本發明之特定具體實施例之前述說明係出於例示及說明目的而呈現。並不希望該等說明詳盡無遺或將本發明侷限於所揭示的精確形式;顯然可根據以上教導進行許多修改及變更。選擇並說明具體實施例目的在於最佳地解釋本發明之原理及其實際應用,從而使習知此項技術者能最佳地利用本發明及各種具體實施例,根據所預期的特定用途進行修改。希望下列申請專利範圍及其等同內容定義本發明之範疇。
100‧‧‧數位內容系統
110‧‧‧橋接器
112‧‧‧防護引擎
114‧‧‧加密/解密密鑰
116‧‧‧上下文指標
118‧‧‧上下文資料
120‧‧‧中央處理單元(CPU)
121‧‧‧匯流排介面
122‧‧‧匯流排
124‧‧‧橋接器介面
126‧‧‧橋接器介面
130‧‧‧記憶體
135‧‧‧匯流排
140‧‧‧圖形處理單元(GPU)
145‧‧‧匯流排
147‧‧‧GPU解密引擎
150‧‧‧顯示器
160‧‧‧數位內容來源
185‧‧‧圖形驅動器
190‧‧‧視訊播放器(VP)應用程式
195‧‧‧加密/解密軟體
210‧‧‧暫存器空間
220‧‧‧微控制器
230‧‧‧唯讀記憶體(ROM)程式碼儲存器
240‧‧‧專用防篡改密碼硬體模組
245‧‧‧晶片上記憶體緩衝器
250‧‧‧通信模組
305‧‧‧北橋晶片
310‧‧‧傳統南橋晶片
405‧‧‧北橋晶片
410‧‧‧南橋晶片
510‧‧‧PCI組態空間
520‧‧‧基址暫存器
525‧‧‧文中未說明
610‧‧‧上下文資料結構
610-A‧‧‧北橋晶片
610-B‧‧‧南橋晶片
612‧‧‧上下文資訊加密/解密欄位
614...加密/解密演算法欄位
616...欄位
618...DMA輸入描述符欄位
620...輸出描述符欄位
622...索引欄位
624...序號欄位
630...密鑰陣列
800...PVR系統
802...HDTV接收器
805...視訊捕捉(VC)模組
810...廣播信號
結合附圖,聯繫上述詳細說明已更全面地瞭解本發明,其中:圖1係依據本發明之一具體實施例具有一防護引擎置放於一橋接器內的數位內容保護系統之一方塊圖;圖2係依據本發明之一具體實施例之一防護引擎之方塊圖;圖3係依據本發明之一具體實施例之一北橋實施方案之一方塊圖;圖4係依據本發明之一具體實施例之一南橋實施方案之一方塊圖;圖5說明依據本發明之一具體實施例之一PCI組態空間;圖6說明依據本發明之一具體實施例之一上下文資料結構;圖7說明依據本發明之一具體實施例用於數位內容保護之一範例性操作序列;以及圖8係依據本發明之一具體實施例用於視訊資料之一數位內容保護系統之一方塊圖;遍及該等附圖,相同參考數位係指對應的零件。
100‧‧‧數位內容系統
110‧‧‧橋接器
112‧‧‧防護引擎
114‧‧‧加密/解密密鑰
116‧‧‧上下文指標
118‧‧‧上下文資料
120‧‧‧中央處理單元(CPU)
121‧‧‧匯流排介面
122‧‧‧匯流排
124‧‧‧橋接器介面
126‧‧‧橋接器介面
130‧‧‧記憶體
135‧‧‧匯流排
140‧‧‧圖形處理單元(GPU)
145‧‧‧匯流排
147‧‧‧GPU解密引擎
150‧‧‧顯示器
160‧‧‧數位內容來源
185‧‧‧圖形驅動器
190‧‧‧視訊播放器(VP)應用程式
195‧‧‧加密/解密軟體

Claims (9)

  1. 一種配置用於橋接一中央處理單元(CPU)至一系統內其他組件並施加內容保護於該CPU的視訊內容輸出之橋接器,其包含:一安全匯流排介面,耦合該橋接器至該CPU;一防護引擎;該橋接器係配置以為經由該橋接器所執行的資料存取操作提供密碼服務,藉此選擇耦合於該橋接器的一記憶體中安全地指定的密碼服務,並將該密碼服務從該CPU卸載給該橋接器,使該系統中視訊內容的傳輸與儲存係安全的;其中該橋接器係配置以加密從該CPU接收的一明文輸入作為一密文,並經由一第一不安全匯流排寫入該密文到耦合於該橋接器的該記憶體,且提供該密文到一圖形處理單元(GPU),該GPU經由一第二不安全匯流排耦合於該橋接器,該GPU執行該密文的解密。
  2. 如請求項1之橋接器,其中該密碼服務包括加密、解密、轉碼及在該記憶體中被指定於一安全、加密的資料結構之至少一者。
  3. 如請求項1之橋接器,其中該橋接器係配置以接收一密文輸入,在該密文輸入上執行解密,並向一目的地寫入明文輸出。
  4. 如請求項1之橋接器,其中該橋接器係配置以接收採用一第一密碼格式之一密文輸入,執行轉碼並將採用一第 二密碼格式的一密文輸出寫入至一目的地。
  5. 如請求項1之橋接器,其中該橋接器係配置以將從該CPU所接收之一視訊內容的明文輸入加密為密文並將該密文寫入該記憶體。
  6. 如請求項6之橋接器,其中該橋接器係配置以向耦合至該橋接器之該GPU,經由一不安全匯流排提供該密文,該GPU解密該密文。
  7. 如請求項1之橋接器,其中該橋接器係配置以加密從該CPU所接收之一命令流並向耦合至該橋接器之該GPU提供一加密命令流。
  8. 如請求項1之橋接器,其中該橋接器係配置以接收視訊信號並執行密碼服務以為該視訊信號之視訊捕捉提供內容保護。
  9. 一種具有改良數位內容保護之數位內容系統,其包含:一中央處理單元(CPU),其係配置以產生對應於數位內容之明文數位資料;一橋接器,其係耦合至該CPU,該橋接器接收對應於數位內容之該明文數位資料;一記憶體,其係經由一第一不安全匯流排耦合至該橋接器;一圖形處理單元(GPU),其係經由一第二不安全匯流排耦合至該橋接器;以及一防護引擎,其置放於該橋接器內,該防護引擎提供密碼服務,藉此選擇該記憶體中安全地指定的密碼服 務,並將該密碼服務從該CPU卸載給該橋接器,使該系統中數位內容的傳輸與儲存係安全的,且該防護引擎係配置以加密從該CPU接收的一明文數位資料作為一密文數位資料,並寫入該密文數位資料到該記憶體,且提供該密文數位資料到該GPU,該GPU執行該密文數位資料的解密,使得該明文數位資料係作為密文數位資料透過不安全的資料路徑經由該橋接器傳送以保護該數位內容。
TW95146784A 2005-12-14 2006-12-13 晶片組防護卸載引擎 TWI390408B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/304,408 US7920701B1 (en) 2004-12-15 2005-12-14 System and method for digital content protection
US11/304,116 US8473750B2 (en) 2004-12-15 2005-12-14 Chipset security offload engine

Publications (2)

Publication Number Publication Date
TW200811658A TW200811658A (en) 2008-03-01
TWI390408B true TWI390408B (zh) 2013-03-21

Family

ID=44767784

Family Applications (1)

Application Number Title Priority Date Filing Date
TW95146784A TWI390408B (zh) 2005-12-14 2006-12-13 晶片組防護卸載引擎

Country Status (1)

Country Link
TW (1) TWI390408B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI646443B (zh) * 2013-08-20 2019-01-01 杰納絲科技股份有限公司 用於透明地加密和解密電腦介面資料的方法和裝置

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112230931B (zh) 2020-10-22 2021-11-02 上海壁仞智能科技有限公司 适用于图形处理器的二次卸载的编译方法、装置和介质
CN112214443B (zh) 2020-10-22 2021-12-03 上海壁仞智能科技有限公司 设置于图形处理器中的二次卸载装置和方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI646443B (zh) * 2013-08-20 2019-01-01 杰納絲科技股份有限公司 用於透明地加密和解密電腦介面資料的方法和裝置

Also Published As

Publication number Publication date
TW200811658A (en) 2008-03-01

Similar Documents

Publication Publication Date Title
US8473750B2 (en) Chipset security offload engine
EP1801725B1 (en) Chipset security offload engine
US7920701B1 (en) System and method for digital content protection
US7673140B2 (en) Dedicated encrypted virtual channel in a multi-channel serial communications interface
EP1582962B1 (en) System and method for protecting media content
US8271800B2 (en) System and method for processing and protecting content
TWI358932B (en) Packet based high definition high-bandwidth digita
US20050201726A1 (en) Remote playback of ingested media content
US20070180270A1 (en) Encryption/decryption device, communication controller, and electronic instrument
US20140053001A1 (en) Security central processing unit management of a transcoder pipeline
US9665740B1 (en) Method and system for cryptographically securing a graphics system
US8744080B2 (en) Encrypted data recording apparatus
WO2009045586A2 (en) Encoded digital video content protection between transport stream processor and decoder
JP2006523049A (ja) パーソナルビデオレコーダにおけるデジタル音声/映像データの暗号化/復号化のためのチップ毎のユニーク識別子
TWI390408B (zh) 晶片組防護卸載引擎
JP4671602B2 (ja) デジタル信号を安全に処理する方法
JP5361031B2 (ja) 暗号認証処理方法及び装置
JP4665510B2 (ja) 暗号化データ記録装置
JP2006246541A (ja) ディジタル情報管理装置
JP2004153840A (ja) ディジタル情報管理装置

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees