CN106933751A - 用于保护动态随机访问存储器的方法和设备 - Google Patents

用于保护动态随机访问存储器的方法和设备 Download PDF

Info

Publication number
CN106933751A
CN106933751A CN201511019129.8A CN201511019129A CN106933751A CN 106933751 A CN106933751 A CN 106933751A CN 201511019129 A CN201511019129 A CN 201511019129A CN 106933751 A CN106933751 A CN 106933751A
Authority
CN
China
Prior art keywords
address
data
address space
dram
normal areas
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
CN201511019129.8A
Other languages
English (en)
Other versions
CN106933751B (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.)
Montage Technology Shanghai Co Ltd
Acrospeed Inc
Original Assignee
Acrospeed 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 Acrospeed Inc filed Critical Acrospeed Inc
Priority to CN201511019129.8A priority Critical patent/CN106933751B/zh
Priority to US15/068,657 priority patent/US10482039B2/en
Publication of CN106933751A publication Critical patent/CN106933751A/zh
Application granted granted Critical
Publication of CN106933751B publication Critical patent/CN106933751B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/1458Protection against unauthorised use of memory or access to memory by checking the subject access rights
    • G06F12/1483Protection against unauthorised use of memory or access to memory by checking the subject access rights using an access-table, e.g. matrix or list
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/0292User address space allocation, e.g. contiguous or non contiguous base addressing using tables or multilevel address translation means
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 OR CALCULATING; 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/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/74Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information operating in dual or compartmented mode, i.e. at least one secure mode
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09CCIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
    • G09C1/00Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/20Employing a main memory using a specific memory technology
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/40Specific encoding of data in memory or cache
    • G06F2212/402Encrypted data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/60Digital content management, e.g. content distribution

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Storage Device Security (AREA)

Abstract

提出一种用于保护动态随机访问存储器的方法和设备。该方法包括分配地址空间用于第一普通区域、第二普通区域、第一安全区域和第二安全区域;检测普通数据是否具有用于该第一安全区域的该地址空间内的地址;如果是,则输出数字信号指示重映射该普通数据的地址到用于该第二普通区域的该地址空间;检测安全数据是否具有用于该第一普通区域的该地址空间内的地址;如果是,则输出数字信号指示重映射该安全数据的地址到用于该第二安全区域的该地址空间。可选地,该方法还包括生成随机密钥;通过置换原始DRAM写数据的位的顺序生成更新的写数据;通过对使用的所生成的随机密钥与所述更新的写数据执行函数,生成加密的数据;以及动态地更新所使用的随机密钥。

Description

用于保护动态随机访问存储器的方法和设备
技术领域
本发明涉及动态随机访问存储器,并且更具体地,但不限于用于保护动态随机访问存储器的方法和设备。
背景技术
由于现有的机顶盒(STB)芯片在安全方面的不足,用户不付费观看限制的节目是很常见的,甚至用户的密码被盗也频频出现。为了保护运营商、机顶盒制造商以及用户的利益,需要从芯片设计阶段就考虑提高产品的安全性能。因此,具有高级安全特性的数字电视芯片应运而生。
然而,也有一些方法来摆脱或规避高级安全特性。其一是在DRAM接口上检测DRAM的数据访问,从而获得用户的密码和其他关键性的安全数据。其二是在用户安装的软件中嵌入程序直接从DRAM获取并导出安全数据(例如用户密码、受版权保护的明文节目等)。因此,希望提供方法来处理这个问题。
概述
本发明的实施方式公开了一种用于动态随机访问存储器(DRAM)保护的方法,包括:分别分配地址空间用于第一普通区域、第二普通区域、第一安全区域和第二安全区域;检测普通数据是否具有用于该第一安全区域的该地址空间内的地址;如果该普通数据具有用于该第一安全区域的该地址空间内的地址,则输出数字信号,指示重映射该普通数据的地址到用于该第二普通区域的该地址空间;检测安全数据是否具有用于该第一普通区域的该地址空间内的地址;如果该安全数据具有用于该第一普通区域的该地址空间内的该地址,则输出数字信号,指示重映射该安全数据的地址到用于该第二安全区域的该地址空间。
可选地,该方法还包括生成随机密钥;通过置换原始DRAM写数据的位的顺序,生成更新的写数据;通过对使用的所生成的随机密钥与所述更新的写数据执行函数,生成加密的数据;以及当不存在任何访问所述DRAM的请求时,根据时刻动态地更新所使用的随机密钥。
可选地,该方法还包括方法,还包括通过使用随机密钥在读数据上执行逆函数,生成解密的读数据;通过反置换所解密的数据的位的顺序,生成明文读数据。
本发明的另一实施方式公开了一种用于动态随机访问存储器(DRAM)保护的设备,包括:分配电路,其被配置为分别分配地址空间用于第一普通区域、第二普通区域、第一安全区域和第二安全区域;检测器,其被配置为检测普通数据是否具有用于该第一安全区域的该地址空间内的地址;重映射电路,其被配置为如果该普通数据具有用于该第一安全区域的该地址空间内的地址,则重映射该普通数据的地址到用于该第二普通区域的该地址空间;该检测器进一步被配置为检测安全数据是否具有用于该第一普通区域的该地址空间内的地址;该重映射电路被进一步配置为如果该安全数据具有用于该第一普通区域的该地址空间内的地址,则重映射该安全数据的地址到用于该第二安全区域的该地址空间。
可选地,用于DRAM保护的设备还包括密钥生成器,其被配置为生成随机密钥;第一数据生成器,其被配置为通过置换原始DRAM写数据的位的顺序,生成更新的写数据;所述数据生成器进一步被配置为通过对使用的所生成的随机密钥与所述更新的写数据执行函数,生成加密的数据;以及第一更新电路,其被配置为当不存在任何访问所述DRAM的请求时,根据时刻动态地更新所使用的随机密钥。
可选地,用于DRAM保护的设备还包括密钥生成器,第二数据生成器,其被配置为通过使用随机密钥在读数据上执行逆函数,生成解密的读数据;所述第二数据生成器进一步被配置为通过反置换所解密的数据的位的顺序,生成明文读数据。
附图说明
本发明通过所附的附图用示例形式展示。附图应当被理解为作为示例而非限制,因为本发明的范围是由权利要求所限定的。在附图中,相同的附图标记代表相同的元件。
图1示出了根据本发明的实施方式的包括动态随机访问存储器(DRAM)的保护电路的系统的视图。
图2示出了根据本发明的实施方式的地址重映射的视图。
图3示出了根据本发明的实施方式的用于动态随机访问存储器(DRAM)的保护的方法300的流程图。
图4是根据本发明的实施方式的地址映射表的视图。
图5示出了根据本发明的实施方式的用于DRAM保护的设备500的框图。
图6示出了根据本发明的实施方式的数据加密算法电路的数据流的视图。
图7示出了根据本发明的实施方式的用于数据加密的电路的框图。
图8示出了根据本发明的实施方式的随机密钥的动态更新的方法的视图。
图9示出了根据本发明另一实施方式的用于DRAM密钥的动态更新的时序的视图。
图10示出了根据本发明的实施方式的解密的方法的流程图。
具体实施例
本发明的各种方面和示例现在将被描述。下面的描述提供了具体的细节以透彻理解并有利于这些示例的描述。然而,本领域技术人员将理解,本发明可以在没有许多这些细节的情况下实施。此外,某些众所周知的结构或功能可能不会被详细示出或描述,以避免不必要地模糊相关描述。
图1示出了根据本发明的实施方式的包括动态随机访问存储器(DRAM)的保护电路110的系统的视图。该系统100包括DRAM保护电路110或也称为DRAM_PROT 110、AXI仲裁器120,以及双数据速率控制器(DDRC或DDR)130。AXI仲裁器120是被用于共享的存储器系统中的设备,用于为每个存储器周期决定,哪个主机(master)将被允许访问该共享的存储器。请注意,主机可以包括处理核、视频解码器和访问共享的存储器的其它模块。该DRAM_PROT110位于AXI仲裁器120和DDRC 130之间。该AXI仲裁器120可以通过使用AXI Slave(从或附属)接口与DRAM_PROT 110可通信地耦接。AXI总线在AXI标准中被定义,其的描述可以被省略,以避免不必要地模糊本发明的范围。DDRC 130可以通过使用AXI Master(主)接口与DRAM_PROT 110可通信地耦接。整个系统实现了对DRAM数据的保护功能。DRAM_PROT 110可分为访问控制电路(简称为DRAM_AC 112)和数据加密电路(简称为DRAM_DENC 114),这两者都被显示为虚线框。
DRAM_AC 112分为地址重映射电路1120和访问控制电路1122。地址重映射电路1120根据配置映射表实现从Rcom0到Rsec1以及从Rsec0到Rcom1的地址转换,以兼容不同软件的地址空间方案。访问控制电路1122针对不同的访问设备控制对普通区域/安全区域的访问,以滤除未经授权的访问。本发明的实施方式涉及的配置信息能够由可信任的处理核140进行访问,并且拒绝来自公共处理核150对配置信息的访问请求。可信任的处理核140被设计为执行安全相关的代码,其安全性通常被慎重考虑。此外,常见的第三方软件是不允许在可信任的处理核140上运行的(除了安全相关的第三方软件,如银行客户端等)。注意,开放的产品(例如,基于安卓操作系统)将允许客户端安装各种第三方软件应用,其通常在公共处理核150上运行。因此,在可信任的处理核140运行的过程中,在存储器中生成的安全数据需要被保护,并且不能被公共处理核150随意地访问。这些安全数据包括明文形式的音频和视频数据、由安全软件(银行的客户端软件,等等)生成的中间数据等等。DRAM访问设备包括AXI接口上的AXI主机,其启动在系统中的传输。根据本发明的实施方式,每个DRAM访问设备具有唯一的AWID/ARID。AWID表示写地址ID。这个信号是用于写址组的信号的识别标记。此外,ARID是读取地址的ID。此信号是用于读地址组的信号的识别标记。(注:AWID/ARID/AWPROT/ARPROT都是AXI协议信号。AWPROT/ARPROT的细节将在以下进行讨论)。
图2示出了根据本发明的实施方式的地址重映射的视图。
根据图2,地址重映射电路1120的工作原理是:地址重映射电路1120配置,第一安全区域Rsec0,第一普通区域Rcom0,第二安全区域Rsec1和第二普通区域Rcom1。第一安全区域Rsec0还可以被称为基本安全区域。第一普通区域Rcom0还可以被称为基本普通区域。第二安全区域Rsec1也可以被称为补充(supplement)安全区域。第二普通区域Rcom1也可以被称为补充普通区域。
配置映射表将原有落于Rsec0地址空间的普通数据的地址重映射到Rcom1地址空间。类似地,配置映射表将原落于Rcom0地址空间的安全数据的地址重映射到Rsec1地址空间,如图2所示。注意,图2还显示在第一普通区域Rcom0中的普通数据没有被重映射,因为该普通数据已经在正确的地址空间内,也即该普通数据被保持在原有的地址空间中。类似地,在第一安全区域Rsec0中的安全数据未被重映射,因为该安全数据已经在正确的地址空间内,也即该普通数据被保持在原有的地址空间中。
图3示出了用于动态随机访问存储器(DRAM)的保护的方法300的流程图。该方法300包括在框310分别为第一普通区域Rcom0、第二普通区域Rcom1、第一安全区域Rsec0和第二安全区域Rsec1分配地址空间,如图2中所示;并在框320,检测普通数据或安全数据是否被获得。
当获得普通数据时,方法300还包括在框330检测该获得的普通数据是否具有用于第一安全区域的地址空间内的地址,并在框340,如果普通数据具有用于第一安全区域的在地址空间内的地址,则输出数字信号,指示重映射普通数据的地址到用于第二普通区域的地址空间。
当获得安全数据时,方法300还包括在框350,检测该获得的安全数据是否具有用于第一普通区域的地址空间内的地址;并在框360,如果安全数据具有用于第一普通区域的地址空间内的地址,则输出数字信号,指示重映射安全数据的地址到用于第二安全区域的地址空间。
该方法300根据AXI协议信号,例如,AWPROT或ARPROT信号,确定数据是安全数据还是普通数据,如将相对于图4和以下的权限表1对细节进行进一步的讨论。表1示出了访问控制表。其中位对应于在配置信息中的对应位。
以写数据作为示例,例如,方法300首先检测AWID,如图4所示。AWID被用于识别发起该传输的设备。每对AWID/ARID都有相应的权限表1。注意,AWID和ARID是配对的。为了便于理解,该AWID被首先讨论。
例如,首先讨论写操作。方法300首先检测AWID=0。例如,下面的权限表1对应于AWID=0。然后,该方法300使用以下权限表1和区域(Rcom0,Rcom1,Rsec0,Rsec1)以确定传输的类型以及传输是否可以进行。如果根据权限表传输是允许的,那么传输是可以进行的。换言之,数据允许被写入DDR 130。如果该传输是禁止的,那么该传输是不可以进行的。换句话说,数据不允许被写入DDR 130。注意,AWID和AWPROT都是位于传输的命令部分,并对应于数据。该对应关系是由AXI协议保证的。
在另一示例中,读操作被讨论。方法300首先检测ARID=0。例如,下面的权限表1对应于ARID=0。然后,该方法300使用以下权限表1和区域(Rcom0,Rcom1,Rsec0,Rse1)以确定传输的类型以及传输是否可以进行。如果根据权限表传输是允许的,那么传输是可以进行的。换言之,设备被允许从DDR 130读取数据。如果该传输是禁止的,那么该传输是不可以进行的。换句话说,设备不被允许从DDR 130读取数据。注意,AWID和AWPROT都是位于传输的命令部分,并对应于数据。该对应关系是由AXI协议保证的。注意,根据权限表1,AWPROT/ARPROT表示数据是否是普通数据或安全数据。
权限表1
如权限表1中所示,以位[0](bit[0])作为一示例,当位[0]等于1时,表示允许AWPROT=0的写操作。否则,当位[0]等于0时,表示禁止AWPROT=0的写操作。以位[7]作为另一个示例,当位[7]等于1时,表示允许ARPROT=1的读操作。当位[7]为0时,表示禁止ARPROT=1的读操作。注意,位信息被存储在配置信息中。注意,权限表1仅是为了说明目的。那些本领域技术人员可用不同的数字、顺序或组合来配置访问控制表,这都是在本发明的实施方式的范围之内。
写数据被作为一示例以进一步说明权限表1。例如,在当前写入的数据具有AWPROT=0时,这意味着当前写入的数据包括安全数据。然后在权限表1中的位[0]被用于确定当前的传输是否允许数据被写入到Rcom0/Rcom1。此外,在权限表1中的位[4]被用于确定当前的传输是否允许数据被写到Rsec0/Rsec1。
图4是根据本发明的一实施方式的地址映射表视图。
地址映射表结构示于图4,它包括两个表:重映射表0和重映射表1。使用两个表的优点在于允许动态地更新映射关系。当不存在传输时,地址重映射电路1120更新当前使用的重映射表。每个重映射表包括16组映射信息,并且信息的每个组包括ADDR_H、ADDR_L和偏移(OFFSET)。ADDR_H和ADDR_L定义地址的一个范围。当地址重映射电路1120检测到访问地址(ADDR)落于ADDR_H和ADDR_L之间时,地址重映射电路1120将访问地址ADDR替换为ADDR+OFFSET。以这种方式,最初位于第一安全区域内的地址空间中的普通数据已被重映射到用于第二普通区域的地址空间内的地址。可替代地,最初位于第一普通区域内的地址空间中的安全数据已被重映射到用于第二安全区域的地址空间内的地址。请注意,虽然图4示出了两套重映射表,即重映射表0和重映射表1,但本发明的实施方式可以只用一个重映射表来实现。
地址重映射电路1120允许对每个设备的不同的传输类型设置不同的或相同的重映射使能选项。该重映射使能选项如图4所示,其具有值0或1。1可表示使能选项是开启的,换言之,该设备允许重映射地址。0可表示使能选项是关闭的,换言之,该设备禁止重映射地址。可替代地,本领域技术人员可以交换0和1的含义。当不需要重映射时,该使能选项被关闭,换句话说,该设备禁止重映射地址,以最大化传输效率。
例如,虽然没有在图3中示出,方法300还可以包括确定设备是否被允许重映射地址;如果设备不允许重映射地址,则保留设备要访问的普通数据的原始地址或安全数据的原始地址;如果该设备允许重映射地址,如果普通数据具有用于第一安全区域的地址空间内的地址,则重映射普通数据的地址到用于第二普通区域的地址空间;或如果安全数据具有用于第一普通区域的地址空间内的地址,则重映射安全数据的地址到用于第二安全区域的地址空间。
可替代地,方法300进一步包括保持第一重映射表和第二重映射表,用于普通数据的地址到用于第二安全区域的地址空间之间的第一映射,以及安全数据的地址到用于第二普通区域的地址空间之间的第二映射。第一重映射表当前正被使用,并且第二重映射表是空闲的。方法300还包括用更新的第一映射和第二重映射以更新第二重映射表;当更新第一重映射表且第二重映射表的更新完成时,直接使用第二重映射表。使用两个重映射表的优点,例如,在图4中所示的重映射表0和重映射表1,是允许重映射表的动态更新,而不会生成可能影响地址的重映射的中间无效值。
重映射表可根据地址的顺序安排映射信息,例如,按升序或降序排列。地址重映射电路1120采用二进制搜索方法来定位地址,以便增加检索效率。
例如,虽然没有在图3中示出,方法300可以进一步包括检测普通数据是否具有用于第一安全区域的地址空间内的地址,或检测安全数据是否具有用于第一普通区域的地址空间内的地址是通过使用二进制搜索来实现的。
返回参考权限表1和图4,该AWPROT或ARPROT等于0(也表示为AWPROT/ARPROT=0)表示该数据是安全数据,并且AWPROT或ARPROT等于1(也表示为AWPROT/ARPROT=1)表示该数据是普通数据。
可替代地,返回参考权限表1,访问控制电路1122基于授权配置信息针对DRAM访问设备的不同的传输类型进行传输控制。Rsec0/Rsec1/Rcom0/Rcom1的边界划分通过寄存器进行设定。该组寄存器是由可信任的处理核进行配置的。Rsec0和Rsec1具有相同的授权,并且Rcom0和Rcom1具有相同的授权。访问控制电路1122根据AWID/ARID识别不同的DRAM访问设备,并根据AWPROT/ARPROT识别不同的传输类型(注:AWPROT表示写地址信道保护位(Write Address Channe1Protection Bits),以及ARPROT表示读地址信道保护位(ReadAddress Channe1 Protection Bits))。每一个DRAM访问设备具有一套如权限表1所示的相应的配置信息。访问控制电路1122根据该配置信息执行传输控制。当来自DRAM访问设备的请求是非法写操作时,访问控制电路1122将拒绝写入数据;或当来自DRAM访问设备的请求是无效的读操作时,访问控制电路1122将返回零。
例如,虽然没有在图3中示出,方法300进一步包括为访问地址的设备配置设备ID和传输类型;并且通过与授权表比较,根据传输的类型和设备ID,确定设备是否被允许访问该地址。
图5示出了根据本发明的实施方式的用于DRAM保护的设备500的框图。设备500包括分配电路510、检测器520和重映射电路530。该分配电路510分别分配地址空间用于第一普通区域、第二普通区域、第一安全区域和第二安全区域。检测器520检测普通数据是否具有用于第一安全区域的地址空间内的地址。如果普通数据具有用于第一安全区域中的地址空间内的地址,则重映射电路530重映射普通数据的地址到用于第二普通区域的地址空间。检测器520进一步检测安全数据是否具有用于第一普通区域的地址空间内的地址。如果安全数据具有用于第一普通区域的地址空间内的地址,重映射电路530进一步重映射安全数据的地址到用于第二安全区域的地址空间。在另一个实施例中,检测器520可以确定安全数据或普通数据的地址是否需要被重映射,并将重映射确定结果以数字信号的形式输出至重映射电路530。然后,重映射电路530根据检测器520的输出进行相应的重映射操作。
可选地,设备500还包括在图5中未示出的判定电路。该判定电路确定访问普通数据或安全数据的设备是否是被允许重映射地址。重映射电路530被进一步配置为,如果设备未被允许重映射地址,则保持普通数据的原始地址或安全数据的原始地址;如果设备被允许重映射地址,且如果该普通数据具有用于第一安全区域的地址空间内的地址,则重映射电路530进一步被配置为重映射普通数据的地址到用于第二普通区域的地址空间;或如果该安全数据具有用于第一普通区域的地址空间内的地址,则重映射安全数据的地址到用于第二安全区域的地址空间。
可替代地,检测器520检测普通数据是否具有用于第一安全区域的地址空间内的地址或检测安全数据是否具有用于第一普通区域的地址空间内的地址是通过使用二进制搜索实现的。
可替代地,分配电路510还被配置为为访问地址的设备配置设备ID和传输类型;并且判定电路还进一步被配置为通过与授权表比较,根据传输类型和设备ID,确定设备是否被允许访问地址。
可替代地,重映射电路530被进一步配置为保持第一重映射表和第二重映射表,其每一个均用于普通数据的地址到用于第二安全区域的地址空间之间的第一映射,以及安全数据的地址到用于第二普通区域的地址空间之间的第二映射;其中第一重映射表是当前正被使用的,并且第二重映射表是空闲;使用更新的第一映射和第二映射以更新第二重映射表;以及当第一映射和第二映射的更新完成时,直接使用第二重映射表。
通过将重映射电路530引入到本发明的实施方式中,在不同的软件地址空间分配之间的映射机制被引入。该映射电路530帮助软件完成从逻辑地址到底层普通区域和安全区域的软件可见的映射。在这种情况下,软件只需维持不同产品的映射,并且对原始的软件代码结构仅需要很少甚至没有变化。此外,根据本发明的实施方式的地址映射方法与不同的软件程序地址空间的地址重映射方式相兼容。
图6示出了根据本发明的实施方式的数据加密的数据流的视图。数据加密的数据流将参考图1和图7详细地被讨论。
返回参考图1,DRAM_DENC 114实现了DRAM数据加密和解密功能。DRAM_DENC 114主要分为数据加密电路1142和DRAM_KEY动态更新电路1144。数据加密电路1144使用例如,64位密钥对写入DRAM的数据进行加密,并且对从DRAM读出的数据进行解密。该加密算法易于SOC(片上系统)来实现,并且不影响DRAM访问效率。动态更新电路1144允许在系统操作过程中使用N个DRAM加密密钥,以及允许密钥更新,从而大大提高系统的安全性。
图7示出了用于数据加密的电路的框图。如图7所示,用于数据加密的电路700主要包括密钥生成器710、数据生成器720和更新电路730。该密钥生成器710被配置为生成随机密钥。该数据生成器720被配置为通过置换原始的DRAM写数据的位的顺序,生成更新的写数据。数据生成器710进一步通过对所生成的随机密钥与更新的写数据执行函数以进一步生成加密的数据。当不存访问DRAM的任何请求时,更新的电路730根据时刻动态地更新所生成的随机密钥。
密钥生成器710可以包括,例如,随机数生成器。数据生成器720可通过位置换单元(也称为比特置换单元)来实现。数据生成器720还可以进一步包括可逆函数F(x)单元,使用由随机数生成器产生的64位密钥作为输入。该算法相较于高级加密标准(AES)、三重数据加密标准(TDES)算法更易于SOC实现,而不会造成对DRAM传输效率的损失。通过随机数生成器的引入,相同的数据将具有用于不同芯片的不同加密结果,不同的芯片将具有不同的加密结果,并且当芯片在不同的时刻被启动时,每个芯片将具有不同的加密结果,这会大大增强数据的安全性。
具体来说,例如,密钥生成器710产生64位DRAM保护密钥(DRAM_KEY)。该密钥值在每次上电时是不同的,并且密钥值对于芯片是唯一的。DRAM_KEY是保密的,这不能够由公共处理核读取。注意,虽然根据本发明的实施方式,DRAM的密钥是64位的,本领域技术人员可以使用其他位的DRAM密钥。
数据生成器720可以置换原始写数据WDATA,从而生成新的写数据WDATA′。例如,数据生成器720可执行对DRAM访问的单个传输的字节内的位置换。可替代地,在64位数据内的每个字节使用不同于在相同的64位数据内的其它字节的唯一的置换方法。例如,如图6中所示,第一字节(即,位[0]-位[7])使用不同于第八字节(即,位[56]-位[63])使用的置换方法,如图6所示,置换是基于位单元的。可替代地,置换可以是以二位为基础,或者以字节为基础等。
该数据生成器720可以进一步使用64位DRAM密钥和WDATA′来执行F(x)函数,以便生成最终的加密数据。F(x)函数可以是任何可逆函数,被馈以64位密钥,诸如异或(XOR)操作。例如,最终加密数据可以通过以下运算生成:
由于DRAM访问对访问效率非常敏感,一方面,它不可能使用复杂的数据加密算法,诸如高级加密标准(AES)、三重数据加密标准(TDES),其消耗大量的时间用于加密和解密。另一方面,使用简单的加密算法将不可避免地降低安全级别。当产品开机后处于长时间的运行过程中,存在加密算法被破解的风险。本发明的实施方式提供了动态更新DRAM_KEY的方法,这使得在运行过程中N组DRAM加密的密钥被更换,并且进一步增加了破解的难度。N可以选择大于等于2的任意值。N等于4作为一示例被示于图9。
图8示出了根据本发明的实施方式的随机密钥的动态更新的方法800的视图。该方法800包括在框810中生成随机密钥;在框820,通过对原始DRAM写数据的位的顺序进行置换以生成更新的写数据;在块框830,通过对所生成的随机密钥与更新的写数据执行函数以生成加密的数据;在框840中,当不存在访问DRAM的任何请求时,根据时刻动态地更新所产生的随机密钥。
可替代地,方法800还可以包括在预定的时间间隔内动态地更新随机密钥;以及用更新的随机密钥加密数据。
图9示出了根据本发明另一实施方式的DRAM密钥的动态更新的方法的视图。
具体而言,密钥生成器710,例如,随机数生成器生成四组DRAM加密密钥,DRAM_KEY0~DRAM_KEY3。默认情况下,在包括DRAM的系统启动后,系统首先使用DRAM_KEY0用于DRAM访问数据进行加密和解密。
返回参照图1并参考图9,DRAM_KEY动态更新电路1144被配置为自动地更新密钥。例如,
(1)在随机时间间隔TIME0之后,则DRAM_DENC 114从地址0开始依次地使用DRAM_KEY1对存储器数据进行重新加密,然后将重新加密的存储器数据写入存储器,并且将当前更新的指针UPDATE_PTR0反馈给数据加密电路1142。该UPDATE_PTR0移动的方向由箭头0表示。加密或重新加密的存储器数据,例如,可以是整个DRAM的内部数据(包含安全与普通的数据)。可选地,加密或重新加密的存储器数据,在一种实施方式中,可以只包含安全数据。
(2)在随机时间间隔TIME1之后,如果系统100无任何DRAM访问请求,则DRAM_DENC114从地址0开始依次使用DRAM_KEY2对存储器数据进行重新加密,然后将重新加密的存储器数据写回到存储器,并且将当前更新的指针UPDATE_PTR1反馈给数据加密电路1142。该UPDATE_PTR1移动的方向由箭头1表示。
(3)在随机时间间隔TIME2之后,如果系统100无任何DRAM访问请求,则DRAM_DENC114从地址0开始依次使用DRAM_KEY3对存储器数据进行重新加密,然后将重新加密的存储器数据写回到存储器,并且将当前更新的指针UPDATE_PTR2反馈给数据加密电路1142。该UPDATE_PTR2移动的方向由箭头2表示。
数据加密和解密电路1142根据以下规则加密和解密数据:
(1)当设备访问地址小于UPDATE_PTR2的地址时,该地址由在DRAM区域内填充有垂直线的框表示。
DRAM_DENC 114使用DRAM_KEY3用于加密和解密正常读取和写入的数据。
(2)当设备访问地址大于UPDATE_PTR2的地址但小于UPDATE_PTR1的地址时,该地址由在DRAM区域内填充有水平线的框表示。
a)对于包含在DRAM_DENC 114中的动态更新电路,在系统100中的DRAM_DENC 114使用DRAM_KEY2解密读数据,并使用DRAM_KEY3加密写数据。
b)对于例如通过DRAM访问设备,或AXI主机,如公共处理核、或视频解码器进行的正常的读/写操作,DRAM_DENC 114使用DRAM_KEY2对正常的读数据进行解密,或对正常的写数据进行加密。
(3)当设备访问地址大于UPDATE_PTR1的地址但小于UPDATE_PTR0的地址时,该地址由在DRAM区域内填充有斜线的框表示。
a)对于包含在DRAM_DENC 114中的动态更新电路,在系统100中的DRAM_DENC 114使用DRAM_KEY1对读数据进行解密,并使用DRAM_KEY2对写数据进行加密。
b)对于正常的读/写操作,DRAM_DENC 114使用DRAM_KEY1对正常的读数据进行解密,或对正常的写数据进行加密。
(4)当设备访问地址大于UPDATE_PTR0的地址时,该地址由在DRAM区域内填充有交叉线的框表示。
a)DRAM_DENC 114使用DRAM_KEY0对正常的读和写数据进行加密和解密。
b)对于包含在DRAM_DENC 114中的动态更新电路,在系统100中的DRAM_DENC 114使用DRAM_KEY0对读数据进行解密,使用DRAM_KEY1对写数据进行加密。
此外,当DRAM_KEY动态更新电路1144完成存储器数据的完整的一轮更新,例如,DRAM_KEY3已完成在DRAM末端,例如在DRAM底部的DRAM数据的更新时,DRAM_DENC 114执行以下操作并重复:
(1)DRAM_DENC 114将DRAM_KEY1赋值给DRAM_KEY0,将DRAM_KEY2赋值给DRAM_KEY1,将DRAM_KEY3赋值给DRAM_KEY2,并请求64位新的随机数作为DRAM_KEY3。
(2)DRAM_DENC 114将UPDATE_PTR1赋值给UPDATE_PTR0,将UPDATE_PTR2赋值给UPDATE_PTR1,并重置UPDATE_PTR2为0。然后新一轮的动态加密开始。
可替代地,DRAM_DENC 114可以具有暂停功能,从而允许系统100暂停动态更新功能,以满足带宽要求。
上面的实施方式使用4组动态密钥作为示例用于说明数据加密。可替代地,如果使用N个密钥,本实施方式可以如下被实现:
1、DRAM_KEYn-1表示由相应的地址区域使用的原始密钥,以及DRAM_KEYn表示更新的密钥:
对于由DRAM_KEY动态更新电路发送的数据读请求,DRAM_KEYn-1被用于解密读数据。
对于由DRAM_KEY动态更新电路发送的数据写请求,DRAM_KEYn被用于加密写数据。
2、对于由DRAM访问设备,也称为AXI主机(如公共处理核,或视频解码器)的正常的数据读和写请求:
(1)当设备(如在芯片内的模块,其请求访问地址,如CPU、视频解码器)请求访问地址小于UPDATE_PTRn的数据时,DRAM_DENC 114使用DRAM_KEYn+1进行数据加密和解密;
(2)当设备请求访问地址大于UPDATE_PTRn的数据时,DRAM_DENC 114使用DRAM_KEYn进行数据加密和解密。
综上所述,DRAM_KEY的动态更新包括:
1、DRAM_KEY动态更新电路1144当且仅当系统100中没有接收到任何DRAM访问请求时执行存储器数据更新。
2、基于DRAM_KEYn的数据更新从地址0开始,并且动态更新电路1144采用DRAM_KEYn重新加密存储器数据,然后将重新加密的存储器数据写回存储器,并将当前更新的指针UPDATE_PTRn-1返回给数据加密电路1142。虽然在图1中,动态更新电路1144和数据加密电路1142被示出为独立的电路,但它们可以被并入为单个的电路。
3、当存储器数据的完整周期被更新,即,所有的DRAM_KEYn已完成对数据的加密时,UPDATE_PTRn和DRAM_KEYn分别被更替。
4、上述步骤1-3在产品运行过程中始终被执行,以确保DRAM_KEY始终处于动态更新中。
5、当系统100需要时动态更新可以被暂停。
关于图8的描述示出了用于加密的动态地更新随机密钥的方法。可替代地,图10示出了根据本发明的实施方式的解密的方法的视图。方法1000用于动态随机访问存储器(DRAM)的保护,包括在框310,分别对第一普通区域、第二普通区域、第一安全区域和第二安全区域分配地址空间;在框320,确定读数据是普通数据还是安全数据。如果读数据是普通数据,则方法1000还包括在框330检测普通数据是否具有用于第一安全区域的地址空间内的地址;以及在框340,如果普通数据具有用于第一安全区域的地址空间内的地址,则输出数字信号,指示重映射普通数据的地址到用于第二普通区域的地址空间。该方法1000进一步包括在框1010A,通过使用随机密钥对读数据执行逆函数以生成解密的读数据;以及在框1020A,通过反置换解密数据的位的顺序生成明文读数据。注意,相对于图10的用于解密的随机密钥与相对于图8在方法800中用于加密的随机密钥是相同的。
如果读数据是安全数据,该方法1000还包括在框350检测安全数据是否具有用于第一普通区域的地址空间内的地址;在框360,如果安全数据具有用于第一普通区域的地址空间内的地址,则输出数字信号,指示重映射安全数据的地址到用于第二安全区域的地址空间。该方法1000进一步包括在框1010B通过使用随机密对读数据执行逆函数以生成解密的读数据;以及在框1020B,通过反置换解密数据的位的顺序生成明文读数据。注意,相对于图10的用于解密的随机密钥与相对于图8在方法800中用于加密的随机密钥是相同的。
图11示出了根据本发明的实施方式的用于数据解密的电路。如图11所示,用于数据解密的电路1100包括数据生成器1110,和更新电路1120。数据生成器1110被配置为通过使用随机密钥在读数据上执行逆函数,生成解密的读数据;以及通过反置换所解密的数据的位的顺序,生成明文读数据。更新电路1120被配置为当不存在任何访问所述DRAM的请求时,根据时刻动态地更新所生成的随机密钥。可选地,当不进行随机密钥的动态更新时,更新电路1120是可以省略的。
本发明的实施方式使用了简单的数据加密算法,并且64位加密密钥使用随机数生成器。密钥对于芯片而言是唯一的,并且在电路每次上电时密钥都是不同的。此外,本发明的实施方式允许使用N组DRAM动态加密密钥,从而大大增加了破解的难度。
不同实施方式的特征和方面可以被整合到另外的实施方式中,并且本文件所示的实施方式可以在没有所有示例或者描述的特征或者方面的情况下实施。本领域技术人员会注意到,虽然本系统和方法的特定的示例和实施方式为了示例目的而被描述,在不背离本发明的精神和范围的情况下可以做出不同的修改。此外,一实施方式的特征可以被包含到另一个实施方式中,即使这些特征并未在本文件中在一个单一的实施方式中被一起描述。因此,本发明被所附的权利要求所描述。

Claims (17)

1.一种用于动态随机访问存储器(DRAM)保护的方法,包括:
分别分配地址空间用于第一普通区域、第二普通区域、第一安全区域和第二安全区域;
检测普通数据是否具有用于所述第一安全区域的所述地址空间内的地址;
如果所述普通数据具有用于所述第一安全区域的所述地址空间内的地址,则输出数字信号,指示重映射所述普通数据的地址到用于所述第二普通区域的所述地址空间;
检测安全数据是否具有用于所述第一普通区域的所述地址空间内的地址;
如果所述安全数据具有用于所述第一普通区域的所述地址空间内的所述地址,则输出数字信号,指示重映射所述安全数据的地址到用于所述第二安全区域的所述地址空间。
2.根据权利要求1所述的方法,进一步包括
确定设备是否被允许重映射地址;
如果所述设备不被允许重映射地址,则保持所述设备将要访问的所述普通数据的原始地址或所述安全数据的原始地址;
如果所述设备被允许重映射地址,
如果所述普通数据具有用于所述第一安全区域的所述地址空间内的所述地址,则重映射所述普通数据的地址到用于所述第二普通区域的所述地址空间;或
如果所述安全数据具有用于所述第一普通区域的所述地址空间内的所述地址,则重映射所述安全数据的地址到用于所述第二安全区域的所述地址空间。
3.根据权利要求1所述的方法,其中检测所述普通数据是否具有用于所述第一安全区域的所述地址空间内的所述地址,或检测所述安全数据是否具有用于所述第一普通区域的所述地址空间内的所述地址是通过二进制搜索实现的。
4.根据权利要求1所述的方法,进一步包括
为访问所述地址的设备配置设备ID和传输类型;
通过与授权表进行比较,根据所述传输类型和所述设备ID确定所述设备是否被允许访问所述地址。
5.根据权利要求1所述的方法,进一步包括
保持第一表和第二表,其用于所述普通数据的所述地址到用于所述第二安全区域的所述地址空间之间的第一映射,以及所述安全数据的所述地址到用于所述第二普通区域的所述地址空间之间的第二映射;其中所述第一表是当前正在被使用的,并且所述第二表是空闲的;
使用更新的第一映射和所述第二映射更新所述第二表;
当更新所述第一表且所述第二表的更新完成时,直接使用所述第二表。
6.根据权利要求1所述的方法,进一步包括
生成随机密钥;
通过置换原始DRAM写数据的位的顺序,生成更新的写数据;
通过对使用的所生成的随机密钥与所述更新的写数据执行函数,生成加密的数据;以及
当不存在任何访问所述DRAM的请求时,根据时刻动态地更新所使用的随机密钥。
7.根据权利要求6所述的方法,进一步包括:
以预定的时间间隔动态地更新所述随机密钥;以及
用所更新的随机密钥加密数据。
8.根据权利要求1所述的方法,还包括
通过使用随机密钥在读数据上执行逆函数,生成解密的读数据;
通过反置换所解密的数据的位的顺序,生成明文读数据。
9.一种用于动态随机访问存储器(DRAM)保护的设备,包括:
分配电路,其被配置为分别分配地址空间用于第一普通区域、第二普通区域、第一安全区域和第二安全区域;
检测器,其被配置为检测普通数据是否具有用于所述第一安全区域的所述地址空间内的地址;
重映射电路,其被配置为如果所述普通数据具有用于所述第一安全区域的所述地址空间内的地址,则重映射所述普通数据的地址到用于所述第二普通区域的所述地址空间;
所述检测器进一步被配置为检测安全数据是否具有用于所述第一普通区域的所述地址空间内的地址;
所述重映射电路被进一步配置为如果所述安全数据具有用于所述第一普通区域的所述地址空间内的地址,则重映射所述安全数据的地址到用于所述第二安全区域的所述地址空间。
10.根据权利要求9所述的设备,进一步包括
判定电路,其被配置为确定设备是否被允许重映射地址;其中
所述重映射电路被进一步配置为,如果所述设备不被允许重映射地址,则保持所述设备将要访问的所述普通数据的原始地址或所述安全数据的原始地址;
如果所述设备被允许重映射地址,
如果所述普通数据具有用于所述第一安全区域的所述地址空间内的所述地址,则重映射所述普通数据的地址到用于所述第二普通区域的所述地址空间;或
如果所述安全数据具有用于所述第一普通区域的所述地址空间内的所述地址,则重映射所述安全数据的地址到用于所述第二安全区域的所述地址空间。
11.根据权利要求9所述的设备,其中所述检测器通过使用二进制搜索,检测所述普通数据是否具有用于所述第一安全区域的所述地址空间内的所述地址,或检测所述安全数据是否具有用于所述第一普通区域的所述地址空间内的所述地址。
12.根据权利要求9所述的设备,其中
所述分配电路进一步被配置成为访问所述地址的设备配置设备ID和传输类型;
所述判定设备进一步被配置为通过与授权表进行比较,根据所述传输类型和所述设备ID确定所述设备是否被允许访问所述地址。
13.根据权利要求9所述的设备,其中所述重映射电路进一步被配置为
保持第一表和第二表,其用于所述普通数据的所述地址到用于所述第二安全区域的所述地址空间之间的第一映射,以及所述安全数据的所述地址到用于所述第二普通区域的所述地址空间之间的第二映射;其中所述第一表是当前正在被使用的,并且所述第二表是空闲的;
使用更新的第一映射和所述第二映射更新所述第二表;
当更新所述第一映射和所述第二映射的更新完成时,直接使用所述第二表到所述第一表。
14.根据权利要求9所述的设备,进一步包括
密钥生成器,其被配置为生成随机密钥;
第一数据生成器,其被配置为通过置换原始DRAM写数据的位的顺序,生成更新的写数据;
所述数据生成器进一步被配置为通过对使用的所生成的随机密钥与所述更新的写数据执行函数,生成加密的数据;以及
第一更新电路,其被配置为当不存在任何访问所述DRAM的请求时,根据时刻动态地更新所使用的随机密钥。
15.根据权利要求14所述的设备,其中所述更新电路进一步被配置为:
以预定的时间间隔动态地更新所述随机密钥;以及
所述设备进一步包括加密电路,其被配置为用所更新的随机密钥加密数据。
16.根据权利要求9所述的设备,还包括
第二数据生成器,其被配置为通过使用随机密钥在读数据上执行逆函数,生成解密的读数据;
所述第二数据生成器进一步被配置为通过反置换所解密的数据的位的顺序,生成明文读数据。
17.根据权利要求16所述的设备,还包括
第二更新电路,其被配置为当不存在任何访问所述DRAM的请求时,根据时刻动态地更新所生成的随机密钥。
CN201511019129.8A 2015-12-29 2015-12-29 用于保护动态随机访问存储器的方法和设备 Active CN106933751B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201511019129.8A CN106933751B (zh) 2015-12-29 2015-12-29 用于保护动态随机访问存储器的方法和设备
US15/068,657 US10482039B2 (en) 2015-12-29 2016-03-14 Method and device for protecting dynamic random access memory

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201511019129.8A CN106933751B (zh) 2015-12-29 2015-12-29 用于保护动态随机访问存储器的方法和设备

Publications (2)

Publication Number Publication Date
CN106933751A true CN106933751A (zh) 2017-07-07
CN106933751B CN106933751B (zh) 2019-12-24

Family

ID=59087880

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201511019129.8A Active CN106933751B (zh) 2015-12-29 2015-12-29 用于保护动态随机访问存储器的方法和设备

Country Status (2)

Country Link
US (1) US10482039B2 (zh)
CN (1) CN106933751B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107908980A (zh) * 2017-10-10 2018-04-13 芯海科技(深圳)股份有限公司 一种存储器数据加密保护的实现方法
CN114385067A (zh) * 2020-10-19 2022-04-22 澜起科技股份有限公司 用于存储器系统的数据更新方法和存储器控制器
CN119475440A (zh) * 2025-01-15 2025-02-18 广东数远科技有限公司 一种企业数据安全管理方法及系统
CN121012632A (zh) * 2025-10-27 2025-11-25 山东云海国创云计算装备产业创新中心有限公司 数据处理方法、装置、电子设备及存储介质

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6504984B2 (ja) 2015-09-28 2019-04-24 ルネサスエレクトロニクス株式会社 データ処理装置
FR3089322B1 (fr) 2018-11-29 2020-12-18 St Microelectronics Rousset Gestion des restrictions d’accès au sein d’un système sur puce
KR20200067633A (ko) 2018-12-04 2020-06-12 삼성전자주식회사 메모리 장치 및 그것의 보안 데이터 처리 방법
GB2580968B (en) * 2019-02-01 2021-08-04 Advanced Risc Mach Ltd Lookup circuitry for secure and non-secure storage
US11768731B2 (en) * 2019-05-03 2023-09-26 Infineon Technologies Ag System and method for transparent register data error detection and correction via a communication bus
US11546336B1 (en) * 2019-10-22 2023-01-03 Amazon Technologies, Inc. Independently configurable access device stages for processing interconnect access requests
US11217323B1 (en) 2020-09-02 2022-01-04 Stmicroelectronics International N.V. Circuit and method for capturing and transporting data errors
US11698833B1 (en) 2022-01-03 2023-07-11 Stmicroelectronics International N.V. Programmable signal aggregator
US12450401B2 (en) * 2023-08-24 2025-10-21 Dell Products L.P. Peripheral device data protection

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1304508A (zh) * 1999-02-01 2001-07-18 皇家菲利浦电子有限公司 用于安全地址重映射的方法和装置
CN101082886A (zh) * 2006-05-30 2007-12-05 松下电器产业株式会社 存储器数据保护装置及ic卡用lsi
CN102804153A (zh) * 2010-02-17 2012-11-28 Arm有限公司 在安全与非安全存储器区域内存储安全模式页表数据
CN104137084A (zh) * 2011-12-28 2014-11-05 英特尔公司 提高耐久性和抗攻击性的用于pcm缓存的有效动态随机化地址重映射
US9189426B2 (en) * 2012-06-28 2015-11-17 Intel Corporation Protected access to virtual memory
CN105373486A (zh) * 2014-08-13 2016-03-02 波音公司 计算系统中动态存储器地址的重新映射
US9304941B2 (en) * 2014-02-27 2016-04-05 Mangstor, Inc. Self-encrypting flash drive

Family Cites Families (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5978903A (en) * 1997-08-19 1999-11-02 Advanced Micro Devices, Inc. Apparatus and method for automatically accessing a dynamic RAM for system management interrupt handling
US7613880B2 (en) * 2002-11-28 2009-11-03 Renesas Technology Corp. Memory module, memory system, and information device
US20050195975A1 (en) * 2003-01-21 2005-09-08 Kevin Kawakita Digital media distribution cryptography using media ticket smart cards
EP1870814B1 (en) * 2006-06-19 2014-08-13 Texas Instruments France Method and apparatus for secure demand paging for processor devices
US8112618B2 (en) * 2004-04-08 2012-02-07 Texas Instruments Incorporated Less-secure processors, integrated circuits, wireless communications apparatus, methods and processes of making
DE602004021043D1 (de) * 2004-12-30 2009-06-18 Telecom Italia Spa Verfahren und system zur erkennung von attacken in drahtlosen datenkommunikationsnetzen
US20070220594A1 (en) * 2006-03-04 2007-09-20 Tulsyan Surendra K Software based Dynamic Key Generator for Multifactor Authentication
US7711923B2 (en) * 2006-06-23 2010-05-04 Microsoft Corporation Persistent flash memory mapping table
WO2008055271A2 (en) * 2006-11-04 2008-05-08 Virident Systems, Inc. Seamless application access to hybrid main memory
US7774622B2 (en) * 2006-11-06 2010-08-10 Cisco Technology, Inc. CRPTO envelope around a CPU with DRAM for image protection
US9141557B2 (en) * 2006-12-08 2015-09-22 Ashish A. Pandya Dynamic random access memory (DRAM) that comprises a programmable intelligent search memory (PRISM) and a cryptography processing engine
US8812816B2 (en) * 2010-03-23 2014-08-19 Apple Inc. Garbage collection schemes for index block
US8869300B2 (en) * 2010-05-10 2014-10-21 Citrix Sytems, Inc. Redirection of information from secure virtual machines to unsecure virtual machines
US20120036308A1 (en) * 2010-08-06 2012-02-09 Swanson Robert C Supporting a secure readable memory region for pre-boot and secure mode operations
KR101736384B1 (ko) * 2010-09-29 2017-05-16 삼성전자주식회사 비휘발성 메모리 시스템
US9037869B2 (en) * 2011-11-02 2015-05-19 Intel Corporation Delivering data from a secure execution environment to a display controller
JP6095330B2 (ja) * 2012-11-13 2017-03-15 キヤノン株式会社 情報処理装置及びその制御方法、プログラム
US9218285B2 (en) * 2012-11-26 2015-12-22 Arm Limited Variable mapping of memory accesses to regions within a memory
US9286964B2 (en) * 2012-12-21 2016-03-15 Intel Corporation Method, apparatus and system for responding to a row hammer event
US20140195730A1 (en) * 2013-01-07 2014-07-10 Dannie Gerrit Feekes Robust and secure memory subsystem
JP5619198B2 (ja) * 2013-02-04 2014-11-05 株式会社フィックスターズ 情報処理装置、情報処理方法、およびプログラム
US20150033016A1 (en) * 2013-07-23 2015-01-29 Battelle Memorial Institute Systems and methods for securing real-time messages
US9898410B2 (en) * 2013-09-10 2018-02-20 Intel Corporation Hybrid main memory using a fine-grain level of remapping
WO2015162745A1 (ja) * 2014-04-24 2015-10-29 株式会社日立製作所 ストレージシステム
JP6584823B2 (ja) * 2014-06-20 2019-10-02 株式会社東芝 メモリ管理装置、プログラム、及び方法
CN105683981B (zh) * 2014-08-21 2018-10-30 华为技术有限公司 一种安全交互方法和设备
US10162762B2 (en) * 2015-04-22 2018-12-25 Arm Limited Managing memory based on hint data generated from mapping data entries
US9804974B2 (en) * 2015-05-11 2017-10-31 Bertrand F. Cambou Memory circuit using dynamic random access memory arrays
US10114958B2 (en) * 2015-06-16 2018-10-30 Microsoft Technology Licensing, Llc Protected regions
US9798641B2 (en) * 2015-12-22 2017-10-24 Intel Corporation Method to increase cloud availability and silicon isolation using secure enclaves
US10013579B2 (en) * 2015-12-23 2018-07-03 Intel Corporation Secure routing of trusted software transactions in unsecure fabric

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1304508A (zh) * 1999-02-01 2001-07-18 皇家菲利浦电子有限公司 用于安全地址重映射的方法和装置
CN101082886A (zh) * 2006-05-30 2007-12-05 松下电器产业株式会社 存储器数据保护装置及ic卡用lsi
CN102804153A (zh) * 2010-02-17 2012-11-28 Arm有限公司 在安全与非安全存储器区域内存储安全模式页表数据
CN104137084A (zh) * 2011-12-28 2014-11-05 英特尔公司 提高耐久性和抗攻击性的用于pcm缓存的有效动态随机化地址重映射
US9189426B2 (en) * 2012-06-28 2015-11-17 Intel Corporation Protected access to virtual memory
US9304941B2 (en) * 2014-02-27 2016-04-05 Mangstor, Inc. Self-encrypting flash drive
CN105373486A (zh) * 2014-08-13 2016-03-02 波音公司 计算系统中动态存储器地址的重新映射

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107908980A (zh) * 2017-10-10 2018-04-13 芯海科技(深圳)股份有限公司 一种存储器数据加密保护的实现方法
CN114385067A (zh) * 2020-10-19 2022-04-22 澜起科技股份有限公司 用于存储器系统的数据更新方法和存储器控制器
CN114385067B (zh) * 2020-10-19 2023-07-18 澜起科技股份有限公司 用于存储器系统的数据更新方法和存储器控制器
CN119475440A (zh) * 2025-01-15 2025-02-18 广东数远科技有限公司 一种企业数据安全管理方法及系统
CN119475440B (zh) * 2025-01-15 2025-04-11 广东数远科技有限公司 一种企业数据安全管理方法及系统
CN121012632A (zh) * 2025-10-27 2025-11-25 山东云海国创云计算装备产业创新中心有限公司 数据处理方法、装置、电子设备及存储介质
CN121012632B (zh) * 2025-10-27 2026-01-27 山东云海国创云计算装备产业创新中心有限公司 数据处理方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
US20170185539A1 (en) 2017-06-29
US10482039B2 (en) 2019-11-19
CN106933751B (zh) 2019-12-24

Similar Documents

Publication Publication Date Title
CN106933751A (zh) 用于保护动态随机访问存储器的方法和设备
US5224166A (en) System for seamless processing of encrypted and non-encrypted data and instructions
US10447476B2 (en) Multi-key graphic cryptography for encrypting file system acceleration
US6851056B2 (en) Control function employing a requesting master id and a data address to qualify data access within an integrated system
AU2011305189B2 (en) A tweakable encryption mode for memory encryption with protection against replay attacks
US20080285747A1 (en) Encryption-based security protection method for processor and apparatus thereof
CN106657052B (zh) 一种存储数据的访问管理方法及系统
CN107590402A (zh) 一种存储数据加解密装置及方法
US11030119B2 (en) Storage data encryption and decryption apparatus and method
US9081724B2 (en) Method and device for protecting memory content using first and second addressable storage regions and first and second encryption keys
KR101083632B1 (ko) 비밀 정보 보호 시스템 및 방법
JP2010268417A (ja) 記録装置及びコンテンツデータ再生システム
CN103688269A (zh) 与存储器区域的密码信息关联
JP2004201038A (ja) データ記憶装置、これを搭載した情報処理装置及びそのデータ処理方法並びにプログラム
CN105580027A (zh) 用于使用不同域特定密钥确保内容安全的方法
CN1402848A (zh) 具有加密的微处理装置
CN110659506A (zh) 基于密钥刷新对存储器进行重放保护
US20110107109A1 (en) Storage system and method for managing data security thereof
CN101149768B (zh) 一种专用处理器软件的加密和解密方法
GB2353682A (en) Cryptographic key management
EP1578051A1 (en) Apparatus comprising a key selector and a key update mechanism for encrypting/decrypting data to be written/read in a store
CN100424611C (zh) 用于处理加密软件的方法和中央处理单元
CN101853220A (zh) 一种具有密钥分拆存储机制的移动存储设备
CN201408416Y (zh) 具有密钥分拆存储机制的移动存储设备
CN104506506B (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
CB02 Change of applicant information
CB02 Change of applicant information

Address after: A6, No. 900 Yishan Road, Xuhui District, Shanghai, 2003

Applicant after: Lanqi Technology Co., Ltd.

Address before: Room A1601, 900 Yishan Road, Xuhui District, Shanghai, 2003

Applicant before: Acrospeed, Inc.

GR01 Patent grant
GR01 Patent grant