CN113094765A - 存储器以及存储系统 - Google Patents
存储器以及存储系统 Download PDFInfo
- Publication number
- CN113094765A CN113094765A CN202011246338.7A CN202011246338A CN113094765A CN 113094765 A CN113094765 A CN 113094765A CN 202011246338 A CN202011246338 A CN 202011246338A CN 113094765 A CN113094765 A CN 113094765A
- Authority
- CN
- China
- Prior art keywords
- memory
- key
- random number
- pseudo
- circuit
- 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.)
- Withdrawn
Links
Images
Classifications
-
- 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/065—Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
- H04L9/0656—Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher
- H04L9/0662—Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher with particular pseudorandom sequence generator
-
- 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
-
- 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
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1048—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
-
- 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/1458—Protection against unauthorised use of memory or access to memory by checking the subject access rights
- G06F12/1466—Key-lock mechanism
-
- 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/45—Structures or tools for the administration of authentication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- 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
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/38—Response verification devices
- G11C29/42—Response verification devices using error correcting codes [ECC] or parity check
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/44—Indication or identification of errors, e.g. for repair
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/24—Memory cell safety or protection circuits, e.g. arrangements for preventing inadvertent reading or writing; Status cells; Test cells
-
- 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/065—Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
- H04L9/0656—Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher
-
- 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/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
-
- 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/0891—Revocation or update of secret information, e.g. encryption key update or rekeying
-
- 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/0894—Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
-
- 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/14—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C2029/0409—Online test
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C2029/0411—Online error correction
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C2029/4402—Internal storage of test result, quality data, chip identification, repair information
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Computational Mathematics (AREA)
- Pure & Applied Mathematics (AREA)
- Quality & Reliability (AREA)
- Human Computer Interaction (AREA)
- Mathematical Optimization (AREA)
- Mathematical Analysis (AREA)
- Storage Device Security (AREA)
Abstract
本公开提供一种存储器以及存储系统。存储器可以包括:伪随机数发生器,其适于使用从存储器控制器传送来的初始值产生伪随机数;访问密钥寄存器,其适于储存从存储器控制器传送来的访问密钥;计数器,其适于对访问密钥寄存器被更新的次数进行计数以产生更新数;逻辑运算电路,其适于通过对伪随机数和更新数执行逻辑运算来产生认证密钥;比较电路,其适于将访问密钥和认证密钥进行比较;以及安全区域,其在比较电路的比较结果指示访问密钥和认证密钥相同时允许被访问。
Description
相关申请的交叉引用
本申请要求2019年12月23日提交的申请号为10-2019-0173147的韩国专利申请的优先权,其全部内容通过引用合并于此。
技术领域
各种实施例涉及一种存储器和存储系统,更具体地,涉及存储器的安全性。
背景技术
近来,其中未经授权的用户通过各种非法侵入方法(诸如行锤击(rowhammer)、RAMBleed、冷启动攻击和跨CPU攻击)从存储器中索取储存在存储器中的重要数据(诸如用户密码和安全密钥)的安全问题备受关注。
为了解决这种安全问题,采用了多种方法。例如,对储存在存储器中的数据进行加密或加扰。然而,由于执行解决安全问题的操作,认证密钥可能会被泄露,或者系统性能开销可能会增加。
发明内容
各种实施例涉及一种能够加强存储器的安全性的技术。
在一个实施例中,一种存储器可以包括:伪随机数发生器(pseudorandom numbergenerator),其适于使用从存储器控制器传送来的初始值产生伪随机数;访问密钥寄存器,其适于储存从存储器控制器传送来的访问密钥;计数器,其适于对访问密钥寄存器被更新的次数进行计数以产生更新数;逻辑运算电路,其适于通过对伪随机数和更新数执行逻辑运算来产生认证密钥;比较电路,其适于将访问密钥和认证密钥进行比较;以及安全区域,其在比较电路的比较结果指示访问密钥和认证密钥相同时,允许被访问。
在一个实施例中,一种存储系统可以包括:存储器;以及存储器控制器,其适于控制存储器,其中,存储器包括:伪随机数发生器,其适于使用从存储器控制器传送来的初始值产生伪随机数;访问密钥寄存器,其适于储存从存储器控制器传送来的访问密钥;计数器,其适于对访问密钥寄存器被更新的次数进行计数以产生更新数;逻辑运算电路,其适于通过对伪随机数和更新数执行逻辑运算来产生认证密钥;比较电路,其适于将访问密钥和认证密钥进行比较;以及安全区域,其在比较电路的比较结果指示访问密钥和认证密钥相同时,允许被访问。
在一个实施例中,一种安全系统包括客户端设备和服务器设备,其中,客户端设备和服务器设备中的每个包括:第一电路,其适于基于种子值和系数来产生伪随机数;以及第二电路,其适于对第一密钥的大量更新进行计数以产生更新数,其中,客户端设备还包括第三电路,所述第三电路适于基于所产生的伪随机数和更新数来产生第一密钥,以及其中,服务器设备还包括:第四电路,其适于基于所产生的伪随机数和更新数来产生第二密钥;以及第五电路,其适于根据第一密钥和第二密钥而允许访问安全区域。
根据实施例,可以加强存储器的安全性。
附图说明
图1是示出根据一个实施例的存储器的配置的视图。
图2是示出根据一个实施例的存储器控制器的配置的视图。
图3是示出如图1的伪随机数发生器的一个实施例的视图。
图4是示出如图1的逻辑运算电路的一个实施例的视图。
具体实施方式
在下文中,参考附图对实施例进行描述,以便详细描述本发明,使本公开所涉及的技术领域的技术人员能够实践本发明。在下面的描述中,可以省略众所周知的材料。在遍及不同的附图中,相同的部件用相同的附图标记来标识。此外,在整篇说明书中,提及“一个实施例”或类似的词语不一定仅指一个实施例,并且对任何此类词组的不同提及不一定指相同的实施例。
图1是示出根据一个实施例的存储器100的视图。
参考图1,存储器100可以包括命令接收电路101、地址接收电路103、数据发送/接收电路105、行地址寄存器111、列地址寄存器113、命令解码器115、寄存器电路120、伪随机数发生器130、计数器140、逻辑运算电路150、比较电路160、区域确定电路171、阻止电路173、存储器核180和错误校正电路190。
命令接收电路101可以接收从存储器控制器200(如图2所示)传送的命令CMD。命令CMD可以具有多个比特位。地址接收电路103可以接收从存储器控制器200传送的地址ADD。地址ADD可以具有多个比特位。数据发送/接收电路105可以向/从存储器控制器200发送/接收数据DATA。在写入操作期间,数据DATA可以从存储器控制器200发送到存储器100。在读取操作期间,数据DATA可以从存储器100发送到存储器控制器200。数据DATA可以具有多个比特位。
命令解码器115可以通过对经由命令接收电路101接收到的命令CMD进行解码来产生内部命令信号。命令解码器115不仅可以对经由命令接收电路101接收到的命令CMD进行解码,还可以对经由地址接收电路103接收到的地址ADD的一些比特位进行解码,以便产生内部命令信号。内部命令信号可以包括激活信号ACT、预充电信号PCG、读取信号RD、写入信号WT、多个寄存器写入信号RW<0:3>和移位信号SFT。
行地址寄存器111和列地址寄存器113可以将经由地址接收电路103接收到的地址ADD分类为行地址R_ADD或列地址C_ADD,并储存行地址R_ADD或列地址C_ADD。当要求行地址的命令被施加时,即,当激活信号ACT被使能时,行地址寄存器111可以将地址ADD分类为行地址R_ADD,并存储行地址R_ADD。当要求列地址C_ADD的命令被施加时,即,当读取信号RD或写入信号WT被使能时,列地址寄存器113可以将地址ADD分类为列地址C_ADD,并储存列地址C_ADD。
寄存器电路120可以包括使能寄存器121、初始值寄存器123、系数寄存器(coefficient register)125和访问密钥寄存器127。当寄存器写入信号RW<3:0>之中的相应的寄存器写入信号被使能时,寄存器121、123、125和127中的每一个都可以使用经由地址接收电路103接收到的地址ADD传送的信息进行更新。也就是说,从存储器控制器200传送的信息可以被储存在寄存器电路120的寄存器121、123、125和127中。
使能寄存器121可以储存用于指示是否使用安全区域182的使能比特位EN。当使能比特位EN为‘1’时,可以指示将安全区域182用作储存安全数据的安全区域。当使能比特位EN为‘0’时,可以指示将安全区域182用作储存普通数据的普通(非安全)区域188,所述普通数据是不需要安全维护的数据。当寄存器写入信号RW<0>被使能时,使能比特位EN可以被写入到使能寄存器121。
初始值寄存器123可以储存要被伪随机数发生器130使用的初始值INI_KEY<7:0>。当寄存器写入信号RW<1>被使能时,初始值INI_KEY<7:0>可以被写入到初始值寄存器123。
系数寄存器125可以储存要被伪随机数发生器130使用的系数C<6:0>。当寄存器写入信号RW<2>被使能时,系数C<6:0>可以被写入到系数寄存器125。
访问密钥寄存器127可以储存从存储器控制器200传送的访问密钥ACCESS_KEY<7:0>。当寄存器写入信号RW<3>被使能时,访问密钥ACCESS_KEY<7:0>可以被写入到访问密钥寄存器127。
伪随机数发生器130可以产生伪随机数KEY<7:0>。伪随机数发生器130可以使用初始值INI_KEY<7:0>和系数C<6:0>。此外,每当移位信号SFT被使能时,伪随机数发生器130可以通过执行移位操作来产生新的伪随机数KEY<7:0>。
计数器140可以对在访问密钥寄存器127中更新访问密钥ACCESS_KEY<7:0>的次数进行计数。即,计数器140可以对寄存器写入信号RW<3>被使能的次数进行计数,并输出计数码CNT<3:0>。
逻辑运算电路150可以通过对伪随机数KEY<7:0>和计数码CNT<3:0>执行逻辑运算来产生认证密钥GENKEY<7:0>。逻辑运算电路150可以包括用于对伪随机数KEY<7:0>和计数码CNT<3:0>执行XOR运算的多个XOR门。
比较电路160可以将由逻辑运算电路150产生的认证密钥GENKEY<7:0>与储存在访问密钥寄存器127中的访问密钥ACCESS_KEY<7:0>进行比较。当认证密钥GENKEY<7:0>与访问密钥ACCESS_KEY<7:0>一致(即,相同)时,比较电路160可以将匹配信号MATCH使能为‘1’。
当使能比特位EN为‘1’时,区域确定电路171可以被使能。当区域确定电路171被使能时,区域确定电路171可以通过使用行地址R_ADD的一些比特位(例如,行地址的前三个位)来确定是要访问安全区域182还是普通区域183而产生安全区域信号SEC_AREA。当确定要访问安全区域182时,区域确定电路171可以将安全区域信号SEC_AREA使能为‘1’,而当确定要访问普通区域183时,将安全区域信号SEC_AREA禁止为0’。当使能比特位EN为‘0’时,区域确定电路171可以被禁止。在这种情况下,安全区域信号SEC_AREA可以被固定为‘0’。
当安全区域信号SEC_AREA为‘1’时,在匹配信号MATCH为‘1’的情况下,阻止电路173可以将激活信号ACT传送到存储器核180,而在匹配信号MATCH为‘0’的情况下,阻止激活信号ACT而不是将激活信号ACT传送到存储器核180。即,当安全区域182被使能且安全区域182要被访问时,在认证密钥GENKEY<7:0>和访问密钥ACCESS_KEY<7:0>彼此一致的情况下,阻止电路173可以将激活信号ACT传送到存储器核180,而在认证密钥GENKEY<7:0>和访问密钥ACCESS_KEY<7:0>不相同,即,彼此不一致的情况下,阻止电路173阻止激活信号AC向存储器核180的传送。表1显示了阻止电路173的操作。
[表1]
SEC_AREA | MATCH | 阻止电路的操作 |
1 | 1 | ACT_N=ACT |
1 | 0 | ACT_N=‘0’ |
0 | 无关 | ACT_N=ACT |
当阻止电路173阻止激活信号ACT的传送时,可以防止对存储器核180的访问。
存储器核180可以包括单元阵列181、行电路184和列电路185。单元阵列181可以包括用于储存数据的多个存储单元。单元阵列181可以包括用于储存安全数据的安全区域182和用于储存一般数据的普通区域183。行电路184可以控制单元阵列181的行操作。当从阻止电路173传送的激活信号ACT_N被使能时,行电路184可以激活单元阵列181中由行地址R_ADD选择的行,即,字线。当预充电信号PCG被使能时,行电路184可以对被激活的行进行预充电。当读取信号RD被使能时,列电路185可以从单元阵列181中由列地址C_ADD选择的列中读取数据,并且当写入信号WT被使能时,列电路185将数据写入单元阵列181中由列地址C_ADD选择的列中。
错误校正电路190可以在写入操作期间利用经由数据发送/接收电路105接收到的数据DATA来产生错误校正码。错误校正码可以经由列电路185与数据DATA一起被储存在单元阵列181中。此外,在读取操作期间,错误校正电路190可以利用经由列电路185从单元阵列181输出的错误校正码来校正数据DATA的错误。当安全区域信号SEC_AREA为‘0’时,错误校正电路190可以被使能,而当安全区域信号SEC_AERA为‘1’时,错误校正电路190可以被禁止。这是因为,由于当向安全区域182写入/从安全区域182读取数据时,存储器控制器200经常使用较强的错误校正算法,因此在存储器100之内的错误校正电路190不需要被使用。不管安全区域信号SEC_AREA的逻辑电平如何,错误校正电路190都可以被设计为始终使能。
仅当访问密钥ACCESS_KEY<7:0>与认证密钥GENKEY<7:0>一致(即,相同)时,才能访问安全区域182。认证密钥GENKEY<7:0>是通过反映从存储器控制器200传送的初始值INI_KEY<7:0>和系数C<6:0>、存储器控制器200施加移位命令的次数(移位信号SFT被使能的次数)以及存储器控制器200更新访问密钥ACCESS_KEY<7:0>的次数而产生的。因此,可以完全阻止由不是指定的存储器控制器的另一个存储器控制器对安全区域182的访问。
图2是示出根据一个实施例的存储器控制器200的视图。
存储器控制器200可以根据主机(HOST)的请求来控制存储器100的操作。主机的实例包括CPU(中央处理器)、GPU(图形处理单元)、AP(应用程序处理器)等。如图2所示,存储器控制器200可以包括主机接口201、调度器203、命令发生器205、存储器接口207、伪随机数发生器211、计数器213和逻辑运算电路215。存储器控制器200可以被包括在CPU、GPU、AP或类似物中。在这种情况下,主机可以表示在CPU、GPU、AP或类似物中的除了存储器控制器200以外的组件。例如,当存储器控制器200被包括在CPU中时,图2的主机可以表示从CPU中排除存储器控制器200以外的其他组件。
主机接口201可以是用于在主机与存储器控制器200之间通信的接口。
调度器203可以决定来自主机的请求要被传送到存储器100的顺序。调度器203可以将传送顺序设置为不同于从主机接收请求的顺序,从而改变指示存储器100执行的操作的顺序,以提高存储器100的性能。例如,虽然主机首先请求对存储器100进行读取操作,然后请求进行写入操作,但是调度器203可以调整该顺序,使得在读取操作之前执行写入操作。
命令发生器205可以根据由调度器203决定的操作顺序来产生要应用于存储器100的命令。
存储器接口207可以用作在存储器控制器200与存储器100之间的接口。通过存储器接口207,命令CMD和地址ADD可以从存储器控制器200传送到存储器100,并且数据DATA可以在其间传输。存储器接口207也可以被称为PHY接口。
伪随机数发生器211可以以与存储器100的伪随机数发生器130相同的方式进行设计。伪随机数发生器211的初始值INI_KEY<7:0>和系数C<6:0>可以被设置为相同的值。此外,伪随机数发生器130执行移位操作的次数可以等于伪随机数发生器211执行移位操作的次数。由于在存储器100的伪随机数发生器130中所使用的初始值INI_KEY<7:0>、系数C<0:6>和移位信号SHIFT是从存储器控制器200传送来的,因此伪随机数发生器211和130可以使用相同的初始值INI_KEY<7:0>、相同的系数C<0:6>和相同的移位信号SHIFT。也就是说,伪随机数发生器211和130可以产生相同的伪随机数KEY<7:0>。
计数器213可以以与存储器100的计数器140相同的方式进行设计。存储器100的计数器140的计数码CNT<3:0>和存储器控制器200的计数器213的计数码CNT<3:0>可以保持相同的值。存储器100的计数器140可以计算寄存器写入信号RW<3>被使能的次数。由于通过从存储器控制器200传送的命令CMD产生寄存器写入信号RW<3>,因此计数器213和140的计数码CNT<3:0>可以保持相同的值。
逻辑运算电路215可以以与存储器100的逻辑运算电路150相同的方式进行设计。逻辑运算电路215可以通过对由伪随机数发生器211产生的伪随机数KEY<7:0>和由计数器140产生的计数码CNT<3:0>执行XOR运算来产生访问密钥ACCESS_KEY<7:0>。由逻辑运算电路215产生的访问密钥ACCESS_KEY<7:0>可以等于由逻辑运算电路150产生的认证密钥GENKEY<7:0>。
在存储器控制器200中用于产生访问密钥ACCESS_KEY<7:0>的组件211、213和215可以以与存储器100中它们各自对应的用于产生认证密钥GENKEY<7:0>的组件130、140和150相同的方式进行设计。存储器控制器200的组件211、213和215使用与存储器100的组件130、140和150相同的变量。因此,由组件211、213和215产生的访问密钥ACCESS_KEY<7:0>可以等于由组件130、140和150产生的认证密钥GENKEY<7:0>,即,相同。
当打算访问存储器100的安全区域182时,存储器控制器200可以通过存储器接口207将由组件211、213和215产生的访问密钥ACCESS_KEY<7:0>更新到存储器100的访问密钥寄存器127中,然后访问该安全区域。当完成对安全区域182的访问时,存储器控制器200可以更新假的访问密钥到访问密钥寄存器127中,以代替由组件211、213和215产生的真的访问密钥ACCESS_KEY<7:0>,从而不可以访问安全区域182。由于仅存储器控制器200知晓正确的访问密钥ACCESS_KEY<7:0>,因此可以阻止另一个存储器控制器(而不是存储器控制器200)对存储器100的安全区域182的访问。也就是说,可以维持储存在安全区域182中的数据的安全性。
图3是示出图1的伪随机数发生器130的一个实施例的视图。
参考图3,伪随机数发生器130可以包括触发(toggle)发生器310和LFSR(线性反馈移位寄存器)320。
每当移位信号SHF被使能时,触发发生器310可以使能触发信号TOGGLE。
LFSR 320可以包括串联耦接的D触发器321至328、用于反馈的XOR门331至337以及用于响应于系数C<6:0>来决定LFSR 320的反馈特性的选择器341至347。
D触发器321至328中的每个触发器的初始值可以设置为对应的INI_KEY<7:0>的初始值。例如,D触发器321的初始值可以是INI_KEY<0>,并且D触发器324的初始值可以是INI_KEY<3>。XOR门331至337可以用于D触发器321至328的反馈,并且反馈特性可以根据选择器341至347基于系数C<6:0>的选择来决定。例如,当C<3>为‘0’时,选择器344可以选择‘0’,并将‘0’输入到XOR门334,而当C<3>为‘1’时,选择器344可以选择D触发器324的输出,并将所选择的输出输入到XOR门334。此外,当C<5>为‘0’时,选择器346可以选择‘0’并将‘0’输入到XOR门336,而当C<5>为‘1’时,选择器346可以选择D触发器326的输出,并将所选择的输出输入到XOR门336。也就是说,取决于选择器341至347根据系数C<6:0>选择了什么,可以决定LFSR 320的反馈特性。
每当触发信号TOGGLE被使能时,D触发器321至328可以执行移位操作。
储存在D触发器321至328中的值可以成为伪随机数KEY<7:0>。伪随机数KEY<7:0>可以根据初始值INI_KEY<7:0>、用于决定反馈特性的系数C<6:0>以及移位信号SFT被使能的次数来决定。
图4是示出图1的逻辑运算电路150的一个实施例的视图。
参考图4,逻辑运算电路150可以包括XOR门401至408。
XOR门401至408可以通过对伪随机数KEY<7:0>和计数码CNT<3:0>执行逻辑运算来产生认证密钥GENKEY<7:0>。由于伪随机数KEY<7:0>具有八比特位并且计数码CNT<3:0>具有四比特位,因此如图4所示,认证密钥GENKEY<7:0>可以通过对伪随机数KEY<7:0>的前4比特位和计数码CNT<3:0>执行XOR运算和对伪随机数KEY<7:0>的后4比特位和计数码CNT<3:0>执行XOR运算的方法来产生。
XOR门401可以接收KEY<7>和CNT<3>并输出GENKEY<7>。XOR门402可以接收KEY<6>和CNT<2>并输出GENKEY<6>。XOR门403可以接收KEY<5>和CNT<1>并输出GENKEY<5>。XOR门404可以接收KEY<4>和CNT<0>并输出GENKEY<4>。XOR门405可以接收KEY<3>和CNT<3>并输出GENKEY<3>。XOR门406可以接收KEY<2>和CNT<2>并输出GENKEY<2>。XOR门407可以接收KEY<1>和CNT<1>并输出GENKEY<1>。XOR门408可以接收KEY<0>和CNT<0>并输出GENKEY<0>。
虽然已经例示和描述了各种实施例,但对于本领域的技术人员来说显而易见地是,在不偏离所附权利要求所限定的本发明的精神和范围的情况下,可以进行各种改变和修改。本发明涵盖落入权利要求范围内的所有此类改变和修改。
Claims (20)
1.一种存储器,包括:
伪随机数发生器,其适于使用从存储器控制器传送来的初始值产生伪随机数;
访问密钥寄存器,其适于储存从所述存储器控制器传送来的访问密钥;
计数器,其适于对所述访问密钥寄存器被更新的次数进行计数以产生更新数;
逻辑运算电路,其适于通过对所述伪随机数和所述更新数执行逻辑运算来产生认证密钥;
比较电路,其适于将所述访问密钥和所述认证密钥进行比较;以及
安全区域,其在所述比较电路的比较结果指示所述访问密钥和所述认证密钥相同时允许被访问。
2.根据权利要求1所述的存储器,
其中,所述伪随机数发生器包括线性反馈移位寄存器LFSR,
其中,所述初始值被用作所述LFSR的种子,以及
其中,所述LFSR具有由从所述存储器控制器传送来的系数决定的反馈特性。
3.根据权利要求2所述的存储器,其中,所述LFSR响应于从所述存储器控制器传送来的移位命令而执行移位操作。
4.根据权利要求1所述的存储器,其中,所述逻辑运算电路包括多个XOR门,所述多个XOR门适于对所述伪随机数和所述更新数执行逻辑运算。
5.根据权利要求1所述的存储器,
其中,所述安全区域被包括在存储器核中,以及
其中,所述存储器核包括普通区域,所述普通区域无论所述比较电路的比较结果如何都被允许访问。
6.根据权利要求5所述的存储器,
其中,所述存储器还包括错误校正电路,所述错误校正电路适于对从所述存储器核输出的数据的错误进行校正,以及
其中,当所述安全区域被访问时,所述错误校正电路被禁止。
7.根据权利要求5所述的存储器,还包括:
命令解码器,其适于通过对命令进行解码来产生激活信号;
区域确定电路,其适于使用行地址的一些比特位来确定是请求访问所述安全区域还是请求访问所述普通区域;以及
阻止电路,其适于在所述区域确定电路确定请求访问所述安全区域的情况下,当所述比较电路的比较结果指示所述访问密钥和所述认证密钥不同时,阻止将所述激活信号传送到所述存储器核。
8.根据权利要求3所述的存储器,还包括:
使能寄存器,其适于储存用于指示是否使用所述安全区域的使能比特位;以及
系数寄存器,其适于储存所述系数。
9.一种存储系统,包括:
存储器;以及
存储器控制器,其适于控制所述存储器,
其中,所述存储器包括:
伪随机数发生器,其适于使用从所述存储器控制器传送来的初始值产生伪随机数;
访问密钥寄存器,其适于储存从所述存储器控制器传送来的访问密钥;
计数器,其适于对所述访问密钥寄存器被更新的次数进行计数以产生更新数;
逻辑运算电路,其适于通过对所述伪随机数和所述更新数执行逻辑运算来产生认证密钥;
比较电路,其适于将所述访问密钥和所述认证密钥进行比较;以及
安全区域,其在所述比较电路的比较结果指示所述访问密钥和所述认证密钥相同时允许被访问。
10.根据权利要求9所述的存储系统,其中,所述存储器控制器包括:
控制器伪随机数发生器,其适于使用所述初始值来产生控制器伪随机数;
控制器计数器,其适于对所述存储器控制器更新所述存储器的所述访问密钥寄存器的次数进行计数;以及
控制器逻辑运算电路,其适于通过对所述控制器伪随机数和所述控制器计数器的计数值执行逻辑运算来产生所述访问密钥。
11.根据权利要求10所述的存储系统,
其中,所述控制器伪随机数发生器的配置方式与所述伪随机数发生器相同,
其中,所述控制器计数器的配置方式与所述计数器相同;以及
其中,所述控制器逻辑运算电路的配置方式与所述逻辑运算电路相同。
12.根据权利要求9所述的存储系统,
其中,所述伪随机数发生器包括线性反馈移位寄存器LFSR,
其中,所述初始值被用作所述LFSR的种子,以及
其中,所述LFSR具有由从所述存储器控制器传送来的系数决定的反馈特性。
13.根据权利要求12所述的存储系统,其中,所述LFSR响应于从所述存储器控制器传送来的移位命令而执行移位操作。
14.根据权利要求9所述的存储系统,其中,所述逻辑运算电路包括多个XOR门,所述多个XOR门适于对所述伪随机数和所述更新数执行逻辑运算。
15.根据权利要求9所述的存储系统,
其中,所述安全区域被包括在所述存储器的存储器核中,以及
其中,所述存储器核包括普通区域,所述普通区域无论所述比较电路的比较结果如何都被允许访问。
16.根据权利要求15所述的存储系统,
其中,所述存储器还包括错误校正电路,所述错误校正电路适于对从所述存储器核输出的数据的错误进行校正,以及
其中,当所述安全区域被访问时,所述错误校正电路被禁止。
17.根据权利要求15所述的存储系统,其中,所述存储器还包括:
命令解码器,其适于通过对从所述存储器控制器传送来的命令进行解码来产生激活信号;
区域确定电路,其适于使用从所述存储器控制器传送来的行地址的一些比特位来确定是请求访问所述安全区域还是请求访问所述普通区域;以及
阻止电路,其适于在所述区域确定电路确定请求访问所述安全区域的情况下,当所述比较电路的比较结果指示所述访问密钥和所述认证密钥彼此不同时,阻止将所述激活信号传送到所述存储器核。
18.根据权利要求13所述的存储系统,其中,所述存储器还包括:
使能寄存器,其适于储存用于指示是否使用所述安全区域的使能比特位;以及
系数寄存器,其适于储存所述系数。
19.根据权利要求13所述的存储系统,其中,在所述存储器的初始化操作期间,所述存储器控制器将所述初始值和所述系数传送到所述存储器。
20.一种安全系统,包括客户端设备和服务器设备,
其中,所述客户端设备和所述服务器设备中的每个包括:
第一电路,其适于基于种子值和系数来产生伪随机数;以及
第二电路,其适于对第一密钥的大量更新进行计数以产生更新数,
其中,所述客户端设备还包括第三电路,所述第三电路适于基于所产生的所述伪随机数和所述更新数来产生所述第一密钥,以及
其中,所述服务器设备还包括:
第四电路,其适于基于所产生的所述伪随机数和所述更新数来产生第二密钥;以及
第五电路,其适于根据所述第一密钥和所述第二密钥而允许访问安全区域。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020190173147A KR20210081009A (ko) | 2019-12-23 | 2019-12-23 | 메모리 및 메모리 시스템 |
KR10-2019-0173147 | 2019-12-23 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113094765A true CN113094765A (zh) | 2021-07-09 |
Family
ID=76438307
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011246338.7A Withdrawn CN113094765A (zh) | 2019-12-23 | 2020-11-10 | 存储器以及存储系统 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11403235B2 (zh) |
KR (1) | KR20210081009A (zh) |
CN (1) | CN113094765A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113541947A (zh) * | 2021-09-16 | 2021-10-22 | 飞天诚信科技股份有限公司 | 工作密钥生成方法、装置及计算机可读存储介质 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090217058A1 (en) * | 2008-02-27 | 2009-08-27 | Spansion Llc | Secure data transfer after authentication between memory and a requester |
US8154918B2 (en) * | 2008-06-30 | 2012-04-10 | Sandisk Il Ltd. | Method for page- and block based scrambling in non-volatile memory |
KR102518881B1 (ko) | 2017-01-09 | 2023-04-05 | 삼성전자주식회사 | 반도체 장치의 동작 방법 |
-
2019
- 2019-12-23 KR KR1020190173147A patent/KR20210081009A/ko not_active Application Discontinuation
-
2020
- 2020-09-22 US US17/028,513 patent/US11403235B2/en active Active
- 2020-11-10 CN CN202011246338.7A patent/CN113094765A/zh not_active Withdrawn
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113541947A (zh) * | 2021-09-16 | 2021-10-22 | 飞天诚信科技股份有限公司 | 工作密钥生成方法、装置及计算机可读存储介质 |
CN113541947B (zh) * | 2021-09-16 | 2021-11-26 | 飞天诚信科技股份有限公司 | 工作密钥生成方法、装置及计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
KR20210081009A (ko) | 2021-07-01 |
US20210191881A1 (en) | 2021-06-24 |
US11403235B2 (en) | 2022-08-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9836415B2 (en) | Buffer device, method and apparatus for controlling access to internal memory | |
US9990249B2 (en) | Memory integrity with error detection and correction | |
US20070067644A1 (en) | Memory control unit implementing a rotating-key encryption algorithm | |
US20070050642A1 (en) | Memory control unit with configurable memory encryption | |
US10339333B2 (en) | Method and apparatus for controlling application to access memory | |
US20220067157A1 (en) | Device and method for protecting a memory | |
US7877615B2 (en) | Semiconductor devices and scrambled data transmission methods thereof | |
US20190370189A1 (en) | Off-chip memory address scrambling apparatus and method for system on chip | |
US11886717B2 (en) | Interface for revision-limited memory | |
US9928385B2 (en) | Periodic memory refresh in a secure computing system | |
KR20220036752A (ko) | 로우 해머 리프레쉬 동작을 수행하는 메모리 장치 및 이의 동작 방법 | |
CN113094765A (zh) | 存储器以及存储系统 | |
EP4202685A1 (en) | Algebraic and deterministic memory authentication and correction with coupled cacheline metadata | |
TWI813815B (zh) | 記憶體模組、其操作方法、記憶體系統以及其操作方法 | |
CN111916132B (zh) | 存储模块、其操作方法、存储系统以及其操作方法 | |
KR20210114639A (ko) | 메모리, 메모리 시스템 및 메모리의 동작 방법 | |
US7916549B2 (en) | Memory self-test circuit, semiconductor device and IC card including the same, and memory self-test method | |
US11960736B2 (en) | Memory controller and method for controlling access to a memory module | |
US20230133922A1 (en) | Electroinc devices and electroinc systems for transmitting bit stream including programming data | |
US20240184875A1 (en) | Methods, devices and systems with authenticated memory device access transactions | |
CN116383900A (zh) | 数据处理装置与数据处理方法 | |
KR20030002448A (ko) | 암호화 회로를 포함하는 메모리 장치 | |
CN117476066A (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 | ||
WW01 | Invention patent application withdrawn after publication | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20210709 |