TWI834551B - 記憶體裝置以及用於非揮發性記憶體的安全程式化的方法 - Google Patents
記憶體裝置以及用於非揮發性記憶體的安全程式化的方法 Download PDFInfo
- Publication number
- TWI834551B TWI834551B TW112116783A TW112116783A TWI834551B TW I834551 B TWI834551 B TW I834551B TW 112116783 A TW112116783 A TW 112116783A TW 112116783 A TW112116783 A TW 112116783A TW I834551 B TWI834551 B TW I834551B
- Authority
- TW
- Taiwan
- Prior art keywords
- bits
- volatile memory
- programmed
- random
- data word
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims description 18
- 239000011159 matrix material Substances 0.000 claims description 14
- 230000004044 response Effects 0.000 claims description 5
- 230000002441 reversible effect Effects 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 3
- 238000013507 mapping Methods 0.000 description 3
- 239000000523 sample Substances 0.000 description 3
- 238000012544 monitoring process Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000005670 electromagnetic radiation Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 230000001939 inductive effect Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/78—Protecting 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/79—Protecting 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting 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/75—Protecting 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 by inhibiting the analysis of circuitry or operation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/16—Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/52—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
- G06F21/54—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by adding security routines or objects to programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting 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/77—Protecting 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 smart cards
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/78—Protecting 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
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/002—Countermeasures against attacks on cryptographic mechanisms
- H04L9/003—Countermeasures against attacks on cryptographic mechanisms for power analysis, e.g. differential power analysis [DPA] or simple power analysis [SPA]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/08—Randomization, e.g. dummy operations or using noise
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Computational Mathematics (AREA)
- Pure & Applied Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Computing Systems (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Virology (AREA)
- Storage Device Security (AREA)
- Read Only Memory (AREA)
Abstract
本發明提供一種記憶體裝置,包含非揮發性記憶體(nonvolatile memory,NVM)和安全程式化電路(secure-programming circuit,SPC)。安全程式化電路用以接收程式化非揮發性記憶體指令以對非揮發性記憶體的給定位置的給定資料字組進行程式化,和回應於接收到程式化揮發性記憶體指令,以隨機次序對非揮發性記憶體中的給定資料字組的位元進行程式化。
Description
本發明涉及非揮發性記憶體,且確切地說,涉及用於快閃記憶體裝置的安全程式化的方法和系統。
快閃記憶體(尤其是嵌入式快閃記憶體)可儲存機密資料,且因此應防止被竊取(「駭客入侵(hacking)」)。
美國專利US11,188,237描述了用於增強快閃記憶體裝置的安全性和防止快閃記憶體裝置被駭的多個實施例。實施例防止惡意行動者駭入快閃記憶體晶片以獲得儲存在晶片內的資料。實施例包含使用故障檢測電路、位址加擾、虛擬陣列、密碼保護、改良的製造技術以及其它機制。
本發明的實施例提供一種記憶體裝置,包含非揮發性記憶體(nonvolatile memory,NVM)和安全程式化電路(secure-programming circuit,SPC)。安全程式化電路用以接收程式化非揮發性記憶體指令以對非揮發性記憶體的給定位置的給定資料字組進行程式化,和回應於接收到程式化非揮發性記憶體指令,以隨機次序對非揮發性記憶體中的給定資料字組的位元進行程式化。
在一些實施例中,給定資料字組由N個位的二次冪組成,且安全程式化電路用以產生N個值的二次冪的隨機排列,並且遵循隨機排列的次序對給定資料字組的位元進行程式化。在實施例中,安全程式化電路用以通過以下操作產生隨機排列:將可逆二元矩陣乘以包含各計數位元的向量,以產生乘積;和將隨機位元的向量與所述乘積相加。在實施例中,可逆矩陣為包含主對角線、第一三角形以及第二三角形的三角形二元矩陣,主對角線包含「1」值,第一三角形包含「0」值且第二三角形包含隨機位元。
本發明的實施例提供一種用於非揮發性記憶體的安全程式化的方法,包含接收程式化非揮發性記憶體指令以對非揮發性記憶體的給定位置的給定資料字組進行程式化。回應於接收到程式化非揮發性記憶體指令,以隨機次序對非揮發性記憶體中的所述給定資料字組的位元進行程式化。
駭客有時試圖通過旁通道攻擊,例如通過監測電力消耗或輻射的電磁能來獲得非揮發性記憶體(或其部分)的內容。
確切地說,包括快閃記憶體和用以讀取和寫入快閃記憶體的讀取/寫入電路系統(例如,具有嵌入式快閃記憶體的處理器)兩者的積體電路通常難以通過直接方法侵入,這是因為讀取/寫入電路系統與非揮發性記憶體之間的資料交換在積體電路的外部引腳上不直接可見。
一些快閃記憶體裝置採用位元串列程式化技術,其中待程式化的資料字組的位元串列地寫入到非揮發性記憶體陣列中。在擦除之後,快閃記憶體單元通常處於給定邏輯值(例如,邏輯1),因此,邏輯1的程式化並不消耗電力,而邏輯0的程式化會大量耗能。通過監測電源電流,駭客可能檢測到何時對邏輯0或邏輯1進行程式化。如果以給定次序(例如,從LSB到MSB,或從MSB到LSB)寫入位元,那麼駭客可容易地重新構建已程式化的字組。
本發明的實施例提供保護非揮發性記憶體免受旁通道攻擊的電路和方法。在實施例中,積體電路包括安全程式化電路,用以以隨機位元次序對快閃記憶體陣列中的字組進行程式化;因此,旁側攻擊將重新構建程式化字組位元的無用隨機排列。
在一些實施例中,安全程式化電路包括:用以儲存待程式化的字組的程式化字組暫存器;用以對正在程式化的位元計數的計數器;用以產生計數的隨機排列的加擾器;用以根據計數的隨機排列來選擇程式化字組暫存器的位元的多工器;以及利用由多工器選擇的值來對快閃記憶體陣列中的位元進行程式化的串列程式化電路。
在一些實施例中,加擾器通過以下操作產生計數的隨機排列:將隨機位元的可逆(例如,三角形)矩陣乘以計數的二元表示;和將隨機位元的向量與所述乘積相加。
圖1為根據本發明的實施例的遭受旁通道攻擊100的安全嵌入式快閃記憶體積體電路102的框圖。
積體電路102包括處理器104和快閃記憶體陣列106(在一些實施例中,可使用其它類型的非揮發性記憶體)。在實施例中,快閃記憶體陣列106包括多個庫(bank);每個庫包括多個字組,且每個字組包括多個獨立的非揮發性單元。在一些實施例中,每個單元儲存一個位元。
當處理器104擦除庫時,將庫中的所有單元設定為已知邏輯值。傳統地,擦除值任意表示為邏輯1;因此,無需對已擦除庫的快閃記憶體單元中的邏輯1進行程式化。
為了對快閃記憶體陣列106的已擦除庫中的字組(例如,32位元)進行程式化,處理器104將程式化指令發送到安全程式化電路108。程式化指令可包括程式化位址暫存器110中由安全程式化電路儲存的位址欄位,和程式化資料暫存器112中由安全程式化電路儲存的資料欄位。多工器114依序選擇程式化資料暫存器的位元,且將選擇的位元轉發到位元程式化電路116,所述位元程式化電路116用以在由程式化位址暫存器110指向的快閃記憶體陣列字組處一次程式化一個位元。如上文所解釋,僅對處於邏輯0的程式化資料暫存器位元進行程式化。
駭客118試圖讀取快閃記憶體陣列106中由程式化電路116程式化的資料。駭客使用旁通道攻擊,且使用輸入到示波器122的電流探針120來觀測積體電路102消耗的電源電流Idd。如所提及,當程式化電路對邏輯0進行程式化時,積體電路102的電流消耗明顯高於對邏輯1進行程式化時的電流消耗。因此,通過觀測顯示在示波器螢幕上的波形124,駭客可得知對邏輯0進行程式化的時間。
然而,根據圖1中所示出的實施例,已程式化位元的次序是隨機的,且駭客將不能夠重新構建寫入的資料字組。舉例來說,如果積體電路102對快閃記憶體陣列106中的安全金鑰進行程式化,那麼駭客將讀取的金鑰將被位元加擾。
為了使對程式化資料暫存器112的位元進行程式化的次序隨機化,安全程式化電路108更包括:用以對已程式化位元進行計數的計數器126;和使用一對一隨機映射對計數器的輸出進行隨機加擾的加擾器130。多工器114耦接到加擾器130的輸出,且因此將隨機選擇待程式化的程式化資料暫存器112的位元。舉例來說,假設具有8位元程式化資料暫存器,加擾器130可輸出序列2、7、0、1、5、3、4、6,這將是程式化電路對快閃記憶體中的字組進行程式化的次序。加擾器130的輸出也是程式化電路116的位元位址輸入。
在本專利申請案中,在各種語法形式中,術語「隨機」(例如「隨機次序」、「隨機位」、「隨機序列」、「隨機排列」等)皆指真隨機和偽隨機值或事件。
圖1及上文中描述的通道攻擊情境100的配置和積體電路102(包含安全程式化電路108)的配置為出於概念清楚起見而引用的實例。可在替代實施例中使用其它配置。舉例來說,在實施例中,駭客使用的旁通道可為到VDD引腳(未繪示)的返回電流;在另一實施例中,駭客可測量跨越印刷電路中的電阻或電感路徑的電壓降。在一些實施例中,駭客測量從積體電路102發射的電磁輻射,且在其它實施例中,駭客可使用例如麥克風、紅外檢測器等其它構件。
在實施例中,不需要計數器126、加擾器130、程式化資料暫存器112以及多工器128。替代地,處理器104以加擾次序將位元發送到程式化電路116。
在一些實施例中,快閃記憶體陣列每單元儲存兩個或大於兩個位元。舉例來說,在一個實施例中,快閃記憶體單元可為未程式化的、弱程式化的、中等程式化的以及強程式化的。四個狀態通常表示分別具有00、01、10以及11的值的兩個儲存位元。(「弱」、「中等」或「強」涉及在快閃記憶體單元的浮動柵極中捕獲的電荷的測量)。駭客可通過觀測來自VDD電源的電流得知是否將00、01、10或11程式化到快閃記憶體單元;然而,在實施例中,位元對的次序被加擾,且駭客將獲得被加擾的位元對集合。
圖2為根據本發明的實施例的用於安全快閃記憶體程式化的方法的流程圖200。通過安全程式化電路108(如圖1所示)執行流程圖。
流程圖以接收程式化字組操作202開始,其中安全程式化電路接收程式化指令(例如,從圖1的處理器104接收),所述程式化指令包括將被程式化到快閃記憶體陣列106(如圖1所示)的位址字組和資料字組。資料字組可為機密的,例如,密碼金鑰。
接下來,在隨機排列操作204中,積體電路產生程式化字組的所有位元的排列映射。此排列映射使用隨機一對一映射將程式化字組的每個位元位置映射到特定位置。
接著,在串列程式化操作206處,安全程式化電路根據已排列次序在由程式化指令指示的位址處對快閃記憶體陣列中的程式化資料字組的位元進行串列程式化。舉例來說,如果將程式化資料字組的位元0、1、2、3映射到2、1、0、3,那麼安全程式化電路將首先對程式化資料字組的位元2進行程式化,接著為位元1,隨後為位元0和位元3。在操作206之後,流程圖結束。
因此,根據圖2中所示出的流程圖,安全程式化電路在由程式化指令指示的位址處且以隨機位元次序對快閃記憶體陣列中的程式化資料字組的位元進行程式化,從而使旁通道攻擊變得困難。
圖2中所示出和上文所描述的流程圖借助於實例引用。可在替代實施例中使用其它合適的流程圖。舉例來說,在一些實施例中,安全程式化電路108在接收到程式化指令之前準備進行排列映射。在實施例中,在對程式化資料字組的位元進行程式化時,安全程式化電路從尚未程式化的位元判定待程式化的下一個隨機位元。
排列方法
在實施例中,可使用多個方法來產生排列映射。
圖3為根據本發明的實施例的用於產生排列映射的方法的流程圖300。通過加擾器130(如圖1所示)執行流程圖。
流程圖以產生隨機向量操作302開始,其中加擾器產生N個隨機位元的向量V,表示為rnd0到rndN-1(下文針對N=8進行展示):
接下來,在產生矩陣M操作304的步驟,安全程式化電路產生可逆N×N矩陣,在本實例中為N×N三角形矩陣M,主對角線具有「1」值,兩個三角形(主對角線上方的三角形或主對角線下方的三角形)中的一個具有隨機位元(Ri),且另一三角形具有「0」值。舉例來說,可使用右上方對角線矩陣(右上方三角形具有亂數rndi且左下方三角形具有「0」),如下文所展示(針對N=8):
安全程式化電路現在進入清零計數操作306,且使計數暫存器清零,這指示現在將對第一位元(從0開始)進行程式化。
接下來,安全程式化電路進入產生Vc操作308,且產生包括計數位元的向量Vc(下文針對N=8進行展示):
接著,在產生排列向量操作310的步驟,安全程式化電路根據以下產生排列向量Vp:
Vp = Vn + M*Vc
其中加法為二元互斥或(exclusive-or)函數,且乘法為二元及(AND)函數。下文針對N=8展示操作310:
接著在檢查計數完成操作312的步驟,安全程式化電路檢查是否已排列最後一個位元位置(對應於計數=2
N-1)的排列,且如果是,那麼結束流程圖。如果在操作312中,未完成計數,那麼安全程式化電路進入增加計數操作314,增加計數,且接著重新進入操作308,以排列下一個計數值。
圖3中所示出和上文所描述的流程圖300的配置借助於實例引用。可在替代實施例中使用其它配置。舉例來說,在替代實施例中,可使用未必為三角形的其它合適類型的可逆矩陣。在一些實施例中,使用Sattolo演算法(參見例如M. Wilson的"Overview of Sattolo's Algorithm", Algorithms Seminar 2002-2004, F. Chyzak (ed.), INRIA, (2005), pp. 105108)。(然而,Sattolo演算法並非依序的,且如果使用,那麼應添加合適的電路以逐一輸出排列位元。)
圖1到圖3中所示出和上文所描述的積體電路102(包含安全程式化電路108)的配置和流程圖200和流程圖300的方法是僅出於概念清楚起見展示的實例配置和流程圖。在替代實施例中可使用任何其它合適的配置和流程圖。
包含安全程式化電路108的積體電路102的不同子單元可使用合適的硬體來實施,諸如在一或多個專用積體電路(Application-Specific Integrated Circuit,ASIC)或現場可程式設計閘陣列(Field-Programmable Gate Array,FPGA)中,使用軟體、使用硬體或使用硬體與軟體元件的組合。
處理器104和/或安全程式化電路108(如圖1所示)可包括一或多個通用處理器,在軟體中對所述通用處理器進行程式設計以執行本文中所描述的功能。軟體可以電子形式、經由網路或從主機下載到處理器,例如,或其可替代地或另外設置和/或儲存在非暫時性有形媒體(例如,磁性、光學或電子記憶體)上。
儘管本文中所描述的實施例主要解決安全非揮發性記憶體程式設計,但本文中所描述的方法和系統也可用於其它應用中。
因此將瞭解,上文所描述的實施例借助於實例引用,且本發明不限於上文已經具體展示且描述的內容。實情為,本發明的範圍包含上文所描述的各種特徵的組合和子組合兩者,以及所屬領域的技術人員在閱讀前述描述之後將想到且並未在現有技術中公開的本發明的變化及修改。除就這些併入文件中以與本說明書中明確地或隱含地描述的定義有衝突的方式來對任何術語進行定義而言,僅應考慮本說明書中的定義以外,以引用的方式併入本專利申請中的文件被視為申請的整體部分。
100:旁通道攻擊
102:積體電路
104:處理器
106:快閃記憶體
108:安全程式化電路
110:程式化位址暫存器
112:程式化資料暫存器
114:多工器
116:位元程式化電路
118:駭客
120:電流探針
122:示波器
124:波形
126:計數器
130:加擾器
200、300:流程圖
202、204、206、302、304、306、308、310、312、314:操作
Idd:電源電流
VDD:電源
圖1為根據本發明的實施例的安全嵌入式快閃記憶體積體電路(Integrated-Circuit,IC)的方塊圖。
圖2為根據本發明的實施例的用於安全快閃記憶體程式化的方法的流程圖。
圖3為根據本發明的實施例的用於產生排列映射的方法的流程圖。
100:旁通道攻擊
102:積體電路
104:處理器
106:快閃記憶體
108:安全程式化電路
110:程式化位址暫存器
112:程式化資料暫存器
114:多工器
116:位元程式化電路
118:駭客
120:電流探針
122:示波器
124:波形
126:計數器
130:加擾器
Idd:電源電流
VDD:電源
Claims (6)
- 一種記憶體裝置,包括:非揮發性記憶體;以及安全程式化電路,用以:接收程式化非揮發性記憶體指令以對所述非揮發性記憶體的給定位置的給定資料字組進行程式化;以及回應於接收到所述程式化非揮發性記憶體指令,以隨機次序對所述非揮發性記憶體中的所述給定資料字組的位元進行程式化;其中所述給定資料字組由N個位的二次冪組成,且其中所述安全程式化電路用以產生N個值的二次冪的隨機排列,並且遵循所述隨機排列的次序對所述給定資料字組的所述位元進行程式化。
- 如請求項1所述的記憶體裝置,其中所述安全程式化電路用以通過以下操作產生所述隨機排列:將可逆二元矩陣乘以包括各計數位元的向量以產生乘積;以及將隨機位元的向量與所述乘積相加。
- 如請求項2所述的記憶體裝置,其中所述可逆矩陣為包括主對角線、第一三角形以及第二三角形的三角形二元矩陣,其中所述主對角線包括「1」值,所述第一三角形包括「0」值且所述第二三角形包括隨機位元。
- 一種用於非揮發性記憶體的安全程式化的方法,所述方法包括:接收程式化非揮發性記憶體指令以對所述非揮發性記憶體的給定位置的給定資料字組進行程式化;以及回應於接收到所述程式化非揮發性記憶體指令,以隨機次序對所述非揮發性記憶體中的所述給定資料字組的位元進行程式化;其中所述給定資料字組由N個位的二次冪組成,且其中對所述資料字組進行程式化包括產生N個值的二次冪的隨機排列,並且遵循所述隨機排列的次序對所述給定資料字組的所述位元進行程式化。
- 如請求項4所述的用於非揮發性記憶體的安全程式化的方法,其中產生所述隨機排列包括:將可逆二元矩陣乘以包括各計數位元的向量以產生乘積;以及將隨機位元的向量與所述乘積相加。
- 如請求項5所述的用於非揮發性記憶體的安全程式化的方法,其中所述可逆矩陣為包括主對角線、第一三角形以及第二三角形的三角形二元矩陣,其中所述主對角線包括「1」值,所述第一三角形包括「0」值且所述第二三角形包括隨機位元。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/877,953 US20240037285A1 (en) | 2022-07-31 | 2022-07-31 | Flash Programming Randomization |
US17/877,953 | 2022-07-31 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW202407564A TW202407564A (zh) | 2024-02-16 |
TWI834551B true TWI834551B (zh) | 2024-03-01 |
Family
ID=86861995
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW112116783A TWI834551B (zh) | 2022-07-31 | 2023-05-05 | 記憶體裝置以及用於非揮發性記憶體的安全程式化的方法 |
Country Status (6)
Country | Link |
---|---|
US (1) | US20240037285A1 (zh) |
EP (1) | EP4318294A1 (zh) |
JP (1) | JP2024019749A (zh) |
KR (1) | KR20240017315A (zh) |
CN (1) | CN117494120A (zh) |
TW (1) | TWI834551B (zh) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070277028A1 (en) * | 2006-05-26 | 2007-11-29 | Jamey Cates | Method and system for recovery from reprogramming failures in nonvolatile memory |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100854972B1 (ko) * | 2007-02-13 | 2008-08-28 | 삼성전자주식회사 | 메모리 시스템 및 그것의 데이터 읽기 방법 |
US10534554B2 (en) * | 2017-10-13 | 2020-01-14 | Silicon Storage Technology, Inc. | Anti-hacking mechanisms for flash memory device |
US11017128B2 (en) * | 2018-05-22 | 2021-05-25 | Seagate Technology Llc | Data security using bit transposition during memory accesses |
US11244078B2 (en) * | 2018-12-07 | 2022-02-08 | Nxp Usa, Inc. | Side channel attack protection |
US11568297B2 (en) * | 2020-03-05 | 2023-01-31 | International Business Machines Corporation | Efficient synthesis of a random uniformly distributed Clifford unitary |
-
2022
- 2022-07-31 US US17/877,953 patent/US20240037285A1/en active Pending
-
2023
- 2023-05-05 TW TW112116783A patent/TWI834551B/zh active
- 2023-05-12 CN CN202310536504.4A patent/CN117494120A/zh active Pending
- 2023-06-16 EP EP23179743.2A patent/EP4318294A1/en active Pending
- 2023-06-30 KR KR1020230084760A patent/KR20240017315A/ko unknown
- 2023-07-12 JP JP2023114122A patent/JP2024019749A/ja active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070277028A1 (en) * | 2006-05-26 | 2007-11-29 | Jamey Cates | Method and system for recovery from reprogramming failures in nonvolatile memory |
Also Published As
Publication number | Publication date |
---|---|
CN117494120A (zh) | 2024-02-02 |
EP4318294A1 (en) | 2024-02-07 |
JP2024019749A (ja) | 2024-02-13 |
TW202407564A (zh) | 2024-02-16 |
KR20240017315A (ko) | 2024-02-07 |
US20240037285A1 (en) | 2024-02-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9483664B2 (en) | Address dependent data encryption | |
TWI537950B (zh) | 非揮發記憶體裝置以及用於非揮發記憶體裝置的方法 | |
Ray et al. | True random number generation using read noise of flash memory cells | |
US9892783B2 (en) | Non-volatile memory device including memory cells having variable resistance values | |
US9094190B2 (en) | Method of managing key for secure storage of data and apparatus therefor | |
Kannan et al. | Security vulnerabilities of emerging nonvolatile main memories and countermeasures | |
US10339324B2 (en) | Tamper-proof storage using signatures based on threshold voltage distributions | |
US10992483B2 (en) | Physically unclonable function device for use in user authentication system and operation method thereof | |
Ghosh et al. | Security and privacy threats to on-chip non-volatile memories and countermeasures | |
US20200350012A1 (en) | Non-volatile memory device and method of writing to non-volatile memory device | |
US10073661B2 (en) | Security extensions for non-volatile memory | |
US11528135B2 (en) | Integrated circuit (IC) signatures with random number generator and one-time programmable device | |
Iyengar et al. | Side channel attacks on STTRAM and low-overhead countermeasures | |
Dodo et al. | Secure STT-MRAM bit-cell design resilient to differential power analysis attacks | |
US11232196B2 (en) | Tracking events of interest to mitigate attacks | |
TWI834551B (zh) | 記憶體裝置以及用於非揮發性記憶體的安全程式化的方法 | |
CN109241789A (zh) | 一种芯片标识方法 | |
US20220393859A1 (en) | Secure Data Storage with a Dynamically Generated Key | |
Skorobogatov | Compromising device security via NVM controller vulnerability | |
US20070247182A1 (en) | Protection of security key information | |
Meadows et al. | On-chip randomization for memory protection against hardware supply chain attacks to dram | |
Khan et al. | Assuring security and reliability of emerging non-volatile memories | |
Xiao et al. | A physically-secure write scheme of Multi-time Programmable RRAM for critical information storage | |
JP7391682B2 (ja) | 改ざん防止カウンタ | |
US20230344624A1 (en) | Physical unclonable function failure protection and prediction |