背景技术:
随着计算技术的进步,许多不同类型的计算设备变得常见。用户时常具有多种不同的计算设备,诸如膝上型或者台式计算机、平板设备、智能电话等等。联网服务或者云服务可以用来允许用户跨这多个设备共享数据,从而给予用户对于来自他们的多个设备中任何设备的数据的访问。然而,对于希望有从设备中擦除(wipe)数据(例如,由于用户不再被公司雇用)的能力的某些公司而言,跨这多个设备共享数据可能是麻烦的,因为数据可能已经被与公司未管理的设备共享。
技术实现要素:
本概要被提供来以简化的形式介绍概念的选择,这些概念在下面在详细描述中被进一步说明。本概要既不打算标识所要求保护的主题的关键特征或必要特征,也不打算被用来限制所要求保护的主题的范围。
按照一个或多个方面,在第一计算设备中,从第二计算设备接收基于密钥保护的内容,所述内容已被加密,并且所述密钥与正通过管理政策(managementpolicy)管理的第三计算设备相关联。对第一计算设备是否正通过管理政策管理进行确定。响应于确定第一计算设备正通过管理政策管理,密钥被与第一计算设备相关联。响应于确定第一计算设备未通过管理政策管理,保持密钥与第三计算设备的关联。
按照一个或多个方面,在第一计算设备处获得内容,所述第一计算设备正通过管理政策管理。该内容被保护,使得该内容被配置成基于密钥来取回,所述保护包括对内容进行加密,并且密钥与第一计算设备的标识符相关联。加密的内容和密钥被漫游(roam)到第二计算设备,第二计算设备是未通过管理政策管理的非被管设备(unmanageddevice)。随后,响应于接收到管理方启动的(management-initiated)擦除命令,向第二计算设备传送向第二计算设备指示删除所述密钥的擦除命令。
附图说明
参考附图来说明该详细描述。在附图中,参考标号最左边的(一个或者多个)数字标识了该参考标号首次出现的附图。在说明书和附图中的不同实例中使用相同的参考标号可以指示相似或者相同的项。在附图中表示的实体可以指示一个或者多个实体,并且因此可以可互换地参考讨论中的实体的单数或者复数形式。
图1图示了按照一个或多个实施例的、实现本文讨论的技术的示例系统。
图2图示了按照一个或多个实施例的、实现本文讨论的技术的另一示例计算设备。
图3是图示了按照一个或多个实施例的、用于实现针对漫游的受保护内容的安全密钥管理的示例过程的流程图。
图4图示了按照一个或多个实施例的、在其中内容是漫游的并且数据保护私钥是共享的示例系统。
图5是图示按照一个或多个实施例的、用于跨设备的漫游内容擦除动作的示例过程的流程图。
图6是图示按照一个或多个实施例的、用于当内容跨设备漫游时设置表示提供密钥的设备的标识符的示例过程的流程图。
图7是图示按照一个或多个实施例的、用于根据漫游的擦除命令行动的示例过程的流程图。
图8和图9图示了按照一个或多个实施例的擦除内容的示例。
图10图示了包括示例计算设备的示例系统,所述示例计算设备代表可实现本文描述的各种技术的一个或者多个系统和/或设备。
具体实施方式
本文讨论了跨设备的漫游内容擦除动作。基于数据保护密钥而对设备上的内容进行加密和保护。可以使用数据保护密钥来对内容进行加密,或者可以使用数据保护密钥来对用于加密该内容的一个或多个其他密钥进行加密。受保护的内容然后可以被复制到云存储装置,并且受保护的内容可以从云存储装置传递到用户的设备中的各种其他设备,这也被称为使内容漫游或使用户的设备同步。受保护的内容可以附加地或可替换地使用对等传递而不是经由云存储装置被传递到用户的设备中的各种其他设备。
一些计算设备通过政策来管理,并且因此也被称为被管设备(manageddevice)。政策可以是与各种实体相关联的政策,实体诸如是公司或组织(例如企业政策)、计算设备的所有者或用户、代表用户来管理设备的移动运营商、个人设备或家庭服务器等等。用于从受保护内容中取回明文内容的密钥与提供该密钥的一个或多个特定设备中的每个设备的标识符相关联,所述特定设备中的每个设备是生成该密钥的设备或受保护内容被漫游到的另一被管设备。
计算设备可以接收擦除命令,其指示使与特定设备相关联的数据不可用(例如,指示删除与特定设备相关联的密钥)。擦除命令被漫游到用户的设备中的各种其他设备,并且在一个或多个实施例中,响应于擦除命令而将与特定设备相关联的任何密钥从用户的设备中的该各种设备的每一个中删除。可替换地,可以响应于对与用户设备中的特定一个设备同步的被管设备的最后引用被对于某个密钥移除,而从该特定一个设备中删除那个密钥。因此,只要存在可以到达该特定一个设备的管理通道,密钥就可以保留在该特定一个设备上。
本文中讨论的技术通过允许用户的内容漫游到各种不同的设备、但是当管理员或控制者期望时仍从那些设备中擦除该内容,而有利地改善了计算设备的可用性和安全性。即使这样的设备中的一个或多个设备可能是未被管理的、并且因此没有返回到管理员或控制者的用来接收擦除命令的直接通道,仍可以从这样的设备中擦除数据。
在本文中参考加密和解密内容,其可以使用对称密钥密码术或者公钥密码术来执行。虽然这样的密钥密码术对本领域技术人员是熟知的,但为了帮助读者,而在此包括了对这样的密码术的简要概述。在公钥密码术中,实体(诸如用户、硬件或者软件组件、设备、域等等)具有与其相关联的公钥/私钥对。公钥可以变成公开地可得到的,但是实体将私钥保持为秘密。可以使用私钥来对数据进行解密,但是没有私钥的话,在计算上很难对使用公钥加密的数据进行解密。所以,数据可以由任何实体利用公钥加密,并且仅可以由某个实体利用对应的私钥解密。
在对称密钥密码术中,在另一方面,共享密钥(也被称为对称密钥)被两个实体所知,并且由这两个实体保持为秘密的。具有共享密钥的任一实体通常能够利用该共享密钥加密数据,以及解密利用该共享密钥加密的数据。没有共享密钥的话,在计算上很难对利用共享密钥加密的数据进行解密。所以,如果两个实体都知道共享密钥,则每个实体均可以对数据进行加密,该数据能由另一方解密,但是其他实体不能解密该数据(如果这些其他实体不知道共享密钥的话)。相似地,具有共享密钥的实体可以对数据进行加密,该数据可由该相同实体解密,但是其他实体不能解密该数据(如果这些其他实体不知道共享密钥的话)。
图1图示了按照一个或者多个实施例的、实现本文描述的技术的示例系统100。系统100包括计算设备102,其可以是各种各样不同类型的设备。例如,计算设备102可以是台式计算机、服务器计算机、膝上型或者上网本计算机、移动设备(例如,平板或者平板手机设备、蜂窝或者其他无线电话(例如,智能电话)、笔记本计算机、移动站)、可穿戴设备(例如,眼镜、手表)、娱乐设备(例如,娱乐器具、通信地耦合到显示设备的机顶盒、游戏控制台)、电视机或者其他显示设备、汽车用计算机等等。因此,计算设备102的范围可以从具有大量存储器和处理器资源的完全资源设备(例如,个人计算机、游戏控制台)到具有有限存储器和/或处理资源的低资源设备(例如,传统机顶盒、手持式游戏控制台)。
计算设备102包括内容保护系统104、一个或者多个程序106和内容存储库108。程序106可以包括各种不同的应用、操作系统的一些部分、或者可在计算设备102上运行的其他程序。内容存储库108是由计算设备102用来存储内容的一个或者多个存储设备。内容指的是任何类型的数据、指令或者由计算设备102存储的其他信息。内容存储库108可以使用各种各样的不同类型的存储设备中的任一项来实现,诸如固态设备(例如,闪存)、磁盘、光盘等等。虽然被图示为计算设备102的一部分,但是应该指出,构成内容存储库108的存储设备中的一个或者多个存储设备可以被实现在与计算设备102分离但是与其通信地耦合的设备(例如,外部硬盘驱动器、可拆卸闪速驱动器)上。
内容保护系统104管理计算设备102上的内容的保护,包括管理内容的加密和解密、管理用于保护内容的密钥等等。内容保护系统104可以被实现为计算设备102的操作系统的一部分,或者可替换地被实现为与操作系统分离的、该计算设备102的另一组件或者模块。
内容保护系统104包括密钥管理模块112、密钥传递模块114、加密模块116和解密模块118。密钥管理模块112生成用于加密和解密内容的密钥,包括其他密钥。密钥管理模块112还以安全的方式将密钥存储在计算设备102上,并且控制对密钥的访问,仅允许由计算设备102的被准许访问密钥的那些组件或者模块访问这些密钥。这些密钥包括用于计算设备102的公钥/私钥对。在一个或者多个实施例中,计算设备102的私钥被保护在计算设备102的硬件中,这诸如是通过将设备私钥包入(wrap)下一代证书(nextgenerationcredential)中、将设备私钥封入(seal)可信平台模块(tpm)、将设备私钥封入智能卡、将设备私钥封入硬件安全模块(hsm)等等来进行。
密钥传递模块114对将密钥安全地传递到和传递自其他计算设备进行管理。密钥传递模块114对保护密钥以用于传递到其他计算设备、以及从被传递到计算设备102的受保护的密钥中取回密钥进行管理。密钥传递模块114可以通过将要被传递的密钥提供给解密模块118而促进对要被传递的密钥的加密。密钥传递模块114可以相似地通过将(由解密模块118解密的)密钥提供给密钥管理模块112而促进对正被传递到计算设备102的密钥的解密。
加密模块116基于一个或者多个密钥来加密内容。这种加密可以使用各种各样不同的公有和/或专有加密技术或者算法中的任一项来执行,并且可以使用对称密钥密码术或者公钥密码术。解密模块118基于一个或者多个密钥来解密内容。这种解密可以使用各种各样不同的公有和/或专有解密技术或者算法中的任一项来执行,并且可以使用对称密钥密码术或者公钥密码术。
计算设备102的用户在使用设备时还具有特定身份,诸如用户的用户名或者用户账户标识符。该用户名或者用户账户标识符例如是用户登录到计算设备102所利用的名称或者标识符、用户登录到(例如,云存储服务,也被称为云服务的)服务所利用的名称或者标识符等等。计算设备102访问云存储装置122,其是允许内容在一个或者多个位置中的短期或者长期存储的组件或者技术的集合。内容的存储可以使用可经由各种各样不同数据网络(例如,互联网、局域网(lan)、电话网络、内联网、其他公有和/或专有网络或者其组合)、有线连接(例如,通用串行总线(usb)连接)、无线连接(例如,无线usb连接)等等中的任一项访问的各种各样不同存储机制中的任一项来实现。云存储装置122可以是被依赖来使内容相对于其他用户或设备保持安全的可信云存储装置、或者是不被依赖来使内容相对于其他用户或设备保持安全的不可信云存储装置。云存储装置122通常是位于计算设备102的远程位置的一个或者多个存储设备,但是可替换地可以是其他存储设备(例如,可拆卸设备(例如,使用有线或者无线连接来耦合到计算设备102的闪速或者磁驱动器))。
云存储装置122可以经由各种各样不同的通信信道中的任一个来被访问。通信信道可以是可信信道或者不可信信道。可信信道指的是被依赖来使内容相对于其他用户或设备保持安全的通信信道,而不可信信道指的是不被依赖来使内容相对于其他用户或设备保持安全的通信信道。
云存储装置122可以可选地被实现为多个不同服务(也被称为云服务)之一。这些云服务可以包括例如内容存储服务、内容编辑服务、通信(例如,电子邮件或者消息传送)服务等等。这些服务可以由各种各样不同类型的设备中的一个或者多个设备实现,诸如以上参考计算设备102讨论的那些设备中的任何一个或者多个设备。
云存储装置122允许内容在计算设备102和其他计算设备124(1)、…、124(m)之间共享或者漫游。受保护的内容指的是已经被加密的内容,而且受保护的内容可以由计算设备102或者124之一传递到云存储装置122,并且由计算设备102或者124中的其他计算设备接收。这些计算设备是用户的其他计算设备、或者用户已经登录到的其他计算设备。虽然受保护的内容可以被传递到这些设备,但是没有恰当密钥的话,受保护的内容不能在这些设备上被访问,如在下文中更详细讨论的。附加地,应该指出,云存储装置122不需要被计算设备102的用户信任——受保护的内容被存储在该云存储装置122上,并且不向云提供对内容解除保护(解密)的密钥,所以云不能访问明文(未加密)内容。
云存储装置122还维护用户密钥存储库126,其对应于用户的身份。用户可以可选地在不同时间(例如,登录到计算设备102的不同时间)具有不同身份。在一个或者多个实施例中,用户在任何给定时间的身份是当他或者她在该给定时间登录到计算设备102(和/或登录到云存储装置122)时的用户的身份。用户密钥存储库126包括一个或者多个公钥/私钥对中的公钥,诸如计算设备102的公钥、计算设备124(1)、…、124(m)之一的公钥、和数据保护公钥。这些密钥被用于保护内容,与此同时允许用户从多个设备访问该内容,如以下更详细讨论的。
在本文的讨论中,参考经由云存储装置122被漫游的内容和密钥。应该指出,本文所讨论的技术可以在不依赖于云存储装置或云服务的情况下应用于其他通信机制,诸如对等通信。
图2图示了按照一个或者多个实施例的、实现本文讨论的技术的另一示例计算设备202。计算设备202类似于图1的计算设备102,包括内容保护系统104、一个或者多个程序和内容存储库108。然而,计算设备202不同于计算设备102之处在于,内容保护系统104被实现为可信计算基础204的部分。
可信计算基础204作为计算设备202的安全或者可信组件来操作,从而生成和保护密钥。可信计算基础204的组件可以响应于来自程序106的加密或者解密内容的请求(包括来自操作系统的请求)而加密或者解密内容,但是可信计算基础204并不将加密或者解密密钥泄露给计算设备202的、未被包括作为可信计算基础204的一部分的模块的任何其他程序。因此,如果程序106是恶意软件,或者计算系统202的操作系统的一部分是不可信的或者受恶意软件危害的,则密钥保持为由可信计算基础204保护,并且不被泄露给这样的程序或者操作系统。然而,可信计算基础204可以将已经被加密的密钥传递给其他计算设备,如下文更详细讨论的。
返回图1,在计算设备102上的内容由内容保护系统104基于数据保护公钥/私钥对来进行保护。密钥管理模块112生成数据保护公钥/私钥对,并且将数据保护私钥保持为秘密的。数据保护公钥被传送到云存储装置122,并且被存储为用户密钥存储库126的一部分。数据保护公钥/私钥对对应于用户的身份或者与用户的身份紧密联系。如果用户具有多个不同身份,则可生成多个不同数据保护公钥/私钥对(各自对应于多个身份中的不同的一个身份或者与其紧密联系),或者可替换地,单个数据保护公钥/私钥对可以跨多个不同身份来共享。在任何特定时间,密钥管理模块112允许使用对应于在该特定时间的用户身份的数据保护私钥来保护内容,但是不允许使用对应于其他用户身份的数据保护私钥来保护内容。数据保护私钥因此也被称为由特定身份保护。
受保护的内容也被存储在云存储装置122上。受保护的内容在云存储装置122上的这种存储可以由程序106之一(诸如内容同步程序)来管理。随着新内容在内容存储库108上被生成或者以其他方式被添加到内容存储库108,新内容被内容保护系统104保护,并且通过内容同步程序被存储在云存储装置122上。相似地,随着新内容在其他计算设备124的内容存储库上被生成或者以其他方式添加到其他计算设备124的内容存储库(例如,在用户使用相同身份登录到这样的其他设备的时候)并且通过其他计算设备124被存储在云存储装置122上,由内容同步程序从云存储装置122获取新内容,并且将其存储在内容存储库108中。
受保护的内容基于数据保护公钥/私钥对被保护。计算设备102或者124的内容保护系统使用数据保护私钥来从受保护的内容获取明文内容。因此,为了使得计算设备102和124中的多个不同计算设备从受保护的内容获取明文内容,数据保护私钥在该不同的计算设备102和124之间共享。这种共享以保护数据保护私钥的方式完成,从而允许计算设备102和124获取数据保护私钥,但是阻止其他用户或者设备获取数据保护私钥。因此,数据保护私钥的共享可以经由不安全的云存储装置和/或不安全的通信信道完成。
图3是图示了按照一个或者多个实施例的、用于实现针对漫游的受保护内容的安全密钥管理的示例过程300的流程图。过程300由计算设备的内容保护系统——诸如图1或者图2的内容保护系统104——来实行,并且可以被实现在软件、固件、硬件或者其组合中。过程300被示为一组动作,并且不限于所示出的用于执行各种动作的操作的次序。过程300是用于实现针对漫游的受保护内容的安全密钥管理的示例过程;实现针对漫游的受保护内容的安全密钥管理的附加讨论通过参考不同附图而在本文中包括。
在过程300中,使用对应于用户的身份的数据保护公钥来保护内容(动作302)。内容可以以各种不同方式使用数据保护公钥被保护。在一个或者多个实施例中,使用文件加密密钥来加密内容(动作304)。文件加密密钥被用于通过使用文件加密密钥作为加密过程(例如,对称加密过程)的密钥而对内容进行加密。文件加密密钥也利用数据保护公钥进行加密(动作306)。数据保护公钥被用于通过使用数据保护公钥作为公钥密码术过程的密钥而对文件加密密钥进行加密。因此,可以使用多个不同密钥来保护内容——被用于加密内容的文件加密密钥(例如,对称密钥)、和其数据保护公钥被用于加密文件加密密钥的数据保护公钥/私钥对。
可替换地,不是使用文件加密密钥,而是利用数据保护公钥来加密内容(动作308)。数据保护公钥被用于通过使用数据保护公钥作为公钥密码术过程的密钥而对内容进行加密。因此,其数据保护公钥被用于加密内容的数据保护公钥/私钥对可以被用于在没有对对称密钥的任何使用的情况下保护数据。
不管保护内容的方式如何,受保护的内容被复制到云存储装置(动作310)。因为内容被保护,所以云存储装置自身不能够访问明文(未加密)内容。受保护的内容因此被存储在实现该过程300的计算设备上,并且由于将受保护的内容复制到云存储装置,所以受保护的内容被云存储装置存储,并被漫游到用户的设备中的其他设备。
获取要能够访问内容的目标设备的公钥(动作312)。目标设备的公钥可以以各种各样不同的方式获取。在一个或者多个实施例中,用户登录的每个计算设备具有其自己的公钥/私钥对。该设备公钥/私钥对由计算设备(例如,计算设备的密钥管理模块)生成,并且该设备私钥由计算设备保持为秘密的(例如,被保护在计算设备的硬件中,如以上讨论的)。然而,在一个或者多个实施例中,每个计算设备还是将其设备公钥存储在云的用户密钥存储库(例如,图1的用户密钥存储库126)中。因此,用户的计算设备(例如,用户使用相同身份登录的那些)的每一个向云提供其设备公钥,这使得那些设备公钥是用户的其他计算设备可得到的。可替换地,计算设备可以以不同方式使得其设备公钥是用户的其他计算设备可得到的,诸如独立于用户密钥存储库126和/或云的直接交换(例如,将设备公钥传递到可拆卸闪存设备或者电话以及从可拆卸闪存设备或者电话读取设备公钥、使用另外的有线或者无线通信信道传递设备公钥,等等)。
使用目标设备公钥对数据保护私钥进行加密(动作314)。通过使用目标设备公钥来加密数据保护私钥,目标设备能够使用目标设备私钥取回数据保护私钥,但是(不具有目标设备私钥的)其他设备不能够取回数据保护私钥。
加密的数据保护私钥被提供给目标设备(动作316)。可以使用各种各样不同机制中的任一种机制把加密的数据保护私钥提供给目标设备,所述机制诸如是图1的云存储装置122、可拆卸闪存设备或者电话、另外的有线或者无线通信信道等等。应该指出,因为数据保护私钥被加密,并且目标设备是具有目标设备私钥的唯一设备,所以加密的数据保护私钥可以经由各种各样的可信或者不可信信道中的任一信道被传递或者以其他方式传送给目标设备。
一旦目标设备具有了加密的数据保护私钥,则目标设备可以容易地使用目标设备私钥取回数据保护私钥。目标设备的内容保护系统将数据保护私钥保持为安全的,并且可以使用数据保护私钥从受保护的内容取回明文内容(例如,通过使用数据保护私钥来解密文件加密密钥,然后使用文件加密密钥来解密加密的内容;或者通过使用数据保护私钥来解密加密的内容)。
要向其提供数据保护私钥的目标设备可以以不同方式被标识。在一个或者多个实施例中,目标设备向实现过程300的设备传送通知:目标设备想要数据保护私钥。该通知可以是经由云存储装置的,或者可替换地经由另外的通信信道。可替换地,要向其提供数据保护私钥的目标设备可以以不同方式被确定。例如,实现过程300的设备(或者用户密钥存储库126)可以维护数据保护政策私钥已经被提供给哪些其他设备的记录,并且可以将使用用户密钥存储库126中的每个设备公钥(实现过程300的设备还没有为其将加密的数据保护私钥存储在云存储装置上)加密的数据保护私钥自动存储在云存储装置上。
图4图示了按照一个或者多个实施例的、其中内容被漫游并且数据保护私钥被共享的示例系统400。用户在相同或者不同时间登录到他的计算设备中的两个不同计算设备:402和404。该用户可以但不必要为了使内容漫游和/或共享数据保护私钥而并发地登录到计算设备402和404两者。每个计算设备402和404可以是图1的计算设备102或者图2的计算设备202。每个计算设备402和404分别具有内容保护系统406和408,如以上讨论的。受保护的内容410由计算设备402提供给云存储装置122,并且从云存储装置122复制到计算设备404。
计算设备402将计算设备402的设备公钥提供给密钥存储库126,其维护该密钥,该密钥被示为设备1公钥412。计算设备404将计算设备404的设备公钥提供给密钥存储库126,其维护该密钥,该密钥被示为设备2公钥414。计算设备402(或者可替换地计算设备404)还将数据保护公钥提供给密钥存储库126,其维护该密钥,该密钥被示为数据保护公钥416。数据保护公钥416可以被用于在不同设备或者不同用户身份之间共享数据,如以下更详细讨论的。
计算设备402从用户密钥存储库126获取设备2公钥414,并且使用设备2公钥414来加密数据保护私钥。加密的数据保护私钥被提供418到计算设备404,从而允许计算设备404解密受保护的内容410。
在一个或者多个实施例中,数据保护公钥/私钥对由一个设备生成,诸如用户使用用户身份登录的第一设备。然后,当用户使用该用户身份登录到他的其他设备时,数据保护私钥被提供给那些其他设备。因此,受保护的内容被使用相同的数据保护公钥/私钥对来保护,而不是每个设备使用其自己的数据保护公钥/私钥对来保护数据。
在一个或者多个实施例中,在加密数据保护私钥并将其提供给目标设备之前执行附加的用户验证。从其传递数据保护私钥的计算设备(例如,图4的示例中的计算设备402)也被称为源设备,其向用户提示源设备同意传递数据保护私钥。这种提示可以是对源设备的用户的视觉显示或者其他呈现。这种提示可以包括用户生成的随机数(nonce)或者其他值(例如,在目标设备处从用户接收到并且被提供给源设备的)以使得云存储装置或者任何其他恶意设备或者组件不能冒充目标设备或者用户。接收用来指示是否同意该传递的用户输入。如果同意该传递,则继续进行数据保护私钥的加密和提供,但是如果不同意该传递,则不再继续,并且不将数据保护私钥提供给目标设备。
通过仅响应于用户同意传递密钥才加密和提供数据保护私钥给目标设备,有利地提供了对抗中间人攻击的附加安全性保护。恶意设备或者程序可以通过假装是目标设备而尝试中间人攻击。源设备和目标设备两者的用户通常是期望将密钥传递到目标设备的用户,所以用户将容易地知道他或她是否正请求该传递。如果在用户没有将其另一设备设置成数据要向其漫游时向用户提供了同意传递的提示,则用户可以假设这样的提示是由于恶意设备或者程序的动作引起的,并且拒绝给予对密钥传递的同意。
作为添加的安全性预防,可以执行目标设备的离线验证以作为由用户提供的同意的一部分。例如,如果数据保护私钥要从设备402(本例中的源设备)提供给设备404(本例中的目标设备),则设备404的标识(例如,从设备404的公钥生成的哈希值)可以由设备402和设备404两者显示或者以其他方式呈现。如果两个标识相同,则用户可以同意将数据保护私钥传递到设备404。然而,如果两个标识不相同,则可以不同意,从而阻止数据保护私钥被提供给设备404。如果两个标识不相同,则用户可以假设发生了问题,诸如另一设备或者程序正伪装成设备404(例如,使用中间人攻击)等等。
因此,数据保护私钥的共享可以以不同方式来执行。在一个或者多个实施例中,根据基于方便的方法来执行共享。用户可以仅添加内容要向其漫游的新设备(例如,通过利用他的用户身份登录到该设备),并且发送通知到设备402。该通知可以从云(例如,来自用户密钥存储库126的通知:新设备公钥已经被添加到用户密钥存储库126)或者从新设备发送。响应于通知,设备402云将加密的数据保护私钥提供给新设备。
可替换地,数据保护私钥的共享根据基于安全的方法来执行。内容要向其漫游的新设备发送一个值(例如,新设备的标识符或者随机数)到设备402,其在设备402上显示或者以其他方式呈现(例如,可听地回放)该值。用户对设备402的输入确认了该值(以使得云存储装置不能冒充该用户)并且确认了用户同意向新设备释放数据保护私钥(已使用新设备的公钥加密)。
返回图1,本文讨论的技术允许加密的内容被传递到(漫游到)用户的设备中的各种其他设备。用户的设备中的每一个设备可以在获取数据保护私钥之后取回明文内容,如以上讨论的。此外,本文讨论的技术允许用户将受保护的内容与其他用户共享或者与相同用户的其他用户身份共享。
在一个或者多个实施例中,用户密钥存储库126的一个或者多个密钥可以被配置为可由附加的用户身份读取,附加的用户身份是诸如所有其他用户身份、特定用户身份(例如,如由计算设备102的用户规定的)等等。这些不同用户身份可以是对应于不同用户或者相同用户的用户身份。因此,可以使得用户密钥存储库126中的数据保护公钥变成是其他用户身份可得到的。如果登录到计算设备124的用户期望将内容传送给具有特定用户身份的用户,则计算设备124可以从用户密钥存储库126获取该特定用户身份的数据保护公钥,使用获取的数据保护公钥来保护内容,并且将受保护的内容存储在云存储装置上。可以通过以下方式来保护内容,即通过利用特定用户身份的数据保护公钥来加密内容,或者通过利用该特定用户身份的数据保护公钥来加密文件加密密钥(其曾用于或者正用于加密内容)。明文内容因此可以仅由具有数据保护私钥的设备从受保护的内容中取回,并且受保护的内容可以经由云存储装置122或者其他不可信云存储装置或者通信信道被传送给计算设备102。
作为添加的安全性预防,可以在利用获取的数据保护公钥保护内容之前,执行对从用户密钥存储库126获取的数据保护公钥的离线验证。例如,如果利用用户身份a登录到计算设备124(1)的用户a期望将受保护的内容与利用用户身份b登录到计算设备102的用户b共享,则计算设备124(1)从用户密钥存储库126获取用户身份b的数据保护公钥。获取的这个数据保护公钥的标识(例如,从获取的数据保护公钥生成的哈希值)可以被显示或者以其他方式呈现给计算设备124(1)的用户a。此外,用户身份b的数据保护公钥的标识(例如,从数据保护公钥生成的哈希值)可以向计算设备102的用户b显示或者以其他方式呈现。数据保护公钥的这两个显示的(或者以其他方式呈现的)标识可以(例如,由任一用户或者两个用户)进行比较,以验证这些标识是相同的。如果两个标识是相同的,则用户a(和/或用户b)可以授权计算设备124(1)着手利用用户身份b的数据保护公钥来保护内容。然而,如果两个标识不相同,则用户a(和/或用户b)可以提供输入,向计算设备124(1)指示取消内容共享,并且不利用用户身份b的数据保护公钥来保护内容。如果两个标识不相同,则用户a(和/或用户b)可以假设发生了问题,另一设备正伪装成计算设备102(例如,使用中间人攻击)等等。
应该指出,数据保护私钥由内容保护系统104维护,并且不被泄露给云存储装置122。不存在对于存储有数据保护私钥的各种设备的集中式密钥管理设施(例如,云存储装置122不提供密钥第三方保管(escrow)服务或者相似的服务)。在一个或者多个实施例中,采取一个或者多个措施来提供对数据保护私钥的备份,从而允许在数据保护私钥不再从计算设备102可得到的情况下(例如,由于计算设备102出故障、计算设备102被丢失或者被窃等等)无缝地恢复数据保护私钥。
可以采取各种不同措施来保护数据保护私钥以用于恢复,诸如使用生物计量术来保护数据保护私钥、使用电话来保护数据保护私钥、使用秘密问题秘密答案(secret-question-secret-answer)技术来保护数据保护私钥、上述项的组合等等。可由图1的内容保护系统104(例如,密钥管理模块112)采取这些措施。
使用生物计量术来保护数据保护私钥指的是收集关于用户的生物计量数据,并且从生物计量数据中导出密钥。生物计量数据可以采取各种不同形式,诸如指纹数据、眼扫描(例如,视网膜扫描)数据、面部扫描(例如,面部识别)数据、话音数据等等。该生物计量数据可以使用各种各样的公有和/或专有技术中的任一项被转换成密钥,诸如基于来自生物计量数据的熵而导出密钥。从生物计量数据导出的密钥被用于加密数据保护私钥(例如,使用各种各样对称密钥密码术技术中的任一项)。加密的数据保护私钥然后可以被存储在计算设备102外部的位置处,包括云存储装置122。
如果数据保护私钥从计算设备102丢失(或者计算设备102不再可得到或者可使用),则数据保护私钥可以由用户取回。再次从用户获取生物计量数据,并且如果生物计量数据与加密数据保护私钥时所使用的相同,则从新获取的生物计量数据导出的密钥可以被用于解密数据保护私钥。
使用电话保护数据保护私钥指的是将数据保护私钥存储在用户的电话(例如,智能电话)上。虽然在本文中被讨论为电话,但是数据保护私钥可以可替换地被存储在用户信任的各种其他设备上。数据保护私钥可以以各种各样不同方式被传递到电话,包括由用户人工输入密钥(例如,数据保护私钥由计算设备102显示,并且用户人工地将密钥输入到他的或者她的电话中)。数据保护私钥可以可替换地以其他方式被传递到电话,诸如基于对由计算设备102进行的密钥显示或密钥表示的自动标识。例如,数据保护私钥可以由计算设备102显示,并且该显示由电话的相机捕获。可以可选地对所捕获的图像执行光学字符识别以确定密钥。作为另一示例,对数据保护私钥编码的快速响应(qr)码可以由计算设备102显示,并且由电话的相机捕获。数据保护私钥可以可替换地以各种其他有线或者无线方式被传递到电话,诸如使用usb连接、无线usb连接、红外通信、nfc(近场通信)等等。
如果数据保护私钥从计算设备102丢失(或者计算设备102不再可得到或者可使用),则数据保护私钥可以被从电话取回。可以使用类似于在将数据保护私钥存储在电话上时所讨论的那些技术的各种各样技术中的任一项,把密钥从电话提供给计算设备102(或者新的计算设备)。
使用秘密问题秘密答案技术保护数据保护私钥指的是收集对于一个或者多个问题的一个或者多个答案。问题可以采用各种形式,诸如关于用户过去的知识的问题、关于秘密信息的问题(例如,个人标识号(pin)或者由用户创建的口令)等等。答案被设计为预期只有用户知道的秘密答案。可以使用各种各样的公有和/或专有技术中的任一项(诸如单向哈希)把一个或者多个答案转换成密钥。从一个或者多个答案导出的密钥被用于加密数据保护私钥(例如,使用各种各样对称密钥密码术技术中的任一项)。加密的数据保护私钥然后可以被存储在计算设备102外部的位置处,包括云存储装置122。
如果数据保护私钥从计算设备102丢失(或者计算设备102不再可得到或者可使用),则数据保护私钥可以由用户取回。再次从用户获取一个或者多个答案,并且如果一个或者多个答案与当加密数据保护私钥时使用的一个或者多个答案相同,则从该一个或者多个答案导出的密钥可以被用于解密数据保护私钥。
这些不同措施(例如,生物计量术保护、电话保护、秘密问题秘密答案保护)中的单个措施可以被用来保护数据保护私钥,或者这些不同措施的组合可以被用来保护数据保护私钥。例如,可以既使用生物计量术保护也使用秘密问题秘密答案保护,这样只有在从用户获取的生物计量数据与当加密数据保护私钥时使用的相同并且从用户获取的对于一个或者多个问题的一个或者多个答案与当加密数据保护私钥时使用的一个或者多个答案相同时,才可以由该用户取回数据保护私钥。
在本文的讨论中,参考了由所有计算设备使用的单个数据保护公钥/私钥对。可替换地,可以使用多个数据保护公钥/私钥对,诸如针对每个计算设备的单独数据保护公钥/私钥对、针对一个或者多个计算设备中的每一个计算设备的多个数据保护公钥/私钥对等等。使用本文讨论的技术,把针对这多个数据保护公钥/私钥对中的每一对的数据保护私钥提供给其他计算设备。
还应该指出,虽然参考了一个云存储装置(例如,图1的云存储装置122),但是可替换地,可使用多个不同的云存储装置或者云服务,无论使用是并发地、顺序地还是甚至是临时地。例如,不同服务可以为了用户密钥存储库126的冗余性而要具有定为目标的每服务用户密钥存储库以使得与多个和/或不同用户安全地共享,可以出于在不同的云存储装置或者云服务上与用户共享的目的而将用户密钥存储库126临时地存储在不同的云存储装置或者云服务上等等。
在一个或多个实施例中,本文讨论的技术被使用于其中一个或多个计算设备通过被称为管理政策的政策来管理的各种环境(例如,公司或其他组织、家庭用途)中。通过这样的政策管理的计算设备也被称为被管设备,并且未通过这样的政策管理的设备也被称为非被管设备。管理政策标识要由被管设备采取的、通常牵涉到保护内容或对各种资源的访问的各种不同的设置、配置、动作等等。被管设备可以由单个实体来管理,或可替换地由多个实体来管理。例如,在顾问场景下,雇主可以向另一家公司出租用户,而雇主和该另一家公司都可以将管理政策应用于被管设备。作为另一个示例,用户可以带着他或她自己的设备以在工作中使用,并且用户和雇主都可以将管理政策应用于被管设备。
可以被采取的一个这样的动作是在计算设备上擦除内容,这指的是使内容在该计算设备上不可用。可以以不同的方式使内容在计算设备上不可用,诸如通过删除内容,通过删除用于解密内容的密钥等等。计算设备可以由于各种原因而接收到指示擦除计算设备上的内容的擦除命令,诸如该计算设备的用户不再被公司或组织雇用,计算设备已经被丢失或被窃,等等。擦除命令典型地由管理源启动,管理源是指负责规定或实施管理政策的实体。管理源可以是各种不同的实体,诸如系统管理员、控制器或管理设备、设备的用户、设备的所有者、移动运营商等等。
使用本文讨论的技术,可以使内容在多个不同的计算设备之间漫游,其中一些设备可以是被管设备,并且其中一些设备可以是非被管设备。被管设备被称为具有返回到管理源(例如,管理员或控制器)的直接通道,其允许被管设备直接从管理源接收擦除命令。然而,非被管设备被称为缺少(没有)返回到管理源的直接通道,因此非被管设备不能直接从管理源接收擦除命令。
如上所讨论的,擦除命令由管理源启动,并且由被管设备而不是非被管设备接收。然而,类似于受保护内容的漫游,擦除命令可以有利地被漫游到多个不同的计算设备。因此,擦除命令可以有利地被漫游到非被管设备,并且尽管非被管设备未通过管理政策管理,也可以响应于该擦除命令而使内容在该非被管设备上不可用。例如,用户可以提供输入去擦除个人智能电话,并且与智能电话同步数据、但不受移动运营商管理的设备(例如,未连接到管理智能手机的移动运营商或未与该移动运营商相关联的智能手表)也可以使用本文讨论的技术进行擦除。
图5是图示按照一个或多个实施例的、用于跨设备的漫游内容擦除动作的示例过程500的流程图。过程500由诸如图1的计算设备102或图2的计算设备202这样的计算设备来实行,并且可以在软件、固件、硬件或其组合中实现。过程500被示为一组动作,并且不限于所示出的用于执行各种动作的操作的顺序。过程500是用于跨设备的漫游内容擦除动作的示例过程;本文包括参考不同附图的、对跨设备的漫游内容擦除动作的附加讨论。
在过程500中,在被管设备处获取内容(动作502)。内容可以以各种各样不同的方式中的任何方式来获取,诸如通过在被管设备上创建、作为电子邮件附件被接收、从另一设备复制等等来获取。
内容被保护,使得可以基于密钥来取回内容(动作504)。可以对内容进行保护,使得可以以各种不同的方式基于密钥来取回内容。在一个或多个实施例中,如以上讨论的,使用文件加密密钥来加密内容(动作506),并且用数据保护公钥来加密文件加密密钥(动作508)。在这样的情况下,可以基于文件加密密钥以及数据保护私钥来取回内容。可替换地,不是使用文件加密密钥,而是如以上讨论的用数据保护公钥来加密内容(动作510)。在这样的情况下,可以基于数据保护私钥来取回内容。
不管用以保护内容的方式如何,可以基于其而取回受保护内容的密钥与被管设备的标识符相关联(动作512)。与被管设备的标识符相关联的这个密钥可以是文件加密密钥或数据保护私钥。通常,密钥与表示提供该密钥的设备的标识符相关联。如下面更详细讨论的,提供密钥的设备可以是生成该密钥的设备或者是另一个被管设备。这种关联可以以各种各样不同的方式来维护。例如,可以在密钥的元数据中标识设备,受保护的内容可以包括标识该密钥和该设备的元数据,内容保护系统可以维护将标识符与密钥相关联的列表或其他记录,等等。
受保护的内容和密钥被漫游到一个或多个另外的设备(动作514)。如以上讨论的,受保护的内容以及数据保护私钥可以被漫游到不同的计算设备,并且可以经由云存储装置或其他机制(例如,对等传递)来进行漫游。在密钥是文件加密密钥的情况下,类似于如以上讨论的数据保护私钥被漫游的方式,文件加密密钥可以被漫游到不同的计算设备,或者可替换地,文件加密密钥可以以其他方式(例如,由系统管理员)提供给计算设备。
在使受保护的内容和密钥漫游之后,接收管理方启动的擦除命令,并且使指示删除密钥的擦除命令漫游(动作516)。管理方启动的擦除命令可以是接收自如上讨论的管理源,诸如系统管理员、系统控制器或管理设备等。擦除命令可以以类似于如上讨论的经由云存储装置漫游内容的方式经由云存储装置被漫游。擦除命令可以由内容同步程序来漫游,或者可替换地由计算设备的内容保护系统来漫游。例如,在计算设备处接收的擦除命令可以由计算设备的内容保护系统复制到云存储装置,以供其他计算设备的内容保护系统取回。
附加地或可替换地,可以使用各种各样其他类型的通信信道或传递机制中的任一种来使擦除命令漫游。例如,可以通过特定服务器或对等机制或网络(诸如蓝牙、nfc、lan,蜂窝网络等)来传递擦除命令。作为另一个示例,可以通过不同类型的设备(诸如usb闪存驱动器)来传递擦除命令。
如以上讨论的,内容的取回所基于的密钥与一个或多个标识符相关联,每个标识符表示提供密钥的设备。当受保护的内容被漫游到不同的设备时,该标识符可以针对不同的设备而改变,或者可以将附加的标识符与受保护的内容相关联。
图6是图示按照一个或多个实施例的、用于当内容被跨设备地漫游时设置表示提供密钥的设备的标识符的示例过程600。过程600由诸如图1或图2的内容保护系统104这样的内容保护系统来实行,并且可以在软件、固件、硬件或其组合中实现。过程600被示为一组动作,并且不限于所示出的用于执行各种动作的操作的顺序。过程600是用于当内容被跨设备地漫游时设置表示提供密钥的设备的标识符的示例过程;本文包括参考不同附图的、对当内容被跨设备地漫游时设置表示提供密钥的设备的标识符的附加讨论。
在过程600中,从云存储装置接收漫游的受保护内容(动作602)。用于取回所接收到的受保护内容的密钥可以与特定设备相关联,或者可替换地与多个不同设备(所有这些设备都是被管设备)相关联。如以上讨论的,该密钥可以是文件加密密钥或数据保护私钥。
进程600基于接收受保护内容的计算设备是被管设备还是非被管设备而继续进行。如果接收受保护内容的计算设备是被管设备,则用于取回内容的密钥与该接收设备相关联(动作604)。应该指出,该关联可以包括加密某些内容或密钥。例如,如果密钥是数据保护私钥,则该关联可以包括用接收设备的数据保护公钥对文件加密密钥进行加密。
然而,如果接收受保护内容的计算设备是非被管设备,则用于取回内容的密钥被维持(leave)为与该特定一个或多个设备相关联(动作606)。因此,在动作606中,在没有将密钥与接收受保护内容的非被管设备相关联的情况下,保持密钥与该特定一个或多个设备的关联(密钥不与接收受保护内容的非被管设备相关联)。
通过密钥与被管设备的标识符的关联以及当内容漫游到非被管设备时保持该关联,创建了到非被管设备的用于密钥(和内容)的管理通道。管理通道是指可以经由其而向非被管设备提供擦除命令的指示的通道或机制。应该指出,可以有到同一个非被管设备的用于同一个密钥的多个管理通道。因此,尽管返回到管理源的直接通道对于非被管设备是不可得到的,但是存在到非被管设备的、可以经由其而向非被管设备提供擦除命令的管理通道。
在一个或多个实施例中,在动作604中,用于取回内容的密钥被转换成与接收设备相关联,并且与密钥相关联的该特定设备的标识被替换为接收设备的标识。可替换地,密钥可以与该特定设备和接收设备两者相关联。因此,密钥可以与多个设备相关联。为了避免不必要地在仍然存在管理通道(直接通道或其他管理通道)时潜在地删除密钥,密钥可以与多个设备,特别是具有返回到管理源的直接通道并且可以与非被管设备同步的那些设备相关联。例如,考虑非被管设备与另外两个被管设备处于同步关系的情况。如果擦除命令是特定于设备的,则只要被管设备仍然在与非被管设备同步,那么非被管设备就不需要删除该密钥,但是当从那个设备接收到擦除命令时,将只是删除对被擦除的设备的引用。当来自所有同步管理通道的所有引用都被删除时,则在非被管设备上的密钥也被删除。可替换地,擦除命令可以标识多个设备(可选地,不用特别地标识任何设备,比如使用“擦除全部”命令),在这种情形下,非被管设备确实删除密钥,而不管有多少(如果有的话)被管设备仍然是与该非被管设备同步的。
图7是图示按照一个或多个实施例的、用于根据漫游的擦除命令行动的示例过程700的流程图。过程700由诸如图1或图2的内容保护系统104这样的内容保护系统来实行,并且可以在软件、固件、硬件或其组合中实现。过程700被示为一组动作,并且不限于所示出的用于执行各种动作的操作的顺序。过程700是用于根据漫游的擦除命令行动的示例过程;本文包括参考不同附图的、对根据漫游的擦除命令行动的附加讨论。
在过程700中,接收指示删除与特定计算设备相关联的密钥的擦除命令(动作702)。接收到的擦除命令是漫游的擦除命令——该擦除命令是从与接收设备同步的另一设备接收的,而不是从管理源接收的。该密钥是用于取回所接收到的受保护内容的密钥,并且如以上讨论的可以是文件加密密钥或数据保护私钥。
过程700基于接收擦除命令的计算设备是被管设备还是非被管设备而继续进行。如果接收擦除命令的计算设备是被管设备,则不从该接收设备中删除密钥(动作704)。在一个或多个实施例中,即使可能已经接收到受保护内容、而该密钥被针对该受保护内容与该特定设备相关联,那个关联也在接收设备处被改变。因此,在接收设备处,密钥将不再与该特定设备相关联。可替换地,如果密钥与特定设备和接收设备相关联,则尽管因为密钥仍然与接收设备相关联所以未删除密钥,在动作704中也删除对该特定设备的引用或该特定设备的标识。
然而,如果接收擦除命令的计算设备是非被管设备,则删除与特定设备相关联的密钥(动作706)。因此,即使设备是未被管理的,擦除命令仍漫游到该非被管设备,并且密钥被删除。可替换地,可以只在与密钥相关联并且与该计算设备通信的所有特定设备都被擦除的情况下,在该非被管设备上删除密钥;如果仍有到该非被管设备的管理通道,则不删除密钥(除非接收到“全部擦除”命令)。
图8图示了按照一个或多个实施例的擦除内容的示例。假设受保护的内容被跨三个计算设备802、804和806漫游。计算设备802和804都通过相同的管理政策管理,并且计算设备806是未被管理的。还假设在计算设备802上创建受保护内容808,并且受保护内容808漫游到计算设备804和806。当创建受保护内容808时,内容的取回所基于的密钥810与计算设备802的标识符812相关联。当受保护内容808被漫游到计算设备804时,该受保护内容被存储为受保护内容814。因为计算设备804是被管设备,所以在计算设备804上改变密钥的关联,以及内容的取回所基于的密钥816与计算设备804的标识符818相关联。尽管在计算设备804上改变了关联,但是该改变并不改动计算设备802上的关联。当受保护内容808被漫游到计算设备806时,该受保护内容被存储为受保护内容820。因为计算设备806是非被管设备,所以密钥的关联不改变。因此,内容的取回所基于的密钥822与计算设备802的标识符824相关联。
响应于随后的指示删除与计算设备802相关联的密钥的擦除命令(由被管计算设备802或804之一从管理源接收,并且被漫游到非被管计算设备806,以及可选地被漫游到另一被管计算设备802或804),由计算设备802、804和806接收该擦除命令。与计算设备802的标识符812相关联的密钥810从计算设备802中被删除,并且与计算设备802的标识符824相关联的密钥822从计算设备806中被删除。然而,与计算设备804的标识符818相关联的密钥816保留在计算设备804上。因此,响应于擦除命令,受保护内容在计算设备802和806处不再可以被取回,因为计算设备802和806不再具有取回所基于的密钥。然而,在计算设备804处仍然可以取回受保护内容。应该指出,尽管受保护内容808和820可以保留在计算设备802和806上,但是在计算设备802和806处不能取回明文内容,因为计算设备802和806不再具有取回所基于的密钥。
图9图示了按照一个或多个实施例的擦除内容的另一示例。图9的示例类似于图8的示例,不过,在图8的示例中,受保护内容的取回所基于的密钥可以与多个计算设备的标识符相关联。假设受保护内容被跨三个计算设备902、904和906漫游。计算设备902和904都通过相同的管理政策管理,并且计算设备906是未被管理的。此外假设在计算设备902上创建受保护内容908,并且受保护内容908漫游到计算设备904和906,而且还假设受保护内容908在计算设备904上被修改(编辑),并且经修改的受保护内容被漫游到计算设备902和906。
当创建受保护内容908时,内容的取回所基于的密钥910与计算设备902的标识符912相关联。当受保护内容908被漫游到计算设备904时,该受保护内容被存储为受保护内容914。因为计算设备904是被管设备,所以密钥与计算设备902和计算设备904两者相关联,并且内容的取回所基于的密钥916与计算设备902的标识符918和计算设备904的标识符920相关联。当在计算设备904上修改受保护内容914时,经修改的受保护内容908被存储在计算设备902上。因为计算设备902是被管设备,所以密钥与计算设备902和计算设备904两者相关联,并且密钥910与计算设备902的标识符912以及计算设备904的标识符922相关联。
当受保护内容908被漫游到计算设备906时,该受保护内容被存储为受保护内容924。因为计算设备906是非被管设备,所以密钥的关联不改变。因此,内容的取回所基于的密钥926与计算设备902的标识符928和计算设备904的标识符930相关联。
响应于随后的指示删除与计算设备902相关联的密钥的擦除命令(例如,擦除计算设备902)(由被管计算设备902或904之一从管理源接收,并且被漫游到非被管计算设备906,以及可选地被漫游到另一个被管计算设备902或904),由计算设备902、904和906接收该擦除命令。在一个或多个实施例中,与计算设备902的标识符912相关联的密钥910从计算设备902中被删除,因为该命令是从计算设备902中删除该密钥。可替换地,可以从计算设备902中删除标识符912,而与计算设备904的标识符922相关联的密钥910可以保留在计算设备902上。
计算设备902的标识符918从计算设备904中被删除,但是密钥916和计算设备904的标识符920保留在计算设备904上。类似地,计算设备902的标识符928从计算设备906中被删除,但是密钥926和计算设备904的标识符930保留在计算设备906上。然而,如果该擦除命令是用来擦除所有设备的命令,或者要接收到用来删除与计算设备904相关联的密钥的另外的擦除命令(例如,擦除计算设备904),则将从计算设备904中删除密钥916和标识符920,并且将从计算设备906中删除密钥926和标识符930。
因此,正如从本文的讨论中可以看出的,当受保护内容被漫游到不同的设备时,用于取回受保护内容的密钥保持与生成该密钥的特定设备相关联,一直到受保护内容漫游到被管设备。这允许将擦除命令漫游到其他计算设备,以及删除非被管设备上的密钥而同时可以保留被管设备上的密钥。这有利地允许从一些设备(例如,已经被丢失或被窃的设备,或者从已经被丢失或被窃的设备获得了受保护内容的非被管设备)中删除密钥,而同时允许内容保留在(例如,没有丢失或被窃的)其他被管设备上,和/或允许内容保留在非被管设备上,直到从与非被管设备同步的所有相关联设备撤销该密钥为止。这还有利地允许将擦除命令漫游到另外的被管设备,导致在该另外的被管设备并没有从启动该擦除命令的服务器或控制器直接地接收到擦除命令的情况下,从该另外的被管设备中擦除密钥。
用于将密钥与设备相关联和使擦除命令漫游的这些技术有效地把对数据的管理扩展到非被管设备,从而允许从非被管设备中擦除数据。在一个或多个实施例中,这些技术对具有来自被管设备的最新近漫游事件的计算设备给予优先考虑。可替换地,可以在存在多个管理实体(例如,不同的管理政策)的情况下采用各种不同的管理冗余、优先化和冲突消解技术。这样的技术可以包括复制密钥并将复制的密钥与新的设备标识符相关联(例如,创建密钥/设备标识符对的列表),将多个管理通道或设备标签与单个密钥相关联,等等。
虽然在本文中参考特定模块讨论了特定功能性,但是应该指出,本文讨论的单个模块的功能性可以被分成多个模块,和/或多个模块的至少一些功能性可以被组合成单个模块。附加地,特定模块在本文中被讨论为执行动作包括:该特定模块自己执行动作或者可替换地该特定模块调用或者以其他方式访问执行该动作(或者与该特定模块协力执行该动作)的另一组件或者模块。因此,特定模块执行动作包括:该特定模块自己执行动作和/或由该特定模块调用或者以其他方式访问的另一模块执行动作。
图10概括地在1000处图示了包括示例计算设备1002的示例系统,示例计算设备1002代表可以实现本文中描述的各种技术的一个或多个系统和/或设备。计算设备1002可以例如是服务提供商的服务器、与客户端相关联的设备(例如,客户端设备)、片上系统和/或任何其他合适的计算设备或者计算系统。
所图示的示例计算设备1002包括彼此通信地耦合的处理系统1004、一个或多个计算机可读介质1006和一个或多个i/o接口1008。尽管未被示出,但计算设备1002可以进一步包括将各种组件彼此耦合的系统总线或者其他数据和命令传递系统。系统总线可以包括不同总线结构中的任何一个或者组合,诸如存储器总线或者存储器控制器、外围总线、通用串行总线和/或使用各种各样总线架构中的任一种总线架构的处理器或者本地总线。还设想了各种各样的其他示例,诸如控制和数据线。
处理系统1004代表使用硬件执行一个或多个操作的功能性。相应地,处理系统1004被图示为包括可以被配置为处理器、功能块等的硬件元件1010。这可以包括在硬件中实现为专用集成电路或者使用一个或多个半导体形成的其他逻辑器件。硬件元件1010不受形成它们的材料或者其中采用的处理机制的限制。例如,处理器可以由(一个或者多个)半导体和/或晶体管(例如,电子集成电路(ic))组成。在这样的上下文中,处理器可执行指令可以是电子地可执行的指令。
计算机可读介质1006被图示为包括存储器/存储装置1012。存储器/存储装置1012表示与一个或多个计算机可读介质相关联的存储器/存储装置容量。存储器/存储装置1012可以包括易失性介质(诸如随机存取存储器(ram))和/或非易失性介质(诸如只读存储器(rom)、闪存、光盘、磁盘等)。存储器/存储装置1012可以包括固定介质(例如,ram、rom、固定硬驱动器等)以及可拆卸介质(例如,闪存、可拆卸硬驱动器、光盘等)。可以以各种各样其他方式来配置计算机可读介质1006,如下面进一步描述的。
一个或者多个输入/输出接口1008代表允许用户使用各种输入/输出设备向计算设备1002输入命令和信息以及还允许将信息呈现给用户和/或其他组件或者设备的功能性。输入设备的示例包括键盘、光标控制设备(例如,鼠标)、麦克风(例如,用于话音输入)、扫描仪、触摸功能性(例如,被配置来检测物理触摸的电容式或者其他传感器)、相机(例如,其可以采用可见波长或不可见波长——诸如红外频率——来将不涉及触摸的移动检测为手势)等。输出设备的示例包括显示设备(例如,监视器或者投影仪)、扬声器、打印机、网卡、触觉响应设备等。因此,可以以如下面进一步描述的各种各样的方式将计算设备1002配置为支持用户交互。
计算设备1002还包括内容保护系统1014。内容保护系统1014提供内容的各种保护,其包括如以上讨论的密钥。内容保护系统1014可以实现例如图1或者图2的内容保护系统104。
在本文中,可以在软件、硬件元件或者程序模块的一般上下文中描述各种技术。一般性地,这样的模块包括执行特定任务或者实现特定抽象数据类型的例程、程序、对象、元件、组件、数据结构等。当在本文中使用时,术语“模块”、“功能性”和“组件”通常表示软件、固件、硬件或者其组合。本文描述的技术的特征是与平台无关的,这意味着这些技术可以被实施在具有各种各样处理器的各种各样计算平台上。
所描述的模块和技术的实现可以被存储在某种形式的计算机可读介质上、或者跨某种形式的计算机可读介质来被传输。计算机可读介质可以包括能被计算设备1002访问的各种各样的介质。作为示例而非限制,计算机可读介质可以包括“计算机可读存储介质”和“计算机可读信号介质”。
与仅仅信号传输、载波或者信号本身相反,“计算机可读存储介质”指的是使得能够永久存储信息的介质和/或设备和/或有形的存储装置。因此,计算机可读存储介质指的是非信号承载介质。计算机可读存储介质包括以适合于存储信息(诸如计算机可读指令、数据结构、程序模块、逻辑元件/电路或者其他数据)的方法或者技术实现的硬件,诸如易失性和非易失性、可拆卸和非可拆卸介质和/或存储设备。计算机可读存储介质的示例可以包括但不限于ram、rom、eeprom、闪存或者其他存储器技术、cd-rom、数字多功能光盘(dvd)或者其他光学存储装置、硬盘、盒式磁带、磁带、磁盘存储装置或者其他磁存储设备、或者其他适合于存储期望的信息并且可以被计算机访问的存储设备、有形介质或者制品。
“计算机可读信号介质”指的是被配置为诸如经由网络向计算设备1002的硬件传输指令的信号承载介质。信号介质通常可以将计算机可读指令、数据结构、程序模块或者其他数据具体化在诸如载波、数据信号或者其他传输机制之类的经调制的数据信号中。信号介质还包括任何信息递送介质。术语“经调制的数据信号”意指使其特性中的一个或多个以在信号中编码信息这样的方式来设置或改变的信号。作为示例而非限制,通信介质包括有线介质和无线介质,有线介质诸如是有线网络或者直接连线的连接,而无线介质诸如是声学、rf、红外和其他无线介质。
如之前描述的,硬件元件1010和计算机可读介质1006代表可以在一些实施例中被采用来实现本文中描述的技术的至少一些方面的、以硬件形式实现的指令、模块、可编程设备逻辑和/或固定设备逻辑。硬件元件可以包括以下组件:集成电路或者片上系统、专用集成电路(asic)、现场可编程门阵列(fpga)、复杂可编程逻辑器件(cpld)以及在硅或者其他硬件设备中的其他实现。在这个上下文中,硬件元件可以作为处理设备来运行,该处理设备执行由指令、模块和/或逻辑定义的程序任务,该指令、模块和/或逻辑由该硬件元件以及被使用来存储指令以供执行的硬件设备(例如之前描述的计算机可读存储介质)来具体化。
前述项的组合也可以被采用来实现本文中描述的各种技术和模块。相应地,软件、硬件或者程序模块和其他程序模块可以被实现为在某种形式的计算机可读存储介质上具体化的和/或通过一个或多个硬件元件1010具体化的一个或多个指令和/或逻辑。计算设备1002可以被配置为实现与软件和/或硬件模块相对应的特定指令和/或功能。相应地,将模块实现为可由计算设备1002作为软件来执行的模块是可以至少部分地用硬件——例如通过使用处理系统的计算机可读存储介质和/或硬件元件1010——来达成的。指令和/或功能可以是可被一个或多个制品(例如,一个或多个计算设备1002和/或处理系统1004)执行/操作来实现本文中描述的技术、模块和示例的。
如在图10中进一步图示的,示例系统1000使得当在个人计算机(pc)、电视设备和/或移动设备上运行应用时能够实现用于无缝用户体验的普适环境。当在使用应用、玩视频游戏、观看视频等时从一个设备转换到下一个设备的情况下,服务和应用在所有三个环境中基本类似地运行以有利于共同的用户体验。
在示例系统1000中,通过中央计算设备将多个设备互连。中央计算设备可以对于该多个设备来说是本地的,或者可以被定位为远离该多个设备。在一个或者多个实施例中,中央计算设备可以是通过网络、互联网或者其他数据通信链路连接到该多个设备的一个或多个服务器计算机的云。
在一个或多个实施例中,这种互连架构使得功能性能够跨多个设备被递送,以向多个设备的用户提供共同和无缝的体验。多个设备中的每个设备可以具有不同的物理要求和能力,并且中央计算设备使用平台来使得能够向设备递送既是针对该设备定制又是对于全部设备共同的体验。在一个或者多个实施例中,创建目标设备的类,并且为通用类的设备定制体验。设备的类可以按照设备的物理特征、用途类型或者其他共同特性来定义。
在各种实现中,计算设备1002可以诸如针对计算机1016、移动装置1018和电视机1020用途而采取各种各样的不同配置。这些配置中的每种配置包括可具有大体上不同的构造和能力的设备,并且因此可以按照不同设备类中的一个或多个类来对计算设备1002进行配置。例如,计算设备1002可以被实现为计算机1016类的设备,包括个人计算机、台式计算机、多屏幕计算机、膝上型计算机、上网本等。
计算设备1002还可以被实现为移动装置1018类的设备,包括诸如移动电话、便携式音乐播放器、便携式游戏设备、平板计算机、多屏幕计算机等之类的移动设备。计算设备1002还可以被实现为电视机1020类的设备,包括在休闲观看环境中的具有或者连接到通常较大屏幕的设备。这些设备包括电视机、机顶盒、游戏控制台等。
本文中描述的技术可以被计算设备1002的这各种配置支持,并且不限于本文中描述的技术的具体示例。此功能性也可以通过使用分布式系统,诸如经由如下所述的平台1024通过云1022,来全部或部分地实现。
云1022包括和/或代表用于资源1026的平台1024。平台1024对云1022的硬件(例如,服务器)和软件资源的底层功能性进行抽象。资源1026可以包括当在远离计算设备1002的服务器上执行计算机处理时可以被使用的应用和/或数据。资源1026还可以包括通过互联网和/或通过订户网络(诸如蜂窝或者wi-fi网络)提供的服务。
平台1024可以对用于将计算设备1002与其他计算设备连接的资源和功能进行抽象。平台1024还可以用来对资源的约略估计(scaling)进行抽象,以便向遇到的对于经由平台1024实现的资源1026的需求提供对应的规模水平。因此,在互连设备实施例中,本文中描述的功能性的实现可以被分布在系统1000的各处。例如,该功能性可以部分地在计算设备1002上、以及经由对云1022的功能性进行抽象的平台1024来实现。
在本文的讨论中,描述了各种不同的实施例。要领会和理解的是,本文描述的每个实施例可以独自地使用,或者结合本文描述的一个或者多个其他实施例使用。本文讨论的任何设备、方法等可以与本文讨论的任何其他设备、方法等相结合地使用。本文讨论的技术的更多方面涉及以下实施例中的一个或者多个。
在第一计算设备中实现的方法,所述方法包括:从第二计算设备接收基于密钥而保护的内容,所述内容已被加密,并且所述密钥与正通过管理政策管理的第三计算设备相关联;以及确定第一计算设备是否正通过该管理政策管理,其中:响应于确定第一计算设备正通过该管理政策管理,所述方法还包括将所述密钥与第一计算设备相关联;并且响应于确定第一计算设备未通过该管理政策管理,所述方法还包括维护所述密钥与第三计算设备的关联。
可替换地或者附加于以上描述的方法,有以下任何一项或者组合:所述接收包括经由云存储装置从第二计算设备接收受保护的内容;第一计算设备、第二计算设备和第三计算设备是三个单独的计算设备;所述密钥包括文件加密密钥,并且所述内容已经被使用该文件加密密钥进行加密;所述密钥包括数据保护公钥/私钥对中的数据保护私钥,所述内容已经被使用文件加密密钥进行加密,并且所述文件加密密钥已经被使用所述数据保护公钥/私钥对中的数据保护公钥进行加密;所述方法还包括:接收指示用来删除与第三计算设备相关联的密钥的命令的擦除命令,以及在第一计算设备处并且是响应于第一计算设备未通过管理政策管理,而删除与第三计算设备相关联的密钥;所述方法还包括:接收指示用来删除与第三计算设备相关联的密钥的命令的擦除命令,以及在所述第一计算设备处并且是响应于第一计算设备未通过管理政策管理和所述密钥在第一计算设备处与多个计算设备相关联,而删除第三计算设备与所述密钥的关联的指示,但不从第一计算设备处删除所述密钥。
第一计算设备包括:内容同步程序,其被配置成从第二计算设备接收基于密钥而保护的内容,所述内容已经被加密,并且所述密钥与正通过管理政策管理的第三计算设备相关联;以及密钥管理模块,其被配置成确定第一计算设备是否正通过管理政策管理,其中:响应于确定第一计算设备正通过管理政策管理,密钥管理模块被进一步配置成将所述密钥与第一计算设备相关联;并且响应于确定第一计算设备未通过管理政策管理,密钥管理模块被进一步配置成在没有将所述密钥与第一计算设备相关联的情况下保持所述密钥与第三计算设备的关联。
可替换地或者附加于以上描述的计算设备,有以下任何一项或者组合:内容同步程序被进一步配置成经由云服务从第二计算设备接收受保护的内容;第一计算设备、第二计算设备和第三计算设备是三个单独的计算设备;所述密钥包括文件加密密钥,并且所述内容已经被使用该文件加密密钥进行加密;所述密钥包括数据保护公钥/私钥对中的数据保护私钥,所述内容已经被使用文件加密密钥进行加密,并且所述文件加密密钥已经被使用所述数据保护公钥/私钥对中的数据保护公钥进行加密;所述密钥管理模块被进一步配置为:接收指示用来删除与第三计算设备相关联的密钥的命令的擦除命令,响应于第一计算设备未通过管理政策管理,而确定所述密钥是否在所述第一计算设备上与多个计算设备相关联,在第一计算设备处并且是响应于第一计算设备未通过管理政策管理和所述密钥仅与第三计算设备相关联,而删除与第三计算设备相关联的所述密钥,以及在第一计算设备处并且是响应于第一计算设备未通过管理政策管理和所述密钥与多个计算设备相关联,而删除第三计算设备的标识符,但是使所述密钥保持为与所述多个计算设备中的至少一个另外的计算设备相关联;密钥管理模块被进一步配置成从第二计算设备接收擦除命令。
在第一计算设备中实现的方法,所述方法包括:在第一计算设备处获取内容,所述第一计算设备通过管理政策管理;保护所述内容,使得该内容被配置成基于密钥来取回,所述保护包括对内容进行加密;将所述密钥与第一计算设备的标识符相关联;将加密的内容和密钥漫游到第二计算设备,第二计算设备是未通过管理政策管理的非被管设备;以及随后响应于接收到管理方启动的擦除命令,向第二计算设备传送向第二计算设备指示删除所述密钥的擦除命令。
可替换地或者附加于以上描述的方法中的任何一种或多种,有以下任何一项或者组合:所述密钥包括文件加密密钥,以及所述保护包括用该文件加密密钥对内容进行加密;所述密钥包括数据保护公钥/私钥对中的数据保护私钥,所述保护包括用文件加密密钥对内容进行加密,并且用所述数据保护公钥/私钥对中的数据保护公钥对该文件加密密钥进行加密;所述方法还包括:从正通过管理政策管理的第三计算设备接收基于与第三计算设备相关联的密钥而保护的内容,所述内容已被加密,响应于确定第一计算设备正通过管理政策管理,该方法还包括将所述密钥与第三计算设备以及与第一计算设备相关联,并且响应于确定第一计算设备未通过管理政策管理,该方法还包括在没有将所述密钥与第一计算设备相关联的情况下保持所述密钥与第三计算设备的关联;所述漫游包括经由云服务或对等通信将该加密的内容和密钥漫游到第二计算设备;所述传送包括经由云服务将擦除命令传送到第二计算设备。
虽然本主题以特定于结构特征和/或方法动作的语言被描述,但是要理解,在所附权利要求中限定的本主题不是必然地限于以上描述的特定特征或者动作。而是,以上描述的特定特征和动作是作为实现权利要求的示例形式被公开的。