TW201619867A - 安全資料儲存裝置、系統及其資料寫入與讀取方法 - Google Patents

安全資料儲存裝置、系統及其資料寫入與讀取方法 Download PDF

Info

Publication number
TW201619867A
TW201619867A TW104135996A TW104135996A TW201619867A TW 201619867 A TW201619867 A TW 201619867A TW 104135996 A TW104135996 A TW 104135996A TW 104135996 A TW104135996 A TW 104135996A TW 201619867 A TW201619867 A TW 201619867A
Authority
TW
Taiwan
Prior art keywords
storage device
key
data storage
data
bit
Prior art date
Application number
TW104135996A
Other languages
English (en)
Other versions
TWI552017B (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 華邦電子股份有限公司
Publication of TW201619867A publication Critical patent/TW201619867A/zh
Application granted granted Critical
Publication of TWI552017B publication Critical patent/TWI552017B/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/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/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
    • 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
    • G06F12/1466Key-lock mechanism
    • G06F12/1475Key-lock mechanism in a virtual system, e.g. with translation means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/062Securing storage systems
    • G06F3/0623Securing storage systems in relation to content
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/20Employing a main memory using a specific memory technology
    • G06F2212/202Non-volatile memory

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Human Computer Interaction (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Storage Device Security (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

提供可防止所儲存之資料遭受竄改之一安全資料儲存裝置。安全資料儲存裝置包括儲存資料之二維記憶體陣列、金鑰儲存區域、位址轉換單元與位元混和單元。記憶體陣列包括預定數目之資料字元。金鑰儲存區域儲存金鑰。位址轉換單元根據轉換函數、金鑰和邏輯位址,將邏輯位址轉換為實體位址。位元混和單元混和輸入資料字元之位元值以取得混和資料字元。混和資料字元係輸入資料字元之位元值之重新排列結果。位元混和單元根據一對一映射函數、金鑰和輸入資料字元之邏輯位址進行混和。安全資料儲存裝置可電性連接至主機,以接收讀取指令或寫入指令。

Description

安全資料儲存裝置、系統及其資料寫入與讀取方法
本發明主要係有關於一安全資料儲存裝置及其方法,特別是有關於允許讀取和寫入操作之一安全資料儲存裝置、系統及其資料寫入與讀取方法。
非揮發性(non-volatile)記憶體或非揮發性儲存裝置為即使在未被提供電源時,仍保留儲存資訊之電腦記憶體。舉例來說,非揮發性記憶體包括:唯讀記憶體(Read-only memory,ROM)、快閃記憶體(flash memory)、鐵電隨機存取記憶體(Ferroelectric Random Access Memory,F-RAM),以及不同類性之磁性電腦儲存裝置,例如:硬碟、軟碟、磁帶(magnetic tape)以及光碟(optical discs)。非揮發性記憶體在傳統上係使用在長期且持續之儲存。
快閃記憶體裝置係電子非揮發性電腦儲存媒體,其允許存取或讀取儲存的資料、寫入新的資料以及抹除儲存的資料。在近年來,由於大的記憶體空間以及快速的重寫速度之壓倒性的優勢,快閃記憶體在非揮發性記憶體市場中扮演了一個重要的角色。快閃記憶體被使用在許多不同應用中,舉例來說,在通用串列匯流排(Universal Serial Bus,USB)中,應用於 個人資訊之儲存,或嵌入一信用卡中或禮物卡中,以進行金融支付或業務。
快閃記憶體技術允許在儲存裝置中寫入“0”至任何實體位元位址,以及當要抹除包含複數位元之區塊時,將這些值設定為“1”。儲存之資料在各種裝置使用之情況間,可維持完整性。然而,竄改這類裝置所儲存之資料可能相對地簡單,舉例來說,藉由紫外光或X光照射裝置之儲存部分。對於一些快閃記憶體之應用上,例如:金融業務,儲存在安全儲存裝置之資料不被輕易地竄改係非常重要的事。這樣的竄改將會修改儲存之資料,而使得詐騙容易進行,舉例來說,若一預付禮物卡已遭受竄改,可能會使得在快閃記憶體裝置上會一直顯示禮物卡還有餘額,然而,事實上禮物卡之餘額已經歸零。
因此,提供例如基於快閃記憶體的有效率的資料儲存與重寫之安全儲存裝置,並改善其資料之安全性和完整性,以及防止儲存在裝置的資料遭受竄改,將會是一更理想的情況。
有鑑於上述先前技術之問題,本發明提供了一種安全資料儲存裝置、系統及其資料寫入與讀取方法,可防止所儲存之資料遭受竄改。
根據本發明之一實施例提供了用以防止儲存之資料遭受竄改之一安全資料儲存裝置。上述安全資料儲存裝置包括用以儲存資料之一二維記憶體陣列、金鑰儲存區域、位址轉換單元與位元混和單元。記憶體陣列可為一快閃記憶體,其中 上述二維記憶體陣列包括一預定義數目之資料字元。每一上述資料字元包括一位元集合,且每一上述資料字元分別對應到上述二維記憶體陣列之一單一實體位址。
上述安全資料儲存裝置的金鑰儲存區域用以儲存上述安全資料儲存裝置之一金鑰。在一些實施例中,上述金鑰儲存區域係上述二維記憶體陣列之一部分,但在另一些實施例中,上述金鑰儲存區域係從上述二維記憶體陣列所分隔出來的一儲存區域。儲存在上述金鑰儲存區域之金鑰係一唯一金鑰,例如:為了特定安全資料儲存裝置所制訂的金鑰。
上述安全資料儲存裝置更包括一位址轉換單元。上述位址轉換單元用以轉換一邏輯位址至用以指示上述二維記憶體陣列之一位置之一對應之實體位址。上述位址轉換單元係根據一轉換函數、儲存在上述金鑰儲存區域之至少一部份之上述金鑰以及上述邏輯位址來進行轉換。
上述安全資料儲存裝置更包括一位元混和單元。上述位元混和單元用以混和一輸入資料字元之位元值以取得一混和字元值。上述混和字元值係上述輸入資料字元之上述多個位元值之一重新排列結果,上述位元混和單元係根據一一對一映射函數、至少一部份之上述金鑰以及上述輸入資料字元之上述邏輯位址來進行混和。上述安全資料儲存裝置可電性連接至一主機,以接收上述邏輯位址、一讀取指令或一寫入指令。
在一些實施例中,上述位元混和單元包括複數多工器。每一上述多工器具有一預定義數量之輸入線以及輸出線,決定哪一輸入線對應到哪一輸出線。每一上述多工器可根 據基於儲存在上述金鑰儲存區域之上述金鑰(例如:一唯一金鑰)所產生之控制參數,決定哪一輸入線對應到哪一輸出線。上述控制參數更係根據上述邏輯位址或上述對應之實體位址所產生。
上述安全資料儲存裝置會電性連接至一主機或一控制單元。在一些實施例中,安全資料儲存裝置和主機為一單一實體。
根據本發明之一些實施例提供了一寫入資料至一安全資料儲存裝置之方法。上述安全資料儲存裝置包括一記憶體陣列以及一金鑰,且上述安全資料儲存裝置電性連接至一主機。上述方法包括,從電性連接至上述安全資料儲存裝置之一主機接收一寫入指令,上述寫入指令包括一資料字元之一邏輯位址以及一輸入資料字元;以及根據上述邏輯位址以及根據至少一部份之上述金鑰,轉換上述邏輯位址至上述記憶體陣列之一對應之實體位址。上述轉換之操作係根據一預定義轉換函數來執行。上述方法更包括,根據上述邏輯位址以及根據至少一部份之上述金鑰,計算一混和字元值。上述計算之操作更包括重新排列上述輸入資料字元之多個位元值。上述方法更包括,寫入上述混和字元值至上述記憶體陣列中對應上述實體位址的一位置。
根據本發明之一些實施例提供了一從一安全資料儲存裝置讀取資料之方法。上述安全資料儲存裝置包括一記憶體陣列以及一金鑰,且上述安全資料儲存裝置電性連接至一主機。上述方法包括:從電性連接至上述安全資料儲存裝置之一 主機接收一讀取指令,上述讀取指令包括一資料字元之一邏輯位址;以及根據上述邏輯位址以及根據至少一部份之上述金鑰,轉換上述邏輯位址至上述記憶體陣列之一對應之實體位址。上述轉換之操作係根據一預定義轉換函數來執行。上述方法更包括,從上述記憶體陣列中對應上述實體位址的一位置讀取一混和字元值;以及根據上述邏輯位址以及根據至少一部份之上述金鑰,產生一輸出字元值。上述產生之操作更包括,重新排列上述混和字元值之多個位元值,以取得還原之資料字元值。上述方法更包括,提供上述輸出字元值至上述主機。
根據本發明之一實施例提供了一資料儲存系統。上述資料儲存系統包括一安全資料儲存裝置以及一主機,且上述安全資料儲存裝置電性連接至上述主機,以自上述主機接收上述邏輯位址與一指令。
關於本發明其他附加的特徵與優點,此領域之熟習技術人士,在不脫離本發明之精神和範圍內,當可根據本案實施方法中所揭露之執行聯繫程序之使用者裝置、系統、以及方法,做些許的更動與潤飾而得到。
20‧‧‧邏輯表示圖
21‧‧‧實體表示圖
100‧‧‧主機
101‧‧‧控制單元
120‧‧‧安全資料儲存裝置
121‧‧‧金鑰儲存區域
123‧‧‧位址轉換單元
125‧‧‧二維記憶體陣列
127‧‧‧位元混和單元
128‧‧‧混和控制單元
130、133、137‧‧‧介面
135‧‧‧位址介面
150‧‧‧安全資料儲存系統
200、210、220‧‧‧控制參數
201、201、203、209、211、212、213、219、221、222、223、229‧‧‧多工器
240、241、249‧‧‧輸入位元值
270、271、279‧‧‧混和位元值
300、302、330、332、334、336、338、350、352、354、356‧‧‧步驟
第1A圖係顯示根據本發明之實施例所述之一二維記憶體陣列之邏輯位址映射至一二維陣列之實體位址之示意圖。
第1B圖係顯示根據本發明之實施例所述之安全資料儲存系統150之示意圖。
第2圖係顯示根據本發明之實施例所述之安全資料儲存裝 置120之位元混和單元127之示意圖。
第3A圖係根據本發明一實施例所述關於一安全資料儲存裝置產生以及儲存一金鑰之方法之流程圖。
第3B圖係根據本發明一實施例所述關於從一安全資料儲存裝置讀取資料之方法的流程圖。
第3C圖係根據本發明一實施例所述關於寫入資料至一安全資料儲存裝置之方法之流程圖。
本章節所敘述的是實施本發明之最佳方式,目的在於說明本發明之精神而非用以限定本發明之保護範圍。任何熟習此技藝者,在不脫離本發明之精神和範圍內,當可作些許之更動與潤飾,因此本發明之保護範圍當視後附之申請專利範圍所界定者為準。
除非另外聲明,如同從以下討論而明白的,應瞭解在整個說明書之討論中使用例如:“處理”、“計算”、“儲存”、“決定”等,是指電腦或計算機系統,或類似的電子計算裝置之動作及/或處理,其將計算機系統的暫存器及/或記憶體中以物理量呈現的資料,操縱及/或轉換為在計算系統的記憶體、暫存器或其他此種資訊儲存、傳送或顯示裝置中以類似的物理量呈現的其他資料。
本發明之實施例可以包括用於在此實施操作之裝置,此類裝置可為所想要的目的而特別被建構出,或可包括由儲存其中之運算程式選擇地啟動或重新配置的電腦或處理器。此種程式可以儲存在儲存媒體上,例如但不限制於任何形 式之磁碟包括:軟磁碟、光學磁碟、光碟唯讀記憶體(CD-ROM)、磁光磁碟、唯讀記憶體(ROM)、隨機存取記憶體(RAM)、電性可程式唯讀記憶體(EPROMS)、電性可拭除且可程式唯讀記憶體(EEPROM)、磁性或光學卡、或任何其他型式適用於儲存電子指令之媒體,且能夠連接至計算機之系統匯流排。應瞭解各種的編程語言可被用以實施本發明以下的教導。
本發明的實施方式可以包括用以編碼、包括或儲存指令的物件,例如一電腦或處理器可讀媒體或一電腦或處理器儲存媒體(例如記憶體、硬碟或快閃記憶體)。上述指令例如電腦可執行指令,當此物件被處理器或控制器執行時,將使得處理器或控制器可實現本發明所揭露之方法。
非揮發性記憶體裝置(例如快閃記憶體)的特性是,寫入一特定的位元值(例如:0)會比寫入其它位元值(例如:1)至記憶體裝置還要簡單。舉例來說:快閃記憶體會致能一單一有效率之寫入方向,例如:在儲存裝置中,有效率地寫入位元值“0”(零)至任何實體位址。然而,在記憶體裝置中寫入位元值“1”將會比寫入位元值“0”沒有效率,且需要複製寫入於包含需要變換之位元之一記憶體區塊之資料以及複數額外的位元,且需要抹除或重設定記憶體裝置中的整個區塊,此外更需要將對應未曾被更改之位元的原始資料,以及對應已從“0”更改至“1”之一或多位元的新資料,重新寫入被抹除之區塊。因此,快閃記憶體或儲存裝置會具有一有效率寫入方向以及一低效率或無效率寫入方向之特性。在另一範例中,某些具有單一有效率之寫入方向的記憶體裝置寫入位元值“1”會比寫入位元 值“0”執行起來更有效率。
在需要執行多個寫入操作之應用中,更改資料使得資料大部分或僅在有效率(例如:資料位元值傳統上會從“1”更改至“0”,很少或從不從“0”更改至“1”)之單一方向進行寫入,將有利於維持快閃記憶體只在有效率之方向寫入資料之特性。此外,這樣的作法亦會加速交易,且防止需要更大記憶體單元之需求。
然而,為了防止儲存在裝置之資料發生詐騙以及竄改,維護儲存在裝置之資料之安全性係必要的。不同的加密方法在此領域中已被提出。舉例來說,RSA演算法係一種公開金鑰(public-key)加密方法,在RSA演算法中包含了一公開加密金鑰以及一私密解密金鑰。進階加密標準(Advanced Encryption Standard,AES)係使用對稱金鑰演算法來加密電子資料之規格,此對稱金鑰演算法係由美國國家標準與技術研究院(U.S.National Institute of Standards and Technology(NIST))於2001年,以及根據Rijndael加密法(Rijndael cipher)所建立。上述以及其它未提到之加密方法,會變換儲存在記憶體之資料值,且當資料被讀取時,被加密之資料必須解碼回明文(plain text)之內容。因此,原先包含一特定數量之“0”位元值以及“1”位元值之一記憶體區塊在加密後會被改變為包括一不同數量之需儲存在記憶體之“0”位元值以及“1”位元值。如同上述之內容,在一方向(例如:從1至0)資料頻繁的變換較有效率,但在另一方向(例如:從0至1)資料的變換相對地比較沒有效率、繁雜且需要更多時間來執行單向交易。
本發明所要處理之技術問題係關於輸入資料值和加密資料值之間的差異。在本發明內文所使用之一“資料字元(data word)”,係指處理器或電腦所使用之資料之一基本單位之名稱。一資料字元係表示,指令集或處理器硬體在處理資料時,視為單一單元之一固定大小之一組位元或數字(例如:二進制之數字(binary)或十進制之數字(decimal))。一資料字元的位元或數字之數量視為此資料字元之大小或長度。資料字元之大小會反映在許多電腦架構或操作之情況。舉例來說,一處理器大部分的暫存器通常係以字元為單位,且在許多(不是全部)架構中,在一單向作業時,資料可在工作之記憶體被來回轉換之最大長度通常為一字元。處理器在一般情況具有的資料字元大小為8、16、24、32或64位元(bits)。在一些實施例中,處理器或儲存裝置可使用超過一字元大小為單位。
在本發明內文所使用之一“字元值(word value)”,係指儲存在一記憶體單元的一特定資料單位或一預定長度之資料字元的一實際數字值。在本發明內文所使用之一“位元值(bit value)”,係指儲存在記憶體單元的一特定位元之一實際二進位值。當加密資料時(例如:使用上述加密方法之一者加密資料),每一資料字元之加密資料值在一般來說會和輸入(明文或非加密)資料字元值有很大的不同。舉例來說,以二進制資料為例,若我們計算接收以作為加密運算之輸入之一資料字元,以及經過加密運算後輸出之加密資料字元中所包含之“0”值和“1”值之數量,將會發現兩者之數值會非常不同。即使輸入資料值之變化很小,在加密資料值之變化會非常大,且當寫 入加密資料值至一儲存單元時,將會比寫入明文資料值時,需要重新寫入或轉換更多位元值。為了可以利用快閃記憶體之特性,提供可以保護儲存資料之安全,且不用轉換該資料之位元值之方法將是必要的。
本發明揭露一種混和輸入資料值且不用轉換位元值之方法。舉例來說,一輸入字元值“1110”可混和(mix)成“1011”、“1101”、“1110”或“0111”。
本發明所揭露之裝置和方法之目的,係為了能夠安全地寫入資料至具有單一有效率寫入方向之一儲存裝置。
安全寫入係藉由混和輸入資料,而不變換資料位元值,特別是不需要在無效率之寫入方向寫入數值至儲存裝置之方式來執行。本發明所揭露之裝置和方法允許在有效率之方向寫入額外資料至儲存裝置。舉例來說,只要在儲存裝置中仍有未變換之資料位元值(例如:在有效率方向中還未被覆寫(over-written)),即允許在有效率之方向寫入額外資料至儲存裝置。對於有效率地寫入方向為從“1”至“0”之方向的例子中,只要不是全部的位元值都等於“0”的情況下,舉例來說,對於初始僅儲存包含位元值“1”之資料之一安全資料儲存裝置,可允許在此有效率地寫入方向變換每一儲存之資料字元。在另一範例中,對於有效率寫入方向為從“0”至“1”之方向且初始僅儲存包含位元值“0”之資料之一安全資料儲存裝置,只要不是全部的位元值都等於“1”的情況下,會允許在上述有效率的寫入方向上變換每一儲存之資料字元。
本發明一些實施例包括一安全非揮發性資料儲存 單元,其以一安全方式儲存原始資料(例如:非加密資料值)。於第一階段中,藉由一位址轉換單元執行資料位址變換,以消除在安全資料儲存裝置中的一邏輯位址和一資料字元之實際實體位址間的一相關性。於第二階段中,藉由一位元混合單元執行資料混和,以擾亂(scramble)且不改變一特定資料單元中的複數個位元值。
根據本發明一些實施例,一資料儲存單元可包括,例如:一二維記憶體陣列(例如:藉由列和行所呈現之列表)。此陣列包含一既定數目之多個列(或資料字元)。在陣列中的每一字元具有一預定大小(或位元數目),例如:8位元、32位元、64位元或128位元,且字元之大小等於在二維陣列中行之個數。根據本發明一些實施例,陣列可包含超過一種字元大小,例如:陣列的一部分具有一第一字元大小,而陣列的另一部分則具有一第二字元大小。每一字元和記憶體陣列之一單一實體位置(被稱為實體位址)相關聯。一字元之實體位址係表示儲存在記憶體陣列之資料字元之實際(實體)位置。當讀取儲存在裝置之資料或寫入資料至一指定的邏輯位址時,字元之實體位址是被記憶體單元硬體存取之位置。資料字元包括一位元集合,例如:一固定數量之位元,且在一資料字元中的每一資料位元會對應到在資料字元之實體位址中的一實體位元位置。
在一記憶體單元中的一指定的實體位址儲存了一字元值,其中此字元值係實際之二位元值或數值。
第1A圖係顯示根據本發明之實施例所述之一二維記憶體陣列之邏輯位址映射至一二維記憶體陣列之實體位址 之示意圖。一記憶體陣列MEM可被定義成一4列(字元)之表格,每一字元之長度為10位元(bits)。在記憶體陣列MEM中的第一字元之一邏輯位址可被標示為L_MEM[0],且在第一字元中的第二位元之邏輯位元位置可被標示為L_MEM[0,1]。記憶體陣列MEM之邏輯表示圖(logical representation,L_MEM)20示出了三個邏輯位元位置所對應的位元值:L_MEM[0,1]=x;L_MEM[0,2]=y;以及L_MEM[0,3]=z。
在L_MEM邏輯表示圖20中,每一字元(或列)會被映射到在實體表示圖(physical representation,P_MEM)21中不同的列。舉例來說,在邏輯表示圖20中的第一列(標示為L_MEM[0])會被映射到實體表示圖21中的第三列(標示為P_MEM[2])。在邏輯表示圖20中的第二列(標示為L_MEM[1])會被映射到實體表示圖21中的第一列(標示為P_MEM[0])。
此外,邏輯表示圖20之一列中的每一位元會映射至在實體表示圖21中不同的位元位置。舉例來說,具有位元值x且位於邏輯表示圖20之L_MEM[0,1]之位元會被映射至實體表示圖21中P_MEM[2,9]之位置。具有位元值y且位於邏輯表示圖20之L_MEM[0,2]之位元會被映射至實體表示圖21中P_MEM[2,6]之位置。因此,在實體表示圖21之這些字元(列)會被混和,且在各字元中的位元值亦同樣地會被混和,但在每一字元內以及在整個記憶體單元內的資料值仍維持不變。
第1B圖係顯示根據本發明之實施例所述之安全資料儲存系統150之示意圖。如第1B圖所示,安全資料儲存系統150包含一安全資料儲存裝置120。安全資料儲存裝置120 包含二維記憶體陣列125,例如配置為一二維結構之一快閃記憶體陣列,或其他非揮發性記憶體陣列。在二維記憶體陣列125中的每一字元(或列)對應到一實體位址,且其字元值是儲存在所對應之實體位址。每一字元包括一位元集合,例如:一固定數量之位元。在一些實施例中,每一位元及/或字元可藉由一主機100或一外部控制單元個別地被存取(例如:為了讀取或寫入)。
安全資料儲存裝置120可包括一金鑰儲存區域121,其為專用以儲存一金鑰的預定義儲存區域。此金鑰可為或可包括一字串,例如:文數字字元(alphanumeric character)、二進位字元、數字等。在一實施例中,金鑰之長度可為128位元。根據本發明一些實施例,此金鑰或其部分可用以作為混和和保護儲存之資料之一或多金鑰。金鑰儲存區域121可為安全資料儲存裝置120中的獨立儲存區域,且/或在二維記憶體陣列125中的一預定義的固定位址。
安全資料儲存裝置120包括一位址轉換單元123。位址轉換單元123從主機100接收一邏輯位址,以及轉換此邏輯位址至用以指示在二維記憶體陣列125中的一位置之一對應的實體位址。在本發明之實施例中,一邏輯位址係指對應於二維記憶體陣列125中一字元(或列,或資料單元)之一單一實體位址的一記憶體位址。位址轉換單元123會根據例如指定邏輯位址、儲存在金鑰儲存區域121之至少一部份金鑰,以及一預定義之轉換函數,將邏輯位址轉換成對應的實體位址。任何習知的加密/解密演算法或方法(或演算法或方法之結合)都可應 用在執行轉換函數上,舉例來說:互斥或運算(XOR)(根據互斥析取操作來進行操作)、線性回饋移位暫存器(Linear Feedback Shift Register,LFSR)、進階加密標準(Advanced Encryption Standard,AES)、資料加密標準(Data Encryption Standard,DES)、安全雜湊演算法(Secure Hash Algorithm,SHA)以及/或RSA加密演算法。亦可採用其他混和、轉換、映射或加密之方法,以取得和對應之邏輯位址不具相關性之一實體位址。藉由位址轉換單元123計算出之實體位址會經由介面133傳送至二維記憶體陣列125,以協助在二維記憶體陣列125中讀取、寫入以及抹除之操作。
安全資料儲存裝置120包括一位元混和單元127。位元混和單元127用以混和一輸入資料字元之位元值以取得一混和字元值。混和字元值會儲存在二維記憶體陣列125中藉由位址轉換單元123轉換一邏輯位址所取得之實體位址中。位元混和操作係根據混和控制單元128所提供之控制參數來執行,其中混和控制單元128可根據儲存在金鑰儲存區域121之至少一部份金鑰,以及輸入資料之邏輯位址來提供控制參數。位元混和單元127不會改變在一資料字元之位元值,而是混合或重新排列資料字元中的位元值。因此,混和資料字元所包含之位元值“0”的總數目和位元值“1”的總數目分別會和輸入資料字元(在明文中)所包含之位元值“0”的總數目和位元值“1”的總數目相等。混和字元值會藉由介面137從位元混和單元127儲存至二維記憶體陣列125,以及當一主機裝置(例如:主機100)執行一“讀取”指令時,從二維記憶體陣列125傳送至位元混和 單元127。當主機100執行一“讀取”指令時,混和資料字元會藉由位元混和單元127還原,以取得原始的或明文的字元資料。然後明文字元資料會經由介面130傳送至主機100。類似地,當主機100執行一“寫入”指令以寫入輸入資料字元時,輸入字元值會經由介面130傳送至位元混和單元127進行混和,混和字元值會藉由介面137儲存至二維記憶體陣列125。主機100亦會執行一“抹除”指令,以抹除或重新設定在安全資料儲存裝置120中的一記憶體區域。“清除”指令可包括一邏輯位址以及所要清除之區域大小。
於一實施例中,位址轉換單元123根據金鑰的一第一部份將邏輯位址轉換為實體位址,且位元混和單元127根據金鑰的一第二部份混和一輸入資料字元的那些位元值。
安全資料儲存系統150包括安全資料儲存裝置120以及可電性連接之主機100。根據本發明一些實施例,主機100可為一外部處理器或一外部電腦,且操作性地電性連接至安全資料儲存裝置120。根據本發明另一些實施例,主機100可整合或包含於安全資料儲存裝置120中,例如主機100和安全資料儲存裝置120可配置在單一個實體單元中。位址介面135連接在主機100和安全資料儲存裝置120之間,用以使得一邏輯位址可被安全資料儲存裝置120接收,例如邏輯位址可經由位址介面135傳送至安全資料儲存裝置120的位址轉換單元123。
第2圖係顯示根據本發明之實施例所述之安全資料儲存裝置120之位元混和單元127之示意圖。如第2圖所示,位元混和單元127用以接收N個輸入位元值(資料[0]、資料[1]~ 資料[n-1])240~249,以及輸出N個混和資料值(混和資料[0]、混和資料[1]~混和資料[n-1])270~279,其中N為一大於1之常數,且N個混和資料值270~279係由N個輸入位元值240~249重新置換位置或重新排列所產生。
位元混和單元127可實施一對一映射函數。詳細來說,位元混和單元127可接收輸入之控制參數和輸入字元值,且藉由攪亂、重新排列或混和輸入字元值,以產生和輸入資料字元大小相同,且具有和輸入資料字元相同的位元值之輸出資料字元。輸入資料字元的每一輸入位元值會經由位元混和單元127之單一輸出線而被輸出。
位元混和單元127亦可根據此領域之習知之方式進行混和或重新排列資料值。根據本發明一些實施例,位元混和單元127可包括複數多工器(multiplexer)或雜湊單元(hash unit)201-209、211-219以及221-229。於一實施例中,每一多工器可包括一固定數量之輸入線,以及和輸入線相同數目之輸出線。每一線路可傳輸一單一位元值。每一多工器會決定哪一個輸入線會對應到哪一輸出線。舉例來說,一多工器可接收兩位元值之輸入,且以一混和之方式或不改變輸入之位元值之方式,來輸出這兩位元值。每一多工器根據提供至位元混和單元127的控制參數來混合輸入位元。
位元混和單元127會從連接至金鑰儲存區域121和位址介面135之混和控制單元128接收一或多個控制參數CTRL1、CTRL2、CTRL3(例如:控制參數200、210和220)。混和控制單元128係根據儲存在金鑰儲存區域121之金鑰以及 輸入資料字元之邏輯位址,計算出控制參數。多個多工器可使用相同的控制參數。舉例來說,各多工器201-209接收控制參數200,各多工器211-219接收控制參數210,以及類似地,各多工器221-229接收控制參數220。不同數目的控制參數可被使用,舉例來說,每一多工器可使用不同的控制參數。輸入資料值可能置換位置之數目係根據提供至位元混和單元127的控制參數之數目來決定。因此,控制參數之數目和混和操作所提供之資料安全之級別相關。
原來在輸入資料字元中特定位元位置的每一位元,會被映射到儲存在實體記憶體之混和資料字元中的一個新位置。每一字元之資料值以一混和的方式被儲存在記憶體陣列,其中混和的方式係根據輸入邏輯位址以及由金鑰推導出的一或多個控制參數來完成。因此,想竄改儲存資料之任何嘗試,都需要得知控制參數以及混和操作才能進行,因此竄改儲存資料之操作將會變得困難且費時。
根據本發明一些實施例,各安全資料儲存裝置可接收一唯一或客制的金鑰,因此,當嘗試竄改具有一不同金鑰值之一第二安全資料儲存裝置時,找到對應一第一安全資料儲存裝置之控制參數,並無法提供任何幫助。
第3A圖係根據本發明一實施例所述關於一安全資料儲存裝置產生以及儲存一金鑰之方法之流程圖。在步驟300會產生一金鑰。根據本發明一些實施例,每一安全資料儲存裝置會分別產生一唯一的金鑰。在其他實施例中,多個安全資料儲存裝置可共用一個相同的金鑰。金鑰會有一預定義之長度 (位元之數量),例如:128或256位元長度。其他的長度亦可被採用。不同的隨機金鑰產生器可被採用。
當金鑰產生後,在步驟302中,金鑰會被儲存在安全資料儲存裝置之金鑰儲存區域中。一般來說,連接至安全資料儲存裝置進行操作之一主機裝置(例如:在安全資料儲存裝置之外部之裝置,或包括在安全資料儲存裝置內之裝置),會用以取得或產生金鑰,然後將金鑰儲存在金鑰儲存區域中。
第3B圖係根據本發明一實施例所述關於從一安全資料儲存裝置讀取資料之方法的流程圖。在步驟330中,接收從一主機裝置傳送一“讀取”指令,此“讀取”指令包括一邏輯位址,且該一邏輯位址對應儲存在一安全資料儲存裝置之一字元。
在步驟332中,邏輯位址會被轉換成在安全資料儲存裝置之一記憶體陣列之一實體位址。舉例來說,藉由安全資料儲存裝置內部之一位址轉換單元,例如:第1B圖之位址轉換單元123,將邏輯位址轉換成記憶體陣列的一實體位址。上述轉換係根據邏輯位址以及儲存在安全資料儲存裝置之一專用之金鑰儲存區域(例如:金鑰儲存區域121)之一金鑰(或此金鑰之一部份)來進行。邏輯位址到實體位址之轉換係根據儲存在位址轉換單元之一預定義之轉換函數(例如已知的加密函數)來執行。轉換函數消除了邏輯位址和記憶體陣列之實體位址間的相關性。
在步驟334,根據所計算出之實體位址,從記憶體陣列取得一混和資料值(即混和字元值)。在步驟336,混和資 料值會傳送至一位元混和/還原(mixing/un-mixing)單元,以在步驟336中產生一輸出資料值,此輸出資料值係一還原或明文之字元值。位元混和/還原之操作係根據輸入之邏輯位址,以及從儲存在安全資料儲存裝置之一金鑰儲存區域之至少一部份金鑰所推導出來的一或多個控制參數,來進行。舉例來說,位元混和/還原之操作係藉由包含在安全資料儲存裝置之一位元混和單元(例如:第1B圖之位元混和單元127)來執行。位元混和單元可藉由複數多工器來執行操作,複數多工器會接收一固定數量之資料位元以及控制參數,以及根據一混和或重新排列之方式,輸出具有和輸入資料位元相同數目之位元。
在步驟338中,輸出資料值(即輸出字元值)經由資料介面提供給產生“讀取”指令之主機裝置,資料介面係電性地且操作性地連接主機裝置至安全資料儲存裝置。
第3C圖係根據本發明一實施例所述關於寫入資料至一安全資料儲存裝置之方法之流程圖。在步驟350中,從電性地且操作性地連接至安全資料儲存裝置之主機裝置傳送一“寫入”指令。“寫入”指令包括將被儲存在安全資料儲存裝置之一輸入字元值以及一邏輯位址。
在步驟352,根據邏輯位址以及儲存在安全資料儲存裝置的金鑰儲存區域(例如:金鑰儲存區域121)之一金鑰(或此金鑰之部分)計算出一實體位址。實體位址係藉由一位址轉換單元(例如:第1B圖之位址轉換單元123)所計算出來,此位址轉換單元儲存一預定義之位址轉換函數,用以將邏輯位址轉換為對應的實體位址。
在步驟354中,藉由一位元混和單元(例如:第1B圖之位元混和單元127)根據輸入字元值、由金鑰或部分金鑰所推導出來的控制參數,以及作為輸入之邏輯位址,產生一混和字元值。在位元混和操作會採用一對一函數,以產生輸入資料字元之位元值經過置換位置或重新排列的結果,但卻維持和輸入資料字元相同的位元值。根據本發明一實施例,位元混和單元包括複數個多工器。每一多工器接收一固定數量之輸入位元值,以及產生和輸入位元值相同且將輸入位元值經過混和或重新排列之一輸出。
在步驟356中,在安全資料儲存裝置所包含的一二維記憶體陣列中,將混和字元值寫入實體位址(如步驟352所產生之實體位址)所指示之位置。
為了一目的或其變型,在本文所用的術語“配置”且/或“適應”,係表示設計來用以達成目的所使用之組件之方式且/或機制。
本文所使用的術語除非另有說明不應當理解為對本發明之限制,本文所使用的術語之目的僅係為了描述特定實施例,並非用以限制本發明。雖然本發明之實施方案已經說明和描述,但應該清楚地了解本發明並不限於本文所描述之實施例。許多修改,改變,變化,替換和等同做法都不會被排除在外。
雖然本發明已以較佳實施例揭露如上,然其並非用以限定本發明,任何熟習此技藝者,在不脫離本發明之精神和範圍內,當可作些許之更動與潤飾,因此本發明之保護範圍 當視後附之申請專利範圍所界定者為準。
100‧‧‧主機
101‧‧‧控制單元
120‧‧‧安全資料儲存裝置
121‧‧‧金鑰儲存區域
123‧‧‧位址轉換單元
125‧‧‧二維記憶體陣列
127‧‧‧位元混和單元
128‧‧‧混和控制單元
130‧‧‧介面
133‧‧‧介面
135‧‧‧位址介面
137‧‧‧介面
150‧‧‧安全資料儲存系統

Claims (16)

  1. 一種安全資料儲存裝置,用以防止所儲存之資料遭受竄改,包括:一二維記憶體陣列,用以儲存資料,其中上述二維記憶體陣列包括一預定義數目之資料字元,每一上述資料字元包括一位元集合,每一上述資料字元分別對應到上述二維記憶體陣列之一單一實體位址;一金鑰儲存區域,用以儲存上述安全資料儲存裝置之一金鑰;一位址轉換單元,用以將一邏輯位址轉換為用以指示上述二維記憶體陣列之一位置之一對應之實體位址,其中上述位址轉換單元係根據一轉換函數、儲存在上述金鑰儲存區域之至少一部份之上述金鑰以及上述邏輯位址來進行轉換;以及一位元混和單元,用以混和一輸入資料字元之多個位元值以取得一混和字元值,其中上述混和字元值係上述輸入資料字元之上述多個位元值之一重新排列結果,上述位元混和單元係根據一一對一映射函數、至少一部份之上述金鑰以及上述輸入資料字元之上述邏輯位址來進行混和;其中上述安全資料儲存裝置電性連接至一主機,以接收上述邏輯位址。
  2. 如申請專利範圍第1項所述之安全資料儲存裝置,其中上述位址轉換單元根據上述金鑰之一第一部份將上述邏輯位址轉換為上述實體位址,以及上述位元混和單 元根據上述金鑰之一第二部份混和上述多個位元值。
  3. 如申請專利範圍第1項所述之安全資料儲存裝置,其中上述金鑰儲存區域係上述二維記憶體陣列之一預定義部分。
  4. 如申請專利範圍第1項所述之安全資料儲存裝置,其中上述金鑰儲存區域係從上述二維記憶體陣列所分隔出來的一儲存區域。
  5. 如申請專利範圍第1項所述之安全資料儲存裝置,其中上述二維記憶體陣列係一快閃記憶體陣列。
  6. 如申請專利範圍第1項所述之安全資料儲存裝置,其中上述位元混和單元包括複數個多工器,每一上述多工器具有一預定義數量之輸入線以及輸出線,每一上述多工器根據從儲存在上述金鑰儲存區域之上述金鑰取得之控制參數,決定哪一輸入線對應到哪一輸出線。
  7. 如申請專利範圍第6項所述之安全資料儲存裝置,其中上述控制參數更係根據上述邏輯位址或上述對應之實體位址所產生。
  8. 如申請專利範圍第1項所述之安全資料儲存裝置,其中上述金鑰係為了每一特定安全資料儲存裝置所制訂之一唯一金鑰。
  9. 如申請專利範圍第1項所述之安全資料儲存裝置,其中上述主機係在上述安全資料儲存裝置之外部,且上述安全資料儲存裝置自上述主機接收上述邏輯位址、一讀取指令或一寫入指令。
  10. 一種寫入資料至一安全資料儲存裝置之方法,上述安全資 料儲存裝置包括一記憶體陣列以及一金鑰,且上述安全資料儲存裝置可電性連接至一主機,上述方法包括:從電性連接至上述安全資料儲存裝置之上述主機接收一寫入指令,上述寫入指令包括一資料字元之一邏輯位址以及一輸入資料字元;根據上述邏輯位址以及根據至少一部份之上述金鑰,轉換上述邏輯位址至上述記憶體陣列之一對應之實體位址,其中上述轉換之操作係根據一預定義轉換函數來執行;根據上述邏輯位址以及根據至少一部份之上述金鑰,計算一混和字元值,其中上述計算之操作更包括重新排列上述輸入資料字元中的多個位元值;以及寫入上述混和字元值至上述記憶體陣列中對應上述實體位址的一位置。
  11. 如申請專利範圍第10項所述之方法,其中計算上述混和資料字元係藉由複數個多工器來執行,每一上述多工器具有一預定義數量之輸入線以及輸出線,其中上述方法更包括:根據儲存在上述安全資料儲存裝置的一金鑰儲存區域之上述金鑰所產生之控制參數,決定哪一輸入線對應到哪一輸出線。
  12. 如申請專利範圍第11項所述之方法,其中根據上述邏輯位址或上述對應之實體位址計算上述控制參數。
  13. 如申請專利範圍第10項所述之方法,更包括:在每一特定資料儲存裝置儲存所制訂的一唯一金鑰。
  14. 一種從一安全資料儲存裝置讀取資料之方法,上述安全資料儲存裝置包括一記憶體陣列以及一金鑰,且上述安全資料儲存裝置可電性連接至一主機,上述方法包括:從電性連接至上述安全資料儲存裝置之上述主機接收一讀取指令,上述讀取指令包括一資料字元之一邏輯位址;根據上述邏輯位址以及根據至少一部份之上述金鑰,轉換上述邏輯位址至上述記憶體陣列之一對應之實體位址,其中上述轉換之操作係根據一預定義轉換函數來執行;從上述記憶體陣列中對應上述實體位址的一位置讀取一混和字元值;根據上述邏輯位址以及根據至少一部份之上述金鑰,產生一輸出字元值,其中上述產生之操作更包括,重新排列上述混和字元值之多個位元值,以取得還原之資料字元值;以及提供上述輸出字元值至上述主機。
  15. 一種資料儲存系統,包括:一主機,上述主機傳送一輸入資料字元的一邏輯位址與一指令,其中上述指令係選自一讀取指令、一寫入指令或一抹除指令;以及至少一安全資料儲存裝置,上述安全資料儲存裝置電性連接至上述主機以接收上述邏輯位址與上述指令,上述安全資料儲存裝置包括:一二維記憶體陣列,用以儲存資料,其中上述二維記憶體陣列包括一預定義數目之資料字元,每一上述資料字元包 括一位元集合,每一上述資料字元分別對應到上述二維記憶體陣列之一單一實體位址;一金鑰儲存區域,用以儲存上述安全資料儲存裝置之一金鑰;一位址轉換單元,用以轉換上述邏輯位址至用以指示上述二維記憶體陣列之一位置之一對應之實體位址,其中上述位址轉換單元係根據一轉換函數、儲存在上述金鑰儲存區域之至少一部份之上述金鑰以及上述邏輯位址來進行轉換;以及一位元混和單元,用以混和一輸入資料字元之位元值以取得一混和字元資料,其中上述混和字元資料係上述輸入資料字元之上述位元值之一重新排列,上述位元混和單元係根據一一對一映射函數、至少一部份之上述金鑰以及上述輸入資料字元之上述邏輯位址來進行混和。
  16. 如申請專利範圍第15項所述之資料儲存系統,更包括多個上述安全資料儲存裝置與多個上述金鑰,其中各金鑰係為了每一特定安全資料儲存裝置所制訂之一唯一金鑰。
TW104135996A 2014-11-17 2015-11-02 安全資料儲存裝置、系統及其資料寫入與讀取方法 TWI552017B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
IL235729A IL235729A (en) 2014-11-17 2014-11-17 A device and method for securely storing information

Publications (2)

Publication Number Publication Date
TW201619867A true TW201619867A (zh) 2016-06-01
TWI552017B TWI552017B (zh) 2016-10-01

Family

ID=52594880

Family Applications (1)

Application Number Title Priority Date Filing Date
TW104135996A TWI552017B (zh) 2014-11-17 2015-11-02 安全資料儲存裝置、系統及其資料寫入與讀取方法

Country Status (5)

Country Link
US (1) US9626529B2 (zh)
EP (1) EP3021226A1 (zh)
CN (1) CN105607865B (zh)
IL (1) IL235729A (zh)
TW (1) TWI552017B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI716197B (zh) * 2018-12-03 2021-01-11 華邦電子股份有限公司 更新非揮發性記憶體的加密金鑰與產生加密金鑰的新例項的裝置與物聯網裝置及其方法
TWI745784B (zh) * 2019-11-08 2021-11-11 精品科技股份有限公司 磁碟資安系統

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9298647B2 (en) * 2014-08-25 2016-03-29 HGST Netherlands B.V. Method and apparatus to generate zero content over garbage data when encryption parameters are changed
TWI536197B (zh) * 2015-08-28 2016-06-01 匿名性身分識別方法與系統
US10482036B2 (en) * 2016-09-18 2019-11-19 Winbond Electronics Corporation Securely binding between memory chip and host
US10296741B2 (en) * 2017-07-27 2019-05-21 International Business Machines Corporation Secure memory implementation for secure execution of virtual machines
CN109979519B (zh) * 2017-12-27 2021-03-16 华邦电子股份有限公司 存储器完整性的检验方法、非易失性存储器以及电子装置
US11036651B2 (en) * 2018-06-29 2021-06-15 Micron Technology, Inc. Host side caching security for flash memory
US11341052B2 (en) * 2018-10-15 2022-05-24 Texas Instruments Incorporated Multi-processor, multi-domain, multi-protocol, cache coherent, speculation aware shared memory and interconnect
US11481336B2 (en) 2019-08-19 2022-10-25 Micron Technology, Inc. Host assisted operations in managed memory devices
US11227046B2 (en) 2019-12-24 2022-01-18 Stmicroelectronics International N.V. Dynamic randomization of password challenge
US11281795B2 (en) * 2019-12-24 2022-03-22 Stmicroelectronics International N.V. Hierarchical random scrambling of secure data storage resulting in randomness across chips and on power on resets of individual chips

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5276738A (en) * 1992-12-17 1994-01-04 Bull Hn Information Systems Inc. Software data protection mechanism
US6345359B1 (en) * 1997-11-14 2002-02-05 Raytheon Company In-line decryption for protecting embedded software
US5943283A (en) * 1997-12-05 1999-08-24 Invox Technology Address scrambling in a semiconductor memory
US7003106B2 (en) * 2000-08-04 2006-02-21 Innomedia, Pte, Ltd Efficient method for multiplication over galois fields
US6977927B1 (en) * 2000-09-18 2005-12-20 Hewlett-Packard Development Company, L.P. Method and system of allocating storage resources in a storage area network
US7631025B2 (en) * 2001-10-29 2009-12-08 Intel Corporation Method and apparatus for rearranging data between multiple registers
JP4777651B2 (ja) * 2002-08-23 2011-09-21 イグジット−キューブ,インク. コンピュータシステム及びデータ保存方法
CN1689106A (zh) * 2002-08-29 2005-10-26 皇家飞利浦电子股份有限公司 具有数据存储装置的电子装置
US7873161B2 (en) * 2002-12-13 2011-01-18 Nxp B.V. Small hardware implementation of the subbyte function of rijndael
DE10345385B4 (de) * 2003-09-30 2005-10-06 Infineon Technologies Ag Entschlüsselung bzw. Verschlüsselung bei Schreibzugriffen auf einen Speicher
TWI272816B (en) * 2005-06-06 2007-02-01 Winbond Electronics Corp Apparatus and method for protecting data
US9336160B2 (en) * 2008-10-30 2016-05-10 Qualcomm Incorporated Low latency block cipher
WO2012047200A1 (en) * 2010-10-05 2012-04-12 Hewlett-Packard Development Company, L. P. Scrambling an address and encrypting write data for storing in a storage device
WO2012138969A2 (en) * 2011-04-06 2012-10-11 Tufts University Sudoku arrays
CN103309818B (zh) * 2012-03-09 2015-07-29 腾讯科技(深圳)有限公司 存储数据的方法及装置
TWI509457B (zh) * 2012-05-11 2015-11-21 Silicon Motion Inc 資料儲存裝置以及其資料保護方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI716197B (zh) * 2018-12-03 2021-01-11 華邦電子股份有限公司 更新非揮發性記憶體的加密金鑰與產生加密金鑰的新例項的裝置與物聯網裝置及其方法
TWI745784B (zh) * 2019-11-08 2021-11-11 精品科技股份有限公司 磁碟資安系統

Also Published As

Publication number Publication date
US9626529B2 (en) 2017-04-18
US20160140356A1 (en) 2016-05-19
CN105607865B (zh) 2019-04-23
IL235729A (en) 2017-06-29
CN105607865A (zh) 2016-05-25
EP3021226A1 (en) 2016-05-18
TWI552017B (zh) 2016-10-01
IL235729A0 (en) 2015-02-26

Similar Documents

Publication Publication Date Title
TWI552017B (zh) 安全資料儲存裝置、系統及其資料寫入與讀取方法
US9396136B2 (en) Cascaded data encryption dependent on attributes of physical memory
US7876894B2 (en) Method and system to provide security implementation for storage devices
US7428306B2 (en) Encryption apparatus and method for providing an encrypted file system
US8301905B2 (en) System and method for encrypting data
KR102223819B1 (ko) 자기 암호화 드라이브를 위한 가상 밴드 집중
US6526145B2 (en) Data encryptor/decryptor using variable in-place I/O
TWI679554B (zh) 資料儲存裝置以及其操作方法
CN102722453A (zh) 执行包括两个密钥的单一命令以访问跨越两个加密区域的扇区的数据存储设备
Khati et al. Full disk encryption: bridging theory and practice
TW201918923A (zh) 安全邏輯系統及操作安全邏輯系統的方法
CN113544653B (zh) 加密的群编程
Liu et al. An energy-efficient encryption mechanism for NVM-based main memory in mobile systems
JP4119882B2 (ja) メモリ情報保護システム、メモリ情報の保護方法、および半導体メモリ
Sassani et al. Evaluating encryption algorithms for sensitive data using different storage devices
JP6205272B2 (ja) デジタル情報の保護方法、装置およびコンピュータによるアクセス可能な記録媒体
CN110113151A (zh) 一种对elf格式程序的非侵入式实时加解密方法
TWI509457B (zh) 資料儲存裝置以及其資料保護方法
KR102393958B1 (ko) 암호화 알고리즘이 적용된 시스템에서의 데이터 처리 방법
Demir et al. Improving dm-crypt performance for XTS-AES mode through extended requests: first results
Demir et al. Optimizing dm-crypt for XTS-AES: Getting the Best of Atmel Cryptographic Co-processors.
Alkorbi Encryption, storage technology and security of data at rest
Lee et al. Secure Deletion for Flash-Based Self-Encrypting Drives