CN110431537A - 模糊处理增强型存储器加密 - Google Patents
模糊处理增强型存储器加密 Download PDFInfo
- Publication number
- CN110431537A CN110431537A CN201880018648.8A CN201880018648A CN110431537A CN 110431537 A CN110431537 A CN 110431537A CN 201880018648 A CN201880018648 A CN 201880018648A CN 110431537 A CN110431537 A CN 110431537A
- Authority
- CN
- China
- Prior art keywords
- affairs
- several
- write
- memory
- spuious
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 230000015654 memory Effects 0.000 title claims abstract description 149
- 238000012545 processing Methods 0.000 title abstract description 13
- 238000000034 method Methods 0.000 claims abstract description 39
- 238000005516 engineering process Methods 0.000 claims description 8
- 230000004044 response Effects 0.000 claims description 2
- 238000003780 insertion Methods 0.000 claims 1
- 230000037431 insertion Effects 0.000 claims 1
- 230000008707 rearrangement Effects 0.000 description 8
- 238000012937 correction Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 230000000977 initiatory effect Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 230000002708 enhancing effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 235000009470 Theobroma cacao Nutrition 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 244000240602 cacao Species 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000001035 drying Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000006993 memory improvement Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000012805 post-processing Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000001737 promoting effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000009897 systematic effect Effects 0.000 description 1
Classifications
-
- 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/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/062—Securing storage systems
- G06F3/0623—Securing storage systems in relation to content
-
- 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
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
-
- 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/60—Protecting data
-
- 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
- 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/0661—Format or protocol conversion arrangements
-
- 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/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
-
- 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/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/10—Integrity
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1052—Security improvement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/40—Specific encoding of data in memory or cache
- G06F2212/402—Encrypted data
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Human Computer Interaction (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Multimedia (AREA)
- Technology Law (AREA)
- Computing Systems (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Storage Device Security (AREA)
Abstract
本公开包含用于模糊处理增强型存储器加密的设备和方法。实例方法包括执行写入操作,其中所述写入操作包含将从主机接收到的数个写入事务连同数个杂散事务一起传输到存储器,且其中所述数个杂散事务以特定比率在所述数个接收到的写入事务当中传输。
Description
技术领域
本公开大体上涉及半导体存储器设备和方法,且更具体地说,涉及模糊处理增强型存储器加密。
背景技术
存储器装置通常提供为计算机或其它电子装置中的内部半导体集成电路和/或外部可移除装置。存在许多不同类型的存储器,包含易失性和非易失性存储器。易失性存储器可能需要电力来维持其数据,且可包含随机存取存储器(RAM)、动态随机存取存储器(DRAM)和同步动态随机存取存储器(SDRAM)等。非易失性存储器可在未供电时保留所存储数据,且可包含NAND快闪存储器、NOR快闪存储器、相变随机存取存储器(PCRAM)、电阻性随机存取存储器(RRAM)和磁性随机存取存储器(MRAM)等。
存储器装置可组合在一起以形成固态驱动器(SSD)。SSD可包含非易失性存储器(例如,NAND快闪存储器和/或NOR快闪存储器),和/或可包含易失性存储器(例如,DRAM和SRAM),以及各种其它类型的非易失性和易失性存储器。在各种情况下,存储器系统可包含主要存储器(例如主存储器)和辅助存储器(例如存储存储器)。辅助存储器通常是非易失性存储器,用于相对于主存储器在相对长期的基础上存储程序、应用程序和数据,且相对于主要存储器通常具有大许多的容量。主要存储器通常是易失性的,相对于存储存储器具有更快的存取时间,且通常暂时存储由主机(例如处理器、CPU等)存取的程序、应用程序和数据。在各种情况下,主要存储器可可由主机处理器直接存取,而辅助存储器则可能无法如此。然而,随着存储器技术的进步,一些存储存储器(或其至少一部分)可由主机处理器直接存取,从而允许所述存储存储器充当主存储器的至少一部分。
另外,随着存储器技术的进步,各种非易失性存储器正用作和/或被考虑用作主存储器(例如,作为DRAM的替代)。然而,使用非易失性存储器作为主存储器可能会引入一些安全漏洞,而对于例如DRAM的易失性存储器可能不大有这种困扰。举例来说,由于数据在断电后保留在非易失性存储器中,因此数据可能更易受到例如在装置断电时的总线窥探和/或探测物理存储器的各种方法以及各种其它方法的损害,所述各种方法可能提供对例如通常驻存在主存储器中的密码密钥的敏感数据的存取。尽管已提出通过数据加密来解决各种安全问题的若干方法,但它们具有一些局限性,例如相对高的设计复杂性和较大时延/能量开销。
附图说明
图1是根据本公开的数个实施例的包含存储器系统的计算系统形式的设备的框图,所述存储器系统包括控制器,所述控制器经配置以控制模糊处理增强型加密。
图2说明根据本公开的数个实施例的与生成杂散事务相关联的图。
图3说明根据本公开的数个实施例的与生成杂散事务相关联的图。
图4说明根据本公开的与解密从存储器读取的数据相关联的图,所述数据已根据模糊处理增强型加密方法加密。
图5说明根据本公开的数个实施例的对应于所生成杂散事务的特定数据值的实例。
图6是根据本公开的数个实施例的包括控制器的存储器系统形式的设备的框图,所述控制器经配置以控制模糊处理增强型加密。
具体实施方式
本公开包含用于模糊处理增强型存储器加密的设备和方法。实例方法包括执行写入操作,其中所述写入操作包含将从主机接收到的数个写入事务连同数个杂散事务一起传输到存储器,且其中所述数个杂散事务以特定比率在所述数个接收到的写入事务当中传输。
本公开的实施例可为主要存储器(例如,可随机存取主存储器)提供灵活的数据安全解决方案,与先前的方法相比,此解决方案在提供降低的事务时延程度的同时提供例如增强的数据安全的益处。举例来说,数个实施例可提供抵抗各种攻击(如当攻击者可能具有对存储器的用户空间访问权时,这可允许攻击者指导特定的存储器事务集,和/或当攻击者可能具有对存储器的物理访问权时,这可允许总线窥探以及可包括数据安全和/或机密性的各种其它类型的攻击)的可随机存取非易失性存储器的改进保护。各种实施例可在不对存储于存储器中的所有数据进行加密的情况下提供非易失性主存储器的经增强安全性。加密存储在存储器(例如可随机存取存储器)中的所有数据对于数据安全可能是有效的,但可能不利地影响系统时延,且主存储器中的时延问题可能会增大,因为与存储存储器相比,主存储器内容通常更频繁地改变。
如本文所使用,存储器事务可指涉及在主机(例如处理器)与存储器之间移动特定量的数据(例如,8字节、64字节、128字节、2KB等)的操作。在各种实例中,控制器经配置以向存储器写入对应于从主机接收到的写入事务的数据,和/或经配置以从存储器读取对应于从主机接收到的读取请求的数据。存储器可例如是充当存储器系统的主存储器的至少一部分的非易失性存储器。在各种实施例中,存储器可以是随机存取(例如,字节可寻址)存储器,而非块可寻址存储器(例如,其中使用逻辑块寻址的NAND快闪存储器)。
在本公开的以下详细描述中,参考形成本公开的部分的附图,且图中通过图解方式展示可实践本公开的一或多个实施例的方式。足够详细地描述这些实施例以使得所属领域的一般技术人员能够实践本公开的实施例,且应理解,可利用其它实施例且可在不脱离本公开的范围的情况下进行工艺、电气和/或结构改变。如本文所使用,指定符“M”和“N”,尤其是关于图中的附图标号,指示可包含数个如此指定的特定特征。如本文所使用,“数个”特定事物可指此类事物中的一或多个(例如,数个存储器装置可指一或多个存储器装置)。
本文中的图式遵循编号惯例,其中前一或多个数字对应于图式编号,且其余的数字识别图中的元件或组件。可通过使用类似数字来识别不同图之间的类似元件或组件。举例来说,108可表示图1中的元件“08”,且类似元件在图2中可表示为208。如应了解,可添加、交换和/或去除本文中的各种实施例中展示的元件,从而提供本公开的数个额外实施例。另外,如应了解,图中提供的元件的比例和相对标度意欲说明本发明的某些实施例,且不应以限制性意义理解。
图1是根据本公开的数个实施例的包含存储器系统104的计算系统100形式的设备的框图,所述存储器系统包括控制器108,所述控制器经配置以控制模糊处理增强型加密。如本文所使用,存储器系统104、控制器108或存储器110也可单独地视为“设备”。存储器系统104可例如是固态驱动器(SSD)、双列直插式存储器模块(DIMM)或非易失性DIMM(NV-DIMM),且可包含主机接口106、控制器108(例如排序器和/或其它控制电路)以及存储器110。尽管图1中未展示,但存储器110可包括例如数个DRAM装置、例如NAND闪存装置的固态存储器装置和/或3D XPoint存储器装置,以及其它类型的存储器装置,其为存储器系统104提供储存容量。举例来说,存储器110可充当系统104的主要存储器;然而,实施例不受如此限制。举例来说且如图6所展示,存储器系统可包含主要存储器(例如主存储器610)和辅助存储器(存储存储器620)。在数个实施例中且如图1中所展示,存储器110可包括专用于存储对应于杂散事务的数据的部分111,如在本文中进一步描述。
控制器108可经由多个通道耦合到主机接口106和存储器110,且可用于在存储器110与主机102之间传递数据。接口106可呈标准化接口形式。举例来说,当存储器系统104用于计算系统100中的数据存储时,接口106可以是串行高级技术附件(SATA)、外围组件互连高速(PCIe)或通用串行总线(USB)以及其它连接器和接口。然而,总的来说,接口106可提供用于在存储器系统104与具有用于接口106的兼容接受器的主机102之间传送控制、地址、数据和其它信号的接口。
主机102可以是主机系统,例如个人笔记本电脑、台式计算机、数码相机、移动电话或存储卡读取器,以及各种其它类型的主机。主机102可包含系统主板和/或底板,且可包含数个存储器存取装置(例如数个处理器)。
控制器108可与存储器110(其在一些实施例中可以是单个裸片上的数个存储器阵列)通信以控制数据读取、写入和擦除操作以及其它操作。举例来说,控制器108可在与对应于存储器110的裸片相同的裸片上或不同的裸片上。
尽管未具体说明,但控制器108可包含用于将控制器108耦合到存储器110的每个通道的离散存储器通道控制器。另外,控制器108可包含用于主存储器(例如图6中展示的610)和存储存储器(例如图6中展示的620)的离散控制器。控制器108可包含例如硬件和/或固件形式的多个组件(例如一或多个集成电路)和/或用于控制对存储器110的存取和/或用于促进主机102与存储器110之间的数据传递的软件。
如图1所说明,控制器108可包含杂散事务生成器112和加密/解密组件114。根据数个本文中所描述的实施例,组件112可包含经配置以生成与模糊处理增强型存储器加密相关联的杂散事务的电路。如在本文中进一步描述,在数个实施例中,控制器108可自主地生成待包含在由主机102发起的存储器事务当中的存储器事务(例如,由控制器发起且不由主机生成的写入事务和/或读取事务)。组件112还可重新排序由主机102发起的存储器事务(例如,更改执行事务的顺序)。在数个实施例中,生成杂散存储器事务且将其包含在主机发起的存储器事务中的频率是可编程部分,这可提供平衡增大的安全性(例如,相对更多数目的杂散事务)与增大的加密相关开销的能力。在数个实施例中,可基于各种因素——例如响应于检测到写入模式的位置增大(例如,对特定地址或地址范围的写入增多)——来(例如通过控制器108)调整生成杂散存储器事务的比率。
组件114可包含例如经配置以加密和/或解密从主机接收和/或从存储器检索到的多个事务的电路,如在本文中进一步描述。例如,组件114可根据各种加密算法加密从主机102接收到的数个事务。举例来说,组件114可利用作为块密码加密的高级加密标准(AES),且实施Rijndael算法。在一些实施例中,AES可用作不具有反馈的电子代码簿(ECB)。举例来说,相同的数据输入在没有反馈的情况下加密时可产生相同的数据输出。在一些实施例中,AES可用在若干反馈操作模式中的一者中,例如密码块链接(CBC)、密码反馈(CFB)和输出反馈(OFB)。在这些模式中,将AES算法的输出反馈到数据输入,使得即使相同的数据输入(未加密)在加密时也未必产生相同的数据输出。此外,组件114可使用适当的存储器解密算法来解密从存储器110检索到的数个事务。组件112和114不限于电路(例如硬件)实施方案。例如,组件112和/或114可用硬件、固件和/或软件实施。
组件112和114可以是离散组件,例如专用集成电路(ASIC),或所述组件可反映由控制器108内的电路提供的功能上,其未必具有与控制器108的其它部分分开的离散物理形式。尽管在图1中说明为控制器108内的组件,但组件112和114可在控制器108外部,或可具有位于控制器108内的多个组件以及位于控制器108外部的多个组件。
尽管未在图1中展示,但控制器108还可包含纠错电路,例如包含Bose-Chaudhuri-Hocquenghem(BCH)纠错电路和Reed-Solomon纠错电路的群组中的一者,以及其它类型的纠错电路。纠错电路可用于检测以及校正数据误差。另外,纠错组件可包含误差编码和解码功能。
图2说明根据本公开的数个实施例的与生成杂散事务相关联的图。在图2中,“uT”(例如,uT1 230-1到uTN 230-N)表示未经加密写入事务(例如,由例如主机102的主机发起且由例如控制器108的控制器接收的写入事务),“eT”(例如,eT1 232-1到eTN 232-N)表示经加密写入事务(例如,从例如控制器108的控制器传输到例如存储器110的存储器的写入事务),且“S”(例如,S1 234-1到SN/3 234-(N/3))表示杂散事务(例如,由例如控制器108的控制器生成的事务,而非由例如主机102的主机生成的事务)。未经加密事务230-1到230-N、经加密事务232-1到232-N以及杂散事务234-1到234-(N/3)将分别统称为事务230、232和234。在图2中,与未经加密事务230和经加密写入事务232相关联的下标指示对应的事务。举例来说,uT1和eT1对应于相同事务,使得eT1是uT1的加密版本。图3和4中关于未加密、加密和杂散事务使用了类似记法。
如图2中所展示,控制器208从主机(例如,主机102)接收数个未经加密写入事务230。每个写入事务可包含特定量的数据(例如,一或多个字节)和相关联地址。举例来说,对于字节可寻址存储器,每个事务230可对应于单个字节的数据;然而,实施例不受如此限制,且例如每个事务可包括64或128字节的数据。
从主机发起的数个写入事务230可由控制器208加密,从而产生对应的经加密事务232,且可将加密数据写入到存储器(例如,存储器110)。在数个实施例中,对事务230进行加密可包含:通过加密对应于事务230的地址以生成(例如存储器110的)物理地址,以及接着使用所生成的物理地址作为种子以用于数据的伪计数器模式(PCTR)加密。举例来说,经加密地址可以是来自存储器110的物理地址空间的电子代码簿(ECB)映射,这可减小在从存储器读取时与后续解密相关联的复杂性。与各种其它加密技术相比,使用ECB技术加密地址以及使用PCTR技术加密数据可提供例如降低的事务时延程度的益处。另外,此类加密技术可提供无状态加密,其可维持对存储器的可随机存取性。举例来说,数个实施例可提供主存储器(例如RAM)的加密,同时仍提供相对低的时延和可随机存取性。
除了从主机发起的事务230生成经加密事务232之外,控制器208还经配置以生成数个杂散事务234,所述杂散事务包括待与对应于经加密事务232的数据一起写入存储器的数据。杂散事务234可以特定比率生成(例如,每四、五、八、十六、二十个等主机发起的事务就有一个杂散事务234),所述特定比率可变和/或可由控制器208选择。可基于各种因素来(例如由控制器208)调整所述特定比率(例如,由控制器生成的作为设计成混淆观察者的杂散事务的事务百分比)。例如,控制器208可经配置以跟踪写入地址的位置,且可响应于确定对相同地址和/或地址范围的重复写入达到阈值而增大所生成杂散事务的比率。在数个实施例中,可在操作期间(例如在运行时间)调整杂散事务生成的比率,以增大或减小与经加密事务232相关联的安全级。
在数个实施例中,可将杂散事务234写入到存储器的专用部分(例如图1中展示的部分111),这可促进读取/解密过程,因为控制器208可经配置以舍弃从存储器的专用部分111进行的那些读取。专用于部分111的存储器110的量可变化,且可取决于各种因素,例如生成杂散事务234的比率等。举例来说,对应于杂散事务234的数据可以是由控制器208(例如通过随机数生成器)生成的随机数据。对应于经加密主机发起的写入事务232的数据可连同对应于杂散控制器生成的写入事务的数据一起写入存储器,由此提供一定程度的模糊处理。在数个实施例中,杂散事务234可由控制器208自主地生成,使得外部组件(例如主机102)不了解哪些事务是由控制器生成的,且不了解对应于那些杂散事务的数据的值。
图2中展示的实例说明杂散事务率为25%。例如,如图2中所展示,每四个事务中有一个是杂散事务234。在此实例中,经加密事务234按照从主机接收它们的次序依次写入到存储器。例如,按次序连续处理事务232-1到232-N,且在每三个经加密事务232之后处理杂散事务234-1到234-(N/3)。在此实例中,写入到存储器的事务总数目等于对应于“N”个主机发起的写入事务230的“N”个经加密写入事务232加上“N/3”个杂散控制器生成的写入事务。如在本文中进一步描述,实施例不限于图2中展示的实例。举例来说,在数个实施例中,控制器208可经配置以重新排序从主机接收到的事务230,使得所述事务不按顺序次序进行处理。
经由相同数据总线将杂散事务234和写入事务232两者传输到存储器会使可能例如具有对系统(例如系统100)的用户空间访问权的攻击者感到困惑。举例来说,具有用户空间访问权的攻击者可能能够向系统输入特定存储器事务集,且接着探测控制器(例如108)与存储器(例如110)之间的物理总线以观察所述特定存储器事务集以何种形式经由总线传输到存储器。在此类情况下,攻击者可能能够通过与在总线上传递到存储器的数据模式相比而监测提供给控制器的数据模式来确定特定加密算法。然而,根据本文描述的实施例,在总线上连同数个写入事务一起传输控制器生成的杂散事务可帮助进一步使具有对系统的此类访问权的攻击者感到困惑。
图3说明根据本公开的数个实施例的与生成杂散事务相关联的图。在图3中,“uT”(例如,uT1 330-1到uTN 330-N)表示未经加密主机发起的写入事务,“eT”(例如,eT1 332-1到eTN 332-N)表示经加密写入事务,且“S”(例如,S1 334-1到SN/2 334-(N/2))表示控制器生成的杂散事务。未经加密事务330-1到330-N、经加密事务332-1到332-N以及杂散事务334-1到334-(N/2)将分别统称为事务330、332和334。
如图3中所展示,控制器308从主机(例如,主机102)接收数个未经加密写入事务330。每个写入事务可包含特定量的数据(例如,一或多个字节)和相关联地址。图3中展示的实例说明杂散事务率为33%。例如,如图3中所展示,每三个事务中有一个是杂散事务334。与图2所展示的其中经加密事务(例如234)按照从主机接收它们的次序依序写入到存储器的实例不同,在此实例中,控制器308经配置以重新排序从主机接收到的事务330,使得它们不按顺序次序进行处理。例如,事务332-3在事务332-1和332-2之前写入到存储器。控制器308对事务的重新排序可以自主方式完成,使得重新排序对主机是隐藏的。重新排序从主机接收到的事务写入存储器的顺序也可用于使可能具有系统的用户空间访问权的攻击者感到困惑。控制器308对事务的重新排序可以多种方式执行。举例来说,可根据特定算法随机地重新排序事务,或可根据更简单的方法重新排序事务,例如以相反的次序连续地写入事务(例如,使得事务332-N首先写入到存储器,且事务332-1最后写入到存储器)以及各种其它重新排序可能性。
如图3所展示,控制器308对事务的重新排序可与控制器生成的杂散事务334相辅相成;然而,实施例不受如此限制。例如,数个实施例可涉及控制器308重新排序从主机接收到的事务,但在重新排序的事务当中不包含杂散事务334。
图4说明根据本公开的与解密从存储器读取的数据相关联的图,所述数据已根据模糊处理增强型加密方法加密。图4包含控制器408,其可为例如图1中展示的控制器108的控制器。控制器408经配置以响应于主机发起的读取事务(例如,440-1到440-N)而读取和解密先前连同数个对应的控制器发起的杂散事务(例如,434-1到434-(N/2))一起写入到存储器的对应经加密事务(例如442-1到442-N)。控制器408还可经配置以在适当时重新排序读取的事务442,使得解密的读取事务440以适当顺序返回到主机(例如主机102)。
控制器408对与杂散事务434对应的数据以及与经加密事务434对应的数据的读取可用于通过使可能有权访问存储器与控制器408之间的数据总线的观察者(例如攻击者)感到困惑而提供一定程度的安全性。在数个实施例中,将对应于杂散事务434的数据写入到存储器的专用部分(例如图1中展示的部分111),且控制器408可经配置以舍弃从专用地址空间的读取,使得对应的数据不返回到主机,如图4所展示。
图5说明根据本公开的数个实施例的对应于所生成杂散事务的特定数据值的实例。在图5中,事务532-1到532-8(统称为事务“532”)表示8位写入事务。在此实例中,写入事务532是经加密事务(例如,数据已从主机接收到且由控制器加密)。
如上文所描述,可根据各种加密算法来加密事务532。在此实例中,控制器(例如108、208、308、408)经配置而以33%(例如,写入存储器的每三个写入事务中的一个是控制器发起的写入事务)的比率生成杂散事务(例如534)。举例来说,对应于杂散写入事务534的特定数据值可由控制器的随机数生成器随机生成。然而,实施例不受如此限制。举例来说,控制器可经配置以将先前写入的数据值用于杂散事务和/或用作与杂散写入相关联的加密种子,这可提供例如进一步混淆字典攻击的益处。
图6是根据本公开的数个实施例的包括控制器608的存储器系统604形式的设备的框图,所述控制器经配置以控制模糊处理增强型加密。在此实例中,系统604包含主机接口606,控制器608可通过所述主机接口与例如图1中展示的主机102的主机通信。控制器608经配置以在存储器610/620与主机之间传递数据。在此实例中,存储器610充当系统604的主存储器,且存储器620充当系统604的存储存储器。存储器610可以是非易失性且可随机存取的存储器;但实施例不受如此限制。如上文所描述,与易失性主存储器(例如,SRAM、DRAM等)相比,提供非易失性主存储器可能有各种增强的安全风险。在此实例中,存储器610包含专用于存储控制器生成的杂散存储器事务的部分611,如本文所描述。
尽管已在本文中说明并描述了具体实施例,但所属领域的一般技术人员应了解,经计算以实现相同结果的布置可取代所展示的具体实施例。本公开意欲涵盖本公开的各种实施例的调适或变化。应理解,已以说明性方式而非限制性方式进行以上描述。在查阅以上描述后,以上实施例和本文未具体描述的其它实施例的组合对于所属领域的技术人员来说将显而易见。本公开的各种实施例的范围包含其中使用上述结构和方法的其它应用。因此,本公开的各种实施例的范围应参考所附权利要求书以及此类权利要求被赋予的等同物的完整范围而确定。
在前述具体实施方式中,出于简化本公开的目的而将各种特征一起分组在单个实施例中。本公开的此方法不应被理解为反映本公开的所公开实施例必须比在每项权利要求中明确叙述那样使用更多特征的意图。实际上,如所附权利要求书所反映,本发明主题在于单个公开实施例的不到全部的特征。因此,所附权利要求书特此并入具体实施方式中,其中每一权利要求就其自身而言作为单独实施例。
Claims (22)
1.一种操作存储器的方法,其包括:
执行写入操作,其中所述写入操作包含将从主机接收到的数个写入事务连同数个杂散事务一起传输到存储器;以及
其中所述数个杂散事务以特定比率在所述数个接收到的写入事务当中传输。
2.根据权利要求1所述的方法,其中所述方法包含加密对应于所述数个写入事务的地址和数据。
3.根据权利要求2所述的方法,其中所述方法包含使用电子代码簿ECB和伪计数器模式PCTR技术中的至少一者加密对应于所述数个写入事务的所述地址和数据。
4.根据权利要求1至3中任一项所述的方法,其中所述方法包含经由控制器且独立于所述主机生成所述数个杂散事务。
5.根据权利要求1至3中任一项所述的方法,其中所述方法包含随机生成对应于所述数个杂散事务的数据。
6.根据权利要求1至3中任一项所述的方法,其中所述方法包含基于所述数个接收到的写入事务生成对应于所述数个杂散事务的数据。
7.根据权利要求1至3中任一项所述的方法,其中所述方法包含将对应于所述数个杂散事务的数据写入到所述存储器的专用部分。
8.根据权利要求1至3中任一项所述的方法,其中所述方法包含重新排序所述数个接收到的写入事务,使得以不同于从所述主机接收到所述数个写入事务的顺序的顺序执行所述写入操作。
9.一种设备,其包括:
存储器;以及
控制器,其耦合到所述存储器且经配置以:
生成数个杂散写入事务;
将所述数个杂散写入事务插入从主机接收到的数个写入事务当中;以及
通过经由总线将所述数个接收到的写入事务连同所述数个生成的杂散写入事务一起传输到所述存储器来执行写入操作。
10.根据权利要求9所述的设备,其中所述控制器经配置以在将所述数个杂散写入事务插入所述数个接收到的写入事务当中之前加密对应于所述数个接收到的写入事务的数据。
11.根据权利要求9所述的设备,其中所述控制器经配置以生成用于所述数个接收到的写入事务的经加密地址。
12.根据权利要求9所述的设备,其中所述控制器经配置以解密与执行所述主机请求的数个读取事务相关联的所述经加密地址。
13.根据权利要求9至12中任一项所述的设备,其中所述控制器经配置以独立于所述主机而生成所述数个杂散写入事务。
14.根据权利要求9至12中任一项所述的设备,其包含随机数生成器,所述随机数生成器经配置以生成用于所述数个杂散写入事务的随机数据。
15.一种操作存储器的方法,其包括:
从主机接收数个未经加密写入事务;
加密所述数个未经加密写入事务;以及
通过将所述数个经加密写入事务连同数个控制器生成的杂散事务一起传输到存储器来执行写入操作。
16.根据权利要求15所述的方法,其中所述方法包含以特定比率生成所述数个控制器生成的杂散事务。
17.根据权利要求16所述的方法,其中所述方法包含在操作期间调整所述特定比率以增大或减小与所述数个经加密写入事务相关联的安全性。
18.根据权利要求17所述的方法,其中所述方法包含跟踪所述数个接收到的写入事务的写入地址位置,且响应于确定对相同地址和/或地址范围的重复写入达到阈值而调整所述特定比率。
19.一种设备,其包括:
存储器;以及
控制器,其耦合到所述存储器且经配置以:
按特定顺序接收数个写入事务;
在无主机干预的情况下生成数个杂散写入事务;
将所述数个杂散写入事务插入所述数个写入事务当中;以及
执行所述数个写入事务以及所述数个杂散写入事务;
其中所述数个写入事务经重新排序以使得按不同于接收到所述数个写入事务的所述特定顺序的顺序执行所述数个写入事务。
20.根据权利要求19所述的设备,其中所述控制器经配置以在从存储器读取对应于所述数个写入事务的数据时还读取对应于所述数个杂散事务的数据。
21.根据权利要求20所述的设备,其中所述控制器经配置以在将对应于所述数个写入事务的数据返回到主机之前舍弃从存储器读取的所述数个杂散事务。
22.根据权利要求19至21中任一项所述的设备,其中所述存储器是非易失性且字节可寻址存储器。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/447,822 US10082975B1 (en) | 2017-03-02 | 2017-03-02 | Obfuscation-enhanced memory encryption |
US15/447,822 | 2017-03-02 | ||
PCT/US2018/019830 WO2018160517A1 (en) | 2017-03-02 | 2018-02-27 | Obfuscation-enhanced memory encryption |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110431537A true CN110431537A (zh) | 2019-11-08 |
Family
ID=63355090
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880018648.8A Pending CN110431537A (zh) | 2017-03-02 | 2018-02-27 | 模糊处理增强型存储器加密 |
Country Status (4)
Country | Link |
---|---|
US (3) | US10082975B1 (zh) |
EP (1) | EP3590045A4 (zh) |
CN (1) | CN110431537A (zh) |
WO (1) | WO2018160517A1 (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10394492B2 (en) * | 2016-10-26 | 2019-08-27 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd. | Securing a media storage device using write restriction mechanisms |
US11030118B2 (en) * | 2017-03-07 | 2021-06-08 | Rambus Inc. | Data-locking memory module |
US10489304B2 (en) * | 2017-07-14 | 2019-11-26 | Arm Limited | Memory address translation |
US11120167B2 (en) * | 2019-03-25 | 2021-09-14 | Micron Technology, Inc. | Block chain based validation of memory commands |
CN110457188B (zh) * | 2019-06-28 | 2021-02-23 | 武汉迎风聚智科技有限公司 | 可保持事务类型比例的tpc-e测试方法及测试系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1380772A (zh) * | 2001-04-17 | 2002-11-20 | 陈常嘉 | 基于密码的接纳控制的实现方法和电路 |
CN101861571A (zh) * | 2007-11-15 | 2010-10-13 | 美光科技公司 | 用于修改存储器存取次序的系统、设备及方法 |
US20150012757A1 (en) * | 2010-12-22 | 2015-01-08 | May Patents Ltd. | System and method for routing-based internet security |
US20150098271A1 (en) * | 2013-10-09 | 2015-04-09 | Sandisk Technologies Inc. | System and method of storing data in a data storage device |
US20150234751A1 (en) * | 2012-10-04 | 2015-08-20 | Intrinsic Id B.V. | System for generating a cryptographic key from a memory used as a physically unclonable function |
US20160103626A1 (en) * | 2014-10-10 | 2016-04-14 | The Boeing Company | System and method for reducing information leakage from memory |
Family Cites Families (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4780905A (en) | 1984-11-26 | 1988-10-25 | Nightwatch, Inc. | Computer data encryption system |
US5123045A (en) * | 1989-08-18 | 1992-06-16 | Massachusetts Institute Of Technology | Comprehensive software protection system |
IL110181A (en) * | 1994-06-30 | 1998-02-08 | Softchip Israel Ltd | Install microprocessor and peripherals |
US6023506A (en) | 1995-10-26 | 2000-02-08 | Hitachi, Ltd. | Data encryption control apparatus and method |
US6088452A (en) * | 1996-03-07 | 2000-07-11 | Northern Telecom Limited | Encoding technique for software and hardware |
US6643775B1 (en) | 1997-12-05 | 2003-11-04 | Jamama, Llc | Use of code obfuscation to inhibit generation of non-use-restricted versions of copy protected software applications |
US6957341B2 (en) * | 1998-05-14 | 2005-10-18 | Purdue Research Foundation | Method and system for secure computational outsourcing and disguise |
US10326798B2 (en) * | 1998-07-16 | 2019-06-18 | Grid7, LLC | System and method for secure data transmission and storage |
CA2419761A1 (en) * | 2000-08-14 | 2002-02-21 | Audi Performance & Racing | Enhanced module chipping system |
US7254586B2 (en) * | 2002-06-28 | 2007-08-07 | Microsoft Corporation | Secure and opaque type library providing secure data protection of variables |
CN1977531A (zh) * | 2004-06-28 | 2007-06-06 | 松下电器产业株式会社 | 程序生成装置、程序测试装置、程序执行装置及信息处理系统 |
US20080189558A1 (en) * | 2007-02-01 | 2008-08-07 | Sun Microsystems, Inc. | System and Method for Secure Data Storage |
US8719588B2 (en) | 2008-06-30 | 2014-05-06 | Atmel Corporation | Memory address obfuscation |
US9117094B2 (en) * | 2008-10-29 | 2015-08-25 | Microsoft Technology Licensing, Llc | Data location obfuscation |
US8548913B2 (en) | 2009-09-29 | 2013-10-01 | Cleversafe, Inc. | Method and apparatus to secure an electronic commerce transaction |
US8843767B2 (en) * | 2011-07-06 | 2014-09-23 | The Boeing Company | Secure memory transaction unit |
US8839001B2 (en) | 2011-07-06 | 2014-09-16 | The Boeing Company | Infinite key memory transaction unit |
US8612743B2 (en) * | 2011-07-26 | 2013-12-17 | The Boeing Company | Wireless network security |
US10140477B2 (en) | 2013-12-09 | 2018-11-27 | Thales E-Security, Inc. | Obfuscating in memory encryption keys |
US20160026824A1 (en) * | 2014-07-24 | 2016-01-28 | The Boeing Company | Security against memory replay attacks in computing systems |
US20160048457A1 (en) * | 2014-08-13 | 2016-02-18 | The Boeing Company | Dynamic memory address remapping in computing systems |
JP6895666B2 (ja) | 2015-04-07 | 2021-06-30 | ランセーフ セキュリティー,インク. | バイナリ及びメモリ多様性による難読化システム及び方法関連出願の相互参照 |
US10142397B2 (en) * | 2016-04-05 | 2018-11-27 | International Business Machines Corporation | Network file transfer including file obfuscation |
-
2017
- 2017-03-02 US US15/447,822 patent/US10082975B1/en active Active
-
2018
- 2018-02-27 EP EP18761954.9A patent/EP3590045A4/en not_active Withdrawn
- 2018-02-27 CN CN201880018648.8A patent/CN110431537A/zh active Pending
- 2018-02-27 WO PCT/US2018/019830 patent/WO2018160517A1/en unknown
- 2018-09-07 US US16/124,230 patent/US10180804B1/en active Active
- 2018-12-18 US US16/223,162 patent/US10387056B2/en active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1380772A (zh) * | 2001-04-17 | 2002-11-20 | 陈常嘉 | 基于密码的接纳控制的实现方法和电路 |
CN101861571A (zh) * | 2007-11-15 | 2010-10-13 | 美光科技公司 | 用于修改存储器存取次序的系统、设备及方法 |
US20150012757A1 (en) * | 2010-12-22 | 2015-01-08 | May Patents Ltd. | System and method for routing-based internet security |
US20150234751A1 (en) * | 2012-10-04 | 2015-08-20 | Intrinsic Id B.V. | System for generating a cryptographic key from a memory used as a physically unclonable function |
US20150098271A1 (en) * | 2013-10-09 | 2015-04-09 | Sandisk Technologies Inc. | System and method of storing data in a data storage device |
US20160103626A1 (en) * | 2014-10-10 | 2016-04-14 | The Boeing Company | System and method for reducing information leakage from memory |
Non-Patent Citations (2)
Title |
---|
Y.ZHOU等: "Camouflage: Memory Traffic Shaping to Mitigate Timing Attacks", 《2017 IEEE INTERNATIONAL SYMPOSIUM ON HIGH PERFORMANCE COMPUTER ARCHITECTURE》 * |
Y.ZHOU等: "Camouflage: Memory Traffic Shaping to Mitigate Timing Attacks", 《2017 IEEE INTERNATIONAL SYMPOSIUM ON HIGH PERFORMANCE COMPUTER ARCHITECTURE》, 8 February 2017 (2017-02-08) * |
Also Published As
Publication number | Publication date |
---|---|
WO2018160517A1 (en) | 2018-09-07 |
EP3590045A1 (en) | 2020-01-08 |
US20190018603A1 (en) | 2019-01-17 |
EP3590045A4 (en) | 2020-11-11 |
US10387056B2 (en) | 2019-08-20 |
US10180804B1 (en) | 2019-01-15 |
US10082975B1 (en) | 2018-09-25 |
US20190121557A1 (en) | 2019-04-25 |
US20180253243A1 (en) | 2018-09-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110431537A (zh) | 模糊处理增强型存储器加密 | |
US11809335B2 (en) | Apparatuses and methods for securing an access protection scheme | |
US10291390B2 (en) | Endecryptor preventing side channel attack, driving method thereof and control device having the same | |
CN107438850B (zh) | 使用签名的地址验证 | |
CN107851163B (zh) | 用于i/o数据的完整性、防重放和真实性保证的技术 | |
CN105580027B (zh) | 用于使用不同域特定密钥确保内容安全的方法 | |
CN108139984B (zh) | 安全子系统 | |
CN105095097B (zh) | 随机化的存储器访问 | |
CN112654990A (zh) | 计算机处理器中的密钥管理 | |
CN108351833B (zh) | 用来压缩密码元数据以用于存储器加密的技术 | |
CN111309248B (zh) | 与安全存储器存取有关的方法、系统和设备 | |
US20170093823A1 (en) | Encrypting Observable Address Information | |
US11683155B2 (en) | Validating data stored in memory using cryptographic hashes | |
CN113841129A (zh) | 存储器中的数据证明 | |
Gundu et al. | A case for near data security | |
CN112395651A (zh) | 存储器装置及用于操作存储器装置的方法 | |
JP2022526934A (ja) | ブロックチェーンを基にしたメモリコマンドの正当性確認 | |
CN113632413A (zh) | 使用存储器作为区块链中的块 | |
US20160171210A1 (en) | Implementing security functions using rom | |
CN115510506A (zh) | 具有动态产生的密钥的安全数据存储 | |
CN113536331B (zh) | 存储器和计算系统的数据安全 | |
US20230163976A1 (en) | Computing device in a trusted computing system and attestation method thereof | |
US20230259301A1 (en) | Managing secure writes in semiconductor devices | |
US20240004801A1 (en) | Data encryption suitable for use in systems with processing-in-memory | |
CN116932422A (zh) | 数据处理方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20191108 |