用于漫游的受保护内容的安全密钥管理的制作方法

文档序号:12071752阅读:246来源:国知局
用于漫游的受保护内容的安全密钥管理的制作方法与工艺

随着计算技术的进步,许多不同类型的计算设备变得常见。用户时常具有多种不同的计算设备,诸如膝上型或者台式计算机、平板设备、智能电话等等。联网服务或者云服务可以用来允许用户跨这多个设备共享数据,从而给予用户对于来自他们的多个设备中任何设备的数据的访问。然而,将数据提供给这样的服务可能对于用户而言是令人烦恼的,因为这可以导致用户原想保持为私有的他或者她的数据变成对于服务提供商或者其他实体(例如,非法侵入或者以其他方式损害服务的恶意用户)来说是可得到的。



技术实现要素:

本概要被提供来以简化形式介绍概念的选择,这些概念在下面在详细描述中被进一步说明。本概要既不打算标识所要求保护的主题的关键特征或必要特征,也不打算被用来限制所要求保护的主题的范围。

按照一个或者多个方面,在第一计算设备中,使用对应于第一计算设备的用户身份的数据保护公钥/私钥对中的数据保护公钥来保护内容。受保护的内容被复制到云存储装置,并且获取第二计算设备的公钥/私钥对中的公钥,第一和第二计算设备与相同的用户身份相关联。使用第二计算设备的公钥对数据保护私钥进行加密,并把加密的数据保护私钥提供给第二计算设备。

附图说明

参考附图来说明该详细描述。在附图中,参考标号最左边的(一个或者多个)数字标识了该参考标号首次出现的附图。在说明书和附图中的不同实例中使用相同的参考标号可以指示相似或者相同的项。在附图中表示的实体可以指示一个或者多个实体,并且因此可以可互换地参考讨论中的实体的单数或者复数形式。

图1图示了按照一个或者多个实施例的、实现本文讨论的技术的示例系统。

图2图示了按照一个或者多个实施例的、实现本文讨论的技术的另一示例计算设备。

图3是图示了按照一个或者多个实施例的、用于实现针对漫游的受保护内容的安全密钥管理的示例过程的流程图。

图4图示了按照一个或者多个实施例的、在其中内容是漫游的并且数据保护私钥是共享的示例系统。

图5图示了包括示例计算设备的示例系统,所述示例计算设备代表可实现本文描述的各种技术的一个或者多个系统和/或设备。

具体实施方式

本文讨论了用于漫游的(roaming)受保护的内容的安全密钥管理。设备的用户在使用该设备时具有特定身份(例如,用户账户)。基于对应于特定身份且通过特定身份被保护的数据保护密钥对设备上的内容进行加密和保护。可以使用数据保护密钥对内容进行加密,或者可以使用数据保护密钥来对用于加密该内容的一个或者多个其他密钥加密。受保护的内容然后可以被复制到云存储装置,并且受保护的内容可以从云存储装置传递到用户的设备中的各种其他设备,这也被称为使内容漫游。

作为保护的一部分,内容被加密,并且用于解密该内容的密钥被用户的设备维护。云存储装置不能访问用于解密该内容的密钥,并且因此不能访问明文(未加密)内容。

然而,用于解密内容的密钥可以被传送给用户的设备中的其他设备。为了将用于解密内容的密钥传递到用户的设备中的另一个设备(目标设备),利用目标设备的密钥来保护(例如,加密)该用于解密内容的密钥。这种保护允许目标设备取回该密钥(例如,解密该密钥),但是阻止其他设备访问该密钥。由于保护的缘故,受保护的密钥可以经由云存储装置以及任何去往或来自云存储装置的通信信道——包括不可信的云存储装置和不可信的通信信道——被传送给目标设备。

本文讨论的技术通过允许用户内容尽管存储在不可信云存储装置上或者经由不可信通信信道传递但仍然是受保护的,从而有利地改进了计算设备的可用性和安全性。本文讨论的技术进一步通过允许用户在其设备中的多个设备上访问其明文内容并同时保护明文内容免于被不可信云存储装置、不可信通信信道或者其他用户访问,而有利地改进了计算设备的可用性和安全性。

在本文中参考加密和解密内容,其可以使用对称密钥密码术或者公钥密码术来执行。虽然这样的密钥密码术对本领域技术人员是熟知的,但为了帮助读者,而在此包括了对这样的密码术的简要概述。在公钥密码术中,实体(诸如用户、硬件或者软件组件、设备、域等等)具有与其相关联的公钥/私钥对。公钥可以变成公开地可得到的,但是实体将私钥保持为秘密。可以使用私钥来对数据进行解密,但是没有私钥的话,在计算上很难对使用公钥加密的数据进行解密。所以,数据可以由任何实体利用公钥加密,并且仅可以由某个实体利用对应的私钥解密。

在对称密钥密码术中,在另一方面,共享密钥(也被称为对称密钥)被两个实体所知,并且由这两个实体保持为秘密的。具有共享密钥的任一实体通常能够使用该共享密钥加密数据,以及解密使用该共享密钥加密的数据。没有共享密钥的话,在计算上很难对利用共享密钥加密的数据进行解密。所以,如果两个实体都知道共享密钥,则每个实体均可以对数据进行加密,该数据能由另一方解密,但是其他实体不能解密该数据(如果这些其他实体不知道共享密钥的话)。相似地,具有共享密钥的实体可以对数据进行加密,该数据可由该相同实体解密,但是其他实体不能解密该数据(如果这些其他实体不知道共享密钥的话)。

图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)下一代证书(Next Generation Credential)中、将设备私钥封入(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)之一的公钥、和数据保护公钥。这些密钥被用于保护内容,与此同时允许用户从多个设备访问该内容,如以下更详细讨论的。

图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提供给云存储装置112,并且从云存储装置112复制到计算设备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处图示了包括示例计算设备502的示例系统,示例计算设备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或者图2的内容保护系统104。

在本文中,可以在软件、硬件元件或者程序模块的一般上下文中描述各种技术。一般性地,这样的模块包括执行特定任务或者实现特定抽象数据类型的例程、程序、对象、元件、组件、数据结构等。当在本文中使用时,术语“模块”、“功能性”和“组件”通常表示软件、固件、硬件或者其组合。本文描述的技术的特征是与平台无关的,这意味着这些技术可以被实施在具有各种各样处理器的各种各样计算平台上。

所描述的模块和技术的实现可以被存储在某种形式的计算机可读介质上、或者跨某种形式的计算机可读介质来被传输。计算机可读介质可以包括能被计算设备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还可以用来对资源的衡量(scaling)进行抽象,以便向遇到的对于经由平台524实现的资源526的需求提供对应的规模水平。因此,在互连设备实施例中,本文中描述的功能性的实现可以被分布在系统500的各处。例如,该功能性可以部分地在计算设备502上、以及经由对云522的功能性进行抽象的平台524来实现。

在本文的讨论中,描述了各种不同的实施例。要领会和理解的是,本文描述的每个实施例可以独自地使用,或者结合本文描述的一个或者多个其他实施例使用。本文讨论的技术的更多方面涉及以下实施例中的一个或者多个。

在第一计算设备中实现的方法包括:使用对应于第一计算设备的用户的身份的数据保护公钥/私钥对中的数据保护公钥来保护内容;将受保护的内容复制到云存储装置;获取第二计算设备的公钥/私钥对中的公钥,第一和第二计算设备与相同的用户身份相关联;使用第二计算设备的公钥来加密数据保护私钥;以及将加密的数据保护私钥提供给第二计算设备。

可替换地或者附加于以上描述的方法,有以下任何一项或者组合:所述提供包括经由可拆卸驱动器将加密的数据保护私钥提供给第二计算设备;所述保护内容包括利用文件加密密钥来加密内容,以及利用数据保护公钥来加密文件加密密钥;所述保护内容包括利用数据保护公钥来加密内容;所述提供包括将加密的数据保护私钥存储到云存储装置;所述云存储装置是不可信云存储装置,其不被依赖来将受保护的内容或者经加密的数据保护私钥保持为安全的;从云存储装置接收附加的受保护的数据,所述附加的受保护的数据已经由第三计算设备使用数据保护公钥予以保护,以及将附加的受保护的数据存储在第一计算设备的内容存储库中;显示对于用户同意将数据保护私钥传递到第二计算设备的提示,以及仅响应于指示同意传递的用户输入而执行所述加密和提供;所述显示对于用户同意的提示包括在第一计算设备处显示第二计算设备的标识;保护数据保护私钥以用于恢复,以及响应于数据保护私钥不再从第一计算设备可得到而恢复所述数据保护私钥;所述保护进一步包括基于用户的生物计量数据和来自秘密问题秘密答案技术的答案这两者或其中之一来加密数据保护私钥,以及将加密的数据保护私钥存储到云存储装置。

第一计算设备包括:加密模块,其被配置成通过使用对应于第一计算设备的用户的身份的数据保护公钥/私钥对中的数据保护公钥来加密内容或者加密用于加密内容的文件加密密钥而保护所述内容;一个或者多个程序,其被配置成将受保护的内容复制到云存储装置;以及密钥传递模块,其被配置成:获取第二计算设备的公钥/私钥对中的公钥,第一和第二计算设备与云存储装置上的相同用户身份相关联;使用第二计算设备的公钥来促进加密模块加密该数据保护私钥;以及将加密的数据保护私钥提供给第二计算设备。

可替换地或者附加于以上描述的计算设备,有以下任何一项或者组合:所述云存储装置包括数据保护私钥被相对其进行保护的云服务;所述密钥传递模块被进一步配置成显示对于用户同意将数据保护私钥传递到第二计算设备的提示,以及仅响应于指示同意传递的用户输入而促进加密模块对数据保护私钥进行加密并且将加密的数据保护私钥提供给第二计算设备;所述密钥传递模块被进一步配置成使用用户的生物计量数据来保护数据保护私钥以用于恢复,以及随后响应于数据保护私钥不再从第一计算设备可得到而使用新获取的用户的生物计量数据来恢复数据保护私钥;显示QR码,其对数据保护私钥编码以用于由用户电话的相机捕获。

一种在其上存储有多个指令的计算机可读存储介质,所述指令响应于由计算设备的一个或者多个处理器执行而使该一个或多个处理器执行操作,所述操作包括:通过使用对应于计算设备的用户身份的数据保护公钥/私钥对中的数据保护公钥来加密文件加密密钥而保护内容,所述内容被使用文件加密密钥进行加密;将受保护的内容复制到云存储装置;获取附加计算设备的公钥/私钥对中的公钥,计算设备和附加计算设备两者都为了由另一方存储到云存储装置的受保护的内容而访问云存储装置;使用附加计算设备的公钥来加密数据保护私钥;以及将加密的数据保护私钥提供给附加计算设备。

可替换地或者附加于以上描述的计算机可读存储介质,有以下任何一项或者组合:所述提供包括将加密的数据保护私钥存储到云存储装置;所述云存储装置是不可信云存储装置,其不被依赖来将受保护的内容或者经加密的数据保护私钥保持为安全的;保护数据保护私钥以用于恢复,以及响应于数据保护私钥不再从计算设备可得到而恢复所述数据保护私钥。

第一计算设备包括:用于使用对应于第一计算设备的用户身份的数据保护公钥/私钥对中的数据保护公钥来保护内容的装置;用于将受保护的内容复制到云存储装置的装置;用于获取第二计算设备的公钥/私钥对中的公钥的装置,第一和第二计算设备与相同的用户身份相关联;用于使用第二计算设备的公钥来加密数据保护私钥的装置;以及用于将加密的数据保护私钥提供给第二计算设备的装置。

可替换地或者附加于以上描述的方法,有以下任何一项或者组合:用于提供的装置包括用于经由可拆卸驱动器将加密的数据保护私钥提供给第二计算设备的装置;用于保护内容的装置包括用于利用文件加密密钥来加密内容的装置,以及用于利用数据保护公钥来加密文件加密密钥的装置;用于保护内容的装置包括用于利用数据保护公钥来加密内容的装置;用于提供的装置包括用于将加密的数据保护私钥存储到云存储装置的装置;所述云存储装置是不可信云存储装置,其不被依赖来将受保护的内容或者经加密的数据保护私钥保持为安全的;用于从云存储装置接收附加的受保护的数据的装置,所述附加的受保护的数据已经由第三计算设备使用数据保护公钥予以保护,以及用于将附加的受保护的数据存储在第一计算设备的内容存储库中的装置;用于显示对于用户同意将数据保护私钥传递到第二计算设备的提示的装置,以及用于仅响应于指示同意传递的用户输入而执行所述加密和提供的装置;用于显示对于用户同意的提示的装置包括用于在第一计算设备处显示第二计算设备的标识的装置;用于保护数据保护私钥以用于恢复的装置,以及用于响应于数据保护私钥不再从第一计算设备可得到而恢复所述数据保护私钥的装置;用于保护的装置进一步包括用于基于用户的生物计量数据和来自秘密问题秘密答案技术的答案这两者或其中之一来加密数据保护私钥的装置,以及用于将加密的数据保护私钥存储到云存储装置的装置。

虽然本主题以特定于结构特征和/或方法动作的语言被描述,但是要理解,在所附权利要求中限定的本主题不是必然地限于以上描述的特定特征或者动作。而是,以上描述的特定特征和动作是作为实现权利要求的示例形式被公开的。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1