TWI497338B - 暫時秘密之保全儲存 - Google Patents
暫時秘密之保全儲存 Download PDFInfo
- Publication number
- TWI497338B TWI497338B TW099132069A TW99132069A TWI497338B TW I497338 B TWI497338 B TW I497338B TW 099132069 A TW099132069 A TW 099132069A TW 99132069 A TW99132069 A TW 99132069A TW I497338 B TWI497338 B TW I497338B
- Authority
- TW
- Taiwan
- Prior art keywords
- key
- tpm
- storage medium
- computing device
- storing
- Prior art date
Links
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/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
- G06F21/34—User authentication involving the use of external additional devices, e.g. dongles or smart cards
-
- 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/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
-
- 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
-
- 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
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2105—Dual mode as a secondary aspect
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2141—Access rights, e.g. capability lists, access control lists, access tables, access matrices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2143—Clearing memory, e.g. to prevent the data from being stolen
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Storage Device Security (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Description
本發明是關於暫時秘密之保全儲存。
隨著計算裝置變得更加普及,更大量的敏感資訊是儲存於此種計算裝置並由計算裝置利用。因此,這種計算裝置的使用者可投入大量的時間和精力以保全這些敏感資訊。在保全敏感資訊的機制中,以密碼為基礎的機制已有普遍性。如熟習本技術領域者將瞭解,以密碼為基礎的保護技術可依賴加密技術以執行其保護。更具體地說,以密碼為基礎的保護技術傳統上加密一組資料,且只有在提供適當的密碼時會提供對此資料的存取。如果沒有提供適當的密碼,資料會維持為加密形式,並因此受保護而免於未經授權的揭露。
利用以密碼為基礎之機制的普遍性和易用性的一種技術是整量加密,其係將儲存在一給定容量的全部或大致上全部資料加密。因此,即使惡意實體想要取得對這些資料所儲存於之儲存媒體進行實體存取,這種資料量會因此維持受到保護,因為這些資料是以加密的形式儲存。如熟習本技術領域者將瞭解,整量加密技術傳統上依賴於一或多層的密鑰來執行有效和高效率的密鑰管理。因此,舉例來說,「較高」層的密鑰可以用來解密「較低」層的密鑰,且到最後時,最底層的密鑰可以用來解密儲存在儲存媒體的資料本身。作為保護之衡量,一或多層密鑰的解密可連結至計算裝置本身的狀態,致使(舉例來說)如果儲存媒體要從計算裝置移除並通訊耦合至不同的計算裝置,資料將無法被解密,這是因為儲存媒體通訊耦合至之計算裝置的狀態會已改變。
在計算裝置作業時,即使是已配置用於保全作業的計算裝置,也可能存在需要以方便存取的形式來儲存敏感資訊的情況。例如,在進行可重大影響計算裝置之狀態的計算裝置更新時,用於整量加密機制的一或多個密鑰(例如其解密是傳統上連結至計算裝置的狀態的密鑰)可能需要以易於存取的形式來儲存。後續對此易於存取資訊的移除應減輕與以易於存取形式來儲存此種資訊相關的潛在安全問題。
但是,現代的儲存媒體通常使用的方法和技術實際上並沒有銷毀在儲存媒體上的資料,即使這些方法和技術標記了一組特定資料是被刪除的。例如,現代磁性儲存媒體時常包括這種儲存功能,因此標記為刪除的資料實際上可能在很長的時間內並未被重寫(因此並未不可恢復地銷毀)。在這段時間,透過已知的資料恢復機制仍然可以存取這些資料。以類似方式,利用固態儲存技術的現代儲存媒體通常實施平均耗損(wear-leveling)技術。由於使用此技術,現代固態儲存媒體可能在資料應被無法再擷取地移除之後很長一段時間才實際上重寫標記為刪除的資料。正如磁性儲存媒體,固態儲存媒體並未妥善刪除此等敏感資訊,此舉可以導致安全狀態大幅減低。
現有的可信賴的平台模組(Trusted Platform Module,TPM)可包括小部分的安全儲存功能。此TPM儲存可用來儲存部分或所有之要被無法再擷取地移除的敏感資訊。不同於其他現代儲存媒體,TPM的設計規範中具體要求到,當被指示自TPM儲存中移除資料時,TPM需以安全及無法擷取的方式進行。
在一實施例中,透過產生與整量加密機制相關的一或多個密鑰的保護器,並將開啟此保護器的密鑰儲存在TPM的安全儲存中,可使整量加密機制暫停(例如在特定的更新作業期間)。所產生的保護器可包含元資料,其可於TPM的安全儲存中識別出開啟保護器的密鑰所儲存的位置。之後,例如在完成更新作業之後,即可以刪除儲存在TPM的保護器和密鑰。由於密鑰將被無法再擷取地移除,即使所產生的保護器本身並非被無法再擷取地移除,整量加密可維持保全,例如當它是儲存在其儲存機制不提供對請求被刪除的資料進行即時之資料無法擷取移除的儲存媒體上時。
在另一實施例中,一密鑰所保護的資訊(如加密資訊)可儲存在不提供或保證安全且無法擷取移除的儲存裝置上。保護此資訊的密鑰可以儲存在TPM的安全儲存中。如果受保護的資訊將被無法再擷取地移除,即使其所儲存於之儲存裝置不能保證其安全性和無法再擷取性,密鑰可以安全地且無法再擷取地從TPM移除,且受保護的資訊可因此變成無法存取。類似地,如果受保護的資訊被儲存裝置以別名(aliased)、複製或以其他方式保存,仍然可以憑藉單獨保留在TPM中的密鑰來完成對此資訊的控制(包括其無法再擷取地移除特性。
在又一實施例中,如果儲存媒體被實體地移除,並因此與其先前通訊耦合的計算裝置通訊斷開,儲存在儲存媒體上的資料可以保持安全並變成不可存取。為了提供適當的計算裝置強大的資料存取,整量加密機制可以用來加密儲存在此種儲存媒體上的資料,且與整量加密機制相關的一或多個密鑰可以儲存在TPM的密鑰來保護,但存取不需要只限制於該密鑰,例如可將對密鑰的存取連結至計算裝置的特定配置。但是,如果儲存媒體是被實體偷走,並因此與計算裝置通訊斷開,此種密鑰無法擷取自計算裝置的TPM,因此,儲存在儲存媒體上的資料將維持加密而因此無法存取。
在進一步的實施例中,當計算裝置在休眠狀態時,建立於計算裝置上之計算環境的態樣能夠得到保護。當計算裝置在休眠時,所產生的休眠圖像可獨立於此計算裝置可能利用之任何其他的加密機制而被加密。對此加密休眠圖像進行解密的密鑰可以儲存在TPM中,且當它休眠時,可將它自TPM釋出到後續請求程序的過程連結至計算裝置的特定配置。之後,當計算裝置的運作從休眠狀態恢復時,只有在計算裝置休眠期間計算裝置的配置並沒有重大改變的情況下,可解密和存取加密休眠圖像。此外,當計算裝置從休眠狀態恢復時,對加密休眠圖像進行解密的密鑰可以自TPM刪除,藉此防止多次嘗試存取和恢復配置上有重大改變之計算裝置上的加密休眠圖像。
本「發明內容」係提供以簡化的形式來介紹將於以下「實施方式」中進一步描述的一些概念。本「發明內容」並非欲以識別申請專利標的之重要特徵或必要特徵。本「發明內容」亦非欲以限制申請專利標的之範圍。
參照隨附圖式及以下「實施方式」將使額外的特徵和優點變得更為明顯。
下面的說明是關於利用現有的可信賴的平台模組(TPM)來儲存或保留敏感資訊,其包括利用TPM的功能來安全和無法再擷取地刪除儲存在TPM中的資訊,並利用TPM的功能來將敏感資訊的釋出連結到與TPM相關之計算裝置的特定配置。在適合暫停整量加密機制的情況下,與整量加密機制相關的一或多個密鑰可被加密於保護器中,而開啟此保護器的相關密鑰可以儲存在TPM中。之後,當整量加密機制可以重新啟動時,保護器的密鑰可由TPM安全並和無法再次擷取地刪除。類似地,當儲存裝置不能保證安全且無法再次擷取地刪除時,或是這種儲存媒體變成與計算裝置通訊斷開時,儲存在TPM的資訊可造成儲存於與該儲存裝置相關之儲存媒體上的資料無法存取。此外,當休眠圖像被加密且密鑰是儲存在TPM,且其釋出是連結至計算裝置的一特定狀態時(例如可以TPM的一或多個平台配置暫存器的數值來表示),計算裝置正處於休眠狀態,在計算裝置上有效的程序可維持受保護。在休眠後恢復有效計算時,如果在休眠期間時計算裝置的狀態並沒有重大改變,在TPM中的密鑰可用來解密休眠圖像。
此處述及之技術著眼於(但不限於)整量加密機制。事實上,下面的教示也同樣適用於任何其後續的刪除動作是以無法再次擷取的方式進行的安全資訊,或任何其存取將由特定計算裝置的通訊連接所限制之安全資訊。因此,下面的說明並非欲以將列舉實施例限制於引用之特定範例情況。
雖然並非為必要條件,下面的描述將在電腦可執行指令(例如計算裝置所執行的程式模組)的一般情況下。更具體地說,除非特別註明,下述說明將引用由一或更多的計算裝置或週邊所執行的動作和作業的象徵性代表。因此,應瞭解到,這種動作和作業(有時被稱為電腦執行之動作和作業)包括電子信號的處理單元的操縱過程,其中電子信號是以一結構形式來代表資料。這種操縱過程會轉換資料或維持它在記憶體中的位置,其以熟習本技術領域者將瞭解的方式重新配置或改變計算裝置的作業或周邊裝置。資料所維持的資料結構是具有資料形式所定義之特定屬性的實體位置。
一般來說,程式模組包括常式、程式、物件、組件、資料結構、和其他可執行特定任務或可實現特定抽象資料類型的結構類型。此外,熟習本技術領域者將瞭解,計算裝置不必局限於傳統的個人電腦,其可包括其他計算配置,包括手持裝置、多處理器系統、微處理器或可程式的消費電子產品、網路個人電腦、迷你電腦、大型電腦等等。類似地,計算裝置不必只限於獨立的計算裝置,這些機制也可能執行於透過通訊網路鏈結的分散式計算環境。在分散式計算環境中,程式模組可位於本地和遠端記憶儲存裝置。
參考圖1說明範例計算裝置100,其部分包括於下述方法中將進一步描述之硬體元件。範例計算裝置100可包括但不限於一或多個中央處理單元(CPU)120、系統記憶體130、可信賴的平台模組(TPM)150和系統匯流排121。系統匯流排121耦合包括系統記憶體的各種系統組件至處理單元120。系統匯流排121可以是包括記憶體匯流排或記憶體控制器、週邊匯流排和使用任何種類匯流排架構的本地匯流排之數種匯流排結構中的任何一者。根據具體的實體實現,CPU 120、系統記憶體130和TPM 150中的一或多者可實體上位於同一位置,例如在單一晶片上。在這種情況下,系統匯流排121的部分或全部可以只是單一矽晶片結構內的矽途徑(silicon pathway),且圖1中所繪示只是作為說明用途之標記。
TPM 150可以包含加密密鑰151,用於對提供給它的資料進行加密和解密。傳統上,TPM 150包括一組初始的不可更改的公用和私用密鑰,其可以已知和現有的方式來使用以取得可棄式公用和私用加密密鑰。此外,TPM 150可包含平台配置暫存器(PCR)155,其可以安全地儲存資料或與計算裝置100的狀態獨特相關的其他資料。這些數值傳統上是由CPU 120透過系統匯流排121提供給TPM 150。在一些實施例中,只有由CPU 120執行的特定代碼會被允許可傳送資料到TPM 150,其將修改儲存在PCR 155中的數值。TPM 150可進一步包括非揮發性的儲存容量,如非揮發性隨機存取記憶體(NV RAM)156,TPM可以由諸如CPU 120之計算裝置的其他元件透過系統匯流排121將提供給它的至少一部分資訊安全地儲存於其中。
除了上述的元件外,計算裝置100還通常包括電腦可讀取媒體,其可包括可由計算裝置100進行存取的任何可用媒體。僅為舉例而非限制,電腦可讀取媒體可能包括電腦儲存媒體及通訊媒體。電腦儲存媒體包括以任何方法或技術實現之媒體,用於儲存諸如電腦可讀取指令、資料結構、程式模組或其他資料的資訊。電腦儲存媒體包括但不限於RAM、ROM、EEPROM、快閃記憶體或其他記憶體技術、CD-ROM、DVD或其他光碟儲存、磁卡帶、磁帶、磁碟儲存或其他磁性儲存裝置、或任何其他可用來儲存所欲資訊並可由計算裝置100存取的媒體。通訊媒體通常實施電腦可讀取指令、資料結構、程式模組、或其他以諸如載波或其他傳輸機制之調變資料信號形式的資料,且通訊媒體包括任何資訊傳遞媒體。僅為舉例而非限制,通訊媒體可包括諸如有線網路或直接有線連接的有線媒體,及諸如聲音(acoustic)、無線電頻率(RF)、紅外線、及其他無線媒體等的無線媒體。上述之任何組合也應包括在電腦可讀取媒體的範圍內。
當使用通訊媒體時,電腦裝置100可在網路環境中運作,其係透過邏輯連接到一或多個遠端電腦。圖1所示的邏輯連接是至網路180的一般網路連接171,網路180可以是區域網路(LAN)、廣域網路(WAN)或其他網路。計算裝置100透過網路介面或適配器170而連接到一般網路連接171,網路介面或適配器170是連接到系統匯流排121。在網路環境中,描述為相對於計算裝置100或其部分或週邊的程式模組可儲存在一或多個其他計算裝置的記憶體中,這些其他計算裝置是透過一般網路連接171而通訊耦合到計算裝置100。應瞭解到,所繪示之網路連接僅為範例,也可使用其他方式建立計算裝置之間的通訊鏈路。
在電腦儲存媒體中,系統記憶體130包括電腦儲存媒體,形式為揮發性及/或非揮發性記憶體,其包括ROM 131和RAM 132。基本輸入/輸出系統133(BIOS)通常儲存在ROM 131中,基本輸入/輸出系統133包含啟動計算裝置100的碼。RAM 132通常包含可由處理單元120立即存取及/或正由處理單元120運作的資料及/或程式模組。僅為舉例而非限制,圖1繪示作業系統134、其他程式模組135和程式資料136為常駐於RAM 132中。RAM 132也可以包括與TPM 150的運作相關的資料,例如TCG事件紀錄190。在一實施例中,TCG事件紀錄190可以包含唯一的識別符,用於識別自施以電能或自上次重新啟動後所有計算裝置100所載入或執行的模組。所載入或執行的相同模組可能已導致一或多個PCR 155中的TPM 150目前所維持的數值。
計算裝置100可另外包括其他可移除/非可移除、揮發性/非揮發性電腦儲存媒體。僅為舉例,圖1繪示硬碟驅動器141,其可讀自或寫入非可移除、非揮發性磁性或固態媒體。其他可用於範例計算裝置的可移除/非可移除、揮發性/非揮發性電腦儲存媒體包括但不限於磁卡帶、快閃記憶卡、DVD、數位視頻帶(digital video tape)、固態RAM、固態ROM等等。硬碟驅動器141通常透過諸如介面140之非可移除記憶體介面而連接到系統匯流排121。
上面所討論並繪示於圖1之驅動器及其相關電腦儲存媒體為計算裝置100提供電腦可讀取指令、資料結構、程式模組和其他資料之儲存。在圖1,例如,硬碟驅動器141係繪示為儲存作業系統144、其他程式模組145和程式資料146。請注意到這些組件可以與作業系統134、其他程式模組135和程式資料136相同或不同。此處的作業系統144、其他程式模組145和程式資料146有不同的標號以說明它們至少是不同的副本。
在一實施例中,可以加密的形式將作業系統144、其他程式模組145、和程式資料146儲存在硬碟驅動器141上。例如,硬碟驅動器141可實現或用於整量加密機制,藉此使全部或實質上全部儲存在硬碟驅動器141上的資料資料可以加密形式來儲存。參照圖2,在範例系統200中,硬碟驅動器141是繪示為包括加密部分240,其可包括作業系統144、程式模組145、和程式資料146中的至少大部分。密鑰220可由計算裝置100或與硬碟驅動器141相關的硬體利用,以對已加密部分240解密資料,藉此使計算裝置240有意義地存取作業系統144、程式模組145和程式資料146。
如熟習本技術領域者將瞭解,整量加密機制可以利用多層級及多層密鑰,例如密鑰220。例如,為了避免重新加密,使用不同的密鑰時,對於諸如作業系統144、程式模組145、或程式資料146之資料,密鑰220本身可以被另一密鑰加密。密鑰220的加密版本及任何與此加密密鑰相關的元資料可被稱為「密鑰保護器」。如熟習本技術領域者將瞭解,可以產生多個密鑰保護器用於單一密鑰,而每個密鑰保護器係與不同的認證或其他安全機制相關。因此,舉例來說,密鑰220(其可解密儲存在硬碟驅動器141的加密部分240內的資料)可使用與使用者密碼相關的密鑰被加密於一密鑰保護器,且可使用與PCR 155的特定數值相關的密鑰被加密於另一密鑰保護器。在此方式中,當授權的使用者輸入密碼時,或者當PCR 155的數值表示計算裝置是在信任狀態時,加密部分240可由計算裝置100進行解密和存取。
如上所示,多層級的密鑰可用來提供多種存取選擇。此外,多層級的密鑰可以用於其他的密鑰管理用途,其包括例如提高可靠性、提供安全保證、提高性能、提供用於第三方協助或支援可能忘記密鑰的使用者、或其他用途。因此,在下面的描述中,提到與諸如密鑰220之密鑰相關的整量加密機制是意指任何層級的密鑰,而非僅為直接對例如加密部分240進行解密的特定密鑰。
在某些情況下,對於通常由整量加密機制給予的保護,可能有需要暫時中止。例如,在可能影響計算裝置100的信任狀態的更新程序期間,整量加密可能需要暫停,因為可能有困難或無法預先決定適當的數值用於PCR 155,而缺乏此決定時,可能無法存取必要用以能夠存取儲存在加密部分240之資料並且與PCR的特定數值相關的密鑰。為了避免這種困難,在預期到計算狀態有變化時,透過例如產生可以包括密鑰220的加密版本及解密此密鑰220的加密版本所需之密鑰的「透明密鑰」保護器(clear key protector)210,整量加密或其他的安全機制可以暫時中止。可以看出,此「透明密鑰」保護器210可讓任何可存取「透明密鑰」保護器的程序來存取受保護的密鑰本身,如密鑰220,其可提供此程序存取所有在加密部分240中的資料。因此,硬碟驅動器141上「透明密鑰」保護器210的存在可有效地暫停或去能實現於此驅動器上之整量加密的安全態樣。要重新致能諸如實現於圖2中系統200的硬碟驅動器141上之整量加密機制的安全態樣,可自硬碟驅動器刪除「透明密鑰」保護器210,以使其不能被擷取。
為了達到無法再擷取已刪除之敏感資訊,例如可以規避整量加密機制的安全態樣的「透明密鑰」保護器,可將特定資訊儲存在TPM 150的非揮發性隨機存取記憶體(NV RAM)230中。因此,在一實施例中,如圖2的系統200所示,作業系統134或其他程序可以建立可儲存在硬碟驅動器141上的透明密鑰保護器210,然而與透明密鑰保護器210相關的密鑰230可儲存在TPM 150的NV RAM 156中,而非如上所述之與透明密鑰保護器一起儲存,而不是儲存在TPM150的NV RAM 156。作業系統134因此繪示為提供資料給兩個不同的儲存媒體。特別是,作業系統134可將透明密鑰保護器210儲存在硬碟驅動器141上,並可將與透明密鑰保護器210相關的密鑰230儲存在TPM 150的NV RAM 156中。
圖2中系統200的透明密鑰保護器210可包含密鑰230的指標(而非密鑰230本身),其係儲存在TPM的NV RAM 156中。更具體地說,在一實施例中,透明密鑰保護器210可包括非揮發性索引,其係密鑰230在TPM 150的NV RAM 156中所儲存之處。如熟習本技術領域者將瞭解,之後的透明密鑰保護器210的存取將顯現與其一起儲存的非揮發性索引,藉此致能存取程序向TPM 150請求密鑰230。作為回應,TPM 150可以提供密鑰230給請求程序,而具有密鑰230的請求程序可自透明密鑰保護器210取得密鑰220並存取加密部分240中的資訊。
如圖2所示之系統200,一旦計算裝置100已經更新,以已更新之計算裝置201形式,作業系統134或其他相關程序可以將產生以規避例如實施於硬碟驅動器141上之整量加密的安全態樣的資訊刪除。因此,如圖所示,刪除透明密鑰保護器210的指令可提供給硬碟驅動器141,刪除密鑰230的指令可提供給TPM 150。如上所述,透明密鑰保護器210未必會自硬碟驅動器141的儲存媒體被法再次擷取地刪除。例如,如果硬碟驅動器141包含磁性儲存媒體,則透明密鑰保護器210可維持於此磁性儲存媒體上,直到它實際上被提供用於儲存在硬碟驅動器141上的其他資料所重寫。雖然傳統磁性儲存媒體的儲存裝置可以實現可隨機重寫標記為刪除之資料的安全刪除功能,磁性儲存媒體的特性是即使它已被重寫過數次,要恢復先前儲存的資料是可能的。類似地,如果硬碟驅動器141是包含固態儲存媒體,則透明密鑰保護器210仍可維持此固態儲存媒體,即使是在它已被標記為刪除的情況下。更具體地說,固態儲存媒體通常是用於與平均耗損技術結合,平均耗損技術可避免對某些區段進行較多的寫入動作。因此,儲存於區段中的資料(即使是已被刪除的資料)可維持於可存取狀態相當長的一段時間。
在圖2的系統200內,透明密鑰保護器250和密鑰262是用來說明在已刪除但可回復狀態的透明密鑰保護器210和受保護密鑰220。但是,從圖2中可以看出,自TPM的NV RAM 156無法再次擷取地刪除密鑰230可以重新建立實施於硬碟驅動器141上之整量加密的安全態樣。更具體地說,如果密鑰230是與透明密鑰保護器210一起儲存的,那麼即使在刪除後,透明密鑰保護器250仍可自硬碟驅動器141的儲存媒體回復,並且可取得密鑰260並利用它存取儲存在硬碟驅動器141的加密部分240內的資訊。然而,因為密鑰230是儲存在TPM 150,當TPM 150被指示刪除儲存在其NV RAM 156內的資訊時,TPM 150可符合安全刪除的規範,自硬碟驅動器141的儲存媒體回復透明密鑰保護器250不會產生密鑰260,因為需要用以存取保護器250並獲取密鑰260的密鑰230將不再可用或不再可擷取。因此,即使在沒有安全或無法再次擷取地刪除透明密鑰保護器210的情況下,儲存在加密部分240的資訊仍可受到保護。
雖然上面的描述和圖2所提供的說明指示保護密鑰220的保護器,而密鑰220是直接負責解密加密部分240,如熟習本技術領域者將瞭解,上述描述和說明也同樣適用於傳統上由安全機制(如整量加密機制)產生並與安全機制一起使用的任何多層級密鑰。因此,舉例來說,受保護密鑰220不需要能夠直接解密加密部分240,其可為可解密另一密鑰的中間層級密鑰,而另一密鑰可以解密加密部分240。
此外,雖然上面的描述和圖2所提供的說明是具體針對於安全刪除與整量加密機制相關聯的未受保護或「透明密鑰保護器」,例如可於計算裝置(如電腦裝置100)之狀態改變期間暫時使用,上述原則同樣適用於任何儲存在儲存媒體之受保護資料的安全刪除,該儲存媒體係與不能保證安全刪除的儲存裝置相關聯。更具體地說,如果資訊是以受保護的方式儲存,使得一些其他資料(即傳統上和這裡所稱之「密鑰」)可以用來存取此資訊,則為了提供安全和無法再次擷取地刪除此資訊,受保護的資訊可儲存在任何儲存媒體,且密鑰可以儲存在TPM的NV RAM 156上,如上所詳細描述。即使是儲存媒體和與此儲存媒體相關聯的儲存裝置也不能提供或保證安全地和無法再次擷取地刪除受保護的資訊,安全地和無法再次擷取地刪除TPM 150可提供的密鑰可實際上如上所詳述地造成無法再次擷取受保護的資訊,不論受保護的資訊所儲存於之儲存媒體或裝置的功能為何。
在許多情況下,儲存媒體和與此媒體相關聯的儲存裝置無法保證無法再次擷取地刪除,這是由於當受保護資訊儲存在儲存媒體時,可別名化、拷貝、複製或乘以受保護資訊的硬體機制,使得受保護資訊的副本或態樣的安全移除可能無法保證所有此類副本或態樣的安全移除。在這種情況下,受保護的資訊可能增殖為儲存硬體本身的一部分,將單一密鑰保留於TPM的NV RAM 156中可以提供對受保護的資訊的單一性及控制的衡量。此外,雖然不是必需的,如果受保護的資訊需要被無法再擷取地移除,可透過自TPM的NV RAM 156安全地和無法再擷取地移除密鑰來實現,如上所述之細節。
在另一實施例中,將諸如密鑰230之密鑰儲存TPM的NV RAM 156可以用來提供一種保護衡量,其可防止諸如硬碟驅動器141之儲存裝置的實體盜竊,或者可防止自合理移除(例如由於維護原因)之儲存裝置的資訊盜竊。參照圖3,系統300包含計算裝置100,其具可與計算裝置實體和通訊分開的硬碟驅動器141。如前所述,保護密鑰220的密鑰保護器210可以建立並儲存在硬碟驅動器141上。如前所述,密鑰220可直接或間接用來解密並提供對硬碟驅動器141的加密部分240的存取。透過將密鑰230儲存在TPM的NV RAM 156中,並以密鑰保護器提供至密鑰230的指標,當尋求存取儲存在硬碟驅動器141的加密部分240中的資訊時,計算裝置100和執行於其上之程序可按照該指標從密鑰保護器210至密鑰230於TPM的NV RAM 156中所儲存之位置,並能自TPM 150獲得一密鑰並最終利用它存取硬碟驅動器的加密部分。
此外,在一實施例中,存取密鑰230或(更具體地說)存取密鑰230於TPM的NV RAM 156中所儲存之特定索引是可由TPM 150自由授予的,而無須限制於PCR 155的特定數值或其他與計算裝置100的狀態相關的類似資訊。因此,執行於計算裝置100上的程序可以自由地存取儲存在硬碟驅動器141的加密部分240內的資訊,而不用考慮對於計算裝置或它正在執行的程序的整體安全性而言可能是不重要的計算裝置狀態的態樣。這種環境對傳統上具有硬體安全性的伺服器計算裝置可能特別有用,硬體安全性的例子有有限存取的實體環境,其可最小化以不安全的方式改變伺服器計算裝置100的狀態的機會,但其應尋求維持盡可能多的正常作業時間。
然而,如果這種計算裝置或者(更具體地說)這種計算裝置的組件受到盜竊,上面述及之必要資訊於TPM的NV RAM 156中的儲存可以防止被盜硬碟驅動器141的加密部分240的資訊被利用或其他類似的被盜儲存媒體被利用。另外,如果硬碟驅動器141故障,而必須更換要硬碟驅動器時,一旦硬碟驅動器或任何其他類似儲存媒體與計算裝置100實體上和通訊上分開,儲存在硬碟驅動器141的加密部分240的資訊可成為無法存取。事實上,一旦硬碟驅動器與計算裝置100通訊上分開,儲存在硬碟驅動器141的加密部分240的資訊無法存取的程度可滿足各種安全標準,而不需要對硬碟驅動器或儲存於其上之資訊進行耗錢和費時的刪除或其他毀壞。
可以從圖3的系統300看出,如果硬碟驅動器141與計算裝置100通訊上分開,例如如果硬碟驅動器141自伺服器計算裝置100實體上刪除,無論是因為授權維持的一部分或盜竊,而在之後通訊耦合到不同的計算裝置,執行於此不同計算裝置上的程序將無法存取儲存在計算裝置100的TPM 150的NV RAM 156中的密鑰。如果沒有存取密鑰230,執行於硬碟驅動器141之後通訊耦合至之不同的計算裝置上的程序將無法自保護器210獲得密鑰220,而因此不能夠有意義地存取儲存在硬碟驅動器141的加密部分240內的資訊。由於儲存在NV RAM 156內的資訊不能透過執行於位於電腦裝置100外部之計算裝置上的程序而輕易地自TPM 150取得(無論是透過電子通訊機制或透過TPM 150本身的實體存取),將諸如密鑰230的必要資訊儲存在TPM的NV RAM中可以提供儲存在儲存媒體之資料的安全衡量,而不會嚴重影響計算裝置100的正常運作時間,其中儲存媒體可與計算裝置100通訊斷開,而安全衡量包括防止盜竊的安全性和防止後續存取取代為授權維護之一部分的儲存媒體的安全性。
雖然沒有具體列舉於上,如熟習本技術領域者將瞭解,TPM 150可以將儲存在其中之資訊(例如儲存在TPM的NV RAM 156上)限制於釋出至計算裝置100的特定狀態(例如傳統上以一或多個PCR 155的數值表示)。因此,在另一實施例,當計算裝置100可能在脆弱的狀態時間時(例如當計算裝置在休眠或中止狀態時),TPM 150的把關功能可以用來保護資訊。
參照圖4,系統400繪示一範例機制,當計算裝置100是在休眠狀態時,休眠圖像410可透過此機制而受到保護。最初,在啟動計算裝置100的休眠狀態時,可建立休眠圖像410。如熟習本技術領域者將瞭解,並如圖4中之虛線所繪示,諸如休眠圖像410之休眠圖像可包括與計算裝置在休眠之前的狀態相關的資訊。例如,休眠圖像410可以包括作業系統134的狀態、程式模組135和程式資料136,它們在休眠時間時存在於計算裝置100的RAM 132中,使得當從休眠狀態恢復執行時,計算裝置100可以從休眠圖像410載入資訊到RAM 132,並因此使得作業系統和程式模組恢復他們先前的動作或執行。
由於休眠圖像410可包括與在執行階段的程序和應用相關的資訊,它可以包含僅在某些與安全有關的動作可能已經完成時可得到的資訊。例如,作業系統134的某些態樣或程式模組135可能只有在判定計算裝置100是在值得信賴的狀態之後才可載入到RAM 132中。然而,作業系統134的那些態樣或程式模組135現在可以在沒有任何進一步的保護下常駐在RAM 132。如果這些資料是收集和儲存作為休眠圖像410的一部分,之後存取休眠圖像時(例如當計算裝置100處於休眠狀態時),可提供存取這些資訊,而沒有通常存在之旨在保護這些資訊免於未經授權存取的安全限制。
因此,在一實施例,為了保持休眠圖像410的完整和計算裝置100的狀態,休眠圖像可以被加密並儲存為加密休眠圖像415,如圖4的系統400所示。儘管圖4的系統400是將休眠圖像410的加密繪示為由作業系統134所執行,熟習本技術領域者將瞭解,這種加密也同樣可由其他程序所執行,包括例如作為程式模組135之一部分執行之程序。除了加密休眠圖像410並將其儲存為經加密的休眠圖像415於儲存裝置(例如硬碟141),作業系統134或其他相關程序可以進一步儲存密鑰430於TPM的NV RAM 156中,密鑰430可以解開加密的休眠圖像415或可提供存取休眠圖像410。
在一實施例中,密鑰430可以結合給TPM 150的指令而儲存在TPM的NV RAM 156中,該指令指示TPM不釋出或提供密鑰430,除非PCR 155的一或多個數值在請求密鑰430時與計算裝置100休眠時是相同的。更具體而言,如前所述,一或多個PCR 155的數值可以獨特地相關於計算裝置100的狀態。因此,在計算裝置100休眠時,一或多個PCR 155的數值可反映計算裝置100在休眠時的狀態,及當計算裝置自休眠狀態恢復時計算裝置應該有的狀態。因此可參照一或多個PCR 155的數值以確保計算裝置100的狀態自其休眠時起至其之後恢復時並沒有被重大改變,因此,密鑰(其如前面所述可提供存取休眠圖像410)430的釋出可在計算裝置休眠時連接到一或多個PCR 155的數值。
之後,當計算裝置100從休眠狀態恢復時,如熟習本技術領域者將瞭解,啟動載入器434(其可為作業系統134的組成元件)可以嘗試存取休眠圖像410並載入到RAM 132中。但是,在能夠這樣做之前,啟動載入器434可先自TPM的NV RAM 156獲得密密鑰430。在上述方式中,經加密的休眠圖像415可以包括指定(reference)至例如TPM的NV RAM 156中密鑰430的位置的非揮發性索引。這種指定可用於例如當啟動載入器434試圖從TPM 150擷取密鑰430時。
然而,由於由TPM 150進行之密鑰430的釋出可能已連結至PCR 155的一或多個數值,TPM可在計算裝置從休眠狀態恢復時,先比較PCR 155的數值,密鑰430是被請求為當密鑰430儲存在TPM的NV RAM 156時所指定的PCR數值。如果計算裝置100的狀態的一或多個重要態樣從計算裝置休眠時起已發生變化,那麼密鑰430之釋出所連結之一或多個PCR 155的數值不會等於密鑰430被儲存在TPM的NV RAM 156時的數值,而且TPM 150將不提供密鑰。因此,舉例來說,當計算裝置是在休眠狀態時,如果惡意或未知或不可信的電腦可執行指令或其他程序被暗中插入(或準備執行於)計算裝置100,那麼這種電腦可執行指令或程序的執行或啟動將記錄在TCG事件紀錄490中,並會反映PCR 155的數值中。更具體地說,這種指令或程序的暗中插入將導致PCR 155的數值不同於當密鑰430在休眠之前儲存在TPM的NV RAM 156時密鑰430之釋出所連結之數值,並且將導致TPM 150拒絕將密鑰430提供給一請求程序,例如啟動載入器434。
因此,經加密的圖像415休眠將無法被解密,且計算裝置100在有新的暗中插入之指令或程序的情況下將無法從休眠狀態恢復運作。如熟習本技術領域者將瞭解,計算裝置100可完全重新啟動,藉此移除或完全杜絕任何暗中插入的指令或程序所造成的效果,並因此保護計算裝置100,更具體地說,確保可能已被例如作業系統134或程式模組135載入和利用的敏感資訊不受到影響。
上面描述的機制的操作可透過圖5和圖6進一步詳細說明。參照圖5,流程圖500說明範例步驟,其可被執行以提供安全且不可恢復之敏感資訊刪除,敏感資訊可能需要暫時儲存在儲存媒體中(例如在更新程序期間)。流程圖500所示的步驟也有至少部分是適用於資訊之儲存,該儲存方式是將此資訊不可分開地連結至計算裝置,若此儲存媒體與計算裝置通訊斷開時,可利用此資訊來保護其他儲存在儲存媒體上的資訊。
最初,在步驟510,可開始例如可影響計算裝置的啟動程序或可重大改變計算裝置的運作狀態的計算裝置之更新或其他改變。之後,在步驟515,可產生透明密鑰保護器用於例如與整量加密機制相關的密鑰。在步驟515產生之可存取透明密鑰保護器的「透明密鑰」可在步驟520儲存在TPM的NV RAM中。至儲存在TPM的NV RAM中之密鑰的指標,舉例來說,與密鑰在TPM的NV RAM中所儲存之位置相關的非揮發性索引可在步驟525與透明密鑰保護器一起儲存或與除密鑰保護器相關聯。在步驟530,可執行與更新性能相關的一或多個步驟,或是可執行可重大影響計算裝置之狀態的改變。此外,作為步驟530之一部分,可以再啟動或重新啟動計算裝置。
之後,在步驟535,在步驟515產生之透明密鑰保護器可被存取以為解密或存取受保護資訊的部分努力,受保護資訊例如是受保護為整量加密機制之一部分的資訊。在步驟535存取透明密鑰保護器後,諸如非揮發性索引之指標可在步驟540取得並利用以獲取可解密或存取透明密鑰保護器所保護之密鑰。如果在步驟540成功取得了密鑰,則可存取在步驟535取得之透明密鑰保護器,且在步驟545可使用得到之密鑰來解鎖該容量。
如前所述,在步驟530所執行之更新或其他更改可能已經影響已連結密鑰相關於計算裝置狀態的現有機制,該機制可例如為整量加密機制。因此,在步驟545將整量加密服務所保護之容量解鎖之後,在步驟550可選擇性地產生一或多個新的可存取加密容量的密鑰保護器。此外,在步驟515產生的透明密鑰保護器可自其於步驟555所儲存於之儲存媒體中刪除,在步驟560可指示TPM將透明密鑰自TPM的NV RAM刪除。正如上面所詳述,即使應該已經在在步驟555被刪除的透明密鑰保護器實際上沒有被無法再擷取地移除,在步驟560,指示TPM將密鑰從TPM的NV RAM刪除的指令可按照TPM所符合的規範而致使密鑰被安全和無法再次擷取地刪除。如熟習本技術領域者將瞭解,在步驟555刪除透明密鑰保護器以及在步驟560指示TPM將密鑰從TPM的NV RAM刪除的指令並非一定要以圖5的流程圖500繪示的順序發生,而是可以在步驟545解鎖容量的期間或之後任何時間發生。之後,在步驟565可結束相關的程序。
如上所詳述,不必執行圖5的流程圖500繪示的全部步驟,例如為了將資訊保全於儲存媒體上而防止盜竊或其他通訊斷開之目的,將重要的資訊儲存在TPM的NV RAM中。例如,在步驟530,計算系統的更新或其他更改、在步驟550新的保護器的相應產生、之後在步驟555將透明密鑰保護器自儲存媒體中的刪除、以及在步驟560將密鑰自TPM的NV RAM中的刪除可以僅用於特定的實施例,而在僅為了將資訊保全於儲存媒體上以防止盜竊或是防止儲存媒體與計算裝置發生通訊斷開時,可不需執行。
參照圖6,流程圖600說明可在休眠或中止狀態期間保護計算裝置之範例步驟。起初,從流程圖600可以看出,在步驟610,使用者或其他程序可以啟動計算裝置之休眠或中止。之後,在步驟615,按照傳統的休眠機制,可產生包括例如計算裝置RAM中相關資訊的休眠圖像。在步驟620,休眠圖像可以被加密以在計算裝置休眠或中止狀態時保護它免於被存取或修改。在步驟625,與加密休眠圖像相關並可用來對經加密休眠圖像進行解密的密鑰可儲存在TPM的NV RAM中。
如上所述,在步驟625提供密鑰給TPM的NV RAM時,可以指示TPM不釋出密鑰給請求程序,除非TPM的PCR的一或多個數值在進行密鑰請求時是相同的,因為在步驟625當計算裝置休眠時它們是相同的。在步驟620,一旦休眠圖像已被加密,並在步驟625已將密鑰儲存在TPM的NV RAM中,計算裝置可在步驟630完成休眠動作並進入休眠狀態。在之後的某時間點(也包含於步驟630中),可指示計算裝置恢復有效運作。此時在計算裝置上執行的相關程序(例如啟動載入器或休眠管理器)可以設法從TPM獲取儲存在TPM的NV RAM中的密鑰,並利用密鑰解密和存取在步驟620被加密的休眠圖像,以將計算裝置恢復到其在休眠之前所執行於之執行情境。
因此,在步驟635,TPM可以檢查一或多個PCR的當前數值與指定用於密鑰之釋出的數值。如果在步驟635,相關的PCR數值相同於指定用於密鑰之釋出的數值,程序可續行至步驟640,並且由TPM提供之密鑰可進行至請求的程序。然後請求程序可在步驟645利用密鑰來解鎖在步驟615和620產生之加密休眠圖像,並重新建立有效的計算狀態。相關的程序可結束於步驟660。
但是,如果在步驟635,相關的PCR數值相同於指定用於密鑰之釋出的數值,程序可續行至步驟650,此時TPM可以拒絕提供密鑰給請求程序。因為,在這種情況下,加密的休眠圖像無法被解密,計算裝置將無法恢復有效處理,並可以在步驟655執行完整的重新啟動或自行關機並在之後一時間點執行啟動程序。因此,如果計算裝置的狀態有重大改變,舉例來說,當計算裝置是在休眠狀態時,如果惡意的或其他未知的電腦可執行指令或其他更改已經被暗中地插入,或在有效處理恢復時被設定而執行,TPM可以拒絕提供密鑰(例如在步驟650),在步驟655之完整重新啟動或再啟動程序的執行可將在計算裝置為休眠狀態時暗中對計算裝置進行的任何更改刪除或無效。相關的處理可結束於步驟660。
可以從上面的描述看到,上述說明已呈現利用TPM的儲存功能來安全儲存和無法再擷取地移除敏感資訊的機制。鑑於本文所述標的之許多可能變化,我們主張所有這些可能落入下附申請專利範圍及其均等物的實施例為本發明之範圍。
100...計算裝置
120...中央處理單元
121...系統匯流排
130...系統記憶體
134...作業系統
135...程式模組
136...程式資料
140...非可移除非揮發性記憶體介面
141...硬碟驅動器
144...作業系統
145...程式模組
146...程式資料
150...可信賴的平台模組
151...TPM特定密鑰
155...平台配置暫存器
170...網路介面
171...一般網路連接
190...TCG事件紀錄
200...範例系統
210...透明密鑰保護器
220...密鑰
250...透明密鑰保護器
260...密鑰
300...系統
415...加密休眠圖像
500-660...步驟流程
參照隨附圖式將更為瞭解「實施方式」中之說明,於圖式中:
圖1是包含TPM的範例計算裝置的方塊圖;
圖2是TPM的範例使用的方塊圖,此範例使用TPM來儲存敏感資訊且之後安全刪除已儲存一預定義時間的敏感資訊;
圖3是TPM的範例使用的方塊圖,此範例使用TPM來防止透過儲存媒體之實體竊盜而散佈資料;
圖4是TPM的範例使用的方塊圖,此範例使用TPM來進行休眠期間的計算裝置保護;
圖5是TPM的範例使用的流程圖,此範例使用TPM來儲存敏感資訊且之後安全刪除已儲存一預定義時間的敏感資訊;及
圖6是TPM的範例使用的流程圖,此範例使用TPM來進行休眠期間的計算裝置保護。
100...計算裝置
120...中央處理單元
121...系統匯流排
130...系統記憶體
134...作業系統
135...程式模組
136...程式資料
140...非可移除非揮發性記憶體介面
141...硬碟驅動器
144...作業系統
145...程式模組
146...程式資料
150...可信賴的平台模組
151...TPM特定密鑰
155...平台配置暫存器
170...網路介面
171...一般網路連接
190...TCG事件紀錄
200...範例系統
210...透明密鑰保護器
220...密鑰
250...透明密鑰保護器
260...密鑰
Claims (14)
- 一種電腦可讀取儲存媒體,包含用於暫時暫停一現有加密機制的電腦可執行指令,該現有加密機制連結到包含一可信賴的平台模組(Trusted Platform Module,TPM)的一計算裝置的一狀態,該等電腦可執行指令執行之步驟包括:加密步驟,加密一第一密鑰,該第一密鑰為該現有加密機制的部分,且作為該現有加密機制的部分而受該TPM保護,使得該TPM只有在該計算裝置的該狀態等於一預定義狀態時提供對於該第一密鑰的存取,該加密步驟使得連結到該計算裝置的該狀態的該現有加密機制暫時暫停;儲存第一密鑰步驟,儲存加密之該第一密鑰於一儲存媒體上,該儲存媒體與該計算裝置通訊耦接且位於該TPM外部;儲存第二密鑰步驟,在位於該TPM內部的一儲存媒體上儲存一第二密鑰,該第二密鑰可被利用於將儲存在位於該TPM外部的該儲存媒體上的加密之該第一密鑰解密,其中該儲存第二密鑰步驟被執行為使得可獨立於該計算裝置的任何特定狀態,而從位於該TPM內部的該儲存媒體獲得該第二密鑰;儲存索引步驟,在位於該TPM外部的該儲存媒體上,與加密之該第一密鑰一起儲存一索引,該索引識別該TPM的儲存媒體上儲存該第二密鑰的一位置;請求第二密鑰步驟,在儲存該第二密鑰於該TPM的儲存 媒體上的該儲存第二密鑰步驟之後,向該TPM請求該第二密鑰,該請求指示該索引;利用第二密鑰步驟,利用回應於該請求而從該TPM獲得的該第二密鑰,將加密之該第一密鑰解密;及在利用從該TPM獲得的該第二密鑰將加密之該第一密鑰解密的該利用第二密鑰步驟之後,指示該TPM將該第二密鑰自該TPM的儲存媒體刪除,從而藉由防止存取該第一密鑰(即使加密之該第一密鑰係擷取自位於該TPM外部的該儲存媒體)而回復該現有加密機制。
- 如請求項1之電腦可讀取儲存媒體,其中用於儲存該第二密鑰於該TPM的儲存媒體上之電腦可執行指令,包括用於回應於隨後的該請求第二密鑰步驟,不論該TPM的平台配置暫存器(Platform Configuration Register,PCR)之任一者之數值為何,而指示該TPM從該TPM的儲存媒體提供該第二密鑰的電腦可執行指令。
- 如請求項1之電腦可讀取儲存媒體,其中在儲存該第二密鑰於該TPM的儲存媒體上之後向該TPM請求該第二密鑰之該請求第二密鑰步驟,亦發生於該計算裝置的該狀態的一改變之後,已預期著該計算裝置的該狀態的該改變而執行該現有加密機制的該暫時暫停。
- 如請求項1之電腦可讀取儲存媒體,包含進一步的電 腦可執行指令,用於在該儲存第一密鑰步驟、該儲存索引步驟、以及該儲存第二密鑰步驟之後且在該請求第二密鑰步驟之前將該計算裝置重開機。
- 如請求項1之電腦可讀取儲存媒體,其中該現有加密機制為應用至位於該TPM外部的該儲存媒體的一整量加密機制。
- 一種暫時暫停一現有加密機制的方法,該現有加密機制連結到包含一可信賴的平台模組(Trusted Platform Module,TPM)的一計算裝置的一狀態,該方法包括以下步驟:加密步驟,加密一第一密鑰,該第一密鑰為該現有加密機制的部分,且作為該現有加密機制的部分而受該TPM保護,使得該TPM只有在該計算裝置的該狀態等於一預定義狀態時提供對於該第一密鑰的存取,該加密步驟使得連結到該計算裝置的該狀態的該現有加密機制暫時暫停;儲存第一密鑰步驟,儲存加密之該第一密鑰於一儲存媒體上,該儲存媒體與該計算裝置通訊耦接且位於該TPM外部;儲存第二密鑰步驟,在位於該TPM內部的一儲存媒體上儲存一第二密鑰,該第二密鑰可被利用於將儲存在位於該TPM外部的該儲存媒體上的加密之該第一密鑰解密,其中該儲存第二密鑰步驟被執行為使得可獨立於該計算裝置的任何特定狀態,而從位於該TPM內部的該儲存媒體獲得該第二 密鑰;儲存索引步驟,在位於該TPM外部的該儲存媒體上,與加密之該第一密鑰一起儲存一索引,該索引識別該TPM的儲存媒體上儲存該第二密鑰的一位置;請求第二密鑰步驟,在儲存該第二密鑰於該TPM的儲存媒體上的該儲存第二密鑰步驟之後,向該TPM請求該第二密鑰,該請求指示該索引;利用第二密鑰步驟,利用回應於該請求而從該TPM獲得的該第二密鑰,將加密之該第一密鑰解密;及在利用從該TPM獲得的該第二密鑰將加密之該第一密鑰解密的該利用第二密鑰步驟之後,指示該TPM將該第二密鑰自該TPM的儲存媒體刪除,從而藉由防止存取該第一密鑰(即使加密之該第一密鑰係擷取自位於該TPM外部的該儲存媒體)而回復該現有加密機制。
- 如請求項6之方法,其中儲存該第二密鑰於該TPM的儲存媒體上之該儲存第二密鑰步驟,包括以下步驟:回應於隨後的該請求第二密鑰步驟,不論該TPM的平台配置暫存器(Platform Configuration Register,PCR)之任一者之數值為何,指示該TPM從該TPM的儲存媒體提供該第二密鑰。
- 如請求項6之方法,其中在儲存該第二密鑰於該TPM的儲存媒體上之後向該TPM請求該第二密鑰之該請求第二密鑰步驟,亦發生於該計算裝置的該狀態的一改變之後,已 預期著該計算裝置的該狀態的該改變而執行該現有加密機制的該暫時暫停。
- 如請求項8之方法,包含以下步驟:在該儲存第一密鑰步驟、該儲存索引步驟、以及該儲存第二密鑰步驟之後且在該請求第二密鑰步驟之前,將該計算裝置重開機。
- 如請求項6之方法,其中該現有加密機制為應用至位於該TPM外部的該儲存媒體的一整量加密機制。
- 一種電腦可讀取儲存媒體,包含用於保護一休眠圖像的電腦可執行指令,該等電腦可執行指令執行之步驟包括:加密步驟,加密一休眠圖像,該休眠圖像包含來自一計算裝置的一揮發性記憶體的內容,該計算裝置包含一可信賴的平台模組(Trusted Platform Module,TPM);儲存加密休眠圖像步驟,儲存加密之該休眠圖像於一儲存媒體上,該儲存媒體與該計算裝置通訊耦接且位於該TPM外部;儲存密鑰步驟,在位於該TPM內部的一儲存媒體上儲存一密鑰,該密鑰可被利用於將加密之該休眠圖像解密,使得該密鑰僅可在該計算裝置的一狀態等於一預定義狀態時從該TPM獲得;儲存索引步驟,在位於該TPM外部的該儲存媒體上,與 加密之該休眠圖像一起儲存一索引,該索引識別該TPM的儲存媒體上儲存該密鑰的一位置;請求密鑰步驟,在儲存該密鑰於該TPM的儲存媒體上的該儲存密鑰步驟之後且在該計算裝置的一休眠之後,向該TPM請求該密鑰,該請求指示該索引;利用密鑰步驟,利用回應於該請求而從該TPM獲得的該密鑰,將加密之該休眠圖像解密;及在將所解密的加密之該休眠圖像的至少一部份回復至該計算裝置的該揮發性記憶體之前,指示該TPM將該密鑰自該TPM的儲存媒體刪除,從而防止加密之該休眠圖像被成功解密多於一次。
- 如請求項11之電腦可讀取儲存媒體,其中用於在位於該TPM內部的該儲存媒體上儲存該密鑰的該等電腦可執行指令,包含用於執行以下步驟的電腦可執行指令:只有在該TPM的一或多個平台配置暫存器(Platform Configuration Register,PCR)包括預期數值時提供該密鑰。
- 如請求項12之電腦可讀取儲存媒體,其中該一或多個PCR的該等預期數值,等於該休眠圖像產生時該等PCR的數值。
- 如請求項11之電腦可讀取儲存媒體,該電腦可讀取儲存媒體包含進一步的電腦可執行指令,用於執行以下步 驟:在從該TPM請求該密鑰的該請求密鑰步驟失敗時,將該計算裝置重開機。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/577,846 US8250379B2 (en) | 2009-10-13 | 2009-10-13 | Secure storage of temporary secrets |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201137663A TW201137663A (en) | 2011-11-01 |
TWI497338B true TWI497338B (zh) | 2015-08-21 |
Family
ID=43855773
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW099132069A TWI497338B (zh) | 2009-10-13 | 2010-09-21 | 暫時秘密之保全儲存 |
Country Status (7)
Country | Link |
---|---|
US (1) | US8250379B2 (zh) |
EP (1) | EP2488987B1 (zh) |
JP (1) | JP5643318B2 (zh) |
KR (1) | KR101699998B1 (zh) |
CN (1) | CN102549594B (zh) |
TW (1) | TWI497338B (zh) |
WO (1) | WO2011046731A2 (zh) |
Families Citing this family (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8250380B2 (en) * | 2009-12-17 | 2012-08-21 | Hitachi Global Storage Technologies Netherlands B.V. | Implementing secure erase for solid state drives |
US8943329B2 (en) * | 2010-03-29 | 2015-01-27 | Lenovo (Singapore) Pte. Ltd. | Method and apparatus for sharing an integrity security module in a dual-environment computing device |
US8555083B1 (en) * | 2010-07-22 | 2013-10-08 | Symantec Corporation | Systems and methods for protecting against unauthorized access of encrypted data during power-management modes |
WO2012023050A2 (en) | 2010-08-20 | 2012-02-23 | Overtis Group Limited | Secure cloud computing system and method |
JP4966422B1 (ja) * | 2011-03-31 | 2012-07-04 | 株式会社東芝 | 情報処理装置及びデータ保護方法 |
US8375221B1 (en) | 2011-07-29 | 2013-02-12 | Microsoft Corporation | Firmware-based trusted platform module for arm processor architectures and trustzone security extensions |
TWI546695B (zh) * | 2011-12-15 | 2016-08-21 | 萬國商業機器公司 | 刪除儲存系統中之內容 |
EP2834768B1 (en) * | 2012-04-06 | 2018-05-09 | Security First Corp. | Systems and methods for securing and restoring virtual machines |
JP5961059B2 (ja) * | 2012-07-18 | 2016-08-02 | キヤノン株式会社 | 情報処理装置およびその起動方法 |
JP2014096133A (ja) * | 2012-10-10 | 2014-05-22 | Ricoh Co Ltd | 伝送端末、伝送システム、プログラム |
JP6095330B2 (ja) * | 2012-11-13 | 2017-03-15 | キヤノン株式会社 | 情報処理装置及びその制御方法、プログラム |
JP5842800B2 (ja) * | 2012-12-20 | 2016-01-13 | カシオ計算機株式会社 | 制御システム、情報処理装置、端末装置、制御方法及び制御プログラム |
EP2987107B1 (en) * | 2013-04-15 | 2019-03-27 | Amazon Technologies, Inc. | Host recovery using a secure store |
US10389709B2 (en) * | 2014-02-24 | 2019-08-20 | Amazon Technologies, Inc. | Securing client-specified credentials at cryptographically attested resources |
US9690943B2 (en) * | 2014-06-04 | 2017-06-27 | Dell Products L.P. | BIOS secure data management system |
CN104618096B (zh) * | 2014-12-30 | 2018-10-30 | 华为技术有限公司 | 保护密钥授权数据的方法、设备和tpm密钥管理中心 |
US9565169B2 (en) * | 2015-03-30 | 2017-02-07 | Microsoft Technology Licensing, Llc | Device theft protection associating a device identifier and a user identifier |
CN105847011A (zh) * | 2016-03-21 | 2016-08-10 | 华为技术有限公司 | 一种密钥加载方法及设备 |
CN106295416B (zh) * | 2016-08-19 | 2021-07-16 | 联想(北京)有限公司 | 一种唤醒控制方法及电子设备 |
KR102414866B1 (ko) | 2017-10-31 | 2022-06-29 | 미츠비시 쥬고 기카이 시스템 가부시키가이샤 | 정보 처리 장치, 정보 처리 장치의 제어 방법 및 프로그램 |
US11431752B2 (en) * | 2018-06-22 | 2022-08-30 | Microsoft Technology Licensing, Llc | Ex post facto platform configuration attestation |
US11652626B2 (en) * | 2020-02-18 | 2023-05-16 | International Business Machines Corporation | Safeguarding cryptographic keys from modification or deletion |
CN115151908A (zh) * | 2020-02-21 | 2022-10-04 | 惠普发展公司, 有限责任合伙企业 | 用于数据的加密和解密的计算设备 |
CA3196276A1 (en) * | 2020-09-22 | 2022-03-31 | Keyavi Data Corp. | Encrypted file control |
TWI783410B (zh) * | 2021-03-16 | 2022-11-11 | 瑞昱半導體股份有限公司 | 電子裝置以及其休眠恢復方法 |
US11960625B2 (en) * | 2021-05-06 | 2024-04-16 | Jpmorgan Chase Bank, N.A. | Systems and methods for protecting sensitive data in user online activities |
US11805108B2 (en) * | 2021-05-10 | 2023-10-31 | Vmware, Inc. | Secure volume encryption suspension for managed client device updates |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060155988A1 (en) * | 2005-01-07 | 2006-07-13 | Microsoft Corporation | Systems and methods for securely booting a computer with a trusted processing module |
US20080104706A1 (en) * | 2006-10-31 | 2008-05-01 | Karp Alan H | Transferring a data object between devices |
Family Cites Families (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6292899B1 (en) * | 1998-09-23 | 2001-09-18 | Mcbride Randall C. | Volatile key apparatus for safeguarding confidential data stored in a computer system memory |
DE60135681D1 (de) * | 2000-06-21 | 2008-10-16 | Sony Corp | Vorrichtung und Verfahren zur Schlüssel erneuerung in einer hierarchischen Baumschlüsselstruktur |
EP1273996B1 (en) | 2001-07-06 | 2008-08-06 | Texas Instruments Incorporated | Secure bootloader for securing digital devices |
JP2003051819A (ja) * | 2001-08-08 | 2003-02-21 | Toshiba Corp | マイクロプロセッサ |
CN100350343C (zh) * | 2002-03-13 | 2007-11-21 | 松下电器产业株式会社 | 安全设备 |
US7343493B2 (en) * | 2002-03-28 | 2008-03-11 | Lenovo (Singapore) Pte. Ltd. | Encrypted file system using TCPA |
JP4635009B2 (ja) * | 2003-05-21 | 2011-02-16 | ヒューレット−パッカード デベロップメント カンパニー エル.ピー. | 通信における証明された秘密値の使用 |
US7210166B2 (en) * | 2004-10-16 | 2007-04-24 | Lenovo (Singapore) Pte. Ltd. | Method and system for secure, one-time password override during password-protected system boot |
JP2006197303A (ja) * | 2005-01-14 | 2006-07-27 | Matsushita Electric Ind Co Ltd | 鍵記録媒体及び再生装置 |
US7758422B2 (en) * | 2005-04-13 | 2010-07-20 | Microsoft Corporation | Hard drive authentication |
US20070079120A1 (en) * | 2005-10-03 | 2007-04-05 | Bade Steven A | Dynamic creation and hierarchical organization of trusted platform modules |
JP2007102450A (ja) * | 2005-10-04 | 2007-04-19 | Matsushita Electric Ind Co Ltd | コンテンツ記録媒体 |
US8306918B2 (en) | 2005-10-11 | 2012-11-06 | Apple Inc. | Use of media storage structure with multiple pieces of content in a content-distribution system |
IL171963A0 (en) * | 2005-11-14 | 2006-04-10 | Nds Ltd | Secure read-write storage device |
US7444670B2 (en) * | 2006-03-21 | 2008-10-28 | International Business Machines Corporation | Method and apparatus for migrating a virtual TPM instance and preserving uniqueness and completeness of the instance |
JP4769608B2 (ja) * | 2006-03-22 | 2011-09-07 | 富士通株式会社 | 起動検証機能を有する情報処理装置 |
JP2008033512A (ja) * | 2006-07-27 | 2008-02-14 | Toppan Printing Co Ltd | セキュリティチップ及びプラットフォーム |
JP2008035449A (ja) * | 2006-08-01 | 2008-02-14 | Hitachi Software Eng Co Ltd | 自己復号ファイルによるデータ配布方法および該方法を用いた情報処理システム |
US7711960B2 (en) * | 2006-08-29 | 2010-05-04 | Intel Corporation | Mechanisms to control access to cryptographic keys and to attest to the approved configurations of computer platforms |
US8385551B2 (en) * | 2006-12-22 | 2013-02-26 | Telefonaktiebolaget L M Ericsson (Publ) | Highly available cryptographic key storage (HACKS) |
JP2008171487A (ja) * | 2007-01-10 | 2008-07-24 | Ricoh Co Ltd | データ入力装置、データ出力装置及びデータ処理装置 |
GB0701518D0 (en) | 2007-01-26 | 2007-03-07 | Hewlett Packard Development Co | Methods, devices and data structures for protection of data |
JP4933946B2 (ja) * | 2007-04-18 | 2012-05-16 | 株式会社日立製作所 | 外部記憶装置及び情報漏洩防止方法 |
US9158920B2 (en) * | 2007-06-28 | 2015-10-13 | Intel Corporation | System and method for out-of-band assisted biometric secure boot |
CN101369254A (zh) * | 2007-08-15 | 2009-02-18 | 联想(北京)有限公司 | 数据保护方法和设备 |
US8064605B2 (en) * | 2007-09-27 | 2011-11-22 | Intel Corporation | Methods and apparatus for providing upgradeable key bindings for trusted platform modules |
CN101441601B (zh) * | 2007-11-22 | 2011-03-16 | 中国长城计算机深圳股份有限公司 | 一种硬盘ata指令的加密传输的方法及系统 |
US20100023782A1 (en) * | 2007-12-21 | 2010-01-28 | Intel Corporation | Cryptographic key-to-policy association and enforcement for secure key-management and policy execution |
US7971081B2 (en) * | 2007-12-28 | 2011-06-28 | Intel Corporation | System and method for fast platform hibernate and resume |
CN101470789A (zh) * | 2007-12-28 | 2009-07-01 | 中国长城计算机深圳股份有限公司 | 一种计算机的加解密方法及装置 |
US20090319772A1 (en) * | 2008-04-25 | 2009-12-24 | Netapp, Inc. | In-line content based security for data at rest in a network storage system |
-
2009
- 2009-10-13 US US12/577,846 patent/US8250379B2/en active Active
-
2010
- 2010-09-21 TW TW099132069A patent/TWI497338B/zh not_active IP Right Cessation
- 2010-09-24 WO PCT/US2010/050275 patent/WO2011046731A2/en active Application Filing
- 2010-09-24 EP EP10823813.0A patent/EP2488987B1/en active Active
- 2010-09-24 CN CN201080046403.XA patent/CN102549594B/zh active Active
- 2010-09-24 JP JP2012534208A patent/JP5643318B2/ja active Active
- 2010-09-24 KR KR1020127009366A patent/KR101699998B1/ko active IP Right Grant
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060155988A1 (en) * | 2005-01-07 | 2006-07-13 | Microsoft Corporation | Systems and methods for securely booting a computer with a trusted processing module |
US20080104706A1 (en) * | 2006-10-31 | 2008-05-01 | Karp Alan H | Transferring a data object between devices |
Also Published As
Publication number | Publication date |
---|---|
US8250379B2 (en) | 2012-08-21 |
EP2488987A2 (en) | 2012-08-22 |
WO2011046731A3 (en) | 2011-07-14 |
US20110087896A1 (en) | 2011-04-14 |
KR101699998B1 (ko) | 2017-01-25 |
KR20120087128A (ko) | 2012-08-06 |
EP2488987B1 (en) | 2020-11-18 |
CN102549594B (zh) | 2015-04-08 |
TW201137663A (en) | 2011-11-01 |
EP2488987A4 (en) | 2014-06-18 |
WO2011046731A2 (en) | 2011-04-21 |
CN102549594A (zh) | 2012-07-04 |
JP2013507715A (ja) | 2013-03-04 |
JP5643318B2 (ja) | 2014-12-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI497338B (zh) | 暫時秘密之保全儲存 | |
JP5837208B2 (ja) | 記憶装置のロック解除 | |
US10049215B2 (en) | Apparatus and method for preventing access by malware to locally backed up data | |
US9141815B2 (en) | System and method for intelligence based security | |
JP5475475B2 (ja) | プログラム実行装置、制御方法、制御プログラム及び集積回路 | |
US8745386B2 (en) | Single-use authentication methods for accessing encrypted data | |
KR100809977B1 (ko) | 집적 시스템 내에서의 보안 운영의 활성화 방법, 보안 운영의 초기화 방법, 암호화된 데이터의 변환 방법 및 집적 시스템 기능의 복원 방법 | |
US10032029B2 (en) | Verifying integrity of backup file in a multiple operating system environment | |
KR101081118B1 (ko) | 보안되는 프로그램을 복원하는 컴퓨터 구현 방법, 정보 처리 시스템 및 컴퓨터 판독 가능한 기록 매체 | |
US9378156B2 (en) | Information handling system secret protection across multiple memory devices | |
KR101054981B1 (ko) | 프로그램의 콘텍스트를 보안적으로 저장하는 컴퓨터 구현 방법, 정보 처리 시스템 및 컴퓨터 판독 가능한 기록 매체 | |
JP2016025616A (ja) | ディスク・ドライブが記憶するデータを保護する方法および携帯式コンピュータ | |
JP2008072717A (ja) | 埋込認証を有するハードディスク・ストリーミング暗号操作 | |
US11231988B1 (en) | Systems and methods for secure deletion of information on self correcting secure computer systems | |
CN113177217A (zh) | 拷贝文件的方法及其系统 | |
US11669389B1 (en) | Systems and methods for secure deletion of information on self correcting secure computer systems | |
Meling et al. | Gohcci: Protecting sensitive data on stolen or misplaced mobile devices |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | Annulment or lapse of patent due to non-payment of fees |