CN102150391A - 用于提供对系统存储器的安全访问的系统和方法 - Google Patents

用于提供对系统存储器的安全访问的系统和方法 Download PDF

Info

Publication number
CN102150391A
CN102150391A CN2008801291007A CN200880129100A CN102150391A CN 102150391 A CN102150391 A CN 102150391A CN 2008801291007 A CN2008801291007 A CN 2008801291007A CN 200880129100 A CN200880129100 A CN 200880129100A CN 102150391 A CN102150391 A CN 102150391A
Authority
CN
China
Prior art keywords
data
encryption key
random encryption
memory controller
computer system
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
Application number
CN2008801291007A
Other languages
English (en)
Inventor
W·G·弗里
V·Y·阿利
曼努埃尔·诺沃亚
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.)
Hewlett Packard Development Co LP
Original Assignee
Hewlett Packard Development Co LP
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 Hewlett Packard Development Co LP filed Critical Hewlett Packard Development Co LP
Publication of CN102150391A publication Critical patent/CN102150391A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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

Abstract

提供了一种提供对存储于计算机系统的系统存储器中的数据的安全访问的方法,该计算机系统包括用于向系统存储器写入数据和从系统存储器读取数据的存储器控制器。该方法包括每当引导计算机系统时生成随机加密密钥并且在存储器控制器的易失性存储器区中存储随机加密密钥。该方法还包括使用随机加密密钥对数据进行加密以创建加密数据并且在系统存储器中存储加密数据。也提供一种用于执行该方法的存储器子系统和计算机系统。

Description

用于提供对系统存储器的安全访问的系统和方法
背景技术
在典型的计算机系统中,其中使用系统存储器作为安全密钥和证书的暂时储存器。近年来,黑客已经开始尝试通过从用户的计算机物理地移除存储器模块、可能地冻结存储器模块以延迟其中所含数据的毁坏来获得对安全数据的非法访问。黑客随后将窃取的存储器模块安装到另一计算机中以读取它们的内容。以这样的方式,黑客可以能够取回存储器模块中存储的安全密钥和证书并且使用窃取的信息以获得对用户的敏感数据的未授权访问。
附图说明
在下文详细描述中参照附图描述某些示例实施例,在附图中:
图1是根据本发明一个示例实施例的计算机系统的框图;
图2是根据本发明一个示例实施例的图1中所示计算机系统的存储器子系统的框图;并且
图3是示出根据本发明一个示例实施例的操作受保护的系统存储器的方法的流程图。
具体实施方式
图1是根据本发明一个示例实施例的计算机系统的框图。计算机系统大体上由标号100表示。本领域普通技术人员将理解计算机系统100可以包括硬件单元(包括电路)、软件单元(包括存储于机器可读介质上的计算机代码)或者硬件和软件单元的组合。此外,图1中所示功能块仅是可以在本发明的一个示例实施例中实施的功能块的一个例子。本领域普通技术人员将容易能够基于针对特定计算机系统的设计考虑来限定具体功能块。
处理器102(如中央处理单元或者CPU)适合于控制计算机系统100的整体操作。处理器102连接到适合于从系统存储器106读取数据和向系统存储器106写入数据的存储器控制器104。存储器控制器104可以包括如下存储器,该存储器包括非易失性存储器区和易失性存储器区。如下文详细阐述的那样,本发明的一个示例实施例适合于通过提供在存储器控制器104与系统存储器106之间的安全通信来防止数据窃取。
系统存储器106可以包括多个存储器模块,如本领域普通技术人员将理解的。此外,系统存储器106可以包括非易失性和易失性部分。系统基本输入-输出系统(BIOS)可以存储于系统存储器106的非易失性部分中。系统BIOS适合于控制启动或者引导过程并且控制计算机系统100的低级操作。
处理器102连接到至少一个系统总线108以允许在处理器102与其它系统设备之间的通信。系统总线可以在诸如外围部件互连(PCI)总线的变型等标准协议下操作。在图1中所示示例实施例中,系统总线108将处理器102连接到硬盘驱动器110、图形控制器112和至少一个输入设备114。硬盘驱动器110为计算机系统所用的数据提供非易失性存储。图形控制器112又连接到显示设备116,该显示设备基于由计算机系统100进行的活动来向用户提供图像。
图2是根据本发明一个示例实施例的图1中所示计算机系统的存储器子系统的框图。存储器子系统大体上由标号200表示。存储器子系统200包括存储器控制器104和系统存储器106。
当计算机系统100被引导或者以别的方式接收到系统复位时,存储器控制器106接收存储在易失性存储器区202中的随机加密密钥。在本发明的一个示例实施例中,易失性存储器区202包括经由系统复位来复位的只写/一次性写入寄存器。随机加密密钥可以由系统BIOS生成,该系统BIOS在计算机系统被引导时执行各种初始化功能。如下文详细说明的那样,随机加密密钥用来加密向系统存储器106写入的数据。
在本发明的一个示例实施例中,后续随机加密密钥由存储器控制器104选择性地用来加密数据。后续随机加密密钥可以例如由存储器控制器104生成。可选地,后续随机加密密钥可以由计算机系统100的另一部件如系统BIOS提供。如果使用后续随机加密密钥,则系统存储器106的不同区域将用不同的随机加密密钥进行加密。多个随机加密密钥的使用使得黑客难以使用数字生成器来标识用来对系统存储器106的内容进行加密的所有随机加密密钥。
存储器控制器104的加密块204使用当前随机加密密钥对向系统存储器106写入的所有数据进行加密。在本发明的一个示例实施例中,简单加密算法如XOR算法可以由加密块204使用以最小化对存储器子系统200的吞吐量的影响。示例XOR算法包括使用向系统存储器写入的数据和随机加密密钥执行XOR操作。以下例子说明本发明的一个示例实施例如何针对存储于系统存储器中的数据提供增强的安全性。假设数据元A和B在已经使用随机加密密钥R进行XOR加密之后要写入到系统存储器。可以使用以下等式来描述这一过程:
A ⊕ R = C
B ⊕ R = D
其中C是A的加密版本且D是B的加密版本。加密数据C和D存储于系统存储器中,而不是A或者B本身被存储。利用一些数学操纵,获得以下结果:
C ⊕ D = A ⊕ B
因此,知识渊博的黑客可能能够操纵来自窃取的存储器模块的数据以重建A和B的某种聚集(conglomeration)。然而,在不能访问随机加密密钥R的情况下获得A和B本身仍然非常困难。本发明示例实施例的使用显著增加了对来自系统存储器的数据进行未授权恢复的难度。
本领域普通技术人员将理解除了对随机加密密钥与将向系统存储器写入的数据进行XOR之外的加密算法也可以用来对向系统存储器106写入的数据进行加密。另外,加密块204运用的具体加密算法并非本发明的基本特征。
当从系统存储器106读取加密数据时,它由存储器控制器104内的解密块208解密。解密块208使用曾由加密块204用来执行数据加密的随机加密密钥来执行解密。然后可以向处理器102提供解密数据。本发明的一个示例实施例通过向系统存储器106仅写入加密数据来提供增强的数据安全。
通过在存储器控制器104内的易失性存储器区中存储随机加密密钥,本发明的一个示例实施例减小了如下风险:黑客或者其他潜在数据窃取者将能够恢复加密密钥并且获得对用特定随机加密密钥加密并且随后存储于系统存储器106中的数据的访问。不能反工程设计或者“剥离”存储器控制器104以确定密钥,因为密钥的值在存储器控制器断电后不会存在于非易失性存储区202中。即使以某种方式(例如通过冻结构成系统存储器的存储器模块等)保存了系统存储器中存储的数据,这仍然将防止对已经使用特定随机加密密钥加密的数据的访问。
图3是示出了根据本发明一个示例实施例的操作受保护的系统存储器如系统存储器106(图1)的方法的流程图。该方法大体上由标号300表示。该过程始于块302。
在块304,每当引导计算机系统如计算机系统100(图1)时生成随机加密密钥。如在块306所示,在存储器控制器(如存储器控制器104(图1))的易失性存储器区中存储随机加密密钥。
如在块308所示,使用随机加密密钥对数据进行加密。如在块310所示,在系统存储器中存储加密数据。在块312,该过程结束。
本发明的一个示例实施例提供一种在存储器控制器与例如包括多个存储器模块的系统存储器之间的安全通信方法。这样的示例实施例保护系统存储器免受各种各样的黑客攻击。具体而言,本发明的一个示例实施例适合于保护系统存储器免受物理攻击和引导攻击。另外,可以使用标准存储器部件和模块。当引入新一代存储器技术时无需附加工作。本发明的一个示例实施例提供系统存储器安全而不明显影响系统性能并且不影响操作系统和软件应用性能。最后,可以在对总系统成本和复杂度的影响最小的情况下实施本发明的示例实施例。

Claims (20)

1.一种提供对存储于计算机系统的系统存储器中的数据的安全访问的方法,所述计算机系统包括用于向所述系统存储器写入数据和从所述系统存储器读取数据的存储器控制器,所述方法包括:
每当引导所述计算机系统时生成随机加密密钥;
在所述存储器控制器的易失性存储器区中存储所述随机加密密钥;
使用所述随机加密密钥对数据进行加密以创建加密数据;并且
在所述系统存储器中存储所述加密数据。
2.如权利要求1所述的方法,包括:
从所述系统存储器读取所述加密数据;并且
使用所述随机加密密钥对所述加密数据进行解密。
3.如权利要求1所述的方法,其中所述存储器控制器的所述易失性存储器区包括只写/一次性写入寄存器。
4.如权利要求1所述的方法,包括在执行系统复位时复位所述存储器控制器的所述易失性存储器区。
5.如权利要求1所述的方法,其中对所述数据进行加密包括使用所述数据和所述随机加密密钥来执行XOR运算。
6.如权利要求1所述的方法,其中每当引导所述计算机系统时由系统基本输入-输出系统(BIOS)生成所述随机加密密钥。
7.如权利要求1所述的方法,包括:
生成至少一个后续随机加密密钥;并且
使用所述至少一个后续随机加密密钥对数据进行加密。
8.一种计算机系统的存储器子系统,所述存储器子系统包括:
存储器控制器,其适合于:每当所述计算机系统被引导时接收随机加密密钥、在所述存储器控制器中的易失性存储器区中存储所述随机加密密钥、使用所述随机加密密钥对数据进行加密并且在系统存储器中存储加密数据。
9.如权利要求8所述的存储器子系统,其中所述存储器控制器适合于从所述系统存储器读取所述加密数据并且使用所述随机加密密钥对所述加密数据进行解密。
10.如权利要求8所述的存储器子系统,其中所述存储器控制器的所述易失性存储器区包括只写/一次性写入寄存器。
11.如权利要求8所述的存储器子系统,其中在执行系统复位时复位所述存储器控制器的所述易失性存储器区。
12.如权利要求8所述的存储器子系统,其中所述存储器控制器适合于通过使用所述数据和所述随机加密密钥执行XOR运算对所述数据进行加密。
13.如权利要求8所述的存储器子系统,包括:系统基本输入-输出系统(BIOS),其适合于每当所述计算机系统被引导时生成所述随机加密密钥。
14.如权利要求8所述的存储器子系统,其中所述存储器控制器适合于使用至少一个后续随机加密密钥对数据进行加密。
15.一种计算机系统,包括:
硬盘,其适合于存储供所述计算机系统使用的数据;
处理器,其适合于读取所述硬盘上存储的数据;
存储器控制器,其适合于:每当所述计算机系统被引导时接收随机加密密钥、在所述存储器控制器中的易失性存储器区中存储所述随机加密密钥、从所述处理器接收数据、使用所述随机加密密钥对所述数据进行加密并且在系统存储器中存储加密数据;以及
系统存储器,其适合于存储从所述存储器控制器接收的加密数据。
16.如权利要求15所述的计算机系统,其中所述存储器控制器适合于从所述系统存储器读取所述加密数据并且使用所述随机加密密钥对所述加密数据进行解密。
17.如权利要求15所述的计算机系统,其中所述存储器控制器的所述易失性存储器区包括只写/一次性写入寄存器。
18.如权利要求15所述的计算机系统,其中在执行系统复位时复位所述存储器控制器的所述易失性存储器区。
19.如权利要求15所述的计算机系统,其中所述存储器控制器适合于通过使用所述数据和所述随机加密密钥执行XOR运算对所述数据进行加密。
20.如权利要求15所述的计算机系统,包括:系统基本输入-输出系统(BIOS),其适合于每当所述计算机系统被引导时生成所述随机加密密钥。
CN2008801291007A 2008-05-09 2008-05-09 用于提供对系统存储器的安全访问的系统和方法 Pending CN102150391A (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2008/063280 WO2009136944A1 (en) 2008-05-09 2008-05-09 System and method for providing secure access to system memory

Publications (1)

Publication Number Publication Date
CN102150391A true CN102150391A (zh) 2011-08-10

Family

ID=41264845

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2008801291007A Pending CN102150391A (zh) 2008-05-09 2008-05-09 用于提供对系统存储器的安全访问的系统和方法

Country Status (6)

Country Link
US (1) US9251358B2 (zh)
CN (1) CN102150391A (zh)
DE (1) DE112008003855B4 (zh)
GB (1) GB2471630B8 (zh)
TW (1) TW200947202A (zh)
WO (1) WO2009136944A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104704504A (zh) * 2012-09-26 2015-06-10 净睿存储股份有限公司 生成加密密钥的多驱动器协作
US10623386B1 (en) 2012-09-26 2020-04-14 Pure Storage, Inc. Secret sharing data protection in a storage system
US11032259B1 (en) 2012-09-26 2021-06-08 Pure Storage, Inc. Data protection in a storage system

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9298894B2 (en) * 2009-06-26 2016-03-29 International Business Machines Corporation Cache structure for a computer system providing support for secure objects
US8954752B2 (en) 2011-02-23 2015-02-10 International Business Machines Corporation Building and distributing secure object software
US9846789B2 (en) 2011-09-06 2017-12-19 International Business Machines Corporation Protecting application programs from malicious software or malware
US9954875B2 (en) 2009-06-26 2018-04-24 International Business Machines Corporation Protecting from unintentional malware download
US8819446B2 (en) 2009-06-26 2014-08-26 International Business Machines Corporation Support for secure objects in a computer system
US8578175B2 (en) * 2011-02-23 2013-11-05 International Business Machines Corporation Secure object having protected region, integrity tree, and unprotected region
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
US9864853B2 (en) 2011-02-23 2018-01-09 International Business Machines Corporation Enhanced security mechanism for authentication of users of a system
KR101857791B1 (ko) 2011-08-30 2018-05-16 삼성전자주식회사 컴퓨팅 시스템, 및 상기 컴퓨팅 시스템을 동작하기 위한 방법
US9856781B2 (en) 2011-09-30 2018-01-02 Eaton Corporation Supercharger assembly with independent superchargers and motor/generator
US9223965B2 (en) 2013-12-10 2015-12-29 International Business Machines Corporation Secure generation and management of a virtual card on a mobile device
US9235692B2 (en) 2013-12-13 2016-01-12 International Business Machines Corporation Secure application debugging
US9367690B2 (en) * 2014-07-01 2016-06-14 Moxa Inc. Encryption and decryption methods applied on operating system
US10992453B2 (en) * 2016-05-18 2021-04-27 International Business Machines Corporation System architecture for encrypting external memory

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7069445B2 (en) * 2001-11-30 2006-06-27 Lenovo (Singapore) Pte. Ltd System and method for migration of a version of a bootable program
CN101006407A (zh) * 2004-03-19 2007-07-25 诺基亚有限公司 安全模式控制的存储器
US7313705B2 (en) * 2002-01-22 2007-12-25 Texas Instrument Incorporated Implementation of a secure computing environment by using a secure bootloader, shadow memory, and protected memory
US20080077807A1 (en) * 2004-10-23 2008-03-27 Qinetiq Limited Computer Hard Disk Security

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7330970B1 (en) * 1999-07-13 2008-02-12 Microsoft Corporation Methods and systems for protecting information in paging operating systems
US20070101158A1 (en) * 2005-10-28 2007-05-03 Elliott Robert C Security region in a non-volatile memory

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7069445B2 (en) * 2001-11-30 2006-06-27 Lenovo (Singapore) Pte. Ltd System and method for migration of a version of a bootable program
US7313705B2 (en) * 2002-01-22 2007-12-25 Texas Instrument Incorporated Implementation of a secure computing environment by using a secure bootloader, shadow memory, and protected memory
CN101006407A (zh) * 2004-03-19 2007-07-25 诺基亚有限公司 安全模式控制的存储器
US20080077807A1 (en) * 2004-10-23 2008-03-27 Qinetiq Limited Computer Hard Disk Security

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104704504A (zh) * 2012-09-26 2015-06-10 净睿存储股份有限公司 生成加密密钥的多驱动器协作
US10284367B1 (en) 2012-09-26 2019-05-07 Pure Storage, Inc. Encrypting data in a storage system using a plurality of encryption keys
US10623386B1 (en) 2012-09-26 2020-04-14 Pure Storage, Inc. Secret sharing data protection in a storage system
CN104704504B (zh) * 2012-09-26 2020-09-29 净睿存储股份有限公司 生成加密密钥的多驱动器协作
US11032259B1 (en) 2012-09-26 2021-06-08 Pure Storage, Inc. Data protection in a storage system
US11924183B2 (en) 2012-09-26 2024-03-05 Pure Storage, Inc. Encrypting data in a non-volatile memory express (‘NVMe’) storage device

Also Published As

Publication number Publication date
US20110064217A1 (en) 2011-03-17
GB2471630A (en) 2011-01-05
GB201018909D0 (en) 2010-12-22
GB2471630B8 (en) 2013-10-23
TW200947202A (en) 2009-11-16
WO2009136944A1 (en) 2009-11-12
GB2471630A8 (en) 2013-10-23
DE112008003855T5 (de) 2011-04-07
GB2471630B (en) 2012-12-26
DE112008003855B4 (de) 2013-09-05
US9251358B2 (en) 2016-02-02

Similar Documents

Publication Publication Date Title
CN102150391A (zh) 用于提供对系统存储器的安全访问的系统和方法
US8839000B2 (en) System and method for securely storing data in an electronic device
US10516533B2 (en) Password triggered trusted encryption key deletion
Altuwaijri et al. Android data storage security: A review
Sparks A security assessment of trusted platform modules
US20070101158A1 (en) Security region in a non-volatile memory
US20080072071A1 (en) Hard disc streaming cryptographic operations with embedded authentication
US7818567B2 (en) Method for protecting security accounts manager (SAM) files within windows operating systems
KR20130093565A (ko) 보안-강화 컴퓨터 시스템 및 방법
KR20140019599A (ko) 데이터의 안전한 저장을 위한 키 관리 방법 및 그 장치
CN102549594A (zh) 临时秘密的安全存储
RU2353969C2 (ru) Способ и устройство для привязки памяти компьютера к системной плате
WO2005088461A1 (en) Method and device for protecting data stored in a computing device
CN111177773A (zh) 一种基于网卡rom的全盘加解密方法及系统
JP4724107B2 (ja) リムーバブル・デバイスを用いたユーザの認証方法およびコンピュータ
CN107563226B (zh) 一种存储器控制器、处理器模块及密钥更新方法
Choudary et al. Infiltrate the vault: Security analysis and decryption of lion full disk encryption
Gelbart et al. CODESSEAL: Compiler/FPGA approach to secure applications
JP4767129B2 (ja) Os切替装置及びos切替方法
US11115210B2 (en) Systems and methods for masking RSA operations
Loftus et al. Android 7 file based encryption and the attacks against it
Dorrendorf Protecting drive encryption systems against memory attacks
US20080285748A1 (en) Method for generating secret key in computer device and obtaining the encrypting and decrypting key
CN103870769A (zh) 一种对磁盘进行保护的方法及系统
Kim et al. hTPM: Hybrid implementation of trusted platform module

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C12 Rejection of a patent application after its publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20110810