TW200947202A - System and method for providing secure access to system memory - Google Patents

System and method for providing secure access to system memory Download PDF

Info

Publication number
TW200947202A
TW200947202A TW098112475A TW98112475A TW200947202A TW 200947202 A TW200947202 A TW 200947202A TW 098112475 A TW098112475 A TW 098112475A TW 98112475 A TW98112475 A TW 98112475A TW 200947202 A TW200947202 A TW 200947202A
Authority
TW
Taiwan
Prior art keywords
memory
data
encryption key
encrypted
random encryption
Prior art date
Application number
TW098112475A
Other languages
English (en)
Inventor
Walter G Fry
Valiuddin Y Ali
Manuel Novoa
Original Assignee
Hewlett Packard Development Co
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 filed Critical Hewlett Packard Development Co
Publication of TW200947202A publication Critical patent/TW200947202A/zh

Links

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

Description

200947202 六、發明說明: 【發明戶斤屬之技術領域3 本發明係有關於提供安全存取系統記憶體之系統與方 法。 5 【先前技術】 發明背景 【0001】在一典型的電腦系統中,系統記憶體除其他 以外還使用作為供安全金鑰及證書使用的臨時儲存體。最 ® 近,駭客已經開始試圖透過從一使用者電腦中實體地移除 10 記憶體模組來獲得非法存取安全資料,可能地,凍結該記 憶體模組以延遲其内包含的資料之衰減。該駭客隨後把該 等偷得的記憶體模組安裝到另一電腦内以讀取其等内容。 以這種方式,駭客們可能能夠擷取儲存在該等記憶體模組 内的該等安全金鑰及證書,并使用偷得的資訊獲得未經授 15 權存取該使用者之敏感資料。 【發明内容】 翁 依據本發明之一實施例,係特地提出一種提供安全存 取儲存在一電腦系統之一系統記憶體内的資料的方法,該 電腦系統包含一用於將資料寫入到該系統記憶體及從該系 20 統記憶體讀取資料的記憶體控制器,該方法包含以下步 驟:每次當該電腦系統遭啟動時產生一隨機加密金鑰;儲 存該隨機加密金鑰到該記憶體控制器之一依電性記憶體區 域中;使用該隨機加密金鑰加密資料以產生已加密的資 料;及儲存該已加密的資料在該系統記憶體内。 3 200947202 圖式簡單說明 【0002】 卜面的詳細說明中將參考圖式說明某4b矛 範性的實施例,其中. 〜不 【0003】第11$1 β 5 15 圚疋根據本發明的一示範性實施例之—蕾 腦系統之方塊圖; 電 _ 第2圖是根據本發明的一示範性實施例之第j 圖所『鵰系統之-記憶體子系統之方塊圖;及 第3圖是根據本發明的一示範性實施例之〜涔 程圖,顯示一種& 你作一受保護系統記憶體的方法。 【實施冷我】 較佳實施例之詳細說明 【0006】第]a θ , t _疋根據本發明的一示範性實施例之〜電 腦系統之方塊圖。該電腦系統大體上參照參考數字刚。讀 技右中具有通常知識者將瞭解,該電腦系統100可包含硬趙 凡件(包括電路)、軟體元件(包括儲存在-機器可讀媒體上 的電腦程式碼)或硬體與軟體二者之組合。另外,在第1圖 中顯不的功能塊只是可在本發明的—示範性的實施例中遭 實施的功能塊的-個例子。該技藝中具有通常知識者基於斜 對一特定電腦系統的設計考慮將立即能夠定義特定的功能 塊。 【0007】諸如一中央處理單元或cpu之一處理器1〇2適 於控制電腦系統100之總操作。該處理器1〇2連接到一記憶 體控制器104,其適於從一系統記憶體1〇6讀資料及寫資料 到該系統記憶體106中。該記憶體控制器1〇4可包含包括一 20 200947202 非依電性記憶體區域及一依電性記憶體區域的記憶體。如 下面將提出的,本發明之一示範性實施例適於透過提供該 s己憶體控制器104與該系統§己憶體1〇6之間的安全通信來阻 止資料被盜。 5 【0008】如該技藝中具有通常知識者將瞭解的,該系 統記憶體106可由多個記憶體模組組成。另外,該系統記憶 體106可包含非依電性及依電性部份。一系統基本輸入_輸 出系統(BIOS)可儲存在該系統記憶體1〇6之非依電性部 份。該系統BIOS適於控制一起動(start_up)或啟動(b〇〇t)程序 10 及控制該電腦系統100之低階操作。 【0009】該處理器102連接到至少一個系統匯流排1〇8 以允許該處理器102與其它系統裝置之間的通信。該系統匯 流排可依據一諸如週邊構件互連(PCI)匯流排之一變化或與 此類似的標準協定來操作。在第1圖所示的示範性實施例 15 中’該系統匯流排1〇8把處理器1〇2連接到一硬碟機11〇、一 圖开》控制器112及至少一個輸入裝置114。該硬碟機no給該 電腦系統使用的資料提供非依電性儲存器。該圖形控制器 112接著連接到一顯示裝置116,該顯示裝置U6基於電腦系 統100執行的活動給一使用者提供一圖像。 20 【〇〇1〇】第2圖是根據本發明的一示範性實施例之第1 圖所示之該電腦系統之一記憶體子系統之方塊圖。該記憶 體子系統大體上參照參考數字200。該記憶體子系統200包 含記憶體控制器104及系統記憶體1〇6。 【〇〇11】當該電腦系統100遭啟動或者接收到一系統重 5 200947202 置時’該記憶體控制器刚接收―儲存在—依電性記憶體區 域202中的隨機加密金錄。在本發明的-示範性實施例中, 該依電性記憶體區域202包含一經由系統重置而遭重置的 唯寫/單寫暫存器。該隨機加密金鑰可由-系統BIOS產生, 5該系統BIOS當該電腦系統遭啟動時執行各種初始化功能。 如下面詳細說明的,該隨機加密金輪用於加密寫到系統記 憶體106中的資料。 【0012】在本發明的一示範性實施例中,後續的隨機 加密金鑰由該記憶體控制器104有選擇地使用來加密資 1〇料該等後續的隨機加密金鑰可由例如該記憶體控制器綱 產生另外,該等後續的隨機加密金鑰可由該電腦系統1〇〇 之^ 一構件(諸如該系統BIOS)提供。如果使用後續的隨機 加密金錄,該系統記憶體1〇6的不同區域可用不同的隨機加 密金鑰來加密。多重隨機加密金鑰的使用使得一駭客難以 用數目產生器來識別所有的用來加密該系統記憶體1〇6 之内容的該等隨機加密金鑰。 【0013】該記憶體控制器104之一加密區塊2〇4使用該 、隨機加费金錄來加畨所有的寫到該系統記憶體106 中的資料在本發明的一示範性實施例中,加密區塊204可 20使用諸如—互斥或(x〇R)演算法之一簡單的加密演算法以 使對該記憶體子系統2〇0之通量的影響最小化。一示範性的 XOR演算法包含:使用寫到线記憶體的該資料與該隨機 加^金瑜錢行-XQR操作。下面的例子説明本發明之-示範丨生的實知例是如何為儲存在系統記憶體中的資料提供 200947202 - 增強的安全保護的。假設資料元件A和B將在經使用一隨機 加密金鑰R遭XOR加密後被寫到系統記憶體中。這個裎序可 用下面的等式來說明:
A ④ R=C B ㊉ R=D 其中C是A經加密的版本及D是B經加密的版本^冬該已 加密的資料C及D儲存在系統記憶體中而非a及b本身。使用 一些數學處理,得到下面的結果:
10
20
C④D=A㊉B 這樣’一博學的駭客可能能夠巧妙地處理來自—偷得 的記憶體模組中的資料以再生A和B的一些聚集。然而, 無法存取該隨機加密金錄R的情況下仍是極難得到八和B本 身的。使用本發明之一示範性的實施例明顯提高了未經授 權恢復來自系統記憶體中之資料的難度。 【0014】該技藝中具有通常知識者將瞭解,除將—隨機 加密金鑰與要被寫入系統記憶體之資料進行x〇Rw外的加 密演算法可被用來加密寫到該系統記憶體1〇6中的資料。而 且,由該加密區塊204使用的該特定的加密演算法并非本發 明之一實質特徵。 【0015】當從系統記憶體1〇6中讀取已加密的資料時, 由一在該記憶體控制器104内的解密區塊208來解密。該解 密區塊208使用由該加密區塊204執行對該資料的加密的該 隨機加後金输來執行解密。接著可將該已解密之資料提供 給該處理器102。本發明之一示範性的實施例透過僅將已加 7 200947202 密之資料寫入該系統記憶體106來提供增強的資料安全保護。 【0016】透過把該隨機加密金鑰儲存到該記憶體控制 器104内的一依電性記憶體區域中,本發明之一示範性的實 施例減少了一骇客或其他潛在資料盜賊可能有能力恢復該 5 加密金鑰及獲得存取使用特定的隨機加密金錄加密并隨後 儲存到系統記憶體106中之資料的危險。無法反向工程或 “分解(strip)”該記憶體控制器104來決定該金鑰,因為在將 權力移交給該記憶體控制器之後該金鑰之值將不會出現在 該非依電性儲存區域202中。即使儲存在該系統記憶體中的 © 10 該資料以某種方式被保留了,例如,透過珠結包含該系統 記憶體的記憶體模組等,這也將阻止存取已使用該特定隨 機加密金鑰被加密的資料。 【0017】第3圖是根據本發明之一示範性實施例之一流 程圖,顯示的是操作一受保護的系統記憶體(諸如該系統記 15 憶體1〇6(第1圖))之一方法。該方法大體上參照參考數字 300。在方塊302,該流程開始。 【0018】在方塊304,每次當一電腦系統(諸如該電腦系 ❹ 統100(第1圖))遭啟動時,產生一隨機加密金鑰。如方塊3〇6 所示,該隨機加密金鑰被儲存在一記憶體控制器(諸如該記 20 憶體控制器丨〇4(第1圖))之一依電性記憶體區域中。 【0019】如方塊308所示’使用該隨機加密金輪加密資 料。如方塊310所示,將該已加密之資料儲存在該系統記憶 體中。在方塊312,該流程結束。 【0020】本發明之一示範性的實施例提供一記憶體控 8 200947202 5 Ο 10 15 制器與由例如多個記憶體模組組成的一系統記憶體之間通 信的一安全方法。這樣一示範性實施例保護系統記憶體不 受廣泛的駭客攻擊。尤其,本發明之一示範性實施例適於 保護系統記憶體不受實體攻擊及啟動攻擊。而且,可使用 標準的記憶體構件及模組。當引進新一代的記憶體技術 時,不需要付出額外的努力。本發明之一示範性實施例提 供系統記憶體安全保護而不明顯影響系統性能且不影響作 業系統及軟體應用程式性能。最後,本發明之一示範性實 施例可以以對總系統成本及複雜度最小的影響來實施。 C圖式簡單說明3 第1圖是根據本發明的一示範性實施例之一電腦系統 之方塊圖; 第2圖是根據本發明的一示範性實施例之第1圖所示之 該電腦系統之一記憶體子系統之方塊圖;及 第3圖是根據本發明的一示範性實施例之一流程圖,顯 示一種操作一受保護系統記憶體的方法。 【主要元件符號說明】 100.. .電腦系統 102.. .處理器 104.. .記憶體控制器 106.. .系統記憶體 108.. .系統匯流排 110.. .硬碟機 112.. .圖形控制器 114…輸入裝置 116.. .顯示裝置 200.. .記憶體子系統 202…依電性記憶體區域/依電 性儲存區域 204…加密區塊 208.. .解密區塊 300.. .方法 302~312…方塊 9

Claims (1)

  1. 200947202 七、申請專利範圍: 1. 一種提供安全存取儲存在一電腦系統之一系統記憶體 内的資料的方法,該電腦系統包含一用於將資料寫入到 3玄系統記憶體及從該系統記憶體讀取資料的記憶體控 制器,該方法包含以下步驟: 每次當該電腦系統遭啟動時產生一隨機加密金鍮; 儲存該隨機加密金鑰到該記憶體控制器之一依電 性記憶體區域申; 使用該隨機加密金鑰加密資料以產生已加密的資 料;及 儲存該已加密的資料在該系統記憶體内。 2·如申請專利範圍第1項所述之方法,其包含: 15 從該系統記憶體内讀取該已加密的資料;及 使用該隨機加密金鑰解密該已加密的資料。 3·如申請專利範圍第i項所述之方法,其中該記憶體控制 器之雜電性記憶體輯包含—唯寫/單寫暫存器。 4·如争請專利範圍第i項所述之方法,其包含:當執行一 系統重置時’重置該記憶體控制器之該依電性記憶體區 域。 5, 互斥或(XOR)操 μ請專圍第1項所述之方法,其中加密該資料包 含使用該資料與該隨機加密金鑰執行— 作。 該記憶體子系統包 6·—種一電腦系統之記憶體子系統 含: 20 200947202 ' -記憶體控制11,該雜體控制n適於每次當該電 腦系統遭啟動時接收-隨機加密金鑰,適於儲存言:機 加密金鍮在該記憶體控制器的一依電性記憶體區域内 適於使用賴機加密金鍮來加密資料,且適於儲存已加 5 密的資料在一系統記憶體内。 7.如申請專利範圍第6項所述之記憶體子系統,其中該記 憶體控制器適於從該系統記憶體讀取該已加密的資 〇 料,且適於使用該隨機加密金鑰來解密該已加密的資 料。 10 8.如申請專利範圍第6項所述之記憶體子系統,其中該記 隐體控制器之該依電性記憶體區域包含一唯讀/單寫暫 - 存器。 9.如申請專利範圍第6項所述之記憶體子系統,其中當執 行—系統重置時,重置該記憶體控制器之該依電性記憶 15 體區域。 ® 10.如申請專利範圍第6項所述之記憶體子系統,其中該記 憶體控制器適於透過使用該資料與該隨機加密金鑰執 行一互斥或(XOR)操作加密該資料。 11
TW098112475A 2008-05-09 2009-04-15 System and method for providing secure access to system memory TW200947202A (en)

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
TW200947202A true TW200947202A (en) 2009-11-16

Family

ID=41264845

Family Applications (1)

Application Number Title Priority Date Filing Date
TW098112475A TW200947202A (en) 2008-05-09 2009-04-15 System and method for providing secure access to system memory

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)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8578175B2 (en) * 2011-02-23 2013-11-05 International Business Machines Corporation Secure object having protected region, integrity tree, and unprotected region
US8819446B2 (en) 2009-06-26 2014-08-26 International Business Machines Corporation Support for secure objects in a computer system
US9954875B2 (en) 2009-06-26 2018-04-24 International Business Machines Corporation Protecting from unintentional malware download
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
US9298894B2 (en) * 2009-06-26 2016-03-29 International Business Machines Corporation Cache structure for a computer system providing support for secure objects
GB2497464A (en) 2010-10-05 2013-06-12 Hewlett Packard Development Co Scrambling an address and encrypting write data for storing in a storage device
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 삼성전자주식회사 컴퓨팅 시스템, 및 상기 컴퓨팅 시스템을 동작하기 위한 방법
WO2013049438A2 (en) 2011-09-30 2013-04-04 Eaton Corporation Supercharger assembly with independent superchargers and motor/generator
US8745415B2 (en) 2012-09-26 2014-06-03 Pure Storage, Inc. Multi-drive cooperation to generate an encryption key
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
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

Family Cites Families (6)

* 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
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
US7500098B2 (en) * 2004-03-19 2009-03-03 Nokia Corporation Secure mode controlled memory
GB2419434A (en) * 2004-10-23 2006-04-26 Qinetiq Ltd Encrypting data on a computer's hard disk with a key derived from the contents of a memory
US20070101158A1 (en) * 2005-10-28 2007-05-03 Elliott Robert C Security region in a non-volatile memory

Also Published As

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

Similar Documents

Publication Publication Date Title
TW200947202A (en) System and method for providing secure access to system memory
US8839000B2 (en) System and method for securely storing data in an electronic device
US9397834B2 (en) Scrambling an address and encrypting write data for storing in a storage device
CN104951409B (zh) 一种基于硬件的全盘加密系统及加密方法
TWI514187B (zh) 提供儲存裝置上防有毒軟體保護之系統與方法
US8539250B2 (en) Secure, two-stage storage system
JP4461145B2 (ja) Sim装置用コンピュータシステム及び方法
US8386797B1 (en) System and method for transparent disk encryption
JP5537742B2 (ja) 多ユーザ機密コードおよびデータを保護するためのアーキテクチャを含む方法および装置
CN101551784B (zh) 一种usb接口的ata类存储设备中数据的加密方法及装置
US20060075259A1 (en) Method and system to generate a session key for a trusted channel within a computer system
JP2009518742A (ja) マイクロコントローラにおけるデータの安全な取扱いのための方法および装置
US20080016127A1 (en) Utilizing software for backing up and recovering data
JP2002229861A (ja) 著作権保護機能つき記録装置
US20140040632A1 (en) Low-overhead cryptographic method and apparatus for providing memory confidentiality, integrity and replay protection
TW201224751A (en) A tweakable encrypion mode for memory encryption with protection against replay attacks
US20100095132A1 (en) Protecting secrets in an untrusted recipient
EP2990953B1 (en) Periodic memory refresh in a secure computing system
CN1266617C (zh) 一种计算机数据保护方法
CN112711764A (zh) 一种数据读写方法、装置及电子设备
US20130198528A1 (en) Modifying a Length of an Element to Form an Encryption Key
CN107861892B (zh) 一种实现数据处理的方法及终端
JP2006221259A (ja) 外部記憶媒体へのデータ記録方式とこれに使用するデータ転送制御インタフェース・ソフトウェアー
Lee et al. The study on the security solutions of USB memory
JP2001044985A (ja) 通信装置における暗号鍵格納方式