TWI564748B - 儲存裝置數據加解密方法 - Google Patents

儲存裝置數據加解密方法 Download PDF

Info

Publication number
TWI564748B
TWI564748B TW104140050A TW104140050A TWI564748B TW I564748 B TWI564748 B TW I564748B TW 104140050 A TW104140050 A TW 104140050A TW 104140050 A TW104140050 A TW 104140050A TW I564748 B TWI564748 B TW I564748B
Authority
TW
Taiwan
Prior art keywords
encryption
hard disk
storage device
data
decryption
Prior art date
Application number
TW104140050A
Other languages
English (en)
Other versions
TW201717099A (zh
Inventor
李凱
薛剛汝
沈昀
李輝
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 上海兆芯集成電路有限公司
Application granted granted Critical
Publication of TWI564748B publication Critical patent/TWI564748B/zh
Publication of TW201717099A publication Critical patent/TW201717099A/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/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/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/80Protecting 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 storage media based on magnetic or optical technology, e.g. disks with sectors

Landscapes

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

Description

儲存裝置數據加解密方法
本案係關於儲存裝置之加解密。
關於可卸式儲存裝置(以下稱之為硬盤),數據加解密為保護用戶數據安全性的常見方法。現有的硬盤加密技術通常是由軟件(例如微軟公司的Bitlock程序或者開升源的Truecrypt程序等)在系統存儲器中進行,或者是由儲存裝置的控制器在儲存裝置內部進行。上述硬盤加密技術的密鑰會暴露在系統存儲器中或連接儲存裝置的匯流排上,造成安全性下降。因此如何避免硬盤密鑰曝露以及提升加密規則破解難度…等是本技術領域亟待解決的重要課題。
根據本案一種實施方式所實現的一儲存裝置數據加解密方法,包括:提供一加解密引擎,為硬件;自寫入指令解析出寫入指令資訊,並將寫入數據與上述寫入指令資訊傳遞至該加解密引擎;以及經由該加解密引擎將一硬盤密鑰與上述寫入指令資訊組合,據以加密上述寫入數據,並將加密後的上述寫入數據透過一連結埠寫入一儲存裝置。
在一種實施方式中,該儲存裝置數據加解密方法更包括:自讀取指令解析出讀取指令資訊,並將取自該儲存裝置未解密之讀取數據與上述讀取指令資訊傳遞至該加解密引 擎;且經由該加解密引擎將上述硬盤密鑰與上述讀取指令資訊組合,據以將未解密之上述讀取數據解密,以回應上述讀取指令。
一種實施方式中,上述寫入指令資訊包括上述寫入指令所指示之邏輯地址以及扇區的數量,且上述讀取指令資訊包括上述讀取指令所指示之邏輯地址以及扇區的數量。該加解密引擎係根據上述邏輯地址以上述扇區為單位作數據加解密。
一種實施方式中,該儲存裝置數據加解密方法更包括:提供一可信賴平台模組,該可信賴平台模組包括一硬盤密鑰供應硬件,且上述硬盤密鑰來自該硬盤密鑰供應硬件。該加解密引擎可遵循一密鑰交換協議與該硬盤密鑰供應硬件通訊以取得上述硬盤密鑰,以維護硬盤密鑰安全性。另一種實施方式中,該加解密引擎係與該硬盤密鑰供應硬件封裝在一起,有效避免硬盤密鑰曝光於外部。另一種實施方式中,該加解密引擎係與該硬盤密鑰供應硬件製作在同一晶片上,有效避免硬盤密鑰曝光於外部。
下文特舉實施例,並配合所附圖示,詳細說明本發明內容。
100‧‧‧晶片組
102‧‧‧儲存裝置主控制器
104‧‧‧加解密引擎
106‧‧‧連結埠
108‧‧‧儲存裝置
202、204‧‧‧加密運算硬件
206‧‧‧模乘元件
208、210‧‧‧模加元件
212‧‧‧加密運算硬件
216‧‧‧模乘元件
218、220‧‧‧模加元件
300‧‧‧可信賴平台模組
302‧‧‧可信賴平台模組軟件
304‧‧‧硬盤密鑰供應硬件
aj‧‧‧常數
C‧‧‧密文
cc‧‧‧數據
Cmd_Info‧‧‧寫入/讀取指令資訊
Data‧‧‧未加密的寫入數據/解密的讀取數據
Data_Encrypted‧‧‧加密的寫入數據/未解密的讀取數據
DEK‧‧‧硬盤密鑰
DEK_key1、DEK_key2‧‧‧組成硬盤密鑰DEK的兩部分密鑰
p‧‧‧明文
pp‧‧‧數據
S402…S406、S502…S514、S522…S534、S602…S620、S702…S714‧‧‧步驟
T‧‧‧模乘結果
第1圖圖解根據本案一種實施方式所實現的一晶片組100;第2A圖圖解XTS-AES資料加密技術;第2B圖圖解XTS-AES資料解密技術; 第3圖圖解一可信賴平台模組(TPM,縮寫自Trusted Platform Module)300;第4圖為硬盤密鑰交換協議之流程圖;第5A圖為SATA硬盤寫入的流程圖;第5B圖為SATA硬盤讀取的流程圖;第6圖為採NCQ DMA的SATA硬盤寫入流程圖;第7圖為USB硬盤寫入的流程圖。
以下敘述列舉本發明的多種實施例。以下敘述介紹本發明的基本概念,且並非意圖限制本發明內容。實際發明範圍應依照申請專利範圍界定之。
第1圖圖解根據本案一種實施方式所實現的一晶片組100。該晶片組100包括一儲存裝置主控制器102以及一加解密引擎104。該儲存裝置主控制器102控制一連結埠106與一儲存裝置108之間的通訊。連結埠106舉例而言可以是序列先進技術附接(SATA)接口,也可以是通用序列匯流排(USB)接口。該儲存裝置108又稱硬盤,可為機械硬盤、或固態硬盤…等。該加解密引擎104為硬件,耦接該儲存裝置主控制器102,以實現對寫入或讀出該儲存裝置108之數據進行加解密。由於該加解密引擎104以硬件方式封閉於晶片組100中,數據安全性大大提升。一種實施方式中,加解密引擎104所作的數據加解密完全不使用晶片組100外部空間作數據暫存。一種實施方式中,由北橋以及南橋組成的晶片組100係將該儲存裝置主控制器102以及該加解密引擎104製作在南橋內。在另一種實施方式 中,更可將該加解密引擎104集成在該儲存裝置主控制器102內部,進一步提申加解密的安全性。至於該儲存裝置主控制器102,其包括自所接收的寫入/讀取指令解析出寫入/讀取指令資訊Cmd_Info。在一種實施方式中,這裡的寫入/讀取指令係由主機(未繪示)的直接記憶體存取(DMA)控制器發送至該晶片組100的DMA請求。
該加解密引擎104係在數據加解密時更考量寫入/讀取指令資訊Cmd_Info,大大提升被破解的難度。
此段落討論寫入指令。該儲存裝置主控制器102會自所接收的寫入指令解析出寫入指令資訊Cmd_Info,並將寫入數據Data與上述寫入指令資訊Cmd_Info傳遞至該加解密引擎104。該加解密引擎104將硬盤密鑰DEK與上述寫入指令資訊Cmd_Info組合,據以加密上述寫入數據Data,並將加密後的上述寫入數據Data_Encrypted交由該儲存裝置主控制器102透過該連結埠106寫入該儲存裝置108。
此段落討論讀取指令。該儲存裝置主控制器102自所接收的讀取指令解析出讀取指令資訊Cmd_Info,並將取自該儲存裝置108的未解密之讀取數據Data_Encrypted與上述讀取指令資訊Cmd_Info傳遞至該加解密引擎104。該加解密引擎104將上述硬盤密鑰DEK與上述讀取指令資訊Cmd_Info組合,據以將未解密之上述讀取數據Data_Encrypted解密,解密後的讀取數據Data交由該儲存裝置主控制器102回應上述讀取指令。
DMA請求所存取的數據是以格式相對固定的數據塊為單位進行傳輸,方便本發明之加解密引擎104進行自動的 加解密操作,無需軟件參與。DMA請求的寫入/讀取指令中包括其要存取的邏輯位址(例如,LBA)及扇區(sector)數量。一種實施方式中,加解密引擎104係根據寫入/讀取指令所指示的邏輯位址(例如,LBA)中的扇區號以扇區為單位作數據加解密;例如,XTS-AES/SM4資料加解密技術。寫入/讀取指令資訊Cmd_Info包括上述寫入/讀取指令所指示之邏輯地址及扇區數量。
第2A圖圖解XTS-AES資料加密技術。寫入指令資訊Cmd_Info包括寫入指令所指示之硬盤扇區號i。硬盤密鑰DEK由密鑰DEK_key1以及密鑰DEK_key2兩部分組成。硬盤扇區號i經過加密運算硬件202與密鑰DEK_key2結合後,係由模乘元件206與常數aj結合,模乘結果T係經模加元件208與未加密的寫入數據p(即「明文」,第1圖以Data標號)結合,模加結果pp經過加密運算硬件204與密鑰DEK_key1結合後,產生之數據cc將由模加元件210與模乘結果T結合,獲得加密的寫入數據C(即「密文」,第1圖以Data_Encrypted標號)。第2A圖係以XTS-AES加密算法為例說明,但本發明並不限於此,採取其他加密算法也落入本發明欲保護的範圍。
第2B圖圖解XTS-AES資料解密技術。讀取指令資訊Cmd_Info包括讀取指令所指示之硬盤扇區號i。硬盤密鑰DEK由密鑰DEK_key1以及密鑰DEK_key2兩部分組成。硬盤扇區號i經過加密運算硬件212與密鑰DEK_key2結合後,係由模乘元件216與常數aj結合,模乘結果T係經模加元件218與未解密的讀取數據C(即「密文」,第1圖以Data_Encrypted標號)結合, 模加結果cc經過解密運算硬件214與密鑰DEK_key1結合後,產生之數據pp將由模加元件220與模乘結果T結合,獲得解密的讀取數據p(即「明文」,第1圖以Data標號)。第2B圖係以XTS-AES解密算法為例說明,但本發明並不限於此,採取其他解密算法也落入本發明欲保護的範圍。
值得注意的是,本發明以硬盤扇區號i與硬盤密鑰組合后對寫入數據Data進行加密,使得在以數據塊(例如扇區)為單位的DMA存取請求中,數據塊與數據塊之間的加解密不存在相依賴關係,第2A圖、第2B圖所描述技術使得不同扇區號的同樣數據呈不同加密結果,不易被破解。此外,由於不同扇區號的加密獨立,故不同扇區號的未解密數據可獨立抽讀和解密。
一種實施方式中,XTS-AES以及XTS-SM4為經由一暫存器位元設定的兩種加解密運算選項;XTS-SM4加解密運算之硬件架構與第2A圖以及第2B圖類似。XTS-AES加解密技術可通過”efuse”位元致能或除能,以符合政策法規。
此段落討論硬盤密鑰DEK。第3圖圖解一可信賴平台模組(TPM,縮寫自Trusted Platform Module)300,其中包括可信賴平台模組軟件302以及硬盤密鑰供應硬件304。硬盤密鑰供應硬件304即與加解密引擎104連結,供應該加解密引擎104所需之硬盤密鑰DEK。可信賴平台模組300可藉統一可延伸韌體介面(UEFI)或作業系統(OS)使可信賴平台模組軟件302運行,以操作該硬盤密鑰供應硬件304產生硬盤密鑰DEK。
此段落討論硬盤密鑰供應硬件304以及加解密引 擎104之間的通訊安全。一種實施方式中,加解密引擎104係遵循一密鑰交換協議(例如,Diffie-Hellman密鑰交換協議)與該硬盤密鑰供應硬件304通訊。第4圖為硬盤密鑰交換協議之流程圖。步驟S402,加解密引擎104與硬盤密鑰供應硬件304確定一密鑰交換密鑰(KEK,簡寫自Key Exchange Key)。步驟S404,硬盤密鑰供應硬件304將硬盤密鑰DEK以該密鑰交換密鑰KEK加密後,傳輸給該加解密引擎104。步驟S406,加解密引擎104利用自身計算的密鑰交換密鑰KEK解密出硬盤密鑰DEK。加解密引擎104即是以流程所示步驟自硬盤密鑰供應硬件304安全獲得硬盤密鑰DEK。
硬盤密鑰供應硬件304以及加解密引擎104之間的通訊封閉性也可以硬體架構實現。一種實施方式中,加解密引擎104係與硬盤密鑰供應硬件304封裝在一起。一種實施方式中,加解密引擎104係與硬盤密鑰供應硬件304製作在同一晶片上。一種實施方式中,由北橋以及南橋組成的晶片組100係將該儲存裝置主控制器102、該加解密引擎104、以及該硬盤密鑰供應硬件304製作在南橋內。以上封閉的通信環境保證硬盤密鑰DEK不會暴露在外部總線或者接口,使得硬盤密鑰供應硬件304以及加解密引擎104之間允許以明文(非加密)方式通訊。
一種實施方式中,該加解密引擎104對該硬盤密鑰供應硬件304的硬盤密鑰DEK要求係在該硬盤密鑰供應硬件304確認使用者設定的辨識條件滿足後方由該硬盤密鑰供應硬件304受理。密碼、智慧卡(smart card)、指紋、遠端認證(remote attestation)、使用者身分(user identity)、系統狀態(system status) 都可作為由使用者設定的辨識條件。辨識條件可由UEFI或OS型式運作之可信賴平台模組軟件302作設定。
一種實施方式中,可信賴平台模組300更利用密鑰遷移(key migration)技術對硬盤密鑰DEK作加密備份。
以下特別討論晶片組100如何對序列先進技術附接(SATA)之儲存裝置108作加解密。SATA硬盤(對應108)可為機械硬盤(HDD)、或固態硬盤(SDD)。晶片組100可設計對SATA硬盤108作全硬盤加密、或特定邏輯地址(例如,LBA)的部分硬盤加密,此可由晶片組100經由基本輸入輸出系統(BIOS)設定。加解密引擎104可採用XTS-AES或XTS-SM4等加密算法,以邏輯地址(如,LBA)為擾亂(tweak,對應第2A圖、第2B圖的硬盤扇區號i)。硬盤扇區尺寸(sector size)例如為512位元組或4K位元組。
第5A圖為SATA硬盤寫入的流程圖。步驟S502,SATA控制器(對應102)解析收到的寫入指令(如WRITE DMA EXT),得到包括邏輯地址(如LBA)以及扇區數量(sector count)的寫入指令資訊Cmd_Info,並將之提供給加解密引擎104作加密請求。步驟S504,加解密引擎104向硬盤密鑰供應硬件304索取硬盤密鑰DEK。步驟S506,硬盤密鑰供應硬件304確認用戶預先定義條件滿足後,供應硬盤密鑰DEK。步驟S508,SATA控制器102接收到致動允許(例如,直接記憶體存取DMA所定義的致動允許DMA Activate Frame Information Structure,DMA Activate FIS)後,將未加密的寫入數據Data轉發給加解密引擎104(例如,以數據塊DATA FIS為單位轉發,一DATA FIS可包括 多個扇區,一個DMA指令可包括多個DATA FIS寫入),即,加解密引擎104從SATA控制器102接收未加密的寫入數據Data(例如,以數據塊DATA FIS為單位接收)。步驟S510,加解密引擎104基於硬盤密鑰DEK及寫入指令資訊Cmd_Info將未加密的寫入數據Data加密,並將加密後的寫入數據Data_Encrypted轉發給SATA控制器102;加解密引擎104可接續加密下一筆DATA FIS,直至不再從SATA控制器102接收到數據。步驟S512,SATA控制器102將加密後的寫入數據Data_Encrypted寫入SATA硬盤108。步驟S514,後續的硬盤狀況(Status傳輸)係由SATA控制器102不經加解密引擎104傳回上層軟件。在一實施例中,SATA控制器102及加解密引擎104會循環執行步驟S508至S514,直至完成該寫入指令所指示的所有DATA FIS的加密。
第5B圖為SATA硬盤讀取的流程圖。步驟S522,SATA控制器102解析收到的讀取指令,得到包括邏輯地址(如LBA)以及扇區數量(sector count)的讀取指令資訊Cmd_Info,並將之提供給加解密引擎104作解密請求。步驟S524,加解密引擎104向硬盤密鑰供應硬件304索取硬盤密鑰DEK。步驟S526,硬盤密鑰供應硬件304確認用戶預先定義條件滿足後,供應硬盤密鑰DEK。步驟S528,SATA控制器102將SATA硬盤108的未解密的讀取數據Data_Encrypted轉發給加解密引擎104(例如,以上述數據塊DATA FIS為單位轉發),即,加解密引擎104從SATA控制器102接收未解密的讀取數據Data_Encrypted(例如,以數據塊DATA FIS為單位接收)。步驟S530,加解密引擎104基於硬盤密鑰DEK及讀取指令資訊Cmd_Info將未解密的讀 取數據Data_Encrypted解密,並將解密的讀取數據Data轉發給SATA控制器102;加解密引擎104可接續解密下一筆DATA FIS,直至不再從SATA控制器102接收到數據。步驟S532,SATA控制器102將解密的讀取數據Data傳回上層軟件。步驟S534,後續的硬盤狀況(Status傳輸)係由SATA控制器102不經加解密引擎104傳回上層軟件。在一實施例中,SATA控制器102及加解密引擎104會循環執行步驟S528至S534,直至完成該讀取指令所指示的所有DATA FIS的解密。
SATA傳輸更可用於原生指令排序(NCQ,縮寫自Native Command Queue)之DMA技術。
第6圖為採NCQ DMA的SATA硬盤寫入流程圖。步驟S602,SATA控制器102解析收到的寫入指令(如WRITE FPDMA QUEUED),得到其標籤(TAG,使遵循NCQ的複數個寫入指令或複數個讀取指令得以區別)、以及包括邏輯地址(如LBA)、與扇區數量與尺寸(sector count and size)的寫入指令資訊Cmd_Info。步驟S604,SATA硬盤108接收到NCQ指令後,會向主機發出狀態信息(Register D2H FIS),以允許更接收下一條NCQ指令。SATA硬盤108亦可能切換去處理其他優先權更高、或者先前接收到的NCQ指令。步驟S606,SATA硬盤108在處理以標籤(TAG)識別之指令前,對主機發出DMA設定(DMA Setup FIS)以及激活信息(DMA ACTIVE FIS)。步驟S608,SATA控制器102自DMA設定信息解析出標籤,找出對應的DMA緩衝器(DMA buffer)以及寫入指令資訊Cmd_Info,並將之提供給加解密引擎104作加密請求。步驟S610,加解密引擎104向硬盤密鑰 供應硬件304索取硬盤密鑰DEK。步驟S612,硬盤密鑰供應硬件304確認用戶預先定義條件滿足後,供應硬盤密鑰DEK。步驟S614,SATA控制器102將未加密的寫入數據Data轉發給加解密引擎104(例如,以數據塊DATA FIS為單位轉發,一DATA FIS可包括多個扇區,一個DMA指令可包括多個DATA FIS寫入),即,加解密引擎104從SATA控制器102接收未加密的寫入數據Data(例如,以數據塊DATA FIS為單位接收)。步驟S616,加解密引擎104基於硬盤密鑰DEK及寫入指令資訊Cmd_Info將未加密的寫入數據Data加密成加密後的寫入數據Data_Encrypted,並轉發給SATA控制器102;加解密引擎104可接續加密下一筆數據,直至不再從SATA控制器102接收到數據。步驟S618,SATA控制器102將加密後的寫入數據Data_Encrypted寫入SATA硬盤108。步驟S620,SATA硬盤108向主機發送一個更新信息(SET Device Bits FIS),更新主機中暫存器(SActive register)以及狀態(Status)的值,該更新信息係經SATA控制器102,不經加解密引擎104傳送回上層軟件。NCQ DMA的SATA硬盤讀取流程亦是以同樣概念安全取得硬盤密鑰DEK,並封閉在加解密引擎104中完成SATA控制器102自SATA硬盤108取得的未解密讀取數據Data_Encrypted。在一實施例中,SATA控制器102及加解密引擎104會循環執行步驟S614和S620,直至完成該寫入指令所指示的所有DATA FIS的加密。
以下特別討論晶片組100如何對通用序列匯流排(USB)通訊之儲存裝置108作加解密。晶片組100可設計對USB硬盤(對應108)作全硬盤加密、或特定邏輯地址(例如,LBA)範 圍的部分硬盤加密,此可由晶片組100經由基本輸入輸出系統(BIOS)設定。晶片組100亦可經基本輸入輸出系統(BIOS)針對特定USB連結埠致能或除能其所連結之儲存裝置的加密。USB控制器(對應第1圖102)控制USB連結埠(對應第1圖106)以及USB硬盤108之間採USB2.0標準下的資料塊傳輸(Bulk-Only Transport,BOT)協定、或USB 3.0標準下的通用序列匯流排連接小型計算機系統接口(USB Attached SCSI,UAS)協定等以數據塊為單位傳輸數據的USB協定。
第7圖為USB硬盤寫入的流程圖。步驟S702,USB控制器102解析收到的寫入指令(如write(10)),得到包括邏輯地址(如LBA)以及扇區數量(sector count)的寫入指令資訊Cmd_Info,並將之提供給加解密引擎104作加密請求。步驟S704,加解密引擎104向硬盤密鑰供應硬件304索取硬盤密鑰DEK。步驟S706,硬盤密鑰供應硬件304確認用戶預先定義條件滿足後,供應硬盤密鑰DEK。步驟S708,USB控制器102將未加密的寫入數據Data(例如,以數據包(data package)為單位)轉發給加解密引擎104。步驟S710,加解密引擎104基於硬盤密鑰DEK及寫入指令資訊Cmd_Info將未加密的寫入數據Data加密,並將加密後的寫入數據Data_Encrypted轉發給USB控制器102;加解密引擎104可接續加密下一筆寫入數據,直至不再從USB控制器102接收到數據。步驟S712,USB控制器102將加密後的寫入數據Data_Encrypted寫入USB硬盤108。步驟S714,後續的硬盤狀況(Status傳輸)係由USB控制器102不經加解密引擎104傳回上層軟件。USB硬盤讀取流程亦是以同樣概念安全取 得硬盤密鑰DEK,並封閉在加解密引擎104中完成USB控制器102自USB硬盤108取得的未解密讀取數據Data_Encrypted。在一實施例中,USB控制器102及加解密引擎104會循環執行步驟S708和S714,直至完成該寫入指令所指示的所有數據包(data package)的加密。
在一種實施方式中,本案所揭露的儲存裝置主控制器102以及加解密引擎104係實現在一主機控制器中,安裝於主機端。
雖然本發明已以較佳實施例揭露如上,然其並非用以限定本發明,任何熟悉此項技藝者,在不脫離本發明之精神和範圍內,當可做些許更動與潤飾,因此本發明之保護範圍當視後附之申請專利範圍所界定者為準。
100‧‧‧晶片組
102‧‧‧儲存裝置主控制器
104‧‧‧加解密引擎
106‧‧‧連結埠
108‧‧‧儲存裝置
Cmd_Info‧‧‧寫入/讀取指令資訊
Data‧‧‧未加密的寫入數據/解密的讀取數據
Data_Encrypted‧‧‧加密的寫入數據/未解密的讀取數據
DEK‧‧‧硬盤密鑰

Claims (19)

  1. 一種儲存裝置數據加解密方法,包括:提供一加解密引擎,為硬件;自寫入指令解析出寫入指令資訊,並將寫入數據與上述寫入指令資訊傳遞至該加解密引擎;以及經由該加解密引擎將一硬盤密鑰與上述寫入指令資訊組合,據以加密上述寫入數據,並將加密後的上述寫入數據透過一連結埠寫入一儲存裝置,該硬盤密鑰來自一可信賴平台模組。
  2. 如申請專利範圍第1項所述之儲存裝置數據加解密方法,更包括:自讀取指令解析出讀取指令資訊,並將取自該儲存裝置未解密之讀取數據與上述讀取指令資訊傳遞至該加解密引擎;且經由該加解密引擎將上述硬盤密鑰與上述讀取指令資訊組合,據以將未解密之上述讀取數據解密,以回應上述讀取指令。
  3. 如申請專利範圍第2項所述之儲存裝置數據加解密方法,其中:上述寫入指令資訊包括上述寫入指令所指示之邏輯地址以及扇區的數量;且上述讀取指令資訊包括上述讀取指令所指示之邏輯地址以及扇區的數量。
  4. 如申請專利範圍第3項所述之儲存裝置數據加解密方法,其 中:該加解密引擎係根據上述邏輯地址以上述扇區為單位作數據加解密。
  5. 如申請專利範圍第1項所述之儲存裝置數據加解密方法,其中該可信賴平台模組包括一硬盤密鑰供應硬件,且上述硬盤密鑰來自該硬盤密鑰供應硬件。
  6. 如申請專利範圍第5項所述之儲存裝置數據加解密方法,其中:該可信賴平台模組藉統一可延伸韌體介面或作業系統操作該硬盤密鑰供應硬件。
  7. 如申請專利範圍第5項所述之儲存裝置數據加解密方法,其中:該加解密引擎係遵循一密鑰交換協議與該硬盤密鑰供應硬件通訊以獲得上述硬盤密鑰。
  8. 如申請專利範圍第5項所述之儲存裝置數據加解密方法,其中:該加解密引擎係與該硬盤密鑰供應硬件封裝在一起或者製作在同一晶片上。
  9. 如申請專利範圍第5項所述之儲存裝置數據加解密方法,其中:該加解密引擎對該硬盤密鑰供應硬件的硬盤密鑰要求係在該硬盤密鑰供應硬件確認使用者設定的辨識條件滿足後方由該硬盤密鑰供應硬件受理。
  10. 如申請專利範圍第5項所述之儲存裝置數據加解密方法,其 中:上述硬盤密鑰係由該可信賴平台模組作加密備份。
  11. 如申請專利範圍第1項所述之儲存裝置數據加解密方法,更包括:經基本輸入輸出系統設定局部加密該儲存裝置,僅加密特定邏輯地址之寫入數據。
  12. 如申請專利範圍第1項所述之儲存裝置數據加解密方法,更包括:在確定收到直接記憶體存取所定義的致動允許後,方將上述寫入數據轉發給該加解密引擎,其中,該連結埠係一序列先進技術附接接口。
  13. 如申請專利範圍第1項所述之儲存裝置數據加解密方法,更包括:自上述寫入指令解析出一標籤,上述標籤使遵循原生指令排序的複數個寫入指令得以區別;以及根據該儲存裝置所指示的標籤將對應的寫入指令資訊傳遞至該加解密引擎,其中,上述寫入指令資訊更包括上述寫入指令所指示的扇區尺寸。
  14. 如申請專利範圍第1項所述之儲存裝置數據加解密方法,更包括:經基本輸入輸出系統致能或除能採通用序列匯流排的該連結埠所連結的該儲存裝置之加密。
  15. 如申請專利範圍第14項所述之儲存裝置數據加解密方法, 更包括:控制該連結埠以及該儲存裝置之間採資料塊傳輸協定。
  16. 如申請專利範圍第14項所述之儲存裝置數據加解密方法,更包括:控制該連結埠以及該儲存裝置之間採通用序列匯流排連接小型計算機系統接口協定。
  17. 如申請專利範圍第1項所述之儲存裝置數據加解密方法,其中該加解密引擎製作在一南橋內。
  18. 如申請專利範圍第5項所述之儲存裝置數據加解密方法,其中該加解密引擎以及該硬盤密鑰供應硬件製作在一南橋內。
  19. 如申請專利範圍第1項所述之儲存裝置數據加解密方法,其中:該寫入指令係發自一主機的直接記憶體存取請求。
TW104140050A 2015-11-02 2015-12-01 儲存裝置數據加解密方法 TWI564748B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510733496.8A CN105354503B (zh) 2015-11-02 2015-11-02 储存装置数据加解密方法

Publications (2)

Publication Number Publication Date
TWI564748B true TWI564748B (zh) 2017-01-01
TW201717099A TW201717099A (zh) 2017-05-16

Family

ID=55330474

Family Applications (1)

Application Number Title Priority Date Filing Date
TW104140050A TWI564748B (zh) 2015-11-02 2015-12-01 儲存裝置數據加解密方法

Country Status (2)

Country Link
CN (1) CN105354503B (zh)
TW (1) TWI564748B (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107766735A (zh) * 2016-08-17 2018-03-06 西安莫贝克半导体科技有限公司 一种无形加密储存方法
CN107888373A (zh) * 2016-09-29 2018-04-06 北京忆芯科技有限公司 Xts‑aes加密电路、解密电路及其方法
CN108920964B (zh) * 2018-06-21 2020-09-29 深圳忆联信息系统有限公司 可重构硬件加解密方法、系统、计算机设备及存储介质
WO2020019334A1 (zh) * 2018-07-27 2020-01-30 威刚科技股份有限公司 具有加解密功能的硬盘及其应用系统
CN109672521B (zh) * 2018-12-26 2022-11-29 贵州华芯通半导体技术有限公司 基于国密加密引擎实现的安全存储系统和方法
TWI722496B (zh) * 2019-06-20 2021-03-21 慧榮科技股份有限公司 使用者資料的加解密方法及裝置
CN113127896B (zh) * 2021-03-29 2022-02-22 深圳市安存数据技术有限公司 基于独立加密芯片的数据处理方法及设备
CN113051533A (zh) * 2021-03-29 2021-06-29 郑州中科集成电路与信息系统产业创新研究院 一种终端设备的安全管理方法
CN115994115B (zh) * 2023-03-22 2023-10-20 成都登临科技有限公司 芯片控制方法、芯片组及电子设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101288065A (zh) * 2005-03-28 2008-10-15 德塔勒哥若公司 关系数据库管理系统的非侵入式加密
US20110123020A1 (en) * 2009-11-26 2011-05-26 Samsung Electronics Co., Ltd. Endecryptor capable of performing parallel processing and encryption/decryption method thereof
TW201118639A (en) * 2009-09-22 2011-06-01 Samsung Electronics Co Ltd Data storage apparatus having cryption and method thereof

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101082883A (zh) * 2006-05-31 2007-12-05 朴显泽 一种具有多层加密保护的存储装置
CN100403281C (zh) * 2006-09-01 2008-07-16 西安交通大学 一种基于动态密钥的硬盘数据加密方法及其装置
CN101582109A (zh) * 2009-06-10 2009-11-18 成都市华为赛门铁克科技有限公司 数据加密方法及装置、数据解密方法及装置、固态硬盘
CN103886234B (zh) * 2014-02-27 2017-01-04 浙江诸暨奇创电子科技有限公司 一种基于加密硬盘的安全计算机及其数据安全控制方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101288065A (zh) * 2005-03-28 2008-10-15 德塔勒哥若公司 关系数据库管理系统的非侵入式加密
TW201118639A (en) * 2009-09-22 2011-06-01 Samsung Electronics Co Ltd Data storage apparatus having cryption and method thereof
US20110123020A1 (en) * 2009-11-26 2011-05-26 Samsung Electronics Co., Ltd. Endecryptor capable of performing parallel processing and encryption/decryption method thereof

Also Published As

Publication number Publication date
CN105354503A (zh) 2016-02-24
CN105354503B (zh) 2020-11-17
TW201717099A (zh) 2017-05-16

Similar Documents

Publication Publication Date Title
TWI596500B (zh) 具硬盤加密功能的晶片組以及主機控制器
TWI564748B (zh) 儲存裝置數據加解密方法
CN109844751B (zh) 用于提供信息隔离的方法和处理器
TWI492088B (zh) 用於控制固態磁碟之系統、方法及電腦可讀媒體
US8392727B2 (en) System and method for transparent disk encryption
US10503934B2 (en) Secure subsystem
US8417967B2 (en) Storage device data encryption using a binary large object (BLOB)
EP2803012B1 (en) Using storage controller bus interfaces to secure data transfer between storage devices and hosts
JP2019505924A (ja) 周辺コンポーネント相互接続エクスプレス(PCIe)システムのためのインライン暗号エンジン(ICE)
US20080052537A1 (en) Storage device, write-back method, and computer product
US9323943B2 (en) Decrypt and encrypt data of storage device
KR20060082804A (ko) 비보안 영역에 보안 영역을 할당하는 방법 및 이를제공하는 휴대용 저장 장치
CN104217180A (zh) 一种加密存储盘
US20140281513A1 (en) Block encryption
US20050259458A1 (en) Method and system of encrypting/decrypting data stored in one or more storage devices
US20220123932A1 (en) Data storage device encryption
JP2022136025A (ja) ストレージ装置
US20220121781A1 (en) Data storage device encryption
TW202249471A (zh) 用於認證在儲存裝置和主機裝置之間的資料傳輸之模組和方法
US20130103953A1 (en) Apparatus and method for encrypting hard disk
KR101620685B1 (ko) 타임-아웃 데이터를 관리하는 방법 및 장치