CN103154967A - 修改元素的长度以形成加密密钥 - Google Patents
修改元素的长度以形成加密密钥 Download PDFInfo
- Publication number
- CN103154967A CN103154967A CN2010800694474A CN201080069447A CN103154967A CN 103154967 A CN103154967 A CN 103154967A CN 2010800694474 A CN2010800694474 A CN 2010800694474A CN 201080069447 A CN201080069447 A CN 201080069447A CN 103154967 A CN103154967 A CN 103154967A
- Authority
- CN
- China
- Prior art keywords
- data key
- key
- data
- address
- length
- 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
- 238000000034 method Methods 0.000 claims description 25
- 230000004048 modification Effects 0.000 claims description 7
- 238000012986 modification Methods 0.000 claims description 7
- 230000008859 change Effects 0.000 claims description 2
- 230000015654 memory Effects 0.000 description 59
- 238000005516 engineering process Methods 0.000 description 22
- 239000003607 modifier Substances 0.000 description 16
- 230000007246 mechanism Effects 0.000 description 11
- 230000006870 function Effects 0.000 description 10
- 230000008569 process Effects 0.000 description 4
- 241001269238 Data Species 0.000 description 3
- 230000015572 biosynthetic process Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 230000035945 sensitivity Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000000712 assembly Effects 0.000 description 1
- 238000000429 assembly Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
Images
Classifications
-
- 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
- G06F21/602—Providing cryptographic facilities or services
-
- 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/71—Protecting 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/72—Protecting 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 in cryptographic circuits
-
- 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
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
-
- 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
- G06F21/80—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 in storage media based on magnetic or optical technology, e.g. disks with sectors
-
- 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/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2463/00—Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
- H04L2463/061—Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00 applying further key derivation, e.g. deriving traffic keys from a pair-wise master key
-
- 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/06—Network architectures or network communication protocols for network security for supporting key management in a packet data network
- H04L63/061—Network architectures or network communication protocols for network security for supporting key management in a packet data network for key exchange, e.g. in peer-to-peer networks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Mathematical Physics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Storage Device Security (AREA)
Abstract
修改作为用于加密数据的加密密钥的一部分的元素的长度。使用加密密钥加密数据,并且提供用于在存储设备(106、204)中存储的已加密的数据。
Description
背景技术
一种电子设备通常包括存储数据的存储设备。该存储设备可为易失性存储设备,用于暂时存储各种类型的数据,包括用户或应用数据、机器可读指令等等。可替代地,该存储设备可为持久性存储设备,例如基于磁盘的存储设备或非易失性存储设备。存储在存储设备中的数据可包括敏感或机密数据,例如安全密钥、用户凭证、财务信息、个人信息,等等。如果该电子设备被偷或者以未授权的方式被访问,黑客可试图检索该存储设备的内容,以获取存储在该存储设备中的敏感或机密信息。
附图说明
关于以下附图描述一些实施例。
图1和图2是合并了一些实施的示例装置的框图;及
图3是根据一些实施的保护存储设备的内容的方法的流程图。
具体实施方式
根据一些实施,提供多种技术或机制保护电子设备中的存储设备的内容,该电子设备可为计算机、个人数字助理、电子电器、存储服务器、移动电话或其他类型的电子设备。在一些示例中,该存储设备可为用动态随机存取存储(DRAM)或静态随机存取存储(SRAM)技术实施的易失性存储设备。在可选的示例中,该存储设备可为非易失性存储设备,例如闪存设备。作为进一步的示例,该存储设备可为基于磁盘的存储设备,例如硬盘驱动器或光盘驱动器。在其他示例中,可使用其他类型的存储设备。
作为保护机制或技术的一部分,数据密钥与加密技术一起使用,以加密将存储到该存储设备中的数据。可能存在生成的数据密钥与正在加密的数据或信息段的长度不同的时候;结果,不得不适当修改该数据密钥的长度以形成加密密钥,用以对该数据或信息段进行加密。此外,可能存在数据密钥与另一个信息元素混合的时候—为了正确地执行该混合,不得不修改将与该加密密钥混合的该加密密钥和/或其他信息元素的长度。
根据一些实施的数据保护技术或机制能够通过修改用于形成该加密密钥的元素的长度,产生加密密钥(用于加密待存储在存储设备中的数据)。修改其长度的该元素可为用于形成该加密密钥的数据密钥和/或地址信息。修改该元素的长度包括增加或减小其长度。下面进一步讨论用于修改该元素的长度的各种技术。
图1描绘了一种示例装置,包括存储设备请求器102、存储设备控制器104(具有根据一些实施的数据保护机制)以及存储设备106。存储设备请求器102能够通过存储设备控制器104访问(读取或写入)存储设备106的内容。存储设备请求器102的示例包括处理器、输入/输出(I/O)控制器或其他类型的请求器。
存储设备总线108使存储设备控制器104和存储设备106互相连接。存储设备总线108包括控制部分(用于传送控制信号)、地址部分(用于传送地址信号)以及数据部分(用于传送从存储设备106读取或写入存储设备106的数据)。总线108的控制、地址以及数据部分作为示例单独示出。各种实施可具有这些单独的连接,但是各部分还可以是多路复用的或在公用总线上发送信号,等等。此外,控制、地址和/或数据部分可实施为有线或无线连接。在无线实施中,使用无线协议传输控制、地址和/或数据部分。
如图1中所示,存储设备控制器104可提供存储设备地址110,以访问存储设备106的位置。对于写入操作,可提供写入数据112至存储设备106,并且对于读取操作,可从存储设备106检索读取数据114。为了保护存储设备106的内容,从存储设备控制器104发送至存储设备106的写入数据112包括已加密的写入数据。如果数据是从被加密保护的存储设备106的位置读取的,则相应的读取数据114是已加密的读取数据。
为了进一步保护存储设备106的内容,存储设备地址110可为加扰的地址(其中,下面进一步讨论的,通过应用加扰技术修改初始地址)。可使用存储设备控制器104中的地址扰码器126或该存储设备请求器102中的地址扰码器128执行地址的加扰。
注意,不是存储设备106中的全部位置都要通过数据加密和地址加扰保护—在一些示例中,存储设备106中的某些位置不经过数据加密和/或地址加扰。例如,对于特定的存储位置,可选择性地启用或禁用数据加密和/或地址加扰。可通过包括具有存储访问命令的命令字段来实现数据加密和/或地址加扰的选择性启用/禁用,该存储访问命令用于指定对应的存储位置是否被数据加密和/或地址加扰保护。可替代地,对于特定的存储位置,可使用其他机制选择性地启用/禁用数据加密和/或地址加扰,例如,通过使用配置信息、应用程序界面(API),等等。
使用地址加扰和数据加密提供存储在存储设备106中的数据的加强型保护。这样,降低了黑客能够检索该存储设备中被保护的数据的内容的可能性。在尝试从存储设备106检索数据的过程中,黑客可偷取电子设备,从电子设备移除该存储设备106,或者(物理地或电子地)获取对存储设备106的未经授权访问。
尽管图1仅示出一个存储设备控制器104,该存储设备控制器104具有数据保护机制,以保护存储在存储设备106中的数据,注意,可存在具有与其他存储设备同样的数据保护机制的额外的存储设备控制器。
存储设备控制器104包括加密模块116以及解密模块118,该加密模块116用于加密(未加密的)写入数据,该解密模块118用于解密已加密的读取数据114。解密模块118输出解密的读取数据。
加密模块116和解密模块118中的每一个提供有加密密钥,以执行各自的加密或解密。加密密钥可为基于存储在密钥存储器122中的数据密钥120的。可替代地,提供至加密模块116和解密模块118的数据密钥可为密钥混合器124输出的混合的密钥。密钥混合器124将来自密钥存储器122的数据密钥120与地址信息混合,以输出混合的密钥。数据密钥与地址信息的混合可为数据密钥与地址信息的异或。数据密钥和地址信息的其他类型的混合可用于其他实施中。注意,在未将数据密钥与地址信息混合以形成加密密钥的实施例中,可省略密钥混合器124。
如上面所看到的,根据一些实施,可对用于形成加密密钥的元素执行长度修改。在图1中,可通过长度修改器130(用于修改地址信息的长度)或长度修改器132(用于修改数据密钥120的长度)执行长度修改。在一些实施中,仅出现长度修改器130和132中的一个。在其他实施中,长度修改器130和132均出现。可替代地,还可通过由混合器124将数据密钥120和地址信息混合来实现长度修改(在此情况下,可省略长度修改器130和132)。
如上面所看到的,可能存在数据密钥120与正在加密的数据或信息段的长度不同的时候;结果,不得不适当修改数据密钥的长度。此外,可能存在数据密钥与其他信息元素(例如地址信息)混合的时候—以允许正确地执行混合,不得不修改将与数据密钥混合的数据密钥和/或地址信息的长度。
修改地址信息和/或数据密钥120的长度的能力允许在如何形成加密密钥时的增强的灵活性。例如,数据密钥的长度可自定义设置为提供目标长度的加密密钥。作为另一个示例,可产生并组合多个数据密钥(例如通过应用函数)以形成加密密钥。作为另一个选择,在将密钥与地址信息混合以形成加密密钥的实施中,考虑到适当混合,可修改数据密钥的长度和地址信息的长度或其中的一个长度以产生加密密钥。
以下为修改数据密钥和地址信息(加扰或未加扰的地址信息)的长度的各种实施,可由长度修改器130和/或长度修改器132和/或混合器124执行修改。在一些实施中,可通过简单地给数据密钥120添加位或从数据密钥120去除位来修改数据密钥120的长度。例如,为了增加数据密钥120的长度,可复制数据密钥120并连接复制的数据密钥(或其一些部分)以形成加密密钥。
在其他实施中,可通过由混合器124将数据密钥120与地址信息混合来实现对数据密钥120的长度的修改。
在进一步的实施中,可提供多个数据密钥120,且可通过例如应用函数来组合多个数据密钥120。应用的函数可包括以下中的一个或多个:(1)将多个数据密钥120连接在一起以形成加密密钥;(2)将多个数据密钥120相乘以形成该加密密钥;(3)对多个数据密钥120应用哈希函数以形成加密密钥;(4)使用多个数据密钥120执行对查找表的查找,以检索加密密钥;以及(5)其他函数。注意,多个数据密钥120上的应用函数可增加或减小数据密钥的长度。
在进一步的实施中,多个数据密钥120上的应用函数产生输出,然后由混合器124将输出与地址信息混合,以形成加密密钥。
注意,对于多个数据密钥,可通过使用上面所说到的任意函数修改地址信息的长度。例如,可产生多段地址信息,且可对该多段地址信息应用上面所说的任意函数以产生用于得到加密密钥的输出,例如通过与数据密钥混合以产生加密密钥。
通过加密模块116实施的加密可为各种类型的加密中的一种。例如,快速加密技术可为异或(XOR)技术,在该技术中加密密钥为与写入数据XOR的。使用基于XOR的加密技术的好处是相当快,且能够支持存储设备106的相当快的访问速度,而不增加至写入和读取路径的延迟。
在可选的实施中,替代使用基于XOR的加密技术,可使用更高等级的加密技术。例如,更高等级的加密可为高级加密标准(AES)加密。AES加密密钥比用于XOR加密中的密钥更不容易被黑。但是,(由于不得不使用更多电路以实施AES加密)AES加密可伴随增加的电路复杂性,这会导致在寻址涉及执行AES加密中增加的访问时间的问题的过程中增加的访问时间或增加的复杂性。在其他示例中可使用其他类型的更高等级的加密。
在密钥混合器124中,与数据密钥120混合的地址信息可包括以下中的一项或组合:(1)由存储设备请求器102提供的初始(未加扰)的物理地址的至少一部分,(2)加扰的物理地址的至少一部分,以及(3)虚拟地址信息(加扰的虚拟地址或未加扰的虚拟地址)的至少一部分。“虚拟地址”指通常由电子设备的更高等级组件使用的虚拟地址空间的一部分的逻辑地址,例如操作系统或文件系统。虚拟地址空间通常比限定存储设备106中实际可用的存储位置的物理地址空间更大。
存储在密钥存储器122中的每个数据密钥120可为随机生成的密钥,其可由存储设备控制器104本身生成或由存储设备控制器104的外部组件生成。例如,数据密钥可通过系统启动代码生成,例如基本输入/输出系统(BIOS)代码,其在电子设备第一次启动时执行各种初始化功能。可替代地,数据密钥可由管理引擎生成,该管理引擎是电子设备的芯片组中的一部分。作为另一个选择,数据密钥可基于用户输入生成。作为另一个示例,数据密钥可由处理器、可信平台模块或其他组件生成。数据密钥还可从网络连接或电子设备连接的管理总线接收。通常,不使用可被电子设备中的逆向工程组件发现的数据生成数据密钥。
可基于随机数字生成器的输出生成随机数据密钥。此外或可替代地,可基于数据和/或时间生成随机数据密钥。为了增强安全性,用于分别由加密模块116和解密模块118执行的加密和解密的数据密钥随系统复位或重启而改变。可替代地,当电子设备从低功率状态恢复时可生成不同的数据密钥,该低功率状态例如备用状态、休眠状态或其他低功率状态。作为进一步的选择,可使用加密刷新周期,在加密刷新周期中,在每个新的加密刷新周期生成数据密钥。
密钥存储器122为易失性存储设备,其随着断电或移除电源而丢失其内容。例如,密钥存储器122可为存储设备控制器104中的寄存器,或可替代地,密钥存储器122可为存储设备106的一部分。密钥存储器122可为只写/一次写入存储设备(例如寄存器),其响应预定的事件复位,该预定的事件例如电子设备关机、复位、进入低功率状态、启动新的加密刷新周期,等等。只写存储意味着存储设备控制器104的外部组件不能读取密钥存储器122,且一次写入存储器意味着在每个预定间隔(例如,在电子设备复位、重启或电力周期之间的时间期间;在特定刷新周期间隔期间;等等)期间仅能写入密钥存储器122一次。
如上面所看到的,存储设备控制器104提供以访问存储设备106中的位置的存储设备地址110可为加扰的地址。使用地址加扰允许在存储设备106中存储的加密数据提供的保护的顶层上的附加层保护。如所看到的,在一些示例中,可由存储设备控制器104中的地址扰码器126执行地址加扰。在可选的示例中,替代提供存储设备控制器104中的地址扰码器126,可提供地址扰码器128作为存储设备请求器102的一部分,或可替代地,可在存储设备请求器102和存储设备控制器104之间提供地址扰码器128(换句话说,可在从存储设备请求器102和存储设备控制器104独立的组件中提供地址扰码器)。
可使用各种技术中的任意一种执行初始地址的加扰。例如,可转换初始地址的地址位。可替代地,可使用例如随机生成的密钥这样的密钥来加扰初始地址。用于加扰地址的密钥可为(存储在密钥存储器122中的)数据密钥120或不同的密钥。密钥可与初始地址混合或应用于初始地址,以生成加扰的地址。可替代地,可通过对初始地址进行哈希运算以产生代表加扰的地址的哈希值来执行地址加扰。作为另一个选择,可存储例如表这样的数据结构以将输入初始地址映射至输出地址,这种情况下,输出地址被认为是加扰的地址。在其他实施中可使用其他技术。
在使用密钥加扰地址的实施中,可存在各种可能的场景(其中的一些在下面陈述)。在第一场景中,地址扰码器126或128可使用数据密钥120加扰初始物理地址以形成加扰的地址。密钥混合器124将初始物理地址与数据密钥120混合,以形成混合的密钥,且混合的密钥可分别由加密模块116和解密模块118使用,以加密或解密数据。
第二场景涉及用与数据密钥120不同的地址密钥来加扰初始物理地址的地址扰码器126或128。初始物理地址由密钥混合器124与数据密钥120混合,以形成用于加密或解密数据的混合的密钥。
在第三场景中,地址扰码器126或128可使用与用于加密数据的技术不同的技术来加扰初始物理地址。例如,第一加密技术用于用密钥(与数据密钥不同的数据密钥或地址密钥)加扰初始物理地址以形成加扰的地址,而第二加密技术用于用数据密钥(替代混合的密钥)加密写入数据以输出已加密的写入数据。
在第四场景中,可使用与数据密钥不同的地址密钥生成加扰的地址。加扰的地址与数据密钥混合,以形成加密写入数据的混合的密钥。
在第五场景中,可使用数据密钥生成加扰的地址。加扰的地址与数据密钥混合以形成加密写入数据的混合的密钥。
在第六场景中,可使用与用于加密写入数据的加密技术不同的加密技术生成加扰的地址。在此场景中,替代混合的密钥,使用数据密钥加密数据。
在第七场景中,可加扰初始物理地址来形成加扰的地址,而虚拟地址(或加扰的虚拟地址)可与数据密钥混合,以提供用于加密写入数据的混合的密钥。此场景的变形是将虚拟地址(或加扰的虚拟地址)用作数据密钥,以加密写入数据。
可存在多个其他的场景。此外,一些场景可涉及以上场景中的多个的组合。
图2显示了另一个示例装置,包括内存控制器202,该内存控制器202连接至内存设备204(注意,在不同的示例中,内存控制器202可由存储设备控制器取代,而内存设备204可由存储设备取代)。内存控制器202实施(与上面所述的那些一样的)内存保护机制,以保护存储在内存设备204中的数据。内存设备204可代表单独的设备或多个设备的组合(例如,单个内存芯片或多个内存芯片,或单个内存模块或多个内存模块)。
由内存控制器202实施的内存保护机制包括数据加密机制,用于加密待存储在内存设备204中的写入数据。内存控制器202的内存保护机制还可包括地址扰码器224,以加扰指定内存设备204中的位置的地址。
在图2的装置中,可使用不同的保护技术保护内存设备204的不同的内存区域。如图2中所描绘的,内存设备具有多个内存区域(“内存区域1”…“内存区域n”)。不同的内存区域可代表特定的内存设备的不同部分。多个内存区域可替代地代表不同的内存设备。因此,例如,在具有多个内存设备的电子设备中,可使用第一数据密钥保护在第一内存设备中的数据,可使用第二数据密钥保护在第二内存设备中的数据,等等。各不同的密钥可包括密钥存储器220中的多个数据密钥(表示为“数据密钥1”...“数据密钥n”,其中,n≥2)。
在进一步的示例中,电子设备中可存在不同类型的内存设备,在此种情况下,使用不同的数据密钥保护存储在不同类型的内存设备中的数据。因此,例如,使用第一数据密钥保护第一类型的内存设备(例如,基于DRAM的内存设备)中的数据,使用第二数据密钥用于保护存储在第二类型的内存设备(例如闪存设备)中的数据,等等。还要注意,在电子设备中可存在高速缓冲存储器,例如使用另一个数据密钥保护高速缓冲存储器。
此外,还应注意,根据各内存区域是怎样使用的,可对不同的内存区域使用不同的数据密钥。例如,内存区域中的一个可为操作系统(OS)区域,用于存储与操作系统有关的数据或指令。另一个内存区域可存储与非-OS程序相关的数据,例如用户或应用数据。
可替代地,可在电子设备运行的不同模式期间使用不同的数据密钥,其中,不同的模式可指例如不同的安全等级。
在其他实施中,可对不同的内存区域应用不同等级的加密。例如,基于XOR的加密可应用于第一内存区域,而AES加密或一些其他更高等级的加密用于不同的内存区域。
另外,在一些实施中,不同的地址加扰可用于不同的内存区域。例如,不同的密钥(与数据密钥不同的数据密钥或地址密钥)可用于生成不同的地址加扰。可替代地,不同的加密等级可用于提供用于不同的内存区域的不同的地址加扰。
将用于不同的内存区域的不同的密钥和/或不同的加密等级和/或不同的地址加扰可在电子设备构建时配置,或在用户或管理员操作电子设备期间配置。
图2进一步显示了与内存控制器202连接的请求器206(例如,处理器、I/O控制器,等等)。请求器206能够向内存控制器202发出读取或写入请求,以读取或写入内存设备204中的数据。
对于写入操作,如图2中所示,内存控制器202包括写入数据缓冲区210,以存储进入的写入数据。加密模块212对来自写入数据缓冲区210的写入数据进行加密,并通过内存总线214提供用于在内存设备204存储的已加密的写入数据。内存总线214包括控制部分(具有控制信号)、地址部分(包含地址)以及数据部分(包含将在内存控制器202和内存设备204之间传输的数据)。
对于读取操作,从内存设备204检索读取数据并将其提供至解密模块216。注意,来自内存设备204的读取数据可为已加密的数据,使得解密模块216对已加密的数据应用解密,以向读取数据缓冲区218输出已解密的读取数据,其中,读取数据可提供至请求器206。
内存控制器202还包括事务地址缓冲区222,用于存储与特定的事务(读取事务或写入事务处理)有关的地址。地址扰码器224对来自事务地址缓冲区222的地址应用地址加扰。从地址扰码器224将加扰的地址提供至地址控制和时序模块226,该模块通过内存总线214的地址部分输出加扰的地址。
如在图2中进一步描述的,内存控制器202包括密钥修改器230,该密钥修改器230可与上面和图1关联讨论的机制类似的,修改用于形成加密密钥的元素的长度。密钥修改器230可修改(来自密钥存储器220的)数据密钥的长度,和/或修改(未加扰的或加扰的)地址信息的长度,和/或将数据密钥与(未加扰的或加扰的)地址信息混合。实际上,图2的密钥修改器230可为图1的长度修改器130、长度修改器132和混合器124中的任意一个或组合。
图3是由控制系统执行的方法的流程图。如在此使用的,控制系统(或相当于“控制子系统”)包括处理电路,该处理电路能够执行预定的任务。例如,控制系统能够包括以下中的任意一个或组合:图1的存储设备请求器102、图1的存储设备控制器104、图2的请求器206和图2的内存控制器202。
控制系统(在302)接收用作用于加密待存储在存储设备(例如,图1中的106或图2中的204)中的加密数据的加密密钥的一部分的元素。元素可为数据密钥和/或地址信息。(在304)修改元素的长度以形成加密密钥。此修改可由以下中的任意一个或组合执行:长度修改器130、长度修改器132、混合器124和密钥修改器230。
控制系统接下来(在306)使用加密密钥加密写入数据。然后,(在308)提供用于在存储设备中存储的已加密的数据。
用于实施图3中的方法的控制系统可仅用硬件,或硬件和机器可读指令的组合实施,该机器可读指令加载于处理电路(该处理电路为图1或2中的请求器102或206的一部分,或为存储设备控制器104或内存控制器202的一部分)上执行。处理电路可包括微处理器、微控制器、处理器模块或子系统、可编程集成电路、可编程门阵列,或另一个控制或计算设备。
数据和指令存储在各自的存储设备中,存储设备可实施作为一个或多个计算机可读或机器可读存储媒体。存储媒体包括不同形式的内存,包括:半导体存储设备,例如动态或静态随机存取存储器(DRAM或SRAM)、可擦可编程只读存储器(EPROM)、电可擦可编程只读存储器(EEPROM)以及闪存;磁盘,例如固定盘、软盘和移动磁盘;包括磁带的其他磁性媒体;光学媒体,例如光盘(CD)或数码影碟(DVD);或其他类型的存储设备。注意,上面讨论的指令可提供在一个计算机可读或机器可读存储媒介上,或可替代地,可提供在多个计算机可读或机器可读存储媒体,其分布在具有可能多个节点的较大系统中。这样的计算机可读或机器可读存储媒介或媒体被认为是物品(或产品)的一部分。物品或产品可指任何制造的单个组件或多个组件。
在前述描述中,提出了众多细节以提供在此公开的主体的理解。然而,可不具有一些或全部这些细节来实践实施。其他实施可包括源自上面讨论的细节的修改和变形。其意图是,所附权利要求覆盖这样的修改和变形。
Claims (15)
1.一种方法,包括:
由控制系统接收(302)用作用于加密数据的加密密钥的一部分的元素;
由所述控制系统修改(304)所述元素的长度,以形成所述加密密钥;
由所述控制系统使用所述加密密钥加密(306)数据;以及
由所述控制系统提供(308)用于在存储设备中存储的已加密的数据。
2.如权利要求1所述的方法,其中,接收所述元素包括接收数据密钥,并且其中,修改所述数据密钥的长度包括向所述数据密钥添加位或从所述数据密钥去除位。
3.如权利要求2所述的方法,其中,修改所述数据密钥的长度包括将所述数据密钥与地址信息组合,以形成所述加密密钥。
4.如权利要求3所述的方法,其中,将所述数据密钥与所述地址信息组合包括将所述数据密钥与(1)物理地址的至少一部分和(2)虚拟地址的至少一部分中的一个组合,所述物理地址指明所述存储设备的位置,所述虚拟地址用于访问所述存储设备的内容。
5.如权利要求2所述的方法,其中,所述数据密钥是第一数据密钥,所述方法进一步包括:
生成至少另一个数据密钥;以及
对第一数据密钥和所述至少另一个数据密钥应用一种函数,以形成所述加密密钥。
6.如权利要求5所述的方法,其中,应用所述函数包括从以下选择的至少一项:
将所述第一数据密钥和所述至少另一个数据密钥连接在一起;
将所述第一数据密钥与所述至少另一个数据密钥相乘;
对所述第一数据密钥和所述至少另一个数据密钥应用哈希函数;
使用基于所述第一数据密钥和所述至少另一个数据密钥的查找表。
7.如权利要求5所述的方法,其中,对所述第一数据密钥和所述至少另一个数据密钥应用所述函数产生输出,所述方法进一步包括将所述函数的所述输出与地址信息组合,以形成所述加密密钥。
8.如权利要求1所述的方法,其中,修改所述元素的所述长度包括对所述元素应用修改算法,以生成所述加密密钥。
9.如权利要求1所述的方法,其中,接收所述元素包括接收数据密钥,其中,修改所述元素的所述长度包括将所述数据密钥与地址信息组合,并且其中,所述地址信息具有与所述数据密钥不同的长度,所述方法进一步包括:
修改所述地址信息的长度;并且
其中,将所述数据密钥与所述地址信息组合包括将所述数据密钥与所述修改的地址信息组合。
10.如权利要求1所述的方法,其中,接收所述元素包括接收数据密钥,其中,修改所述元素的所述长度包括将所述数据密钥与地址信息组合,并且其中,所述地址信息是基于所述物理地址的至少一部分或所述虚拟地址的至少一部分的。
11.如权利要求10所述的方法,其中,所述数据密钥的长度与所述地址信息的长度不同,所述方法进一步包括:
改变所述数据密钥的长度;并且
其中,将所述数据密钥与所述地址信息组合包括将具有已改变的长度的所述数据密钥与所述地址信息组合。
12.如权利要求10所述的方法,其中,所述地址信息是基于对所述物理地址的至少一部分或所述虚拟地址的至少一部分应用函数的,其中,所述函数包括哈希函数、表查找以及乘法函数。
13.一种物品,包括存储指令的机器可读存储媒体,所述指令执行时引起具有处理器的系统执行根据权利要求1-12中任一项的方法。
14.一种系统,包括:
至少一个存储设备(106、204);以及
控制子系统(102、104、202、206),用于:
接收至少一个数据密钥;
根据所述至少一个数据密钥产生加密密钥,其中,所述加密密钥的产生包含修改用于形成所述加密密钥的元素的长度;及
使用所述加密密钥加密待存储在所述至少一个存储设备中的数据。
15.如权利要求14所述的系统,其中,所述元素包括所述至少一个数据密钥和待与所述至少一个数据密钥混合的地址信息中的一个或二者。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/US2010/051411 WO2012047199A1 (en) | 2010-10-05 | 2010-10-05 | Modifying a length of an element to form an encryption key |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103154967A true CN103154967A (zh) | 2013-06-12 |
Family
ID=45927990
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2010800694474A Pending CN103154967A (zh) | 2010-10-05 | 2010-10-05 | 修改元素的长度以形成加密密钥 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20130198528A1 (zh) |
CN (1) | CN103154967A (zh) |
DE (1) | DE112010005847T5 (zh) |
GB (1) | GB2498122A (zh) |
WO (1) | WO2012047199A1 (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE112010005842T8 (de) | 2010-10-05 | 2014-07-17 | Hewlett-Packard Development Company, L.P. | Verwürfeln einer Adresse und Verschlüsseln von Schreibdaten zum Speichern in einer Speichervorrichtung |
TWI472237B (zh) * | 2012-05-04 | 2015-02-01 | 國立清華大學 | 利用分散金鑰資料進行傳輸之加密系統 |
US10320562B2 (en) | 2016-06-01 | 2019-06-11 | Nxp Usa, Inc. | Application specific low-power secure key |
CN106936820B (zh) * | 2017-03-06 | 2020-12-25 | 桂林电子科技大学 | 数据变长修改方法及其在大数据加密中的应用 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5963646A (en) * | 1997-03-10 | 1999-10-05 | The Pacid Group | Secure deterministic encryption key generator system and method |
US20050076228A1 (en) * | 2003-10-02 | 2005-04-07 | Davis John M. | System and method for a secure I/O interface |
US20080095370A1 (en) * | 2006-10-18 | 2008-04-24 | Rose Gregory G | Method for securely extending key stream to encrypt high-entropy data |
US20080240422A1 (en) * | 2007-03-30 | 2008-10-02 | Erdinc Ozturk | Efficient advanced encryption standard (AES) Datapath using hybrid rijndael S-Box |
US20090172415A1 (en) * | 2007-12-28 | 2009-07-02 | Oki Semiconductor Co., Ltd. | Processor apparatus |
CN101542968A (zh) * | 2007-08-28 | 2009-09-23 | 松下电器产业株式会社 | 密钥终端装置、加密处理用lsi、固有密钥生成方法和内容系统 |
US20090319801A1 (en) * | 2008-06-04 | 2009-12-24 | Samsung Electronics Co., Ltd. | Security-Enhanced Storage Devices Using Media Location Factor in Encryption of Hidden and Non-Hidden Partitions |
US20100115286A1 (en) * | 2008-10-30 | 2010-05-06 | Qualcomm Incorporated | Low latency block cipher |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5237611A (en) * | 1992-07-23 | 1993-08-17 | Crest Industries, Inc. | Encryption/decryption apparatus with non-accessible table of keys |
US7228425B1 (en) * | 2000-02-07 | 2007-06-05 | Koninklijke Philips Electronics N. V. | Protecting content from illicit reproduction by proof of existence of a complete data set via self-referencing sections |
JP3508680B2 (ja) * | 2000-02-24 | 2004-03-22 | 日本電気株式会社 | コンテンツ不正コピー防止方法およびシステム |
US8832852B2 (en) * | 2000-08-28 | 2014-09-09 | Contentguard Holdings, Inc. | Method and apparatus for dynamic protection of static and dynamic content |
US6868407B1 (en) * | 2000-11-02 | 2005-03-15 | Pitney Bowes Inc. | Postage security device having cryptographic keys with a variable key length |
JP2003195758A (ja) * | 2001-12-25 | 2003-07-09 | Kenwood Corp | データ処理装置、インタフェースボードおよびデータ秘匿方法 |
JP4199477B2 (ja) * | 2002-04-17 | 2008-12-17 | パナソニック株式会社 | デジタル双方向通信制御装置およびその方法 |
JP4698982B2 (ja) * | 2004-04-06 | 2011-06-08 | 株式会社日立製作所 | 暗号処理を行うストレージシステム |
JP2006094241A (ja) * | 2004-09-24 | 2006-04-06 | Fuji Xerox Co Ltd | 暗号化装置、暗号化処理方法及びプログラム、並びに該暗号化装置を用いた情報保護システム |
WO2008013154A1 (en) * | 2006-07-24 | 2008-01-31 | National University Corporation Okayama University | Extension filed multiplication program and extension filed multiplication device |
US20080181406A1 (en) * | 2007-01-30 | 2008-07-31 | Technology Properties Limited | System and Method of Storage Device Data Encryption and Data Access Via a Hardware Key |
DE102007007699A1 (de) * | 2007-02-09 | 2008-08-14 | IHP GmbH - Innovations for High Performance Microelectronics/Institut für innovative Mikroelektronik | Reduktion von Seiten-Kanal-Informationen durch interagierende Krypto-Blocks |
IL187046A0 (en) * | 2007-10-30 | 2008-02-09 | Sandisk Il Ltd | Memory randomization for protection against side channel attacks |
JP2010129128A (ja) * | 2008-11-28 | 2010-06-10 | Toshiba Storage Device Corp | 記憶装置及びデータ書き込み方法 |
US8370940B2 (en) * | 2010-04-01 | 2013-02-05 | Cloudflare, Inc. | Methods and apparatuses for providing internet-based proxy services |
-
2010
- 2010-10-05 CN CN2010800694474A patent/CN103154967A/zh active Pending
- 2010-10-05 WO PCT/US2010/051411 patent/WO2012047199A1/en active Application Filing
- 2010-10-05 DE DE112010005847T patent/DE112010005847T5/de not_active Withdrawn
- 2010-10-05 US US13/877,129 patent/US20130198528A1/en not_active Abandoned
- 2010-10-05 GB GB1304768.3A patent/GB2498122A/en not_active Withdrawn
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5963646A (en) * | 1997-03-10 | 1999-10-05 | The Pacid Group | Secure deterministic encryption key generator system and method |
US20050076228A1 (en) * | 2003-10-02 | 2005-04-07 | Davis John M. | System and method for a secure I/O interface |
US20080095370A1 (en) * | 2006-10-18 | 2008-04-24 | Rose Gregory G | Method for securely extending key stream to encrypt high-entropy data |
US20080240422A1 (en) * | 2007-03-30 | 2008-10-02 | Erdinc Ozturk | Efficient advanced encryption standard (AES) Datapath using hybrid rijndael S-Box |
CN101542968A (zh) * | 2007-08-28 | 2009-09-23 | 松下电器产业株式会社 | 密钥终端装置、加密处理用lsi、固有密钥生成方法和内容系统 |
US20090172415A1 (en) * | 2007-12-28 | 2009-07-02 | Oki Semiconductor Co., Ltd. | Processor apparatus |
US20090319801A1 (en) * | 2008-06-04 | 2009-12-24 | Samsung Electronics Co., Ltd. | Security-Enhanced Storage Devices Using Media Location Factor in Encryption of Hidden and Non-Hidden Partitions |
US20100115286A1 (en) * | 2008-10-30 | 2010-05-06 | Qualcomm Incorporated | Low latency block cipher |
Also Published As
Publication number | Publication date |
---|---|
GB201304768D0 (en) | 2013-05-01 |
GB2498122A (en) | 2013-07-03 |
DE112010005847T5 (de) | 2013-06-20 |
WO2012047199A1 (en) | 2012-04-12 |
US20130198528A1 (en) | 2013-08-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9397834B2 (en) | Scrambling an address and encrypting write data for storing in a storage device | |
US9094190B2 (en) | Method of managing key for secure storage of data and apparatus therefor | |
JP7225220B2 (ja) | 記憶データ暗号化/復号化装置及び方法 | |
US10097349B2 (en) | Systems and methods for protecting symmetric encryption keys | |
US20170046281A1 (en) | Address dependent data encryption | |
US8839000B2 (en) | System and method for securely storing data in an electronic device | |
TWI567557B (zh) | 具防護重播攻擊之用於記憶體加密的可微調加密模式 | |
EP3667535B1 (en) | Storage data encryption and decryption device and method | |
TWI609289B (zh) | 用於提供記憶體機密性、完整性及重播保護的低負擔密碼方法、系統及處理器 | |
US8539250B2 (en) | Secure, two-stage storage system | |
TW200823927A (en) | Method and system to provide security implementation for storage devices | |
EP3262515B1 (en) | Cryptographic-based initialization of memory content | |
TW200947202A (en) | System and method for providing secure access to system memory | |
CN103246852A (zh) | 加密数据的存取方法及装置 | |
CN103154967A (zh) | 修改元素的长度以形成加密密钥 | |
CN113536331B (zh) | 存储器和计算系统的数据安全 | |
WO2024006085A1 (en) | Data encryption suitable for use in systems with processing-in-memory |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20130612 |