存储器装置以及存储器芯片的存储器阵列信息的读取方法与流程
未命名
08-26
阅读:84
评论:0

1.本公开关于集成电路存储器装置,支持安全存储及检索,尤其涉及自集成电路存储器装置内的安全区提供高效能安全读取的命令译码器序列。
背景技术:
2.在现代信息存储技术中,已产生许多不同类型的存储器架构,诸如快闪、reram、eprom、pcm等;各自提供数字数据的存储且解决各种应用的不同需求及要求。
3.数字数据易于存储及传输;易于存取,然而,使得存储为数字数据的安全敏感数据容易经未授权方拦截及窃取。举例而言,若数字数据存储于外部存储器中,则诸如黑客的未经授权方可在总线上侦测以窃取数据。使问题更复杂的是,在应用中期望具有安全特征及读取/写入效能。
4.因此,需提供优化的机制来安全以及有效地读取所存储的数据。
技术实现要素:
5.存储器装置包括命令译码器,所述命令译码器实施安全逻辑以侦测读取存储器阵列的安全区的命令序列且呈加密形式输出读取数据的连续流以及用于数据的特定上下文的输出/输入。一些实施方案可在虚拟周期输出/输入特定上下文以达成更多效能。特定上下文包括随机数、虚拟周期单调计数器、固定值、唯一id以及其任何组合中的一个或多个。使用本公开所公开的技术,连接主机可例如执行单个命令以得到加密数据及用于加密数据的特定上下文。在一些实施例中,本公开所公开的技术在系统总线上呈密文形式实施传送数据且使用与用于前述传送操作中不同的nonce或不同的对话密钥加密。以此方式,数据将在不同对话处的总线上使用不同密文表示;由此防御回放攻击。
6.在代表性的安全命令机制实施方案中,存储器装置包括:存储器阵列,包括多个位线;输入/输出接口,用于i/o数据单元;数据路径电路,连接于存储器阵列与输入/输出接口之间;以及用于维持特定上下文的电路,结合加密信息使用。存储器装置具有安全引擎(或「密码引擎」),包括用于使用特定上下文将自存储器阵列所检索的信息进行加密且输出所加密信息以及特定上下文。命令译码器实施逻辑以响应于在输入/输出接口处接收到的命令而判定,自主机接收到的命令信息包括安全存储器读取命令,且以实质上同时触发执行:(i)输出自存储器阵列读取且由安全引擎加密的第一组信息以及特定上下文;(ii)使用安全引擎对自存储器阵列读取的第二组信息执行加密;以及(iii)将第三组信息自存储器阵列读取至缓冲器中以由安全引擎加密。通过重复此等活动直至达到存储器阵列中的地址的安全区域的指定末端,译码器及安全引擎可能够使得存储器装置提供加密信息的连续输出以及特定上下文。
7.在实施方案中,存储器装置的命令译码器亦实施逻辑以执行侦测所接收到的命令序列中的命令码字段及有效负载。译码器侦测命令码字段包括指示连续安全存储器读取的操作码,在所述连续安全存储器读取中自存储器阵列读取的信息在输出之前由存储器装置
的安全引擎来加密。命令译码器亦侦测有效负载包括:指向指示存储器阵列内的安全区的多个地址中的至少一个的地址,自存储器阵列读取信息;以及可配置的虚拟周期,在所述虚拟周期中输出特定上下文。可在各种实施方案中以不同方法用于配置虚拟周期,例如(1)。使用串行快闪可搜索参数(serial flash discoverable parameter;sfdp),详细描述可参考「应用批注sfdp介绍」公开案an114,旺宏电子股份有限公司(2011年9月);(2)使用由存储器芯片的制造商配置的只读信息阵列;或(3)使用允许用户定义的配置阵列。在一些实施方案中,可使用单独命令。在一些实施方案中,可用于配置虚拟周期次数以实现不同的频率。
8.一些存储器装置具有命令译码器,该命令译码器实施逻辑以执行侦测所接收到的命令序列中的命令码字段及有效负载。命令译码器可侦测命令码字段,该命令码字段包括一操作码,该操作码指示一接收特定上下文输入的操作。命令译码器亦侦测有效负载,该有效负载包括含有特定上下文信息的虚拟周期。特定上下文可存储于存储器装置中以供安全引擎在加密自存储器阵列读取的信息时使用。
9.存储器装置的一些实施方案包括用于维持特定上下文信息的电路,诸如用于产生虚拟随机数的电路、唯一id及/或物理不可复制函数(physical unclonable function;puf)码。
10.安全引擎可包括用于实施在输出之前自存储器阵列读取的数据的高级加密标准计数器(advanced encryption standard counter,aes-ctr)区块模式加密或在输出之前自存储器阵列读取的数据的伽罗瓦/计数器模式(galois/counter mode;gcm)区块模式加密的电路。
11.用于i/o数据单元的输入/输出接口可并行或1io、2io、4io、8io、1i2o、1i4o以及1i8o中的至少一个的串行/并行接口io。
12.在另一代表性的实施方案中,本公开提供的技术可提供用于自存储器芯片的存储器阵列执行信息的高效能安全读取的方法,该方法可包括由存储器芯片侦测自主机接收到的命令包括安全存储器读取命令。方法可还包括存储器芯片:通过实质上同时执行来触发读取、加密以及输出连续「波」中的信息的操作,输出自存储器阵列读取且由芯片上安全引擎加密的第一组信息以及用于将第一组信息加密的特定上下文;使用安全引擎,对自存储器阵列读取的第二组信息执行加密;以及将第三组信息自存储器阵列读取至缓冲器中以由安全引擎加密。通过重复此等活动直至达到存储器阵列中的地址的安全区域的指定末端,方法可由此提供加密信息以及特定上下文的连续输出。
13.在进一步代表性的实施方案中,本公开提供的技术可提供用于响应于处理多个命令序列而自存储器芯片的存储器阵列执行信息的高效能安全读取的方法,该方法可包括:由存储器芯片侦测自主机接收到的命令包括安全存储器读取命令;以及触发操作的执行包括:输入由芯片上安全引擎加密的一组信息以及用于将所述组信息加密的特定上下文;使用安全引擎以对自存储器阵列读取的第二组信息执行加密;将第三组信息自存储器阵列读取至缓冲器中以由安全引擎加密。
14.在又一进一步代表性的实施方案中,本公开提供的技术可提供用于响应于处理多个命令序列而自存储器芯片的存储器阵列执行信息的高效能安全读取的方法,该方法可包括由存储器芯片侦测自主机接收到的第一命令包括安全存储器读取请求命令,且作为响应触发操作的执行包括输入特定上下文以用于将自存储器阵列读出的信息加密。方法亦可包
括由存储器芯片侦测自主机接收到的第二命令包括安全存储器读取响应命令,且作为响应触发连续输出加密数据的操作的执行,包括:使用特定上下文,输出自存储器阵列读取且由芯片上安全引擎加密的第一组信息;使用安全引擎以对自存储器阵列读取的第二组信息执行加密;以及将第三组信息自存储器阵列读取至缓冲器中以由安全引擎加密。
15.安全芯片可为安全存储器或具有安全引擎的任何芯片的实施方案可实现。
16.在特定实施方案中,本公开提供的技术可提供容量以简化命令序列以执行安全连续读取且节省运行时间。
17.在审阅接下来的附图、详细描述以及权利要求范围之后可见本公开的其他方面及优势。
附图说明
18.图1为根据实施例的包括具有安全命令译码器的集成电路存储器装置的存储器系统的简化方块图;
19.图2为示出类似于图1的具有安全命令译码器的集成电路存储器装置的实施例的实例操作的数据流附图;
20.图3为示出在主机与具有安全命令译码器的集成电路存储器装置之间使用四个命令交互作用的实例的时序附图;
21.图4a为示出在主机与具有安全命令译码器的集成电路存储器装置之间使用命令交互作用于交换随机数信息的实例的时序附图;
22.图4b为示出在主机与具有安全命令译码器的集成电路存储器装置之间使用命令交互作用于交换特定上下文信息的实例的时序附图;
23.图4c为示出使用多个命令配置以将特定上下文信息自主机输入至具有安全命令译码器的集成电路存储器装置中的实例的时序附图;
24.图4d为示出在主机与具有安全命令译码器的集成电路存储器装置之间使用多个命令配置且返回mac以交换特定上下文信息的实例的时序附图;
25.图5a为示出类似于图1的在主机与具有安全命令译码器的集成电路存储器装置之间交换随机数信息的实例的系统附图;
26.图5b为示出类似于图1的在主机与具有安全命令译码器的集成电路存储器装置之间交换特定上下文的实例的系统附图;
27.图5c为示出类似于图1的将由主机产生的特定上下文与具有安全命令译码器的集成电路存储器装置交换的实例的系统附图;
28.图6为示出用于主机与具有安全命令译码器的集成电路存储器装置之间的高效能安全读取命令交互作用的连续加密工艺的实例的时序附图;
29.图7为示出用于类似于图1的系统的如本公开中所描述的安全命令译码器的区块编密计数器模式的数据流附图;
30.图8a为示出用于类似于图1的系统的如本公开中所描述的安全命令译码器的区块编密计数器模式操作的流程图;
31.图8b为示出用于类似于图1的系统的如本公开中所描述的用于产生例如认证标签的特定上下文以使用区块编密计数器模式操作来验证数据的完整性的工艺的流程图;
32.图9为示出用于类似于图1的系统的如本公开中所描述的安全命令译码器的区块编密计数器模式的数据流附图;
33.图10为示出用于类似于图1的系统的如本公开中所描述的安全命令译码器的区块编密计数器模式操作的流程图;
34.图11为示出用于类似于图1的系统的如本公开中所描述的使用用于安全命令译码器的特定上下文的gcm的经认证加密函数的数据流附图;
35.图12为示出用于类似于图1的系统的如本公开中所描述的用于产生例如认证标签的特定上下文以使用区块编密计数器模式操作来验证数据的完整性的工艺的流程图;
36.附图标记说明:
[0037]0128
:「0」区块;
[0038]
84、85、91、130:数据总线;
[0039]
97a、97a、97n:主机;
[0040]
98、t:认证标签;
[0041]
100:存储器装置;
[0042]
105:输入/输出接口;
[0043]
108:命令译码器;
[0044]
110:控制逻辑;
[0045]
111:状态机;
[0046]
112:安全引擎;
[0047]
114:地址产生器;
[0048]
115:频率产生器;
[0049]
116:密钥;
[0050]
117:高电压产生器;
[0051]
118:相关联数据;
[0052]
119:感测放大器;
[0053]
121:虚拟随机数生成器;
[0054]
122:随机数缓存器/nonce;
[0055]
123:单调计数器;
[0056]
124、126:数据;
[0057]
124a、124b、124c、p:明文;
[0058]
126a、126b、126c:密文;
[0059]
141:x-译码器;
[0060]
142:页缓冲器;
[0061]
143:y-译码器;
[0062]
160:存储器阵列/存储阵列;
[0063]
171:输出缓冲器;
[0064]
181:数据缓存器;
[0065]
182:sram缓冲器;
[0066]
195:输入/输出端;
[0067]
301、302、303、304、400、400b、600、601、602、603:活动;
[0068]
311、401:虚拟周期;
[0069]
400c1、400d1:第一命令交互作用;
[0070]
400c2、400d2:第二命令交互作用;
[0071]
402:特定上下文;
[0072]
403:虚拟区段;
[0073]
404:mac区段;
[0074]
700、900:数据流附图;
[0075]
701a:计数器;
[0076]
702:区块编密;
[0077]
704:电路;
[0078]
801、802、803、804、805、806、811、812、813、814、815、1001、1002、1003、1004、1201、1202、1203、1204、1205、1206、1207:区块;
[0079]
800a、800b:流程图;
[0080]
801、802、803、804、805:步骤;
[0081]
1102:预计数器区块;
[0082]
1103:递增函数;
[0083]
a:相关联数据;
[0084]
c:密文;
[0085]
ciph:区块编密;
[0086]
cs#:芯片选择信号;
[0087]
h:秘密串;
[0088]
icb 901a:输入区块;
[0089]
icb 901a、cb2 901b、cbn 901n:计数器区块;
[0090]
iv:初始化向量;
[0091]
si:串行输入数据/地址信号;
[0092]
so:串行输出数据信号;
[0093]
sclk:串行频率信号。
具体实施方式
[0094]
参考图1至图12提供本技术的实施例的详细描述。本公开解决通过在不同对话处的总线上使用不同密文表示数据来防御回放附接的问题。在实施例中,本公开可自半导体存储器提供高效能安全读取操作。
[0095]
图1为根据实施例的包括具有安全命令译码器的集成电路存储器装置的存储器系统的简化方块图。存储器装置100的实施方案包括存储器阵列160,所述存储器阵列160可包括每单元在集成电路基底上存储两个或大于两个位的数据的多层级单元mlc。一些实施方案可使用单一层级单元。存储器阵列160可实施使用二维或三维阵列技术实施的快闪、reram、eprom、pcm存储器。存储器阵列160的一个实施方案存储呈未加密(明文)格式的数据,但根据所公开的技术存储器装置100可提供呈经加密(密文)形式输出的数据。存储器阵
列160的替代实施方案存储呈经加密(密文)形式的数据。如本公开中所描述的存储器装置同样可使用多芯片模块、堆叠芯片以及其他配置来实施。存储器装置100可实施于单一集成电路芯片上、包括共同封装中的一个或多个集成电路的多芯片模块上或用于适合特定需要的多个芯片上。
[0096]
实施所公开技术,结合安全引擎112、控制逻辑110及安全命令译码豁108构成可使用包括状态机及支持逻辑的专用逻辑电路来实施的控制器。控制逻辑110根据需要耦接至存储器阵列160及存储器装置100的其他元件。控制逻辑110包括用于控制下文更详细地描述的多个层级程序操作的逻辑电路。在替代实施例中,控制逻辑包括可实施于相同集成电路上的通用处理器,所述通用处理器执行计算机程序以控制装置的操作。在另外其他实施例中,可采用专用逻辑电路与通用处理器的组合来实施控制逻辑。
[0097]
控制器的命令译码器108及控制逻辑110用于针对存储存储器侦测及执行加密感知命令,诸如,侦测及执行读取存储器阵列连续加密数据中且输出/输入特定上下文的安全区的命令。一些实施方案可在虚拟周期输出/输入特定上下文以达成更多效能。在本公开所描述的实施例中,控制器响应于在输入/输出接口105处接收到的命令而控制存储器操作,所述存储器操作包括侦测及执行命令以在存储及检索针对存储存储器160的信息时进行加密或解密操作,且在i/o接口105处呈加密形式输出结果。
[0098]
将数据呈密文格式经由数据缓存器181写入至sram缓冲器182中。状态机111控制安全引擎112以解密密文,接着存储于存储器阵列160中。可在通电或特定命令时或在每个nonce输出之后产生nonce(例如,在随机数缓存器122中)。当控制逻辑110接收安全读取命令时,控制逻辑110触发随机数缓存器122及输出缓冲器171以输出nonce。同时,读取数据自存储器阵列读取至安全引擎112中且使用nonce(例如,存储于随机数缓存器122中)及使用例如aes-ctr算法的共享密钥进行加密。在完成数据加密之后,将数据发送至输出缓冲器171,接着用密文格式输出至主机97a。安全引擎112可在现行页输出以达成连续数据输出的同时开始加密下一页数据。所公开技术包括在预先输出加密数据以便达成高效能安全读取操作的同时执行加密。
[0099]
安全引擎112包括实施一个或多个加密算法的加密/解密电路,所述加密算法可使用ip核心、可程序逻辑及处理器、电路或其组合来实现。加密算法的一些实例包括但不限于基于哈希的讯息认证码(hash-based message authentication code;hmac)、呈伽罗瓦/计数器模式(gcm)模式的经认证加密标准(authenticated encryption standard;aes)(亦即,aes-gcm)、呈编密区块链讯息认证码(cipher block chaining message authentication code;cbc-mac)模式的利用计数器的经认证加密标准(亦即,aes-ccm)或类似。对于关于aes-gcm及aes-ccm的背景信息,可分别参考标题为「对区块编密操作模式的建议:方法及技术(recommendation for block cipher modes of operation:methods and techniques)」(//doi.org/10.6028/nist.sp.800-38a)的nist特定公开案800-38a、标题为「对区块编密操作模式的建议:伽罗瓦/计数器模式(gcm)及gmac(recommendation for block cipher modes of operation:galois/counter mode(gcm)and gmac)」(#nvlpubs.nist.gov/nistpubs/legacy/sp/nistspecialpublication800-38d.pdf)的nist特定公开案800-38d;所述全部参考内容出于所有目的以引用的方式并入本公开中。实施诸如伽罗瓦/计数器模式(gcm)的aes的区块编密对位的固定长度串执行加密及解密操作。此
位串的长度称为「区块大小」且128个位(16个字节)的大小用于实施方案中。然而,所公开技术的实例加密及解密实施方案可支持区块及128个、192个以及256个位的密钥大小。
[0100]
随机数缓存器122保存随机数及/或其他上下文信息,所述上下文信息定义供安全引擎112使用于加密自存储阵列160读出的数据及/或解密呈密文形式接收以写入至阵列160中的数据的特定上下文。特定上下文信息可经由连接至输出缓冲器171而输出。特定上下文信息亦可经由接口105输入且存储于随机数缓存器122中。
[0101]
(虚拟)随机数生成器121为某些实施方案提供在存储器装置100(例如「芯片上」)内产生随机数的能力。随机数可在通电或特定命令时或在每个nonce输出之后产生。
[0102]
继续参考图1,存储器装置100包括以下由存储器装置100内的总线彼此耦接的电路区块。与存储器阵列160相关联的电路区块包括存储器阵列160、x-译码器141、页缓冲器142、y-译码器143、感测放大器119以及输出缓冲器171。存储器装置100亦包括以下控制及支持电路区块、地址产生器114、数据缓存器181、sram缓冲器182、控制逻辑110、频率产生器115、状态机111、安全引擎112、随机数缓存器122以及hv产生器117。一些实施方案还包括(虚拟)随机数生成器121。
[0103]
存储器装置100的实施方案包括接口105,所述接口105包括耦接至各别输入/输出插脚的若干输入区块。在一个实施例中,接口105为实施一组i/o端口195的串行接口,经由所述串行接口传送命令、地址以及数据。接口105可基于串行周边接口(serial peripheral interface;spi)总线规范或与其兼容,在所述串行周边接口总线规范中命令通道共享由地址及数据使用的i/o插脚。举例而言,集成电路存储器装置100可包括使用插脚以用于接收及传输spi总线信号的输入/输出端口。一个插脚可连接至输入数据线,所述输入数据线携载串行输入数据/地址信号si,同样可用于命令。另一插脚或多个其他插脚可连接至一个或多个输出数据线,或输出数据线携载串行输出数据信号so。另一插脚可连接至携载串行频率信号sclk的频率线,所述频率线耦接至频率产生器115,所述频率产生器115又耦接至命令译码器108及控制逻辑110。控制逻辑110经可操作地耦接以在接口105的cs#输入端子上接收芯片选择信号cs#。命令或指令可例如经由输入si/sio0区块来输入,且接着转移至数据缓存器181及控制逻辑110。与状态机111组合的控制逻辑110解译且实行命令,诸如读取、擦除或编程操作。在实施例中,控制逻辑110亦自接口105的wp#/acc区块接收信号以执行写入保护函数,且自接口105的hold#区块接收信号以使频率信号不进入状态机111。
[0104]
数据可经由耦接至数据缓存器181的si/sio0区块、so/sio1区块、wp#/acc区块以及hold#区块输入。数据缓存器181由数据总线84耦接至sram缓冲器182,以用于在由安全引擎112中的安全逻辑进行的解密操作期间临时存储。安全引擎112由数据总线84及数据总线85耦接至sram缓冲器182(且因此至数据缓存器181)。数据总线84及数据总线85可具有小于一个区块大小的总线宽度,诸如一个字节或一个字符,且供安全引擎112使用于循环通过存储于区块中的明文及密文,从而自一个缓冲器检索数据、执行加密/解密操作以及将结果存储于其他缓冲器中。安全引擎112亦可或可替代地由数据总线91耦接至接口105以视需要来回移动数据。
[0105]
数据可经由耦接至输出缓冲器171的si/sio0区块、so/sio1区块、wp#/acc区块以及hold#区块输出。定义诸如随机数(存储于随机数缓存器122中)的供安全引擎112使用于加密自存储阵列160读出的数据的特定上下文的上下文信息可经由连接至输出缓冲器171
输出。
[0106]
对应于存储器阵列160中的位置的地址可通过数据总线130自数据缓存器181供应至地址产生器114。地址随后由x-译码器141及y-译码器143解码。在一些实施方案中,页缓冲器142可耦接至存储器阵列160以提供用于存储器操作的临时存储。在读取操作中,数据自存储器阵列160经由感测放大器119传送至输出缓冲器171。对于写入操作,数据自数据缓存器181传送,在sram缓冲器182中缓冲以用于解密,且接着写入至存储器阵列160中。对于高电压操作,例如对于写入操作,启动高电压产生器117。亦可使用其他类型的接口,包括并列接口。特定集成电路存储器装置100上的i/o端口195可用于每接口频率(例如,sclk)周期并行地提供具有i/o数据宽度的输出数据,对于一些实例,所述i/o数据宽度可为1个位、4个位、8个位、16个位、32个位或大于32个位。i/o接口105可包括fifo缓冲器、移位寄存器缓冲器或其他支持电路以及传输器,所述传输器用于以端时钟速率传输在端口上的接口处所接收的数据,对于spi接口而言,所述端口时钟速率诸如sclk速率。
[0107]
输入/输出数据及控制信号在存储器装置100上的接口105、命令译码器108以及控制逻辑110以及输入/输出端195当中或在存储器装置100内部或外部的其他数据源中移动。在一些实施例中,输入/输出端口195可连接至芯片上主机电路,诸如通用处理器或专用应用程序电路,或提供由存储器阵列160支持的芯片上系统功能的模块的组合。
[0108]
在图1中所绘示的实例中,使用偏压配置状态机的控制逻辑110控制或机器控制经由电压供应件产生或提供的供应电压的应用,诸如用于本公开所描述的存储器装置100操作方法中的一组可选程序及读取操作的读取、验证及编程电压。
[0109]
一个或多个参数缓存器(图中未示)可包括于存储器装置100上且耦接至控制逻辑110。参数缓存器可存储用于根据本公开中所描述的工艺可选的多个可选程序操作及多个可选读取操作的参数。举例而言,参数缓存器可存储不同程序及读取操作中使用的程序验证电压层级及读取电压层级。此外,参数缓存器可存储诸如增量步进脉冲编程ispp算法的编程算法中使用的程序序列的细节,诸如脉冲高度、脉冲宽度以及脉冲量值增量。
[0110]
存储器阵列160可包括浮动栅极存储器单元或介电电荷捕获存储器单元,所述存储器单元用于通过建立对应于所存储电荷量的多个编程层级来每单元存储多个位,此又建立存储器单元阈值电压vt。本公开中的描述基于使用电荷捕获存储器单元,诸如浮动栅极闪存及介电电荷捕获闪存。技术可与其他存储器单元技术一起使用。在其他实例中,存储器单元可包括可编程电阻存储器单元,所述可编程电阻存储器单元用于通过建立对应于电阻量的多个编程层级而用于每单元多个位。
[0111]
在实施方案中,主机97a~主机97n可包括通用处理器、特殊用途处理器、用于作为存储器控制器的处理器或使用存储器装置100的其他处理器。主机97a~主机97n的全部或部分可实施于与存储器相同的集成电路上。尽管上文已使用用于集成电路装置的元件的所选群组进行绘示,但可存在许多替代、修改以及改变。举例而言,元件中的一些可经扩展及/或组合。其他元件可插入至上述内容。取决于实施例,元件的配置可与其他替换物互换。此等元件的另外细节可贯穿本说明书且特定表述的在下文找到。
[0112]
在已描述用于存储存储器的实例安全架构后,将分别参考以下来描述使用类似于图1的安全机制进行的写入及读取操作的下一实例:图2的数据流附图;图3及图4a及图4b的时序附图;图5a、图5b以及图5c的系统附图及图6的时序附图;以及图7、图9以及图11的数据
流附图;以及图8a、图8b、图10以及图12的流程图。此等附图仅为实例,其不应不恰当地限制本公开中的权利要求范围的范畴。本领域中技术人员将认识到其他改变、修改以及替代。
[0113]
接下来说明存储器系统。
[0114]
图2为示出类似于图1的具有安全命令译码器的集成电路存储器装置的实施例的实例操作的数据流附图。此附图仅为实例,其不应不恰当地限制本公开中的权利要求范围的范畴。本领域中技术人员将认识到其他改变、修改以及替代。在图2中,主机97a由总线合作性地与存储器装置100耦接。在主机97a中,安全引擎存取呈明文形式的数据。主机安全引擎亦具有密钥116的输入。主机安全引擎进一步能够接收例如来自存储器装置100的随机数的特定上下文作为输入。存储器装置100包括合作性地耦接至随机数缓存豁122、呈明文形式的数据124以及密钥116的安全引擎112。数据124可例如存储于图1的存储器阵列160中。图2中值得注意的是,安全引擎112可在总线上用不同密文得到相同数据的写入及读取。
[0115]
图3为示出在使用主机与具有安全命令译码器的集成电路存储器装置之间的四个命令交互作用的实例的时序附图。此附图仅为实例,其不应不恰当地限制本公开中的权利要求范围的范畴。本领域中技术人员将认识到其他改变、修改以及替代。在图3中,在活动301中,主机发送要求「随机数」命令。在活动302中,主机发送读取「随机数」响应命令以自存储器装置读取nonce。在活动303中,主机发送要求「安全读取」命令以将数据的页自存储器阵列读取至存储器装置。在活动304中,主机发送读取「安全读取」响应命令以读取由存储器装置提供的数据。
[0116]
图4a为示出在主机与具有安全命令译码器的集成电路存储器装置之间使用命令交互作用于交换随机数信息的实例的时序附图。此附图仅为实例,其不应不恰当地限制本公开中的权利要求范围的范畴。本领域中技术人员将认识到其他改变、修改以及替代。与传统spi快闪读取命令兼容的命令协议。在图4a中,在活动400中,随机数可在虚拟周期401或虚拟周期的一部分处输出,而不是使用额外命令获得随机数。(比较图3的虚拟周期311,其中不传送数据。)在实施要求随机数及数据的命令的实施例中,数据将呈加密格式由存储器装置100连续输出。
[0117]
图4b为示出在主机与具有安全命令译码器的集成电路存储器装置之间使用命令交互作用于交换特定上下文信息的实例的时序附图。在活动400b中,特定上下文402可在虚拟周期或虚拟周期的一部分上输出。特定上下文402可为随机数、单调计数器、固定值、唯一id或其组合。举例而言,由于每段通信对话具有不同数值,故单调计数器可用于防止回放攻击。
[0118]
图4c为示出使用多个命令配置以将特定上下文信息自主机输入至具有安全命令译码器的集成电路存储器装置中的实例的时序附图。在图4c中,第一命令交互作用400c1实施自主机输入特定上下文402的「安全读取」请求命令,且第二命令交互作用400c2实施「安全读取」回应,使得加密数据可在主机与具有安全命令译码器的集成电路存储器装置之间连续输出。一些实施方案可借助第二命令结合第一命令连续触发加密数据的输出而得到高产出量。特定上下文402可为明文信息或加密信息。特定上下文402可包括mac以认证主机。此外,特定上下文402在某些实施方案中可为密文以保护主机的要求。第二命令交互作用400c2可包括可由用户或工厂配置的虚拟区段403。
[0119]
图4d为示出在主机与具有安全命令译码器的集成电路存储器装置之间使用多个
命令配置且返回mac以交换特定上下文信息的实例的时序附图。在图4d中,第一命令交互作用400d1实施自主机输入特定上下文的「安全读取」请求命令,且第二命令交互作用400d2实施「安全读取」回应,使得加密数据以及mac可在主机与具有安全命令译码器的集成电路存储器装置之间连续输出以交换特定上下文信息。第二命令交互作用400d2亦可包括用于数据完整性的mac区段404。第二命令交互作用400d2亦可包括可由用户或工厂配置的虚拟区段403。
[0120]
图5a及图5b为示出类似于图1的具有安全命令译码器的集成电路存储器装置的实施例的实例操作的系统附图。此附图仅为实例,其不应不恰当地限制本公开中的权利要求范围的范畴。本领域中技术人员将认识到其他改变、修改以及替代。在图5a中,存储器装置100包括安全引擎112,安全引擎112协和地耦接至实施为(虚拟)随机数生成器(random number generator;rng)121的随机数产生器。随机数可在每一次电源复位后产生,或每当随机数输出时由特定命令序列更新或改变。自存储器芯片读取的数据124可用安全引擎112加密且呈密文格式输出至主机97a。主机97a接收加密数据,接着使用共享密钥116及自存储器装置100的随机数缓存器122输出的nonce对加密数据进行解密(用其自身的安全引擎)。数据124可例如存储于图1的存储器阵列160中。
[0121]
图5b为示出类似于图1的在主机与具有安全命令译码器的集成电路存储器装置之间交换特定上下文的实例的系统附图。在图5b中,存储器装置100包括安全引擎112及单调计数器123。自存储器装置100读取的数据可用安全引擎112加密且呈密文格式输出至主机97a。主机97a自存储器装置100接收加密数据,接着使用自存储器装置100输出/部分输出的共享密钥(key)116及其他上下文来对加密数据进行解密。特定上下文可为随机数、单调计数器、固定值、唯一id或其组合。
[0122]
图5c为示出类似于图1的将由主机产生的特定上下文与具有安全命令译码器的集成电路存储器装置交换的实例的系统附图。在图5c中,主机97a接收加密数据,接着使用共享密钥(key)116及输入/部分输入特定上下文将数据解密至存储器装置100中。上下文可自主机输入及亦输入至安全引擎以对数据加密/解密。
[0123]
接下来说明高效能安全读取命令。
[0124]
图6为示出用于主机与具有安全命令译码器的集成电路存储器装置之间的高效能安全读取命令交互作用的连续加密工艺的实例的时序附图。此附图仅为实例,其不应不恰当地限制本公开中的权利要求范围的范畴。本领域中技术人员将认识到其他改变、修改以及替代。
[0125]
在活动601中,当控制逻辑110接收安全读取命令时,控制逻辑110触发随机数缓存器122及输出缓冲器171以输出nonce。同时,读取数据自存储器阵列读取至安全引擎112中且使用nonce(例如,存储于随机数缓存器122中)及使用例如aes-ctr算法的共享密钥进行加密。在完成数据加密之后,将数据发送至输出缓冲器171,接着用密文格式输出至主机97a。在活动602中,安全引擎112可在现行页输出以达成连续数据输出的同时开始加密下一页数据。在活动602中,安全引擎已加密第二页且开始加密自存储器阵列160读取的第三页。输出第二页。所公开技术包括在预先输出加密数据以便达成高效能安全读取操作的同时执行加密。
[0126]
在已描述使用类似于图1的安全机制进行的读取操作的实例后,将参考图7的数据
流附图700及图8a的流程图800a来描述实施在一些加密/解密安全引擎112实施例中使用的伽罗瓦/计数器模式加密的下一实例经认证加密服务。
[0127]
接下来说明aes-ctr。
[0128]
现在参考图7及图8a,图7绘示用于类似于图1的系统的如本公开中所描述的安全命令译码器的区块编密计数器模式的数据流附图700。安全引擎112包括实施一个或多个加密算法的加密/解密电路,所述加密算法可使用ip核心、可程序逻辑及处理器、电路或其组合来实现。加密算法的一些实例包括但不限于呈伽罗瓦/计数器模式(gcm)模式的经认证加密标准(aes)(亦即,aes-gcm)、呈编密区块链讯息认证码(cbc-mac)模式的利用计数器的经认证加密标准(亦即,aes-ccm)或类似。对于关于aes-gcm及aes-ccm的背景信息,可分别参考标题为「对区块编密操作模式的建议:方法及技术(recommendation for block cipher modes ofoperation:methods and techniques)」(//doi.org/10.6028/nist.sp.800-38a)的nist特定公开案800-38a。图8a为示出用于类似于图1的系统的如本公开中所描述的安全命令译码器的区块编密计数器模式操作的流程图。
[0129]
在步骤801中,使用安全虚拟随机数生成器121来产生初始化向量(initialization vector;iv)(例如,nonce 122)。在实施方案中,nonce 122具有96个位(或12个字节)大小的长度。iv必须仅由发送器及接收器知道。
[0130]
在步骤802中,nonce 122接着与32位计数器701a级联。在一个实施方案中,计数器701a开始自0计数。在另一实施方案中,计数器701a开始自1计数。计数器在实施方案中使用计数器模式自0开始以用于加密明文。级联串区块具有128个位大小且现可经加密。
[0131]
在步骤803中,使用密钥116利用经认证加密标准来加密由nonce 122与计数器701a的级联形成的区块。此引起16个字节或128个位大小的串s。
[0132]
在步骤804中,所得串s与存储于明文数据124中的明文的第一区块进行xor,得到密文的第一区块,且存储于密文数据126中。
[0133]
在步骤805中,计数器的值随后增加1。
[0134]
在步骤806中,对计数器的每个值及呈明文数据124的不同明文区块重复步骤802至步骤805,形成密文数据126。
[0135]
在一个实施方案中,对于明文的最后一个区块,若明文区块不为16的倍数(亦即,区块大小),则所得经加密密文串s将分成等于明文的最后一个区块长度的长度且接着与明文的最后一个区块进行xor。
[0136]
在描述加密/解密安全引擎112可如何加密明文以形成密文后,将重新参考图7的数据流附图700且参考图8b的流程图800b来描述用于产生用于确保数据的完整性的特定上下文的工艺。
[0137]
用于产生包括认证标签98的特定上下文的工艺的一个实施方案基于先加密后mac建构及韦格曼-卡特(wegman-carter)mac。用于产生认证卷标的函数亦称为ghash。函数ghash由ghash(h,a,c)=xm+n+1定义,其中输入a及c分别为如上文所描述格式化的相关联数据118及密文126,且变量xi(i=0、
…
、m+n+1)由等式(1)定义:
[0138][0139]
现在参考图7及图8b;图7为示出用于类似于图1的系统的如本公开中所描述的安全命令译码器的区块编密计数器模式的数据流附图。图8b为示出用于产生类似于图1的系统的如本公开中所描述的用于产生例如认证标签的特定上下文以使用区块编密计数器模式操作来验证数据的完整性的工艺的流程图。
[0140]
在步骤811中,秘密串h通过使用加密密钥116加密空串而产生,亦即,h=ek(「\x00」
×
16);其中「\x00」
×
16为16个字节大小的空串。
[0141]
在步骤812中,在一系列步骤中逐区块地产生认证标签。因此,对于相关联数据118的每一区块,串xi由电路704使用于下计算产生,且此有助于最终认证标签:xi=gmulh(xi-1xorai),其中i=1、...、m,x0=0。此处,m仅为待认证的区块(相关联数据区块)的数目。
[0142]
在步骤813中,现在相关联数据区块ai已包括于该认证签中,当前认证卷标将由电路704处理,且n个密文区块126a、密文区块126b亦将包括于认证标签中:xi+m=gmulh(xi+m-1xor ci),其中i=1,...,n。此处,n为密文的区块的数目。
[0143]
在步骤814中,相关联数据a的长度的64位表示与密文c的长度的64位表示级联。所得串作为参数供应至如下gmulh():s=gmulh=(xm+n xor(len(a)||len(c)))。
[0144]
在步骤814中,使用于下来产生认证标签t 128:t=s xor ek(j0);其中j0由初始化向量(例如,nonce 122)与计数器0(counter0)701a的级联形成。
[0145]
在一个实施方案中,认证标签98可与来自加密函数的密文的每一区块的产生并行地产生。
[0146]
在步骤815中,服务将密文c与对应认证标签t的级联作为最终输出返回。
[0147]
接下来说明伽罗瓦/计数器模式(gcm)。
[0148]
现在参考图9及图10,图9绘示用于类似于图1的系统的如本公开中所描述的安全命令译码器的区块编密计数器模式的数据流附图900。安全引擎112包括实施一个或多个加密算法的加密/解密电路,所述加密算法可使用ip核心、可程序逻辑及处理器、电路或其组合来实现。加密算法的一些实例包括但不限于gctr伽罗瓦/计数器模式。伽罗瓦/计数器模式的进一步描述可在标题为「对区块编密操作模式的建议:伽罗瓦/计数器模式(gcm)及gmac(recommendation for block cipher modes of operation:galois/counter mode(gcm)and gmac)」(#nvlpubs.nist.gov/nistpubs/legacy/sp/nistspecialpublication800-38d.pdf)的nist特定公开案800-38d中发现。gcm中使用的变量包括:
[0149]
[0150][0151]
在一个实施方案中,gctr函数定义为具有128位块大小、密钥k、初始计数器区块icb 901的输入、任意长度的位串x以及位长度len(x)的位串y的输出的经批准的区块编密ciph:
[0152][0153]
图10为示出用于类似于图1的系统的如本公开中所描述的安全命令译码器的区块编密计数器模式操作的流程图。
[0154]
在步骤1001中,将任意长度x的输入串最大限度地划分为一连串区块,使得序列中
仅最右边的串可为「部分」区块。
[0155]
在步骤1002中,在初始计数器区块901输入上迭代32位递增函数inc,以产生一连串计数器区块icb 901a、计数器区块cb2 901b、计数器区块cbn 901n;输入区块icb 901a为序列的第一区块。
[0156]
在步骤1003中,将区块编密702应用至计数器区块901a至计数器区块901n,且结果与输入串x的分割区的对应区块(或部分区块)xor。
[0157]
在步骤1004中,结果的序列级联以形成输出gctr,所述序列可应用于明文124a至明文124c以制造密文126a至密文126c。
[0158]
现在参考图11及图12。图11为示出用于类似于图1的系统的如本公开中所描述的使用用于安全命令译码器的特定上下文的gcm的经认证加密函数的数据流附图。图12为示出用于类似于图1的系统的如本公开中所描述的用于产生例如认证标签的特定上下文以使用区块编密计数器模式操作来验证数据的完整性的工艺的流程图。
[0159]
如图11及图12中所绘示,在gcm的经认证加密函数中产生特定上下文的工艺包括以下步骤:
[0160]
1.让h=ciphk(0
128
)。
[0161]
2.将区块j0定义如下:
[0162]
若len(iv)=96,则让j0=iv||0
31
||1。
[0163]
若len(iv)≠96,则接着让且让j0=ghashh(iv|0
s+64
||[len(iv)]64)。
[0164]
3.让c=gctrk(inc
32
(j0),p)。.
[0165]
4.让且让
[0166]
5.将区块s定义如下:
[0167]
s=ghashh(a||0v||c||0u||[len(a)]
64
||[len(c)]
64
)。
[0168]
6.让t=msb
t
(gctrk(j0,s))。
[0169]
存在gcm的认证加密函数的三个输入串:标示为p的明文、标示为a的额外认证数据(additional authenticated data;aad)以及初始化向量iv(例如,nonce 122)。gcm保护明文及额外认证数据aad的真实性。存在来自gcm的认证加密函数的两个输出串:标示为c的密文,其位长度与明文的位长度相同;以及认证卷标,或卷标,标示为t。gcm的数学分量包括递增函数incs 1103对区块的乘法运算、ghash函数以及gctr函数。
[0170]
图12为示出用于类似于图1的系统的如本公开中所描述的用于产生例如认证标签的特定上下文以使用区块编密计数器模式操作来验证数据的完整性的工艺的流程图。
[0171]
在步骤1201中,通过将区块编密ciphk应用于「0」区块0128来产生ghash函数的哈希子密钥h。
[0172]
在步骤1202中,自初始化向量iv(例如,nonce 122)产生预计数器区块(j0)1102。
[0173]
在步骤1203中,将32位的递增函数inc32应用于预计数器块(j0)以产生用于调用明文p上的gctr函数的初始计数器区块。gctr函数的此调用的输出为密文c。
[0174]
在步骤1204及步骤1205中,额外认证数据aad及密文c各自附加有『0』位的最小数目,可能无,使得所得串的位长度为区块大小的倍数。此等串的级联附加有额外认证数据
aad及密文c的长度的64位表示([len(a)]
64
,[len(c)
64
])。
[0175]
在步骤1206中,将ghash函数应用于结果以产生单个输出区块。
[0176]
在步骤1207中,使用具有在步骤1002中产生的预计数器块(j0)的gctr函数加密此输出区块,且结果经截断为指定的标签长度t(msb
t
)以形成特定上下文(例如,认证标签t)。
[0177]
此区段中描述的方法的其他实施方案可包括非暂时性计算机可读存储介质,其存储可由处理器执行以执行上文所描述的方法中的任一个的指令。此区段中描述的方法的又一实施方案可包括一种包括存储器及一个或多个处理器的系统,所述一个或多个处理器可操作以执行存储于存储器中的指令以执行上文所描述的方法中的任一个。
[0178]
此区段中描述的方法的其他实施方案可包括非暂时性计算机可读存储介质,其存储可由处理器执行以执行上文所描述的方法中的任一个的指令。此区段中描述的方法的又一实施方案可包括一种包括存储器及一个或多个处理器的系统,所述一个或多个处理器可操作以执行存储于存储器中的指令以执行上文所描述的方法中的任一个。
[0179]
上文描述或提及的任何数据结构及码根据计算机可读存储介质上的许多实施方案而存储,所述计算机可读存储介质可为可存储由计算机系统使用的码及/或数据的任何装置或介质。此包括但不限于易失性存储器、非易失性存储器、特殊应用集成电路(application-specific integrated circuit;asic)、现场可编程栅极阵列(field-programmable gate array;fpga)、磁性及光学存储装置或现已知或之后开发的能够存储计算机可读介质的其他介质,所述磁性及光学存储装置诸如磁盘驱动器、磁带、紧密光盘(compact disc;cd)、数字通用光盘或数字视频光盘(digital versatile disc/digital video disc;dvd)。
[0180]
字节为许多集成电路逻辑及存储器电路中使用的基本存储单元且由8字节成。基本存储单元可具有其他大小,包括例如1位、2位、4位、16位等等。因此,上文阐述及在其他实例中本公开中利用术语字节所描述的安全引擎的描述大体上应用于具有存储单元或存储单元的集合的使用不同大小的存储单元的电路,如将通过替换术语字节或字节的集合所描述。另外,在一些实施例中,不同大小的存储单元可用于单一命令序列,诸如与8位存储单元合并的一个或多个4位存储单元。
[0181]
本公开中描述说明通过存储器控制器或通过存储器装置执行的逻辑的多个流程图。逻辑可使用存储于计算机系统可访问存储器中的计算机程序编程的处理器实施,且可由处理器、包括现场可编程集成电路的专用逻辑硬件以及专用逻辑硬件及计算机程序的组合执行。如同本公开中的所有流程图,应了解,可组合、并行执行或以不同序列执行许多步骤而不影响所达成功能。在一些情况下,如大家将了解,只要亦进行某些其他改变,步骤的重新配置将实现相同结果。在其他状况下,如大家将了解,只要符合某些条件,重新排列步骤将达成相同结果。此外,应了解,本公开中的流程图仅绘示了相关于理解所公开技术的步骤,且应理解,可在所绘示的步骤之前、之后以及之间执行用于实现其他功能的大量额外步骤。
[0182]
本公开中描述具有命令译码器的装置以及响应于包括安全读取命令的命令序列的方法。
[0183]
本公开中描述一种具有命令译码器的装置以及执行安全读取命令的方法,包括响应于在输入/输出接口处接收到的命令而判定,自主机接收到的命令信息包括安全存储器
读取命令,且以实质上同时触发执行:(i)输出自存储器阵列读取且由安全引擎加密的第一组信息以及特定上下文;(ii)使用安全引擎对自存储器阵列读取的第二组信息执行加密;以及(iii)将第三组信息自存储器阵列读取至缓冲器中以由安全引擎加密;由此提供加密信息以及特定上下文的连续输出。
[0184]
本公开中描述一种具有命令译码器的装置以及执行安全读取命令的方法,包括:在接收到的命令序列中侦测包括:命令码字段及有效负载,所述命令码字段包括指示连续安全存储器读取的操作码,在所述连续安全存储器读取中自存储器阵列读取的信息在输出之前由存储器装置的安全引擎来加密;侦测有效负载包括(i)指向指示存储器阵列内的安全区的多个地址中的至少一个地址的地址,自存储器阵列读取信息;以及(ii)可配置的虚拟周期,在所述虚拟周期中输出特定上下文。
[0185]
本公开中描述一种具有命令译码器的装置以及执行安全读取命令的方法,包括在接收到的命令序列中侦测包括:命令码字段及有效负载,所述命令码字段包括指示接收特定上下文的输入的操作码;以及侦测有效负载包括(i)含有特定上下文信息的虚拟周期;其中将特定上下文存储于存储器装置中,以供安全引擎在加密将自所述存储器阵列读取的信息时使用。
[0186]
虽然参考上文较佳实施例及实例来揭示本公开技术,但应理解,此等实例意欲为说明性而非限制性意义。预期在所属技术领域中技术人员将容易地想到各种修改及组合,所述修改及组合将在本公开的精神及以下权利要求范围的范畴内。
技术特征:
1.一种存储器装置,其特征在于,包括:存储器阵列,包括多个位线;输入/输出接口,用于i/o数据单元;数据路径电路,连接于所述存储器阵列与所述输入/输出接口之间;用于维持特定上下文的电路,结合加密信息使用;安全引擎,包括用于使用所述特定上下文将自所述存储器阵列检索的信息进行加密且输出所加密的所述信息以及所述特定上下文的电路;以及命令译码器,实施逻辑以响应于在所述输入/输出接口处接收到的命令而判定自主机接收到的命令信息包括安全存储器读取命令,且触发实质上同时执行:(i)输出自存储器阵列读取且由所述安全引擎加密的第一组信息以及所述特定上下文;(ii)经由所述安全引擎对自所述存储器阵列读取的第二组信息执行加密;以及(iii)将第三组信息自所述存储器阵列读取至缓冲器中以由所述安全引擎加密;其中重复执行(i)至(iii)直至达到所述存储器阵列中的地址的安全区域的指定末端,从而提供已加密的信息以及所述特定上下文的连续输出。2.根据权利要求1所述的存储器装置,所述命令译码器进一步实施逻辑以执行:侦测已接收到的命令序列,所述已接收到的命令序列包括命令码字段及有效负载,所述命令码字段包括指示连续安全存储器读取的操作码,在所述连续安全存储器读取中自所述存储器阵列读取的信息在输出之前由所述存储器装置的所述安全引擎来加密;以及侦测所述有效负载包括:指向指示所述存储器阵列内的安全区的多个地址中的至少一个地址的地址,自所述存储器阵列读取信息;以及可配置的虚拟周期,在所述虚拟周期中输出所述特定上下文。3.根据权利要求2所述的存储器装置,其中所述虚拟周期用于使用串行闪存可搜索参数(serial flash discoverable parameter,sfdp)结构中的一个或多个。4.根据权利要求2所述的存储器装置,其中所述虚拟周期用于使用由工厂配置的只读信息阵列中的一个或多个。5.根据权利要求2所述的存储器装置,其中所述虚拟周期用于使用允许用户定义的配置阵列中的一个或多个。6.根据权利要求1所述的存储器装置,其中所述特定上下文包括以下中的一个或多个:随机数、虚拟周期单调计数器、固定值、唯一id以及其组合。7.根据权利要求6所述的存储器装置,其中所述单调计数器用于唯一识别通信对话,从而防止回放攻击。8.根据权利要求1所述的存储器装置,所述命令译码器进一步实施逻辑以执行:侦测所述已接收到的命令序列,所述已接收到的命令序列包括命令码字段及有效负载,所述命令码字段包括指示接收所述特定上下文的输入的操作的操作码;以及侦测所述有效负载包括:含有特定上下文信息的虚拟周期;其中将所述特定上下文存储于所述存储器装置中,以供所述安全引擎在加密将自所述
存储器阵列读取的信息时使用。9.根据权利要求1所述的存储器装置,其中用于维持所述特定上下文的电路包括:用于产生虚拟随机数的电路。10.根据权利要求1所述的存储器装置,其中用于维持所述特定上下文的电路包括:用于产生唯一识别符(id)的电路。11.根据权利要求1所述的存储器装置,其中用于维持特定上下文的电路包括:用于产生物理不可复制函数(physical unclonable function,puf)码的电路。12.根据权利要求1所述的存储器装置,其中用于i/o数据单元的所述输入/输出接口实施1io、2io、4io、8io、1i2o、1i4o以及1i8o中的至少一个的串行/并行接口io。13.根据权利要求1所述的存储器装置,所述安全引擎还包括用于执行以下操作的电路:在输出之前自所述存储器阵列读取的数据的高级加密标准计数器(advanced encryption standard counter,aes-ctr)区块模式加密。14.根据权利要求1所述的存储器装置,所述安全引擎还包括用于执行以下操作的电路:在输出之前自所述存储器阵列读取的数据的伽罗瓦/计数器模式(galois/counter mode,gcm)区块模式加密。15.一种存储器芯片的存储器阵列信息的读取方法,其特征在于,包括:由所述存储器芯片侦测自主机接收到的命令包括安全存储器读取命令,实质上同时触发执行:(i)输出自所述存储器阵列读取且由芯片上安全引擎加密的第一组信息,以及用于将所述第一组信息加密的特定上下文;(ii)经由所述安全引擎对自所述存储器阵列读取的第二组信息执行加密;以及(iii)将第三组信息自所述存储器阵列读取至缓冲器中以由所述安全引擎加密;以及重复执行(i)至(iii)直至达到所述存储器阵列中的地址的安全区域的指定末端,从而提供加密信息以及所述特定上下文的连续输出。16.一种存储器芯片的存储器阵列信息的读取方法,其特征在于,包括:由所述存储器芯片侦测自主机接收到的第一命令包括安全存储器读取请求命令,作为响应触发操作的执行包括:输入特定上下文以用于将自所述存储器阵列读出的信息加密;以及由所述存储器芯片侦测自主机接收到的第二命令包括安全存储器读取响应命令,作为响应触发连续输出加密数据的操作的执行,包括:(i)输出自所述存储器阵列读取且使用所述特定上下文由芯片上安全引擎加密的第一组信息;(ii)使用所述安全引擎以对自所述存储器阵列读取的第二组信息执行加密;以及(iii)将第三组信息自所述存储器阵列读取至缓冲器中以由所述安全引擎加密。17.根据权利要求16所述的存储器芯片的存储器阵列信息的读取方法,还包括输出讯息认证码(message authentication code,mac)以及连续输出的所述加密数据。18.根据权利要求16所述的存储器芯片的存储器阵列信息的读取方法,其中重复执行
(i)至(iii)直至达到所述存储器阵列中的地址的安全区域的指定末端,从而提供加密信息的连续输出。
技术总结
本公开提供了一种存储器装置及存储器芯片的存储器阵列信息的读取方法,该存储器装置包括:命令译码器,实施安全逻辑以侦测命令序列从而读取具有连续加密数据的存储器阵列的安全区,且输出/输入用于数据的特定上下文。特定上下文的输出/输入可在虚拟周期进行以达成更多效能。主机连接可例如执行单个命令以得到加密数据及用于加密数据的特定上下文。本公开提供的技术可在系统总线上呈密文形式实施传送数据且由与用于前述传送操作中不同的Nonce或不同的对话密钥加密。以此方式,数据将在不同对话处的总线上用不同密文表示,从而防御回放攻击。放攻击。放攻击。
技术研发人员:陈嘉荣 张钦鸿 陈耕晖
受保护的技术使用者:旺宏电子股份有限公司
技术研发日:2022.09.28
技术公布日:2023/8/23
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/