TWI544332B - 用於以經加密塊為基礎之快速資料加密策略順從的方法與電腦儲存媒體 - Google Patents

用於以經加密塊為基礎之快速資料加密策略順從的方法與電腦儲存媒體 Download PDF

Info

Publication number
TWI544332B
TWI544332B TW100136565A TW100136565A TWI544332B TW I544332 B TWI544332 B TW I544332B TW 100136565 A TW100136565 A TW 100136565A TW 100136565 A TW100136565 A TW 100136565A TW I544332 B TWI544332 B TW I544332B
Authority
TW
Taiwan
Prior art keywords
encrypted
block
segment
repository
data
Prior art date
Application number
TW100136565A
Other languages
English (en)
Other versions
TW201310276A (zh
Inventor
巴斯摩印諾坎堤
賽曼柯艾力克斯M
葛林達斯汀L
賽曼柯艾力斯曼鈕斯柏
Original Assignee
微軟技術授權有限責任公司
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 微軟技術授權有限責任公司 filed Critical 微軟技術授權有限責任公司
Publication of TW201310276A publication Critical patent/TW201310276A/zh
Application granted granted Critical
Publication of TWI544332B publication Critical patent/TWI544332B/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
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/062Securing storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Storage Device Security (AREA)

Description

用於以經加密塊為基礎之快速資料加密策略順從的方法 與電腦儲存媒體
本發明係關於以經加密塊為基礎之快速資料加密策略順從。
可由各種設定使用電腦,有時並依附一些特定的策略。例如,在存取企業資料(諸如來自個人電腦的電子郵件)時,企業策略可規定個人電腦必須將儲存在個人電腦的儲存裝置中上的企業資料加密,以允許對企業資料的存取。直到策略被順從之前,電腦可無法存取特定企業服務,但使用者可對等待儲存裝置被加密以使用企業服務感到挫折(取決於儲存裝置的大小,可能需等待數分鐘或數小時之等級)。
茲提供此發明內容以簡化形式介紹一些概念選擇,該等概念選擇將進一步描述於下文實施方式中。此發明內容並不意為識別所主張發明標的之關鍵特徵或必要特徵,亦不意為用以限制所主張發明標的之範圍。
根據一或多個態樣,運算裝置接收啟動用於運算裝置之策略的要求。策略指示在策略啟動之後,將由運算裝置寫入儲存庫(volume)的資料加密。啟動用於運算裝置之策略,包含在回傳順從於策略之指示之後將寫入儲存庫的資料加密,並使用經加密塊映射表識別經加密儲存庫之區段群組,儘管儲存庫的一或多個區段為未經加密。回應要求,回傳順從於策略之指示,儘管儲存庫的一或多個區段為未經加密。
根據一或多個態樣,存取經加密塊映射表,以順從用於運算裝置的策略,策略指示在策略啟動之後將由運算裝置寫入儲存庫的資料加密。經加密塊映射表對儲存庫之區段的每一塊,識別塊中的區段是否為未經加密。回應寫入內容至區段之要求,校驗經加密塊映射表以決定包含該區段的塊是否為未經加密。若包含該區段的塊為未經加密,則保留寫入要求直到塊中的區段被加密。
在本文中討論快速順從資料加密策略。可產生由運算裝置使用之儲存庫的區段映射表,區段映射表識別儲存庫的一或多個區段,以及一或多個區段之每一者之內容的訊跡。可於在運算裝置上安裝作業系統不久之後(或作為安裝的一部分)產生區段映射表,或者較遲地在啟動用於運算裝置之策略之前產生區段映射表。對運算裝置啟動的策略,指示在策略啟動之後將由運算裝置寫入儲存庫的內容加密。在策略啟動之後,運算裝置將寫入儲存庫之區段的內容加密。此外,在策略啟動之後,特定區段中的內容可或不可為經加密。使用區段映射表以識別儲存庫的哪些區段具有經加密內容,且因此識別哪些內容在回傳給要求者時要被解密。
或者,可產生由運算裝置使用之儲存庫的經加密塊(chunk)映射表,經加密塊映射表識別儲存庫之區段塊。對於儲存庫之區段塊之每一者,經加密塊映射表指示塊中的區段係經加密(或未使用)或未經加密。在對運算裝置啟動策略之後(策略指示在策略啟動之後將由運算裝置寫入儲存庫的內容加密),寫入儲存庫的資料被加密。若資料被寫入未經加密的塊(此係由經加密塊映射表決定),則塊中的區段被加密,資料被加密並寫入區段中,且經加密塊映射表被更新而指示塊為經加密。基於所讀取資料的區段是否為未經加密(此係由經加密塊映射表決定),來決定是否要將從儲存庫讀取的資料解密。
在本文中參照密碼學(cryptography),密碼學可包含對稱鑰密碼學、公鑰密碼學以及公/私金鑰對。雖然此種鑰密碼學係為在本發明領域中具有通常知識者所熟知,在此包含對此種密碼學的簡要概論以協助讀者。在公鑰密碼學中,個體(諸如使用者、硬體或軟體部件、裝置、域等等)具有鑰(公鑰及/或私鑰)。公/私金鑰對的公鑰可為大眾所可得,但私鑰被保持為秘密。在沒有私鑰的情況下,非常難以使用公鑰計算,而將使用公鑰加密的資料解密。使用一些公鑰密碼學演算法,資料可由任何個體使用公鑰來加密,且僅可由具有對應私鑰的個體來解密。此外,使用一些公鑰密碼學演算法,可由使用資料與私鑰來產生用於資料的數位簽章(digital signature)。在沒有私鑰的情況下,非常難以計算而創造可使用公鑰來驗證的簽章。任何具有公鑰的個體藉由對公鑰、簽章與被簽署的資料執行適合的數位簽章驗證演算法,可使用公鑰來驗證數位簽章。
另一方面,在對稱鑰密碼學中,共享鑰(亦稱為對稱鑰)為兩個個體所知並保持秘密。任何具有共享鑰的個體,通常能夠將由彼共享鑰加密的資料解密。在沒有共享鑰的情況下,非常難以經由計算而將由使用共享鑰加密的資料解密。因此,若兩個個體皆知道共享鑰,則兩個個體之每一者可加密可由另一者解密的資料,但其他個體若不知道共享鑰則無法解密資料。類似地,具有共享鑰的個體可加密可由同一個體解密的資料,但其他個體若不知道共享鑰則無法解密資料。此外,可基於對稱鑰密碼學產生認證碼或訊息認證碼,諸如使用金鑰式雜湊(keyed-hash)訊息認證碼機制。例如,受信任的第三方可基於對特定個體之識別而產生對稱鑰,且隨後可產生並驗證對於彼特定個體的認證碼或訊息認證碼(例如,藉由使用對稱鑰加密或解密資料)。
第1圖為圖示說明根據一或多個具體實施例之範例運算裝置100的方塊圖,範例運算裝置100實施快速順從資料加密策略。運算裝置100可為各種不同類型的裝置,諸如實體裝置或虛擬裝置。例如,運算裝置100可為實體裝置,諸如桌上型電腦、伺服器電腦、膝上型電腦或小筆電(netbook)、平板電腦或文字編譯器(notepad)電腦、行動站、娛樂設備、通訊耦合至顯示裝置的機上盒、電視或其他顯示裝置、蜂巢式行動電話或其他無線電話、遊戲主機、汽車用電腦等等。運算裝置100亦可為虛擬裝置,諸如在實體裝置上運行的虛擬機器。虛擬機器可在各種不同類型之實體裝置的任意者(例如,前述各種類型之任意者)上運行。因此,運算裝置100可為具有大量記憶體與處理器資源的完整資源裝置(例如,個人電腦、遊戲主機),以至具有有限記憶體及/或處理器資源的低資源裝置的範圍內(例如,傳統機上盒,手持式遊戲主機)。
運算裝置100包含加密/解密控制模組102、讀取/寫入控制模組104、策略模組106、區段映射表108以及儲存庫110。雖然在運算裝置100中圖示說明了特定模組102、104與106,應注意模組102、104與106之一或多者可被結合為單一模組,或者模組102、104與106之一或多者的功能性可被分離為多重模組。加密/解密控制模組102使用各種不同的密碼學技術(例如,使用對稱鑰密碼學及/或公鑰密碼學),來管理儲存在儲存庫110上之資料的加密與解密。儲存在儲存庫110上之資料代表任何可被儲存的資訊,諸如程式資料、使用者資料、系統資料、指令或碼等等。
加密/解密控制模組102通常僅在被認證時允許資料被加密及/或解密。模組102可由各種方式被認證以允許資料被加密及/或解密。例如,模組102可被認證以僅在運算裝置100的使用者已證明他或她擁有有效的身份碼以存取資料之後,允許資料被加密及/或解密。可使用各種不同的身份碼,諸如對於秘密詞組的知識(例如,密碼)、對應於憑證(certificate)的私鑰、時間性的祕密(例如,一次性密碼)等等。做為另一範例,模組102可被認證以僅在偵測到運算裝置100為處於特定狀態中(例如,符合特定策略)之後,允許資料被加密及/或解密。作為又一範例,模組102可被認證以僅在獲取儲存在運算裝置100中(或由運算裝置獲取)之特定加密及/或解密鑰之後,允許資料被加密及/或解密。
讀取/寫入控制模組104管理自儲存庫110讀取資料,以及寫入資料至儲存庫110。此讀取與寫入包含讀取與寫入經加密資料(亦稱為密文(ciphertext))以及未經加密資料(亦稱為明文(plaintext))。讀取/寫入控制模組104可適當地調用模組102以加密及/或解密讀取及/或寫入的資料。
策略模組106在運算裝置100上實施各種策略。每一策略識別裝置100要遵行的一或多個行為,諸如欲在裝置100上運行的程式類型(例如,反惡意軟體程式)、欲由裝置100實施的安全類型(例如,加密與解密資料)等等。在一或多個具體實施例中,策略可指示一旦在裝置100上啟動策略(且可選地,直到策略停用為止),則欲加密儲存於儲存庫110上的資料。啟動策略代表在運算裝置100上執行策略,且運算裝置100順從於策略。策略模組106可由各種方式獲取欲實施的一或多個策略,諸如以一或多個策略預組態、接收一或多個策略的使用者輸入(例如,從管理者)、從遠端伺服器或服務接收一或多個策略等等。
儲存庫110為可使用各種不同的科技而實施的儲存裝置,諸如快閃記憶體裝置、磁碟、光碟、以上之組合者等等。儲存庫110亦可為被運算裝置與作業系統邏輯上當作是儲存裝置之儲存裝置的部分。例如,儲存庫可為硬碟機的分割、快閃記憶體裝置的部分等等。
儲存庫110被圖示說明為被包含為運算裝置100的部分。例如,儲存庫110可為耦合至裝置100的內部匯流排的內部儲存裝置,諸如使用序列先進技術附件(Serial Advanced Technology Attachment;SATA)介面、平行先進技術附件(Parallel ATA;PATA)介面、小型電腦系統介面(Small Computer System Interface;SCSI)介面等等。做為另一範例,儲存庫可為被實施為一或多個晶片(位在與實施模組102-106之一或多者之晶片相同的電路板上)的內部儲存裝置、被實施於與模組102-106之一或多者相同之晶片中的內部儲存裝置等等。
或者,儲存庫110可位於運算裝置100外部,並由各種不同的有線及/或無線方式耦合至運算裝置100。例如,儲存庫110可經由以下方式耦合至運算裝置100:通用序列匯流排(Universal Serial Bus;USB)連結、無線USB連結、IEEE 1394連結、外部SATA(eSATA)連結、藍芽(Bluetooth)連結等等。儲存庫110可經設計以耦合至不同的運算裝置(同時或在不同時間)。在一或多個具體實施例中,儲存庫110為可移除式庫,諸如經設計為儲存裝置的部分,儲存裝置的部分簡單地被耦合至/去耦合自運算裝置100並運送至其他運算裝置。此種可移除式儲存庫的範例為拇指碟(thumb drive)或USB快閃記憶體裝置。或者,儲存庫110可為其他形式,諸如為經由網路(例如,網際網路(Internet),本地區域網路(LAN)、蜂巢式或其他電話網路、內部網路、儲存區域網路(SAN)、網路附加儲存(NAS)、其他公眾及/或專屬網路、以上之結合者等等))耦合至運算裝置100的網路儲存裝置。
儲存庫110包含多重區段,資料可儲存在區段中。儲存在區段中的資料亦可被稱為彼區段的內容。每一區段為儲存庫110的部分,且不同的儲存庫可具有不同的區段大小(例如,512位元組、4k位元組、8k位元組等等)。儲存庫通常具有相同大小的區段,但亦可具有不同大小的區段。區段映射表108識別儲存庫110的一或多個區段,以及一或多個區段之每一者之內容的訊跡。下文更詳細描述區段映射表108與區段內容之訊跡的使用。雖然在此以操作於每一區段為基礎而討論,應注意到在此討論的技術亦可由類似的方式,基於儲存庫110上的其他內容分組來操作(例如,基於多重區段之分組或其他內容的集合)。
區段映射表108通常儲存在儲存裝置(例如,儲存庫110)上,並在運算裝置100開始作業時(例如,被電力開啟、重置等等)複製入運算裝置100的記憶體(例如,RAM)。記憶體通常為在運算裝置100被電力關閉時不維持記憶體狀態的揮發性記憶體,但揮發性記憶體通常具有較儲存庫110快的存取時間。或者,區段映射表108可被維持於在運算裝置100被電力關閉時維持記憶體狀態的非揮發性記憶體中(例如,快閃記憶體)。
在一或多個具體實施例中,加密/解密控制模組102、讀取/寫入控制模組104與策略模組106被實施於運算裝置100的作業系統中。回應於在運算裝置100上策略的啟動(指示欲加密資料),在策略啟動之後將寫入儲存庫110的資料加密,而無關將資料寫入儲存的應用程式或其他程式。加密/解密控制模組102對多重應用程式加密寫入儲存庫110的資料,而非單純對單一應用程式。
第2圖圖示說明根據一或多個具體實施例的範例區段映射表200。區段映射表200可為(例如)第1圖的區段映射表108。區段映射表200包含多重區段識別符與對應的區段訊跡202(1)、……202(x)。區段映射表200中的區段識別符可為各種不同的形式,諸如區段的數值識別符。
應注意到,雖然第2圖圖示說明多重區段識別符之每一者具有對應的區段訊跡,區段映射表200可替代性地由不同方式來組態。例如,區段映射表200可將區段訊跡以群組設置,群組具有相接的區段映射符組或連串。區段映射表200可包含單一區段映射符(例如,在區段映射符連串起始或開始處的區段映射符),且隨後在給定區段訊跡大小的情況下,可輕易識別在彼群組內的特定區段訊跡。例如,若在群組起始處的區段映射符為區段732且區段訊跡長度為6位元組,則可輕易決定對於區段735的區段訊跡為在區段訊跡群組內偏移3x6=18位元組。雖然在區段映射表200中對於一群組僅包含單一區段映射符,應注意到區段映射表仍被視為識別在包含於彼群組的組或連串中的區段識別符的多重區段(以及對應的區段訊跡)。
在特定時間點處,鎖定區段映射表200。鎖定區段映射表200,代表將區段映射表200設為或固定為區段映射表200的當前狀態,且不允許改變區段映射表200。可由各種方式鎖定區段映射表200,諸如儲存在非揮發性一次性寫入記憶體位置中、儲存在僅可由運算裝置100之作業系統存取的儲存庫110部分且作業系統拒絕執行任何對區段映射表200的寫入等等。可在不同時間處鎖定區段映射表200(例如,在安裝了作業系統或啟動了策略時),如於下文更詳盡討論者。
區段映射表200不需(且通常不會)包含對於儲存庫之每一區段的識別符與對應訊跡。相反的,區段映射表200包含對於在區段映射表200鎖定之前被寫入的區段的識別符與對應訊跡。或者,區段映射表200可包含對於在區段映射表200鎖定之前未被寫入的多重區段的識別符,且亦包含對在區段映射表200鎖定之前被寫入的經識別區段的一或多個指示(例如,旗標值,包含僅對在區段映射表200鎖定之前被寫入之彼等區段的訊跡等等)。
區段映射表200中的區段訊跡,為至少部分的區段內容的代表。可由各種不同方式將區段訊跡產生為對區段內容的函數。在一或多個具體實施例中,可由選定特定數量之區段內容位元組來產生區段訊跡(例如,區段首6個位元組中的內容、從區段第11個位元組開始的8個位元組中的內容等等)。或者,可由各種不同方式產生區段的訊跡,諸如藉由應用各種不同的雜湊演算法至區段內容以獲取雜湊值、應用各種其他的演算法或規則至區段內容以獲取代表區段內容的值等等。
區段映射表200中的區段訊跡,被用以識別在區段映射表200鎖定之後,對應區段的內容是否有改變(可用以決定是否要解密內容,如詳細討論於下文)。在任何給定時間處,可產生在區段映射表200中識別之區段的內容的訊跡,由與對區段映射表200產生之彼區段的訊跡相同的方式。來自區段映射表200的訊跡被與對區段產生的訊跡比較,並決定兩個訊跡是否匹配(例如,為相同)。若兩個訊跡匹配,則在區段映射表200鎖定之後對應訊跡的內容未改變。然而,若兩個訊跡不匹配,則在區段映射表200鎖定之後對應訊跡的內容有改變。
在一或多個具體實施例中,由促進快速存取區段映射表200內容的方式,在記憶體或在儲存裝置中維持區段映射表200。例如,可在儲存裝置上維持區段映射表200於儲存裝置的相接區段群組中、於記憶體中的相接位址群組中等等。此外,可由基於區段識別符的數值次序、由基於區段識別符來索引的二元樹等等,來將區段映射表200的內容儲存在儲存裝置及/或記憶體中。
在一或多個具體實施例中,區段映射表200的內容被維持為區段識別符群組中的儲存裝置上,每一群組包含相接的區段識別符組或連串。每一群組包含標頭,標頭識別關於群組的各種資訊,諸如群組大小(例如,用於儲存群組之儲存裝置區段的數量、連串中區段識別符的數量等等)、用於群組的校驗和(checksum)值、用以存取群組中的第一區段識別符與區段訊跡之對儲存庫(或記憶體)的偏移(offset)等等。隨後,在運算裝置開始作業時(例如,電力開啟、重置等等),該等群組可輕易被映射入記憶體內的區段映射表中。應注意到在此種具體實施例中,區段映射表200不需包含每一區段識別符的識別符,但相反地可僅包含對於區段識別符連串中的第一區段識別符,與對應於連串中的區段識別符的區段訊跡的指示。因此,對應於連串中特定區段的區段訊跡可輕易被給定區段訊跡大小。
回到第1圖,區段映射表108包含在區段映射表108鎖定之前被寫入之區段的識別符與對應訊跡。在區段映射表108鎖定之後,由加密/解密控制模組102加密寫入至儲存庫110的資料。此種資料可包含寫入至先前未被寫入之儲存庫110的區段的資料,以及寫入至先前被寫入之儲存庫110的區段的資料(複寫區段)。然而,在區段映射表108鎖定之前寫入儲存庫110的資料未被加密。因此,在區段映射表108鎖定之後,區段映射表108被用以決定區段是在區段映射表108鎖定之前被寫入(且因此未被加密),或是在區段映射表108鎖定之後被寫入(且因此被加密)。
在區段映射表108鎖定之後,在要求從儲存庫110的區段讀取出資料時,校驗(例如,由讀取/寫入控制模組104或策略模組106)區段是否被識別在區段映射表108中。若區段未被識別在區段映射表108中,則寫入區段的資料係在區段映射表108鎖定之後被寫入,且因此區段內容被加密。因此,讀取/寫入控制模組104調用加密/解密控制模組102,以在將區段內容回傳給要求者之前解密區段內容。
然而,若區段被識別於區段映射表108中,則校驗(例如,由讀取/寫入控制模組104或策略模組106)當前區段內容的訊跡是否與區段映射表108中區段的訊跡匹配。若兩個訊跡匹配,則寫入區段的資料係在區段映射表108鎖定之前被寫入,且因此區段內容未被加密。因此,讀取/寫入控制模組104可將區段內容回傳給要求者,且不需調用加密/解密控制模組102以解密區段內容。然而,若兩個訊跡不匹配,則寫入區段的資料係在區段映射表108鎖定之後被寫入,且因此區段內容被加密。因此,在將區段內容回傳給要求者之前,讀取/寫入控制模組104調用加密/解密控制模組102以解密區段內容。
在一或多個具體實施例中,讀取/寫入控制模組104亦維持對應於儲存庫110的位元映像(bitmap),位元映像中的每一位元對應於儲存庫110的區段。若庫110的特定區段在區段映射表108鎖定之後被寫入(可選地在區段映射表108鎖定之後特定區段僅被第一次寫入),則模組104設定(例如,設定為值1)對應至彼特定區段的位元。若區段在區段映射表108鎖定之後未被寫入,則對應位元為非設定(例如,具有0值)。在讀取區段內容時,若對應於區段之位元映像中的位元被設定,則模組104知道區段在區段映射表108鎖定之後有被寫入。因此,模組104調用加密/解密控制模組102,以在將區段內容回傳給要求者之前解密區段內容。然而,若對應於區段之位元映像中的位元為非設定,則模組104進行校驗區段是否被識別於區段映射表108中及/或訊跡是否匹配,如上文所述。或者,寫入資料至儲存庫110的區段以及更新位元映像(例如,將對應於區段的位元設為值1)可被執行為基元作業,在此情況中若對應於區段之位元映像中的位元不被設定,則模組104可將區段內容回傳至要求者,且不需調用加密/解密控制模組102以解密區段內容。
此位元映像亦可用以處理訊跡衝突。訊跡衝突發生於兩個不同的區段內容產生相同訊跡時。位元映像允許在其中有待解決之訊跡衝突的情況,因為對應於區段的位元在寫入區段時被設定,所以模組104知道區段在區段映射表108鎖定之後被寫入。對應於區段的位元被設定,指示區段在區段映射表108鎖定之後被寫入,無論區段當前內容的訊跡是否與區段映射表108中區段的訊跡匹配。
可於各種不同的時間處產生並鎖定區段映射表108。在一或多個具體實施例中,作為在運算裝置100上安裝或起始作業系統的部分,產生並鎖定區段映射表108。此可例如由運算裝置100的供應商或經銷商完成(例如,在運算裝置100的購買者收到運算裝置100之前)、由運算裝置100的使用者完成等等。區段映射表108的產生與鎖定,可被執行為在運算裝置100上安裝作業系統之程序的部分,或為對於運算裝置100之分離的起始或建置程序的部分。將作業系統安裝在運算裝置100上,而資料被寫入儲存庫110區段,且不由加密/解密控制模組102加密。
在此種具體實施例中,可由各種方式產生區段映射表108。例如,在安裝作業系統期間,可維持對於哪些儲存庫110區段被寫入的記錄。在此記錄中識別的區段,可被識別為區段映射表108中的區段,且對應的訊跡在區段映射表108中產生並儲存。做為另一範例,可掃描儲存庫110以識別哪些區段被寫入且哪些區段未被寫入,且彼等被寫入的區段可被識別為在區段映射表108中的區段,且對應的訊跡在區段映射表108中產生並儲存。作為又一範例,可藉由將儲存庫映像複製至儲存庫110,以在運算裝置100上安裝作業系統,且此儲存庫映像可包含區段映射表108。
因此,在此種具體實施例中,於在運算裝置100上安裝作業系統時產生並鎖定區段映射表108,隨後對儲存庫110的寫入被加密,如上文所討論。於在裝置100上啟動策略時(策略指示在啟動策略之後將儲存於儲存庫110上的資料加密),運算裝置100快速順從於策略,因為任何在區段映射表108鎖定之後寫入儲存庫100的資料被加密。運算裝置100在順從於策略之前,不需等待直到所有的儲存庫100被加密。策略模組106可因此快速地指示順從於策略,儘管儲存庫110的一些區段為未經加密,因為裝置100已正在加密寫入至儲存庫110的資料(且因此在策略啟動之後將儲存於儲存庫110上的資料加密)。
如在此使用之,快速順從於策略代表在臨限時間量之內順從,及/或不必需要加密全體儲存庫。此臨限時間量通常為不會被期待為對使用者造成顯著延遲的小數量(例如,數秒之等級)。類似地,順從於策略的快速指示代表在此種臨限時間量中指示順從,及/或不必需要加密全體儲存庫。應注意到,策略模組106不需有意地延遲以順從於策略及/或指示順從於策略,但可發生一些延遲(例如,在等待裝置100執行其他不相關功能的同時,以順從於策略;在鎖定區段映射表108的同時;以及在加密特定專用目的檔案(例如,分頁檔(paging files)、用於當機傾印(crash dumps)的檔案、冬眠檔案(hibernate file)等等)的同時等等。
在其他具體實施例中,回應於在運算裝置100上啟動策略而鎖定區段映射表108,而非作為在運算裝置100上安裝或起始作業系統之部分以鎖定區段映射表108。在鎖定區段映射表108之前,資料被寫入儲存庫110的區段而不被加密/解密控制模組102加密,且資料被從儲存庫110的區段讀取出而不需被模組102解密。產生初始區段映射表108(例如,如上文所討論之,作為在運算裝置100上安裝或起始作業系統的部分)。對於每一對區段的寫入,將區段的識別符寫入區段映射表108以更新區段映射表108(若識別符尚未包含於區段映射表108中),且將對應的內容訊跡寫入彼區段。因此,在此種具體實施例中隨著時間產生區段映射表108,並保持持續的對於儲存庫110的哪些區段已被寫入的當前識別,以及彼等已被寫入之區段的訊跡。
回應於對於在運算裝置100上啟動策略的要求(策略指示在啟動策略之後將儲存於儲存庫110上的資料加密),策略模組106啟動策略。作為啟動策略的部分,將區段映射表108鎖定,因此如上文所討論之,隨後對儲存庫110的寫入被加密。運算裝置100係快速順從於策略,因為在區段映射表108鎖定之後寫入儲存庫110的資料被加密。運算裝置100在順從於策略之前,不需等待直到所有的儲存庫100被加密。策略模組106可因此快速地指示(例如,在少於臨限延遲量之內)順從於策略,即使儲存庫110的一些區段為未經加密,因為隨後對儲存庫110的寫入將被加密,且裝置100因此將在啟動策略之後將儲存於儲存庫110上的資料加密。
在其中區段映射表108保持持續的對於儲存庫110的哪些區段已被寫入的當前識別,以及彼等已被寫入的區段的訊跡的具體實施例中,可將區段映射表108維持在記憶體中(例如,RAM)並保存在儲存裝置上(例如,儲存庫110)。在此種具體實施例中,可將區段映射表108中的區段分組在一起,而每一群組為區段映射表108的多重區段的集合。可改變群組中的區段數量,且不同的群組可具有不同數量的區段。可以不同方式而決定包含於該等不同群組的該等區段。例如,可由依數值次序之區段編號、基於區段識別符的雜湊值等等,來將區段分組在一起。
第3圖圖示說明根據一或多個具體實施例維持在記憶體中並保存在儲存裝置上之區段映射表的範例。第3圖圖示說明儲存區段映射表302的儲存庫300,與儲存區段映射表312的記憶體310。記憶體310通常為在運算裝置(包含記憶體310)電力關閉時不維持記憶體狀態,但通常具有較儲存庫300快之存取時間的揮發性記憶體。區段映射表302與312之每一者為相同區段映射表(可為第1圖的區段映射表108)的版本。
如圖示說明,區段映射表302與312之每一者包含分組為多重群組的區段。每一群組包含多重區段識別符與對應的區段訊跡。此外,每一群組具有指示群組為骯髒的或乾淨的之旗標,旗標如下文討論般被使用。
在運算裝置開始作業時(例如,被電力開啟、重置等等),從儲存庫300將區段映射表302複製入記憶體310作為區段映射表312。在此處,設定區段映射表302與312中每一群組的旗標值,以指示對應群組為乾淨的(雖然可發生設定一或多個旗標值以指示對應群組為骯髒的之情況,如下文所討論)。群組為乾淨的,指示群組在儲存庫300上的內容(區段識別符與對應的區段訊跡)與記憶體310中的群組內容相同。在隨後將資料寫入儲存庫的區段時,以新寫入彼區段之內容的訊跡更新區段映射表312。然而,區段映射表302尚未更新以包含新寫入彼區段之內容的訊跡。此外,對於包含彼區段之區段映射表312之群組的旗標,以及對於包含彼區段之區段映射表302之群組的旗標,被設定以指示群組為骯髒的(若尚未被設定以指示群組為骯髒的)。群組為骯髒的,指示群組在儲存庫300上的內容與記憶體310中的群組內容不相同。
在一些時間點處,區段映射表312中的骯髒群組的內容被清出(flush)至儲存庫300。將骯髒群組清出至儲存庫300,代表將資料群組從區段映射表312寫入區段映射表302,並將區段映射表302與312中的彼等被寫入的群組的對應旗標設定,以指示對應群組為乾淨的。可改變清出骯髒群組的特定時間點,諸如回應於被標記為骯髒之群組的臨限數量、自群組被標記為骯髒以來經過了臨限時間量、在低儲存庫使用率的時間期間(例如,在臨限時間量中對儲存庫300的讀取及/或寫入存取少於臨限數量)等等。
在運算裝置再次開始作業時(例如,被電力開啟、重置等等),區段映射表302之每一被標記為乾淨的群組被從儲存庫300複製入記憶體310,以作為區段映射表312的群組。對於區段映射表302之每一被標記為骯髒的群組,基於彼群組中經識別區段的內容,產生對於彼等經識別區段的區段訊跡。所產生的區段訊跡被儲存在區段映射表302與區段映射表312中的群組中,且區段映射表302與區段映射表312中的群組被標記為乾淨的。因此,雖然可發生其中在區段映射表312的一或多個骯髒群組被清出至儲存庫300之前運算裝置當機或斷電的情況,在運算裝置再次開始作業時此種情況可輕易的解決。未被清出至儲存庫300之區段映射表312中的一或多個骯髒群組之每一者之區段映射表302中的旗標,仍指示群組為骯髒的,且因此區段訊跡被重新產生。
在一或多個具體實施例中,在因為對區段的特定寫入設定區段映射表302與區段映射表312中的旗標時,對區段的寫入不被最終化,直到映射表302與312中的旗標被設定以指示包含彼區段之識別符的群組為骯髒的。因此,若在寫入期間運算裝置當機或斷電,在映射表302與312中的旗標被設定以指示群組為骯髒之前對區段的寫入不會被最終化。因此,因為當機或斷電,可發生其中區段映射表302中的旗標被設定以指示群組為骯髒的情況,但造成彼旗標被設定以指示群組為骯髒的資料實際上並未被寫入儲存庫300中。此種情況被輕易地解決,因為在運算裝置再次開始作業時區段映射表302中的旗標被設定以指示群組為骯髒的,所以在彼群組中經識別之區段的區段訊跡被重新產生。因此,區段映射表302與312維持對於區段之精確訊跡。
回到第1圖,在一或多個具體實施例中,回應於在運算裝置100上啟動策略(策略指示在啟動策略之後將儲存於儲存庫110上的資料加密),策略模組106開始將儲存庫110之區段中的未經加密資料加密的程序。可輕易地識別哪些區段具有未經加密資料(例如,基於區段映射表108、如上文所討論之基於對應於儲存庫110的位元映像等等)。此可例如藉由要求將來自區段的未經加密資料讀取且隨後寫回區段來執行。於在啟動策略之後接收到將資料寫回區段的要求時,所寫回的資料被加密。在沒有未經加密資料餘留在儲存庫110上時,可停止使用區段映射表108一區段映射表108可被刪除及/或忽略,因為在區段映射表108鎖定之前寫入儲存庫110的資料已被重新寫為經加密資料。
在執行此種將儲存庫110之區段中的未經加密資料加密的程序時,可由不同方式維持對於哪些區段已被加密的記錄。例如,在來自區段的未經加密資料被讀取並寫回儲存庫為經加密資料之後,可從區段映射表108移除對於彼區段的區段識別符與對應的區段訊跡(有效地解鎖區段映射表108以移除區段識別符與對應的區段訊跡)。作為另一範例,在來自區段的未經加密資料被讀取並寫回儲存庫為經加密資料之後,可將對應於彼區段之位元映像(如上文討論,對應於儲存庫110)中的位元設定。
策略模組106可由不同方式執行此將儲存庫110之區段中的未經加密資料加密的程序。例如,策略模組106可監視運算裝置100於低儲存庫使用率(例如,在臨限時間量中對儲存庫110的讀取及/或寫入存取少於臨限數量)之時,並於低儲存庫使用率時執行程序。作為另一範例,策略模組106可監視運算裝置100於運算裝置100通常不被使用之時(例如,在午夜與凌晨四點之間),並於運算裝置100通常不被使用時執行程序。作為又一範例,策略模組106可監視運算裝置100於運算裝置100被插電之時(例如,以交流功率操作而非以電池功率),並於運算裝置100被插電時執行程序。
第4圖為圖示說明根據一或多個具體實施例之另一範例運算裝置400的方塊圖,運算裝置400實施快速順從於資料加密策略。運算裝置400可為各種不同類型的裝置,諸如實體裝置或虛擬裝置,類似於第1圖的運算裝置100。
運算裝置400包含加密/解密控制模組102、讀取/寫入控制模組104、策略模組106以及儲存庫110,類似於第1圖的運算裝置100。然而,運算裝置400包含經加密塊映射表402與轉換日誌(log)404,而非區段映射表。
在使用經加密塊映射表402的具體實施例中,經加密塊映射表402將儲存庫110的區段一起分組為塊。每一塊為儲存庫110之多重區段的集合。可改變塊中區段的數量,且不同的塊可具有不同數量的區段。可由不同方式決定要將哪些區段包含進哪些塊中。例如,可由依數值次序之區段編號來將區段分組在一起。經加密塊映射表402對儲存庫110之區段的每一塊,識別包含在塊中的區段為未經加密或經加密(或可選地,為未使用)。若塊中的區段為未經加密,則塊亦被稱作為未經加密。類似地,若塊中的區段為經加密(或未使用),則塊亦被稱作為經加密(或未使用)。
經加密塊映射表402通常為位元映射。例如,經加密塊映射表402可包含多重位元,每一位元對應於儲存庫110之區段的塊,且每一位元被設定(例如,設定為值1)以指示對應塊中的區段為經加密(或未使用),或為非設定(例如,具有值0)以指示對應塊中的區段為未經加密。或者除了位元映像以外,可使用其他映射表或記錄。
本文中的討論參照於指示對應塊為經加密或未使用(例如,對應於塊的位元被設定)。或者,經加密塊映射表402可指示對應塊是否為經加密,而不支持塊為未使用之可能性。例如,對應於塊的位元被設定,以指示塊為經加密(且不單獨地因塊為未使用而被設定)。
於在運算裝置400上啟動策略之前(策略指示在啟動策略之後將儲存於儲存庫110上的資料加密),不需使用經加密塊映射表402。資料可被寫入至並讀取自儲存庫110而不被加密。然而,回應於在運算裝置400上啟動策略(策略指示在啟動策略之後將儲存於儲存庫110上的資料加密),讀取/寫入控制模組104調用加密/解密控制模組102以使寫入儲存庫110的資料被加密。讀取/寫入控制模組104亦使用經加密塊映射表402以決定是否將讀取自儲存庫110的資料解密。運算裝置400因此快速順從於策略,因為在啟動策略之後寫入儲存庫110的資料被加密。運算裝置400在順從於策略之前,不需等待直到所有的儲存庫110被加密。策略模組106可因此快速地指示(例如,在少於臨限延遲量之內)順從於策略,即使儲存庫110的一些區段為未經加密,因為隨後對儲存庫110的寫入將被加密,且裝置400因此將在啟動策略之後加密儲存在儲存庫110上的資料。
在一或多個具體實施例中,維持經加密塊映射表402的多重版本。例如,可維持經加密塊映射表402的兩個版本(最新的版本與先前版本)。每一版本通常具有版本編號或其他識別符(例如,較新的版本具有比較舊的版本高的版本編號)。在改變經加密塊映射表402時,先前的經加密塊映射表402版本被最新的經加密塊映射表402版本替換,且隨後改變最新的經加密塊映射表402版本。因此,經加密塊映射表402的兩個版本包含最新的經加密塊映射表402版本,以及次新的經加密塊映射表402版本。
此外,可將經加密塊映射表402的版本維持在記憶體中(例如,RAM)並保存在儲存裝置上(例如,儲存庫110)。在一或多個具體實施例中,每次改變經加密塊映射表402的版本時,記憶體中的版本以及保存在儲存裝置上的版本被更新。或者,可將至少部分的經加密塊映射表402維持在於運算裝置400電力關閉時保持記憶體狀態的非揮發性記憶體中(例如,快閃記憶體),在此情況中不需將至少彼經加密塊映射表402部分同時維持在記憶體中並保存在儲存裝置中。
在啟動策略之後(策略指示在啟動策略之後將儲存於儲存庫110上的資料加密),在要求從儲存庫110的區段讀取資料時,經加密塊映射表402被校驗(例如,由讀取/寫入控制模組104或策略模組106)以決定包含正被讀取之區段的塊是否為未經加密(例如,對應於包含區段之塊的位元未被設定)。若塊為未經加密,則讀取/寫入控制模組104讀取區段,並將區段內容回傳給要求者。然而,若塊已被加密或為未使用(例如,對應於包含區段之塊的位元被設定),則讀取/寫入控制模組104調用加密/解密控制模組102以解密區段內容,並將經解密區段內容傳回至要求者。
在啟動策略之後(策略指示在啟動策略之後將儲存於儲存庫110上的資料加密),在資料被要求寫入儲存庫110的區段時,經加密塊映射表402被校驗(例如,由讀取/寫入控制模組104或策略模組106)以決定包含正被寫入之區段的塊是否為未經加密(例如,對應於包含區段的塊的位元未被設定)。若塊為未經加密(塊中的區段已被加密或未使用),則讀取/寫入控制模組104調用加密/解密控制模組102以加密區段內容,並將經加密區段內容寫入儲存庫110。
然而,若塊為未經加密,則讀取/寫入控制模組104保留寫入要求,以允許包含被寫入之區段的塊中的其他區段被加密。模組104讀取塊中的區段內容(例如,塊中的所有區段,或彼等除了被要求寫入資料之區段以外的塊中的區段)。模組104調用加密/解密控制模組102以加密被讀取之區段之每一者,並將彼等區段之每一者的經加密內容寫入儲存庫110。
模組104亦在轉換日誌404中維持被加密的區段的記錄。轉換日誌404包含被加密的區段的識別符以及區段的訊跡,類似於上文討論之區段映射表108的區段識別符與區段訊跡。然而,在轉換日誌404中的訊跡通常為儲存經加密內容之區段的訊跡。轉換日誌404被維持在記憶體中(例如,RAM)並保存在儲存裝置上(例如,儲存庫110),類似於經加密塊映射表402的版本。或者,轉換日誌404可被維持於在運算裝置400電力關閉時保持記憶體狀態的非揮發性記憶體中(例如,快閃記憶體),在此情況中不需將轉換日誌404同時維持在記憶體中並保存在儲存裝置中。此外,可維持轉換日誌404的多重版本,類似於經加密塊映射表402的版本。
在將區段的經加密內容寫入儲存庫110,且轉換日誌404(在記憶體中並保存在儲存裝置上)被更新之後,經加密塊映射表402被改變,以反映包含被寫入之資料的塊已被加密。例如,對應於包含被寫入之區段的塊的位元被設定。讀取/寫入控制模組104隨後停止保留寫入請求,並重新處理寫入請求。包含被寫入之區段的塊不再為未經加密,且因此讀取/寫入控制模組104調用加密/解密控制模組102以加密區段內容,並將區段的經加密內容寫入儲存庫110,如上文所討論者。將注意到可進行各種對此次序的改變。例如,可在保留寫入請求之前加密所寫入的資料。
或者,模組104可讀取塊中區段內容,作為寫入要求的部分而將被寫入的區段替換成被寫入的內容,並將塊中區段的經加密內容寫入儲存庫110,而非重新處理寫入要求。因此,寫入要求被有效地併入對塊的讀取、加密與寫入中。
在一或多個具體實施例中,回應於在運算裝置400上啟動策略(策略指示在啟動策略之後將儲存於儲存庫110上的資料加密),策略模組106開始識別未使用的儲存庫110的區段塊的程序。可由不同的方式決定儲存庫110的特定區段是否為使用中,諸如藉由從運算裝置400的作業系統獲取對哪些區段為使用中以及哪些區段為未使用的指示。回應於偵測到其中所有區段皆為未使用的塊,策略模組106改變經加密塊映射表402以指示彼塊為經加密或未使用(例如,將對應於彼塊的位元設定)。因此,經加密塊映射表402初始地可指示所有塊為未經加密,且隨後在塊被加密或被識別為未使用時,將塊標記為經加密或未使用。
策略模組106可由不同方式執行此識別未使用的塊之程序。例如,策略模組106可監視運算裝置400於低儲存庫使用率(例如,在臨限時間量中對儲存庫110的讀取及/或寫入存取少於臨限數量)之時,並於低儲存庫使用率時執行程序。作為另一範例,策略模組106可監視運算裝置400於運算裝置400通常不被使用之時(例如,在午夜與凌晨四點之間),並於運算裝置400通常不被使用時執行程序。作為又一範例,策略模組106可監視運算裝置400於運算裝置400被插電之時(例如,以交流功率操作而非以電池功率),並於運算裝置400被插電時執行程序。
類似地,在一或多個具體實施例中,策略模組106可開始將儲存庫110之區段中的未經加密資料加密的程序。策略模組106可在不同時間點處開始將儲存庫110之區段中的未經加密資料加密,諸如在識別儲存庫110之區段塊為未使用的程序完成之後、回應於在運算裝置400上啟動策略(策略指示在啟動策略之後將儲存於儲存庫110上的資料加密)等等。可輕易地識別哪些區段具有未經加密資料(例如,包含在塊中的區段具有在經加密塊映射表402中之未被設定的對應位元、其他由策略模組106及/或運算裝置400的作業系統維持的記錄或日誌)。例如,可由要求將來自塊中之區段的未經加密資料讀取並隨後寫回彼等區段,以執行將儲存庫110之區段中的未經加密資料加密。於在啟動策略之後接收到將資料寫回區段的要求時,所寫回的資料被加密。一旦塊的經加密區段被寫回,經加密塊映射表402即被改變以反映塊不再為未經加密(例如,對應於塊的位元被設定)。
在沒有未經加密資料餘留在儲存庫110上時,可停止使用經加密塊映射表402,且經加密塊映射表402可被刪除及/或忽略。在使用經加密塊映射表402之前被寫入儲存庫110的資料已被重寫為經加密資料,且使用經加密塊映射表402寫入儲存庫110的資料被加密。讀取/寫入控制模組104可簡單地調用加密/解密控制模組102,加密被寫入的資料並解密被讀取的資料,而無需使用經加密塊映射表402。
在執行此種將儲存庫110之區段中的未經加密資料加密的程序時,可由不同方式維持對於哪些區段已被加密的記錄。例如,可由策略模組106維持對於哪些區段已被加密的個別日誌或記錄。作為另一範例,在來自塊中之區段的未經加密資料被讀取並寫回儲存庫為經加密資料之後,可將經加密塊映射表402中對應於塊的位元設定。
策略模組106可由不同方式執行此將未經加密區段加密的程序。例如,策略模組106可監視運算裝置400於低儲存庫使用率(例如,在臨限時間量中對儲存庫110的讀取及/或寫入存取少於臨限數量)之時,並於低儲存庫使用率時執行程序。作為另一範例,策略模組106可監視運算裝置400於運算裝置400通常不被使用之時(例如,在午夜與凌晨四點之間),並於運算裝置400通常不被使用時執行程序。作為又一範例,策略模組106可監視運算裝置400於運算裝置400被插電之時(例如,以交流功率操作而非以電池功率),並於運算裝置400被插電時執行程序。
雖然在運算裝置400中圖示說明了單一經加密塊映射表402,可替代性地包含多重經加密塊映射表402(如上文所討論之,每一經加密塊映射表402具有多重版本)。該等不同的經加密塊映射表402可對應於儲存庫110的不同部分。該等不同的經加密塊映射表402可由不同方式被決定,諸如具有特定大小的儲存庫110的區段的特定集合(例如,總計2至4十億位元組(Gigabytes)的區段集合)。該等不同的經加密塊映射表之每一者如上文所討論般被使用,且對於特定要求,使用多重經加密塊映射表之哪一者係取決於欲讀取或寫入的特定區段(或特定複數個區段)。
可發生運算裝置400在寫入期間當機或斷電的情況,諸如在正寫入資料至儲存庫110時、在正保存轉換日誌或經加密塊映射表時等等。為了解決此種情況,在運算裝置400啟動時(例如,因為被重新啟動、重置等等),讀取/寫入控制模組104擷取保存在儲存庫110上之經加密塊映射表402的最新有效版本。可由不同方式(例如,基於與經加密塊映射表402一起儲存在儲存庫110上的校驗和或其他值)決定經加密塊映射表402的特定版本是否為有效的。讀取/寫入控制模組104亦擷取保存在儲存庫110上之轉換日誌404的最新有效版本。可由不同方式(例如,基於與轉換日誌404一起儲存在儲存庫110上的校驗和或其他值)決定轉換日誌404的特定版本是否為有效的。
轉換日誌404包含對最新的經加密區段(或塊)的指示。對於最新的經加密區段(或塊),若經加密塊映射表402指示包含最新的經加密區段的塊(或最新的經加密塊)不為未經加密的(例如,對應於塊的位元被設定),則不需執行回復(recovery)。然而,若經加密塊映射表402指示包含最新的經加密區段的塊(或最新的經加密塊)為未經加密(例如,對應於塊的位元未被設定),則可執行回復。可由各種不同方式決定要執行何種回復,諸如基於區段的訊跡(例如,可基於訊跡決定塊中的哪些區段已被加密一若轉換日誌404中的區段訊跡與在儲存庫110上的區段訊跡匹配(例如,為相同),則區段已被加密,且若此等訊跡不匹配則區段尚未被加密)。在塊中尚未被加密的區段被加密,且在經加密塊映射表402中對應於塊的位元被設定。可選地,可調用支持回復的一或多個其他作業系統來執行回復。
如上文所述,經加密區段的訊跡儲存在轉換日誌404中。或者,在轉換日誌404中的訊跡可為未經加密區段的訊跡。在此種情況中,可將區段解密,且可產生區段之未經加密內容的訊跡。若區段的未經加密內容的訊跡與轉換日誌404中區段的訊跡匹配(例如,為相同),則區段已被加密,且若訊跡不匹配則區段尚未被加密。
第5圖為圖示說明根據一或多個具體實施例之範例程序500的流程圖,範例程序500用於實施快速順從資料加密策略。程序500由運算裝置實施,諸如第1圖的運算裝置100,且可被實施於軟體、韌體、硬體或以上之結合者中。程序500被圖示為一組步驟,且不限於所圖示以執行各種步驟之作業的次序。程序500為用於實施快速順從資料加密策略的範例程序;對於實施快速順從資料加密策略的額外討論,係參照於各種不同的圖式而包含於本文中。
在程序500中,接收到對於啟動用於運算裝置之策略的要求(步驟502)。策略指示在策略啟動之後,將由運算裝置寫入儲存庫的資料加密。要求可接收自各種來源,諸如運算裝置之使用者、正由運算裝置存取的服務以及運算裝置耦合至網路的管理者等等。
回應於要求而對運算裝置啟動策略(步驟504)。藉由啟動策略,在對於順從於策略之指示回傳之後,寫入儲存庫的資料被加密,儘管儲存庫的一或多個區段為未經加密(明文)。
對於順從於策略之指示亦回應於要求而被回傳(步驟506)。此指示可立即地被回傳為快速順從指示,且可被回傳,儘管儲存庫的一或多個區段為未經加密(明文)。
第6圖為圖示說明根據一或多個具體實施例之範例程序600的流程圖,範例程序600用於使用區段映射表來實施快速順從於資料加密策略。程序600由運算裝置實施,諸如第1圖的運算裝置100,且可被實施於軟體、韌體、硬體或以上之結合者中。程序600被圖示為一組步驟,且不限於所圖示以執行各種步驟之作業的次序。程序600為用於使用區段映射表實施快速順從於資料加密策略的範例程序;對於使用區段映射表實施快速順從於資料加密策略的額外討論,係參照於各種不同的圖式而包含於本文中。
在程序600中,存取區段映射表,區段映射表識別儲存庫的一或多個區段(步驟602)。存取區段映射表以順從於策略,策略指示在策略啟動之後將由運算裝置寫入儲存庫的資料加密。如上文所述,通常自揮發性記憶體存取區段映射表,且區段映射表可適當地被從儲存庫複製進揮發性記憶體。
在策略啟動之後,接收對於讀取儲存庫的區段的內容的要求(步驟604)。回應於要求,進行對於區段是否被識別於區段映射表中的校驗(步驟606)。
若區段被識別於區段映射表中,則進行區段內容的訊跡是否與被識別於區段映射表中之彼區段的訊跡匹配的校驗(步驟608)。若區段內容的訊跡與對於被識別於區段映射表中之彼區段的訊跡匹配,則區段內容被回傳,而不需解密內容(步驟610)。內容被回傳給要求者,對於讀取內容的要求係接收自該要求者,諸如在運算裝置上運行的另一程式或應用程式。
然而,若在步驟608中區段內容的訊跡不與對於被識別於區段映射表中之彼區段的訊跡匹配,或者若在步驟606中區段未被識別於區段映射表中,則區段內容被解密(步驟612),且經解密內容被回傳(步驟614)。內容被回傳至要求者,對於讀取內容的要求係接收自該要求者,諸如在運算裝置上運行的另一程式或應用程式。
替代性地,如上文所述,可使用位元映像,位元映像具有位元,位元指示在區段映射表鎖定之後對應的區段是否有被寫入。在使用此種位元映像時,額外步驟被包含在程序600中於步驟606之前,額外步驟係校驗位元映像是否指示在區段映射表鎖定之後區段已被寫入。若位元映像指示在區段映射表鎖定之後區段已被寫入,則區段的內容被解密(步驟612)並回傳(步驟614)。然而,若位元映像指示在區段映射表鎖定之後區段未被寫入,則程序600進行至步驟606。
第7圖為根據一或多個具體實施例圖示說明範例程序的流程圖,範例程序用於使用經加密塊映射表實施快速順從於資料加密策略。程序700由運算裝置實施,諸如第1圖的運算裝置100,且可被實施於軟體、韌體、硬體或以上之結合者中。程序700被圖示為一組步驟,且不限於所圖示以執行各種步驟之作業的次序。程序700為用於使用加密塊映射表實施快速順從資料加密策略的範例程序;對於使用加密塊映射表實施快速順從於資料加密策略的額外討論,係參照於各種不同的圖式而包含於本文中。
在程序700中,存取識別儲存庫之一或多個區段塊的經加密塊映射表(步驟702)。存取經加密塊映射表以順從於策略,策略指示在策略啟動之後將由運算裝置寫入儲存庫的資料加密。
識別包含被要求寫入資料之區段的塊(步驟704)。如上文所述,可由不同方式決定哪些區段包含在哪些塊中。
決定塊是否為未經加密(步驟706)。此決定係根據如上文所述之經加密塊映射表。例如,若經加密塊映射表中對應至塊的位元未被設定,則塊為未經加密,且若經加密塊映射表中對應至塊的位元被設定,則塊為經加密(或未使用)。
若塊不為未經加密,則將欲寫入區段的資料加密(步驟708),且將經加密資料寫入儲存庫的區段(步驟710)。
然而,若塊為未經加密,則將寫入要求暫停(步驟712)。暫停寫入要求,允許將包含被要求寫入資料之區段的塊中的區段加密。
將包含被要求寫入資料之區段的塊中的區段加密(步驟714)。如上文所述,可將所有包含在塊中的區段加密,或者將塊中除了被要求寫入資料之區段以外的區段加密。
將記憶體中的經加密塊映射表更新,並將經更新映射表保持在儲存庫上(步驟716)。如上文所述,對經加密塊映射表的更新,為對經加密塊映射表的改變,以反映在步驟714中加密之包含區段的塊不再為未經加密。如上文所述,亦可維持多重版本的經加密塊映射表。
停止對寫入要求的暫停(步驟718),且程序700返回步驟706以再次校驗塊是否為未經加密。如上文所述,因為塊不再為未經加密,程序700進行至步驟708與710。或者,程序700可返回步驟708而非步驟706。
在本文中討論之快速順從於資料加密策略之技術,支持各種使用方案,允許提供對於順從於策略之快速指示,儘管儲存庫的一或多個區段為未經加密,策略指示在策略啟動之後將寫入儲存庫的資料加密。例如,可使用區段映射表,以識別在區段映射表鎖定之前哪些區段被寫入。可於在運算裝置上安裝或初始作業系統時,或者可回應於要求,而鎖定此區段映射表以順從於策略。不論區段映射表在何時鎖定,在鎖定之後寫入儲存庫的資料被加密,且可使用區段映射表以根據資料何時被寫入儲存庫來決定是否要將資料解密。作為另一範例,可使用經加密塊映射表以在應用策略於運算裝置之後,識別哪些區段塊為未經加密。在策略啟動之後寫入區段的資料被加密,且可使用經加密塊映射表以根據包含欲讀取資料之區段的塊是否為未經加密,來決定是否要將資料解密。
在本文中討論由各種模組來執行各種步驟,諸如接收、回傳、記錄、儲存、產生、獲取等等。在本文中討論之執行步驟之特定模組,包含執行步驟之彼特定模組自身,或者為彼特定模組調用(或存取)之另一執行步驟(或與彼特定模組一併執行步驟)的部件或模組。因此,執行步驟之特定模組包含執行步驟之彼特定模組自身,及/或由執行步驟之彼特定模組調用(或存取)之另一模組。
第8圖圖示說明根據一或多個具體實施例之範例運算裝置800,範例運算裝置800可經配置以實施快速順從資料加密策略。運算裝置800可例如為第1圖之運算裝置100。
運算裝置800包含一或多個處理器或處理器單元802、可包含一或多個記憶體及/或儲存部件806的一或多個電腦可讀取媒體804、一或多個輸入/輸出(I/O)裝置808以及匯流排810,匯流排810允許各種部件與裝置與彼此通訊。電腦可讀取媒體804及/或一或多個I/O裝置808可被包含為(或可被耦合至)運算裝置800的部分。可選地,處理器802、電腦可讀取媒體804、一或多個裝置808、及/或匯流排810可被實施為單一部件或晶片(例如,晶片上的系統)。匯流排810代表數種匯流排架構類型之一或多者,包含使用各種不同匯流排架構的記憶體匯流排或記憶體控制器、外部匯流排、經加速圖形埠、處理器或本地匯流排等等。匯流排810可包含有線及/或無線匯流排。
記憶體/儲存部件806代表一或多個電腦可儲存媒體。部件806可包含揮發性媒體(諸如隨機存取記憶體(RAM))及/或非揮發性媒體(諸如唯讀記憶體(ROM)、快閃記憶體、光碟、磁碟等等)。部件806可包含固定式媒體(例如,RAM、ROM、固定式硬碟機等等)以及可移除式媒體(例如,快閃記憶體碟、可移除式硬碟機、光碟等等)。
在本文中討論之技術,可被實施於軟體中,且指令由一或多個處理單元802執行。將認知到不同的指令可被儲存在不同的運算裝置800部件中,諸如處理單元802中、處理單元802的各種快取記憶體中、裝置800的其他快取記憶體中(未圖示)、在其他電腦可讀取媒體上等等。此外,將認知到在運算裝置800中儲存指令的位置,可隨時間改變。
一或多個輸入/輸出裝置808允許使用者輸入指令與資訊至運算裝置800,且亦允許將資訊呈現給使用者及/或其他部件或裝置。輸入裝置的範例包含鍵盤、游標控制裝置(例如,滑鼠)、麥克風、掃描器等等。輸出裝置的範例包含顯示裝置(例如,監視器或投影機)、揚聲器、印表機、網路卡等等。
在本文中可於一般的軟體或程式模組背景中描述各種技術。一般而言,軟體包含執行特定工作或實施特定抽象資料類型的常式、程式、應用程式、物件、部件、資料結構等等。該等模組與技術的實施可儲存於一些電腦可讀取媒體的形式(或藉以傳輸)。電腦可讀取媒體可為可由運算裝置存取之任何可用的媒介或媒體。作為範例且不為限制,電腦可讀取媒體可包含「電腦儲存媒體」與「傳播媒體」。
「電腦儲存媒體」包含由任何用於儲存資訊的方法或科技來實施的揮發性、非揮發性、可移除式與不可移除式媒體,資訊諸如電腦可讀取指令、資料結構、程式模組或其他資料。電腦儲存媒體包含但不限於,RAM、ROM、EEPROM、快閃記憶體或其他記憶體科技、CD-ROM、數位多媒體光碟(DVD)或其他光學儲存裝置、磁匣、磁帶、磁碟儲存裝置或其他磁性儲存裝置、或任何其他可用於儲存所需資訊且可由電腦存取的媒體。電腦儲存媒體代表用於儲存資訊的媒體,不僅僅為訊號傳輸、載波或訊號自身。因此,電腦儲存媒體代表不承載訊號的媒體,且不為通訊媒體。
「通訊媒體」通常以經調變資料訊號(諸如載波或其他傳輸機制)實施電腦可讀取指令、資料結構、程式模組或其他資料。通訊媒體亦包含任何資料傳遞媒體。名詞「經調變資料訊號」表示以一些方式設定或改變其特性,以將其中資訊編碼的訊號。作為範例且不為限制,通訊媒體包含有線媒體與無線媒體,有線媒體諸如有線網路或直接連線連結,且無線媒體諸如聲學、RF、紅外線與其他無線媒體。上述之任意者之結合亦包含在電腦可讀取媒體的範圍內。
一般而言,在本文中描述的任何功能或技術,可使用軟體、韌體、硬體(例如,固定式邏輯電路系統)、手動處理或該等實施的結合來實施。在此所使用的名詞「模組」與「部件」,一般代表軟體、韌體、硬體與以上之結合。在以軟體實施的情況中,模組或部件代表程式碼,程式碼在執行於處理器(例如,一或多個CPU)上時執行特定工作。程式碼可被儲存於一或多個電腦可讀取記憶體裝置中,對電腦可讀取記憶體裝置的進一步描述可參照於第8圖而見之。在以硬體實施的情況中,模組或部件代表功能方塊或執行特定工作的其他硬體。例如,在硬體實施中,模組或部件可為應用程式特定積體電路(ASIC)、可程式化閘陣積體電路(FPGA)、複雜可程式邏輯裝置(CPLD)等等。在本文中描述之快速順從資料加密策略之技術特徵係獨立於平台,表示技術可被實施於具有各種處理器的各種商業運算平台上。
雖然在本文中使用特定於結構性特徵及/或方法論步驟之語言來描述發明標的,將瞭解到,在附加申請專利範圍中所定義的發明標的並不需限於如上文所述之特定特徵或步驟。相反的,上文所述之特定特徵或步驟係揭示為實施申請專利範圍之範例形式。
100...運算裝置
102...加密/解密控制模組
104...讀取/寫入控制模組
106...策略模組
108...區段映射表
110...儲存庫
200...區段映射表
202(x)...區段訊跡
300...儲存庫
302...區段映射表
310...記憶體
312...區段映射表
400...運算裝置
402...經加密塊映射表
404...轉換日誌
500...程序
502-506...步驟
600...程序
602-614...步驟
700...程序
702-718...步驟
800...運算裝置
802...處理器
804...電腦可讀取媒體
806...記憶體/儲存部件
808...輸入/輸出裝置
810...匯流排
在附加圖式中使用相同的元件編號來參照類似的特徵。
第1圖為根據一或多個具體實施例圖示說明範例運算裝置的方塊圖,範例運算裝置實施快速順從於資料加密策略。
第2圖根據一或多個具體實施例圖示說明範例區段映射表。
第3圖根據一或多個具體實施例圖示說明維持在記憶體中並保存在儲存裝置上的區段映射表範例。
第4圖為根據一或多個具體實施例圖示說明另一範例運算裝置,另一範例運算裝置實施快速順從於資料加密策略。
第5圖為根據一或多個具體實施例圖示說明範例程序的流程圖,範例程序實施快速順從於資料加密策略。
第6圖為根據一或多個具體實施例圖示說明另一範例程序的流程圖,另一範例程序實施使用區段映射表快速順從於資料加密策略。
第7圖為根據一或多個具體實施例圖示說明範例程序的流程圖,範例程序實施使用經加密塊映射表快速順從於資料加密策略。
第8圖根據一或多個具體實施例圖示說明範例運算裝置,範例運算裝置可經配置以實施快速順從於資料加密策略。
400...運算裝置
402...經加密塊映射表
404...轉換日誌

Claims (16)

  1. 一種用於以經加密塊為基礎之快速資料加密策略順從的方法,包含以下步驟:接收步驟,在一運算裝置接收啟動用於該運算裝置之一策略的一要求,該策略指示在啟動該策略之後將由該運算裝置寫入一儲存庫的資料加密;啟動步驟,啟動用於該運算裝置之該策略,儘管該儲存庫的一或多個區段為未經加密,該啟動步驟包含以下步驟:在回傳順從於該策略之一指示之後將寫入該儲存庫的資料加密,且該啟動步驟更包含以下步驟:使用一經加密塊映射表來識別該儲存庫之哪些區段塊為未經加密,該經加密塊映射表針對一儲存庫之每一區段塊,在該塊中的該等區段並非為未經加密時,識別該塊中的該等區段為經加密或未使用,該使用該經加密塊映射表之步驟更包含以下步驟:校驗步驟,回應於寫入資料至一區段的一要求,校驗該經加密塊映射表,以決定包含該區段的一塊是否為未經加密;回應於包含該區段的該塊為未經加密,而保留寫入資料之該要求,直到該塊中的該等區段為經加密為止,在保留寫入資料之該要求的同時更包含以下步驟:讀取包含於該塊中之該等區段的內容;加密包含於該塊中之該等區段的該內容; 將該等區段之該經加密內容,寫入包含於該塊中的該等區段;以及更新該經加密塊映射表,以指示該塊為經加密;以及否則將欲寫入該區段的該資料加密,並將該經加密資料寫入該區段;以及回傳步驟,回應於該要求,回傳順從於該策略之該指示,儘管該儲存庫的一或多個區段為未經加密。
  2. 如請求項第1項所述之方法,該回傳步驟包含以下步驟:不等待該儲存庫被加密而回傳該回應。
  3. 如請求項第1項所述之方法,在更新該經加密塊映射表之後更包含以下步驟:停止保留寫入資料的該要求;加密欲寫入該區段的該資料;以及將該經加密資料寫入該區段。
  4. 如請求項第1項所述之方法,該經加密塊映射表包含一位元映像,該位元映像具有多重位元,該等多重位元之每一者對應至多重塊之一者,該等多重位元之每一者為不被設定係指示該對應塊的該等區段為未經加密。
  5. 如請求項第1項所述之方法,更包含以下步驟: 識別為未使用但在該經加密塊映射表中被識別為未經加密的該儲存庫之一或多個區段塊;以及更新該經加密塊映射表,以將該一或多個區段塊識別為經加密或未使用。
  6. 如請求項第5項所述之方法,更包含以下步驟:決定何時已無未經加密內容餘留在該儲存庫上;以及回應於無未經加密資料餘留在該儲存庫上,而刪除該經加密塊映射表,並停止使用該經加密塊映射表。
  7. 一種電腦儲存媒體,該電腦儲存媒體上儲存有多重指令,該多重指令在由一運算裝置的一或多個處理器執行時順從用於該運算裝置的一策略,並使該一或多個處理器進行以下步驟:存取一經加密塊映射表,該經加密塊映射表對一儲存庫之每一區段塊,識別該塊中的區段是否為未經加密,該策略指示在啟動該策略之後將由該運算裝置寫入該儲存庫的資料加密;回應於寫入資料至一區段的一要求,校驗該經加密塊映射表,以決定包含該區段的一塊是否為未經加密;回應於包含該區段的該塊為未經加密,而保留寫入資料之該要求,直到該塊中的所有區段為經加密;以及在保留寫入資料之該要求的同時:讀取包含於該塊中之該等區段的內容; 加密包含於該塊中之該等區段的該內容;將該等區段之該經加密內容,寫入包含於該塊中的該等區段;以及更新該經加密塊映射表,以指示該塊為經加密。
  8. 如請求項第7項所述之電腦儲存媒體,回應於包含該區段的該塊為經加密,而該等多重指令更使該一或多個處理器進行以下步驟:將欲寫入該區段的該資料加密;以及將該經加密資料寫入該區段。
  9. 如請求項第7項所述之電腦儲存媒體,在更新該經加密塊映射表之後,該等多重指令更使該一或多個處理器進行以下步驟:停止保留寫入資料的該要求;加密欲寫入該區段的該資料;以及將該經加密資料寫入該區段。
  10. 如請求項第7項所述之電腦儲存媒體,該經加密塊映射表包含一位元映像,該位元映像具有多重位元,該等多重位元之每一者對應至多重塊之一者,該等多重位元之每一者為不被設定係指示該對應塊的該等區段為未經加密,且該等多重位元之每一者為被設定係指示該對應塊的該等區段為經加密或未使用。
  11. 如請求項第7項所述之電腦儲存媒體,該經加密塊映射表對該儲存庫之每一區段塊,識別該塊中的該等區段為經加密或未使用。
  12. 如請求項第7項所述之電腦儲存媒體,該等多重指令更使該一或多個處理器進行以下步驟:識別為未使用但在該經加密塊映射表中被識別為未經加密的該儲存庫之一或多個區段塊;以及更新該經加密塊映射表,以將該一或多個區段塊識別為經加密或未使用。
  13. 如請求項第7項所述之電腦儲存媒體,該等多重指令更使該一或多個處理器進行以下步驟:決定何時已無未經加密內容餘留在該儲存庫上;以及回應於無未經加密資料餘留在該儲存庫上,而刪除該經加密塊映射表,並停止使用該經加密塊映射表。
  14. 如請求項第7項所述之電腦儲存媒體,該經加密塊映射表為對於該儲存庫之多重經加密塊映射表中之一者,該等多重經加密塊映射表之每一者對應於該儲存庫的一不同部分。
  15. 如請求項第7項所述之電腦儲存媒體,該等多重指令更使該一或多個處理器進行以下步驟:維持一轉換日誌,該轉換日誌包含該儲存庫之區段的訊跡;以及在啟動該運算裝置時,基於該轉換日誌中之一區段的一訊跡,與基於該區段之內容而產生之該區段的一訊跡是否匹配,來決定該區段是否為經加密。
  16. 一種用於以經加密塊為基礎之快速資料加密策略順從的方法,包含以下步驟:在順從於一策略的一運算裝置中存取一經加密塊位元映像,該策略指示在啟動該策略之後將由該運算裝置寫入一儲存庫的資料加密,該經加密塊位元映像具有多重位元,該等多重位元之每一者識別一儲存庫的一對應區段塊是否為未經加密;回應於寫入資料至一區段的一要求,校驗該經加密塊映射表,以決定包含該區段的一塊是否為未經加密;回應於包含該區段的該塊不為未經加密,而進行以下步驟:加密欲寫入該區段的該資料;以及寫入該經加密資料至該區段;以及回應於包含該區段的該塊為未經加密,而進行以下步驟:保留寫入資料的該要求; 加密該塊中的區段;更新該經加密塊映射表,以指示該塊為經加密;停止保留寫入資料的該要求;加密欲寫入該區段的該資料;以及寫入該經加密資料至該區段。
TW100136565A 2011-08-30 2011-10-07 用於以經加密塊為基礎之快速資料加密策略順從的方法與電腦儲存媒體 TWI544332B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US13/221,699 US8689279B2 (en) 2011-08-30 2011-08-30 Encrypted chunk-based rapid data encryption policy compliance

Publications (2)

Publication Number Publication Date
TW201310276A TW201310276A (zh) 2013-03-01
TWI544332B true TWI544332B (zh) 2016-08-01

Family

ID=47402032

Family Applications (1)

Application Number Title Priority Date Filing Date
TW100136565A TWI544332B (zh) 2011-08-30 2011-10-07 用於以經加密塊為基礎之快速資料加密策略順從的方法與電腦儲存媒體

Country Status (5)

Country Link
US (1) US8689279B2 (zh)
EP (1) EP2751735B1 (zh)
CN (1) CN102855452B (zh)
TW (1) TWI544332B (zh)
WO (1) WO2013032503A1 (zh)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8874935B2 (en) * 2011-08-30 2014-10-28 Microsoft Corporation Sector map-based rapid data encryption policy compliance
US8695060B2 (en) * 2011-10-10 2014-04-08 Openpeak Inc. System and method for creating secure applications
US9038194B2 (en) * 2011-11-30 2015-05-19 Red Hat, Inc. Client-side encryption in a distributed environment
US9052824B2 (en) * 2012-01-26 2015-06-09 Upthere, Inc. Content addressable stores based on sibling groups
US8782441B1 (en) * 2012-03-16 2014-07-15 Google Inc. Methods and systems for storage of large data objects
US20140344570A1 (en) 2013-05-20 2014-11-20 Microsoft Corporation Data Protection For Organizations On Computing Devices
US10615967B2 (en) 2014-03-20 2020-04-07 Microsoft Technology Licensing, Llc Rapid data protection for storage devices
US9825945B2 (en) 2014-09-09 2017-11-21 Microsoft Technology Licensing, Llc Preserving data protection with policy
US9853812B2 (en) 2014-09-17 2017-12-26 Microsoft Technology Licensing, Llc Secure key management for roaming protected content
US9900295B2 (en) 2014-11-05 2018-02-20 Microsoft Technology Licensing, Llc Roaming content wipe actions across devices
US9853820B2 (en) 2015-06-30 2017-12-26 Microsoft Technology Licensing, Llc Intelligent deletion of revoked data
US10735195B2 (en) * 2015-08-12 2020-08-04 Hewlett Packard Enterprise Development Lp Host-storage authentication
US9900325B2 (en) 2015-10-09 2018-02-20 Microsoft Technology Licensing, Llc Passive encryption of organization data
US10542003B1 (en) 2018-06-28 2020-01-21 CallFire, Inc. Protected user information verification system
WO2020034118A1 (zh) 2018-08-15 2020-02-20 华为技术有限公司 一种安全的数据转移装置、系统和方法
US11501308B2 (en) * 2020-01-20 2022-11-15 Mastercard International Incorporated Method and system for facilitating data security for transaction data
CN112422865A (zh) * 2020-11-05 2021-02-26 杭州米络星科技(集团)有限公司 用户访问的监控方法及系统
US12074962B2 (en) 2021-08-10 2024-08-27 Samsung Electronics Co., Ltd. Systems, methods, and apparatus for dividing and encrypting data

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030084298A1 (en) * 2001-10-25 2003-05-01 Messerges Thomas S. Method for efficient hashing of digital content
US7903549B2 (en) 2002-03-08 2011-03-08 Secure Computing Corporation Content-based policy compliance systems and methods
US7269612B2 (en) * 2002-05-31 2007-09-11 International Business Machines Corporation Method, system, and program for a policy based storage manager
US7930540B2 (en) 2004-01-22 2011-04-19 Mcafee, Inc. Cryptographic policy enforcement
US7627617B2 (en) 2004-02-11 2009-12-01 Storage Technology Corporation Clustered hierarchical file services
US8302178B2 (en) * 2005-03-07 2012-10-30 Noam Camiel System and method for a dynamic policies enforced file system for a data storage device
JP2008250779A (ja) 2007-03-30 2008-10-16 Hitachi Ltd 暗号機能を備えた記憶制御装置、データ暗号化方法及び記憶システム
US8452967B2 (en) 2007-08-31 2013-05-28 Microsoft Corporation Using flash storage device to prevent unauthorized use of software
CN101436192B (zh) 2007-11-16 2011-03-16 国际商业机器公司 用于优化针对垂直存储式数据库的查询的方法和设备
US8707385B2 (en) 2008-02-11 2014-04-22 Oracle International Corporation Automated compliance policy enforcement in software systems
US20090210267A1 (en) 2008-02-18 2009-08-20 Bryan David Fish System and method for automatically mapping security controls to subjects
US8387109B2 (en) 2008-10-23 2013-02-26 Microsoft Corporation Access control state determination based on security policy and secondary access control state
US20100306176A1 (en) 2009-01-28 2010-12-02 Digitiliti, Inc. Deduplication of files
US20110060915A1 (en) * 2009-09-10 2011-03-10 International Business Machines Corporation Managing Encryption of Data
US9064131B2 (en) 2010-07-28 2015-06-23 Nextlabs, Inc. Protecting documents using policies and encryption
US8924739B2 (en) 2011-01-05 2014-12-30 Apple Inc. System and method for in-place encryption
US8527561B1 (en) 2011-05-17 2013-09-03 Crossroads Systems, Inc. System and method for implementing a networked file system utilizing a media library
US8874935B2 (en) 2011-08-30 2014-10-28 Microsoft Corporation Sector map-based rapid data encryption policy compliance

Also Published As

Publication number Publication date
EP2751735B1 (en) 2020-12-23
TW201310276A (zh) 2013-03-01
US8689279B2 (en) 2014-04-01
EP2751735A1 (en) 2014-07-09
US20130054977A1 (en) 2013-02-28
CN102855452A (zh) 2013-01-02
EP2751735A4 (en) 2015-06-10
CN102855452B (zh) 2015-10-28
WO2013032503A1 (en) 2013-03-07

Similar Documents

Publication Publication Date Title
TWI540453B (zh) 以區段映射表為基礎之快速資料加密策略順從
TWI544332B (zh) 用於以經加密塊為基礎之快速資料加密策略順從的方法與電腦儲存媒體
JP5904505B2 (ja) 仮想ディスクを暗号化及び復号するためのコンピュータ可読ストレージ媒体
EP3120291B1 (en) Rapid data protection for storage devices
JP5281074B2 (ja) 情報セキュリティ装置および情報セキュリティシステム
US10389709B2 (en) Securing client-specified credentials at cryptographically attested resources
JP4782871B2 (ja) デバイスアクセス制御プログラム、デバイスアクセス制御方法および情報処理装置
KR101047213B1 (ko) 암호화 장치, 암호화 방법 및 컴퓨터 판독가능한 기록 매체
US8607071B2 (en) Preventing replay attacks in encrypted file systems
CN107590395B (zh) 适用于云环境的多层数据加密方法、装置、设备及系统
KR20140051350A (ko) 디지털 서명 권한자 의존형 플랫폼 기밀 생성 기법
US10848305B2 (en) Key generation information trees
US7949137B2 (en) Virtual disk management methods
US8990589B1 (en) System and method for robust full-drive encryption
CN109997144B (zh) 对于固态驱动器的分开加密
RU2580018C2 (ru) Способ определения маски зашифрованной области диска

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees