TWI550406B - 於持續性記憶體中之資料儲存的技術 - Google Patents

於持續性記憶體中之資料儲存的技術 Download PDF

Info

Publication number
TWI550406B
TWI550406B TW103132277A TW103132277A TWI550406B TW I550406 B TWI550406 B TW I550406B TW 103132277 A TW103132277 A TW 103132277A TW 103132277 A TW103132277 A TW 103132277A TW I550406 B TWI550406 B TW I550406B
Authority
TW
Taiwan
Prior art keywords
memory
encryption key
event
memory controller
data
Prior art date
Application number
TW103132277A
Other languages
English (en)
Other versions
TW201516682A (zh
Inventor
亞薛M 亞特曼
柯克S 雅普
拉傑K 拉馬努金
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 TW201516682A publication Critical patent/TW201516682A/zh
Application granted granted Critical
Publication of TWI550406B publication Critical patent/TWI550406B/zh

Links

Classifications

    • 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/62Protecting access to data via a platform, e.g. using keys or access control rules
    • 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/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • 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
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • 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
    • 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/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6209Protecting access to data via a platform, e.g. using keys or access control rules to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself
    • 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/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • G06F21/79Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in semiconductor storage media, e.g. directly-addressable memories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1052Security improvement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/21Employing a record carrier using a specific recording technology
    • G06F2212/214Solid state disk
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2143Clearing memory, e.g. to prevent the data from being stolen

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Databases & Information Systems (AREA)
  • Storage Device Security (AREA)

Description

於持續性記憶體中之資料儲存的技術 發明領域
本發明之實施例大致上係有關於記憶體之技術領域。特定實施例包括安全使用持續性(非依電性)記憶體以仿真依電性記憶體之方法。
發明背景
此處提供之發明背景說明係為了概略地呈現本文揭示內容之目的。發明背景章節描述的發明人之工作以及當提出申請時尚未合格作為先前技術之該描述既非明確地也非暗示地承認為本文揭示之先前技術。除非此處另行明白指示否則本章節中描述之辦法非為本文揭示中申請專利範圍各項的先前技術,也非藉含括於本章節承認為先前技術。
目前,計算裝置可包括一或多個依電性記憶體,可稱作為動態隨機存取記憶體(DRAM)或若干其它型別的依電性記憶體。依電性記憶體可經組配以儲存資料,當發生某些系統事件時該等資料可能遺失。多種情況下,此等系統事件可為電力相關者,諸如系統重置事件、系統關閉事件、或其它系統事件。
由於發生一系統電力事件時儲存於該依電性記憶體中之資料可能遺失或變更,該依電性記憶體適合用作為系統記憶體。換言之,當計算系統操作時,系統資訊諸如應用程式資訊例如文字處理或試算表應用程式可儲存於DRAM上。於實施例中,依電性記憶體用作為系統記憶體可視為相當安全,原因在於當發生一系統電力事件時,儲存於依電性記憶體中的非持續性的系統資訊可遺失(不再可被存取)。
依據本發明之一實施例,係特地提出一種設備包含:一記憶體控制器經組配以在一資料儲存於一持續性記憶體之前,應答於一重置事件,變更或摧毀使用以加密該資料之一加密鑰,其中該持續性記憶體係由該記憶體控制器控制。
100‧‧‧記憶體控制器
102、404‧‧‧處理器
105‧‧‧亂數產生器
106、116‧‧‧通訊線
110‧‧‧加密器/解密器
115‧‧‧持續性記憶體
120‧‧‧安全性管理邏輯
125‧‧‧記憶體管理邏輯
200-230、300-320‧‧‧處理方塊
400‧‧‧計算裝置
402‧‧‧印刷電路板(PCB)
406‧‧‧通訊晶片
410‧‧‧記憶體、ROM
414‧‧‧I/O控制器
416‧‧‧圖形處理器
418‧‧‧天線
420‧‧‧觸控螢幕顯示器
422‧‧‧觸控螢幕控制器
424‧‧‧電池
428‧‧‧全球定位系統(GPS)
430‧‧‧羅盤
432‧‧‧揚聲器
434‧‧‧攝影機
藉由後文詳細說明部分結合附圖將更為彰顯實施例。為了輔助本文描述,相似的元件符號標示相似的結構元件。於附圖之圖式中將藉舉例說明例示實施例而非限制性。
圖1例示依據各個實施例一記憶體控制器之實施例。
圖2例示依據各個實施例一儲存資料於持續性記憶體之方法之實施例。
圖3例示依據各個實施例解密儲存於持續性記憶 體之資料之方法之實施例。
圖4例示依據各個實施例經組配以進行此處描述之方法之系統之實施例。
較佳實施例之詳細說明
後文詳細說明部分中將參考構成本發明之一部分之附圖,附圖中相似的元件符號表示全文中相似的部件,及其中舉例說明可實施之具現實施例。須瞭解不背離本文揭示之範圍可利用其它實施例及做出結構或邏輯變化。因此,後文詳細說明部分不作為限制性意義,及實施例之範圍係由隨附之申請專利範圍及其相當範圍界定。
此處描述安全地儲存資料於持續性記憶體相聯結的設備、方法、及儲存媒體。使用持續性記憶體以儲存通常係儲存於依電性記憶體的資料,可以比依電性記憶體更低成本而提供更大的記憶體容量。但於某些情況下,當資料係儲存於依電性記憶體時可能遺失或被摧毀之情況下,持續性記憶體可保有資料。
於實施例中,一記憶體控制器可經組配以許可持續性記憶體仿真依電性記憶體,安全地儲存當發生系統重置事件可能變成無法存取的資料。更明確言之,該記憶體控制器可產生一加密鑰,及使用該加密鑰加密資料。然後該已加密資料儲存於持續性記憶體,而加密鑰可儲存於持續性或依電性記憶體。於若干實施例中,該記憶體控制器可經組配以使用該加密鑰加密已經儲存於該持續性記憶體 之資料。當該系統經歷一重置事件諸如系統關閉、重新啟動、或斷電時,該加密鑰及/或衍生自該加密鑰之一解密鑰可能被變更或摧毀。結果,即便該已加密資料係可從該持續性記憶體取回或存取,可能無法解密該資料,原因在於該加密/解密鑰為不可得之故。因此資料儲存於持續性記憶體經驗儲存於依電性記憶體的安全性效益,同時經驗持續性記憶體之優點,諸如以較低成本獲得增大的記憶體容量。
各種操作係以最有助於瞭解本案請求之主旨之方式依序描述為多個離散動作或操作。但描述順序不應解譯為暗示此等操作必然為順序相依性。更明確言之,此等操作可不以呈示的順序執行。所描述之操作可以所述實施例以外之不同順序執行。可進行多種額外操作及/或於額外實施例中可刪除所描述的操作。
為了本文揭示之目的,片語「A及/或B」及「A或B」表示(A)、(B)、或(A及B)。為了本文揭示之目的,片語「A、B、及/或C」表示(A)、(B)、(C)、(A及B)、(A及C)、(B及C)、或(A、B及C)。
描述可使用片語「於一實施例中,」或「於實施例中,」其可各自述及相同或相異實施例中之一或多者。又復,如就本文揭示之實施例使用,「包含」、「包括」、「具有」等詞為同義詞。
如此處使用,「模組」一詞可指為其部件、或包括特定應用積體電路(ASIC)、電子電路、執行一或多個軟 體或韌體程式之處理器(共享、專用、或群組)及/或記憶體(共享、專用、或群組)、綜合邏輯電路、及/或提供所述功能之其它合宜組件。如此處使用,「電腦具現之方法」一詞可指由一或多個處理器、具有一或多個處理器之一電腦系統、行動裝置諸如智慧型電話(其可包括一或多個處理器),平板、膝上型電腦、機上盒、遊戲機臺及其類所執行之任何方法。
圖1顯示一記憶體控制器100之實施例,其可耦接至一處理器102及一持續性記憶體115。於若干實施例中,持續性記憶體115可稱作為例如非依電性記憶體,持續性記憶體可為鐵電隨機存取記憶體(FeTRAM)、以奈米線為主的非依電性記憶體、三維(3D)交叉點記憶體諸如相變記憶體(PCM)、位元組可定址交叉點記憶體、結合憶阻器技術之記憶體、磁阻隨機存取記憶體(MRAM)、自旋轉移矩(STT)MRAM、或可用作為系統記憶體之若干其它型別的非依電性記憶體。記憶體控制器100可包括一亂數產生器105。於若干實施例中,該亂數產生器105可為一數位亂數產生器或硬體、軟體、韌體亂數產生器中之任一型別。於若干實施例中,亂數產生器105可經組配以產生一進階加密標準(AES)鑰,諸如256位元AES鑰對,而於其它實施例中,亂數產生器105可經組配以產生一亂數或虛擬隨機數。於若干實施例中,亂數產生器105可為虛擬隨機數產生器(PRNG)諸如威希(Wichman-Hill)PRNG、線性回授移位暫存器、莫新(Mersenne)磁扭器、納里(Naor-Reingold)虛擬隨機函數、或 若干其它PRNG。於若干實施例中,亂數產生器105可為一硬體虛擬隨機數產生器,又稱真實亂數產生器(TRNG)。一TRNG可為亞艾爾(Araneus Alea)TRNG、熵鑰TRNG、或經組配以產生一亂數的多個不同晶片組中之一者。於其它實施例中,亂數產生器105可包括一或多個密碼演算法諸如方塊密碼或串流密碼。亂數產生器105可額外或另外使用其它鑰、亂數、或虛擬隨機數產生技術。
亂數產生器105可耦合一加密器/解密器110。該加密器/解密器110可為以互斥或-加密-互斥或為基礎之調整碼簿模式,具有密文竊盜AES(XTS-AES)加密器/解密器經組配以使用由亂數產生器105產生的加密鑰諸如AES鑰或256位元AES鑰對而加密或解密資料。另外,加密器/解密器110可經組配以自該亂數產生器105接收一亂數或虛擬隨機數及如前文就亂數產生器105所述而產生一鑰或一鑰對。於其它實施例中,加密器/解密器110可使用若干其它型別的加密/解密演算法,諸如AES李稜韋(Liskov Risvest and Wagner(LRW))模式。
該加密器/解密器110可透過一或多條通訊線116進一步耦接至持續性記憶體115。該等一或多條通訊線116例如可稱作為一「記憶體匯流排」。容後詳述,該加密器/解密器110或該記憶體控制器100之若干其它元件可經組配以加密資料及輸出該已加密資料至該持續性記憶體115用於儲存。於其它實施例中,該加密器/解密器110可經組配以將已儲存於持續性記憶體115中之資料加密。於若干實施 例中,該加密器/解密器110可進一步經組配以從該持續性記憶體115接收已加密資料及使用該加密鑰解密之,或另外,解密得自該持續性記憶體115之該已加密資料而未首先從該持續性記憶體115取回該已加密資料。
於實施例中,該記憶體控制器100可進一步包括安全性管理邏輯120及/或記憶體管理邏輯125。一般而言,該安全性管理邏輯120可耦接至亂數產生器105且經組配以指示該亂數產生器105以產生及輸出一或多個亂數或加密鑰。舉例言之,該安全性管理邏輯120可經組配以供應種子值或變數給該亂數產生器105。
該記憶體管理邏輯125可耦接至少該加密器/解密器110,以及一或多條外部通訊線106。該等一或多條外部通訊線106可為通訊線或匯流排,諸如經組配以通訊式耦接該記憶體控制器110至該處理器102的一週邊組件互連(PCI)或PCI快速匯流排。該記憶體管理邏輯125可經組配以透過該等外部通訊線106自該處理器102接收欲寫入持續性記憶體115的資料及然後提供該資料給加密器/解密器110。於實施例中,該資料可連同來自處理器102的加密指令,諸如欲執行的加密型別提供。記憶體管理邏輯125可進一步經組配以透過該等外部通訊線106輸出資訊給該處理器102。舉例言之,記憶體管理邏輯125可從加密器/解密器110接收由加密器/解密器110所使用的加密鑰,及然後透過該等外部通訊線106輸出給該處理器102。此外或另外,該記憶體管理邏輯125可從加密器/解密器110接收已解密的資料,及 然後透過該等外部通訊線106輸出給該處理器102。
此外或另外,如前文描述,加密器/解密器110可經組配以透過該等外部通訊線106自該持續性記憶體115存取或取回資料,及使用於加密操作期間所使用的加密鑰而解密之(解密操作為加密操作的顛倒)。於若干實施例中,加密器/解密器110可存取儲存於持續性記憶體115的已加密資料,及使用該加密鑰而解密之,使得只有該已解密的資料透過該等通訊線216轉移給該記憶體控制器100。於其它實施例中,部分或全部已加密資料可透過該等通訊線116從該持續性記憶體傳輸給加密器/解密器110,於該處該已加密資料係在加密器/解密器110使用該加密鑰解密。舉個實例,加密/解密鑰或用以導算出該加密/解密鑰的亂數或虛擬隨機數可由該亂數產生器105提供。另外,該加密/解密鑰可由記憶體管理邏輯125通過外部通訊線106取回,例如通過外部通訊線106從耦合該記憶體控制器100之一依電性記憶體取回,及供給加密器/解密器110用於加密/解密。在該加密器/解密器110使用該加密/解密鑰解密該已加密資料之後,該加密器/解密器110可輸出資料給記憶體管理邏輯125,該資料然後可透過該等通訊線116輸出給處理器102。於實施例中,加密器/解密器110可經組配以變更、摧毀、或於重置時以其它方式遺失該(等)加密/解密鑰。於實施例中,加密器/解密器110可從該亂數產生器105所提供的該加密鑰互補地推衍該解密鑰,或可從該亂數產生器105所提供的一亂數互補地推衍該加密鑰及該解密鑰兩者,如前文討論。
於實施例中,安全性管理邏輯120、亂數產生器105、加密器/解密器110、及記憶體管理邏輯125可全部具現於記憶體控制器100呈一單晶片系統(SoC)結構。於其它實施例中,安全性管理邏輯120、亂數產生器105、加密器/解密器110、及記憶體管理邏輯125中之一或多者可與該記憶體控制器100分開,但通訊式耦合。於若干實施例中,可組合一或多個元件,諸如記憶體管理邏輯125與安全性管理邏輯120,或記憶體管理邏輯125與加密器/解密器110。另外,於若干實施例中,加密器/解密器110可分離成一分開加密器及一分開解密器。如前記,安全性管理邏輯120、亂數產生器105、加密器/解密器110、及記憶體管理邏輯125可具現為軟體、硬體、及/或韌體。
圖2描繪一處理程序實施例,該處理程序可由一記憶體控制器諸如記憶體控制器100用以實施本文揭示之實施例。初始地,該控制器可接收資料,於200。舉例言之,如前文描述,該資料可由該記憶體控制器透過通訊線106接收自一處理器102。更明確言之,記憶體管理邏輯125諸如記憶體控制器100之記憶體管理邏輯125可透過外部通訊線106接收資料。
其次,記憶體控制器可使用一加密鑰加密該資料,於205。舉例言之,該記憶體控制器之加密器/解密器諸如記憶體控制器100之加密器/解密器110可從一亂數產生器諸如亂數產生器210505接收(或以其它方式推衍)一加密器/解密器。該加密器/解密器也可從該記憶體管理邏輯接收資 料使得該加密器/解密器可加密之。於資料加密之後,該記憶體控制器可將該已加密資料儲存於持續性記憶體,諸如持續性記憶體115,於210。雖然於圖中未顯示,但於其它實施例中,該資料可儲存於持續性記憶體,及然後所儲存的資料可使用該加密鑰加密。
然後該記憶體控制器可儲存該加密鑰,於215。於若干實施例中,該鑰可儲存於持續性記憶體。舉例言之,該加密鑰可儲存於持續性記憶體諸如持續性記憶體115之一或多個非循序性暫存器內。於其它實施例中,該加密鑰可從該記憶體控制器跨越一通訊線傳輸至一動態隨機存取記憶體(DRAM)或若干其它依電性記憶體。
然後該記憶體控制器可監視一系統重置事件,於220。系統重置事件一般視為一事件於該處依電性記憶體之內容正常將遺失。舉個實例,一系統重置事件可為系統喪失電力,系統關閉、系統重新啟動、或若干其它事件。於若干實施例中,該系統重置事件只與部分系統有關,例如記憶體之某些亞區段及/或系統之處理元件。系統重置事件可藉一平台重置信號發訊,該信號係由該記憶體控制器透過通訊線諸如一或多條外部通訊線106接收自一處理器諸如處理器102。該系統重置事件此外或另外可由該記憶體控制器透過通訊線接收自該處理器之一平台電力事件之通知發訊,或藉該記憶體控制器所接收的若干其它型別之通知或信號傳訊。於若干實施例中,該系統重置事件可為由該記憶體控制器所接收之一事件訊息。另外,該系統重置事 件可為一信號,諸如一重置接腳,或若干其它事件接腳,或於該記憶體控制器之一或多個電力輸入上喪失電力。
於220,若未偵測得一系統重置事件,則該記憶體控制器可繼續監視該系統重置事件。但若偵測得一系統重置事件,則該記憶體控制器可變更及/或摧毀該加密鑰,於225。舉例言之,若該加密鑰儲存於持續性記憶體於215,則該記憶體控制器可將該持續性記憶體中之該加密鑰「歸零」。歸零可包括將數值諸如全0寫至該加密鑰之該記憶體位置上一或多次,使得無法從該持續性記憶體取回該加密鑰。於其它實施例中,可刪除指向該加密鑰之該記憶體位置之指標器,或其它值諸如1或0與1之某個樣式可寫至該加密鑰之該記憶體位置上一或多次。於實施例中於該處該加密鑰係儲存於依電性記憶體中,該重置事件可造成加密鑰從依電性記憶體遺失。於若干實施例中,當該加密鑰係儲存於依電性記憶體中時仍將被「歸零」。然後處理程序於230結束。
於225,當加密鑰之變更及/或摧毀結束時,該加密鑰可能難以或不可能從儲存該加密鑰的記憶體取回。因此,即便該已加密資料係儲存於該持續性記憶體,可能難以或不可能解密該資料。結果,該資料可被視為安全,及該持續性記憶體可模擬依電性記憶體儲存之安全程度。
圖3描繪用以解密使用圖2之方法加密的資料之一處理程序。該處理可由一記憶體控制器諸如記憶體控制器100執行。初始地,可識別一加密鑰,於300。於實施例 中,該加密鑰可由記憶體管理邏輯諸如記憶體管理邏輯125及/或一加密器/解密器諸如加密器/解密器110識別。如前文描述,於若干實施例中,該加密鑰可儲存於持續性記憶體諸如持續性記憶體115。於其它實施例中,該加密鑰可儲存於通訊式耦合該記憶體控制器之依電性記憶體內。
然後該記憶體控制器可決定加密鑰是否存在,於305。於若干實施例中,加密鑰可不存在。舉例言之,如前文參考圖2描述,若發生一系統重置事件,則該加密鑰可被歸零、變更、或以其它方式刪除。因此,加密鑰可不被辨識,及該處理程序可結束,於320。否則,若該加密鑰確實存在,則該已加密資料可經識別及/或藉記憶體控制器而從持續性記憶體取回,於310。更明確言之,該已加密資料可藉記憶體控制器100之記憶體管理邏輯125及/或加密器/解密器110中之一或二者取回。於315,該已解密資料然後藉加密器/解密器110使用經識別的加密鑰,施用與該解密操作顛倒的一解密操作而予解密。於若干實施例中,該已解密的資料然後從該記憶體控制器輸出。處理然後結束於320。
於實施例中,如前文描述,該解密鑰可推衍自該加密鑰,或推衍自該加密鑰推衍自其中的該相同亂數。針對此等實施例,圖3之方法可包括類似215及220之操作的操作以摧毀及/或以其它方式遺失該解密鑰。
圖4例示依據各種實施例之計算裝置400之一實施例,其中可結合系統諸如前述記憶體控制器100及/或持 續性記憶體115。計算裝置400也可包括多個組件,一或多個處理器404,及至少一個通訊晶片406。如前文描述,該記憶體控制器100可耦合一持續性記憶體115,其可經組配以藉儲存已加密資料於該持續性記憶體115而仿真一依電性記憶體。又,該記憶體控制器100可經組配以摧毀及/或以其它方式遺失使用以加密或解密該資料之該加密及/或解密鑰。
於各種實施例中,該(等)一或多個處理器404各自包括一或多個處理器核心。於各種實施例中,該至少一個通訊晶片406可實體及電氣耦接至該(等)一或多個處理器404。於進一步具現中,該通訊晶片406可為該(等)一或多個處理器404之部件。於各種實施例中,計算裝置400可包括印刷電路板(PCB)402。用於此等實施例,該(等)一或多個處理器404及通訊晶片406可配置其上。於替代實施例中,可不使用PCB 402而耦合各個組件。
取決於其應用,計算裝置400可包括其它組件,其可或可非實體及電氣耦接至該PCB 402。此等其它組件包括,但非限制性,記憶體控制器100、非依電性記憶體諸如唯讀記憶體(ROM)410、持續性記憶體115、一I/O控制器414、一數位信號處理器(圖中未顯示)、一密碼處理器(圖中未顯示)、一圖形處理器416、一或多個天線418、一顯示器(圖中未顯示)、一觸控螢幕顯示器420、一觸控螢幕控制器422、一電池424、一音訊編解碼器(圖中未顯示)、一視訊編解碼器(圖中未顯示)、一全球定位系統(GPS)裝置428、一羅盤430、 一加速度計(圖中未顯示)、一陀螺儀(圖中未顯示)、一揚聲器432、一攝影機434、及一大容量儲存裝置(諸如硬碟機、固態驅動器、光碟(CD)、數位影音碟(DVD))(圖中未顯示)、及其類。於各種實施例中,該處理器404可與其它組件整合至相同晶粒上以形成一單晶片系統(SoC)。如前文描述,該持續性記憶體115可以是FeTRAM、以奈米線為主的非依電性記憶體、3D交叉點記憶體諸如PCM、位元組可定址交叉點記憶體、結合憶阻器技術之記憶體、MRAM、STTMRAM、或可用作為系統記憶體之若干其它型別的非依電性記憶體。
於各種實施例中,除了持續性記憶體115之外,計算裝置400可包括常駐持續性或非依電性記憶體,例如快閃記憶體(圖中未顯示)。於若干實施例中,該(等)一或多個處理器404及/或快閃記憶體可包括儲存程式規劃指令之相聯結的韌體(圖中未顯示),係經組配以許可該計算裝置400應答於該等程式規劃指令之由該(等)一或多個處理器404執行而實施前文就圖2或圖3描述的處理方塊之全部或特選的面向。於各種實施例中,此外或另外,此等面向可使用與該(等)一或多個處理器404或快閃記憶體分開的硬體具現。
通訊晶片406許可資料有線及/或無線通訊轉移至及自該計算裝置400。該術語「無線」及其衍生詞可用以描述可透過調變電磁輻射的使用經由非實體媒體通訊資料之電路、裝置、系統、方法、技術、通訊通道等。該術語並非暗示該等相聯結的裝置不含任何導線,但於若干實施 例中其可不含導線。通訊晶片506可具現多種無線標準或協定中之任一者,包括但非僅限於IEEE 802.20、通用封包無線電服務(GPRS)、演進資料最佳化(Ev-DO)、演進高速封包存取(HSPA+)、演進高速上行鏈路封包存取(HSUPA+)、全球行動通訊系統(GSM)、加強式GSM演進資料率(EDGE)、劃碼多向接取(CDMA)、分時多向接取(TDMA)、數位加強式無線電信(DECT)、藍牙、其衍生標準或協定、以及任何其它標示為3G、4G、5G及以上之無線協定。該計算裝置400可包括多個通訊晶片406。舉例言之,第一通訊晶片406可專用於較短程無線通訊諸如Wi-Fi及藍牙,戶第二通訊晶片406可專用於較長程無線通訊諸如GPS、EDGE、GPRS、CDMA、WiMAX、LTE、Ev-DO及其它。
於各種具現中,該計算裝置400可為膝上型電腦、小筆電、筆記型電腦、超筆電、智慧型電話、平板電腦、個人數位助理器(PDA)、超行動PC、行動電話、桌上型電腦、伺服器、列印器、掃描器、監視器、機上盒、娛樂控制單元(例如遊戲機臺)、數位相機、可攜式音樂播放器、或數位視訊紀錄器。於進一步具現中,該計算裝置400可為處理資料之任何其它電子裝置。
於實施例中,本文揭示之一第一實施例可包括一種設備以變更一加密鑰,該設備包含:一記憶體控制器經組配以在一資料儲存於一持續性記憶體之前,應答於一重置事件,變更或摧毀使用以加密該資料之一加密鑰,其中該持續性記憶體係由該記憶體控制器控制。
實施例2可包括實施例1之設備,其進一步包含耦合該記憶體控制器之該持續性記憶體。
實施例3可包括實施例1之設備,其進一步包含經組配以儲存該加密鑰之一儲存記憶體。
實施例4可包括實施例3之設備,其中該儲存記憶體包含耦合該記憶體控制器之一依電性記憶體。
實施例5可包括實施例3之設備,其中該儲存記憶體包含該持續性記憶體之多個非循序暫存器,及該加密鑰係儲存於該等多個非循序暫存器中之一或多者。
實施例6可包括實施例1-5中之任一者之設備,其中該記憶體控制器係經組配以歸零該加密鑰而摧毀該加密鑰。
實施例7可包括實施例1-5中之任一者之設備,其中該記憶體控制器係進一步經組配以應答於該重置事件,變更或摧毀與該加密鑰互補之一解密鑰。
實施例8可包括實施例1-5中之任一者之設備,其中該重置事件包括一電力損失事件、一停工事件、或一重新啟動事件。
實施例9可包括一種儲存已加密資料之方法,該方法包含:由一記憶體控制器,至少部分基於一加密鑰加密一資料以產生一已加密資料;由該記憶體控制器,儲存該已加密資料於一非依電性記憶體中;由該記憶體控制器,接收一重置事件之一指示;及由該記憶體控制器,應答於接收該重置事件之該指示而摧毀該加密鑰。
實施例10可包括實施例9之方法,其中摧毀包含覆寫該加密鑰。
實施例11可包括實施例9之方法,其中摧毀包含歸零該加密鑰。
實施例12可包括實施例9-11中之任一者之方法,其中摧毀進一步包含應答於該重置事件,摧毀與該加密鑰互補之一解密鑰。
實施例13可包括實施例9-11中之任一者之方法,其中該重置事件為一電力損失事件、一停工事件、或一重新啟動事件。
實施例14可包括包含指令以摧毀一加密鑰之一或多個電腦可讀取媒體,該等指令經組配以當由一記憶體控制器執行該等指令時,使得該記憶體控制器:接收一重置事件之一指示;及應答於該重置事件之該指示,在該已加密資料儲存於該持續性記憶體之前,摧毀使用以加密該已加密資料之一加密鑰。
實施例15可包括實施例14之一或多個電腦可讀取媒體,其中該記憶體控制器係被使得摧毀該加密鑰。
實施例16可包括實施例14之一或多個電腦可讀取媒體,其中該記憶體控制器係被使得歸零該加密鑰以摧毀該加密鑰。
實施例17可包括實施例14-16中之任一者之一或多個電腦可讀取媒體,其中該記憶體控制器係被使得使用該加密鑰或與該加密鑰互補之一解密鑰而解密該已加密資 料。
實施例18可包括實施例14-16中之任一者之一或多個電腦可讀取媒體,其中該記憶體控制器係被使得應答於該重置事件,摧毀與該加密鑰互補之一解密鑰。
實施例19可包括實施例14-16中之任一者之一或多個電腦可讀取媒體,其中該重置事件為一電力損失事件、一停工事件、或一重新啟動事件。
實施例20可包括一種摧毀一加密鑰之設備,該設備包含:接收一重置事件之一指示之構件;及在該資料儲存於一持續性記憶體之前,應答於該重置事件之該指示,摧毀使用以加密一資料之一加密鑰之構件。
實施例21可包括實施例20之設備,其中該摧毀構件包括歸零該加密鑰以摧毀該加密鑰之構件。
實施例22可包括實施例20或21之設備,其進一步包含使用該加密鑰或與該加密鑰互補之一解密鑰而解密該已加密資料之構件。
實施例23可包括實施例20或21之設備,其進一步包含應答於該重置事件,摧毀與該加密鑰互補之一解密鑰之構件。
實施例24可包括實施例20或21之設備,其中該重置事件為一電力損失事件、一停工事件、或一重新啟動事件。
實施例25可包括一種系統包含:一持續性記憶體經組配以儲存一已加密資料;一記憶體控制器耦合該持續 性記憶體且經組配以:接收一重置事件之一指示;及應答於該重置事件之該指示,在該已加密資料儲存於該持續性記憶體之前,摧毀使用以加密該已加密資料之一加密鑰。
實施例26可包括實施例25之系統,其中該記憶體控制器係進一步經組配以歸零該加密鑰而摧毀該加密鑰。
實施例27可包括實施例25或26之系統,其中該記憶體控制器係進一步經組配以使用該加密鑰或與該加密鑰互補之一解密鑰而解密該已加密資料。
實施例28可包括實施例25或26之系統,其中該記憶體控制器係進一步經組配以應答於該重置事件,摧毀與該加密鑰互補之一解密鑰。
實施例29可包括實施例25或26之系統,其中該重置事件為一電力損失事件、一停工事件、或一重新啟動事件。
雖然此處已經例示及描述某些實施例用於說明目的,但本案意圖涵蓋此處討論之該等實施例之任何調整或變化。因此,明顯地意圖此處描述之實施例僅受申請專利範圍各項所限。
當揭示內容引述「一」或「一第一」元件或其相當物時,此等揭示內容包括一或多個此等元件,既未要求也不排除二或多個此等元件。又,針對所識別元件之序數指標(例如第一、第二或第三)係用以在元件間作區別,除非另行明白陳述否則既非指示或暗示要求數目之或有限數目之此等元件,也不指示此等元件之一特定位置或順序。
100‧‧‧記憶體控制器
102‧‧‧處理器
105‧‧‧亂數產生器
106、116‧‧‧通訊線
110‧‧‧加密器/解密器
115‧‧‧持續性記憶體
120‧‧‧安全性管理邏輯
125‧‧‧記憶體管理邏輯

Claims (20)

  1. 一種設備,其包含:一持續性記憶體;以及與該持續性記憶體耦接的一記憶體控制器,該記憶體控制器可進行下列動作:以非依電性方式實際儲存一已加密資料於該持續性記憶體中以使得儲存於該持續性記憶體中的該已加密資料不會在出現重置事件之後實際遺失;其中,該已加密資料對應至使用一加密鑰所加密的資料;以及反應於發生在將該已加密資料儲存在該持續性記憶體中之後的一重置事件,變更或摧毀該加密鑰以使得該持續性記憶體仿真一依電性記憶體,其中,該已加密資料被邏輯性摧毀以使得在該加密鑰受到變更或摧毀之後無法恢復資料。
  2. 如請求項1之設備,其中,該持續性記憶體為一位元組可定址交叉點記憶體。
  3. 如請求項1之設備,其進一步包含用於儲存該加密鑰的一儲存記憶體。
  4. 如請求項3之設備,其中,該儲存記憶體包含與該記憶體控制器耦接的一依電性記憶體。
  5. 如請求項3之設備,其中,該儲存記憶體包括該持續性記憶體之多個非循序暫存器,並且該加密鑰係儲存於該等多個非循序暫存器中之一者或多者中。
  6. 如請求項1之設備,其中,該記憶體控制器可使該加密鑰為零而摧毀該加密鑰。
  7. 如請求項1之設備,其中,該記憶體控制器進一步可反應於該重置事件而變更或摧毀與該加密鑰互補的一解密鑰。
  8. 如請求項1之設備,其中,該重置事件包括一電力損失事件、一停工事件、或一重新啟動事件。
  9. 一種方法,該方法包含以下步驟:由一記憶體控制器,至少部分基於一加密鑰而加密一資料以產生一已加密資料;由該記憶體控制器,儲存該已加密資料於一非依電性記憶體中以使得該已加密資料在出現重置事件之後不會被實際摧毀;由該記憶體控制器,接收對該重置事件的一指示;以及由該記憶體控制器,反應於接收到對該重置事件的該指示而摧毀該加密鑰以使得該加密資料被邏輯性摧毀且無法恢復資料。
  10. 如請求項9之方法,其中,摧毀步驟包含覆寫該加密鑰。
  11. 如請求項9之方法,其中,摧毀步驟包含使該加密鑰為零。
  12. 如請求項9之方法,其中,摧毀步驟進一步包含:反應於該重置事件而摧毀與該加密鑰互補的一解密鑰。
  13. 如請求項9之方法,其中,該重置事件為一電力損失事 件、一停工事件、或一重新啟動事件。
  14. 一種系統,其包含:一持續性記憶體,用以藉由非依電性方式儲存一已加密資料以使得該已加密資料在出現重置事件之後不被實際摧毀;其中,該已加密資料係基於使用一加密鑰而對一資料的加密;一記憶體控制器,其與該持續性記憶體耦接且可進行下列操作:接收對一重置事件的一指示;及反應於對該重置事件之該指示,摧毀該加密鑰以使得該已加密資料被邏輯性摧毀且無法恢復該資料。
  15. 如請求項14之系統,其中,該記憶體控制器進一步可使該加密鑰為零而摧毀該加密鑰。
  16. 如請求項14之系統,其中,該記憶體控制器進一步可藉由該加密鑰或與該加密鑰互補的一解密鑰而解密該已加密資料。
  17. 如請求項14之系統,其中,該記憶體控制器進一步可反應於該重置事件而摧毀與該加密鑰互補的一解密鑰。
  18. 如請求項14之系統,其中,該重置事件為一電力損失事件、一停工事件、或一重新啟動事件。
  19. 如請求項14之系統,其中,該持續性記憶體為一位元組可定址交叉點記憶體或一系統記憶體。
  20. 如請求項14之系統,其中,該記憶體控制器可使用該加 密鑰來加密該資料以產生該已加密資料,且可仿真一依電性記憶體,該記憶體控制器可將該已加密資料儲存至該持續性記憶體內以替代該資料本身。
TW103132277A 2013-09-26 2014-09-18 於持續性記憶體中之資料儲存的技術 TWI550406B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US14/038,295 US20150089245A1 (en) 2013-09-26 2013-09-26 Data storage in persistent memory

Publications (2)

Publication Number Publication Date
TW201516682A TW201516682A (zh) 2015-05-01
TWI550406B true TWI550406B (zh) 2016-09-21

Family

ID=51869672

Family Applications (1)

Application Number Title Priority Date Filing Date
TW103132277A TWI550406B (zh) 2013-09-26 2014-09-18 於持續性記憶體中之資料儲存的技術

Country Status (7)

Country Link
US (1) US20150089245A1 (zh)
JP (1) JP2015070608A (zh)
KR (1) KR20150034640A (zh)
CN (1) CN104516834A (zh)
DE (1) DE102014113300A1 (zh)
GB (1) GB2520387B (zh)
TW (1) TWI550406B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10776079B2 (en) 2018-05-31 2020-09-15 Winbond Electronics Corp. True random number generation device and generation method thereof

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10079019B2 (en) 2013-11-12 2018-09-18 Apple Inc. Always-on audio control for mobile device
DE102014000996A1 (de) * 2014-01-29 2015-07-30 Michael Gude Sicheres kryptografisches Verfahren und Vorrichtung dafür
US10031000B2 (en) 2014-05-29 2018-07-24 Apple Inc. System on a chip with always-on processor
US9778728B2 (en) 2014-05-29 2017-10-03 Apple Inc. System on a chip with fast wake from sleep
US9619377B2 (en) 2014-05-29 2017-04-11 Apple Inc. System on a chip with always-on processor which reconfigures SOC and supports memory-only communication mode
AU2014208249A1 (en) * 2014-07-31 2015-06-25 Taupe Overseas Limited A method for operating a gaming system
US9479331B2 (en) * 2014-08-20 2016-10-25 Apple Inc. Managing security in a system on a chip (SOC) that powers down a secure processor
US10142304B2 (en) * 2016-08-23 2018-11-27 Seagate Technology Llc Encryption key shredding to protect non-persistent data
US10445236B2 (en) * 2016-11-14 2019-10-15 Futurewei Technologies, Inc. Method to consistently store large amounts of data at very high speed in persistent memory systems
US11030118B2 (en) * 2017-03-07 2021-06-08 Rambus Inc. Data-locking memory module
US10360149B2 (en) 2017-03-10 2019-07-23 Oracle International Corporation Data structure store in persistent memory
DE102018002714A1 (de) 2017-04-18 2018-10-18 Gabriele Trinkel Memristor Effekt System Netzwerk und Verfahren mit funktionalem Werkstoff
TWI648741B (zh) * 2017-06-05 2019-01-21 慧榮科技股份有限公司 資料儲存裝置之控制器以及進階資料抹除的方法
CN107590402A (zh) * 2017-09-26 2018-01-16 杭州中天微系统有限公司 一种存储数据加解密装置及方法
CN110568992A (zh) * 2018-06-06 2019-12-13 华为技术有限公司 一种数据处理装置及方法
CN109359486B (zh) * 2018-10-24 2021-07-27 华中科技大学 一种加密与解密系统及其操作方法
CN113557500A (zh) 2019-04-19 2021-10-26 英特尔公司 多模式受保护存储器
US11562081B2 (en) 2019-06-24 2023-01-24 Quantum Properties Technology Llc Method and system for controlling access to secure data using custodial key data
CN113126905A (zh) * 2019-12-30 2021-07-16 美光科技公司 用于重放受保护存储器块的安全密钥更新
US11537728B1 (en) * 2020-01-26 2022-12-27 Quantum Properties Technology Llc Method and system for securing data using random bits and encoded key data

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5699529A (en) * 1990-08-31 1997-12-16 Ncr Corporation Work station or similar data processing system including interfacing means to a data channel
US20050066175A1 (en) * 2003-09-18 2005-03-24 Perlman Radia J. Ephemeral decryption utilizing blinding functions
US20080189484A1 (en) * 2007-02-07 2008-08-07 Junichi Iida Storage control unit and data management method
TW200943060A (en) * 2008-04-10 2009-10-16 Phison Electronics Corp Data writing method for non-volatile memory, storage system and controller thereof
US20100296651A1 (en) * 2009-05-21 2010-11-25 Freescale Semiconductor, Inc. Encryption apparatus and method therefor
TW201128397A (en) * 2010-02-12 2011-08-16 Phison Electronics Corp Data writing method for non-volatile memory and controller and storage system using the same

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7210009B2 (en) * 2003-09-04 2007-04-24 Advanced Micro Devices, Inc. Computer system employing a trusted execution environment including a memory controller configured to clear memory
US8898412B2 (en) * 2007-03-21 2014-11-25 Hewlett-Packard Development Company, L.P. Methods and systems to selectively scrub a system memory
CN102365849A (zh) * 2009-05-25 2012-02-29 株式会社日立制作所 存储设备及其控制方法
US8510552B2 (en) * 2010-04-07 2013-08-13 Apple Inc. System and method for file-level data protection
US8938624B2 (en) * 2010-09-15 2015-01-20 Lsi Corporation Encryption key destruction for secure data erasure
US9251058B2 (en) * 2010-09-28 2016-02-02 SanDisk Technologies, Inc. Servicing non-block storage requests
JP2012208798A (ja) * 2011-03-30 2012-10-25 Sony Corp 記憶メディア装置および記録装置
US8964237B2 (en) * 2013-06-28 2015-02-24 Lexmark International, Inc. Imaging device including wear leveling for non-volatile memory and secure erase of data

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5699529A (en) * 1990-08-31 1997-12-16 Ncr Corporation Work station or similar data processing system including interfacing means to a data channel
US20050066175A1 (en) * 2003-09-18 2005-03-24 Perlman Radia J. Ephemeral decryption utilizing blinding functions
US20080189484A1 (en) * 2007-02-07 2008-08-07 Junichi Iida Storage control unit and data management method
TW200943060A (en) * 2008-04-10 2009-10-16 Phison Electronics Corp Data writing method for non-volatile memory, storage system and controller thereof
TWI361353B (en) * 2008-04-10 2012-04-01 Phison Electronics Corp Data writing method for non-volatile memory, storage system and controller thereof
US20100296651A1 (en) * 2009-05-21 2010-11-25 Freescale Semiconductor, Inc. Encryption apparatus and method therefor
TW201128397A (en) * 2010-02-12 2011-08-16 Phison Electronics Corp Data writing method for non-volatile memory and controller and storage system using the same

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10776079B2 (en) 2018-05-31 2020-09-15 Winbond Electronics Corp. True random number generation device and generation method thereof

Also Published As

Publication number Publication date
JP2015070608A (ja) 2015-04-13
TW201516682A (zh) 2015-05-01
GB2520387B (en) 2019-03-27
DE102014113300A1 (de) 2015-03-26
CN104516834A (zh) 2015-04-15
GB2520387A (en) 2015-05-20
KR20150034640A (ko) 2015-04-03
US20150089245A1 (en) 2015-03-26
GB201416328D0 (en) 2014-10-29

Similar Documents

Publication Publication Date Title
TWI550406B (zh) 於持續性記憶體中之資料儲存的技術
JP6239259B2 (ja) システムオンチップとその動作方法、及びそれを含むシステムインパッケージ
US9483664B2 (en) Address dependent data encryption
TWI662414B (zh) 使用固態硬碟以加速運算密集操作的技術
US9094190B2 (en) Method of managing key for secure storage of data and apparatus therefor
US8543838B1 (en) Cryptographic module with secure processor
JP2016517241A (ja) ストレージデバイスによって支援されるインライン暗号化および暗号化解除
JP2019505924A5 (zh)
KR102488636B1 (ko) 데이터 및 타임스탬프를 암호화하는 암호화 장치, 이를 포함하는 시스템 온 칩, 및 전자 장치
JP4999191B2 (ja) セキュア情報格納システム及び方法
CN103154963A (zh) 对地址的加扰和对需存储于存储设备中的写入数据的加密
US20150078550A1 (en) Security processing unit with configurable access control
US20190042477A1 (en) Securing data direct i/o for a secure accelerator interface
KR101496975B1 (ko) 고체 상태 디스크 및 이에 대한 입출력방법
US11829483B2 (en) Platform security mechanism
US7769166B2 (en) Dual mode AES implementation to support single and multiple AES operations
EP3758276B1 (en) Data processing method, circuit, terminal device storage medium
US20220416997A1 (en) Handling unaligned transactions for inline encryption
US11816228B2 (en) Metadata tweak for channel encryption differentiation
US20230068302A1 (en) Memory device and method for data encryption/decryption of memory device
EP1460797B1 (en) Secure access and processing of an encryption/decryption key
US20160202314A1 (en) Test circuit and method of semiconductor device
CN106663177A (zh) 加密代码执行