CN108140097B - 组织数据的被动加密 - Google Patents
组织数据的被动加密 Download PDFInfo
- Publication number
- CN108140097B CN108140097B CN201680059000.6A CN201680059000A CN108140097B CN 108140097 B CN108140097 B CN 108140097B CN 201680059000 A CN201680059000 A CN 201680059000A CN 108140097 B CN108140097 B CN 108140097B
- Authority
- CN
- China
- Prior art keywords
- file
- encryption
- computing device
- data
- program
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6209—Protecting access to data via a platform, e.g. using keys or access control rules to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
- H04L63/107—Network architectures or network communication protocols for network security for controlling access to devices or network resources wherein the security policies are location-dependent, e.g. entities privileges depend on current location or allowing specific operations only from locally connected terminals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2107—File encryption
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- General Physics & Mathematics (AREA)
- Bioethics (AREA)
- Computing Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Storage Device Security (AREA)
Abstract
数据保护策略在计算设备上实现,该数据保护策略指示计算设备上的组织数据要如何被保护。组织数据的保护包括加密组织数据,以及允许组织数据仅由特定程序和/或在特定情形下(如数据保护策略所指示的)解密。当实现数据保护策略时,已存储在计算设备上的文件使用被动加密技术来加密。被动加密技术可包括关闭时加密技术、打开时加密技术、无独占访问加密技术和加密位置技术中的一种或多种。
Description
背景
随着计算技术的进步,许多不同类型的计算设备已经变得常见。便携式计算设备已变得越来越流行,有时用户将他们的个人计算设备带到工作场所并使用他们的个人计算设备工作。这种使用可能导致其中用于工作的文件被存储在用户的个人计算设备上的情况。虽然这可能对用户有所帮助,但并非没有其问题。一个这样的问题是,公司通常想要维护对其数据的一定控制,因为该数据通常包括机密信息。然而,这种控制可能与用户对计算设备的期望使用和充分享受相冲突。
概述
提供本概述以便以简化的形式介绍以下在详细描述中进一步描述的一些概念。本概述并不旨在标识所要求保护主题的关键特征或必要特征,也不旨在用于限制所要求保护主题的范围。
根据一个或多个方面,检测计算设备上的在数据保护策略的实现之前创建的文件是否已由程序写入。至少基于检测到该文件已由程序写入,该文件的标识符被添加到文件加密队列中。关于计算设备上的任何程序当前是否正在访问该文件的确定被作出,并且该文件至少基于确定计算设备上没有程序当前正在访问该文件来被加密。
根据一个或多个方面,一种计算设备包括一个或多个处理器、数据存储和一个或多个计算机可读存储介质,该计算机可读存储介质具有存储在其上的多个指令,该多个指令基于该一个或多个处理器的执行实现一种包括加密模块和加密确定模块的加密和解密***。加密模块被配置成至少基于接收到来自加密确定模块的要加密数据存储中的在数据保护策略在计算设备上的实现之前创建的文件的请求来加密该文件。加密确定模块被配置成检测数据存储中的文件是否由于数据保护策略而要被加密、与加密模块通信以在合适的时间加密文件,以及使用关闭时加密技术、打开时加密技术、无独占访问加密技术和加密位置技术来确定合适的时间。
附图简述
结合附图来描述具体实施方式。在附图中,附图标记最左边的数字标识该附图标记首次出现的附图。在说明书和附图的不同实例中使用相同的附图标记可指示相似或相同的项目。附图中所表示的各实体可指示一个或多个实体并且因而在讨论中可互换地作出对各实体的单数或复数形式的引用。
图1是解说根据一个或多个实施例的实现组织数据的被动加密的示例计算设备的框图。
图2是解说根据一个或多个实施例的用于实现组织数据的被动加密的示例过程的流程图。
图3解说了根据一个或多个实施例的示例加密和解密***。
图4是解说根据一个或多个实施例的用于实现关闭时加密技术的示例过程的流程图。
图5解说了包括示例计算设备的示例***,该示例计算设备代表可实现本文中所描述的各种技术的一个或多个***和/或设备。
详细描述
本文中讨论了组织数据的被动加密。可能出现其中计算设备上的数据要被保护以防止未经授权的用户访问的情况。这样的数据在本文中也被称为组织数据,并且期望保护数据的个人或实体在本文中被称为组织。数据保护策略在计算设备上实现,该数据保护策略指示组织数据要如何被保护。组织数据的保护包括加密组织数据,以及允许组织数据仅由特定程序和/或在特定情形下(如数据保护策略所指示的)解密。
一些组织数据可能已经被存储在计算设备上的在数据保护策略在计算设备上的实现之前创建的文件中。在这些情况中,已存储在计算设备上的这些文件使用被动加密技术来加密。被动加密技术指的是被设计为加密文件但以使得该加密对计算设备上的其他程序的操作干扰很少(如果有的话)的方式操作的加密技术。这种加密技术例如在后台或响应于满足特定条件而操作,而不是停止程序的所有其他操作,以便在应用数据保护策略时可以加密数据。被动加密技术可包括关闭时加密技术、打开时加密技术、无独占访问加密技术、和加密位置技术中的一种或多种。
一般而言,关闭时加密技术指的是其中包括组织数据的文件响应于以下两个条件得到满足而被加密的技术:1)数据被写入该文件,以及2)没有程序(包括将组织数据写入该文件的程序)当前正在访问该文件。打开时加密技术指的是其中包括组织数据的文件响应于该文件由程序打开而被加密的技术。无独占访问加密技术指的是其中包括组织数据的文件在无需对文件的独占访问的情况下被加密的技术。加密位置技术指的是其中存储在特定位置(诸如特定目录或文件夹)中的文件被加密的技术。
使用被动加密技术允许包括组织数据的文件被加密且因此如组织所期望的那样得到保护,并且是以降低或消除对用户在其他程序上的操作的干扰的方式来这么做的。组织数据的安全性并且因此存储组织数据的计算设备的安全性得到改善,同时维护计算设备的可用性(例如,将性能降低了对计算设备的用户而言甚至可能注意不到的小的量)。
本文中参考了加密、解密和密钥。加密和解密可使用对称密钥密码学以及带有公钥/私钥对的公钥密码学来执行。虽然这样的密钥密码学对于本领域技术人员而言是公知的,但是对这样的密码学的简要概述被包括在此以帮助读者。在公钥密码学中,实体(诸如用户、硬件或软件组件、设备、域等)已将公钥/私钥对与其相关联。公钥可被公开地获得,但实体将私钥保密。在没有私钥的情况下,解密使用公钥加密的数据在计算上是非常困难的。所以,数据可由任何实体用公钥来加密,然而只能由实体用对应的私钥来解密。
另一方面,在对称密钥密码学中,共享密钥(也称为对称密钥)被两个实体知晓并保密。具有共享密钥的任何实体通常能够解密用该共享密钥加密的数据。在没有共享密钥的情况下,解密用共享密钥加密的数据在计算上是非常困难的。所以,如果两个实体都知道共享密钥,则每个实体可加密可以由另一实体解密的数据,但是如果其他实体不知道该共享密钥,则其他实体不能解密该数据。类似地,具有共享密钥的实体可加密可以由该相同实体解密的数据,但是如果其他实体不知道该共享密钥,则其他实体不能解密该数据。
图1是解说根据一个或多个实施例的实现组织数据的被动加密的示例计算设备100的框图。计算设备100可以是各种不同类型的设备,诸如台式计算机、服务器计算机、膝上型计算机或上网本计算机、移动设备(例如,平板或者平板手机设备、蜂窝式或其他无线电话(例如,智能电话)、记事本计算机、移动站)、可穿戴设备(例如,眼镜、头戴式显示器、手表、手镯)、娱乐设备(例如,娱乐电器、通信地耦合到显示设备的机顶盒、游戏控制台)、物联网(IoT)设备(例如,具有用于允许与其他设备的通信的软件、固件和/或硬件的物体或事物)、电视机或其他显示设备、汽车计算机,等等。因此,计算设备100的范围可以是从具有充足存储器和处理器资源的全资源设备(例如,个人计算机、游戏控制台)到具有有限存储器和/或处理资源的低资源设备(例如,常规机顶盒、手持式游戏控制台)。
计算设备100包括数据保护***102、操作***104、开明程序106和非开明程序108。操作***104管理各种不同程序(包括开明程序106和非开明程序108)的运行、管理对各种组件或其他设备的控制,等等。数据保护***102促成实施由实体设置的数据保护策略,如下面更详细讨论的。虽然被分开地例示出,但应当注意,数据保护***102可被包括作为操作***104的一部分。
各种不同的组织(本文中也被称为实体)可能期望为计算设备100上的组织数据设置数据保护策略。这样的组织可包括例如雇用计算设备100的用户并期望将关于其操作的各种数据保守机密的实体(例如,公司、大学或其他学校、政府等)、计算设备100的期望将各种个人信息保守机密的用户,等等。组织数据指的是与组织相关联且由组织管理或控制的数据。例如,组织数据可以是用户输入的数据或程序数据、程序指令、二进制代码,等等。
一般而言,数据保护策略标识组织数据如何被保护。数据保护策略可包括标识其中组织数据要被保护的各种不同方式的各种设置或规则,诸如对可如何使用文件中的明文数据(未加密的数据)的限制、哪些程序可访问明文数据、如何标识哪些程序可使用明文数据、数据可被访问的日期或时间、计算设备为了访问数据而将具有的配置或设置,等等。数据保护策略中的这些设置或规则由组织指定,并且是组织期望的任何设置或规则。
组织数据由特定组织通过使用与该组织相关联的一个或多个密钥加密数据且在适当时候使用与该实体相关联的密钥解密数据来得到保护。加密和解密可通过调用计算设备100的加密/解密组件来完成,这可例如由数据保护***102或操作***104来实现。与特定组织相关联的密钥可以在计算设备100本地维护,或者替换地从另一设备或服务获得。替换地,加密和/或解密可由另一设备或服务(例如,受计算设备100信任且通过网络访问的服务)来执行。
计算设备100还包括可以存储组织数据112和/或不是组织数据的数据(被示为非组织数据114)的数据存储110。数据存储110包括用于计算设备100的一个或多个数据存储设备,诸如闪存盘、磁盘、光盘、随机存取存储器(RAM)、其组合,等等。数据存储设备可以是固定设备或可移除设备,并且可被包括作为计算设备100的一部分或者耦合到计算设备100。组织数据112任选地包括加密的组织数据以及非加密的组织数据,或者替换地仅包括加密的组织数据或者仅包括非加密的组织数据。
在本文的讨论中,通常将组织数据112以及非组织数据114称为存储在文件(也称为数据文件)中的数据。然而,应当注意,本文中所讨论的技术可以与按其他方式存储的数据一起使用。例如,本文中所讨论的技术可以类似地用于存储在数据库的记录或条目中的数据。
组织数据112可以按各种不同的方式与非组织数据114区分开。在一个或多个实施例中,文件具有被存储为文件本身的一部分的对应元数据。该元数据可包括对数据是否是组织数据的指示(以及任选地对组织数据与多个组织中的哪一个相关联的指示),诸如针对数据的数据保护策略的标识符或组织的标识符。附加地或替换地,对哪些数据是组织数据的指示可按不同方式维护。例如,对哪些数据是组织的指示可以使用标识组织数据(以及任选地该数据是与多个组织数据中的哪一个相关联)的表格、列表或其他记录来维护。作为另一示例,数据存储110的不同部分(例如,数据存储110的不同文件夹或目录),任选地连同与多个组织中的不同组织相关联的不同部分,可被用于组织数据而不是非组织数据,所以存储在数据存储110的被用于组织数据的一部分中的任何数据被假定为组织数据。
数据保护***102包括加密和解密***120以及访问确定模块122。加密和解密***120管理组织数据的加密和解密。组织数据在由基于数据保护策略被许可访问组织数据的程序访问时被***120解密。组织数据由***120在各种不同时间处(诸如当组织数据被写入数据存储110时)加密,如下面更详细讨论的。
访问确定模块122确定程序(诸如开明程序106或非开明程序108)是否被许可访问用于组织的组织数据。被许可访问组织数据的程序也称为组织程序或企业程序。程序是否被许可访问组织数据可按各种方式来确定。在一个或多个实施例中,访问确定模块122维护或能访问被许可访问组织数据的程序(任选地,用于不同组织的不同程序)的列表。在这些实施例中,访问确定模块122在程序在列表上的情况下确定该程序被许可访问组织数据,并且以其他方式确定该程序不被许可访问组织数据。附加地或替换地,访问确定模块122可确定应用是否被许可按其他方式访问组织数据。例如,各种规则、属性、准则、算法等可被应用来确定程序是否被许可访问组织数据。这些规则、准则、算法等可以由为组织数据设置数据保护策略的组织提供,或者替换地由另一实体、组件或模块提供。如果程序被许可访问组织数据,则加密和解密***120使用一个或多个密钥来解密组织数据。否则,加密和解密***120不解密组织数据,并且该程序不能访问明文(未加密的)组织数据。
程序在本文中被称为开明或非开明的。图1解说了开明程序106和非开明程序108两者,但是在一些情况中计算设备100不包括开明程序106,并且在一些情况中计算设备100不包括非开明程序108。此外,虽然在图1中解说了单个开明程序106和单个非开明程序108,但应当注意,计算设备100可包括任何数量的开明程序106和/或非开明程序108。
开明程序指的是根据针对组织的数据保护策略来保护数据的程序,其酌情调用计算设备100的功能以根据针对组织的数据保护策略保护和处置组织数据。例如,由数据保护***102揭露的应用编程接口(API)方法可由开明程序106调用以使组织数据被加密和解密。数据保护***102可允许开明程序访问受数据保护策略保护的组织数据、为开明程序自动地解密数据和/或响应于来自开明程序的请求而解密数据,以及在给定数据保护策略的情况下依赖于开明程序来使数据被酌情加密。
非开明程序指的是不(或不必)根据针对组织的数据保护策略来保护数据,而让数据保护***102实施针对组织的数据保护策略的程序。对于非开明程序,数据保护***102执行加密和解密以根据数据保护策略维护对组织数据的保护,因为数据保护***102知道不能依赖非开明程序来这么做。数据保护***102在组织数据由非开明程序访问时为非开明程序解密组织数据。例如,当数据被非开明程序108访问时,数据保护***102(例如,通过操作***104)被通知,并且为非开明程序108解密数据。
数据保护***102还为非开明程序108加密数据。该加密可在不同时间处执行。对于已加密过的文件(例如,当被非开明程序访问时被解密了的文件)中的组织数据,数据保护***102检测或被通知由非开明程序关闭该文件,并且在该时间处加密该文件。对于已加密过的文件,作为读取操作的一部分,从该文件读取的组织数据被解密,但在该文件被关闭时,该文件保持被加密且不需要被重新加密。对于不在已加密过的文件中的组织数据,数据保护策略102确定使用被动加密技术来加密数据的合适时间。被动加密技术指的是被设计为按以下方式操作的加密技术:对计算设备100上的其他程序(例如,开明程序102和非开明程序108)的操作干扰很少或有少许干扰,从而使计算设备100上的其他程序的性能(例如,其他程序被调度运行的时间量、分配给其他程序的资源量(例如,处理能力或存储器))降低很小的(例如,小于阈值量的)量(如果真会发生的话)。
在一个或多个实施例中,数据保护***102支持关闭时加密技术、打开时加密技术、无独占访问加密技术、和加密位置技术中的至少一种作为被动加密技术。这些不同的技术将在下文中被详细地讨论。数据保护***102可实现这些技术中的单个技术,或者替换地可并发地实现这些技术中的两种或更多种。应当注意,数据保护***102使用这些技术来加密在数据保护***102实现数据保护策略之前(或者在数据保护策略指示组织数据要被加密或保护之前)已被创建并存储在数据存储110中的文件。对于由数据保护***102在实现数据保护策略之后创建的文件,数据保护***102检测或被通知文件的创建,并在创建之际(或文件被关闭时)加密该文件。
针对组织数据的数据保护策略的实现指的是针对该组织数据的数据保护策略被激活(例如,被启用或打开),诸如归因于新的数据保护策略被提供给计算设备100、先前的数据保护策略的变化(例如,在哪些程序是组织程序方面的变化),等等。
对在数据保护***102实施数据保护策略之前(或者在数据保护策略指示组织数据要被加密或保护之前)已被创建并存储在数据存储110中的文件进行加密可能在许多***中具有挑战性。例如,在其中多个程序可并发地打开并访问文件中的数据的情况中,可能难以加密该文件。
图2是解说根据一个或多个实施例的用于实现组织数据的被动加密的示例过程200的流程图。过程200由加密和解密***(诸如图1的加密和解密***102)执行,并且可以用软件、固件、硬件、或其组合来实现。过程200被示为一组动作,并且不仅限于所示出的用于执行各种动作的操作的顺序。过程200是用于实现组织数据的被动加密的示例过程;本文中参考不同的附图来包括对实现组织数据的被动加密的附加讨论。
在过程200中,检测在数据保护策略在计算设备上的实现之前创建了的且由于数据保护策略而要被加密的文件(动作202)。该文件是包括组织数据的文件。数据保护策略的实现可以是数据保护策略在计算设备上的初始建立或开始实施、计算设备上的先前建立或实施的数据保护策略的改变,等等。
取决于所使用的检测逻辑,对于给定的文件,数据保护***可能知道或者可能不知道该文件是否包含组织数据。如果文件不被知晓包含组织数据,则其被假定为不包含组织信息,除非已知为组织程序的程序已将数据写入该文件(或者,对于打开时加密技术,打开了该文件)和/或被写入文件的数据的源被称为组织源(例如,组织网络上的源)。概括而言,在那些情形中,加密的决定基于程序和/或写入文件的数据的属性,而不是现有文件的属性。
加密文件的合适时间使用被动加密技术来确定(动作204)。如以上所讨论的,被动加密技术被设计为降低或消除加密对其他程序的影响。例如,被动加密技术被设计成使用计算设备中的少量资源(例如,处理能力、存储器),并尝试避免在加密要求独占访问情况下不合适地防止对该文件的访问,以便不干扰计算设备中的其他程序。这些被动加密技术包括关闭时加密技术、打开时加密技术、无独占访问加密技术、和加密位置技术。这些不同的技术将在下文中被详细地讨论。
该文件接着在合适的时间处被加密(动作206)。
被动加密技术中的一种是关闭时加密技术。关闭时加密技术指的是其中包括组织数据的文件响应于以下两个条件得到满足而被数据保护***102加密的技术:1)数据被写入该文件,以及2)没有程序(包括将组织数据写入该文件的程序)当前正在访问该文件。关闭时加密技术降低了程序在访问文件时遭遇错误的可能性(例如,归因于在文件被访问时尝试对其进行加密),并且还保留了程序的响应能力(例如,当其他程序等待包括组织数据的所有文件被加密时,不存在长延迟)。关闭时加密技术可以例如在加密***的设计或实现使得加密***要求对文件的独占访问以便加密该文件时被使用。
一般而言,在使用关闭时加密技术的情况下,包括组织数据且已被写入(但尚未被加密)的文件的记录被维护。那些文件接着在没有程序正在访问文件时的时间处被加密。在一个或多个实施例中,由组织程序写入是导致文件包含组织数据的原因,所以文件不一定必须最初包含组织数据,并且如果文件的确包含组织数据,则该文件不一定需要被写入。
图3解说了根据一个或多个实施例的示例加密和解密***300。加密和解密***300可以是图1的加密和解密***102,且反之亦然。另外参考图1来讨论图3。
加密和解密***300包括加密模块302、解密模块304、文件加密队列306和加密确定模块308。在一个或多个实施例中,加密和解密***300实现关闭时加密技术被动加密技术。
加密模块302管理文件的加密。各种加密技术中的任一种可由加密模块302使用,并且被用来加密文件的密钥可以从如上所讨论的各种不同的源获得。
解密模块304管理文件的解密。各种解密技术中的任一种可由解密模块304使用,并且被用来解密文件的密钥可以从如上所讨论的各种不同的源获得。被用来解密文件的密钥可以是与被用来加密文件的密钥相同的密钥或者替换地不同的密钥。
文件加密队列306是已被程序写入但尚未加密的文件的记录。未加密文件的标识符响应于数据被写入未加密文件而被添加到文件加密队列306(也称为将文件添加到文件加密队列306)。该标识符可由加密确定模块308或者替换地另一组件或模块添加到文件加密队列306。数据存储110上的哪些文件是加密的以及哪些文件是未加密的可按各种方式确定,诸如通过作为文件的一部分而被包括的元数据、通过由加密和解密***300或操作***104的文件***124维护的分开的记录,等等。
应该注意,程序可以自由地为任何访问权限打开文件,并且只要文件不被写入,它们就不会被添加到文件加密队列306。这防止了用户丢失对他们可能在组织程序中意外打开的个人数据的访问。如果用户在组织程序中修改和保存个人文件,则加密和解密***300假定该文件可能潜在地具有组织数据且要被加密。
在一个或多个实施例中,分开的文件加密队列306被维护用于(对应于)计算设备100的每个用户。不同的用户可登录到计算设备100中,并且在任何给定的时间,加密和解密***300加密文件加密队列306上的与当前登录到计算设备100中的用户相对应的文件,并且不加密文件加密队列306上的与计算设备100的其他用户相对应的文件。替换地,加密和解密***300可加密文件加密队列306上的当前未登录到计算设备100中的其他用户的文件,或者单个文件加密队列306可被加密和解密***300用于计算设备100的所有用户。
加密确定模块308确定何时来加密文件加密队列306中的文件。加密确定模块308在不存在当前正在访问文件加密队列306中的文件的程序(包括将组织数据写入该文件的程序)的情况下确定该文件要被加密。是否有任何程序当前正在访问文件可按各种不同的方式来确定。
在一个或多个实施例中,每个文件具有被称为文件句柄(file handle)的标识符。文件句柄在计算设备100内唯一地标识文件,而不管或独立于计算设备100上文件所存储的位置,并且由操作***104维护。与文件路径名称相反,文件句柄保持不变,而不管文件在数据存储110中的位置。为了访问文件(例如,读取或写入文件),程序打开用于文件的文件句柄。多个不同的程序可并发地使用于文件的文件句柄打开。加密确定模块308响应于没有程序使文件句柄打开而确定没有程序正在访问文件。是否有(和/或有多少)程序使用于文件的文件句柄打开可通过查询操作***104来确定,或者加密确定模块308可向操作***104注册以在没有程序具有对文件打开的文件句柄时从操作***104接收通知。
替换地,加密确定模块308可按各种其他方式确定何时没有程序使文件打开。由操作***104支持以用于跟踪哪些程序正在访问哪些文件的任何技术可被加密确定模块308利用以确定何时没有程序正在访问特定文件。例如,加密确定模块308可请求独占地访问文件,使得只有加密确定模块308正在访问该文件。如果操作***104允许这样的独占访问,则加密确定模块308知道该文件不在被任何其他程序访问。
在一个或多个实施例中,文件的文件句柄是被包括在文件加密队列306中的标识符。这允许在管理对文件加密队列306中的文件的改变时的更高的弹性,因为用于文件的文件句柄一旦被创建就会在修改、移动和重命名时保持不变。替换地,其他文件标识符可被使用。例如,标识文件在数据存储110中所存储的位置的文件路径名称可被用作被包括在文件加密队列306中的标识符。
在一个或多个实施例中,响应于确定文件要被加密,加密确定模块308打开该文件(例如,打开该文件的文件句柄)。加密确定模块308将用于文件的文件句柄的指示传达给加密模块302,其进而加密该文件。作为加密文件的一部分,经加密的文件被写回到数据存储110。在完成加密文件之际,加密模块302将加密完成的指示传达给加密确定模块308,其进而关闭该文件(例如,关闭该文件的文件句柄)并从文件加密队列306中移除该文件的标识符。由加密和解密***300和/或操作***104使用以确定哪些文件被加密的任何其他记录也被更新以反映该文件现在是加密的。
在一个或多个实施例中,加密模块302加密临时文件而不是打开的文件。该打开的文件被读取,其中所包含的数据被加密,并且经加密的数据被写入临时文件。加密确定模块308接着用临时文件替换打开的文件(例如,通过通知文件***124关闭文件并用临时文件替换该文件、通过用临时文件盖写打开的文件等)。通过使用临时文件,加密过程可被中断而不会有不利后果。例如,如果另一程序在文件正被加密时请求以写入访问来访问该文件,则文件***124可向加密和解密***300通知该请求,并且加密和解密***300可中止加密过程、删除临时文件、以及(任选地)关闭用于该文件的文件句柄,使得其他程序可访问该文件。
替换地,加密确定模块308可打开文件以进行独占访问,并且加密模块302可完成对文件的加密,而不管其他程序是否正在请求对该文件的访问。因此,在这些情况中,加密和解密***300可在文件正在被加密时有效地阻塞其他程序对该文件的访问。
在一个或多个实施例中,文件加密队列306被存储在每次文件加密队列306改变(例如,文件被添加到文件加密队列306或文件加密队列306上的文件被加密以及文件从文件加密队列306中被移除)时被更新的非易失性存储器(例如,闪存、磁盘等)中。文件加密队列306被存储在非易失性存储器的受保护或安全位置中,从而防止未经授权的程序(例如,除加密和解密***300以外的程序)更改文件加密队列306。将文件加密队列306存储在非易失性存储器中帮助确保,在掉电或重启的情况下,由程序写入的组织数据最终被加密。非易失性存储器中的文件加密队列306跨计算设备100的重启持久保存,从而允许对文件加密队列306上的文件的加密在计算设备100被重启之后继续。文件***原子性功能还可在访问文件加密队列306时被利用以维持一致性。文件加密队列306的副本还可任选地存储在易失性存储器(例如,RAM)中,这可允许对文件加密队列306的更快访问。
在一个或多个实施例中,文件加密队列306仅可由内核模式文件***驱动程序(例如,其可被包括作为加密和解密***300的一部分或由加密和解密***300访问)访问,并且不能在不在计算设备100上具有管理特权的情况下被更新。这防止恶意或受感染的程序(例如,其将在用户模式中而不是在内核模式中运行,并且将不具有管理特权)将意图攻击或过载计算设备的流氓条目添加到队列。
如以上所讨论的,访问确定模块122确定请求访问文件中的组织数据的程序是否被许可访问该组织数据,并且如果是的话,则解密模块304使用一个或多个密钥来解密文件。在其中文件尚未被加密但在文件加密队列306中的情况中,即使该文件尚未被加密,对该文件的访问也(例如,通过访问确定模块122)被拒绝。因此,即使文件尚未被加密,数据保护***102也操作以将对该文件的访问仅限于被许可访问该文件的那些访问。
附加地,可能出现其中组织数据不再能够在计算设备100上访问的情况,在这种情形中,对组织数据的访问被移除(也被称为擦除包括组织数据的文件或擦除组织数据)。加密和解密***300可按不同方式被通知到这些情况,诸如通过从耦合到计算设备100的管理服务(例如,经由互联网或局域网)接收从计算设备100擦除组织数据的请求或者通过本地或远程地选择计算设备100脱离组织管理的用户选择。组织数据是通过删除被用来解密文件的密钥来移除的,从而有效地移除了程序检索明文(未加密的)组织数据的能力。在其中存在计算设备100的多个用户的情况中,每个这样的用户都具有他或她自己的密钥。如果多个用户中的一些而非所有用户不再具有对组织数据的访问,则不再具有对组织数据的访问的那些用户的密钥被删除。因此,不再具有对组织数据的访问的用户将不再具有允许组织数据被解密的密钥,但仍被允许访问组织数据的其他用户将具有允许组织数据被解密的密钥。
在其中文件被擦除但是一些文件在文件加密队列306中的情况中,简单地删除密钥不足以移除对文件加密队列306中的文件的访问,因为那些文件尚未被加密。在这些情况中,加密和解密***300删除在文件加密队列306中的文件。该删除可采取各种形式,诸如使文件的标识符被从文件***124所维护的文件目录中删除、使文件被安全地删除(例如,使数据存储110的文件所存储的各部分被用其他数据盖写一次或多次),等等。作为删除过程的一部分,文件的标识符也被从文件加密队列306中移除。因此,尽管尚未被加密,那些文件从计算设备中被擦除。
文件加密队列306中的所有文件可被删除,或者替换地,仅文件加密队列306中的文件中的一些可被删除(例如,包括特定组织的组织数据的那些文件)。例如,两个组织的组织数据可被存储在计算设备上,并且接收到要擦除该两个组织中的第一组织而非该两个组织中的第二组织的组织数据的请求。在该情况中,文件加密队列306中的包括第一组织的组织数据的文件从计算设备中被擦除,但是文件加密队列中的包括第二组织的组织数据的文件没有从计算设备中被擦除。
图4是解说根据一个或多个实施例的用于实现关闭时加密技术的示例过程400的流程图。过程400由加密和解密***(诸如图1的加密和解密***102或图3的加密和解密***300)执行,并且可以用软件、固件、硬件、或其组合来实现。过程400被示为一组动作,并且不仅限于所示出的用于执行各种动作的操作的顺序。过程400是用于实现关闭时加密技术的示例过程;本文中参考不同的附图来包括对实现关闭时加密技术的附加讨论。
在过程400中,检测在数据保护策略在计算设备上的实现之前创建了的文件是否已被写入(动作402)。数据保护策略的实现可以是数据保护策略在计算设备上的初始建立或开始实施、计算设备上的先前建立或实施的数据保护策略的改变,等等。应该注意,动作402中的检测针对的是被写入或已被写入的文件——被读取但未被写入的文件不在动作402中被检测。
动作402中检测到的文件的标识符至少基于检测到该文件被写入或已被写入而被添加到文件加密队列(动作404)。该标识符可以是文件句柄或其他标识符,如以上所讨论的。
对是否有任何程序当前正在访问该文件的确定随后被作出(动作406)。该确定可按各种不同的方式作出,诸如通过确定何时没有程序具有用于该文件的打开的文件句柄。
该文件至少基于确定计算设备上没有程序当前正在访问该文件而被加密(动作408)。该文件可接着***作***和数据保护***视为在数据保护策略的实现之后创建的任何其他加密的文件。在动作408中,文件可被独占访问以用于加密,使得在该文件正被加密时请求访问该文件的任何其他程序被阻塞以免访问该文件。替换地,对该文件的加密可响应于另一程序要访问该文件的请求而被中止。如果对文件的加密被中止,则该文件的标识符保留在文件加密队列中。在该文件已被成功加密之后,该文件的标识符从加密队列中被移除。
关闭时加密技术采取被动办法来加密组织数据,其代价是延迟加密达相对可忽略不计的时间量。文件只有在其被实际写入时以及只有在其不在被计算设备上的其他程序访问时才被加密。这降低了程序在访问文件时遭遇错误的可能性,并且保留了应用的响应能力,同时还如数据保护策略所期望地提供组织数据的安全性。
再次参考图1,数据保护***102可实现除关闭时加密技术以外的被动加密技术。这些其他被动加密技术可以取代关闭时加密技术或与其并发地实现。如以上所讨论的,这些其他技术包括打开时加密技术、无独占访问加密技术和加密位置技术。
打开时加密技术指的是其中包括组织数据的文件响应于该文件由程序打开而被数据保护***102加密的技术。在一个或多个实施例中,打开时加密技术使用图3的加密和解密***300来实现,但是在加密和解密***300中不需要包括文件加密队列306。响应于来自程序的要打开尚未被加密的文件的请求,加密确定模块308(例如,通过操作***104)被通知该请求。加密确定模块308作出裁决,并且如果加密是需要的,则打开文件并获得对文件的独占访问、通知加密模块302来加密该文件,以及在加密完成之际通知操作***104加密确定模块308完成了对该文件进行处理。现在加密了的文件可接着由程序打开,且***作***视为在数据保护策略的实现之后创建的任何其他加密的文件。需要注意,其他实施例可选择使加密模块302而不是加密确定模块308获得对文件的独占访问。
打开时加密技术如数据保护策略所期望地维持对文件中的组织数据的保护,但是相对于关闭时加密技术而言可能降低访问文件的程序的性能和响应能力。尽管如此,打开时加密技术改善了组织数据的安全性,且因此改善了计算设备100的安全性,并且防止对包括组织数据的文件的访问,而不管该文件是否正被写入。打开时加密技术可以例如在加密***的设计或实现使得加密***要求对文件的独占访问以便加密该文件时被使用。
无独占访问加密技术指的是其中包括组织数据的文件在无需对文件的独占访问的情况下被数据保护***102加密的技术。在一个或多个实施例中,无独占访问加密技术使用图3的加密和解密***300来实现,但是在加密和解密***300中不需要包括文件加密队列306。上面所讨论的关闭时加密技术计及了其中加密模块302只能够在加密模块302具有对文件的独占访问(已打开用于该文件的独占文件句柄)的情况下(即,没有其他程序可在该文件正被加密模块302加密时访问该文件)加密该文件的情况。然而,使用没有无独占访问加密技术,加密和解密***300被实现为允许对文件的加密而无需对文件的独占访问。加密和解密***300的这样的实现包括维护标识加密进度的每个文件的元数据(允许文件的不同部分在不同时间处被加密)、在没有常规文件句柄的情况下加密磁盘上的文件内容(例如,使用临时文件)以及维护文件***级的一致性和性能以使得通过一个程序对文件所作的改变反映在正被创建的加密文件中。
无独占访问加密技术如数据保护策略所期望地维持对文件中的组织数据的保护。组织数据的安全性且因此计算设备100的安全性得到改善。此外,由于等待文件被打开或关闭而导致的延迟不需要发生——包括组织数据的任何文件可响应于数据保护策略的实现而被加密,而不管哪些程序(如果有的话)正在访问该文件。
加密位置技术指的是其中存储在特定位置(诸如特定目录或文件夹)中的文件被加密的技术。在一个或多个实施例中,加密位置技术使用图3的加密和解密***300来实现,但是在加密和解密***300中不需要包括文件加密队列306。使用加密位置技术,包括组织数据的文件仅由被许可访问该组织数据的程序存储在特定位置,诸如存储在特定的目录或文件夹中。因此,加密和解密***300假定存储在那些特定位置之一中的任何文件包括组织数据且要被加密。每当文件在特定位置中被创建或被移动到特定位置时,加密确定模块308确定加密该特定位置中的文件。该文件可响应于数据保护策略被实现在可包括变得被许可访问组织数据的程序的计算设备上而被加密(如数据保护策略中的改变所指示的)。应该注意,多于一个位置可按该方式来表示。加密位置方法的实施例还可具有关于是否加密特定位置中的数据的附加规则或限制。
加密位置技术如数据保护策略所期望地维持对文件中的组织数据的保护。组织数据的安全性且因此计算设备100的安全性得到改善。此外,由于等待文件被打开或关闭而导致的延迟不需要发生——存储在特定位置中的任何文件都被加密,而不管由计算设备上的程序何时打开或关闭。
虽然本文中参考特定模块讨论了特定功能,但应注意,本文中讨论的个体模块的功能可被分成多个模块,和/或多个模块的至少一些功能可被组合在单个模块中。附加地,本文讨论的执行某一动作的特定模块包括该特定模块本身执行该动作或另选地该特定模块调用或与其他方式访问执行该动作的另一组件或模块(或与该特定模块联合执行该动作)。因而,执行某一动作的特定模块包括该特定模块本身执行该动作或由该特定模块调用或以其他方式访问的另一模块执行该动作。
图5在500概括地示出了包括示例计算设备502的示例***,该示例***表示可以实现本文中所描述的各种技术的一个或多个***和/或设备。计算设备502可以是,例如,服务提供方的服务器、与客户端相关联的设备(例如,客户端设备)、片上***、和/或任何其他合适的计算设备或计算***。
所示的示例计算设备502包括处理***504、一个或多个计算机可读介质506,以及相互通信地耦合的一个或多个I/O接口508。尽管没有示出,计算设备502可进一步包括***总线或将各种组件相互耦合的其他数据和命令传输***。***总线可以包括不同总线结构中的任一个或其组合,诸如存储器总线或存储器控制器、***总线、通用串行总线和/或利用各种总线体系结构中的任一种的处理器或局部总线。也构想了各种其他示例,诸如控制和数据线。
处理***504表示使用硬件执行一个或多个操作的功能。因此,处理***504被示为包括可被配置成处理器、功能块等的硬件元件510。这可包括在作为专用集成电路或使用一个或多个半导体构成的其他逻辑设备的硬件中的实现。硬件元件510不受形成它们的材料或者其中利用的处理机制的限制。例如,处理器可以由半导体和/或晶体管(例如,电子集成电路(IC))构成。在这一上下文中,处理器可执行指令可以是可电子地执行的指令。
计算机可读介质506被示为包括存储器/存储512。存储器/存储512表示与一个或多个计算机可读介质相关联的存储器/存储容量。存储器/存储512可包括易失性介质(如随机存取存储器(RAM))和/或非易失性介质(如只读存储器(ROM)、闪存、光盘、磁盘等)。存储器/存储512可包括固定介质(例如,RAM、ROM、固定硬盘驱动器等)以及可移动介质(例如闪存、可移动硬盘驱动器、光盘等)。计算机可读介质506可以下面进一步描述的各种方式来配置。
一个或多个输入/输出接口508表示允许用户向计算设备502输入命令和信息的功能,并且还允许使用各种输入/输出设备向用户和/或其他组件或设备呈现信息。输入设备的示例包括键盘、光标控制设备(例如,鼠标)、麦克风(例如,用于语音输入)、扫描仪、触摸功能(例如,电容性的或被配置来检测物理触摸的其他传感器)、相机(例如,可采用可见或诸如红外频率的不可见波长来将不涉及触摸的移动检测为姿势),等等。输出设备的示例包括显示设备(例如,监视器或投影仪)、扬声器、打印机、网卡、触觉响应设备,等等。因此,计算设备502可以下面进一步描述的各种方式来配置以支持用户交互。
计算设备502还包括加密和解密***514。加密和解密***514提供组织数据的被动加密,如以上所讨论的。加密和解密***514可实现例如图1的加密和解密***120或图3的加密和解密***300。
本文可以在软件、硬件元件或程序模块的一般上下文中描述各种技术。一般而言,此类模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、元件、组件、数据结构等。本文使用的术语“模块”、“功能”和“组件”一般表示软件、固件、硬件或其组合。本文描述的技术的各特征是平台无关的,从而意味着该技术可在具有各种处理器的各种计算平台上实现。
所描述的模块和技术的实现可以被存储在某种形式的计算机可读介质上或跨某种形式的计算机可读介质传输。计算机可读介质可包括可由计算设备502访问的各种介质。作为示例而非限制,计算机可读介质可包括“计算机可读存储介质”和“计算机可读信号介质”。
“计算机可读存储介质”指相对于仅信号传输、载波或信号本身而言,启用对信息的持久存储和/或有形存储的介质和/或设备。因此,计算机可读存储介质是指非信号承载介质。计算机可读存储介质包括以适合于存储诸如计算机可读指令、数据结构、程序模块、逻辑元件/电路、或其他数据等的方法或技术来实现的诸如易失性和非易失性、可移动和不可移动介质和/或存储设备的硬件。该计算机可读存储介质的示例包括但不限于,RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光存储、硬盘、磁带盒、磁带、磁盘存储或其他磁存储设备、或者可适用于存储所需信息并可由计算机访问的其他存储设备、有形介质或制品。
“计算机可读信号介质”可以指被配置成诸如经由网络向计算设备502的硬件传输指令的信号承载介质。信号介质通常用诸如载波、数据信号、或其他传输机制等经调制数据信号来体现计算机可读指令、数据结构、程序模块或其他数据。信号介质还包括任何信息传送介质。术语“经调制数据信号”是指使得以在信号中编码信息的方式来设定或改变其一个或多个特征的信号。作为示例而非限制,通信介质包括有线介质,诸如有线网络或直接线路连接,以及无线介质,诸如声学、RF、红外线和其他无线介质。
如先前所描述的,硬件元件510和计算机可读介质506代表以硬件形式实现的指令、模块、可编程器件逻辑和/或固定器件逻辑,其可在某些实施例中被采用来实现此处描述的技术的至少某些方面。硬件元件可包括集成电路或片上***、应用专用集成电路(ASIC)、现场可编程门阵列(FPGA)、复杂可编程逻辑器件(CPLD),和用硅或其他硬件设备实现的组件。在此上下文中,硬件元件可以充当处理设备,该处理设备执行由该硬件元件以及用于存储供执行的指令的硬件设备(例如前面描述的计算机可读存储介质)所体现的指令、模块和/或逻辑所定义的程序任务。
前面的组合也可被采用来实现本文所述的各种技术。因此,软件、硬件,或模块和其他程序模块可被实现为一个或多个指令和/或在某种形式的计算机可读存储介质上和/或由一个或多个硬件元件510实现的逻辑。计算设备502可被配置成实现对应于软件和/或硬件模块的特定指令和/或功能。因此,将模块实现为可由计算设备502执行为软件的模块可至少部分以硬件完成,例如,通过使用计算机可读存储介质和/或处理***的硬件元件510。指令和/或功能可以是一个或多个制品(例如,一个或多个计算设备502和/或处理***504)可执行/可操作的,以实现本文描述的技术、模块、以及示例。
如在图5中进一步例示的,示例***500使得用于当在个人计算机(PC)、电视设备和/或移动设备上运行应用时的无缝用户体验的普遍存在的环境成为可能。服务和应用在所有三个环境中基本相似地运行,以便当使用应用、玩视频游戏、看视频等时在从一个设备转换到下一设备时得到共同的用户体验。
在示例***500中,多个设备通过中央计算设备互连。中央计算设备对于多个设备可以是本地的,或者可以位于多个设备的远程。在一个或多个实施例中,中央计算设备可以是通过网络、互联网或其他数据通信链路连接到多个设备的一个或多个服务器计算机的云。
在一个或多个实施例中,该互连架构使得功能能够跨多个设备递送以向多个设备的用户提供共同且无缝的体验。多个设备的每一个可具有不同的物理要求和能力,且中央计算设备使用一平台来使得为设备定制且又对所有设备共同的体验能被递送到设备。在一个或多个实施例中,创建目标设备的类,且针对设备的通用类来特制体验。设备类可由设备的物理特征、用途类型或其他共同特性来定义。
在各种实现中,计算设备502可采取各种各样不同的配置,诸如用于计算机516、移动设备518和电视机520用途。这些配置中的每一个包括可具有一般不同的配置和能力的设备,并且因而计算设备502可根据不同的设备类中的一个或多个来配置。例如,计算设备502可被实现为计算机516类的设备,该类包括个人计算机、台式计算机、多屏幕计算机、膝上型计算机、上网本等。
计算设备502还可被实现为移动518类的设备,该类包括诸如移动电话、便携式音乐播放器、便携式游戏设备、平板计算机、多屏幕计算机等移动设备。计算设备502还可被实现为电视机520类的设备,该类包括在休闲观看环境中具有或连接到通常更大的屏幕的设备。这些设备包括电视机、机顶盒、游戏控制台等。
本文所描述的技术可由计算设备502的这些各种配置来支持,且不限于在本文描述的各具体示例。这个功能性也可被全部或部分通过分布式***的使用(诸如如下的经由平台524通过“云”522)来实现。
云522包括和/或代表资源526的平台524。平台524抽象云522的硬件(如,服务器)和软件资源的底层功能性。资源526可包括可在计算机处理在位于计算设备502远程的服务器上执行时使用的应用和/或数据。资源526也可包括在互联网上和/或通过诸如蜂窝或Wi-Fi网络之类的订户网络上提供的服务。
平台524可抽象资源和功能性以将计算设备502与其他计算设备相连接。平台524还可用于抽象资源的缩放以向经由平台524实现的资源526所遇到的需求提供对应的缩放级别。因此,在互联设备的实施例中,本文描述的功能性的实现可分布在***500上。例如,该功能性可部分地在计算设备502上以及经由抽象云522的功能性的平台524来实现。
在本文的讨论中,描述了各种不同的实施例。要领会和理解,本文描述的每个实施例可以单独或与本文描述的一个或多个其他实施例结合使用。本文所讨论的技术的进一步方面涉及以下实施例中的一个或多个。
一种在计算设备中实现的方法,所述方法包括:检测计算设备上的在数据保护策略的实现之前创建的文件是否已由第一程序写入;至少基于检测到该文件已由第一程序写入来将该文件的标识符添加到文件加密队列;确定计算设备上的任何程序当前是否正在访问该文件;以及至少基于确定计算设备上没有程序当前正在访问该文件来加密该文件。
作为以上所描述的方法中的任一者的替换或补充,以下任一者或其组合:该方法进一步包括允许第一程序打开并读取文件而不将该文件添加到文件加密队列;该方法进一步包括将文件加密队列存储在非易失性存储器中,该非易失性存储器跨计算设备的重启持久保存该文件加密队列;该文件的标识符包括文件句柄,该文件句柄独立于该文件在计算设备上所存储的位置而在计算设备内唯一地标识该文件;该方法进一步包括从计算设备接收擦除组织的组织数据的请求,标识文件加密队列中的包括组织的组织数据的一个或多个文件,以及从计算设备的数据存储删除所标识的一个或多个文件;该方法进一步包括在加密文件的同时阻塞计算设备上的任何附加程序对该文件的访问;该方法进一步包括确定在加密文件的同时计算设备上的第二程序是否请求对该文件的访问,至少基于确定在加密该文件的同时第二程序请求对该文件的访问而中止加密,以及允许第二程序访问该文件;该方法进一步包括在文件被加密之后从加密队列中移除该文件,在该文件处于文件加密队列中时从第二程序接收要访问该文件的请求,以及拒绝第二程序访问该文件。
一种计算设备,包括:一个或多个处理器;数据存储;以及其上存储有多个指令的一个或多个计算机可读存储介质,这些指令基于一个或多个处理器的执行来实现包括加密模块和加密确定模块的加密和解密***;加密模块被配置成至少基于从加密确定模块接收到要加密数据存储中的在数据保护策略在计算设备上的实现之前创建的文件的请求而加密该文件;加密确定模块被配置成:检测数据存储中的文件是否由于数据保护策略而要被加密,与加密模块通信以在合适的时间加密该文件,以及使用关闭时加密技术、打开时加密技术、无独占访问加密技术和/或加密位置技术来确定该合适的时间。
作为以上所描述的计算设备中的任一者的替换或补充,以下任一者或其组合:关闭时加密技术包括其中文件至少基于第一条件和第二条件两者得到满足而被加密的技术,该第一条件是数据在数据保护策略的实现之后被写入该文件,并且该第二个条件是没有程序当前正在访问该文件;加密确定模块进一步被配置成允许程序打开并读取文件而不与加密模块通信以加密该文件;计算设备进一步包括存储文件加密队列的非易失性存储器,文件加密队列包括已被检测到的如由于数据保护策略而要被加密且在数据保护策略的实现之后已被写入的文件的文件标识符,文件加密队列跨计算设备的重启持久保存文件标识符;打开时加密技术包括其中文件至少基于该文件由计算设备上的程序打开而被加密的技术;无独占访问加密技术包括其中文件在无需加密模块具有对该文件的独占访问的情况下被加密的技术;加密位置技术包括其中文件至少基于该文件被存储在数据存储的特定位置中而被加密的技术。
一种计算设备,包括:一个或多个处理器;数据存储;存储文件加密队列的非易失性存储器;以及其上存储有多个指令的一个或多个计算机可读存储介质,这些指令基于一个或多个处理器的执行来实现包括加密模块和加密确定模块的加密和解密***;加密模块被配置成至少基于来自加密确定模块的要加密在数据保护策略在计算设备上的实现之前创建的文件的请求而加密该文件;加密确定模块被配置成:检测文件是否已由第一程序写入,至少基于该文件已由第一程序写入来将该文件的标识符添加到文件加密队列,确定计算设备上的任何程序是否当前正在访问该文件,以及至少基于确定计算设备上没有程序当前正在访问该文件而将该请求传达给加密模块以加密该文件。
作为以上所描述的计算设备中的任一者的替换或补充,以下任一者或其组合:加密确定模块进一步被配置成允许第一程序打开并读取文件,而不需要将该文件添加到文件加密队列;非易失性存储器跨计算设备的重启持久保存文件加密队列;加密确定模块进一步被配置成确定在加密模块正在加密文件的同时第二程序是否请求对该文件的访问,至少基于确定在加密该文件的同时第二程序请求对该文件的访问而中止加密,以及允许第二程序访问该文件;加密确定模块进一步被配置成从计算设备接收擦除组织的组织数据的请求,标识文件加密队列中的包括组织的组织数据的一个或多个文件,以及从计算设备的数据存储中删除所标识的一个或多个文件。
尽管用结构特征和/或方法动作专用的语言描述了本发明主题,但可以理解,所附权利要求书中定义的主题不必限于上述具体特征或动作。更确切而言,上述具体特征和动作是作为实现权利要求的示例形式公开的。
Claims (20)
1.一种在计算设备中实现的方法,所述方法包括:
检测所述计算设备上的在数据保护策略的实现之前创建的文件是否已由第一程序写入;
至少基于检测到所述文件已由所述第一程序写入来将所述文件的标识符添加到文件加密队列;
确定所述计算设备上的任何程序当前是否正在访问所述文件;
至少基于确定所述计算设备上没有程序当前正在访问所述文件来加密所述文件;
确定在加密所述文件的同时所述计算设备上的第二程序是否请求对所述文件的访问;
至少基于确定在加密所述文件的同时所述第二程序请求对所述文件的访问而中止所述加密;以及
允许所述第二程序访问所述文件。
2.根据权利要求1所述的方法,其特征在于,进一步包括允许所述第一程序打开并读取所述文件而不将所述文件添加到所述文件加密队列。
3.根据权利要求1所述的方法,其特征在于,进一步包括将所述文件加密队列存储在非易失性存储器中,所述非易失性存储器跨所述计算设备的重启持久保存所述文件加密队列。
4.根据权利要求1所述的方法,其特征在于,所述文件的标识符包括文件句柄,所述文件句柄独立于所述文件在所述计算设备上所存储的位置而在所述计算设备内唯一地标识所述文件。
5.根据权利要求1所述的方法,其特征在于,进一步包括:
从所述计算设备接收擦除组织的组织数据的请求;
标识所述文件加密队列中的包括所述组织的组织数据的一个或多个文件;以及
从所述计算设备的数据存储删除所标识的一个或多个文件。
6.根据权利要求1所述的方法,其特征在于,进一步包括在加密所述文件的同时阻塞所述计算设备上的任何附加程序对所述文件的访问。
7.根据权利要求1所述的方法,其特征在于,进一步包括:
在所述文件被加密之后从所述加密队列中移除所述文件;
在所述文件处于所述文件加密队列中时从第二程序接收要访问所述文件的请求;以及
拒绝所述第二程序访问所述文件。
8.一种计算设备,包括:
一个或多个处理器;
数据存储;以及
其上存储有多个指令的一个或多个计算机可读存储介质,所述指令基于所述一个或多个处理器的执行来实现包括加密模块和加密确定模块的加密和解密***;
所述加密模块被配置成至少基于从所述加密确定模块接收到要加密所述数据存储中的在数据保护策略在所述计算设备上的实现之前创建的文件的请求而加密所述文件;
所述加密确定模块被配置成:
通过确定所述数据存储中的所述文件是否已由第一程序写入来检测所述数据存储中的所述文件是否由于所述数据保护策略而要被加密,
与所述加密模块通信以在合适的时间加密所述文件,以及
使用关闭时加密技术、打开时加密技术、无独占访问加密技术和/或加密位置技术来确定所述合适的时间,
启动对所述文件的加密,
确定在加密所述文件的同时所述计算设备上的第二程序是否请求对所述文件的访问,
至少基于确定在加密所述文件的同时所述第二程序请求对所述文件的访问而中止所述加密,以及
允许所述第二程序访问所述文件。
9.根据权利要求8所述的计算设备,其特征在于,所述关闭时加密技术包括其中所述文件至少基于第一条件和第二条件两者得到满足而被加密的技术,所述第一条件是数据在所述数据保护策略的实现之后被写入所述文件,并且所述第二个条件是没有程序当前正在访问所述文件。
10.根据权利要求9所述的计算设备,其特征在于,所述加密确定模块进一步被配置成允许程序打开并读取所述文件而不与所述加密模块通信以加密所述文件。
11.根据权利要求9所述的计算设备,其特征在于,进一步包括存储文件加密队列的非易失性存储器,所述文件加密队列包括已被检测到的如由于所述数据保护策略而要被加密且在所述数据保护策略的实现之后已被写入的文件的文件标识符,所述文件加密队列跨所述计算设备的重启持久保存文件标识符。
12.根据权利要求8所述的计算设备,其特征在于,所述打开时加密技术包括其中所述文件至少基于所述文件由所述计算设备上的程序打开而被加密的技术。
13.根据权利要求8所述的计算设备,其特征在于,所述无独占访问加密技术包括其中所述文件在无需所述加密模块具有对所述文件的独占访问的情况下被加密的技术。
14.根据权利要求8所述的计算设备,其特征在于,所述加密位置技术包括其中所述文件至少基于所述文件被存储在所述数据存储的特定位置中而被加密的技术。
15.一种计算设备,包括:
一个或多个处理器;
数据存储;
存储文件加密队列的非易失性存储器;以及
其上存储有多个指令的一个或多个计算机可读存储介质,所述指令基于所述一个或多个处理器的执行来实现包括加密模块和加密确定模块的加密和解密***;
所述加密模块被配置成至少基于来自所述加密确定模块的要加密在数据保护策略在所述计算设备上的实现之前创建的文件的请求而加密所述文件;
所述加密确定模块被配置成:
检测所述文件是否已由第一程序写入,
至少基于所述文件已由所述第一程序写入来将所述文件的标识符添加到所述文件加密队列,
确定所述计算设备上的任何程序是否当前正在访问所述文件,
至少基于确定所述计算设备上没有程序当前正在访问所述文件而将所述请求传达给所述加密模块以加密所述文件;
确定在所述加密模块正在加密所述文件的同时第二程序是否请求对所述文件的访问;
至少基于确定在加密所述文件的同时所述第二程序请求对所述文件的访问而中止所述加密,以及
允许所述第二程序访问所述文件。
16.根据权利要求15所述的计算设备,其特征在于,所述加密确定模块进一步被配置成允许所述第一程序打开并读取所述文件,而不需要将所述文件添加到所述文件加密队列。
17.根据权利要求15所述的计算设备,其特征在于,所述非易失性存储器跨所述计算设备的重启持久保存所述文件加密队列。
18.根据权利要求15所述的计算设备,其特征在于,所述加密确定模块进一步被配置成:
从所述计算设备接收擦除组织的组织数据的请求;
标识所述文件加密队列中的包括所述组织的组织数据的一个或多个文件;以及
从所述计算设备的数据存储中删除所标识的一个或多个文件。
19.一种具有指令的计算机可读存储介质,当所述指令被执行时使得机器执行如权利要求1-7中任一权利要求所述的方法。
20.一种计算机***,包括用于执行如权利要求1-7中任一权利要求所述的方法的装置。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/879,938 | 2015-10-09 | ||
US14/879,938 US9900325B2 (en) | 2015-10-09 | 2015-10-09 | Passive encryption of organization data |
PCT/US2016/054036 WO2017062236A1 (en) | 2015-10-09 | 2016-09-28 | Passive encryption of organization data |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108140097A CN108140097A (zh) | 2018-06-08 |
CN108140097B true CN108140097B (zh) | 2021-04-16 |
Family
ID=57124162
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201680059000.6A Active CN108140097B (zh) | 2015-10-09 | 2016-09-28 | 组织数据的被动加密 |
Country Status (4)
Country | Link |
---|---|
US (1) | US9900325B2 (zh) |
EP (1) | EP3360072B1 (zh) |
CN (1) | CN108140097B (zh) |
WO (1) | WO2017062236A1 (zh) |
Families Citing this family (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8874935B2 (en) | 2011-08-30 | 2014-10-28 | Microsoft Corporation | Sector map-based rapid data encryption policy compliance |
US10615967B2 (en) | 2014-03-20 | 2020-04-07 | Microsoft Technology Licensing, Llc | Rapid data protection for storage devices |
US9825945B2 (en) | 2014-09-09 | 2017-11-21 | Microsoft Technology Licensing, Llc | Preserving data protection with policy |
US9853812B2 (en) | 2014-09-17 | 2017-12-26 | Microsoft Technology Licensing, Llc | Secure key management for roaming protected content |
US9900295B2 (en) | 2014-11-05 | 2018-02-20 | Microsoft Technology Licensing, Llc | Roaming content wipe actions across devices |
US9853820B2 (en) | 2015-06-30 | 2017-12-26 | Microsoft Technology Licensing, Llc | Intelligent deletion of revoked data |
US10361945B2 (en) | 2015-10-08 | 2019-07-23 | Fluke Corporation | System and method to reconcile cabling test results with cabling test configurations |
US10367713B2 (en) | 2015-10-15 | 2019-07-30 | Fluke Corporation | Cloud based system and method for managing testing configurations for cable test devices |
US10097443B2 (en) * | 2015-12-16 | 2018-10-09 | Fluke Corporation | System and method for secure communications between a computer test tool and a cloud-based server |
US10419401B2 (en) * | 2016-01-08 | 2019-09-17 | Capital One Services, Llc | Methods and systems for securing data in the public cloud |
US10791097B2 (en) | 2016-04-14 | 2020-09-29 | Sophos Limited | Portable encryption format |
US10650154B2 (en) | 2016-02-12 | 2020-05-12 | Sophos Limited | Process-level control of encrypted content |
US9984248B2 (en) | 2016-02-12 | 2018-05-29 | Sophos Limited | Behavioral-based control of access to encrypted content by a process |
US10686827B2 (en) | 2016-04-14 | 2020-06-16 | Sophos Limited | Intermediate encryption for exposed content |
US10681078B2 (en) | 2016-06-10 | 2020-06-09 | Sophos Limited | Key throttling to mitigate unauthorized file access |
US10628597B2 (en) * | 2016-04-14 | 2020-04-21 | Sophos Limited | Just-in-time encryption |
GB2551983B (en) | 2016-06-30 | 2020-03-04 | Sophos Ltd | Perimeter encryption |
CN110858251B (zh) * | 2018-08-22 | 2020-07-21 | 阿里巴巴集团控股有限公司 | 数据查询方法和装置 |
US11336628B2 (en) | 2018-11-01 | 2022-05-17 | Actifile LTD | Methods and systems for securing organizational assets in a shared computing environment |
US10963592B2 (en) | 2019-02-05 | 2021-03-30 | Western Digital Technologies, Inc. | Method to unlock a secure digital memory device locked in a secure digital operational mode |
US11232210B2 (en) | 2019-03-26 | 2022-01-25 | Western Digital Technologies, Inc. | Secure firmware booting |
US10997297B1 (en) | 2019-12-06 | 2021-05-04 | Western Digital Technologies, Inc. | Validating firmware for data storage devices |
CN113139195B (zh) * | 2021-04-21 | 2023-10-13 | 统信软件技术有限公司 | 一种数据加密方法及计算设备 |
US11709958B2 (en) * | 2021-04-26 | 2023-07-25 | Google Llc | Systems and methods for controlling data access in client-side encryption |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 |
CN105378749A (zh) * | 2013-05-20 | 2016-03-02 | 微软技术许可有限责任公司 | 在计算设备上针对组织的数据保护 |
Family Cites Families (207)
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 |
US6028725A (en) | 1997-06-30 | 2000-02-22 | Emc Corporation | Method and apparatus for increasing disc drive performance |
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 |
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 |
WO1999009513A2 (en) | 1997-08-20 | 1999-02-25 | 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 |
US9361243B2 (en) | 1998-07-31 | 2016-06-07 | Kom Networks Inc. | Method and system for providing restricted access to a storage medium |
US8234477B2 (en) | 1998-07-31 | 2012-07-31 | 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 |
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 |
CA2496664C (en) | 2002-08-23 | 2015-02-17 | Exit-Cube, Inc. | Encrypting operating system |
CA2496779C (en) | 2002-08-26 | 2011-02-15 | 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 |
US7627617B2 (en) | 2004-02-11 | 2009-12-01 | 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 |
WO2006095335A2 (en) | 2005-03-07 | 2006-09-14 | 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 | キヤノン株式会社 | 文書管理装置、文書管理方法、プログラム |
EP2013822A4 (en) | 2006-04-14 | 2012-07-18 | Vertafore Inc | METHOD, SYSTEM, AND COMPUTER READABLE MEDIUM FOR UNIFORMIZING DOCUMENT COMMENTS ON MULTIPLE COMPUTER PLATFORMS |
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 |
US7711923B2 (en) | 2006-06-23 | 2010-05-04 | Microsoft Corporation | Persistent flash memory mapping table |
US8307148B2 (en) | 2006-06-23 | 2012-11-06 | Microsoft Corporation | Flash management techniques |
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 |
EP2570961B1 (en) | 2007-01-19 | 2019-03-13 | BlackBerry 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 | 株式会社東芝 | キャッシュ方法及びキャッシュ装置 |
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 |
US20100306176A1 (en) | 2009-01-28 | 2010-12-02 | Digitiliti, Inc. | Deduplication of files |
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 |
US8286004B2 (en) | 2009-10-09 | 2012-10-09 | Lsi Corporation | Saving encryption keys in one-time programmable memory |
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 |
EP2545675A4 (en) | 2010-03-09 | 2017-06-21 | KL Data Security 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 |
US8707457B2 (en) | 2010-05-09 | 2014-04-22 | Citrix Systems, Inc. | 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 |
US9071580B2 (en) * | 2010-11-01 | 2015-06-30 | 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 |
US10165007B2 (en) | 2011-09-15 | 2018-12-25 | Microsoft Technology Licensing, Llc | Securing data usage in computing devices |
FR2980285B1 (fr) | 2011-09-15 | 2013-11-15 | Maxim Integrated Products | Systemes et procedes de gestion de cles cryptographiques dans un microcontroleur securise |
US8479021B2 (en) | 2011-09-29 | 2013-07-02 | Pacid Technologies, Llc | Secure island computing system and method |
US8695060B2 (en) * | 2011-10-10 | 2014-04-08 | Openpeak Inc. | System and method for creating secure applications |
US8799994B2 (en) | 2011-10-11 | 2014-08-05 | 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 |
US20140032733A1 (en) | 2011-10-11 | 2014-01-30 | Citrix Systems, Inc. | Policy-Based Application Management |
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 |
CN103975332B (zh) | 2011-12-08 | 2018-08-14 | 英特尔公司 | 用于使用基于硬件的信任根以对等方式进行基于策略的内容共享的方法和装置 |
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 |
US20130318361A1 (en) | 2012-05-22 | 2013-11-28 | Partnet, Inc. | Encrypting and storing biometric information on a storage device |
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 |
US20140108558A1 (en) | 2012-10-12 | 2014-04-17 | Citrix Systems, Inc. | Application Management Framework for Secure Data Sharing 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 |
WO2015050587A2 (en) * | 2013-05-31 | 2015-04-09 | Openpeak Inc. | Method and system for isolating secure communication events from a non-secure application |
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 |
CA2970310C (en) | 2014-12-15 | 2023-09-26 | Good Technology Holdings Limited | Secure storage |
US9921976B2 (en) | 2015-03-25 | 2018-03-20 | Vera | Access files |
US9853820B2 (en) | 2015-06-30 | 2017-12-26 | Microsoft Technology Licensing, Llc | Intelligent deletion of revoked data |
-
2015
- 2015-10-09 US US14/879,938 patent/US9900325B2/en active Active
-
2016
- 2016-09-28 CN CN201680059000.6A patent/CN108140097B/zh active Active
- 2016-09-28 WO PCT/US2016/054036 patent/WO2017062236A1/en active Application Filing
- 2016-09-28 EP EP16779280.3A patent/EP3360072B1/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 |
CN105378749A (zh) * | 2013-05-20 | 2016-03-02 | 微软技术许可有限责任公司 | 在计算设备上针对组织的数据保护 |
Also Published As
Publication number | Publication date |
---|---|
CN108140097A (zh) | 2018-06-08 |
WO2017062236A1 (en) | 2017-04-13 |
EP3360072B1 (en) | 2021-04-07 |
US20170104768A1 (en) | 2017-04-13 |
US9900325B2 (en) | 2018-02-20 |
EP3360072A1 (en) | 2018-08-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108140097B (zh) | 组织数据的被动加密 | |
US11057355B2 (en) | Protecting documents using policies and encryption | |
KR101852724B1 (ko) | 컴퓨터 프로그램, 비밀관리방법 및 시스템 | |
KR102340219B1 (ko) | 스토리지 디바이스에 대한 신속한 데이터 보호 | |
US9825945B2 (en) | Preserving data protection with policy | |
CN109416720B (zh) | 跨重置维护操作***秘密 | |
US9853820B2 (en) | Intelligent deletion of revoked data | |
EP1836709A1 (en) | Method and portable storage device for allocating secure area in insecure area | |
JP6270780B2 (ja) | データ管理装置、データ管理方法、及びデータ管理プログラム | |
US11374912B2 (en) | Methods and systems for performing exchange of data with third-party applications | |
EP2881887B1 (en) | System and method of applying access rules to files transmitted between computers |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |