云托管系统中的强资源身份的制作方法

文档序号:18516671发布日期:2019-08-24 09:30阅读:159来源:国知局
云托管系统中的强资源身份的制作方法

传统的标识系统为资源分配标识符。通常,资源标识符采用字母数字名称或数字标识符的形式。最初开发标识系统是为了标识存储在个人计算机上的资源,这些计算机当时不能够存储大量数据。此外,标准标识系统是在大多数设备经由大型网络(例如互联网)互连之前形成的。因此,简单的命名约定足以标识存储在设备上的有限数量的资源。

针对这些以及其它一般考虑来做出本文所公开的各方面。此外,尽管讨论了相对具体的问题,但应该理解,各示例不应该限于解决本公开内容中背景或其它地方所标识的具体问题。



技术实现要素:

本公开内容的各方面涉及用于提供强资源标识的系统和方法。当创建或保存资源时,可以生成加密密钥对并将其与资源相关联。加密密钥对的公钥可以用作唯一标识符。关于资源的信息(例如资源的名称及其存储位置)可以基于资源的公钥而存储在索引中。与其它设备共享资源可以包括向一个或多个接收方设备发送资源的密钥,而不是关于资源的存储位置的信息,例如url。当访问资源时,可以生成包括资源的公钥的请求。资源主机可以使用公钥根据索引来查找关于资源的存储信息。使用该存储信息,可以检索资源并将其提供给请求方。

另外,本文所公开的各方面允许使用强标识符来执行信任和验证操作。被生成作为资源的标识符的加密密钥对允许创建可以与资源相关联的证书和/或数字签名,请求方在收到这些证书和/或数字签名时可以用于验证资源。

提供本发明内容以用简化形式引入一些概念,这些概念以下在详细描述中进一步描述。本发明内容并非旨在标识所要求保护的主题内容的关键特征或必要特征,也并非旨在用于限制所要求保护的主题内容的范围。各示例的另外方面、特征和/或优点将部分地在下面的描述中阐述,并且部分地通过该描述将是显而易见的,或者可以通过实践本公开内容习得。

附图说明

参考以下附图描述了非限制性和非详尽示例。

图1示出了能够利用强资源标识的示例性系统的概述。

图2示出了用于管理资源标识符和对应关系的孤立集合的示例性系统的概述。

图3a示出了示例性孤立集合的概述。

图3b-图3e示出了可以用于遍历孤立集合的示例性查询模型。

图4a示出了使用强资源标识的孤立集合的概述。

图4b示出了示例性资源索引450。

图5示出了使用公钥来对资源进行索引的示例性方法的概述。

图6示出了使用公钥来检索资源的示例性方法的概述。

图7示出了使用公钥来请求资源的示例性方法的概述。

图8是示出了计算设备的示例性物理组件的框图,利用该计算设备可以实践本公开内容的各方面。

图9a和图9b是可以实践本公开内容的各方面的移动计算设备的简化框图。

图10是可以实践本公开内容的各方面的分布式计算系统的简化框图。

图11示出了用于执行本公开内容的一个或多个方面的平板计算设备。

具体实施方式

下面参考附图更充分地描述了本公开内容的各个方面,这些附图形成本公开内容的一部分并且示出了特定的示例性方面。然而,本公开内容的不同方面可以用许多不同的形式来实现,并且不应该限制于本文所阐述的各方面;相反,提供这些方面以使得本公开内容将是透彻的并且完整的,并将向本领域技术人员充分地传达各方面的范围。各方面可以实现为方法、系统或设备。因此,各方面可以采用硬件实现方式、或者完全软件实现方式、或者组合软件和硬件方面的实现方式的形式。因此,以下详细描述不应被视为具有限制意义。

本公开内容的各方面涉及为资源提供强身份以便帮助资源发现,即,使得请求方能够在计算系统或网络上寻找和访问资源。类似地,本文所公开的强标识符可以用于确认资源的真实性,即,检索到的资源确实是期望的资源。本文所公开的强标识符方面可以应用于任何类型的资源,例如,文件、应用、网页、电子文档、电子表格、图像、视频、音频文件或由计算系统创建和维护的任何其它类型的数据结构。使用加密密钥来标识资源,而不是使用传统标识符。因此,可以通过与期望的接收方共享与资源相关联的公钥来共享资源。在一些方面中,可以使用公钥的表示(例如公钥的散列/指纹/其它简写形式),而不是发送公钥本身。

传统的标识系统为资源分配标识符。通常,资源标识符采用字母数字名称或数字标识符的形式。最初开发标识系统是为了标识存储在个人计算机上的资源,这些计算机当时不能存储大量数据。此外,标准标识系统是在大多数设备经由大型网络(例如互联网)互连之前形成的。因此,简单的命名约定足以标识存储在设备上的有限数量的资源。然而,在大型联网环境(例如云托管系统)中,简单的命名约定使得请求方(例如,应用或用户)难以容易地发现资源。举例而言,由于许多资源可以共享相同的标识符,因此在大型系统中难以通过字母数字或数字标识符来搜索资源。例如,在分布式网络上可能有共享相似名称(例如,“work.docx”)的数百个文档。

已经提供了各种解决方案来解决消歧问题,例如提供使用统一资源定位符(url)的资源的文件路径。在传统系统中,当资源与接收方共享时,到资源的文件路径或链接被提供给接收方。随后接收方能够经由链接或者通过使用文件路径信息导航到资源来访问资源。然而,文件路径和链接具有许多缺点,因为它们不持久,它们脆弱(例如,它们易于制动),并且它们受到约束(例如,一旦它们被分发,资源就不能移动或改变名称)。例如,如果重新定位或重命名资源,则使用先前生成的文件路径或url不再可发现该资源。因此,每次对资源做出改变时,资源的所有者必须生成并共享新的文件路径信息或url,以便允许其他人发现该资源。因此,资源的接收方通常无法在稍后时间使用先前共享的url来访问资源。

本公开内容的各方面通过使用加密密钥来解决这些缺点。当创建、保存或重置资源时(例如,在证书已被损害或到期之后),可以为资源生成加密密钥对。加密密钥可以是对称密钥或者由公钥和私钥组成的非对称密钥对、以及其它密钥类型。在一个示例中,公钥可以用于加密和签名验证,而私钥可以用于解密和签名生成。在另一示例中,私钥可以存储在一位置或具有与公钥的访问控制不同的访问控制,以使得私钥的可用范围小于公钥。可以使用各种加密算法,包括但不限于高级加密标准(aes)、数字签名算法(dsa)、rivest-shamir-adleman(rsa)、以及椭圆曲线密码术(ecc)等等、或其任何组合。

在各示例中,加密密钥对的公钥可以与资源相关联并且用作资源的标识符。随后可以将公钥存储在众所周知的位置,稍后可以由资源的主机系统或所有者访问该公钥。与资源相关联的私钥可以由资源的主机系统和/或资源的所有者存储。在共享资源时,将资源的公钥发送给接收方,与用于接收方的传统链接或传统url相对。与传统链接或传统url不同,公钥是持久的,因为对资源或资源位置的改变不会“破坏”公钥。公钥可以用于访问资源。更具体而言,当请求资源时,请求方针对资源提供该资源的公钥。由于资源由其公钥标识,因此托管资源的设备可以使用公钥来标识资源并将资源提供给请求方,此时请求方可以经由公钥/私钥基础设施来验证所请求的资源是否正确。但是,可以应用将公钥用于标识以加强传统url或链接。例如,可以提供包括公钥的链接,例如“urn://publickey=12345abcde”或“securedoc://docresolver.com/12345abcde”。因此,可以利用本文所公开的强身份方面来加强对现有url、uri和urn标识符的使用。

本文所公开的各方面可以用于标识多个不同类型的资源。例如,强标识符可以用于标识电子文档。文字处理文档可以使用强标识符来检索和加载文档。在替代示例中,本文所公开的强标识符方面可以用于标识网页。在此类示例中,可以使用资源索引来检索网页,与传统的dns服务器相对。在又一方面中,可以使用本文所公开的强标识符方面来标识存储在在线市场中的应用。例如,请求方可以向应用市场提交标识特定应用的公钥,以便检索期望的应用。这对于区分存储在在线市场中的应用可能是特别有用的,因为许多不同的应用往往具有相同或相似的名称。

除了解决传统资源标识符的缺点之外,本公开的各方面还提供了使用传统标识符不可用的另外特征。在一个方面中,本文所提供的强资源标识符允许做出关于资源的信任确定。例如,在节点共享系统(例如孤立集合)中,可以利用与资源相关联的加密密钥来声明哪些资源可以被信任。例如,可以将规则应用于存储在孤立集合中的资源,以使得可以仅共享具有强标识符的资源。这允许系统通过跟踪与孤立集合中的每个资源有关的信息来监视和实施网络中数据的出处。因此,可以跟踪复合资源(例如包含其它文档的各部分的复合文档)中的数据,以标识谁创建并拥有复合资源的各个组件。在其它机制中,这可以通过使用资源的加密密钥为每个资源创建证书来实施。可以通过评估与每个资源相关联的证书来做出信任确定。

还可以利用本公开的各方面来执行资源验证。例如,可以使用资源的私钥为特定资源创建数字签名。这提供了验证可能被暴露于请求方的资源的所有权和/或作者身份的能力。因此,除了使用公钥来请求资源之外,请求方还可以使用资源公钥来验证资源的签名,并确保响应于该请求而提供的资源确实是所请求的资源。因此,除了其它益处之外,还可以利用本文所公开的强资源标识符来防止中间人和同态攻击。传统的标识系统不能提供本文所公开的强标识符的增强的安全特征。

图1示出了利用强资源标识的示例性系统的概述。示例性系统100可以是相互依赖的组件的组合,这些组件交互以形成用于执行委托认证的集成整体。在各方面中,系统100可以包括硬件组件(例如,用于执行/运行操作系统(os))和/或在硬件上运行的软件组件(例如,应用、应用编程接口(api)、模块、虚拟机、运行时库等等)。在特定方面中,系统100可以为软件组件提供执行、评估操作约束集以及利用系统100的资源或设施的环境。在这些方面中,环境可以包括或安装在一个或多个处理设备上。例如,软件(例如,应用、操作指令、模块等等)可以运行在处理设备上,例如计算机、移动设备(例如,智能电话/电话、平板、膝上型设备、个人数字助理(pda)等等)和/或任何其它电子设备。举一个处理设备操作环境的示例,参考图10-图13中所描述的示例性操作环境。在其它实例中,本文所公开的系统的组件可以跨多个设备分布并且可以由多个设备执行。例如,可以在客户端设备上键入输入,并且可以从网络中的其它设备(例如,服务器设备、网络设备、其它客户端设备等等)处理或访问信息。

如所呈现的,系统100包括客户端设备102a-c、分布式网络104、以及包括一个或多个服务器的分布式服务器环境,例如服务器设备106a-c。本领域技术人员将意识到,各系统(例如系统100)的规模可以不同并且可以包括比图1中所描述的那些组件更多或更少的组件。在一些方面中,系统100的各组件之间的对接可以例如远程地发生,其中系统100的各组件可以跨分布式网络的一个或多个设备分布。

在各方面中,客户端设备102a-c可以被配置为:经由用户界面组件或其它输入装置来接收输入。输入的示例可以包括语音、视觉、触摸和文本输入。界面组件可以实现各种数据集和图形表示的创建、修改和导航。在示例中,例如,各种数据集可以包括(或以其它方式关联于)资源标识符、资源元数据、关系信息、断言的关系、图形映射信息、查询数据、规则集,例如推断规则、授权信息、认证信息等等,如下面进一步详细讨论的。通常,数据集存储在一个或多个服务器设备106a-c上并且可由客户端设备102a-c访问。然而,在一些示例中,数据集可以至少部分地存储在客户端设备102a-c中的一个或多个上。各种数据集中表示的底层资源可以本地存储或存储在客户端设备102a-c可访问的数据存储(例如云存储应用)中。在至少一个示例中,各种数据集(或其部分)中表示的底层资源可以跨客户端设备102a-c分布。例如,客户端设备102a(例如,移动电话)可以本地存储数据集中表示的资源的第一部分,客户端设备102b(例如,平板设备)可以本地存储资源的第二部分,并且客户端设备102c(例如,膝上型设备)可以在本地存储数据集中表示的资源的剩余部分。在示例中,客户端设备102a-c可以访问数据集中所包括的所有资源,可以访问数据集中所包括的资源子集,或者替代地,可以访问数据集中所包括的任何资源。

客户端设备102a-c还可以被配置为:询问包括与各种数据集中的资源标识符相对应的资源的数据存储。在示例中,客户端设备102a-c可以经由分布式网络104来询问内容提供商,例如服务器设备102a-c。询问可以包括标识资源所在的远程设备、和/或确定远程设备(或者服务/单独的远程设备)是否具有对资源的经验证访问。如果已经认证了对资源的访问,则客户端设备102a-c可以从远程设备检索认证指示。客户端设备102a-c可以使用认证指示来提供对包括相应资源标识符的各种数据集中的一个或多个数据集的访问。

服务器设备106a-c可以被配置为:使用强资源标识来存储和/或提供对一个或多个资源的访问。例如,服务器设备102a可以是web服务器,服务器设备102b可以是包括协作消息传送工具和日历应用的设备,并且服务器设备102c可以是电子邮件服务器。这些设备中的每个设备可以包括可经由一个或多个认证机制访问的资源库。在示例中,服务器设备106a-c可以在接收到针对资源的请求时执行或监视认证过程。如果认证成功,则认证设备可以在指定的时间段内存储或维持认证指示。当该时间段到期时,服务器设备106a-c可以移除或尝试更新认证指示。在示例中,服务器设备106a-c可以向询问客户端设备提供认证指示。在一些方面中,服务器设备106a-c还可以被配置为:存储各种数据集和图形表示的至少一部分,如上面讨论的。

图2示出了用于管理资源标识符的孤立集合和对应关系的示例性系统的概述。在系统200中实现的孤立集合技术可以包括或关联于图1中所描述的委托认证技术中的一个或多个。在替代示例中,单个设备(包括诸如处理器和/或存储器之类的一个或多个组件)可以执行分别在系统100和200中描述的处理。

针对图2,系统200可以包括集合创建应用202和204、集合环境206、集合208和210、实体212和214、资源标识符216、218、220、222、224和226,以及资源228、230、232、234、236和238。在各方面中,集合创建应用202和204可以是被配置为创建、推断、操纵、导航和可视化各种资源、关系和图形表示的应用或服务。集合创建应用202和204可以定义资源(例如,人、文件、任务、邮件、文档、日历事件等等)之间的关系集合以及对这些集合执行查询。集合创建应用202和204还可以提供定义和存储用于推断集合中的一个或多个关系的规则集,以及显示集合数据的图形表示。定义的规则集可以存储在集合本身中,并且在一些示例中作为元数据存储在集合内。在示例中,可以在客户端设备上或在分布式环境中的一个或多个设备上安装和执行集合创建应用202和204。例如,集合创建应用202可以安装在客户端设备102a上,集合创建应用204可以安装在客户端设备102b上,并且与服务器设备106a相关联的集合创建服务可以是客户端设备102c可访问的。

在各方面中,集合创建应用202和204可以访问文件目录或执行环境,例如环境206。环境206可以与集合创建应用并置,或者环境206可以远离集合创建应用。环境206可以提供对一个或多个数据集合的访问,例如集合208和210。在示例中,可以使用由集合创建应用202和204生成和/或维护的一组或多组许可来确定对数据集合的访问。这些许可集可以跨一个或多个数据集合不同。因此,可能无法从集合创建应用202和204中的一个或多个集合创建应用访问一个或多个数据集合(或与其相关联的功能)。

集合208和210可以分别包括断言的资源标识符和对应关系的孤立集合。孤立集合中的关系可以手动定义,或者可以使用一个或多个规则集来自动推导。可以使用直接关联数据集合中的资源并提供利用单个操作检索关系数据的图形结构来表示孤立集合。每个孤立集合可以包括对该孤立集合唯一的资源标识符。替代地,孤立集合可以包括一个或多个替代的孤立集合中所包括的资源标识符。例如,如图2中所描绘的,集合208可以包括资源标识符216、218、220和222,并且集合210可以包括资源标识符220、222、224和226。资源标识符216、218、220、222、224和226可以对应于和/或标识一个或多个资源的位置。如本文所使用的,资源标识符引用现有资源,但其本身不是资源。示例性类型的资源标识符包括但不限于统一资源标识符(例如,统一资源定位符(url)、统一资源名称(urn)等等),ip地址、存储器或存储地址等等。本领域技术人员将意识到,在不脱离本公开内容的范围的情况下,本文所公开的各个方面可以采用任何类型的标识符。标识资源的位置可以包括:使用例如正则表达式来解析资源标识符,向搜索实用程序提供资源标识符的一个或多个部分,执行资源标识符等等。在各方面种,访问数据集合不保证访问由每个数据集合中所包括的资源标识符所标识的资源。例如,尽管用户可能能够访问和操纵集合208,但是用户可能未被授权访问与集合208中的资源标识符相对应的一个或多个底层资源。

资源提供商212和214可以被配置为:存储和/或提供对一个或多个资源的访问。因此,如本文所使用的资源提供商可以是数据存储、云服务提供商、客户端计算设备、服务器计算设备、分布式设备系统,例如企业网络、应用、软件平台(例如,操作系统、数据库等)等。在各方面中,资源提供商212和214可以是(或可以访问)各种不同的数据源,例如内容提供商、数据存储、各种应用数据集等等。数据存储可以包括与一个或多个资源标识符相对应的一个或多个资源。例如,如图2中所描绘的,资源提供商212可以是包括各种不同类型的资源的数据存储,例如资源228(例如,文档1(d1))和资源230(例如,演示2(p1)),并且资源提供商214可以是联系人管理应用,包括联系人资源232(例如,联系人1(c1))、234(例如,联系人2(c2))、236(例如,联系人3(c3))和238(例如,联系人4)(c4))。在该示例中,资源标识符216可以对应于资源228;资源标识符218可以对应于资源230;资源标识符220可以对应于资源232;资源标识符222可以对应于资源234;资源标识符224可以对应于资源236;资源标识符226可以对应于资源238。在一些方面中,资源提供商212和214可以由集合创建应用202和204访问。集合创建应用202和204可以访问资源提供商212和214以确定资源的存在和/或检索与资源相关联的信息(例如,资源元数据、资源位置、资源标识符、许可集、认证数据等等)。从资源提供商212和214检索的信息可以用于确定与一个或多个可用资源相对应的一组资源标识符。该组资源标识符可以用于创建断言资源标识符和对应关系的一个或多个孤立集合。如上面提到的,资源标识符可以是或包括其对应资源的持久uri。例如,资源标识符216可以包括实际文档(d1)228的uri。因此,在此类示例中,用户能够从集合中确定文档(d1)228的位置,并且认证和访问限制,检索文档(d1)228。举另一个示例,如图2中所描绘的,资源提供商212可以由集合创建应用202访问。集合创建应用202可以确定资源提供商212至少包括资源228和230,并且可以确定每个资源的资源标识信息。基于所确定的资源标识信息,资源标识符216和218可以分别应用/关联到资源228和230,并且提供给环境206。环境206随后可以使资源标识符216和218有资格进行包含分析到一个或多个孤立集合。

图3a示出了断言的资源标识符和对应关系的示例性孤立集合300。示例性孤立集合300包括资源标识符302、304、306、308、310、312和314,以及关系316、318、320、322、324和326。在各方面中,可以使用集合创建实用程序来生成和/或操纵孤立集合300,该集合创建实用程序可以作为如上面讨论的集合创建应用的一部分被包括在内。当以图3a中所描绘的图形形式呈现时,每个资源标识符可以被称为“节点”,并且每个关系可以被称为“边”。集合创建实用程序还可以使用一个或多个规则集来标识资源和/或确定集合的资源类型,这些规则集可以包括根据语义web技术(例如资源描述框架(rdf)、rdf模式(rdfs)、sparql协议和rdf查询语言(sparql)、web本体技术(owl)等等)来定义的规则。例如,集合300包括表示底层资源(在所描绘的示例中为“email789(电子邮件789)”)的资源标识符312。类似地,资源标识符304表示资源文档“doc123”,并且资源标识符302表示资源任务“task123(任务123)”。孤立集合300中所包括的每个资源和关系可能已经由开发者通过集合创建应用断言。例如,开发者可以手动添加每个资源标识符以及各资源标识符之间的关系。举例而言,开发者可以手动指示“task123”是针对“doc123(文档123)”的任务,如由“taskon(针对…的任务)”关系316在集合300中表示的。资源标识符和关系也可以由外部机器人或由开发者创建的应用断言。例如,可以对加载项进行编程以监视浏览器或其它应用中的活动以跟踪应用的使用。基于应用的使用,加载项发送要被包括在集合300中的另外资源和关系。

与断言的资源标识符和关系形成对比,集合创建实用程序可以执行规则集以确定另外的关系和资源类型,在本文中被称为“推断关系”和“推断资源标识符”或“推断资源类型”。例如,在执行规则集时,集合创建实用程序可以确定资源标识符312表示电子邮件消息,并且资源标识符304表示文档。下面进一步详细讨论推断关系和资源的生成。

孤立集合300还描绘了资源标识符302与资源标识符304、306和308以及资源标识符310相关联。集合创建实用程序可以确定资源标识符302表示要对标识符304、306和308执行的任务。基于该确定,集合创建实用程序可以指派关系316、318和320(例如,“taskon”)以定义资源标识符302与资源标识符304、306和308之间的关联。在其它示例中,可以断言关系316、318和320,如上面讨论的。另外的关系(例如“hasdiscussion(具有讨论)”关系322)可能已经由开发者手动断言,或者从分析电子邮件101的内容的电子邮件应用的加载项断言。虽然图3a中描述了特定类型的资源和关系,但本领域技术人员将意识到,在不脱离本公开内容的精神的情况下,其它类型的资源和/或关系可以被包括在孤立集合中。

图3b-图3e示出了可以用于遍历集合300的示例性查询模型。在各方面中,可以经由集合创建实用程序所提供的接口来执行查询。可以针对包括信息(包括例如资源标识符、资源类型、资源元数据、许可数据等等)的一个或多个文件和/或目录执行查询。查询结果可以以图形形式可视化为一个或多个集合,例如集合300。例如,整个集合300数据集可以仅包括集合300中示出的那些元素(例如,资源标识符302、304、306、308、310、312和314以及关系316、318、320、322、324和326)。在该特定示例中,资源标识符312可以表示包括主题“api设计”的电子邮件,并且资源标识符314可以表示包括主题“集合”的电子邮件。可以针对集合300执行查询'http://.../collection300/taskl23'。查询结果可以包括资源标识符302并且如图3b中所示出地进行可视化。在图3c中,查询已被修改为'http://../collection300/taskl23?$expand=taskon'并针对集合300执行。查询结果可以包括资源标识符302、304、306和308以及关系316、318和320,并且被可视化,如图3c中所示出的。在图3d中,查询已被修改为'http://../collection300/taskl23?$expand=taskon($expand=attachmenton)'并针对集合300执行。查询结果可以包括资源标识符302、304、306、308、312和314以及关系316、318、320、324和326,并且如图3d中所示出地进行可视化。在图3e中,查询已被修改为'http://../collection300/task123?($expand=taskon($expand=attachmenton)($filter=subjecteq'setsets'))'并针对集合300执行。由于仅资源标识符包括主题“集合”314,所以查询结果可以包括资源标识符302、306和314以及关系318和326,并且如图3e中所示出地进行可视化。

图4a示出了使用强资源标识的孤立集合400的概述。如所描绘的,孤立集合包括两个资源,资源1402和资源2404。虽然在孤立集合400中仅描绘了两个资源,但是本领域技术人员将意识到,可以在孤立集合中包括任何数量的资源。图4中所描绘的资源可以是任何类型的资源,例如电子文档、电子表格、图像、视频、音频文件、应用、演示或任何其它类型的数据结构。关系406和408指示资源1408包含资源2404。例如,资源1402可以是包括附加文档(例如,资源2404)的电子邮件消息。在另一示例中,资源1402可以是包括文本段落的电子文档(例如,资源2404)。虽然本文已经描述了特定类型的资源和关系,但是本领域技术人员将意识到,可以将任何类型的资源与本文所公开的方面一起使用。

为了提供强资源标识,加密密钥对可以与每个资源相关联。私钥1410和公钥1412可以通过关系414-20与资源1402相关联。在一些示例中,私钥l410和公钥412可以是密钥标识符,其中实际加密密钥可以存储在密钥库或其它数据存储(未示出)中。当资源首次被添加到孤立集合400时,可能已经为资源1402生成了公钥l410和私钥l412。在另一示例中,可以在生成资源1402时自动生成私钥l410和公钥l412。关系414和418使用实线箭头来指示分别在资源1402与私钥l410以及资源1402与公钥l412之间存在断言的“密钥”关系。关系414和418是定向的,因为它们指示私钥l410和公钥l412都是资源1402的密钥,而不是相反的方式。类似地,关系416和420使用虚线箭头来指示分别在私钥l410与资源1402以及公钥l412与资源1402之间存在“keyfor(用于…的密钥)”的推断关系。关系416和420是定向的,因为它们指示私钥l410是资源1402的密钥,并且公钥l412是资源1402的密钥,而不是相反的方式。

类似地,私钥2422和公钥2424可以通过关系426-32与资源2404相关联。在一些示例中,私钥2422和公钥2424可以是密钥标识符,其中实际加密密钥可以存储在密钥库或其它数据存储(未示出)中。当资源首次被添加到孤立集合400时,可能已经为资源2404生成了私钥2422和公钥2424。在另一示例中,可以在生成资源2404时自动生成私钥2422和公钥2424。关系426和430使用实线箭头来指示分别在资源2404与私钥2422以及资源2404与公钥2424之间存在断言的“密钥”关系。关系426和430是方向性的,因为它们指示私钥2422和公钥2424都是资源2404的密钥,而不是相反的方式。类似地,关系428和432使用虚线箭头来指示分别在私钥2422与资源2404以及公钥2424与资源2404之间存在“keyfor”的推断关系。关系428和432是定向的,因为它们指示私钥2422是资源2404的密钥,并且公钥2424是资源2404的密钥,而不是相反的方式。

虽然孤立集合400示出了资源与其加密密钥对之间的关系,但在某些方面中,公钥可以与资源紧密耦合作为其标识符。即,在各示例中,资源的公钥可以被包括作为资源本身的一部分或者包括在与资源相关联的元数据中。如先前所描述的,与资源相关联的公钥可以用于共享资源。例如,为了与其它设备共享资源1402,可以将公钥l412提供给其它设备。为了访问资源1402,请求设备可以将公钥l412提交给资源1402的主机设备。类似地,可以通过提供公钥2424来与一个或多个设备或应用共享资源2404。因此,在各示例中,设备请求资源1402所需要的唯一信息是公钥l412,并且请求资源2404所需要的唯一信息是公钥2424。

如先前所描述的,资源的公钥是不可变的。即,对资源的改变(例如资源名称的改变或资源从一个位置移动到另一位置)不会影响与资源相关联的公钥。因此,与在资源改变之前共享的资源相关联的公钥仍然可操作用于使用资源索引来请求资源。图4b示出了示例性资源索引450。资源索引450可以是存储关于资源的信息的表或其它数据结构。例如,资源索引可以存储与资源的位置、名称有关的信息或与资源的检索相关的任何其它类型的信息。在各方面中,可以基于资源的公钥来键入资源索引450。即,可以使用公钥来检索与存储在资源索引450中的资源有关的信息。

如图4b中所示出的,资源索引450包括多个条目。条目452涉及资源1并且使用公钥l来索引,即,公钥l可以用于查找条目452。条目452包含与资源1的位置有关的信息。具体而言,在所描绘的示例中,资源1位于url1处。其它资源条目(例如资源条目454和456)还可以包含与其相关联资源的实际位置(例如,资源的存储位置或其它检索或访问信息)有关的信息,分别是filepath2(文件路径2)和urln。可以在资源索引450中捕获对资源的任何改变,例如对资源名称或位置的改变。因此,如果在共享资源的相关联密钥之后改变资源,则资源的新信息可以使用公钥来访问,从而允许请求方访问资源,即使资源已经在请求方接收资源的公钥的时间与针对资源发送请求的时间之间移动。除了其它益处之外,索引表450的使用提供了在使用传统标识符请求资源时通常发生的断开链接或不正确文件路径的解决方案。

图5示出了用于使用公钥来对资源进行索引的示例性方法500的概述。方法500可以由创建资源的设备来执行。举例而言,方法500可以由可操作用于创建和存储资源的服务器来执行。替代地,方法500可以在创建资源时由本地设备执行。例如,当由驻留在客户端设备上的文字处理应用创建新文档时,方法500可以由该客户端设备执行。方法500开始于操作502,在操作502处创建资源。可以响应于接收到创建资源的请求来创建资源。该请求可以由用户或应用或过程提交。在操作502处创建的资源的类型可以取决于创建或请求资源的应用或过程的类型而变化。示例性资源类型包括但不限于文档、电子表格、演示、视频,图像、应用、网页、音频文件等等。本领域技术人员将意识到,在操作502处创建的资源可以是任何类型的数据结构。

流程继续到操作504,在操作504处可以为资源生成加密密钥对(例如,公钥和私钥)。在示例中,为资源创建唯一密钥对,以使得没有其它资源包含类似密钥对。在其它示例中,为资源创建的密钥对对于资源的域可以是唯一的。即,类似的密钥对可以用于其它资源,只要其它资源不与在操作502处创建的资源在同一域中。加密密钥可以是对称密钥或由公钥和私钥组成的非对称密钥对,以及其它密钥类型。在一个示例中,公钥可以用于加密和签名验证,而私钥可以用于解密和签名生成。在另一示例中,私钥可以存储在一位置或具有与公钥的访问控制不同的访问控制,以使得私钥的可用范围小于公钥。可以使用各种加密算法,包括但不限于高级加密标准(aes)、数字签名算法(dsa)、rivest-shamir-adleman(rsa)和椭圆曲线密码术(ecc)等等、或其任何组合。与其它加密密钥相比,该加密密钥可以具有相似或不同的属性。举例而言,每个密钥可以具有相似或不同的密钥长度,或者可以使用相似或不同的加密算法,以及可以对特定加密算法唯一的其它类似或不同的属性。本领域技术人员将意识到,可以使用其它加密算法、密钥类型或系统而不脱离本公开内容的精神,只要为与特定域相关联的每个资源创建唯一的加密密钥对。

流程继续到操作506,在操作506处加密密钥对的公钥与资源相关联。在一个示例中,公钥可以与资源紧密耦合。例如,公钥可以包括在资源本身中。在资源中包括公钥可以包括将公钥的值添加到资源。替代地,可以将公钥添加到与资源相关联的元数据。替代地,可以实现将公钥与资源相关联的密钥日志。公钥与资源的关联使得为资源创建强的身份。即,在将公钥与资源进行关联时,无论资源的名称、特征和/或位置如何变化,都可以由公钥唯一地标识该资源。

流程继续到操作508,在操作508处存储资源的公钥。在一个示例中,资源的私钥可以存储在与执行方法500的设备或系统相关联的密钥库中。可选地或另外地,资源的私钥可以被提供给资源的所有者和/或存储在与资源所有者相关联的密钥库中。在一些示例中,与资源相关联的私钥可以是访问受限的,以使得仅资源所有者可以访问私钥。在各方面中,私钥可以不用作资源的标识符。然而,可以出于其它目的来维护私钥,例如用于解密和/或签名生成。举例而言,可以使用资源私钥自动或手动地对资源签名,以使得访问资源的其它实体可以使用资源的公钥自动或手动地验证加密签名以验证资源的真实性。在使用传统标识符的情况下该功能不可用。

在操作510处,存储资源。在一个示例中,资源可以存储在资源主机中,例如可经由网络访问的数据库或服务器。替代地或另外地,资源可以存储在本地设备上。在存储资源时,流程继续到操作512,在操作512处使用公钥来对资源进行索引。如上面提到的,将公钥与资源进行关联为资源提供了唯一的强标识符。另外,公钥的特性特别适合索引。因此,可以使用资源的公钥来创建有效的资源索引。在示例中,索引可以包括与资源有关的信息,例如资源的公钥的值、资源所存储的位置(例如,url、文件路径等)、资源名称和/或与资源有关的其它信息。在对资源进行索引时,可以在操作514处提供资源的公钥。在一个示例中,提供公钥可以包括将公钥发送给资源所有者。这允许资源所有者通过提供公钥的副本与其它实体共享资源。替代地或另外地,提供公钥可以包括:在企业系统中发布公钥或者经由互联网公开发布公钥。当公开密钥公开发布时,可以通过搜索引擎访问该公钥并对该公钥进行索引。在这种情况下,可以使用搜索引擎来发现资源。因此,如果资源是网页,则公钥的发布提供了经由在线搜索引擎来访问资源的能力。因此,除了提供强的资源标识之外,本文所公开的各方面还可以用于通过网络(例如互联网)发现资源。例如,可以使用公钥索引而不是dns服务器来经由因特网发现网页和其它资源。

除了其它益处之外,经由公钥关联还极大增强了资源的发现,这与传统的资源身份系统相对。在现有系统中,资源通过名称(例如“document1”)或位置(例如“\user\desktop\documentl)”来标识。在此类系统中,由于多个资源具有相同名称或者资源从一个位置移动到另一位置,因此获取正确的资源可能是困难的。然而,本公开内容的强身份方法和系统通过确保每个资源由于每个公钥的唯一性而具有唯一名称来解决这种发现问题。此外,本文所描述的索引允许系统在资源从一个目录移动到另一目录时自动跟踪资源。因此,请求方不需要知道资源的名称或存储资源的位置。相反,发现资源所需要的只是资源的公钥。

图6示出了使用公钥来检索资源的示例性方法600的概述。方法600可以由托管资源的设备来执行。举例而言,方法600可以由可操作用于在网络上托管资源的服务器来执行。替代地或另外地,方法600可以由本地客户端执行以响应于来自用户或应用的访问资源的请求而检索本地存储的资源。方法600开始于操作602,在操作602处接收针对特定资源的请求。在一个示例中,可以从尝试访问存储在执行方法的设备上的资源的远程设备接收请求。在替代示例中,可以经由驻留在执行方法600的设备上的过程或应用来接收请求。在示例中,该请求包括与资源相关联的公钥。与资源有关的其它信息可以被包括在请求中;然而,在大多数情况下,公钥可能足以标识资源。替代地,如果执行方法600的设备包括其中重用公钥的多个域,则该请求还可以包括与资源属于哪个域有关的信息。

流程继续到操作604,在操作604处从请求中检索资源的公钥。如上面提到的,如果执行该方法的设备托管多个域,则还可以从请求中检索与资源相关联的域。检索到的域信息可以用于标识用于搜索资源的适当公钥索引。域信息可以包括在请求中,可以包括在与公钥相关联的元数据中,或者可以包括在公钥本身中。

在操作606处,使用来自请求的公钥来执行索引查找。如先前提到的,可以使用资源的公钥来对发现信息(例如,标识资源的位置的信息,诸如url、文件路径等等)进行索引。在操作608处,使用存储在索引中的发现信息来检索信息。随后可以在操作610处将资源提供给请求方。在一个示例中,在操作610处将实际资源提供给请求方。替代地,可以在操作610处将与资源的存储位置有关的信息提供给请求方。请求方随后可以使用该信息来检索资源。

由于公钥是不可变的,因此对资源的任何改变(例如对资源名称和/或存储位置的改变)不会改变公钥。因此,在发生对资源的改变之前分发给一个或多个设备的公钥仍然可以用于在做出改变之后发现和/或访问资源。这在使用传统方法(例如url)的情况下是不可能的。如果在分发url之后改变与url相关联的资源,则请求方将无法再使用url来访问该资源。因此,传统方法需要在请求方可以访问资源之前将经更新的url提供给该请求方。然而,本公开内容提供了对资源的任何改变都被更新并反映在公钥索引表中。因此,资源的公钥可操作用于发现和访问资源,而不管在分发公钥之后做出的任何改变。

图7示出了使用公钥来请求资源的示例性方法的概述。流程开始于操作702,在操作702处检索资源的公钥。在一个示例中,可以从存储与特定设备或用户共享的所有资源的公钥的公钥库中检索资源的公钥。替代地,可以经由消息或其它手段来分发公钥。例如,资源的公钥可以作为电子邮件消息的附件来分发。在此类示例中,可以从电子邮件消息中检索公钥。例如,用户可以选择附加到消息的公钥以便检索底层资源。在另外的示例中,可以经由发送到远程设备或应用的请求来检索公钥。

流程继续到操作704,在操作704处发送包括公钥的针对资源的请求。该请求可以被发送到托管资源的设备、搜索引擎、文件浏览器、应用市场、应用(例如,文字处理应用、电子表格应用、浏览器等等)或者存储或以其它方式拥有资源的任何其它实体。在一个示例中,为了将请求发送到适当的实体,操作704还可以包括确定与所请求的资源有关的信息,例如资源的类型、资源的域或任何其它类型的消歧信息。例如,可以做出关于资源是电子文档的确定。在此类示例中,可以将请求发送到文字处理应用。替代地,资源可以是网页或应用,在这种情况下,可以将请求分别发送到浏览器或应用市场。还可以确定域信息以便确保将请求发送到正确的域或者请求包含适当的信息,以使得接收请求的设备使用正确的索引来找到资源。响应于发送请求,流程继续到操作706,在操作706处由请求设备或应用来接收或以其它方式访问资源。

如先前提到的,本文所公开的与使用公钥的强资源标识相关的各方面可以提供在传统资源标识系统中不可用的另外能力。因此,在示例中,在接收到资源时,可以在可选操作708处验证资源。如先前提到的,可以使用与资源相关联的私钥来对资源进行签名。因此,在接收到资源时,公钥也可以用于验证资源,以确保响应于发送请求而接收到的资源确实是所请求的资源。因此,本文所公开的强身份系统和方法提供了另外的安全性,这种安全性可以用于防止恶意的中间人攻击、同态攻击、网络钓鱼攻击和/或接收到恶意资源或文件。

本文所公开的各方面所采用的加密密钥还可以用于生成数字证书以验证资源和/或其所有者。例如,可以使用与资源相关联的公钥来生成符合x.509的证书。x.509证书可以用于验证资源的所有者或创建者。另外,可以利用证书撤销列表,以使得资源的所有者可以稍后放弃资源的所有权或有效性。例如,当资源是应用时,应用所有者可以在创建应用的新版本时、在发现应用内的错误等等时撤销证书。因此,可以通过检查证书撤销列表来向获得旧应用的副本的用户告知新应用可用或应用有问题。在另一示例中,如果资源是文档,则在作者不再支持文档内容的情况下,文档作者可以撤销资源的证书。在使用传统资源标识符的情况下这些另外的功能不可用。

在执行验证操作(例如,验证数字签名和评估资源的证书)时,流程继续到操作710,在操作710处将资源提供给请求方。提供资源可以包括显示资源、或与资源有关的信息,使用应用消耗资源(例如,使用文字处理应用打开电子文档),在请求设备本地存储资源的副本等等。在操作712处,还可以提供与资源有关的验证信息。例如,可以提供关于与资源相关联的签名或证书有效或无效的指示。

图8-110和相关联的描述提供了对其中可以实践本公开内容的各方面的各种操作环境的讨论。然而,针对图8-图10所示出和讨论的设备和系统是出于示例和说明的目的,而不是对可以用于实践本文所描述的本公开内容的各方面的大量计算设备配置进行限制。

图8是示出了计算设备800的物理组件(例如,硬件)的框图,利用该计算设备800可以实践本公开内容的各方面。下面描述的计算设备组件可以适合于上面描述的计算设备,包括客户端计算设备82a-c和服务器计算设备86a-c。在基本配置中,计算设备800可以包括至少一个处理单元802和系统存储器804。取决于计算设备的配置和类型,系统存储器804可以包括但不限于易失性存储(例如,随机存取存储器)、非易失性存储(例如,只读存储器)、闪存、或此类存储器的任意组合。系统存储器804可以包括操作系统805和适合于执行本文所公开的各个方面的一个或多个程序模块806,例如强标识检索组件824和强标识请求组件826。例如,操作系统805可以适合于控制计算设备800的操作。此外,可以结合图形库、其它操作系统或任何其它应用程序来实践本公开内容的各方面,并且不限于任何特定应用或系统。在图8中用虚线808内的那些组件来示出该基本配置。计算设备800可以具有另外的特征或功能。例如,计算设备800还可以包括另外的数据存储设备(可移动和/或不可移动),例如磁盘、光盘或磁带。这种另外的存储在图8中用可移动存储设备809和不可移动存储设备810示出。

如上面提到的,多个程序模块和数据文件可以存储在系统存储器804中。当在处理单元802上执行时,程序模块806(例如,应用820)可以执行包括但不限于如本文所描述的各方面的过程。根据本公开内容的各方面可以使用的其它程序模块可以包括电子邮件和联系人应用、文字处理应用、电子表格应用、数据库应用、幻灯片演示应用、绘制或计算机辅助应用程序等等。

此外,在包括分立电子元件的电路、包含逻辑门的封装或集成电子芯片、利用微处理器的电路中、或者在包含电子元件或微处理器的单个芯片上可以实践本公开内容的各实施例。例如,可以经由片上系统(soc)来实践本公开内容的各实施例,其中图8中所示出的每个或许多组件可以被集成到单个集成电路上。这种soc器件可以包括一个或多个处理单元、图形单元、通信单元、系统可视化单元和各种应用功能,所有这些被集成(或“烧制”)到芯片基板上作为单个集成电路。在经由soc进行操作时,本文所描述的针对客户端切换协议的能力的功能可以经由单个集成电路(芯片)上的与计算设备800的其它组件集成的专用逻辑来操作。还可以使用能够执行诸如and(与)、or(或)和not(非)之类的逻辑运算的其它技术(包括但不限于机械、光学、流体、和量子技术)来实践本公开内容的各实施例。另外,可以在通用计算机内或在任何其它电路或系统中实践本公开内容的各实施例。

计算设备800还可以具有一个或多个输入设备812,例如键盘、鼠标、笔、声音或语音输入设备、触摸或滑动输入设备等等。还可以包括输出设备814,例如显示器、扬声器、打印机等等。前述设备是示例,并且可以使用其它设备。计算设备800可以包括允许与其它计算设备850通信的一个或多个通信连接816。合适的通信连接816的示例包括但不限于射频(rf)发射机、接收机和/或收发机电路;通用串行总线(usb)、并行和/或串行端口。

如本文使用的术语计算机可读介质可以包括计算机存储介质。计算机存储介质可以包括以用于存储信息(例如计算机可读指令、数据结构或程序模块)的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。系统存储器804、可移动存储设备809和不可移动存储设备810都是计算机存储介质示例(例如,存储器存储)。计算机存储介质可以包括ram、rom、电可擦除只读存储器(eeprom)、闪存或其它存储器技术、cd-rom、数字多功能光盘(dvd)或其它光学存储、盒式磁带、磁带、磁盘存储或其它磁存储设备,或能够用于存储信息并且能够由计算设备800访问的任何其它制品。任何此类计算机存储介质可以是计算设备800的一部分。计算机存储介质不包括载波或其它传播的或经调制数据信号。

通信介质可以由计算机可读指令、数据结构、程序模块或经调制数据信号中的其它数据(诸如载波或其它传输机制)来体现,并且包括任何信息传递介质。术语“经调制数据信号”可以描述如下信号,该信号以使得将信息编码到该信号中的方式来设置或改变该信号的一个或多个特性。举例而言而非限制,通信介质可以包括有线介质(例如,有线网络或直接有线连接)和无线介质(例如,声学、射频(rf)、红外和其它无线介质)。

图9a和图9b示出了移动计算设备900,例如,移动电话、智能电话、可穿戴计算机(例如智能手表)、平板计算机、膝上型计算机等等,利用这些设备可以实践本公开内容的各实施例。在一些方面中,客户端可以是移动计算设备。参考图9a,示出了用于实现各方面的移动计算设备900的一个方面。在基本配置中,移动计算设备900是具有输入元件和输出元件两者的手持计算机。移动计算设备900通常包括显示器905和允许用户将信息输入到移动计算设备900中的一个或多个输入按钮910。移动计算设备900的显示器905还可以充当输入设备(例如,触摸屏显示器)。如果包括可选的侧输入元件915,则侧输入元件915允许进一步的用户输入。侧输入元件915可以是旋转开关、按钮或任何其它类型的手动输入元件。在替代方面中,移动计算设备900可以包含更多或更少的输入元件。例如,在一些实施例中,显示器905可以不是触摸屏。在又一替代实施例中,移动计算设备900是便携式电话系统,例如蜂窝电话。移动计算设备900还可以包括可选键盘935。可选键盘935可以是物理键盘或者在触摸屏显示器上生成的“软”键盘。在各个实施例中,输出元件包括用于示出图形用户界面(gui)的显示器905、视觉指示器920(例如,发光二极管)和/或音频换能器925(例如,扬声器)。在一些方面中,移动计算设备900包含振动换能器以用于向用户提供触觉反馈。在又一示例中,移动计算设备900包含输入和/或输出端口,诸如音频输入(例如,麦克风插孔)、音频输出(例如,耳机插孔)和视频输出(例如,hdmi端口)以用于向外部设备发送信号或从外部设备接收信号。

图9b是示出了移动计算设备的一个方面的架构的框图。即,移动计算设备900可以包含系统(例如,架构)902以实现一些方面。在一个实施例中,系统902被实现为能够运行一个或多个应用(例如,浏览器、电子邮件、日程安排、联系人管理器、消息传送客户端、游戏、以及媒体客户端/播放器)的“智能电话”。在一些方面中,系统902被集成为计算设备,例如集成的个人数字助理(pda)和无线电话。

一个或多个应用程序966可以被加载到存储器962中并在操作系统964上或与其相关联地运行。应用程序的示例包括电话拨号程序、电子邮件程序、个人信息管理(pim)程序、文字处理程序、电子表格程序、互连网浏览器程序、消息传送程序等等。系统902还包括存储器962内的非易失性存储区域968。非易失性存储区域968可以用于存储在系统902断电的情况下不会丢失的持久性信息。应用程序966可以在非易失性存储区域968中使用和存储信息,例如电子邮件或电子邮件应用使用的其它消息等等。同步应用(未示出)也驻留在系统902上,并被编程为与驻留在主机计算机上的相应同步应用交互,以使存储在非易失性存储区域968中的信息与存储在主机计算机处的相应信息保持同步。如应该意识到的,其它应用可以加载到存储器962中并在本文所描述的移动计算设备900上运行(例如,搜索引擎、提取器模块、相关性排序模块、回答评分模块等等)。

系统902具有电源970,该电源970可以被实现为一个或多个电池。电源970还可以包括外部电源,例如ac适配器或补充电池或对电池重新充电的加电对接托架。

系统902还可以包括执行发送和接收射频通信的功能的无线接口层972。无线接口层972经由通信运营商或服务提供商来促进系统902与“外部世界”之间的无线连接。在操作系统964的控制下进行去往和来自无线接口层972的传输。换言之,由无线接口层972接收的通信可以经由操作系统964传播到应用程序966,反之亦然。

视觉指示器920可以用于提供视觉通知和/或音频接口974可以用于经由音频换能器925来产生可听通知。在所示出的实施例中,视觉指示器920是发光二极管(led)并且音频换能器925是扬声器。这些设备可以直接耦合到电源970,以使得当被激活时,它们在由通知机制指示的持续时间内保持开启,即使处理器960和其它组件可能关闭以节省电池功率。led可以被编程为无限地保持开启,直到用户采取行动来指示设备的通电状态为止。音频接口974用于向用户提供可听信号并从用户接收可听信号。例如,除了耦合到音频换能器925之外,音频接口974还可以耦合到麦克风以接收可听输入,例如以促进电话交谈。根据本公开内容的各实施例,麦克风还可以充当音频传感器以促进对通知的控制,如下面将描述的。系统902还可以包括视频接口976,其实现机载相机930的操作以记录静止图像、视频流等等。

实现系统902的移动计算设备900可以具有另外的特征或功能。例如,移动计算设备900还可以包括另外的数据存储设备(可移动和/或不可移动),例如磁盘、光盘或磁带。图9b中用非易失性存储区域968来示出这种另外的存储。

由移动计算设备900生成或捕获并经由系统902存储的数据/信息可以本地地存储在移动计算设备900上,如上所述,或者数据可以存储在可以由设备经由无线接口层972或经由移动计算设备900与关联于移动计算设备900的单独计算设备(例如,分布式计算网络(例如,互联网)中的服务器计算机)之间的有线连接来访问的任何数目的存储介质上。如应该意识到的,这种数据/信息可以通过移动计算设备900经由无线接口层972或经由分布式计算网络来访问。类似地,可以根据众所周知的数据/信息传输和存储装置(包括电子邮件和协作数据/信息共享系统)在计算设备之间容易地传输这些数据/信息以用于存储和使用。

图10示出了用于处理在计算系统处从远程源(例如,个人计算机1004、平板计算设备1006、或移动计算设备1008,如上所述)接收到的数据的系统的架构的一个方面。服务器设备1002处显示的内容可以存储在不同的通信信道或其它存储类型中。例如,各种文档可以使用目录服务1022、web门户1024、邮箱服务1026、即时消息传送存储1028、或社交网站1030来存储。强标识请求组件1021可以由与服务器设备1002通信的客户端采用,和/或强标识检索组件1020可以由服务器设备1002采用。服务器设备1002可以通过网络1015来提供去往和来自客户端计算设备(例如,个人计算机1004、平板计算设备1006和/或移动计算设备1008(例如,智能电话))的数据。举例而言,上面描述的计算机系统可以体现在个人计算机1004、平板计算设备1006和/或移动计算设备1008(例如,智能电话)中。计算设备的这些实施例中的任何实施例可以从存储装置1016获得内容,以及接收可用于在图形始发系统处进行预处理或在接收计算系统处进行后处理的图形数据。

图11示出了可以执行本文所公开的一个或多个方面的示例性平板计算设备1100。另外,本文所描述的方面和功能可以在分布式系统(例如,基于云的计算系统)上操作,其中应用功能、存储器、数据存储和检索以及各种处理功能可以通过分布式计算网络(例如互联网或内联网)彼此远程操作。可以经由机载计算设备显示器或经由与一个或多个计算设备相关联的远程显示单元来显示各种类型的用户界面和信息。例如,可以在各种类型的用户界面和信息被投影到的墙壁表面上显示各种类型的用户界面和信息并与其交互。可以用来实践本发明的各实施例的多个计算系统的交互包括击键输入、触摸屏输入、语音或其它音频输入、手势输入,其中相关联的计算设备装备有用于捕获和解释用户手势的检测(例如,相机)功能以用于控制计算设备的功能等等。

如从前述公开内容将理解的,本文技术的一个方面涉及一种系统,包括:至少一个处理器;以及存储指令的存储器,这些指令在被该至少一个处理器执行时执行包括以下操作的方法:生成资源;生成加密密钥对;将来自加密密钥对的公钥与资源进行关联;存储资源;以及将与资源有关的信息添加到资源索引,其中,资源通过与资源相关联的公钥来进行索引。在另外的示例中,与资源有关的信息包括对资源的实际位置进行标识的信息。在另外的示例中,该方法还包括:将来自加密密钥对的私钥存储在私有存储或密钥库中的至少一者中。在另外的示例中,将公钥与资源进行关联包括:将公钥添加到资源。在另外的示例中,将公钥与资源进行关联包括:将与公钥有关的信息添加到与资源相关联的元数据。在另外的示例中,资源包括以下各项中的至少一项:文档;网页;电子表格;演示;以及应用。在另外的示例中,该方法还包括:提供公钥,其中,提供公钥包括以下各项中的至少一项:将公钥发送给请求方设备;以及发布公钥。

本公开内容的另一示例性方面涉及一种系统,包括:至少一个处理器;以及存储指令的存储器,这些指令在被该至少一个处理器执行时执行包括以下操作的方法:检索与资源相关联的公钥;生成针对资源的请求,其中,针对资源的请求包括公钥;将针对资源的请求发送给资源主机;以及响应于发送请求而接收资源。在另外的示例中,该方法还包括:对资源执行至少一个验证操作。在另外的示例中,该至少一个验证操作包括:使用公钥来验证资源的数字签名。在另外的示例中,该至少一个验证操作包括:评估与资源相关联的证书和证书撤销列表中的至少一个。在另外的示例中,该方法还包括:提供与资源有关的验证信息。在另外的示例中,该方法还包括:检索与公钥相关联的域信息;以及使用域信息来标识资源主机。

本公开内容的另一示例性方面涉及一种方法,包括:生成资源;生成加密密钥对;将来自加密密钥对的公钥与资源进行关联;存储资源;以及将与资源有关的信息添加到资源索引,其中,资源通过与资源相关联的公钥来进行索引。在示例中,该方法还包括:将公钥发送给远程设备。在示例中,该方法还包括:从请求方接收针对资源的请求,其中,请求包括公钥;从资源索引访问与资源有关的信息,其中,与资源有关的信息是使用公钥来访问的;以及至少部分地基于与资源有关的信息,来检索资源;以及将资源提供给请求方。在示例中,该方法还包括:使用加密密钥对来生成证书。在示例中,该方法还包括:使用私钥来生成资源的数字签名。在另外的示例中,该方法还包括:提供公钥,其中,提供公钥包括以下各项中的至少一项:将公钥发送给请求方设备;以及发布公钥。在另外的示例中,资源包括以下各项中的至少一项:文档;网页;电子表格;演示;以及应用。

例如,上面参考根据本公开内容的各方面的方法、系统和计算机程序产品的框图和/或操作图示来描述了本公开内容的各方面。框中记录的功能/动作可以不按任何流程图所示的顺序发生。例如,连续示出的两个框实际上可以基本上同时执行,或者这些框有时可以以相反的顺序执行,这取决于所涉及的功能/动作。

本申请中提供的一个或多个方面的描述和说明并非旨在以任何方式限制或制约所要求保护的本公开内容的范围。本申请中提供的方面、示例和细节被认为足以传达所有权并使得其他人能够制作和使用所要求保护的本公开内容的最佳模式。所要求保护的本公开内容不应被解释为受限于本申请中提供的任何方面、示例或细节。无论是组合地还是单独地示出和描述,各种特征(在结构和方法两者上)旨在被选择性地包括或省略以产生具有特定特征集的实施例。已经提供了本申请的描述和说明,本领域技术人员可以设想落入本申请中体现的总体发明构思的更广泛方面的精神内的变型、修改和替代方面,这些变型、修改和替代方面不脱离所要求保护的本公开内容的更广泛范围。

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