新四季網

用於晶片上系統器件中數據通路安全的系統和技術的製作方法

2023-08-05 09:40:51

專利名稱:用於晶片上系統器件中數據通路安全的系統和技術的製作方法
用於晶片上系統器件中數據通路安全的系統和技術
背景技術:
半導體技術的發展已經使計算機或電子系統的功能組件能夠被集成和
設計成晶片上系統(SOC)器件。在soc器件中,例如,可以將常規作為
獨立晶片製造的組件,例如微處理器、微控制器、數據變換器、信號處理
器、存儲器和各種接口嵌入單個晶片上的單機系統中。可以將soc器件的
功能單元設計成通過片內總線在內部彼此通信,以及與一個或多個外部或
晶片外組件,例如晶片外動態隨機存取存儲器(DRAM)進行通信。
可以對SOC器件編程控制,以為個人計算機(PC)、消費電子器件(CE) 和/或移動平臺實現組網、多媒體和/或通信應用中的一種或多種。在實現這 種應用時,可能會要求SOC器件提供一定的安全措施,以便依照各種規章 要求和質量標準來保護數據,防止黑客或其他未經許可的使用竊取數據。 儘管當前的安全工具提供了防篡改代碼和其他機制,以在向和從諸如晶片 外DRAM的外部存儲器傳輸數據時保護數據,但這種工具不會為SOC器 件提供片內數據通路安全。


圖1示出了包括安全控制器以提供數據通路安全的soc器件的一個實施例。
圖2示出了數據通路安全系統的一個實施例。
圖3示出了安全控制器的一個實施例。
圖4示出了用於數據通路安全的邏輯流的一個實施例。
圖5示出了包括數據通路安全邏輯的產品的一個實施例。
具體實施例方式
將描述SOC器件中用於提供數據通路安全的各種實施例。在一個實施 例中,可以設置安全控制器以配置連接到內嵌於SOC器件中的共享片內總線上的一個或多個功能單元,以便通過一個或多個安全的數據通路與其他 功能單元進行通信。可以將這一個或多個功能單元設置成對明文數據進行 加密,通過安全的數據通路將加密後的數據發送出去,從安全的數據通路 接收經加密的數據,以及對該經加密的數據進行解密以恢復明文數據。
在本文中已經闡述了很多具體細節以提供對各個實施例的透徹理解。 然而,本領域的技術人員將要理解的是,可以不用這些細節來實施實施例。 在其他情況下,沒有詳細描述公知的操作、組件和電路,以免使實施例模 糊。可以認識到,本文披露的具體結構和功能細節可以是代表性的,但並 非必然限制實施例的範圍。
圖1示出了 SOC器件100的一個實施例的方框圖。通常,SOC器件100
可以包括用於傳輸信息的各種物理和/或邏輯組件,它們可以根據給定設計 參數集或性能約束條件集而被實現為硬體、軟體或其任何組合。儘管圖1 可以示出例如有限數量的組件,但可以理解針對給定實施可以使用更多或 更少組件。
在各實施例中,可以為PC、 CE和/或移動平臺將SOC器件100實現為 位於裝置之內和/或連接到裝置的系統,該裝置例如是個人計算機(PC)、 機頂盒(STB)、電視機(TV)、網際協議電視機(IPTV)、媒體播放器和/ 或智慧型電話。這種裝置的其他範例可以包括但不限於工作站、終端、服 務器、媒體家電、音頻/視頻(A/V)接收機、數位音樂播放器、娛樂系統、 數位電視(DTV)裝置、高清晰度電視(HDTV)裝置、直接廣播衛星電視 (DBS)裝置、視頻點播(VOD)裝置、網絡電視機、數字錄像機(DVR) 裝置、數字多用途盤(DVD)裝置、高清晰度DVD (HD-DVD)裝置、藍 光碟(BD)裝置、家庭視頻系統(VHS)裝置、數字VHS裝置、數字照相 機、遊戲控制臺、顯示裝置、筆記本PC、膝上型計算機、可攜式計算機、 手持計算機、個人數字助理(PDA)、 IP語音(VoIP)裝置、蜂窩電話、蜂 窩電話/H3A的組合、傳呼機、消息收發裝置、無線接入點(AP)、無線客 戶端裝置、無線站(STA)、基站(BS)、用戶站(SS)、移動用戶中心(MSC)、 移動單元等。
在移動應用中,例如,可以將SOC器件100實現在這樣的裝置之內和 /或連接到該裝置該裝置包括一個或多個用於無線通信的接口和/或組件,例如一個或多個發射機、接收機、收發機、晶片組、放大器、濾波器、控 制邏輯、網絡接口卡(NIC)、天線等。天線的範例可以包括但不限於內 部天線、全向天線、單極天線、偶極天線、端饋式天線、圓極化天線、微 帶天線、分集式天線、雙重天線、天線陣等。
在各實施例中,SOC器件IOO可以形成有線通信系統、無線通信系統 或二者的組合的一部分。例如,可以設置SOC器件100以通過一種或多種
有線通信鏈路傳輸信息。有線通信鏈路的範例可以包括但不限於導線、
電纜、總線、印刷電路板(PCB)、乙太網連接、對等(P2P)連接、底板、 交換架構、半導體材料、雙絞線、同軸電纜、光纖連接等。也可以設置SOC 器件100以通過一種或多種無線通信鏈路傳輸信息。無線通信鏈路的範例
可以包括但不限於無線電信道、衛星信道、電視信道、廣播信道、紅外
信道、射頻(RF)信道、無線保真(WiFi)信道、RF頻譜的一部分和/或 一個或多個許可或無需許可的頻段。儘管可以通過舉例的方式利用特定通 信介質例示某些實施例,但可以認識到,可以利用各種通信介質和附帶技 術實現本文所述的原理和技術。
在各實施例中,可以將SOC器件100設置成在網絡中工作,該網絡例 如是廣域網(WAN)、區域網(LAN)、城域網(MAN)、無線WAN (WWAN)、 無線LAN(WLAN)、無線MAN(WMAN)、無線個人區域網(WPAN)、全球 微波接入互操作性(WiMAX)網絡、寬帶無線接入(BWA)網、Intemet、萬維 網、電話網、無線電網、電視網、有線電視網、諸如直接廣播衛星(DBS) 網的衛星網、碼分多址(CDMA)網絡、諸如寬帶CDMA (WCDMA)的第三 代(3G)網絡、第四代(4G)網絡、時分復用接入(TDMA)網絡、擴展TDMA (E-TDMA)蜂窩無線電話網、全球移動通信系統(GSM)網、具有通用無線分 組業務(GPRS)系統的GSM (GSM/GPRS)網絡、空分多址(SDMA)網、 時分同步CDMA(TD-SCDMA)網、正交頻分復用(OFDM)網絡、正交頻分多 址(OFDMA)網絡、北美數字蜂窩(NADC)蜂窩無線電話網、窄帶高級移 動電話業務(NAMPS)網、通用行動電話系統(UMTS)網和/或根據所述實施例 被配置成承載數據的任何其他有線或無線通信網絡。
可以將SOC器件100設置成傳輸一種或多種信息,例如媒體信息和控 制信息。媒體信息通常可以指任何代表對用戶有意義的內容的數據,例如圖像信息、視頻信息、音頻信息、A/V信息、圖形信息、語音信息、文本 信息、數字信息、字母數字混合編制符號、字符符號等。控制信息一般可 以指對自動系統有意義的代表命令、指令或控制字的任何數據。例如,可 以使用控制信息來通過系統路由傳送媒體信息或指示節點以特定方式處理 媒體信息。可以從和向很多不同裝置或網絡傳輸媒體和控制信息。
在很多實施方式中,可以將媒體信息和控制信息劃分成一系列數據分 組。每個分組例如可以包括分立數據集,該數據集具有以比特或字節表示 的固定或變化的大小。可以理解,所述實施例適用於任何類型的通信內容 或格式,例如分組、幀、片斷、信元、窗口、單元等。
SOC器件100可以根據一種或多種協議傳輸信息。協議可以包括用於 管理節點間通信的一組預定規則或指令。例如,在各實施例中,通信系統 100可以採用一種或多種協議,例如媒體存取控制(MAC)協議、物理層 會聚協議(PLCP)、簡單網絡管理協議(SNMP)、異步傳輸模式(ATM) 協議、幀中繼協議、系統網絡架構(SNA)協議、傳輸控制協議(TCP)、 網際協議(IP)、 TCP/IP、 X.25、超文本傳輸協議(HTTP)、用戶數據報協 議(UDP)等。
SOC器件100可以根據一種或多種由標準化組織發布的標準來傳輸信 息,這些標準化組織例如是國際電信同盟(ITU)、國際標準化組織(ISO)、 國際電工委員會(IEC)、電氣和電子工程師協會(IEEE)、網際網路工程任務 組(IETF)等。在各實施例中,例如,SOC器件100可以根據例如如下媒 體處理標準來傳輸信息ITU/正C H.263標準(低比特率通信視頻編碼, ITU-T建議R263v3, 2000年11月發布)、ITU/IEC H.264標準(極低比特 率通信視頻編碼,ITU-T建議H.264, 2003年5月發布)、運動圖像專家組 (MPEG)標準(例如MPEG-1、 MPEG-2、 MPEG-4)、數字視頻廣播(DVB) 陸地(DVB-T)標準、DVB衛星(DVB-S或-S2)標準、DVB電纜(DVB-C) 標準、手持陸地式DVB (DVB-H)、國家電視系統委員會(NTSC)和逐行 倒相(PAL)標準、高級電視系統委員會(ATSC)標準、諸如SMPTE421M 或基於Windows Media Video (WMV)第9版的VC-1標準的運動圖像和電視 工程師協會(SMPTE)標準、網際協議上數字傳輸內容保護(DTCP-IP) 標準、高性能無線區域網(HiperLAN)標準等。在各實施例中,可以將SOC器件100設置成從媒體源接收媒體內容。 媒體源一般可以包括能夠向SOC器件100提供靜態或動態媒體內容的各種
裝置和/或系統。在一個實施例中,例如媒體源可以包括多媒體伺服器,該 多媒體伺服器被設置為提供廣播或流媒體媒體內容。在其他實施例中,媒
體源可以包括或形成媒體分發系統(DS)或廣播系統的一部分,該系統例 如是空中(OTA)廣播系統、DVB系統、無線電廣播系統、衛星廣播系統等。 可以在允許用戶通過網絡選擇、接收和觀看視頻內容的VOD系統或交互式 電視系統之內實現媒體源。媒體源還可以包括或形成IPTV系統的一部分, IPTV系統通過IP連接,例如寬帶連接,來提供數位電視內容。實施例並不 限於此環境。
SOC器件100可以通過能承載信息信號的各種通信信道耦合到媒體源, 根據給定實施方式的需要,這些通信信道例如為有線通信鏈路、無線通信 鏈路或二者的組合。也可以設置SOC器件100以通過各種組件或接口從媒 體源接收媒體內容。例如,可以將SOC器件100設置為通過一個或多個調 諧器和/或接口來接收媒體內容,該一個或多個調諧器和/或接口例如是 OpenCable (OC)調諧器、NTSC/PAL調諧器、調諧器/解調器、部署點(POD) /DVB公用接口 (DVB-CI)、 A/V解碼器接口、乙太網接口、 PCI接口等。
提供給SOC器件100的媒體內容可以包括各種信息,例如圖像信息、 音頻信息、視頻信息、A/V信息和/或其他數據。在一些實施例中,可以設 置媒體源以各種格式提供媒體內容,供諸如STB、 IPTV裝置、VOD裝置、 媒體播放器等的裝置來使用。
可以將媒體內容作為壓縮媒體內容來提供,以允許SOC器件100高效 地存儲和/或傳輸數據。在各種實施方式中,可以釆用諸如利用離散餘弦變 換(DCT)的空域壓縮、時域壓縮、運動補償和量化之類的技術,來壓縮 媒體內容。例如,可以根據諸如H.264、 MPEG-2、 MPEG-4、 VC-1等標準 來執行媒體內容的視頻壓縮。
可以將媒體內容作為加擾和/或加密的媒體內容來提供,以防止未經授 權的接收、複製和/或觀看。在各實施例中,例如,可以設置SOC器件100 以接收從條件存取(CA)系統提供的加擾和/或加密的媒體內容。在這種實 施例中,可以設置CA系統以向媒體流應用加擾算法,使得訪問僅限於合法的裝置,例如經認可的STB。加擾的媒體流可以包括加密的密鑰,經授權 的STB可以使用該密鑰對媒體流解擾,並恢復明文中的原始內容。
在各實施例中,SOC器件100可以支持根據高級加密標準(AES)(國 家標準與技術局(NIST),高級加密標準(AES),聯邦信息處理標準(FIPS) 發布197, 2001年11月26日)的加密。SOC器件100還可以支持高級存 儲內容系統(AACS)加密、數據加密標準(DES)加密、用於密鑰梯生成 的三重DES (3DES)、 Rivest、 Shamir和Adl謹n (RSA)加密、橢圓曲線 密碼術(ECC)加密、硬碟驅動器(HDD)加密、DTCP-IP加密、Cryptomeria Cipher (C2)加密、內容加擾系統(CSS)加密等。
如圖1所示,SOC器件100可以包括多個功能單元102-l-N,其中N 可以表示僅受SOC器件100的物理容量限制的任意正整數值。可以在單個 晶片或集成電路(IC)上的SOC器件100內實現所述多個功能單元102_1-N。 該IC或PCB可以包括例如,導電跡線、通孔結構和/或一個或多個通過 諸如蝕刻、結合、鑽孔和電鍍之類工藝製造的壓層。在一些實施例中,PCB 可以包括柔性材料,例如軟性印刷電路(FPC)。
在各實施例中,所述多個功能單元102-1-N中的每個可以包括用於為 SOC器件100執行一項或多項操作的硬體和/或軟體。例如,可以由各種邏 輯裝置實現功能單元102-l-N,所述邏輯裝置例如為中央處理單元(CPU)、 微控制器、微處理器、通用處理器、專用處理器、晶片多處理器(CMP)、 媒體處理器、數位訊號處理器(DSP)、網絡處理器、協處理器、輸入/輸出 (I/O)處理器、專用集成電路(ASIC)、現場可編程門陣列(FPGA)、可 編程邏輯器件(PLD)等。在各種實施方式中,功能單元102-1-N中的一個 或多個可以包括被設置為執行數字邏輯和/或提供多個執行線程的一個或多 個處理內核。
功能單元102-1-N還可以包括由一種或多種計算機可讀存儲介質實現 的存儲器,所述計算機可讀存儲介質例如是易失性或非易失性存儲器、可 移除或不可移除存儲器、可擦除或不可擦除存儲器、可寫或可重寫存儲器 等。在各種實施例中,例如,功能單元102-l-N中的一個或多個可以包括被 實現為隨機存取存儲器(RAM)和/或只讀存儲器(ROM)的主存儲器、存 儲空間和/或寄存器中的可尋址存儲單元。
ii如圖1的實施例所示,所述多個功能單元102-l-N可以包括DRAM控 制器102-1、主CPU 102-2、編碼器/解碼器(編解碼器)102-3、外圍接口 (I/F) 102-4、 DSP 102-5、傳輸解復用器(demux) 102-6、顯示器I/F 102-7 和快閃記憶體I/F102-N。實施例不限於此環境。
在本實施例中,可以將DRAM控制器102-1設置為控制從晶片外 DRAM存儲和檢索數據,所述晶片外DRAM例如為同步動態RAM (SDRAM)、雙數據率RAM (DDRRAM)、 DDR SDRAM等。
在各種實施方式中,可以與SOC器件100執行的組網、多媒體和/或通 信應用相結合而向和/或從晶片外DRAM存儲和/或檢索數據。在一些情況 下,DRAM控制器102-1可以實施防篡改代碼和其他機制,以在向和從芯 片外DRAM傳輸數據時保護數據。
可以將主CPU 102-2設置為執行各種操作,例如初始化(例如引導) 並發出命令為SOC器件100管理或控制組網、多媒體和/或通信應用。例如, 可以設置主CPU 102-2以管理SOC器件100之內的數據操作(例如讀取、 寫入和擦除),從而控制這樣的應用。在各實施例中,主CPU 102-2可以包 括微控制器或其他計算裝置,其被設置成執行被實現為軟體(例如操作系 統(OS)軟體、應用軟體)、代碼(例如引導代碼)和/或固件的邏輯。
可以將編解碼器102-3設置成對SOC器件100內部的數據進行各種編 碼、解碼和/或代碼轉換操作。編解碼器102-3例如可以包括用於在播放之 前執行諸如對壓縮媒體內容進行解壓縮的操作的一個或多個音頻和/或視頻 編解碼器(例如H.264、 MPEG-2、 MPEG-4、 VC-1編解碼器)。在各種實 施方式中,編解碼器可以包括在DRAM中的加密的代碼和/或使用固定屏蔽 ROM來防止未經授權的代碼執行。例如,基於主機的軟編解碼器可以尋址 並確保所隔離的執行。
可以設置外圍I/F 102-4以接收從晶片外媒體源向SOC器件100提供的 數據。在各種實施方式中,可以將外圍I/F 102-4設置為接收通過基於IP的 乙太網或PCI連接所提供的媒體內容。
可以將DSP 102-5設置為對SOC器件100內部的數據進行各種信號處 理操作。在各種實施方式中,可以將DSP 102-5設置為為SOC器件100的 組網、多媒體和/或通信應用進行音頻信號處理、數字圖像處理和/或語音處理操作。
可以將傳輸解復用器102-6設置為接收提供給SOC器件100的已加擾 的和/或已加密的媒體內容並對該媒體內容進行解擾和/或解密,以恢復明文 中的原始內容。在各種實施方式中,傳輸解復用器102-6可以通過一個或多 個調諧器和/或接口接收加擾和/或加密傳輸流形式的媒體內容。可以將傳輸 解復用器102-6設置為對流進行解復用。例如,進入SOC器件100的流可 以包括被時分復用成單個多節目傳輸流的很多音頻流和視頻流,並且可以 將傳輸解復用器102-6設置成將該多節目傳輸流分成一個或多個獨立的流 (例如視頻流、音頻流、數據流等)。
可以將顯示器I/F 102-7設置為對SOC器件100內部的數據進行各種處 理操作,以在屏幕或其他用戶界面(UI)上提供、顯示和/或播放媒體內容。 在各種實施方式中,顯示器I/F 102-7可以包括圖形引擎,該圖形引擎被設 置為支持2D/3D圖形功能、多個視頻紋理、紋理混合和/或紋理壓縮。
可以設置快閃記憶體I/F 102-N以控制從諸如NOR或NAND閃速存儲器的芯 片外閃速存儲器存儲和檢索數據。在各種實施方式中,可以與SOC器件100 執行的組網、多媒體和/或通信應用相結合而向和/或從晶片外閃速存儲器存 儲和/或檢索數據。
如圖1的實施例所示,功能單元102-l-N可以由總線104連接和/或邏 輯耦合。在各實施例中,可以設置總線104以對SOC器件100內部的每個 功能單元102-l-N進行互連。總線104可以包括用於傳送諸如地址信號、數 據信號和/或控制信號之類信號的導電跡線或導線。在各種實施方式中,可 以設置功能單元102-1-N中的每一個以作為共享片內總線104的控制機工 作,其能夠向SOC器件100的任何其他功能單元讀取和寫入數據。
例如,可以將總線104實現為外圍組件互連(PCI)總線、PCI擴展 (PCI-X)總線、PCI快速(PCIe)總線、XSI總線、CardBus等。儘管為 了便於理解可以將總線104圖示和描述為包括某種類型和/或一定數量的總 線,但可以理解,針對給定的實現方式可以使用各種總線體系。還可以認 識到,在一些實施例中,可以設置功能單元102-1-N以通過經由直接連接傳 輸的數據和描述符來彼此通信。
多個功能單元102-1-N可以包括對應的埠 106-l-N。例如,埠106-1-N中的每一個都可以包括通往總線104的接入點、橋和/或接口,用 於在SOC器件100的功能單元102-1-N之間進行數據通信。在各實施例中, 埠 106-1-N中的每一個都可以包括共享接入埠,該埠被設置成提供輸 入通路和輸出通路,輸入通路通過共享片內總線104從一個或多個功能單 元接收數據,輸出通路通過共享片內總線104向一個或多個功能單元發出 數據。
如圖所示,可以通過多個數據通路108-l-X經由總線104將所述多個端 口 106-1-N彼此耦合起來,其中X可以表示任何正整數值。例如,數據通 路108-1-X可以包括SOC器件100的功能單元102-1-N之間的邏輯或虛擬 連接。在一些情況下,數據通路可以包括功能單元之間的直接點到點連接。 在其他情況下,安全的數據通路可以包括功能單元之間的間接連接。儘管 通過舉例的方式示出了有限數量的數據通路,可以理解,SOC器件100可 以包括任何數量的數據通路,以在功能單元102-1-N中的任意兩個或多個之 間形成虛擬連接。
例如,在圖1的實施例中,數據通路108-1可以包括傳輸解復用器102-6 和編解碼器102-3之間的點到點連接。數據通路108-2可以包括傳輸解復用 器102-6和DRAM控制器102-1之間的點到點連接。數據通路108-3可以 包括DRAM控制器102-1和編解碼器102-3之間的點到點連接。數據通路 108-X可以包括編解碼器102-3和顯示器I/F 102-7之間的點到點連接。在一 些實施例中,數據通路108-2和數據通路108-3可以包括傳輸解復用器102-6 和編解碼器102-3之間的間接連接。實施例不限於此環境。
在各實施例中,可以通過與功能單元102-l-N相關聯的地址來定義數據 通路108-1-X。例如,可以通過與傳輸解復用器102-6相關聯的一個或多個 地址以及與編解碼器102-3相關聯的一個或多個地址來定義數據通路 108-1。在一些實施例中,可以由與傳輸解復用器102-6的埠 106-6相關 聯的一個或多個地址以及由與編解碼器106-3的埠 106-3相關聯的一個或 多個地址來定義數據通路108-1。在其他實施例中,可以由傳輸解復用器 102-6之內的地址或地址範圍以及由編解碼器102-3之內的地址或地址範圍 來定義數據通路108-1。在一些情況下,地址或地址範圍可以對應於特定的 處理裝置(例如CPU)、和/或傳輸解復用器102-6和/或編解碼器102-3之內的存儲單元(例如主存儲器、存儲空間、寄存器)。實施例不限於此環境。
如圖1的實施例所示,SOC器件100可以包括安全控制器110。在各 種實施方式中,可以將安全控制器110併入和/或嵌入SOC器件100中以為 功能單元102-l-N之間的數據通路108-1-X提供安全。可以由SOC器件100 中的硬體和/或軟體實現安全控制器110。例如,安全控制器110可以包括 諸如CPU和/或可執行邏輯的邏輯器件。在各實施例中,安全控制器110可 以包括數據通路安全邏輯,用於保護SOC器件100之內的片內數據。
可以設置安全控制器IIO來配置功能單元102-l-N,從而提供安全的數 據通路,例如數據通路108-l-X。例如,安全控制器110可以為功能單元 102-l-N的埠 106-l-N的每一個的輸入側和輸出側配置安全層。在各實施 例中,可以設置安全控制器110以在功能單元102-1-N的埠 106-1-N處建 立數據通路安全邏輯。例如,數據通路安全邏輯可以包括利用一個或多個 數據通路安全密鑰施加在數據通路的輸入和輸出處的解密和加密邏輯(例 如XOR或XNOR功能)。
在各實施例中,可以設置安全控制器110以生成和管理數據通路安全 密鑰112,用於在功能單元102-1-N之間提供安全的數據通路。可以將每個 數據通路安全密鑰112實現為密文密鑰,例如對稱或不對稱密鑰,例如包 括用於對數據進行加密和/或解密的隨機比特序列(例如32比特、64比特、 128比特或256比特)。在各種實施方式中,可以將安全控制器110設置為 通過使用隨機數生成器(RING)來生成數據通路安全密鑰112,以確保充 分大的熵。可以設置安全控制器110以利用各種加密技術來生成數據通路 安全密鑰112,各種加密技術例如為RSA、 ECC、 DES、 3DES、 AES、 AACS 等。實施例不限於此環境。
例如,可以設置安全控制器110以利用取決於地址的數據通路安全密 鑰112在功能單元102-l-N之間建立安全的數據通路。在一些情況下,取決 於地址的數據通路安全密鑰112和/或相關聯的地址可以是固定的。在一些 情況下,取決於地址的數據通路安全密鑰112和/或地址可以是動態變化的。 在一些實施例中,例如,數據通路安全密鑰112可以包括可編程密鑰設置, 以支持例如在每次重新引導時進行刷新或建立新的數據通路安全密鑰。實 施例不限於此環境。在一些情況下,可以在由隔離的安全的數據通路所連接的功能單元之
間使用公共的數據通路安全密鑰。例如,可以為功能單元102-1-N中的每一 個使用公共的數據通路安全密鑰。在其他實施例中,可以在安全的數據通 路的輸入埠和輸出埠處使用不同的數據通路安全密鑰。在一些情況下, 數據通路安全密鑰112可以包括用於安全的數據通路的多個輸入/輸出密 鑰。在各種賣施方式中,可以為嵌入式代碼(例如固件)和運行時(runtime) 數據使用不同的數據通路安全密鑰,從而代碼的所有者(例如媒體提供者) 可以使用定製的密鑰。
在各實施例中,功能單元102-1-N的每一個可以包括多個可尋址區域, 例如埠地址、CPU地址、主存儲器地址、存儲空間地址、寄存器地址等。 在這種實施例中, 一個或多個數據通路安全密鑰112可以與多個地址中的 每個相關聯。可以設置安全控制器110以將數據通路安全密鑰U2關聯到 或映射到功能單元102-1-N的特定地址或地址區域。在各種實施方式中,安 全控制器IIO可以採用像內置於總線104 (例如XSI總線)的地址和數據通 道中的能力那樣的存儲管理單元(MMU)來執行這種關聯或映射功能。在 一些情況下,功能單元102-1-N的每一個可以包括多個地址範圍,其數據通 路安全密鑰映射到每個地址範圍。
在各實施例中,僅可以為安全控制器110設計或僅其具有生成數據通 路安全密鑰112並將數據通路安全密鑰寫入功能單元102-1-N的能力。例如, SOC器件100可以採用特定的協議,使得僅安全控制器110可以生成數據 通路安全密鑰112並使用總線104將數據通路安全密鑰寫入功能單元 102-l-N。在各種實施方式中,埠 106-1-N的每一個可以包括數據通路安 全密鑰寄存器,該寄存器僅可以通過用總線104上發送的專用安全讀/寫屬 性啟用的安全控制器110的讀寫來訪問。在這樣的實施方式中,僅有安全 控制器110可以利用總線104上的安全讀/寫屬性產生流量,功能單元 102-l-N可以將該屬性解碼為交替的地址空間比特,以對本地密鑰寄存器進 行編程。
在各種實施方式中,安全控制器110可以響應於主CPU 102-2的初始 化命令(例如引導代碼),生成並寫入數據通路安全密鑰112和數據通路安 全邏輯。例如,在SOC器件100的安全引導期間或其復位之後,安全控制對數據通路安全密鑰和數據通路安 全邏輯進行初始化並加以啟用,以為SOC器件100配置安全的數據通路。 在一些實施例中,可以利用片內私鑰作為信任依據,在安全引導期間生成 數據通路安全密鑰。
在各實施例中,安全控制器110可以實施旁路模式以關閉數據通路安 全。例如,安全控制器IIO可以編寫旁路值(例如全為0或全為1),指示 數據通路安全邏輯(例如XOR或XNOR功能)執行旁路操作。在各種實 施方式中,在SOC器件IOO復位時,可以將功能單元102-l-N處的數據通 路安全密鑰設置為默認或旁路值,直到安全控制器IIO將其啟用為止。
在各實施例中,數據通路安全密鑰112可以包括一個或多個單元輸入 密鑰(UIK)和/或一個或多個單元輸出密鑰。可以設置安全控制器110以 通過將一個或多個UIK和一個或多個UOK與功能單元102-1-N相關聯,來 建立安全的數據通路。在各種實施方式中,特定的功能單元可以包括與一 個或多個地址相關聯、用於從總線104接收數據的一個或多個UIK。功能 單元還可以包括與一個或多個目的地址相關聯、用於向總線104發送數據 的一個或多個UOK。在這種實施方式中,可以為功能單元的多個可尋址區 域中的每一個配置一個或多個安全的數據通路。
在各實施例中,可以利用特定的UOK對共享片內總線104上傳輸的數 據進行加密,但僅為被授權查看明文數據的那些功能單元提供對應的UIK 以對數據解密。在這種實施例中,僅有那些具有正確UIK的功能單元能夠 對數據解密,沒有相應UIK的功能單元可以讀取數據,但僅能以加密格式 讀取。因此,可以通過僅允許經授權的功能單元查看明文數據來在功能單 元102-l-N之間通過共享片內總線104安全地傳輸加密的數據。
例如,如圖1的實施例所示,可以設置安全控制器110以在功能單元 102-l-N的埠 106-l-N處建立UIK 114-l-N禾口U0K 116-l-N。可以設置UIK 114-1-N以對從總線104進入埠 106-1-N的數據解密。可以設置UOK 116-l-N以對從埠 106-l-N輸出到總線104的數據加密。在各種實施方式 中,UIK 114-1-N的一個或多個可以與UOK 116-1-N的一個或多個形成數據 通路安全密鑰對,以提供安全的數據通路,例如數據通路108-l-X。例如, 特定的UOK (例如UOK 116-6)和特定的UIK (例如UIK 114-3)可以包
17括公共的數據通路安全密鑰,以提供隔離的安全的數據通路(例如數據通
路108-1)。
儘管圖1的實施例為了例示的目的示出了在每個功能單元和埠處配 置的UIK和UOK,但實施例不限於此環境。例如,在一些實施例中, 一個 或多個功能單元(例如DRAM控制器102-1、 CPU 102-2)可以不配置UIK 和UOK。此外,可以理解,UIK 114-l-N和UOK 116-l-N的每一個可以包 括一個或多個數據通路安全密鑰。
在各實施例中,功能單元102-1-N的每一個可以包括要與取決於地址的 數據通路安全密鑰相關聯的一個或多個受保護地址區域。在一些實施例中, 包括對主CPU 102-2可見的內嵌代碼RAM的功能單元可以要求將獨立的代 碼區密鑰寄存器分配給代碼RAM地址空間。代碼區密鑰寄存器可以針對具 有指令高速緩存或運行時代碼交換/更新的單元實現對DRAM中代碼的保 護。對於具有固定代碼鏡像的功能單元,可以在加載代碼之後改變代碼區 密鑰寄存器以防止進一步讀取或寫入代碼。
在一些實施例中,功能單元102-1-N中的一個或多個可以包括可選擇地 址範圍,用於使不受保護的區域能夠不與取決於地址的數據通路安全密鑰 相關聯。在一些情況下,可以為功能單元配置兩個或更多不受保護區域, 其中一個不受保護區域實現對特定功能單元的存儲器映射的配置空間的明 文訪問以進行初始化和軟體驅動程序交互,另一個不受保護區域在主CPU 應用需要時實現明文內容區域。
在各種實施方式中,主CPU命令可以識別要保護的每個埠 106-1-N 的輸入側和輸出側,以實現功能單元102-1-N之間的密鑰共享。主CPU命 令還可以包括逐個鎖定數據通路安全密鑰112直到發生晶片復位為止的能 力,以允許初始化軟體(例如引導代碼)實現安全的數據通路,同時防止 其他層軟體修改初始設置。
在一些實施例中,可以設置安全控制器110以在運行中動態配置安全 的數據通路。例如,可以設置安全控制器110,以在運行時期間或在(例如) 從媒體內容源改變信道時動態地配置和/或修改安全的數據通路的配置。在 這種實施例中,可以否定先前的數據通路配置,並用新的一組數據通路安 全密鑰替換先前的數據通路安全密鑰。實施例不限於此環境。在一些實施例中,可以設置安全控制器110以啟用和禁用對每個功能 單元102-l-N處的數據通路安全密鑰的訪問。在這種實施例中,可以設置安 全控制器110以向功能單元102-1-N的每一個發送一個或多個點到點信號, 使安全密鑰寄存器能夠讀取和寫入。例如,可以通過信號來啟用對安全密 鑰寄存器的寫入。在各種實施方式中,寄存器讀取驗證對訪問進行禁用, 並且檢測未授權的讀取或寫入。在這種實施方式中,讀取被禁用的寄存器 可能會返回全為零的值。可以設置安全控制器110以在發生啟用之後並且 在該啟用之後跟隨著被禁用的讀取驗證的情況下,執行寫入/讀取驗證例程。 實施例不限於此環境。
在一些實施例中,可以設置安全控制器110以建立專用的密鑰數據通 路。在這種實施例中,可以將安全控制器110中的數據通路安全密鑰用於 通往功能單元102-l-N的每一個的專用通路。例如,密鑰總線可以連接到功 能單元102-1-N的每一個,以採用密鑰通過協議。在一些情況下,對於較大 或多個密鑰負載,可以增加地址比特。實施例不限於此環境。
出於例示的目的而非限制的目的,將參考圖1描述一個示範性實施例。 在本實施例中,傳輸解復用器102-6可以包含來自被作為壓縮明文媒體內容 存儲的傳輸流的解擾和/或解密數據。可以設置傳輸解復用器102-6以通過 安全的數據通路108-1向編解碼器102-3發出加密的數據。數據通路108-1 可以包括點到點連接,配置該點到點連接以從傳輸解復用器102-6向外傳輸 數據並向編解碼器102-3輸入數據。例如,可以通過一個或多個與埠 106-1 和/或編解碼器102-3相關聯的地址來定義數據通路108-1的目的地。
在本實施例中,可以使用UOK 116-6和UIK 114-3保護數據通路108-1。 例如,UOK 116-6和UIK 114-3可以包括分配或映射到與編解碼器102-3相 關聯的特定地址或地址範圍的密鑰對和/或公共密鑰。可以使用UOK 116-6 對通過數據通路108-1輸出的數據加密,可以使用UIK 114-3對通過數據通 路108-1輸入的數據解密。傳輸解復用器102-6可以使用UOK 116-6對壓縮 的明文數據進行加密,並可以通過數據通路108-1向編解碼器102-3發送加 密後的數據。在從傳輸解復用器102-6接收到加密的數據時,編解碼器102-3 可以使用UIK 114-3對加密的數據進行解密。
在一些實施例中,可以設置傳輸解復用器102-6以向DRAM控制器102-1發送數據,並(例如)在將數據提供到編解碼器102-3進行解壓之前 讓數據在晶片外DRAM中排隊。在這種實施例中,傳輸解復用器102-6可 以使用UOK 116-6對壓縮的明文數據加密並可以通過安全的數據通路 108-2向DRAM控制器102-1發送加密後的數據。在從傳輸解復用器102-6 接收到加密的數據時,DRAM控制器102-1可以將加密後的數據原封不動 地傳遞到晶片外的外部DRAM。
在從外部DRAM接收到加密的數據之後,可以設置DRAM控制器 102-1通過安全的數據通路108-3向編解碼器102-3發送加密後的數據。數 據通路108-3可以從DRAM控制器102-1輸出數據,並可以向編解碼器102-3 輸入數據。例如,可以通過一個或多個與埠 106-3和/或編解碼器102-3 相關聯的地址來定義數據通路108-3的目的地。在從DRAM控制器102-1 接收加密的數據時,編解碼器102-3可以使用UIK 114-3對加密的數據進行 解密以恢復壓縮的明文媒體內容。
在本實施例中,數據通路108-2和數據通路108-3可以包括傳輸解復用 器102-6和編解碼器102-3之間的間接連接。UOK 116-6和UIK 114-3可以 包括要用於該間接通路的公共密鑰或數據通路安全密鑰對。在這種情況下, 因為DRAM控制器102-1接收到加密的數據,因此無需為DRAM控制器 102-1配置UIK 114-1和/或UOK 116-1。在其他情況下,可以設置DRAM 控制器102-1以利用UIK 114-1和UOK 116-1進行解密和加密。可以理解, 可以以這種方式使用其他外部存儲器,例如閃速存儲器。
在本實施例中,可以設置編解碼器102-3執行一種或多種解碼操作,例 如對壓縮的媒體內容進行解壓縮以恢復未壓縮的明文媒體內容。可以設置 編解碼器102-3以對未壓縮的明文媒體內容進行加密並通過安全的數據通 路108-X向顯示器I/F 102-7發送加密後的數據。數據通路108-X可以包括 點到點連接,該點到點連接被配置為從編解碼器102-3輸出數據並向顯示器 I/F 102-7輸入數據。例如,可以由與埠 106-7和/或顯示器I/F 102-7相關 聯的一個或多個地址定義數據通路108-X的目的地。
可以使用UOK 116-3和UIK 114-7來保護數據通路108-3。例如,UOK 116-3和UIK 114-7可以包括分配或映射到與顯示器I/F 102-7相關聯的特定 地址或地址範圍的密鑰對和/或公共密鑰。編解碼器102-3可以使用UOK116-3對未壓縮的明文媒體內容進行加密並通過數據通路108-X向顯示器 I/F 102-7發出加密的數據。在從編解碼器102-3接收到加密的數據時,顯示 器I/F 102-7可以使用UIK 114-7對加密的數據解密,以恢復未壓縮的明文 媒體內容。可以將顯示器I/F 102-7設置為與顯示媒體內容一起進行額外的 處理。
可以認識到,在該範例中,數據通路108-1和數據通路108-X可以包括 傳輸解復用器102-6和顯示器I/F 102-7之間的間接通路。這樣一來,UOK 116-6和UIK 114-7可以包括要用於該間接通路的公共密鑰或數據通路安全 密鑰對。
在本實施例中,當利用特定UOK (例如UOK 116-6)通過特定的安全 的數據通路(例如數據通路108-1)發送加密的數據時,僅為那些被授權查 看明文數據的功能單元(例如編解碼器102-3)提供相應的UIK (例如UIK 114-3)以對數據解密。這樣一來,沒有相應UIK的其他功能單元(例如主 CPU 102-2、 DSP 106-5)可以移動數據和/或讀取數據,但僅能以加密的格 式進行這些操作。因此,可以在功能單元102-1-N之間通過共享片內總線 104安全地傳輸加密的數據,並且當在諸如DRAM或閃速存儲器之類的芯 片外存儲器中存儲數據時可以保護加密的數據。
在各種實施方式中,所述的實施例可以通過對經由共享的接入埠 106-l-N和/或片內總線104彼此相連的各內嵌式功能單元102-l-N的輸入和 輸出的數據進行加密和解密,來為SOC器件100提供安全性。因此,SOC 器件100可以在通過安全的數據通路傳輸內容時對內容進行加密和保護, 並可以僅允許經授權的功能單元査看明文中的內容。此外,SOC器件100 可以允許主CPU軟體(例如OS、應用程式)操作數據傳輸而不會向軟體 暴露解密的數據。SOC器件100還可以採用地址相關性和未加密地址範圍 實現對I/0的透明訪問和其他未受保護的功能,並保持驅動軟體能夠訪問片 內功能單元的命令、控制和狀態區。
在各種實施方式中,所述的實施例可以在數據被存儲在諸如DRAM或 閃速存儲器之類的外部存儲器中時,以及在從外部存儲器將數據讀取到 SOC器件100中時保護數據。所述的實施例可以為外部存儲器(例如 DRAM、閃速存儲器)中的數據(例如高級的媒體內容、固件)提供保護或加密,而不會影響外部存儲器接口的定時、功能和/或編程。所述的實施
例可以允許嵌入式CPU代碼以加密方式存在於DRAM和/或閃速存儲器中, 從而為內嵌CPU擴展了可用的代碼空間(例如交換鏡像等),並允許在加 密的代碼被讀入本地內嵌處理器的受保護執行空間中時對其進行解密。這 樣一來,內嵌CPU可以利用指令高速緩存工作,以保持晶片外代碼為加密 狀態,而無需增加額外的周期來取出代碼。
雖然一些實施例可能涉及到在SOC器件100之內保護安全的數據通路 上的媒體內容,但可以理解,可以利用這些實施例來保護各種壓縮的或未 壓縮的內容或信息。例如,在各實施例中,內容或信息可以與如下項目中 的一種或多種相關聯圖像、圖像文件、圖像組、圖片、數字照片、音樂 文件、聲音文件、語音信息、視頻、視頻剪輯、視頻文件、視頻序列、視 頻種子(video feed)、視頻流、電影、廣播節目、電視信號、網頁、用戶界 面、圖形、文本信息(例如加密密鑰、序列號、e-mail消息、文本消息、即 時消息、通信錄、電話號碼、任務列表、日程項、超級連結)、數字信息、 字母數字混合編制信息、字符符號等。內容或信息還可以包括命令信息、 控制信息、路由信息、處理信息、系統文件信息、系統庫信息、軟體(例 如OS軟體、文件系統軟體、應用軟體、遊戲軟體)、固件、應用程式設計 接口 (API)、程序、小應用程式(applet)、子程序、指令組、指令、計算 代碼、邏輯、單字、值、符號等。
圖2示出了數據通路安全系統200的一個實施例。例如,可以由圖1 所示的SOC器件100的一個或多個元件實現數據通路安全系統200。在各 實施例中,可以由一個或多個裝置、單元和/或組件實現數據通路安全系統 200,並且根據給定的設計參數組或性能約束條件組的需要,數據通路安全 系統200可以包括硬體、軟體和/或其任意組合。例如,可以由一個或多個 邏輯裝置和/或包括要由邏輯裝置執行的指令、數據和/或代碼的邏輯來實現 數據通路安全系統200。實施例不限於此環境。
如圖2所示,可以為數據通路安全系統200配置一個或多個數據通路 安全密鑰,例如包括UIK 202和UOK 204。在各實施例中,可以使用UIK 202 對進入共享接入埠的和/或來自片內總線的數據進行解密。可以使用UOK 204對從共享接入埠輸出的和/或通過片內總線的數據進行加密。還可以為數據通路安全系統200配置數據通路安全邏輯,例如該數據 通路安全邏輯包括解密邏輯206和加密邏輯208。在各實施例中,解密邏輯 206可以包括XOR功能、XNOR功能和/或其他被設置為在共享接入埠的 輸入側和/或片內總線處使用數據通路安全密鑰(例如UIK 202)的判決邏 輯。加密邏輯208可以包括XOR功能、XNOR功能和/或其他被設置為在 共享接入埠的輸出側和/或片內總線處使用數據通路安全密鑰(例如UOK 204)的判決邏輯。實施例不限於此環境。
如圖所示,數據通路安全系統200可以實施旁路模式以關閉數據通路 安全。例如,可以將旁路值(例如全0或全1)輸入到解密邏輯206禾口/或 加密邏輯208,以指示數據通路安全邏輯(例如XOR或XNOR功能)執行 旁路操作。
數據通路安全系統200可以包括例如利用類似MMU的能力實現的地 址解碼模塊210,以執行地址關聯或映射功能。在各實施例中,可以設置地 址解碼模塊210以將數據通路安全密鑰(例如UIK202、 UOK204)關聯或 映射到特定的地址或地址區域。在各種實施方式中,可以利用包括多個可 尋址區域的SOC器件來實現數據通路安全系統200,可尋址區域例如為功 能單元地址、埠地址、CPU地址、主存儲器地址、存儲空間地址、寄存 器地址等。在這種實施方式中,可以將一個或多個數據通路安全密鑰(例 如UIK, UOK)與一個或多個地址或地址範圍相關聯。
在各種實施方式中,可以設置數據通路安全系統200以接收已利用特 定UOK加密並與特定地址或地址範圍相關聯的加密數據輸入212。例如, 可以在共享接入埠處和/或從片內總線接收該加密數據輸入212。在接收 加密數據輸入212並且未釆用旁路時,數據通路安全系統200可以利用UIK 202映射特定地址並採用解密邏輯206。如果獲得授權並具有適當的數據通 路安全密鑰,數據通路安全系統200就可以使用UIK 202對加密數據輸入 212進行解密並恢復明文數據輸入214。如果未經授權或如果有旁路,則加 密數據輸入212將保持為加密狀態。
在各種實施方式中,可以設置數據通路安全系統200以在用UOK 204 加密之後發送明文數據輸出216。在未採用旁路的情況下,數據通路安全系 統200可以利用UOK 204映射特定地址並採用加密邏輯208。數據通路安全系統200可以使用UOK204對明文數據輸出216加密並發送加密的數據 輸出218。例如,可以從共享接入埠和/或通過片內總線發送加密的數據 輸出218。如果有旁路的話,明文數據輸出216將保持為明文狀態。
圖3示出了安全控制器300的一個實施例。例如,可以由圖1所示的 SOC器件100的一個或多個元件實現安全控制器300。在各實施例中,安 全控制器300可以由各種裝置、單元和/或組件來實現,並可以按照給定的 設計參數組或性能約束條件組而包括硬體、軟體和/或其任意組合。例如, 可以由一個或多個邏輯裝置和/或包括要由邏輯裝置執行的指令、數據和/ 或代碼的邏輯來實現安全控制器300。實施例不限於此環境。
如圖3所示,安全控制器300可以包括CPU 302,例如,由諸如精減 指令集計算機(RISC)微處理器之類的微處理器來實現該CPU。在各實施 例中,CPU 302可以支持執行的內核和用戶地址空間/模式。CPU 302可以 提供CPU ROM空間中的復位矢量。在各種實施方式中,復位和篡改將導 致CPU復位,並使CPU302復位回內核模式。
安全控制器300可以包括外圍設備模塊304,以便為通用外圍設備提供 支持。外圍設備模件304可以包括中斷寄存器,以進行內核中斷和/或用戶 中斷。在各實施例中,外圍設備模件304可以包括通用計時器(例如l-100uS 粒度)和看門狗定時器(WDT)。可以設置WDT來使晶片和安全內核復位。 WDT可以導致切換到內核模式和內核代碼執行,破壞RAM內容並清除/ 初始化加密引擎。還可以設置WDT以實現用戶中斷和/或一次性可編程 (OTP)配置比特選擇。
安全控制器300可以包括RAM 306以存儲局部變量和/或用戶代碼。在 各實施例中,用戶代碼可以是經認證的和/或不可修改的,並可以不訪問內 核地址空間。在一些情況下,可以使用RAM306來存儲內核代碼,以實現 更快的執行。
安全控制器300可以包括ROM 308。可以使用ROM 308來存儲例如安 全引導代碼、復位矢量和/或原始設備製造商(OEM)的特定代碼。在各實 施例中,ROM 308可以包括存儲區,以存儲OEM專用的安全內核。可以 設置ROM 308以支持多個供應商的ROM/代碼要求,例如多個庫存單位 (SKU) /ROM鏡像。ROM 308可以包含用於例如基於SKU的程序以及可升級代碼的OTP存儲空間。ROM 308可以在用於熔合或反熔合技術的晶片 上提供OTP電可擦寫可編程只讀存儲器(EEPROM)能力。這種能力可以 支持ROM代碼要求並減小與密鑰空間相關聯的管芯尺寸。可以設置ROM 308以支持安全內核開發、專有供應商代碼要求和各種與一個或多個CA相 關聯的協議。
安全控制器300可以包括例如由總線I/F 310和配置邏輯312實現的總 線邏輯。可以將總線I/F310實現為處理器間接口,以防止從安全內核外部 直接訪問CPU302或CPU代碼空間。例如,可以禁用對CPU302的調試端 口訪問。配置邏輯312可以包括命令集,其包括具有命令的通用命令塊, 所述命令支持批量解密、密鑰生成、認證、 一次使用數量(現時)、籤名、 用戶代碼加載和執行、閃速更新等。
安全控制器300可以包括直接存儲器存取(DMA)模塊3M,以支持 向和從系統存儲器進行批量加密、存儲器擦洗等的存儲器存取。在各實施 例中,可以設置DMA模塊314以為系統存儲器到安全控制器的訪問提供散 列型功能,並可以被設置以為安全控制器到系統存儲器的訪問傳遞消息。 可以通過專用的而非與主機共享的信道完成安全控制器到安全控制器的訪 問。DMA模塊314可以包括多信道鍊表。DMA模塊314可以在信道上提 供信號量控制,以允許主機或安全內核CPU對DMA模塊314的控制。例 如,可以由安全內核管理信號量。
安全控制器300可以包括密碼邏輯316,以支持各種類型的密碼和/或 加密,例如3DES加密、AES加密、AACS加密等。例如,可以將密碼邏 輯316實現為密碼引擎,以支持密鑰梯選項、密鑰提供(例如製造商密鑰 梯/非製造商密鑰梯選擇)和批量加密(例如HDD、 DTCP-IP等)。密碼邏 輯316還可以包括取冪單元(EAU),以支持大量的算術運算和/或可更新安 全性。可以設置EAU以執行各種加速操作,使硬體執行的負擔減輕,以滿 足籤名/驗證操作的最大執行時間要求和/或可以提供從OTP存儲器間接加 載密鑰的功能。
儘管出於例示的目的可以將實施例描述為支持特定類型的加密技術, 但可以理解,實施例不限於此環境,可以支持各種其他加密技術。此外, 在一些實施例中,可以設置安全控制器300以提供可重新配置的和/或可升級的安全措施。例如,安全控制器300可以利用密碼和/或加密的軟體(例 如可編程狀態機)控制對不受硬體實現支持的密碼和/或加密技術提供支持, 從而支持多種供應商安全協議和客戶加密的晶片外代碼。
可以參考以下附圖和所附範例進一步描述各實施例的操作。 一些附圖 可以包括邏輯流。可以理解,圖示的邏輯流僅僅提供了如何可以實現所述 功能的一個範例。此外,給定的邏輯流未必一定要以所述次序執行,除非 有不同的表述。此外,可以由硬體元件、由處理器執行的軟體單元或其任 意組合來實現邏輯流。實施例不限於此環境。
圖4示出了用於數據通路安全的邏輯流400的一個實施例。例如,可 以由圖1所示的SOC器件100的一個或多個元件來實現邏輯流400。在各 實施例中,邏輯流400可以由各種系統、裝置、單元和/或組件來執行,並 可以按照給定的設計參數組或性能約束條件組而被實現為硬體、軟體和/或 其任意組合。例如,可以由一個或多個邏輯裝置(例如SOC器件、功能單 元、安全控制器)和/或包括要由邏輯裝置執行的指令、數據和/或代碼的邏 輯(例如數據通路安全邏輯)來實現邏輯流400。出於例示的目的而非限制 的目的,將參考圖1描述邏輯流400。實施例不限於此。
邏輯流400可以包括在連接到嵌入SOC器件中的共享片內總線的功能 單元之間配置一個或多個安全的數據通路(方框402)。例如,參考圖1, 在各實施例中,可以為SOC器件100的一個或多個功能單元102-l-N配置 一個或多個數據通路安全密鑰,例如UIK 114-1-N和UOK 116-l-N。在各實 施例中,可以使用UIK 114-l-N來對來自共享接入埠 106-1-N禾口/或來自 片內總線104的數據輸入進行解密。可以使用UOK 116-l-N來對來自共享 接入埠 106-l-N和/或通過片內總線104的數據輸出進行加密。
在各種實施方式中,可以將數據通路安全密鑰(例如UIK 114-l-N、UOK 116-1-N)關聯到或映射到特定的地址或地址區域。例如,SOC器件100可 以包括多個可尋址區域,例如功能單元地址、埠地址、CPU地址、主存 儲器地址、存儲空間地址、寄存器地址等。這樣一來,可以將一個或多個 數據通路安全密鑰(例如UIK, UOK)與一個或多個地址或地址範圍相關 聯。
在各實施例中,可以為一個或多個功能單元102-1-N配置解密邏輯和/或加密邏輯。在各種實施方式中,解密邏輯和/或加密邏輯可以包括XOR 功能、XNOR功能和/或其他被設置為使用數據通路安全密鑰(例如UIK、 UOK)進行解密和/或加密的判決邏輯。
邏輯流400可以包括通過一個或多個安全的數據通路傳輸加密的數據 (方框404)。在各實施例中,可以設置SOC器件100以在通過安全的數據 通路傳輸內容時對內容進行加密和保護,並且可以僅允許經授權的功能單 元查看明文內容。在一些情況下,安全的數據通路可以包括功能單元之間 的間接通路,該間接通路被配置為使用針對該間接通路的公共密鑰或數據 通路安全密鑰對。
SOC器件100可以允許主CPU軟體(例如OS、應用程式)操作數據 傳送而不會向該軟體暴露解密的數據。SOC器件100還可以採用地址相關 性和未加密地址範圍來實現對I/O的透明訪問和其他未受保護的功能,並保 持驅動軟體能夠訪問片內功能單元的命令、控制和狀態區。
邏輯流400可以包括利用一個或多個數據通路安全密鑰對明文數據加 密(方框406)。在各種實施例中,可以設置一個或多個功能單元102-1-N 以利用UOK 116-l-N對明文數據加密。在不採用旁路的情況下,功能單元 可以利用一個或多個UOK映射特定的地址和/或地址區域並採用加密。在 各種實施方式中,例如,可以從共享接入埠 106-1-N和/或通過片內總線 104發出加密的數據。如果有旁路的話,明文數據將保持為明文狀態。
邏輯流400可以包括利用一個或多個數據通路安全密鑰對加密的數據 進行解密(方框408)。在各實施例中,例如,可以設置一個或多個功能單 元102-1-N以通過共享接入埠 106-1-N和/或通過片內總線104接收加密 的數據輸入。加密的數據可以是利用一個或多個數據通路安全密鑰(例如 UOK)加密的且可以與特定的地址或地址範圍相關聯。在接收到加密的數 據且不採用旁路時,功能單元可以利用一個或多個UIK映射特定的地址或 地址區域並採用加密。如果獲得授權並具有適當的數據通路安全密鑰,功 能單元就可以對加密的數據輸入進行解密並恢復明文數據。如果未經授權 或如果有旁路,則加密的數據將保持為加密狀態。
在一些實施例中,通過一個或多個安全的數據通路接收的加密數據可 以被發送到晶片外存儲器。在各種實施方式中,在將加密的數據存儲在諸
27如DRAM或閃速存儲器之類的外部存儲器中時,以及在將加密的數據從外 部存儲器讀取到SOC器件100中時,將會保護加密的數據。
圖5示出了產品500的一個實施例。如圖所示,產品500可以包括存 儲介質502,以存儲數據通路安全邏輯504,用於根據所述實施例執行各種 操作。在各實施例中,可以由各種系統、組件和/或模塊實現產品500。
產品500和/或計算機可讀存儲介質502可以包括能夠存儲數據的一種 或多種計算機可讀存儲介質,包括易失性或非易失性存儲器、可移除或 不可移除存儲器、可擦除或不可擦除存儲器、可寫或可再次寫入存儲器等。 機器可讀存儲介質的範例可以包括但不限於RAM、 DRAM、 DRAM、 SDRAM、靜態RAM (SRAM)、 ROM、可編程ROM (PROM)、可擦除可 編程ROM (EPROM)、 EEPROM、緊緻盤ROM (CD-ROM)、緊緻可記錄 盤(CD-R)、緊緻可寫盤(CD-RW)、閃速存儲器(例如NOR或NAND閃 速存儲器)、內容可尋址存儲器(CAM)、聚合物存儲器(例如鐵電聚合物 存儲器)、相變存儲器(例如奧弗辛斯基存儲器)、鐵電存儲器、矽-氧化物-氮化物-氧化物-矽(SONOS)存儲器、盤(例如軟盤、硬碟、光碟、磁碟、 磁光碟)或卡(例如磁性卡、光學卡)、帶、磁帶或任何其他類型的適於存 儲信息的計算機可讀存儲介質。此外,通過通信鏈路從遠程計算機向請求 計算機下載或傳輸以體現在載波或其他傳播介質中的數據信號攜帶的計算 機程序的過程中涉及到的任何介質(例如調製調解器、無線電或網絡連接) 都被視為計算機可讀存儲介質。
產品500和/或計算機可讀存儲介質502可以存儲數據通路安全邏輯 504,包括指令,數據和/或代碼,在被機器執行時,它們可以讓機器根據所 述實施例執行一種方法禾口/或操作。例如,這樣的機器可以包括任何適當的 處理平臺、計算平臺、計算裝置、處理裝置、計算系統、處理系統、計算 機、處理器等,且可以利用硬體和/或軟體的任意適當組合加以實現。
數據通路安全邏輯504可以包括或實現為軟體、軟體模塊、應用程式、 程序、子程序、指令、指令組、計算代碼、單字、值、符號或其組合。指 令可以包括任何適當類型的代碼,例如原始碼、已編譯的代碼、已解釋的 代碼、可執行代碼、靜態代碼、動態代碼等。可以根據預定的計算機語言、 方式或語法實現所述指令,以指示處理器完成特定功能。可以利用任何適當的高級、低級、面向對象的、可視化的、己編譯的和/或已解釋的程序設
計語言,例如C、 C++、 Java、 BASIC、 Perl、 Matlab、 Pascal、 visual BASIC、
彙編語言、機器代碼等來實現所述指令。實施例不限於此環境。
可以理解,除非具體地加以特定說明,否則諸如"處理"、"計算"、"運 算"、"判決"等術語是指計算機或計算系統或類似電子計算裝置的動作和/ 或過程,將被表示為計算系統的寄存器和/或存儲器中的物理量(例如電子 量)的數據處理和/或變換成被類似地表示為計算系統的存儲器、寄存器或 其他這樣的信息存儲、傳輸或顯示裝置中的物理量的其他數據。實施例不 限於此環境。
還要指出的是,任何提到"一個實施例"或"實施例"的地方表示結 合該實施例描述的特定特徵、結構或特點被包括在本發明的至少一個實施 例中。於是,在本說明書通篇各處中出現"在一個實施例中"或"在實施 例中"的提法未必全是指相同實施例。此外,可以在一個或多個實施例中 以任何適當方式組合特定的特徵、結構或特點。
儘管如本文所述已經例示了實施例的特定特徵,但本領域的技術人員 現在將會想到很多改進、替代、變化和等價處理。因此要理解的是,所附 權利要求意在涵蓋落在實施例真正精神之內的所有這種改迸和變化。
權利要求
1、一種設備,其包括安全控制器,所述安全控制器配置連接到嵌入晶片上系統器件中的共享片內總線上的一個或多個功能單元以通過如下方式經由一個或多個安全的數據通路與其他功能單元通信對明文數據加密、通過安全的數據通路發送加密的數據輸出、從安全的數據通路接收加密的數據輸入、以及對加密的數據進行解密以恢復明文數據。
2、 根據權利要求1所述的設備,其中,僅所述安全控制器能夠配置所 述安全的數據通路。
3、 根據權利要求1所述的設備,所述安全控制器在所述一個或多個功 能單元處建立一個或多個數據通路安全密鑰。
4、 根據權利要求3所述的設備,其中,可以動態地改變所述一個或多 個數據通路安全密鑰。
5、 根據權利要求3所述的設備,所述安全控制器包括存儲管理能力,以利用功能單元的至少一個地址或地址範圍映射取決於地址的數據通路安 全密鑰,從而接收加密的數據。
6、 根據權利要求2所述的設備,所述一個或多個數據通路安全密鑰使 經授權的功能單元能夠查看明文數據。
7、 根據權利要求6所述的設備,其中,未被授權査看明文數據的功能 單元可以在所述裝置內操作加密的數據。
8、 根據權利要求2所述的設備,所述一個或多個數據通路安全密鑰實 現對明文數據的加密。
9、 根據權利要求1所述的設備,所述安全控制器在所述一個或多個功 能單元處建立數據通路安全邏輯,用於對明文數據進行加密和對加密的數 據進行解密。
10、 根據權利要求1所述的設備,其中, 一個或多個所述功能單元連 接到晶片外存儲器以存儲加密的數據。
11、 一種系統,其包括天線,其接收媒體內容;以及晶片上系統(SOC)器件,其處理所述媒體內容,所述SOC器件包括 一個或多個功能單元,所述功能單元連接到共享片內總線並被配置為通過 一個或多個安全的數據通路與其他功能單元進行加密的媒體內容的通信。
12、 根據權利要求ll所述的系統, 一個或多個所述功能單元包括一個 或多個數據通路安全密鑰。
13、 根據權利要求12所述的系統,所述一個或多個數據通路安全密鑰 包括對所述加密的媒體內容進行解密的單元輸入密鑰或對明文媒體內容進 行加密的單元輸出密鑰之中的至少一個。
14、 根據權利要求11所述的系統, 一個或多個所述功能單元包括用於 對明文媒體內容進行加密和對加密的媒體內容進行解密的數據通路安全邏 輯。
15、 根據權利要求ll所述的系統,其中, 一個或多個所述功能單元連 接到晶片外存儲器以存儲加密的媒體內容。
16、 一種方法,其包括在連接到嵌入晶片上系統器件中的共享片內總線上的功能單元之間配置一個或多個安全的數據通路;以及通過所述一個或多個安全的數據通路進行加密的數據的通f
17、 根據權利要求16所述的方法, 一個或多個數據通路安全密鑰。
18、 根據權利要求16所述的方法, 全密鑰對明文數據進行加密。
19、 根據權利要求16所述的方法, 全密鑰對加密的數據進行解密。還包括為一個或多個功能單元配置 還包括利用一個或多個數據通路安 還包括利用一個或多個數據通路安
20、 根據權利要求16所述的方法,還包括向晶片外存儲器發送通過所 述一個或多個安全的數據通路所接收的加密的數據。
21、 一種包括機器可讀存儲介質的產品,所述機器可讀存儲介質包含 指令,如果執行所述指令,所述指令使系統能夠在連接到嵌入晶片上系統器件中的共享片內總線上的功能單元之間配 置一個或多個安全的數據通路;以及通過所述一個或多個安全的數據通路進行加密的數據的通信。
22、 根據權利要求21所述的產品,還包括如果被執行就使系統能夠為 一個或多個功能單元配置一個或多個數據通路安全密鑰的指令。
23、 根據權利要求21所述的產品,還包括如果被執行就使系統能夠利 用一個或多個數據通路安全密鑰對明文數據進行加密的指令。
24、 根據權利要求21所述的產品,還包括如果被執行就使系統能夠利 用一個或多個數據通路安全密鑰對加密的數據進行解密的指令。
25、根據權利要求21所述的產品,還包括如果被執行就使系統能夠向 晶片外存儲器發送通過所述一個或多個安全的數據通路所接收的加密的數 據的指令。
全文摘要
描述了用於在晶片上系統(SOC)器件中提供數據通路安全的各種實施例。在一個實施例中,一種設備可以包括安全控制器,該安全控制器配置連接到內嵌於SOC器件中的共享片內總線的一個或多個功能單元,以便通過一個或多個安全的數據通路與其他功能單元通信。可以將這一個或多個功能單元設置成對明文數據加密,通過安全的數據通路將加密後的數據發送出去,從安全的數據通路接收加密的數據以及對數據解密以恢復明文數據。還描述了其他實施例並要求其權利。
文檔編號G06F21/00GK101454783SQ200780019303
公開日2009年6月10日 申請日期2007年6月27日 優先權日2006年6月27日
發明者P·蒙吉亞 申請人:英特爾公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀