用于内容请求数据的加密的系统和方法

文档序号:385325 发布日期:2021-12-10 浏览:3次 >En<

阅读说明:本技术 用于内容请求数据的加密的系统和方法 (System and method for encryption of content request data ) 是由 乔纳森·保罗·皮尔森 夏天 古风 全惠源 于 2020-04-01 设计创作,主要内容包括:限制在内容请求中接收的数据的存储的系统和方法包括获得用于资源提供者的公开加密密钥的数据处理系统。该数据处理系统可以从在客户端设备上运行的资源提供者的信息资源接收内容请求。该请求可以包括与一个或多个数据键相对应的一个或多个键值。该数据处理系统可以使用特定于资源提供者的加密策略来识别数据键,并使用公开加密密钥来加密键值。该数据处理系统可以以加密形式存储键值。该数据处理系统可以使用加密形式的键值生成数据报告,并提供对数据报告的访问。(A system and method of restricting storage of data received in a content request includes a data processing system that obtains a public encryption key for a resource provider. The data processing system may receive a content request from an information resource of a resource provider running on a client device. The request may include one or more key values corresponding to one or more data keys. The data processing system may identify the data key using a resource provider-specific encryption policy and encrypt the key value using a public encryption key. The data processing system may store the key value in encrypted form. The data processing system may generate a data report using the key value in an encrypted form and provide access to the data report.)

用于内容请求数据的加密的系统和方法

背景技术

在诸如互联网的计算机联网环境中,第三方内容提供者提供第三方内容项以在最终用户计算设备上显示。这些第三方内容项,例如,广告,可以显示在与相应发布者、客户端应用或者游戏应用等等相关联的网页上。

发明内容

至少一个方面针对一种系统,该系统包括至少一个处理器和存储计算机可执行指令的存储器。该计算机可执行指令在由至少一个处理器执行时,可以使至少一个处理器从与资源提供者相关联的资源提供者系统接收公开加密密钥,以对在与资源提供者相关联的对内容的请求中接收到的数据中的至少一部分数据进行加密。资源提供者系统可以维持与公开加密密钥相对应的私有加密密钥。至少一个处理器可以从客户端设备接收对内容的请求,该对内容的请求识别资源提供者的信息资源。该请求可以包括用于报告回给资源提供者系统的一个或多个数据值。一个或多个数据值中的每个数据值可以与相应的数据键相关联。至少一个处理器可以使用特定于资源提供者的加密策略来识别一个或多个数据值中的数据值。加密策略可以指示针对其将数据存储限制应用于相应的数据值的数据键集合。至少一个处理器可以基于确定数据值对应于包括在数据键集合中的数据键来确定将数据存储限制应用于数据值。至少一个处理器可以响应于将数据存储限制应用于数据值,使用公开加密密钥对数据值进行加密,以生成加密的数据值。至少一个处理器可以在与数据处理系统相关联的数据库中存储与关于至少一个事件的数据相关联的加密数据值,该至少一个事件与对内容的请求相关联。至少一个处理器可以使用加密的数据值生成报告,该报告指示与资源提供者的一个或多个信息资源以及由一个或多个信息资源进行的对内容的请求相关联的性能数据。至少一个处理器可以为资源提供者提供对报告的访问。可以使用资源提供者系统维持的私有密钥对加密的数据值进行解密。

至少一个方面针对一种方法,该方法包括:通过包括一个或多个处理器的数据处理系统从与资源提供者相关联的资源提供者系统接收公开加密密钥,以对在与资源提供者相关联的对内容的请求中接收到的数据中的至少一部分数据进行加密。资源提供者系统可以维持与公开加密密钥相对应的私有加密密钥。该方法可以包括数据处理系统从客户端设备接收对内容的请求,所述对内容的请求识别资源提供者的信息资源。该请求可以包括用于报告回给资源提供者系统的一个或多个数据值。一个或多个数据值中的每个数据值可以与相应的数据键相关联。该方法可以包括数据处理系统使用特定于资源提供者的加密策略来识别一个或多个数据值中的数据值。加密策略可以指示针对其将数据存储限制应用于对应的数据值的数据键集合。该方法可以包括数据处理系统基于确定数据值对应于包括在数据键集合中的数据键来确定将数据存储限制应用于数据值。该方法可以包括:数据处理系统响应于将数据存储限制应用于数据值,使用公开加密密钥对数据值进行加密,以生成加密的数据值。该方法可以包括数据处理系统在与数据处理系统相关联的数据库中与关于至少一个事件的数据相关联地存储加密的数据值,该至少一个事件与对内容的请求相关联。该方法可以包括数据处理系统使用加密的数据生成报告,该报告指示与资源提供者的一个或多个信息资源以及由一个或多个信息资源做出的对内容的请求相关联的性能数据。该方法可以包括数据处理系统为资源提供者提供对报告的访问。可以使用资源提供者系统维持的私有密钥对加密的数据值进行解密。

至少一个方面针对一种存储计算机可执行指令的非临时性计算机可读介质,该计算机可执行指令在由至少一个处理器执行时使至少一个处理器从与资源提供者相关联的资源提供者系统接收公开加密密钥,以对在与资源提供者相关联的对内容的请求中接收到的数据中的至少一部分数据进行加密。资源提供者系统可以维持与公开加密密钥相对应的私有加密密钥。至少一个处理器可以从客户端设备接收对内容的请求,该对内容的请求识别资源提供者的信息资源。该请求可以包括用于报告回给资源提供者系统的一个或多个数据值。一个或多个数据值中的每个数据值可以与相应的数据键相关联。至少一个处理器可以使用特定于资源提供者的加密策略来识别一个或多个数据值中的数据值。加密策略可以指示针对其将数据存储限制应用于相应的数据值的数据键集合。至少一个处理器可以基于确定数据值对应于包括在数据键集合中的数据键来确定将数据存储限制应用于所述数据值。至少一个处理器可以响应于将数据存储限制应用于数据值,使用公开加密密钥对数据值进行加密,以生成加密的数据值。至少一个处理器可以在与数据处理系统相关联的数据库中与关于至少一个事件的数据相关联地存储加密的数据值,该至少一个事件与对内容的请求相关联。至少一个处理器可以使用加密的数据值生成报告,该报告指示与资源提供者的一个或多个信息资源以及由一个或多个信息资源做出的对内容的请求相关联的性能数据。至少一个处理器可以为资源提供者提供对报告的访问。可以使用由资源提供者系统维持的私有密钥对加密的数据值进行解密。

这些和其他方面以及实施方式在下面详细讨论。前述信息和以下详细描述包括各个方面和实施方式的说明性示例,并且提供用于理解所要求保护的方面和实施方式的性质和特征的概述或框架。附图提供对各个方面和实施方式的说明和进一步理解,并且被并入本说明书中并构成本说明书的一部分。将理解的是,方面和实施方式可以被组合,并且在一个方面或实施方式的上下文中描述的特征可以在其他方面的上下文中实施。

附图说明

附图并非旨在按比例绘制。在各个附图中,相似的附图标记和名称指示相似的元素。为了清楚起见,并非在每个附图中都标记了每个组件。在附图中:

图1是描绘根据说明性实施方式的用于对内容请求中提供的数据实施数据存储(或记录)限制的环境的一种实施方式的框图。

图2是图示用于限制所接收到的数据的存储的方法的流程图。

图3示出根据说明性实施方式的说明性计算机系统的总体架构。

具体实施方式

下面是与保护包括在诸如第三方内容请求的内容请求中的数据的完整性和私密性的方法、装置和系统有关的各种概念以及其实施方式的更加详细的描述。因为所描述的概念不限于任何特定的实施方式,所以可以以多种方式中的任何一种来实现上面介绍的以及下面将详细讨论的各种概念。例如,尽管在此内容或内容项可以被称为广告,但是将会领会到,内容或内容项可以是任何合适的内容。

诸如广告分发系统的内容分发系统可以响应于来自客户端设备的内容请求来供应第三方内容,例如,广告。每个内容请求可以识别在相应的客户端设备上触发对内容的请求的资源提供者的信息资源。信息资源的示例可以包括网页、客户端应用或其组件、社交媒体平台或其组件、游戏平台或其组件、或游戏应用或其组件等等。资源提供者可以包括信息资源的发布者或所有者或其代理。信息资源可以包括可执行指令,该可执行指令在由客户端设备执行时可以使客户端设备将对内容的请求发送到内容分发系统或其数据处理系统。例如,网页可以包括内容位(例如,广告位),其包括相应的计算机可执行指令。当由客户端设备执行时,用于内容位的计算机可执行指令使客户端设备发送对内容项的请求以显示在内容位中。

资源提供者的资源提供者系统可以与内容分发系统通信。资源提供者系统可以从内容分发系统接收例如资源提供者的一个或多个信息资源的性能数据。性能数据可以包括例如信息资源上服务的内容项的数量、客户端设备与信息资源上供应的内容项交互的数量或速率、信息资源上供应的内容项的转换数量或转换速率、资源提供者的收益数据或其组合等。性能数据可以包括统计数据、确定性数据或两者的组合。内容分发系统可以根据一个或多个上下文准则来对性能数据进行排列或归类。上下文准则可以包括,例如,对内容的请求的日期或定时、客户端设备类型、客户端设备标识符(ID)、用户账户、客户端设备地理位所、触发对内容的请求的信息资源、在其处做出对内容的请求的阶段(例如,游戏或应用阶段)或其组合等。上下文准则(或上下文数据)的使用可以帮助资源提供者系统或资源提供者优化相应信息资源的性能。

客户端设备在执行信息资源的指令(例如,相应内容位的指令)之后,可以将数据段插入或嵌入对内容的请求中。数据段可以包括一个或多个上下文准则,以促进根据上下文准则向资源提供者系统报告性能数据。例如,可执行指令可以使客户端设备在对内容的请求中嵌入一个或多个数据值,诸如时间值、日期值、客户端设备类型、客户端设备ID、用户账号、客户端设备位所、信息资源ID或URL、游戏阶段ID、视频帧ID或编号、或其组合等。每个数据值可以对应于相应的数据键(或数据字段)。对内容的请求中包括的数据值可以具有敏感性质,并且可以包括资源提供者(或资源提供者系统)想要保持保密或私有的信息。

将数据值(例如,指示上下文数据)发送到内容分发系统会增加这种数据暴露于潜在的未授权的访问或滥用的风险。例如,内容分发系统可以将在对内容的请求中接收到的数据存储在数据库中。破坏数据库的安全性可能导致未授权访问其中存储的数据。此外,由内容分发系统发送到资源提供者系统的性能数据报告可能会受到例如中间人攻击(MITM)攻击。对内容的请求中提供的数据的任何破坏都可能对资源提供者和内容分发系统具有损害后果,并且如果不是这两者的不利因素,则能够增加至少内容分发系统的潜在不利因素。

为了增强在对内容的请求中发送的上下文数据的安全性,信息资源可以使客户端设备对键值(或与相应数据键相对应的数据值)进行加密。例如,信息资源可以包括加密指令,该加密指令当由访问信息资源的客户端设备执行时,可以使客户端设备对键值进行加密并将加密的键值插入内容请求中。然而,资源提供者可以选择其键值将被加密的数据键列表,并且这种子集可以随着时间而变化。要对其键值进行加密的数据键列表的动态性质要求对信息资源的可执行指令进行连续更新,或将要对其对应的键值进行加密的数据键列表传达给客户端设备。一方面,对信息资源的可执行指令的连续更新可能给资源提供者带来不必要的负担,因为对数据键列表的改变可能相对频繁。另一方面,利用每个要做出的对内容的请求将其键值要被加密的数据键列表传达给客户端设备会导致通信带宽和客户端设备的计算资源的低效使用。

另外,假设信息资源的指令在客户端设备上执行,则存在客户端设备可能弄乱信息资源的指令的风险,例如,通过消除相应的加密指令或修改其中使用的加密密钥。最后,相对于客户端设备级别的加密,存在一个隐性期望,即,所有或至少大多数信息资源都将包括使用资源提供者的公开加密密钥对键值进行加密的加密指令。这种期望可能不合理,导致许多内容请求中的键值未加密。

在当前公开中,基于由资源提供者系统或相应资源提供者指定的或与其相关联的策略,内容分发系统可以针对在对内容的请求中接收并由内容分发系统记录的上下文数据实施数据存储限制。资源提供者系统可以指定数据键列表(或集合),所述数据键列表(或集合)的对应数据值将由内容分发系统以加密形式存储或记录。例如,每个资源提供者系统可以将其对应值将被加密的数据键列表以及相应的公开加密密钥提供给内容分发系统。在一些实施方式中,内容分发系统可以基于例如内容分发系统已知的一个或多个属性来推断其对应值将被加密的数据键列表。在接收到识别资源提供者系统的信息资源的对内容的请求时,内容分发系统可以识别请求中的哪些数据值对应于资源提供者系统提供的列表中的数据键。内容分发系统可以对识别的值进行加密并将其以加密形式存储在数据库中。当生成和/或向资源提供者系统提供报告时,内容分发系统可以使用键值的加密形式。在接收到性能报告时,资源提供者系统可以使用对应于公共密钥的私有密钥来解密以加密形式包括在报告中的任何数据值。

上述数据存储限制方法基于各种上下文数据或准则来维持对资源提供者系统报告数据(例如,性能报告)的特征,同时增强在内容请求中接收到的上下文数据的完整性和安全性。以加密形式存储(或记录)至少一部分这样的数据甚至防止数据处理系统访问记录的数据。一旦数据被加密,数据处理将无法解密和访问数据。同样,在内容分发系统上实施加密针对所有资源提供者允许数据保护。在一些实施方式中,内容分发系统可以在加密之前使用键值来选择内容项。

图1是描绘根据说明性实施方式的用于对内容请求中提供的数据实施数据存储(或记录)限制的环境100的一种实施方式的框图。环境100可以包括至少一个数据处理系统110、一个或多个内容提供者计算设备115、一个或多个发布者计算设备120、一个或多个客户端设备125以及网络105。数据处理系统110、一个或多个内容提供者计算设备115、一个或多个发布者计算设备120以及一个或多个客户端设备125可以经由网络105彼此通信地耦合。

数据处理系统110可以包括至少一个处理器(或处理电路)和存储器。存储器可以存储计算机可执行指令,该计算机可执行指令在由至少一个处理器执行时使至少一个处理器执行本文所述的一个或多个操作。至少一个处理器可以包括微处理器、专用集成电路(ASIC)、现场可编程门阵列(FPGA)等或其组合。存储器可以包括但不限于电子、光学、磁性或能够向至少一个处理器提供程序指令的任何其他存储或传输设备。存储器可以包括软盘、CD-ROM、DVD、磁盘、存储芯片、ASIC、FPGA、只读存储器(ROM)、随机存取存储器(RAM)、电可擦除ROM(EEPROM)、可擦除-可编程ROM(EPROM)、闪存、光学介质或至少一个处理器可以从其中读取指令的任何其他合适的存储器。指令可以包括来自任何合适的计算机编程语言的代码。数据处理系统110可以包括可以执行各种功能的一个或多个计算设备或服务器。在一些实施方式中,数据处理系统110可以包括被配置成主持拍卖的广告拍卖系统。在一些实施方式中,数据处理系统110可以不包括广告拍卖系统,但是可以经由网络105与广告拍卖系统通信。

网络105可以包括计算机网络,诸如互联网、局域网(LAN)、广域网(WAN)、城域网、一个或多个内部网、卫星网络、蜂窝网络或网络、光网络、其他类型的数据网络或其组合。数据处理系统110可以经由网络105与一个或多个内容提供者计算设备115、一个或多个内容发布者计算设备120或一个或多个客户端设备125通信。网络105可以包括任何数量的网络设备,诸如网关、交换机、路由器、调制解调器、中继器和无线接入点等等。网络105还可以包括诸如计算机服务的计算设备。网络105还可以包括任何数量的硬连线和/或无线连接。

一个或多个内容提供者计算设备115可以包括计算机服务器、个人计算机、手持设备、智能电话或由诸如广告商或其代理的内容提供者实体操作的其他计算设备。一个或多个内容提供者计算设备115可以向数据处理系统110提供诸如文本内容、图像内容、视频内容、动画内容、内容项(例如,创意或广告)和/或统一资源定位符的内容以及其他类型的内容,用于显示在信息资源中。具体而言,给定内容提供者的一个或多个内容提供者计算设备115可以是内容项的源或用于生成该内容提供者的内容项的内容。内容项可以用于显示在客户端设备125上渲染的信息资源中,所述信息资源诸如网站、搜索结果的网页、客户端应用、游戏应用或平台、开源内容共享平台(例如,YOUTUBE、DAILYMOTION或VIMEO)或社交媒体平台等。

数据处理系统110可以提供可经由内容提供者计算设备115访问的一个或多个用户接口,以允许内容提供者实体生成相应的内容提供者账户,或生成相应的活动(例如,广告活动)。用户接口可以允许内容提供者实体将诸如内容项、相应登陆页面的统一资源定位符(URL)或用于创建内容项的媒体内容的相应内容上传到数据处理系统110或其他远程系统。内容提供者计算设备115可以经由用户接口提供其他信息,诸如支付和预算信息、相对于何时和何地供应内容项的偏好或限制或其组合等。

内容发布者计算设备120可以包括由内容发布实体操作以经由网络105提供主要内容以显示的服务器或其他计算设备。主要内容可以包括网站、网页、客户端应用、游戏内容、社交媒体内容或开放源内容共享网页等,以供在客户端设备125上显示。主要内容的页面、视频段或其他单元可以包括诸如与内容位(例如,广告位)相关联的指令的可执行指令,所述可执行指令当主要内容显示在客户端设备上时使客户端设备125从数据处理系统110或其他远程系统请求第三方内容位。响应于这样的请求,数据处理系统或其他远程系统可以运行拍卖以确定哪些内容项要提供给客户端设备125。在一些实施方式中,内容发布者计算设备120可以包括用于供应(或流传输)视频或游戏内容的服务器。内容发布者计算设备120可以将公开加密密钥和数据键列表上传到数据处理系统110,该数据键列表的对应值将用该公开加密密钥进行加密。

数据处理系统110可以提供可经由内容发布者计算设备120访问的一个或多个用户接口,以允许资源提供者实体生成相应的资源提供者账户。在生成相应的账户时,内容发布者系统(或计算设备120)可以经由用户接口提供相应的域名和相应网页的URL。域名和/或网页URL允许数据处理系统识别由资源提供者的网页生成的内容请求。具体地,内容请求可以包括触发客户端设备125上的内容请求的网页的标识符(例如,URL或域名)。数据处理系统110可以将内容请求中的标识符与由资源提供者提供的URL或域名进行匹配。

客户端设备125可以包括计算设备,该计算设备被配置成获取并显示与内容发布者(或资源提供者)相关联的主要内容以及由内容提供者计算设备115提供的第三方内容(例如,诸如广告的第三方内容项)。客户端设备可以经由网络105请求和接收此类内容。客户端设备125可以包括台式计算机、膝上型计算机、平板设备、智能手机、个人数字助理、移动设备、消费者计算设备、服务器、数字视频记录器、机顶盒、智能电视、视频游戏机或任何其他能够经由网络105进行通信并消费媒体内容的计算设备。虽然图1示出了单个客户端设备125,但是环境100可以包括由数据处理系统110服务的多个客户端设备125。类似地,多个内容提供者计算设备115和/或多个内容发布者计算设备120可以是经由网络105通信地耦合到数据处理系统110。

数据处理系统110可以包括至少一个计算机服务器,该计算机服务器具有一个或多个处理器以及用于存储计算机可执行指令的存储器。例如,数据处理系统110可以包括位于至少一个数据中心或服务器场中的多个计算机服务器。在一些实施方式中,数据处理系统110可以包括第三方内容放置系统,例如,广告服务器或广告放置系统。数据处理系统110可以包括策略管理模块130、加密模块135、数据报告模块140和数据库145。策略管理模块130、加密模块135和数据报告模块140中的每一个可以被实现为软件模块、硬件模块或两者的组合。例如,这些模块中的每一个可以包括处理单元、服务器、虚拟服务器、电路、引擎、代理、电器或其他逻辑设备,诸如被配置成经由网络与数据库145或与其他计算设备通信的可编程逻辑阵列。数据处理系统110的计算机可执行指令可以包括指令,这些指令当由一个或多个处理器执行时,使数据处理系统110执行以下关于图2讨论并且与策略管理模块130、加密模块135、数据报告模块140和数据库145有关的操作。

参考图2,描述了流程图,该流程图示出用于限制在内容请求中接收的数据的存储的方法200。方法200可以包括获得公开加密密钥(步骤205)。方法200可以包括接收包括与一个或多个数据键相对应的一个或多个键值的内容请求(步骤210);和使用加密策略来识别数据键(步骤215)。方法200可以包括:确定将数据存储限制应用于与所识别的数据键相对应的数据值(步骤220);和使用公开加密密钥对键值进行加密(步骤225)。方法200可以包括以加密形式存储键值(步骤230)。方法200可以包括:使用已加密形式的键值来生成报告(步骤235);和提供对报告的访问(步骤240)。

参考图1和图2,方法200可以包括数据处理系统110获得资源提供者的公开加密密钥(步骤205)。例如,策略管理模块130可以从与资源提供者(或内容发布者)相关联的资源提供者系统接收公开加密密钥。策略管理模块130可以提供例如供内容发布者计算设备120访问的用户接口。与资源提供者相关联的内容发布者计算设备120可以访问用户接口并提供公开加密密钥。公开加密密钥可以由数据处理系统110使用,以对在与资源提供者相关联的内容请求中接收到的数据的至少一部分进行加密。内容请求可以由客户端设备125访问的资源提供者的信息资源触发。资源提供者系统或其内容发布者计算设备120可以维持与公开加密密钥相对应的私有加密密钥。

方法200可以包括数据处理系统110从客户端设备125接收包括一个或多个数据值的对内容的请求(步骤205)。该请求可以识别资源提供者的信息资源,并且可以包括与一个或多个数据键相对应的一个或多个数据值。资源提供者的信息资源(例如,网页、客户端应用、游戏应用或社交媒体平台的页面或单元)在被客户端设备125访问时可以触发由客户端设备125发送到数据处理系统110的对第三方内容的请求。对第三方内容的请求可以包括一个或多个数据值(或键值),该数据值(或键值)表示用于一个或多个对应数据键(或数据字段)的值。数据键可以包括例如用于选择内容项的一个或多个关键字、客户端设备125的设备ID、与客户端设备125相关联的用户账户、客户端设备125的地理位所、在其中触发请求的信息资源的阶段、触发内容请求之前的导航页面集合或它们的组合等。

数据值可以由数据处理系统110在提供给或发送给资源提供者系统的报告(例如,性能报告)中使用。例如,数据处理系统110可以在报告回给资源提供者系统的数据中包括数据值的至少一部分。数据值可以在对内容的请求中被提供为自由格式文本。例如,请求可以包括一系列数据键-数据值(或键-值)对。

策略管理模块130可以从内容发布者计算设备120经由网络105接收特定于资源提供者的加密策略的指示。内容发布者计算设备120可以经由用户接口或应用编程接口(API)等提供加密策略的指示。加密策略可以指示数据键集合或列表,针对所述数据键集合或列表数据存储限制应用于对应的数据值。例如,加密策略可以指定数据键(或数据字段)列表或集合,所述数据键(或数据字段)列表或集合的对应的数据值(或键值)在内容请求中提供时将由数据处理系统110以加密形式维持。策略管理模块130可以维持将加密策略、数据键列表和/或公开加密密钥与资源提供者账户或资源提供者的域名相关联的数据结构。在资源提供者具有多个域或应用的情况下,则资源提供者可以为每个域或应用提供单独的公开加密密钥和/或单独的加密策略。

在一些实施方式中,策略管理模块130可以接收数据键集合的指示,针对所述数据键集合将数据存储限制应用于对应的数据值。策略管理模块130可以在数据结构中使用数据键集合的指示的指示来生成特定于资源提供者的加密策略。例如,策略管理模块130可以生成表(或其他数据结构),该表列出数据键、要对与每个数据键相对应的数据值执行的动作(例如,加密)以及每个列出的动作的描述或细节。每个动作的描述或细节可以包括用于执行加密动作的公开加密密钥。这样的数据结构可以允许为不同的数据键定义单独的动作或单独的公开加密密钥。

数据库145可以存储与资源提供者账户相关联的数据,诸如信息资源的URL或标识符、公开加密密钥、指示加密策略的信息和/或资源提供者系统(或内容发布者计算设备120)提供的其他数据。策略管理模块130可以例如响应于资源提供者系统或对应的内容发布者计算设备120提供的新数据或修改而更新数据库145中的资源提供者数据。在内容发布者计算设备120提供公开加密密钥但未指定要使用的加密策略的情况下,则策略管理模块130可以将默认加密策略与资源提供者账户相关联。例如,默认加密策略可以强制实行所有键值都应以加密形式维持。

方法200可以包括数据处理系统110使用特定于资源提供者的加密策略来识别内容请求中的具有对应的数据值的一个或多个数据键中的数据键(步骤215),和确定将数据存储限制应用于与所识别的数据键相对应的数据值(步骤220)。加密策略模块130可以扫描对内容的请求以检索URL或其他标识符,该URL或其他标识符识别生成请求的信息资源或对应的资源提供者。使用检索到的识别信息资源的URL或标识符,策略管理模块130可以识别与信息资源关联的资源提供者账户,并确定与资源提供者账户相关联的加密策略。例如,策略管理模块130可以检索加密策略的条件或规则。条件或规则可以包括加密策略(或数据存储限制)应用于的数据键列表(如果有)。策略管理模块130还可以从对内容的请求中识别出具有包括在请求中的对应数据值的数据键。

如果资源提供者账户指示默认加密策略,则策略管理模块130可以确定数据存储限制将被应用于对内容的请求中的所有数据值(或键值)。数据存储限制可以暗示数据值将由数据处理系统110以加密形式记录(或存储)。如果加密策略不是默认策略,则策略管理模块130可以将其对应的数据值被包括在内容请求中的数据键与在与资源提供者账户相关联的加密策略中列出的数据键进行比较。基于该比较,策略管理模块130可以识别请求中的数据值,该数据值的对应数据键与资源提供者账户的加密策略列出的数据键之一匹配。策略管理模块130可以在请求中识别一个以上的数据值,所述一个以上的数据值的对应数据键与资源提供者账户的加密策略列出的其他数据键匹配。策略管理模块130可以确定数据存储限制要被应用于所识别的数据值。

数据存储限制可以规定识别的数据值将由数据处理系统110以加密形式(而不是以非加密形式)维持。数据处理系统110不能以非加密形式维持任何识别的数据值。这样,数据存储限制对识别的数据值强制实行数据安全性的增加层(例如,加密)。

方法200可以包括数据处理系统110响应于对数据值应用数据存储限制而使用公开加密密钥对数据值进行加密,以生成对应的加密的数据值(步骤225)。策略管理模块130可以将识别的数据值提供给加密模块135。策略管理模块130还可以将公开加密密钥提供给加密模块135。加密模块135可以从数据库145或从数据结构中检索公开加密密钥。加密模块135可以使用公开加密密钥来加密所识别的数据值。加密模块135可以单独地对每个识别的数据值进行加密。

加密模块135可以将每个识别的数据值与“盐(salt)”值进行级联。“盐”值可以包括随机数据串或随机数。通过将数据值与数据串进行级联,加密模块135可以生成修改后的数据值(或数据值的修改版本)。修改后的数据值可以具有例如,“盐:值”或“值:盐”形式,其中“值”代表数据值,并且“盐”代表盐值。加密模块135可以在数据值之前、之后或中间某处添加盐值以形成修改后的数据值。“盐:值”和“值:盐”中的冒号仅用于可读性,但是加密模块135在生成修改后的数据值时不必包括冒号。

加密模块135可以对修改后的数据值进行加密以生成数据值的加密版本。将数据值与“盐”值级联起来添加了另一层的数据保护。即使入侵实体要成功解密数据值的加密版本,该实体也将无法在修改后的数据值中区分原始数据值和盐值。资源提供者系统或内容发布者计算设备120可以具有修改后的数据值的结构的先验知识。例如,内容发布者计算设备120可以知道在修改的数据值内盐值的长度和位置。盐值的长度和位置可能从一个资源提供者到另一个而变化。数据处理系统110或加密模块135可以向内容发布者计算设备120提供盐值的长度和位置(例如,起点和长度)的指示。总之,修改后的数据值内的盐值的长度和位置可以特定于资源提供者。

方法200可以包括数据处理系统110,其将加密的数据值与关于至少一个事件的数据相关联地存储,所述至少一个事件与对内容的请求相关联(步骤230)。数据报告模块140可以在数据库145中存储和维持数据,该数据例如与响应于每个请求而供应的内容项、客户端设备与所供应的内容项的交互、响应于在信息资源上显示内容而由资源提供者赚取的金额、或其组合等等有关。数据报告模块140可以将这样的数据与加密的数据值相关联地存储。

例如,数据报告模块140可以响应于包括特定关键字的对内容的请求而存储供应给客户端设备125的内容项的指示。数据报告模块140可以维持将与特定关键字相对应的加密数据值与相关联的这样的内容项的指示相关联的数据结构(例如,表或链接列表)。以类似的方式,数据报告模块140可以维持数据结构,该数据结构将与(一个或多个客户端设备125在所述客户端设备请求内容时所位于的)地理位所相对应的加密数据值与在该地理位所处供应给客户端设备125并且触发客户端设备交互的内容项相关联。数据报告模块140可以维持表示关键字的加密数据值列表,该关键字导致不合适或令人反感的内容供应给客户端设备125。数据报告模块140可以存储将加密数据值中的一个或者多个与指示事件的数据相关联的各种其他数据结构,所述事件与包括与一个或多个加密数据值相对应的键值的内容请求相关联。

在一些实施方式中,数据报告模块140可以与对应的数据键的指示相关联地存储加密的数据值。数据键的指示可以以非加密形式存储。这样,当对应的指示以非加密形式存储时,数据报告模块140可以基于数据键来搜索存储的数据。换句话说,可以与对应的非加密的纯文本数据键相关联地存储或记录加密的数据键值。

方法200可以包括数据处理系统110使用存储在数据库中的加密数据值来生成报告(步骤235)。例如,数据报告模块140可以生成一个或多个报告,包括为给定的信息资源或给定的资源提供者记录的所有数据。在一些实施方式中,数据报告模块140可以从内容发布者计算设备120接收对性能数据的查询。该查询可以针对例如相对于所供应的内容项以及与所供应的内容项的交互的各种关键词的性能。数据报告模块140可以生成列出各种关键字的性能的报告。在报告中,关键字可以以加密形式呈现。在一些实施方式中,数据报告模块140可以在定期的基础上生成一个或多个预定义报告。内容发布者计算设备120可以例如通过数据处理系统110提供的用户接口来定义要包括在报告中的数据。

方法200可以包括数据处理系统110,其为资源提供者系统(或内容发布者计算设备120)提供对报告的访问。数据报告模块140可以将生成的报告发送到内容发布者计算设备120。该报告可以包括加密的数据值,诸如在与资源提供者系统相关联的内容请求中使用的关键字或地理位所的加密版本。在接收到报告之后,内容发布者计算设备120可以使用与资源提供者的公开加密密钥相对应的私有解密密钥来解密报告中的已加密的数据值。

在一些实施方式中,数据报告模块140可以经由相应的网页或相应的客户端应用提供对所生成的报告的访问。例如,资源提供者系统可以在例如云上的远程计算设备中维持相应私有解密密钥的加密副本。数据报告模块140可以提供内容发布者计算设备120可访问的用户接口。用户接口可以允许内容发布者计算设备120提供到私有解密密钥的加密副本的链接以及用于解密私有解密密钥的加密副本的密码。在一些实施方式中,用户接口还可以允许内容发布者计算设备120提供指示要报告给资源提供者系统或内容发布者计算设备120的数据的查询。

数据报告模块140可以生成如在上面所讨论的报告以呈现给内容发布者计算设备120。例如,数据报告模块140可以使用查询或预定义的报告格式来识别要呈现给内容发布者计算设备120的数据。数据报告模块140可以使用经由用户接口提供的链接下载私有解密密钥的加密副本,并且使用由内容发布者计算设备120提供的密码来解密该加密副本。数据报告模块140可以使用私有解密密钥来解密要呈现(或报告)给内容发布者计算设备120的数据中的任何加密数据值。然后,数据报告模块140可以在相应的网页或相应的客户端应用上呈现具有非加密的形式的数据值的报告数据(或报告)。在解密加密的数据值之后,数据报告模块140(或数据处理)不保存或维持私有密钥的任何副本。

本文描述的方法和系统允许增强由数据处理系统110维持的资源提供者数据的完整性和安全性,同时仍然向资源提供者提供对此类数据的访问。数据处理系统110施加的数据存储限制显著地降低危及敏感数据键和由资源提供者的信息资源做出的内容请求中嵌入的对应数据值的私密性或完整性的任何风险。

要注意,由数据处理系统110报告给资源提供者系统的数据(或报告)可以是任何格式。其可以包括统计性能数据和/或确定性性能数据。数据可以包括文本数据、图像数据、图表数据、视频数据或其他格式的数据。

在这里讨论的系统收集关于用户的个人信息或者可以利用个人信息的情形下,可以给用户提供用于控制程序或特征是否收集个人信息(例如,关于用户的社交网络、社交动作或活动、用户的偏好或用户的当前位所的信息)或者用于控制是否和/或如何从内容服务器接收可能与用户更相关的内容的机会。此外,某些数据可以在它被存储或者使用之前被以一种或多种方式处理,使得当生成参数(例如,人口统计的参数)时移除关于用户的某一信息。例如,可处理用户的身份,使得对该用户来说不可确定识别的信息,或者可以在获得位所信息的情况下使用户的地理位所一般化(诸如到城市、邮政编码或州级别),使得无法确定用户的特定位所。因此,用户可以控制信息如何关于用户被收集并由内容服务器使用。

图3示出根据一些实施方式的可以被采用以实现本文所讨论的任何计算机系统(包括系统110及其组件,诸如策略管理模块130、加密模块135和数据报告模块140)的说明性计算机系统300的总体架构。计算机系统300可以用于经由网络105提供信息以供显示。图3的计算机系统300包括通信地耦合到存储器325的一个或多个处理器320、一个或多个通信接口305、以及一个或多个输出设备310(例如,一个或多个显示单元)和一个或多个输入设备315。处理器320可以被包括在数据处理系统110或系统110的其他组件中,诸如策略管理模块130、加密模块135和数据报告模块140。

在图3的计算机系统300中,存储器325可以包括任何计算机可读存储介质,并且可以存储诸如用于为相应系统实现本文所述的各种功能性的处理器可执行指令的计算机指令,以及与其相关、由其生成或经由通信接口或输入设备(如果存在)接收的任何数据。再次参考图1的环境100,数据处理系统110可以包括存储器325,以存储例如与资源提供者账户有关的数据结构和/或信息等等。存储器325可以包括数据库145。图3中所示的处理器320可以被用于执行存储在存储器325中的指令,并且这样做还可以从存储器中读取或向存储器写入按照指令的执行而处理和/或生成的各种信息。

图3中所示的计算机系统300的处理器320还可以通信地耦合到通信接口305或控制通信接口305以按照指令的执行传送或接收各种信息。例如,通信接口305可以耦合到有线或无线网络、总线或其他通信装置,并且因此可以允许计算机系统300向其他设备(例如,其他计算机系统)传送信息或从所述其他设备接收信息。虽然在图1的系统中未明确示出,一个或多个通信接口促进在系统300的组件之间信息流动。在一些实施方式中,通信接口可以被配置(例如,经由各种硬件组件或软件组件)以提供网站作为对计算系统300的至少一些方面的访问门户。通信接口305的示例包括用户接口(例如,在网页内),用户可以通过该用户接口与数据处理系统300进行通信。

例如,可以提供图3所示的计算机系统300的输出设备310,以允许结合指令的执行来查看或以其他方式感知各种信息。可以提供输入设备315,例如,以允许用户在指令执行期间进行手动调整、进行选择、键入数据或以各种方式与处理器交互。本文进一步提供了与可用于本文所讨论的各种系统的通用计算机系统架构有关的附加信息。

本说明书中描述的主题和操作的实施方式可以在数字电子电路中或在包括在本说明书中公开的结构及其等同结构的有形介质、固件或硬件上体现的计算机软件中或其中一种或多种的组合中实现。本说明书中描述的主题的实现方式可以实现为一个或多个计算机程序,即,计算机程序指令的一个或多个模块,其被编码在计算机存储介质上以由数据处理装置执行或控制数据处理装置的操作。可以在人工生成的传播信号,例如,机器生成的电、光或电磁信号上编码程序指令,该信号被生成以对信息进行编码以传输到合适的接收器装置以由数据处理装置执行。计算机存储介质可以是或包括在计算机可读存储设备、计算机可读存储基板、随机或串行访问存储器阵列或设备或它们中的一个或多个的组合中。此外,虽然计算机存储介质不是传播信号,但是计算机存储介质可以包括以人工生成的传播信号编码的计算机程序指令的源或目的地。计算机存储介质还可以是一个或多个单独的物理组件或介质(例如,多个CD、磁盘或其他存储设备)或包含在其中。

本说明书中描述的操作可以被实现为由数据处理装置对存储在一个或多个计算机可读存储设备上或从其他源接收到的数据执行的操作。

术语“数据处理装置”、“数据处理系统”、“用户设备”或“计算设备”涵盖用于处理数据的所有类型的装置、设备和机器,例如包括前述的可编程处理器、计算机、片上系统、或多个或组合。该装置可以包括专用逻辑电路,例如,FPGA(现场可编程门阵列)或ASIC(专用集成电路)。除了硬件之外,该装置还可以包括为在讨论中的计算机程序创建执行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统、跨平台运行时环境、虚拟机或其中一个或多个的组合的代码。装置和执行环境可以实现各种不同的计算模型基础设施,诸如web服务、分布式计算和网格计算基础设施。策略管理模块130、加密模块135和数据报告模块140可以包括或共享一个或多个数据处理装置、计算设备或处理器。

计算机程序(也称为程序、软件、软件应用、脚本或代码)可以用任何形式的编程语言编写,包括编译或解释语言、声明性或过程语言。计算机程序可以以任何形式部署,包括作为独立程序或作为模块、组件、子例程、对象或其他适合在计算环境中使用的单元。计算机程序可以但是不必对应于文件系统中的文件。程序可以存储在保存其他程序或数据的文件的一部分(例如,存储在标记语言文档中的一个或多个脚本)、专用于讨论中的程序的单个文件、或多个协调文件(例如,存储一个或多个模块、子程序或部分代码的文件)中。可以将计算机程序部署为在位于一个站点或分布在多个站点并通过通信网络互连的一个计算机或多个计算机上执行。

可以通过执行一个或多个计算机程序的一个或多个可编程处理器来执行本说明书中描述的处理和逻辑流程,以通过对输入数据进行操作并生成输出来执行动作。过程和逻辑流程也可以由专用逻辑电路,例如,FPGA(场可编程门阵列)或ASIC(专用应用集成电路)执行,并且装置也可以实现为该专用逻辑电路。

例如,适于执行计算机程序的处理器包括通用和专用微处理器,以及任何种类的数字计算机的任何一个或多个处理器。通常,处理器将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的基本元件是用于根据指令执行动作的处理器和用于存储指令和数据的一个或多个存储器设备。通常,计算机还将包括一个或多个用于存储数据的大容量存储设备,例如,磁盘、磁光盘或光盘,或可操作地耦合至所述大容量存储设备以从中接收数据或对其传输数据,或者两者。然而,计算机不必具有此类设备。此外,计算机可以嵌入到另一个设备中,例如,移动电话、个人数字助理(PDA)、移动音频或视频播放器、游戏机、全球定位系统(GPS)接收器或便携式存储设备(例如,通用串行总线(USB)闪存驱动器)。适于存储计算机程序指令和数据的设备包括所有形式的非易失性存储器、介质和存储器设备,例如包括半导体存储器设备,例如,EPROM、EEPROM和闪存设备;磁盘,例如内部硬盘或可移动磁盘;磁光盘;以及CD ROM和DVD-ROM盘。处理器和存储器能够由专用逻辑电路补充或被并入专用逻辑电路中。

为了提供与用户的交互,本说明书中描绘的主题的实施方式能够在具有用于向用户显示信息的显示设备和键盘与用户能够通过其向计算机提供输入的定点设备的计算机上实现,所述显示设备例如是CRT(阴极射线管)、等离子体、或者LCD(液晶显示器)监视器,所述定点设备例如为鼠标和轨迹球。其它类型的设备也能够用于提供与用户的交互;例如,提供给用户的反馈可以包括任何形式的感觉反馈,例如,视觉反馈、听觉反馈或触觉反馈;并且能够以任何形式接收来自用户的输入,包括声音、语音或触觉输入。另外,计算机能够通过向用户使用的设备发送文档以及从用户使用的设备接收文档来与用户进行交互;例如,通过响应于从web浏览器接收到的请求将网页发送到用户客户端设备上的web浏览器。

本说明书描述的主题的实施方式可以在计算系统中实现,所述计算系统包括后端组件(例如,作为数据服务器)或包括中间件组件(例如,应用服务器)或包括前端组件(例如,具有图形用户界面或web浏览器的客户端计算机,用户可以通过该图形用户界面或web浏览器与本说明书中描述的主题的实施方式进行交互)或者一个或多个此类后端、中间件或前端组件的组合的计算系统中实现。系统的组件可以通过数字数据通信的任何形式或介质(例如,通信网络)互连。通信网络的示例包括局域网(“LAN”)和广域网(“WAN”)、网际网络(例如,互联网)和对等网络(例如,ad hoc对等网络)。

计算系统300可以包括内容提供者计算设备115、内容发布者计算设备120、客户端设备125或数据处理系统110的服务器或计算设备。例如,数据处理系统110可以包括一个或多个数据中心或服务器场中的一个或多个服务器。客户端和服务器通常彼此远离,并且通常通过通信网络进行交互。客户端和服务器之间的关系是通过在相应计算机上运行并彼此具有客户端-服务器关系的计算机程序而产生。在一些实施方式中,服务器将数据(例如,HTML页面)传送到客户端设备(例如,出于向与客户端设备交互的用户显示数据并从其接收用户输入的目的)。可以从服务器处的客户端设备接收在客户端设备处生成的数据(例如,用户交互的结果)。

尽管本说明书包含许多特定的实施细节,但是这些不应被解释为对任何发明或可要求保护的范围的限制,而应被解释为对本文所述的系统和方法的特定实施方式特定的特征的描述。在本说明书中在单独的实施方式的上下文中描述的某些特征也可以在单个实施方式中组合实施。相反,在单个实施方式的上下文中描述的各种特征也可以单独地或以任何合适的子组合在多个实施方式中来实施。而且,尽管以上可以将特征描述为以某些组合起作用并且甚至最初如此要求保护,但是在某些情况下,可以从组合中切除所要求保护的组合中的一个或多个特征,并且所要求保护的组合可以针对子组合或子组合的变体。

类似地,虽然在附图中以特定顺序描绘了操作,但是这不应理解为要求以所示的特定顺序或以连续的顺序执行这样的操作,或者执行所有图示的操作以实现期望的结果。在一些情况下,可以以不同的顺序执行权利要求中引用的动作,并且仍然实现期望的结果。另外,附图中描绘的过程不一定需要所示的特定顺序或连续顺序来实现期望的结果。

在某些情况下,多任务和并行处理可能是有利的。此外,在上述实施方式中的各种系统组件的分离不应被理解为在所有实施方式中都需要这种分离,并且应当理解,所描述的程序组件和系统通常可以被一起集成在单个软件产品中或打包到多种软件产品。例如,内容请求模块130和内容选择模块135可以是数据处理系统110一部分、单个模块、具有一个或多个处理模块的逻辑设备、一个或多个服务器或搜索引擎的一部分。

现在已经描述了一些说明性的实施方式和实施方式,显然的是,前述内容是说明性的而非限制性的,已经通过示例的方式呈现。特别地,尽管本文呈现的许多示例涉及方法动作或系统元素的特定组合,但是可以以其他方式组合那些动作和那些元素以实现相同的目标。仅结合一种实现方式讨论的动作、元素和特征不旨在被排除在其他实现方式或实现方式中的类似作用之外。

这里使用的措词和术语是出于描述的目的,而不应被认为是限制性的。本文中“包括”、“包含(comprising)”、“具有”、“包含(containing)”、“涉及”、“特征为”、“特征在于”及其变体的使用意在涵盖其后列出的项目、其等同物以及附加项目,以及仅由其后列出的项目组成的替代实施方式。在一种实施方式中,本文描述的系统和方法由所描述的元素、动作或组件中的一个、多于一个的每种组合或全部组成。

对本文中以单数形式提及的系统和方法的实现或元素或动作的任何引用也可以包含包括多个这些元素的实现,并且在本文中对任何实现或元素或动作的复数形式的任何引用也可以包含仅包括单个元素的实现。单数或复数形式的引用无意将当前公开的系统或方法、它们的组件、动作或元素限制为单个或多个配置。对基于任何信息、动作或元素的任何动作或元素的引用可以包括其中该动作或元素至少部分基于任何信息、动作或元素的实现。

本文公开的任何实施方式可以与任何其他实施方式组合,并且对“实施方式”、“一些实施方式”、“可替代实施方式”、“各种实施方式”、“一个实施方式”等的引用不一定是互斥的,并且旨在指示结合实施方式描述的特定特征、结构或特性可以被包括在至少一个实施方式。如本文所使用的这样的术语不一定全部指代相同的实施方式。任何实施方式可以以与本文公开的方面和实施方式一致的任何方式与任何其他实施方式包含性地或排他性地组合。

对“或”的引用可以被解释为包含性的,使得使用“或”描述的任何术语可以指示单个、一个以上以及所有所描述术语中的任何一个。

对于附图、详细描述或任何权利要求中的技术特征之后跟有附图标记的情况,附图标记已被包括以出于增加附图、详细描述和权利要求的可理解性的唯一目的。因此,附图标记或其缺失对任何权利要求元素的范围没有任何限制作用。

在不脱离其特性的情况下,本文中描述的系统和方法可以以其他特定形式来实现。尽管本文提供的示例涉及控制信息资源内容的显示,但是本文描述的系统和方法可以包括应用于其他环境。前述实施方式是说明性的,而不是限制所描述的系统和方法。因此,在此描述的系统和方法的范围由所附权利要求而不是前面的描述指示,并且在权利要求的等同含义和范围内的改变被涵盖在其中。

22页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种Profile数据的安全传输方法和相应装置

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类