TWI545436B - 用於安全記憶體管理之積體電路及方法 - Google Patents

用於安全記憶體管理之積體電路及方法 Download PDF

Info

Publication number
TWI545436B
TWI545436B TW103127130A TW103127130A TWI545436B TW I545436 B TWI545436 B TW I545436B TW 103127130 A TW103127130 A TW 103127130A TW 103127130 A TW103127130 A TW 103127130A TW I545436 B TWI545436 B TW I545436B
Authority
TW
Taiwan
Prior art keywords
memory
peripheral interface
data
address
transaction
Prior art date
Application number
TW103127130A
Other languages
English (en)
Other versions
TW201512839A (zh
Inventor
堤摩西R 帕史基
大衛S 瓦倫
麥可J 史密斯
戴爾穆德P 羅斯
茅為華
Original Assignee
蘋果公司
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
Application filed by 蘋果公司 filed Critical 蘋果公司
Publication of TW201512839A publication Critical patent/TW201512839A/zh
Application granted granted Critical
Publication of TWI545436B publication Critical patent/TWI545436B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/82Protecting input, output or interconnection devices
    • G06F21/85Protecting input, output or interconnection devices interconnection devices, e.g. bus-connected or in-line devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1408Protection against unauthorised use of memory or access to memory by using cryptography
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/72Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/86Secure or tamper-resistant housings
    • G06F21/87Secure or tamper-resistant housings by means of encapsulation, e.g. for integrated circuits
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09CCIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
    • G09C1/00Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/12Transmitting and receiving encryption devices synchronised or initially set up in a particular manner
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/12Details relating to cryptographic hardware or logic circuitry

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mathematical Physics (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Storage Device Security (AREA)

Description

用於安全記憶體管理之積體電路及方法
本發明係關於週邊介面控制器之領域,且更特定而言,係關於週邊介面控制器中的加密及安全記憶體管理單元(MMU)功能性。
多種裝置中之積體電路包括一或多個週邊介面控制器以在週邊介面上與該裝置之其他組件通信。可使用多種業界標準介面,諸如,週邊組件互連(PCI)、高速PCI(PCIe)、通用串列匯流排(USB)、FirewireTM等。
因為週邊介面連接於組件(例如,在印刷電路板(PCB)上)之間,所以與保持於一組件內之資料相比,在週邊介面上傳輸之資料可稍微更易於由第三方觀測到。舉例而言,資料可受到版權保護,或可為在其他方面受到保護、需要授權才能檢視之數位內容。第三方可能試圖竊取資料。
另外,可經由週邊介面連接多種儲存裝置(例如,諸如快閃記憶體之固態儲存器、諸如固定或抽取式磁碟機之磁性儲存器、諸如光碟(CD)或數位影音光碟(DVD)儲存器之光學儲存器等)。儲存於此等儲存裝置中/上之資料亦可被第三方存取。因此,為了安全起見,亦可需要在資料儲存於儲存裝置上時對其加以保護。
在一實施例中,一週邊介面控制器可包括一內嵌密碼編譯引擎,其可加密正經由一週邊介面發送之資料及解密自週邊介面接收之資料。加密可對正接收/供應資料之連接至週邊介面的裝置透明。亦即,裝置可能甚至「意識」不到正接收/供應之資料係加密的。因此,若觀測到正跨週邊介面傳輸之資料,則可仍經由加密來保護真實資料。另外,在使資料穿過週邊介面控制器時「在運作中」執行加密可減少用於產生/消費資料之延時。
在一實施例中,週邊介面控制器包括於系統單晶片(SOC)中,系統單晶片亦包括經組態以耦接至一記憶體之一記憶體控制器。可按疊層晶片或疊層封裝組態將記憶體安裝於SOC上。可將未經加密之資料儲存於記憶體中供SOC之其他部分(例如,處理器、晶片上週邊設備等)使用。因此,真實資料可用於在相對安全環境中的處理。用於資料之加密/解密的密鑰可保持於SOC及/或附接之記憶體內,且因此亦可保持相對安全。
10‧‧‧系統單晶片(SOC)
12‧‧‧記憶體
14‧‧‧中央處理單元(CPU)複合體
16A‧‧‧端點
16B‧‧‧端點
18A‧‧‧晶片上週邊組件
18B‧‧‧晶片上週邊組件
20A‧‧‧鏈路控制電路
20B‧‧‧鏈路控制電路
22‧‧‧記憶體控制器
24‧‧‧密碼編譯單元
26‧‧‧快取記憶體
27‧‧‧通信網狀架構
28‧‧‧處理器
30‧‧‧二階(L2)快取記憶體
32A‧‧‧記憶體管理單元(MMU)
32B‧‧‧記憶體管理單元(MMU)
40‧‧‧虛擬位址
40A‧‧‧加密選擇欄位
40B‧‧‧MMU選擇欄位
40C‧‧‧標籤欄位
40D‧‧‧區段欄位
40E‧‧‧偏移欄位
42‧‧‧命令結構
44‧‧‧輸入項
44A‧‧‧命令欄位
44B‧‧‧長度欄位
44C‧‧‧PA0欄位
44D‧‧‧區段清單指標欄位/區段欄位
44E‧‧‧偏移欄位
44F‧‧‧密鑰欄位
46‧‧‧區段清單
48‧‧‧第二區段清單
50‧‧‧虛線
60‧‧‧加密引擎
62‧‧‧輸入資料佇列
64‧‧‧輸入位址/命令佇列
66‧‧‧輸出資料佇列
68‧‧‧密鑰準備電路
70‧‧‧IV準備電路
72‧‧‧密碼電路
80‧‧‧解密引擎
82‧‧‧輸入資料佇列
84‧‧‧輸入位址/命令佇列
88‧‧‧密鑰準備電路
90‧‧‧IV準備電路
92‧‧‧密碼電路
150‧‧‧系統
154‧‧‧外部週邊設備
156‧‧‧功率管理單元(PMU)
以下詳細描述參看現簡短描述之隨附圖式。
圖1為系統單晶片(SOC)之一項實施例之方塊圖。
圖2為可由嵌入之密碼編譯單元之一項實施例使用的一或多個資料結構之一項實施例之方塊圖。
圖3為嵌入之密碼編譯單元的一部分之一項實施例之方塊圖。
圖4為嵌入之密碼編譯單元之另一部分之一項實施例之方塊圖。
圖5為說明嵌入之密碼編譯單元之一項實施例的操作之流程圖。
圖6為系統之一項實施例之方塊圖。
雖然本發明易受各種修改及替代形式之影響,但在圖式中藉由舉例展示了其具體實施例,且將在本文中對該等實施例進行詳細描述。然而應瞭解,該等圖式及對其之詳細描述並非意欲將本發明限於 所揭示的特定形式,而正相反,本發明意欲涵蓋屬於如由附加的申請專利範圍所界定的本發明之精神及範疇內之所有修改、等效物及替代物。本文中所使用之標題僅為達成組織性目的,且不意謂用來限制此描述之範疇。如本申請案全篇中所使用之詞語「可」係按准許意義(亦即,意謂有可能)而非強制意義(亦即,意謂必須)使用。類似地,詞語「包括」意謂包括但不限於。
可將各種單元、電路或其他組件描述為「經組態以」執行一或多項任務。在此等上下文中,「經組態以」係對結構之廣泛敍述,其大體上意謂「具有在操作期間執行該或該等任務之電路」。因而,甚至在單元/電路/組件當前未接通時,該單元/電路/組件仍可經組態以執行任務。一般而言,形成對應於「經組態以」之結構之電路可包括硬體電路。類似地,為便於描述,可將各種單元/電路/組件描述為執行一或多項任務。此等描述應解釋為包括片語「經組態以」。敍述經組態以執行一或多項任務之單元/電路/組件明確地不意欲對於該單元/電路/組件援引35 U.S.C.§ 112第六段之解釋。
本說明書包括對「一項實施例」或「一實施例」之提及。儘管大體上涵蓋包括特徵之任何組合的實施例,但片語「在一項實施例中」或「在一實施例中」之出現未必指同一實施例,除非本文中明確地否認。可以與本發明一致之任何適合方式來組合特定特徵、結構或特性。
現轉至圖1,展示耦接至一記憶體12及一或多個外部週邊裝置(在圖1中說明為端點16A至16B)的SOC 10之一項實施例之方塊圖。如由名稱所暗示,SOC 10之組件可整合至單一半導體基板上,作為積體電路「晶片」。在一些實施例中,組件可實施於系統中之兩個或兩個以上離散晶片上。然而,SOC 10將在本文中被用作例子。在所說明 之實施例中,SOC 10之組件包括一中央處理單元(CPU)複合體14、晶片上週邊組件18A至18B(更簡言之,「週邊設備」)、一記憶體控制器22及一通信網狀架構27。組件14、18A至18B及22可皆耦接至通信網狀架構27。記憶體控制器22可在使用期間耦接至記憶體12,且週邊設備18B可在使用期間耦接至端點16A至16B。在所說明之實施例中,CPU複合體14包括一或多個處理器28及一二階(L2)快取記憶體30。
週邊設備18A至18B可為包括於SOC 10中之任一組額外硬體功能性。舉例而言,週邊設備18A至18B可包括視訊週邊設備,諸如,經組態以處理來自攝影機或其他影像感測器之影像捕獲資料之影像信號處理器、經組態以在一或多個顯示裝置上顯示視訊資料之顯示控制器、圖形處理單元(GPU)、視訊編碼器/解碼器、縮放器、旋轉器、摻合器等。週邊設備可包括音訊週邊設備,諸如,麥克風、揚聲器、至麥克風及揚聲器之介面、音訊處理器、數位信號處理器、混頻器等。週邊設備可包括用於在SOC 10外部之各種介面(包括諸如通用串列匯流排(USB)、包括高速PCI(PCIe)之週邊組件互連(PCI)、串聯及並聯埠等之介面)的週邊介面控制器(例如,週邊設備18B)。週邊設備可包括諸如媒體存取控制器(MAC)之網路連接週邊設備。可包括任何硬體集合。
更特定而言,在圖1中,週邊介面控制器18B可包括鏈路控制電路20A至20B。可包括任何數目個鏈路控制電路。通常,每一鏈路控制電路20A至20B可控制根據由週邊介面控制器18B實施之週邊介面所定義的一鏈路。該等鏈接可在邏輯上及實體上相互獨立。亦即,鏈路控制電路20A與端點16A之間的通信可獨立於鏈路控制電路20B及端點16B。在一實施例中,每一鏈路控制電路20A至20B可經組態以作為其耦接至之週邊介面的根複合體操作。根複合體可經組態以處理由端點16A至16B傳輸至記憶體12(經由通信網狀架構27)之異動。端點16A至 16B可為異動之邏輯終端(例如,其可為用於異動的資料之來源/儲集器)。
鏈路控制電路20A包括一密碼編譯單元24,其可包括一快取記憶體26。密碼編譯單元24可經組態以加密自記憶體12接收(經由記憶體控制器22且經由通信網狀架構27)之待經由鏈路傳輸至端點16A的資料。密碼編譯單元24可進一步經組態以解密經由鏈路自端點16A接收之待傳輸至記憶體12(經由通信網狀架構27至記憶體控制器22)的資料。因此,在一實施例中,在鏈路上自端點16A接收之寫入異動可使寫入資料在密碼編譯單元24中被解密,且經解密資料可隨著寫入記憶體操作而經由通信網狀架構27傳輸至記憶體控制器22。在鏈路上自端點16A接收之讀取異動可使自記憶體12提供(經由通信網狀架構27,來自記憶體控制器22)之傳回資料由密碼編譯單元24加密,且可經由鏈路在讀取回應中將經加密資料傳輸至端點16A。
除了支援資料之加密及解密外,密碼編譯單元24亦可支援由端點16A傳輸的異動之位址的位址轉譯。亦即,端點16A可傳輸包括虛擬位址之異動,且密碼編譯單元24可經組態以將虛擬位址轉譯至存取記憶體之實體位址。密碼編譯單元24可被提供記憶體12中之資料結構以供應密碼編譯控制資料(例如,加密密鑰、初始化向量或用以產生初始化向量之資料等)以及用以將虛擬位址轉譯至實體位址之資料。密碼編譯單元24可包括一快取記憶體26以快取資料結構中之一些,以減少用於執行轉譯及執行加密/解密之延時。
虛擬至實體位址轉譯亦可由鏈路控制電路20A至20B中之MMU 32A至32B支援。MMU 32A至32B可使用基於頁表之轉譯,類似於在處理器28中使用之轉譯機制。在鏈路控制電路20A中,MMU 32A可用以提供位址轉譯,而密碼編譯單元24提供加密/解密,或密碼編譯單元24可用於加密/解密及位址轉譯兩者。MMU 32A可用於資料不加密 之其他異動。
在所說明之實施例中,鏈路控制電路20A支援針對異動之加密/解密(密碼編譯操作),而鏈路控制電路20B僅支援位址轉譯。藉由給一些鏈路提供密碼編譯支援且不給其他鏈路提供密碼編譯支援,可藉由在不需要密碼編譯硬體之鏈路上不包括密碼編譯硬體來高效地符合SOC 10之安全目標。在各種實施例中,可提供任何數目個鏈路控制電路20A至20B,且任何數目個所提供之鏈路控制電路20A至20B可提供密碼編譯支援,包括每一鏈路控制電路20A至20B皆包括密碼編譯支援之實施例。
CPU複合體14可包括充當SOC 10之CPU的一或多個CPU處理器28。系統之CPU包括執行系統之主要控制軟體(諸如,作業系統)之處理器。通常,由CPU在使用期間執行之軟體可控制系統之其他組件以實現系統之所要功能性。處理器28亦可執行其他軟體,諸如,應用程式。應用程式可提供使用者功能性,且可依賴於作業系統進行較低層級的裝置控制。因此,處理器28亦可被稱作應用程式處理器。CPU複合體14可進一步包括其他硬體,諸如,L2快取記憶體30及/或至系統之其他組件的介面(例如,至通信網狀架構27之介面)。通常,處理器可包括經組態以執行在由處理器實施之指令集架構中定義的指令之任何電路及/或微碼。由處理器回應於執行該等指令而操作之指令及資料可通常儲存於記憶體12中,但亦可針對處理器對週邊設備之直接存取定義某些指令。處理器可涵蓋作為系統單晶片(SOC 10)或按其他整合度與其他組件一起實施於積體電路上的處理器核心。處理器可進一步涵蓋離散的微處理器、處理器核心及/或整合至多晶片模組實施中的微處理器、實施為多個積體電路之處理器等。
記憶體控制器22可通常包括用於自SOC 10之其他組件接收記憶體操作及用於存取記憶體12以完成記憶體操作之電路。記憶體控制器 22可經組態以存取任何類型之記憶體12。舉例而言,記憶體12可為靜態隨機存取記憶體(SRAM)、動態RAM(DRAM)(諸如,同步DRAM(SDRAM),包括雙資料速率(DDR、DDR2、DDR3等)DRAM)。可支援低功率/行動版本之DDR DRAM(例如,LPDDR、mDDR等)。記憶體控制器22可包括記憶體操作之佇列,以用於對操作排序(及潛在地,重排序)及將操作提交至記憶體12。記憶體控制器22可進一步包括資料緩衝器以儲存等待寫入至記憶體的寫入資料,及等待傳回至記憶體操作之來源的讀取資料。在一些實施例中,記憶體控制器22可包括一快取記憶體以儲存最近存取之記憶體資料。在SOC實施中,舉例而言,快取記憶體可藉由避免自記憶體12重新存取資料(若預期不久將再次存取該資料)來減少SOC中之功率消耗。在一些情況下,快取記憶體亦可被稱作系統快取記憶體,與僅伺服某些組件的諸如L2快取記憶體30或處理器28中之快取記憶體的私用快取記憶體相對。另外,在一些實施例中,系統快取記憶體不需要位於記憶體控制器22內。
在一實施例中,記憶體12可按疊層晶片或疊層封裝組態與SOC 10封裝在一起。亦可使用SOC 10及記憶體12之多晶片模組組態。與傳輸至系統中之其他組件(例如,至端點16A至16B)相比,此等組態可相對更安全(就資料可觀測性而言)。因此,受保護資料可未經加密地駐存於記憶體12中,而受保護資料可經加密以用於在SOC 10與端點16A至16B之間的交換。
通信網狀架構27可為用於在SOC 10之組件間通信的任何通信互連件及協定。通信網狀架構27可基於匯流排,包括共用匯流排組態、縱橫制組態及具有橋接器的階層式匯流排。通信網狀架構27亦可基於封包,且可為具有橋接器的階層式、縱橫制、點對點或其他互連件。
注意,SOC 10的組件之數目(及圖1中展示之組件的子組件數 目,諸如,在CPU複合體14及週邊介面控制器18B內)可在實施例間變化。可存在比圖1中展示之數目多或少的每一組件/子組件。
接下來轉至圖2,其為說明在記憶體12中之資料結構之一項實施例之方塊圖,該等資料結構可由密碼編譯單元24之一項實施例用以獲得密碼編譯控制資料及轉譯端點異動之虛擬位址。
虛擬位址說明於參考數字40處,且分成若干欄位。加密選擇欄位40A指示是否針對鏈路上之傳輸而加密異動之資料。MMU選擇欄位40B選擇MMU 32A抑或密碼編譯單元24來轉譯位址。位址之其餘部分被分成標籤欄位40C、區段欄位40D及偏移欄位40E。
標籤欄位40C對儲存於記憶體12中之命令結構42編索引。命令結構42包括多個輸入項,諸如,在圖2中之分解圖中展示之輸入項44。命令結構42之基底位址可程式化至密碼編譯單元24內,且標籤欄位40C可充當開始於基底位址之輸入項編號。亦即,標籤欄位40C被乘以輸入項44之大小且與基底位址相加可產生該輸入項之位址。
在分解圖中,輸入項44例示了命令結構42中的每一輸入項之內容。通常,命令結構42可提供密碼編譯控制資料,且亦可提供指向第二資料結構(區段清單46)之指標。區段清單指標欄位44D可指向區段清單46,以下更詳細地描述。命令欄位44A可提供用於操作之各種控制資訊,諸如,是否加密資料、密鑰之來源(密鑰欄位44F或硬寫碼至SOC 10內之密鑰)、密鑰長度及針對該操作之讀取/寫入權限。長度欄位44B可指定資料緩衝器之長度(例如,可經由輸入項44存取的區段之數目)。PA0欄位44C可儲存來自區段清單46中的初始輸入項之實體位址。亦即,PA0欄位44C可儲存區段0之實體位址。PA0亦儲存於區段清單46中之初始輸入項中,但當第一次存取輸入項44時,PA0欄位44C可用以更快地提供PA0。由於經由輸入項44存取記憶體之一群異動可常常始於針對PA0之異動,因此可減少用以產生位址之延時。稍 後異動可在快取記憶體26中找到輸入項44及區段清單46之一部分。在一些演算法中,偏移欄位44E可儲存可用以產生用於加密之初始化向量(IV)之值。特定言之,偏移欄位44E及位址之區段欄位40D可用以產生IV。在一實施例中,區段欄位40D可添加至偏移欄位44E,且可將所得值串接至自身(經重複)以建立IV。在一實施例中,包括偏移欄位44E可確保端點儲存裝置中之資料在儲存於其處與提供至記憶體12之間不在端點內移動。最後,在密鑰源為輸入項44的情況下,密鑰欄位44F可儲存用於操作之加密密鑰。
區段清單46可為儲存由異動存取之資料的區段之實體位址之一清單(例如,若異動為寫入,則為資料之儲集器,或若異動為讀取,則為資料之來源)。每一命令結構輸入項可具有一相關聯之區段清單(例如,亦在圖2中展示第二區段清單48)。區段欄位40D可為區段清單46之索引,且可選擇一實體位址用於異動。區段清單46中之實體位址不需要按數字次序。亦即,實體位址可指向系統記憶體12中之任何處。舉例而言,區段清單46中之實體位址2(PA2)指向在由區段清單46中之實體位址N(PAN)指向的區段N下方之區段2。因此,區段可以任何方式分散於記憶體12中。
命令結構42及區段清單46及48可在記憶體之受保護區(由虛線50說明)中。在MMU 32A至32B中之任一者中可不存在轉譯,且在區段清單46及48中不存在指向受保護區中之資料的實體位址。因此,該區可不能被端點16A至16B存取。
現轉至圖3,展示密碼編譯單元24之一部分之方塊圖。在圖3中展示之部分可為待在鏈路上傳輸之出埠資料的加密路徑。在所說明之實施例中,該部分包括一加密引擎60、一輸入資料佇列62、一輸入位址/命令佇列64及一輸出資料佇列66。輸入資料佇列62及輸入位址/命令佇列64耦接至加密引擎60,加密引擎60耦接至輸出資料佇列66。加 密引擎60經進一步耦接以自快取記憶體26/MMU 32A接收密鑰及IV旁路輸入。在所說明之實施例中,加密引擎60包括一密鑰準備電路68、一IV準備電路70及一密碼電路72。密鑰準備電路68及IV準備電路70經耦接以分別接收密鑰旁路輸入及IV旁路輸入,且耦接至密碼電路72。密碼電路72耦接至輸入資料佇列62及輸出資料佇列66。
輸入資料佇列62可經耦接以接收回應於在鏈路上接收之先前讀取請求所提供之資料。可自快取記憶體26及/或MMU 32A提供對應的實體位址及命令(在此情況下,讀取回應)。在一些實施例中,加密引擎60可支援一個以上加密環境定義(密鑰與IV之組合,且取決於實施之加密演算法,潛在地具有加密自身之狀態)。標籤亦可由快取記憶體/MMU提供以指示哪一加密環境定義用於資料。在一實施例中,可存在兩個環境定義─作用中環境定義及背景環境定義。標籤可指示待使用作用中環境定義或是背景環境定義,且加密引擎60可基於標籤調換環境定義。
如上所提到,可將密鑰及IV值以旁路傳送至加密引擎60,可能在傳輸實體位址及其他資訊之前。由於資料被排入佇列於輸入資料佇列62中(可能在屬於不同加密環境定義之其他資料之後),因此旁路傳送亦可在需要密鑰及IV以加密資料之前進行。密鑰準備電路68及IV準備電路70可經組態以分別準備密鑰及IV以供在密碼電路72中使用。若另一加密環境定義在密碼電路72中在作用中,則可「在背景中」執行準備,而不使進行中之加密中斷。密碼電路72可基於準備之IV及密鑰值實施加密。密碼電路72可經組態以加密來自輸入資料佇列62之資料,且可將經加密之資料寫入至輸出資料佇列66。可自輸入位址/命令佇列64提供對應的輸入位址及命令,且輸入位址及命令可與經加密資料一起轉遞至準備用於在鏈路上傳輸之封包的電路。
圖4為密碼編譯單元24之一部分之方塊圖。圖4中展示之部分可 為自鏈路接收之入埠資料的解密路徑。在所說明之實施例中,該部分包括一解密引擎80、一輸入資料佇列82及一輸入位址/命令佇列84。在此情況下,不需要輸出資料佇列以將經解密資料排成佇列以傳輸至記憶體12(經由網狀架構介面27,至記憶體控制器22)。可為了計時目的而提供一輸出緩衝器,或在一些實施例中,可包括一輸出資料佇列。輸入資料佇列82及輸入位址/命令佇列84耦接至解密引擎80,解密引擎80經耦接以將經解密資料提供至記憶體。解密引擎80經進一步耦接以接收來自快取記憶體26/MMU 32A之密鑰及IV旁路輸入。在所說明之實施例中,解密引擎80包括一密鑰準備電路88、一IV準備電路90及一密碼電路92。密鑰準備電路88及IV準備電路90經耦接以分別接收密鑰旁路輸入及IV旁路輸入,且耦接至密碼電路92。密碼電路92耦接至輸入資料佇列82。
輸入資料佇列82可經耦接以接收自鏈路提供之資料。資料可為可經加密之寫入資料,或可為來自讀取請求封包之資料。輸入位址/命令佇列84可自快取記憶體26/MMU 32A接收命令、實體位址及標籤,類似於以上描述的輸入位址/命令佇列64。在一些實施例中,可繞過解密引擎80而旁路傳送讀取請求,但可維持請求之間的次序。
類似於以上關於加密引擎60所論述,可將密鑰及IV值以旁路傳送至解密引擎80。密鑰準備電路88及IV準備電路90可經組態以分別準備密鑰及IV,以用於在密碼電路92中使用。若另一解密環境定義在密碼電路92中在作用中,則可「在背景中」執行準備,而不使進行中之解密中斷。密碼電路92可基於所準備之IV及密鑰值實施解密。密碼電路92可經組態以解密來自輸入資料佇列82之資料,且可提供經解密資料以用於隨著對應於寫入命令之寫入記憶體操作而傳輸至記憶體12。可自輸入位址/命令佇列84提供用於寫入記憶體操作之對應的輸入位址及命令。
現轉至圖5,展示說明密碼編譯單元24的操作之一項實施例之態樣之流程圖。儘管為易於理解而按特定次序展示區塊,但可使用其他次序。可在密碼編譯單元24中之組合邏輯中並行地執行區塊。可在多個時鐘循環上使區塊、區塊之組合、及/或作為整體的流程圖管線化。密碼編譯單元24可經組態以實施圖5中展示之操作。
若針對異動之加密選擇不指示加密(決策區塊100,「否」分支),則異動可繞過密碼編譯單元24(區塊102)。然而,可維持來自端點的異動之次序。在一實施例中,加密選擇可包括來自位址之加密選擇欄位40A及選定輸入項44之命令欄位44A中的加密控制欄位兩者。亦即,加密選擇欄位40A可指示加密且命令欄位44A中之加密控制欄位亦可指示加密,從而導致選擇用於異動之加密。
若加密選擇確實指示加密(決策區塊100,「是」)分支,則密碼編譯單元24可自快取記憶體26或在快取未命中之情況下自記憶體12提取用於異動之命令結構輸入項(區塊104)。若命令結構輸入項為快取未命中,則可當自記憶體擷取時快取該命令結構輸入項。若異動為至命令結構輸入項之區段0,且轉譯由密碼編譯單元24而非MMU 32A(由MMU選擇欄位40B指示)執行(決策區塊106,「是」分支),則密碼編譯單元可根據命令結構輸入項之欄位44C提供區段0之實體位址(區塊108)。密碼編譯單元24亦可將來自欄位44F(或其他位置,取決於密鑰來源)之密鑰及IV以旁路傳送至加密或解密引擎(區塊110),加密或解密引擎可與對加密控制資料結構之進一步處理並行地開始密鑰/IV之背景準備(區塊112)。
基於用於異動之區段,密碼編譯單元24可自快取記憶體26或記憶體12提取由PA清單欄位44D指向的區段清單46/48中之一區塊(區塊114)。所提取之區塊可為包括對應於區段欄位40D之實體位址的區塊。若該區塊在快取記憶體26中未命中,則可在自記憶體傳回時在快 取記憶體26中快取該區塊。在一實施例中,快取記憶體26可經組態以快取用於給定命令結構輸入項44的區段清單之多個區塊。在此等實施例中,快取記憶體26亦可預先提取區段清單之接下來的連續區塊。
當傳回區段清單之區塊時,密碼編譯單元24可提供該區段之實體位址(惟區段0之情況除外,此係因為自命令結構輸入項44以旁路傳送該實體位址)(區塊116)。加密引擎60或解密引擎80可在異動到達輸入佇列之頂部時將該異動選擇用於加密/解密(區塊118)。若異動之標籤匹配來自最近加密/解密之先前標籤(決策區塊120,「是」分支),則可使用當前加密/解密環境定義,且可加密/解密及轉遞該資料(區塊122)。若標籤不匹配(決策區塊120,「否」分支),則加密引擎60/解密引擎80可切換至正確的加密/解密環境定義(區塊124),且可加密/解密及轉遞該資料(區塊122)。
圖6為系統150之一項實施例之方塊圖。在所說明之實施例中,系統150包括耦接至一或多個外部週邊設備154(包括端點16A至16B及/或額外外部週邊設備)及外部記憶體12的SOC 10之至少一個例項(instance)。提供一功率管理單元(PMU)156,其將供應電壓供應至SOC 10,以及將一或多個供應電壓供應至記憶體12及/或週邊設備154。在一些實施例中,可包括SOC 10之一個以上例項(且亦可包括一個以上記憶體12)。
取決於系統150的類型,週邊設備154可包括任何所要電路。舉例而言,在一項實施例中,系統150可為行動裝置(例如,個人數位助理(PDA)、智慧型手機等),且週邊設備154可包括用於各種類型之無線通信(諸如,wifi、藍芽、蜂巢式、全球定位系統等)的裝置。週邊設備154亦可包括額外儲存器,包括RAM儲存器、固態儲存器或磁碟儲存器。週邊設備154可包括使用者介面裝置,諸如,顯示幕(包括觸控顯示幕或多點觸控顯示幕)、鍵盤或其他輸入裝置、麥克風、揚聲 器等。在其他實施例中,系統150可為任何類型之計算系統(例如,桌上型個人電腦、膝上型電腦、工作站、迷你筆記型電腦(net top)等)。
外部記憶體12可包括任何類型之記憶體。舉例而言,外部記憶體12可為SRAM、動態RAM(DRAM)(諸如,同步DRAM(SDRAM)、雙資料速率(DDR、DDR2、DDR3等)SDRAM、RAMBUS DRAM、DDR DRAM之低功率版本(例如,LPDDR、mDDR等))等。外部記憶體12可包括記憶體裝置安裝至之一或多個記憶體模組,諸如,單列直插記憶體模組(SIMM)、雙列直插記憶體模組(DIMM)等。替代地,外部記憶體12可包括按疊層晶片或疊層封裝實施安裝於SOC 10上之一或多個記憶體裝置。
對於熟習此項技術者而言,一旦已完全瞭解上述揭示內容,眾多變化及修改便將變得顯而易見。希望將以下申請專利範圍解釋為涵蓋所有此等變化及修改。
10‧‧‧系統單晶片(SOC)
12‧‧‧記憶體
14‧‧‧中央處理單元(CPU)複合體
16A‧‧‧端點
16B‧‧‧端點
18A‧‧‧晶片上週邊組件
18B‧‧‧晶片上週邊組件
20A‧‧‧鏈路控制電路
20B‧‧‧鏈路控制電路
22‧‧‧記憶體控制器
24‧‧‧密碼編譯單元
26‧‧‧快取記憶體
27‧‧‧通信網狀架構
28‧‧‧處理器
30‧‧‧二階(L2)快取記憶體
32A‧‧‧記憶體管理單元(MMU)
32B‧‧‧記憶體管理單元(MMU)

Claims (17)

  1. 一種用於安全記憶體管理之積體電路,其包含:一記憶體控制器,其包含經組態以耦接至一記憶體之電路;一網狀架構介面;其包含耦接至該記憶體控制器之電路;及一週邊介面控制器,其包含耦接至該網狀架構介面且經組態以耦接至一外部週邊介面以與在該積體電路外部之一或多個裝置通信之電路,其中該週邊介面控制器包含一密碼編譯單元,該密碼編譯單元包含經組態以加密經由該網狀架構介面自該記憶體接收之資料之電路,且其中該週邊介面控制器經組態以在該外部週邊介面上傳輸該經加密資料,且其中該密碼編譯單元經組態以解密由該週邊介面控制器自該外部週邊介面接收之資料,且其中該週邊介面控制器經組態以經由該網狀架構介面將該經解密資料傳輸至該記憶體,其中該密碼編譯單元經進一步組態以在該週邊介面上將用於由該一或多個裝置產生的異動中之虛擬位址轉譯至用以定址該記憶體之實體位址,且其中該密碼編譯單元經組態以回應於來自該介面之一第一異動自記憶體中之一第一資料結構讀取一第一輸入項,且其中該第一資料結構進一步包括對應於該第一輸入項的複數個實體位址中之一第一實體位址,且其中對應於該第一輸入項之其餘實體位址儲存於記憶體中之一第二資料結構中,且其中該密碼編譯單元經組態以在讀取該第二資料結構之前回應於該第一異動自該複數個實體位址選擇該第一實體位址而使該第一實體位址與該第一異動相關聯。
  2. 如請求項1之積體電路,其中該週邊介面控制器進一步包含一記 憶體管理單元(MMU),該記憶體管理單元經組態以將該虛擬位址轉譯至存取該記憶體之實體位址,且其中一給定異動經寫碼以使用來自該密碼編譯單元及該MMU中之一者的一轉譯。
  3. 如請求項1之積體電路,其中該第一資料結構包括用於加密/解密由該第一異動存取之資料的一加密密鑰。
  4. 如請求項3之積體電路,其中該密碼編譯單元經組態以在獲得待由該第一異動存取之該第一實體位址之前起始用於加密的該密鑰之準備。
  5. 如請求項1之積體電路,其中該密碼編譯單元包含一快取記憶體,且其中該快取記憶體經組態以快取該第一輸入項及該第二資料結構之一部分。
  6. 如請求項1之積體電路,其中該週邊介面控制器經組態以耦接至該週邊介面之一第二例項,且其中該週邊介面控制器不支援該第二例項上之加密。
  7. 一種用於安全記憶體管理之方法,其包含:在一週邊介面控制器中自一週邊介面接收一第一寫入異動,該第一寫入異動經定義以更新該週邊介面控制器耦接至的與該週邊介面分開的一記憶體系統中之一第一記憶體位置;在該週邊介面控制器中回應於該第一寫入異動之一第一位址中一第一指示判定該第一寫入異動指定對於對應於該第一寫入異動之第一資料的加密保護;回應於判定該第一寫入異動指定加密保護,解密該第一資料以產生第一經解密資料;將該第一經解密資料寫入至該記憶體;將該第一寫入異動中該第一位址轉譯至一第一實體位址,其中該轉譯包括回應於該位址之一第一部分讀取儲存於記憶體中 的一第一資料結構之一第一輸入項;及讀取由該第一輸入項指示之一第二資料結構,其中該第二資料結構包括基於該位址之一第二部分選擇的實體位址之一清單。
  8. 如請求項7之方法,其進一步包含:在該週邊介面控制器中自該週邊介面接收一第一讀取異動,該第一讀取異動經定義以讀取該記憶體系統中之一第二記憶體位置;在該週邊介面控制器中判定該第一讀取異動指定對於對應於該第一讀取異動之第二資料的加密保護;回應於判定該第一讀取異動指定加密保護,加密該第二資料以產生第一經加密資料;及在該週邊介面上傳輸該第一經加密資料。
  9. 如請求項8之方法,其中判定該第一讀取異動指定加密保護係回應於該第一讀取異動之一第二位址中的一第二指示。
  10. 如請求項7之方法,其中該第一輸入項包括一加密密鑰,且其中該方法進一步包含:將該加密密鑰以旁路傳送至一解密引擎;及在於該解密引擎中接收該第一實體位址前,在該解密引擎中預處理該加密密鑰。
  11. 如請求項10之方法,其中該第一輸入項包括來自實體位址之該清單的一初始實體位址,且其中該方法進一步包含回應於將來自該第一輸入項之該初始實體位址選擇為該第一實體位址而以旁路傳送該初始實體位址以供該解密引擎使用。
  12. 如請求項11之方法,其進一步包含在該週邊介面單元中快取該第一輸入項及該清單之一第一部分。
  13. 一種用於安全記憶體管理之積體電路,其包含:一記憶體控制器,其包含經組態以耦接至一記憶體之電路;一網狀架構介面,其包含耦接至該記憶體控制器之電路;一週邊介面控制器,其包含耦接至該網狀架構介面且經組態以耦接至一外部週邊介面之複數個鏈路之電路,其中在使用期間該等鏈路之每一者耦接至一端點,且其中該週邊介面控制器包含一密碼編譯單元,該密碼編譯單元包含經組態以加密資料以在該複數個鏈路之一第一鏈路上傳輸且解密從該第一鏈路接收之資料之電路,且其中該週邊介面控制器僅支援該複數個鏈路之一第二鏈路上未經加密資料之傳輸。
  14. 如請求項13之積體電路,其中該週邊介面控制器進一步包含用於該第一鏈路之一第一記憶體管理單元(MMU)及用於該第二鏈路之一第二MMU以將來自該複數個鏈路之虛擬位址轉譯至實體位址以存取記憶體。
  15. 如請求項14之積體電路,其中該密碼編譯單元經組態以針對該第一鏈路轉譯位址,且其中該第一鏈路上一給定異動係可使用該第一MMU或該密碼編譯單元來轉譯的。
  16. 如請求項15之積體電路,其中該密碼編譯單元經組態以存取該記憶體中複數個資料結構以獲得密碼編譯控制資料及位址轉譯資料。
  17. 如請求項16之積體電路,其中該密碼編譯單元經組態以在獲得一對應轉譯之前預處理密碼編譯控制資料。
TW103127130A 2013-08-09 2014-08-07 用於安全記憶體管理之積體電路及方法 TWI545436B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US13/963,457 US9256551B2 (en) 2013-08-09 2013-08-09 Embedded encryption/secure memory management unit for peripheral interface controller

Publications (2)

Publication Number Publication Date
TW201512839A TW201512839A (zh) 2015-04-01
TWI545436B true TWI545436B (zh) 2016-08-11

Family

ID=51790838

Family Applications (1)

Application Number Title Priority Date Filing Date
TW103127130A TWI545436B (zh) 2013-08-09 2014-08-07 用於安全記憶體管理之積體電路及方法

Country Status (3)

Country Link
US (1) US9256551B2 (zh)
TW (1) TWI545436B (zh)
WO (1) WO2015020788A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10809925B2 (en) 2019-01-28 2020-10-20 Macronix International Co., Ltd. Configurable security memory region
TWI813815B (zh) * 2019-05-09 2023-09-01 韓商愛思開海力士有限公司 記憶體模組、其操作方法、記憶體系統以及其操作方法

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9461815B2 (en) * 2013-10-18 2016-10-04 Advanced Micro Devices, Inc. Virtualized AES computational engine
US10726162B2 (en) * 2014-12-19 2020-07-28 Intel Corporation Security plugin for a system-on-a-chip platform
US9524249B2 (en) * 2014-12-23 2016-12-20 Intel Corporation Memory encryption engine integration
US9904803B2 (en) * 2015-03-25 2018-02-27 Intel Corporation Technologies for hardening data encryption with secure enclaves
US10230528B2 (en) * 2015-05-04 2019-03-12 Intel Corporation Tree-less integrity and replay memory protection for trusted execution environment
US9954681B2 (en) * 2015-06-10 2018-04-24 Nxp Usa, Inc. Systems and methods for data encryption
TWI560575B (en) * 2015-10-15 2016-12-01 Via Tech Inc Microprocessor and method for securely executing instructions therein
EP3345094A4 (en) * 2016-01-21 2019-04-17 Hewlett-Packard Development Company, L.P. DATA CRYPTOGRAPHY ENGINE
US10157153B2 (en) * 2016-02-03 2018-12-18 Qualcomm Incorporated Inline cryptographic engine (ICE) for peripheral component interconnect express (PCIe) systems
EP3252651A1 (en) 2016-05-30 2017-12-06 Samsung Electronics Co., Ltd Computing system having an on-the-fly encryptor and an operating method thereof
US10310990B2 (en) 2016-06-24 2019-06-04 Hewlett Packard Enterprise Development Lp Direct memory access encryption with application provided keys
US11126565B2 (en) * 2016-06-27 2021-09-21 Hewlett Packard Enterprise Development Lp Encrypted memory access using page table attributes
WO2018063368A1 (en) * 2016-09-30 2018-04-05 Hewlett-Packard Development Company, L.P. Safe peripheral device communications
IT201700050153A1 (it) * 2017-05-09 2018-11-09 St Microelectronics Srl Modulo hardware di sicurezza, relativo sistema di elaborazione, circuito integrato e dispositivo
US11030117B2 (en) * 2017-07-14 2021-06-08 Advanced Micro Devices, Inc. Protecting host memory from access by untrusted accelerators
KR20190075363A (ko) * 2017-12-21 2019-07-01 삼성전자주식회사 반도체 메모리 장치, 이를 포함하는 메모리 시스템 및 메모리 모듈
CN111492353B (zh) * 2018-08-15 2023-07-18 华为技术有限公司 一种安全的数据转移装置、系统和方法
EP3758276B1 (en) * 2018-12-12 2022-08-17 Shenzhen Goodix Technology Co., Ltd. Data processing method, circuit, terminal device storage medium
GB2591978B (en) * 2019-10-07 2023-06-21 Siemens Ind Software Inc Message Monitoring
US11347899B2 (en) 2019-12-04 2022-05-31 Realtek Singapore Private Limited Dynamic memory scrambler
US11763008B2 (en) 2020-01-15 2023-09-19 International Business Machines Corporation Encrypting data using an encryption path and a bypass path
US11520709B2 (en) * 2020-01-15 2022-12-06 International Business Machines Corporation Memory based encryption using an encryption key based on a physical address
US11809611B2 (en) 2020-02-24 2023-11-07 Microsoft Technology Licensing, Llc Protecting device detachment with bus encryption
US11550494B2 (en) 2021-02-03 2023-01-10 Macronix International Co., Ltd. Method to support high reliability multiple times program non-volatile configuration setting

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0644251B2 (ja) * 1986-08-28 1994-06-08 日本電気株式会社 デ−タ処理装置
DE10345385B4 (de) 2003-09-30 2005-10-06 Infineon Technologies Ag Entschlüsselung bzw. Verschlüsselung bei Schreibzugriffen auf einen Speicher
US8954751B2 (en) 2004-10-08 2015-02-10 International Business Machines Corporation Secure memory control parameters in table look aside buffer data fields and support memory array
US20080107275A1 (en) 2006-11-08 2008-05-08 Mehdi Asnaashari Method and system for encryption of information stored in an external nonvolatile memory
US8468417B2 (en) 2009-02-18 2013-06-18 Micron Technology, Inc. Data integrity in memory controllers and methods
JP2010268417A (ja) 2009-04-16 2010-11-25 Toshiba Corp 記録装置及びコンテンツデータ再生システム
US9251087B2 (en) 2011-02-11 2016-02-02 SanDisk Technologies, Inc. Apparatus, system, and method for virtual memory management
FR2976147B1 (fr) 2011-05-30 2013-11-22 Maxim Integrated Products Schema d'entrelacement de donnees pour une memoire externe d'un microcontroleur securise
US9021146B2 (en) 2011-08-30 2015-04-28 Apple Inc. High priority command queue for peripheral component
US9323943B2 (en) * 2013-04-30 2016-04-26 Hewlett Packard Enterprise Development Lp Decrypt and encrypt data of storage device

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10809925B2 (en) 2019-01-28 2020-10-20 Macronix International Co., Ltd. Configurable security memory region
TWI813815B (zh) * 2019-05-09 2023-09-01 韓商愛思開海力士有限公司 記憶體模組、其操作方法、記憶體系統以及其操作方法

Also Published As

Publication number Publication date
TW201512839A (zh) 2015-04-01
US9256551B2 (en) 2016-02-09
US20150046702A1 (en) 2015-02-12
WO2015020788A1 (en) 2015-02-12

Similar Documents

Publication Publication Date Title
TWI545436B (zh) 用於安全記憶體管理之積體電路及方法
US20230110230A1 (en) Technologies for secure i/o with memory encryption engines
TWI715619B (zh) 用於硬體強制單向密碼學的處理器、方法及系統
EP4020290A1 (en) Cryptographic computing with remote memory
US9202061B1 (en) Security enclave processor boot control
US9419794B2 (en) Key management using security enclave processor
CN105279439B (zh) 用于就地执行的存储器的加密方法
US10810138B2 (en) Enhanced storage encryption with total memory encryption (TME) and multi-key total memory encryption (MKTME)
US9397834B2 (en) Scrambling an address and encrypting write data for storing in a storage device
TWI493951B (zh) 保護對稱加密鑰的系統及方法
EP2725517B1 (en) System-on-chip processing secure contents and mobile device comprising the same
US8819455B2 (en) Parallelized counter tree walk for low overhead memory replay protection
KR20150143708A (ko) 스토리지 디바이스 보조 인라인 암호화 및 암호해독
US20160182509A1 (en) Techniques for load balancing in a packet distribution system
US10691627B2 (en) Avoiding redundant memory encryption in a cryptographic protection system
US8924740B2 (en) Encryption key transmission with power analysis attack resistance
KR102407917B1 (ko) 멀티 프로세서에 의해 공유되는 메모리를 포함하는 멀티 프로세서 시스템 및 상기 시스템의 동작 방법
JP2017519294A (ja) フラッシュメモリベースストレージデバイスのマルチホスト電力コントローラ(mhpc)
CN112084138A (zh) 一种用于可信存储的SoC安全盘控芯片架构设计方法
EP4195054A1 (en) Cryptographic computing with legacy peripheral devices
US11789874B2 (en) Method, apparatus, and system for storing memory encryption realm key IDs
JP2007310601A (ja) マイクロコンピュータおよびそのソフトウェア保護方法
US20210006391A1 (en) Data processing method, circuit, terminal device and storage medium
US20220382675A1 (en) Computing device for transceiving information via plurality of buses, and operating method of the computing device
CN117083612A (zh) 处置未对齐事务以用于内联加密