保護在處理器封裝之間的數據傳輸的制作方法
【專利說明】保護在處理器封裝之間的數據傳輸
[0001] 背景
[0002] 1 ?領域
[0003] 本公開內容涉及信息處理的領域,且尤其涉及信息處理系統中的安全的領域。
[0004] 2.相關領域的描述
[0005] 惡意攻擊是對信息處理系統的安全的嚴重威脅。已經開發了多種技術來防止這些 攻擊,但是隨著信息處理系統開發的繼續,還需要更多技術。
[0006] 附圖簡述
[0007] 作為示例而非限制在附圖中闡釋本發明。
[0008] 圖1闡釋一種系統,其中根據本發明的一種實施例在處理器封裝之間的數據傳輸 可以受到保護。
[0009] 圖2闡釋根據本發明的一種實施例的處理器。
[0010] 圖3闡釋根據本發明的一種實施例的加密委托代理(encryptionproxyagent)。 [0011] 圖4闡釋根據本發明的一種實施例用于保護在處理器封裝之間的數據傳輸的方 法。
[0012] 詳細描述
[0013] 描述用于保護在處理器封裝之間的數據傳輸的發明的各實施例。在本描述中,可 以陳述諸如組件和系統配置之類的眾多特定細節,以便提供對本發明的更透徹的理解。然 而,本領域中的技術人員應明白,無需這樣的特定細節就可以實踐本發明。另外,沒有詳細 示出一些眾所周知的結構、電路和其他特征,以免不必要地模糊本發明。
[0014] 在下列描述中,對" 一個實施例"、"實施例"、"示例實施例"、"各種實施例"等等的 引用表示這樣描述的本發明的(多個)實施例可以包括具體的特征、結構或特性,但是多于 一種實施例可以包括且并非每一實施例必定包括這些具體的特征、結構或特性。進一步,一 些實施例可以擁有針對其他實施例所描述的特征中的一些、全部,或者沒有這些特征。
[0015] 如權利要求中所使用的,除非另外指出,否則,使用順序形容詞"第一"、"第二"、 "第三"等等來描述元素僅僅表示提及元素的具體實例或類似元素的不同實例,且不旨在暗 示這樣描述的元素必須遵守具體的序列,無論是時間上、空間上、排名上還是以任何其他方 式。
[0016] 圖1闡釋系統100,系統100是本發明的一種實施例可以在其中出現和/或操作的 信息處理系統。系統100可以表示任何類型的信息處理系統,例如服務器、臺式計算機、便 攜式計算機、機頂盒、手持式設備或嵌入式控制系統。系統100包括處理器封裝110、封裝間 鏈路(inter-packagelink) 120、處理器封裝130、存儲器接口 140、系統存儲器150和信息 存儲設備160。處理器封裝110和處理器封裝130通過封裝間鏈路120相互耦合。處理器 封裝130和系統存儲器150通過存儲器接口 140相互耦合。實施本發明的系統可以包括任 何數量的這些組件和任何其他組件或其他元素中的每一種,例如信息存儲設備、外圍設備 和輸入/輸出設備。除非另外指出,這一系統實施例或任何系統實施例中的組件或其他元 素中的任何或全部,例如存儲設備160,可以通過任何數量的總線、點對點或其他有線或無 線接口或連接來連接、耦合或以另外方式相互通信。
[0017] 處理器封裝110可以包括被封裝在單個封裝內的一個或多個處理器,其中的每一 個都可以包括以任何組合的多個線程和/或多個執行核。每一處理器可以是任何類型的 處理器,包括通用微處理器,例如英特爾?Core?處理器系列、英特爾?Atom?處理器系 列、或來自英特爾?公司的其他處理器系列中的處理器,或者是來自另一公司的另一處理 器、或專用處理器或微控制器。
[0018] 處理器封裝110包括緩存代理(cachingagent) 111、高速緩沖存儲器(cache memory) 112、存儲器控制器113、加密委托代理114和鏈路單元115。緩存代理111可以表 示上面所陳述的任何處理器,在這一實施例中它充當用于本描述的目的的緩存代理。高速 緩沖存儲器112可以表示系統100的存儲器分層結構中以靜態隨機存取存儲器或任何其他 存儲器技術實現的任何一級或多級高速緩沖存儲器。高速緩沖存儲器112可以包括根據在 信息處理系統中緩存的任何已知方法的、專用于在處理器封裝110內的任何一個或多個執 行核或處理器或者在它們當中共享的高速緩沖存儲器的任何組合。
[0019] 加密委托代理114可以包括執行一種或多種加密算法和相應的解密算法的任何 邏輯、電路或其他硬件。鏈路單元115可以包括處理器封裝110可以借助其通過點對點鏈 路與系統100中的另一處理器封裝通信的任何電路或其他硬件。
[0020] 封裝間鏈路120可以表示點對點接口,它可以是根據任何系統互連架構的互連織 物中的點對點鏈路,例如英特爾?快速通道互連,或者在于2012年10月22日提交的、標題 為"用于高性能互連架構的方法、裝置、系統(Apparatus,SystemforaHighPerformance InterconnectArchitecture) "的共同待決的美國專利申請第61/717, 091號中描述的高性 能互連的實施例,該專利申請通過引用合并于此。根據任何這樣的架構的協議,可以在分組 中把數據、控制信息或其他信息從處理器封裝110傳輸或發送給處理器封裝130。
[0021] 處理器封裝130包括歸屬代理131、高速緩沖存儲器132、存儲器控制器133、加密 委托代理134和鏈路單元135。歸屬代理131可以表示上面所陳述的任何處理器。在這一 實施例中它充當用于本描述的目的的歸屬代理。高速緩沖存儲器132可以表示系統100的 存儲器分層結構中以靜態隨機存取存儲器或任何其他存儲器技術實現的任何一級或多級 高速緩沖存儲器。高速緩沖存儲器132可以包括根據在信息處理系統中緩存的任何已知方 法的、專用于在處理器封裝130內的任何一個或多個執行核或處理器或者在它們當中共享 的高速緩沖存儲器的任何組合。
[0022] 加密委托代理134可以包括執行一種或多種加密算法和相應的解密算法并且提 供下面描述的其他功能的任何邏輯、電路或其他硬件。鏈路單元135可以包括處理器封裝 130可以借助其通過點對點鏈路與系統100中的另一處理器封裝通信的任何電路或其他硬 件。
[0023] 存儲器接口 140可以表示在存儲器和處理器之間的任何類型的接口。系統存儲器 150可以包括可由處理器110和/或130訪問的動態隨機存取存儲器和/或任何其他類型 的介質,且可以被用來存儲由處理器110、處理器130和/或任何其他組件使用或產生的數 據和/或指令。存儲器接口 140被示出為處于處理器封裝130和系統存儲器150之間;然 而,系統存儲器150可以表示更大的系統存儲器的一部分,其中可以通過存儲器接口 140把 該部分本地附加到處理器封裝130。類似地,也可以通過存儲器接口 140和/或未示出的 另一存儲器接口把更大的系統存儲器的一部分本地附加到處理器封裝110。信息存儲設備 160可以表示任何類型的非易失性信息存儲設備,例如哈希存儲器或硬盤驅動器。
[0024] 圖1也闡釋安全軟件模塊116和136,它們可以是分別在緩存代理111和歸屬代 理131上或者在其中運行、執行、加載或出現的安全軟件或固件。安全軟件模塊116可以用 密鑰編程加密委托代理114,且安全軟件模塊136可以用相同的或相應的密鑰編程加密委 托代理134,以使得加密委托代理134可以解密由加密委托代理114加密的數據,且反之亦 然。在本發明的范圍內可以使用任何類型的密鑰或密鑰。本發明的各實施例可以包括使用 由安全軟件模塊提供的第一密鑰或其他數據來導出用于加密和解密的第二密鑰。
[0025] 圖2闡釋處理器200,處理器200的實施例可以充當緩存代理111,且緩存代理111 的實施例可以充當系統100中的歸屬代理131。處理器200可以包括指令單元210、執行單 元220、處理器存儲230、處理器控制單元240和安全飛地(enclave)單元250。處理器200 也可以包括圖2中未示出的任何其他電路、結構或邏輯。例如,分別可以充當高速緩沖存 儲器112或132、存儲器控制器113或133、加密委托代理114或134以