TWI633457B - 用於執行安全操作之裝置及方法 - Google Patents

用於執行安全操作之裝置及方法 Download PDF

Info

Publication number
TWI633457B
TWI633457B TW105132311A TW105132311A TWI633457B TW I633457 B TWI633457 B TW I633457B TW 105132311 A TW105132311 A TW 105132311A TW 105132311 A TW105132311 A TW 105132311A TW I633457 B TWI633457 B TW I633457B
Authority
TW
Taiwan
Prior art keywords
security
operations
perform
hardware
memory
Prior art date
Application number
TW105132311A
Other languages
English (en)
Other versions
TW201723918A (zh
Inventor
肯尼 T 寇克
大衛 A 馮
阿肯 史帝芬 P 凡
麥可 B 丹尼爾森
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 TW201723918A publication Critical patent/TW201723918A/zh
Application granted granted Critical
Publication of TWI633457B publication Critical patent/TWI633457B/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
    • 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
    • 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
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1458Protection against unauthorised use of memory or access to memory by checking the subject access rights
    • 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/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/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/76Protecting 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 application-specific integrated circuits [ASIC] or field-programmable devices, e.g. field-programmable gate arrays [FPGA] or programmable logic devices [PLD]
    • 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

Landscapes

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

Abstract

在一項實施例中描述用於使用一專用安全處理器來執行安全操作之裝置及方法。該裝置包含:安全性韌體,其界定安全操作;一處理器,其經組態以執行該安全性韌體且執行限於該等安全操作之一組操作;及複數個安全硬體暫存器,其等係可由該處理器存取且經組態以接收指令以執行該等安全操作。在另一實施例中描述一種用於使用複數個安全性協助硬體電路來執行安全操作之裝置。該裝置包括:一或多個安全硬體暫存器,其等經組態以接收一命令以執行安全操作;及一或多個安全性協助硬體電路,其等經組態以使用一或多個秘密資料物件來執行離散安全操作。

Description

用於執行安全操作之裝置及方法
資料安全性係製造儲存系統(諸如固態驅動機(SSD)、硬碟驅動機(HDD)、磁帶驅動機、光學驅動機等)中之一優先權。防止對秘密資料物件(諸如加密密鑰)之存取使個體、企業及政府對儲存系統適應電子儲存資訊之數量增加而不犧牲安全性之能力有信心。傳統儲存系統在一單一晶片上系統(SOC)設計上整合一控制器,該設計包含用於執行安全操作之一處理器、用於存取秘密資料物件且對其等執行操作之韌體及儲存於一內部SOC記憶體內之安全資訊(諸如加密密鑰)。在此等組態中,SOC之邊界(例如,存取SOC之組件之各種連接及構件)係秘密資料物件(諸如加密密鑰或用來導出加密密鑰之密鑰)可在其中保證安全之最小邊界。即,秘密資料物件僅如SOC般安全,且可存取SOC之組件(例如,處理器)之任何器件亦可存取秘密資料物件。
本申請案係關於用於使用一專用安全處理器執行安全操作之裝置及方法。
在一個態樣中,一裝置包含:一記憶體器件,其經組態以儲存一或多個秘密資料物件;一處理器,其經組態以執行安全性韌體且執行限於用 於操縱該一或多個秘密資料物件之複數個操作之一組操作;及複數個安全硬體暫存器,其等可藉由該處理器存取且經組態以接收指令以執行該等安全操作。
在另一態樣中,一裝置包含:一內部記憶體器件,其用於儲存一或多個秘密資料物件;一或多個安全硬體暫存器,其等經組態以接收一命令以使用該一或多個秘密資料物件來執行一操作;及一或多個安全性協助硬體電路,其等經組態以使用該一或多個秘密資料物件來執行離散操作。
在另一態樣中,一方法包含:在一安全硬體暫存器接收一請求以使用一或多個秘密資料物件來執行一安全操作;使用一專用安全處理器執行該安全操作;及回應於執行該安全操作將一值傳輸至一不安全硬體暫存器,其中該安全硬體暫存器、該一或多個秘密資料物件及該專用安全處理器經定位於一安全邊界內。
在另一態樣中,一裝置包含:一記憶體存取電路,其經組態以接收指令以執行記憶體操作,其中該等記憶體操作之至少一者操縱一秘密資料物件;及一安全子系統電路,其經組態以從該記憶體存取電路接收指令以藉由操縱該秘密資料物件執行該至少一個記憶體操作。
在另一態樣中,一方法包含:在一安全硬體暫存器處接收一請求以執行涉及一或多個秘密資料物件之一安全操作;識別經組態以執行該安全操作之複數個安全性協助硬體電路之一或多者;及使用該一或多個經識別安全性協助硬體電路來執行該安全操作。
100‧‧‧裝置
102‧‧‧資料儲存系統
104‧‧‧控制器
106‧‧‧動態記憶體
108‧‧‧外部非揮發性記憶體
110‧‧‧儲存媒體
112‧‧‧安全子系統
114‧‧‧儲存控制器電路
116‧‧‧主機器件
118‧‧‧記憶體/媒體介面
200‧‧‧裝置
202‧‧‧資料儲存系統
204‧‧‧控制器
206‧‧‧動態記憶體
208‧‧‧外部非揮發性記憶體
210‧‧‧儲存媒體
212‧‧‧安全子系統
214‧‧‧儲存控制器電路
216‧‧‧主機器件
218‧‧‧安全硬體暫存器
220‧‧‧安全處理器
222‧‧‧安全性韌體
224‧‧‧安全性協助硬體電路
226‧‧‧內部非揮發性記憶體
228‧‧‧內部RAM
230‧‧‧加密電路
232‧‧‧解密電路
234‧‧‧傳送控制電路
236‧‧‧系統處理器
238‧‧‧系統硬體暫存器
240‧‧‧儲存系統韌體
242‧‧‧系統協助硬體
244‧‧‧主機介面
246‧‧‧寫入資料路徑控制電路
248‧‧‧讀取資料路徑控制電路
250‧‧‧媒體介面
252‧‧‧記憶體介面
254‧‧‧記憶體/媒體介面
300‧‧‧流程圖
302‧‧‧操作
304‧‧‧操作
306‧‧‧操作
308‧‧‧操作
400‧‧‧裝置
402‧‧‧資料儲存系統
404‧‧‧控制器
406‧‧‧動態記憶體
408‧‧‧外部非揮發性記憶體
410‧‧‧儲存媒體
412‧‧‧安全子系統
414‧‧‧儲存控制器電路
416‧‧‧主機器件
418‧‧‧安全硬體暫存器
420‧‧‧安全性協助硬體電路
422‧‧‧內部非揮發性記憶體
424‧‧‧內部RAM
426‧‧‧安全性控制電路
428‧‧‧加密電路
430‧‧‧解密電路
432‧‧‧傳送控制電路
434‧‧‧系統處理器
436‧‧‧儲存系統韌體
438‧‧‧安全性韌體
440‧‧‧系統硬體暫存器
442‧‧‧系統協助硬體
444‧‧‧主機介面
446‧‧‧寫入資料路徑控制電路
448‧‧‧讀取資料路徑控制電路
450‧‧‧媒體介面
452‧‧‧記憶體介面
454‧‧‧記憶體/媒體介面
500‧‧‧流程圖
502‧‧‧操作
504‧‧‧操作
506‧‧‧操作
508‧‧‧操作
600‧‧‧流程圖
602‧‧‧操作
604‧‧‧操作/決策方塊
606‧‧‧操作
608‧‧‧操作
610‧‧‧操作
612‧‧‧操作/決策方塊
614‧‧‧操作
616‧‧‧操作
618‧‧‧操作
620‧‧‧操作
622‧‧‧操作
624‧‧‧操作
圖1係根據本發明之一實施例之包含一資料儲存系統之一裝置之一功能方塊圖。
圖2係根據本發明之一實施例之包含具有一安全子系統之一資料儲存系統之一裝置之一功能方塊圖。
圖3係描繪根據圖2之實施例之用於執行安全操作之操作步驟之一流程圖。
圖4係根據本發明之一實施例之包含具有一安全子系統之一資料儲存系統之一裝置之一功能方塊圖。
圖5係描繪根據圖4之實施例之用於執行安全操作之操作步驟之一流程圖。
圖6係描繪根據本發明之一實施例之用於執行安全操作之操作步驟之一流程圖。
本發明認識到,傳統資料儲存系統具有特定安全性相關之缺點。例如,傳統系統使用一或多個共用微處理器,其等取決於來自安全性韌體及不安全儲存系統韌體兩者之命令。因為處理秘密資訊且執行安全操作之系統資源可藉由在系統微處理器上運行之任何韌體存取,故秘密資訊僅如安全性韌體般易經受儲存系統韌體操縱。因此,當確保系統之安全性時,包含任何非安全性相關組件之整個SOC必須滿足任何安全性要求,此係因為對不安全組件之未授權存取可導致損及秘密資訊且導致安全性漏洞。本文揭示之實施例係關於一安全性子系統,其隔離執行安全操作且處理安全資訊之組件與通用組件同時限制安全與不安全組件之間的通信以便防止秘密資料物件之未授權存取。
現在參考附圖,圖1係一裝置(一般指定為100)(例如,一積體電路、一記憶體器件、一記憶體系統、一電子器件或系統、一智慧型電話、一平 板電腦、一電腦、一伺服器等)之一功能方塊圖。根據本發明之一實施例,裝置100包含一資料儲存系統102。資料儲存系統102係能夠執行安全資料操作(諸如資料加密及解密)之一記憶體系統。資料儲存系統102亦可在一或多個記憶體或儲存媒體中儲存且取回資料(包含加密資料)。資料儲存系統102一般包含一控制器104、動態記憶體106、外部非揮發性記憶體108(控制器外部)、儲存媒體110且可連接至一主機器件116。
控制器104可係能夠執行安全操作且將秘密資料物件(諸如加密密鑰)儲存於一安全子系統內之組件之任何組合。控制器104可基於組件及待執行操作之目的限制系統組件與安全組件之間的通信。為影響此受限通信,控制器104包含儲存控制器電路114、一安全子系統112及記憶體/媒體介面118。在各種實施例中,安全子系統112、儲存控制器電路114及/或記憶體/媒體介面118可係一單一積體電路之部分,其中藉由電路連接界定其間之邊界。在其他實施例中,安全子系統112可係可經連接至儲存控制器電路114及/或記憶體/媒體介面118之一離散電路或晶片。安全子系統112可包含經組態以執行安全操作且儲存秘密資料之數個組件。安全子系統112可包含用於執行含有秘密資料物件之一般安全性操作之數個系統組件。
安全子系統112可包含(例如)一專用安全處理器、安全硬體暫存器、安全性協助硬體、安全性韌體、用於執行加密且解密操作之組件及內部儲存器(諸如隨機存取記憶體(RAM)及/或非揮發性記憶體)。儲存控制器電路114可包含用於執行不含有秘密資料物件之一般控制器操作之數個系統組件。儲存控制器電路114可包含(例如)一或多個處理元件、系統硬體暫存器、系統韌體、系統協助硬體、主機、記憶體及媒體介面及/或讀取及寫入資料路徑控制電路。記憶體/媒體介面118可包含一或多個介面來實現 安全子系統112與一或多個外部儲存器件(例如,動態記憶體106、外部非揮發性記憶體108及/或儲存媒體110)之間的通信。控制器104之詳細實施例在下文中相對於圖2及圖4進一步詳細論述。
動態記憶體106可係(例如)動態隨機存取記憶體(DRAM)。動態記憶體106可經由記憶體/媒體介面118藉由控制器104存取。控制器104之組件之一或多者(諸如安全子系統112及/或儲存控制器電路114)能夠經由記憶體/媒體介面118存取動態記憶體106。控制器104可將資料儲存於動態記憶體106上及/或取回其上之資料。在各種實施例中,動態記憶體106可具有儲存於其上之加密資料,諸如用於藉由包含控制器104內之一或多個子系統(例如,安全子系統112及/或記憶體存取電路114)之控制器104使用之程式指令或其他資訊。外部非揮發性記憶體108可係(例如)一快閃記憶體器件(諸如NOR快閃)。外部非揮發性記憶體108可藉由控制器104(包含控制器104之一或多個子系統(諸如安全子系統112及/或儲存控制器電路114))存取。控制器104可將資料儲存於外部非揮發性記憶體108上及/或取回其上之資料。在各種實施例中,外部非揮發性記憶體108可具有儲存於其上之加密資料,諸如用於藉由控制器104(包含藉由控制器104內之一或多個子系統(例如,安全子系統112及/或儲存控制器電路114))使用之程式指令或其他資訊。
儲存媒體110可包含數個記憶體單元陣列(例如,非揮發性記憶體單元)。該等陣列可為(例如)具有一NAND架構之快閃陣列。然而,實施例不限於一特定類型之記憶體陣列或陣列架構。記憶體單元可(例如)分組成包含數個實體頁之數個區塊。數個區塊可包含於記憶體單元之一平面中且一陣列可包含數個平面。如一個實例,一記憶體器件可經組態以每頁儲存8 KB(千位元組)之使用者資料、每區塊儲存128頁之使用者資料、每平面儲存2048個區塊及每器件儲存16個平面。
在操作中,例如,資料可作為一頁資料寫入儲存媒體110及/或自儲存媒體110讀取。資料可以映射至頁單元上之稱為區段(例如,主機區段)之資料段發送至一主機(例如,主機器件116)/自該主機發送。安全子系統112可執行促進儲存媒體110與主機器件116之間的資料傳送所必要之任何加密或解密,同時確保所有秘密資料物件(例如,加密/解密密鑰)保留於安全子系統112內。
主機器件116可係任何主機系統,諸如一個人膝上型電腦、一桌上型電腦、一平板電腦、一智慧型電話、一個人數位助手,或能夠使用及/或產生秘密資訊之任何其他可程式化電子器件。在各種實施例中,主機器件116可經由資料儲存系統102提供待被寫入儲存媒體110之資料或請求來自儲存媒體110之資料。控制器104可使用一或多個子系統(諸如安全子系統112及/或儲存控制器電路114)來接收請求且執行請求功能,使得秘密資料物件保留於安全子系統112內且不可由安全子系統112外部之任何系統或組件來存取。
圖2係根據本發明之一實施例之包含一資料儲存系統202之一裝置(一般指定為200)之一功能方塊圖。資料儲存系統202一般包含:一控制器204,其具有一安全子系統212、儲存控制器電路214,及記憶體/媒體介面254;一動態記憶體206;一外部非揮發性記憶體208;及儲存媒體210。可將一主機器件216耦合至資料儲存系統202。在各種實施例中,裝置200可經實施為上文相對於圖1描述之裝置100。具體言之,動態記憶體206、外部非揮發性記憶體208、儲存媒體210及主機器件216可各如上文分別相 對於圖1中之動態記憶體106、外部非揮發性記憶體108、儲存媒體110及主機器件116描述般經實施。
控制器204可包含用於執行與資料儲存及取回相關之操作(包含導致及/或操縱秘密資料之安全操作)的數個組件。控制器204之組件可包含用於執行安全操作(諸如資料加密及解密)且操縱秘密資料物件(諸如加密密鑰)之一安全子系統212。在一項實施例中,安全子系統212係在控制器204內側樣例化之一自給式積體電路或晶片。在另一實施例中,安全子系統212可係一SOC之一積體電路子系統。安全子系統212可由一安全邊界圍封,該邊界可係一實體邊界及/或可由安全子系統212與資料儲存系統202之其他組件之間之連接的數量及類型界定。控制器204可進一步包含用於執行不需要對秘密資料物件存取之控制器功能的儲存控制器電路214。例如,儲存控制器電路214可提供資料儲存系統202與主機器件216之間之通信之一介面。例如,儲存控制器電路214可接收傳入讀取及寫入請求,且請求由安全子系統212來執行安全操作。
記憶體/媒體介面254一般可包含一或多個介面以實現與一或多個外部儲存器件(例如,動態記憶體206、外部非揮發性記憶體208及/或儲存媒體210)之通信。記憶體/媒體介面254可包含記憶體介面252及媒體介面250。記憶體介面252提供安全子系統212之傳送控制234與動態記憶體206及/或外部非揮發性記憶體208之間之一介面。如上文描述,只要解密秘密資料物件之密鑰保持被儲存於安全子系統212內或針對安全子系統212外側之儲存自我加密,則一些秘密資料物件可在安全子系統212外部被加密且儲存。記憶體介面252可係傳送控制234與動態記憶體206及/或外部非揮發性記憶體208之間之一通信介面,且因此,儘管係定位於安全子系統外部,但可由安全子系統212控制。記憶體介面252亦可(例如)由儲存控制器 電路214之一或多個組件控制。媒體介面250可代表主機器件216,經由經發佈至主機介面244之命令(例如,讀/寫命令)來存取儲存媒體210。媒體介面250可分配儲存、存取、讀取資料、寫入資料、擦除資料及/或執行相對於儲存媒體210之其他管理操作。
在圖2之實施例中,安全子系統212包含安全硬體暫存器218、一安全處理器220、安全性韌體222、安全性協助硬體224、內部非揮發性記憶體226、內部RAM 228、一加密電路230、一解密電路232,及一傳送控制電路234。安全硬體暫存器218可包含複數個硬體暫存器。在各種實施例中,安全硬體暫存器218可係一暫存器檔案中之通用暫存器。安全硬體暫存器218之一子集可由在安全子系統212外部之一或多者組件(諸如儲存控制器電路214之一或多個組件(下文中描述))存取。外部組件可將諸如用於執行安全子系統212內之安全操作的命令及/或資料的資訊寫入安全硬體暫存器218的子集。雖然藉由外部組件對安全硬體暫存器218之存取可限於安全硬體暫存器218之一子集,但安全子系統212內部之組件(例如,安全處理器220)可存取所有安全硬體暫存器218。在各種實施例中,安全硬體暫存器218可經組態以通知執行安全性韌體222之安全處理器220接收對由安全處理器220執行之一安全操作之一請求。
在圖2之實施例中,安全子系統212包含安全處理器220,其可係用於執行涉及、產生及/或操縱秘密資料物件(諸如加密密鑰)之安全操作之一專用處理器或微控制器。在各種實施例中,安全處理器220可係能夠執行安全操作之一通用處理器或一特殊用途處理器。安全處理器220可存取安全硬體暫存器218以便接收命令及/或資料以執行安全子系統212內之安全操作。安全處理器220可存取且執行安全性韌體222。在各種實施例中,安 全性韌體222可控制安全處理器220可執行之操作。例如,安全性韌體222可界定安全處理器220可執行之安全操作之全集。安全處理器可經組態以執行限於藉由安全性韌體222界定之安全操作集之操作。安全性韌體222亦可界定安全處理器220可與其通信之組件(在安全子系統212內及在安全子系統212外部兩者)。
安全性協助硬體電路224可提供藉由安全子系統212執行之各種離散操作之硬體執行。熟習此項技術者將瞭解,裝置200之各種實施例可包含任何數量之安全性協助硬體電路224或不包含安全性協助硬體電路224。安全性協助硬體電路224可包含用於執行特定功能(包含但不限於資料加密及解密、簽章計算及檢查及/或隨機數生成)之各種電路。此等操作可係執行以滿足安全子系統212之操作需求之程序中之步驟。因而,安全性協助硬體電路224可包含各種硬體子模組,其等之各者可由藉由安全處理器220執行之安全性韌體222控制。藉由安全性協助硬體電路224執行之操作可係安全操作之組件操作,諸如用戶端認證、加密密鑰生成、密鑰識別、密鑰選擇及取回。在各種實施例中,安全性協助硬體電路224完全藉由安全處理器220上執行之安全性韌體222控制,使得提供至安全性協助硬體電路224或藉由安全性協助硬體電路224提供之任何資料無法從安全子系統212之外側存取。
在圖2之實施例中,內部非揮發性記憶體226及內部RAM 228可提供藉由安全子系統212中之各種組件使用之內部記憶體。內部非揮發性記憶體226及內部RAM 228兩者皆可藉由執行安全性韌體222之安全處理器220存取。內部非揮發性記憶體226可含有秘密資料物件或跨斷電及通電循環可需要持久的其他資訊。內部RAM 228可緩衝藉由安全子系統212之組件 使用之資料。例如,內部RAM 228可從外部儲存器(例如,動態記憶體206及/或外部非揮發性記憶體208)接收經加密之秘密資料物件或緩衝經加密之秘密資料物件以用於儲存於外部儲存器(例如,動態記憶體206及/或外部非揮發性記憶體208)中。若首先藉由保留於安全子系統212內之一秘密加密密鑰加密秘密資料物件,則秘密資料物件可儲存於安全子系統212外部。在各種實施例中,內部RAM 228可經由一傳送控制電路234與動態記憶體206及/或外部非揮發性記憶體208通信。傳送控制電路234可經由記憶體介面252提供安全子系統212與外部系統(諸如儲存控制器電路214、動態記憶體206及/或外部非揮發性記憶體208)之間的資料傳送之一介面。熟習此項技術者將瞭解,各種實施例可不包含內部非揮發性記憶體226及內部RAM 228。在此等實施例中,安全子系統212可針對安全子系統212外部(例如,在動態記憶體206及/或外部非揮發性記憶體208中)之儲存加密秘密資訊。
加密電路230及解密電路232可位於安全子系統212內側且分別對藉由儲存控制器電路214提供(例如,在一寫入操作期間)或藉由儲存控制器電路214請求(例如,在一讀取操作期間)之資料執行加密及解密功能。在各種實施例中,加密電路230從儲存控制器電路214接收加密之資料。執行安全性韌體222之安全處理器220使加密電路230具有一加密密鑰(例如,儲存於內部非揮發性記憶體226中之一加密密鑰)。加密電路230可使用所提供之加密密鑰來加密接收之資料且將加密資訊提供至記憶體/媒體介面254中之媒體介面250以儲存於儲存媒體210中。藉由執行安全子系統212內之加密功能,所有秘密資料物件(例如,加密密鑰)皆保留於安全子系統212內且無法被界定安全子系統212之安全邊界外側之組件存取。解密電 路232以一類似方式操作。具體言之,解密電路232接收取回儲存於儲存媒體210中之加密資料之一請求。解密電路經由媒體介面250從儲存媒體210取回加密資料。執行安全性韌體222之安全處理器220將解密密鑰提供至解密電路232。解密電路232使用所提供之解密密鑰來解密請求之資料且將解密資料提供至儲存控制器電路214。藉由執行安全子系統212內之解密功能,任何秘密資料物件(例如,解密密鑰)保留於安全子系統212內且無法被界定安全子系統212之安全邊界外側之組件存取。
在圖2之實施例中,儲存控制器電路214包含一或多個系統處理器236、系統硬體暫存器238、儲存系統韌體240、系統協助硬體242、一主機介面244、一寫入資料路徑控制電路246及一讀取資料路徑控制電路248。系統處理器可係用於執行不含有秘密資料物件之操作且與安全子系統212通信之一或多個通用處理器或一或多個專用處理器或微控制器。系統處理器236可跨安全子系統212之安全邊界將命令及/或資訊(例如,命令參數)提供至安全硬體暫存器218。如上文論述,系統處理器236可對安全硬體暫存器218之一子集存取(例如,讀寫該子集之能力)。藉由由系統處理器236限制對安全子系統212內之秘密資料物件之存取,該等秘密資料物件之安全性可增加。系統處理器236可執行儲存系統韌體240。儲存系統韌體240可界定系統處理器236可執行之操作。另外,儲存系統韌體240可界定哪些命令可藉由系統處理器236提交至安全硬體暫存器218以藉由安全處理器220執行。因而,可控制且限制儲存控制器電路214與安全子系統212之間的通信之類型及內容以便增加儲存於安全子系統212中之秘密資料物件之安全性。
系統硬體暫存器238可包含複數個硬體暫存器。在各種實施例中,系 統硬體暫存器238可係一暫存器檔案中之通用暫存器。可藉由安全子系統212之安全邊界內側之一或多個組件(諸如安全處理器220)存取系統硬體暫存器238之所有子集或一子集。安全子系統212之組件可將資訊(諸如成功完成一安全操作之確認)寫入系統硬體暫存器238之一子集。雖然藉由安全子系統212之組件對系統硬體暫存器238之存取可限於系統硬體暫存器238之一子集,但安全子系統212外部之組件(例如,系統處理器236)可存取所有系統硬體暫存器238。
主機介面244可呈一標準化介面或一專用介面之形式。例如,主機介面106可為一序列先進技術附接(SATA)、快速周邊組件互連(PCIe)或一通用序列匯流排(USB),包括其他連接器及介面在內。一般言之,介面106提供一通信機構以用於在資料儲存系統202與主機器件216之間傳遞控制信號、位址資訊、資料及其他信號。在各種實施例中,主機介面244可從主機器件216接收待加密且寫入儲存媒體210之寫入命令及資料。主機介面244可接收讀取命令以解密且返回儲存於儲存媒體210中之資料。
寫入資料路徑控制電路246引導且控制從主機介面244至安全子系統212中之加密電路230的寫入資料流。寫入資料路徑控制電路可由執行儲存系統韌體240的系統處理器236控制。例如,主機介面244可從主機器件216接收一寫入請求及待被寫入儲存媒體210之資料。系統處理器236可將一加密命令寫入安全硬體暫存器218以執行一寫入操作。安全硬體暫存器218可通知執行安全性韌體222之安全處理器220接收一加密命令。安全處理器220可將一加密密鑰提供至加密電路230。系統處理器236可指示寫入資料路徑控制電路246將待加密且待儲存之資料跨安全子系統212之安全邊界提供至加密電路230。加密電路230接著可使用由安全處理器220提供 之加密密鑰來加密接收之資料。因此,所有秘密資料物件(例如,加密密鑰)保留於安全子系統212內,且無法由安全子系統212外部之組件存取。接著,加密資料可被提供至記憶體/媒體介面254中之媒體介面250且被儲存於儲存媒體210上。
讀取資料路徑控制電路248引導且控制從安全子系統212中之解密電路232至主機介面244的讀取資料流。讀取資料路徑控制電路248可由執行儲存系統韌體240的系統處理器236控制。例如,主機介面244可從主機器件216接收對儲存於儲存媒體210中呈一加密格式之資料之一讀取請求。系統處理器可將對識別資料之一讀取請求寫入安全子系統212中的安全硬體暫存器218。安全硬體暫存器218可通知執行安全性韌體222之安全處理器220已接收一讀取請求。安全處理器220可將與請求資料相關聯之加密密鑰提供至解密電路232。解密電路232可經由媒體介面250從儲存媒體210取回請求之加密資料。接著,解密電路232可使用由安全處理器220提供之解密密鑰來解密請求的資料,且將經解密資料提供至讀取資料路徑控制電路248。讀取資料路徑控制電路248可將解密資料提供至主機介面244,主機介面244將解密資料提供至主機器件216。
圖3係描繪根據圖2之實施例之用於處理安全操作之操作步驟之一流程圖(一般指定為300)。在操作302中,安全子系統(例如,安全子系統212)在一或多個安全硬體暫存器(例如,安全硬體暫存器218)處接收一命令。可從安全子系統外部之一器件(諸如,一系統處理器(例如,系統處理器236))接收命令。命令可包含指令以執行含有秘密資料物件之一特定安全操作,諸如含有經儲存於安全子系統內之加密密鑰的讀取或寫入命令。命令可進一步包含用於執行安全操作之任何必要參數。如上文相對於圖2 論述,可在可為系統處理器236存取之安全硬體暫存器218之一子集的一或多者處接收命令。系統處理器236無法存取之該等安全硬體暫存器無法從系統處理器236接收命令。藉由限制對安全硬體暫存器218的存取,可增加經儲存於安全子系統212內之秘密資料物件的安全性。
在操作304中,安全子系統212或其之一組件通知安全處理器220已接收一命令。安全硬體暫存器218可經組態以回應於接收一命令,經由安全子系統212內之一內部匯流排,將一通知傳輸至安全處理器220。執行安全性韌體222之安全處理器220可判定應如何處理接收之命令。如上文論述,安全處理器220可限於執行由安全性韌體222界定之特定安全操作。在此等實施例中,若允許,安全處理器220可僅藉由安全性韌體222執行請求之命令。若接收之命令不對應於如由安全性韌體222界定之一經允許安全操作,則安全處理器220可藉由(例如)將指示所接收之命令未由安全性韌體222允許之異常之一描述寫入至系統硬體暫存器238而返回一異常或一誤差。
在所接收之命令係一經允許命令的情況中,於操作306中,安全子系統212基於所接收之命令而使用安全處理器220及/或安全性協助硬體(例如,安全性協助硬體電路224)執行一安全操作。安全處理器220可執行由所接收之命令請求之一安全操作(例如,一寫入操作、一讀取操作、加密/解密操作、加密密鑰生成等)。在執行安全操作之前、期間及之後,安全子系統212可確保所有秘密資料物件保留於安全邊界內,除非被加密。
在操作308中,安全子系統212將一回應傳輸至系統硬體暫存器238。安全處理器220可跨安全子系統212之安全邊界傳輸回應。在各種實施例中,回應可係基於所接收之命令的一適當值或值之集。例如,回應可係成 功完成所接收之命令之一指示。系統處理器236可自系統硬體暫存器238讀取該值且解釋該回應。
圖4係根據本發明之一實施例之包含一資料儲存系統402之一裝置(一般指定為400)之一功能方塊圖。資料儲存系統402可包含:一控制器404,其包含一安全子系統412、儲存控制器電路414及記憶體/媒體介面454;一動態記憶體406;一外部非揮發性記憶體408;及儲存媒體410。在各種實施例中,記憶體媒體介面454(包含記憶體介面452及媒體介面450)、動態記憶體406、外部非揮發性記憶體408及儲存媒體410可如上文分別相對於圖2之實施例中之記憶體/媒體介面254(包含記憶體介面252及媒體介面250)、動態記憶體206、外部非揮發性記憶體208及儲存媒體210及/或圖1之實施例中之記憶體/媒體介面118、動態記憶體106、外部非揮發性記憶體108及儲存媒體110描述般實施。資料儲存系統402亦經耦合至一主機器件416。主機器件416可如上文分別相對於圖1及圖2之實施例中之主機器件116及主機器件216描述般實施。控制器404可實施為圖1中之控制器104。
在圖4之實施例中,安全子系統412包含複數個安全硬體暫存器418、安全性協助硬體電路420、內部RAM 424、內部非揮發性記憶體422、一安全性控制電路426、一加密電路428、一解密電路430及一傳送控制電路432。安全硬體暫存器418、內部RAM 424、內部非揮發性記憶體422、加密電路428、解密電路430及傳送控制電路432可如上文分別相對於圖2之實施例之安全硬體暫存器218、內部RAM 228、內部非揮發性記憶體226、加密電路230、解密電路232及傳送控制電路234描述般實施。在圖4之實施例中,安全性協助硬體電路提供在不具有一專用安全處理器的情況 下執行一安全邊界內之安全操作之功能性。
安全性控制電路426提供安全子系統412內之組件之間的通信功能性。另外,安全性控制電路426可提供安全子系統412與儲存控制器電路414之間的一通信路徑。安全性控制電路426之特定功能在下文中進一步詳細描述。
安全性協助硬體電路420可係經組態以完整執行離散安全操作之複數個硬體電路。藉由安全性協助硬體電路420執行之離散安全操縱之實例包含但不限於隨機數生成、加密密鑰生成、簽章計算、對稱型加密或解密、不對稱型加密或解密、資料操縱操作及資料移動操作。如上文相對於圖2描述,回應於安全硬體暫存器418接收一命令可觸發一或多個安全性協助硬體電路420。在特定實施例中,安全硬體暫存器418中之特定暫存器位置可對應於特定安全性協助硬體電路420。安全硬體暫存器418可經由安全性控制電路426提供一通知至一或多個安全性協助硬體電路420:在安全硬體暫存器418處接收一命令(及任何相關參數)以藉由一或多個安全性協助硬體電路420執行。一旦安全性協助硬體電路420完成安全操作之執行,則安全性協助硬體電路420可將指示安全操作完成之一值提供回至安全硬體暫存器418或至儲存控制器電路414。
安全性協助硬體電路420可使用、存取、生成或另含有保存於安全子系統412內及/或無法為安全子系統412外部之組件(例如,記憶體存取硬體414)存取之秘密資料物件(例如,加密密鑰)。為維持秘密資料物件之安全性,安全性協助硬體電路420可將秘密資料物件儲存於一內部記憶體系統中,諸如內部RAM 424、內部非揮發性記憶體422或無法為儲存控制器電路414存取之安全硬體暫存器418中之暫存器位置。只要解密秘密資料物 件之密鑰保留於安全子系統412內,則秘密資料物件亦可加密且經由記憶體/媒體介面454儲存於一外部記憶體器件(諸如動態記憶體406及/或外部非揮發性記憶體408)中。
現將論述特定安全性協助硬體電路420之實例。應瞭解,此論述僅藉由實例提供,且在不脫離本發明之範疇的情況下,執行不同安全操作之額外電路係可能的。
在一第一實例中,一安全性協助硬體電路420實現隨機數生成。可在安全硬體暫存器418處接收生成一隨機數之一命令,該等安全硬體暫存器418通知可應用之安全性協助硬體電路420。安全性協助硬體電路420可從一生成器生成一系列隨機位元,將該系列位元累加至具有一經界定長度之一保持暫存器中,藉由(例如)一確定性隨機位元生成器根據一調節演算法調節累加值,將結果寫入一內部記憶體位置(例如,內部RAM 424)中且將一完成通知傳輸至儲存控制器電路414。
在一第二實例中,一安全性協助硬體電路420實現加密密鑰生成。加密密鑰生成可取決於一先前生成之秘密資料物件,諸如藉由充當一加密密鑰之一隨機數生成安全性協助硬體電路420產生之一隨機數。加密密鑰生成安全性協助硬體電路420可實施任何適當變換功能來生成加密密鑰。在操作中,儲存控制器電路414之一組件可提供生成一加密密鑰之一命令至安全硬體暫存器418且供應一位址至一先前生成之隨機數,參數化變換且界定所得加密密鑰之一位置。加密密鑰生成安全性協助硬體電路420可對指定位置處之隨機數執行經界定變換以生成加密密鑰且將所得加密密鑰儲存於指定位置處。加密密鑰生成安全性協助硬體電路420接著可傳輸一通知(諸如一事件中斷)至儲存控制器電路414,該通知為成功生成加密密鑰 及加密密鑰之位置。
在一第三實例中,一安全性協助硬體電路420實現簽章計算。一簽章計算安全性協助硬體電路420可用於需要藉由添加或檢查一簽章值而確認資訊之安全操作。儲存控制器電路414可將一操作碼、待數位簽署或檢查之一值之一位址、值之一長度、簽章計算其自身之參數及所得簽章或簽章檢查結果之一位置寫入安全硬體暫存器418。接著,簽章計算安全性協助硬體電路420可基於經提供之參數生成或檢查一簽章值且將結果儲存於指定位置中。接著,簽章計算安全性協助硬體電路420可傳輸一通知(諸如一事件中斷)至儲存控制器電路414,該通知為成功生成簽章值及結果之位置。
在一第四實例中,一安全性協助硬體電路420實現對稱型加密及/或解密。一對稱型加密安全性協助硬體電路420可用於隱藏將移動至安全子系統412之安全邊界外側之秘密資料物件或其他資料。儲存控制器電路414可存取安全硬體暫存器418,界定操作(例如,加密或解密),界定任何運算元(例如,一加密/解密密鑰)、一初始化向量(若可應用)、將加密/解密之資料之位置及長度及儲存結果之位置/長度。接著,對稱型加密安全性協助硬體電路420可傳輸一通知(諸如一事件中斷)至儲存控制器電路414,該通知為成功加密/解密資料及結果之位置。
在一第五實例中,一安全性協助硬體電路420實現非對稱型加密及/或解密(諸如基於RSA或其他演算法之公開密鑰/私密密鑰操作)。一對稱型加密安全性協助硬體電路420可用於隱藏將移動至安全子系統412之安全邊界外側之秘密資料物件或其他資料。儲存控制器電路414可存取安全硬體暫存器418,界定操作(例如,加密或解密),界定任何運算元(例如,一 加密及一解密密鑰)、一初始化向量(若可應用)、將加密/解密之資料之位置及長度及儲存結果之位置/長度。接著,非對稱型加密安全性協助硬體電路420可傳輸一通知(諸如一事件中斷)至儲存控制器電路414,該通知為成功加密或解密資料及結果之位置。
在一第六實例中,一或多個安全性協助硬體電路420可執行資料操縱功能。例如,資料操縱可包含將一密鑰值從無法為儲存控制器電路414存取之一位置(例如,內部RAM 424或內部非揮發性記憶體422)傳送至儲存控制器電路414可間接存取密鑰值之一位置(例如,安全硬體暫存器418)。
在一第七實例中,一或多個安全性協助硬體電路420可執行資料移動功能。一資料移動安全性協助硬體電路之一個實例可係傳送控制電路432,其支援安全子系統412與外部記憶體器件(諸如動態記憶體406及/或外部非揮發性記憶體408)之間的資料傳送。
儲存控制器電路414可包含一系統處理器434、儲存系統韌體436、安全性韌體438、系統硬體暫存器440、系統協助硬體442、一主機介面444、一寫入資料路徑控制電路446及一讀取資料路徑控制電路448。系統處理器434、儲存系統韌體436、系統硬體暫存器440、系統協助硬體442、主機介面444、一寫入資料路徑控制電路446、讀取資料路徑控制電路448可如上文分別相對於圖2中之系統處理器236、儲存系統韌體240、系統硬體暫存器238、系統協助硬體242、主機介面244、寫入資料路徑控制電路246、讀取資料路徑控制電路248描述般實施。
圖4之實施例包含儲存控制器電路414中之安全性韌體438且系統處理器434負責執行儲存系統韌體436及安全性韌體438兩者。安全性韌體438界定可藉由安全子系統412之系統處理器434請求以藉由安全性協助硬體 電路420執行之特定安全操作。因此,在不需要安全子系統412內之一專用安全處理器的情況下可維持將執行之操作及對儲存於安全子系統412內之秘密資料物件之存取。
圖5係描繪根據圖4之實施例之用於執行安全操作之操作步驟之一流程圖(一般指定為500)。
在操作502中,安全子系統412在一或多個安全硬體暫存器418處接收一命令。例如,執行安全性韌體438之系統處理器434可傳輸一命令以執行一或多個安全操作,該等操作產生、移動、修改或另含有安全子系統412內維持之秘密資料物件。在各種實施例中,系統處理器434可限於存取安全硬體暫存器418之一子集。在操作504中,安全子系統412識別一或多個可應用安全性協助硬體電路410來執行安全操作。安全子系統412可(例如)藉由解碼所接收之命令識別一或多個可應用安全性協助硬體電路。在各種實施例中,所接收之命令可指示一特定安全性協助硬體電路420來執行操作。在一些實施例中,命令可在對應於一特定安全性協助硬體電路420之一特定安全硬體暫存器418處接收。在此等實施例中,在偵測命令接收後,安全性控制電路426可將接收之命令自動傳送至可應用安全性協助硬體電路420。
在操作506中,安全子系統藉由使用可應用安全性協助硬體電路420或其他組件(例如,加密電路428或解密電路430)來執行一安全操作而執行請求命令。在上文相對於圖4描述用於執行離散安全操作之各種實例安全性協助硬體電路420。在操作508中,安全子系統412將一結果寫入系統硬體暫存器440。在各種實施例中,結果可包含指示是否成功完成安全操作及/或任何所得資料(例如,解密資料)之位置之一值。安全性控制電路426 可提供安全子系統412與系統硬體暫存器440之間的通信介面。
圖6係描繪根據本發明之一實施例之用於執行安全操作之操作步驟之一流程圖(一般指定為600)。
在操作602中,一安全子系統在安全硬體暫存器(例如,安全硬體暫存器218、418)處接收一命令。在操作604中,安全子系統判定所接收之命令是否為一寫入命令。在各種實施例中,安全子系統可基於如藉由一安全處理器(例如,安全處理器220)解譯之所接收命令之格式或藉由該命令寫入其中之特定硬體暫存器判定該命令是否為一寫入命令。若安全子系統判定所接收命令係一寫入命令(決策方塊604,YES分支),則在操作606中,安全子系統接收將寫入之資料。在操作608中,安全子系統(例如)使用一加密電路(例如,加密電路230、428)來加密資料。在操作610中,安全子系統將加密資料儲存於一外部記憶體(諸如儲存媒體210、410)中。在操作624中,安全子系統將一結果傳輸至系統硬體暫存器。在各種實施例中,結果可包含指示資料成功加密且寫入儲存媒體210、410之一值。
若安全子系統判定所接收命令並非一寫入命令(決策方塊604,NO分支),則在操作612中,安全子系統判定所接收命令是否係一讀取命令。若安全子系統判定所接收命令係一讀取命令(決策方塊612,YES分支),則在操作614中,安全子系統從一外部記憶體器件(諸如儲存媒體210、410)取回待讀取之資料。在操作616中,安全子系統(例如)使用解密電路232、430來解密取回資料。在操作618中,安全子系統將解密資料傳送至安全子系統外部之一位置。例如,安全子系統可將解密資料提供至一讀取資料路徑控制電路(例如,讀取資料路徑控制電路248、448)。在操作624中,安全子系統將一結果傳輸至系統硬體暫存器。在各種實施例中,結果可包 含指示資料成功取回、解密且提供至讀取資料路徑控制電路之一值。
若安全子系統判定所接收命令並非一讀取命令(決策方塊612,NO分支),則在操作620中,安全子系統判定藉由命令請求之安全操作之類型。在操作622中,安全子系統基於所判定之操作類型執行一安全操作。可藉由(例如)一安全處理器(諸如安全處理器220)或藉由一或多個安全性硬體協助電路(諸如安全性硬體協助電路224、420)執行安全操作。在操作624中,安全性子系統傳輸一結果至系統硬體暫存器,該結果指示成功完成安全操作。

Claims (32)

  1. 一種用於執行安全操作之裝置,該裝置包括:一記憶體器件,其經組態以儲存一或多個秘密資料物件;一處理器,其經組態以執行該安全性韌體且執行限於用於操縱該一或多個秘密資料物件之該複數個操作之一組操作;複數個安全硬體暫存器,其等係可由該處理器存取且經組態以接收指令以執行該等安全操作;及複數個安全性協助硬體電路,其經組態以執行用於操縱該一或多個秘密資料物件之該複數個操作,其中該等經接收指令包含該複數個安全性協助硬體電路之一特定者之一指示以執行該等安全操作。
  2. 如請求項1之裝置,進一步包括:安全性韌體,其經儲存於一記憶體器件上且界定可由該處理器執行之複數個操作用於操縱一或多個秘密資料物件。
  3. 如請求項1之裝置,其中該一或多個秘密資料物件包括至少一個加密密鑰。
  4. 如請求項1之裝置,其中該複數個操作包括資料加密、資料解密、簽章計算與檢查,以及隨機數生成中之至少一者。
  5. 如請求項1之裝置,進一步包括:一加密電路,其經組態以接收複數個資料,且基於該一或多個秘密資料物件來加密該複數個資料。
  6. 一種用於執行安全操作之裝置,該裝置包括:一內部記憶體器件,其用於儲存一或多個秘密資料物件;一或多個安全硬體暫存器,其等經組態以接收一命令,以使用該一或多個秘密資料物件來執行一操作;及一或多個安全性協助硬體電路,其等經組態以使用該一或多個秘密資料物件來執行離散操作,其中該經接收命令包含該一或多個安全性協助硬體電路之一特定者之一指示以執行該操作。
  7. 如請求項6之裝置,其中該等秘密資料物件無法為該裝置外側之器件存取。
  8. 如請求項6之裝置,其中該等離散操作包括隨機數生成、加密密鑰生成、簽章計算、簽章確認、對稱型加密、對稱型解密、非對稱型加密,及非對稱型解密中之至少一者。
  9. 如請求項6之裝置,其中該一或多個安全硬體暫存器之各者對應於一不同安全性協助硬體電路。
  10. 如請求項6之裝置,其中該等命令係從執行經儲存於該裝置外部之一記憶體之安全性韌體之一系統處理器接收。
  11. 一種用於執行安全操作之裝置,該裝置包括:一安全子系統,其經組態以接收一命令以執行涉及一或多個秘密資料物件的一或多個安全操作;一記憶體存取電路,其經組態以請求該安全子系統執行該一或多個安全操作;及一或多個安全性協助硬體電路,其等經組態以執行該一或多個安全操作,其中該經接收命令包含該一或多個安全性協助硬體電路之一特定者之一指示以執行該一或多個安全操作。
  12. 如請求項11之裝置,進一步包括:一或多個儲存器件,其等經組態以儲存該一或多個秘密資料物件。
  13. 如請求項11之裝置,其中該安全子系統包括:安全性韌體,其經儲存於該一或多個記憶體器件,且經組態以控制該一或多個安全操作之效能;及一安全處理器,其經組態以執行該安全性韌體且執行該一或多個安全操作。
  14. 如請求項13之裝置,其中該安全子系統包括:安全性韌體,其由該系統處理器執行且經組態以控制該安全子系統執行該一或多個安全操作之該請求。
  15. 如請求項11之裝置,其中該記憶體存取電路包括:一系統處理器,其經組態以請求該安全子系統執行該一或多個安全操作。
  16. 如請求項11之裝置,其中該安全子系統包括:一加密電路,其經組態以使用該一或多個秘密資料物件來加密資料;及一解密電路,其經組態以使用該一或多個秘密資料物件來解密資料。
  17. 一種用於執行安全操作之方法,該方法包括:在一安全硬體暫存器處接收一請求以使用一或多個秘密資料物件來執行一安全操作;回應於解碼該請求,使用一專用安全處理器來執行該安全操作,其中該經解碼請求識別複數個安全性協助硬體電路之多個特定者以執行該安全操作;及回應於執行該安全操作,將一值傳輸至一不安全硬體暫存器,其中該安全硬體暫存器、該一或多個秘密資料物件及該專用安全處理器係定位於一安全邊界內。
  18. 如請求項17之方法,進一步包括:通知該專用安全處理器該經接收之請求以執行該安全操作。
  19. 如請求項17之方法,其中該專用安全處理器基於經儲存於該安全邊界內之一記憶體器件上之專用安全性韌體來執行該安全操作。
  20. 如請求項19之方法,其中該專用安全性韌體界定一有限數量之安全操作。
  21. 如請求項17之方法,其中執行該安全操作包括:使用該一或多個秘密資料物件來加密資料;及將該加密資料儲存於該安全邊界外部之一儲存器件中。
  22. 如請求項17之方法,其中執行該安全操作包括:從該安全邊界外部之一儲存器件取回加密資料;及使用該一或多個秘密資料物件來解密該加密資料。
  23. 一種用於執行安全操作之裝置,該裝置包括:一記憶體存取電路,其經組態以接收指令來執行記憶體操作,其中該等記憶體操作之至少一者操縱一秘密資料物件;具有複數個離散硬體電路之一安全子系統電路,其經組態以從該記憶體存取電路接收指令,以藉由操縱該秘密資料物件來執行該至少一個記憶體操作,其中在該記憶體存取電路處之該等經接收指令包含該複數個離散硬體電路之一特定者之一指示以執行該至少一記憶體操作。
  24. 如請求項23之裝置,其中該安全子系統電路包括用於執行一有限數量操作之一處理器,其中該有限數量操作包含操縱該秘密資料物件之該至少一個記憶體操作。
  25. 如請求項23之裝置,其中該複數個離散硬體電路係經組態以執行一有限數量操作,其中該有限數量操作包含操縱該秘密資料物件之該至少一個記憶體操作。
  26. 如請求項23之裝置,其中該安全子系統電路包括:複數個安全硬體暫存器;其中該複數個安全硬體暫存器之一子集經組態以接收該等指令,以藉由操縱該秘密資料物件來執行該至少一個記憶體操作。
  27. 一種用於執行安全操作之方法,該方法包括:在一安全硬體暫存器處接收一請求以執行涉及一或多個秘密資料物件之一安全操作;回應於解碼該請求以執行該安全操作,識別經組態以執行該安全操作之複數個安全性協助硬體電路之多個特定者;及使用經識別之該複數個安全性協助硬體電路之該等特定者來執行該安全操作。
  28. 如請求項27之方法,進一步包括:回應於執行該安全操作,將一值傳輸至一不安全硬體暫存器,其中該安全硬體暫存器、該一或多個秘密資料物件及該專用安全處理器係儲存於一安全邊界內之一記憶體上。
  29. 如請求項27之方法,其中該安全硬體暫存器對應於該一或多個安全性協助硬體電路。
  30. 如請求項27之方法,其中該安全操作包括一加密或解密操作。
  31. 如請求項30之方法,其中該一或多個秘密資料物件包括一或多個加密密鑰。
  32. 如請求項27之方法,其中該請求係從執行安全性韌體之一記憶體系統處理器接收。
TW105132311A 2015-10-06 2016-10-06 用於執行安全操作之裝置及方法 TWI633457B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/876,600 US9864879B2 (en) 2015-10-06 2015-10-06 Secure subsystem
US14/876,600 2015-10-06

Publications (2)

Publication Number Publication Date
TW201723918A TW201723918A (zh) 2017-07-01
TWI633457B true TWI633457B (zh) 2018-08-21

Family

ID=58447919

Family Applications (2)

Application Number Title Priority Date Filing Date
TW107125160A TWI672610B (zh) 2015-10-06 2016-10-06 用於執行安全操作之裝置及方法
TW105132311A TWI633457B (zh) 2015-10-06 2016-10-06 用於執行安全操作之裝置及方法

Family Applications Before (1)

Application Number Title Priority Date Filing Date
TW107125160A TWI672610B (zh) 2015-10-06 2016-10-06 用於執行安全操作之裝置及方法

Country Status (6)

Country Link
US (3) US9864879B2 (zh)
EP (1) EP3360047B1 (zh)
KR (2) KR102139179B1 (zh)
CN (2) CN114417436A (zh)
TW (2) TWI672610B (zh)
WO (1) WO2017062242A1 (zh)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9864879B2 (en) 2015-10-06 2018-01-09 Micron Technology, Inc. Secure subsystem
US20190042781A1 (en) * 2017-08-04 2019-02-07 Bitdefender IPR Management Ltd. Secure Storage Device
DE102017118164A1 (de) * 2017-08-09 2019-02-14 Infineon Technologies Ag Kryptographische schaltung und datenverarbeitung
CN108683647B (zh) * 2018-04-28 2020-09-11 重庆交通大学 一种基于多重加密的数据传输方法
CN110490008B (zh) * 2018-05-14 2021-08-10 英韧科技(上海)有限公司 安全装置及安全芯片
CN110580420B (zh) * 2018-06-11 2023-03-28 阿里巴巴集团控股有限公司 基于集成芯片的数据处理方法、计算机设备、存储介质
CN108958779A (zh) * 2018-09-20 2018-12-07 广东美的暖通设备有限公司 固件升级管理方法、装置及计算机可读存储介质
CN118606971A (zh) * 2019-07-15 2024-09-06 美光科技公司 密码密钥管理
US11264063B2 (en) * 2019-08-21 2022-03-01 Macronix International Co., Ltd. Memory device having security command decoder and security logic circuitry performing encryption/decryption commands from a requesting host
US20230074708A1 (en) * 2021-09-08 2023-03-09 Qualcomm Incorporated Devices and methods utilizing sensor information for increased trust level
US20230176901A1 (en) * 2021-12-03 2023-06-08 International Business Machines Corporation Scheduling a secure code segment on a processor core of a processing unit
US11960769B2 (en) 2022-02-14 2024-04-16 Macronix International Co., Ltd. High performance secure read in secure memory providing a continuous output of encrypted information and specific context
US11796591B1 (en) * 2022-04-04 2023-10-24 Ambarella International Lp Smart storage of shutdown LBIST status
CN115391845B (zh) * 2022-10-28 2023-01-06 摩尔线程智能科技(北京)有限责任公司 密钥管理设备和方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110044451A1 (en) * 2007-07-25 2011-02-24 Panasonic Corporation Information processing apparatus and falsification verification method
TW201203108A (en) * 2010-05-25 2012-01-16 Via Tech Inc Microprocessors and operating methods thereof and encryption/decryption methods
US8332931B1 (en) * 2008-09-04 2012-12-11 Marvell International Ltd. Processing commands according to authorization
TW201426537A (zh) * 2010-05-25 2014-07-01 Via Tech Inc 解密密鑰產生裝置與方法

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6704871B1 (en) * 1997-09-16 2004-03-09 Safenet, Inc. Cryptographic co-processor
FR2788353B1 (fr) * 1999-01-11 2001-02-23 St Microelectronics Sa Microprocesseur avec circuits de protection pour securiser l'acces a ses registres
AUPQ993100A0 (en) * 2000-09-06 2000-09-28 Software Engineering Australia (Western Australia) Limited System and method for transmitting and storing sensitive data transmitted over a communications network
US6631453B1 (en) * 2001-02-14 2003-10-07 Zecurity Secure data storage device
BRPI0315450B1 (pt) * 2002-10-31 2019-12-17 Ericsson Telefon Ab L M circuito eletrônico à prova de violação para implementação em um dispositivo, dispositivo implementado com um circuito eletrônico à prova de violação, e, método de gerenciamento de dados de segurança para um dispositivo
US8566616B1 (en) * 2004-09-10 2013-10-22 Altera Corporation Method and apparatus for protecting designs in SRAM-based programmable logic devices and the like
US9177176B2 (en) 2006-02-27 2015-11-03 Broadcom Corporation Method and system for secure system-on-a-chip architecture for multimedia data processing
US8683212B2 (en) * 2006-10-06 2014-03-25 Broadcom Corporation Method and system for securely loading code in a security processor
JP4912921B2 (ja) * 2007-02-27 2012-04-11 富士通セミコンダクター株式会社 セキュアプロセッサシステム、セキュアプロセッサ及びセキュアプロセッサシステムの制御方法
US8171309B1 (en) 2007-11-16 2012-05-01 Marvell International Ltd. Secure memory controlled access
US8379856B2 (en) * 2009-06-17 2013-02-19 Empire Technology Development Llc Hardware based cryptography
JP2011013789A (ja) * 2009-06-30 2011-01-20 Toshiba Corp 情報処理装置および情報処理方法
US8295481B2 (en) * 2009-08-31 2012-10-23 International Business Machines Corporation Virtualization of cryptographic keys
US8613074B2 (en) * 2010-09-30 2013-12-17 Micron Technology, Inc. Security protection for memory content of processor main memory
US8495443B1 (en) * 2011-05-31 2013-07-23 Apple Inc. Secure register scan bypass
WO2013095387A1 (en) * 2011-12-20 2013-06-27 Intel Corporation Secure replay protected storage
KR102013841B1 (ko) 2012-08-06 2019-08-23 삼성전자주식회사 데이터의 안전한 저장을 위한 키 관리 방법 및 그 장치
US8775757B2 (en) 2012-09-25 2014-07-08 Apple Inc. Trust zone support in system on a chip having security enclave processor
KR20140073384A (ko) * 2012-12-06 2014-06-16 삼성전자주식회사 보안 부팅을 수행하는 칩 시스템과 이를 이용하는 화상형성장치 및 그 보안 부팅 방법
US20140310536A1 (en) 2013-04-16 2014-10-16 Qualcomm Incorporated Storage device assisted inline encryption and decryption
KR20150017526A (ko) * 2013-08-07 2015-02-17 삼성전자주식회사 메모리 명령 스케줄러 및 메모리 명령 스케줄링 방법
KR102240830B1 (ko) * 2013-08-30 2021-04-19 삼성전자주식회사 키 관리자를 포함하는 데이터 프로세싱 시스템 및 및 키 관리자의 동작 방법
US9864879B2 (en) 2015-10-06 2018-01-09 Micron Technology, Inc. Secure subsystem

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110044451A1 (en) * 2007-07-25 2011-02-24 Panasonic Corporation Information processing apparatus and falsification verification method
US8332931B1 (en) * 2008-09-04 2012-12-11 Marvell International Ltd. Processing commands according to authorization
TW201203108A (en) * 2010-05-25 2012-01-16 Via Tech Inc Microprocessors and operating methods thereof and encryption/decryption methods
TW201426537A (zh) * 2010-05-25 2014-07-01 Via Tech Inc 解密密鑰產生裝置與方法

Also Published As

Publication number Publication date
CN108139984B (zh) 2022-01-25
US10503934B2 (en) 2019-12-10
US20180089469A1 (en) 2018-03-29
KR102139179B1 (ko) 2020-07-30
US20180357449A1 (en) 2018-12-13
KR102176612B1 (ko) 2020-11-10
TWI672610B (zh) 2019-09-21
KR20200092421A (ko) 2020-08-03
CN114417436A (zh) 2022-04-29
WO2017062242A1 (en) 2017-04-13
EP3360047B1 (en) 2021-07-07
US9864879B2 (en) 2018-01-09
KR20180045039A (ko) 2018-05-03
CN108139984A (zh) 2018-06-08
US20170098102A1 (en) 2017-04-06
EP3360047A1 (en) 2018-08-15
TW201723918A (zh) 2017-07-01
US10068109B2 (en) 2018-09-04
EP3360047A4 (en) 2019-03-20
TW201837774A (zh) 2018-10-16

Similar Documents

Publication Publication Date Title
TWI633457B (zh) 用於執行安全操作之裝置及方法
US11354253B2 (en) Storage system and method for performing and authenticating write-protection thereof
TWI620095B (zh) 用以確保存取保護計畫之裝置及有形機器可讀媒體
US10810138B2 (en) Enhanced storage encryption with total memory encryption (TME) and multi-key total memory encryption (MKTME)
US9152825B2 (en) Using storage controller bus interfaces to secure data transfer between storage devices and hosts
CN111131130B (zh) 密钥管理方法及系统
US11681637B2 (en) Memory controller, storage device including the same, and operating method of the memory controller
KR20220091578A (ko) 메모리 서브시스템에 대한 암호화 키의 위임
US20150227755A1 (en) Encryption and decryption methods of a mobile storage on a file-by-file basis
TWI824378B (zh) 支援將檔案寫入安裝於安全記憶裝置中之檔案系統的機制
US20190199735A1 (en) Device and method for verifying integrity of firmware
US9158943B2 (en) Encryption and decryption device for portable storage device and encryption and decryption method thereof
US11709785B2 (en) Just-in-time post-processing computation capabilities for encrypted data
US20240220667A1 (en) Storage device and computing device including the same
TW202403773A (zh) 半導體裝置及用以管理其之安全操作的系統與方法
TW202036349A (zh) 電腦系統及其虛擬硬碟的加解密方法