CN112395651A - 存储器装置及用于操作存储器装置的方法 - Google Patents

存储器装置及用于操作存储器装置的方法 Download PDF

Info

Publication number
CN112395651A
CN112395651A CN202010269134.9A CN202010269134A CN112395651A CN 112395651 A CN112395651 A CN 112395651A CN 202010269134 A CN202010269134 A CN 202010269134A CN 112395651 A CN112395651 A CN 112395651A
Authority
CN
China
Prior art keywords
memory
information authentication
authentication code
command sequence
memory device
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.)
Granted
Application number
CN202010269134.9A
Other languages
English (en)
Other versions
CN112395651B (zh
Inventor
陈嘉荣
张钦鸿
张坤龙
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.)
Macronix International Co Ltd
Original Assignee
Macronix International Co Ltd
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 Macronix International Co Ltd filed Critical Macronix International Co Ltd
Publication of CN112395651A publication Critical patent/CN112395651A/zh
Application granted granted Critical
Publication of CN112395651B publication Critical patent/CN112395651B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • 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
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • 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
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/088Usage controlling of secret information, e.g. techniques for restricting cryptographic keys to pre-authorized uses, different access levels, validity of crypto-period, different key- or password length, or different strong and weak cryptographic algorithms
    • 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/3263Cryptographic 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 certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Human Computer Interaction (AREA)
  • Computer Hardware Design (AREA)
  • Power Engineering (AREA)
  • Software Systems (AREA)
  • Storage Device Security (AREA)
  • Control Of Eletrric Generators (AREA)
  • Magnetically Actuated Valves (AREA)

Abstract

本发明公开了一种存储器装置及用于操作存储器装置的方法,可包括存储器及接收命令序列的接口。命令序列中提供了信息认证码(MAC)。存储器装置上的控制电路包括命令译码器以译码经接收的命令序列且执行经识别的存储器操作。信息认证引擎包括用于计算一信息认证码的逻辑,所述信息认证码是基于经接收的命令序列及存储的密钥来计算与经接收的信息认证码匹配的值。存储器装置可在存储器中存储与一或多个存储器区相关联的多个密钥。若经计算的值与经接收的信息认证码不匹配,则装置上的逻辑阻止完成由命令序列进行识别的存储器操作。

Description

存储器装置及用于操作存储器装置的方法
技术领域
本发明是关于存储器安全,且特别是关于基于信息认证码的存储器装置及用于操作存储器装置的方法。
背景技术
存储器装置包括集成电路存储器装置正广泛在各种设置中使用。此外,通信技术变得更加多样化及广泛。这些技术支持各种新类型装置,例如物联网(Internet ofThings;IoT)装置及类似者。
因此,需要提供一种用于改良存储于此类装置上数据的信息安全技术。
发明内容
本发明的一个方面公开了一种存储器装置,其中存储器装置的存储器空间可经分成由信息认证协议保密的一或多个存储器区。
存储器装置的实施例可包括存储器及接口,在所述接口上接收命令序列,其中,该命令序列用以识别存储器操作及存储器中的存储器区。所述命令序列中提供了信息认证码(message authentication code;MAC),其中,所述信息认证码为第一信息认证码,且在接口处接收。存储器装置上的控制电路可操作地耦接至接口,且控制电路包括命令译码器,以译码经接收的命令序列,且执行经识别存储器操作。信息认证引擎可操作地耦接至控制电路及接口,信息认证引擎包括用于计算第二信息认证码的逻辑,其中,所述第二信息认证码为使用经接收的全部或部分的命令序列,以及与存储于存储器装置上的信息认证参数来计算,该信息认证参数与所述经识别的所述存储器区的相关联存储。判断该第二信息认证码与经接收的第一信息认证码是否相匹配。存储器装置可包括信息认证参数存储器,从而存储与存储器中的一或多个存储器区相关联的多个信息认证参数,例如加密密钥。信息认证参数用于计算与经接收的所述第一信息认证码匹配的值,信息认证参数可由经接收的命令序列中的地址来识别。若计算的第二信息认证码与经接收的所述第一信息认证码不匹配时,则信息认证引擎可包括一逻辑,该逻辑用以阻止由命令序列进行识别的存储器操作被完成。
在本发明中所描述的实施例中,存储器装置包括控制用于存储器中多个存储器区中的对应存储器区的认证标识状态的逻辑。基于将经计算的所述第二信息认证码的计算值与经接收的所述第所述第一信息认证码进行匹配来控制多个存储器区中对应存储器区的认证标识状态的逻辑,即设置认证标识。所述逻辑响应于对应经识别存储器区的认证标识状态来使能(enable)或禁能(disable)完成经识别的存储器操作。
在本发明中所描述的实施例中,判定经计算的所述第二信息认证码是否与经接收的所述第一信息认证码匹配;若经计算的所述第二信息认证码与经接收的所述第一信息认证码匹配,则设置存储器区标识;以及若未针对经识别的所述存储器区设置所述存储器区标识,则阻止完成所述存储器操作。
存储器及信息认证引擎可配置于独立的集成电路芯片上或配置于单个集成电路芯片上。在一些实施例中,存储器及信息认证引擎可配置于由实体安全链路连接的独立集成电路芯片上。在一些实施例中,存储器及信息认证引擎可配置于多芯片封装中的独立集成电路芯片上。
在本发明中所描述的技术中使用的信息认证协议可使用命令序列的全部或部分以计算所述第二信息认证码。命令序列可包括用于命令、地址、临时标识、标头数据以及其他要素的操作码,且对于写入操作,包括待写入的数据。命令序列的全部或部分的真实性及完整性可由信息认证协议来保密。
产生命令序列的主机上的互补逻辑使用共享的信息认证参数或加密密钥,以及生成的命令序列,以产生随命令序列提供的信息认证码。
本发明的一个方面公开了一种用于操作存储器装置的方法,所述方法包括将与存储器区相关联的信息认证参数存储于存储器装置上;接收用以识别存储器操作及存储器区的命令序列,以及用于命令序列的所述第一信息认证码;使用命令序列的全部或部分以及与存储器区相关联的信息认证参数来计算所述第二信息认证码的值;以及若经计算的所述第二信息认证码与经接收的所述第一信息认证码不匹配,则阻止完成由命令序列进行识别的存储器操作。
在审阅接下来的附图、实施方式以及权利要求书之后可见本发明中所描述的技术的其他实施例及优势。
附图说明
图1为主机及包括本发明所描述的信息认证码安全引擎的集成电路存储器的示意图。
图2为利用信息认证码来操作例如图1中所展示的存储器装置的方法的示意图。
图3为包括主机及由本发明所描述的安全引擎支持的存储器装置的系统的示意性方块图。
图4为操作与图3的装置类似的装置的方法的示意图。
图5为包括耦接至多芯片封装的主机的系统的示意性方块图,所述多芯片封装包括经配置以执行信息认证协议的安全芯片及存储器芯片。
【符号说明】
1、301:存储器装置
2、300、500:主机
5:输入输出电路
10:控制电路
11:参数缓存器组
20、305:MAC安全引擎
30:地址线
40:译码器
45、65:存取线
60:存储器阵列
70:页缓冲器
75:数据线
85:通信链路
90:输入输出缓冲器
100、101、102、103、400、401、402、403、404、405、406、407、408、409、410、411:步骤
302、502:输入参数
303、503:输入MAC
304:命令接口
310:数据存储器
311:易失性或非易失性存储器
320:向量存储器
321:密钥存储器
322:计数器
501:安全芯片
511:控制链路
512:输入输出链路
521:存储器芯片
530:接收器电路
531、532、541、542:连接衬垫
540:发射器电路
Z0、Z1、Z2、Z3、Z4、Z5:存储器区
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明进一步详细说明。
参考图1至图5提供本发明的实施例的详细描述。
图1为包括存储器装置1及经配置用于存取存储器装置1的主机2的存储器系统的示意图。主机2及存储器装置1包括互补逻辑,以用于在与存储器装置1的通信中利用信息认证码,所述信息认证码可用以认证在存储器装置1处经由通信链路85接收的命令序列。
主机2与存储器装置1之间的通信链路85可包括网络或总线系统,所述网络或总线系统包括主机2及存储器装置1上的接口电路,例如串列周边接口(serial peripheralinterface;SPI)总线、快速周边元件互连协议(peripheral component interconnectexpress;PCIE)总线、以太网络连接(ethernet connection)或与主机2及存储器装置1兼容的其他系统。此外,链路85可为无线链路,所述无线链路由主机2及存储器装置1上的无线电电路支持或可由所述主机2及所述存储器装置1存取。在一些实施例中,链路可包括点对点连接协议(point to point connection protocol)。在一些实施例中,链路可支持分组交换协议(packet switched protocol),例如因特网协议(internet protocol)。此外,在一些实施例中,链路可支持电路交换协议(circuit switched protocol)。
主机2可包括通用处理器、特殊用途处理器、经配置为存储器控制器的处理器或使用或控制存储器装置1的其他处理器。存储器装置1及主机2可实施于单个电路板上。在其他实施例中,主机2可为实体或虚拟远程服务器(physical or virtual remote server)、基于云的平台(cloud-based platform)或经由局域网络(local area network)连接至存储器装置1的服务器。可使用各种主机组态。主机2包括安全逻辑(security logic)及处理器资源,用以支持与存储器装置1之间的信息认证协议,且特别是信息认证协议的源侧部分(source side portion)。在一些实施例中,主机2可包括支持信息认证协议的接收器侧部分的资源,以处理与存储器装置1的通信。
存储器装置1包括存储器,在此实施例中包括存储器阵列60。译码器40耦接至多个存取线45,例如字线(word line)、区块选择线(block select line)以及串选择线(stringselect line)等,且沿存储器阵列60中的列进行配置。页缓冲器70耦接至存储器阵列60中的多个存取线65,例如位线,以用以从存储器阵列60读取数据及将数据写入至存储器阵列60。
输入输出(Input/Output;IO)电路5连接至链路85,在所述输入输出电路上接收用以识别存储器操作及存储器中经识别存储器区的命令序列,在接口上接收所述命令序列中另包括了第一信息认证码(MAC)。输入输出电路5向地址线30、用以实施命令译码器及控制器模块的控制电路10、页缓冲器70以及译码器40提供地址。
页缓冲器70包括电路,所述电路配置为响应于用以设定待执行的存储器存取操作的数据值及控制信号来选择性地向存储器中的位线施加写入电压(program voltages)及抑制电压(inhibit voltages)。此外,页缓冲器70可包括用于从存储器阵列60读取数据的感测电路。
数据经由数据线75及输入输出缓冲器90移入至页缓冲器70并从页缓冲器70移出,所述输入输出缓冲器又经由数据路径30耦接至输入输出电路5。
在图1中所绘示的实施例中,控制电路10包括实施一或多个偏置配置状态机(biasarrangement state machine)的控制模块,所述偏置配置状态机控制经由装置上的一或多个电压供应产生或提供的供电电压的应用,例如用于可选的写入、擦除以及读取操作集合的读取电压、验证电压以及写入电压。
控制电路10视需要耦接至输入输出缓冲器90及存储器阵列60以及集成电路的其他元件。控制电路10中的控制模块包括逻辑以控制存储器操作。
控制电路10可包括使用本领域中已知的特殊用途逻辑电路来实施的模块。在替代性实施例中,控制电路10可包括使用通用处理器来实施的模块,所述通用处理器可以在相同的集成电路上实现,所述集成电路执行计算机程序以控制存储器装置1的操作。在其他实施例中,特殊用途逻辑电路及通用处理器的组合可用于实施控制电路10中的模块。
在所说明的实施例中,参数缓存器组11包括于存储器装置1上,且耦接至电路10中的控制模块。参数缓存器组11中的参数缓存器可存储用于多个写入操作、擦除操作以及读取操作的参数,所述操作回应于经由链路85从主机2接收的命令序列而执行。举例而言,参数缓存器可存储不同写入及读取操作中使用的写入验证电压位准及读取电压位准。此外,参数缓存器可存储写入化算法(例如增量步进脉冲写入(incremental stepped pulseprogramming;ISPP)算法)中使用的写入序列的细节,例如脉冲高度、脉冲宽度以及脉冲量值增量(pulse magnitude increment)。
存储器阵列60可包括经配置为NAND闪存的浮动栅极存储单元或介电电荷捕获存储单元,其使用二维或三维阵列技术实施所述NAND闪存。在其他实施例中,存储器阵列60可经配置为NOR闪存或AND闪存。存储器阵列60可包括其他类型的存储器,包括只读存储器、一次写入存储器、SRAM以及DRAM。存储单元可包括可编程电阻存储单元(programmableresistance memory cells),举例来说,基于例如金属氧化物存储器材料的相变存储器(phase change memory)及ReRAM存储器。亦可使用其他类型的存储单元及存储器架构。
在此实施例中,存储器装置1中的存储器包括存储器阵列60,存储器阵列60包括多个存储器区Z0至存储器区Z5,尽管可以是任何数目。所述存储器区包括存储器阵列60中地址空间的各别部分,对所述存储器区的存取可通过在地址空间的各别部分内的地址来识别。存储器区可具有任何实际大小。存储器区可具有对应于存储器阵列60的实体分区的边界,例如闪存中的擦除区块边界、对应于存储器阵列中的可分割布局区的扇区边界、存储器阵列中的平面、存储器阵列中的存储器组或其他类型的分区。存储器区亦可具有对应于存储器阵列60的逻辑分区的边界,所述逻辑分区例如仅由不受实体分区限制的地址范围所指定。
在本发明中所描述的实施例中,判定经计算的所述第二信息认证码是否与经接收的所述第一信息认证码匹配;若经计算的所述第二信息认证码与经接收的所述第一信息认证码匹配,则设置存储器区标识;以及若未针对经识别的所述存储器区设置所述存储器区标识,则阻止完成所述存储器操作。
存储器装置1包括可操作地耦接至控制电路10的MAC安全引擎20,可包括:信息认证参数存储器,用于与存储器中的一或多个存储器区相关联的一或多个信息认证参数;所述存储器装置1包括用于计算第二信息认证码(MAC)的逻辑,其中,所述第二信息认证码为使用经接收的命令序列,以及所述信息认证参数存储器中与经识别存储器区相关联存储的信息认证参数来计算,其中,所述第二信息认证码再与经接收的所述第一信息认证码决定是否相匹配,且若经计算的所述第二信息认证码与经接收的所述第一信息认证码不匹配,则阻止完成由命令序列进行识别的存储器操作。出于存取存储器阵列60的目的,MAC安全引擎20支持信息认证码的使用。MAC安全引擎20可为多个存储器区中的多个单独存储器区中的每一者存储唯一的信息认证参数,例如MAC密钥。在一些实施例中,多个存储器区中超过一个存储器区可共享信息认证参数,实际上增大使用单个MAC密钥可存取的地址范围的大小。MAC安全引擎20可包括缓存器、缓冲器以及用作参数存储的其他存储器资源,包括密钥及标识,以及支持第二信息认证码(MAC)的值的计算的工作存储器。通过使用逻辑电路、以通用处理器的软件实现的逻辑以及逻辑电路与处理器的组合可以实现MAC安全引擎20。逻辑可包括根据标准化MAC协议及根据其他类型的MAC协议配置的状态机。MAC安全引擎20可以可操作地耦接至控制电路10,或直接耦接至输入输出电路5,以接收传入的命令序列及第一信息认证码MAC。此外,MAC安全引擎20可直接地或经由控制电路10可操作地耦接至存储器装置1的元件,以便基于信息认证协议的结果实现存储器操作、阻止完成存储器操作以及覆盖(override)存储器操作。
MAC可用于认证命令序列的来源及其完整性中的一或两者。一种类型经称为基于密钥散列的信息认证码(keyed-hash based message authentication code;HMAC)。HMAC可具有两个功能上相异的参数、信息输入(例如,在此情形下,所有命令序列的部分)以及仅消息源及预期接收器知晓的秘密密钥。由消息源使用的HMAC函数产生一个值(MAC),所述值通过压缩秘密密钥及信息输入形成。MAC通常与信息一起发送至信息接收器。接收器使用与发送器所使用相同的密钥及HMAC函数来计算经接收信息中的MAC,且将计算的结果与经接收的MAC比较。若两个值匹配,则信息已正确接收,且接收器保证发送器为共享密钥的使用者团体的成员。参见FIPS PUB 198-1,「密钥散列信息认证码(HMAC)(The Keyed-HashMessage Authentication Code(HMAC))」,2008年7月,其以引述的方式并入本发明,如在本发明中充分阐述。
另一个可用于产生MAC的加密机制包括对加密区块链(cipher block chaining;CBC)技术的调适以提供真实性的保障。具体而言,初始化向量为零的CBC技术应用于待认证的数据(例如命令序列);产生CBC输出的最终区块,其可能被截断,作为数据的信息认证码(MAC)。一种以此方式产生MAC的算法通常称作CBC-MAC。
称作具有加密区块链-信息认证码(Cipher Block Chaining-MessageAuthentication Code)的计数器(缩写为CCM)的算法可提供命令序列机密性及真实性保障。参见,NIST特别出版800-38C,「区块加密操作模式的建议:用于认证及机密性的CCM模式(Recommendation for Block Cipher Modes of Operation:The CCM Mode forAuthentication and Confidentiality)」,2004年5月,所述出版物以引入的方式并入本发明,如在本发明中充分阐述。
被称作伽罗瓦计数器模式(Galois/Counter Mode;GCM)的另一算法可用于对相关联的数据进行认证加密。GCM由经允许的对称密钥区块密码构成,例如美国联邦信息处理标准(Federal Information Processing Standard;FIPS)版本197中规定的高级加密标准(Advanced Encryption Standard;AES)算法。因此,GCM为AES算法的操作模式。
GCM使用加密操作的计数器模式的变化来提供数据机密性的保障。GCM使用在二进制伽罗瓦(Galois)(亦即有限)域上定义的通用散列函数来提供机密数据中大档案(例如,每次调用至多约64千兆位组(gigabytes))的真实性保障。GCM亦可为未加密的额外数据(实际上每次调用无限长度)提供认证保障。
若GCM输入受限于未经加密数据,则GCM的特化结果称作GMAC,其仅为输入数据的认证模式。参见,NIST特别出版800-38D,「区块加密操作模式的建议:伽罗瓦计数器模式(GCM)及GMAC(Recommendation for Block Cipher Modes of Operation:Galois/CounterMode(GCM)and GMAC」,2007年11月,所述出版物以引用的方式并入本发明,如在本发明中充分阐述。
需要共享私用密钥的信息认证协议的安全取决于共享密钥的保密及管理。为此目的可使用各种技术。参见,NIST特别出版800-56A,修订版2,「使用离散对数密码学的双智能密钥建立方案的建议(Recommendation for Pair-Wise Key Establishment SchemesUsing Discrete Logarithm Cryptography)」,2013年5月,所述出版物以引入的方式并入本发明,如本发明中充分阐述。
一般而言,参看图2,其描述由控制电路10及MAC安全引擎20中的逻辑及计算资源所支持的用于操作存储器装置1的方法。方法包括在存储器装置1上存储分配至多个存储器区中的每一存储器区的信息认证参阵列,例如MAC密钥。存储于存储器装置1上的信息认证参数可通过命令序列中使用的地址,以与由地址范围识别的对应存储器区相关联(步骤100)。举例而言,用于存取存储器区的地址可识别对应的所分配信息认证参数。
存储器装置1可从主机2接收用于经识别的存储器区的命令序列以及第一信息认证码(MAC)(步骤101)。为了支持信息认证协议,命令序列可包括存储器装置1中的读取或写入命令、与用以识别存储器区的存储器操作相关联的地址、以及写入操作下的数据,所述读取或写入命令包括芯片使能控制信号的断言(assertion),该断言由操作码接续,所述操作码包括地址及/或数据在线的字节的序列,所述字节的序列用以识别待执行的存储器操作。此外,命令序列使用额外要素进行补充,例如临时标识(nonce)、例如相关联数据的长度的参数、初始化值、用作封包标头(packet header)的明文字串(plaintext string)等。
在接收命令序列后,或在接收命令序列时,使用从命令序列的全部或部分导出的向量且使用存储于存储器装置1上的与经识别的存储器区相关联的信息认证参数来计算第二信息认证码MAC(步骤102)。
存储器装置可启动命令序列中经识别的存储器操作的执行,且并行计算第二信息认证码MAC,使得操作中的每一者中涉及的延迟(latency)在时间上交叠。举例而言,控制电路10可在完成计算第二信息认证码MAC之前开始由命令序列识别的存储器操作。若MAC不匹配,则控制电路在开始存储器操作执行之后禁能完成存储器操作。在其他实施例中,存储器装置1上的存储器操作的启动可经延迟或置于闲置状态中,直至确认MAC码,且所述完成存储器操作可通过阻止操作的启动来进行阻止。
方法包括若在存储器装置1上计算的值与所接收的第一信息认证码MAC不匹配,则阻止完成由命令序列进行识别的存储器操作(步骤103)。
在命令序列包括针对经识别存储器区的读取命令的情况下,控制电路可通过输出错误数据,例如全部零或全部一,来阻止存储器操作的完成。此外,在读取命令的情况下,控制电路可通过例如在输出上设置高阻抗三态(high impedance tri-state)来禁能输出驱动器而阻止完成存储器操作。
在命令序列包括针对经识别存储器区的写入命令的情况下,控制电路可通过在更改经识别存储器区中的数据之前中止写入操作来阻止存储器操作的完成。
图3为包括主机300及存储器装置301的系统的示意图,所述存储器装置301包括存储器装置301中的MAC安全引擎305的实施例。
存储器装置301包括数据存储器310中的多个数据区。数据区可包括数据存储器310中的存储器空间的相等大小部分。在一些实施例中,数据区可具有不同大小。在一些实施例中,所有数据存储器310可经分配至由MAC协议保密的数据区。在其他实施例中,仅部分数据存储器310可经分配至由MAC协议保密的存储器区。
主机300与存储器装置301之间的通信链路用于发送命令序列的输入参数302以及输入MAC303。存储器装置301上包括命令接口304,在所述接口上接收识别存储器操作及存储器中的经识别存储器区的命令序列的输入参数302,以及用于命令序列的MAC303。命令接口304将向量从输入参数302发送至向量存储器320及安全引擎305。
安全引擎305耦接至密钥存储器321,所述密钥存储器321将密钥[i]与数据存储器310中的数据区相关联。此外,安全引擎305可与计数器322连接,所述计数器322用于认证协定(authentication protocol)的一些实施方案中。
在所说明的实施例中,密钥存储器321存储密钥组,所述密钥组以安全方式与主机300共享加密密钥。密钥组包括单独密钥[i],i为0至N,其中存储器310中的存储器区的数目等于N+1,每一密钥[i]与多个存储器区中对应的存储器区相关联。在一些实施例中,超过一个存储器区可共享公共密钥[i]。在一些实施例中,单独密钥可用于所有存储器区。在一些实施例中,多个密钥中的每一密钥通过逻辑,例如可组态的查找表(lookup table),以映射至多个存储器区中一或多个对应的存储器区。藉此,分配至每一密钥的存储器空间的量(亦即,一或多个存储器区及不同大小的存储器区)可经配置为适用特定的设置。密钥存储器321及映射表(mapping table)包括易失性或非易失性存储器。
在一些实施例中,与存储器310中的一或多个存储器区相关联的地址范围可配置为使用存储于存储器装置301上的参数,例如起始地址(starting address)、范围参数(extent parameter)及结束地址(ending address)。在其他实施例中,可在制造中设置存储器区边界。
在图3中所说明的实施例中,存储器装置301包括用以存储认证标识(标识0至标识N中的一者用于数据存储器310中的每一数据区)的易失性或非易失性存储器311。通常,安全引擎305可通过以下操作来与存储器装置301上的控制电路协作:通过针对给定的命令序列的经计算第二信息验证码MAC来测试输入MAC,且在匹配后设置标识、针对对应数据区的标识、或命令序列的主题区域。在由命令序列识别的存储器操作完成之前,控制电路可测试标识。若在存储器操作完成之前未设置对应的标识或多个标识,则随后如上文所述阻止其完成。
图4为可由与图3的系统类似的系统执行的控制序列的流程图。序列包括执行用于经识别数据区的认证保密命令序列,包括计算MAC值(步骤400)。将计算的MAC值与所接收的MAC值相比较以判定认证协议是否通过(步骤401)。若计算的MAC值与所接收的MAC值匹配,则随后针对经识别数据区设置认证通过标识(步骤402)。若计算的MAC值不匹配,则随后针对经识别数据区复位认证通过标识(步骤403)。此后,或在时间上与计算MAC值重叠(overlap),如图中分支所示,执行经识别的操作,以执行对数据区的读取命令(步骤404),或执行对数据区的写入命令(步骤405)。在读取操作完成之前,检查对应数据区的认证通过标识(步骤406)。若未设置通过标识,则随后通过输出所有为一或所有为零或三态至所述输出驱动器来阻止读取命令的完成(步骤407)。若设置通过标识,则随后经由存储器装置301上的输入输出电路来输出读取数据(步骤408)。
在写入操作的完成之前,检查对应数据区的认证通过标识(步骤409)。若未设置通过标识,则随后通过在更改经识别存储器区中的数据之前中止写入操作且视情况输出非法命令通知(illegal command notification)来阻止写入命令的完成(步骤410)。若在步骤409处设置通过标识,则随后完成对数据区的写入数据操作(步骤411)。
图5说明包括多芯片封装的实施例,封装包括安全芯片501及存储器芯片521,其与命令序列的输入参数502以及输入MAC503通讯。在此实施例中,存储器及信息认证引擎配置于独立集成电路芯片上。安全芯片501及存储器芯片521可通过控制链路511与输入输出链路512而在连接衬垫531至连接衬垫541、以及连接衬垫532至连接衬垫542之间连接,并具有给定组态所需要的互连布线、接收器电路530与发射器电路540。控制链路511、输入输出链路512可以是保密封装内部或以其他方式阻止外部存取的实体安全链路。举例而言,在叠层芯片实施例中,连接衬垫531至连接衬垫541、连接衬垫532至连接衬垫542可包括球栅阵列(ball grid array)或硅穿孔(through silicon vias)。
安全芯片501亦可包括存储器控制器逻辑或其他功能性。在所说明的实施例中,安全芯片501包括类似于图3中的元件,所述元件给予相同的附图标号且不再描述。存储器芯片521不直接耦接至主机500。存储器芯片521可包括大规模NAND快闪装置,或其他类型的大规模存储器装置,例如DRAM或SRAM以及其他,所述存储器芯片包括多个数据区,如上述的数据区0至数据区N。在一些实施例中,多个存储器装置可经叠层,通常耦接至安全芯片501,其中信息认证协议的数据区主题(data zones subject)可位于叠层中的一或多个存储器装置上。
在此描述的存储器芯片包括安全引擎。数据存储器可分成多个数据区,且每一数据区可具有必须设置的标识以准许命令存取。每一标识可响应于认证方案(authentication scheme)(例如信息认证组合)来设置及复位。在一些实施例中,认证组合可包括认证引擎、密钥、向量以及计数器值。
安全芯片及存储器芯片或多个存储器芯片可封装于多芯片封装中。安全芯片可包括安全引擎。存储器芯片可经分成多个数据区,每一数据区具有认证标识,其允许根据信息认证方案通过特定命令进行存取。
本发明描述说明由存储器装置执行的逻辑的多个流程图。逻辑可使用存储于计算机系统可存取的存储器中的计算机程序所编码的处理器来实现,且可由处理器、专用逻辑硬件(包括现场可程序集成电路)以及专用逻辑硬件与计算机程序的组合执行。如同本发明中的所有流程图,应了解,可组合、并行执行或以不同顺序执行许多步骤而不影响所达成的功能。在一些情况下,如读者了解,只要进行某些其他改变,则步骤的重新配置将达成相同结果。在其他情况下,如读者了解,只要符合某些条件,则步骤的重新配置将达成相同结果。此外,将了解,本发明中的流程图仅展示与理解本发明有关的步骤,且将理解,可在所展示的那些步骤之前、之后以及之间执行用于实现其他功能的大量额外步骤。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种存储器装置,包括:
存储器;
接口,在所述接口上接收命令序列,其中,所述命令序列用以识别存储器操作及所述存储器中的存储器区,其中,所述命令序列另包括第一信息认证码;
控制电路,可操作地耦接至所述接口,包括命令译码器,以译码经接收的所述命令序列,且执行经识别所述存储器操作;以及
信息认证引擎,可操作地耦接至所述控制电路,包括用于计算第二信息认证码的逻辑,所述第二信息认证码为使用经接收的全部或部分的所述命令序列,以及与所述经识别的所述存储器区的相关联存储的信息认证参数来计算,
其中,判断所述第二信息认证码与经接收的所述第一信息认证码是否相匹配,若经计算的所述第二信息认证码与经接收的所述第一信息认证码不匹配时,则阻止完成由所述命令序列进行识别的所述存储器操作。
2.根据权利要求1所述的存储器装置,还包括信息认证参数存储器,所述信息认证参数存储器用于与所述存储器中一或多个存储器区相关联的多个信息认证参数,其中所述多个信息认证参数包括加密密钥,每一加密密钥映射至所述多个存储器区中的一或多个对应存储器区。
3.根据权利要求1所述的存储器装置,包括基于将经计算的所述第二信息认证码与所述接收的所述第一信息认证码进行匹配来控制多个存储器区中对应存储器区的认证标识状态的逻辑,且响应于对应经识别的所述存储器区的所述认证标识所述状态来使能或禁能完成经识别的所述存储器操作。
4.根据权利要求1所述的存储器装置,其中所述存储器及所述信息认证引擎配置于独立集成电路芯片上,或配置于由实体安全链路连接的独立集成电路芯片上。
5.根据权利要求1所述的存储器装置,还包括逻辑,用以判定经计算的所述第二信息认证码是否与经接收的所述第一信息认证码匹配;
若经计算的所述第二信息认证码与经接收的所述第一信息认证码匹配,则设置存储器区标识;以及
若未针对经识别的所述存储器区设置所述存储器区标识,则阻止完成所述存储器操作。
6.根据权利要求1所述的存储器装置,其中所述命令序列包括用于命令以及临时标识的操作码,且其中所述命令序列的所述全部或部分包括所述临时标识。
7.一种用于操作存储器装置的方法,包括:
将与存储器区相关联的信息认证参数存储于多个存储器区中;
接收用以识别存储器操作及所述存储器区的命令序列,及用于所述命令序列的第一信息认证码;
使用所述命令序列的全部或部分以及与所述存储器区相关联的所述信息认证参数来计算第二信息认证码的值;以及
若经计算的所述第二信息认证码与经接收的所述第一信息认证码不匹配,则阻止完成由所述命令序列进行识别的所述存储器操作。
8.根据权利要求7所述的用于操作存储器装置的方法,还包括在完成计算所述值之前开始执行所述存储器操作,且若经计算的所述第二信息认证码与经接收的所述第一信息认证码不匹配,则禁能完成所述存储器操作。
9.根据权利要求7所述的用于操作存储器装置的方法,其中所述命令序列包括针对经识别的所述存储器区的读取命令,且阻止完成所述存储器操作包括输出错误数据或禁能输出驱动器。
10.根据权利要求7所述的用于操作存储器装置的方法,其中所述命令序列包括针对所述存储器区的写入命令,且阻止完成所述存储器操作包括在更改所述存储器区中的数据之前中止所述写入操作。
CN202010269134.9A 2019-08-14 2020-04-08 存储器装置及用于操作存储器装置的方法 Active CN112395651B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/541,009 2019-08-14
US16/541,009 US11050569B2 (en) 2019-08-14 2019-08-14 Security memory scheme

Publications (2)

Publication Number Publication Date
CN112395651A true CN112395651A (zh) 2021-02-23
CN112395651B CN112395651B (zh) 2024-06-25

Family

ID=74567904

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010269134.9A Active CN112395651B (zh) 2019-08-14 2020-04-08 存储器装置及用于操作存储器装置的方法

Country Status (3)

Country Link
US (1) US11050569B2 (zh)
CN (1) CN112395651B (zh)
TW (1) TWI775033B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114527933A (zh) * 2022-01-06 2022-05-24 长江存储科技有限责任公司 存储器操作方法、存储器及存储系统

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11722291B1 (en) * 2021-08-11 2023-08-08 Cadence Design Systems, Inc. Device and method for low-latency and encrypted hardware layer communication

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105320895A (zh) * 2014-06-16 2016-02-10 德州仪器公司 用于联机加密处理的高性能自主硬件引擎
CN107667499A (zh) * 2015-06-26 2018-02-06 英特尔公司 带密钥散列消息认证码处理器、方法、系统和指令
US20190050347A1 (en) * 2018-07-25 2019-02-14 Intel Corporation Memory data protection based on authenticated encryption

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2668278A1 (fr) * 1990-10-19 1992-04-24 Gemplus Card Int Procede pour la ratification de codes secrets pour cartes a memoires.
US7124302B2 (en) * 1995-02-13 2006-10-17 Intertrust Technologies Corp. Systems and methods for secure transaction management and electronic rights protection
US5774545A (en) 1996-03-28 1998-06-30 Lucent Technologies Inc. Method and apparatus for enhancing security in and discouraging theft of VLSI and ULSI devices
US5991519A (en) * 1997-10-03 1999-11-23 Atmel Corporation Secure memory having multiple security levels
US6026016A (en) * 1998-05-11 2000-02-15 Intel Corporation Methods and apparatus for hardware block locking in a nonvolatile memory
US7587368B2 (en) * 2000-07-06 2009-09-08 David Paul Felsher Information record infrastructure, system and method
US6795899B2 (en) * 2002-03-22 2004-09-21 Intel Corporation Memory system with burst length shorter than prefetch length
US7444682B2 (en) * 2002-07-03 2008-10-28 Macronix International Co., Ltd. Security memory device and method for making same
US20060059368A1 (en) * 2004-09-10 2006-03-16 International Business Machines Corporation System and method for processing by distinct entities securely configurable circuit chips
WO2006069312A2 (en) * 2004-12-21 2006-06-29 Sandisk Corporation System for creating control structure for versatile content control
US8000502B2 (en) * 2005-03-09 2011-08-16 Sandisk Technologies Inc. Portable memory storage device with biometric identification security
US8639939B2 (en) * 2006-07-07 2014-01-28 Sandisk Technologies Inc. Control method using identity objects
JP2010066848A (ja) * 2008-09-09 2010-03-25 Toshiba Storage Device Corp 記憶装置の管理方法及び記憶装置、並びに記憶システム
US8328104B2 (en) * 2009-03-30 2012-12-11 Condel International Technologies Inc. Storage device management systems and methods
JP5604929B2 (ja) * 2010-03-29 2014-10-15 ソニー株式会社 メモリ装置およびメモリシステム
TW201403375A (zh) * 2012-04-20 2014-01-16 歐樂岡科技公司 用於安全購買之安全區
JP2015122620A (ja) * 2013-12-24 2015-07-02 富士通セミコンダクター株式会社 認証システム、認証方法、認証装置、及び、被認証装置
US9658787B2 (en) * 2014-02-26 2017-05-23 Macronix International Co., Ltd. Nonvolatile memory data protection using nonvolatile protection codes and volatile mask codes
US9779232B1 (en) * 2015-01-14 2017-10-03 Sprint Communications Company L.P. Trusted code generation and verification to prevent fraud from maleficent external devices that capture data
US10114958B2 (en) * 2015-06-16 2018-10-30 Microsoft Technology Licensing, Llc Protected regions
US10715340B2 (en) * 2016-08-04 2020-07-14 Macronix International Co., Ltd. Non-volatile memory with security key storage
US10769299B2 (en) * 2018-07-12 2020-09-08 Capital One Services, Llc System and method for dynamic generation of URL by smart card

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105320895A (zh) * 2014-06-16 2016-02-10 德州仪器公司 用于联机加密处理的高性能自主硬件引擎
CN107667499A (zh) * 2015-06-26 2018-02-06 英特尔公司 带密钥散列消息认证码处理器、方法、系统和指令
US20190050347A1 (en) * 2018-07-25 2019-02-14 Intel Corporation Memory data protection based on authenticated encryption

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114527933A (zh) * 2022-01-06 2022-05-24 长江存储科技有限责任公司 存储器操作方法、存储器及存储系统

Also Published As

Publication number Publication date
TWI775033B (zh) 2022-08-21
TW202107285A (zh) 2021-02-16
US20210051020A1 (en) 2021-02-18
CN112395651B (zh) 2024-06-25
US11050569B2 (en) 2021-06-29

Similar Documents

Publication Publication Date Title
US11411747B2 (en) Nonvolatile memory device with regions having separately programmable secure access features and related methods and systems
US7657754B2 (en) Methods and apparatus for the secure handling of data in a microcontroller
US9489540B2 (en) Memory controller with encryption and decryption engine
CN107846396B (zh) 存储器系统及其与主机之间的绑定方法
CN111131130B (zh) 密钥管理方法及系统
CN102411694B (zh) 加密装置及存储器系统
US10809925B2 (en) Configurable security memory region
CN113748698B (zh) 存取网络时的安全通信
US10180804B1 (en) Obfuscation-enhanced memory encryption
US11683155B2 (en) Validating data stored in memory using cryptographic hashes
CN112395651B (zh) 存储器装置及用于操作存储器装置的方法
US11238166B2 (en) Data processing device and operating method therefor
US20210406407A1 (en) Block chain based validation of memory commands
US11228443B2 (en) Using memory as a block in a block chain
CN113826071A (zh) 空中更新确认
KR101656092B1 (ko) 비동기적인 인증을 갖는 보안 컴퓨팅 시스템
US20220138114A1 (en) Using memory as a block in a block chain
EP4191454A1 (en) Electronic device and method for performing permission management of storage device
TW202403773A (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
TG01 Patent term adjustment