对地址的加扰和对需存储于存储设备中的写入数据的加密.pdf

上传人:1520****312 文档编号:4757433 上传时间:2018-11-07 格式:PDF 页数:13 大小:1.77MB
返回 下载 相关 举报
摘要
申请专利号:

CN201080069489.8

申请日:

2010.10.05

公开号:

CN103154963A

公开日:

2013.06.12

当前法律状态:

驳回

有效性:

无权

法律详情:

发明专利申请公布后的驳回IPC(主分类):G06F 21/62申请公布日:20130612|||实质审查的生效IPC(主分类):G06F 21/62申请日:20101005|||公开

IPC分类号:

G06F21/62(2013.01)I; G06F13/14

主分类号:

G06F21/62

申请人:

惠普发展公司,有限责任合伙企业

发明人:

克雷格·A·沃尔拉思

地址:

美国德克萨斯州

优先权:

专利代理机构:

北京德琦知识产权代理有限公司 11018

代理人:

宋颖娉;康泉

PDF下载: PDF下载
内容摘要

接收访问存储设备(106、204)中的位置的地址,并且加扰所述地址。使用加密密钥加密写入数据。加密后的写入数据存储在所述存储设备中由加扰后的地址所指定的位置处。

权利要求书

权利要求书一种方法,包括:
由控制系统接收(302)定义用于访问存储设备中的位置的地址的地址位;
由所述控制系统对所述地址位进行加扰(304);
使用加密密钥对写入数据进行加密,其中所述加密密钥包括第一密钥和地址信息的组合,其中所述地址信息是基于以下的一个或组合:所接收的地址位的至少一部分,加扰后的地址位的至少一部分,和虚拟地址信息的至少一部分;以及
由所述控制系统提供(308)加密后的写入数据,以存储在所述存储设备中由加扰后的地址位所指定的位置处。
根据权利要求1所述的方法,其中所述存储设备中的由加扰之前的地址位所指定的位置不同于所述存储设备中的由加扰后的地址位所指定的位置。
根据权利要求1的所述方法,其中所述第一密钥和所述地址信息的组合包括所述第一密钥和所述地址信息的异或。
根据权利要求1所述的方法,其中所述存储设备具有复数个区域,并且其中不同的加密密钥被用于对存储于所述复数个区域中的各区域的数据进行加密。
根据权利要求1所述的方法,其中所述存储设备具有复数个区域,所述方法进一步包括对所述复数个区域中的各区域应用不同的加密级别。
根据权利要求1所述的方法,其中所述存储设备具有复数个区域,所述方法进一步包括针对所述复数个区域中的各区域应用不同的地址加扰。
根据权利要求1所述的方法,其中对所述地址位进行加扰是基于使用从所述第一密钥和不同于所述第一密钥的第二密钥中选择的密钥。
根据权利要求1所述的方法,其中对所述地址位进行加扰包括选自以下中的一个:(1)基于对所述地址位应用散列函数来加扰所述地址位,以及(2)基于使用将输入地址映射至加扰后的输出地址的数据结构来加扰所述地址位。
根据权利要求1所述的方法,进一步包括:
从所述存储设备中读取加密的读取数据;并且
使用所述加密密钥来解密所述加密的读取数据。
一种系统,包括:
至少一个存储设备(204);以及
控制子系统(202、206),用于:
对用于访问所述至少一个存储设备的不同存储区域的地址进行加扰,以形成相应的加扰后地址;
使用不同的加密方式对对应的复数个写入数据段进行加密;以及
提供加密后的写入数据段,以存储在由相应的加扰后地址所指定的相应存储区域中。
根据权利要求10所述的系统,其中所述不同的加密方式是基于对应的不同加密密钥的使用。
根据权利要求11所述的系统,其中所述加密密钥中的至少一个是数据密钥和包含用于访问所述至少一个存储设备中的位置的地址的地址信息的混合。
根据权利要求10所述的系统,其中所述不同的加密方式是基于对应的不同加密技术的使用。
根据权利要求10所述的系统,其中所述不同的存储区域包括:(1)一个存储设备的不同的存储区域,或者(2)不同的存储设备的不同的存储区域。
根据权利要求10所述的系统,其中所述不同的存储区域用于存储相应的不同类型的数据。
根据权利要求10所述的系统,其中所述控制子系统被配置为将地址信息、控制信息和数据信息中的至少一个以无线方式发送至所述存储设备。

说明书

说明书对地址的加扰和对需存储于存储设备中的写入数据的加密
背景技术
电子设备通常包括存储设备以存储数据。存储设备可以是用于暂时存储包括用户数据或应用程序数据、机器可读指令等各种类型的数据的易失性内存设备。可替代的,存储设备可以是诸如基于磁盘的存储设备或非易失性内存设备的持久性存储设备。存储于存储设备中的数据可以包括敏感数据或机密数据,诸如安全密钥、用户凭证、金融信息、个人信息等。如果电子设备被盗或者以未经授权的方式进行访问,则黑客可以试图获取存储设备的内容以获得存储于存储设备中的敏感信息或机密信息。
附图说明
结合以下附图描述一些实施例:图1和图2是包含一些实施例的示例性布置的框图;以及
图3和图4是根据一些实施例对存储设备的内容进行保护的过程的流程图。
具体实施方式
根据一些实施方式,提供技术或机理来保护电子设备中的存储设备的内容,电子设备可以是计算机、个人数字助理、电子电器、存储服务器、移动电话或其他类型的电子设备。在一些示例中,存储设备可以是使用动态随机存取内存(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可以是加扰的地址。注意,不是存储设备106中的所有位置都必须通过数据加密和地址加扰来保护,在一些示例中,存储设备106的某些位置不用进行数据加密和/或地址加扰。例如,针对特定的存储位置,数据加密和/或地址加扰可以被选择性地启用或禁用。数据加密和/或地址加扰的选择性启用/禁用可以通过包括命令字段来实现,其中命令字段具有用于指定对应的存储位置是否通过数据加密和/或地址加扰进行保护的存储访问命令。可替代的,其他机理可以被用于针对特定存储位置选择性地启用/禁用数据加密和/或地址加扰,诸如通过使用配置信息、应用程序接口(API)等。
使用地址加扰和数据加密两者提高了存储于存储设备106中的数据的保护级别。通过这种方法,降低了黑客能够获取存储设备中的受保护数据的内容的可能性。在试图从存储设备106获取数据的过程中,黑客可能盗走电子设备,从该电子设备拆下存储设备106,或者以其他方式获得对存储设备106的未经授权的访问(或者物理的或电子的)。
虽然图1仅仅示出具有数据保护机理以保护存储于存储设备106中的数据的一个存储设备控制器104,但是要注意的是可以存在具有针对其他存储设备的类似数据保护机理的另外的存储设备控制器。
存储设备控制器104包括对(未加密的)写入数据进行加密的加密模块116和对加密的读取数据114进行解密的解密模块118。解密模块118输出解密后的读取数据。
加密模块116和解密模块118中的每一个被供给有执行相应的加密或解密的密钥。密钥可以是存储于密钥存储122中的数据密钥120。可替代的,提供给加密模块116和解密模块118的密钥可以是由密钥混合器124输出的混合密钥。密钥混合器124将来自密钥存储122的数据密钥120与地址信息混合在一起输出混合密钥。数据密钥与地址信息的混合可以是数据密钥和地址信息的异或。在其他实施方式中,可以使用数据密钥和地址信息的混合的其他类型。注意,在图1中,以虚线轮廓描绘密钥混合器124,意味着在一些示例中,存储设备控制器104中未提供密钥混合器124。
由加密模块116应用的加密方式可以是各种加密方式中的一种。例如,快速加密技术可以是其中加密密钥与写入数据进行异或(XOR)的XOR技术。使用基于XOR的加密技术的好处是,基于XOR的加密技术相对快速,并且可以支持存储设备106的较快的访问速度,而不需要在写入路径和读取路径中加入延迟。
因此,加密模块116可以应用以下异或操作:,其中A表示需与加密密钥K(数据密钥120或混合密钥)进行XOR以产生加密的写入数据(C)的输入明文数据(写入数据)。
为了执行解密,根据,加密的读取数据(C)可以与加密密钥K进行XOR,以恢复初始明文(A)。
在替代实施方式中,可以取代使用基于XOR的加密技术,使用更高级别的加密技术。例如,更高级别的加密方式可以是高级加密标准(AES)加密。比起用于XOR加密方式的密钥,AES加密密钥更加难于侵入。然而,AES加密方式会伴随增加的电路复杂性一起发生(因为必须使用更多电路来实施AES加密),这可能增加访问时间,或增加解决执行AES加密时涉及的访问时间增加的问题时的复杂度。在其它示例中,可以使用其他类型的更高级别的加密方式。
在密钥混合器124中,与数据密钥120混合的地址信息可以包括以下的一个或组合:(1)由存储设备请求者102提供的初始(未加扰)物理地址的至少一部分,(2)加扰的物理地址的至少一部分,以及(3)虚拟地址信息(加扰的虚拟地址或未加扰的虚拟地址)的至少一部分。“虚拟地址”指逻辑地址,逻辑地址是通常由电子设备的更高级别部件(诸如操作系统或文件系统)使用的虚拟地址空间的部分。虚拟地址空间通常大于定义存储设备106中的实际有效存储位置的物理地址空间。
存储于密钥存储122中的每个数据密钥120可以是随机生成的密钥,其可以由存储设备控制器104本身生成或者由存储设备控制器104外部的部件生成。例如,数据密钥可以由在首次启动电子设备时执行各种初始化功能的系统启动代码(诸如基本输入/输出系统(BIOS)代码)生成。可替代的,数据密钥可以由作为电子设备芯片组的一部分的管理引擎生成。作为又一个替代例,数据密钥可以基于用户输入而生成。作为另一个示例,数据密钥可以由处理器、可信平台模块或其他部件生成。数据密钥还可以通过电子设备所连接的网络连接或者管理总线接收。通常,在不使用通过对电子设备中的部件进行逆向工程能够发现的数据的情况下生成数据密钥。
随机数据密钥可以基于随机数生成器生成。同样或可替代的,随机数据密钥可以基于日期和/或时间而生成。为了提高安全性,用于分别由加密模块116和解密模块118执行加密和解密的数据密钥随着每次系统复位或重启而改变。可替代的,在电子设备从低功率状态(诸如待机状态、休眠状态或其他低功率状态)恢复时,可以生成不同的数据密钥。作为又一个替代例,可以采用加密刷新周期,在每个新的加密刷新周期中生成新的数据密钥。
密钥存储122是一旦损失或移除电力就丢失其内容的易失性存储设备。例如,密钥存储122可以是存储设备控制器104中的寄存器,或者可替代的,密钥存储122可以是存储设备106的一部分。密钥存储122可以是响应于预定事件(诸如电子设备关闭、复位、进入低功率状态、启动新的加密刷新周期等)而复位的只写/写入一次的存储设备(例如寄存器)。只写存储意味着密钥存储122不能由存储设备控制器104外部的部件读取,而写入一次存储意味着密钥存储122在每个预定时间间隔期间(例如,电子设备在复位周期、重启周期或功率周期之间的工作时间期间;特定的刷新周期时间间隔期间等)只能被写入一次。
如上所述,由存储设备控制器104提供以访问存储设备106中的位置的存储设备地址110可以是加扰的地址。采用地址加扰允许在由存储于存储设备106中的加密数据所提供的保护上提供保护附加层。在一些实例中,地址加扰可以由存储设备控制器104中的地址加扰器126执行。在替代示例中,代替提供存储设备控制器104中的地址加扰器126,地址加扰器128可以被提供为存储设备请求者102的一部分,或者可替代的,地址加扰器128可以被提供在存储设备请求者102和存储设备控制器104之间(换句话说,地址加扰器可以被提供在独立于存储设备请求者102和存储设备控制器104的部件中)。
对初始地址进行加扰可以使用各种技术中的任何一种来执行。例如,初始地址的地址位可以被变换位置。可替代的,初始地址可以通过使用诸如随机生成密钥的密钥来加扰。用于对地址进行加扰的密钥可以是数据密钥120(存储于密钥存储122中)或不同的密钥。密钥可以与初始地址混合或者应用于初始地址以生成加扰的地址。可替代的,地址加扰可以通过对初始地址进行散列以产生表示加扰后地址的散列值来执行。作为又一个替代例,可以存储诸如表格的数据结构,以将输入初始地址映射到输出地址,其中输出地址被认为是加扰的地址。在其他实施方式中,可以使用其他技术。
在密钥被用于对地址进行加扰的实施方式中,可以存在各种可能的情况(以下阐述其中的一些情况)。在第一种情况中,地址加扰器126或128可以使用数据密钥120对初始物理地址进行加扰以形成加扰的地址。密钥混合器124将初始物理地址与数据密钥120混合以形成混合密钥,并且混合密钥可以分别由加密模块116和解密模块118使用以加密或解密数据。
第二种情况涉及使用不同于数据密钥120的地址密钥对初始物理地址进行加扰的地址加扰器128或128。初始物理地址由密钥混合器124与数据密钥120混合,以形成用于加密或解密数据的混合密钥。
在第三种情况中,地址加扰器126或128可以使用与用于加密数据的技术不同的技术来加扰初始物理地址。例如,第一加密技术被用于使用密钥(数据密钥或不同于数据密钥的地址密钥)对初始物理地址进行加扰以形成加扰的地址,而第二加密技术被用于使用数据密钥(代替混合密钥)来加密写入数据以输出加密的写入数据。
在第四种情况中,加扰的地址可以使用不同于数据密钥的地址密钥而生成。加扰的地址与数据密钥混合以形成混合密钥来加密写入数据。
在第五种情况中,加扰的地址可以使用数据密钥而生成。加扰的地址与数据密钥混合以形成混合密钥来加密写入数据。
在第六种情况中,加扰的地址可以使用不同于用于加密写入数据的加密技术的加密技术而生成。在这种情况下,数据密钥被用于代替混合密钥来加密数据。
在第七种情况中,初始物理地址可以被加扰以形成加扰的地址,但是虚拟地址(或者加扰的虚拟地址)可以与数据密钥混合,以提供用于加密写入数据的混合密钥。这种情况的变体是将虚拟地址(或加扰的虚拟地址)用作加密写入数据的数据密钥。
可以存在许多其他情况。另外,一些情况可以涉及以上情况中多种情况的组合。
图2示出另一个示例性布置,其包括被连接至内存设备204的内存控制器202(注意在不同的示例中,可以使用存储设备控制器代替内存控制器202,同时使用存储设备代替内存设备204)。内存控制器202实施内存保护机理(类似于以上所述)以保护存储在内存设备204中的数据。内存设备204可以表示单个设备或者多个设备的组合(例如单个内存芯片或多个内存芯片,或者单个内存模块或多个内存模块)。注意根据图2的实施方式不使用密钥混合将数据密钥与地址信息混合以形成混合密钥来加密写入数据。
在替代实施方式中,诸如图1的密钥混合器124的密钥混合器可以被加到图2的内存控制器202上。
由内存控制器202实施的内存保护机理包括对需存储在内存设备204中的写入数据进行加密的数据加密机理。内存控制器202的内存保护机理还包括地址加扰机理,以对指定内存设备204中的位置的地址进行加扰。
图2进一步示出耦接至内存控制器202的请求者206(例如处理器、I/O控制器等)。请求者206能够将读取或写入请求发给内存控制器202以在内存设备204中读取或写入数据。
针对写入操作,如图2所示,内存控制器202包括写入数据缓存区210以存储传入的写入数据。加密模块212将对来自写入数据缓存区210的写入数据应用加密,并且提供加密的写入数据以通过内存总线214存储在内存设备204上。内存总线214包括控制部分(具有控制信号)、地址部分(包含地址)和数据部分(包含需在内存控制器202和内存设备204之间传送的数据)。
针对读取操作,读取数据从内存设备204获取并且被提供至解密模块216。注意从内存设备204读取的数据可以是加密的数据,使得解密模块216向加密的读取数据应用解密,从而将解密的读取数据输出至读取数据缓冲区218,在读取数据缓冲区218中,读取数据可以被提供至请求者206。
由加密模块212和解密模块216应用的加密或解密可以基于存储在内存控制器202中的密钥存储220中的数据密钥。如图2所述,密钥存储220可以存储多个数据密钥(表示为“数据密钥1”……“数据密钥n”,其中n≥2)。在一些实施方式中,内存设备204的不同内存区域可以使用不同的数据密钥加密。如图2所述,内存设备具有多个内存区域(“内存区域1”……“内存区域n”)。不同的内存区域可以表示特定内存设备的不同部分。多个内存区域可以可替代地表示不同内存设备。因此,在具有多个内存设备的电子设备中,第一数据密钥可以被用于保护第一内存设备中的数据,第二数据密钥可以被用于保护第二内存设备中的数据,等等。在进一步的示例中,电子设备中可以存在不同类型的内存设备,在这种情况下,不同的数据密钥被用于保护存储于不同类型的内存设备中的数据。因此,例如,第一数据密钥被用于保护第一类型的内存设备(例如基于DRAM的内存设备)中的数据,第二数据密钥被用于保护第二类型的内存设备(例如快闪内存设备)中的数据,等等。还要注意的是,电子设备中可以存在高速缓冲内存,使得另一个数据密钥被用于保护高速缓冲内存。
另外,还要注意的是,不同的数据密钥可以根据怎样使用不同的内存区域而被用于相应的内存区域。例如,内存区域中的一个可以是用于存储与操作系统(OS)相关联的数据或指令的操作系统区。另一个内存区域可以存储与非OS程序相关联的数据,诸如用户数据和应用程序数据。
可替代的,在电子设备的操作的不同模式期间可以使用不同的数据密钥,其中不同模式可以是指例如不同的安全级别。
在其他实施方式中,不同级别的保护可以被应用于不同的内存区域。例如,基于XOR的加密方式可以被应用于第一内存区域,而AES加密方式或一些其他更高级别的加密方式被应用于不同的内存区域。
另外,在一些实施方式中,不同的地址加扰被用于不同的内存区域。例如,可以应用不同的密钥(数据密钥或不同于数据密钥的地址密钥)以生成不同的地址加扰。可替代的,可以应用不同的加密级别以给不同的内存区域提供不同的地址加扰。
被应用于不同内存区域的不同密钥和/或不同加密级别和/或不同地址加扰可以在电子设备建立的时候或者在电子设备操作期间由用户或管理员进行配置。
内存控制器202还包括事务地址缓冲区222以存储与特定事务(读取事务或写入事务)相关联的地址。地址加扰器224将地址加扰应用到来自事务地址缓冲区222的地址上。加扰的地址从地址加扰器224被提供至地址控制和定时模块226,地址控制和定时模块226通过内存总线214的地址部分输出加扰的地址。
注意,可以针对内存设备中不同的内存区域执行不同的地址加扰。因此,例如,访问第一内存区域的地址以第一方式加扰,而访问第二内存区域的地址以不同的第二方式加扰。
例如,对地址进行加扰的不同方式可以基于使用对不同内存区域的不同地址进行加扰的不同密钥。可替代的,不同的散列函数可以被用于加扰不同内存区域的地址。同样,不同的地址加扰技术可以针对存储诸如用户数据、图形数据、OS数据等的不同类型数据的内存区域而执行。
通过针对不同内存区域使用不同的数据密钥和/或不同的地址加扰,恢复可能包含敏感或保密数据的内存区域的密钥或具体地址加扰技术会变得更加困难。注意,某个OS数据可以是已知数据,以使黑客可以基于已知的OS数据,相对容易地对OS内存区域的密钥或具体地址加扰技术进行逆向工程。然而,如果不同的数据密钥和/或地址加扰技术被用于包含非OS数据(例如,诸如用户数据和应用程序数据)的内存区域,则即使黑客针对OS内存区域确定了数据密钥和/或地址加扰技术,黑客也不能访问这种其他内存区域的内容。
在一些实施方式中,注意OS数据和非OS数据可以分散在内存设备204上。如果针对包含OS数据的内存区域和针对包含非OS数据的内存区域应用不同的地址加扰,则地址加扰被设计为使得非OS内存区域的最终的加扰后地址不会最终成为和针对OS内存区域的最终加扰后地址一样。
图3是由控制系统执行的过程的流程图。如这里所用,控制系统(或者相当于“控制子系统”)包括能够执行预定任务的处理电路。例如,控制系统可以包括以下中的任意一个或组合:图1的存储设备请求者102、图1的存储设备控制器104、图2的请求者206以及图2的内存控制器202。
控制系统接收(在302)地址位,在图3的上下文中,地址位是与写入存储设备的请求相关联的地址的一部分。控制系统然后对地址位进行加扰(在304)。然后,使用加密密钥加密(在306)写入数据,加密密钥是数据密钥和地址信息的组合,其中地址信息可以包括以下的一个或组合:(1)初始(未加扰)物理地址的至少一部分,(2)加扰的物理地址的至少一部分,以及(3)虚拟地址信息(加扰的虚拟地址或未加扰的虚拟地址)的至少一部分。
提供(在308)加密的写入数据以存储在存储设备中。
图4是根据替代实施方式由控制系统执行的过程的流程图。控制系统接收(在402)与写入多个存储区域的多个请求相关联的地址。对地址进行加扰(在404),其中对每个地址进行加扰是指对地址的至少一部分进行加扰。使用相应的不同加密方式来加密(在406)与各个写入请求相关联的写入数据段,其中不同的加密方式可以使用不同的加密密钥(例如不同的数据密钥)来实现,或者使用不同的加密技术(例如基于XOR的加密方式、AES加密方式等)来实现。
然后提供(在408)加密的写入数据段以存储于相应的存储区域中。
用于实施图3或图4的过程的控制系统可以仅使用硬件或者使用硬件与被加载以在处理电路(处理电路可以是图1或图2中的请求者102或206的一部分或者存储设备控制器104或内存控制器202的一部分)上执行的机器可读指令的组合来实现。处理电路可以包括微处理器、微控制器、处理器模块或子系统、可编程集成电路、可编程门阵列或另一个控制或计算设备。
数据和指令被存储在被实施为一个或多个计算机可读或机器可读存储介质的相应存储设备中。存储介质包括不同形式的内存,包括诸如动态或静态随机存取内存(DRAM或SRAM)的半导体内存设备,可擦除可编程只读内存(EPROM),电可擦除可编程只读内存(EEPROM)以及快闪内存;诸如硬盘、软盘和可移动磁盘的磁盘;包括磁带的其他磁性媒介质;诸如光盘(CD)或数字视频光盘(DVD)的光学介质;或者其他类型的存储设备。注意,以上讨论的指令可以被提供在一个计算机可读或机器可读存储介质上,或者可替代的可以被提供在分布于具有可能的复数个节点的大系统中的多个计算机可读或机器可读存储介质上。这样的计算机可读或机器可读存储介质被认为是物品的一部分(或成品)。物品或成品可以指任何制造的单个部件或多个部件。
在上文中,阐述了许多细节以提供对这里公开的主题的理解。然而,实施方式可以在没有这些细节的一些或全部的情况下被实践。其他的实施方式可以包括从以上所讨论的细节进行的修改和变形。所附权利要求旨在覆盖这样的修改和变形。

对地址的加扰和对需存储于存储设备中的写入数据的加密.pdf_第1页
第1页 / 共13页
对地址的加扰和对需存储于存储设备中的写入数据的加密.pdf_第2页
第2页 / 共13页
对地址的加扰和对需存储于存储设备中的写入数据的加密.pdf_第3页
第3页 / 共13页
点击查看更多>>
资源描述

《对地址的加扰和对需存储于存储设备中的写入数据的加密.pdf》由会员分享,可在线阅读,更多相关《对地址的加扰和对需存储于存储设备中的写入数据的加密.pdf(13页珍藏版)》请在专利查询网上搜索。

1、(10)申请公布号 CN 103154963 A (43)申请公布日 2013.06.12 CN 103154963 A *CN103154963A* (21)申请号 201080069489.8 (22)申请日 2010.10.05 G06F 21/62(2013.01) G06F 13/14(2006.01) (71)申请人 惠普发展公司, 有限责任合伙企业 地址 美国德克萨斯州 (72)发明人 克雷格A沃尔拉思 (74)专利代理机构 北京德琦知识产权代理有限 公司 11018 代理人 宋颖娉 康泉 (54) 发明名称 对地址的加扰和对需存储于存储设备中的写 入数据的加密 (57) 摘要 。

2、接收访问存储设备 (106、 204) 中的位置的地 址, 并且加扰所述地址。 使用加密密钥加密写入数 据。加密后的写入数据存储在所述存储设备中由 加扰后的地址所指定的位置处。 (85)PCT申请进入国家阶段日 2013.04.08 (86)PCT申请的申请数据 PCT/US2010/051413 2010.10.05 (87)PCT申请的公布数据 WO2012/047200 EN 2012.04.12 (51)Int.Cl. 权利要求书 2 页 说明书 7 页 附图 3 页 (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书2页 说明书7页 附图3页 (10)申请公布号 。

3、CN 103154963 A CN 103154963 A *CN103154963A* 1/2 页 2 1. 一种方法, 包括 : 由控制系统接收 (302) 定义用于访问存储设备中的位置的地址的地址位 ; 由所述控制系统对所述地址位进行加扰 (304) ; 使用加密密钥对写入数据进行加密, 其中所述加密密钥包括第一密钥和地址信息的组 合, 其中所述地址信息是基于以下的一个或组合 : 所接收的地址位的至少一部分, 加扰后的 地址位的至少一部分, 和虚拟地址信息的至少一部分 ; 以及 由所述控制系统提供 (308) 加密后的写入数据, 以存储在所述存储设备中由加扰后的 地址位所指定的位置处。 。

4、2. 根据权利要求 1 所述的方法, 其中所述存储设备中的由加扰之前的地址位所指定的 位置不同于所述存储设备中的由加扰后的地址位所指定的位置。 3. 根据权利要求 1 的所述方法, 其中所述第一密钥和所述地址信息的组合包括所述第 一密钥和所述地址信息的异或。 4. 根据权利要求 1 所述的方法, 其中所述存储设备具有复数个区域, 并且其中不同的 加密密钥被用于对存储于所述复数个区域中的各区域的数据进行加密。 5. 根据权利要求 1 所述的方法, 其中所述存储设备具有复数个区域, 所述方法进一步 包括对所述复数个区域中的各区域应用不同的加密级别。 6. 根据权利要求 1 所述的方法, 其中所述存。

5、储设备具有复数个区域, 所述方法进一步 包括针对所述复数个区域中的各区域应用不同的地址加扰。 7. 根据权利要求 1 所述的方法, 其中对所述地址位进行加扰是基于使用从所述第一密 钥和不同于所述第一密钥的第二密钥中选择的密钥。 8. 根据权利要求 1 所述的方法, 其中对所述地址位进行加扰包括选自以下中的一个 : (1) 基于对所述地址位应用散列函数来加扰所述地址位, 以及 (2) 基于使用将输入地址映射 至加扰后的输出地址的数据结构来加扰所述地址位。 9. 根据权利要求 1 所述的方法, 进一步包括 : 从所述存储设备中读取加密的读取数据 ; 并且 使用所述加密密钥来解密所述加密的读取数据。。

6、 10. 一种系统, 包括 : 至少一个存储设备 (204) ; 以及 控制子系统 (202、 206) , 用于 : 对用于访问所述至少一个存储设备的不同存储区域的地址进行加扰, 以形成相应的加 扰后地址 ; 使用不同的加密方式对对应的复数个写入数据段进行加密 ; 以及 提供加密后的写入数据段, 以存储在由相应的加扰后地址所指定的相应存储区域中。 11. 根据权利要求 10 所述的系统, 其中所述不同的加密方式是基于对应的不同加密密 钥的使用。 12. 根据权利要求 11 所述的系统, 其中所述加密密钥中的至少一个是数据密钥和包含 用于访问所述至少一个存储设备中的位置的地址的地址信息的混合。。

7、 13. 根据权利要求 10 所述的系统, 其中所述不同的加密方式是基于对应的不同加密技 术的使用。 权 利 要 求 书 CN 103154963 A 2 2/2 页 3 14.根据权利要求10所述的系统, 其中所述不同的存储区域包括 :(1) 一个存储设备的 不同的存储区域, 或者 (2) 不同的存储设备的不同的存储区域。 15. 根据权利要求 10 所述的系统, 其中所述不同的存储区域用于存储相应的不同类型 的数据。 16. 根据权利要求 10 所述的系统, 其中所述控制子系统被配置为将地址信息、 控制信 息和数据信息中的至少一个以无线方式发送至所述存储设备。 权 利 要 求 书 CN 1。

8、03154963 A 3 1/7 页 4 对地址的加扰和对需存储于存储设备中的写入数据的加密 背景技术 0001 电子设备通常包括存储设备以存储数据。 存储设备可以是用于暂时存储包括用户 数据或应用程序数据、 机器可读指令等各种类型的数据的易失性内存设备。 可替代的, 存储 设备可以是诸如基于磁盘的存储设备或非易失性内存设备的持久性存储设备。 存储于存储 设备中的数据可以包括敏感数据或机密数据, 诸如安全密钥、 用户凭证、 金融信息、 个人信 息等。如果电子设备被盗或者以未经授权的方式进行访问, 则黑客可以试图获取存储设备 的内容以获得存储于存储设备中的敏感信息或机密信息。 附图说明 0002。

9、 结合以下附图描述一些实施例 : 图 1 和图 2 是包含一些实施例的示例性布置的框 图 ; 以及 0003 图 3 和图 4 是根据一些实施例对存储设备的内容进行保护的过程的流程图。 具体实施方式 0004 根据一些实施方式, 提供技术或机理来保护电子设备中的存储设备的内容, 电子 设备可以是计算机、 个人数字助理、 电子电器、 存储服务器、 移动电话或其他类型的电子设 备。在一些示例中, 存储设备可以是使用动态随机存取内存 (DRAM) 技术或静态随机存取内 存 (SRAM) 技术实施的易失性内存设备。在替代示例中, 存储设备可以是诸如快闪内存设备 的非易失性内存设备。 作为又一个示例, 。

10、存储设备可以是基于磁盘的存储设备, 诸如硬盘驱 动器或光盘驱动器。在其他示例中, 可以使用其他类型的存储设备。 0005 图 1 描述包括存储设备请求者 102、 存储设备控制器 104(提供有根据一些实施方 式的数据保护机理) 和存储设备 106 的示例性布置。存储设备请求者 102 能够通过存储设 备控制器 104 访问 (读取或写入) 存储设备 106 的内容。存储设备请求者 102 的示例包括处 理器、 输入 / 输出 (I/O) 控制器或者其他类型的请求者。 0006 存储设备总线 108 将存储设备控制器 104 和存储设备 106 互相连接。存储设备总 线 108 包括控制部分 。

11、(用于承载控制信号) 、 地址部分 (用于承载地址信号) 和数据部分 (用于 承载从存储设备 106 读取的或写入存储设备 106 的数据) 。总线 108 的控制部分、 地址部分 和数据部分作为示例被单独示出。各种实施方式可以以独立的连接拥有这些部分, 但是这 些部分也可以以公用总线信号复用或发送, 等等。同样, 控制部分、 地址部分和 / 或数据部 分可以被实现为有线或无线连接。 在无线实施方式中, 使用无线协议来发送控制部分、 地址 部分和 / 或数据部分。 0007 如图1所示, 存储设备控制器104可以提供存储设备地址110以访问存储设备106 的位置。针对写入操作, 可以提供写入数。

12、据 112 至存储设备 106, 并且针对读取操作, 可以 从存储设备 106 获取读取数据 114。为了保护存储设备 106 的内容, 从存储设备控制器 104 发送到存储设备 106 的写入数据 112 包括加密的写入数据。如果从由加密所保护的存储设 备 106 的位置读取数据, 则对应的读取数据 114 是加密的读取数据。 说 明 书 CN 103154963 A 4 2/7 页 5 0008 为了进一步保护存储设备 106 的内容, 存储设备地址 110 可以是加扰的地址。注 意, 不是存储设备 106 中的所有位置都必须通过数据加密和地址加扰来保护, 在一些示例 中, 存储设备 10。

13、6 的某些位置不用进行数据加密和 / 或地址加扰。例如, 针对特定的存储位 置, 数据加密和 / 或地址加扰可以被选择性地启用或禁用。数据加密和 / 或地址加扰的选 择性启用 / 禁用可以通过包括命令字段来实现, 其中命令字段具有用于指定对应的存储位 置是否通过数据加密和 / 或地址加扰进行保护的存储访问命令。可替代的, 其他机理可以 被用于针对特定存储位置选择性地启用 / 禁用数据加密和 / 或地址加扰, 诸如通过使用配 置信息、 应用程序接口 (API) 等。 0009 使用地址加扰和数据加密两者提高了存储于存储设备 106 中的数据的保护级别。 通过这种方法, 降低了黑客能够获取存储设备。

14、中的受保护数据的内容的可能性。在试图 从存储设备 106 获取数据的过程中, 黑客可能盗走电子设备, 从该电子设备拆下存储设备 106, 或者以其他方式获得对存储设备 106 的未经授权的访问 (或者物理的或电子的) 。 0010 虽然图1仅仅示出具有数据保护机理以保护存储于存储设备106中的数据的一个 存储设备控制器 104, 但是要注意的是可以存在具有针对其他存储设备的类似数据保护机 理的另外的存储设备控制器。 0011 存储设备控制器 104 包括对 (未加密的) 写入数据进行加密的加密模块 116 和对加 密的读取数据 114 进行解密的解密模块 118。解密模块 118 输出解密后的。

15、读取数据。 0012 加密模块 116 和解密模块 118 中的每一个被供给有执行相应的加密或解密的密 钥。密钥可以是存储于密钥存储 122 中的数据密钥 120。可替代的, 提供给加密模块 116 和 解密模块 118 的密钥可以是由密钥混合器 124 输出的混合密钥。密钥混合器 124 将来自密 钥存储 122 的数据密钥 120 与地址信息混合在一起输出混合密钥。数据密钥与地址信息的 混合可以是数据密钥和地址信息的异或。在其他实施方式中, 可以使用数据密钥和地址信 息的混合的其他类型。 注意, 在图1中, 以虚线轮廓描绘密钥混合器124, 意味着在一些示例 中, 存储设备控制器 104 。

16、中未提供密钥混合器 124。 0013 由加密模块 116 应用的加密方式可以是各种加密方式中的一种。例如, 快速加密 技术可以是其中加密密钥与写入数据进行异或 (XOR) 的 XOR 技术。使用基于 XOR 的加密技 术的好处是, 基于 XOR 的加密技术相对快速, 并且可以支持存储设备 106 的较快的访问速 度, 而不需要在写入路径和读取路径中加入延迟。 0014 因此, 加密模块 116 可以应用以下异或操作 :, 其中 A 表示需与加密密 钥 K(数据密钥 120 或混合密钥) 进行 XOR 以产生加密的写入数据 (C) 的输入明文数据 (写 入数据) 。 0015 为了执行解密, 。

17、根据, 加密的读取数据 (C) 可以与加密密钥 K 进行 XOR, 以恢复初始明文 (A) 。 0016 在替代实施方式中, 可以取代使用基于 XOR 的加密技术, 使用更高级别的加密技 术。例如, 更高级别的加密方式可以是高级加密标准 (AES) 加密。比起用于 XOR 加密方式 的密钥, AES 加密密钥更加难于侵入。然而, AES 加密方式会伴随增加的电路复杂性一起发 生 (因为必须使用更多电路来实施 AES 加密) , 这可能增加访问时间, 或增加解决执行 AES 加 密时涉及的访问时间增加的问题时的复杂度。在其它示例中, 可以使用其他类型的更高级 别的加密方式。 说 明 书 CN 1。

18、03154963 A 5 3/7 页 6 0017 在密钥混合器 124 中, 与数据密钥 120 混合的地址信息可以包括以下的一个或组 合 :(1) 由存储设备请求者 102 提供的初始 (未加扰) 物理地址的至少一部分,(2) 加扰的物 理地址的至少一部分, 以及 (3) 虚拟地址信息 (加扰的虚拟地址或未加扰的虚拟地址) 的至 少一部分。 “虚拟地址” 指逻辑地址, 逻辑地址是通常由电子设备的更高级别部件 (诸如操作 系统或文件系统) 使用的虚拟地址空间的部分。虚拟地址空间通常大于定义存储设备 106 中的实际有效存储位置的物理地址空间。 0018 存储于密钥存储 122 中的每个数据密。

19、钥 120 可以是随机生成的密钥, 其可以由存 储设备控制器 104 本身生成或者由存储设备控制器 104 外部的部件生成。例如, 数据密钥 可以由在首次启动电子设备时执行各种初始化功能的系统启动代码 (诸如基本输入 / 输出 系统 (BIOS) 代码) 生成。可替代的, 数据密钥可以由作为电子设备芯片组的一部分的管理 引擎生成。作为又一个替代例, 数据密钥可以基于用户输入而生成。作为另一个示例, 数据 密钥可以由处理器、 可信平台模块或其他部件生成。数据密钥还可以通过电子设备所连接 的网络连接或者管理总线接收。通常, 在不使用通过对电子设备中的部件进行逆向工程能 够发现的数据的情况下生成数据。

20、密钥。 0019 随机数据密钥可以基于随机数生成器生成。同样或可替代的, 随机数据密钥可以 基于日期和/或时间而生成。 为了提高安全性, 用于分别由加密模块116和解密模块118执 行加密和解密的数据密钥随着每次系统复位或重启而改变。可替代的, 在电子设备从低功 率状态 (诸如待机状态、 休眠状态或其他低功率状态) 恢复时, 可以生成不同的数据密钥。作 为又一个替代例, 可以采用加密刷新周期, 在每个新的加密刷新周期中生成新的数据密钥。 0020 密钥存储 122 是一旦损失或移除电力就丢失其内容的易失性存储设备。例如, 密 钥存储 122 可以是存储设备控制器 104 中的寄存器, 或者可替。

21、代的, 密钥存储 122 可以是存 储设备 106 的一部分。密钥存储 122 可以是响应于预定事件 (诸如电子设备关闭、 复位、 进 入低功率状态、 启动新的加密刷新周期等) 而复位的只写 / 写入一次的存储设备 (例如寄存 器) 。只写存储意味着密钥存储 122 不能由存储设备控制器 104 外部的部件读取, 而写入一 次存储意味着密钥存储 122 在每个预定时间间隔期间 (例如, 电子设备在复位周期、 重启周 期或功率周期之间的工作时间期间 ; 特定的刷新周期时间间隔期间等) 只能被写入一次。 0021 如上所述, 由存储设备控制器 104 提供以访问存储设备 106 中的位置的存储设备。

22、 地址 110 可以是加扰的地址。采用地址加扰允许在由存储于存储设备 106 中的加密数据所 提供的保护上提供保护附加层。在一些实例中, 地址加扰可以由存储设备控制器 104 中的 地址加扰器 126 执行。在替代示例中, 代替提供存储设备控制器 104 中的地址加扰器 126, 地址加扰器 128 可以被提供为存储设备请求者 102 的一部分, 或者可替代的, 地址加扰器 128 可以被提供在存储设备请求者 102 和存储设备控制器 104 之间 (换句话说, 地址加扰器 可以被提供在独立于存储设备请求者 102 和存储设备控制器 104 的部件中) 。 0022 对初始地址进行加扰可以使用。

23、各种技术中的任何一种来执行。例如, 初始地址的 地址位可以被变换位置。可替代的, 初始地址可以通过使用诸如随机生成密钥的密钥来加 扰。用于对地址进行加扰的密钥可以是数据密钥 120(存储于密钥存储 122 中) 或不同的 密钥。密钥可以与初始地址混合或者应用于初始地址以生成加扰的地址。可替代的, 地址 加扰可以通过对初始地址进行散列以产生表示加扰后地址的散列值来执行。 作为又一个替 代例, 可以存储诸如表格的数据结构, 以将输入初始地址映射到输出地址, 其中输出地址被 说 明 书 CN 103154963 A 6 4/7 页 7 认为是加扰的地址。在其他实施方式中, 可以使用其他技术。 002。

24、3 在密钥被用于对地址进行加扰的实施方式中, 可以存在各种可能的情况 (以下阐 述其中的一些情况) 。在第一种情况中, 地址加扰器 126 或 128 可以使用数据密钥 120 对初 始物理地址进行加扰以形成加扰的地址。密钥混合器 124 将初始物理地址与数据密钥 120 混合以形成混合密钥, 并且混合密钥可以分别由加密模块 116 和解密模块 118 使用以加密 或解密数据。 0024 第二种情况涉及使用不同于数据密钥 120 的地址密钥对初始物理地址进行加扰 的地址加扰器 128 或 128。初始物理地址由密钥混合器 124 与数据密钥 120 混合, 以形成用 于加密或解密数据的混合密钥。

25、。 0025 在第三种情况中, 地址加扰器 126 或 128 可以使用与用于加密数据的技术不同的 技术来加扰初始物理地址。 例如, 第一加密技术被用于使用密钥 (数据密钥或不同于数据密 钥的地址密钥) 对初始物理地址进行加扰以形成加扰的地址, 而第二加密技术被用于使用 数据密钥 (代替混合密钥) 来加密写入数据以输出加密的写入数据。 0026 在第四种情况中, 加扰的地址可以使用不同于数据密钥的地址密钥而生成。加扰 的地址与数据密钥混合以形成混合密钥来加密写入数据。 0027 在第五种情况中, 加扰的地址可以使用数据密钥而生成。加扰的地址与数据密钥 混合以形成混合密钥来加密写入数据。 002。

26、8 在第六种情况中, 加扰的地址可以使用不同于用于加密写入数据的加密技术的加 密技术而生成。在这种情况下, 数据密钥被用于代替混合密钥来加密数据。 0029 在第七种情况中, 初始物理地址可以被加扰以形成加扰的地址, 但是虚拟地址 (或 者加扰的虚拟地址) 可以与数据密钥混合, 以提供用于加密写入数据的混合密钥。这种情况 的变体是将虚拟地址 (或加扰的虚拟地址) 用作加密写入数据的数据密钥。 0030 可以存在许多其他情况。另外, 一些情况可以涉及以上情况中多种情况的组合。 0031 图 2 示出另一个示例性布置, 其包括被连接至内存设备 204 的内存控制器 202 (注 意在不同的示例中,。

27、 可以使用存储设备控制器代替内存控制器 202, 同时使用存储设备代替 内存设备 204) 。内存控制器 202 实施内存保护机理 (类似于以上所述) 以保护存储在内存 设备 204 中的数据。内存设备 204 可以表示单个设备或者多个设备的组合 (例如单个内存 芯片或多个内存芯片, 或者单个内存模块或多个内存模块) 。注意根据图 2 的实施方式不使 用密钥混合将数据密钥与地址信息混合以形成混合密钥来加密写入数据。 0032 在替代实施方式中, 诸如图 1 的密钥混合器 124 的密钥混合器可以被加到图 2 的 内存控制器 202 上。 0033 由内存控制器202实施的内存保护机理包括对需存。

28、储在内存设备204中的写入数 据进行加密的数据加密机理。内存控制器 202 的内存保护机理还包括地址加扰机理, 以对 指定内存设备 204 中的位置的地址进行加扰。 0034 图 2 进一步示出耦接至内存控制器 202 的请求者 206(例如处理器、 I/O 控制器 等) 。请求者 206 能够将读取或写入请求发给内存控制器 202 以在内存设备 204 中读取或 写入数据。 0035 针对写入操作, 如图 2 所示, 内存控制器 202 包括写入数据缓存区 210 以存储传入 的写入数据。加密模块 212 将对来自写入数据缓存区 210 的写入数据应用加密, 并且提供 说 明 书 CN 10。

29、3154963 A 7 5/7 页 8 加密的写入数据以通过内存总线 214 存储在内存设备 204 上。内存总线 214 包括控制部分 (具有控制信号) 、 地址部分 (包含地址) 和数据部分 (包含需在内存控制器 202 和内存设备 204 之间传送的数据) 。 0036 针对读取操作, 读取数据从内存设备204获取并且被提供至解密模块216。 注意从 内存设备 204 读取的数据可以是加密的数据, 使得解密模块 216 向加密的读取数据应用解 密, 从而将解密的读取数据输出至读取数据缓冲区 218, 在读取数据缓冲区 218 中, 读取数 据可以被提供至请求者 206。 0037 由加密。

30、模块 212 和解密模块 216 应用的加密或解密可以基于存储在内存控制器 202 中的密钥存储 220 中的数据密钥。如图 2 所述, 密钥存储 220 可以存储多个数据密钥 (表示为 “数据密钥 1”“数据密钥 n” , 其中 n 2) 。在一些实施方式中, 内存设备 204 的不同内存区域可以使用不同的数据密钥加密。如图 2 所述, 内存设备具有多个内存区域 ( “内存区域 1”“内存区域 n” ) 。不同的内存区域可以表示特定内存设备的不同部分。 多个内存区域可以可替代地表示不同内存设备。 因此, 在具有多个内存设备的电子设备中, 第一数据密钥可以被用于保护第一内存设备中的数据, 第二。

31、数据密钥可以被用于保护第二 内存设备中的数据, 等等。在进一步的示例中, 电子设备中可以存在不同类型的内存设备, 在这种情况下, 不同的数据密钥被用于保护存储于不同类型的内存设备中的数据。 因此, 例 如, 第一数据密钥被用于保护第一类型的内存设备 (例如基于 DRAM 的内存设备) 中的数据, 第二数据密钥被用于保护第二类型的内存设备 (例如快闪内存设备) 中的数据, 等等。还要 注意的是, 电子设备中可以存在高速缓冲内存, 使得另一个数据密钥被用于保护高速缓冲 内存。 0038 另外, 还要注意的是, 不同的数据密钥可以根据怎样使用不同的内存区域而被用 于相应的内存区域。例如, 内存区域中。

32、的一个可以是用于存储与操作系统 (OS) 相关联的数 据或指令的操作系统区。另一个内存区域可以存储与非 OS 程序相关联的数据, 诸如用户数 据和应用程序数据。 0039 可替代的, 在电子设备的操作的不同模式期间可以使用不同的数据密钥, 其中不 同模式可以是指例如不同的安全级别。 0040 在其他实施方式中, 不同级别的保护可以被应用于不同的内存区域。例如, 基于 XOR 的加密方式可以被应用于第一内存区域, 而 AES 加密方式或一些其他更高级别的加密 方式被应用于不同的内存区域。 0041 另外, 在一些实施方式中, 不同的地址加扰被用于不同的内存区域。例如, 可以应 用不同的密钥 (数。

33、据密钥或不同于数据密钥的地址密钥) 以生成不同的地址加扰。可替代 的, 可以应用不同的加密级别以给不同的内存区域提供不同的地址加扰。 0042 被应用于不同内存区域的不同密钥和/或不同加密级别和/或不同地址加扰可以 在电子设备建立的时候或者在电子设备操作期间由用户或管理员进行配置。 0043 内存控制器 202 还包括事务地址缓冲区 222 以存储与特定事务 (读取事务或写入 事务) 相关联的地址。地址加扰器 224 将地址加扰应用到来自事务地址缓冲区 222 的地址 上。 加扰的地址从地址加扰器224被提供至地址控制和定时模块226, 地址控制和定时模块 226 通过内存总线 214 的地址。

34、部分输出加扰的地址。 0044 注意, 可以针对内存设备中不同的内存区域执行不同的地址加扰。因此, 例如, 访 说 明 书 CN 103154963 A 8 6/7 页 9 问第一内存区域的地址以第一方式加扰, 而访问第二内存区域的地址以不同的第二方式加 扰。 0045 例如, 对地址进行加扰的不同方式可以基于使用对不同内存区域的不同地址进行 加扰的不同密钥。可替代的, 不同的散列函数可以被用于加扰不同内存区域的地址。同样, 不同的地址加扰技术可以针对存储诸如用户数据、 图形数据、 OS 数据等的不同类型数据的 内存区域而执行。 0046 通过针对不同内存区域使用不同的数据密钥和 / 或不同的。

35、地址加扰, 恢复可能包 含敏感或保密数据的内存区域的密钥或具体地址加扰技术会变得更加困难。注意, 某个 OS 数据可以是已知数据, 以使黑客可以基于已知的OS数据, 相对容易地对OS内存区域的密钥 或具体地址加扰技术进行逆向工程。然而, 如果不同的数据密钥和 / 或地址加扰技术被用 于包含非 OS 数据 (例如, 诸如用户数据和应用程序数据) 的内存区域, 则即使黑客针对 OS 内 存区域确定了数据密钥和 / 或地址加扰技术, 黑客也不能访问这种其他内存区域的内容。 0047 在一些实施方式中, 注意 OS 数据和非 OS 数据可以分散在内存设备 204 上。如果 针对包含 OS 数据的内存区。

36、域和针对包含非 OS 数据的内存区域应用不同的地址加扰, 则地 址加扰被设计为使得非OS内存区域的最终的加扰后地址不会最终成为和针对OS内存区域 的最终加扰后地址一样。 0048 图 3 是由控制系统执行的过程的流程图。如这里所用, 控制系统 (或者相当于 “控 制子系统” ) 包括能够执行预定任务的处理电路。例如, 控制系统可以包括以下中的任意一 个或组合 : 图 1 的存储设备请求者 102、 图 1 的存储设备控制器 104、 图 2 的请求者 206 以及 图 2 的内存控制器 202。 0049 控制系统接收 (在 302) 地址位, 在图 3 的上下文中, 地址位是与写入存储设备的。

37、请 求相关联的地址的一部分。 控制系统然后对地址位进行加扰 (在304) 。 然后, 使用加密密钥 加密 (在 306) 写入数据, 加密密钥是数据密钥和地址信息的组合, 其中地址信息可以包括以 下的一个或组合 :(1) 初始 (未加扰) 物理地址的至少一部分,(2) 加扰的物理地址的至少一 部分, 以及 (3) 虚拟地址信息 (加扰的虚拟地址或未加扰的虚拟地址) 的至少一部分。 0050 提供 (在 308) 加密的写入数据以存储在存储设备中。 0051 图 4 是根据替代实施方式由控制系统执行的过程的流程图。控制系统接收 (在 402) 与写入多个存储区域的多个请求相关联的地址。对地址进行。

38、加扰 (在 404) , 其中对每 个地址进行加扰是指对地址的至少一部分进行加扰。使用相应的不同加密方式来加密 (在 406) 与各个写入请求相关联的写入数据段, 其中不同的加密方式可以使用不同的加密密钥 (例如不同的数据密钥) 来实现, 或者使用不同的加密技术 (例如基于 XOR 的加密方式、 AES 加密方式等) 来实现。 0052 然后提供 (在 408) 加密的写入数据段以存储于相应的存储区域中。 0053 用于实施图3或图4的过程的控制系统可以仅使用硬件或者使用硬件与被加载以 在处理电路 (处理电路可以是图 1 或图 2 中的请求者 102 或 206 的一部分或者存储设备控 制器 。

39、104 或内存控制器 202 的一部分) 上执行的机器可读指令的组合来实现。处理电路可 以包括微处理器、 微控制器、 处理器模块或子系统、 可编程集成电路、 可编程门阵列或另一 个控制或计算设备。 0054 数据和指令被存储在被实施为一个或多个计算机可读或机器可读存储介质的相 说 明 书 CN 103154963 A 9 7/7 页 10 应存储设备中。存储介质包括不同形式的内存, 包括诸如动态或静态随机存取内存 (DRAM 或 SRAM) 的半导体内存设备, 可擦除可编程只读内存 (EPROM) , 电可擦除可编程只读内存 (EEPROM) 以及快闪内存 ; 诸如硬盘、 软盘和可移动磁盘的磁。

40、盘 ; 包括磁带的其他磁性媒介 质 ; 诸如光盘 (CD) 或数字视频光盘 (DVD) 的光学介质 ; 或者其他类型的存储设备。注意, 以 上讨论的指令可以被提供在一个计算机可读或机器可读存储介质上, 或者可替代的可以被 提供在分布于具有可能的复数个节点的大系统中的多个计算机可读或机器可读存储介质 上。这样的计算机可读或机器可读存储介质被认为是物品的一部分 (或成品) 。物品或成品 可以指任何制造的单个部件或多个部件。 0055 在上文中, 阐述了许多细节以提供对这里公开的主题的理解。 然而, 实施方式可以 在没有这些细节的一些或全部的情况下被实践。 其他的实施方式可以包括从以上所讨论的 细节进行的修改和变形。所附权利要求旨在覆盖这样的修改和变形。 说 明 书 CN 103154963 A 10 1/3 页 11 图 1 说 明 书 附 图 CN 103154963 A 11 2/3 页 12 图 2 说 明 书 附 图 CN 103154963 A 12 3/3 页 13 图 3 图 4 说 明 书 附 图 CN 103154963 A 13 。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1