CN113383321B - 重放保护临时随机数生成 - Google Patents
重放保护临时随机数生成 Download PDFInfo
- Publication number
- CN113383321B CN113383321B CN201980091228.7A CN201980091228A CN113383321B CN 113383321 B CN113383321 B CN 113383321B CN 201980091228 A CN201980091228 A CN 201980091228A CN 113383321 B CN113383321 B CN 113383321B
- Authority
- CN
- China
- Prior art keywords
- length
- subset
- nonce
- memory
- hash
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
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
优先权申请
本申请案主张2018年12月28日申请的序列号为16/235,189的美国申请案的优先权的权益,所述申请案以应用的方式并入本文中。
背景技术
存储器装置通常被提供为计算机或其它电子装置中的内部半导体集成电路。存在许多不同类型的存储器,包含易失性存储器及非易失性存储器。
易失性存储器需要电力来维持其数据,且包含随机存取存储器(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)、通用快闪存储(UFSTM)装置、多媒体卡(MMC)固态存储装置、嵌入式MMC装置(eMMCTM)等。可尤其使用SSD作为计算机的主存储装置,从而在例如性能、大小、重量、坚固性、操作温度范围及功率消耗方面优于具有移动部分的传统硬驱动器。举例来说,SSD可具有减少的搜寻时间、延时或与磁盘驱动器相关联的其它延迟(例如,机电延迟等)。SSD使用例如闪存单元的非易失性存储器单元来免除内部电池供应需求,因此允许驱动器更通用且更紧凑。
SSD可包含若干存储器装置(包含若干裸片或逻辑单元(例如,逻辑单元编号或LUN)),其可包含执行操作存储器装置或与外部系统介接所需的逻辑功能的一或多个处理器或其它控制器。此类SSD可包含一或多个闪存裸片,其或其上包含若干存储器阵列及外围电路系统。闪存阵列可包含组织成若干物理页面的存储器单元的若干块。在许多实例中,SSD还将包含DRAM或SRAM(或其它形式的存储器裸片或其它存储器结构)。SSD可从主机接收与存储器操作(例如用以在存储器装置与主机之间传送数据(例如,用户数据及相关联完整性数据,例如错误数据及地址数据等)的读取或写入操作,或用以从存储器装置擦除数据的擦除操作)相关联的命令。
附图说明
在不一定按比例绘制的图式中,相似元件符号可描述不同视图中的类似组件。具有不同字母下标的相似元件符号可表示类似组件的不同例子。图式大体上通过实例而非限制方式说明本文件中论述的各个实施例。
图1说明包含存储器装置的环境的实例。
图2说明生成用于重放保护的临时随机数的系统的实例。
图3说明从哈希产生自含型临时随机数的实例。
图4说明主机与执行临时随机数生成的存储器装置之间的控制流程的实例。
图5说明在临时随机数生成的初始化期间使用的消息格式的数个实例。
图6说明用于重放保护临时随机数生成的方法的实例的流程图。
图7是说明可在其上实施一或多个实施例的机器的实例的框图。
具体实施方式
通信安全已发挥越来越重要的作用。为理解安全通信的不同方面,考虑数个不同领域:身份;认证;消息完整性;数据保护(例如,加密);数据证明;及防重放。使用各种技术来实施安全通信的这些不同方面。然而,本文中描述的系统及技术聚焦于防重放。
本文中称为重放的重放攻击是技术,借此攻击者复制两方之间的原本安全通信的部分或全部且稍后使用其以实现来自所述两方中的一者的未经授权响应。举例来说,车库门遥控将无线电信号传输到车库门控制件以敞开车库门。即使遥控需要认证通信并对其加密,简单记录无线符号且在稍后重放其还可产生攻击者所期望的车库敞开效应。此重放攻击可用于其它通信中,例如在车辆上的组件之间(例如,经由控制器局域网(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)接口、eMMCTM接口或一或多个其它连接器或接口。主机装置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可包含布置于(举例来说)若干装置、平面、子块、块或页面中的数个存储器单元。作为一个实例,48GB TLC NAND存储器装置可包含每页面18,592 个字节(B)的数据(16,384+2208个字节)、每块1536个页面、每平面548个块及每装置4个或更多个平面。作为另一实例,32GB MLC存储器装置(其每单元存储两个数据位(即,4个可编程状态))可包含每页面18,592个字节(B)的数据(16,384+2208个字节)、每块1024个页面、每平面548个块及每装置4个平面,但具有对应TLC存储器装置的一半的所需写入时间及两倍的编程/擦除(P/E)周期。其它实例可包含其它数目或布置。在一些实例中,存储器装置或其一部分可选择性地在SLC模式中或在所要MLC模式(例如TLC、QLC等)中操作。
在操作中,数据通常按页面写入到NAND存储器装置110或从其读取且按块擦除。然而,可根据需要对较大或较小存储器单元群组执行一或多个存储器操作(例如,读取、写入、擦除等)。NAND存储器装置110的数据传送大小通常被称为页面,而主机的数据传送大小通常被称为区段。
尽管数据页面可包含若干字节的用户数据(例如,包含若干数据区段的数据有效负载)及其对应元数据,但页面的大小通常仅指代用以存储用户数据的字节的数目。作为实例,具有4KB的页面大小的数据页面可包含4KB的用户数据(例如,假设512 B的区段大小的8个区段)以及对应于用户数据的若干字节(例如,32B、54B、224B 等)的元数据,例如完整性数据(例如,错误检测或校正码数据)、地址数据(例如,逻辑地址数据等)或与用户数据相关联的其它元数据。
不同类型的存储器单元或存储器阵列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中。以此方式,使用哈希作为临时随机数序列中的下一临时随机数生成中的种子,例如,hashn=SELECTOR(HASH(hashn-1)),其中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个最低有效位,或nonce0=LSB(KDF(PUF),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的可用寿命。
与虚拟存储器相比,虚拟存储器压缩(例如,核心特征“ZRAM”)使用存储器的部分作为压缩块存储器以避免对存储装置721的分页。分页发生在压缩块中,直到有必要将此数据写入到存储装置721。虚拟存储器压缩增加存储器704的可用大小,同时减少存储装置721上的耗损。
针对移动电子装置或移动存储器优化的存储装置传统上包含MMC固态存储装置(例如,微型安全数字(microSDTM)卡等)。MMC装置包含与主机装置的若干并行接口(例如,8位并行接口),且通常为可从主机装置移除且与主机装置分离的组件。相比之下,eMMCTM装置附接到电路板且被视为主机装置的组件,其读取速度可与基于串行ATATM(串行AT(高级技术)附接或SATA)的SSD装置媲美。然而,对移动装置性能的需求持续增加,例如完全启用虚拟或增强现实装置、利用不断增长的网络速度等。响应于此需求,存储装置已从平行通信接口转变为串行通信接口。包含控制器及固件的通用快闪存储(UFS)装置使用具有专用读取/写入路径的低电压差分发信号 (LVDS)串行接口与主机装置通信,从而进一步推进较大读取/写入速度。
进一步可经由网络接口装置720利用若干传送协议(例如,帧中继、因特网协议(IP)、传输控制协议(TCP)、用户数据报协议(UDP)、超文本传送协议(HTTP)等)中的任一者使用传输媒体经由通信网络726传输或接收指令724。实例通信网络可包含局域网(LAN)、广域网(WAN)、封包数据网络(例如,因特网)、移动电话网络(例如,蜂窝式网络)(例如通过第三代合作伙伴计划(3GPP)系列标准(例如,3G、4G、5G、长期演进(LTE)等)定义的移动电话网络)、简易老式电话(POTS)网络、及无线数据网络(例如,被称为的电气与电子工程师协会(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)装置及类似者。
上文描述希望为阐释性的且非限制性的。举例来说,上述实例(或其一或多个方面)可彼此结合使用。例如所属领域的一般技术人员在检视上文描述之后可使用其它实施例。应了解,其将不用于解释或限制权利要求书的范围或含义。此外,在上文具体实施方式中,各种特征可分组在一起以简化本发明。此不应被解释为预期未主张揭示特征对于任何权利要求书是必不可少的。而是,本发明标的物可在于少于特定所揭示实施例的全部特征。因此,所附权利要求书特此被并入到具体实施方式中,其中每一权利要求独立作为单独实施例,且预期此类实施例可以各种组合或排列彼此组合。应参考所附权利要求书连同此权利要求书所授权的等效物的全范围确定本发明的范围。
Claims (24)
1.一种用于重放保护临时随机数生成的存储器装置,所述存储器装置包括:
哈希引擎,其用以从第一输入产生哈希,所述哈希具有第一长度;及
处理电路系统,其用以:
提取所述哈希的第一子集作为选择器;
使用所述选择器来选择所述哈希的第二子集,所述第二子集具有小于所述第一长度的第二长度;且
在重放保护通信中传输所述第二子集作为新鲜度值的临时随机数。
2.根据权利要求1所述的存储器装置,其中所述第一子集具有基于所述第一长度及所述第二长度的第三长度。
3.根据权利要求2所述的存储器装置,其中所述第三长度等于表示所述第一长度除以所述第二长度的位数目。
4.根据权利要求3所述的存储器装置,其中将所述哈希划分成具有等于所述第二长度的长度的非重叠群组。
5.根据权利要求4所述的存储器装置,其中为使用所述选择器来选择所述哈希的所述第二子集,所述处理电路系统经配置以:
评估所述选择器中的位的数值;且
使用所述非重叠群组中的对应于所述数值的群组作为所述第二子集。
6.根据权利要求1所述的存储器装置,其中所述处理电路系统经配置以初始化临时随机数序列,其中使用所述临时随机数作为第一临时随机数,且其中选择种子作为所述第一输入。
7.根据权利要求6所述的存储器装置,其中为选择所述种子,所述处理电路系统经配置以:
从所述重放保护通信中的合作伙伴接收指定模式的命令;
使用所述模式来更新多路复用器,所述多路复用器具有所支持的各类型的种子的输入;且
经由所述多路复用器产生所述种子。
8.根据权利要求6所述的存储器装置,其中所述处理电路系统经配置以在所述临时随机数序列中在所述第一临时随机数之后产生第二临时随机数,其中使用所述第一临时随机数的所述哈希作为所述第二临时随机数的第一输入。
9.一种用于重放保护临时随机数生成的方法,所述方法包括:
从第一输入产生哈希,所述哈希具有第一长度;
提取所述哈希的第一子集作为选择器;
使用所述选择器来选择所述哈希的第二子集,所述第二子集具有小于所述第一长度的第二长度;及
在重放保护通信中传输所述第二子集作为新鲜度值的临时随机数。
10.根据权利要求9所述的方法,其中所述第一子集具有基于所述第一长度及所述第二长度的第三长度。
11.根据权利要求10所述的方法,其中所述第三长度等于表示所述第一长度除以所述第二长度的位数目。
12.根据权利要求11所述的方法,其中将所述哈希划分成具有等于所述第二长度的长度的非重叠群组。
13.根据权利要求12所述的方法,其中使用所述选择器来选择所述哈希的所述第二子集包含:
评估所述选择器中的位的数值;及
使用所述非重叠群组中的对应于所述数值的群组作为所述第二子集。
14.根据权利要求9所述的方法,其包括通过选择种子作为所述第一输入而初始化包含作为第一临时随机数的所述临时随机数的临时随机数序列。
15.根据权利要求14所述的方法,其中选择所述种子包含:
从所述重放保护通信中的合作伙伴接收指定模式的命令;
使用所述模式来更新多路复用器,所述多路复用器具有所支持的各类型的种子的输入;及
经由所述多路复用器产生所述种子。
16.根据权利要求14所述的方法,其包括通过使用所述第一临时随机数的所述哈希作为第二临时随机数的第一输入而在所述临时随机数序列中在所述第一临时随机数之后产生所述第二临时随机数。
17.一种机械可读媒体,其包括用于重放保护临时随机数生成的指令,所述指令在通过处理电路执行时致使所述处理电路执行操作,所述操作包括:
从第一输入产生哈希,所述哈希具有第一长度;
提取所述哈希的第一子集作为选择器;
使用所述选择器选择所述哈希的第二子集,所述第二子集具有小于所述第一长度的第二长度;以及
在重放保护通信中传输所述第二子集作为新鲜度值的临时随机数。
18.根据权利要求17所述的机械可读媒体,其中所述第一子集具有基于所述第一长度及所述第二长度的第三长度。
19.根据权利要求18所述的机械可读媒体,其中所述第三长度等于表示所述第一长度除以所述第二长度的位数目。
20.根据权利要求19所述的机械可读媒体,其中将所述哈希划分成具有等于所述第二长度的长度的非重叠群组。
21.根据权利要求20所述的机械可读媒体,其中使用所述选择器来选择所述哈希的所述第二子集包括:
评估所述选择器中的位的数值;且
使用所述非重叠群组中的对应于所述数值的群组作为所述第二子集。
22.根据权利要求17所述的机械可读媒体,其中所述指令包括初始化临时随机数序列,包括所述临时随机数作为第一临时随机数,通过选择种子作为所述第一输入。
23.根据权利要求22所述的机械可读媒体,其中选择所述种子包括:
从所述重放保护通信中的合作伙伴接收指定模式的命令;
使用所述模式来更新多路复用器,所述多路复用器具有所支持的各类型的种子的输入;且
经由所述多路复用器产生所述种子。
24.根据权利要求22所述的机械可读媒体,其中所述指令包括通过使用所述第一临时随机数的所述哈希作为第二临时随机数的所述第一输入,在所述临时随机数序列中在所述第一临时随机数之后产生所述第二临时随机数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210592587.4A CN114911456A (zh) | 2018-12-28 | 2019-12-12 | 重放保护临时随机数生成 |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/235,189 | 2018-12-28 | ||
US16/235,189 US11012425B2 (en) | 2018-12-28 | 2018-12-28 | Replay protection nonce generation |
PCT/US2019/066004 WO2020139573A1 (en) | 2018-12-28 | 2019-12-12 | Replay protection nonce generation |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210592587.4A Division CN114911456A (zh) | 2018-12-28 | 2019-12-12 | 重放保护临时随机数生成 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113383321A CN113383321A (zh) | 2021-09-10 |
CN113383321B true CN113383321B (zh) | 2022-06-14 |
Family
ID=71124505
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980091228.7A Active CN113383321B (zh) | 2018-12-28 | 2019-12-12 | 重放保护临时随机数生成 |
CN202210592587.4A Pending CN114911456A (zh) | 2018-12-28 | 2019-12-12 | 重放保护临时随机数生成 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210592587.4A Pending CN114911456A (zh) | 2018-12-28 | 2019-12-12 | 重放保护临时随机数生成 |
Country Status (7)
Country | Link |
---|---|
US (2) | US11012425B2 (zh) |
EP (1) | EP3903194A4 (zh) |
JP (1) | JP2022517534A (zh) |
KR (1) | KR20210096683A (zh) |
CN (2) | CN113383321B (zh) |
TW (2) | TWI763468B (zh) |
WO (1) | WO2020139573A1 (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11012425B2 (en) | 2018-12-28 | 2021-05-18 | Micron Technology, Inc. | Replay protection nonce generation |
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 |
CN112582009B (zh) * | 2020-12-11 | 2022-06-21 | 武汉新芯集成电路制造有限公司 | 单调计数器及其计数方法 |
US11784827B2 (en) * | 2021-03-09 | 2023-10-10 | Micron Technology, Inc. | In-memory signing of messages with a personal identifier |
Citations (5)
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 |
CN101350716A (zh) * | 2007-07-20 | 2009-01-21 | 飞思卡尔半导体公司 | 用于可变位宽的哈希值的有效生成的系统和方法 |
CN102844764A (zh) * | 2010-04-12 | 2012-12-26 | 交互数字专利控股公司 | 启动过程中的阶段性控制释放 |
CN105190535A (zh) * | 2013-03-14 | 2015-12-23 | 国际商业机器公司 | 执行伪随机数产生操作的指令 |
US9311403B1 (en) * | 2010-06-16 | 2016-04-12 | Google Inc. | Hashing techniques for data set similarity determination |
Family Cites Families (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 |
WO2009100259A2 (en) * | 2008-02-05 | 2009-08-13 | 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 |
WO2010131563A1 (ja) * | 2009-05-11 | 2010-11-18 | 日本電気株式会社 | タグ生成装置、タグ検証装置、通信システム、タグ生成方法、タグ検証方法および記録媒体 |
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 |
CN103621126B (zh) * | 2011-04-15 | 2018-06-19 | 三星电子株式会社 | 提供机器到机器服务的方法和装置 |
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 |
CA2865548C (en) * | 2012-03-01 | 2021-03-02 | 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 | 快閃記憶體及其存取方法 |
CN105960775B (zh) * | 2014-03-03 | 2020-01-07 | 英特尔公司 | 用于迁移密钥的方法和装置 |
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 JP JP2021537804A patent/JP2022517534A/ja active Pending
- 2019-12-12 EP EP19904601.2A patent/EP3903194A4/en not_active Withdrawn
- 2019-12-12 CN CN201980091228.7A patent/CN113383321B/zh active Active
- 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 KR KR1020217023469A patent/KR20210096683A/ko not_active Application Discontinuation
- 2019-12-19 TW TW110115909A patent/TWI763468B/zh active
- 2019-12-19 TW TW108146581A patent/TWI729636B/zh active
-
2021
- 2021-05-17 US US17/322,301 patent/US11558359B2/en active Active
Patent Citations (5)
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 |
CN101350716A (zh) * | 2007-07-20 | 2009-01-21 | 飞思卡尔半导体公司 | 用于可变位宽的哈希值的有效生成的系统和方法 |
CN102844764A (zh) * | 2010-04-12 | 2012-12-26 | 交互数字专利控股公司 | 启动过程中的阶段性控制释放 |
US9311403B1 (en) * | 2010-06-16 | 2016-04-12 | Google Inc. | Hashing techniques for data set similarity determination |
CN105190535A (zh) * | 2013-03-14 | 2015-12-23 | 国际商业机器公司 | 执行伪随机数产生操作的指令 |
Also Published As
Publication number | Publication date |
---|---|
US11012425B2 (en) | 2021-05-18 |
WO2020139573A1 (en) | 2020-07-02 |
US20210273924A1 (en) | 2021-09-02 |
EP3903194A4 (en) | 2022-09-07 |
CN113383321A (zh) | 2021-09-10 |
TWI763468B (zh) | 2022-05-01 |
US11558359B2 (en) | 2023-01-17 |
JP2022517534A (ja) | 2022-03-09 |
TWI729636B (zh) | 2021-06-01 |
TW202134857A (zh) | 2021-09-16 |
KR20210096683A (ko) | 2021-08-05 |
EP3903194A1 (en) | 2021-11-03 |
US20200213281A1 (en) | 2020-07-02 |
CN114911456A (zh) | 2022-08-16 |
TW202032360A (zh) | 2020-09-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113383321B (zh) | 重放保护临时随机数生成 | |
CN112313632B (zh) | 被管理的nand装置中的主机加速操作 | |
US11138108B2 (en) | Logical-to-physical map synchronization in a memory device | |
US11416420B2 (en) | Secure memory system programming | |
US10884944B2 (en) | Host accelerated operations in managed NAND devices | |
US11886339B2 (en) | Secure logical-to-physical caching | |
CN113439264A (zh) | 主机型快闪存储器维护技术 | |
US12010217B2 (en) | Secure memory system programming for host device verification | |
CN112654993B (zh) | 安全存储器系统编程 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |