專利名稱:多信道串行通信接口中的專用加密虛擬信道的制作方法
技術領域:
本發明通常涉及數據通信和數據加密。本發明尤其涉及通過一個多信道串行通信接口傳送的數據的加密。
安全性管理在保護數字數據不被未授權訪問方面已經變得越來越重要。在許多情形中,安全性管理被用來保持安全通信的秘密特性以使只有預定的接收者能夠查看信息。而且,有關于數字權利管理的安全性管理也已經變得極為重要以限制對諸如電影、音樂、電視廣播等等之類數字內容的訪問。
現在存在有各種各樣的安全性管理方案。許多利用了加密算法,加密算法在向接收者通信之前,用只有接收者可以解密數據并從中獲得信息的方式對數字數據有效進行加密編碼。加密常常被聯同數字證書、公共密鑰基礎結構(PKI)等等一起使用以確保只有經授權的接收者能夠解密該加密數據。
對于各種各樣不同類型的通信接口,安全性管理常常是必需的。例如,可能希望把安全性管理合并到串行通信接口中,串行通信接口被越來越多地使用于高性能和高帶寬的應用中,在發射和接收模式或耦合到串行互連的端點之間按照點對點的方式傳輸數據。諸如通用串行總線(USB)、IEEE-1394和PCI-Express之類的各種協議已被開發用于各種計算應用中。
在其它特性之中,許多上述串行通信接口標準支持把數據流從多路信道復用到單個串行接口上的概念,通常為了支持諸如音頻和視頻數據流之類的時間相關數據的同步傳輸。例如,PCI-Express標準明確支持虛擬信道的概念,其允許在端點之間建立此類信道以便允許多路數據流在單個互連之上被復用。
人們期望找到PCI-Express標準作為PCI標準的替換技術的適用性,慣例使用PCI標準把外設組件連接到計算機中的中央處理綜合體。此外,PCI-Express標準最終也可以被用來替換計算機中以及諸如機頂盒、DVD播放器等等的其它數據處理系統中的若干其它互連技術。
就如所有的通信接口那樣,PCI-Express兼容的串行互連能夠發射加密數據。可是,在該標準中對于數據加密沒有清楚的支持。相反,數據通常在軟件指導下被加密,使得只要數據被傳到一個PCI-Express兼容接口,就早已被操作系統或應用軟件加密。
可是,使用軟件對預定在一個串行互連上通信的數據進行加密有許多缺點。最值得注意的是,基于軟件的加密與解密會消耗實質性的系統資源。而且,當使用多個集成的電路或芯片實現任何計算機或數據處理系統時,存在解密數據可能沿著芯片邊界(即,沿著封裝中或電路板上把兩個集成的電路或芯片互連的路徑)被暴露的可能性。
與保護在一個串行互連上傳送的數據相關的潛在缺陷也許在數字權利管理環境內被最好地例證。例如媒體和娛樂產業花費大量資源試圖保護其內容防止黑客企圖沒有內容供應商的授權就訪問該內容。拷貝保護已經變成內容供應商和發行人利用的一個重要工具以便防止對內容未經授權的拷貝。而且,隨著諸如電影、電視節目、音樂等等之類的內容已經過渡到數字格式,未授權拷貝的危險已經增加,因為數字拷貝在質量方面與它們的原始內容往往完全相同。因此,很需要一種保護數字內容不被未授權訪問的方法。
用來回放數字內容的許多電子裝置需要合并訪問控制技術以確保內容只對經授權的用戶可見。例如,直播衛星(DBS)機頂盒和接收機通常合并訪問控制技術以確保只允許經授權的用戶觀看從DBS衛星廣播的內容。而且,DVD播放器、游戲機等等通常合并了訪問控制技術以確保DVD盤上的壓縮數據流無法被用來對其上儲存的數字內容進行拷貝。而且,許多DVD合并了區域編碼來允許在某些地理區域中銷售的DVD播放器播放預定只在那些地理區域中使用的DVD盤。
機頂盒、DVD播放器等等常常利用包括多個集成電路或芯片的嵌入電子技術。此外,必須在這些應用中處理的數據量常常很大,因此要求相對高帶寬的數據通信性能。假定將這些裝置的消耗減到最少的必要性,處理資源常常受限,如此,希望將與執行數字數據流的加密和/或解密相關的開銷減到最少。此外,在此類裝置中使用的多個集成電路或芯片為數字內容的未授權訪問呈現可能的途徑,只須通過沿著那些芯片之間延伸的傳導信號路徑監視芯片之間的數據流就可能發現。
由于制造集成電路的方法,所以檢測一個集成電路內部數據的流動是非常困難的,至少與檢測集成電路和其它裝置之間的數據流相比較而言是如此。由于這個原因,常常希望避免在多個芯片之間傳送未加密的數字內容。
禁止未加密數字內容在芯片之間通信的一個方法是在被用來解碼和解壓縮數字數據流的同一芯片上合并訪問控制功能。作為一個示例,由DBS衛星廣播的并被儲存在DVD媒體上的數字內容通常由一個被稱為MPEG的標準來編碼。使用MPEG標準編碼的數字內容被高度壓縮以便將存儲和帶寬要求減到最少。可是,在電視上顯示之前,一個MPEG數據流必須被解碼和解壓縮。可是,結果的解碼數據通常太龐大而難以拷貝,并且全然要求使用MPEG編碼器再壓縮,這降低了質量并且致使結果拷貝次于原始內容。
DBS衛星傳送的并儲存在DVD媒體上的MPEG數據流通常由訪問控制數據加密并保護,以便只允許經授權的裝置解密MPEG數據用于向消費者顯示。
向電視或其它顯示裝置轉換一個廣播MPEG數據流的過程因此通常涉及兩個單獨的步驟。第一,一旦確認機頂盒或DVD播放器被授權觀看該內容,則需要訪問控制功能來解密MPEG數據流。這個解密操作的結果是一個解密的MPEG數據流。第二個操作是MPEG解碼,它采用解密的MPEG數據流并解碼以及解壓縮該數據流以便生成音頻和/或視頻數據用于輸出到電視或其它顯示裝置上。
這兩個操作中間的解密數據流通常表示原始內容的一個壓縮的且完整的拷貝。因此,為了防止對這個解密數據流的訪問,系統設計者的常規策略是在同一集成電路上合并訪問控制邏輯和MPEG解碼器邏輯。
雖然在同一集成電路上合并訪問控制和MPEG解碼在安全性方面提供許多優點,但是從商業的觀點看這有許多缺點。第一,MPEG標準與各種各樣的不同技術(包括上述DVD和DBS技術)結合使用。在所有這些不同技術中,需要各種各樣不同的訪問控制機件。例如對于DBS技術,必須驗證個體用戶(即,機頂盒的所有者)。可是,對于DVD技術,它通常需要區域訪問控制。如此,在不同應用中使用的訪問控制邏輯基本上會不同。
雖然在同一集成電路上集成訪問控制電路與MPEG解碼電路技術上有點兒平常,但是從成本的觀點看,這么做不是一般的昂貴。由于與開發用于制造的合適模板相關的成本,高性能集成電路設計會含有非常高的啟動成本。半導體產業通常依靠高產量來補償每個芯片設計相對高的啟動成本。如此,即使修改一個現有的電路設計來合并備選的訪問控制電路也會是一個非常昂貴的努力。
從經濟的立場看,訪問控制邏輯與解碼邏輯分離、以及利用多個芯片來執行分離的功能實質上將是更經濟有效的。尤其是訪問控制電路,常常可以使用相對簡單的電路來實現。此外,給定相對高帶寬性能的串行互連等等,諸如PCI-Express兼容互連之類的高速串行互連,可用于在訪問控制和解碼芯片之間傳送數據流。
在許多情況中非常希望的是使用一個可以與多種類型的訪問控制芯片接口的通用MPEG解碼器芯片以允許MPEG解碼器芯片被使用于更廣的應用種類中。可是,由于對攔截解密數據流的黑客給予了有理由的關注,多芯片實現方案還沒有被認為是可接受的選擇。
因此,在本領域很需要一種在高速通信接口之上提供安全性管理的更經濟有效的方法-包括與集成電路之類之間的數字數據通信有關而使用的串行和其它互連。而且,在本領域很需要一種與保護數字內容有關的實現訪問控制的更經濟的方法。
本發明通過提供一個數據處理系統、電路布置和方法來處理與現有技術相關的這些以及其它問題,其中,在一個多信道串行通信接口上使用通信接口支持的多路虛擬信道之中的一條專用加密虛擬信道傳送數據。專用加密虛擬信道的加密由一個耦合到該接口的硬件加密電路提供,如此以使在一個相對低電平執行加密并且實質性地保護其不受損害,尤其是沿著芯片邊界的損害。通常,另外的虛擬信道可以支持未加密數據(和/或經由其它機制加密的數據(比如經由軟件)),從而允許加密和未加密的數據以一種相對有效、經濟并且安全的方式共享一個公用接口。
雖然可以預見許多遵照本發明的可替代實施例,但是本發明的一個特定應用與對數字數據流提供訪問控制有關,例如在諸如直播衛星(DBS)接收機、DVD播放器等等之類的數據處理系統中支持數字內容的基于區域和/或基于用戶的訪問控制。對照于常規的單個芯片訪問控制方案,與依照本發明的實施例可以利用多芯片訪問控制方案,其依靠一個芯片來提供對接收的數字數據流的訪問控制,而使用另外一個芯片在一旦經授權那么做時處理該數字數據流。在多個芯片之間的安全的多信道串行通信接口使用布置在訪問控制芯片上的硬件加密邏輯重新加密已經在訪問控制芯片上解密的數字數據流,在多信道串行通信接口支持的專用加密虛擬信道上傳送重新加密的數字數據流,并且使用布置在其它芯片上的硬件解密邏輯解密該重新加密的數字數據流。
如此,訪問控制功能可以在物理上與最終利用數字數據流的功能分離,而同時數字數據流保持安全,不受通過芯片邊界的未授權訪問。在其它益處中,這里描述的結構在多芯片設計中使用的個體芯片的開發和制造方面還可以節省重要成本。
表征本發明的這些以及其它優點和特性在附加到這里并于此形成另外一個部分的權利要求中被闡明。可是,為了更好的理解本發明以及通過它的使用所獲得的優點和目的,應該參考附圖以及附隨的描述性內容,其中描述了本發明的示例性實施例。
圖1是依照本發明的一種數據處理系統的框圖,該數據處理系統包括具有專用加密虛擬信道的多信道串行通信接口。
圖2-5是說明依照本發明的多信道串行通信接口中邏輯塊、硬件加密邏輯以及硬件解密邏輯的示例性備選配置的框圖。
圖6是依照本發明的直播衛星接收機的框圖,它包括使用多信道串行通信接口的處理器芯片組。
圖7是圖6的處理器芯片組的框圖。
圖8是一個流程圖,說明了用來在圖6和7中說明的多信道串行通信接口上建立安全通信的示例性互連啟動程序。
圖9是依照本發明的圖6中直播衛星接收機的備選直播衛星接收機的框圖,它包括使用多信道串行通信接口的一個訪問卡。
圖10是依照本發明的一種DVD播放器的框圖,它包括使用多信道串行通信接口的處理器芯片組。
在下文中論述的實施例把一個專用加密虛擬信道合并到諸如PCI-Express兼容互連之類的多信道串行通信接口中。依照本發明的多信道串行通信接口通常包括共享一個公共串行通信路徑的多路″虛擬″信道的概念。在許多協議中,例如使用基于時間的多路復用,虛擬信道被復用在一個公共串行通信路徑上。例如,在一個PCI-Express兼容通信接口中,支持稱為″同步″信道的多路虛擬信道,這多路信道能夠通過一個定義明確的協議被單獨地建立并配置。
依照本發明,串行通信接口的一個或多路虛擬信道可以被配置為″專用″加密虛擬信道。依照本發明的專用加密虛擬信道通常使用布置在與用來在多信道串行通信接口上通信的接口電路相同的集成電路或芯片上的基于硬件的加密和/或解密邏輯。而且,這個基于硬件的邏輯用如下的方式耦合到接口電路,即專用加密虛擬信道上傳送的所有數據例如經由接口電路和加密/解密邏輯之間的直接信號路徑被加密。如此,在許多實施例中,希望在專用加密虛擬信道上傳送的數據的加密不能被繞過或禁止。
應該理解多信道串行通信接口中的其它虛擬信道可以被加密或不加密,并且如果加密,則加密可以以硬件和/或軟件的形式實現。此外,在專用加密虛擬信道上傳送的數據始終被加密的同時,與專用加密虛擬信道的建立相關的其它數據(例如建立數據、控制數據、授權數據、公共密鑰等等)可以在另外一個虛擬信道上以加密或未加密的方式傳送。
還應該理解本發明可以結合PCI-Express兼容接口以外的多信道串行通信接口使用。因此,雖然以下描述的實施例將集中在結合PCI-Express接口的本發明的一個特定應用上,但是本發明不局限于此。
總的來說,應該理解以下討論的任何基于硬件的功能通常被實現在結合到一個或多個集成電路或芯片中的一個電路布置中,并且可選擇地包括另外提供的電子組件。而且,正如本領域熟知的,通常使用一個或多個計算機數據文件來設計并制造集成電路,計算機數據文件在這里是指硬件定義程序代碼,它定義了電路布置在設備上的布局。程序代碼通常用一個設計工具生成并隨后在制造期間被使用以便創建布局模板,該模板定義應用到半導體晶片上的電路布置。通常,使用諸如VHDL、vetilog、EDIF等等之類的硬件定義語言(HDL)以一個預定義格式提供程序代碼。雖然本發明已經并且在下文中將在以完全功能的集成電路實現的電路布置中和使用同樣集成電路的數據處理系統的環境中被描述,但是本領域技術人員應該理解依照本發明的電路布置也能夠被分配為各種形式的程序產品,并且本發明的應用同樣與用于實際上實現該分配的信號承載介質的特定類型無關。信號承載介質的示例包括但是不限制為諸如易失和非易失存儲裝置、軟磁盤和其它可拆卸磁盤、硬盤驅動器、磁帶、光盤(例如CD-ROM,DVD等等)之類的可記錄型介質,以及諸如數字和模擬通信鏈路之類的傳輸型介質。此外,在依照本發明的某些實施例中,也可以用其它集成電路技術(例如FPGA等等)來實現在這里討論的某些基于硬件的功能。
現在轉向附圖,在此,相同的數字表示附圖各處相同的部分,圖1示出了依照本發明的一個示例性數據處理系統10,它包括具有專用加密虛擬信道的多信道串行通信接口。數據處理系統10包括經由多信道串行互連14耦合到外圍設備16的一個主機設備12。設備12、16在不同的實施例中可以被布置在相同的或不同的集成電路上,并且甚至可以被布置在分離的電路板、封裝、外殼等等之上。而且,應該理解其它設備可以耦合到依照本發明的多信道串行互連上。在圖示的實施例中,互連14是一個PCI-Express兼容互連。如此,設備12、16可以通過點到點連接耦合,或者中間設備(例如一個橋接器或開關)也可以被用在設備12、16之間。
在此這個圖示的設計中,主機設備12被示出為包括處理器18和存儲器20,而外圍設備16被示出為包括多個邏輯塊22、24、26、28,表示可以呈現在外圍設備上的不同邏輯電路。依照產業術語,這些邏輯塊可以被稱為知識產權(IP)塊,表示可以與其它電路裝配在一個集成電路上的自包含設計。可是應該理解依照本發明任何邏輯電路實際上都可以被布置在主機設備12或外圍設備16上。
在這個說明性的數據處理系統中,還說明了適于把安全的數據從外圍設備16傳送到主機設備12的一個示例性配置。每個設備12、16包括多信道串行端點電路30、32,其被配置為在多信道串行互連14上復用多路虛擬信道(為了示范的目的,在圖1中示出了信道0-2)。給定使用PCI-Express協議的數據處理系統10的實施方案,電路30、32每個都可以包括標準PCI-Express兼容的IP塊。可是在其它設計中,自定義的端點電路可以使用于備選方案中。
數據處理系統10支持專用加密虛擬信道(在這里是虛擬信道1)的概念,用于以一種安全的方式從外圍設備16傳送數據到主機設備12。在這點上,外圍設備16包括硬件加密邏輯34,硬件加密邏輯34被配置為耦合到端點32的信道1互連或者輸入上。通常,加密邏輯34經由一條直接信號路徑被耦合到端點32的信道1互連上,并且是對信道1互連的唯一連接,從而確保只有加密數據在多信道串行互連的信道1上傳送。
一個相應的基于硬件的解密邏輯電路36被布置在設備12中,并且耦合到端點30的信道1互連或輸出。如此,解密邏輯36解密在多信道串行互連的虛擬信道1上發送的任何加密數據。此外,為了提供一條到存儲器20的公共路徑,提供了多路復用器38以把解密邏輯36的輸出以及任何其它虛擬信道耦合到存儲器20。
為了實現依照本發明的專用加密虛擬信道,加密邏輯34和解密邏輯36可以被設計為實際支持任何加密/解密算法,例如包括PKI、RSA DES和Triple DES等等。應該理解諸如訪問或控制數據和/或公共密鑰信息之類的附加數據可以在專用加密虛擬信道上或者作為選擇在另一信道上被傳送給塊34、36的其中任何一個。
例如,虛擬信道0可以是在其上傳送控制和訪問信息的缺省信道。如此,所希望的是把每個IP塊22、24、26和28耦合到信道0以便為每一塊提供例如通過在虛擬信道0上由處理器18發出的命令而被主機設備適當配置的能力。而且,所希望的是進一步把信道0耦合到加密邏輯34(例如,經由如圖1所示的只寫路徑)以便例如通過把解密邏輯36的一個公共密鑰轉發到加密邏輯34來允許建立專用加密虛擬信道。
在這個說明性的示例中,示出了發明的若干變形。例如,如上面所指出,虛擬信道0可以被建立作為缺省信道,而虛擬信道1可以被建立作為只在其上傳送加密數據的專用加密虛擬信道。另一方面,信道2可以是一個傳統虛擬信道,它可以按照期望傳送加密和/或未加密數據。
此外,借助于各個IP塊22、24、26和28可以看到設備16中的邏輯塊可以耦合到不同的信道以支持不同的功能。例如,IP塊22可以被認為是一個標準盡力而為型的設備,在它之上的通信被限制為缺省信道0。另一方面,IP塊24被獨自耦合到加密邏輯34,并且如此,塊24與設備12之間的唯一通信是在加密虛擬信道之上。塊24還被示出為耦合到虛擬信道0,但是在許多實施例中可能希望將這樣的訪問限制到訪問控制的建立上,例如交換公共密鑰,或者允許主機設備選擇性地啟用這個塊。如此,在某些實施例中,可能希望的是只提供從虛擬信道0到IP塊24的一條單向路徑,如此使得IP塊24不能在虛擬信道0上傳送數據。
塊26說明了可以經由專用加密虛擬信道1或虛擬信道2選擇性地進行傳送的邏輯電路。同樣地,框28說明了并不使用經由加密邏輯34的加密只通過虛擬信道2轉送數據的一個邏輯塊。為了由多個邏輯塊支持虛擬信道2的應用,以40示出的一個多路復用器或其它路由邏輯可以用于備選方案中。
應該理解在如圖1所示的配置中,并且接口電路30、32的每一個都使用傳統的PCI-Express IP塊,則實現專用加密虛擬信道所必需的所有有效負載修改可以在電路30、32外部實現。如此,不需要對PCI-Express標準的任何修改就可以實現專用加密虛擬信道。
為了建立一條專用加密虛擬信道,必須按照用于建立虛擬信道的PCI-Express協議初始化一條虛擬信道。應該理解用于初始化適當數量的虛擬信道的適當邏輯、以及用于通過專用加密虛擬信道初始化加密和授權對加密數據的解密的適當邏輯的實施是在受益于本公開內容的本領域普通技術人員的能力之內。還應該理解依照本發明的多信道串行互連可以使用任何特定應用可能希望的任意數量的虛擬信道以及任意數量的專用加密虛擬信道。
在依照本發明的專用加密虛擬信道中,在虛擬信道上傳送的所有數據都被加密。應該理解在關于訪問控制使用公共密鑰的實施中,這些公共密鑰可以時常被更新,并且在一些實施例中可以選擇不同的加密方案。但是,在許多實施例中所希望的是在特定專用信道上合并一個不能被繞過的缺省加密方案。通過這么做,并且還通過提供附加信道用于傳送非加密數據(或者經由軟件已經加密的數據),對于多個用途可以共享一個公共總線資源,這通常降低成本并且慮及在數據的哪部分被加密方面增加靈活性。而且,正如在下面將變得更清楚的,當多信道串行互連的端點被布置在分離的集成電路上時,加密數據的安全性實質上被改善。
還應該理解專用加密虛擬信道的加密可以是對多信道串行互連上傳送的數據的編碼或其它修改方式的補充。例如,PCI-Express協議對通過一條鏈路傳送的所有數據進行擾頻,主要是為了擴展在一個較寬頻率范圍生成的電噪聲頻譜并因此減少峰值發射的目的。雖然這個形式的擾頻可以被認為是加密的一種形式,但是這個擾頻的目的不是保護數字權利,實際上相對易于解碼-假定解碼算法公知。
因此按照在此所述的方式的特定信道加密在一個PCI-Express環境中實質上提供比該標準提供的更高的安全性。
依照本發明可以使用各種備選設計。例如,如圖2-5中示出的,一個IP塊可以按照多種可替代方式被耦合到一個多信道串行端點。例如,如圖2中所示,集成電路50可以包括多信道串行端點52,多信道串行端點52包括多路虛擬信道54、56、58和60。虛擬信道56和58可以被配置為專用加密虛擬信道。IP塊62可以經由加密邏輯64耦合到虛擬信道56以便按照上述方式在虛擬信道56上傳送加密數據。同樣地,加密虛擬信道58可以從串行互連中接收加密數據用于IP塊66消耗,加密數據流的解密由解密邏輯68提供。如此,可見加密與解密都可以在同一集成電路上提供。
雖然虛擬信道56、58實際上被示出為單向的,但是應該理解依照本發明的虛擬信道實際上還可以是雙向的。如圖3所示,例如,集成電路70可以包括多信道串行端點72,它支持多路虛擬信道74、76和78。虛擬信道76可以被配置為一條實際上雙向的專用加密虛擬信道。如此,IP塊80可以是加密數據的生產者和消費者。為了支持這樣的功能,加密邏輯82可以被直接布置在塊80和端點72中間以加密去往串行互連的輸出數據。同樣地,對于輸入加密數據,解密邏輯84可以直接耦合在IP塊80和端點72中間。
正如在上面也提及并且在圖4中進一步所說明的,布置在集成電路上的IP塊也許能夠在多路虛擬信道上傳送數據。圖4的集成電路90例如包括支持多路虛擬信道94、96和98的多信道串行端點92,虛擬信道94是一條未加密信道,虛擬信道96是一條專用加密虛擬信道。IP塊100可以在信道94、96的任何一個上與加密和/或解密邏輯通信,以102表示的加密和/或解密邏輯被插入在IP塊100和端點92之間以便支持專用加密虛擬信道上傳送的加密數據的加密和/或解密。
另外,如圖5中所示,多個IP塊可以共享一個給定的專用虛擬信道。例如,圖5的集成電路110說明了一個多信道串行端點112,其支持多路虛擬信道114、116和118。虛擬信道116被配置為一條專用加密虛擬信道,并且多個IP塊120、122經由加密和/或解密邏輯124耦合到虛擬信道116以促進與這些塊的數據的安全通信。依照本發明一個可選的多路復用器126或其它切換邏輯可以被用來接口多個IP塊與加密虛擬信道。
圖6接下來說明了在此描述的多信道串行互連的一個特定應用,用于在諸如DBS機頂盒或接收機130之類的數據處理系統中提供訪問控制。如傳統DBS機頂盒,機頂盒中提供調諧器/解調器邏輯132來解調從通常以134表示的圓盤式衛星電視天線中接收的衛星信號(通常從LNB向下變頻器中)。DBS廣播信號被解調為數字數據流,數字數據流被加密以便提供訪問控制并防止對數字數據流未授權的訪問。這個加密數據流被提供給機頂盒的一個控制器,在這里由處理器芯片組136表示。芯片組136還耦合到存儲器138以及音頻/視頻輸出電路140,音頻/視頻輸出電路140用于驅動視頻顯示器和/或外部音頻電路。此外,用戶輸入由一般以142表示的用戶輸入電路例如經由前面板按鈕和/或遙控裝置被提供給處理器碼片組136。此外,訪問控制功能借助于使用通過以146表示的訪問卡連接器耦合到處理器芯片組上的訪問卡或智能卡144而提供。
正如本領域熟知的,DBS機頂盒一般裝備有智能卡連接器以使得個體單元根據特定用戶的預訂設定被分別授權。訪問卡通常與特定的用戶帳單相關如此以使授權可以被緊密監視和控制。
如上指出,常規DBS機頂盒設計通常在同一集成電路中合并訪問控制和DBS衛星信號的解碼。相反,機頂盒130以及特別是處理器芯片組136利用一對集成電路148、150,集成電路148提供訪問控制邏輯,而集成電路150提供解碼器邏輯、以及用于管理機頂盒整個操作的另外的處理和控制邏輯。依照本發明,包括專用加密虛擬信道的多信道串行互連152把集成電路148、150彼此耦合。正如將在下面討論的,表示DBS廣播信號的數字數據流以一種加密方式在芯片之間傳送以保護沿著集成電路148、150之間的芯片邊界的數字數據流。
具體地說,如圖7中更詳細示出的,多信道串行互連152可以被配置為PCI-Express互連,具有為了說明的目的而圖示出的四個虛擬信道。虛擬信道0可以是一個缺省的固定信道,為了控制集成電路148和150之間的各個操作(為任何專用加密虛擬信道建立訪問控制)的目的,需要該缺省的固定信道來傳送清除數據。虛擬信道1被示出為是一個固定的專用加密虛擬信道,而虛擬信道2和3被示出為是靈活信道,其可以如在不同應用中期望的被配置用于傳送加密或未加密數據。為了支持多路信道,集成電路150包括PCI-Express串行接口電路154、156,其支持用于在各自的芯片上與另外一個邏輯電路傳送虛擬信道數據的至少四個信道互連。
為了支持經授權的DBS編程的安全接收,集成電路148包括用戶特定的解密邏輯塊158,其實現機頂盒的期望訪問控制功能。而且,為了支持壓縮數據流到未壓縮的音頻和/或視頻數據的解碼,集成電路150包括一個MPEG解碼器邏輯塊160。
為了確保集成電路148、150之間的芯片邊界安全,數據流(在這里是壓縮但是已解密的MPEG數據的數據流)在專用加密虛擬信道1上被傳送,并且在這點上,平臺特定的加密與解密邏輯162、164分別被布置在集成電路148、150上。為了建立適當的訪問控制以及為了在集成電路148、150之間建立一個安全的連接,集成電路包括一個邏輯塊166,該邏輯塊166耦合到虛擬信道0并被配置來傳送集成電路148消耗的控制、狀態、訪問和密鑰生成數據。
正如也在圖7中說明的,在一些實施例中,壓縮數據流可以包括未加密或未限制的數據。在這些場合中,所希望的可能是把壓縮數據流也提供到虛擬信道2以及直接提供到MPEG解碼器塊160。應該理解這樣的數據在通過串行互連152傳送時將不受到訪問控制測量,也將不被加密。
還應該理解通常以塊168和170表示的另外的IP邏輯也可以被布置在每個集成電路上以在諸如虛擬信道3之類的另外的虛擬信道上傳送。包括機頂盒的大量處理和控制邏輯的附加邏輯還可以被合并到集成電路148、150任一個或二者中,或者在處理器芯片組中布置的另外的集成電路中。本領域普通技術人員應了解這些附加的功能并因此從圖7中省略之。
如配置的,表示加密數據流的一個壓縮的訪問控制數據流由塊158接收。一旦由塊158授權和適當解密,則結果的解密數據流被提供給塊162來執行平臺特定的加密。這個加密數據流然后在專用加密虛擬信道上被提供用于由塊164解密。在集成電路148、150之間的芯片邊界處,應該理解在碼片邊界上傳送的數據是加密的并因此不會被危害。塊164然后以一種與塊162提供的加密互補的方式解密數據流,并且將這個現在已解密的但仍然壓縮的數據流提供給MPEG解碼器塊160。塊160然后以一種常規的方式解壓縮并解碼數據流,產生未壓縮的音頻和/或視頻數據用于從機頂盒輸出。
通過此配置獲得許多好處。首先,訪問控制和解碼功能被分成兩個分開的集成電路,這允許通過按照期望組合不同的芯片設計讓不同的訪問控制算法與不同的解碼算法一起使用。
另外,因為訪問控制功能經常能夠在相對簡單的邏輯電路中被實現,所以在一些實施例中使用諸如FPGA之類的場可編程邏輯來實現集成電路148是可能的。如此,可以按照一種非常經濟并且高度可定制的方式構造集成電路的訪問控制邏輯,而不需要對現有的芯片設計進行昂貴修改。
應該理解虛擬信道的初始化和專用加密虛擬信道的建立可以按照給定設計中使用的串行通信協議和加密算法而變化。例如,圖8說明了一個示例性程序,它可以被圖7的電路執行來初始化多信道串行互連并與此相關建立合適的專用加密虛擬信道。
具體地說,圖8說明了例如可以在作為主機的設備的指導下執行的用于諸如PCI-Express的多信道串行互連的初始化互連程序。程序172例如可以由數據處理系統的電源開啟來觸發。此時假設所有互連寄存器通常被復位。
程序172在塊174中通過初始化總線體系結構而開始,包括通常按照已知的PCI-Express協議建立一個缺省虛擬信道(虛擬信道0)。在這個初始化過程期間,經由硬件并通常沒有主機處理器干預而建立鏈路通信以允許通過信道發生第一個通信。在此階段的最后,只有來自主機處理器的配置循環被支持。不用來自主機處理器的協助,在端點之間的所有鏈路,即主機、外圍設備、交換機、橋接器等等之間的個體點到點連接通常能夠達到此狀態。
一旦鏈路通信建立,再一次依據PCI-Express協議,由主機處理器執行配置循環以便配置所有的交換機和端點以設置整個總線體系結構。由此,適當地啟用存儲器和I/O空間。此時,存儲操作現在是可能的,因此外圍設備中的個體IP塊可以讀寫主機設備中的存儲器空間。主機設備中的個體IP塊也可以讀寫外圍設備中的存儲器空間。可是,此時在配置過程中除缺省信道0以外的虛擬信道未被啟用,因此一些外圍設備和/或IP塊可能不可用。而且,專用加密虛擬信道還尚末建立。
接下來,如塊176所示,為特定多信道串行互連期望的每個另外的虛擬信道分配帶寬。具體的說,通常使用主機處理器上執行的軟件按照PCI-Express協議建立期望的虛擬信道,使用缺省信道0為所有其它虛擬信道建立帶寬分配。此時,同步操作是可能的,并且任何外圍設備中的個體IP塊通常可以使用同步傳送的確保帶寬讀寫主機設備中的存儲器以及在所有的信道上執行盡力而為的傳送。
可是,此時,專用加密虛擬信道仍然還不可用。具體地說,在專用加密虛擬信道上接收的任何數據通常將使用在開啟電源復位(FOR)之后硬件加密邏輯被初始化為那個信道使用的任一密鑰來加密。此密鑰將不是相應硬件解密邏輯用于專用加密虛擬信道的公共密鑰,因此在該信道上發射的任何數據將不可被硬件解密邏輯翻譯。
如此,對于每個專用加密虛擬信道,塊178開始一個循環來設置密碼系統,并因此授權安全通信。對于每個這樣的信道,塊180獲得那個信道的硬件解密邏輯的密鑰。這是一個公共密鑰并通常不需要保護。如何獲得這個密鑰以及使用的密鑰數目、每個密鑰的長度以及加密算法取決于系統要求而可以不同。一個可能的方法是運行在主機處理器上的軟件從解密邏輯中的一個寄存器中讀出這個密鑰。可替代地,密鑰可以以軟件的形式被編碼為一個常數。例如,解密邏輯的加密與解密密鑰可以是軟件生成的,被裝載到解密邏輯中的解密單元的私有密鑰以及與這個私有密鑰配對的公共密鑰對軟件可用,例如通過存儲在軟件可訪問的專用寄存器中。
接下來,如塊182和184所示,公共密鑰在缺省虛擬信道0上被傳送并儲存在專用加密虛擬信道的加密邏輯中。具體地說,使用信道0配置循環,解密邏輯的公共密鑰被寫入外圍設備中的硬件加密邏輯中,因此提供必要的密鑰以允許硬件加密邏輯以某種方式編碼該數據以使只有那個專用加密虛擬信道的硬件解密邏輯能夠正確地解密該數據。
一旦硬件加密邏輯已用相應的硬件解密邏輯的公共密鑰更新,則使用那個密鑰加密在專用加密虛擬信道上的未來數據通信。如此,并且如塊186所示,依賴專用加密虛擬信道的任何IP塊然后可以被啟用,因此在該專用加密虛擬信道上那些塊的任何通信將能夠被解密邏輯解密。
在塊186結束后,控制返回到塊178以便處理在任何附加的專用加密虛擬信道上建立安全通信。一旦所有這些信道已被建立,程序172結束。
應該注意在不同的應用中程序172可以變化。例如,假定在一些實施例中某些IP塊可以被允許在多路虛擬信道上傳送,可能希望只有在所有的專用加密虛擬信道都已被建立之后啟用IP塊。依照本發明適于其它安全協議和/或串行互連結構的其它初始化程序可以被使用。
現在短暫返回到圖6,應該理解DBS接收機130中的芯片148、150通常被布置在同一電路板上,或者可能在同一多芯片封裝或模塊內,因此多信道串行互連152通常被布置在一個電路板上。在備選方案中,可能希望合并在多個電路板之間延伸的一個多信道串行通信接口。例如,如圖9所示,所希望的可能是將訪問控制控能合并到包含板上邏輯芯片的“智能”訪問卡中,該訪問卡通過帶有專用加密虛擬信道的多信道串行互連耦合到中央處理器。
具體地說,圖9說明了DBS接收機200,其接收來自圓盤式衛星電視天線202的衛星廣播信號并使用調諧器/解調器邏輯204解調廣播信號。DBS廣播信號被解調為數字數據流,該數字數據流被加密以便提供訪問控制并防止對數字數據流的未授權訪問。這個加密數據流被提供給機頂盒的一個控制器,在這里由處理器芯片組206表示。芯片組206還耦合到存儲器208、以及音頻/視頻輸出電路210和用戶輸入電路212。
在處理器芯片組206內布置一個處理器/解碼器芯片214。可是,代替在處理器芯片組206內部合并一個內置訪問控制芯片,一個訪問卡連接器216被配置為接受智能訪問卡218,該智能訪問卡218提供訪問控制功能并且經由多信道串行互連220耦合到處理器芯片組206。
布置在訪問卡218上的是一個諸如PCI-Express接口電路的多信道串行接口電路222。一個用戶特定的解密塊224和平臺特定的加密塊226,以與圖7的塊158和162類似的方式被配置,也被布置在訪問卡上。
互連220在本實施例中被配置為包括三個虛擬信道,信道0是缺省控制信道,信道1是專用加密虛擬信道,而信道2是未加密信道。在本實施例中,解調器204輸出的壓縮加密數據流經由互連220的信道2被提供給塊222,由塊224生成的重新加密數據流通過專用加密虛擬信道1被返回給處理器芯片組。眾所周知,機頂盒200和訪問卡218之間傳送的數據總是被內容供應商(在基于用戶的解密之前)或者被DBS接收機(被塊224)加密。因此,數字數據流被有效保護并保護不受未經授權的竄改。
在其它益處中,在一張訪問卡中合并訪問控制功能允許訪問控制和數字權利管理算法可能被內容供應商以一種相對經濟的方法時常更新和修改。如此,如果黑客危害一個給定訪問控制方案,則可以以另外一個控制方案代替而不需要個體DBS機頂盒被替換或修改。
接下來,如上所指出,上述訪問控制功能還可以結合除DBS接收機等等以外的數據處理系統使用。例如,圖10說明了一個包括光盤驅動器電路232的DVD播放器230,光盤驅動器電路232被配置從DVD介質234中讀取數據流并提供解調、壓縮且加密的數據流給處理器芯片組236,處理器芯片組236接著耦合到存儲器238、音頻/視頻輸出電路240和用戶輸入電路242。芯片組236包括通過包含專用加密虛擬信道的多信道串行互連而耦合到處理器/解碼器芯片246的一個區域訪問芯片244。
應該理解DVD播放器230可能能夠利用與圖6和9的DBS機頂盒130、200任何一個相同的處理器/解碼器集成電路。通過利用一個適當的區域訪問芯片244,合并區域訪問邏輯和在此描述的硬件加密邏輯以及多信道串行接口邏輯,則使用于DBS機頂盒中的基于相同的處理器/解碼器設計可以很容易地改變為在DVD播放器中使用。
在此描述的實施例提供了勝過常規設計的許多優點。例如,通過使用專用加密虛擬信道,單個通信資源常常可以被加密和非加密數據共享,從而節約成本。而且,正如在上面已示出的,專用加密虛擬信道可以改善加密數據(尤其是通過芯片邊界的加密數據)的安全性。
各種附加修改對受益于本公開內容的本領域普通技術人員來說將是顯而易見的。因此,本發明在于以下附加的權利要求中。
權利要求
1.一個數據處理系統,包含第一集成電路,第一集成電路包括被配置來生成數據流的第一邏輯塊;一個硬件加密電路,它耦合到第一邏輯塊并被配置來對數據流進行加密以便生成一個加密數據流;和第一PCI-Express兼容的接口電路,它被配置來支持在多個PCI-Express虛擬信道上的數據通信;其中所述多個PCI-Express虛擬信道包括未加密缺省虛擬信道和被配置來專門傳送加密數據的專用加密虛擬信道,其中第一PCI-Express兼容的接口電路包括多路信道互連,其每一個與多路虛擬信道之中的一個虛擬信道相關,其中多路虛擬信道之中的第一信道互連耦合到硬件加密電路以便接受加密數據流,并且其中第一PCI-Express兼容的接口電路被配置為在專用加密虛擬信道上傳送來自硬件加密電路的加密數據流;第二集成電路,它通過一個PCI-Express兼容的互連耦合到第一集成電路,該第二集成電路包括第二PCI-Express兼容的接口電路,它耦合到PCI-Express兼容的互連以便在專用加密虛擬信道上接收加密數據流,第二PCI-Express兼容的接口電路包括多路信道互連,其每一個與多路虛擬信道之中的一個虛擬信道相關;一個硬件解密電路,它耦合到第二PCI-Express兼容的接口電路的多路信道互連之中的第一信道互連并被配置以解密所述加密數據流;和第二邏輯塊,它耦合到硬件解密電路并被配置以使用解密數據流;和控制邏輯,它耦合到第一和第二PCI-Express兼容的接口電路中的至少之一上并被配置以在缺省虛擬信道上傳送授權數據以便授權在專用加密虛擬信道上在第一和第二集成電路之間的安全通信。
2.一個電路布置,包含一個多信道串行接口電路,它被配置以使用多路虛擬信道在一個串行互連上傳送數據;和一個硬件加密電路,它耦合到多信道串行接口電路并被配置以加密在多路虛擬信道之中的一個專用加密虛擬信道上傳送的所有數據。
3.權利要求2所述的電路布置,其中多信道串行接口電路包含PCI-Express兼容的接口邏輯,該接口邏輯耦合到硬件加密電路并被配置為在PCI-Express兼容的互連上傳送硬件加密電路輸出的加密數據。
4.權利要求2所述的電路布置,還包含一個邏輯塊,它耦合到硬件加密電路,并被配置為輸出在串行互連上通信的數據給硬件加密電路,如此以使邏輯塊輸出的數據在通過串行互連通信之前被加密。
5.權利要求4所述的電路布置,其中邏輯塊另外被配置為輸出在多路虛擬信道之中的未加密虛擬信道上通信的附加數據。
6.權利要求4所述的電路布置,其中邏輯塊被配置為只在專用加密虛擬信道上通過串行互連輸出數據。
7.權利要求4所述的電路布置,還包含第二邏輯塊,它耦合到多信道串行接口電路并被配置為輸出用于在多路虛擬信道之中的未加密虛擬信道上通信的數據。
8.權利要求4所述的電路布置,還包含第二邏輯塊,它耦合到硬件加密電路并被配置為輸出用于在專用加密虛擬信道上通信的數據。
9.權利要求4所述的電路布置,還包含一個硬件解密電路,它耦合在多信道串行接口電路與邏輯塊中間,該硬件解密電路被配置為解密由多信道串行接口電路從串行互連中接收到的并在專用加密虛擬信道上傳送的加密數據。
10.權利要求4所述的電路布置,其中多路虛擬信道包括一個缺省虛擬信道,它被配置為傳送用于授權在專用加密虛擬信道上安全通信的授權數據。
11.一個包括權利要求2的多信道串行接口電路和硬件加密電路的集成電路。
12.一個數據處理系統,它包含權利要求11的集成電路和第二集成電路,第二集成電路包含被配置為接收由第一多信道串行接口電路在串行互連上傳送的加密數據的第二多信道串行接口電路,第二集成電路還包含一個被配置為解密通過串行互連接收到的加密數據的硬件解密電路。
13.一個程序產品,它包含定義權利要求2的電路布置的硬件定義程序代碼,以及承載硬件定義程序代碼的信號承載介質,其中信號承載介質包括傳輸介質和可記錄介質中的至少之一。
14.一個電路布置,包含一個多信道串行接口電路,它被配置為使用多路虛擬信道在一個串行互連上傳送數據;和一個硬件解密電路,它耦合到多信道串行接口電路并被配置為解密多信道串行接口電路從串行互連中接收到的已經通過多路虛擬信道之中的專用加密虛擬信道上的串行互連被傳送的所有數據。
15.一種在一個串行互連上傳送數據的方法,該方法包含使用布置在集成電路上的一個硬件加密電路加密數據流;和使用布置在集成電路上的一個多信道串行接口電路在串行互連上傳送加密數據流,其中傳送加密數據流包括在多信道串行接口電路支持的多路虛擬信道之中的專用加密虛擬信道上傳送加密數據流,其中專用加密虛擬信道專用于加密數據的通信。
16.權利要求15所述的方法,其中多信道串行接口電路包含PCI-Express兼容的接口邏輯,該接口邏輯耦合到硬件加密電路,其中在串行互連上傳送加密數據流包括在一個PCI-Express兼容的互連上傳送加密數據。
17.權利要求15所述的方法,還包括從布置在集成電路上的一個邏輯塊中生成數據流。
18.權利要求17所述的方法,其中邏輯塊被配置為只在加密虛擬信道上通過串行互連輸出數據。
19.權利要求17所述的方法,還包括從布置在集成電路上的第二邏輯塊中生成第二數據流,并使用在多信道串行接口電路支持的多路虛擬信道之中的一個未加密虛擬信道在串聯互連上傳送第二數據流。
20.權利要求17所述的方法,還包括使用布置在集成電路上的一個硬件解密電路對由多信道串行接口電路從串行互連中接收到并在專用加密虛擬信道上傳送的第二加密數據流進行解密;并把解密數據流傳送給所述邏輯塊。
21.權利要求17所述的方法,其中多路虛擬信道包括一個缺省虛擬信道,該方法還包括在缺省虛擬信道上傳送授權數據以便授權在專用加密虛擬信道上的安全通信。
22.權利要求17所述的方法,還包括使用布置在第二集成電路上的第二多信道串行接口電路接收來自串行互連的加密數據流;并使用布置在第二集成電路上的一個硬件解密電路解密加密數據流。
23.一種提供對數字數據流的訪問控制的方法,所述方法包括在第一集成電路中解密第一加密數據流以便生成第一解密數據流;在第一集成電路中重新加密第一解密數據流以便生成第二加密數據流;通過在多信道串行互連支持的多路虛擬信道之中的一個專用加密虛擬信道上傳送第二加密數據流,在連接第一和第二集成電路的多信道串行互連上把第二加密數據流從第一集成電路傳送到第二集成電路;并在第二集成電路中解密第二加密數據流以便生成第二解密數據流。
24.權利要求23所述的方法,還包括解調一個已調制輸入信號以便生成第一加密數據流。
25.權利要求24所述的方法,還包括在第二集成電路中解碼第二解密數據流以便生成一個解碼數據流。
26.權利要求24所述的方法,其中已調制輸入信號包括一個衛星廣播信號,其中第一加密數據流包括一個加密MPEG數據流,并且其中在第二集成電路中解碼第二解密數據流包括在第二解密數據流上執行MPEG解碼。
27.權利要求23所述的方法,其中解密第一加密數據流包括在第一加密數據流上執行區域訪問控制。
28.權利要求23所述的方法,其中解密第一加密數據流包括在第一加密數據流上執行用戶訪問控制。
29.權利要求23所述的方法,其中第一和第二集成電路被布置在機頂盒中。
30.權利要求23所述的方法,其中第一集成電路被布置在經由連接器耦合到第二集成電路的一張訪問卡上。
31.權利要求23所述的方法,其中由布置在第一集成電路上的硬件加密邏輯執行對第一解密數據流的重新加密。
32.一個電路布置,包括解密邏輯,它被配置為解密第一加密數據流并從中生成一個第一解密數據流;加密邏輯,它被配置為重新加密第一解密數據流并從中生成第二加密數據流;和一個多信道串行接口電路,它被配置為通過在多信道串行互連支持的多路虛擬信道之中的一個專用加密虛擬信道上傳送第二加密數據流來在多信道串行互連上傳送第二加密數據流。
33.權利要求32所述的電路布置,還包含第二解密邏輯,它被配置為解密第二加密數據流并從中生成第二解密數據流。
34.權利要求33所述的電路布置,還包含解調邏輯,它被配置為從已調制的輸入信號中生成第一加密數據流。
35.權利要求34所述的電路布置,還包含解碼器邏輯,它被配置為解碼第二解密數據流。
36.權利要求35所述的電路布置,其中已調制輸入信號包括一個衛星廣播信號,其中第一加密數據流包括一個加密MPEG數據流,并且其中在第二集成電路中解碼第二解密數據流包括在第二解密數據流上執行MPEG解碼。
37.權利要求35所述的電路布置,其中解調邏輯、第一解密邏輯、加密邏輯和多信道串行接口電路被布置在第一集成電路上,其中第二解密邏輯和解碼器邏輯被布置在第二集成電路上,并且在其中第二集成電路包括耦合到多信道串行互連上以便從那里接收第二加密數據流的一個第二多信道串行接口電路。
38.權利要求32所述的電路布置,其中解密邏輯被配置為在第一加密數據流上執行區域訪問控制。
39.權利要求32所述的電路布置,其中解密邏輯被配置為在第一加密數據流上執行用戶訪問控制。
40.權利要求32所述的電路布置,其中多信道串行接口電路包含PCI-Express兼容的接口邏輯,該接口邏輯耦合到加密邏輯并被配置為在一個PCI-Express兼容的互連上傳送第一加密數據流。
41.一個包括權利要求32的解密邏輯、加密邏輯和多信道串行接口電路的集成電路。
42.數據處理系統,包含權利要求41的集成電路和一個第二集成電路,第二集成電路包括被配置為從多信道串行互連中接收第二加密數據流的第二多信道串行接口電路和被配置為解密第二加密數據流并從那里生成第二解密數據流的第二解密邏輯。
43.權利要求42所述的數據處理系統,還包括一張訪問卡,在那上面布置了第一集成電路。
44.一個包括權利要求32的解密邏輯、加密邏輯和多信道串行接口電路的訪問卡。
45.一個程序產品,它包含定義權利要求32的電路布置的硬件定義程序代碼,以及承載硬件定義程序代碼的信號承載介質,其中信號承載媒體的信號包括傳輸介質和可記錄介質中的至少之一。
全文摘要
一種數據處理系統、電路布置和方法,使用通信接口(14)支持的多路虛擬信道之中的專用加密虛擬信道來在多信道串行通信接口(14)上傳送數據。專用加密虛擬信道的加密由一個耦合到該接口的硬件加密電路(34)提供,如此以使加密在相對低的電平執行,并且實質性地保護其尤其是沿著芯片邊界不受損害。在一個特定的應用中,可以使用一個多芯片訪問控制方案為一個數字數據流提供訪問控制,該方案依靠一個芯片(148)來在一個接收的數字數據流上提供訪問控制,而另一芯片(150)被利用來一旦經授權那么做就處理該數字數據流。在多個芯片之間的一個安全的多信道串行通信接口重新加密已經在訪問控制芯片(148)上使用布置在訪問控制芯片上的硬件加密邏輯(162)解密的一個數字數據流,在多信道串行通信接口支持的一個專用加密虛擬信道上傳送重新加密的數字數據流,并且使用布置在另外一個芯片(150)上的硬件解密邏輯(164)解密該重新加密的數字數據流。
文檔編號H04N5/00GK1729644SQ200380107082
公開日2006年2月1日 申請日期2003年12月17日 優先權日2002年12月18日
發明者D·埃沃伊 申請人:皇家飛利浦電子股份有限公司