安全多方计算归因的制作方法

文档序号:27757843发布日期:2021-12-03 22:49阅读:90来源:国知局
安全多方计算归因的制作方法

1.本公开一般涉及计算机技术领域,更具体地说,涉及转换的归因。
2.背景
3.计算机系统使用各种软件程序和方法来评估营销归因。归因描述了不同的动作和事件如何有助于营销和销售工作的成功。例如,cookie可以用来跟踪用户的在线动作。http cookie(也称为web cookie、互联网cookie、浏览器cookie或简称cookie)是用户浏览时,从网站发送并由用户的web浏览器存储在用户计算机上的小块数据。cookie允许网站记住有状态的信息(例如在线商店购物车中添加的商品)或记录用户的浏览活动(包括点击按钮、登录或记录过去访问过哪些页面)。
4.cookie可以导致用户的动作被存储在日志文件中,并且当用户进行购买时,日志文件可以指示用户先前观看了什么广告和内容。然而,许多关注用户隐私的用户和内容发布者不愿允许cookie跟踪个人的在线活动,尤其是当跟踪由第三方执行时。此外,许多较新的浏览器和操作系统实现了防止跨站点共享用户数据的标准。现有系统很难在保持足够的用户隐私的同时准确计算营销归因。
5.概述
6.内容提供商、广告商、测量公司、验证服务和浏览器开发商可能会合作,以在分析分布式数据时保护用户隐私。可以使用安全多方计算来获得归因结果,而不会损害用户隐私。内容提供商和广告商可以各自对计算签名,指示他们希望使用安全多方计算来共享数据。测量公司可以对该计算签名,指示测量公司已经评估了该计算,并且该计算将保护用户隐私。用户设备可以向验证服务确认各方已经对计算签名。用户设备可以向测量公司发送一次性标识符,这允许内容提供商和广告商存储的印象数据和转换数据被链接。内容提供商、广告商和测量公司可以执行安全多方计算,这允许广告商在不访问由内容提供商存储的用户数据的情况下评估归因结果。
7.本文描述了系统、制品和计算机实现的方法。所述组件可以执行动作,这些动作包括:向验证服务发送数字签名;从客户端设备接收对内容的请求;将内容和广告商的广告发送到客户端设备;存储关于广告的一次性标识符和印象数据;从测量公司接收一次性标识符;基于一次性标识符,将印象数据输入到安全多方计算;以及与测量公司和广告商一起计算安全多方计算。
8.在各种实施例中,动作可以包括使用安全多方计算的输出作为归因模型的输入。内容发布者可以生成一次性标识符。测量公司可以验证安全多方计算是安全的。安全多方计算的输出可能不包含个人可识别信息。数字签名可以识别内容发布者、广告商网站和测量公司。客户端设备可以响应于验证服务授权跨来源资源共享异常,向测量公司发送一次性标识符。
9.在各种实施例中,组件可以执行动作,这些动作包括:从内容发布者接收用于安全多方计算的第一数字签名;从广告商接收用于安全多方计算的第二数字签名;从测量公司接收用于安全多方计算的第三数字签名;从客户端设备接收跨来源资源共享验证请求;响
应于接收到跨来源资源共享验证请求,确定内容发布者、广告商服务器和测量服务器已对安全多方计算签名;以及向客户端设备发送验证响应。
10.说明书中描述的特征和优点并不包括全部,特别是,鉴于附图、说明书和权利要求,许多附加的特征和优点对于本领域普通技术人员来说将是显然的。此外,应当注意,说明书中使用的语言主要是出于可读性和指导性的目的而选择的,并且可能没有被选择来描绘或限制本发明的主题。
11.附图简述
12.图1示出了根据一个实施例的计算环境,其中安全多方计算用于归因。
13.图2示出了根据一个实施例,当利用安全多方计算进行归因时,在图1的不同实体之间发生的交互。
14.附图仅为了说明的目的而描绘本发明的实施例。本领域中的技术人员从下面的描述中将容易认识到,本文所示的结构和方法的替代实施例可以被采用而不偏离本文所述的本发明的原理。
15.详细描述
16.图1示出了使用安全多方计算来计算归因的系统100的详细视图。系统100可以包括内容发布者110、广告商服务器120、测量服务器130、验证服务140和客户端设备150。现在将更详细地描述这些不同的组件。
17.内容发布者110可以包括一个或更多个计算机、服务器和/或数据库,其被配置为生成可以通过网络访问的数字内容,例如网站或应用。内容发布者110可以被配置为代表第三方广告商(例如广告商服务器120)向客户端设备(例如客户端设备150)发送广告。内容发布者110可以被配置为存储由客户端设备150执行的动作的日志文件,例如客户端设备150访问的url和显示给客户端设备150的广告。内容发布者110可以存储维护内容发布者110的账户的用户的人口统计信息。
18.广告商服务器120可以包括一个或更多个计算机、服务器和/或数据库,其被配置为生成可以通过网络访问的数字内容,例如网站或应用。广告商服务器120可以由销售商品或服务的广告商操作。广告商可以在第三方网站或应用(例如由内容发布者110提供的那些)上做广告。广告商服务器120可以被配置为存储由客户端设备150执行的动作的日志文件,例如客户端设备150访问的url和客户端设备150进行的购买。
19.测量服务器130可以包括被配置为确定计算是否安全的一个或更多个计算机、服务器和/或数据库。测量服务器130可以被配置为检查提议的多方计算,并且如果提议的多方计算是安全的,则对该计算进行签名。如果多方计算导致匿名输出,其中个人可识别信息受到保护,并且数据不可追溯到个人用户,则可以认为多方计算是安全的。
20.验证服务140可以包括一个或更多个计算机、服务器和/或数据库,其被配置为验证所涉及的各方已经对计算签名。验证服务140可以包括可信第三方,其被配置为代表网络浏览器验证计算的签名的真实性。验证服务140可以被配置为授权跨来源资源共享(cors)异常。验证服务140可以行为类似于颁发包含公共密钥和公共密钥所有者身份的证书的证书颁发机构。验证服务140可以存储各种实体的主公钥。每个实体可以使用私钥对内容进行签名,以证明他们创建或背书了内容。
21.客户端设备150可以包括计算设备,例如智能电话、膝上型计算机、台式计算机或
能够通过网络通信的任何其他设备。用户可以利用客户端设备150来访问内容。例如,客户端设备150可以用于访问由内容发布者110提供的社交网络网站或应用,或者访问由广告商服务器120提供的网站或应用。客户端设备150可以利用浏览器和/或操作系统以及一个或更多个应用。
22.各种系统组件可以通过一个或更多个网络160进行通信。网络160可以是用于数据传输的任何合适的通信网络。在诸如图1所示的实施例中,网络160使用标准通信技术和/或协议,并且可以包括互联网。在另一个实施例中,实体使用定制和/或专用数据通信技术。
23.图2示出了根据一个实施例,当执行安全多方计算时,在图1的不同实体之间发生的交互。广告商服务器、内容发布者和测量公司可以同意遵循用于安全多方计算的协议。协议可以定义每一方的输入是什么,以及如何计算输出。该协议可以利用秘密共享。秘密共享允许一方通过向每一方分配共享来在多方之间分配秘密。在一个实施例中,该协议可以使用shamir秘密共享或加法秘密共享,其中共享份是有限域的随机元素,其加起来就是域中的秘密。该协议可以利用beaver三元组,允许加法秘密共享来计算安全和。该协议可以包括bgw协议、虚拟方协议、安全和协议、基于yao的协议(也称为混淆电路)、spdz、aby、scale

mamba、不经意传输、全同态加密或任何其他合适的多方计算协议。测量公司可以评估协议,并确定安全多方计算是否将导致不共享个人可识别信息或以其他方式包括用户信息的安全匿名输出。
24.内容发布者可以向验证服务发送数字签名(步骤201)。数字签名可以指示内容发布者愿意共享数据,作为广告商服务器、内容发布者和测量公司同意的安全多方计算的一部分。数字签名可以将广告商服务器、内容发布者和测量公司识别为将参与安全多方计算的实体。数字签名可以应用于许可,例如指示广告商、内容发布者和测量公司可以将内容发布者共享的数据用于安全多方计算的许可。
25.广告商服务器可以向验证服务发送数字签名(步骤202)。数字签名可以指示广告商服务器愿意共享数据,作为广告商服务器、内容发布者和测量公司同意的安全多方计算的一部分。数字签名可以将广告商服务器、内容发布者和测量公司识别为将参与安全多方计算的实体。
26.测量公司可以向验证服务发送数字签名(步骤203)。数字签名可以指示测量公司已经评估了安全多方计算,并且确定安全多方计算将保护个人可识别信息和任何其他必要的私人用户信息,例如浏览历史。数字签名可以将广告商服务器、内容发布者和测量公司识别为将参与安全多方计算的实体。
27.用户可以使用客户端设备来访问由内容发布者提供的内容(步骤204)。例如,用户可以使用客户端设备上的浏览器访问由内容发布者提供的网站,用户可以打开由内容发布者提供的移动应用,或者用户可以使用语音个人助理访问技能。在一个实施例中,客户端设备可以向内容发布者发送访问网页的http请求。响应于该请求,内容发布者可以向客户端设备发送所请求的内容。
28.内容发布者可以结合用户请求的内容向用户提供一个或更多个广告。一个或更多个所提供的广告可以是针对广告商服务器的广告。例如,广告可以为广告商销售的产品提供报价,并且广告可以包括访问广告商服务器提供的网站的链接。
29.内容发布者可以记录用户在与内容发布者交互时执行的动作。例如,内容发布者
可以在客户端设备上放置第一方cookie,并且内容发布者可以将客户端设备执行的动作存储在日志文件中。每当用户访问网页时,浏览器可以发送包括所请求的网页的url和请求的日期/时间的信息,并且内容发布者可以将该信息存储在日志文件中。
30.用户可以访问由广告商服务器提供的内容(步骤205)。例如,用户可以使用客户端设备上的浏览器访问由广告商服务器提供的网站,用户可以打开由广告商服务器提供的移动应用,或者用户可以使用语音个人助理访问技能。在一个实施例中,客户端设备可以向广告商服务器发送访问网页的http请求。在一个实施例中,用户可以通过选择由内容发布者提供的网页上的广告中的链接来访问广告商内容。
31.广告商服务器可以记录用户在与广告商服务器交互时执行的动作。例如,广告商服务器可以在客户端设备上放置第一方cookie,并且广告商服务器可以将客户端设备执行的动作存储在日志文件中。每当用户访问网页时,浏览器可以发送包括所请求的网页的url和请求的日期/时间的信息,并且广告商服务器可以将该信息存储在日志文件中。
32.广告商服务器可以向用户浏览器发送跨来源资源共享(cors)异常请求(步骤206)。cors是一种机制,它允许从供应第一资源的域之外的另一域请求网页上的受限资源。广告商可能希望知道用户是否已经观看了由内容发布者显示的广告商的任何广告。然而,cors规则可能会阻止内容发布者直接与广告商服务器共享该信息。该请求可以指示哪些实体将参与安全多方计算。例如,该请求可以将广告商服务器、内容发布者、测量公司和验证服务识别为将参与安全多方计算的实体。
33.响应于接收到对cors异常的请求,客户端设备上的浏览器可以向验证服务发送cors验证请求(步骤207)。该请求可以包括从广告商服务器接收的针对cors异常的请求中提供的实体的身份。
34.验证服务可以评估在cors验证请求中识别的每个实体是否已经对计算签名。验证服务可以存储从各种实体接收的每个签名。每个签名可以标识内容发布者、广告商服务器和测量公司,并且授权由相应实体提供的数据用于安全多方计算。签名可以由相应实体的公钥签名。
35.验证服务可以向客户端设备发送对cors异常请求的验证响应(步骤208)。验证响应可以指示哪些实体已对计算签名。肯定的验证响应可以指示广告商服务器、内容发布者和测量服务器都已对计算签名。否定的验证响应可以指示广告商服务器、内容发布者或测量公司中的至少一个没有对该计算签名。客户端设备可以从验证服务接收各个实体的公钥,并且客户端设备可以使用公钥来验证签名是由相应实体执行的。
36.响应于从验证服务接收到肯定的验证,客户端设备可以向测量公司发送一个或更多个一次性标识符(步骤209)。一次性标识符可以允许测量公司通知广告商服务器和内容发布者哪些数据应该用于多方计算。在一个实施例中,浏览器为内容发布者生成一次性标识符,并与测量公司和内容发布者共享该一次性标识符。类似地,浏览器可以为广告商服务器生成一次性标识符,并与测量公司和广告商服务器共享该一次性标识符。在一个实施例中,广告商服务器和内容发布者可以生成一次性标识符并将一次性标识符发送到客户端设备,并且客户端设备可以随后将一次性标识符发送到测量公司。在一个实施例中,内容发布者可以为广告商服务器生成一次性标识符,并且内容发布者可以使用每个广告商的唯一salt来散列一次性标识符。使用每个广告商的唯一salt散列一次性标识符可以防止串通广
告商通过比较标识符进行跨站点跟踪。测量公司可以将广告商服务器的一次性标识符和内容发布者的一次性标识符存储为链接对。
37.广告商服务器、内容发布者和测量公司可以执行安全多方计算(步骤210)。每个实体可以提供输入。在一个实施例中,测量公司可以输入一次性标识符的链接对。广告商服务器的一次性标识符可以被发送到广告商服务器,并且内容发布者的一次性标识符可以被发送到内容发布者。然而,广告商服务器和内容发布者都不能访问彼此的一次性标识符。
38.测量公司可以输入多个一次性标识符的链接对,每个链接对代表不同的用户。广告商服务器的每个一次性标识符可以被发送到广告商服务器,并且内容发布者的每个一次性标识符可以被发送到内容发布者。
39.在一个实施例中,广告商服务器可以输入转换数据。基于广告商服务器接收的一次性标识符,广告商服务器可以选择与每个接收的一次性标识符相关联的存储的转换数据。转换数据可以包括用户访问网站的日期和时间、用户访问的广告商服务器网页的url以及用户从广告商购买的商品或服务的描述。在一个实施例中,转换数据可以包括关于用户的人口统计信息,例如年龄、性别、位置、教育水平、工资等。转换数据还可以包括广告商服务器的一次性标识符。在一个实施例中,广告商服务器可以为用户提供存储在日志文件中的所有数据。在其他实施例中,广告商服务器可以提供存储在日志文件中的数据的子集,例如仅用户从广告商购买的商品或服务的描述。
40.在一个实施例中,内容发布者可以输入印象数据。基于内容发布者接收的一次性标识符,内容发布者可以选择与每个接收的一次性标识符相关联的存储的印象数据。印象数据可以包括用户访问网站的日期和时间、用户访问的内容发布者网页的url以及从内容发布者网页呈现给用户的广告的描述。在一个实施例中,印象数据可以包括关于用户的人口统计信息,例如年龄、性别、位置、教育水平、工资等。印象数据还可以包括内容发布者的一次性标识符。在一个实施例中,内容发布者可以提供存储在用户的日志文件中的所有数据。在其他实施例中,内容发布者可以提供存储在日志文件中的数据的子集,例如仅代表广告商向用户呈现的广告的描述。
41.广告商服务器、内容发布者和测量公司可以遵循在先前商定的已签名计算中阐述的安全多方计算的算法。广告商服务器和/或内容发布者可以接收安全多方计算的输出。该输出可以提供关于在内容发布者的网页上提供给用户的广告对于广告商的有效性的信息。可以在不泄露任何特定用户的任何个人可识别信息或浏览历史的情况下提供输出。
42.在一个实施例中,输出可以提供关于单个用户的信息。例如,输出可以指示用户在内容发布者的网页上查看了广告商的哪些广告,并且输出可以进一步指示用户是否随后从广告商处进行了购买。在一个实施例中,输出不包含关于用户观看的其他内容的任何附加信息,例如显示广告的内容发布者网站的url。
43.在一个实施例中,输出可以提供关于广告的统计信息。例如,输出可以指示在内容发布者的网页上查看广告商的广告之后访问广告商服务器网页的用户的百分比。输出可以指示在内容发布者的网页上查看了广告商的广告之后从广告商购买商品或服务的用户的百分比。
44.在一个实施例中,输出可以包括人口统计信息。例如,输出可以指示在内容发布者的网页上查看广告商的广告之后访问广告商服务器网页的特定邮政编码中的用户的百分
比。
45.在一个实施例中,输出可以包括报告。该报告可以包括对计算结果的详细人口统计分析。该报告可以允许广告商服务器基于人口统计信息对印象和转换进行分类和过滤。广告商服务器可以利用输出来计算归因模型,以确定其广告有多有效。归因模型可以是复杂的,并且许多在本领域中是已知的。然而,作为简化的例子,归因模型可以计算出,如果用户观看了由内容发布者呈现的广告,并且随后从广告商处进行了购买,则购买是作为广告的结果而进行的。
46.应当理解,尽管附图和描述根据几个实施例说明和描述了交互,但是在不同的实施例中,精确的交互和/或交互的顺序可以不同。
47.这里描述的各种系统组件可以包括耦合到芯片组的至少一个处理器。耦合到芯片组的还有存储器、储存设备、图形适配器和网络适配器。显示器耦合到图形适配器。在一个实施例中,芯片组的功能由存储器控制器集线器和i/o控制器集线器提供。在另一个实施例中,存储器直接耦合到处理器,而不是芯片组。
48.储存设备是任何非暂时性计算机可读存储介质,例如硬盘驱动器、紧凑盘只读存储器(cd

rom)、dvd或固态存储器设备。存储器保存处理器使用的指令和数据。图形适配器在显示器上显示图像和其他信息。网络适配器将计算机耦合到局域网或广域网。
49.如本领域所知,计算机可以具有不同于这里明确描述的组件和/或其他组件。此外,计算机可能缺少某些示出的组件。在一个实施例中,充当服务器的计算机可能缺少图形适配器和/或显示器,以及键盘或定点设备。此外,储存设备可以是本地的和/或远离计算机(例如包含在储存区域网络(san)中)。
50.如本领域所知,计算机适于执行计算机程序模块,用于提供本文描述的功能。如本文所使用的,术语“模块”是指用于提供指定功能的计算机程序逻辑。因此,模块可以用硬件、固件和/或软件来实现。在一个实施例中,程序模块存储在储存设备上,被加载到存储器中,并由处理器执行。
51.这里描述的实体的实施例可以包括其他模块和/或与这里描述的模块不同的模块。此外,在其他实施例中,归因于模块的功能可以由其他或不同的模块来执行。此外,出于清楚和方便的目的,该描述偶尔省略了术语“模块”。
52.其他考虑
53.已经针对各种可能的实施例特别详细地描述了本发明。本领域技术人员将理解,本发明可以在其他实施例中实施。首先,组件和变量的特定命名、术语的大写、属性、数据结构或任何其他编程或结构方面不是强制性的或重要的,并且实现本发明或其特征的机制可以具有不同的名称、格式或协议。此外,这里描述的各种系统组件之间的特定功能划分仅仅是为了示例的目的,而不是强制性的;由单个系统组件执行的功能可以改为由多个组件执行,并且由多个组件执行的功能可以改为由单个组件执行。
54.以上描述的一些部分在算法和信息操作的符号表示方面呈现了本发明的特征。这些算法描述和表示是由在数据处理领域的技术人员用来最有效地将他们工作的实质传达给本领域中的其他技术人员的手段。这些操作虽然在功能上或逻辑上被描述,但被理解为由计算机程序实现。此外,在不失一般性的情况下,将这些操作安排称为模块或功能名称有时也被证明是方便的。
55.除非从以上讨论中明显看出另有特别说明,应当理解,在整个描述中,使用诸如“确定”或“显示”等术语的讨论指的是计算机系统或类似电子计算设备的动作和过程,该计算机系统或类似电子计算设备操纵和转换在计算机系统存储器或寄存器或其他这样的信息储存、传输或显示设备中被表示为物理(电子)量的数据。
56.本发明的某些方面包括本文以算法形式描述的过程步骤和指令。应当注意,本发明的过程步骤和指令可以用软件、固件或硬件来实现,并且当用软件来实现时,可以被下载以驻留在实时网络操作系统所使用的不同平台上,并且可以从这些平台进行操作。
57.本发明还涉及一种用于执行这里的操作的装置。该装置可以为所需目的而专门构造,或者它可以包括通用计算机,该通用计算机由存储在计算机可读介质上的计算机程序选择性地激活或重新配置,该计算机可读介质可以被计算机访问。这种计算机程序可以存储在非暂时性计算机可读存储介质中,例如但不限于任何类型的盘,包括软盘、光盘、cd

rom、磁光盘、只读存储器(rom)、随机存取存储器(ram)、eprom、eeprom、磁卡或光卡、专用集成电路(asic)或任何类型的适于存储电子指令的计算机可读存储介质,并且每个都耦合到计算机系统总线。此外,说明书中提到的计算机可以包括单个处理器,或者可以是采用多处理器设计以提高计算能力的体系结构。
58.这里给出的算法和操作并不固有地与任何特定的计算机或其他装置相关。根据这里的教导,各种通用系统也可以与程序一起使用,或者可以证明构建更专用的装置来执行所需的方法步骤是方便的。对于本领域技术人员来说,各种这些系统所需的结构以及等同的变化将是显然的。此外,本发明没有参考任何特定的编程语言来描述。应当理解,可以使用多种编程语言来实现这里描述的本发明的教导,并且提供对特定语言的任何引用,以实现本发明和本发明的最佳模式。
59.本发明非常适合于多种拓扑结构上的广泛种类的计算机网络系统。在这个领域内,大型网络的配置和管理包括储存设备和计算机通过网络(例如因特网)通信地耦合到不同的计算机和储存设备。
60.最后,应该注意的是,说明书中使用的语言主要是出于可读性和指导性的目的而选择的,并且可能不是为了描述或限制本发明的主题而选择的。因此,本发明的公开旨在说明而非限制本发明的范围,本发明的范围在所附权利要求中阐述。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1