TWI761896B - 用於執行安全命令的記憶體裝置及方法 - Google Patents

用於執行安全命令的記憶體裝置及方法 Download PDF

Info

Publication number
TWI761896B
TWI761896B TW109125438A TW109125438A TWI761896B TW I761896 B TWI761896 B TW I761896B TW 109125438 A TW109125438 A TW 109125438A TW 109125438 A TW109125438 A TW 109125438A TW I761896 B TWI761896 B TW I761896B
Authority
TW
Taiwan
Prior art keywords
memory
command
encrypted
data
memory device
Prior art date
Application number
TW109125438A
Other languages
English (en)
Other versions
TW202109546A (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 TW202109546A publication Critical patent/TW202109546A/zh
Application granted granted Critical
Publication of TWI761896B publication Critical patent/TWI761896B/zh

Links

Images

Classifications

    • 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1015Read-write modes for single port memories, i.e. having either a random port or a serial port
    • G11C7/1039Read-write modes for single port memories, i.e. having either a random port or a serial port using pipelining techniques, i.e. using latches between functional memory parts, e.g. row/column decoders, I/O buffers, sense amplifiers
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/24Memory cell safety or protection circuits, e.g. arrangements for preventing inadvertent reading or writing; Status cells; Test cells
    • 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
    • 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/0629Configuration or reconfiguration of storage systems
    • 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
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1051Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1078Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/12Bit line control circuits, e.g. drivers, boosters, pull-up circuits, pull-down circuits, precharging circuits, equalising circuits, for bit lines
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/045Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply hybrid encryption, i.e. combination of symmetric and asymmetric encryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0637Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3242Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/22Safety or protection circuits preventing unauthorised or accidental access to memory cells

Abstract

本發明提供用於執行安全命令的記憶體裝置及方法。所述記憶體裝置,包含:安全命令解碼器,以及輸入/輸出介面。所述安全命令解碼器實施安全邏輯,所述安全邏輯用以偵測來自請求主機的攜載經加密即時資料有效負載的命令、認證作為命令的來源的主機、解碼即時資料且使用經解密即時資料的非命令部分對記憶體裝置的儲存單元執行由經解密即時資料的命令部分所要求的記憶體存取命令,以及在將結果返回至請求主機之前加密來自執行命令部分的任何結果。所述輸入/輸出介面用於輸入/輸出資料單元,並支援多個主機。

Description

用於執行安全命令的記憶體裝置及方法
本發明涉及支援安全儲存及提取的積體電路記憶體裝置,諸如快閃裝置,且特定言之,涉及用以提供自記憶體的安全儲存及提取的安全命令解碼器。
在現代資訊儲存技術中,已建立許多不同類型的記憶體架構,各自提供數位資料的儲存且解決多種應用程式的不同需要及要求。舉例而言,快閃裝置、電阻式記憶體(ReRAM)、可消除程式化唯讀記憶體(erasable programmable read-only memory,EPROM)、相變化記憶體(phase-change memory,PCM)等等可用於儲存各種應用程式中的數位資料。
數位資料易於儲存及傳輸,且易於存取,然而,此使得儲存為數位資料的安全敏感資料容易經未授權方攔截及竊取。
有鑑於此,期望提供用於更安全地儲存數位資料的機構。
記憶體裝置包含安全命令解碼器,所述安全命令解碼器實施安全邏輯以偵測來自請求主機的攜載經加密即時資料有效負 載(payload)的命令,認證所述主機,解碼用於經認證主機的即時資料,且使用經解密即時資料的非命令部分對記憶體裝置的儲存單元執行由經解密即時資料的命令部分所要求的記憶體存取命令。命令解碼器電路亦可解碼未加密命令。一些實施方案亦在將結果返回至請求主機之前加密來自執行所述命令部分的任何結果。用於I/O(輸入/輸出)資料單元的輸入/輸出介面支援與多個主機的交易。輸入/輸出介面可包括串行介面(例如,串列匯流排介面(SPI))或並行介面。所述技術提供對例如命令碼、位址、位元組計數、選項等等有效輸入參數(significant input parameters)的加密,藉此使得實施所述技術的裝置能夠保護敏感資訊不被未經授權第三方探測到。另外,本文中所述的技術可向請求主機提供認證資料。
在代表性安全命令機構實施方案中,使用多個步驟命令解碼過程。在第一步驟中,命令解碼器自主機接收命令。命令解碼器偵測所接收的命令攜載經加密的即時資料「有效負載」。即時資料可包含用以執行存取裝置的記憶體的操作的一或多個命令、位址、任何有效輸入參數以及資料。回應於主機,命令解碼器執行認證解密以認證源自於主機的訊息且自即時資料有效負載恢復所包含的記憶體存取命令、位址及有效輸入參數以及資料。在第二步驟中,倘若第一步驟中的認證成功,則解碼解密命令且使用自即時資料解密的位址以及經解密輸入參數來執行解密命令。
一個代表性實施方案包含用以解碼新穎命令序列的電路。一範例的命令解碼器電路接收包含命令碼欄位(command code field)及中間資料有效負載(intermediate data payload)的命令序列。命令解碼器電路對命令碼欄位進行解碼,所述命令碼欄位包含作 業碼(op code),所述作業碼指示(indicate)(i)未加密命令及(ii)安全命令中之二者之一,其中所述中間資料有效負載包含經加密記憶體存取命令作業碼(encrypted memory access command op code)、經加密位址欄位(encrypted address field)以及一或多個經加密輸入變量(encrypted input variables),所述經加密位址欄位指示欲從記憶體讀取資料的一或多個位置,所述經加密輸入變量包含加密結果指標(encrypt result indicator)。安全邏輯電路具有加密/解密電路,當所述作業碼指示安全命令時,所述加密/解密電路對自記憶體讀取的資料進行加密,經加密記憶體存取命令作業碼指示自記憶體讀取,且一或多個經加密輸入變量的加密結果指標顯示加密結果。
另一代表性實施方案包含用以解碼新穎命令序列的電路。另一範例的命令解碼器電路接收包含命令碼欄位及中間資料有效負載的命令序列。命令解碼器電路對命令碼欄位進行解碼,所述命令碼欄位包含作業碼,所述作業碼指示(i)未加密命令及(ii)安全命令中之二者之一,其中所述中間資料有效負載包含經加密記憶體存取命令作業碼、經加密位址欄位、經加密資料以及一或多個經加密輸入變量,所述經加密位址欄位指示欲將資料寫入至記憶體的一或多個位置,所述經加密輸入變量包含加密結果指標。安全邏輯電路具有加密/解密電路,當作業碼指示安全命令時,所述加密/解密電路對將資料寫入至記憶體產生的返回碼進行加密,經加密記憶體存取命令作業碼指示寫入至記憶體,且一或多個經加密輸入變量的加密結果指標顯示加密結果。
在代表性實施方案中,記憶體裝置包括包含多個位元線 的記憶體陣列、用於I/O資料單元的輸入/輸出介面、連接在記憶體陣列與輸入/輸出介面之間的資料路徑電路以及命令解碼器電路。命令解碼器電路在輸入/輸出介面處接收安全及不安全命令。安全邏輯電路在安全命令作業碼經接收時解密經加密即時資料有效負載,藉此獲得經解密資訊,且執行對應於經解密資訊的記憶體操作。一些實施方案將包含安全邏輯電路,所述安全邏輯電路回應於利用安全命令作業碼接收到的輸入標籤而認證主機是否為所識別主機。命令解碼器的實施亦能夠解碼不安全命令。
所揭露的技術適用於具有命令介面的所有類型的記憶體。描述記憶體陣列包括快閃裝置的範例實施例,然而,本文中所描述的技術亦可應用於其他類型的記憶體裝置。一些實施例在NOR快閃記憶體中實施安全命令解碼器機構。其他實施例在NAND快閃記憶體中實施安全命令解碼器機構。又其他實施例在不為快閃記憶體的記憶體中實施安全命令解碼器機構。
在參照以下的圖式、詳細描述及申請專利範圍之後可見本文中所描述的技術的其他態樣及優勢。
11:狀態機
14:位址產生器
15:時脈產生器
17:高電壓產生器
19:感測放大器
20、21、22、23、24、25、26、27、28、29、30、31、32、33、34、35、36、37、38、39:流程
71:輸出緩衝器
81:資料寄存器
82:SRAM緩衝器
84、85、91、184、185、191:資料匯流排
91a:安全命令
91b:經加密有效負載
92:輸入標籤
93a:經加密記憶體存取命令
93b:經加密位址資訊
93c:經加密輸入變量
93d:經加密資料
94a:記憶體存取命令
94b:位址
94c:輸入變量
94d:資料
95:輸出有效負載
97A~97N:主機A~主機N
98:輸出標籤(認證標籤)
99:輸出資料
100:積體電路記憶體裝置
105:介面
108:命令解碼器電路
110:控制邏輯
112:安全邏輯電路
114:加密/解密電路
116:密鑰管理電路、密鑰
118:額外認證資料(關聯資料)
402、404、406、408、410、412、414、601、602、603、604、605、606、701、702、703、704、705、801、802、803、804:步驟
120:偏壓配置狀態機
122:初始化向量(IV)、初始化向量電路
124:明文緩衝器
124a、124b:明文區塊
126:密文緩衝器
126a、126b:密文區塊
128:標籤檢查電路
130、175、176:匯流排
140:位址解碼器
141:X-解碼器
143:Y-解碼器
145:字元線
160:記憶體陣列、記憶體
165:位元線
171:感測放大器/緩衝器
181:緩衝器BUF_A
182:緩衝器BUF_B
195:I/O埠
200、300、500:資料流圖
400、600、700、800:流程圖
501a:計數器0
501b:計數器1
501c:計數器2
502:區塊編密加密操作
504:電路
506:串聯操作
圖1A為根據實施例的具有安全命令解碼器機構的積體電路記憶體裝置的簡化方塊圖。
圖1B為根據另一實施例的具有安全命令解碼器機構的積體電路記憶體裝置的簡化方塊圖。
圖2為說明用於類似於圖1A及圖1B的具有安全命令解碼器 機構的積體電路記憶體裝置的實施例的寫入操作的資料流圖式。
圖3為說明用於類似於圖1A及圖1B的具有安全命令解碼器的積體電路記憶體裝置的實施例的讀取操作的資料流圖式。
圖4為說明用於類似於圖1A及圖1B的系統的如本文中所描述的安全命令解碼器的操作模式的流程圖。
圖5為說明用於類似於圖1A及圖1B的系統的如本文中所描述的安全命令解碼器的區塊編密計數器模式的資料流圖式。
圖6為說明用於類似於圖1A及圖1B的系統的如本文中所描述的安全命令解碼器的區塊編密計數器模式操作的流程圖。
圖7為說明用於類似於圖1A及圖1B的系統的用於使用如本文中所描述的區塊編密計數器模式操作來產生用以驗證資料完整性的認證標籤的過程的流程圖。
圖8為說明用於類似於圖1A及圖1B的系統的用於操作如本文中所描述的用於執行安全命令的記憶體裝置的過程的流程圖。
參考圖1A、圖1B、圖2、圖3、圖4、圖5、圖6、圖7以及圖8提供本發明的實施例的詳細描述。
圖1A及圖1B(統稱為圖1)為具有安全命令解碼器機構的積體電路記憶體裝置的實施例的簡化方塊圖。積體電路記憶體裝置100包含積體電路基板上的記憶體陣列160,記憶體陣列160包含多層級單元MLC,多層級單元MLC儲存資料的兩個或大於兩個位元每個單元。記憶體陣列160可為使用二維或三維陣列技術實施的快閃記憶體。記憶體陣列160的一個實施方案儲存未加 密(純文字)格式的資料,但根據所揭露的技術將提供經加密(密文)形式的資料。記憶體陣列160的替代實施方案儲存經加密(密文)形式的資料。如本文中所描述的記憶體裝置亦可使用多晶片模組、堆疊晶片以及其他組態而實施。記憶體裝置可實施於單一積體電路晶片上、包含共同封裝中的一或多個積體電路的多晶片模組上或用以適合特定需要的多個晶片上。
積體電路記憶體裝置100具有命令解碼器電路108及控制邏輯110以及安全邏輯電路112,積體電路記憶體裝置100包含邏輯,諸如狀態機,所述邏輯回應於接收到的命令而執行如本文中所描述的安全記憶體存取操作。命令解碼器電路108回應於在所述輸入/輸出介面處接收的命令,以解碼自主機A 97A~主機N 97N接收到的命令資訊,其中命令資訊包含安全記憶體命令(亦稱為安全命令),且安全記憶體命令包含經加密的資訊。安全邏輯電路112對控制邏輯110偵測到的安全命令進行解密,並對發出安全命令的主機A 97A~主機N 97N進行認證,以及對記憶體陣列160執行經解密安全命令所產生的資料進行加密。控制邏輯110輸出由圖式上的箭頭所表示的控制訊號且在匯流排130上定址。匯流排130上應用的定址可包含例如位址產生器14及/或控制邏輯110中的位址計數器(出於清楚起見,圖1中未展示)的輸出,或由經認證主機接收到的安全命令解密的即時資料有效負載中攜載的位址。
安全邏輯電路112包含加密/解密電路114,加密/解密電路114實施可使用IP核心、可程式化邏輯以及處理器、電路或其組合實現的一或多個加密算法。加密算法的一些範例包含但不限於伽羅華/計數器模式(Galois/Counter Mode;GCM)模式的認證 加密標準(Authenticated Encryption Standard;AES)(即,AES-GCM)、編密區塊鏈訊息認證碼(Cipher Block Chaining Message Authentication Code;CBC-MAC)模式的利用計數器的認證加密標準(即,AES-CCM)或類似者。對於關於AES-GCM及AES-CCM的背景資訊,可分別參考標題為「對區塊編密操作模式的建議:伽羅華/計數器模式(GCM)及GMAC(Recommendation for Block Cipher Modes of Operation:Galois/Counter Mode(GCM)and GMAC)」(//nvlpubs.nist.gov/nistpubs/Legacy/SP/nistspecialpublication800-38d.pdf)的NIST特定公開案800-38D、網際網路工程任務小組(Internet Engineering Task Force)IETF RFC 5288(//tools.ietf.org/html/rfc5288)以及網際網路工程任務小組IETF RFC 5084(//tools.ietf.org/html/rfc5084);所述全部參考內容出於所有目的以引用的方式併入本文中。實施諸如伽羅華計數器模式(GCM)的AES的區塊加密對位元的固定長度串執行加密及解密操作。此位元串的長度稱為「區塊大小」且128個位元(16個位元組)的大小用於實施。然而,所揭露技術之範例的範例加密及解密實施方案可支援區塊及128個、192個以及256個位元的密鑰大小。
密鑰管理電路116產生且儲存待用於進行與主機A 97A~主機N 97N的安全記憶體操作中的密鑰。雖然在此使用採用對稱密鑰的範例,但所揭露技術並不需要對稱密鑰且使用公用密鑰配置的實施方案在吾等作業的範疇內。密鑰可使用由製造商預安裝、由隨機數產生器本地產生、這些的組合的迪菲-赫爾曼(Diffie- Hellman)密鑰交換及其他密鑰交換協議來提供至主機A 97A~主機N 97N。對於關於迪菲-赫爾曼密鑰交換的一個特定變體的背景資訊,可參考網際網路工程任務小組IETF RFC 2631(//tools.ietf.org/html/rfc2631);所述全部參考內容出於所有目的以引用的方式併入本文中。
在所說明實施例中,一組參數寄存器包含於記憶體裝置100中且耦接至控制邏輯110及安全邏輯電路112。所述組中的參數寄存器可儲存用於可根據本文中所描述的過程來選擇的多個密碼及安全相關程式操作的參數輸入及輸出。舉例而言,參數寄存器可儲存用於提供與認證方的認證安全通信的密鑰116、額外認證資料118(additional authentication data,AAD)、初始化向量122及輸入標籤92以及輸出標籤98。此外,參數暫存器可儲存諸如增量步進脈衝程式化(incremental stepped pulse programming,ISPP)算法的密碼算法中使用的密鑰產生及配對、區塊的細節,諸如脈衝高度、脈衝寬度以及脈衝量值增量。
明文緩衝器124儲存明文(plain text),所述明文包括(i)來自對作為輸入的安全命令密文進行的解密過程的輸出資料或(ii)來自對記憶體陣列160執行的經解密操作的結果的輸入資料。明文緩衝器124根據可由加密/解密電路114加密或解密的資料的量的大小來設計大小為容納待加密的輸入明文的區塊或資料區塊中的經解密明文的輸出。在實施伽羅華計數器模式(GCM)的實施例中,區塊加密經定義為具有128個位元(16個位元組)的區塊大小。
額外認證資料118包含輸入參數、標識符、計數器值以 及指示待如何處理明文輸入的任何其他欄位。舉例而言,在網路協定內,AAD可包含位址、埠、序列號、協議版本號以及指示應如何處理明文的其他欄位。在另一範例中,AAD可包含經認證但未經加密的用於認證加密函數的輸入資料。下文參考圖5、圖7提供對使用用於認證作為訊息來源的主機的AAD的進一步描述。對於其他細節,可參考標題為「對區塊編密操作模式的建議:伽羅華/計數器模式(GCM)及GMAC」的NIST特定公開案800-38D(//nvlpubs.nist.gov/nistpubs/Legacy/SP/nistspecialpublication800-38d.pdf);所述公開案的全部內容出於所有目的以引用的方式併入本文中。
初始化向量電路122產生包括隨機或偽隨機的對加密算法的固定大小輸入的初始化向量(initialization vector;IV)或起始變量(starting variable;SV)。IV基本上為隨機數,亦即,在指定上下文內獨特的值,所述隨機數判定認證加密函數對待保護的輸入資料的調用。
密文緩衝器126儲存密文,所述密文包括(i)用於對安全命令進行的解密過程的輸入經加密資料或(ii)來自對記憶體陣列160上執行的操作的結果執行的加密操作的結果的輸出經加密資料。密文緩衝器126根據可由加密/解密電路114加密或解密的資料的量的大小來設計大小為容納待解密的輸入密文的區塊或資料區塊中的經加密密文的輸出。在實施伽羅華計數器模式(GCM)的實施例中,區塊加密經定義為具有128個位元(16個位元組)的區塊大小。
輸出標籤98在實施伽羅華計數器模式(GCM)的實施例 中可為由加密/解密電路114產生的認證標籤,且可添加至密文。在採用散列訊息認證碼(hash-based message authentication code,HMAC)的實施例中,輸出標籤98為使用密碼雜湊函數及密鑰116建立、附加至明文訊息且由接收者檢查以便驗證訊息完整性的特殊類型的認證碼。下文參考圖5及圖7描述在實施伽羅華計數器模式(GCM)的範例實施例中的標籤產生。範例實施例中的雜湊訊息認證碼(HMAC)包含計算等式(1):HMAC(K,m)=H((k' XOR opad)∥H(k' XOR ipad)∥m)) (1)
其中H為密碼雜湊函數,m為待認證的訊息,K為秘密密鑰,K'為自秘密密鑰K導出的區塊大小的密鑰;藉由用0向右填補高達區塊大小,或藉由首先向下雜湊至小於區塊大小且接著用零向右填補,∥指示串聯,opad為區塊大小的外部填補,包括重複位元組值0x5c,且ipad為區塊大小的內部填補,包括重複位元組值0x36。對於其他細節,可參考網際網路工程任務小組IETF RFC 2104(//tools.ietf.org/html/rfc2104);所述全部參考內容出於所有目的以引用的方式併入本文中。
圖1A為根據實施例的具有安全命令解碼器機構的積體電路記憶體裝置的簡化方塊圖。此圖僅為範例,其不應不適當地限制本文中的申請專利範圍的範疇。所屬領域的一般技術人員將認識到其他改變、修改以及替代。如所展示,積體電路記憶體裝置100包含耦接至相應輸入/輸出引腳的若干輸入區塊。在一個實施例中,介面105為包含一組I/O(輸入/輸出)埠195的串行介面,經由所述串行介面傳送命令、位址以及資料。串行介面可基於串行周邊介面(Serial Peripheral Interface,SPI)匯流排規範或與其相容, 在所述串行周邊介面匯流排規範中命令通道共用由位址及資料使用的I/O引腳。舉例而言,積體電路記憶體裝置100可包含使用引腳以用於接收及傳輸SPI匯流排訊號的輸入/輸出埠。一個引腳可連接至輸入資料線,所述輸入資料線攜載串行輸入資料/位址訊號SI,亦可用於命令。另一引腳或多個其他引腳可連接至一或多個輸出資料線,所述一或多個輸出資料線攜載串行輸出資料訊號SO。另一引腳可連接至攜載串行時脈訊號(SCLK)的時脈線,所述時脈線耦接至時脈產生器15,時脈產生器15又耦接至命令解碼器電路108及控制邏輯110。控制邏輯110經可操作地耦接以在介面105的CS#輸入端子上接收晶片選擇訊號CS#。命令或指令可經由輸入SI/SIO0區塊來輸入,例如,且接著轉移至資料寄存器81及控制邏輯110。與狀態機11組合的控制邏輯110解譯且執行命令,諸如讀取、抹除或程式化操作。在一實施例中,控制邏輯110亦自介面105的WP#/ACC區塊接收訊號以執行寫入保護函數,且自介面105的HOLD#區塊接收訊號以使時脈訊號不進入狀態機11。
資料可經由耦接至資料寄存器81的SI/SIO0區塊、SO/SIO1區塊、WP#/ACC區塊以及HOLD#區塊輸入。資料寄存器81耦接至SRAM(靜態隨機存取記憶體)緩衝器82,SRAM緩衝器82用於在安全邏輯112進行解密操作期間的臨時儲存。安全邏輯電路112藉由資料匯流排84及資料匯流排85耦接至SRAM緩衝器82及資料寄存器81。資料匯流排84及資料匯流排85可具有小於區塊大小的匯流排寬度,諸如一個位元組或一個字元,且由安全邏輯電路112使用以在儲存於區塊中的明文及密文間循環以自一個緩衝器提取資料、執行加密/解密操作且儲存另一緩衝器中的 結果。安全邏輯電路112亦可或可替代地藉由資料匯流排91耦接至介面105以視需要來回移動資料。
資料可經由耦接輸出緩衝器71的SI/SIO0區塊、SO/SIO1區塊、WP#/ACC區塊以及HOLD#區塊輸出。在一些實施方案中,輸出緩衝器71可儲存包含關聯標籤程式碼的額外備用位元。一個頁可包含多個區塊,其中區塊包含可由安全邏輯電路112加密或解密的資料的區段。在實施伽羅華計數器模式(GCM)的實施例中,區塊加密經定義為具有128個位元的區塊大小。
對應於記憶體陣列160中的位置的位址可自資料寄存器81供應至位址產生器14。位址隨後由X-解碼器141及Y-解碼器143解碼。在一些實施方案中,頁緩衝器(出於清楚起見,圖1A中未展示)可耦接至記憶體陣列160以提供用於記憶體操作的臨時儲存。在讀取操作中,資料經由感測放大器19自記憶體陣列160轉移至輸出緩衝器71。對於寫入操作,資料自資料寄存器81轉移,在SRAM緩衝器82中緩衝以用於解密,且接著寫入至記憶體陣列160中。對於高電壓操作,例如,對於寫入操作,激活高電壓(high voltage,HV)產生器17,亦可使用其他類型的介面,包含並行介面。特定積體電路記憶體裝置100上的I/O埠195可用以以每介面時脈(例如,串行時脈訊號(SCLK))循環並行地提供具有I/O資料寬度的輸出資料,對於一些範例,所述I/O資料寬度可為1個位元、4個位元、8個位元、16個位元、32個位元或大於32個位元。I/O介面105可包含FIFO緩衝器、移位暫存器緩衝器或其他支援電路以及傳輸器,以用於以埠時脈速率傳輸在埠上的介面處所接收到的資料,對於SPI介面而言,所述埠時脈速率諸如 串行時脈訊號(SCLK)速率。
圖1B為根據另一實施例的具有安全命令解碼器機構的積體電路記憶體裝置的簡化方塊圖。此圖僅為範例,其不應不恰當地限制本文中的申請專利範圍的範疇。所屬領域的一般技術人員將認識到其他改變、修改以及替代。如所展示,積體電路記憶體裝置100包含位址解碼器140,位址解碼器140耦接至沿著記憶體陣列160中的列配置的多個字元線145,且耦接至感測放大器/緩衝器171。感測放大器/緩衝器171可耦接至多個位元線165,多個位元線165沿著記憶體陣列160中的行配置以用於自記憶體陣列160讀取資料及將資料寫入至記憶體陣列160。在其他範例中,可使用輸入/輸出埠,其中位址及資料可在位址/資料匯流排中的共用線上提供。此外,可部署串行介面。
感測放大器/緩衝器171可包含用於每一位元線的一或多個儲存元件。位址解碼器140可選擇記憶體陣列160中的特定記憶單元且經由相應連接位元線將所述特定記憶單元耦接至感測放大器/緩衝器171。感測放大器/緩衝器171可並行地儲存寫入至這些特定記憶單元或自這些特定記憶單元讀取的資料。感測放大器/緩衝器171可具有用於頁的包含數千個位元的頁寬度,諸如2K個位元或4K個位元或大於2K個位元或4K個位元。在一些實施方案中,感測放大器/緩衝器171可儲存包含關聯標籤程式碼的額外備用位元。一個頁可包含多個區塊,其中區塊包含可由安全邏輯電路112加密或解密的資料的區段。在實施伽羅華計數器模式(GCM)的實施例中,區塊加密經定義為具有128個位元的區塊大小。
在此實施例中,緩衝器記憶體結構包含第二緩衝器層級,在此範例中,所述第二緩衝器層級包含指示緩衝器BUF_A 181及緩衝器BUF_B 182的兩個部分,其中第二緩衝器層級的每一部分可儲存輸出緩衝器的內容的一部分,諸如一半,其中輸出緩衝器的內容的所述部分較佳地包含一或多個未加密明文資料部分。此外,第二緩衝器層級的每一部分可獨立地讀取及寫入。在一些實施例中,緩衝器BUF_A 181、緩衝器BUF_B 182可使用雙埠或多埠記憶體技術實施,從而允許獨立讀取及寫入至不同位址,或可使用多個記憶體庫實施,所述多個記憶體庫具有分離位址解碼及讀出電路。其他實施例可包含三層級緩衝器結構,所述三層級緩衝器結構包含感測放大器/緩衝器171及兩個額外緩衝器層級。此外,可實施在輸出緩衝器與介面之間的資料路徑電路中的緩衝器記憶體結構的其他配置。
感測放大器/緩衝器171可經由多個位元線165與記憶體陣列160耦接。在一些實施方案中,位元線165包含寬度中的至少一頁(當包含ECC程式碼時,再加上ECC程式碼)。感測放大器/緩衝器171可經由匯流排175、匯流排176與緩衝器結構的緩衝器BUF_A 181、緩衝器BUF_B 182耦接。在一些實施方案中,匯流排175、匯流排176可具有等於感測放大器/緩衝器171的一半寬度的寬度。第二層級緩衝器BUF_A、第二層級緩衝器BUF_B可各自被實施為使用靜態隨機存取記憶體(static random access memory,SRAM)之記憶體結構的快取記憶體,例如,所述快取記憶體具有一列乘多行架構。舉例而言,一頁可包含2048個位元加上包含ECC程式碼的備用位元,且BUF_A可具有一列以及1024 (加上包含ECC程式碼的備用位元)行或1024行加上包含ECC程式碼的備用位元的寬度。
安全邏輯電路112藉由資料匯流排184及資料匯流排185耦接至緩衝器記憶體結構(緩衝器BUF_A 181,緩衝器BUF_B 182)。資料匯流排184及資料匯流排185可具有小於區塊大小的匯流排寬度,諸如一個位元組或一個字元,且由安全邏輯電路112使用以在儲存於區塊中的緩衝器BUF_A 181及緩衝器BUF_B 182中的明文及密文間循環以自一個緩衝器檢索資料、執行加密/解密操作且儲存相對緩衝器中的結果。安全邏輯電路112亦可或可替代地藉由資料匯流排191耦接至緩衝器記憶體結構(緩衝器BUF_A 181,緩衝器BUF_B 182)以視需要來回移動資料。
I/O介面105可包含藉由資料匯流排191耦接至安全邏輯電路112且耦接至緩衝器記憶體結構(緩衝器BUF_A 181,緩衝器BUF_B 182)的位元組寬或多個位元組寬傳輸寄存器或FIFO。
輸入/輸出資料及控制訊號在積體電路記憶體裝置100上的介面105、命令解碼器電路108以及控制邏輯110以及I/O埠195或在積體電路記憶體裝置100內部或外部的其他資料源中移動。在一些實施例中,I/O埠195可連接至晶片上主機電路,諸如通用處理器或專用應用程式電路,或提供由記憶體陣列160支援的系統單晶片功能的模組的組合。
在圖1B中所展示的範例中,使用偏壓配置狀態機120的控制邏輯110控制經由偏壓配置狀態機120中的一或多個電壓供應產生或提供的諸如讀取、程式化及抹除電壓的偏壓配置供應電壓的應用,包含頁讀取,以將資料自記憶體陣列中的頁轉移至輸出 緩衝器。控制邏輯110耦接至包括緩衝器BUF_A 181、緩衝器BUF_B 182以及感測放大器/緩衝器171的多層級緩衝器結構、安全邏輯電路112以及記憶體陣列160。
控制邏輯110及命令解碼器電路108構成控制器,所述控制器可使用專用邏輯電路實施,所述專用邏輯電路包含狀態機及支援邏輯。在替代實施例中,控制邏輯包括可實施相同於積體電路上的通用處理器,所述通用處理器執行電腦程式來控制裝置的操作。在又其他實施例中,可利用專用邏輯電路與通用處理器的組合來實施控制邏輯。
控制器的命令解碼器電路108及控制邏輯110用以偵測經加密命令且對儲存記憶體執行經加密命令。在本文所描述的實施例中,控制器回應於在輸入/輸出介面處接收到的命令而控制記憶體操作,所述記憶體操作包含偵測且執行經加密命令以對儲存記憶體進行資訊的儲存及檢索且在I/O介面處輸出經加密形式的結果。
記憶體陣列160可包括浮動閘極記憶單元或介電電荷捕獲記憶單元,所述記憶單元用以藉由建立對應於所儲存電荷量的多個程式化層級來使每個單元儲存多個位元,並藉此建立記憶單元臨限電壓VT。在此是基於使用電荷捕獲記憶單元,諸如浮動閘極快閃記憶體及介電電荷捕獲快閃記憶體。所述技術可與其他記憶單元技術一起使用。在其他範例中,記憶單元可包括可程式化電阻記憶單元,所述可程式化電阻記憶單元用以藉由建立對應於電阻量的多個程式化層級而用於每個單元的多個位元。
在實施方案中,主機A 97A~主機N 97N可包括通用處理 器、特殊用途處理器、用以為記憶體控制器的處理器或使用積體電路記憶體裝置100的其他處理器。主機A 97A~主機N 97N的全部或部分可在與記憶體相同的積體電路上實施。儘管上文已使用用於積體電路裝置的組件的所選群組進行展示,但可存在許多替代、修改以及改變。舉例而言,組件中的一些可經擴展及/或組合。其他組件可插入至上述內容。視實施例而定,組件的配置可與其他替換物互換。這些組件的另外細節可貫穿本說明書且更特定言之於下文中。
在描述用於儲存記憶體的範例安全架構後,將參考圖2及圖3的資料流圖式及圖4的流程圖來描述使用類似於圖1的安全機構進行的寫入及讀取操作的後續範例。圖2為說明用於類似於圖1的具有安全命令解碼器機構的積體電路記憶體裝置的實施例的寫入操作的資料流圖式,且圖4為說明用於類似於圖1的系統的如本文中所描述的安全命令解碼器的操作模式的流程圖。
安全寫入操作
現參照圖2的資料流圖式200及圖4的流程圖400,將描述具有經加密寫入命令的安全命令的範例。圖2為說明用於類似於圖1的具有安全命令解碼器機構的積體電路記憶體裝置的實施例的寫入操作的資料流圖式。在圖4的步驟402及圖2的流程20中,主機A 97A已經由I/O埠195將安全命令91a及經加密有效負載91b(亦稱為中間資料有效負載)以及輸入標籤92發送至積體電路記憶體裝置100。在流程21中,I/O介面105(出於簡單及清楚起見,圖2中未展示)將安全命令91a發送至命令解碼器電路108。在流程22中,命令解碼器電路108將安全命令91a識別為 攜載經加密資訊的安全命令且觸發安全邏輯電路112以執行安全命令91a的經加密資訊的認證解密。
安全命令91a包含包括經加密有效負載91b的即時資料且亦可包含特定非經加密參數,諸如用於安全命令91a的一或多個選項。根據命令類型、設計目標以及特定硬體及/或韌體實施方案,實施方案不同,且經加密有效負載91b的內容及組態將有所不同。因此,由圖2說明的經加密有效負載91b的組態為例示性的,而非限制的。儘管,例示性經加密有效負載91b包括經加密記憶體存取命令93a、經加密位址資訊93b、經加密輸入變量93c以及經加密資料93d。經加密資料93d包括每當經加密記憶體存取命令93a為寫入命令時待寫入至積體電路記憶體裝置100中的儲存器的資料。經加密輸入變量93c可包含位元組計數、選項以及類似者。
在圖4的步驟404中,積體電路記憶體裝置100認證是否識別主機A 97A。在流程23中,來自主機A 97A的輸入標籤92由I/O介面105(出於清楚起見,圖2中未展示)路由至安全邏輯電路112。在流程24中,標籤檢查電路128判定輸入標籤92是否將主機A 97A認證為發送器。標籤檢查電路128可實施伽羅華計數器模式(GCM)、雜湊訊息認證碼(HMAC)或其他替代算法以認證輸入標籤92。在標籤檢查電路128不能使用輸入標籤92來認證發送器的情況下,返回返回碼且不對安全命令91a採取進一步動作。
在圖4的步驟406中,積體電路記憶體裝置100解密安全命令91a的經加密資訊。在流程25中,I/O介面105(出於清楚 起見,圖2中未展示)將安全命令91a的經加密有效負載91b發送至緩衝器BUF_A 181。在流程26中,儲存於緩衝器BUF_A 181中的經加密有效負載的資料以具有適用於由加密/解密電路114實施的算法的區塊大小的區塊形式經移動至安全邏輯電路112的密文緩衝器126。在實施伽羅華計數器模式(GCM)的範例實施例中,區塊加密經定義為具有128個位元的區塊大小。在流程27中,加密/解密電路114解密密文緩衝器126的內容且將結果寫入至明文緩衝器124中。在流程28中,自明文緩衝器124讀取的經解密資訊的區塊經寫入至緩衝器BUF_B 182作為經解密內容。如由圖2所說明,緩衝器BUF_B 182的經解密內容可包括記憶體存取命令94a、位址94b、輸入變量94c以及資料94d。
在圖4的步驟408中,經解密記憶體存取命令94a經解碼。在流程29中,記憶體存取命令94a經路由至命令解碼器電路108。命令解碼器電路108將記憶體存取命令94a識別為寫入命令以使用輸入變量94c將資料94d寫入至記憶體160中的位址94b。在圖4的步驟410中,記憶體命令由記憶體裝置執行。在流程30中,命令解碼器電路108觸發控制邏輯110以執行寫入命令,從而使用輸入變量94c將資料94d寫入至記憶體160中的位址94b。在流程31中,控制邏輯110觸發將寫入資料94d移動至感測放大器/緩衝器171以預備將資料寫入至記憶體陣列160。在流程32中,控制邏輯110觸發將位址94b提供至位址解碼器140。在流程33中,控制邏輯110觸發將資料94d寫入至由位址解碼器140激活的記憶體陣列160的位置。在流程34中,包括返回程式碼或由進行寫入命令產生的其他類型的回應的輸出有效負載95經儲存於感 測放大器/緩衝器171中。若此操作成功,則成功的返回碼可在步驟412中作為經加密或非經加密格式的輸出而返回;否則錯誤碼可在圖4的步驟414中作為經加密或非經加密格式的輸出而返回。在流程35中,輸出有效負載95被移動至緩衝器BUF_B 182。在流程36中,若安全邏輯電路112的明文緩衝器124需要,則在區塊大小部分中複製讀取資料94d與輸出有效負載。在流程37中,加密/解密電路114使用明文緩衝器124的內容,例如使用下文參考圖4、圖6以及圖7所描述的方法來建立輸出標籤98。在輸出待經加密的實施方案中,加密/解密電路114將另外或在一些實施中並行地加密明文緩衝器124的內容且將結果儲存至密文緩衝器126中。在流程38中,來自密文緩衝器126的經加密的取資料94d與輸出有效負載95的區塊經組合至緩衝器BUF_A 181中。在流程39中,緩衝器BUF_A 181的內容(輸出資料99)以適用於記憶體存取命令94a的經加密或經解密形式連同在流程39中由加密/解密電路114產生的輸出標籤98經提供至調用主機A 97A。
安全讀取操作
在描述使用類似於圖1的安全機構進行的寫入操作的範例後,將參考圖3的資料流圖式及圖4的流程圖來描述使用相似安全機構進行的下一讀取操作。圖3為說明用於類似於圖1的具有安全命令解碼器機構的積體電路記憶體裝置的實施例的讀取操作的資料流圖式,且圖4為說明用於類似於圖1的系統的如本文中所描述的安全命令解碼器的操作模式的流程圖。
現參考圖3的資料流圖300且重新參考圖4的流程圖400,將描述具有經加密讀取命令的安全命令的範例。圖3為說明 用於類似於圖1的具有安全命令解碼器機構的積體電路記憶體裝置的實施例的讀取操作的資料流圖式。在圖4的步驟402及圖3的流程20中,主機A 97A已經由I/O埠195將安全命令91a及經加密有效負載91b以及輸入標籤92發送至積體電路記憶體裝置100。在流程21中,I/O介面105(出於清楚起見,圖3中未展示)將安全命令91a發送至命令解碼器電路108。在流程22中,命令解碼器電路108將安全命令91a識別為攜載經加密資訊的安全命令且觸發安全邏輯電路112以執行安全命令91a的經加密資訊的認證解密。
安全命令91a包含包括經加密有效負載91b的即時資料。根據命令類型、設計目標以及特定硬體及/或韌體實施方案,實施方案不同,且經加密有效負載91b的內容及組態將因此不同。因此,由圖3說明的經加密有效負載91b的組態為例示性的,而非限制的。儘管,例示性經加密有效負載91b包括經加密記憶體存取命令93a、經加密位址資訊93b、經加密輸入變量93c以及經加密資料93d。經加密資料93d用於寫入操作且在讀取操作期間可不含有資料。視情況,經加密資料93d包括控制資訊,及/或識別緩衝器位置的位址,每當經加密記憶體存取命令93a為讀取命令時而自積體電路記憶體裝置100中的儲存器讀取的資料可寫入至所述緩衝器位置。自儲存積體電路記憶體裝置100讀取的資料經發送至主機A 97A,從而產生經加密格式或視情況為明文格式的請求。經加密輸入變量93c可包含位元組計數、選項以及類似者。
在圖4的步驟404中,積體電路記憶體裝置100認證是否識別主機A 97A。在流程23中,來自主機A 97A的輸入標籤92 由I/O介面105(出於清楚起見,圖3中未展示)路由至安全邏輯電路112。在流程24中,標籤檢查電路128判定輸入標籤92是否將主機A 97A認證為發送器。標籤檢查電路128可實施伽羅華計數器模式(GCM)、雜湊訊息認證碼(HMAC)或其他替代算法以認證輸入標籤92。在標籤檢查電路128不能使用輸入標籤92來認證發送器的情況下,返回返回碼且不對安全命令91a採取進一步動作。
在圖4的步驟406中,積體電路記憶體裝置100解密安全命令91a的經加密資訊。在流程25中,I/O介面105(出於簡單及清楚起見,圖2中未展示)將安全命令91a的經加密有效負載91b發送至緩衝器BUF_A 181。在流程26中,儲存於緩衝器BUF_A 181中的經加密有效負載的資料以具有適用於由加密/解密電路114實施的算法的區塊大小的區塊形式被移動至安全邏輯電路112的密文緩衝器126。在實施伽羅華計數器模式(GCM)的範例實施例中,區塊加密經定義為具有128個位元的區塊大小。在流程27中,加密/解密電路114解密密文緩衝器126的內容且將結果寫入至明文緩衝器124中。在流程28中,自明文緩衝器124讀取的經解密資訊的區塊被寫入至緩衝器BUF_B 182以作為經解密內容。如由圖3所說明的,緩衝器BUF_B 182的經解密內容可包括記憶體存取命令94a、位址94b、輸入變量94c以及資料94d。
在圖4的步驟408中,經解密記憶體存取命令94a被解碼。在流程29中,記憶體存取命令94a經路由至命令解碼器電路108。命令解碼器電路108將記憶體存取命令94a識別為讀取命令以使用輸入變量94c從記憶體160中的位址94b讀取資料。
在圖4的步驟410中,記憶體命令由記憶體裝置執行。在流程30中,命令解碼器電路108觸發控制邏輯110以執行讀取命令,從而使用輸入變量94c以從記憶體160中的位址94b讀取資料。在流程32中,控制邏輯110觸發以將位址94b提供至位址解碼器140。在流程33中,控制邏輯110觸發以從由位址解碼器140激活的記憶體陣列160的位置將資料94d讀取至感測放大器/緩衝器171中。在流程34中,包括返回程式碼或由進行讀取命令產生的其他類型的回應的輸出有效負載95被儲存於感測放大器/緩衝器171中。安全邏輯電路112依據前述記憶體操作的結果,提供一認證結果或訊息認證結果,即,若讀取操作成功,則提供成功的返回碼,以在步驟412中作為經加密或非經加密格式的輸出而返回;否則提供錯誤碼,以在圖4的步驟414中作為經加密或非經加密格式的輸出而返回。在流程31中,控制邏輯110觸發以將讀取自記憶體陣列160的讀取資料94d自感測放大器/緩衝器171移動至緩衝器BUF_B 182。在流程35中,輸出有效負載95被移動至緩衝器BUF_B 182。在流程36中,若安全邏輯電路112的明文緩衝器124需要,則在區塊大小部分中複製讀取資料94d及輸出有效負載。在流程37中,加密/解密電路114使用明文緩衝器124的內容,例如使用下文參考圖4、圖6以及圖7所描述的方法來建立輸出標籤98。在輸出待經加密的實施方案中,加密/解密電路114將另外或在一些實施中並行地加密明文緩衝器124的內容且將結果儲存至密文緩衝器126中。在流程38中,來自密文緩衝器126的經加密的讀取資料94d及輸出有效負載95的區塊經組合至緩衝器BUF_A 181中。在流程39中,緩衝器BUF_A 181的內 容(輸出資料99)以適用於記憶體存取命令94a的經加密或經解密形式連同在流程39中由加密/解密電路114產生的輸出標籤98經提供至調用主機A 97A。
在此使用類似於圖1的安全機構進行讀取操作的範例後,將參考圖5的資料流圖500及圖6的流程圖600來描述實施在一些加密/解密電路114實施例中使用的伽羅華計數器模式加密的下一範例認證加密服務。
現參考圖5及圖6。圖5為說明用於類似於圖1的系統的如本文中所描述的安全命令解碼器的區塊編密計數器模式的資料流圖式。資料流圖500包括計數器0 501a、計數器1 501b與計數器2 501c。圖6流程圖為說明用於類似於圖1的系統,如本文中所描述的安全命令解碼器的區塊編密計數器模式操作的流程圖。
在步驟601中,使用安全虛擬亂數產生器產生IV 122。在實施方案中,IV 122具有96個位元(或12個位元組)大小的長度。IV必須僅為發送器及接收器所已知的。
在步驟602中,IV 122隨後與32位計數器0 501a串接。在一個實施方案中,計數器0 501a從零開始計數。在另一實施方案中,計數器0 501a從一開始計數。計數器在使用計數器模式以用於加密明文的實施方案中自零開始。串接區塊具有128個位元大小且可經加密。
在步驟603中,使用密鑰116利用認證加密標準(區塊編密加密操作502)來加密由IV 122與計數器0 501a的串接形成的區塊。由此得到16個位元組或128個位元大小的串s。
在步驟604中,所得串s與儲存於明文緩衝器124中的 明文的第一區塊進行XOR(互斥或運算),得到密文的第一區塊,且儲存於密文緩衝器126中。
在步驟605中,計數器的值隨後增加一。
在步驟606中,針對計數器的每個一值及明文緩衝器124中的不同明文區塊(明文區塊124a與明文區塊124b)重複執行步驟601至步驟605,從而形成密文以儲存於密文緩衝器126中。
在一個實施方案中,對於明文的最後一個區塊,若明文區塊不為16的倍數(即,區塊大小),則所得經加密密文串s將分成等於明文的最後一個區塊的長度的長度且接著與明文的最後一個區塊進行XOR運算。
在描述加密/解密電路114可如何加密明文以形成密文後,將重新參考圖5的資料流圖500且參考圖7的流程圖700來描述用於確保資料的完整性的過程。
用於產生認證標籤98(輸出標籤98)的過程的一個實施方案基於Encrypt-then-MAC構造及威格曼-卡特(Wegman-Carter)MAC。用於產生認證標籤的函數又稱為GHASH()。函數GHASH由GHASH(H,A,C)=Xm+n+1界定,其中輸入A及C分別為如上文所描述格式化的關聯資料118(額外認證資料118)及密文126,且變量Xi(i=0、...、m+n+1)由等式(2)界定:
Figure 109125438-A0305-02-0027-1
(2)
現參考圖5及圖7。圖5為說明用於類似於圖1的系統的如本文中所描述的安全命令解碼器的區塊編密計數器模式的資料流圖式。圖7為說明用於類似於圖1的系統的用於使用如本文中所描述的區塊編密計數器模式操作來產生用以驗證資料完整性的認證標籤的過程的流程圖。
在步驟701中,秘密串H藉由使用加密密鑰116加密空串而產生,即,H=Ek("\x00"*16);其中"\x00"*16為16個位元組大小的空串。
在步驟702中,在一系列步驟中逐區塊地產生認證標籤。因此,對於關聯資料118(即,額外認證資料118)的每一區塊Ai,串Xi由電路504使用以下計算產生,且此有助於最末認證標籤:Xi=GmulH(Xi-1 xor Ai),其中i=1、...、m,X0=0。在此,m僅為待認證的區塊(關聯資料區塊)的數目。
在步驟703中,現關聯資料區塊Ai已包含於認證標籤中,當前認證標籤將由電路504處理,且n個密文區塊126a、密文區塊126b亦將包含於認證標籤中:Xi+m=GmulH(Xi+m-1 xor Ci),其中i=1、...、n。在此,n為密文的區塊的數目。
在步驟704中,關聯資料A的長度的64位元表示與密文C的長度的64位元表示串聯(串聯操作506)。所得串作為參數供應至如下GmulH():S=GmulH=(Xm+n xor(len(A)∥len(C)))。
在步驟705中,使用T=S xor Ek(J0)來產生認證標籤T 98(輸出標籤98),其中J0藉由初始化向量122與計數器0 501a的串接形成。
在一個實施方案中,認證標籤(即,輸出標籤98)可與來自加密函數的密文的每一區塊的產生並行地產生。
在步驟705中,服務將密文C與對應認證標籤T的串接作為最末輸出返回。
圖8為說明用於操作用於類似於圖1的系統的執行如本文中所描述的安全命令的記憶體裝置的過程的流程圖。記憶體裝置通常包含加密/解密邏輯電路及輸入/輸出介面。
請參照圖8的流程圖800,在步驟801中,記憶體裝置判定自主機接收到的命令資訊是否包含安全記憶體命令,其中安全記憶體命令包含經加密資訊。
在步驟802中,記憶體裝置回應於安全記憶體命令而認證主機是否為所識別主機。
在步驟803中,記憶體裝置解密來自所識別主機的經加密資訊,藉此獲得經解密資訊。
在步驟804中,記憶體裝置執行對應於經解密資訊的記憶體操作。
此區段中描述的方法的其他實施方案可包含非暫時性電腦可讀儲存媒體儲存可由處理器執行以執行上文所描述的方法中的任一者的指令。此區段中描述的方法的又一實施方案可包含系統包含記憶體及可操作以執行儲存於記憶體中的指令以執行上文所描述的方法中的任一者的一或多個處理器。
上文描述或所提及的任何資料結構及程式碼根據電腦可讀儲存媒體上的許多實施而儲存,所述電腦可讀儲存媒體可為可儲存由電腦系統使用的程式碼及/或資料的任何裝置或媒體。此包 含但不限於揮發性記憶體、非揮發性記憶體、特殊應用積體電路(application-specific integrated circuit;ASIC)、場可程式化柵極陣列(field-programmable gate array;FPGA)、磁性及光學儲存裝置或現已知或之後開發的能夠儲存電腦可讀媒體的其他媒體,所述磁性及光學儲存裝置諸如磁碟機、磁帶、緊密光碟(compact disc;CD)、數位通用光碟或數位視訊光碟(digital versatile disc/digital video disc;DVD)。
位元組為許多積體電路邏輯及記憶電路中使用的基本儲存單元且由8位元組成。基本儲存單元可具有其他大小,包含例如1個位元、2個位元、4個位元、16個位元等等。因此,上文闡述且在本發明中所描述的其他範例中利用術語位元組的加密/解密邏輯電路的描述一般應用於如將藉由儲存單元或儲存單元的集合替換術語位元組或位元組的集合來描述的使用不同大小的儲存單元的電路。此外,在一些實施例中,不同大小的儲存單元可用於單一命令序列,諸如與8位元儲存單元組合的一或多個4位元儲存單元。
在此說明藉由記憶體控制器或藉由記憶體裝置執行的邏輯的多個流程圖。邏輯可使用儲存於電腦系統可訪問記憶體中的電腦程式編程的處理器實現,且可由處理器、由專用邏輯硬體(包含場可程式化積體電路)及由專用邏輯硬體及電腦程式的組合執行。如同本文中的所有流程圖,應瞭解可組合、並行執行或以不同序列執行許多步驟而不影響所達成的功能。在一些情況下,如讀者將瞭解,只要亦進行某些其他改變,重新配置步驟將達成相同結果。在其他情況下,如讀者將瞭解,只要符合某些條件,重新配置 步驟將達成相同結果。此外,將瞭解,本文中的流程圖僅展示相關於理解所描述技術的步驟,且將理解,可在所展示的那些步驟之前、之後以及之間可執行用於實現其他功能的大量額外步驟。
在本發明中描述具有控制器的裝置及回應於包含安全命令的命令序列的方法。
在本發明中描述具有控制器的裝置及回應於包含不安全命令的命令序列的方法。
在本發明中描述具有控制器的裝置及回應於具有更包含經加密即時資料有效負載的安全命令的命令序列的方法。
在本發明中描述具有控制器的裝置及用於執行包含經加密命令參數的安全命令的方法,包含偵測攜載即時資料有效負載的安全命令、回應於安全記憶體命令而認證主機是否為所識別主機、解密來自所識別主機的經加密資訊藉此獲得經解密資訊以及執行對應於經解密資訊的記憶體操作。
在本發明中描述具有控制器的裝置及方法,具有更包含經加密即時資料有效負載的安全命令,即時資料有效負載可經解密成可在記憶體陣列上後執行的記憶體存取命令;藉此消除第三方干擾或攔截記憶體存取命令的可能性。
在本發明中描述具有控制器的裝置及方法,具有更包含經加密即時資料有效負載的安全命令;所述有效負載將具有當被執行時將執行的記憶體操作的命令資訊。
在本發明中描述具有控制器的裝置及方法,具有更包含經加密即時資料有效負載的安全命令;有效負載將具有將執行的命令資訊,其中命令資訊在記憶體陣列上發送。
在本發明中描述具有控制器的裝置及方法,具有更包含經加密即時資料有效負載的安全命令;有效負載將具有將在記憶體陣列上執行的命令資訊,其中命令為僅在安全命令進行認證時才發送。
在本發明中描述具有控制器的裝置及方法,所述裝置及方法回應於包含經加密即時資料有效負載的安全命令而執行記憶體存取操作。
針對具有更包含經加密即時資料有效負載的安全命令來描述具有控制器的裝置及方法,第一階段解密過程及第二階段解碼過程使用第一階段及第二階段進行緩衝。
儘管參考上文詳述的較佳實施例及範例揭露本發明,但應理解,這些範例意欲為說明性而非限制性意義。預期在所屬領域的技術人員將容易地想到各種修改及組合,所述修改及組合將在本發明的精神及以下申請專利範圍的範疇內。
801、802、803、804:步驟

Claims (20)

  1. 一種記憶體裝置,包括:記憶體陣列,包含多個位元線;輸入/輸出介面,用於輸入/輸出資料單元;資料路徑電路,連接在所述記憶體陣列與所述輸入/輸出介面之間;命令解碼器電路,回應於在所述輸入/輸出介面處接收的命令,以解碼自主機接收到的命令資訊,其中所述命令資訊包含安全記憶體命令,其中所述安全記憶體命令包含經加密的資訊;以及安全邏輯電路,回應於所述安全記憶體命令而認證所述主機是否為所識別主機,解密來自所述所識別主機的經加密資訊藉此獲得經解密資訊,且執行對應於所述經解密資訊的記憶體操作。
  2. 如請求項1之記憶體裝置,更包括:所述命令解碼器電路,接收命令序列,所述命令序列包含:命令碼欄位及中間資料有效負載,其中:所述命令碼欄位包含作業碼,其中所述作業碼指示一未加密命令以及一安全命令中之二者之一,其中所述中間資料有效負載包含經加密記憶體存取命令作業碼、經加密位址欄位以及一或多個經加密輸入變量,其中所述經加密位址欄位指示欲從記憶體讀取資料的一或多個位置,其中所述經加密輸入變量包含加密結果指標。
  3. 如請求項2之記憶體裝置,更包括:所述安全邏輯電路具有加密/解密電路,其中當所述作業碼指示安全命令時,所述加密/解密電路對自記憶體讀取的資料進行加 密,其中所述加密結果指標顯示加密結果,其中所述經加密記憶體存取命令作業碼指示讀取係自記憶體。
  4. 如請求項1之記憶體裝置,更包括:所述命令解碼器電路,接收命令序列,所述命令序列包含:命令碼欄位及中間資料有效負載,其中:所述命令碼欄位包含作業碼,其中所述作業碼指示一未加密命令以及一安全命令中之二者之一,其中所述中間資料有效負載包含經加密記憶體存取命令作業碼、經加密位址欄位、經加密資料以及一或多個經加密輸入變量,其中所述經加密位址欄位指示欲將資料寫入至記憶體的一或多個位置,其中所述經加密輸入變量包含加密結果指標。
  5. 如請求項4之記憶體裝置,更包括:所述安全邏輯電路具有加密/解密電路,其中當所述作業碼指示安全命令時,所述加密/解密電路對將資料寫入至記憶體產生的返回碼進行加密,其中所述加密結果指標顯示加密結果,其中所述經加密記憶體存取命令作業碼指示寫入係寫入至記憶體。
  6. 如請求項1之記憶體裝置,更包括:所述命令解碼器電路,解碼未加密命令。
  7. 如請求項1之記憶體裝置,其中所述安全邏輯電路提供一第一記憶體操作結果,其中所述第一記憶體操作結果係以未加密形式執行所述記憶體操作的結果。
  8. 如請求項7之記憶體裝置,其中所述安全邏輯電路基於所述第一記憶體操作結果計算一訊息認證碼,其中所述安全邏輯電路依所述第一記憶體操作結果連同以未加密形式的所述訊 息認證碼,提供一訊息認證結果。
  9. 如請求項1之記憶體裝置,其中所述安全邏輯電路提供一第二記憶體操作結果,其中所述第二記憶體操作結果係基於加密形式執行所述記憶體操作而計算一認證碼(authentication code),其中所述安全邏輯電路依所述第二記憶體操作結果連同以加密形式的所述認證碼,提供一認證結果。
  10. 如請求項9之記憶體裝置,其中所述安全邏輯電路使用區塊編密計數器模式(block cipher counter mode)來加密所述第二記憶體操作結果以加密所述第二記憶體操作結果的區塊以形成密文資訊的區塊;且在緩衝寄存器中將所述密文資訊的至少兩個區塊串接在一起。
  11. 如請求項10之記憶體裝置,其中所述安全邏輯電路藉由使用與預期接收者共用的對稱密鑰加密與計數器串接的初始化向量的區塊而使用所述區塊編密計數器模式來加密所述第二記憶體操作結果以獲得中間結果,且計算具有明文的對應區塊與所述中間結果進行互斥或運算(XOR)以形成所述密文資訊的區塊。
  12. 如請求項1之記憶體裝置,其中所述安全邏輯電路使用區塊編密計數器模式來解密來自所述所識別主機的經加密資訊以解密所述經加密資訊的區塊以形成明文資訊的區塊;且在緩衝寄存器中將所述明文資訊的至少兩個區塊串接在一起。
  13. 一種用於操作用於執行安全命令的記憶體裝置的方法,所述記憶體裝置包含加密/解密邏輯電路及輸入/輸出介面,所述方法包括:判定自主機接收到的命令資訊是否包含安全記憶體命令,其 中所述安全記憶體命令包含經加密資訊;回應於所述安全記憶體命令而認證所述主機是否為所識別主機;解密來自所述所識別主機的經加密資訊藉此獲得經解密資訊;以及執行對應於所述經解密資訊的記憶體操作。
  14. 如請求項13之用於操作用於執行安全命令的記憶體裝置的方法,更包括:基於所執行的所述記憶體操作產生一第一記憶體操作結果而計算一訊息認證碼;且依所述第一記憶體操作結果連同以未加密形式的所述訊息認證碼,提供一訊息認證結果。
  15. 如請求項13之用於操作用於執行安全命令的記憶體裝置的方法,更包括基於加密所執行的所述記憶體操作產生一第二記憶體操作結果而計算一認證碼;且依所述第二記憶體操作結果連同以加密形式的所述認證碼,提供一認證結果。
  16. 如請求項15之用於操作用於執行安全命令的記憶體裝置的方法,其中所述基於加密所執行的所述記憶體操作產生所述第二記憶體操作結果更包含使用區塊編密計數器模式來加密一包含所述第二記憶體操作結果的區塊以形成密文資訊的區塊;以及在緩衝寄存器中將所述密文資訊的至少兩個區塊串接在一起。
  17. 如請求項16之用於操作用於執行安全命令的記憶體裝置的方法,其中使用所述區塊編密計數器模式來加密包含所述第二記憶體操作結果的所述區塊更包含使用與預期接收者共用的對稱密鑰來加密與計數器串接的初始化向量的區塊以獲得中間結果,以及計算具有明文的對應區塊與所述中間結果進行互斥或運 算以形成所述密文資訊的區塊。
  18. 如請求項13之用於操作用於執行安全命令的記憶體裝置的方法,其中解密來自所述所識別主機的經加密資訊更包含使用區塊編密計數器模式來解密所述經加密資訊的區塊以形成明文資訊的區塊;以及在緩衝寄存器中將所述明文資訊的至少兩個區塊串接在一起。
  19. 一種記憶體裝置,包括:記憶體陣列,包含多個位元線;輸入/輸出介面,用於輸入/輸出資料單元;資料路徑電路,連接在所述記憶體陣列與所述輸入/輸出介面之間;命令解碼器電路,在所述輸入/輸出介面處接收安全及不安全命令,所述解碼器具有安全邏輯電路,所述安全邏輯電路在安全命令作業碼經接收時解密經加密即時資料有效負載,藉此獲得經解密資訊,且執行對應於所述經解密資訊的記憶體操作。
  20. 如請求項19之記憶體裝置,更包括:安全邏輯電路,回應於利用所述安全命令作業碼接收到的輸入標籤而認證所述主機是否為所識別主機。
TW109125438A 2019-08-21 2020-07-28 用於執行安全命令的記憶體裝置及方法 TWI761896B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201962889581P 2019-08-21 2019-08-21
US62/889,581 2019-08-21
US16/850,788 US11264063B2 (en) 2019-08-21 2020-04-16 Memory device having security command decoder and security logic circuitry performing encryption/decryption commands from a requesting host
US16/850,788 2020-04-16

Publications (2)

Publication Number Publication Date
TW202109546A TW202109546A (zh) 2021-03-01
TWI761896B true TWI761896B (zh) 2022-04-21

Family

ID=74645598

Family Applications (1)

Application Number Title Priority Date Filing Date
TW109125438A TWI761896B (zh) 2019-08-21 2020-07-28 用於執行安全命令的記憶體裝置及方法

Country Status (3)

Country Link
US (1) US11264063B2 (zh)
CN (1) CN112416243A (zh)
TW (1) TWI761896B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220284892A1 (en) * 2021-03-05 2022-09-08 Lenovo (Singapore) Pte. Ltd. Anonymization of text transcripts corresponding to user commands
US20220091758A1 (en) * 2021-12-07 2022-03-24 Intel Corporation Securing sensitive data in memory
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

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW200504525A (en) * 2003-05-05 2005-02-01 Sun Microsystems Inc Methods and systems for efficiently integrating a cryptographic co-processor
TW200519738A (en) * 2003-12-04 2005-06-16 Ip First Llc Apparatus and method for performing transparent block cipher cryptographic functions
TW201837774A (zh) * 2015-10-06 2018-10-16 美商美光科技公司 用於執行安全操作之裝置及方法

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3892994B2 (ja) 1999-07-23 2007-03-14 スパンション インク コマンドの暗号化を可能にした不揮発性メモリ
US6957329B1 (en) * 2001-02-05 2005-10-18 Ati Technologies, Inc. System for encrypting data from multiple multimedia applications and method thereof
US7532722B2 (en) 2003-04-18 2009-05-12 Ip-First, Llc Apparatus and method for performing transparent block cipher cryptographic functions
TW200509700A (en) * 2003-06-20 2005-03-01 Nagravision Sa Decoder and system for processing pay-TV data and process for managing at least two decoders
KR100585095B1 (ko) * 2003-06-26 2006-05-30 삼성전자주식회사 데이터 전송 시스템에서의 데이터 보호 방법 및 장치
KR100712835B1 (ko) * 2005-03-11 2007-04-30 케이비 테크놀러지 (주) 보안 데이터 저장 장치
US8613074B2 (en) * 2010-09-30 2013-12-17 Micron Technology, Inc. Security protection for memory content of processor main memory
CN101968774A (zh) * 2010-10-21 2011-02-09 中国人民解放军61938部队 移动数据安全存储的装置和方法
CN102902634B (zh) * 2012-08-17 2015-05-27 杭州华澜微科技有限公司 具有加密保护功能的存储装置
US9806887B1 (en) * 2014-09-23 2017-10-31 Amazon Technologies, Inc. Authenticating nonces prior to encrypting and decrypting cryptographic keys
US10652025B2 (en) * 2017-07-10 2020-05-12 Micron Technology, Inc. Secure snapshot management for data storage devices
US10809925B2 (en) * 2019-01-28 2020-10-20 Macronix International Co., Ltd. Configurable security memory region
US11081168B2 (en) * 2019-05-23 2021-08-03 Hefei Reliance Memory Limited Mixed digital-analog memory devices and circuits for secure storage and computing

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW200504525A (en) * 2003-05-05 2005-02-01 Sun Microsystems Inc Methods and systems for efficiently integrating a cryptographic co-processor
TW200519738A (en) * 2003-12-04 2005-06-16 Ip First Llc Apparatus and method for performing transparent block cipher cryptographic functions
TW201837774A (zh) * 2015-10-06 2018-10-16 美商美光科技公司 用於執行安全操作之裝置及方法

Also Published As

Publication number Publication date
TW202109546A (zh) 2021-03-01
US11264063B2 (en) 2022-03-01
US20210057002A1 (en) 2021-02-25
CN112416243A (zh) 2021-02-26

Similar Documents

Publication Publication Date Title
TWI761896B (zh) 用於執行安全命令的記憶體裝置及方法
US9483664B2 (en) Address dependent data encryption
US8666064B2 (en) Endecryptor capable of performing parallel processing and encryption/decryption method thereof
US7817799B2 (en) Maintaining encryption key integrity
US20090125726A1 (en) Method and Apparatus of Providing the Security and Error Correction Capability for Memory Storage Devices
CN110490008B (zh) 安全装置及安全芯片
JP2010509690A (ja) 記憶装置のセキュリティを確保する方法とシステム
US20090316899A1 (en) Encryption/decryption device and security storage device
CN101149709A (zh) 存储卡的加密处理器和使用其进行数据读写的方法
TWI747007B (zh) 可配置安全記憶區域
WO2022083324A1 (zh) 消息加密方法及装置、消息解密方法及装置、移动终端
US11429751B2 (en) Method and apparatus for encrypting and decrypting data on an integrated circuit
US20140101459A1 (en) Mode-based secure microcontroller
US20230386541A1 (en) Puf applications in memories
TWI546731B (zh) 輸入-相依隨機數產生裝置及其方法
US20070016768A1 (en) Detection of a change of the data of a dataset
TW580808B (en) Apparatus and method for cipher processing system using multiple port memory and parallel read/write operations
CN114830110B (zh) 单次使用密码产生
US11050569B2 (en) Security memory scheme
CN112887077A (zh) 一种ssd主控芯片随机缓存保密方法和电路
US11050575B2 (en) Entanglement and recall system using physically unclonable function technology
JP2007193800A (ja) カード認証システムのセキュリティレベルを向上させる装置及び方法
US11960769B2 (en) High performance secure read in secure memory providing a continuous output of encrypted information and specific context
CN116628776A (zh) 存储器装置以及存储器芯片的存储器阵列信息的读取方法
TW202403773A (zh) 半導體裝置及用以管理其之安全操作的系統與方法