CN102945355A - 基于扇区映射的快速数据加密策略遵从 - Google Patents

基于扇区映射的快速数据加密策略遵从 Download PDF

Info

Publication number
CN102945355A
CN102945355A CN2012103146311A CN201210314631A CN102945355A CN 102945355 A CN102945355 A CN 102945355A CN 2012103146311 A CN2012103146311 A CN 2012103146311A CN 201210314631 A CN201210314631 A CN 201210314631A CN 102945355 A CN102945355 A CN 102945355A
Authority
CN
China
Prior art keywords
sector
storage volume
map
computing equipment
content
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN2012103146311A
Other languages
English (en)
Other versions
CN102945355B (zh
Inventor
I.巴斯莫夫
M.B.G.奈斯特伦
A.M.塞门科
D.M.麦克尔弗
D.李
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Corp
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 Microsoft Corp filed Critical Microsoft Corp
Publication of CN102945355A publication Critical patent/CN102945355A/zh
Application granted granted Critical
Publication of CN102945355B publication Critical patent/CN102945355B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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)

Abstract

为了遵从用于计算设备的指示在其被激活之后计算设备写入存储卷的数据被加密的策略,扇区映射被访问。所述扇区映射标识存储卷的一个或多个扇区,并且还为存储卷的一个或多个扇区中的每一个标识该扇区的内容的签名。如果扇区是所述一个或多个扇区之一,并且该扇区的内容的签名与在扇区映射中标识的该扇区的签名相匹配,则响应于读取扇区内容的请求,在没有解密内容的情况下返回该扇区的内容。否则,该扇区的内容将被解密,并且将会返回解密的内容。

Description

基于扇区映射的快速数据加密策略遵从
背景技术
计算机可以在不同设置中使用,有时将会遵循特定策略。例如,在从个人计算机访问电子邮件之类的公司数据时,公司策略可能会规定个人计算机必须加密个人计算机的存储设备上存储的公司数据,以便授权访问公司数据。在遵从该策略之前,计算机可能无法访问特定公司服务,而是一直等待存储设备加密(根据存储设备大小而有可能等待大约数分钟或数小时)以使用公司服务,这样有可能会挫伤用户。
发明内容
本发明内容是为了以简化形式引入精选概念而被提供的,在以下的具体实施方式部分中将会进一步描述这些概念。本发明内容的目的既不是确定所要求保护主题的关键特征或必要特征,也不是用来限制所要求保护的主题的范围。
根据一个或多个方面,在计算设备上接收激活用于该计算设备的策略的请求。所述策略指示在激活该策略之后计算设备写入存储卷的数据被进行加密。响应于该请求,该策略被激活以用于所述设备,包括在返回遵从策略的指示之后加密写入存储卷的数据,以及使用扇区映射(sector map)来标识存储卷中未加密的一个或多个扇区。此外,响应于该请求,即便存储卷的一个或多个扇区未被加密,也还是返回遵从策略的指示。
根据一个或多个方面,为了遵从用于计算设备的指示在该策略被激活之后计算设备写入存储卷的数据被加密的策略,扇区映射将被访问。所述扇区映射标识存储卷的一个或多个扇区,此外还为存储卷的所述一个或多个扇区中的每一个扇区标识扇区内容的签名。如果所述扇区是存储映射中标识的一个或多个扇区之一,并且该扇区内容的签名与扇区映射中标识的扇区签名相匹配,那么响应于读取扇区内容的请求,在不解密扇区内容的情况下返回所述内容。否则,扇区的内容将被解密并且返回解密的内容。
附图说明
在整个附图中将会使用相同的数字来参考相似的特征。
图1是示出了根据一个或多个实施例来实施快速遵从数据加密策略的处理的例示计算设备的框图。
图2示出了根据一个或多个实施例的例示扇区映射。
图3示出了根据一个或多个实施例而被保持在存储器中并在存储设备上留存的扇区映射的示例。
图4是示出了根据一个或多个实施例来实施快速遵从数据加密策略的处理的另一个例示计算设备的框图。
图5是示出了根据一个或多个实施例来实施快速遵从数据加密策略的例示处理的流程图。
图6是示出了根据一个或多个实施例的使用扇区映射来实施快速遵从数据加密策略的处理的另一个例示处理的流程图。
图7是示出了根据一个或多个实施例使用加密的组块(chunk)映射来实施快速遵从数据加密策略的处理的例示处理的流程图。
图8示出了可以被配置成根据一个或多个实施例实施快速遵从数据加密策略的处理的例示计算设备。
具体实施方式
在这里论述的是快速遵从数据加密策略。可以产生计算设备使用的存储卷的扇区映射,该扇区映射标识存储卷的一个或多个扇区以及所述一个或多个扇区中每个扇区的内容的签名。扇区映射可以是在把操作系统安装到计算设备上之后不久(或是作为其一部分)产生的,或者作为替换,扇区映射可以是稍后在激活用于计算设备的策略之前产生。所激活的用于计算设备的策略指示在激活该策略之后计算设备写入存储卷的内容被加密。在激活了该策略之后,计算设备将会加密写入存储卷扇区的内容。此外,在激活了该策略之后,特定扇区中的内容既有可能是加密的,也有可能是未加密的。使用扇区映射来标识存储卷的哪些扇区具有加密内容,由此标识哪些内容在返回给请求方之前需要解密。
作为替换,可以产生计算设备使用的存储卷的加密组块映射,所述加密组块映射标识存储卷的扇区的组块。对存储卷的扇区的每一个组块,加密组块映射指示组块中的扇区是否加密(或是未被使用)。在激活了用于计算设备且指示在该策略被激活之后计算设备写入存储卷的内容被加密的策略之后,写入存储卷的数据将被加密。如果将数据写入未加密的组块(由加密组块映射确定),那么将会加密所述组块中的扇区,数据将被加密并写入扇区,并且加密组块映射将被更新,以便指示所述组块是加密的。是否解密那些从存储卷中读取的数据是基于从中读取数据的扇区是否未经加密(由加密组块映射确定)来确定的。
在这里将会参考密码术,其中所述密码术可以包括对称密钥密码术、公钥密码术以及公钥/私钥对。虽然这些密钥密码术对于本领域技术人员而言是众所周知的,但是为了帮助读者,在这里包含了关于此类密码术的简要综述。在公钥密码术中,实体(例如用户、硬件或软件组件、设备、域等等)具有密钥(公钥和/或私钥)。公钥/私钥对中的公钥是公开可得到的,而私钥则是保密的。在没有私钥的情况下,通过计算来解密使用公钥加密的数据将会非常困难。在使用一些公钥密码术算法的情况下,数据可以由任何具有公钥的实体进行加密,并且只能被具有相应私钥的实体解密。此外,使用一些公钥密码术算法,可以通过使用数据和私钥来产生用于该数据的数字签名。在没有私钥的情况下,通过计算来创建可以使用公钥核实(verify)的签名将会非常困难。通过对公钥、签名以及已被签名的数据执行适当的数字签名核实算法,任何具有公钥的实体都可以使用所述公钥来核实数字签名。
另一方面,在对称密钥密码术中,共享密钥(也被称为对称密钥)是为两个实体所知和保密的。通常,任何具有共享密钥的实体都能解密使用该共享密钥加密的数据。在没有共享密钥的情况下,通过计算来解密使用所述共享密钥加密的数据将会非常困难。因此,如果两个实体全都知道共享密钥,那么每个实体都可以加密数据,而另一方则可以解密数据,然而,如果其他实体不知道该共享密钥,那么所述其他实体无法解密该数据。同样,具有共享密钥的实体也可以加密数据,并且所述数据可被同一实体解密,然而,如果其他实体不知道共享密钥,那么所述其他实体将不能解密该数据。此外,基于例如使用了带密钥的散列消息验证码(authentication code)机制之类的对称密钥密码术,可以产生验证码或消息验证码。任何具有共享密钥的实体都可以产生并核实该验证码或消息验证码。例如,可信的第三方可以基于特定实体的身份来产生对称密钥,然后可以产生并核实用于所述特定实体的验证码或消息验证码(例如通过用对称密钥加密或解密数据)。
图1是示出了根据一个或多个实施例来实施快速遵从数据加密策略的例示计算设备100的框图。计算设备100可以是多种不同类型的设备,例如物理设备或虚拟设备。举例来说,计算设备100可以是物理设备,例如台式计算机、服务器计算机、膝上计算机或上网本计算机、平板或笔记本计算机、移动站、娱乐设备、与显示设备可通信地耦合的机顶盒、电视或其他显示设备、蜂窝或其他无线电话、游戏控制台、车用计算机等等。计算设备100也可以是虚拟设备,例如在物理设备上运行的虚拟机。虚拟机可以在多种不同类型的物理设备中的任何一种(例如上文列举的多种不同类型中的任何一种)上运行。由此,计算设备100的范围可以是从存储器和处理器资源充足的全资源设备(例如个人计算机、游戏控制台)到存储器和/或处理资源有限的低资源设备(例如传统的机顶盒,手持游戏控制台)。
计算设备100包括加密/解密控制模块102、读/写控制模块104、策略模块106、扇区映射108以及存储卷110。虽然在计算设备100中示出了特定模块102、104和106,然而应该指出,模块102、104和106中的一个或多个可以合并成单个模块,或者模块102、104和/或106中的一个或多个的功能可以分离到多个模块中。加密/解密控制模块102管理使用多种不同密码术技术中的任一技术(例如使用对称密钥密码术和/或公钥密码术)对存储卷110上存储的数据的加密和解密。存储卷110上保存的数据110指的是任何可被存储的信息,例如程序数据、用户数据、系统数据、指令或代码等等。
通常,只有在得到授权的时候,加密/解密控制模块102才允许加密和/或解密数据。模块102可被授权来允许以不同的方式加密和/或解密数据。例如,只有在计算设备100的用户证明他或她拥有访问数据的有效证书之后,模块102才能被授权允许加密和/或解密数据。多种不同的证书都是可以使用的,例如关于密语(secret phrase)(例如口令)的知识,与证书对应的私钥,临时秘密(例如一次性口令)等等。作为另一个示例,只有在检测到计算设备100处于特定状态(例如遵守特定策略)之后,模块102才可被授权允许加密和/或解密数据。作为另一个示例,只有在获取了在计算设备100中存储的或由计算设备100存储的特定加密和/或解密密钥之后,模块102才可被授权允许加密和/或解密数据。
读/写控制模块104管理从存储卷110中读取数据以及将数据写入存储卷110的处理。这种读和写处理包括读取和写入加密数据(又称为密文)和未加密数据(又称为明文)。读/写控制模块104可以在适当的时候调用模块102来加密和/或解密所读取和/或写入的数据。
策略模块106在计算设备100上实施不同的策略。每一个策略标识设备100将要遵循的一个或多个行为,例如要在设备100上运行的程序的类型(例如反恶意软件程序),设备100将要实施的安全类型(例如加密和解密数据)等等。在一个或多个实施例中,策略可以指示:一旦在所述设备100上激活该策略(以及可选地在去激活该策略之前),就要对存储卷110上存储的数据进行加密。激活策略指的是在计算设备100上强制实施策略以及计算设备100遵从所述策略。策略模块106可以采用多种不同的方式来获取将要实施的一个或多个策略,例如被预先配置成具有一个或多个策略,接收关于一个或多个策略的用户输入(例如来自管理用户),接收来自远程服务器或服务的一个或多个策略等等。
存储卷110是可以用多种不同的技术实施的存储设备,例如闪存设备、磁盘、光盘及其组合等等。存储卷110还可以是存储设备的一部分,而计算设备和操作系统会在逻辑上将其视为存储设备。例如,存储卷可以是硬盘驱动器分区、闪存设备的一部分等等。
存储卷110被示出为作为计算设备100的一部分而被包括。例如,存储卷110可以是与设备100的内部总线相耦合的内部存储设备,其中举例来说,所述存储卷是用串行高级技术附件(SATA)接口、并行ATA(PATA)接口、小型计算机系统接口(SCSI)接口等等耦合的。作为另一个示例,存储卷可以是作为与实施模块102-106中的一个或多个模块的芯片处于相同电路板上的一个或多个芯片来实施的内部存储设备,可以是与模块102-106中的一个或多个模块在相同芯片上实施的内部存储设备等等。
作为替换,存储卷110可以位于计算设备100的外部,并且用多种不同的有线和/或无线方式耦合至计算设备100。例如,存储卷110可以经由通用串行总线(USB)连接、无线USB连接、IEEE 1394连接、外部SATA(eSATA)连接、Bluetooth连接等等耦合至计算设备100。存储卷110可被设计成与不同的计算设备(同时或者在不同时间)相耦合。在一个或多个实施例中,存储卷110是一个可移除卷,例如作为被设计成易于与计算设备100耦合和去耦合且易于转移至其他计算设备的存储设备的一部分。关于这种可移除存储卷的示例是拇指驱动器或USB闪存设备。作为替换,存储卷110还可以采用其他形式,例如经由网络(例如因特网、局域网(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的操作系统中实施的。响应于在计算设备上激活了指示要对数据加密的策略,不管将数据写入存储器的是怎样的应用或其他程序,在激活所述策略之后写入存储卷110的数据都会被加密。所述加密/解密控制模块102会为多个应用而不是简单地为单个应用加密写入存储卷110的数据。
图2示出了根据一个或多个实施例的例示扇区映射200。举例来说,扇区映射200可以是图1的扇区映射108。所述扇区映射200包括多个扇区标识符以及相应的扇区签名202(1),…202(x)。扇区映射200中的扇区标识符可以采用多种不同的形式,例如扇区的数字标识符。
应该指出的是,虽然在图2中示出的是每一个都具有相应扇区签名的多个扇区标识符,但是作为替换,扇区映射200也可以用不同方式配置。例如,扇区映射200可以将扇区签名排列在具有连续的扇区标识符的集合或游程(run)的群组中。单个扇区标识符(例如位于扇区标识符游程开端或起始处的扇区标识符)可被包含在扇区映射200中,然后,在给出了扇区签名大小的情况下,很容易即可识别群组内部的特定扇区签名。举例来说,如果处于群组开端的扇区标识符是扇区732并且扇区签名的长度是6字节,那么能够很容易确定扇区735的扇区签名向扇区签名群组中偏移3x6=18字节。虽然在扇区映射200中仅仅包含单个扇区标识符用于群组,但是应该指出,扇区映射仍被视为标识该群组所包含的集合或游程中的扇区标识符的多个扇区(以及相应的扇区签名)。
在特定时间点,扇区映射200将被锁定。锁定扇区映射200指的是将扇区映射200设置或固定在其当前状态,并且不允许改变扇区映射200。扇区映射200可以用不同的方式锁定,例如将其存入非易失的一次性写入存储器单元,将其存入只能被计算设备100的操作系统访问的存储卷110的一部分,以及操作系统拒绝执行对扇区映射200的任何写入等等。如下文更详细论述的那样,扇区映射200可以是在不同时间锁定的(例如在安装操作系统或激活策略的时候)。
扇区映射200不必并且通常不会包含用于存储卷的每个扇区的标识符及相应签名。相反,扇区映射200包含在锁定扇区映射200之前写入的扇区的标识符及相应签名。作为替换,扇区映射200可以包括在锁定扇区映射200之前未被写入的多个扇区的标识符,并且还可以包括哪些标识的扇区在锁定扇区映射200之前已被写入的一个或多个指示(例如标记值,包含仅仅用于在锁定扇区映射200之前写入的那些扇区的签名等等)。
扇区映射200中的扇区签名是扇区中的内容的至少一部分的表示。所述扇区签名可以根据扇区的内容以多种不同的方式产生。在一个或多个实施例中,扇区签名是通过选择扇区内容中的特定数量的字节产生的(例如扇区的前六个字节的内容,从扇区的第11个字节开始的所述扇区的8个字节的内容等等)。作为替换,扇区签名也可以用不同的方式产生,例如通过将多种不同的散列算法应用于扇区内容来获取散列值,通过将其他不同的算法或规则应用于扇区内容来获取代表扇区内容的值等等。
在锁定扇区映射200之后,使用扇区映射200中的扇区签名来识别相应扇区的内容是否改变(如下文更详细论述的那样,该处理可用于确定是否要解密内容)。在任何给定时间,扇区映射200中标识的扇区的内容签名可以用与为该扇区映射200生成该扇区的签名相同的方式生成。来自扇区映射200的签名与为该扇区产生的签名进行比较,并且确定这两个签名是否匹配(例如是否相同)。如果这两个签名匹配,则不会在锁定扇区映射200之后改变相应签名的内容。然而,如果这两个签名不匹配,那么会在锁定扇区映射200之后改变相应签名的内容。
在一个或多个实施例中,扇区映射200用一种便于快速访问扇区映射200的内容的方式保持在存储器或存储设备中。例如,在存储设备上,扇区映射200可被保持在存储设备的连续扇区的群组中,保持在存储器中的连续地址的群组中等等。此外,扇区映射200的内容还可以基于扇区标识符并以数字顺序保存在存储设备和/或存储器中,以及保存在以扇区标识符为基础编索引的二进制树中等等。
在一个或多个实施例中,在存储设备上,扇区映射200的内容被保持在扇区标识符的群组中,其中每一个群组都包括连续的扇区标识符集合或游程。每一个群组都包括用于标识该群组的不同信息的报头,例如群组大小(例如用于存储所述群组的存储设备扇区的数量,所述游程中的扇区标识符的数量等等),所述群组的校验和值,用于访问群组中的第一个扇区标识符和扇区签名的存储卷(或存储器)的偏移等等。然后,当计算设备开始工作时(例如通电、复位等等),这些群组能够很容易被映射到存储器中的扇区映射。应该指出的是,在这样的实施例中,扇区映射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相对应的位图,其中所述位图中的每个比特都与存储卷110的一个扇区相对应。如果卷110的特定扇区是在锁定扇区映射108之后写入的(可选地,该扇区是在锁定扇区映射108之后首次写入的),那么模块104将会置位与该特定扇区相对应的比特(例如置位成值1)。如果该扇区在锁定扇区映射108之后尚未被写入,那么不会置位相应比特(例如具有值0)。在读取扇区的内容时,如果置位了与该扇区相对应的位图中的比特,那么模块104就知道该扇区是在锁定扇区映射108之后写入的。相应地,在将该扇区的内容返回给请求方之前,模块104将会调用加密/解密控制模块102来解密该扇区的内容。然而,如果没有置位与扇区相对应的位图中的比特,那么如上所述,模块104将会继续检查在扇区映射108中是否标识了所述扇区和/或签名是否匹配。作为替换,将数据写入存储卷110的扇区以及更新位图(例如将对应于所述扇区的比特置位成值1)的处理可以作为原子操作来执行,在这种情况下,如果没有置位与扇区对应的位图中的比特,那么模块104可以将该扇区的内容返回给请求方,并且不需要调用加密/解密控制模块102来解密该扇区的内容。
所述位图还可以用于解决签名冲突。签名冲突是在扇区的两个不同内容产生相同签名的时候发生的。由于与扇区对应的比特是在扇区写入时置位的,由此模块104知道所述扇区是在锁定了扇区映射108之后写入的,因此,所述位图允许有签名冲突要解决的情形。如果置位与扇区相对应的比特,那么不管扇区的当前内容签名是否与扇区映射108中该扇区的签名相匹配,都表明所述扇区是在锁定扇区映射108之后写入的。
扇区映射108可以是在多个不同的时间产生和锁定的。在一个或多个实施例中,扇区映射108是作为在计算设备100上安装或初始化操作系统的处理的一部分而被产生和锁定的。例如,该处理可以由计算设备100的厂家或销售方来完成(例如在计算设备100的买方收到计算设备100之前),可以由计算设备100的用户来完成等等。扇区映射108的产生和锁定可以作为在计算设备100上安装操作系统的处理的一部分来执行,或者可以作为用于计算设备100的单独的初始化或装配处理的一部分来执行。操作系统被安装在计算设备100上,其中写入至存储卷110的扇区的数据未被加密/解密控制模块102加密。
在这样的实施例中,扇区映射108可以用不同的方式产生。例如,在操作系统的安装过程中可以保持关于存储卷110的哪些扇区已被写入的记录。该记录中标识的扇区可被标识成是扇区映射108中的扇区,此外在扇区映射108中还会产生和存储相应的签名。作为另一个示例,可以扫描存储卷110以便识别出哪些扇区已被写入以及哪些未被写入,已写入的那些扇区可被标识成是扇区映射108中的扇区以及在扇区映射108中产生和存储的相应签名。作为另一个示例,通过将存储卷映像拷贝至存储卷110,可以将操作系统安装在计算设备100上,该存储卷映像可以包括扇区映射108。
由此,在这样的实施例中,扇区映射108是在将操作系统安装到计算设备100上的时候产生和锁定的,并且如上所述,对存储卷110的后续写入是经过加密的。当在设备100上激活这样一个策略时,其中该策略指示在该策略被激活之后保存在存储卷110上的数据被加密,因为在锁定扇区映射108之后写入存储卷110的任何数据都是经过加密的,所以计算设备100是快速遵从该策略的。在遵从该策略之前,计算设备100不必等待所有存储卷110都被加密。由此,尽管存储卷110的一些扇区尚未加密,然而由于设备100已经加密了写入存储卷110的数据(并且由此会在激活策略之后加密存储卷110上保存的数据),因此,策略模块106可以快速指示遵从所述策略。
这里使用的快速遵从策略指的是在阈值数量的时间以内和/或在不需要加密整个存储卷的情况下的遵从。所述阈值数量的时间通常是一个预计不会招致可被用户注意的延迟的很小数量(例如大约数秒)。同样,快速指示遵从策略指的是在这样的阈值数量的时间内和/或在不需要加密整个存储卷的情况下指示遵从。应该指出的是,策略模块106不需要故意延迟遵从策略和/或指示遵从策略,但是可以发生一些延迟(例如在等待设备100执行与遵从策略不相关的其他功能的时候,在锁定扇区映射108的时候,在加密特定专用文件(例如页面文件、用于崩溃转储的文件、休眠(hibernate)文件等等)的时候,……)。
在其他实施例中,不是作为在计算设备100上安装或初始化操作系统的处理的一部分锁定扇区映射108,相反,扇区映射108是响应于在计算设备100上策略的激活而被锁定的。在锁定扇区映射108之前,数据是在没有被加密/解密控制模块102加密的情况下写入存储卷110的扇区的,并且数据是在未被模块102解密的情况下从存储卷110的扇区中读取的。初始扇区映射108被产生(例如像上文中论述的那样作为在计算设备100上安装或初始化操作系统的处理的一部分)。对于每次写入扇区,都会用被写入的扇区的标识符(如果尚未包含在扇区映射108中)以及写入该扇区的内容的相应签名来更新扇区映射108。由此,在这样的实施例中,扇区映射108是随时间产生的,并且将会保持存储卷110的哪些扇区已被写入的不断发展的当前标识以及已被写入的那些扇区的签名。
响应于在计算设备100上激活指示在被激活之后加密存储卷110上存储的数据的策略的请求,策略模块106将会激活该策略。作为策略激活的一部分,扇区映射108将被锁定,由此,如上所述,对存储卷110的后续写入将被加密。因为在锁定扇区映射108之后写入存储卷110的数据被加密,所以,计算设备100是快速遵从所述策略的。在遵从所述策略之前,计算设备100不需要等待所有存储卷100都被加密。由此,即使存储卷110的一些扇区尚未加密,因为对存储卷110的后续写入将被加密,并且设备100由此会在激活所述策略之后加密存储卷110上存储的数据,所以,策略模块106可以快速指示(例如以小于阈值数量的延迟)遵从所述策略。
在扇区映射108保持了存储卷110的哪些扇区已被写入的不断发展的当前标识以及已被写入的那些扇区的签名的实施例中,扇区映射108可以保持在存储器(例如RAM)中以及留存在存储设备(例如存储卷110)上。在这样的实施例中,扇区映射108中的扇区可以聚集在一起,其中每一个群组都是扇区映射108的多个扇区的集合。群组中的扇区数量可以改变,并且不同的群组可以具有不同数量的扇区。哪些扇区被包括在哪些群组中可以用不同的方式确定。例如,扇区可以依照扇区编号的数字顺序、基于扇区标识符的散列值等等来归组在一起。
图3示出了根据一个或多个实施例保持在存储器中以及留存在存储设备上的扇区映射的示例。图3示出了保存扇区映射302的存储卷300以及保存扇区映射312的存储器310。通常,存储器310是在包含该存储器310的计算设备断电时不会保持其状态的易失存储器,然而,与存储卷300相比,该存储器通常具有更快的访问时间。扇区映射302和312中的每一个都是相同扇区映射的一个版本,其中所述扇区映射可以是图1的扇区映射108。
如图所示,扇区映射302和312中的每一个都包括归组到多个群组中的扇区。每一个群组都包括多个扇区标识符以及相应的扇区签名。此外,每一个群组都具有指示所述群组变脏还是干净的标记,该标记以如下所述的方式使用。
当计算设备开始工作时(例如通电、复位等等),将扇区映射302从存储卷300拷贝至存储器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之前已经将写入存储卷110的数据已经作为加密数据重新写入,因此可以删除和/或忽略扇区映射108)。
在对存储卷110的扇区中的未加密数据执行这种加密处理时,可以采用不同的方式来保持哪些扇区已加密的记录。例如,在从扇区中读取未加密数据并将其作为加密数据写回所述存储卷之后,可以从扇区映射108中移除该扇区的扇区标识符以及相应的扇区签名(实际上是解锁扇区映射108,以便移除扇区标识符以及相应的扇区签名)。作为另一个示例,在从扇区中读取了未加密数据并将其作为加密数据写回存储卷之后,可以置位与该扇区相对应的位图(与如上所述的存储卷110相对应)中的比特。
策略模块106可以采用不同的方式来执行这种加密存储卷110的扇区中的未加密数据的处理。例如,策略模块106可以监视计算设备110,以便在存储卷使用率低(例如低于阈值时间量中对存储卷110的读取和/或写入访问的阈值次数)的时间期间执行该处理。作为另一个示例,策略模块106可以监视计算设备100,以便在计算设备100通常不被使用的时间期间(例如午夜到上午4:00之间)执行该处理。作为再一个示例,策略模块106可以监视计算设备100,以便在计算设备100插上插头(例如依靠AC电源而不是电池电源工作)的时间期间执行该处理。
图4是示出了根据一个或多个实施例来实施快速遵从数据加密策略的处理的另一个例示计算设备400的框图。计算设备400可以是与图1的计算设备100相似的多种不同类型的设备,例如物理设备或虚拟设备。
与图1的计算设备100相似,计算设备400包括加密/解密控制模块 102、读/写控制模块104、策略模块 106以及存储卷 110。然而,计算设备400包括加密组块映射402以及转换日志404,而不是扇区映射。
在使用加密组块映射402的实施例中,加密组块映射402将存储卷110的扇区归组在一起形成组块。每一个组块都是存储卷110的多个扇区的集合。组块中扇区的数量是可以改变的,并且不同的组块可以具有不同数量的扇区。哪些扇区被包括在哪些组块中可以用不同的方式确定。例如,扇区可以依照扇区编号并按照数字顺序归组在一起。加密组块映射402为存储卷110的每一个扇区组块识别包含在该组块中的扇区是否加密(或者可选地识别其是否未被使用)。如果组块中的扇区未被加密,那么该组块也被称为是未加密的。同样,如果组块中的扇区是加密的(或者未被使用的),那么该组块也被称为是加密的(或未被使用的)。
加密组块映射402通常是一个位图。例如,加密组块映射402可以包括多个比特,其中每一个比特都对应于存储卷110的一个扇区组块,并且置位每一个比特(例如置位成值1)指示相应组块中的扇区是经过加密的(或未被使用的),或者不置位所述比特(例如具有值0)来指示相应组块中的扇区是未加密的。作为替换,可以使用除了位图之外的其他映射或记录。
这里的论述参考指示相应组块是否加密或未被使用的处理(例如,与组块相对应的比特被置位)。作为替换,加密组块映射402可以在不支持组块未被使用的可能性的情况下指示相应组块是否加密。例如,置位与组块对应的比特以便指示所述组块是经过加密的(而未被置位则仅仅是因为所述组块未被使用)。
在计算设备400上激活这样一个策略之前,其中该策略指示在该策略被激活之后存储在存储卷110上的数据被加密,这时不必使用加密组块映射402。数据可以在未加密的情况下被写入存储卷110,以及从存储卷110中被读取。然而,响应于在计算设备400上激活了这样一个策略,其中该策略指示在该策略被激活之后保存在存储卷110上的数据被加密,读/写控制模块104将会调用加密/解密控制模块102来加密那些写入存储卷110的数据。读/写控制模块104还使用加密组块映射402来确定是否解密从存储卷110中读取的数据。由此,因为在激活所述策略之后写入存储卷110的数据被加密,所以,计算设备400是快速遵从所述策略的。在开始遵从所述策略之前,计算设备400不需要等待所有存储卷100都被加密。由此,即便存储卷110的一些扇区尚未加密,然而因为对存储卷110的后续写入将被加密,并且设备400由此会在激活了所述策略之后对存储卷110上存储的数据进行加密,所以,策略模块106可以快速指示(例如以小于阈值数量的延迟)遵从所述策略。
在一个或多个实施例中,保持多个版本的加密组块映射402。例如,可以保持两个版本(最近版本以及前一个版本)的加密组块映射402。每一个版本通常具有一个版本号或其他标识符(例如,与较久远的版本相比,更新近的版本具有较高版本号)。在改变加密组块映射402时,前一个版本的加密组块映射402将被最近版本的加密组块映射402取代,然后,所述改变将会针对最近版本的加密组块映射402进行。由此,两个版本的加密组块映射402包括最近版本的加密组块映射402,以及下一个最近版本的加密组块映射402。
此外,加密组块映射402的版本还可以保持在存储器(例如RAM)中并留存在存储设备(例如存储卷110)上。在一个或多个实施例中,在每次改变加密组块映射402的版本时,存储器中的版本以及留存在存储设备上的版本都会更新。作为替换,加密组块映射402的至少一部分可以保持在非易失存储器(例如闪存)中,其中所述非易失存储器在计算设备400断电时保持其状态,在这种情况下,至少加密组块映射400的所述部分的版本不必同时保存在存储器中以及留存在存储设备上。
在激活了策略(指示在激活所述策略之后存储在存储卷110上的数据被加密)之后,当请求从存储卷110的扇区中读取数据时,检查加密组块映射402(例如由读/写控制模块104或策略模块106)以便确定包含被读取扇区的组块是否未被加密(例如与包含该扇区的组块相对应的比特未被置位)。如果该组块尚未加密,那么读/写控制模块104将会读取所述扇区并将扇区内容返回给请求方。然而,如果组块是经过加密或未被使用的(例如置位了与包含扇区的组块相对应的比特),那么读/写控制模块104将会调用加密/解密控制模块102来解密该扇区的内容,以及将解密的扇区内容返回给请求方。
在激活了策略(指示在激活所述策略之后存储在存储卷110上的数据被加密)之后,在请求将数据写入存储卷110的扇区时,检查加密组块映射402(例如由读/写控制模块104或策略模块106)以便确定包含被写入扇区的组块是否未被加密(例如没有置位与包含该扇区的组块相对应的比特)。如果该组块不是未加密的(组块中的扇区已被加密或者未被使用),那么读/写控制模块104将会调用加密/解密控制模块102来加密该扇区的内容,并且将加密的扇区内容写入存储卷110。
然而,如果组块未被加密,那么读/写控制模块104将会抑制(hold)写入请求,以便允许加密包含了将被写入的扇区的组块中的其他扇区。模块104读取组块中的扇区(例如组块中的所有扇区或是组块中除了被请求写入数据的扇区之外的那些扇区)的内容。模块104调用加密/解密控制模块102来加密所读取的每个扇区,以及将这其中的每个扇区的加密内容写入存储卷110。
模块104还会将被加密扇区的记录保持在转换日志404中。与如上所述的扇区映射108的扇区标识符及扇区签名相似,转换日志404包括被加密扇区的标识符以及所述扇区的签名。然而,转换日志404中的签名通常是存储了加密内容的扇区的签名。与加密组块映射402的版本相似,转换日志404被保持在存储器(例如RAM)中并留存在存储设备上(例如存储卷110)。作为替换,转换日志404可以保持在非易失存储器(例如闪存)中,其中所述非易失存储器在计算设备400断电时保持其状态,在这种情况下,转换日志404不必保持在存储器中以及留存在存储设备上。此外,与加密组块映射402的版本相似,可以保持多个版本的转换日志404。
在将加密的扇区内容写入存储卷110以及更新了转换日志404(在存储器中以及留存在存储设备上)之后,改变加密的组块映射402以便反映已经加密了包含被写入的数据的组块。例如,与包含被写入扇区的组块相对应的比特将会置位。然后,读/写控制模块104停止抑制写入请求,并且重新处理该写入请求。包含被写入扇区的组块不再是未加密的,由此,读/写控制模块104调用加密/解密控制模块102来加密该扇区的内容,以及如上所述将已加密的扇区内容写入存储卷110。应该指出的是,这种顺序是可以进行各种各样的改变的。例如,可以在抑制写入请求之前对所写入的数据进行加密。
作为替换,不对写入请求进行重新处理,相反,模块104可以读取组块中的扇区的内容,使用正被作为写入请求的一部分写入的内容来替换正被写入的扇区,以及将组块的扇区的加密内容写入存储卷110。由此可以有效地将写入请求引入到组块的读取、加密和写入处理中。
在一个或多个实施例中,响应于在计算设备400上激活这样一个策略,其中该策略指示在该策略被激活之后存储在存储卷110上的数据被加密,策略模块106开始实施标识存储卷110中未使用的扇区组块的处理。可以采用不同的方式来确定存储卷110的特定扇区是否已被使用,例如通过从计算设备400的操作系统中获取哪些扇区已被使用以及哪些扇区未被使用的指示。响应于检测到该组块中的所有扇区未被使用的组块,策略模块106改变加密组块映射402,以便指示该组块是经过加密或未被使用的(例如置位与该组块相对应的比特)。由此,加密组块映射402在一开始可以指示所有组块均未加密,然后,在加密了组块或者将其标识成未使用时,加密组块映射402将这些组块标记成已加密或未被使用。
策略模块106可以用不同的方式来执行这种标识未使用组块的处理。例如,策略模块106可以监视计算设备400,以便在存储卷使用率低的时间期间(例如低于阈值时间量中对存储卷110的读取和/或写入访问的阈值次数)执行该处理。作为另一个示例,策略模块106可以监视计算设备400,以便在计算设备400通常不被使用的时段期间(例如午夜到上午4:00之间)执行该处理。作为再一个示例,策略模块106可以监视计算设备400,以便在计算设备100插上插头(例如依靠AC电源而不是电池电源工作)的时段期间执行该处理。
同样,在一个或多个实施例中,策略模块106可以开始实施一个对存储卷110的扇区中的未加密数据进行加密的处理。策略模块106可以在不同的时间开始加密存储卷110的扇区中的未加密数据,例如在已经结束标识存储卷110中未使用的扇区组块的处理之后,响应于在计算设备400上激活了这样一个策略,其中该策略指示在该策略被激活之后存储在存储卷110上的数据被加密等等。哪些扇区具有未加密数据可以很容易识别(例如,包含在具有加密组块映射402中未置位的相应比特的组块中的扇区,计算设备400的策略模块106和/或操作系统保持的其他记录或日志)。例如,通过从被读取组块的扇区中请求未加密数据,以及随后将其写回到这些扇区,可以执行对存储卷110的扇区中的未加密数据的加密处理。由于将数据写回到扇区的请求是在激活策略之后接收的,因此,所写回的数据是经过加密的。一旦组块的加密扇区被写回,则加密组块映射402将会被改变,以便反映所述组块不再是未加密的(例如置位与该组块对应的比特)。
当存储卷110上不再剩余未加密数据时,可以停止使用加密组块映射402,并且可以删除和/或忽略加密组块映射402。在使用加密组块映射402之前写入存储卷110的数据已被作为加密数据重新写入,并且使用加密组块映射402写入存储卷110的数据是经过加密的。读/写控制模块104可以简单地调用加密/解密控制模块102来加密正被写入的数据,以及在没有使用加密组块映射402的情况下解密正被读取的数据。
在执行这种对存储卷110的扇区中的未加密数据进行加密的处理时,可以采用不同的方式来保持哪些扇区已被加密的记录。例如,策略模块106可以保持已经加密了哪些扇区的单独日志或记录。作为另一个示例,在读取来自组块的扇区的未加密数据并且将其作为加密数据写回到存储卷之后,可以置位加密组块映射402中与所述组块相对应的比特。
策略模块106可以采用不同的方式来执行这个对未加密扇区进行加密的处理。例如,策略模块106可以监视设备400,以便在存储卷使用率低的时间期间(例如低于阈值时间量中对存储卷110的读取和/或写入访问的阈值次数)执行该处理。作为另一个示例,策略模块106可以监视计算设备400,以便在计算设备400通常不被使用的时段期间(例如午夜到上午4:00之间)执行该处理。作为再一个示例,策略模块106可以监视计算设备400,以便在计算设备100插上插头(例如依靠AC电源而不是电池电源工作)的时段期间执行该处理。
虽然在计算设备400中示出了单个加密组块映射402,但是作为替换,可以包含多个加密组块映射402(每一个都具有如上所述的多个版本)。这些不同的加密组块映射402可以对应于存储卷110的不同部分。这些不同的部分可以用不同的方式确定,例如具有特定大小的存储卷110的特定扇区集合(例如总共有2-4G字节的扇区集合)。这些不同的加密组块映射中的每一个都是以如上所述的方式使用的,并且使用多个加密组块映射中的哪一个是由为特定请求读取或写入的一个或多个特定扇区决定的。
在写入过程中,例如在将数据写入存储卷110的时候,在留存转换日志或加密组块映射的时候等等,这时有可能出现计算设备400崩溃或断电的情形。为了解决这种情形,在计算设备400启动时(例如由于重启、复位等等),读/写控制模块104检索留存在存储卷110上的加密组块映射402的最近有效版本。加密组块映射402的特定版本是否有效可以用不同的方式确定(例如基于校验和或是与加密组块映射402一起保存在存储卷110上的其他值)。此外,读/写控制模块104还会检索留存在存储卷110上的转换日志404的最近有效版本。转换日志404的特定版本是否有效可以用不同方式确定(例如基于校验和或是与转换日志404一起保存在存储卷110上的其他值)。
转换日志404包括一个关于最近加密的扇区(或组块)的指示。对于最近加密的扇区(或组块)来说,如果加密组块映射402指示包含最近加密的扇区的组块(或者最近加密的组块)不是未加密的(例如置位了与该组块相对应的比特),那么不需要执行恢复处理。然而,如果加密组块映射402指示包含最近加密的扇区的组块(或者最近加密的组块)是未加密的(例如没有置位与该组块相对应的比特),那么可以执行恢复处理。执行什么恢复处理可以用不同的方式确定,例如基于扇区签名(例如,组块中的哪些扇区已被加密可以基于该签名来确定——如果转换日志404中的扇区签名与存储卷110上的扇区签名匹配(例如相同),那么该扇区已被加密,如果这两个签名不匹配,那么所述扇区未被加密)。组块中未加密的扇区将被加密,并且加密组块映射402中与所述组块相对应的比特将被置位。可选地,可以调用一个或多个支持恢复处理的其他操作系统模块来执行所述恢复处理。
如上所述,加密扇区的签名被保存在转换日志404中。作为替换,转换日志404中的签名可以是未加密扇区的签名。在这种情形下,扇区可被解密,并且扇区中未加密内容的签名可被产生。如果扇区中的未加密内容的签名与转换日志404中的扇区签名匹配(例如相同),那么所述扇区已被加密,如果签名不匹配,那么所述扇区未被加密。
图5是示出了根据一个或多个实施例来实施快速遵从数据加密策略的例示处理500的流程图。处理500由诸如图1的计算设备100之类的计算设备执行,并且可以通过软件、固件、硬件或是其组合来实施。处理500被显示成是一组行为,并且不受限于所显示的用于执行不同行为操作的顺序。所述处理500是一个用于实施快速遵从数据加密策略的处理的例示处理;并且通过参考不同的附图,在这里还包含了关于实施快速遵从数据加密策略的处理的附加论述。
在处理500中,要求激活用于计算设备的策略的请求将被接收(行为502)。该策略指示在该策略被激活之后计算设备写入存储卷的数据被加密。所述请求可以是从不同的来源接收的,例如计算设备用户、计算设备访问的服务、与计算设备耦合的网络的管理员等等。
响应于该请求,为计算设备激活该策略(行为504)。通过激活该策略,即使存储卷的一个或多个扇区尚未加密(明文),也会加密在返回了遵从所述策略的指示之后写入存储卷的数据。
响应于该请求,还返回一个表明遵从所述策略的指示(行为506)。该指示可以作为遵从的快速指示而被即时返回,并且即使存储卷的一个或多个扇区尚未加密(明文),也还是可以返回所述指示。
图6是示出了根据一个或多个实施例使用扇区映射来实施快速遵从数据加密策略的例示处理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可以是图1的计算设备100。
计算设备800包括:一个或多个处理器或处理单元802,一个或多个可以包含一个或多个存储器和/或存储组件806的计算机可读媒体804,一个或多个输入/输出(I/O)设备808,以及允许不同组件和设备相互通信的总线810。计算机可读媒体804和/或一个或多个I/O设备808可以作为计算设备800的一部分而被包含,或者作为替换,它们也可以与计算设备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)等等。这里描述的快速遵从数据加密策略的技术的特征是平台无关的,意味着该技术可以在具有各种处理器的各种商用计算平台上实施。
虽然已经在特定于结构特征和/或方法行为的语言中描述了本主题,然而应该理解,所附权利要求中限定的主题不必局限于上述具体特征或行为。相反,上文描述的具体特征和行为是作为用于实施权利要求的例示形式公开的。

Claims (11)

1.一种方法,包括:
在计算设备上接收(502)要求激活用于计算设备的策略的请求,所述策略指示在激活该策略之后计算设备写入存储卷的数据被加密;
响应于该请求,激活(504)用于计算设备的策略,包括在返回了遵从策略的指示之后,对写入存储卷的数据进行加密,并且还包括使用扇区映射来识别存储卷中未被加密的一个或多个扇区;以及
响应于该请求,尽管存储卷的一个或多个扇区是未加密的,也还是返回(506)遵从所述策略的指示。
2.如权利要求1所述的方法,所述返回包括在不等待存储卷被加密的情况下返回所述响应。
3.如权利要求1所述的方法,所述激活还包括使用扇区映射来确定是否响应于读取扇区内容的请求来解密存储卷的扇区内容,所述扇区映射标识存储卷的一个或多个扇区,所述扇区映射还为所述一个或多个扇区中的每个扇区标识扇区内容的签名。
4.如权利要求3所述的方法,所述扇区映射标识的一个或多个扇区包含在锁定扇区映射以便禁止改变扇区映射之前已被写入的存储卷的一个或多个扇区,所述扇区映射响应于为所述计算设备激活所述策略的请求而被锁定。
5.如权利要求4所述的方法,还包括在锁定扇区映射之前:
在存储卷上保持扇区映射的第一版本;
在易失存储器中保持扇区映射的第二版本;
将扇区标识符以及扇区签名归组到多个群组中,每一个群组都包括一个或多个扇区的扇区签名;
响应于数据被写入一个群组中标识的扇区,更新该群组的标记值以便指示该群组变脏;以及
响应于阈值数量的被指示成变脏的多个群组,将那些被指示成变脏的群组从扇区映射的第二版本拷贝至扇区映射的第一版本。
6.如权利要求3所述的方法,还包括:
对来自存储卷扇区的未加密数据进行加密;
确定存储卷中何时没有剩余未加密的数据;以及
响应于在存储卷上没有剩余未加密的数据,删除扇区映射以及停止使用扇区映射。
7.一种计算设备,包括:
一个或多个处理器(802);以及
其上存储有多个指令的一个或多个计算机可读媒体(804),在被一个或多个处理器执行以遵从用于计算设备的策略的时候,所述指令将会促使所述一个或多个处理器执行以下处理:
访问(602)标识了存储卷的一个或多个扇区的扇区映射,所述扇区映射还为所述一个或多个扇区中的每一个标识了扇区内容的签名,所述策略指示在激活了所述策略之后计算设备写入存储卷的数据被加密;以及
如果扇区是所述一个或多个扇区之一并且该扇区的内容的签名与在扇区映射中标识的扇区的签名相匹配,则响应于要求读取内容的请求,在不解密内容的情况下返回(610)存储卷的所述扇区的内容,否则解密(612)所述扇区的内容并且返回(614)解密的内容。
8.如权利要求7所述的计算设备,扇区映射标识的一个或多个扇区包括在锁定对扇区映射的改变以便禁止改变扇区映射之前写入的存储卷的一个或多个扇区,所述扇区映射是作为在计算设备上安装操作系统的处理的一部分而被锁定的。
9.如权利要求7所述的计算设备,扇区映射标识的一个或多个扇区包括在扇区映射被锁定以便禁止改变扇区映射之前写入的存储卷的一个或多个扇区,所述扇区映射是响应于激活用于计算设备的策略的请求而被锁定的。
10.如权利要求7所述的计算设备,所述多个指令还会促使一个或多个处理器执行以下处理:
检查与扇区相对应的比特,所述比特是与存储卷相对应的位图中的多个比特之一,所述多个比特中的每一个都指示存储卷的相应扇区在锁定扇区映射以便禁止改变扇区映射之后是否已被写入;
只有在与扇区相对应的比特指示所述扇区在锁定扇区映射之后未被写入的情况下,才检查所述扇区是不是所述一个或多个扇区之一以及所述扇区的内容的签名是否与在扇区映射中标识的所述扇区的签名相匹配;以及
如果与扇区相对应的比特指示所述扇区在锁定扇区映射之后已被写入,则解密所述扇区的内容以及返回解密的内容。
11.一种或多种其上存储有多个指令的计算机存储媒体,当被计算设备的一个或多个处理器执行以便遵从用于该计算设备的策略时,所述指令促使所述一个或多个处理器执行如权利要求1-6中任何一个所述的方法。
CN201210314631.1A 2011-08-30 2012-08-30 基于扇区映射的快速数据加密策略遵从 Expired - Fee Related CN102945355B (zh)

Applications Claiming Priority (2)

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
US13/221629 2011-08-30

Publications (2)

Publication Number Publication Date
CN102945355A true CN102945355A (zh) 2013-02-27
CN102945355B CN102945355B (zh) 2015-12-02

Family

ID=47728295

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210314631.1A Expired - Fee Related CN102945355B (zh) 2011-08-30 2012-08-30 基于扇区映射的快速数据加密策略遵从

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)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105830082A (zh) * 2013-12-24 2016-08-03 微软技术许可有限责任公司 虚拟机保证
CN106462718A (zh) * 2014-03-20 2017-02-22 微软技术许可有限责任公司 存储设备的快速数据保护
CN107077303A (zh) * 2014-12-22 2017-08-18 英特尔公司 分配和配置持久存储器
CN109283895A (zh) * 2017-07-20 2019-01-29 费希尔-罗斯蒙特系统公司 工业过程工厂中的通用映射
CN111414341A (zh) * 2020-03-24 2020-07-14 东南大学 一种物联网环境下的数据归一化描述方法
CN111475839A (zh) * 2020-04-06 2020-07-31 华中科技大学 一种用于不可信环境的冗余数据编码方法、存储介质
CN115079960A (zh) * 2022-08-18 2022-09-20 赛芯半导体技术(北京)有限公司 数据的处理方法、加速卡及数据处理系统

Families Citing this family (31)

* 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
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
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 杭州旗捷科技有限公司 一种芯片改写设备的数据保护方法、电子设备及存储介质
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

Citations (5)

* 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
CN1653422A (zh) * 2002-05-31 2005-08-10 国际商业机器公司 基于策略的存储管理的方法、系统和程序
US20080229428A1 (en) * 2005-03-07 2008-09-18 Noam Camiel System and Method For a Dynamic Policies Enforced File System For a Data Storage Device
US20080240441A1 (en) * 2007-03-30 2008-10-02 Norihiko Kawakami Storage controller comprising encryption function, data encryption method, and storage system
US20100306175A1 (en) * 2009-01-28 2010-12-02 Digitiliti, Inc. File policy enforcement

Family Cites Families (203)

* 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
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
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
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
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 株式会社東芝 キャッシュ方法及びキャッシュ装置
US8452967B2 (en) * 2007-08-31 2013-05-28 Microsoft Corporation Using flash storage device to prevent unauthorized use of software
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
US8387109B2 (en) * 2008-10-23 2013-02-26 Microsoft Corporation Access control state determination based on security policy and secondary access control state
US8336079B2 (en) * 2008-12-31 2012-12-18 Hytrust, Inc. Intelligent security control system for virtualized ecosystems
KR100928467B1 (ko) 2009-02-02 2009-11-25 주식회사 파수닷컴 클립보드 보안 시스템 및 방법
US8341427B2 (en) 2009-02-16 2012-12-25 Microsoft Corporation Trusted cloud computing and services framework
TWI493950B (zh) * 2009-02-24 2015-07-21 Fineart Technology Co Ltd 條件式電子文件權限控管系統及方法
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
US8874935B2 (en) 2011-08-30 2014-10-28 Microsoft Corporation Sector map-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 (5)

* 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
CN1653422A (zh) * 2002-05-31 2005-08-10 国际商业机器公司 基于策略的存储管理的方法、系统和程序
US20080229428A1 (en) * 2005-03-07 2008-09-18 Noam Camiel System and Method For a Dynamic Policies Enforced File System For a Data Storage Device
US20080240441A1 (en) * 2007-03-30 2008-10-02 Norihiko Kawakami Storage controller comprising encryption function, data encryption method, and storage system
US20100306175A1 (en) * 2009-01-28 2010-12-02 Digitiliti, Inc. File policy enforcement

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105830082A (zh) * 2013-12-24 2016-08-03 微软技术许可有限责任公司 虚拟机保证
CN105830082B (zh) * 2013-12-24 2018-11-27 微软技术许可有限责任公司 虚拟机保证
CN106462718A (zh) * 2014-03-20 2017-02-22 微软技术许可有限责任公司 存储设备的快速数据保护
CN106462718B (zh) * 2014-03-20 2019-06-28 微软技术许可有限责任公司 存储设备的快速数据保护
US10615967B2 (en) 2014-03-20 2020-04-07 Microsoft Technology Licensing, Llc Rapid data protection for storage devices
CN107077303A (zh) * 2014-12-22 2017-08-18 英特尔公司 分配和配置持久存储器
CN109283895A (zh) * 2017-07-20 2019-01-29 费希尔-罗斯蒙特系统公司 工业过程工厂中的通用映射
CN111414341A (zh) * 2020-03-24 2020-07-14 东南大学 一种物联网环境下的数据归一化描述方法
CN111414341B (zh) * 2020-03-24 2024-03-01 东南大学 一种物联网环境下的数据归一化描述方法
CN111475839A (zh) * 2020-04-06 2020-07-31 华中科技大学 一种用于不可信环境的冗余数据编码方法、存储介质
CN111475839B (zh) * 2020-04-06 2023-04-18 华中科技大学 一种用于不可信环境的冗余数据编码方法、存储介质
CN115079960A (zh) * 2022-08-18 2022-09-20 赛芯半导体技术(北京)有限公司 数据的处理方法、加速卡及数据处理系统

Also Published As

Publication number Publication date
WO2013032501A1 (en) 2013-03-07
EP2751734B1 (en) 2019-11-20
US9740639B2 (en) 2017-08-22
EP2751734A1 (en) 2014-07-09
TWI582593B (zh) 2017-05-11
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
CN102945355B (zh) 基于扇区映射的快速数据加密策略遵从
CN102855452B (zh) 基于加密组块的快速数据加密策略遵从
US9735962B1 (en) Three layer key wrapping for securing encryption keys in a data storage system
US10069625B2 (en) System and method for automatic key generation for self-encrypting drives
US7200747B2 (en) System for ensuring data privacy and user differentiation in a distributed file system
US8464073B2 (en) Method and system for secure data storage
US7562230B2 (en) Data security
KR20160138450A (ko) 스토리지 디바이스에 대한 신속한 데이터 보호
US8607071B2 (en) Preventing replay attacks in encrypted file systems
JP2008072717A (ja) 埋込認証を有するハードディスク・ストリーミング暗号操作
CN104160407A (zh) 利用存储控制器总线接口以确保存储设备和主机之间的数据传输安全
US20190238560A1 (en) Systems and methods to provide secure storage
US9137219B1 (en) Methods and systems for securely managing multimedia data captured by mobile computing devices
JP2008005408A (ja) 記録データ処理装置
US9218296B2 (en) Low-latency, low-overhead hybrid encryption scheme
CN113158203B (zh) 一种soc芯片、电路和soc芯片的外部数据读写方法
US20220123932A1 (en) Data storage device encryption
US11995223B2 (en) Data storage device encryption
CN107517268A (zh) 一种基于san存储的数据操作方法、装置及系统
JP4713916B2 (ja) データ保護サービスシステム及びデータ保護方法
JP2011248124A (ja) データ暗号化装置およびその制御方法
JP2004295273A (ja) ストレージにおけるicカードを利用したデータアクセス方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150624

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20150624

Address after: Washington State

Applicant after: MICROSOFT TECHNOLOGY LICENSING, LLC

Address before: Washington State

Applicant before: Microsoft Corp.

C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20151202

CF01 Termination of patent right due to non-payment of annual fee