CN113228025A - 确保安全的存储器存取的方法及装置 - Google Patents

确保安全的存储器存取的方法及装置 Download PDF

Info

Publication number
CN113228025A
CN113228025A CN201880100284.8A CN201880100284A CN113228025A CN 113228025 A CN113228025 A CN 113228025A CN 201880100284 A CN201880100284 A CN 201880100284A CN 113228025 A CN113228025 A CN 113228025A
Authority
CN
China
Prior art keywords
storage area
memory device
data storage
memory
flags
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.)
Pending
Application number
CN201880100284.8A
Other languages
English (en)
Inventor
A·蒙代洛
A·特罗亚
O·杜瓦尔
Z·舒伯欧科斯弗
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Micron Technology Inc
Original Assignee
Micron Technology Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Micron Technology Inc filed Critical Micron Technology Inc
Publication of CN113228025A publication Critical patent/CN113228025A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting 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/79Protecting 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1408Protection against unauthorised use of memory or access to memory by using cryptography
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/062Securing storage systems
    • G06F3/0622Securing storage systems in relation to access
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3242Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1032Reliability improvement, data loss prevention, degraded operation etc
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1052Security improvement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7202Allocation control and policies
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7204Capacity control, e.g. partitioning, end-of-life degradation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7207Details relating to flash memory management management of metadata or control data

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Computer Interaction (AREA)
  • Power Engineering (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Abstract

本公开涉及一种确保对存储器装置的安全存储器存取的系统、方法及存储器装置。所述存储器装置用以下各者结构化且组织:第一可存取数据存储区,其经配置以存储主机装置的数据;第二可存取数据存储区,其经配置以存储元数据。所述第二可存取数据存储区经组织成子字段的组,其包含至少第一组旗标及可由所述旗标中的一者的值选择的同一第二可存取存储区的至少另一字段。

Description

确保安全的存储器存取的方法及装置
技术领域
本公开大体涉及与存储器装置相关的设备、系统及方法,且更具体来说,涉及确保安全的存储器存取的设备、系统及方法。
背景技术
数据及元数据通常用于存储器装置的技术。即使在处理结束及运输之前在晶圓厂中通常执行参数修整,存储在存储器装置的元数据部分中的数据的安全性也可成为临界点。
在安全系统中,可期望具有一种存储器装置,其内容可被验证为正确的。当存储器装置含有潜在地受到损坏或危及的可执行代码时,这可为特别重要的。如果无法验证存储器装置的内容是正确的,那么可通过以未经授权的方式修改其中含有的代码来危及系统的安全性。此外,这甚至可危及系统的安全性,因为它可在执行阶段使用不正确的数据。此缺点可意味着例如在汽车领域中,(例如)代码的不需要的部分中不需要的跳转,转向系统可在命令右转之后运行代码左转而不是右转,这仅仅是因为数据损坏导致的不需要的跳转。
所有类型的存储器都必须实施对所存储数据的受控存取。
在这方面,读取操作可为自由的,但是用户需要具有根据源的完整性及/或真实性来验证读取的数据的机制。
至于写入操作,仅授权用户可能够修改数据、存储器组件(RAM、FLASH、PCM)或存储器系统(HDD、SSD),因为写入操作也可包含组件配置寄存器(即:数据保护寄存器、通道校准等)的修改。
某些类型的存储器,如RAM,没有专门用于读写操作的命令集(如快闪存储器),但其由简单的命令集控制。在此类情况中,重要的是定义不使用复杂的命令协议结构来保护数据存取的机制(在读/写阶段两者中)。
如之前提及,在汽车领域及市场中尤其感受到此需要,其中数据及元数据的安全性及安全是自动驾驶或部分自动驾驶车辆所必需的。
附图说明
在不一定按比例绘制的附图中,相同元件符号可描述不同视图中的类似组件。具有不同字母后缀的相同元件符号可表示类似组件的不同例项。一些实例通过实例说明,且不限制,在附图的图中:
图1是根据本技术的一项实施例实现且其中可实施本公开的方法的存储器装置的框图的实例;
图2说明本公开的存储器装置的部分的框图,其中实施根据本公开的数据组织;
图3说明根据本公开的图2的存储器部分的元数据部分的进一步框图;
图4说明用于存储器部分(例如图1中所展示的存储器部分)的已知时序图,在所述存储器部分上应用已知的读取存取方法;
图5说明用于存储器部分(例如图1中所展示的存储器部分)的已知时序图,在所述存储器部分上应用已知的写入存取方法;
图6说明本公开的存储器装置的部分的框图,其中实施根据本公开的数据组织且其中应用预定旗标值;
图7说明本公开的存储器装置的部分的框图,其中实施根据本公开的数据组织且其中应用进一步预定旗标值;
图8说明本公开的存储器装置的部分的框图,其中实施根据本公开的数据组织且其中应用旗标值以确保安全的存储器存取。
具体实施方式
如将在下文中更详细地描述,本文揭示的技术涉及存储器装置以及包含存储器装置的系统。此外,涉及本发明的技术还涉及用于实施对上述存储器装置的写入及/或读取阶段的安全存取的方法。
作为实例,本文揭示的技术或本发明所涉及的存储器装置可为DRAM装置,即使此指示不应被视为对申请人权利的限制,因为本发明可在例如RAM的其它存储器装置上实施。
本公开的第一实施例涉及一种用于确保安全存储器存取的存储器装置,其包括:
-第一可存取数据存储区,其经配置以存储数据;
-第二可存取数据存储区,其经配置以存储元数据;
-所述第二可存取数据存储区经组织成子字段或存储器块的组,其包含至少第一组旗标及可由所述旗标中的一者的值选择的同一第二可存取存储区的至少另一字段。
所述旗标中的上述一者是激活所述至少另一字段的指针或启用值。在一些实施例中,所述额外元数据内容用于为含有主机数据的特定页面启用特定安全性特征。
所述第一可存取数据存储区是含有存储器装置的主机装置需要存储的数据的主机数据部分。而所述第二可存取数据存储区是元数据部分,其在单独的字段或存储器块中包含一组旗标、主机装置的ID字段、防重放机制及密码算法。
此外,在所述第二可存取数据存储区的子字段中,存在可由所述旗标中的一者的值选择并包含单调计数器或随机数或时间戳或类似的防重放机制的防重放机制。
本公开的另一实施例涉及确保对存储器装置的安全的存储器存取的方法,其包括:
-用经配置以存储数据的第一可存取数据存储区组织所述存储器装置;
-组织第二可存取数据存储区,其经配置以存储元数据;
-将所述第二可存取数据存储区组织成子字段的组,其包含至少第一组旗标及可由所述旗标中的一者的值选择的同一第二可存取存储区的至少另一字段。
应注意,两个存储器部分的存储器存取是由在本公开的上下文中作为可在所述存储器装置中修改的原子最小数据的页面来完成。
此外,所述第二可存取数据存储区的子字段中的至少一者是应用密码算法以验证数据完整性或消息认证两者的结果。
为了更好地理解应用本发明的技术,我们将首先公开在所附图1中示意性展示的半导体存储器装置的主要架构。
现在参考此图1,可了解存在示意性地展示存储器装置100的主框图,其中可实施本发明的至少一项实施例。
此存储器装置100是可被视为易失性或非易失性存储器(例如NAND及/或NOR组件)的半导体装置的示意性2D表示;然而,在更一般意义上,图1的框图可适用于例如DRAM类型的动态随机存取存储器,或作为替代,SDRAM存储器或ROM装置。
存储器装置100可连接到能够针对信息的临时或永久存储利用存储器的若干电子装置中的任一者或此存储器的组件。例如,存储器装置100的主机装置可为计算装置(例如,桌上型或便携计算机)、服务器、手持装置(例如,移动电话、平板计算机、数字读取器、数字媒体播放器)或其某个组件(例如,中央处理单元、协处理器、专用存储器控制器等)。
主机装置可甚至为联网装置(例如,交换机、路由器等)或数字图像、音频及/或视频的记录器、车辆、器具、玩具或若干其它产品中的任一者。在一项实施例中,主机装置可直接连接到存储器装置100,但在其它实施例中,主机装置可间接连接到存储器装置(例如,通过联网连接或通过中间装置)。
为了完整起见且为了更好地理解应用本发明的技术,我们将首先公开在图1中展示的半导体存储器装置100的主要架构。
存储器装置100可包含存储单元阵列。此阵列在图1中用数字50指示,但应认为所述阵列是由多个存储体结构化,例如16个存储体。每一存储体可被视为存储器页面。阵列可为二维矩阵,或也可为3D单元阵列。重要的是能够识别块内单元的页面;取决于所使用的技术,每一页面可为4千比特或更多。
每个存储体基本上是包含数千个存储器单元的存储器矩阵。矩阵的简单单元可经结构化而以易失性及非易失性方式存储逻辑值,例如,如同RAM结构的单元或ROM结构的单元。但是,存储器单元可包含若干不同存储器媒体类型中的任一者,例如电容式、磁阻式、铁电、相变或类似者。
在每一阵列50中,连接存储器矩阵的每一行的长水平线被称为字线(WL),而存储器矩阵的单元的列被称为位线(BL)。可在字线WL与位线BL的交叉点处识别每一存储器单元。字线及位线也可分别被称为存取线及/或数据线,且可互换地被称为存取线。
更具体地说,单元的每一列可包含连接到感测放大器SAMP的一对位线bl_t及bl_c。通常针对每一位线对BL提供感测放大器SAMP。感测放大器通常可包含在该对位线bl_t及bl_c之间的一对交叉连接的反相器。
字线WL的选择可由行解码器40执行。类似地,位线的选择可由列解码器45执行。
感测放大器SAMP可针对每一对应位线bl_t及bl_c对提供且连接到至少一个相应局部I/O线对(LIOT/B),其继而可经由传送门TG耦合到至少相应一个主I/O线对(MIOT/B)。那些门TG可作为开关操作。
存储器阵列50可包含板线及用于管理其操作的对应电路,但这与本发明的目的无关。
多个外部端子与存储器装置100相关联。这些端子包含耦合到命令总线或地址总线的命令及地址端子以分别接收命令信号CMD及地址信号ADDR。命令及地址端子可供应有来自外部的地址信号及存储体地址信号。然后,供应到地址端子的那些地址信号经由命令/地址输入电路5传送到地址解码器10。
命令信号也可产生为经由所述命令/地址输入电路5到命令解码器15的内部命令信号ICMD。在此情况下,可产生用于执行存储器操作的各种内部命令信号。命令/地址输入电路5可包含寄存器18,以存储且跟踪在存储器阵列50的刷新操作期间产生的各种计数值。
内部命令信号ICMD可包含产生(例如)时钟控制命令CK的激活命令。
地址解码器10耦合到行解码器40及列解码器45两者。地址解码器10可将经解码的行地址信号(XADD)供应到行解码器40,且将经解码的列地址信号(YADD)供应到列解码器45。地址解码器10也可接收存储体地址信号(BADD)以供应到行解码器40及列解码器45两者。
应注意,存储器装置100还可包含接收芯片选择信号CS的芯片选择端子及接收时钟信号CK及CKF的时钟端子。
命令信号CMD、地址信号ADD及芯片选择信号CS可通过图式中未展示的常规存储器控制器供应到存储器装置。
当将有效CS信号提供到存储器装置100时,可解码命令及地址信号且可执行存储器操作。
其它端子在图1中可见,且可分组为:接收数据时钟信号WCK及WCKF的数据时钟端子、数据端子DQ、RDQS、DBI及DMI、电源端子VDD、VSS、VDDQ、VSSQ。数据端子及电源端子VDDQ耦合到输入/输出电路60。
时钟端子及数据时钟端子可供应有外部时钟信号及互补外部时钟信号。外部时钟信号CK、CKF、WCK、WCKF可供应到时钟输入电路20。CK及CKF信号可为互补的,且WCK及WCKF信号也可为互补的。互补时钟信号可具有相反的时钟电平且同时在相反时钟电平之间转变。
时钟输入电路20可接收外部时钟信号以产生内部时钟信号ICLK。内部时钟信号ICLK可供应到内部时钟电路30。内部时钟电路30可基于经接收的内部时钟信号ICLK及来自命令/地址输入电路5的时钟启用信号CKE提供各种相位及频率控制内部时钟信号。
关于时钟信号,必须注意,存储器阵列50可通过DQ数据端子与其它装置或电路交换数据。数据交换需要存取时间,所述存取时间是在地址改变后获得稳定输出所需的时间量,并且可取决于另一时间参数,例如列到列延迟tCCD,其是列操作之间的最小时间量。
为了完成对存储器装置100的描述,必须指出,可向电源端子供应电源电势VDD及VSS,所述电源电势VDD及VSS可供应到内部电压发生器70,其能够继而产生图1中指示为VPP、VOD、VARY、VPERI的各种内部电势。所述电势值可用于存储器阵列50中的行解码器40或其它电路块中。
也可向电源端子供应电源电势VDDQ,所述电源电势VDDQ可与电源电势VSS一起供应到输入/输出电路60,以降低电源噪声。电源电势VDDQ可为与电源电势VDD相同的电势或可为不同电势。
当发出读取命令且用读取命令及时供应行地址及列地址时,可从由这些行地址及列地址指定的存储器阵列50中的存储器单元读取读取数据。读取命令可由命令解码器15接收,其可将内部命令提供到输入/输出电路60,使得读取数据可根据RDQS时钟信号经由读/写放大器55及输入/输出电路60从数据端子DQ、RDQS、DBI及DMI输出。
读取数据可在由预定读取时延信息RL定义之时间提供,读取时延信息RL可在存储器阵列50中编程。可按照CK时钟信号的时钟循环定义读取时延信息RL。例如,当提供相关联读取数据时,读取时延信息RL可为由存储器阵列50接收读取命令之后的CK信号的时钟循环数目。
当发出写入命令且用所述命令及时供应行地址及列地址时,可根据WCK及WCKF时钟信号将写入数据供应到数据端子DQ、DBI及DMI。写入命令可由命令解码器15接收,其可将内部命令提供到输入/输出电路60,使得写入数据可由输入/输出电路60中的数据接收器接收,且经由输入/输出电路60及读/写放大器55供应到存储器阵列50。写入数据可写入由行地址及列地址指定的存储器单元中。写入数据可在由写入时延WL信息定义的时间被提供到数据端子。写入时延WL信息可在存储器装置100中编程。
可按照CK时钟信号的时钟循环定义写入时延WL信息。例如,当接收相关联写入数据时,写入时延信息WL可为由存储器装置100接收写入命令之后的CK信号的时钟循环数目。
为了本公开的目的,其与列存取时间的长度无关。例如,如果需要两个时钟信号2CK来完成列存取,那么我们可认为对于这些存储器装置,在时间tCCD及两个时钟循环之间存在重合:tCCD=2CK。
图2展示存储器装置100的逻辑组织的实例,且具体来说存储器阵列50的逻辑组织的实例,其中定义第一数据部分2,即可被视为含有主机装置需要存储的数据的字段的主机数据部分。
存储器阵列50的另一数据部分3(即元数据部分)可被视为含有用户元数据的字段及/或对管理本发明的方法有用的所有其它字段。为了完整起见,应注意,元数据的部分也可在外部对用户不可见。
众所周知,元数据的主要目的是帮助用户查找相关信息及发现资源。元数据也可帮助内部逻辑存储特定信息作为擦除计数器,以便应用损耗均衡算法,且一般来说指示页面/块的状态的健康数据。元数据还有助于组织电子资源,提供数字标识,且支持资源的归档及保存。元数据通过允许根据相关标准找到资源、识别资源、将类似资源聚集在一起、区分不类似资源以及给出位置信息来帮助用户发现资源。
在一些实施例中,根据本发明,数据存取可通过页面来完成。对于术语“页面”,其意图是数据的倍数,所述倍数可为可同时读取的最小数据量。例如,存储器可以由4千字节页面、8千字节页面、16千字节页面及/或取决于装置的架构的其它大小结构化。
作为根据本公开的数据组织的进一步实例,图3展示包含将在下文详述的子字段的存储器阵列50的元数据部分3的示意图。
旗标Fk、…、F1的第一组4包含一或多个旗标,所述旗标经提供以管理由存储器阵列50的元数据部分3提供的不同服务。
已经提供标记为主机ID的块5,以识别请求存取元数据部分3的软件程序或应用程序(APP)的ID。
标记为“新鲜”的另一块6是指可由旗标块5的旗标的值选择的防重放机制。换句话说,此块6包含以下功能中的至少一者:单调计数器以及随机数或时间戳或类似的防重放机制。
防重放机制可视为因特网工程任务组(IETF)的子协议。防重放机制是一种避免任何人在应用命令/序列/数据流的地方重新使用所述命令/序列/数据流的方法。例如,如果使用在任何读取事件时增加其值的单调计数器值对页面内容进行签名,那么签名将始终不同;归因于新鲜度的签名变动意味着数据仅在特定的读取事件中被视为有效的。
防重放机制的主要目标是避免中间人的攻击及流的多次、多平台使用。换句话说,防重放的主要目标是避免黑客注入或更改从源行进到目的地的数据分组。
防重放字段对任何人是可见的,就像对数据一样。但是,在签名的计算中使用此值会使签名对于所述读/写事件是唯一的。防重放协议可使用单向安全关联以便在网络中的两个节点之间建立安全连接。一旦建立安全连接,防重放协议使用分组序列号来抵御重放攻击。
另一块7可被视为包含用于对所存储的数据使用摘要或MAC算法的指示的字段。摘要或MAC的使用由第一块的旗标中的一者的值定义。MAC或散列是已知通用密码算法。例如,已知散列算法可为任何密码原语,例如SHA256、MD5、SHA3。类似地,已知MAC算法可为任何密码原语,例如HMAC-SHA256。
为了清楚起见,在密码学中,HMAC(有时扩展为键控散列消息认证码或基于散列的消息认证码)是特定类型的消息认证码(MAC),其涉及密码散列函数及私密密码密钥。其可用于同时验证数据完整性及消息认证两者,如同任何MAC一样。任何密码散列函数(例如SHA256或SHA-3)可用于HMAC的计算;所得MAC算法被称为HMAC-X,其中X是所使用的散列函数(例如,HMAC-SHA256或HMAC-SHA3)。
块7可包含存储的数据的摘要或MAC:
MAC_value=MAC(Secret Key,HOST_DATA|Metadata)
DIGEST_value=HASH(HOST_DATA|Metadata)
上述字段的一者的存在取决于F1、Fk旗标的内容。
仅提供具有两个旗标情况的简单实例,其中参数K设定为1:K=1,我们将获得:
00→传统
01→MAC服务→认证
10→散列服务→完整性,证明
11→内部(组件)→ECC服务
最后,块8表示存在于被管理存储器中的主机元数据。换句话说,与本公开不同,主机元数据部分8可被视为与主机数据部分相关联的存在于已知解决方案中的唯一元数据存储器部分。
在本公开中,主机元数据也可包含主机数据的应用,或更好的用户元数据;例如,可在NAND装置中识别用户元数据的实例,其中用于校正页面的ECC值存储在此元数据区域的部分中。
根据本公开的存储器阵列50的逻辑组织允许针对不同组件(如NAND、快闪存储器、RAM等)实施数据/配置的统一安全存取。
例如,可使用组件(快闪存储器/RAM等)的传统协议来写入数据。
如果元数据部分3中的旗标块4的旗标F1、…、Fk中的一者以适当的方式设定,那么选择对应组件来提供所请求的服务。
例如,如果没有完成特定请求(由术语“无”定义),那么默认情况下至少执行常规传统方法:
Nothing→Legacy
换句话说,没有旗标断言意味着所述组件是传统组件;例如,DRAM是传统DRAM,NAND是传统NAND等,主要是因为其它元数据值与第一块集无关。
作为替代,当需要MAC或散列密码原语时,那么应用密码函数,即使在需要时可复位旗标。因此,对应旗标应(1)启用密码算法的使用,(2)定义所期望的值是摘要还是MAC。
快速参考图3及4的实例,可了解,DRAM读取循环中涉及的各种信号的图取决于OE_L信号的逻辑值。在较早的读取循环中,OE_L信号在CAS_L信号之前断言,而在较晚的读取循环中,OE_L信号在CAS_L信号之后断言。
类似地,在图4中报告DRAM写入循环中涉及的各种信号的图,且可了解,在较早的写入循环中,WE_L信号在CAS_L信号之前断言,而在较晚的写入循环中,WE_L信号在CAS_L信号之后断言。
图4及5表示DRAM组件中的传统存取的时序图,第一实例是读取存取序列,而另一实例是写入存取序列。传统是通常用来表示没有偏离标准的标准组件的术语,如Jedec。
如果我们集中注意力在图5的实例,我们可了解本公开的数据组织是如何允许在写入阶段期间利用对摘要服务的请求并根据非常简单的规则执行存储器存取。如前文所述,图5示意性地展示DRAM组件中的传统写入阶段的时序图。在本发明中,传统命令用作向页面发送额外元数据的方法,使得当程序操作完成时,将完成组件的特殊页面,从而提供:页面内容外加元数据内容。
根据组件(快闪存储器/RAM等)的传统协议来写入数据。至少一个旗标(F1或F2)经设定以请求摘要或MAC服务。
可定义常规方法,例如当F2设定为“0”(F2=0)时,那么由主机提供DIGEST_value,而当F2设定为“1”(F2=1)时,那么由组件计算DIGEST_value。
在此内容中,很大好处是,在读取数据后,主机确保数据的完整性。
与往常一样,主机数据部分2包含主机需要存储的数据。
旗标块4的旗标中的一者(在实例中为第二旗标F2)经设定为请求摘要服务,而其它字段主机ID 5及新鲜度6可包含视情况由主机装置或软件应用程序发送的信息。
根据旗标F2的值执行摘要服务,例如:DIGEST_value=HASH(HOST_DATA|Metadata)。
现在参考图6中示意性展示的实例,我们可了解在数据写入存取期间请求认证服务时应用的不同方法。
如同在先前实例中,可使用组件(快闪存储器/RAM等)的传统协议来写入数据。
在此情况下,旗标F3经设定以请求认证服务。MAC值由主机装置或软件应用程序根据F2旗标的值提供。
因此,根据旗标F3的值执行认证服务,例如:MAC_value=MAC(Secret Key,HOST_DATA|Metadata)。
在此特定实例中,我们不仅获得数据完整性,而且获得数据认证。
这意味着当且仅当认证经验证时,才允许数据写入存取阶段。如果认证阶段是肯定的(意味着所得值通过),那么在组件内部执行写入操作。
参考图7,可接着进一步且更复杂的实例,其中先前实例的相同存储器组织的唯一区别是在所请求的服务的选择中涉及进一步旗标,例如F4及/或F5。
存储器装置通常接收要写入的数据,且即使在此情况下,主机数据部分2也含有主机需要存储的数据。
元数据部分3涉及检查新鲜度块6的值,从而允许选择可能反重放机制中的一者以用于避免对数据进行未经授权的双重存取。新鲜度块6中的替代机制的选择(例如)通过旗标F4及/或F5来实施。
例如,通过将旗标F4、F5的两个值设定为“0”,可选择单调计数器机制,从而允许检查MTC值是否大于前一个。
作为替代,通过将两个旗标F4、F5中的仅一者设定为“1”,可选择关于时间戳值的检查。显然,与功能性相关联的旗标必须被视为非限制性实例,因为含义可在位置及实际含义上变化。
作为进一步替代,始终作用于旗标F4、F5的逻辑值,其可经选择关于随机数值(即:伪数……)的检查。随机数值是在密码通信中仅使用一次的任意数字,其本质是随机数字。其通常是随机或伪随机数字。
许多随机数值还包含时间戳以确保准确的及时性,不过这需要组织之间的时钟同步。例如,添加客户端随机数(“cnonce”)有助于在某些方面提高安全性,如摘要存取认证中实施。
为了确保随机数仅被使用一次,其可根据时间变化(在其值中包含适当细粒度时间戳),或使用足够随机位产生以确保重复先前产生的值的概率微不足道的机会。
根据本发明,在计算及检查所提供的MAC值的匹配中还可涉及元数据部分3。但是,局部演算必须使用HOST-ID块5的私密密钥来执行。
如果所有检查是肯定的,那么对用户进行认证并因此更新记录从而获得数据完整性及源认证。
参考存储器装置100的存储器阵列50的写入存取阶段公开上述实例。
就读取存取阶段来说,使用组件(快闪存储器、DRAM、SRAM等)的传统默认协议读取数据。
如果元数据部分3的旗标块4的旗标中的一者以适当的方式设定,那么HOST ID块5执行所需检查。
在此状况下,设定“0”值意味着必须至少应用传统协议。
根据块内容执行认证服务:MAC或散列等等。一旦设定旗标,其可用先前解释的数个限制复位。
如果截获问题,那么主机装置接受或丢弃数据:例如,如果应检测到以下状况中的一者,那么可丢弃数据:
摘要错误→数据损坏
MAC错误→数据损坏或不可信等…
ECC服务→通过使用为此目的存储的最终用户元数据来校正数据。
优点是获得安全的组件配置。
事实上,在本公开中呈现的方法可用于改变组件寄存器(即,组件配置)。
例如,本发明的存储器管理方法允许针对不同组件(即针对不同存储器装置)实施数据/配置的统一安全存取。
更具体来说,可改变组件寄存器并获得安全的组件配置,例如:
驱动到输出驱动强度的通道校准
驱动到安全组件配置的存储器参数改变。
方法还可用于锁定存储器寄存器及配置,因此只有经认证及/或安全命令才可修改如何设定装置的操作。这意味着不可能改变配置值(如输出驱动强度等),而不被辨识为应用程序/软件的所有者。
所有这些干预是以安全的方式执行。例如,使用MAC选项对安全寄存器进行映射及管理,且仅超级用户(即,授权用户)才能对其进行更改。
作为替代,由摘要块7确保配置完整性。
总之,在本说明书中公开的方法允许针对例如NAND、快闪存储器、RAM或DRAM的不同存储器组件或装置实施数据及/或配置的统一及安全存取。
同时,对于没有命令集的存储器组件,也可确保数据的完整性及源的真实性。
总之,可以安全的方式配置存储器装置或组件,并进一步可确保配置完整性。
在前述具体实施方式中,参考形成其部分的附图,且其中通过说明展示特定实例。不同图之间的类似元件或组件可通过使用类似数字来识别。如应了解,本文各种实施例中展示的元件可经添加、交换及/或消除以便提供本公开的数个额外实施例。
另外,如应了解,图中提供的元件的比例及相对规模希望说明本公开的实施例,且不应以限制意义来理解。
如本文所使用,“数个”某物可指代此类事物中的一或多者。“多个”某物希望是两个或更多个。如本文中使用,术语“耦合”可包含电耦合、直接耦合及/或直接连接而没有中介元件(例如,通过直接实体接触)或与中介元件间接耦合及/或连接。术语耦合可进一步包含彼此协作或相互作用的两个或两个以上元件(例如,在因果关系中)。
虽然本文中已说明及描述了特定实例,但所属领域的一般技术人员应了解,经计算以实现相同结果的布置可替换所展示的特定实施例。本公开希望涵盖本发明的一或多项实施例的调试或变动。应理解,以说明性方式且非限制性方式进行上文描述。本发明的一或多个实例的范围应参考随附权利要求书以及此类权利要求书所授权的等效物的整个范围来确定。
上文描述希望是说明性而非限制性的。举例来说,上述配置(或其一或多个方面)可彼此组合使用。例如,所属领域的一般技术人员可在检视上文描述之后使用其它配置。摘要是为了允许读者快速确定本公开的性质。应理解,其不会用于解译或限制权利要求书的范围或含义。而且,在上文具体实施方式中,可将各种特征集中在一起以简化本公开。然而,权利要求书可不阐述在此公开的每一特征,因为配置可以所述特征的子集为特征。此外,配置可包含比在特定配置中公开的特征更少的特征。因此,所附权利要求书特此并入到具体实施方式中,其中权利要求独立地作为单独配置。应参考所附权利要求书连同此类权利要求所授权的等效物的全范围来确定本文公开的配置的范围。

Claims (30)

1.一种用于确保安全存储器存取的存储器装置,其包括:
第一可存取数据存储区,其经配置以存储数据;
第二可存取数据存储区,其经配置以存储元数据;
所述第二可存取数据存储区经组织成子字段的组,其包含至少第一组旗标及可由所述旗标中的一者的值选择的同一第二可存取存储区的至少另一字段。
2.根据权利要求1所述的存储器装置,其中所述旗标中的至少一者包括激活所述至少另一字段的指针或启用值。
3.根据权利要求1所述的存储器装置,其中所述第一可存取数据存储区包括含有所述存储器装置的主机装置需要存储的数据的主机数据部分。
4.根据权利要求1所述的存储器装置,其中两个存储器部分的所述存储器存取通过页面完成。
5.根据权利要求1所述的存储器装置,其中所述第二可存取数据存储区的所述子字段中的一者包括密码算法以验证数据完整性或消息认证。
6.根据权利要求5所述的存储器装置,其中所述密码算法包含摘要或消息认证码(MAC),其涉及密码散列函数及私密密码密钥。
7.根据权利要求6所述的存储器装置,其中MAC算法至少包含包含散列函数的密码原语。
8.根据权利要求1所述的存储器装置,其中所述第二可存取数据存储区包括元数据部分,其在单独的字段中包含:一组旗标、主机装置的ID字段、防重放机制及密码算法。
9.根据权利要求8所述的存储器装置,其中已经提供主机装置的所述ID字段来识别请求存取所述元数据部分的软件应用程序的ID。
10.根据权利要求1所述的存储器装置,其中所述第二可存取数据存储区的所述子字段中的至少一者包括可由所述旗标中的一者的所述值选择的防重放机制。
11.根据权利要求10所述的存储器装置,其中所述可选择防重放机制包含以下函数中的至少一者:单调计数器或随机数或时间戳。
12.一种确保对存储器装置的安全存储器存取的方法,其包括:
用经配置以存储数据的第一可存取数据存储区组织所述存储器装置;
用经配置以存储元数据的第二可存取数据存储区组织所述存储器装置;
将所述第二可存取数据存储区组织成子字段的组,其包含至少第一组旗标及可由所述旗标中的一者的值选择的同一第二可存取存储区的至少另一字段。
13.根据权利要求12所述的方法,其中所述旗标中的至少一者包括激活所述至少另一字段的指针或启用值。
14.根据权利要求12所述的方法,其中所述第一可存取数据存储区包括含有所述存储器装置的主机装置需要存储的数据的主机数据部分。
15.根据权利要求12所述的方法,其中所述第二可存取数据存储区的所述子字段中的至少一者包括可由所述旗标中的一者的所述值选择的防重放机制。
16.根据权利要求15所述的方法,其中所述可选择防重放机制包含以下函数中的至少一者:单调计数器或随机数或时间戳或类似防重放机制。
17.根据权利要求12所述的方法,其中所述第二可存取数据存储区的所述子字段中的一者包括密码算法以验证数据完整性或消息认证。
18.根据权利要求17所述的方法,其中所述密码算法是摘要或消息认证码(MAC),其涉及密码散列函数及私密密码密钥。
19.根据权利要求18所述的方法,其中MAC算法至少包含包含散列函数的密码原语。
20.根据权利要求12所述的方法,其中所述第二可存取数据存储区包括元数据部分,其在单独的字段中包含:一组旗标、主机装置的ID字段、防重放机制及密码算法。
21.根据权利要求20所述的方法,其中已经提供主机装置的所述ID字段来识别请求存取所述元数据部分的软件应用程序的ID。
22.根据权利要求12所述的方法,其中两个存储器部分的所述存储器存取通过页面完成。
23.一种包含主机装置及存储器装置的电子系统,所述存储器装置包括:
第一可存取数据存储区,其经配置以存储所述主机装置的数据;
第二可存取数据存储区,其经配置以存储元数据;
所述第二可存取数据存储区经组织成子字段或存储器块的组,其包含至少第一组旗标及可由所述旗标中的一者的值选择的至少另一字段。
24.根据权利要求23所述的系统,其中所述旗标中的所述至少一者包括指针或包含启用值以激活所述至少另一字段。
25.根据权利要求23所述的系统,其中所述第一可存取数据存储区包括含有所述主机装置需要存储的数据的主机数据部分且其中所述第二可存取数据存储区包括元数据部分,其在单独的字段或存储器块中包含:所述旗标组、主机装置的ID字段、防重放机制及密码算法。
26.根据权利要求25所述的系统,其中已经提供主机装置的所述ID字段来识别请求存取所述元数据部分的软件应用程序的ID。
27.根据权利要求23所述的系统,其中所述第二可存取数据存储区的所述子字段中的至少一者包括密码算法以验证数据完整性或消息认证。
28.根据权利要求27所述的系统,其中所述密码算法是摘要或消息认证码(MAC),其涉及密码散列函数及私密密码密钥。
29.根据权利要求28所述的系统,其中MAC算法至少包含包含散列函数的密码原语。
30.根据权利要求23所述的系统,其中所述主机装置直接连接到所述存储器装置或通过中间装置耦合到所述存储器装置。
CN201880100284.8A 2018-12-21 2018-12-21 确保安全的存储器存取的方法及装置 Pending CN113228025A (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/IB2018/001463 WO2020128547A1 (en) 2018-12-21 2018-12-21 Method and device to ensure a secure memory access

Publications (1)

Publication Number Publication Date
CN113228025A true CN113228025A (zh) 2021-08-06

Family

ID=65036845

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201880100284.8A Pending CN113228025A (zh) 2018-12-21 2018-12-21 确保安全的存储器存取的方法及装置

Country Status (4)

Country Link
US (1) US20210406410A1 (zh)
KR (1) KR20210104117A (zh)
CN (1) CN113228025A (zh)
WO (1) WO2020128547A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20230188469A1 (en) * 2021-12-10 2023-06-15 Cisco Technology, Inc. Systems and Methods for Automatically Adjusting a Time-Based Anti-Replay Window Size

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101432819A (zh) * 2006-05-04 2009-05-13 美光科技公司 用于在非易失性存储器装置中读取多电平单元的方法
CN101484904A (zh) * 2006-07-07 2009-07-15 桑迪士克股份有限公司 使用多用途控制结构的内容控制系统和方法
CN102324246A (zh) * 2010-04-30 2012-01-18 美光科技公司 用于存取位于存储器装置中的寄存器的方法、设备及系统
CN105122218A (zh) * 2013-03-14 2015-12-02 美光科技公司 包含训练、数据组织及/或遮蔽的存储器系统及方法
US20150350206A1 (en) * 2014-05-29 2015-12-03 Samsung Electronics Co., Ltd. Storage system and method for performing secure write protect thereof
CN108701081A (zh) * 2016-01-11 2018-10-23 美光科技公司 用于同时存取非易失性存储器的多个分区的设备和方法

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7194766B2 (en) * 2001-06-12 2007-03-20 Corrent Corporation Method and system for high-speed processing IPSec security protocol packets
US20070067644A1 (en) * 2005-08-26 2007-03-22 International Business Machines Corporation Memory control unit implementing a rotating-key encryption algorithm
FR2906380B1 (fr) * 2006-09-27 2008-12-19 Trusted Logic Sa Systeme et procede de securisation de donnees.
US20090052670A1 (en) * 2007-08-21 2009-02-26 Samsung Electronics Co., Ltd. Method and apparatus for storing digital content in storage device
IL187036A0 (en) * 2007-10-30 2008-02-09 Sandisk Il Ltd Re-flash protection for flash memory
US9411748B2 (en) * 2011-12-20 2016-08-09 Intel Corporation Secure replay protected storage
US9678760B2 (en) * 2014-08-01 2017-06-13 Samsung Electronics Co., Ltd. Memory card and storage system having authentication program and method for operating thereof
US9767045B2 (en) * 2014-08-29 2017-09-19 Memory Technologies Llc Control for authenticated accesses to a memory device
US9992223B2 (en) * 2015-03-20 2018-06-05 Nxp Usa, Inc. Flow-based anti-replay checking
US9934412B2 (en) * 2015-06-23 2018-04-03 Microsoft Technology Licensing, Llc Implementing replay protected storage

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101432819A (zh) * 2006-05-04 2009-05-13 美光科技公司 用于在非易失性存储器装置中读取多电平单元的方法
CN101484904A (zh) * 2006-07-07 2009-07-15 桑迪士克股份有限公司 使用多用途控制结构的内容控制系统和方法
CN102324246A (zh) * 2010-04-30 2012-01-18 美光科技公司 用于存取位于存储器装置中的寄存器的方法、设备及系统
CN105122218A (zh) * 2013-03-14 2015-12-02 美光科技公司 包含训练、数据组织及/或遮蔽的存储器系统及方法
US20150350206A1 (en) * 2014-05-29 2015-12-03 Samsung Electronics Co., Ltd. Storage system and method for performing secure write protect thereof
CN108701081A (zh) * 2016-01-11 2018-10-23 美光科技公司 用于同时存取非易失性存储器的多个分区的设备和方法

Also Published As

Publication number Publication date
WO2020128547A1 (en) 2020-06-25
US20210406410A1 (en) 2021-12-30
KR20210104117A (ko) 2021-08-24

Similar Documents

Publication Publication Date Title
US9892783B2 (en) Non-volatile memory device including memory cells having variable resistance values
US11748276B2 (en) Refresh and access modes for memory
US20170046281A1 (en) Address dependent data encryption
US11669251B2 (en) Data lines updating for data generation
US11783044B2 (en) Endpoint authentication based on boot-time binding of multiple components
US11748273B2 (en) Secure data communication with memory sub-system
JP6793044B2 (ja) 不揮発性メモリ装置
KR20210132723A (ko) 메모리에서의 데이터 증명
JP2022528072A (ja) 安全な電子制御装置更新のためのローカル台帳ブロックチェーン
CN110008148B (zh) 存储器控制器以及用于对存储模块进行访问控制的方法
JP2022527069A (ja) ランタイムコード実行検証
US20230057638A1 (en) Session Access to Files in a File System Mounted in a Secure Memory Device
US12120100B2 (en) Secure communication between an intermediary device and a network
CN113228025A (zh) 确保安全的存储器存取的方法及装置
KR20210132211A (ko) 메모리 커맨드들의 블록 체인 기반 검증
KR20210132730A (ko) 메모리를 블록 체인의 블록으로 사용하는 방법
CN113826071A (zh) 空中更新确认
US9531535B2 (en) Secure memories using unique identification elements
US20230082136A1 (en) Storage device, method for generating key in storage device, and method for performing certification of storage device
US20240323016A1 (en) Verify Public Keys by Devices without Secrets for the Generation of Respective Private Keys
US20240184875A1 (en) Methods, devices and systems with authenticated memory device access transactions
TW202403773A (zh) 半導體裝置及用以管理其之安全操作的系統與方法
CN118036095A (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
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20210806