TW202032360A - 重放保護臨時亂數生成 - Google Patents
重放保護臨時亂數生成 Download PDFInfo
- Publication number
- TW202032360A TW202032360A TW108146581A TW108146581A TW202032360A TW 202032360 A TW202032360 A TW 202032360A TW 108146581 A TW108146581 A TW 108146581A TW 108146581 A TW108146581 A TW 108146581A TW 202032360 A TW202032360 A TW 202032360A
- Authority
- TW
- Taiwan
- Prior art keywords
- random number
- length
- temporary random
- hash
- subset
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/58—Random or pseudo-random number generators
- G06F7/582—Pseudo-random number generators
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1408—Protection against unauthorised use of memory or access to memory by using cryptography
-
- 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/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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
- H04L63/126—Applying verification of the received information the source of the received data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
- H04L63/1466—Active attacks involving interception, injection, modification, spoofing of data unit addresses, e.g. hijacking, packet injection or TCP sequence number attacks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/002—Countermeasures against attacks on cryptographic mechanisms
-
- 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/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0838—Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
- H04L9/0841—Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these involving Diffie-Hellman or related key agreement protocols
-
- 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/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/3236—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 cryptographic hash functions
- H04L9/3242—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 cryptographic hash functions involving keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC
-
- 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/3247—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 involving digital signatures
- H04L9/3252—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 involving digital signatures using DSA or related signature schemes, e.g. elliptic based signatures, ElGamal or Schnorr schemes
-
- 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)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Power Engineering (AREA)
- Software Systems (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Storage Device Security (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本文中描述用於重放保護臨時亂數生成之裝置及技術。可從一第一輸入產生一第一長度之一雜湊。可提取該雜湊之一第一子集作為一選擇器。可使用該選擇器來選擇該雜湊之一第二子集。此處,該第二子集具有小於該第一長度之一第二長度。可在一重放保護通信中傳輸該第二子集作為一新鮮度值之一臨時亂數。
Description
記憶體裝置通常被提供為電腦或其他電子裝置中之內部半導體積體電路。存在許多不同類型之記憶體,包含揮發性記憶體及非揮發性記憶體。
揮發性記憶體需要電力來維持其資料,且包含隨機存取記憶體(RAM)、動態隨機存取記憶體(DRAM)或同步動態隨機存取記憶體(SDRAM)等。
非揮發性記憶體可在未被供電時保存所儲存資料,且包含快閃記憶體、唯讀記憶體(ROM)、電可抹除可程式化ROM (EEPROM)、靜態RAM (SRAM)、可抹除可程式化ROM (EPROM)、電阻可變記憶體(諸如相變隨機存取記憶體(PCRAM)、電阻式隨機存取記憶體(RRAM)或磁阻式隨機存取記憶體(MRAM))等。
利用快閃記憶體作為廣泛範圍之電子應用的非揮發性記憶體。快閃記憶體裝置通常包含允許高記憶體密度、高可靠性及低功率消耗之一或多個群組之單電晶體浮動閘極或電荷捕捉記憶體胞。
兩種常見類型之快閃記憶體陣列架構包含以配置各者之基本記憶體胞組態之邏輯形式命名的NAND架構及NOR架構。記憶體陣列之記憶體胞通常配置成一矩陣。在一實例中,陣列之一列中之各浮動閘極記憶體胞之閘極耦合至一存取線(例如,一字線)。在一NOR架構中,陣列之一行中之各記憶體胞之汲極耦合至一資料線(例如,一位元線)。在一NAND架構中,陣列之一串中之各記憶體胞之汲極在一起串聯耦合(源極至汲極)於一源極線與一位元線之間。
透過解碼器存取NOR及NAND架構半導體記憶體陣列兩者,該等解碼器藉由選擇耦合至其等閘極之字線而啟動特定記憶體胞。在一NOR架構半導體記憶體陣列中,選定記憶體胞一旦經啟動便將其等之資料值放置於位元線上,從而引起不同電流流動,此取決於一特定單元程式化之狀態。在一NAND架構半導體記憶體陣列中,將一高偏壓電壓施加至一汲極側選擇閘極(SGD)線。在一指定通過電壓(例如,Vpass)下驅動耦合至各群組之未選定記憶體胞之閘極的字線以將各群組之未選定記憶體胞操作為傳遞電晶體(例如,以不受其等儲存資料值限制之一方式傳遞電流)。接著,電流透過各串聯耦合之群組自源極線流動至位元線,其僅受各群組之選定記憶體胞限制,從而將選定記憶體胞之當前編碼資料值放置於位元線上。
一NOR或NAND架構半導體記憶體陣列中之各快閃記憶體胞可個別或共同程式化至一個或若干程式化狀態。舉例而言,一單位階胞(SLC)可表示兩個程式化狀態(例如,1或0)之一者,其表示一個資料位元。
然而,快閃記憶體胞亦可表示兩個以上程式化狀態之一者,從而允許在不增加記憶體胞之數目之情況下製造較高密度記憶體,此係因為各胞可表示一個以上二進位數位(例如,一個以上位元)。此等胞可被稱為多狀態記憶體胞、多數位胞或多位階胞(MLC)。在某些實例中,MLC可指代每胞可儲存兩個資料位元(例如,四個程式化狀態之一者)之一記憶體胞,一三位階胞(TLC)可指代每胞可儲存三個資料位元(例如,八個程式化狀態之一者)之一記憶體胞,且一四位階胞(QLC)可每胞儲存四個資料位元。MLC在本文中在其更廣泛內容背景中使用從而可指代每胞可儲存一個以上資料位元(即,可表示兩個以上程式化狀態)之任何記憶體胞。
傳統記憶體陣列係配置於一半導體基板之一表面上之二維(2D)結構。為增加一給定面積之記憶體容量且降低成本,已減小個別記憶體胞之大小。然而,個別記憶體胞之大小減小及因此2D記憶體陣列之記憶體密度存在一技術限制。作為回應,正在發展三維(3D)記憶體結構(諸如3D NAND架構半導體記憶體裝置)以進一步增加記憶體密度且降低記憶體成本。
此等3D NAND裝置通常包含串聯耦合(例如,汲極至源極)於靠近一源極之一或多個源極側選擇閘極(SGS)與靠近一位元線之一或多個汲極側選擇閘極(SGD)之間的儲存胞之串。在一實例中,SGS或SGD可包含一或多個場效電晶體(FET)或金屬氧化物半導體(MOS)結構裝置等。在一些實例中,串將垂直延伸通過含有各自字線之多個垂直間隔之層。一半導體結構(例如,一多晶矽結構)可在一串儲存胞附近延伸以形成用於串之儲存胞之一通道。在一垂直串之實例中,多晶矽結構可呈一垂直延伸支柱之形式。在一些實例中,串可「摺疊」且因此相對於一U形支柱配置。在其他實例中,多個垂直結構可彼此堆疊以形成儲存胞串之堆疊陣列。
記憶體陣列或裝置可組合在一起以形成一記憶體系統之一儲存容量,諸如一固態硬碟(SSD)、一通用快閃儲存(UFS™)裝置、一多媒體卡(MMC)固態儲存裝置、一嵌入式MMC裝置(eMMC™)等。可尤其使用一SSD作為一電腦之主儲存裝置,從而在舉例而言效能、大小、重量、堅固性、操作溫度範圍及功率消耗方面優於具有移動部分之傳統硬碟機。舉例而言,SSD可具有減少之搜尋時間、延時或與磁碟機相關聯之其他延遲(例如,機電延遲等)。SSD使用諸如快閃記憶體胞之非揮發性記憶體胞來免除內部電池供應需求,因此允許磁碟機更通用且更緊湊。
一SSD可包含若干記憶體裝置 (包含若干晶粒或邏輯單元 (例如,邏輯單元編號或LUN)),其可包含執行操作記憶體裝置或與外部系統介接所需之邏輯功能的一或多個處理器或其他控制器。此等SSD可包含一或多個快閃記憶體晶粒,其或其等上包含若干記憶體陣列及周邊電路系統。快閃記憶體陣列可包含組織成若干實體頁面之記憶體胞之若干區塊。在許多實例中,SSD亦將包含DRAM或SRAM (或其他形式之記憶體晶粒或其他記憶體結構)。SSD可自一主機接收與記憶體操作(諸如用以在記憶體裝置與主機之間傳送資料(例如,使用者資料及相關聯完整性資料,諸如錯誤資料及位址資料等)之讀取或寫入操作,或用以自記憶體裝置抹除資料之抹除操作)相關聯之命令。
在一些實施例中,一種用於重放保護臨時亂數生成之記憶體裝置包含用以從一第一輸入產生一雜湊的一雜湊引擎及處理電路系統。雜湊具有一第一長度。處理電路系統提取雜湊之一第一子集作為一選擇器且使用該選擇器來選擇雜湊之一第二子集。第二子集具有小於第一長度之一第二長度。處理電路系統在一重放保護通信中傳輸第二子集作為一新鮮度值之一臨時亂數。
在一些實施例中,一種用於重放保護臨時亂數生成之方法包含從一第一輸入產生一雜湊,提取該雜湊之一第一子集作為一選擇器,及使用該選擇器來選擇該雜湊之一第二子集。雜湊具有一第一長度。第二子集具有小於第一長度之一第二長度。方法進一步包含在一重放保護通信中傳輸第二子集作為一新鮮度值之一臨時亂數。
在一些實施例中,一種機器可讀媒體包含用於重放保護臨時亂數生成之指令,該等指令在由處理電路系統執行時引起該處理電路系統執行操作。該等操作包含從一第一輸入產生一雜湊,提取該雜湊之一第一子集作為一選擇器,及使用該選擇器來選擇該雜湊之一第二子集。雜湊具有一第一長度。第二子集具有小於第一長度之一第二長度。該等操作進一步包含在一重放保護通信中傳輸第二子集作為一新鮮度值之一臨時亂數。
通信安全已發揮一愈來愈重要的作用。為理解安全通信之不同態樣,考量數個不同領域:身份;鑑認;訊息完整性;資料保護(例如,加密);資料證明;及防重放。使用各種技術來實施安全通信之此等不同方面。然而,本文中描述之系統及技術聚焦於防重放。
本文中稱為重放之一重放攻擊係一技術,藉此一攻擊者複製兩方之間之一原本安全通信的部分或全部且稍後使用其以達成來自該兩方之一者之一未經授權回應。舉例而言,一車庫門遙控將一無線電信號傳輸至車庫門控制件以敞開車庫門。即使遙控需要鑑認通信並對其加密,簡單記錄無線符號且在稍後重放其等亦可產生一攻擊者所期望之車庫敞開效應。此一重放攻擊可用於其他通信中,諸如在一車輛上之組件之間(例如,經由控制器區域網路(CAN)匯流排),在工業控制器與致動器之間,或在記憶體裝置與使用該等記憶體裝置之其他組件之間。
已設計不同技術以阻止重放。通常,此等技術涉及包含一不斷變化元素,通信之有效方可經各通信預測該不斷變化元素。舉例而言,考量一單調(例如,不斷增加)計數器。運用通信中之各訊息,雙方增加其等各自計數器(例如,加1)並將該值包含於回覆訊息中。在驗證回覆訊息時,接收者使用單調計數器之預測值作為驗證之部分。若一攻擊者記錄並嘗試重放訊息,則計數器驗證將與重放攻擊一起失敗。不斷變化元素可被稱為一新鮮度值。使用新鮮度值可包含將其附加至訊息及使用加密、一訊息鑑認碼(MAC) (諸如HMAC-SHA256)或其他加密技術(例如,橢圓曲線數位簽章演算法(ECDSA))來保全訊息。然而,新鮮度值之一共同特徵係一通信之各方預測下一有效新鮮度值以便在任何未來交換中檢查其是否正確的能力。
單調計數器及時間戳記係用於產生新鮮度值的兩種技術。然而,在與NAND快閃記憶體裝置一樣操作之記憶體裝置之內容背景中,此等技術遭受一些問題。首先,單調計數器涉及可快速改變之一當前計數值之儲存。歸因於NAND快閃之特性,個別計數器更新通常包含計數器之一不斷寫入及垃圾收集,涉及底層儲存裝置之過度磨損及低效維護操作。時間戳記具有多件硬體通常已具有一時脈的優點。然而,為了新鮮度值成功,時脈需要在很大程度上同步。對於以各種硬體組態部署之附加記憶體裝置,此同步係不切實際的。
為解決新鮮度值生成之此等問題,可使用臨時亂數(例如,一次編號)生成。此處,臨時亂數係指本身不具有意義之某一值。實情係,臨時亂數中之值係雙方確定一臨時亂數序列中之下一臨時亂數應為何內容的能力。因此,可基於雙方之間之一已知種子經由一偽隨機數生成來完成臨時亂數生成。運用一運行偽隨機數生成器,未存取種子之一觀察者應無法告知(例如,經由統計分析)序列中之下一值將為何內容,但雙方將能夠獨立地生成此值。
在一實例中,在雙方同意一初始種子之後,記憶體裝置可使用該種子來產生一雜湊。可使用此雜湊之一部分作為新鮮度值。舉例而言,考量256個位元之一雜湊及32個位元之一所要新鮮度值。可將雜湊之256個位元劃分成八個32位元片段。使用前三個位元或三個位元之任何定義技術(諸如後三個位元、第一位元、中間位元及最後位元、每四個位元之前三個等)作為群組之識別。因此,使用藉由該三個位元識別之八個群組中之任何位元群組之位元作為新鮮度值。接著,可使用雜湊作為此程序之一新反覆中之種子以判定下一新鮮度值。
臨時亂數生成比用於NAND快閃類型裝置之其他新鮮度值技術作用更佳,此係因為可在一會話期間儲存並重用種子(例如,無需非揮發性記憶體)且無需與時間戳記之情況一樣精確地控制時脈同步。另外,許多當前記憶體裝置包含數個硬體或軟體組件以實現安全通信之其他態樣,諸如實體上無法複製功能(PUF)區塊、HASH區塊、MAC區塊、加密及密鑰管理區塊以及其他態樣。因而,可以最小影響將臨時亂數生成添加至現有裝置設計。此外,經組態以產生如本文中描述之一臨時亂數之一記憶體裝置亦可為其通信至之其他組件(諸如一處理器)之一HASH確定性隨機位元生成器(HASH-DRBG)。
下文描述額外細節及實例。圖1包含關於一受管理記憶體裝置之數個細節(例如,一記憶體控制器包含於記憶體裝置中),且圖2繪示更特定於重放保護臨時亂數生成之架構特徵,且圖6繪示此架構之操作之數個變動。
圖1繪示包含經組態以經由一通信介面通信之一主機裝置105及一記憶體裝置110之一環境100之一實例。主機裝置105或記憶體裝置110可包含於多種產品150 (諸如物聯網(IoT)裝置(例如,一冰箱或其他器具、感測器、馬達或致動器、行動通信裝置、汽車、無人機等))中以支援產品150之處理、通信或控制。圖2提供更特定於使用pSLC編碼之可調整NAND寫入效能之細節。
記憶體裝置110包含一記憶體控制器115及包含(舉例而言)若干個別記憶體晶粒之一記憶體陣列120 (例如,一三維(3D) NAND晶粒堆疊)。在3D架構半導體記憶體技術中,堆疊垂直結構,從而增加層、實體頁面之數目及因此一記憶體裝置(例如,一儲存裝置)之密度。在一實例中,記憶體裝置110可為主機裝置105之一離散記憶體或儲存裝置組件。在其他實例中,記憶體裝置110可為與主機裝置105之一或多個其他組件堆疊或以其他方式包含在一起之一積體電路 (例如,系統單晶片(SOC)等)之一部分。在此等實例中,記憶體裝置110經由一互連(interlink) 111 (諸如一匯流排)與主機裝置105組件通信。因此,如本文中描述,即使在記憶體裝置110整合至主機裝置105中時,一主機或主機裝置105操作亦與記憶體裝置110之操作相異。
可使用一或多個通信介面(例如,互連111)來在記憶體裝置110與主機裝置105之一或多個其他組件之間傳送資料,諸如一串列進階技術附接(SATA)介面、一周邊組件互連快速(PCIe)介面、一通用串列匯流排(USB)介面、一通用快閃儲存(UFS)介面、一eMMC™介面或一或多個其他連接器或介面。主機裝置105可包含一主機系統、一電子裝置、一處理器、一記憶卡讀取器或記憶體裝置110外部之一或多個其他電子裝置。在一些實例中,主機105可為具有關於圖7之機器700論述之組件之某一部分或全部該等組件的一機器。
記憶體控制器115可自主機105接收指令,且其可與記憶體陣列120通信以諸如將資料傳送至(例如,寫入或抹除)記憶體陣列120之記憶體胞、平面、子區塊、區塊或頁面之一或多者或自該一或多者傳送(例如,讀取)資料。記憶體控制器115可尤其包含電路系統或韌體,包含一或多個組件或積體電路。舉例而言,記憶體控制器115可包含經組態以控制跨記憶體陣列120之存取且提供主機105與記憶體裝置110之間之一轉譯層的一或多個記憶體控制單元、電路或組件。儘管記憶體控制器115在此處被繪示為記憶體裝置110封裝之部分,然可採用其他組態,諸如記憶體控制器115係主機105之一組件(例如,作為與記憶體服務110分離之主機105之一系統單晶片上之一離散封裝)或甚至經由主機105之一中央處理單元(CPU)實施。
記憶體管理器125可尤其包含電路系統或韌體,諸如與各種記憶體管理功能相關聯之數個組件或積體電路。為本描述之目的,將在NAND記憶體之內容背景中描述例示性記憶體操作及管理功能。熟習此項技術者將認知,其他形式之非揮發性記憶體可具有類似記憶體操作或管理功能。此等NAND管理功能包含損耗調平(wear leveling) (例如,廢棄項目收集或回收)、錯誤偵測或校正、區塊報廢或一或多個其他記憶體管理功能。記憶體管理器125可將主機命令(例如,自一主機接收之命令)剖析或格式化為裝置命令(例如,與一記憶體陣列之操作相關聯之命令等),或生成用於陣列控制器135或記憶體裝置110之一或多個其他組件的裝置命令(例如,以完成各種記憶體管理功能)。
記憶體管理器125可包含經組態以維持與記憶體裝置110之一或多個組件相關聯之各種資訊(例如,與耦合至記憶體控制器115之一記憶體陣列或一或多個記憶體胞相關聯之各種資訊)的一組管理表130。舉例而言,管理表130可包含關於耦合至記憶體控制器115之記憶體胞之一或多個區塊的區塊年限、區塊抹除計數、錯誤歷史或一或多個錯誤計數(例如,一寫入操作錯誤計數、一讀取位元錯誤計數、一讀取操作錯誤計數、一抹除錯誤計數等)之資訊。在某些實例中,若錯誤計數之一或多者的所偵測錯誤之數目超過一臨限值,則位元錯誤可被稱為一無法校正的位元錯誤。管理表130可尤其維持可校正或無法校正位元錯誤之一計數。在一實例中,管理表130可包含轉譯表或一邏輯至實體(L2P)映射。
陣列控制器135可尤其包含經組態以控制與將資料寫入至耦合至記憶體控制器115之記憶體裝置110之一或多個記憶體胞、自該一或多個記憶體胞讀取資料或抹除該一或多個記憶體胞相關聯之記憶體操作的電路系統或組件。記憶體操作可基於(舉例而言)自主機105接收或藉由記憶體管理器125 (例如,相關聯於損耗調平、錯誤偵測或校正等)在內部生成之主機命令。
陣列控制器135可包含一錯誤校正碼(ECC)組件140,該錯誤校正碼(ECC)組件140可尤其包含一ECC引擎或經組態以偵測或校正與將資料寫入至耦合至記憶體控制器115之記憶體裝置110之一或多個記憶體胞或自該一或多個記憶體胞讀取資料相關聯之錯誤的其他電路系統。記憶體控制器115可經組態以基於藉由陣列控制器135維持之ECC資料而主動偵測與資料之各種操作或儲存相關聯之錯誤發生(例如,位元錯誤、操作錯誤等)並從該等錯誤發生恢復。此使記憶體控制器115能夠維持在主機105與記憶體裝置110之間傳送之資料之完整性或維持所儲存資料之完整性。此完整性維持之部分可包含移除(例如,報廢)失效記憶體資源(例如,記憶體胞、記憶體陣列、頁面、區塊等)以防止未來錯誤。RAIN係可由記憶體裝置110採用以維持資料完整性的另一技術。陣列控制器135可經配置以在陣列120中實施RAIN同位資料生成及儲存。記憶體控制器115可參與使用同位資料來重建損壞資料。
記憶體陣列120可包含配置於(舉例而言)若干裝置、平面、子區塊、區塊或頁面中之數個記憶體胞。作為一個實例,一48 GB TLC NAND記憶體裝置可包含每頁面18,592個位元組(B)之資料(16,384 + 2208個位元組)、每區塊1536個頁面、每平面548個區塊及每裝置4個或更多個平面。作為另一實例,一32 GB MLC記憶體裝置(其每胞儲存兩個資料位元(即,4個可程式化狀態))可包含每頁面18,592個位元組(B)之資料(16,384 + 2208個位元組)、每區塊1024個頁面、每平面548個區塊及每裝置4個平面,但具有一對應TLC記憶體裝置之一半的所需寫入時間及兩倍的程式化/抹除(P/E)週期。其他實例可包含其他數目或配置。在一些實例中,一記憶體裝置或其之一部分可選擇性地在SLC模式中或在一所要MLC模式(諸如TLC、QLC等)中操作。
在操作中,資料通常按頁面寫入至NAND記憶體裝置110或自其讀取且按區塊抹除。然而,可視需要對較大或較小記憶體胞群組執行一或多個記憶體操作(例如,讀取、寫入、抹除等)。一NAND記憶體裝置110之資料傳送大小通常被稱為一頁面,而一主機之資料傳送大小通常被稱為一區段。
儘管一資料頁面可包含若干位元組之使用者資料(例如,包含若干資料區段之一資料有效負載)及其對應後設資料,然頁面之大小通常僅指代用以儲存使用者資料之位元組之數目。作為一實例,具有4 KB之一頁面大小之一資料頁面可包含4 KB之使用者資料(例如,假定512 B之一區段大小之8個區段)以及對應於使用者資料之若干位元組(例如,32 B、54 B、224 B等)之後設資料,諸如完整性資料(例如,錯誤偵測或校正碼資料)、位址資料(例如,邏輯位址資料等)或與使用者資料相關聯之其他後設資料。
不同類型之記憶體胞或記憶體陣列120可提供不同頁面大小,或可需要與其相關聯之不同數量之後設資料。舉例而言,不同記憶體裝置類型可具有不同位元錯誤率,此可導致確保資料頁面之完整性所必需之不同數量之後設資料(例如,與具有一較低位元錯誤率之一記憶體裝置相比,具有一較高位元錯誤率之一記憶體裝置可需要更多位元組之錯誤校正碼資料)。作為一實例,與一對應單位階胞(SLC) NAND快閃裝置相比,一多位階胞(MLC) NAND快閃裝置可具有一較高位元錯誤率。因而,與對應SLC裝置相比,MLC裝置可需要更多後設資料位元組用於錯誤資料。
圖2繪示生成用於重放保護之一臨時亂數之一系統之一實例。系統包含可以如上文關於圖1描述之一方式操作的一主機205及一記憶體裝置210。在以下實例中,主機205係與記憶體裝置210安全通信之一合作夥伴。如繪示,記憶體裝置210包含:一控制器220;一鑑認區塊225,其包含具有公開及私密密鑰(PU/PR)儲存器之一ECDSA元件及具有一秘密(例如,對稱)密鑰儲存器之一MAC元件;一迪菲赫爾曼(Diffie Hellman)區塊235,其包含至一橢圓曲線迪菲赫爾曼(ECDH)元件之PU/PR儲存器;一密鑰生成器215,其包含一PUF及一密鑰導出功能(KDF)元件;一多工器240;一雜湊引擎245;及一選擇器區塊250。
在一鑑認且重放保護通信期間,初始化一臨時亂數序列。此以種子初始化開始。在一實例中,主機205向記憶體裝置210發出一臨時亂數請求命令以初始化新鮮度(或DRBG生成器)。在一實例中,請求未將實質資料傳遞至記憶體裝置210。在一實例中,請求包含主機205之一簽章。
回應於臨時亂數請求命令,記憶體裝置210經組態以將一零臨時亂數(例如,nonce_0)值發送至主機205,此將用於剩餘臨時亂數序列初始化。在接收零臨時亂數之後,主機205提供一系統設定命令以選擇由記憶體裝置210支援之數個使用模式之一者。在一實例中,此命令經鑑認且使用零臨時亂數作為一防重放措施。
在接收後,控制器220使用使用模式以經由選擇器230組態多工器240。如繪示,可由主機205選擇三個使用模式;此等模式對應於種子A (模式0)、種子B (模式1)及種子C (模式2)。如繪示,在模式0中,記憶體裝置210藉由使用由KDF處理之PUF值而生成一秘密種子(例如,種子= KDF(PUF))。在模式1中,主機205及記憶體裝置210共用一公共種子。在一實例中,種子未被簽名,舉例而言,從主機205直接傳遞至控制器220。在一實例中,種子被簽名(例如,藉由ECDSA或MAC)且藉由鑑認區塊225進行驗證。在模式2中,主機205及記憶體裝置210藉由使用ECDH或秘密憑藉其為協定設定之部分之其他此技術而共用一秘密SEED。
一旦由主機205選定一模式,控制器220便經配置以將calculus_on信號脈送至雜湊引擎240以從選定種子源產生一雜湊。將雜湊發送至選擇器區塊250。選擇器區塊經組態以直接從雜湊選擇臨時亂數255或臨時亂數255之基礎。舉例而言,若雜湊係N個位元長,則選擇器250從雜湊選取m個位元以產生m個位元之臨時亂數255。圖3繪示一例示性技術,選擇器區塊250經組態以使用該例示性技術以從雜湊產生臨時亂數255。
在初始化之後產生第一雜湊之後,控制器220在多工器上選擇模式3且藉由雜湊引擎245將雜湊回饋至多工器240中。以此方式,使用雜湊作為臨時亂數序列中之下一臨時亂數生成中之種子,例如, ,其中SELECTOR係選擇器區塊250且HASH係雜湊引擎245。雜湊引擎245包含某一記憶體(例如,一暫存器)以儲存雜湊,直至其從控制器220接收下一calculus_on信號(此時將雜湊遞送至多工器240)或從控制器220接收重設信號。圖4繪示用於依一臨時亂數序列進行初始化及接著後續通信兩者之主機205與記憶體裝置210 (例如,控制器220)之間之訊息之一實例。
所繪示之架構使各種種子能夠用於開始一臨時亂數序列。此外,由於許多元件已包含於現代記憶體裝置中,因此僅需要少量添加(諸如多工器240及選擇器區塊250)以實施本文中描述之防重放臨時亂數技術。
圖3繪示從一雜湊產生自含型臨時亂數之一實例。此處,雜湊係256個位元且被劃分成不重疊之八個32位元群組。因此,群組0包含雜湊之位元0至31,群組1包含雜湊之位元32至63等等。為判定八個群組之哪一群組係臨時亂數,從雜湊提取足以明確選擇群組之一者之一選擇器位元集。因此,對於八個群組,提取三個選擇器位元。提取可係位置性的,諸如前幾個位元、後幾個位元、每隔一個位元等。所提取位元之值判定選定之群組。因此,對於八個群組,使用三個選擇器位元以明確選擇八個群組之一者。若提取前三個位元,且該等位元具有110之一值,則選取群組6且屬於群組6之雜湊之位元係臨時亂數。
圖4繪示一主機與執行臨時亂數生成之一記憶體裝置之間之一控制流程之一實例。主機經由一臨時亂數請求(訊息405)針對一臨時亂數序列初始化記憶體裝置。儘管此請求未受保護,例如,使任何實體能夠發出請求,然可使用稍後訊息中之鑑認來限制哪些實體可參與一臨時亂數序列保護通信會話。
回應於臨時亂數請求,記憶體裝置以一零臨時亂數作出回應(訊息410)。在一實例中,零臨時亂數經計算為使用一PUF作為輸入之一KDF之輸出之m個最低有效位元,或。使用圖2中繪示之架構,控制器220可經由選擇器230選擇模式0以將密鑰區塊215輸出饋送至多工器240。接著,控制器220可將calculus_on信號脈送至雜湊引擎245以產生零臨時亂數。在一實例中,在獲得零臨時亂數之後,控制器220使用至雜湊引擎245之重設信號以清除零臨時亂數。
接著,主機發出以零臨時亂數進行重放保護之一系統設定命令(訊息415)以設定系統。在一實例中,鑑認系統設定命令。此實例幫助防止非所要實體在記憶體裝置處啓用或重設一臨時亂數生成序列。在一實例中,藉由使用一ECDSA或替代地如命令資料結構中指示(例如,如圖5中繪示)之一MAC而鑑認系統設定命令。
記憶體裝置使用系統設定命令中之資料來組態臨時亂數序列生成(例如,如上文在圖2中或下文在圖6中描述)且取決於其實行任務之能力而以成功或失敗作出回應(訊息420)。假定成功,在訊息420之後,主機及記憶體裝置可使用臨時亂數序列(例如,訊息425及430)參與一通信會話。若主機出於某一原因將重新起動臨時亂數序列,則主機可再次發出臨時亂數請求命令(訊息405)並更新程序。
圖5繪示在臨時亂數生成之初始化期間使用之訊息格式之數個實例。如繪示,此等訊息資料結構之各者包含在圖中標記之數個欄位。
臨時亂數請求訊息505包含一操作碼(operation code\opcode)、選用參數(例如,用以選擇一模式)、及回應中請求之一簽章類型(例如,0 = MAC,1 = ECDSA,且2 = 無簽章)。
臨時亂數請求訊息505之回應訊息510包含一臨時亂數(例如,零臨時亂數)及一簽章(若在訊息505中請求簽章)。
系統設定訊息515包含操作碼、用於重放保護之零臨時亂數、設定參數、一簽章類型識別符、及簽章本身。如繪示,參數可經結構化以包含一模式識別且提供記憶體裝置期望之對應資料。舉例而言,此處,對於模式1及2,期望一種子,而模式3不涉及一種子之共用,而依賴於一外部協定(例如,迪菲赫爾曼)。在此情況中,參數包含用於設定協定的資料。
圖6繪示用於重放保護臨時亂數生成之一方法600之一實例之一流程圖。在電腦硬體中實施方法600之操作,諸如上文描述之電腦硬體(例如,一記憶體裝置)或下文描述之電腦硬體(例如,處理電路系統)。
在操作605,從一第一輸入產生一雜湊。雜湊具有如藉由所使用之雜湊演算法判定之一長度之一值。在一實例中,雜湊係一加密雜湊。在一實例中,加密雜湊係一MD5雜湊、一安全雜湊(SHA) (例如,SGA-0、SHA-1、SHA-2、SHA-3等)、RIPEMD-160雜湊、Whirlpool雜湊或BLAKE2雜湊之一者。
在操作610,提取雜湊之一第一子集作為一選擇器。
在操作615,使用選擇器來選擇雜湊之一第二子集。在一實例中,第二子集比雜湊之長度(第一長度)更短(例如,具有小於雜湊之長度之一第二長度)。因此,從雜湊獲取選擇器且使用該選擇器來選取雜湊之一部分。為此,基於第二子集之所要特性來選取選擇器特性,此將為重放保護臨時亂數之基礎。
舉例而言,可將雜湊劃分成數個群組,各群組具有等於所要第二子集大小之數目之位元。群組可為非重疊或重疊的或群組可為連續或不連續的,舉例而言,若存在五個群組,則群組包括由雜湊開始之一偏移區分之每五個位元(例如,群組0具有0偏移,群組1具有一1位元偏移等)。在此情況中,第一子集經定大小以表示群組數目(例如,若存在兩個群組,則第一子集係1個位元;若存在八個群組,則第二子集係3個位元等)。接著,使用選擇器之值來判定哪一群組係第二子集。舉例而言,若選擇器係0010,則第二子集係16個群組中之群組2 (具有一最低群組指數0)。
此外,可以任何可重複方式完成第一子集之選擇,直至其與第一子集之大小匹配。因此,選擇器可為指定長度之前幾個位元、該長度之後幾個位元、該長度之每七個位元等。然而,歸因於雜湊之接近統計隨機性質,選擇前三個位元通常最有效。
以下實例繪示一非重疊群組選擇。明確言之,第一子集(例如,選擇器)具有基於第一長度及第二長度之一第三長度。在一實例中,第三長度等於表示第一長度除以第二長度之位元數目。在一實例中,將雜湊劃分成具有等於第二長度之一長度之非重疊群組。在一實例中,使用選擇器來選擇雜湊之第二子集包含評估選擇器中之位元之一數值及使用非重疊群組中之對應於該數值之一群組作為第二子集。
在操作620,在一重放保護通信中傳輸第二子集作為一新鮮度值之一臨時亂數。傳輸可包含將臨時亂數傳遞至相同裝置之一加密組件,或將其提供至一外部實體。在一實例中,臨時亂數可充當一HASH-DRBG。
上文描述之操作係關於一通信會話中之新鮮度生成之一單次反覆。在一實例中,方法600經擴展以包含初始化一臨時亂數序列。此處,臨時亂數係臨時亂數序列之第一臨時亂數且一種子係第一輸入。在一實例中,種子係以下項之一者之一類型:自生成(例如,藉由一PUF或其他隨機數生成器)、一未簽名共用公共值、一簽名共用公共值或自一迪菲赫爾曼協定生成之一秘密值(或用作安全通信設定之部分之任何其他密鑰或秘密交換)。最後選項類似於簽名共用公共值但無需設定超出協定用以設定安全通道之內容,此可更有效。
當在硬體中實施時,為鑑於操作參數維持各種種子選擇,裝置可包含用以接受不同類型之種子之任一者的硬體及用以選取哪一種子將用於任何給定臨時亂數序列的一選擇機構。因此,在一實例中,選擇種子包含(例如)從重放保護通信中之合作夥伴接收指定一模式之一命令。接著,可使用該模式來更新一多工器。此處,多工器具有所支援之各類型之種子之一輸入。接著,裝置可經由多工器產生種子。因此,模式選擇定義多工器將輸出數個輸入之哪一輸入作為種子。
在一實例中,可用模式包含數個輸入模式及接著一進行中序列模式。在產生臨時亂數之後使用進行中序列模式以在臨時亂數序列內產生額外臨時亂數。因此,在一實例中,方法600經擴展以包含在臨時亂數序列中在第一臨時亂數之後產生一第二臨時亂數。藉由使用第一臨時亂數之雜湊作為第二臨時亂數之第一輸入而產生第二臨時亂數。此處,使用進行中序列模式以用針對各新雜湊產生之最後雜湊替換種子。
初始化序列可包含用以幫助確保一安全交換以設定臨時亂數序列的額外元素。在一實例中,接收以同意種子之命令係初始化中之最後通信。此處,包含來自合作夥伴之開始初始化的一第一請求及以一零臨時亂數進行重放保護的對該第一請求之一回應。零臨時亂數(例如,nonce_0)並非臨時亂數序列之部分,而係裝置將期望其合作夥伴發送回的一次性值。因此,命令使用零臨時亂數來防止初始化期間之一重放攻擊。在一實例中,命令係具有一操作碼欄位、一零臨時亂數欄位、一參數欄位、一簽章類型欄位、及一簽章欄位的一資料結構。在一實例中,參數欄位包含一模式識別及一有效負載。此處,使用模式識別以在多工器上設定模式選擇器。有效負載可為一種子,或用於導出種子之其他參數。
圖7繪示一例示性機器700之一方塊圖,可在該例示性機器700上執行本文中論述之技術(例如,方法論)之任一或多者。在替代實施例中,機器700可操作為一獨立裝置或可連接(例如,網路化)至其他機器。在一網路部署中,機器700可在伺服器-用戶端網路環境中以一伺服器機器、一用戶端機器或該兩者之能力操作。在一實例中,機器700可充當同級間(P2P) (或其他分佈式)網路環境中之一同級機器。機器700可為一個人電腦(PC)、一平板PC、一機上盒(STB)、一個人數位助理(PDA)、一行動電話、一網路器具、一IoT裝置、汽車系統或能夠執行指定由該機器採取之動作之指令(循序或以其他方式)的任何機器。此外,雖然僅繪示一單一機器,但術語「機器」亦應被視為包含個別或聯合執行一指令集(或多個指令集)以執行本文中論述之方法論之任一或多者的任何機器集合,諸如雲端運算、軟體即服務(SaaS)、其他電腦叢集組態。
如本文中描述之實例可包含邏輯、組件、裝置、封裝或機構或可由其等操作。電路系統係在包含硬體(例如,簡單電路、閘、邏輯等)之有形實體中實施之一電路集合(例如,組)。電路系統成員關係可隨時間及基本硬體可變性而靈活變化。電路系統包含可在操作時單獨或組合執行特定任務的成員。在一實例中,電路系統之硬體可不變地設計以實行一特定操作(例如,硬接線)。在一實例中,電路系統之硬體可包含可變連接之實體組件(例如,執行單元、電晶體、簡單電路等),其等包含經實體修改(例如,磁性地、電氣地、不變集結型粒子之可移動放置等)以編碼特定操作之指令的一電腦可讀媒體。在連接實體組件時,一硬體組成物之基本電性質(舉例而言)從一絕緣體變成一導體,或反之亦然。指令使參與硬體(例如,執行單元或一載入機構)能夠經由可變連接在硬體中建立電路系統之成員,以在操作時實行特定任務之部分。因此,電腦可讀媒體在裝置操作時通信耦合至電路系統之其他組件。在一實例中,實體組件之任一者可用於一個以上電路系統之一個以上成員中。舉例而言,在操作下,執行單元可在一個時間點用於一第一電路系統之一第一電路中且由第一電路系統中之一第二電路再使用,或在一不同時間由一第二電路系統中之一第三電路再使用。
機器(例如,電腦系統) 700 (例如,主機裝置105、記憶體裝置110等)可包含一硬體處理器702 (例如,一中央處理單元(CPU)、一圖形處理單元(GPU)、一硬體處理器核心或其等之任何組合,諸如記憶體控制器115等)、一主記憶體704及一靜態記憶體706,其等之一些或全部可經由一互連(例如,匯流排) 730彼此通信。機器700可進一步包含一顯示單元710、一字母數字輸入裝置712 (例如,一鍵盤)及一使用者介面(UI)導航裝置714 (例如,一滑鼠)。在一實例中,顯示單元710、輸入裝置712及UI導航裝置714可為一觸控螢幕顯示器。機器700可額外地包含一儲存裝置(例如,驅動單元) 708、一信號生成裝置718 (例如,一揚聲器)、一網路介面裝置720及一或多個感測器716,諸如一全球定位系統(GPS)感測器、羅盤、加速度計或其他感測器。機器700可包含一輸出控制器728 (諸如一串列(例如,通用串列匯流排(USB)、平行或其他有線或無線(例如,紅外(IR)、近場通信(NFC)等))連接)以與一或多個周邊裝置(例如,一印表機、讀卡器等)通信或控制其或其等。
儲存裝置708可包含一機器可讀媒體722,該機器可讀媒體722上儲存具體體現本文中描述之技術或功能之任一或多者或由其或其等利用之一或多組資料結構或指令724 (例如,軟體)。指令724在由機器700執行期間亦可完全或至少部分駐留在主記憶體704內、靜態記憶體706內或硬體處理器702內。在一實例中,硬體處理器702、主記憶體704、靜態記憶體706或儲存裝置708之一者或任何組合可構成機器可讀媒體722。
雖然將機器可讀媒體722繪示為一單一媒體,但術語「機器可讀媒體」可包含經組態以儲存一或多個指令724之一單一媒體或多個媒體(例如,一集中式或分佈式資料庫或相關聯快取區及伺服器)。
術語「機器可讀媒體」可包含能夠儲存、編碼或攜載指令以由機器700執行且引起機器700執行本發明之技術之任一或多者,或能夠儲存、編碼或攜載由此等指令使用或與此等指令相關聯之資料結構的任何媒體。非限制性機器可讀媒體實例可包含固態記憶體以及光學及磁性媒體。在一實例中,一集結型機器可讀媒體包括具有具不變(例如,靜止)質量之複數個粒子之一機器可讀媒體。因此,集結型機器可讀媒體並非暫時傳播信號。集結型機器可讀媒體之特定實例可包含:非揮發性記憶體,諸如半導體記憶體裝置(例如,電可程式化唯讀記憶體(EPROM)、電可抹除可程式化唯讀記憶體(EEPROM))及快閃記憶體裝置;磁碟,諸如內部硬碟及可抽換式磁碟;磁光碟;及CD-ROM及DVD-ROM光碟。
指令724 (例如,軟體、程式、一作業系統(OS)等)或其他資料儲存於儲存裝置721上,可由記憶體704存取以由處理器702使用。記憶體704 (例如,DRAM)通常為快速的但揮發性的,且因此為與儲存裝置721 (例如,一SSD)不同之一儲存類型,該儲存裝置721適於長期儲存,包含在處於一「關斷」狀態時。由一使用者或機器700使用之指令724或資料通常載入於記憶體704中以由處理器702使用。當記憶體704已滿時,可分配來自儲存裝置721之虛擬空間以補充記憶體704;然而,由於儲存裝置721通常比記憶體704慢,且寫入速度通常至少為讀取速度之2倍慢,因此歸因於儲存裝置延時,使用虛擬記憶體可極大地降低使用者體驗(與記憶體704 (例如,DRAM)相比)。此外,使用儲存裝置721用於虛擬記憶體可極大地減少儲存裝置721之可用壽命。
與虛擬記憶體相比,虛擬記憶體壓縮(例如,Linux®
核心特徵「ZRAM」)使用記憶體之部分作為壓縮區塊儲存器以避免對儲存裝置721之分頁。分頁發生在壓縮區塊中,直至有必要將此資料寫入至儲存裝置721。虛擬記憶體壓縮增加記憶體704之可用大小,同時減少儲存裝置721上之耗損。
針對行動電子裝置或行動儲存器最佳化之儲存裝置傳統上包含MMC固態儲存裝置(例如,微型安全數位(microSD™)卡等)。MMC裝置包含與一主機裝置之若干平行介面(例如,一8位元平行介面),且通常為可自主機裝置移除且與主機裝置分離之組件。相比之下,eMMC™裝置附接至一電路板且被視為主機裝置之一組件,其讀取速度可與基於串列ATA™ (串列AT (進階技術)附接或SATA)之SSD裝置媲美。然而,對行動裝置效能之需求持續增加,諸如完全啓用虛擬或擴增實境裝置、利用不斷增長之網路速度等。回應於此需求,儲存裝置已自平行通信介面轉變為串列通信介面。包含控制器及韌體之通用快閃儲存(UFS)裝置使用具有專用讀取/寫入路徑之一低電壓差動傳訊(LVDS)串列介面與一主機裝置通信,從而進一步推進較大讀取/寫入速度。
進一步可經由網路介面裝置720利用若干傳送協定(例如,訊框中繼、網際網路協定(IP)、傳輸控制協定(TCP)、使用者資料報協定(UDP)、超文字傳送協定(HTTP)等)之任一者使用一傳輸媒體經由一通信網路726傳輸或接收指令724。例示性通信網路可包含一區域網路(LAN)、一廣域網路(WAN)、一封包資料網路(例如,網際網路)、行動電話網路(例如,蜂巢式網路) (諸如藉由第三代合作夥伴計劃(3GPP)系列標準(例如,3G、4G、5G、長期演進(LTE)等)定義之行動電話網路)、簡易老式電話(POTS)網路、及無線資料網路(例如,被稱為Wi-Fi®
之電氣與電子工程師協會(IEEE) 802.11系列標準)、IEEE 802.15.4系列標準、同級間(P2P)網路以及其他通信網路。在一實例中,網路介面裝置720可包含一或多個實體插口(例如,乙太網路、同軸或電話插口)或一或多個天線以連接至通信網路726。在一實例中,網路介面裝置720可包含複數個天線以使用單輸入多輸出(SIMO)、多輸入多輸出(MIMO)或多輸入單輸出(MISO)技術之至少一者來無線通信。術語「傳輸媒體」應被視為包含任何無形媒體,其可儲存、編碼或攜載用於由機器700執行之指令,且包含數位或類比通信信號或其他無形媒體以有利於此軟體之通信。
額外實例:
實例1係一種用於重放保護臨時亂數生成之記憶體裝置,該記憶體裝置包括:一雜湊引擎,其用以從一第一輸入產生一雜湊,該雜湊具有一第一長度;及處理電路系統,其用以:提取該雜湊之一第一子集作為一選擇器;使用該選擇器來選擇該雜湊之一第二子集,該第二子集具有小於該第一長度之一第二長度;且在一重放保護通信中傳輸該第二子集作為一新鮮度值之一臨時亂數。
在實例2中,如實例1之標的,其中該第一子集具有基於該第一長度及該第二長度的一第三長度。
在實例3中,如實例2之標的,其中該第三長度等於表示該第一長度除以該第二長度之位元數目。
在實例4中,如實例3之標的,其中將該雜湊劃分成具有等於該第二長度之一長度之非重疊群組。
在實例5中,如實例4之標的,其中為使用該選擇器來選擇該雜湊之該第二子集,該處理電路系統經組態以:評估該選擇器中之位元之一數值;且使用該等非重疊群組中之對應於該數值之一群組作為該第二子集。
在實例6中,如實例1至5中任一項之標的,其中該處理電路系統經組態以初始化一臨時亂數序列,其中使用該臨時亂數作為第一臨時亂數,且其中選擇一種子作為該第一輸入。
在實例7中,如實例6之標的,其中該種子係以下項之一者之一類型:自生成、一未簽名共用公共值、一簽名共用公共值、或從一迪菲赫爾曼協定生成之一秘密值。
在實例8中,如實例6至7中任一項之標的,其中為選擇該種子,該處理電路系統經組態以:從該重放保護通信中之合作夥伴接收指定一模式之一命令;使用該模式來更新一多工器,該多工器具有所支援之各類型之種子之一輸入;且經由該多工器產生該種子。
在實例9中,如實例8之標的,其中該命令係該初始化中之一最後通信,該初始化包含:來自該合作夥伴之開始該初始化之一第一請求;及以一零臨時亂數進行重放保護之對該第一請求之一回應,該零臨時亂數並非該臨時亂數序列之一部分,其中該命令使用該零臨時亂數來防止該初始化期間之一重放攻擊。
在實例10中,如實例9之標的,其中該命令係具有一操作碼欄位、一零臨時亂數欄位、一參數欄位、一簽章類型欄位、及一簽章欄位的一資料結構。
在實例11中,如實例10之標的,其中該參數欄位包含一模式識別及一有效負載。
在實例12中,如實例6至11中任一項之標的,其中該處理電路系統經組態以在該臨時亂數序列中在該第一臨時亂數之後產生一第二臨時亂數,其中使用該第一臨時亂數之該雜湊作為該第二臨時亂數之第一輸入。
實例13係一種用於重放保護臨時亂數生成之方法,該方法包括:從一第一輸入產生一雜湊,該雜湊具有一第一長度;提取該雜湊之一第一子集作為一選擇器;使用該選擇器來選擇該雜湊之一第二子集,該第二子集具有小於該第一長度之一第二長度;及在一重放保護通信中傳輸該第二子集作為一新鮮度值之一臨時亂數。
在實例14中,如實例13之標的,其中該第一子集具有基於該第一長度及該第二長度的一第三長度。
在實例15中,如實例14之標的,其中該第三長度等於表示該第一長度除以該第二長度之位元數目。
在實例16中,如實例15之標的,其中將該雜湊劃分成具有等於該第二長度之一長度之非重疊群組。
在實例17中,如實例16之標的,其中使用該選擇器來選擇該雜湊之該第二子集包含:評估該選擇器中之位元之一數值;及使用該等非重疊群組中之對應於該數值之一群組作為該第二子集。
在實例18中,如實例13至17中任一項之標的,其包括藉由選擇一種子作為該第一輸入而初始化包含作為該第一臨時亂數之該臨時亂數的一臨時亂數序列。
在實例19中,如實例18之標的,其中該種子係以下項之一者之一類型:自生成、一未簽名共用公共值、一簽名共用公共值、或從一迪菲赫爾曼協定生成之一秘密值。
在實例20中,如實例18至19中任一項之標的,其中選擇該種子包含:從該重放保護通信中之合作夥伴接收指定一模式之一命令;使用該模式來更新一多工器,該多工器具有所支援之各類型之種子之一輸入;及經由該多工器產生該種子。
在實例21中,如實例20之標的,其中該命令係該初始化中之最後通信,該初始化包含:來自該合作夥伴之開始該初始化之一第一請求;及以一零臨時亂數進行重放保護之對該第一請求之一回應,該零臨時亂數並非該臨時亂數序列之一部分,其中該命令使用該零臨時亂數來防止該初始化期間之一重放攻擊。
在實例22中,如實例21之標的,其中該命令係具有一操作碼欄位、一零臨時亂數欄位、一參數欄位、一簽章類型欄位、及一簽章欄位的一資料結構。
在實例23中,如實例22之標的,其中該參數欄位包含一模式識別及一有效負載。
在實例24中,如實例18至23中任一項之標的,其包括藉由使用該第一臨時亂數之該雜湊作為一第二臨時亂數之第一輸入而在該臨時亂數序列中在該第一臨時亂數之後產生該第二臨時亂數。
實例25係一種包含用於重放保護臨時亂數生成之指令的機器可讀媒體,該等指令在由處理電路系統執行時引起該處理電路系統執行包括以下項之操作:從一第一輸入產生一雜湊,該雜湊具有一第一長度;提取該雜湊之一第一子集作為一選擇器;使用該選擇器來選擇該雜湊之一第二子集,該第二子集具有小於該第一長度之一第二長度;及在一重放保護通信中傳輸該第二子集作為一新鮮度值之一臨時亂數。
在實例26中,如實例25之標的,其中該第一子集具有基於該第一長度及該第二長度的一第三長度。
在實例27中,如實例26之標的,其中該第三長度等於表示該第一長度除以該第二長度之位元數目。
在實例28中,如實例27之標的,其中將該雜湊劃分成具有等於該第二長度之一長度之非重疊群組。
在實例29中,如實例28之標的,其中使用該選擇器來選擇該雜湊之該第二子集包含:評估該選擇器中之位元之一數值;及使用該等非重疊群組中之對應於該數值之一群組作為該第二子集。
在實例30中,如實例25至29中任一項之標的,其中該等指令包括藉由選擇一種子作為該第一輸入而初始化包含作為該第一臨時亂數之該臨時亂數的一臨時亂數序列。
在實例31中,如實例30之標的,其中該種子係以下項之一者之一類型:自生成、一未簽名共用公共值、一簽名共用公共值、或從一迪菲赫爾曼協定生成之一秘密值。
在實例32中,如實例30至31中任一項之標的,其中選擇該種子包含:從該重放保護通信中之合作夥伴接收指定一模式之一命令;使用該模式來更新一多工器,該多工器具有所支援之各類型之種子之一輸入;及經由該多工器產生該種子。
在實例33中,如實例32之標的,其中該命令係該初始化中之最後通信,該初始化包含:來自該合作夥伴之開始該初始化之一第一請求;及以一零臨時亂數進行重放保護之對該第一請求之一回應,該零臨時亂數並非該臨時亂數序列之一部分,其中該命令使用該零臨時亂數來防止該初始化期間之一重放攻擊。
在實例34中,如實例33之標的,其中該命令係具有一操作碼欄位、一零臨時亂數欄位、一參數欄位、一簽章類型欄位、及一簽章欄位的一資料結構。
在實例35中,如實例34之標的,其中該參數欄位包含一模式識別及一有效負載。
在實例36中,如實例30至35中任一項之標的,其中該等指令包括藉由使用該第一臨時亂數之該雜湊作為一第二臨時亂數之第一輸入而在該臨時亂數序列中在該第一臨時亂數之後產生該第二臨時亂數。
實例37係一種用於重放保護臨時亂數生成之系統,該系統包括:用於從一第一輸入產生一雜湊的構件,該雜湊具有一第一長度;用於提取該雜湊之一第一子集作為一選擇器的構件;用於使用該選擇器來選擇該雜湊之一第二子集的構件,該第二子集具有小於該第一長度之一第二長度;及用於在一重放保護通信中傳輸該第二子集作為一新鮮度值之一臨時亂數的構件。
在實例38中,如實例37之標的,其中該第一子集具有基於該第一長度及該第二長度的一第三長度。
在實例39中,如實例38之標的,其中該第三長度等於表示該第一長度除以該第二長度之位元數目。
在實例40中,如實例39之標的,其中將該雜湊劃分成具有等於該第二長度之一長度之非重疊群組。
在實例41中,如實例40之標的,其中用於使用該選擇器來選擇該雜湊之該第二子集的該構件包含:用於評估該選擇器中之位元之一數值的構件;及用於使用該等非重疊群組中之對應於該數值之一群組作為該第二子集的構件。
在實例42中,如實例37至41中任一項之標的,其包括用於藉由選擇一種子作為該第一輸入而初始化包含作為該第一臨時亂數之該臨時亂數之一臨時亂數序列的構件。
在實例43中,如實例42之標的,其中該種子係以下項之一者之一類型:自生成、一未簽名共用公共值、一簽名共用公共值、或從一迪菲赫爾曼協定生成之一秘密值。
在實例44中,如實例42至43中任一項之標的,其中用於選擇該種子的該構件包含:用於從該重放保護通信中之合作夥伴接收指定一模式之一命令的構件;用於使用該模式來更新一多工器的構件,該多工器具有所支援之各類型之種子之一輸入;及用於經由該多工器產生該種子的構件。
在實例45中,如實例44之標的,其中該命令係該初始化中之最後通信,該初始化包含:來自該合作夥伴之開始該初始化之一第一請求;及以一零臨時亂數進行重放保護之對該第一請求之一回應,該零臨時亂數並非該臨時亂數序列之一部分,其中該命令使用該零臨時亂數來防止該初始化期間之一重放攻擊。
在實例46中,如實例45之標的,其中該命令係具有一操作碼欄位、一零臨時亂數欄位、一參數欄位、一簽章類型欄位、及一簽章欄位的一資料結構。
在實例47中,如實例46之標的,其中該參數欄位包含一模式識別及一有效負載。
在實例48中,如實例42至47中任一項之標的,其包括用於藉由使用該第一臨時亂數之該雜湊作為一第二臨時亂數之第一輸入而在該臨時亂數序列中在該第一臨時亂數之後產生該第二臨時亂數的構件。
實例49係包含指令之至少一個機器可讀媒體,該等指令在由處理電路系統執行時引起該處理電路系統執行操作以實施實例1至48之任一者。
實例50係一種包括用以實施實例1至48之任一者之構件的設備。
實例51係一種用以實施實例1至48之任一者的系統。
實例52係一種用以實施實例1至48之任一者的方法。
上文[實施方式]包含對隨附圖式之參考,該等隨附圖式形成[實施方式]之一部分。圖式藉由繪示展示其中可實踐本發明之特定實施例。此等實施例在本文中亦被稱為「實例」。此等實例可包含除所展示或描述之元件以外之元件。然而,本發明者亦預期其中僅提供所展示或描述之該等元件之實例。此外,本發明者亦預期使用關於一特定實例(或其之一或多個態樣)或關於本文中展示或描述之其他實例(或其等之一或多個態樣)展示或描述之該等元件(或其等之一或多個態樣)之任何組合或排列的實例。
在本文件中,獨立於「至少一個」或「一或多個」之任何其他例項或使用,如專利文件中常見之術語「一」或「一個」用以包含一個或一個以上。在本文件中,使用術語「或」來指代一非排他性或,使得「A或B」可包含「A但非B」、「B但非A」及「A及B」,除非另有指示。在隨附發明申請專利範圍中,使用術語「包含」及「其中(in which)」作為各自術語「包括」及「其中(wherein)」之簡明英語等效物。再者,在以下發明申請專利範圍中,術語「包含」及「包括」係開放式的,即,包含除在一發明申請專利範圍中之此一術語之後列出之元件以外的元件之一系統、裝置、物件或程序仍被視為在該發明申請專利範圍之範疇內。此外,在以下發明申請專利範圍中,術語「第一」、「第二」及「第三」等僅用作標籤,且並不意欲對其等目標強加數字要求。
在各種實例中,本文中描述之組件、控制器、處理器、單元、引擎或表可尤其包含儲存於一實體裝置上之實體電路系統或韌體。如本文中使用,「處理器」意謂任何類型之運算電路,諸如但不限於一微處理器、一微控制器、一圖形處理器、一數位信號處理器(DSP)或任何其他類型之處理器或處理電路,包含一群組之處理器或多核裝置。
在本文中使用術語「晶圓」及「基板」以大體上指代在其上形成積體電路之任何結構,且亦指代在積體電路製作之各個階段期間之此等結構。因此,不應以一限制意義理解以下[實施方式],且僅藉由隨附發明申請專利範圍連同此發明申請專利範圍所授權之等效物之全範疇定義各項實施例之範疇。
根據本發明且在本文中描述之各項實施例包含利用記憶體胞之一垂直結構(例如,記憶體胞之NAND串)之記憶體。如本文中使用,方向形容詞將被視為相對於在其上形成記憶體胞之一基板之一表面(即,一垂直結構將被視為延伸遠離基板表面,垂直結構之一底端將被視為最接近基板表面之端且垂直結構之一頂端將被視為最遠離基板表面之端)。
如本文中使用,操作一記憶體胞包含自記憶體胞讀取、寫入至記憶體胞或抹除記憶體胞。將一記憶體胞置於一預期狀態之操作在本文中被稱為「程式化」,且可包含寫入至記憶體胞或自記憶體胞抹除兩者(例如,記憶體胞可程式化至一抹除狀態)。
根據本發明之一或多項實施例,定位於一記憶體裝置內部或外部之一記憶體控制器(例如,一處理器、控制器、韌體等)能夠判定(例如,選擇、設定、調整、運算、改變、清除、傳達、調適、導出、定義、利用、修改、應用等)一數量之耗損週期或一耗損狀態(例如,記錄耗損週期、在記憶體裝置之操作發生時對操作進行計數、追蹤其起始之記憶體裝置之操作、評估對應於一耗損狀態之記憶體裝置特性等)。
根據本發明之一或多項實施例,一記憶體存取裝置可經組態以運用各記憶體操作提供耗損週期資訊至記憶體裝置。記憶體裝置控制電路系統(例如,控制邏輯)可經程式化以補償對應於耗損週期資訊之記憶體裝置效能變化。記憶體裝置可接收耗損週期資訊且回應於耗損週期資訊而判定一或多個操作參數(例如,一值、特性)。
本文中描述之方法實例可至少部分為機器或電腦實施。一些實例可包含用指令編碼之一電腦可讀媒體或機器可讀媒體,該等指令可操作以組態一電子裝置以執行如上文實例中描述之方法。此等方法之一實施方案可包含程式碼,諸如微程式碼、組合語言碼、一較高階語言碼或類似者。此程式碼可包含用於執行各種方法之電腦可讀指令。程式碼可形成電腦程式產品之部分。此外,程式碼可諸如在執行期間或在其他時間有形地儲存於一或多個揮發性或非揮發性有形電腦可讀媒體上。此等有形電腦可讀媒體之實例可包含(但不限於)硬碟、可抽換式磁碟、可抽換式光碟(例如,光碟及數位視訊光碟)、卡式磁帶、記憶卡或棒、隨機存取記憶體(RAM)、唯讀記憶體(ROM)、固態碟機 (SSD)、通用快閃儲存(UFS)裝置、嵌入式MMC (eMMC)裝置及類似者。
上文描述意欲為闡釋性的且非限制性的。舉例而言,上述實例(或其等之一或多個態樣)可彼此結合使用。諸如一般技術者在檢視上文描述之後可使用其他實施例。應瞭解,其將不用於解釋或限制發明申請專利範圍之範疇或含義。再者,在上文[實施方式]中,各種特徵可分組在一起以簡化本發明。此不應被解釋為預期一未主張揭示特徵對於任何發明申請專利範圍係必不可少的。實情係,本發明標的物可在於少於一特定所揭示實施例之全部特徵。因此,以下發明申請專利範圍特此被併入至[實施方式]中,其中各發明申請專利範圍獨立作為一單獨實施例,且預期此等實施例可以各種組合或排列彼此組合。應參考隨附發明申請專利範圍連同此發明申請專利範圍所授權之等效物之全範疇判定本發明之範疇。
100:環境
105:主機裝置
110:記憶體裝置
111:互連
115:記憶體控制器
120:記憶體陣列
125:記憶體管理器
130:管理表
135:陣列控制器
140:錯誤校正碼(ECC)組件
150:產品
205:主機
210:記憶體裝置
215:密鑰生成器/密鑰區塊
220:控制器
225:鑑認區塊
230:選擇器
235:迪菲赫爾曼區塊
240:多工器
245:雜湊引擎
250:選擇器區塊
255:臨時亂數
405:訊息
410:訊息
415:訊息
420:訊息
425:訊息
430:訊息
505:臨時亂數請求訊息
510:回應訊息
515:系統設定訊息
600:方法
605:操作
610:操作
615:操作
620:操作
700:機器
702:硬體處理器
704:主記憶體
706:靜態記憶體
708:互連(例如,匯流排)/ 儲存裝置(例如,驅動單元)
710:顯示單元
712:字母數字輸入裝置
714:使用者介面(UI)導航裝置
716:感測器
718:信號生成裝置
720:網路介面裝置
722:機器可讀媒體
724:資料結構或指令
726:通信網路
728:輸出控制器
730:互連
在不一定按比例繪製之圖式中,相似元件符號可描述不同視圖中之類似組件。具有不同字母下標之相似元件符號可表示類似組件之不同例項。圖式大體上藉由實例而非限制方式繪示本文件中論述之各項實施例。
圖1繪示包含一記憶體裝置之一環境之一實例。
圖2繪示生成用於重放保護之一臨時亂數之一系統之一實例。
圖3繪示從一雜湊產生自含型臨時亂數之一實例。
圖4繪示一主機與執行臨時亂數生成之一記憶體裝置之間之一控制流程之一實例。
圖5繪示在臨時亂數生成之初始化期間使用之訊息格式之數個實例。
圖6繪示用於重放保護臨時亂數生成之一方法之一實例之一流程圖。
圖7係繪示可在其上實施一或多項實施例之一機器之一實例之一方塊圖。
100:環境
105:主機裝置
110:記憶體裝置
111:互連
115:記憶體控制器
120:記憶體陣列
125:記憶體管理器
130:管理表
135:陣列控制器
140:錯誤校正碼(ECC)組件
150:產品
Claims (24)
- 一種用於重放保護臨時亂數生成之記憶體裝置,該記憶體裝置包括: 一雜湊引擎,其用以從一第一輸入產生一雜湊,該雜湊具有一第一長度;及 處理電路系統,其用以: 提取該雜湊之一第一子集作為一選擇器; 使用該選擇器來選擇該雜湊之一第二子集,該第二子集具有小於該第一長度之一第二長度;且 在一重放保護通信中傳輸該第二子集作為一新鮮度值之一臨時亂數。
- 如請求項1之記憶體裝置,其中該第一子集具有基於該第一長度及該第二長度的一第三長度。
- 如請求項2之記憶體裝置,其中該第三長度等於表示該第一長度除以該第二長度之一位元數目。
- 如請求項3之記憶體裝置,其中將該雜湊劃分成具有等於該第二長度之一長度之非重疊群組。
- 如請求項4之記憶體裝置,其中為使用該選擇器來選擇該雜湊之該第二子集,該處理電路系統經組態以: 評估該選擇器中之位元之一數值;且 使用該等非重疊群組中之對應於該數值之一群組作為該第二子集。
- 如請求項1之記憶體裝置,其中該處理電路系統經組態以初始化一臨時亂數序列,其中使用該臨時亂數作為該第一臨時亂數,且其中選擇一種子作為該第一輸入。
- 如請求項6之記憶體裝置,其中為選擇該種子,該處理電路系統經組態以: 從該重放保護通信中之一合作夥伴接收指定一模式之一命令; 使用該模式來更新一多工器,該多工器具有所支援之各類型之種子之一輸入;且 經由該多工器產生該種子。
- 如請求項6之記憶體裝置,其中該處理電路系統經組態以在該臨時亂數序列中在該第一臨時亂數之後產生一第二臨時亂數,其中使用該第一臨時亂數之該雜湊作為該第二臨時亂數之第一輸入。
- 一種用於重放保護臨時亂數生成之方法,該方法包括: 從一第一輸入產生一雜湊,該雜湊具有一第一長度; 提取該雜湊之一第一子集作為一選擇器; 使用該選擇器來選擇該雜湊之一第二子集,該第二子集具有小於該第一長度之一第二長度;及 在一重放保護通信中傳輸該第二子集作為一新鮮度值之一臨時亂數。
- 如請求項9之方法,其中該第一子集具有基於該第一長度及該第二長度的一第三長度。
- 如請求項10之方法,其中該第三長度等於表示該第一長度除以該第二長度之一位元數目。
- 如請求項11之方法,其中將該雜湊劃分成具有等於該第二長度之一長度之非重疊群組。
- 如請求項12之方法,其中使用該選擇器來選擇該雜湊之該第二子集包含: 評估該選擇器中之位元之一數值;及 使用該等非重疊群組中之對應於該數值之一群組作為該第二子集。
- 如請求項9之方法,其包括藉由選擇一種子作為該第一輸入而初始化包含作為該第一臨時亂數之該臨時亂數的一臨時亂數序列。
- 如請求項14之方法,其中選擇該種子包含: 從該重放保護通信中之一合作夥伴接收指定一模式之一命令; 使用該模式來更新一多工器,該多工器具有所支援之各類型之種子之一輸入;及 經由該多工器產生該種子。
- 如請求項14之方法,其包括藉由使用該第一臨時亂數之該雜湊作為一第二臨時亂數之第一輸入而在該臨時亂數序列中在該第一臨時亂數之後產生該第二臨時亂數。
- 一種包含用於重放保護臨時亂數生成之指令的機器可讀媒體,該等指令在由處理電路系統執行時引起該處理電路系統執行包括以下項之操作: 從一第一輸入產生一雜湊,該雜湊具有一第一長度; 提取該雜湊之一第一子集作為一選擇器; 使用該選擇器來選擇該雜湊之一第二子集,該第二子集具有小於該第一長度之一第二長度;及 在一重放保護通信中傳輸該第二子集作為一新鮮度值之一臨時亂數。
- 如請求項17之機器可讀媒體,其中該第一子集具有基於該第一長度及該第二長度的一第三長度。
- 如請求項18之機器可讀媒體,其中該第三長度等於表示該第一長度除以該第二長度之一位元數目。
- 如請求項19之機器可讀媒體,其中將該雜湊劃分成具有等於該第二長度之一長度之非重疊群組。
- 如請求項20之機器可讀媒體,其中使用該選擇器來選擇該雜湊之該第二子集包含: 評估該選擇器中之位元之一數值;及 使用該等非重疊群組中之對應於該數值之一群組作為該第二子集。
- 如請求項17之機器可讀媒體,其中該等指令包括藉由選擇一種子作為該第一輸入而初始化包含作為該第一臨時亂數之該臨時亂數的一臨時亂數序列。
- 如請求項22之機器可讀媒體,其中選擇該種子包含: 從該重放保護通信中之一合作夥伴接收指定一模式之一命令; 使用該模式來更新一多工器,該多工器具有所支援之各類型之種子之一輸入;及 經由該多工器產生該種子。
- 如請求項22之機器可讀媒體,其中該等指令包括藉由使用該第一臨時亂數之該雜湊作為一第二臨時亂數之第一輸入而在該臨時亂數序列中在該第一臨時亂數之後產生該第二臨時亂數。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/235,189 US11012425B2 (en) | 2018-12-28 | 2018-12-28 | Replay protection nonce generation |
US16/235,189 | 2018-12-28 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW202032360A true TW202032360A (zh) | 2020-09-01 |
TWI729636B TWI729636B (zh) | 2021-06-01 |
Family
ID=71124505
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW108146581A TWI729636B (zh) | 2018-12-28 | 2019-12-19 | 重放保護臨時亂數生成 |
TW110115909A TWI763468B (zh) | 2018-12-28 | 2019-12-19 | 用於重放保護臨時亂數生成之方法及相關記憶體裝置、記憶體系統、及機器可讀媒體 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW110115909A TWI763468B (zh) | 2018-12-28 | 2019-12-19 | 用於重放保護臨時亂數生成之方法及相關記憶體裝置、記憶體系統、及機器可讀媒體 |
Country Status (7)
Country | Link |
---|---|
US (2) | US11012425B2 (zh) |
EP (1) | EP3903194A4 (zh) |
JP (1) | JP2022517534A (zh) |
KR (1) | KR20210096683A (zh) |
CN (2) | CN114911456A (zh) |
TW (2) | TWI729636B (zh) |
WO (1) | WO2020139573A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11012425B2 (en) | 2018-12-28 | 2021-05-18 | Micron Technology, Inc. | Replay protection nonce generation |
TWI805080B (zh) * | 2020-12-11 | 2023-06-11 | 大陸商武漢新芯集成電路製造有限公司 | 單調計數器及其計數方法 |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20200082982A (ko) * | 2018-12-31 | 2020-07-08 | 삼성전자주식회사 | 물리적 복제방지 기능의 보안을 위한 집적 회로 및 이를 포함하는 장치 |
US11303456B2 (en) * | 2019-02-15 | 2022-04-12 | International Business Machines Corporation | Compute digital signature authentication sign instruction |
US11245680B2 (en) * | 2019-03-01 | 2022-02-08 | Analog Devices, Inc. | Garbled circuit for device authentication |
SG10201906806XA (en) * | 2019-07-23 | 2021-02-25 | Mastercard International Inc | Methods and computing devices for auto-submission of user authentication credential |
US11784827B2 (en) * | 2021-03-09 | 2023-10-10 | Micron Technology, Inc. | In-memory signing of messages with a personal identifier |
WO2024164295A1 (en) * | 2023-02-10 | 2024-08-15 | Qualcomm Incorporated | Hardware-based data protection for replay protected data |
Family Cites Families (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6430170B1 (en) * | 1999-05-27 | 2002-08-06 | Qualcomm Inc. | Method and apparatus for generating random numbers from a communication signal |
US7170997B2 (en) | 2000-12-07 | 2007-01-30 | Cryptico A/S | Method of generating pseudo-random numbers in an electronic device, and a method of encrypting and decrypting electronic data |
US7885112B2 (en) | 2007-09-07 | 2011-02-08 | Sandisk Corporation | Nonvolatile memory and method for on-chip pseudo-randomization of data within a page and between pages |
US20080263117A1 (en) * | 2007-04-23 | 2008-10-23 | Gregory Gordon Rose | Initial seed management for pseudorandom number generator |
US7970128B2 (en) * | 2007-07-20 | 2011-06-28 | Freescale Semiconductor, Inc. | Systems and methods for efficient generation of hash values of varying bit widths |
US20090199002A1 (en) * | 2008-02-05 | 2009-08-06 | Icontrol, Inc. | Methods and Systems for Shortened Hash Authentication and Implicit Session Key Agreement |
DE102008046563A1 (de) | 2008-09-10 | 2010-03-11 | Siemens Aktiengesellschaft | Verfahren zur Datenübertragung zwischen Netzwerkknoten |
JP5447510B2 (ja) * | 2009-05-11 | 2014-03-19 | 日本電気株式会社 | タグ生成装置、タグ検証装置、通信システム、タグ生成方法、タグ検証方法および記録媒体 |
US8812570B2 (en) * | 2009-05-28 | 2014-08-19 | Red Hat, Inc. | String hashing using a number generator |
WO2011027352A1 (en) | 2009-09-03 | 2011-03-10 | Mcafee, Inc. | Network access control |
TWI584625B (zh) * | 2010-04-12 | 2017-05-21 | 內數位專利控股公司 | 網路裝置及用來執行網路裝置的完整性確認的方法 |
US9311403B1 (en) * | 2010-06-16 | 2016-04-12 | Google Inc. | Hashing techniques for data set similarity determination |
WO2012141555A2 (en) * | 2011-04-15 | 2012-10-18 | Samsung Electronics Co., Ltd. | Method and apparatus for providing machine-to-machine service |
JP5813380B2 (ja) | 2011-06-03 | 2015-11-17 | 株式会社東芝 | 半導体記憶装置 |
US9166793B2 (en) * | 2011-12-05 | 2015-10-20 | University Of Washington | Efficient authentication for mobile and pervasive computing |
EP2820851A1 (en) * | 2012-03-01 | 2015-01-07 | Ologn Technologies AG | Systems, methods and apparatuses for the secure transmission and restricted use of media content |
TWI512734B (zh) | 2012-11-09 | 2015-12-11 | Asolid Technology Co Ltd | 快閃記憶體及其存取方法 |
US8873750B2 (en) * | 2013-03-14 | 2014-10-28 | International Business Machines Corporation | Instruction for performing a pseudorandom number generate operation |
EP3114793A4 (en) * | 2014-03-03 | 2017-09-27 | Intel Corporation | Methods and apparatus for migrating keys |
JP6338949B2 (ja) * | 2014-07-04 | 2018-06-06 | 国立大学法人名古屋大学 | 通信システム及び鍵情報共有方法 |
TWI533130B (zh) | 2014-08-01 | 2016-05-11 | 華邦電子股份有限公司 | 記憶體電路及其再新方法 |
US10353638B2 (en) | 2014-11-18 | 2019-07-16 | Microsemi SoC Corporation | Security method and apparatus to prevent replay of external memory data to integrated circuits having only one-time programmable non-volatile memory |
US10372695B2 (en) * | 2014-12-27 | 2019-08-06 | Intel Corporation | Technologies for computing rolling hashes |
US9875378B2 (en) | 2015-06-12 | 2018-01-23 | QUALCOMOM Incorporated | Physically unclonable function assisted memory encryption device techniques |
US10205595B2 (en) * | 2016-06-22 | 2019-02-12 | Vmware, Inc. | Methods and apparatus to authenticate and differentiate virtually identical resources using session chaining |
US10078493B2 (en) * | 2016-10-10 | 2018-09-18 | International Business Machines Corporation | Secured pseudo-random number generator |
US10269420B2 (en) | 2016-12-13 | 2019-04-23 | Taiwan Semiconductor Manufacturing Co., Ltd. | Memory with symmetric read current profile and read method thereof |
US10599796B2 (en) * | 2017-04-28 | 2020-03-24 | Taiwan Semiconductor Manufacturing Co., Ltd. | Metastable flip-flop based true random number generator (TRNG) structure and compiler for same |
US11316696B2 (en) * | 2017-09-29 | 2022-04-26 | R3 Ltd. | Hash subtrees for grouping components by component type |
KR101977159B1 (ko) * | 2018-12-28 | 2019-06-21 | (주)그린아이티코리아 | 경량화된 보안 방식을 지원하는 보안 서비스 제공 장치 및 방법 |
US11012425B2 (en) | 2018-12-28 | 2021-05-18 | Micron Technology, Inc. | Replay protection nonce generation |
-
2018
- 2018-12-28 US US16/235,189 patent/US11012425B2/en active Active
-
2019
- 2019-12-12 EP EP19904601.2A patent/EP3903194A4/en not_active Withdrawn
- 2019-12-12 KR KR1020217023469A patent/KR20210096683A/ko not_active Application Discontinuation
- 2019-12-12 CN CN202210592587.4A patent/CN114911456A/zh active Pending
- 2019-12-12 WO PCT/US2019/066004 patent/WO2020139573A1/en unknown
- 2019-12-12 JP JP2021537804A patent/JP2022517534A/ja active Pending
- 2019-12-12 CN CN201980091228.7A patent/CN113383321B/zh active Active
- 2019-12-19 TW TW108146581A patent/TWI729636B/zh active
- 2019-12-19 TW TW110115909A patent/TWI763468B/zh active
-
2021
- 2021-05-17 US US17/322,301 patent/US11558359B2/en active Active
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11012425B2 (en) | 2018-12-28 | 2021-05-18 | Micron Technology, Inc. | Replay protection nonce generation |
US11558359B2 (en) | 2018-12-28 | 2023-01-17 | Micron Technology, Inc. | Replay protection nonce generation |
TWI805080B (zh) * | 2020-12-11 | 2023-06-11 | 大陸商武漢新芯集成電路製造有限公司 | 單調計數器及其計數方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2020139573A1 (en) | 2020-07-02 |
TWI763468B (zh) | 2022-05-01 |
US20210273924A1 (en) | 2021-09-02 |
CN114911456A (zh) | 2022-08-16 |
US11558359B2 (en) | 2023-01-17 |
EP3903194A1 (en) | 2021-11-03 |
US20200213281A1 (en) | 2020-07-02 |
CN113383321A (zh) | 2021-09-10 |
JP2022517534A (ja) | 2022-03-09 |
CN113383321B (zh) | 2022-06-14 |
KR20210096683A (ko) | 2021-08-05 |
TW202134857A (zh) | 2021-09-16 |
US11012425B2 (en) | 2021-05-18 |
EP3903194A4 (en) | 2022-09-07 |
TWI729636B (zh) | 2021-06-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI729636B (zh) | 重放保護臨時亂數生成 | |
US11385838B2 (en) | Host accelerated operations in managed NAND devices | |
CN112313632B (zh) | 被管理的nand装置中的主机加速操作 | |
US11886339B2 (en) | Secure logical-to-physical caching | |
US11914513B2 (en) | Logical-to-physical map synchronization in a memory device | |
US10884944B2 (en) | Host accelerated operations in managed NAND devices | |
TWI737088B (zh) | 主機型快閃記憶體維護技術 | |
US20240305449A1 (en) | Secure memory system programming for host device verification |