在电子设备中安全地存储数据的系统和方法

文档序号:6596391阅读:152来源:国知局
专利名称:在电子设备中安全地存储数据的系统和方法
在电子设备中安全地存储数据的系统和方法
背景技术
在典型的计算机系统中,系统存储器被用作用于各种类型数据的临时存储。正如这里所用,术语“数据”指计算机码、控制信息、软件算法、操作系统(OSe)、应用、安全密钥、 证书,金融信息、个人信息或任何其他种类的有用信息。最近几年中,黑客正利用若干新的或改进的技术获取访问存储在计算机系统上的数据。例如,他们可能不仅是为了计算机本身,而且为了存储在计算机系统上的数据而窃取操作计算机系统,比如笔记本电脑。即使系统被锁住(例如用密码),黑客也可以重启系统(例如用通用串行总线(USB)令牌)同时使系统存储器的内容完整无缺。更进一步,黑客可利用任意数量的违法技术检索存储在计算机系统存储器中的数据。因此,获取的被盗信息可用于以未被授权的方式给数据的主人造成危害。现今被黑客使用的一种更新的技术是物理地从用户的电脑中移除存储器模块(系统存储器、图片存储器或类似的),可能地冻结存储器模块来延迟包含在其中的信息的衰减。因为系统存储器的内容以未被加密的格式存储,黑客随后把盗来的存储器模块安装到另一台计算机中来读取它们的内容。


某些示例性的实施例在以下详细描述中并参考附图进行描述,其中图1是根据本发明的示例性实施例的计算机系统的框图。图2是根据本发明的示例性实施例的在图1中所示的计算机系统的存储器子系统的框图。图3是根据本发明的示例性实施例示出了在电子设备中安全地存储数据的方法的流程图。图4是根据本发明的示例性实施例示出了在电子设备中安全地存储数据的替代方法的流程图。
具体实施例方式图1是根据本发明的示例性实施例的计算机系统的框图。该计算机系统通常以参考标号100指代。本领域普通技术人员会意识到该计算机系统100可以包括包含电路的硬件元件、包含存储在机器可读媒介上的计算机码的软件元件或硬件和软件元件的组合。另外,示于图1的功能块仅是可在本发明的示例性实施例中实施的功能块的一个例子。本领域普通技术人员将能够容易地基于特定的计算机系统的设计考虑定义出具体的功能块。处理器102,比如中央处理单元或CPU,适于控制计算机系统100的总体运行。处理器102与存储器控制器104相连,存储器控制器104适于从系统存储器106读取数据和将数据写入系统存储器106。存储器控制器104可包括包含非易失性存储器区域和易失性存储器区域的存储器。正如将由本领域普通技术人员意识到的那样,系统存储器106可包括多个存储器
4模块。另外,系统存储器106可包括非易失性和易失性部分。系统基本输入-输出系统 (BIOS)可存储在系统存储器106的非易失性部分中。系统BIOS适于控制开动或启动过程以及控制计算机系统100的低级操作。处理器102和至少一个系统总线108相连以允许处理器102和其它系统设备之间的通信。系统总线可在标准协议下操作,比如外设组件互连(PCI)总线的变型或类似的。 在图1示出的示例性实施例中,系统总线108将一个或多个处理器102连接到硬盘驱动器 110、图形控制器112和至少一个输入设备114。硬盘驱动器110向计算机系统使用的数据提供非易失性存储。图形控制器112依次连接到显示设备116,显示设备116基于计算机系统100执行的活动将图像提供给用户。正如下面详细阐述的,本发明的示例性实施例适于通过提供计算机系统100中的部件之间的安全通信来防止数据偷窃。安全通信也包括存储器中信息的加密和存储以及信息的检索及信息解密。在下面详细描述的一个示例性实施例中,存储器控制器104适于提供与系统存储器106的安全加密的通信。但是本领域普通技术人员将意识到这里披露的技术可用于在计算机系统100中的几乎任何部件之间提供安全的通信。例如,处理器102和 /或存储器控制器104可适于与利用其它们有能力交换数据的任何设备进行安全地通信。 进一步,本发明的示例性实施例可提供安全的被加密数据,这些数据存储至并检索于硬盘 110、图形控制器112、处理器102或存储器控制器104,且可具有计算机系统内的多个存储器子系统(例如,对于图形存储器可有加密存储器子系统)。存储安全的被加密数据的存储器设备可包括高速缓冲存储器或适用于给定应用的任何其他存储器。图2是根据本发明的示例性实施例在图1中所示的计算机系统的存储器子系统的框图。存储器子系统通常以参考标号200指代。存储器子系统200包括存储器控制器104 和系统存储器106。系统存储器106可分为多个存储器区域,其可对应于存储器的不同用途或类型。在图2所示的本发明的典型实施例中,系统存储器包含第一存储器区域216和第二存储器区域218。额外的存储器区域也可存在,正如第η个存储器区域218所示。正如下所述,本发明的示例性实施例对于不同的存储器区域可采用不同的随机加密密钥和/或不同级别的加密。根据本发明的示例性实施例,数据的安全转移可在宽范围的情况下启动。例如,安全的通信路径可通过当计算机系统100重启或另外接收到系统复位时生成随机加密密钥来启动。安全通信可以通过当计算机系统100在休眠后恢复操作时产生随机加密密钥来启动,而不论是否需要计算机复位来恢复操作。相似地,当计算机系统100在待机状态后恢复操作时,可生成随机加密密钥。安全通信另外可通过强制系统存储器加密更新来启动,这可对数据正写入的存储器所有或一部分产生新的加密密钥。随机加密密钥还可基于日期和/ 或时间产生,例如在一天的具体时间或在预置的时间段已经终止后。在图2所示的示例性实施例中,产生随机加密密钥,并且其被传送至存储器控制器104。随机加密密钥可存储在加密密钥存储区域202中。加密密钥存储区域202可包括非易失性存储器区域或易失性存储器区域。加密密钥存储区域202可用于存储多个随机加密密钥。例如,加密密钥存储区域202可存储第一加密密钥204和第二加密密钥206。正如第η加密密钥208所指示的,更多的加密密钥可被存储。多个加密密钥的用途将在这里详细解释。
在本发明的一个示例性实施例中,加密密钥存储区域202包括只写/ 一次写寄存器,其可通过系统复位来复位。正如下面详细解释的,随机加密密钥用于加密被写入系统存储器106的数据。在本发明的一个示例性实施例中,存储器控制器104被包含在第一集成电路设备中且系统存储器106被包含在第二集成电路设备中。本领域普通技术人员将意识到加密密钥可用多种方法产生。例如,加密密钥可通过与计算机系统100相关联的管理引擎产生。管理引擎的一个例子包括htel 管理引擎, 它可从加利福尼亚州的圣克拉拉的英特尔公司得到。加密密钥另外可以基于和响应于用户输入产生,例如来自管理员的输入、系统管理命令或类似的。加密密钥可以由诸如处理器 102、存储器控制器104、可信平台模块(TPM)或类似的系统部件产生。另外,可以通过企业连接接收加密密钥。随机加密密钥可由系统BIOS产生,当计算机系统100被启动时,系统 BIOS执行各种初始化功能。在本发明的一个示例性实施例中,不使用可通过对计算机系统 100中的任何集成电路设备进行逆向设计而发现的数据来产生随机加密密钥。在本发明的一个示例性实施例中,多个随机加密密钥由存储器控制器104产生和有选择地使用来加密数据。所述多个随机加密密钥可例如由存储器控制器104产生。可替换地,所述多个随机加密密钥可由计算机系统100的另一部件,如系统BIOS提供。根据本发明的示例性实施例,系统存储器106的不同区域可用不同的随机加密密钥来加密。不同的加密密钥可用在系统存储器106中的每一页上。在其他示例性实施例中,多个加密密钥可用于存储器的每一页。对于不同的设备或不同类型的存储器,可使用不同的加密密钥。另外,不同的加密密钥可用在存储器的不同区域,取决于存储器的区域如何被使用。例如,存储器的OS区域可用相对于存储器的非OS程序区域和存储器的用户数据区域的不同的随机加密密钥来加密。可对高速缓冲存储器使用相对于系统存储器不同的加密密钥,且可对易失性存储器采用相对于非易失性存储器不同的加密密钥。在不同的操作模式期间,可使用不同的随机加密密钥。使用多个随机加密密钥使得黑客难以使用数字产生器来识别所有用于加密系统存储器106内容的随机加密密钥。在图2所示的本发明的示例性实施例中,存储器控制器104的加密块210使用当前的随机加密密钥来加密所有被写于系统存储器106的数据。在被传递到加密块204之前, 数据可被缓冲至写缓冲器212中。本领域普通技术人员将意识到任何合适的加密方法可用来加密数据,取决于系统设计考虑。此外,相对简单快速的加密方法如XOR方法可用来最小化对系统性能的影响。更鲁棒的加密方法论可用来使解码数据对于黑客更难。本领域普通技术人员将意识到更强级别的加密会降低系统性能,却具有使黑客更难以解码数据的优势。可根据一些因素选择不同的加密级别,比如系统的操作模式(起动模式、配置模式、建立时间模式、企业和/或系统管理模式、正常操作模式或类似的)。另外,根据用户(例如用户是否有管理特权)使用不同级别的加密。加密级别可依据用户和/或在系统上用户的权限而变化。例如,如果用户在系统上有管理员权限,可使用更加安全的加密级别。另外,对于存储器的不同区域或不同类型的存储器可使用可变的加密级别。此外,本领域的普通技术人员将意识到加密块210 使用的具体加密算法不是本发明的本质特征。在本发明的一个示例性实施例中,加密块210可使用简单加密算法比如XOR算法来最小化对存储器子系统200吞吐量的影响。示例性XOR算法包括使用写入系统存储器的数据和随机加密密钥执行XOR运算。以下的例子说明本发明的示例性实施例如何向存储在系统存储器中的数据提供增强的安全性。假设数据元素A和B在使用随机加密密钥R进行 XOR加密后将要写入系统存储器中。这个过程可用以下方程式描述A R = CB R = D其中C是A的加密版本且D是B的加密版本。加密数据C和D被存储在系统存储器中,而不是A或B本身。经过一些数学操作,可得到以下结果C D = A B因此,博学的黑客可能能够处理来自盗来的存储器模块的数据来重新构建某一 A、 B的结合。但是在没有访问随机加密密钥R的情况下得到A和B本身仍然是极其困难的。 本发明的示例性实施例的使用极大地增加了从系统存储器中未授权地恢复数据的难度。当被加密的数据从系统存储器106中读出时,被加密的数据由存储器控制器104 内的解密块214解密。解密块214利用用于由加密块210执行数据加密的随机加密密钥执行解密。解密的数据可然后被提供给处理器102。本发明的示例性实施例通过只写入被加密数据到系统存储器106来提供增强的数据安全性。如果加密密钥存储区域202包括易失性存储器,则本发明的示例性实施例减少了黑客或其他潜在数据偷窃者能够恢复加密密钥并获取访问用特定的随机加密密钥加密并随后存储在系统存储器106中的数据的风险。存储器控制器104不能被逆向设计或“拆卸(strip)”以确定密钥,因为一旦移除存储器控制器的电源,密钥的数值将不存在于加密密钥存储区域202中。即使存储在系统存储器中的数据以某种方式,例如通过冻结包含系统存储器等的存储器模块被保存,这也将阻止对使用特别的随机加密密钥加密的数据的访问。图3是根据本发明的示例性实施例示出操作如系统存储器106(图1)的受保护系统存储器的方法的流程图。该方法通常以参考标号300指代。在块302中,本方法开始。在块304中,生成了多个随机加密密钥。如块306所示,这多个随机加密密钥被存储在如计算机系统100(图1)的电子设备的第一组件中。如块308所示,对于电子设备的第二组件的多个存储器区域的每一个,使用多个随机加密密钥的一个不同的密钥来加密数据。如块310所示,被加密的数据被转移到电子设备的第二组件的存储器中。在块312中,该方法终止。图4是根据本发明的示例性实施例示出一种在电子设备中安全存储数据的替代方法的流程图。该方法通常地以参考标号400指代。在块402中,该方法开始。在块404中,产生至少一个随机加密密钥。如块406所示,该至少一个随机加密密钥被存储在电子设备的第一组件的存储器区域中。在块408中,利用该至少一个随机加密密钥在多个不同加密级别上加密数据。如块410所示,被加密的数据被转移到电子设备的第二组件的存储器。在块412中,该方法终止。本发明的示例性实施例提供了在存储器控制器和由例如多个存储器模块组成的系统存储器之间安全的通信方法。这个示例性实施例使系统存储器免遭大范围的黑客攻击。特别地,本发明的示例性实施例适于保护系统存储器免遭物理攻击和启动攻击。此外,可以使用标准存储器组件和模块。当引入新一代存储器技术时,不需要额外的努力。本发明的示例性实施例在没有显著地影响系统性能和没有影响操作系统和软件应用性能的情况下提供系统存储器安全性。最后,本发明的示例性实施例可在对整个系统成本和复杂性影响最小的情况下实施。
权利要求
1.一种在电子设备中安全地存储数据的方法,该方法包括产生多个随机加密密钥;在该电子设备的第一组件的存储器区域中存储所述多个随机加密密钥对于该电子设备的第二组件的存储器的多个区域中的每一个使用所述多个随机加密密钥中的一个不同的密钥来加密数据;以及转移被加密的数据到该电子设备的第二组件的存储器。
2.如权利要求1所述的方法,其中该电子设备的第二组件的存储器的多个区域中的每一个对应存储器页。
3.如权利要求1所述的方法,其中该电子设备的第二组件的存储器的多个区域中的每一个对应特定类型的存储器。
4.如权利要求3所述的方法,其中该电子设备的第二组件的存储器的多个区域中的至少一个对应存储器的高速缓存区域、存储器的非易失性区域或存储器的易失性区域。
5.如权利要求1所述的方法,其中该电子设备的第二组件的存储器的多个区域中的至少一个对应存储器的操作系统区、存储器的非操作系统程序区或存储器的用户数据区。
6.如权利要求1所述的方法,包括从该电子设备的第二组件读取被加密的数据;以及使用用来加密数据的多个随机加密密钥的其中一个密钥来解密从该电子设备的第二组件读取的被加密的数据。
7.如权利要求1-6中任意一个所述的方法,其中多个随机加密密钥中的至少一个是响应于用户输入,当该电子设备被启动时,当该电子设备从休眠或暂停状态恢复操作时,当该电子设备的系统复位发生时,在一天中的特定时间或在预置时间段终止后,由该电子设备的基本输入/输出系统(BIOS)、由该电子设备的处理器、由该电子设备的存储器控制器、由该电子设备的可信平台模块(TPM)产生。
8.一种在电子设备中安全地存储数据的方法,该方法包括产生至少一个随机加密密钥;在该电子设备的第一组件的存储器区域中存储所述至少一个随机加密密钥;使用所述至少一个随机加密密钥在多个不同加密级别上加密数据;以及转移被加密的数据到该电子设备的第二组件的存储器中。
9.如权利要求8所述的方法,其中第二组件的存储器包括多个存储器类型,并且其中取决于其中被加密的数据将被存储的第二组件的存储器的类型使用多个不同加密级别中的一个不同的加密级别。
10.如权利要求9所述的方法,其中多个存储器类型的第一类型包括存储器的缓存区域、存储器的非易失性区域或存储器的易失性区域。
11.如权利要求8所述的方法,包括从该电子设备的第二组件读取被加密的数据;以及使用用来加密数据的多个不同加密级别的其中之一解密从该电子设备的第二组件读取的被加密的数据。
12.如权利要求8所述的方法,其中取决于该电子设备的模式使用该多个不同加密级别的一个不同加密级别。
13.如权利要求8所述的方法,其中该多个不同加密级别中的第一级别包括XOR加密。
14.如权利要求8-13任意一个所述的方法,其中至少一个随机加密密钥是响应于用户输入,当该电子设备被启动时,当该电子设备从休眠或暂停状态恢复操作时,当该电子设备的系统复位发生时,在一天中的特定时间或在预置时间段终止后,由该电子设备的基本输入/输出系统(BIOS)、由该电子设备的处理器、由该电子设备的存储器控制器、由该电子设备的可信平台模块(TPM)产生。
15.一种计算机系统,包括适于存储计算机系统使用的数据的硬盘;适于读取存储在该硬盘上的数据的处理器;以及第一组件,适于接收多个随机加密密钥、在存储器区域中存储所述多个随机加密密钥、 对于该计算机系统的第二组件的存储器的多个区域的每一个使用该多个加密密钥中的一个不同的密钥来加密数据、使用该多个随机加密密钥中至少一个在多个不同加密级别上加密数据、并且转移被加密的数据到该计算机系统的第二组件的存储器。
全文摘要
这里提供了一种在电子设备中安全地存储和检索信息的增强方法。该方法包括产生多个随机加密密钥并在该电子设备的第一组件的存储器区域中存储所述多个随机加密密钥。该方法还可包括对于该电子设备的第二组件的存储器的多个区域的每一个使用所述多个随机加密密钥的一个不同的密钥来加密数据。该方法还可包括转移被加密的数据到该电子设备的第二组件的存储器。
文档编号G06F12/14GK102362280SQ200980158342
公开日2012年2月22日 申请日期2009年3月23日 优先权日2009年3月23日
发明者C·A·沃尔拉思 申请人:惠普开发有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1