TWI751075B - 記憶體中的不可複製函數應用 - Google Patents
記憶體中的不可複製函數應用 Download PDFInfo
- Publication number
- TWI751075B TWI751075B TW110114185A TW110114185A TWI751075B TW I751075 B TWI751075 B TW I751075B TW 110114185 A TW110114185 A TW 110114185A TW 110114185 A TW110114185 A TW 110114185A TW I751075 B TWI751075 B TW I751075B
- Authority
- TW
- Taiwan
- Prior art keywords
- data
- circuit
- path
- puf
- logic
- Prior art date
Links
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/60—Protecting data
- G06F21/606—Protecting data by securing the transmission between two devices or processes
-
- 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/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/44—Program or device authentication
-
- 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/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- 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/72—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 cryptographic circuits
-
- 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
-
- 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/22—Safety or protection circuits preventing unauthorised or accidental access to memory cells
-
- 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/26—Sensing or reading circuits; Data output circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1006—Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/24—Memory cell safety or protection circuits, e.g. arrangements for preventing inadvertent reading or writing; Status cells; Test cells
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C8/00—Arrangements for selecting an address in a digital store
- G11C8/20—Address safety or protection circuits, i.e. arrangements for preventing unauthorized or accidental access
-
- 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/06—Cryptographic 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/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
- H04L9/0637—Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]
-
- 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/06—Cryptographic 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/0643—Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
-
- 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/06—Cryptographic 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/065—Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
- H04L9/0656—Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher
- H04L9/0662—Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher with particular pseudorandom sequence generator
-
- 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/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0866—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics
-
- 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/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0869—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
-
- 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/32—Cryptographic 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/3271—Cryptographic 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 challenge-response
- H04L9/3278—Cryptographic 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 challenge-response using physically unclonable functions [PUF]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Power Engineering (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Storage Device Security (AREA)
- Read Only Memory (AREA)
Abstract
本發明提供一種記憶體裝置,包括:記憶體單元陣列;物理不可複製函數PUF電路,設置於記憶體裝置中,物理不可複製函數電路用以生成PUF碼;資料路徑,將第一電路連接至第二電路,資料路徑設置於記憶體裝置中耦接至記憶體單元陣列;以及邏輯電路,用以使用PUF碼編碼來自第一電路的資料路徑上的資料以產生經編碼資料且將經編碼資料提供至第二電路。
Description
本發明是關於積體電路,其包括具有物理不可複製函數的應用的快閃記憶體或其他非揮發性記憶體。
已研發出具有極高容量之積體電路記憶體裝置,包括非揮發性記憶體,諸如快閃記憶體。認為一些技術可能在積體電路上實現兆位元規模之陣列。另外,記憶體裝置部署於藉由例如網際網路協定通信技術來操作之網路互連的所謂「物聯網IoT」裝置中。對於儲存資料之IoT裝置及其他裝置的一個關注點為資料安全。因此,已部署需要藉由獨特密鑰加密、藉由獨特ID認證以及詢問/回應技術之安全協定。
安全協定需要密鑰管理技術以生成、更新、儲存以及保護所利用之獨特密鑰及ID。
需要為包括非揮發性記憶體的積體電路提供固定儲存於此等積體電路中、自此等積體電路擷取及/或由此等積體電路使用的資訊的技術。
一種記憶體裝置包括:記憶體單元陣列;物理不可複製函數PUF電路,設置於記憶體裝置中,物理不可複製函數電路用以生成PUF碼;資料路徑,將第一電路連接至第二電路,資料路徑設置於記憶體裝置中耦接至記憶體單元陣列;以及邏輯電路,用以使用PUF碼編碼來自第一電路的資料路徑上的資料以產生經編碼資料且將經編碼資料提供至第二電路。如此處所使用,物理不可複製函數(PUF,被稱作physical unclonable function或physically unclonable function)為可用以形成用於物理實體(諸如積體電路)的獨特隨機密鑰的程序。所揭露技術的實施方案可採用生成用於晶片ID的密鑰的PUF。一些應用可支持硬體固有安全(hardware intrinsic security;HIS)技術。生成PUF的電路為實施於產生易於評估但難以預測的碼的實體結構的物理實體或包括所述物理實體。
在一個代表性固定記憶體實施方案中,第一電路包括登記位址的資料暫存器,第二電路包括耦接至記憶體單元陣列的位址生成器,且資料路徑包括連接資料暫存器與用以編碼資料的邏輯電路的第一路徑以及連接用以編碼資料的邏輯電路與位址生成器的第二路徑。用以編碼資料路徑上的資料的邏輯電路包括用以編碼來自資料暫存器的第一路徑上的位址以產生經編碼位址的邏輯,且所述邏輯經由第二路徑將經編碼位址提供至位址生成器,其中所述邏輯使用PUF碼以編碼第一路徑上的位址。在一些實施方案中,用以編碼資料的邏輯電路可包括使用PUF碼及資料路徑上的資料作為輸入且產生輸出作為經編碼輸出資料的互斥或(exclusive-or)函數。
在另一代表性實施方案中,第一電路包括登記輸入資料的資料暫存器,第二電路包括SRAM緩衝器,且資料路徑包括連接資料暫存器與用以編碼資料的邏輯電路的第一路徑以及連接用以編碼資料的邏輯電路與SRAM緩衝器的第二路徑。用以編碼資料路徑上的資料的邏輯電路包括用以編碼來自資料暫存器的第一路徑上的輸入資料以產生經編碼輸入資料的邏輯,且所述邏輯經由第二路徑將經編碼輸入資料提供至SRAM緩衝器,其中所述邏輯使用PUF碼以編碼第一路徑上的輸入資料。
在另一代表性實施方案中,第一電路包括耦接至記憶體單元陣列的感測放大器,第二電路包括耦接至輸入與輸出介面的輸出緩衝器,所述輸入與輸出介面用於接收、傳送及提供外部存取,且資料路徑包括連接感測放大器與用以編碼資料的邏輯電路的第一路徑以及連接用以編碼資料的邏輯電路與輸出緩衝器的第二路徑。用以編碼資料路徑上的資料的邏輯電路包括用以編碼來自感測放大器的第一路徑上的輸出資料以產生經編碼輸出資料的邏輯,且所述邏輯經由第二路徑將經編碼輸出資料提供至輸出緩衝器,其中所述邏輯使用PUF碼以編碼第一路徑上的輸出資料。
在又一代表性實施方案中,第一電路包括在記憶體單元陣列中的第一位置設置的第一記憶體單元集合,第二電路包括在記憶體單元陣列中的第二位置設置的第二記憶體單元集合,且資料路徑包括連接第一記憶體單元集合與用以編碼資料的邏輯電路的第一路徑以及連接用以編碼資料的邏輯電路與第二記憶體單元集合的第二路徑。用以編碼資料路徑上的資料的邏輯電路包括用以編碼來自第一記憶體單元集合的第一路徑上的初始密鑰以產生經編碼密鑰的邏輯,且所述邏輯經由第二路徑將經編碼密鑰提供至第二記憶體單元集合,其中所述邏輯使用PUF碼以編碼第一路徑上的初始密鑰。記憶體裝置可包括用以自記憶體裝置外部來源接收初始密鑰且用以將初始密鑰儲存於第一記憶體單元集合中的邏輯。初始密鑰可包括關鍵安全參數。
所揭露的技術適用於具有命令介面的所有類型的記憶體。描述記憶體陣列包括快閃裝置的實例實施例,然而,本文中所描述的技術亦可應用於其他類型的記憶體裝置。一些實施例在NOR快閃記憶體中實施所揭露的安全機構。其他實施例在NAND快閃記憶體中實施所揭露的安全機構。又其他實施例在不為快閃記憶體的記憶體中實施安全命令解碼器機構。
亦提供一種用於操作如本文中所描述的記憶體裝置的方法。
所揭露技術的實施方案呈現可易於製造部署所揭露技術的裝置但產生即使在知曉產生碼的確切製造程序的情況下實際上亦不可能重複或預測的碼的理想態樣。在審閱以下圖式、詳細描述以及申請專利範圍之後可看出本發明的其他態樣及優點。
以下描述將通常參考特定結構實施例及方法。應理解,不存在將所述技術限制為特定揭露的實施例及方法的意圖,而可使用其他特徵、元件、方法及實施例實踐所述技術。描述較佳實施例以說明本發明技術,而非限制其範疇,所述範疇由申請專利範圍限定。於本領域具有通常知識者將認識到以下描述的各種等效變化。參考圖式提供本發明的實施例的詳細描述。
圖1為根據一實施例的包括記憶體單元陣列及用以使用PUF電路的邏輯的記憶體裝置的簡化方塊圖。圖1中所示的記憶體裝置100包括記憶體單元陣列110,以及記憶體裝置中的用以生成PUF碼的一或多個PUF電路133、PUF電路143、PUF電路153、PUF電路163。記憶體裝置包括:資料路徑,將第一電路連接至第二電路,所述資料路徑設置於記憶體裝置中耦接至記憶體單元陣列;以及邏輯電路130、邏輯電路140、邏輯電路150、邏輯電路160,用以使用PUF碼編碼來自第一電路的資料路徑上的資料以產生經編碼資料且將經編碼資料提供至第二電路。PUF碼可包括多個位元,諸如128個位元。資料路徑可包括多位元匯流排,諸如具有128個位元的匯流排。
記憶體裝置100包括輸入與輸出介面120,其可包括提供對記憶體裝置外部的其他裝置或網路的存取的無線端口或有線端口。輸入與輸出介面120可包括多個接腳,包括用於與系統時鐘信號SCLK同步的串行資料I/O(輸入及輸出)、用於接收及/或發送位址、資料以及命令信號的接腳。記憶體裝置100包括經由匯流排121耦接至輸入與輸出介面120的資料暫存器125。資料暫存器125可登記經由輸入與輸出介面120自其他裝置或網路接收到的位址及輸入資料。記憶體裝置100包括經由匯流排136耦接至記憶體單元陣列110的位址生成器135。
在第一實施例中,經編碼資料包括經編碼位址。在此實施例中,使用相同編碼來寫入以及讀取資料,藉此由於PUF碼為隨機且不可複製的,故使得難以篡改對秘密資料的實體位置進行的定位。第一電路可包括登記位址的資料暫存器125,且第二電路可包括耦接至記憶體單元陣列110的位址生成器135。資料路徑可包括連接資料暫存器125與用以編碼資料的邏輯電路130的第一路徑131,以及連接用以編碼資料的邏輯電路130與位址生成器135的第二路徑132。用以編碼資料路徑上的資料的邏輯電路可包括用以編碼來自資料暫存器的第一路徑上的位址以產生經編碼位址的邏輯,且所述邏輯經由第二路徑將經編碼位址提供至位址生成器,其中所述邏輯使用PUF碼以編碼第一路徑上的位址。PUF電路133可生成PUF碼且經由匯流排134將PUF碼提供至邏輯電路130。舉例而言,PUF電路133可包括暫存器,所述暫存器登記PUF碼且經由匯流排134連接至邏輯電路。邏輯電路130包括用以使用藉由PUF電路133提供的PUF碼以及經登記在資料暫存器125上的位址作為輸入編碼資料路徑上的資料且產生輸出作為經編碼位址的邏輯。
在第二實施例中,經編碼資料包括經編碼輸入資料。在此實施例中,經編碼資料在由輸出側上的邏輯150輸出之前經解碼。用於擾碼的PUF碼可與擾碼資料一起儲存且稍後擷取以進行解擾碼。輸入資料藉由PUF進行互斥或(exclusive-or;XOR)以獲得擾碼資料,且接著儲存至快閃記憶體中。所儲存擾碼資料再次藉由PUF碼進行XOR,以在如由圖12說明的真值表1200中示出的輸出之前解擾碼回至初始資料。
第一電路可包括登記輸入資料的資料暫存器125,且第二電路可包括SRAM緩衝器145。資料路徑可包括連接資料暫存器125與用以編碼資料的邏輯電路140的第一路徑141,以及連接邏輯電路140與SRAM緩衝器145的第二路徑142。用以編碼資料路徑上的資料的邏輯電路140可包括使用PUF電路143所生成PUF碼用以編碼來自資料暫存器125的第一路徑141上的輸入資料以產生經編碼輸入資料且經由第二路徑142將經編碼輸入資料提供至SRAM緩衝器145的邏輯。PUF電路143生成PUF碼且經由匯流排144將PUF碼提供至邏輯電路140。邏輯電路140包括用以使用藉由PUF電路143提供的PUF碼以及經登記在資料暫存器125上的輸入資料作為輸入編碼資料路徑上的資料且產生輸出作為經編碼輸入資料的邏輯。
字元線解碼器113耦接至記憶體單元陣列110中的多個字元線且與所述多個字元線電連通。位元線解碼器114與記憶體單元陣列110中的多個位元線115電連通,以用於讀取、寫入以及抹除記憶體單元陣列110中的記憶體單元。位址在匯流排136上供應至字元線解碼器113及位元線解碼器114。包括用於讀取模式、程式化模式以及抹除模式的電壓及/或電流源的感測放大器117經由匯流排116耦接至位元線解碼器114。
在第三實施例中,經編碼資料包括經編碼輸出資料。在此實施例中,用於擾碼輸出的PUF碼可與擾碼資料一起儲存以進行解擾碼。與第二實施例一樣,輸出資料可藉由PUF進行XOR以獲得擾碼資料。擾碼資料再次藉由PUF碼進行XOR以解擾碼回至初始資料。第一電路可包括例如經由位元線解碼器114耦接至記憶體單元陣列110的感測放大器117,且第二電路可包括經由匯流排123耦接至提供外部存取的輸入與輸出介面120的輸出緩衝器118。資料路徑可包括連接感測放大器117與邏輯電路150的第一路徑151,以及連接邏輯電路150與輸出緩衝器118的第二路徑152。編碼資料路徑上的資料的邏輯電路150可包括使用PUF電路153所生成PUF碼用以編碼來自感測放大器117的第一路徑151上的輸出資料以產生經編碼輸出資料且經由第二路徑152將經編碼輸出資料提供至輸出緩衝器118的邏輯。PUF電路153生成PUF碼且經由匯流排154將PUF碼提供至邏輯電路150。邏輯電路150包括用以使用藉由PUF電路153提供的PUF碼以及來自感測放大器117的輸出資料作為輸入編碼資料路徑上的資料且產生輸出作為經編碼輸出資料的邏輯。
在第四實施例中,使用PUF碼編碼初始密鑰以產生經編碼密鑰。在此實施例中,在使用經編碼/擾碼密鑰以用於密碼編譯之前需要對所述經編碼/擾碼密鑰解擾碼。初始密鑰可藉由記憶體裝置外部的其他裝置或網路提供至記憶體裝置100(圖1)的輸入與輸出介面120。記憶體裝置可包括用以自記憶體裝置外部來源接收初始密鑰且用以將初始密鑰儲存於記憶體單元陣列110中的第一位置的邏輯。初始密鑰可包括關鍵安全參數。如本文中所使用,關鍵安全參數(critical security parameter;CSP)指安全相關的資訊(例如秘密及私密密碼密鑰,以及認證資料,諸如密碼及PIN),所述安全相關的資訊的揭露或修改可危害密碼模組的安全。
在此實施例中,第一電路可包括在記憶體單元陣列中的第一位置設置的第一記憶體單元集合111,且第二電路可包括在記憶體單元陣列中的第二位置設置的第二記憶體單元集合112。資料路徑可包括連接第一記憶體單元集合111與邏輯電路160的第一路徑161,以及連接邏輯電路160與第二記憶體單元集合112的第二路徑162。邏輯電路160可包括用以編碼來自第一記憶體單元集合111的第一路徑上的初始密鑰Key1以產生經編碼密鑰Key2的邏輯,且所述邏輯經由第二路徑將經編碼密鑰Key2提供至第二記憶體單元集合112,其中所述邏輯使用PUF碼以編碼所述第一路徑上的初始密鑰Key1。PUF電路163生成PUF碼且經由匯流排164將PUF碼提供至邏輯電路160。邏輯電路160包括用以使用藉由PUF電路163提供的PUF碼以及來自第一記憶體單元集合111的初始密鑰作為輸入編碼資料路徑上的資料且產生輸出作為經編碼密鑰的邏輯。經編碼密鑰儲存於第二記憶體單元集合112中,第二記憶體單元集合112設置在記憶體單元陣列中的第二位置。
外部系統時鐘SCLK可在端口171處提供至記憶體裝置。時鐘生成器170可經由信號線172自端口171接收系統時鐘信號SCLK,且將內部時鐘173提供至模式邏輯電路180,且/或將其他內部時鐘提供至記憶體裝置100中的其他內部電路。模式邏輯電路180可經由線122自輸入與輸出介面120接收命令信號,解碼命令信號以用於各種模式(讀取、寫入、抹除),且經由線181將經解碼信號發送至狀態機185以用於對記憶體單元陣列執行讀取操作、寫入操作、抹除操作。狀態機185可經由線146自SRAM緩衝器145接收信號,經由線181自模式邏輯電路180接收信號,且生成信號186以用於感測放大器117及高壓生成器187對於高壓操作,例如對於寫入操作,啟動高壓生成器187以經由線188控制記憶體單元陣列110的偏壓配置供應電壓及電流源的應用,諸如讀取、寫入以及抹除電壓及/或電流。
安全引擎190經由線182耦接至模式邏輯電路180,經由線147耦接至SRAM緩衝器145,且經由線178及線191耦接至狀態機185。安全引擎190可包括用以處置經由線178的來自狀態機185的口令輸入且使用來自模式邏輯電路180的輸入以及來自SRAM緩衝器145的經編碼輸入資料經由線191將回應輸出提供至狀態機185的邏輯。安全引擎190可使用加密/解密、雜湊訊息認證碼(Hash Message Authentication Code;HMAC)或本領域的技術人員熟悉的類似技術來處理來自狀態機的口令輸入。
在實施例中,使用PUF碼編碼資料路徑上的資料的邏輯電路(130、140、150、160)可包括邏輯函數、exclusive-or函數以及複數方程中的至少一者,邏輯電路(130、140、150、160)使用資料路徑上的資料及PUF碼作為輸入且產生經編碼輸出資料作為輸出,如參考圖2至圖5進一步描述。資料可藉由PUF進行XOR以獲得擾碼資料。擾碼資料再次藉由PUF碼進行XOR以解擾碼回至初始資料。替代地,邏輯電路可使用適用於使用PUF碼編碼資料路徑上的資料的其他邏輯。
圖2示出如本文中針對如圖1的裝置實施例的系統所描述產生經編碼位址的實例資料路徑。在藉由圖2描繪的實施例中,PUF電路133可生成具有N數目個位元的多位元PUF碼,例如N=128,且經由匯流排134將具有N數目個位元的PUF碼提供至邏輯電路130。資料暫存器125可登記具有N數目個位元的位址。包括第一路徑131及第二路徑132的資料路徑可包括多位元匯流排,諸如具有N數目個位元的匯流排。儘管為清楚起見,圖2中示出僅1位元的PUF碼PUF_Code[0]及僅1位元的位址Address[0],但PUF碼可具有N數目個位元且位址可具有N數目個位元,其中N>1,例如N=128。邏輯電路130包括用以使用所生成的PUF碼編碼資料路徑上的資料的邏輯。邏輯電路130可包括exclusive-or函數,其同時包括N數目個XOR閘。連接至N數目個XOR閘中的各別XOR閘的邏輯電路130可使用N位元PUF碼及N位元位址作為輸入,且產生輸出作為經由資料路徑中的第二路徑132至位址生成器135的具有N數目位元的經編碼位址。替代地,邏輯電路130可使用適用於使用PUF碼編碼位址的其他邏輯。
圖3示出如本文中針對如圖1的裝置實施例的系統所描述產生經編碼輸入資料的實例資料路徑。在藉由圖3描繪的實施例中,PUF電路143可生成具有N數目個位元的多位元PUF碼,例如N=128,且經由匯流排144將具有N數目個位元的PUF碼提供至邏輯電路140。資料暫存器125可登記具有N數目個位元的輸入資料。包括第一路徑141及第二路徑142的資料路徑可包括多位元匯流排,諸如具有N數目個位元的匯流排。儘管為清楚起見,圖3中示出僅1位元的PUF碼PUF_Code[0]及僅1位元的輸入資料Input_Data[0],但PUF碼可具有N數目個位元且輸入資料可具有N數目個位元,其中N>1,例如N=128。邏輯電路140包括用以使用所生成的PUF碼編碼資料路徑上的資料的邏輯。邏輯電路140可包括exclusive-or函數,其同時包括N數目個XOR閘。連接至N數目個XOR閘中的各別XOR閘的邏輯電路140可使用N位元PUF碼及N位元輸入資料作為輸入,且產生輸出作為經由資料路徑中的第二路徑142至SRAM緩衝器145的具有N數目位元的經編碼輸入資料。替代地,邏輯電路140可使用適用於使用PUF碼編碼輸入資料的其他邏輯。
圖4示出如本文中針對如圖1的裝置實施例的系統所描述產生經編碼輸出資料的實例資料路徑。在藉由圖4描繪的實施例中,PUF電路153可生成具有N數目個位元的多位元PUF碼,例如N=128,且經由匯流排154將具有N數目個位元的PUF碼提供至邏輯電路150。感測放大器117可提供具有N數目個位元的輸出資料。包括第一路徑151及第二路徑152的資料路徑可包括多位元匯流排,諸如具有N數目個位元的匯流排。儘管為清楚起見,圖4中示出僅1位元的PUF碼PUF_Code[0]及僅1位元的輸出資料Output_Data[0],但PUF碼可具有N數目個位元且輸出資料可具有N數目個位元,其中N>1,例如N=128。邏輯電路150包括用以使用所生成的PUF碼編碼資料路徑上的資料的邏輯。邏輯電路150可包括exclusive-or函數,其同時包括N數目個XOR閘。連接至N數目個XOR閘中的各別XOR閘的邏輯電路150可使用N位元PUF碼及N位元輸出資料作為輸入,且產生輸出作為經由資料路徑中的第二路徑152至輸出緩衝器118的具有N數目位元的經編碼輸出資料。替代地,邏輯電路150可使用適用於使用PUF碼編碼輸出資料的其他邏輯。
圖5示出如本文中針對如圖1的裝置實施例的系統所描述產生經編碼密鑰的實例資料路徑。在藉由圖5描繪的實施例中,PUF電路163可生成具有N數目個位元的多位元PUF碼,例如N=128,且經由匯流排164將具有N數目個位元的PUF碼提供至邏輯電路160。記憶體單元陣列110中的第一位置的第一記憶體單元集合111可提供具有N數目個位元的初始密鑰。包括第一路徑161及第二路徑162的資料路徑可包括多位元匯流排,諸如具有N數目個位元的匯流排。儘管為清楚起見,圖5中示出僅1位元的PUF碼PUF_Code[0]及僅1位元的密鑰Key[0],但PUF碼可具有N數目個位元且密鑰可具有N數目個位元,其中N>1,例如N=128。邏輯電路160包括用以使用所生成的PUF碼編碼資料路徑上的資料的邏輯。邏輯電路160可包括exclusive-or函數,其同時包括N數目個XOR閘。連接至N數目個XOR閘中的各別XOR閘的邏輯電路160可使用N位元PUF碼及N位元輸出資料作為輸入,且產生輸出作為經由資料路徑中的第二路徑162至記憶體單元陣列中的第二位置的第二記憶體單元集合112的具有N數目位元的經編碼密鑰。替代地,邏輯電路160可使用適用於使用PUF碼編碼初始密鑰的其他邏輯。
圖6為示出如本文中針對如圖1的裝置實施例的系統所描述用於在記憶體裝置中使用PUF碼的實例方法的流程圖。記憶體裝置可包括:記憶體單元陣列;PUF電路;資料路徑,將第一電路連接至第二電路,資料路徑設置於記憶體裝置中耦接至記憶體單元陣列;以及邏輯電路,用以編碼資料路徑上的資料,邏輯電路可包括邏輯函數、互斥或(exclusive-or)函數以及複數方程中的至少一者。
在步驟610處,可執行PUF電路以生成PUF碼。在步驟620處之編碼步驟,可使用PUF碼編碼來自第一電路的資料路徑上的資料以產生經編碼資料,其中編碼步驟包括應用邏輯函數、互斥或(exclusive-or)函數以及複數方程中的至少一者,邏輯函數、互斥或(exclusive-or)函數以及複數方程使用PUF碼及資料路徑上的資料作為輸入且產生輸出作為經編碼輸出資料。在步驟630處,可將經編碼資料提供至第二電路。
在一個代表性固定記憶體實施方案中,如圖2的實例中所示出,經編碼資料包括經編碼位址。第一電路可包括登記位址的資料暫存器125,第二電路可包括耦接至記憶體單元陣列110的位址生成器135,且資料路徑可包括連接資料暫存器125與用以編碼資料的邏輯電路130的第一路徑131以及連接用以編碼資料的邏輯電路與位址生成器135的第二路徑132。在此實施例中,方法可包括使用PUF碼編碼來自資料暫存器125的第一路徑131上的位址以產生經編碼位址,且經由第二路徑132將經編碼位址提供至位址生成器135。
在另一代表性實施方案中,如圖3的實例中所示出,經編碼資料包括經編碼輸入資料。第一電路可包括登記輸入資料的資料暫存器125,且第二電路包括SRAM緩衝器145。資料路徑可包括連接資料暫存器125與邏輯電路140的第一路徑141,以及連接邏輯電路140與SRAM緩衝器145的第二路徑142。在此實施例中,方法可包括使用PUF碼編碼來自資料暫存器125的第一路徑上的輸入資料以產生經編碼輸入資料,且經由第二路徑142將經編碼輸入資料提供至SRAM緩衝器145。
在另一代表性實施方案中,如圖4的實例中所示出,經編碼資料包括經編碼輸出資料。第一電路可包括例如經由位元線解碼器114耦接至記憶體單元陣列110的感測放大器117,且第二電路可包括經由匯流排123耦接至輸入與輸出介面120的輸出緩衝器118。資料路徑可包括連接感測放大器117與用以編碼資料的邏輯電路150的第一路徑151,以及連接用以編碼資料的邏輯電路150與輸出緩衝器118的第二路徑。在此實施例中,方法可包括使用PUF碼編碼來自感測放大器117的第一路徑151上的輸出資料以產生經編碼輸出資料,且經由第二路徑152將經編碼輸出資料提供至輸出緩衝器118。
在又一代表性實施方案中,如圖5的實例中所示出,使用PUF碼編碼初始密鑰以產生經編碼密鑰。第一電路可包括在記憶體單元陣列中的第一位置設置的第一記憶體單元集合111,且第二電路可包括在記憶體單元陣列中的第二位置設置的第二記憶體單元集合112。資料路徑可包括連接第一記憶體單元集合111與邏輯電路160的第一路徑161,以及連接邏輯電路160與第二記憶體單元集合112的第二路徑162。在此實施例中,方法可包括使用PUF碼編碼來自第一記憶體單元集合111的第一路徑161上的初始密鑰以產生經編碼密鑰,且經由第二路徑162將經編碼密鑰提供至第二記憶體單元集合112。
圖7為根據另一實施例的包括記憶體單元陣列710及判定性隨機位元生成器(Deterministic Random Bit Generator;DRBG)隨機數生成器730的記憶體裝置700的簡化方塊圖。如圖7中所示出,記憶體裝置700可包括記憶體單元陣列710、DRBG隨機數生成器730、安全引擎770、SRAM暫存器780以及輸入與輸出介面790。
記憶體單元陣列710可包括用於儲存使用者資料的使用者資料區域715、在記憶體單元陣列中的第一位置設置的第一記憶體單元集合711以及在記憶體單元陣列中的第二位置設置的第二記憶體單元集合712。第一位置及第二位置在使用者資料區域外部。現參考圖8A,其示出如本文中針對如圖7的裝置實施例的系統所描述用於生成隨機數生成器的初始值的電路,可將PUF碼(諸如圖8A的由PUF 850生成的圖8A的384位元PUF碼855)稱作個人化字串或額外字串。再次參考圖7,圖8A的384位元PUF碼855可儲存於圖7的第一記憶體單元集合711中且經由線716提供至DRBG隨機數生成器730。密鑰(諸如由DRBG隨機數生成器730生成)可經由線735提供且儲存於第二記憶體單元集合712中。
隨機數生成器730(諸如判定性隨機位元生成器(DRBG))可生成屬性與隨機數的序列的屬性接近的數目序列。DRBG生成的序列藉由初始值來判定,諸如由電路800生成的384位元種子包括如圖8A中所示出的密碼塊鏈接訊息認證碼(cipher block chaining message authentication code;CBC-MAC)塊。CBC-MAC為用於根據塊密碼建構訊息認證碼的技術。由DRBG隨機數生成器730生成的數目序列可作為密鑰儲存於記憶體單元陣列710中的第二記憶體單元集合712中。對於關於DRBG的背景資訊,可能必須參考2012年1月的名稱為「
對於使用判定性隨機位元生成器的隨機數生成的建議(
Recommendation for Random Number Generation Using Deterministic Random Bit Generators)」的NIST特殊公開案800-90A,所述公開案以引用的方式併入如同在本文中完整闡述一般。
記憶體裝置700包括安全引擎770,其可包括實施高級加密標準(Advanced Encryption Standard;AES)、基於雜湊的訊息認證碼(HMAC)等以用於對由記憶體裝置700儲存的資料實行加密/解密操作且/或實行MAC計算以用於認證的電路。安全引擎770耦接至DRBG隨機數生成器730,使得由DRBG隨機數生成器730生成的數目序列能夠由安全引擎770用作初始值以用於實行由記憶體裝置700儲存的資料及/或位址資訊的加密。在一個實施方案中,CMC-MAC實現在DRBG功能之前應用的熵源調節。
記憶體裝置700包括SRAM暫存器780,其可用於登記耦接至記憶體單元陣列710的資料路徑上的資料。
記憶體裝置700包括輸入與輸出介面790,其可包括提供對記憶體裝置外部的其他裝置或網路的存取的無線端口或有線端口。輸入與輸出介面790可包括多個接腳,包括用於串行資料I/O(輸入及輸出)、用於接收及/或發送位址、資料以及命令信號的接腳。舉例而言,輸入與輸出介面790可支持串列周邊介面(Serial Peripheral Interface;SPI)、內置積體電路(Inter-Integrated Circuit;I2C)等。
圖8A示出如本文中針對如圖7的裝置實施例的系統所描述用於生成隨機數生成器的初始值的電路。電路800包括分別生成第一密碼塊鏈接訊息認證碼(CBC-MAC)輸出819、第二CBC-MAC輸出829以及第三CBC-MAC輸出839的第一CBC-MAC塊810、第二CBC-MAC塊820以及第三CBC-MAC塊830。第一CBC-MAC輸出、第二CBC-MAC輸出以及第三CBC-MAC輸出中的每一者可包括128個位元。第一CBC-MAC輸出、第二CBC-MAC輸出以及第三CBC-MAC輸出合併成384位元的完整熵(例如完全隨機且不具有有意義模式)輸出840。
PUF電路850可生成384位元PUF碼855,其被稱為個人化字串或額外字串。384位元的完整熵輸出840及384位元PUF碼855輸入至具現化函數860以產生384位元的種子865,其被稱為初始值。384位元的種子865由圖7的DBRG 隨機數生成器730使用以使用參考圖8B中進一步描述的過程經由線735生成偽隨機輸出。
繼續參考圖8A,CBC-MAC塊(諸如第一CBC-MAC塊810)包括實施根據塊密碼建構訊息認證碼的電路系統。(藉由驗證訊息認證碼為正確的,接收端可驗證訊息在發送之後但在接收到其之前尚未經篡改。)訊息在CBC模式中藉由一些塊密碼演算法加密以形成一系列塊(801、803、805、807),使得每一塊處的加密取決於先前塊的加密結果(例如塊803的加密取決於例如加密塊801的先前加密階段的結果802)。訊息可包括多個塊B0、塊B1、塊B2、塊B3等,所述多個塊各自包括128個位元。訊息可以是待儲存於例如記憶體單元陣列710的使用者資料區域715中或自記憶體單元陣列710的使用者資料區域715擷取的資料。在CMC-MAC用於熵源調節時,塊B0至塊B3等將為來自隨機數生成器的隨機位元。儘管圖8A示出用於訊息的四個塊(801、803、805、807),但訊息可包括大於四個塊。藉由零初始化向量「All 0」初始化塊鏈。使用秘密密鑰Key及塊密碼811至塊密碼814計算訊息的CBC-MAC。舉例而言,塊密碼可以是AES引擎,其實施高級加密標準(AES)中的演算法。AES可包括三種塊密碼:分別使用128位元密鑰長度、192位元密鑰長度以及256位元密鑰長度的AES-128、AES-192以及AES-256。儘管圖8A中示出256位元密鑰長度,但實施例中可使用128位元密鑰長度及192位元密鑰長度。
塊密碼811、塊密碼812、塊密碼813以及塊密碼814分別產生加密結果B0'、加密結果B1'、加密結果B2'以及加密結果B3'(802、804、806、808)。最末塊(例如塊B3)處的加密結果產生來自CBC-MAC塊的128位元的輸出,諸如來自第一CBC-MAC塊810的第一CBC-MAC輸出819。每一塊處的加密取決於先前塊的加密結果。舉例而言,塊B1 803處的加密取決於先前塊B0 801的加密結果B0' 802,塊B2 805處的加密取決於先前塊B1 803的加密結果B1' 804,且塊B3 807處的加密取決於先前塊B2 805的加密結果B2' 806。
圖8B示出如本文中針對如圖7的裝置實施例的系統所描述的DRBG功能模型。DBRG隨機數生成器730的DRBG功能模型根據種子經由線735生成偽隨機輸出。種子865可由具現化函數860根據包括個人化字串或額外字串855的輸入及熵輸入建構。個人化字串或額外字串855可藉由PUF電路850(圖8A)提供,且熵輸入可藉由384位元的完整熵輸出840(圖8A)提供。在實施方案中,具現化函數、種子/再播種函數可為AES CTR。本領域的技術人員可參考2015年6月的名稱為「
對於使用判定性隨機位元生成器的隨機數生成的建議」的NIST特殊公開案800-90a,所述公開案以引用的方式併入如同在本文中完整闡述一般。
圖9為根據又一實施例的包括記憶體單元陣列及GCM電路的記憶體裝置的簡化方塊圖。如圖9中所示出,記憶體裝置900包括記憶體單元陣列910及實施伽羅華/計數器模式(Galois/Counter Mode;GCM)的函數的GCM電路930。GCM描述於2007年11月的名稱為「
對於塊密碼操作模式 : 伽羅華 / 計數器模式 ( GCM ) 及 GMAC 的 建議(
Recommendation for Block Cipher Modes of Operation: Galois/Counter Mode (GCM) and GMAC)」的NIST特殊公開案800-38D中,所述公開案以引用的方式併入如同在本文中完整闡述一般。
記憶體單元陣列910可包括用於儲存使用者資料的使用者資料區域915、在記憶體單元陣列中的第一位置設置的第一記憶體單元集合911以及在記憶體單元陣列中的第二位置設置的第二記憶體單元集合912。第一位置及第二位置在使用者資料區域915外部。PUF碼(諸如由PUF電路生成的額外認證資料(additional authenticated data;AAD))可儲存於第一記憶體單元集合911中且經由線916提供至GCM電路930。密鑰(諸如由GCM電路930生成的認證標籤)可經由線935提供且儲存於第二記憶體單元集合912中。記憶體單元陣列910可包括計數器913。
GCM電路930可包括三個輸入字串:標示為P的明文、標示為A的額外認證資料(AAD)、以及標示為IV的初始化向量,且包括兩個輸出字串:標示為C的密文及標示為T的認證標籤。在GCM函數中,明文P經加密為密文C,且認證標籤T自額外認證資料AAD及密文C生成。參考圖10進一步描述GCM。
用於建構初始化向量(initialization vector;IV)的電路由判定性建構實施。在判定性建構中,IV為稱為固定欄位及調用欄位的兩個欄位的串聯。在一實施方案中,固定欄位識別裝置,或更通常,識別認證加密函數的例項的情形。調用欄位識別彼特定裝置中的認證加密函數的輸入集合。儲存於第一記憶體單元集合911中的PUF碼可為固定欄位。儲存於記憶體單元陣列910中的來自整數計數器913的計數器輸出可為調用欄位。PUF碼可包括於額外認證資料(AAD)中,所述額外認證資料經由線916提供至GCM電路930中的GCM電路930的AAD輸入A。計數器輸出可經由線917提供至GCM電路930。聯結函數931可聯結PUF碼及計數器輸出以產生初始化向量IV。初始化向量IV可經由線932提供至GCM電路930的初始化向量輸入IV。明文經由線933提供至GCM電路930的明文輸入P。明文可以是待儲存於例如記憶體單元陣列910的使用者資料區域915中或自記憶體單元陣列910的使用者資料區域915擷取的資料。計數器可以是自記憶體單元陣列910擷取的揮發性計數器或非揮發性。
GCM電路930可產生認證標籤T及密文C。由記憶體單元陣列910中的第二位置設置的第二記憶體單元集合912儲存的加密密鑰K可經由線935提供至GCM 930。一旦明文933經加密為密文,密文及標籤便可輸出至使用者且/或經由線936儲存於記憶體單元陣列910的使用者資料區域915中。
記憶體裝置900包括安全引擎970,其可包括實施高級加密標準(AES)、基於雜湊的訊息認證碼(HMAC)等以用於對由記憶體裝置900儲存的資料實行加密/解密操作且/或實行MAC計算以用於認證的電路。安全引擎970根據NIST SP 800-38d實施GCM操作模式(例如GCM電路930)以用於實行加密/解密操作。當然,AES GCM為由一些實施方案使用的一種類型的加密/解密技術。
記憶體裝置900包括SRAM暫存器980,其可用於登記耦接至記憶體單元陣列910的資料路徑上的資料。記憶體裝置900包括輸入與輸出介面990,其可包括提供對記憶體裝置外部的其他裝置或網路的存取的無線端口或有線端口。輸入與輸出介面990可包括多個接腳,包括用於串行資料I/O(輸入及輸出)、用於接收及/或發送位址、資料以及命令信號的接腳。舉例而言,輸入與輸出介面990可支持串列周邊介面(SPI)、內置積體電路(I2C)等。
圖10示出如本文中針對如圖9的裝置實施例的系統所描述的伽羅華/計數器模式(GCM)的認證加密函數。在此實施例中,明文經加密為密文,且認證標籤來自額外認證資料(AAD)及密文生成。
如本文中所使用,額外認證資料AAD指經認證但未經加密的認證加密函數的輸入資料。認證標籤指經設計以揭示資料的意外錯誤及有意修改兩者的資料的密碼校對和。密文指明文的加密形式。明文指經認證且經加密的認證加密函數的輸入資料。
GCM中使用的變量包括:
A | 額外認證資料 |
C | 密文 |
H | 雜湊子密鑰 |
IV | 初始化向量 |
K | 塊密碼密鑰 |
P | 明文 |
T | 認證標籤 |
t | 認證標籤的位元長度 |
0 S | 由 s個『0』位元組成的位元字串 |
CIPH | 具有128位元塊大小的經批准塊密碼 |
GCTR K | 在密鑰 K應用於位元字串情況下的給定塊密碼的GCTR函數的輸出 |
GHASH H | 在雜湊子密鑰 H應用於位元字串情況下的GHASH函數的輸出 |
inc S | 使位元字串的最右s個位元遞增的輸出 |
len( X) | 位元字串 X的位元長度 |
MSB t | 由位元字串的最左 t個位元組成的位元字串 |
如圖10及圖11中所示出,GCM的認證加密函數包括以下步驟:
1.使H = CIPH
K(0
128)。
2.將塊
J 0定義如下:
若len(IV)=96,則使J
0= IV ||0
31||1。
若len(IV) ≠ 96,則使s = 128
-len(IV),且使
J
0=GHASH
H(IV||0
s +64||[len(IV)]
64)。
3.使C=GCTR
K(inc
32(J
0), P)。
4.使u = 128•
-len(C)且使v = 128•
-len(A)。
5.將塊
S定義如下:
S= GHASH
H(A ||0
V||C||0
u|| [len(A)]
64||[len(C)]
64)。
6.使T = MSB
t(GCTR
K(J
0, S))。
存在GCM的認證加密函數的三個輸入字串:標示為P的明文、標示為A的額外認證資料(AAD)以及初始化向量IV。GCM保護明文及AAD的真實性。存在來自GCM的認證加密函數的兩個輸出字串:標示為C的密文,其位元長度與明文的位元長度相同;以及認證標籤,或標籤,標示為T。GCM的數學分量包括遞增函數inc
S 、對塊的乘法運算、GHASH函數以及GCTR函數。
圖11為示出如本文中針對如圖9的裝置實施例的系統所描述在記憶體裝置中使用PUF碼利用GCM的實例認證加密方法的流程圖。
在區塊1001中,藉由將塊密碼CIPH
K應用於「零」塊0
128來生成GHASH函數的雜湊子密鑰H。
在區塊1002中,自初始化向量IV生成預計數器塊(
J0)。
在區塊1003中,將32位元的遞增函數inc
32 應用於預計數器塊(
J0)以產生用於調用明文P上的GCTR函數的初始計數器塊。GCTR函數的此調用的輸出為密文C。
在區塊1004及區塊1005中,AAD及密文C各自附加有『0』位元的最小數目(可能沒有),使得所得字串的位元長度為塊大小的倍數。此等字串的串聯附加有AAD及密文C的長度的64位元表示([len(A)]
64,[len(C)
64])。
在區塊1006中,將GHASH函數應用於結果以產生單個輸出塊。
在區塊1007中,使用具有在區塊1002中生成的預計數器塊(
J0)的GCTR函數加密此輸出塊,且結果經截斷為指定的標籤長度
t(MSB
t )以形成認證標籤T。
此章節中描述的方法的其他實施方案可包括非暫時性電腦可讀儲存媒體,其儲存可由處理器執行以執行上文所描述的方法中的任一者的指令。此章節中描述的方法的又一實施方案可包括一種包括記憶體及一或多個處理器的系統,所述一或多個處理器可操作以執行儲存於記憶體中的指令以執行上文所描述的方法中的任一者。
上文描述或提及的任何資料結構及程式碼根據電腦可讀儲存媒體上的許多實施方案而儲存,所述電腦可讀儲存媒體可以是可儲存由電腦系統使用的程式碼及/或資料的任何裝置或媒體。此包括但不限於揮發性記憶體、非揮發性記憶體、特殊應用積體電路(application-specific integrated circuit;ASIC)、場可程式化閘陣列(field-programmable gate array;FPGA)、磁性及光學儲存裝置(諸如磁碟機、磁帶、緊密光碟(compact disc;CD)、數位通用光碟或數位視訊光碟(digital versatile disc或digital video disc;DVD)),或現在已知或稍後研發的能夠儲存電腦可讀媒體的其他媒體。
位元組為許多積體電路邏輯及記憶體電路中使用的基本儲存單元且由八個位元組成。基本儲存單元可具有其他大小,包括例如一個位元、兩個位元、四個位元、16個位元等等。因此,上文闡述且在本文中所描述的其他實例中利用術語位元組的加密/解密邏輯電路的描述一般應用於如將藉由用儲存單元或儲存單元的集合替換術語位元組或位元組的集合來描述的使用不同大小的儲存單元的電路。另外,在一些實施例中,不同大小的儲存單元可用於單一命令序列,諸如與八位元儲存單元合併的一或多個四位元儲存單元。如本文中所使用,擾碼及編碼基本上可互換且提及使用邏輯電路來將PUF碼應用於電子信號(如經解擾碼且經解碼)以執行反相操作。如本文中所使用,加密及編密(enciphered)基本上可互換且提及使用電路系統及/或軟體來將加密演算法應用於以電子形式表示(例如儲存於儲存裝置中或經由導線或電波攜載)的資料(如經解密且經解譯(deciphered))以執行反相操作。
本文中描述示出藉由記憶體控制器或藉由記憶體裝置執行的邏輯的數個流程圖。邏輯可使用利用儲存於電腦系統可存取的記憶體中的電腦程式來程式化的處理器實施,且可藉由處理器、藉由專用邏輯硬體(包括場可程式化積體電路)以及藉由專用邏輯硬體與電腦程式的組合執行。如同本文中的所有流程圖,應瞭解,可合併、並行執行或以不同序列執行許多步驟而不影響所達成功能。在一些情況下,如讀者將瞭解,只要亦進行某些其他改變,重新配置步驟將達成相同結果。在其他情況下,如讀者將瞭解,只要符合某些條件,重新配置步驟將達成相同結果。此外,將瞭解,本文中的流程圖僅示出相關於理解所描述技術的步驟,且將理解,可在所示出的步驟之前、之後以及之間執行用於實現其他功能的大量額外步驟。
本文中描述一種具有安全邏輯電路(security logic circuit)的裝置以及一種回應於在輸入與輸出介面接收到的命令序列的方法,所述命令序列包括待編碼、加密、解碼、或解密的資訊。
本文中描述一種具有安全邏輯電路及PUF碼生成電路的裝置以及一種回應於在輸入與輸出介面接收到的命令序列的方法。
描述一種具有安全邏輯電路及PUF碼生成電路的裝置以及一種用於執行命令的方法,所述方法包括:接收攜載即時資料有效負載的命令,所述即時資料有效負載包括待編碼、加密、解碼、或解密的資訊;應用由PUF碼生成電路生成的PUF碼以編碼且解碼所攜載的電子資訊;藉此獲得電子資訊的經編碼版本或經解碼版本;以及執行與電子資訊的經編碼版本或經解碼版本相對應的記憶體操作。
描述一種具有安全邏輯電路及PUF碼生成電路的裝置以及一種方法,包括安全邏輯電路將PUF碼應用於攜載位址的資料路徑、攜載用於儲存至記憶體單元或自記憶體單元擷取的資料的資料路徑中的至少一者。
描述一種具有安全邏輯電路、PUF碼生成電路以及產生至少偽隨機數序列的判定性隨機數生成器的裝置以及一種方法,包括:將判定性隨機數生成器的輸出與個人化字串合併以產生用於初始化加密操作的種子值的安全邏輯電路;以及將所生成的PUF碼應用為個人化字串。
描述一種具有安全邏輯電路及PUF碼生成電路的裝置以及一種方法,包括安全邏輯電路基於額外認證資料將加密演算法應用於待儲存於記憶體單元中、儲存於記憶體單元中、自記憶體單元擷取或待自記憶體單元擷取的作為輸入的資料;且其中安全邏輯電路將所生成的PUF碼串聯至所生成的計數器值以獲得額外認證資料。
描述一種具有安全邏輯電路及PUF碼生成電路的裝置以及一種方法,包括用以使用PUF碼編碼來自資料暫存器的第一路徑上的位址以產生經編碼位址且經由第二路徑將經編碼位址提供至位址生成器的安全邏輯電路。
描述一種具有安全邏輯電路及PUF碼生成電路的裝置以及一種方法,包括用以編碼資料路徑上的資料的安全邏輯電路,其包括用以編碼來自資料暫存器的第一路徑上的輸入資料以產生經編碼輸入資料的邏輯,且所述邏輯經由第二路徑將經編碼輸入資料提供至SRAM緩衝器,其中所述邏輯使用PUF碼以編碼第一路徑上的輸入資料。
描述一種具有安全邏輯電路及PUF碼生成電路的裝置以及一種方法,包括用以使用PUF碼編碼來自感測放大器的第一路徑上的輸出資料以產生經編碼輸出資料且經由第二路徑將經編碼輸出資料提供至輸出緩衝器的安全邏輯電路。
描述一種具有安全邏輯電路及PUF碼生成電路的裝置以及一種方法,包括用以使用PUF碼編碼來自第一記憶體單元集合的第一路徑上的初始密鑰以產生經編碼密鑰且經由第二路徑將經編碼密鑰提供至第二記憶體單元集合的安全邏輯電路。
儘管參考上文詳述的較佳實施例及實例揭露本發明,但應理解,此等實例意欲為說明性而非限制性意義。預期本領域的技術人員將容易地想到各種修改及組合,所述修改及組合將在本發明的精神及以下申請專利範圍的範疇內。
100, 700, 900:記憶體裝置
110, 710, 910:記憶體單元陣列
111, 711, 911:第一記憶體單元集合
112, 712, 912:第二記憶體單元集合
113:字元線解碼器
114:位元線解碼器
115:位元線
116, 121, 123, 134, 136, 144, 154, 164:匯流排
117:感測放大器
118:輸出緩衝器
120, 790, 990:輸入與輸出介面
122, 146, 147, 178, 181, 182, 188, 191, 716, 735, 916, 917, 932, 933, 935, 936:線
125:資料暫存器
130, 140, 150, 160:邏輯電路
131, 141, 151, 161:第一路徑
132, 142, 152, 162:第二路徑
133, 143, 153, 163, 850:PUF電路
135:位址生成器
145:SRAM緩衝器
170:時鐘生成器
171:端口
172:信號線
173:內部時鐘
180:模式邏輯電路
185:狀態機
186:信號
187:高壓生成器
190, 770, 970:安全引擎
610, 620, 630:步驟
715, 915:使用者資料區域
730:DRBG隨機數生成器
780, 980:SRAM暫存器
800:電路
801, 803, 805, 807:塊
802, 804, 806, 808:加密結果
810, 820, 830:CBC-MAC塊
811, 812, 813, 814:塊密碼
819, 829, 839:CBC-MAC輸出
840:完整熵輸出
855:個人化字串或額外字串(384位元PUF碼)
860:具現化函數
865:種子
913:計數器
930:GCM電路
931:聯結函數
1001, 1002, 1003, 1004, 1005, 1006, 1007:區塊
1200:真值表
A:額外認證資料
C:密文
H:雜湊子密鑰
IV:初始化向量
K:加密密鑰
Key:秘密密鑰
Key1:初始密鑰
Key2:經編碼密鑰
P:明文
SCLK:系統時鐘信號
T:認證標籤
圖1為根據一實施例的包括記憶體單元陣列及用以使用PUF電路的邏輯的記憶體裝置的簡化方塊圖。
圖2示出如本文中針對如圖1的裝置實施例的系統所描述產生經編碼位址的實例資料路徑。
圖3示出如本文中針對如圖1的裝置實施例的系統所描述產生經編碼輸入資料的實例資料路徑。
圖4示出如本文中針對如圖1的裝置實施例的系統所描述產生經編碼輸出資料的實例資料路徑。
圖5示出如本文中針對如圖1的裝置實施例的系統所描述產生經編碼密鑰的實例資料路徑。
圖6為示出如本文中針對如圖1的裝置實施例的系統所描述用於在記憶體裝置中使用PUF碼的實例方法的流程圖。
圖7為根據另一實施例的包括記憶體單元陣列及DRBG隨機數生成器的記憶體裝置的簡化方塊圖。
圖8A示出如本文中針對如圖7的裝置實施例的系統所描述用於生成隨機數生成器的初始值的電路。
圖8B示出如本文中針對如圖7的裝置實施例的系統所描述的DRBG功能模型。
圖9為根據又一實施例的包括記憶體單元陣列及GCM電路的記憶體裝置的簡化方塊圖。
圖10示出如本文中針對如圖9的裝置實施例的系統所描述的GCM的認證加密函數。
圖11為示出如本文中針對如圖9的裝置實施例的系統所描述在記憶體裝置中使用PUF碼利用GCM的實例認證加密方法的流程圖。
圖12示出說明如本文中針對如圖1的裝置實施例的系統所描述在記憶體裝置中使用PUF碼的實例的真值表。
100:記憶體裝置
110:記憶體單元陣列
111:第一記憶體單元集合
112:第二記憶體單元集合
113:字元線解碼器
114:位元線解碼器
115:位元線
116,121,123,134,136,144,154,164:匯流排
117:感測放大器
118:輸出緩衝器
120:輸入與輸出介面
122,146,147,178,181,182,188,191:線
125:資料暫存器
130,140,150,160:邏輯電路
131,141,151,161:第一路徑
132,142,152,162:第二路徑
133,143,153,163:PUF電路
135:位址生成器
145:SRAM緩衝器
170:時鐘生成器
171:端口
172:信號線
173:內部時鐘
180:模式邏輯電路
185:狀態機
186:信號
187:高壓生成器
190:安全引擎
Claims (20)
- 一種記憶體裝置,包括:記憶體單元陣列;物理不可複製函數電路(physical unclonable function circuit,PUF電路),設置於所述記憶體裝置中,所述PUF電路用以生成物理不可複製函數碼(physical unclonable function code,PUF碼);資料路徑,將第一電路連接至第二電路,所述第二電路設置於所述記憶體裝置中且耦接至所述記憶體單元陣列;以及邏輯電路,用以使用所述PUF碼編碼來自所述第一電路的所述資料路徑上的資料以產生經編碼資料,且將所述經編碼資料提供至所述第二電路,其中所述第一電路用以進行資料處理以產生所述資料,且所述第二電路用以對所述經編碼資料進行資料處理。
- 如請求項1所述的記憶體裝置,其中所述第一電路包括用以登記位址的資料暫存器;所述第二電路包括耦接至所述記憶體單元陣列的位址生成器;所述資料路徑包括連接所述資料暫存器與用以編碼資料的所述邏輯電路的第一路徑以及連接用以編碼資料的所述邏輯電路與所述位址生成器的第二路徑;且用以編碼所述資料路徑上的資料的所述邏輯電路包括用以編碼來自所述資料暫存器的所述第一路徑上的位址以產生經編碼位址的邏輯,且所述邏輯經由所述第二路徑將所述經編碼位址提供至所述位址生成器,其中所述邏輯使用所述PUF碼以編碼所述第 一路徑上的位址。
- 如請求項1所述的記憶體裝置,其中所述第一電路包括登記輸入資料的資料暫存器;所述第二電路包括SRAM緩衝器;所述資料路徑包括連接所述資料暫存器與用以編碼資料的所述邏輯電路的第一路徑以及連接用以編碼資料的所述邏輯電路與所述SRAM緩衝器的第二路徑;且用以編碼所述資料路徑上的資料的所述邏輯電路包括用以編碼來自所述資料暫存器的所述第一路徑上的輸入資料以產生經編碼輸入資料的邏輯,且所述邏輯經由所述第二路徑將所述經編碼輸入資料提供至所述SRAM緩衝器,其中所述邏輯使用所述PUF碼以編碼所述第一路徑上的輸入資料。
- 如請求項1所述的記憶體裝置,其中所述第一電路包括耦接至所述記憶體單元陣列的感測放大器;所述第二電路包括耦接至輸入與輸出介面的輸出緩衝器,所述輸入與輸出介面提供外部存取;所述資料路徑包括連接所述感測放大器與用以編碼資料的所述邏輯電路的第一路徑以及連接用以編碼資料的所述邏輯電路與所述輸出緩衝器的第二路徑;且用以編碼所述資料路徑上的資料的所述邏輯電路包括用以編碼來自所述感測放大器的所述第一路徑上的輸出資料以產生經編碼輸出資料的邏輯,且所述邏輯經由所述第二路徑將所述經編碼輸出資料提供至所述輸出緩衝器,其中所述邏輯使用所述PUF碼 以編碼所述第一路徑上的輸出資料。
- 如請求項4所述的記憶體裝置,其中用以編碼資料的所述邏輯電路包括邏輯函數、互斥或函數以及複數方程中的至少一者,所述邏輯電路使用所述PUF碼及所述資料路徑上的所述資料作為輸入且產生所述經編碼輸出資料作為輸出。
- 如請求項1所述的記憶體裝置,其中所述第一電路包括在所述記憶體單元陣列中的第一位置設置的第一記憶體單元集合;所述第二電路包括在所述記憶體單元陣列中的第二位置設置的第二記憶體單元集合;所述資料路徑包括連接所述第一記憶體單元集合與用以編碼資料的所述邏輯電路的第一路徑以及連接用以編碼資料的所述邏輯電路與所述第二記憶體單元集合的第二路徑;且用以編碼所述資料路徑上的資料的所述邏輯電路包括用以編碼來自所述第一記憶體單元集合的所述第一路徑上的初始密鑰以產生經編碼密鑰的邏輯,且所述邏輯經由所述第二路徑將所述經編碼密鑰提供至所述第二記憶體單元集合,其中所述邏輯使用所述PUF碼以編碼所述第一路徑上的初始密鑰。
- 如請求項6所述的記憶體裝置,其中所述初始密鑰包括關鍵安全參數。
- 如請求項6所述的記憶體裝置,更包括:用以自所述記憶體裝置外部來源接收初始密鑰且用以將所述初始密鑰儲存於所述第一記憶體單元集合中的邏輯。
- 一種用於在記憶體裝置中使用物理不可複製函數碼 (physical unclonable function code,PUF碼)的方法,所述記憶體裝置包括:記憶體單元陣列;物理不可複製函數電路(physical unclonable function circuit,PUF電路);資料路徑,將第一電路連接至第二電路,所述第二電路設置於所述記憶體裝置中且耦接至所述記憶體單元陣列;以及邏輯電路,用以編碼所述資料路徑上的資料,所述方法包括:執行所述PUF電路以生成所述PUF碼;使用所述PUF碼編碼來自所述第一電路的所述資料路徑上的資料以產生經編碼資料之編碼步驟;以及將所述經編碼資料提供至所述第二電路,其中所述第一電路用以進行資料處理以產生所述資料,且所述第二電路用以對所述經編碼資料進行資料處理。
- 如請求項9所述的用於在記憶體裝置中使用PUF碼的方法,其中所述第一電路包括登記位址的資料暫存器,所述第二電路包括耦接至所述記憶體單元陣列的位址生成器,且所述資料路徑包括連接所述資料暫存器與用以編碼資料的所述邏輯電路的第一路徑以及連接用以編碼資料的所述邏輯電路與所述位址生成器的第二路徑,所述方法包括:使用所述PUF碼編碼來自所述資料暫存器的所述第一路徑上的位址以產生經編碼位址;以及經由所述第二路徑將所述經編碼位址提供至所述位址生成器。
- 如請求項9所述的用於在記憶體裝置中使用PUF碼的方法,其中所述第一電路包括登記輸入資料的資料暫存器,所述 第二電路包括SRAM緩衝器,且所述資料路徑包括連接所述資料暫存器與用以編碼資料的所述邏輯電路的第一路徑以及連接用以編碼資料的所述邏輯電路與所述SRAM緩衝器的第二路徑,所述方法包括:使用所述PUF碼編碼來自所述資料暫存器的所述第一路徑上的輸入資料以產生經編碼輸入資料;以及經由所述第二路徑將所述經編碼輸入資料提供至所述SRAM緩衝器。
- 如請求項9所述的用於在記憶體裝置中使用PUF碼的方法,其中所述第一電路包括耦接至所述記憶體單元陣列的感測放大器,所述第二電路包括耦接至輸入與輸出介面的輸出緩衝器,所述輸入與輸出介面提供外部存取,且所述資料路徑包括連接所述感測放大器與用以編碼資料的所述邏輯電路的第一路徑以及連接用以編碼資料的所述邏輯電路與所述輸出緩衝器的第二路徑,所述方法包括:使用所述PUF碼編碼來自所述感測放大器的所述第一路徑上的輸出資料以產生經編碼輸出資料;以及經由所述第二路徑將所述經編碼輸出資料提供至所述輸出緩衝器。
- 如請求項9所述的用於在記憶體裝置中使用PUF碼的方法,其中所述第一電路包括在所述記憶體單元陣列中的第一位置設置的第一記憶體單元集合,所述第二電路包括在所述記憶體單元陣列中的第二位置設置的第二記憶體單元集合,且所述資料路徑包括連接所述第一記憶體單元集合與用以編碼資料的所述 邏輯電路的第一路徑以及連接用以編碼資料的所述邏輯電路與所述第二記憶體單元集合的第二路徑,所述方法包括:使用所述PUF碼編碼來自所述第一記憶體單元集合的所述第一路徑上的初始密鑰以產生經編碼密鑰;以及經由所述第二路徑將所述經編碼密鑰提供至所述第二記憶體單元集合。
- 如請求項13所述的用於在記憶體裝置中使用PUF碼的方法,其中所述初始密鑰包括關鍵安全參數。
- 如請求項9所述的用於在記憶體裝置中使用PUF碼的方法,其中所述編碼步驟包括應用邏輯函數、互斥或函數以及複數方程中的至少一者,所述邏輯函數、所述互斥或函數以及所述複數方程使用所述PUF碼及所述資料路徑上的所述資料作為輸入且產生輸出作為所述經編碼輸出資料。
- 如請求項9所述的用於在記憶體裝置中使用PUF碼的方法,其中所述第一電路包括在所述記憶體單元陣列中的第一位置設置的第一記憶體單元集合,所述第二電路包括在所述記憶體單元陣列中的第二位置設置的第二記憶體單元集合,且所述資料路徑包括連接所述第一記憶體單元集合與用以編碼資料的所述邏輯電路的第一路徑以及連接用以編碼資料的所述邏輯電路與所述第二記憶體單元集合的第二路徑,所述方法包括:自所述記憶體裝置外部來源接收初始密鑰;將所述初始密鑰儲存於所述第一記憶體單元集合中;使用所述PUF碼編碼來自所述第一記憶體單元集合的所述第一路徑上的所述初始密鑰以產生經編碼密鑰;以及 經由所述第二路徑將所述經編碼密鑰提供至所述第二記憶體單元集合。
- 一種記憶體裝置,包括:記憶體陣列,包括多個位元線;輸入與輸出介面,用於接收、傳送及提供外部存取;資料路徑電路,連接於所述記憶體陣列與所述輸入與輸出介面之間;物理不可複製函數碼生成電路(physical unclonable function code generating circuit,PUF碼生成電路),用以生成物理不可複製函數碼(physical unclonable function code,PUF碼);安全邏輯電路(security logic circuit),回應於在所述輸入與輸出介面接收到的命令序列,所述命令序列包括待編碼、加密、解碼、或解密的資訊,應用由所述PUF碼生成電路生成的PUF碼來編碼所攜載的電子資訊,藉此獲得所述電子資訊的經編碼版本,以及執行與所述電子資訊的所述經編碼版本相對應的記憶體操作,並應用由所述PUF碼生成電路生成的PUF碼來解碼所攜載的電子資訊,藉此獲得所述電子資訊的經解碼版本,以及執行與所述電子資訊的所述經解碼版本相對應的記憶體操作。
- 如請求項17所述的記憶體裝置,其中所述安全邏輯電路將PUF碼應用於攜載位址的資料路徑、攜載用於儲存至記憶體單元或自記憶體單元擷取的資料的資料路徑中的至少一者。
- 如請求項17所述的記憶體裝置,更包括:判定性隨機數生成器,產生至少偽隨機數的序列;且其中所述安全邏輯電路,將所述判定性隨機數生成器的輸出 與個人化字串合併以產生用於初始化加密操作的種子值;以及將所生成的所述PUF碼應用為所述個人化字串。
- 如請求項17所述的記憶體裝置,其中所述安全邏輯電路,基於額外認證資料作為輸入而將加密演算法應用於待儲存於記憶體單元中、儲存於記憶體單元中、自記憶體單元擷取或待自記憶體單元擷取的資料;且其中所述安全邏輯電路連接所生成的所述PUF碼與所生成的計數器值以獲得所述額外認證資料。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/087,085 US11380379B2 (en) | 2020-11-02 | 2020-11-02 | PUF applications in memories |
US17/087,085 | 2020-11-02 |
Publications (2)
Publication Number | Publication Date |
---|---|
TWI751075B true TWI751075B (zh) | 2021-12-21 |
TW202219962A TW202219962A (zh) | 2022-05-16 |
Family
ID=80681425
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW110114185A TWI751075B (zh) | 2020-11-02 | 2021-04-20 | 記憶體中的不可複製函數應用 |
Country Status (2)
Country | Link |
---|---|
US (2) | US11380379B2 (zh) |
TW (1) | TWI751075B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10911229B2 (en) | 2016-08-04 | 2021-02-02 | Macronix International Co., Ltd. | Unchangeable physical unclonable function in non-volatile memory |
US11380379B2 (en) | 2020-11-02 | 2022-07-05 | Macronix International Co., Ltd. | PUF applications in memories |
US20220253536A1 (en) * | 2021-02-05 | 2022-08-11 | Skyechip Sdn Bhd | Memory controller for improving data integrity and providing data security and a method of operating thereof |
US12081238B2 (en) * | 2022-12-20 | 2024-09-03 | Xilinx, Inc. | Registration of a PUF signature and regeneration using a trellis decoder |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190324725A1 (en) * | 2018-04-18 | 2019-10-24 | Ememory Technology Inc. | PUF-Based True Random Number Generation System |
US20200052893A1 (en) * | 2018-08-13 | 2020-02-13 | Taiwan Semiconductor Manufacturing Company Ltd. | System to generate a signature key and method of operating the same |
TWI693530B (zh) * | 2017-09-12 | 2020-05-11 | 力旺電子股份有限公司 | 安全系統及安全系統的操作方法 |
US20200186339A1 (en) * | 2016-08-04 | 2020-06-11 | Macronix International Co., Ltd. | Stable physically unclonable function |
US10749695B2 (en) * | 2016-08-04 | 2020-08-18 | Macronix International Co., Ltd. | Physical unclonable function for non-volatile memory |
Family Cites Families (98)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5442704A (en) | 1994-01-14 | 1995-08-15 | Bull Nh Information Systems Inc. | Secure memory card with programmed controlled security access control |
JP4028798B2 (ja) | 2000-06-02 | 2007-12-26 | 株式会社ルネサステクノロジ | 不揮発性半導体記憶装置および情報配信システムにおける情報管理方法 |
US6947556B1 (en) | 2000-08-21 | 2005-09-20 | International Business Machines Corporation | Secure data storage and retrieval with key management and user authentication |
JP2002073424A (ja) | 2000-08-31 | 2002-03-12 | Mitsubishi Electric Corp | 半導体装置、端末装置および通信方法 |
US7840803B2 (en) | 2002-04-16 | 2010-11-23 | Massachusetts Institute Of Technology | Authentication of integrated circuits |
CN1792060B (zh) | 2003-05-21 | 2011-05-25 | 皇家飞利浦电子股份有限公司 | 用于认证物理对象的方法和系统 |
US8391070B2 (en) | 2008-12-02 | 2013-03-05 | Spansion Llc | Moving program verify level for programming of memory |
JP2009517911A (ja) | 2005-11-29 | 2009-04-30 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | Cpufsを使用した近傍の証明 |
US8290150B2 (en) | 2007-05-11 | 2012-10-16 | Validity Sensors, Inc. | Method and system for electronically securing an electronic device using physically unclonable functions |
US8130955B2 (en) | 2007-12-21 | 2012-03-06 | Spansion Llc | Random number generation through use of memory cell activity |
US7979658B2 (en) | 2008-03-25 | 2011-07-12 | Spansion Llc | Secure management of memory regions in a memory |
WO2010030701A1 (en) | 2008-09-12 | 2010-03-18 | Sandisk Corporation | Built in on-chip data scrambler for non-volatile memory |
US8145855B2 (en) | 2008-09-12 | 2012-03-27 | Sandisk Technologies Inc. | Built in on-chip data scrambler for non-volatile memory |
JP6220110B2 (ja) | 2008-09-26 | 2017-10-25 | コーニンクレッカ フィリップス エヌ ヴェKoninklijke Philips N.V. | デバイス及びユーザの認証 |
US8448256B2 (en) | 2008-09-30 | 2013-05-21 | Infineon Technologies Ag | Secure partitioning of programmable devices |
EP2465069B1 (en) | 2009-08-14 | 2018-02-21 | Intrinsic ID B.V. | Physically unclonable function with tamper prevention and anti-aging system |
WO2011048126A1 (en) | 2009-10-21 | 2011-04-28 | Intrinsic Id B.V. | Distribution system and method for distributing digital information |
KR101727130B1 (ko) | 2010-01-20 | 2017-04-14 | 인트린직 아이디 비브이 | 암호화 키를 획득하기 위한 디바이스 및 방법 |
EP2590355A4 (en) | 2010-06-30 | 2017-04-19 | Fujitsu Limited | Individual-specific information generation device and individual-specific information generation method |
US8694778B2 (en) | 2010-11-19 | 2014-04-08 | Nxp B.V. | Enrollment of physically unclonable functions |
WO2012122994A1 (en) | 2011-03-11 | 2012-09-20 | Kreft Heinz | Off-line transfer of electronic tokens between peer-devices |
KR20120109203A (ko) | 2011-03-28 | 2012-10-08 | 에스케이하이닉스 주식회사 | 플래시 메모리 장치 및 그의 독출 전압 생성 방법 |
CN103583013B (zh) | 2011-06-02 | 2016-04-13 | 三菱电机株式会社 | 密钥信息生成装置以及密钥信息生成方法 |
US9396357B2 (en) | 2011-12-06 | 2016-07-19 | Intrisic Id B.V. | Physically unclonable function (PUF) with improved error correction |
US9218477B2 (en) | 2012-04-13 | 2015-12-22 | Lewis Innovative Technologies | Electronic physical unclonable functions |
WO2013173729A1 (en) | 2012-05-18 | 2013-11-21 | Cornell University | Methods and systems for providing hardware security functions using flash memories |
US8928347B2 (en) | 2012-09-28 | 2015-01-06 | Intel Corporation | Integrated circuits having accessible and inaccessible physically unclonable functions |
CN104704768B (zh) | 2012-10-04 | 2018-01-05 | 本质Id有限责任公司 | 用于从用作物理不可克隆功能的存储器中生成密码密钥的系统 |
EP2722191B1 (en) | 2012-10-18 | 2015-05-06 | Bundesdruckerei GmbH | Identity card with physical unclonable function |
US9093128B2 (en) | 2012-11-05 | 2015-07-28 | Infineon Technologies Ag | Electronic device with a plurality of memory cells and with physically unclonable function |
TWI606362B (zh) | 2012-11-12 | 2017-11-21 | 慧榮科技股份有限公司 | 存取系統及方法 |
GB2507988A (en) | 2012-11-15 | 2014-05-21 | Univ Belfast | Authentication method using physical unclonable functions |
US20160028544A1 (en) | 2012-11-15 | 2016-01-28 | Elwha Llc | Random number generator functions in memory |
US8861736B2 (en) | 2012-11-19 | 2014-10-14 | International Business Machines Corporation | Reliable physical unclonable function for device authentication |
US8885819B2 (en) | 2012-12-27 | 2014-11-11 | Intel Corporation | Fuse attestation to secure the provisioning of secret keys during integrated circuit manufacturing |
US8938792B2 (en) | 2012-12-28 | 2015-01-20 | Intel Corporation | Device authentication using a physically unclonable functions based key generation system |
US9390291B2 (en) | 2012-12-29 | 2016-07-12 | Intel Corporation | Secure key derivation and cryptography logic for integrated circuits |
US9001554B2 (en) | 2013-01-10 | 2015-04-07 | Intermolecular, Inc. | Resistive random access memory cell having three or more resistive states |
US9083323B2 (en) | 2013-02-11 | 2015-07-14 | Qualcomm Incorporated | Integrated circuit identification and dependability verification using ring oscillator based physical unclonable function and age detection circuitry |
US9082514B1 (en) | 2013-04-22 | 2015-07-14 | Xilinx, Inc. | Method and apparatus for physically unclonable function burn-in |
JP2015026358A (ja) | 2013-06-20 | 2015-02-05 | 株式会社東芝 | デバイス、ホスト装置、ホストシステム、及びメモリシステム |
US8933516B1 (en) | 2013-06-24 | 2015-01-13 | Sandisk 3D Llc | High capacity select switches for three-dimensional structures |
US9530009B2 (en) | 2013-06-27 | 2016-12-27 | Visa International Service Association | Secure execution and update of application module code |
US9953166B2 (en) | 2013-07-04 | 2018-04-24 | Microsemi SoC Corporation | Method for securely booting target processor in target system using a secure root of trust to verify a returned message authentication code recreated by the target processor |
JP6106043B2 (ja) | 2013-07-25 | 2017-03-29 | ルネサスエレクトロニクス株式会社 | 半導体集積回路装置 |
US9787480B2 (en) | 2013-08-23 | 2017-10-10 | Qualcomm Incorporated | Applying circuit delay-based physically unclonable functions (PUFs) for masking operation of memory-based PUFs to resist invasive and clone attacks |
KR101489758B1 (ko) | 2013-08-26 | 2015-02-04 | 한국전자통신연구원 | 플래시 메모리의 동작 제어 방법 및 장치 |
US9343135B2 (en) | 2013-09-09 | 2016-05-17 | Qualcomm Incorporated | Physically unclonable function based on programming voltage of magnetoresistive random-access memory |
US9298946B2 (en) | 2013-09-09 | 2016-03-29 | Qualcomm Incorporated | Physically unclonable function based on breakdown voltage of metal-insulator-metal device |
US20150071432A1 (en) | 2013-09-09 | 2015-03-12 | Qualcomm Incorporated | Physically unclonable function based on resistivity of magnetoresistive random-access memory magnetic tunnel junctions |
US9792089B2 (en) | 2013-09-10 | 2017-10-17 | Verayo, Inc. | Random number generator using an incrementing function |
US8995169B1 (en) | 2013-09-12 | 2015-03-31 | Sandisk 3D Llc | Method of operating FET low current 3D Re-RAM |
US9992031B2 (en) | 2013-09-27 | 2018-06-05 | Intel Corporation | Dark bits to reduce physically unclonable function error rates |
US9966467B2 (en) | 2013-09-27 | 2018-05-08 | Phison Electronics Corp. | Integrated circuit and code generating method |
US20150143130A1 (en) | 2013-11-18 | 2015-05-21 | Vixs Systems Inc. | Integrated circuit provisioning using physical unclonable function |
US9189654B2 (en) | 2013-12-04 | 2015-11-17 | International Business Machines Corporation | On-chip structure for security application |
US10216965B2 (en) | 2014-01-08 | 2019-02-26 | Stc.Unm | Systems and methods for generating physically unclonable functions from non-volatile memory cells |
EP2911086A1 (en) | 2014-02-19 | 2015-08-26 | Renesas Electronics Europe GmbH | Integrated circuit with parts activated based on intrinsic features |
US9940048B2 (en) | 2014-02-26 | 2018-04-10 | Macronix International Co., Ltd. | Nonvolatile memory data protection using nonvolatile protection codes and volatile protection codes |
WO2015134037A1 (en) | 2014-03-07 | 2015-09-11 | Intel Corporation | Physically unclonable function circuit using resistive memory device |
US9407437B1 (en) * | 2014-03-25 | 2016-08-02 | Amazon Technologies, Inc. | Secure initialization vector generation |
US9436845B2 (en) | 2014-03-25 | 2016-09-06 | Globalfoundries Inc. | Physically unclonable fuse using a NOR type memory array |
US9485094B1 (en) | 2014-04-21 | 2016-11-01 | Maxim Integrated Products, Inc. | Systems and methods for stable physically unclonable functions |
KR102207217B1 (ko) | 2014-04-30 | 2021-01-25 | 삼성전자주식회사 | 플래시 메모리 장치, 플래시 메모리 시스템 및 이의 동작 방법 |
KR101593166B1 (ko) | 2014-06-02 | 2016-02-15 | 한국전자통신연구원 | 물리적 복제 방지 함수의 오류를 방지하는 장치 및 그 방법 |
KR101575810B1 (ko) | 2014-09-30 | 2015-12-08 | 고려대학교 산학협력단 | 물리적 복제 방지 기능을 갖는 플래시 메모리 장치 및 그 구현 방법 |
US9331989B2 (en) | 2014-10-06 | 2016-05-03 | Micron Technology, Inc. | Secure shared key sharing systems and methods |
US9646178B2 (en) | 2014-10-15 | 2017-05-09 | Empire Technology Development Llc | Secure data storage based on physically unclonable functions |
US9653161B2 (en) | 2014-11-21 | 2017-05-16 | Panasonic Intellectual Property Management Co., Ltd. | Tamper-resistant non-volatile memory device comprising an arithmetic circuit that, in operation, calculates a binary reference value based on at least a part of the pieces of resistance value information, a read circuit that, in operation, selectively assigns, based on the binary reference value, one of two values to each of the pieces of resistance value information, and a write circuit that, in operation, performs a write operation corresponding to one of the two values among memory cells |
US9548113B2 (en) | 2014-11-21 | 2017-01-17 | Panasonic Intellectual Property Management Co., Ltd. | Tamper-resistant non-volatile memory device |
CN105632543B (zh) | 2014-11-21 | 2018-03-30 | 松下知识产权经营株式会社 | 具有防篡改性的非易失性存储装置及集成电路卡 |
KR102201642B1 (ko) | 2014-11-28 | 2021-01-13 | 삼성전자주식회사 | Puf 회로 및 그것의 키 등록 방법 |
US9245925B1 (en) | 2015-01-15 | 2016-01-26 | Macronix International Co., Ltd. | RRAM process with metal protection layer |
US9583700B2 (en) | 2015-01-23 | 2017-02-28 | Macronix International Co., Ltd. | RRAM process with roughness tuning technology |
US9607702B2 (en) | 2015-03-25 | 2017-03-28 | Macronix International Co., Ltd. | Sub-block page erase in 3D p-channel flash memory |
US9755841B2 (en) | 2015-04-07 | 2017-09-05 | Globalfoundries Inc. | Method, apparatus and system for security application for integrated circuit devices |
US9722774B2 (en) | 2015-04-29 | 2017-08-01 | Samsung Electronics Co., Ltd. | Non-leaky helper data: extracting unique cryptographic key from noisy F-PUF fingerprint |
WO2016195736A1 (en) | 2015-06-02 | 2016-12-08 | Cambou Bertrand F | Memory circuit using resistive random access memory arrays in a secure element |
US9875378B2 (en) | 2015-06-12 | 2018-01-23 | QUALCOMOM Incorporated | Physically unclonable function assisted memory encryption device techniques |
EP3113409B1 (en) | 2015-07-01 | 2024-09-18 | Secure-IC SAS | Embedded test circuit for physically unclonable function |
US9971566B2 (en) | 2015-08-13 | 2018-05-15 | Arizona Board Of Regents Acting For And On Behalf Of Northern Arizona University | Random number generating systems and related methods |
US9985791B2 (en) | 2015-08-13 | 2018-05-29 | Arizona Board Of Regents Acting For And On Behalf Of Northern Arizona University | Physically unclonable function generating systems and related methods |
US10181357B2 (en) | 2015-08-18 | 2019-01-15 | Ememory Technology Inc. | Code generating apparatus and one time programming block |
CN105007285B (zh) | 2015-08-19 | 2018-07-24 | 南京万道电子技术有限公司 | 一种基于物理不可克隆函数的密钥保护方法和安全芯片 |
US9455403B1 (en) | 2015-08-28 | 2016-09-27 | Macronix International Co., Ltd. | Semiconductor structure and method for manufacturing the same |
US20170126414A1 (en) | 2015-10-28 | 2017-05-04 | Texas Instruments Incorporated | Database-less authentication with physically unclonable functions |
US10097348B2 (en) | 2016-03-24 | 2018-10-09 | Samsung Electronics Co., Ltd. | Device bound encrypted data |
US10454691B2 (en) | 2016-05-24 | 2019-10-22 | Arizona Board Of Regents On Behalf Of Northern Arizona University | Systems implementing hierarchical levels of security |
US10855477B2 (en) | 2016-08-04 | 2020-12-01 | Macronix International Co., Ltd. | Non-volatile memory with physical unclonable function and random number generator |
US10911229B2 (en) | 2016-08-04 | 2021-02-02 | Macronix International Co., Ltd. | Unchangeable physical unclonable function in non-volatile memory |
US10680809B2 (en) | 2016-08-04 | 2020-06-09 | Macronix International Co., Ltd. | Physical unclonable function for security key |
US10027472B2 (en) | 2016-09-27 | 2018-07-17 | Intel Corporation | Non-linear physically unclonable function (PUF) circuit with machine-learning attack resistance |
US9811689B1 (en) | 2016-12-27 | 2017-11-07 | Macronix International Co., Ltd. | Chip ID generation using physical unclonable function |
US20180191512A1 (en) | 2016-12-30 | 2018-07-05 | Intel Corporation | Physically unclonable function generation with direct twin cell activation |
CN108229215A (zh) * | 2017-12-06 | 2018-06-29 | 杭州中天微系统有限公司 | 一种地址加扰的存储装置及方法 |
US10311930B1 (en) | 2018-04-05 | 2019-06-04 | Qualcomm Incorporated | One-time programming (OTP) magneto-resistive random access memory (MRAM) bit cells in a physically unclonable function (PUF) memory in breakdown to a memory state from a previous read operation to provide PUF operations |
US11528135B2 (en) * | 2020-03-31 | 2022-12-13 | Taiwan Semiconductor Manufacturing Company, Ltd. | Integrated circuit (IC) signatures with random number generator and one-time programmable device |
US11380379B2 (en) | 2020-11-02 | 2022-07-05 | Macronix International Co., Ltd. | PUF applications in memories |
-
2020
- 2020-11-02 US US17/087,085 patent/US11380379B2/en active Active
-
2021
- 2021-04-20 TW TW110114185A patent/TWI751075B/zh active
-
2022
- 2022-06-07 US US17/834,287 patent/US11763867B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20200186339A1 (en) * | 2016-08-04 | 2020-06-11 | Macronix International Co., Ltd. | Stable physically unclonable function |
US10749695B2 (en) * | 2016-08-04 | 2020-08-18 | Macronix International Co., Ltd. | Physical unclonable function for non-volatile memory |
TWI693530B (zh) * | 2017-09-12 | 2020-05-11 | 力旺電子股份有限公司 | 安全系統及安全系統的操作方法 |
US20190324725A1 (en) * | 2018-04-18 | 2019-10-24 | Ememory Technology Inc. | PUF-Based True Random Number Generation System |
US20200052893A1 (en) * | 2018-08-13 | 2020-02-13 | Taiwan Semiconductor Manufacturing Company Ltd. | System to generate a signature key and method of operating the same |
Also Published As
Publication number | Publication date |
---|---|
US20220301609A1 (en) | 2022-09-22 |
US11380379B2 (en) | 2022-07-05 |
US20230386541A1 (en) | 2023-11-30 |
US20220139434A1 (en) | 2022-05-05 |
TW202219962A (zh) | 2022-05-16 |
CN114444140A (zh) | 2022-05-06 |
US11763867B2 (en) | 2023-09-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI751075B (zh) | 記憶體中的不可複製函數應用 | |
US11487908B2 (en) | Secure memory | |
TWI402675B (zh) | 低等待時間的區塊密碼術 | |
US20080084996A1 (en) | Authenticated encryption method and apparatus | |
US11308241B2 (en) | Security data generation based upon software unreadable registers | |
US8913740B2 (en) | Method and apparatus for generating an Advanced Encryption Standard (AES) key schedule | |
EP3577642B1 (en) | Methods and devices for protecting data | |
TW202009775A (zh) | 從伺服器接收安全的軟體更新資訊的元件 | |
CN111034115B (zh) | 用于扩展真随机数池的表观大小的加密系统和方法 | |
KR20110036854A (ko) | 메시지 인증 코드 사전 연산 방법 및 시스템 | |
TWI761896B (zh) | 用於執行安全命令的記憶體裝置及方法 | |
US8804953B2 (en) | Extensive ciphertext feedback | |
US10642962B2 (en) | Licensable function for securing stored data | |
CN116628776A (zh) | 存储器装置以及存储器芯片的存储器阵列信息的读取方法 | |
CN114444140B (zh) | 存储器中的不可复制函数应用 | |
US12136471B2 (en) | PUF applications in memories | |
US20230083850A1 (en) | Cryptographic systems and methods for development of pools of random numbers | |
Landge et al. | VHDL based Blowfish implementation for secured embedded system design | |
TWI665901B (zh) | 加密方法與解密方法 | |
WO2021044465A1 (ja) | 暗号化装置、復号装置、コンピュータプログラム、暗号化方法、復号方法及びデータ構造 | |
TWI805486B (zh) | 記憶體裝置以及記憶體晶片的記憶體陣列資訊的讀取方法 | |
Datta et al. | Proposed Safety and Security Model for Hand-Held Mobile Devices |