TWI582593B - 以區段映射表爲基礎之快速資料加密策略順從 - Google Patents

以區段映射表爲基礎之快速資料加密策略順從 Download PDF

Info

Publication number
TWI582593B
TWI582593B TW105101128A TW105101128A TWI582593B TW I582593 B TWI582593 B TW I582593B TW 105101128 A TW105101128 A TW 105101128A TW 105101128 A TW105101128 A TW 105101128A TW I582593 B TWI582593 B TW I582593B
Authority
TW
Taiwan
Prior art keywords
section
segment
repository
mapping table
content
Prior art date
Application number
TW105101128A
Other languages
English (en)
Other versions
TW201616365A (zh
Inventor
巴斯摩印諾坎堤
恩斯托麥格納斯
賽曼柯艾力克斯M
麥克維道格拉斯M
李東輝
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 TW201616365A publication Critical patent/TW201616365A/zh
Application granted granted Critical
Publication of TWI582593B publication Critical patent/TWI582593B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1408Protection against unauthorised use of memory or access to memory by using cryptography
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • 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/602Providing cryptographic facilities or services
    • 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
    • G06F3/0623Securing storage systems in relation to content
    • 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
    • G06F3/0644Management of space entities, e.g. partitions, extents, pools
    • 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/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • 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/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2237Vectors, bitmaps or matrices

Landscapes

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

Description

以區段映射表為基礎之快速資料加密策略順從
本發明係關於以區段映射表為基礎之快速資料加密策略順從。
可由各種設定使用電腦,有時並依附一些特定的策略。例如,在存取企業資料(諸如來自個人電腦的電子郵件)時,企業策略可規定個人電腦必須將儲存在個人電腦的儲存裝置上的企業資料加密,以允許對企業資料的存取。直到策略被順從之前,電腦可無法存取特定企業服務,但使用者可對等待儲存裝置被加密以使用企業服務感到挫折(取決於儲存裝置的大小,可能需等待數分鐘或數小時之等級)。
茲提供此發明內容以簡化形式介紹一些概念選擇,該等概念選擇將進一步描述於下文實施方式中。此發明內容並不意為識別所申請發明標的之關鍵特徵或必要特徵,亦不意為用以限制所申請發明標的之範圍。
根據一或多個態樣,運算裝置接收對於啟動用於運算裝置之策略的要求。策略指示在策略啟動之後,將由運算裝置寫入儲存庫(volume)的資料加密。回應要求,對裝置啟動策略,包含在回傳順從於策略之指示之後將寫入儲存庫的資料加密,並使用區段映射表(sector map)識別儲存庫之未經加密的一或多個區段。此外,回應要求,回傳順從於策略之指示,儘管儲存庫的一或多個區段為未經加密。
根據一或多個態樣,存取區段映射表,以順從用於運算裝置的策略,策略指示在策略啟動之後將由運算裝置寫入儲存庫的資料加密。區段映射表識別儲存庫的一或多個區段,並亦對儲存庫之一或多個區段之每一者識別區段內容的訊跡(signature)。回應欲讀取區段內容之要求,若區段為識別於儲存映射表(storage map)中之一或多個區段之一者,且區段內容的訊跡與識別於區段映射表中之區段的訊跡匹配,則回傳區段內容且不解密內容。或者,解密區段內容並回傳經解密內容。
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圖根據一或多個具體實施例圖示說明範例運算裝置,範例運算裝置可經配置以實施快速順從於資料加密策略。
在本文中討論快速順從資料加密策略。可產生由運算裝置使用之儲存庫的區段映射表,區段映射表識別儲存庫的一或多個區段,以及一或多個區段之每一 者之內容的訊跡。可於在運算裝置上安裝作業系統不久之後(或作為安裝的一部分)產生區段映射表,或者較遲地在啟動用於運算裝置之策略之前產生區段映射表。對運算裝置啟動的策略,指示在策略啟動之後將由運算裝置寫入儲存庫的內容加密。在策略啟動之後,運算裝置將寫入儲存庫之區段的內容加密。此外,在策略啟動之後,特定區段中的內容可或不可為經加密。使用區段映射表以識別儲存庫的哪些區段具有經加密內容,且因此識別哪些內容在回傳給要求者時要被解密。
或者,可產生由運算裝置使用之儲存庫的經加密塊(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的區段訊跡為在區段訊跡群組內偏移3×6=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鎖定之後寫入儲存庫110的資料被加密。運算裝置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在順從於策略之前,不需等待直到所有的儲存庫110被加密。策略模組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在順從於策略之前,不需等待直到所有的儲存庫100被加密。策略模組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的不同部分。該等不同的部分可由不同方式被決定,諸如具有特定大小的儲存庫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‧‧‧儲存庫

Claims (18)

  1. 一種方法,包含以下步驟:接收步驟,藉由一運算裝置接收啟動用於該運算裝置之一策略的一要求,該策略指示在啟動該策略之後將由該運算裝置寫入一儲存庫的資料加密;啟動步驟,回應於該要求而啟動用於該運算裝置之該策略,該啟動步驟包含以下步驟:在回傳快速順從於該策略之一指示之後,將寫入該儲存庫的資料加密,使用一區段映射表以識別該儲存庫之未經加密的一個或更多個區段,該區段映射表識別在該區段映射表被鎖定以禁止改變該區段映射表之前被寫入的該儲存庫的一個或更多個區段,且該區段映射表包含在該區段映射表被鎖定之前被寫入該儲存庫的區段訊跡,該區段映射表作為在該運算裝置上安裝一作業系統之一程序的部分而被鎖定,在鎖定該區段映射表之後寫入該儲存庫的資料經加密,但在鎖定該區段映射表之前寫入該儲存庫的至少一些資料未經加密,以及回應於讀取該儲存庫之一區段之內容的一要求,使用該區段映射表以決定是否將該區段之該內容解密;以及 回傳步驟,回應於該要求,回傳快速順從於該策略之該指示,儘管該儲存庫的一個或更多個區段為未經加密;其中該區段映射表係回應於啟動用於該運算裝置之該策略的該要求而被鎖定。
  2. 如請求項1所述之方法,該回傳步驟包含以下步驟:無需等待該儲存庫被加密而回傳該回應。
  3. 如請求項1所述之方法,該啟動步驟更包含以下步驟:回應於讀取該內容的該要求來回傳該內容,而無需因應於該區段為該一個或更多個區段之一者,且該區段之該內容的該訊跡與識別於該區段映射表中之該區段的該訊跡匹配來解密該內容,否則解密該區段的該內容並回傳該經解密內容。
  4. 如請求項1所述之方法,該啟動步驟更包含以下步驟:校驗步驟,校驗對應於該區段的一位元,該位元為對應於該儲存庫之一位元映像中之多重位元的一者,該多重位元之每一者指示在該區段映射表被鎖定以禁止改變該區段映射表之後,該儲存庫的一對應區段是否被寫入;解密步驟,回應於對應於該區段的該位元,指示在該區段映射表被鎖定之後該區段已被寫入,則解 密該區段的該內容並回傳該經解密內容;以及回應於對應於該區段的該位元(其中該位元指示在該區段映射表被鎖定之後該區段未被寫入)來回傳該內容,而無需因應於該區段為該一個或更多個區段之一者且該區段之該內容的該訊跡與識別於該區段映射表中之該區段的該訊跡匹配來解密該內容,否則解密該區段的該內容並回傳該經解密內容。
  5. 如請求項1所述之方法,在該區段映射表被鎖定之前更包含以下步驟:在該儲存庫上維持該區段映射表的一第一版本;在揮發性記憶體中維持該區段映射表的一第二版本;將該等區段識別符與區段訊跡分組成多重群組,每一群組包含對於一個或更多個區段之區段訊跡;回應於被寫入在一群組中被識別的一區段的資料,而更新該群組的一旗標值,以指示該群組為骯髒的;以及回應於一臨限數量的該多重群組被指示為骯髒的,將被指示為骯髒的之群組從該區段映射表的該第二版本複製至該區段映射表的該第一版本。
  6. 如請求項1所述之方法,更包含以下步驟:在該儲存庫上維持該區段映射表,以及在該運算裝置 開始作業時,將該區段映射表從該儲存庫映射進在揮發性記憶體中的一區段映射表。
  7. 如請求項1所述之方法,更包含以下步驟:加密來自該儲存庫之區段的未經加密資料;決定何時已無未經加密資料餘留在該儲存庫上;以及回應於無未經加密資料餘留在該儲存庫上,而刪除該區段映射表,並停止使用該區段映射表。
  8. 如請求項7所述之方法,更包含以下步驟:回應於來自該區段的未經加密資料被加密,而從該區段映射表移除該區段的一識別符與對應訊跡。
  9. 如請求項1所述之方法,該區段之該內容的該訊跡包含被產生為該區段之該內容之一函數的一值。
  10. 如請求項1所述之方法,該儲存庫被包含為該運算裝置的部分。
  11. 一種運算裝置,包含:一個或更多個硬體處理器;以及一個或更多個電腦儲存媒體裝置,該一個或更多個電腦儲存媒體裝置上儲存有多重指令,該多重指令在由一個或更多個處理器執行時順從用於該運算裝置的一策略,並使該一個或更多個處理器進行以下步 驟:存取一區段映射表,該區段映射表識別在該區段映射表被鎖定以禁止改變該區段映射表之前被寫入一儲存庫的一個或更多個區段,該區段映射表作為在該運算裝置上安裝一作業系統之一程序的部分而被鎖定,該區段映射表更針對該一個或更多個區段之每一區段,識別該區段之內容的一訊跡,該策略指示在啟動該策略之後將由該運算裝置寫入該儲存庫的資料加密;回應於讀取該儲存庫之一區段之內容的一要求:回應於在該區段映射表被鎖定以禁止改變該區段映射表之後該區段未被寫入且該區段之該內容的該訊跡與識別於該區段映射表中之該區段的該訊跡匹配,則由該儲存庫讀取該區段的該內容且回傳該儲存庫的該區段的該內容而不解密該內容,以及回應於在該區段映射表被鎖定以禁止改變該區段映射表之後該區段被寫入,則由該儲存庫讀取該區段的該內容,解密該儲存庫的該區段的該內容並回傳該經解密內容;其中該區段映射表係回應於啟動用於該運算裝置之該策略的該要求而被鎖定。
  12. 如請求項11所述之運算裝置,在該區段映射表被鎖定之前,該多 重指令更使該一個或更多個處理器進行以下步驟:在該儲存庫上維持該區段映射表的一第一版本;在揮發性記憶體中維持該區段映射表的一第二版本;將該等區段識別符與區段訊跡分組成多重群組,每一群組包含對於一個或更多個區段之區段訊跡;回應於被寫入在一群組中被識別的一區段的資料,而更新該群組的一旗標值,以指示該群組為骯髒的;以及回應於一臨限數量的該多重群組被指示為骯髒的,將被指示為骯髒的之群組從該區段映射表的該第二版本複製至該區段映射表的該第一版本。
  13. 如請求項11所述之運算裝置,該多重指令更使該一個或更多個處理器進行以下步驟:加密來自該儲存庫之區段的未經加密資料;決定何時已無未經加密資料餘留在該儲存庫上;以及回應於無未經加密資料餘留在該儲存庫上,而刪除該區段映射表,並停止使用該區段映射表。
  14. 如請求項13所述之運算裝置,該多重指令更使該一個或更多個處理器進行以下步驟:回應於來自該區段的未經加密資料被加密,而從該區段映射 表移除該區段的一識別符與對應訊跡。
  15. 一種在一運算裝置中實行的方法,該方法包含以下步驟:存取一區段映射表,該區段映射表識別在該區段映射表被鎖定以禁止改變該區段映射表之前被寫入一儲存庫的一個或更多個區段,該區段映射表更針對該一個或更多個區段之每一區段,識別該區段之內容的一訊跡,該運算裝置順從一策略,該策略指示在啟動該策略之後將由該運算裝置寫入該儲存庫的資料加密;回應於讀取該儲存庫之一區段之內容的一要求:回應於在該區段映射表被鎖定以禁止改變該區段映射表之後該區段未被寫入且該區段之該內容的該訊跡與識別於該區段映射表中之該區段的該訊跡匹配,則由該儲存庫讀取該區段的該內容且回傳該儲存庫的該區段的該內容而不解密該內容,以及回應於在該區段映射表被鎖定以禁止改變該區段映射表之後該區段被寫入,則由該儲存庫讀取該區段的該內容,解密該儲存庫的該區段的該內容並回傳該經解密內容。
  16. 如請求項15所述之方法,更包含以下步驟:回應於啟動用於該運算裝置之該策略的該要求而 鎖定該區段映射表。
  17. 如請求項16所述之方法,在該區段映射表被鎖定之前,更包含以下步驟:在該儲存庫上維持該區段映射表的一第一版本;在揮發性記憶體中維持該區段映射表的一第二版本;將該等區段識別符與區段訊跡分組成多重群組,每一群組包含對於一個或更多個區段之區段訊跡;回應於被寫入在一群組中被識別的一區段的資料,而更新該群組的一旗標值,以指示該群組為骯髒的;以及回應於一臨限數量的該多重群組被指示為骯髒的,將被指示為骯髒的之群組從該區段映射表的該第二版本複製至該區段映射表的該第一版本。
  18. 如請求項15所述之方法,更包含以下步驟:加密來自該儲存庫之區段的未經加密資料;決定何時已無未經加密資料餘留在該儲存庫上;以及回應於無未經加密資料餘留在該儲存庫上,而刪除該區段映射表,並停止使用該區段映射表。
TW105101128A 2011-08-30 2011-10-07 以區段映射表爲基礎之快速資料加密策略順從 TWI582593B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US13/221,629 US8874935B2 (en) 2011-08-30 2011-08-30 Sector map-based rapid data encryption policy compliance

Publications (2)

Publication Number Publication Date
TW201616365A TW201616365A (zh) 2016-05-01
TWI582593B true TWI582593B (zh) 2017-05-11

Family

ID=47728295

Family Applications (2)

Application Number Title Priority Date Filing Date
TW100136564A TWI540453B (zh) 2011-08-30 2011-10-07 以區段映射表為基礎之快速資料加密策略順從
TW105101128A TWI582593B (zh) 2011-08-30 2011-10-07 以區段映射表爲基礎之快速資料加密策略順從

Family Applications Before (1)

Application Number Title Priority Date Filing Date
TW100136564A TWI540453B (zh) 2011-08-30 2011-10-07 以區段映射表為基礎之快速資料加密策略順從

Country Status (5)

Country Link
US (3) US8874935B2 (zh)
EP (1) EP2751734B1 (zh)
CN (1) CN102945355B (zh)
TW (2) TWI540453B (zh)
WO (1) WO2013032501A1 (zh)

Families Citing this family (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9361243B2 (en) 1998-07-31 2016-06-07 Kom Networks Inc. Method and system for providing restricted access to a storage medium
US8689279B2 (en) 2011-08-30 2014-04-01 Microsoft Corporation Encrypted chunk-based rapid data encryption policy compliance
US8874935B2 (en) * 2011-08-30 2014-10-28 Microsoft Corporation Sector map-based rapid data encryption policy compliance
KR101298171B1 (ko) * 2011-08-31 2013-08-26 세종대학교산학협력단 메모리 시스템 및 그 관리 방법
KR102003850B1 (ko) * 2012-06-04 2019-07-25 삼성전자주식회사 단말의 애플리케이션 제공 방법 및 그 단말
US9003126B2 (en) * 2012-09-25 2015-04-07 Intel Corporation Apparatus, system and method for adaptive cache replacement in a non-volatile main memory system
US9177177B1 (en) * 2012-10-04 2015-11-03 Symantec Corporation Systems and methods for securing storage space
US9454670B2 (en) * 2012-12-03 2016-09-27 International Business Machines Corporation Hybrid file systems
US9355279B1 (en) * 2013-03-29 2016-05-31 Secturion Systems, Inc. Multi-tenancy architecture
US9317718B1 (en) 2013-03-29 2016-04-19 Secturion Systems, Inc. Security device with programmable systolic-matrix cryptographic module and programmable input/output interface
US20140344570A1 (en) 2013-05-20 2014-11-20 Microsoft Corporation Data Protection For Organizations On Computing Devices
US10430608B2 (en) * 2013-06-14 2019-10-01 Salesforce.Com, Inc. Systems and methods of automated compliance with data privacy laws
GB2515757A (en) 2013-07-02 2015-01-07 Ibm Managing virtual machine policy compliance
US9519498B2 (en) * 2013-12-24 2016-12-13 Microsoft Technology Licensing, Llc Virtual machine assurances
US10615967B2 (en) * 2014-03-20 2020-04-07 Microsoft Technology Licensing, Llc Rapid data protection for storage devices
US9652631B2 (en) 2014-05-05 2017-05-16 Microsoft Technology Licensing, Llc Secure transport of encrypted virtual machines with continuous owner access
US9645946B2 (en) * 2014-05-30 2017-05-09 Apple Inc. Encryption for solid state drives (SSDs)
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
US9584317B2 (en) 2014-10-13 2017-02-28 Microsoft Technology Licensing, Llc Identifying security boundaries on computing devices
US10229272B2 (en) 2014-10-13 2019-03-12 Microsoft Technology Licensing, Llc Identifying security boundaries on computing devices
US9900295B2 (en) 2014-11-05 2018-02-20 Microsoft Technology Licensing, Llc Roaming content wipe actions across devices
US9519787B2 (en) 2014-11-14 2016-12-13 Microsoft Technology Licensing, Llc Secure creation of encrypted virtual machines from encrypted templates
US10126950B2 (en) * 2014-12-22 2018-11-13 Intel Corporation Allocating and configuring persistent memory
US10169125B2 (en) * 2015-05-29 2019-01-01 International Business Machines Corporation Re-encoding data in a dispersed storage network
US9853820B2 (en) 2015-06-30 2017-12-26 Microsoft Technology Licensing, Llc Intelligent deletion of revoked data
US11283774B2 (en) 2015-09-17 2022-03-22 Secturion Systems, Inc. Cloud storage using encryption gateway with certificate authority identification
US9900325B2 (en) 2015-10-09 2018-02-20 Microsoft Technology Licensing, Llc Passive encryption of organization data
US10291739B2 (en) * 2015-11-19 2019-05-14 Dell Products L.P. Systems and methods for tracking of cache sector status
EP3506553A4 (en) * 2016-08-29 2020-04-29 Kddi Corporation VEHICLE INFORMATION COLLECTION SYSTEM, ON-BOARD COMPUTER, VEHICLE INFORMATION COLLECTION DEVICE, VEHICLE INFORMATION COLLECTION METHOD, AND COMPUTER PROGRAM
CN107451494B (zh) * 2017-06-30 2020-05-22 杭州旗捷科技有限公司 一种芯片改写设备的数据保护方法、电子设备及存储介质
US10551814B2 (en) * 2017-07-20 2020-02-04 Fisher-Rosemount Systems, Inc. Generic shadowing in industrial process plants
US11163892B2 (en) 2019-01-09 2021-11-02 International Business Machines Corporation Buffering data until encrypted destination is unlocked
JP7173646B2 (ja) * 2019-05-22 2022-11-16 ミョータ インコーポレイテッド 強化セキュリティ、レジリエンス、及び、コントロールによる分散データストレージのための方法及びシステム
US20220100900A1 (en) * 2019-06-14 2022-03-31 Hewlett-Packard Development Company, L.P. Modifying data items
CN111414341B (zh) * 2020-03-24 2024-03-01 东南大学 一种物联网环境下的数据归一化描述方法
CN111475839B (zh) * 2020-04-06 2023-04-18 华中科技大学 一种用于不可信环境的冗余数据编码方法、存储介质
CN115079960B (zh) * 2022-08-18 2022-12-06 赛芯半导体技术(北京)有限公司 数据的处理方法、加速卡及数据处理系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090063756A1 (en) * 2007-08-31 2009-03-05 Microsoft Corporation Using flash storage device to prevent unauthorized use of software
US20100107213A1 (en) * 2008-10-23 2010-04-29 Microsoft Corporation Access Control State Determination Based on Security Policy and Secondary Access Control State
TW201032559A (en) * 2009-02-24 2010-09-01 Fineart Technology Co Ltd Conditional electric document right management system and method
TWI540453B (zh) * 2011-08-30 2016-07-01 微軟技術授權有限責任公司 以區段映射表為基礎之快速資料加密策略順從

Family Cites Families (204)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5495533A (en) 1994-04-29 1996-02-27 International Business Machines Corporation Personal key archive
US5787131A (en) 1995-12-22 1998-07-28 Ericsson Inc. Method and apparatus for mitigation of self interference using array processing
US6016402A (en) * 1996-05-21 2000-01-18 Iomega Corporation Method for integrating removable media disk drive into operating system recognized as fixed disk type and modifying operating system to recognize as floppy disk type
US5897661A (en) * 1997-02-25 1999-04-27 International Business Machines Corporation Logical volume manager and method having enhanced update capability with dynamic allocation of storage and minimal storage of metadata information
US6067199A (en) * 1997-06-30 2000-05-23 Emc Corporation Method and apparatus for increasing disc drive performance
US5974503A (en) * 1997-04-25 1999-10-26 Emc Corporation Storage and access of continuous media files indexed as lists of raid stripe sets associated with file names
US6076143A (en) * 1997-09-02 2000-06-13 Emc Corporation Method and apparatus for managing the physical storage locations for blocks of information in a storage system to increase system performance
US6028725A (en) * 1997-06-30 2000-02-22 Emc Corporation Method and apparatus for increasing disc drive performance
US5944783A (en) 1997-07-29 1999-08-31 Lincom Corporation Apparatus and method for data transfers through software agents using client-to-server and peer-to-peer transfers
US5966263A (en) * 1997-08-01 1999-10-12 International Business Machines Corporation Method and apparatus to increase head/AE select robustness for a system using multiple head servo write
US6253300B1 (en) * 1997-08-20 2001-06-26 Powerquest Corporation Computer partition manipulation during imaging
US6249866B1 (en) 1997-09-16 2001-06-19 Microsoft Corporation Encrypting file system and method
US6292790B1 (en) 1997-10-20 2001-09-18 James E. Krahn Apparatus for importing and exporting partially encrypted configuration data
US6170055B1 (en) * 1997-11-03 2001-01-02 Iomega Corporation System for computer recovery using removable high capacity media
US6041386A (en) * 1998-02-10 2000-03-21 International Business Machines Corporation Data sharing between system using different data storage formats
US6298446B1 (en) 1998-06-14 2001-10-02 Alchemedia Ltd. Method and system for copyright protection of digital images transmitted over networks
US8234477B2 (en) * 1998-07-31 2012-07-31 Kom Networks, Inc. Method and system for providing restricted access to a storage medium
US9361243B2 (en) * 1998-07-31 2016-06-07 Kom Networks Inc. Method and system for providing restricted access to a storage medium
US6438235B2 (en) 1998-08-05 2002-08-20 Hewlett-Packard Company Media content protection utilizing public key cryptography
US7380140B1 (en) * 1998-12-30 2008-05-27 Spyrus, Inc. Providing a protected volume on a data storage device
GB9903490D0 (en) * 1999-02-17 1999-04-07 Memory Corp Plc Memory system
JP2000341263A (ja) 1999-05-27 2000-12-08 Sony Corp 情報処理装置及び方法
US7451484B1 (en) 1999-05-27 2008-11-11 International Business Machines Corporation Method for enabling a program written in untrusted code to interact with a security subsystem of a hosting operating system
US6292317B1 (en) * 1999-09-02 2001-09-18 Maxtor Corporation Method and apparatus for performing a flaw scan of a disk drive
US6665784B2 (en) * 1999-09-03 2003-12-16 Roxio, Inc. Method for writing and reading data to and from a compact disc media
US7216251B2 (en) * 2000-02-19 2007-05-08 Powerquest Corporation Computer imaging recovery without a working partition or a secondary medium
US6944742B1 (en) * 2000-04-28 2005-09-13 Microsoft Corporation Compressed file system for non-volatile RAM
US7197638B1 (en) 2000-08-21 2007-03-27 Symantec Corporation Unified permissions control for remotely and locally stored files whose informational content may be protected by smart-locking and/or bubble-protection
US6789162B1 (en) * 2000-10-17 2004-09-07 Sun Microsystems, Inc. Storage controller configured to select unused regions of a storage device for data storage according to head position
US6727896B2 (en) * 2001-08-01 2004-04-27 Microsoft Corporation Correction of alignment and linearity errors in a stylus input system
US20030084298A1 (en) 2001-10-25 2003-05-01 Messerges Thomas S. Method for efficient hashing of digital content
US7171557B2 (en) 2001-10-31 2007-01-30 Hewlett-Packard Development Company, L.P. System for optimized key management with file groups
US7903549B2 (en) 2002-03-08 2011-03-08 Secure Computing Corporation Content-based policy compliance systems and methods
US7614077B2 (en) 2002-04-10 2009-11-03 International Business Machines Corporation Persistent access control of protected content
US7269612B2 (en) * 2002-05-31 2007-09-11 International Business Machines Corporation Method, system, and program for a policy based storage manager
JP4777651B2 (ja) 2002-08-23 2011-09-21 イグジット−キューブ,インク. コンピュータシステム及びデータ保存方法
WO2004019186A2 (en) 2002-08-26 2004-03-04 Guardednet, Inc. Determining threat level associated with network activity
US20060190984A1 (en) 2002-09-23 2006-08-24 Credant Technologies, Inc. Gatekeeper architecture/features to support security policy maintenance and distribution
KR100492800B1 (ko) * 2002-11-12 2005-06-07 주식회사 하이닉스반도체 불휘발성 강유전체 메모리 제어 장치
US7181016B2 (en) 2003-01-27 2007-02-20 Microsoft Corporation Deriving a symmetric key from an asymmetric key for file encryption or decryption
US20090177664A9 (en) * 2003-05-07 2009-07-09 Hotchkiss Lynette I System and Method for Regulatory Rules Repository Generation and Maintenance
AU2003229299A1 (en) 2003-05-14 2005-01-21 Threatguard, Inc. System and method for application-level virtual private network
US7360073B1 (en) * 2003-05-15 2008-04-15 Pointsec Mobile Technologies, Llc Method and apparatus for providing a secure boot for a computer system
US6968973B2 (en) * 2003-05-31 2005-11-29 Microsoft Corporation System and process for viewing and navigating through an interactive video tour
US7389273B2 (en) 2003-09-25 2008-06-17 Scott Andrew Irwin System and method for federated rights management
GB2406403B (en) 2003-09-26 2006-06-07 Advanced Risc Mach Ltd Data processing apparatus and method for merging secure and non-secure data into an output data stream
US7730318B2 (en) 2003-10-24 2010-06-01 Microsoft Corporation Integration of high-assurance features into an application through application factoring
US20050120265A1 (en) 2003-12-02 2005-06-02 Pline Steven L. Data storage system with error correction code and replaceable defective memory
US7536536B1 (en) * 2003-12-15 2009-05-19 American Megatrends, Inc. Method, system, and computer readable medium for updating and utilizing the contents of a non-essential region of a memory device
US7930540B2 (en) 2004-01-22 2011-04-19 Mcafee, Inc. Cryptographic policy enforcement
US7254669B2 (en) * 2004-01-29 2007-08-07 International Business Machines Corporation Create virtual track buffers in NVS using customer segments to maintain newly written data across a power loss
US7559088B2 (en) 2004-02-04 2009-07-07 Netapp, Inc. Method and apparatus for deleting data upon expiration
WO2005078606A2 (en) 2004-02-11 2005-08-25 Storage Technology Corporation Clustered hierarchical file services
US20050262361A1 (en) 2004-05-24 2005-11-24 Seagate Technology Llc System and method for magnetic storage disposal
CN100353787C (zh) 2004-06-23 2007-12-05 华为技术有限公司 一种移动终端内存储的资料信息的安全保障方法
US7409623B2 (en) * 2004-11-04 2008-08-05 Sigmatel, Inc. System and method of reading non-volatile computer memory
US7725703B2 (en) 2005-01-07 2010-05-25 Microsoft Corporation Systems and methods for securely booting a computer with a trusted processing module
US7308525B2 (en) * 2005-01-10 2007-12-11 Sandisk Il Ltd. Method of managing a multi-bit cell flash memory with improved reliablility and performance
US20060206507A1 (en) * 2005-02-16 2006-09-14 Dahbour Ziyad M Hierarchal data management
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
US7277986B2 (en) * 2005-03-30 2007-10-02 Emc Corporation Sector-edge cache
US7516478B2 (en) 2005-06-03 2009-04-07 Microsoft Corporation Remote management of mobile devices
US20070028231A1 (en) 2005-08-01 2007-02-01 International Business Machines Corporation System and method for start menu and application uninstall synchronization
US7602906B2 (en) * 2005-08-25 2009-10-13 Microsoft Corporation Cipher for disk encryption
US7730327B2 (en) 2005-09-09 2010-06-01 Netapp, Inc. Managing the encryption of data
US7694134B2 (en) 2005-11-11 2010-04-06 Computer Associates Think, Inc. System and method for encrypting data without regard to application
TW200723093A (en) 2005-12-14 2007-06-16 Inventec Corp Method for establishing mirror storage equipment and synchronously storing equipment update data
US8286159B2 (en) 2005-12-22 2012-10-09 Alan Joshua Shapiro Method and apparatus for gryphing a data storage medium
US7594087B2 (en) * 2006-01-19 2009-09-22 Sigmatel, Inc. System and method for writing data to and erasing data from non-volatile memory
JP4838610B2 (ja) * 2006-03-24 2011-12-14 キヤノン株式会社 文書管理装置、文書管理方法、プログラム
EP2013779A4 (en) 2006-04-14 2012-07-18 Vertafore Inc METHOD, SYSTEM AND COMPUTER-READABLE MEDIUM FOR PROVIDING PERSONALIZED CLASSIFICATION OF DOCUMENTS IN A FILE MANAGEMENT SYSTEM
JP4749930B2 (ja) * 2006-04-24 2011-08-17 株式会社日立製作所 計算機システム及び管理計算機とストレージ装置並びにボリューム割当確認方法
US20080010468A1 (en) 2006-06-06 2008-01-10 Ruiz R P Method and technique for enforcing transience and propagation constraints on data transmitted by one entity to another entity by means of data division and retention
US8307148B2 (en) * 2006-06-23 2012-11-06 Microsoft Corporation Flash management techniques
US7711923B2 (en) * 2006-06-23 2010-05-04 Microsoft Corporation Persistent flash memory mapping table
US8416954B1 (en) 2008-09-30 2013-04-09 Emc Corporation Systems and methods for accessing storage or network based replicas of encrypted volumes with no additional key management
GB0614515D0 (en) * 2006-07-21 2006-08-30 Ibm An apparatus for managing power-consumption
US8015433B2 (en) * 2006-09-13 2011-09-06 Hitachi Global Storage Technologies Netherlands B.V. Disk drive with nonvolatile memory for storage of failure-related data
US20080091613A1 (en) 2006-09-28 2008-04-17 Microsoft Corporation Rights management in a cloud
US8601598B2 (en) 2006-09-29 2013-12-03 Microsoft Corporation Off-premise encryption of data storage
US7890796B2 (en) * 2006-10-04 2011-02-15 Emc Corporation Automatic media error correction in a file server
US8396214B2 (en) 2006-11-02 2013-03-12 SAP Portals Israel Limited Method and apparatus for centrally managed encrypted partition
US8135135B2 (en) 2006-12-08 2012-03-13 Microsoft Corporation Secure data protection during disasters
US7702973B2 (en) * 2007-01-05 2010-04-20 Broadcom Corporation Modified defect scan over sync mark/preamble field
US8056143B2 (en) 2007-01-19 2011-11-08 Research In Motion Limited Selectively wiping a remote device
US8572400B2 (en) 2007-03-26 2013-10-29 Intel Corporation Enhanced digital right management framework
US8369411B2 (en) 2007-03-29 2013-02-05 James Au Intra-macroblock video processing
JP2008250779A (ja) 2007-03-30 2008-10-16 Hitachi Ltd 暗号機能を備えた記憶制御装置、データ暗号化方法及び記憶システム
US7864960B2 (en) 2007-05-31 2011-01-04 Novell, Inc. Techniques for securing content in an untrusted environment
US8474054B2 (en) 2007-06-26 2013-06-25 Digital Keystone, Inc. Systems and methods for conditional access and digital rights management
JP4405533B2 (ja) * 2007-07-20 2010-01-27 株式会社東芝 キャッシュ方法及びキャッシュ装置
US8554176B2 (en) 2007-09-18 2013-10-08 Qualcomm Incorporated Method and apparatus for creating a remotely activated secure backup service for mobile handsets
US8249257B2 (en) 2007-09-28 2012-08-21 Intel Corporation Virtual TPM keys rooted in a hardware TPM
CN101436192B (zh) * 2007-11-16 2011-03-16 国际商业机器公司 用于优化针对垂直存储式数据库的查询的方法和设备
WO2009069043A2 (en) * 2007-11-26 2009-06-04 Koninklijke Philips Electronics N.V. Method of managing data in communication network comprising at least a first and a second node
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
US7962739B2 (en) * 2008-02-25 2011-06-14 Lenovo (Singapore) Pte. Ltd. Recovering from hard disk errors that corrupt one or more critical system boot files
US7890664B1 (en) * 2008-03-31 2011-02-15 Emc Corporation Methods and apparatus for non-disruptive upgrade by redirecting I/O operations
US7979626B2 (en) * 2008-05-13 2011-07-12 Microsoft Corporation Flash recovery employing transaction log
WO2009138928A1 (en) * 2008-05-13 2009-11-19 Nxp B.V. Secure direct memory access
US20090307563A1 (en) * 2008-06-05 2009-12-10 Ibm Corporation (Almaden Research Center) Replacing bad hard drive sectors using mram
US8423792B2 (en) 2008-06-05 2013-04-16 International Business Machines Corporation Apparatus, system, and method for communication between a driver and an encryption source
US20090307759A1 (en) 2008-06-06 2009-12-10 Microsoft Corporation Temporary Domain Membership for Content Sharing
US8943551B2 (en) 2008-08-14 2015-01-27 Microsoft Corporation Cloud-based device information storage
US9432184B2 (en) * 2008-09-05 2016-08-30 Vixs Systems Inc. Provisioning of secure storage for both static and dynamic rules for cryptographic key information
US8332604B2 (en) * 2008-09-30 2012-12-11 Intel Corporation Methods to securely bind an encryption key to a storage device
US8411863B2 (en) 2008-10-03 2013-04-02 Microsoft Corporation Full volume encryption in a clustered environment
US8341430B2 (en) 2008-10-03 2012-12-25 Microsoft Corporation External encryption and recovery management with hardware encrypted storage devices
TW201015322A (en) 2008-10-08 2010-04-16 Ee Solutions Inc Method and system for data secured data recovery
US8336079B2 (en) * 2008-12-31 2012-12-18 Hytrust, Inc. Intelligent security control system for virtualized ecosystems
US20100306180A1 (en) 2009-01-28 2010-12-02 Digitiliti, Inc. File revision management
KR100928467B1 (ko) 2009-02-02 2009-11-25 주식회사 파수닷컴 클립보드 보안 시스템 및 방법
US8341427B2 (en) 2009-02-16 2012-12-25 Microsoft Corporation Trusted cloud computing and services framework
US8046533B2 (en) * 2009-03-10 2011-10-25 Emulex Design & Manufacturing Corporation System and method for sector remapping
TW201035754A (en) * 2009-03-25 2010-10-01 Inventec Corp RAID processing method
US20100266132A1 (en) 2009-04-15 2010-10-21 Microsoft Corporation Service-based key escrow and security for device data
US8516264B2 (en) 2009-10-09 2013-08-20 Lsi Corporation Interlocking plain text passwords to data encryption keys
US8538919B1 (en) * 2009-05-16 2013-09-17 Eric H. Nielsen System, method, and computer program for real time remote recovery of virtual computing machines
US20100299152A1 (en) 2009-05-20 2010-11-25 Mobile Iron, Inc. Selective Management of Mobile Devices in an Enterprise Environment
US8588422B2 (en) 2009-05-28 2013-11-19 Novell, Inc. Key management to protect encrypted data of an endpoint computing device
US8578157B2 (en) 2009-05-29 2013-11-05 Adobe Systems Incorporated System and method for digital rights management with authorized device groups
US8321688B2 (en) 2009-06-12 2012-11-27 Microsoft Corporation Secure and private backup storage and processing for trusted computing and data services
US8719486B2 (en) * 2009-06-24 2014-05-06 Micron Technology, Inc. Pinning content in nonvolatile memory
US9141489B2 (en) * 2009-07-09 2015-09-22 Uniloc Luxembourg S.A. Failover procedure for server system
US20110055559A1 (en) 2009-08-27 2011-03-03 Jun Li Data retention management
US8498418B2 (en) 2009-08-31 2013-07-30 International Business Machines Corporation Conversion of cryptographic key protection
US20110060915A1 (en) * 2009-09-10 2011-03-10 International Business Machines Corporation Managing Encryption of Data
US8726407B2 (en) * 2009-10-16 2014-05-13 Deviceauthority, Inc. Authentication of computing and communications hardware
EP2348450B1 (en) 2009-12-18 2013-11-06 CompuGroup Medical AG Database system, computer system, and computer-readable storage medium for decrypting a data record
US20110154023A1 (en) 2009-12-21 2011-06-23 Smith Ned M Protected device management
KR101654774B1 (ko) * 2010-02-08 2016-09-06 시게이트 테크놀로지 엘엘씨 데이터 저장 장치와 저장 매체 액세스 방법 및 그에 대한 저장 매체
US9703586B2 (en) 2010-02-17 2017-07-11 Microsoft Technology Licensing, Llc Distribution control and tracking mechanism of virtual machine appliances
WO2011109865A1 (en) 2010-03-09 2011-09-15 Lock Box Pty Ltd Method and system for sharing encrypted content
US8930713B2 (en) * 2010-03-10 2015-01-06 Dell Products L.P. System and method for general purpose encryption of data
US8375437B2 (en) 2010-03-30 2013-02-12 Microsoft Corporation Hardware supported virtualized cryptographic service
FR2958478B1 (fr) * 2010-04-02 2012-05-04 Sergio Loureiro Procede de securisation de donnees et/ou des applications dans une architecture informatique en nuage
US8433901B2 (en) 2010-04-07 2013-04-30 Apple Inc. System and method for wiping encrypted data on a device having file-level content protection
US20110264925A1 (en) 2010-04-23 2011-10-27 Russo Leonard E Securing data on a self-encrypting storage device
US8935384B2 (en) 2010-05-06 2015-01-13 Mcafee Inc. Distributed data revocation using data commands
WO2011142996A2 (en) 2010-05-09 2011-11-17 Madhav Chinta Methods and systems for forcing an application to store data in a secure storage location
US8458490B2 (en) 2010-05-28 2013-06-04 Dell Products, Lp System and method for supporting full volume encryption devices in a client hosted virtualization system
US8625802B2 (en) 2010-06-16 2014-01-07 Porticor Ltd. Methods, devices, and media for secure key management in a non-secured, distributed, virtualized environment with applications to cloud-computing security and management
US20120017095A1 (en) 2010-07-19 2012-01-19 Coreguard Software Service for Encrypting and Decrypting Data
WO2012016091A2 (en) 2010-07-28 2012-02-02 Nextlabs, Inc. Protecting documents using policies and encryption
US8539245B2 (en) 2010-08-06 2013-09-17 Intel Corporation Apparatus and method for accessing a secure partition in non-volatile storage by a host system enabled after the system exits a first instance of a secure mode
US8385014B2 (en) * 2010-10-11 2013-02-26 Lsi Corporation Systems and methods for identifying potential media failure
US8661193B1 (en) * 2010-10-29 2014-02-25 Western Digital Technologies, Inc. Disk drive with partial sector management
EP2448303B1 (en) 2010-11-01 2014-02-26 BlackBerry Limited Method and system for securing data of a mobile communications device
US8352749B2 (en) * 2010-12-17 2013-01-08 Google Inc. Local trusted services manager for a contactless smart card
US8924739B2 (en) * 2011-01-05 2014-12-30 Apple Inc. System and method for in-place encryption
US20120239618A1 (en) 2011-03-16 2012-09-20 I O Interconnect, Ltd. File sharing mechanism
WO2012129191A2 (en) 2011-03-18 2012-09-27 Fusion-Io, Inc. Logical interfaces for contextual storage
US8769305B2 (en) 2011-03-21 2014-07-01 Moncana Corporation Secure execution of unsecured apps on a device
EP2509275A1 (en) 2011-04-04 2012-10-10 Buntinx Method and system for authenticating entities by means of mobile terminals
US8527561B1 (en) * 2011-05-17 2013-09-03 Crossroads Systems, Inc. System and method for implementing a networked file system utilizing a media library
US9141779B2 (en) 2011-05-19 2015-09-22 Microsoft Technology Licensing, Llc Usable security of online password management with sensor-based authentication
WO2012167392A2 (en) 2011-06-06 2012-12-13 ETH Zürich Method and devices for secure deletion of data in a log structured file system
US10496824B2 (en) 2011-06-24 2019-12-03 Microsoft Licensing Technology, LLC Trusted language runtime on a mobile platform
EP2562675A1 (fr) 2011-08-19 2013-02-27 Gemalto SA Procédé de cloisonnement matériel des ressources d'un système informatique sécurisé
US8689279B2 (en) * 2011-08-30 2014-04-01 Microsoft Corporation Encrypted chunk-based rapid data encryption policy compliance
US8856553B2 (en) 2011-09-12 2014-10-07 Microsoft Corporation Managing self-encrypting drives in decentralized environments
FR2980285B1 (fr) 2011-09-15 2013-11-15 Maxim Integrated Products Systemes et procedes de gestion de cles cryptographiques dans un microcontroleur securise
US10165007B2 (en) 2011-09-15 2018-12-25 Microsoft Technology Licensing, Llc Securing data usage in computing devices
US8479021B2 (en) 2011-09-29 2013-07-02 Pacid Technologies, Llc Secure island computing system and method
US20140053234A1 (en) 2011-10-11 2014-02-20 Citrix Systems, Inc. Policy-Based Application Management
US20140032733A1 (en) 2011-10-11 2014-01-30 Citrix Systems, Inc. Policy-Based Application Management
US9143530B2 (en) 2011-10-11 2015-09-22 Citrix Systems, Inc. Secure container for protecting enterprise data on a mobile device
US9100235B2 (en) 2011-11-07 2015-08-04 At&T Intellectual Property I, L.P. Secure desktop applications for an open computing platform
US10291658B2 (en) 2011-11-09 2019-05-14 Microsoft Technology Licensing, Llc Techniques to apply and share remote policies on mobile devices
EP2788911A4 (en) 2011-12-08 2015-07-29 Intel Corp METHOD AND DEVICE FOR POLICY-BASED JOINT CONTENT USE IN A PEER TO PEER WAY WITH ROOT-OF-TRUST ON HARDWARE BASE
WO2013122869A1 (en) 2012-02-13 2013-08-22 Eugene Shablygin Sharing secure data
US8875298B2 (en) 2012-02-16 2014-10-28 Nec Laboratories America, Inc. Method for scalable analysis of android applications for security vulnerability
CN102646077B (zh) 2012-03-28 2016-06-15 山东超越数控电子有限公司 一种基于可信密码模块的全盘加密的方法
US9253209B2 (en) 2012-04-26 2016-02-02 International Business Machines Corporation Policy-based dynamic information flow control on mobile devices
US9202083B2 (en) 2012-05-22 2015-12-01 Partnet, Inc. Systems and methods for verifying uniqueness in anonymous authentication
EP2680487B1 (en) 2012-06-29 2019-04-10 Orange Secured cloud data storage, distribution and restoration among multiple devices of a user
US20140019753A1 (en) 2012-07-10 2014-01-16 John Houston Lowry Cloud key management
US10079678B2 (en) 2012-07-24 2018-09-18 Intel Corporation Providing access to encrypted data
US20140075493A1 (en) * 2012-09-12 2014-03-13 Avaya, Inc. System and method for location-based protection of mobile data
US10268775B2 (en) 2012-09-17 2019-04-23 Nokia Technologies Oy Method and apparatus for accessing and displaying private user information
US9392077B2 (en) 2012-10-12 2016-07-12 Citrix Systems, Inc. Coordinating a computing activity across applications and devices having multiple operation modes in an orchestration framework for connected devices
US20140109176A1 (en) 2012-10-15 2014-04-17 Citrix Systems, Inc. Configuring and providing profiles that manage execution of mobile applications
US8875304B2 (en) 2012-11-08 2014-10-28 International Business Machines Corporation Application and data removal system
US9454670B2 (en) * 2012-12-03 2016-09-27 International Business Machines Corporation Hybrid file systems
US8997197B2 (en) 2012-12-12 2015-03-31 Citrix Systems, Inc. Encryption-based data access management
CN103092938A (zh) 2013-01-07 2013-05-08 浙江鸿程计算机系统有限公司 一种智能清理Android手机SD卡垃圾文件的方法
CN103092664B (zh) 2013-02-07 2016-08-03 珠海市君天电子科技有限公司 一种安卓系统的数据文件的处理方法和装置
US9547771B2 (en) 2013-02-12 2017-01-17 Amazon Technologies, Inc. Policy enforcement with associated data
US9892284B2 (en) 2013-03-11 2018-02-13 Lantiq Beteiligungs-GmbH & Co. KG Trusted execution thread in an embedded multithreaded system
US20140344570A1 (en) 2013-05-20 2014-11-20 Microsoft Corporation Data Protection For Organizations On Computing Devices
US9369289B1 (en) 2013-07-17 2016-06-14 Google Inc. Methods and systems for performing secure authenticated updates of authentication credentials
US9465947B2 (en) 2013-08-05 2016-10-11 Samsung Sds America, Inc. System and method for encryption and key management in cloud storage
CN103500116A (zh) 2013-10-29 2014-01-08 中科创达软件股份有限公司 一种清除应用程序生成的数据的方法及系统
CN103577567A (zh) 2013-10-29 2014-02-12 广东欧珀移动通信有限公司 一种Android系统卸载应用删除垃圾文件的方法
US10615967B2 (en) 2014-03-20 2020-04-07 Microsoft Technology Licensing, Llc Rapid data protection for storage devices
US9411975B2 (en) 2014-03-31 2016-08-09 Intel Corporation Methods and apparatus to securely share data
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
EP3234847B1 (en) * 2014-12-15 2019-07-10 BlackBerry Limited Secure storage
US10073791B2 (en) * 2015-03-25 2018-09-11 Vera Securing files
US9853820B2 (en) 2015-06-30 2017-12-26 Microsoft Technology Licensing, Llc Intelligent deletion of revoked data
US9900325B2 (en) 2015-10-09 2018-02-20 Microsoft Technology Licensing, Llc Passive encryption of organization data

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090063756A1 (en) * 2007-08-31 2009-03-05 Microsoft Corporation Using flash storage device to prevent unauthorized use of software
US20100107213A1 (en) * 2008-10-23 2010-04-29 Microsoft Corporation Access Control State Determination Based on Security Policy and Secondary Access Control State
TW201032559A (en) * 2009-02-24 2010-09-01 Fineart Technology Co Ltd Conditional electric document right management system and method
TWI540453B (zh) * 2011-08-30 2016-07-01 微軟技術授權有限責任公司 以區段映射表為基礎之快速資料加密策略順從

Also Published As

Publication number Publication date
WO2013032501A1 (en) 2013-03-07
EP2751734B1 (en) 2019-11-20
CN102945355A (zh) 2013-02-27
US9740639B2 (en) 2017-08-22
EP2751734A1 (en) 2014-07-09
US20150033039A1 (en) 2015-01-29
US20130054979A1 (en) 2013-02-28
CN102945355B (zh) 2015-12-02
TW201616365A (zh) 2016-05-01
US9477614B2 (en) 2016-10-25
US8874935B2 (en) 2014-10-28
EP2751734A4 (en) 2015-04-15
US20170004094A1 (en) 2017-01-05
TWI540453B (zh) 2016-07-01
TW201310274A (zh) 2013-03-01

Similar Documents

Publication Publication Date Title
TWI582593B (zh) 以區段映射表爲基礎之快速資料加密策略順從
TWI544332B (zh) 用於以經加密塊為基礎之快速資料加密策略順從的方法與電腦儲存媒體
KR102340219B1 (ko) 스토리지 디바이스에 대한 신속한 데이터 보호
JP6408598B2 (ja) 暗号でアテストされたリソースでのクライアントに指定されたクレデンシャルの保護
JP5281074B2 (ja) 情報セキュリティ装置および情報セキュリティシステム
JP5904505B2 (ja) 仮想ディスクを暗号化及び復号するためのコンピュータ可読ストレージ媒体
US11329814B2 (en) Self-encryption drive (SED)
US8607071B2 (en) Preventing replay attacks in encrypted file systems
CN107590395B (zh) 适用于云环境的多层数据加密方法、装置、设备及系统
US10848305B2 (en) Key generation information trees
KR20140051350A (ko) 디지털 서명 권한자 의존형 플랫폼 기밀 생성 기법
US7949137B2 (en) Virtual disk management methods
US10733306B2 (en) Write-only limited-read filesystem
JP7124282B2 (ja) 情報処理装置及び情報処理プログラム

Legal Events

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