CN113994333A - 对交互之间的积分进行聚合的方法 - Google Patents

对交互之间的积分进行聚合的方法 Download PDF

Info

Publication number
CN113994333A
CN113994333A CN202080005943.7A CN202080005943A CN113994333A CN 113994333 A CN113994333 A CN 113994333A CN 202080005943 A CN202080005943 A CN 202080005943A CN 113994333 A CN113994333 A CN 113994333A
Authority
CN
China
Prior art keywords
encrypted
computing system
identifier
value
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202080005943.7A
Other languages
English (en)
Inventor
卡尔·塞思
萨尔瓦尔·帕特尔
玛丽安娜·雷科瓦
斯里尼瓦桑·塞沙德里
玛戈·维尔纳
菲利普·麦克唐奈
阿明·查拉尼亚
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Google LLC
Original Assignee
Google LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Google LLC filed Critical Google LLC
Priority claimed from PCT/US2020/047643 external-priority patent/WO2021242290A1/en
Publication of CN113994333A publication Critical patent/CN113994333A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • G06F21/6254Protecting personal data, e.g. for financial or medical purposes by anonymising data, e.g. decorrelating personal data from the owner's identification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • G06Q10/101Collaborative creation, e.g. joint development of products or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0201Market modelling; Market analysis; Collecting market data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/008Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/065Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
    • H04L9/0656Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher
    • H04L9/0662Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher with particular pseudorandom sequence generator
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3066Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2107File encryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/04Masking or blinding
    • H04L2209/046Masking or blinding of operations, operands or results of the operations

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Databases & Information Systems (AREA)
  • Business, Economics & Management (AREA)
  • Medical Informatics (AREA)
  • Strategic Management (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Power Engineering (AREA)
  • Human Resources & Organizations (AREA)
  • Finance (AREA)
  • Development Economics (AREA)
  • Data Mining & Analysis (AREA)
  • Accounting & Taxation (AREA)
  • Economics (AREA)
  • Computing Systems (AREA)
  • Marketing (AREA)
  • General Business, Economics & Management (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Analysis (AREA)
  • Algebra (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Game Theory and Decision Science (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • Storage Device Security (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

本文公开的方法可以包括:在第一计算***处接收加密标识符和加密值,由第一计算***对加密标识符执行隐藏操作以产生隐藏的加密标识符,其中,所述隐藏操作对第一计算***和第二计算***隐藏所述加密标识符,但是启用在隐藏的加密标识符之间的匹配,由第二计算***解密隐藏的加密标识符以产生隐藏的标识符,并且由第二计算***通过使用隐藏的标识符和加密值来执行聚合运算以生成加密的聚合值,无需访问与所述加密值相关联的个人可识别信息。

Description

对交互之间的积分进行聚合的方法
相关申请的交叉引用
本申请要求在2020年5月26日提交的美国临时申请No.63/029,835的优先权和权益,其全部内容通过引用并入本文。
背景技术
分析***能够确定有关与内容交互的聚合信息(诸如,与特定内容项交互的设备的数量)可能会很有帮助。但是,通常需要维护信息的隐私。例如,实体可能对接收有关特定类型的内容到达了多少个设备、或者多少个设备以特定方式与该内容进行了交互的信息感兴趣,而无需接收可以识别所述信息的来源的信息,诸如与设备相关联的标识符。
发明内容
本公开的一个实施方式涉及一种方法,包括:在第一计算***处接收加密标识符和加密值;由第一计算***对加密标识符执行隐藏操作以产生隐藏的加密标识符,其中,隐藏操作对第一计算***和第二计算***隐藏加密标识符,但是启用在隐藏的加密标识符之间的匹配;由第二计算***解密隐藏的加密标识符以产生隐藏的标识符,以及由第二计算***通过使用隐藏的标识符和加密值来执行聚合运算以生成加密的聚合值,无需访问与加密值相关联的个人信息。
在一些实施方式中,执行隐藏操作包括从加密标识符中去除第一加密的第一部分,以产生部分加密的标识符;以及利用第二加密确定性地加密部分加密的标识符,以产生隐藏的加密标识符。在一些实施方式中,解密隐藏的加密标识符包括从隐藏的加密标识符中去除第一加密的第二部分以产生隐藏的标识符。在一些实施方式中,该方法进一步包括由第三计算***解密所述加密的聚合值以产生聚合值。在一些实施方式中,该方法进一步包括由第一计算***和第二计算***协作地生成第一加密密钥;由第一计算***生成与第一加密密钥相关联的第二加密密钥和第三加密密钥;由第二计算***生成与第一加密密钥相关联的第四加密密钥;以及由第三计算***生成第五和第六加密密钥。
在一些实施方式中,使用第一加密密钥对加密标识符进行加密,并且使用第五加密密钥对加密值进行加密,其中,隐藏操作使用第二和第三加密密钥,其中,使用第四加密密钥对隐藏的加密标识符进行解密,以及其中,使用第六加密密钥对加密的聚合值进行解密。在一些实施方式中,隐藏操作包括通过使用散列函数生成密文,来对加密标识符进行混洗并且对加密值进行重新随机化。在一些实施方式中,第三计算***是第一计算***的一部分。在一些实施方式中,第一计算***或第三计算***中的至少一个是分布式计算***。在一些实施方式中,该方法进一步包括:由第二计算***生成随机值;由第二计算***通过使用随机值和加密的聚合值来执行运算以产生结果;以及由第二计算***将随机值发送给与加密标识符相关联的内容发布者。在一些实施方式中,聚合运算包括通过使用隐藏的标识符和与隐藏的标识符相关联的时间值来执行加权功能,以产生加密的聚合值。
本公开的另一实施方式涉及一种结果测量***,该结果测量***包括第一计算***以及第二计算***,该第一计算***被配置为接收加密标识符和加密值,并且对加密标识符执行隐藏操作以产生隐藏的加密标识符,其中,隐藏操作对第一计算***和第二计算***隐藏加密标识符,但是启用在隐藏的加密标识符之间的匹配,该第二计算***被配置为解密隐藏的加密标识符以产生隐藏的标识符,以及通过使用隐藏的标识符和加密值来执行聚合运算以生成加密的聚合值,无需访问与加密值相关联的个人可标识信息。
在一些实施方式中,执行隐藏操作包括从加密标识符中去除第一加密的第一部分,以产生部分加密的标识符;以及利用第二加密确定性地加密部分加密的标识符,以产生隐藏的加密标识符。在一些实施方式中,解密隐藏的加密标识符包括从隐藏的加密标识符中去除第一加密的第二部分以产生隐藏的标识符。在一些实施方式中,该结果测量***进一步包括被配置为解密所述加密的聚合值以产生聚合值的第三计算***。在一些实施方式中,第一计算***和第二计算***被进一步配置为协作地生成第一加密密钥,其中,第一计算***被进一步配置为生成与第一加密密钥相关联的第二加密密钥和第三加密密钥;其中,第二计算***被进一步配置为生成与第一加密密钥相关联的第四加密密钥;以及其中,第三计算***被进一步配置为生成第五和第六加密密钥。
在一些实施方式中,使用第一加密密钥对加密标识符进行加密,并且使用第五加密密钥对加密值进行加密,其中,隐藏操作使用第二和第三加密密钥,其中,使用第四加密密钥对隐藏的加密标识符进行解密,以及其中,使用第六加密密钥对加密的聚合值进行解密。在一些实施方式中,第三计算***是第一计算***的一部分。在一些实施方式中,第一计算***或第三计算***中的至少一个是分布式计算***。在一些实施方式中,聚合运算包括通过使用隐藏的标识符和与隐藏的标识符相关联的时间值来执行加权功能,以产生加密的聚合值
本公开的另一实施方式涉及一种或多种计算机可读存储介质,其上存储有指令,所述指令在由第一计算***和第二计算***中的至少一个的一个或多个处理器执行时:使第一计算***接收加密标识符和加密值、并且对加密标识符执行隐藏操作以产生隐藏的加密标识符,其中,隐藏操作对第一计算***和第二计算***隐藏加密标识符,但是启用在隐藏的加密标识符之间的匹配;以及使第二计算***解密隐藏的加密标识符以产生隐藏的标识符,以及通过使用隐藏的标识符和加密值来执行聚合运算以生成加密的聚合值,无需访问与加密值相关联的个人可标识信息。
在一些实施方式中,执行隐藏操作包括:从加密标识符中去除第一加密的第一部分,以产生部分加密的标识符;以及利用第二加密确定性地加密所述部分加密的标识符,以产生隐藏的加密标识符。在一些实施方式中,解密隐藏的加密标识符包括从隐藏的加密标识符中去除第一加密的第二部分以产生隐藏的标识符。在一些实施方式中,所述指令进一步被配置为,在由第三计算***的一个或多个处理器执行时,使第三计算***解密所述加密的聚合值以产生聚合值。在一些实施方式中,所述指令被配置为使第一计算***和第二计算***协作地生成第一加密密钥;以及其中,所述指令被配置为使第一计算***生成与第一加密密钥相关联的第二加密密钥和第三加密密钥;其中,所述指令被配置为使第二计算***生成与第一加密密钥相关联的第四加密密钥;以及其中,所述指令被配置为使第三计算***生成第五和第六加密密钥。在一些实施方式中,使用第一加密密钥对加密标识符进行加密,并且使用第五加密密钥对加密值进行加密,其中,隐藏操作使用第二和第三加密密钥,其中,使用第四加密密钥对隐藏的加密标识符进行解密,以及其中,使用第六加密密钥对加密的聚合值进行解密。在一些实施方式中,第三计算***是第一计算***的一部分。在一些实施方式中,第一计算***或第三计算***中的至少一个是分布式计算***。在一些实施方式中,聚合操作包括通过使用隐藏的标识符和与隐藏的标识符相关联的时间值来执行加权功能,以产生加密的聚合值。
适当时,可以组合各个方面和实施方式。
附图说明
图1A-1B是图示根据说明性实施方式的通过网络交互的各种实体的图。
图2是图示根据实施方式的、使用图1A的结果测量***的数据传输和聚合的图。
图3A是图示根据说明性实施方式的、用于图1A的第一数据处理***的密钥生成方法的流程图。
图3B是图示根据说明性实施方式的、用于图1A的第二数据处理***的密钥生成方法的流程图。
图3C是图示根据说明性实施方式的、用于图1A的第三数据处理***的密钥生成方法的流程图。
图3D是图示根据说明性实施方式的、用于图1B的发布者计算***的密钥生成方法的流程图。
图4A-4B是图示根据说明性实施方式的、根据图1A-1B的***的、用于交互的积分的安全传递和聚合的方法的流程图。
图5是图示根据说明性实施方式的、用于执行图4B的聚合运算的方法的流程图。
图6是图示根据说明性实施方式的、根据图5的聚合运算的数据集操纵的图。
图7是图示根据说明性实施方式的、根据图5的聚合运算的数据集操纵的另一图。
图8是图示根据说明性实施方式的、根据图5的聚合运算的数据集操纵的另一图。
图9是图示根据说明性实施方式的、根据图5的聚合运算的Shapley值(夏普利值)的生成的图。
图10是图示根据说明性实施方式的、根据图5的聚合运算的马尔可夫模型的生成的图。
图11是图示根据说明性实施方式的、执行图4B的屏蔽操作的方法的流程图。
图12是根据说明性实施方式的计算***的框图。
具体实施方式
下文更详细地描述与以隐私意识方式对交互之间的积分进行聚合的方法、装置和***有关的各种概念以及其实施方式。由于所描述的概念不限于任何特定的实施方式,所以可以按多种方式中的任何一种来实施上文介绍的以及下文更详细讨论的各种概念。
在许多领域中,可能有必要或期望确定归因于内容发布者的交互的聚合数。例如,多个内容发布者可以显示用户在执行在线交互之前查看的多个内容项,并且可能期望确定与每个内容发布者的内容项相关联的在线交互的数量(例如,多少个用户在执行在线交互之前查看了特定的内容项)。
本公开的***和方法总地涉及对与内容项相关联的多个交互进行聚合并且在多个内容发布者和/或与所述内容项相关联的交互路径之间分配积分。更具体地,本公开的***和方法涉及独特的密码学和计算机体系结构方法学,以聚合来自不同实体的数据并以更安全的方式在所述实体之间分配积分。通常,对来自不同实体的数据进行聚合需要计算***能够访问用户特定的数据。例如,***可以通过对具有匹配的用户标识符的值求和来确定聚合计数。为了避免泄露个人信息,在生成和报告数据时,必须隐藏并适当地保护用户的身份。
期望以防止暴露个人信息的方式来进行某些分析活动。因此,需要一种独特的密码学和计算机体系结构方法学来以更安全的方式聚合来自不同实体的数据。本公开的各方面提供了改进的加密方法和计算机体系结构。所述加密方法和体系结构可以被用来以安全的方式将在线交互与来自内容发布者的数据相关联,同时提供更高的安全性并保护用户隐私。
为了确保个人信息的隐私和安全性,本公开的***和方法处理数据以防止实体(例如,内容提供者、第三方等)接收个人信息。非限制性的示例实施方式如下:第二数据处理***可以产生用于非对称加密的第一公钥。发布者计算***可以使用第一公钥来加密第一用户标识符。第三数据处理***可以产生用于同态加密的第二公钥。交互数据提供者计算***可以使用第一公钥以及与第二公钥相关联的值来加密第二用户标识符。第一数据处理***可以从多个内容发布者(例如,发布者计算***等)接收多个加密的第一用户标识符。第一数据处理***可以从一个或多个交互数据提供者(例如,交互数据提供者计算***等)接收多个加密的第二用户标识符和相关联的加密值。第一数据处理***可以生成用于椭圆曲线加密的秘密密钥,并且可以利用该秘密密钥来对加密的第一用户标识符和第二用户标识符进行加密,以产生双重加密的第一用户标识符和第二用户标识符。第一数据处理***可以将双重加密的第一和第二用户标识符以及相关联的加密值发送到第二数据处理***,该第二数据处理***可以解密该双重加密的第一和第二用户标识符以产生椭圆曲线(EC)加密的第一和第二用户标识符。第二数据处理***可以结合EC加密的第一和第二用户标识符,并且基于结合的EC加密的第一和第二用户标识符来计算与每个内容发布者相关联的加密聚合值。第二数据处理***可以将加密的聚合值发送到第三数据处理***,该第三数据处理***可以对加密的聚合值进行解密以恢复与每个内容发布者相关联的聚合值。因此,结果测量***(例如,第一、第二和第三数据处理***等)可以促进交互数据的聚合而不会泄露个人信息。
在本公开的一些实施方式中,可以向用户提供控件,该控件允许用户就本文所述的***、程序或特征是否以及何时启用用户信息(例如,关于用户的社交网络、社交活动或活动、职业、用户的偏好或用户的当前位置的信息)以及是否从服务器向用户发送了内容或通信进行选择。另外,某些数据在被存储或使用之前可以以一种或多种方式对其进行处理,以便删除个人可识别信息。例如,可以处理用户的身份,使得无法确定该用户的个人信息或仅确定某些个人信息,或者在获取位置信息时可以概括用户的地理位置(例如,诸如概括到城市、邮政编码或州级),使得无法确定用户的具***置。因此,用户可以对关于用户的哪些信息被收集、如何使用该信息以及向用户提供什么信息进行控制。
现在参考图1A-1B,根据说明性实施方式,示出了用于安全地聚合来自不同实体的数据的***100。***100包括结果测量服务102、发布者计算***10和交互数据提供者计算***30。在各种实施方式中,结果测量服务102包括第一数据处理***200、第二数据处理***300和第三数据处理***400。在各种实施方式中,***100的组件通过网络60进行通信。网络60可以包括计算机网络,诸如互联网、局域网、广域网、城域网或其他区域网、内联网、卫星网络、其他计算机网络(诸如语音或数据移动电话通信网络)、其组合、或任何其他类型的电子通信网络。网络60可以包括或构成显示网络(例如,互联网上可用的、与内容投放或搜索引擎结果***相关联的信息资源的子集,或有资格将第三方内容项包括为内容项投放活动的一部分的信息资源的子集)。在各种实施方式中,网络60便于在***100的组件之间的安全通信。作为非限制性示例,网络60可以实施传输层安全性(TLS)、安全套接字层(SSL)、超文本传输协议安全性(HTTPS)、和/或任何其他安全通信协议。
发布者计算***10可以托管发布者数据(诸如用户标识符)。在各种实施方式中,发布者计算***10与发布者(例如,在线发布者等)相关联。在各种实施方式中,发布者数据和用户与发布者内容的交互相关联。例如,发布者数据可以包括与和发布者内容交互的用户相关联的用户标识符和时间戳。在一些实施方式中,发布者数据包括用户交互的计数。在一些实施方式中,发布者数据包括交互分类。例如,发布者数据可以包括用于指示用户是观看内容项还是与内容项进行交互(例如,点击所述内容项等)的交互分类。在各种实施方式中,发布者内容可以是与第三方相关联的营销项目(例如,广告)。
发布者计算***10可以包括数据库12和处理电路14。数据库12可以存储发布者数据。例如,在将发布者内容项提供给客户端设备之后,发布者计算***10可以将与用户相关联的用户标识符存储在数据库12中。该用户标识符可以之后用于关联匿名交互数据。数据库12可以包括一个或多个存储介质。存储介质可以包括但不限于磁存储、光存储、闪存和/或RAM。发布者计算***10可以实施或促进各种API以执行数据库功能(即,管理存储在数据库12中的数据)。API可以是但不限于SQL、ODBC、JDBC、和/或任何其他数据存储和操作API。
处理电路14包括处理器16和存储器18。存储器18可以具有存储在其上的指令,该指令在由处理器16执行时,使处理电路14执行本文所述的各种操作。可以使用软件、硬件或其组合来实施本文描述的操作。处理器16可以包括微处理器、ASIC、FPGA等或其组合。在许多实施方式中,处理器16可以是多核处理器或处理器阵列。处理器16可以实施或促进安全环境。例如,处理器16可以实施软件保护扩展(SGX)以定义存储器18中的专用区域(例如,飞地)。存储器18可以包括但不限于电子、光学、磁性、或能够向处理器16提供程序指令的任何其他存储存储设备。存储器18可以包括软盘、CD-ROM、DVD、磁盘、存储芯片、ROM、RAM、EEPROM、EPROM、闪存、光学介质、或处理器16可以从中读取指令的任何其他合适的存储器。所述指令可以包括来自任何合适的计算机编程语言的代码,诸如但不限于C、C++、C#、Java、JavaScript、Perl、HTML、XML、Python和Visual Basic。
存储器18可以包括第一加密电路20、第二加密电路22和解密电路24。在所示的实施方式中,可以使用存储在存储器18中的计算机可读指令或机器可读指令来实施电路20、22和24。在其他实施方式中,电路20、22和24可以是分立的硬件电路,或者可以使用硬件和软件的组合来实施。第一加密电路20可以对输入数据实施一个或多个加密功能以产生加密数据。在一些实施方式中,第一加密电路20实施非对称加密功能。在各种实施方式中,第一加密电路20实施ElGamal(EG)加密协议。例如,第一加密电路20可以利用从第二数据处理***300接收到的EG公钥来加密用户标识符。在各种实施方式中,第一加密电路20实施交换加密。例如,第一加密电路20可以实施促进双重加密值(例如,用两种不同的加密方案加密的单个值)的EG加密。在各种实施方式中,第一加密电路促进随机加密。例如,第一加密电路20可以使用第一密钥对第一值进行加密以产生第一加密结果,并且可以使用第一密钥再次对第一值进行加密以产生与第一加密结果不同的第二加密结果(例如,产生不同的密文)。在各种实施方式中,第一加密电路20促进重新随机化。
第二加密电路22可以对输入数据实施一个或多个加密功能以产生加密数据。在一些实施方式中,第二加密电路22实施非对称加密功能。在各种实施方式中,第二加密电路22生成加密密钥。例如,第二加密电路22可以生成公钥和秘密密钥。在一些实施方式中,第二加密电路22与***100的其他组件(例如,第二数据处理***300等)共享加密密钥。例如,第二加密电路22可以生成公钥并将该公钥发送到第二数据处理***300。在各种实施方式中,第二加密电路22实施如上参考第一加密电路20所述的交换加密。
解密电路24可以接收加密的数据并将其解密以产生未加密的数据。在各种实施方式中,解密电路24从第三数据处理***400接收加密的数据。解密电路24可以解密非对称加密的数据。附加地或替代地,解密电路24可以解密对称和/或阈值加密的数据。在各种实施方式中,解密电路24从第二加密电路22接收一个或多个秘密(例如,秘密密钥等)。例如,解密电路24可以从第二加密电路22接收秘密密钥并且使用该秘密密钥来解密从第三数据处理***400接收的加密数据。
交互数据提供者计算***30可以托管交互数据,诸如用户标识符和/或值。在各种实施方式中,交互数据提供者计算***30与交互数据提供者(例如,商人、交互数据交换所等)相关联。在各种实施方式中,交互数据与用户商业活动(例如,购买等)相关联。例如,交互数据可以包括执行在线交易的用户的用户标识符。在各种实施方式中,交互数据可以包括与交互相关联的时间戳和/或值。在一些实施方式中,交互数据包括交互分类。例如,交互数据可以包括用于指示交互类型(例如,网站访问、购买等)的交互分类。在各种实施方式中,交互数据可以与参考发布者计算***10描述的发布者数据相关联。例如,交互数据可以包括与发布者数据中的一部分用户标识符重叠的用户标识符。
交互数据提供者计算***30可以包括数据库32和处理电路34。数据库32可以存储交互数据。例如,在检测到用户交互时,交互数据提供者计算***30可以将与用户相关联的用户标识符存储在数据库32中。该用户标识符可以在之后用于关联匿名交互数据。数据库32可以包括一个或多个存储介质。存储介质可以包括但不限于磁存储、光存储、闪存和/或RAM。交互数据提供者计算***30可以实施或促进各种API以执行数据库功能(即,管理存储在数据库32中的数据)。这些API可以是但不限于SQL、ODBC、JDBC、和/或任何其他数据存储和操作API。
处理电路34包括处理器36和存储器38。存储器38可以具有存储在其上的指令,该指令在由处理器36执行时,使处理电路34执行本文所述的各种操作。可以使用软件、硬件或其组合来实施本文描述的操作。处理器36可以包括微处理器、ASIC、FPGA等或其组合。在许多实施方式中,处理器36可以是多核处理器或处理器阵列。处理器36可以实施或促进如上所述的安全环境。存储器38可以包括但不限于电子、光学、磁性、或能够向处理器36提供程序指令的任何其他存储存储设备。存储器38可以包括软盘、CD-ROM、DVD、磁盘、存储芯片、ROM、RAM、EEPROM、EPROM、闪存、光学介质、或处理器36可以从中读取指令的任何其他合适的存储器。指令可以包括来自任何合适的计算机编程语言的代码,诸如但不限于C、C++、C#、Java、JavaScript、Perl、HTML、XML、Python和Visual Basic。
存储器38可以包括第一加密电路40和第二加密电路42。第一加密电路40可以对输入数据实施一个或多个加密功能以产生加密数据。在一些实施方式中,第一加密电路40实施非对称加密功能。在各种实施方式中,第一加密电路40实施(EG)加密。例如,第一加密电路40可以利用从第二数据处理***300接收到的EG公钥来加密用户标识符。在各种实施方式中,第一加密电路40促进如参考第一加密电路20所述的各种加密功能(例如,可交换性、重新随机化等)。
第二加密电路42可以对输入数据实施一个或多个加密功能以产生加密数据。在一些实施方式中,第二加密电路42实施非对称加密功能。例如,第二加密电路42可以实施同态密码***。在一些实施方式中,第二加密电路42实施加法加密功能。例如,第二加密电路42可以实施加法同态加密(AHE)。在各种实施方式中,第二加密电路42实施指数ElGamal(EEG)协议。附加地或替代地,第二加密电路42可以实施Paillier密码***和/或基于Ring-LWE的加密。在一些实施方式中,第二加密电路42实施对称加密功能。在各种实施方式中,第二加密电路42利用从第三数据处理***400接收的AHE公钥来加密值。在一些实施方案中,第二加密电路42促进同态标量乘法。在各种实施方式中,第二加密电路42促进了如参考第一加密电路20所述的各种密码功能(例如,可交换性、重新随机化等)。
现在具体参考图1A,第一数据处理***200可以促进对发布者数据和/或交互数据的处理。在各种实施方式中,第一数据处理***200接收数据并处理该数据以产生处理后的数据(例如,不具有或具有较少的个人信息的数据等)。在一些实施方式中,第一数据处理***200产生差分隐私数据。在一些实施方式中,第一数据处理***200生成加密密钥。例如,第一数据处理***200可以与第二数据处理***300协同生成EG公钥。第一数据处理***200可以是服务器、分布式处理集群、云处理***或任何其他计算设备。第一数据处理***200可以包括或执行至少一个计算机程序或至少一个脚本。在一些实施方式中,第一数据处理***200包括软件和硬件的组合,诸如被配置为执行一个或多个脚本的一个或多个处理器。
第一数据处理***200被示为包括数据库210和处理电路220。数据库210可以存储从发布者计算***10和/或交互数据提供者计算***30接收的数据。例如,数据库210可以存储来自发布者计算***10的加密的第一标识符和/或来自交互数据提供者计算***30的加密的第二标识符和/或加密值。数据库210可以包括如参考数据库12和32所述的各种存储介质。
处理电路220包括处理器230和存储器240。存储器240可以具有存储在其上的指令,该指令在由处理器230执行时使处理电路220执行本文所述的各种操作。处理电路220、处理器230和/或存储器240可以类似于如上所述的处理电路14和34、处理器16和36和/或存储器18和38。存储器240可以包括第一加密电路242、第二加密电路244、解密电路246和随机化电路248。
第一加密电路242可以对输入数据实施一个或多个加密功能以产生加密数据。在一些实施方式中,第一加密电路242实施非对称加密功能(例如,EG等)。在一些实施方式中,第一加密电路242在椭圆曲线上实施EG加密。例如,第一加密电路242可以在由第二加密电路244使用的椭圆曲线上实施EG加密以实施EC加密。在各种实施方式中,第一加密电路242生成加密密钥。例如,第一加密电路242可以生成公钥和秘密密钥。在一些实施方式中,第一加密电路242与第二数据处理***300协同生成EG公钥。在一些实施方式中,第一加密电路242与***100的其他组件(例如,发布者计算***10、交互数据提供者计算***30等)共享加密密钥(或其一部分)。例如,第一加密电路242可以与第二数据处理***300协同地生成EG公钥,并将该EG公钥发送给发布者计算***10和/或交互数据提供者计算***30。在各种实施方式中,第一加密电路242有助于如参考第一加密电路20所述的各种密码功能(例如,可交换性、重新随机化等)。
第二加密电路244可以对输入数据实施一个或多个加密功能以产生加密数据。在各种实施方式中,第二加密电路244实施对称加密功能。例如,第二加密电路244可以实施椭圆曲线(EC)加密。附加地或可替代地,第二加密电路244可以实施任何密码***,在该密码***中假定判定性Diffie-Hellman(DDH)问题在计算上是难以解决的,使得二次剩余的乘法群对安全素数进行模运算。在一些实施方式中,第二加密电路244实施非对称加密功能。在各种实施方式中,第二加密电路244生成加密密钥。例如,第二加密电路244可以生成EC秘密密钥。在一些实施方式中,第二加密电路244与其他第二加密电路244协同生成多个EC秘密密钥(例如,用于协同加密等)。在各种实施方式中,第二加密电路244利用EC秘密密钥来加密标识符。在各种实施方式中,第二加密电路244实施确定性加密。例如,第二加密电路244可以利用第一密钥对第一值进行加密以产生第一加密结果,并且可以利用第一密钥再次对第一值进行加密以产生与第一加密结果相同的第二加密结果。在各种实施方式中,第二加密电路244有助于生成可用于比较相等性的加密数据(例如,比较利用相同密钥加密的两个值等)。
在各种实施方式中,第二加密电路244促进了如参考第一加密电路20所述的各种密码功能(例如,可交换性、重新随机化等)。在一些实施方式中,第二加密电路244促进了协同加密。例如,多个第二加密电路244可以一起工作以对数据项进行加密(例如,分别添加一部分加密等)。
解密电路246可以接收加密数据并将其解密以产生未加密的数据。在各种实施方式中,解密电路246从发布者计算***10和/或交互数据提供者计算***30接收加密的数据。例如,解密电路246可以从发布者计算***10接收加密的第一标识符和/或从交互数据提供者计算***30接收加密的第二标识符。解密电路246可以解密不对称加密的数据。附加地或替代地,解密电路246可以解密对称和/或阈值加密的数据。在各种实施方式中,解密电路246从第一加密电路242接收一个或多个秘密(例如,秘密密钥等)。例如,解密电路246可以从第一加密电路242接收秘密密钥(例如,EG秘密密钥等),并使用该秘密密钥来至少部分地解密从发布者计算***10和/或交互数据提供者计算***30接收的加密数据。
随机化电路248可以接收数据并执行各种随机化功能以产生随机化数据。作为非限制性示例,随机化电路248可以促进去除隐式/间接标识符(例如,到达时间、顺序、始发IP地址等)、执行批处理操作、引入噪声、和/或执行任何其他匿名化操作。在各种实施方式中,随机化电路248对所接收的数据进行混洗(例如,重新排列、改变其顺序等)以产生混洗的数据。在一些实施方式中,随机化电路248对输入数据实施一个或多个哈希函数以产生哈希数据。例如,随机化电路248可以实施SHA-2、Scrypt、Balloon和/或Argon2哈希函数。在一些实施方式中,随机化电路248通过应用随后的加密回合来促进重新随机化密文。例如,随机化电路248可以通过利用用于第一次加密EG加密值的相同密钥而第二次加密EG加密值来重新随机化EG加密值。
第二数据处理***300可以促进安全地关联来自不同实体的数据。在各种实施方式中,第二数据处理***300接收加密的发布者数据和/或加密的交互数据,并且处理所接收的数据以生成聚合交互数据(例如,聚合值等)。例如,第二数据处理***300可以执行聚合运算以结合用户标识符、确定与交互相关联的聚合值、以及在各个发布者之间分配积分。第二数据处理***300可以包括或执行至少一个计算机程序或至少一个脚本。在一些实施方式中,第二数据处理***300包括软件和硬件的组合,诸如被配置为执行一个或多个脚本的一个或多个处理器。
第二数据处理***300被示为包括具有处理器320和存储器330的处理电路310。存储器330可以具有存储在其上的指令,所述指令当由处理器320执行时,使处理电路310执行本文所述的各种操作。处理电路310、处理器320和/或存储器330可以类似于如上所述的处理电路14和34、处理器16和36和/或存储器18和38。存储器330可以包括第一加密电路332、第二加密电路334、解密电路336和分析电路338。
第一加密电路332可以对输入数据实施一个或多个加密功能以产生加密数据。在一些实施方案中,第一加密电路332实施非对称加密功能(例如,EG等)。在一些实施方式中,第一加密电路332在椭圆曲线上实施EG加密。例如,第一加密电路332可以在由第二加密电路244使用的椭圆曲线上实施EG加密以实施EC加密。在各种实施方式中,第一加密电路332类似于第一加密电路242。在一些实施方式中,第一加密电路332生成加密密钥。例如,第一加密电路332可以生成公钥(例如,EG公钥)和秘密密钥(例如,EG秘密密钥)。在一些实施方式中,第一加密电路332与第一数据处理***200协同生成EG公钥。在一些实施方式中,第一加密电路332与***100的其他组件(例如,发布者计算***10、交互数据提供者计算***30等)共享加密密钥(或其一部分)。在各种实施方式中,第一加密电路332促进如参考第一加密电路20所述的各种密码功能(例如,可交换性、重新随机化等)。
第二加密电路334可以对输入数据实施一个或多个加密功能以产生加密数据。在一些实施方式中,第二加密电路334实施非对称加密功能。例如,第二加密电路334可以实施Rivest-Shamir-Adleman(RSA,李维斯特-萨莫尔-阿德曼)密码***。作为附加示例,第二加密电路334可以使用从发布者计算***10接收的公钥来加密随机值。在各种实施方式中,第二加密电路334实施屏蔽操作。例如,第二加密电路334可以屏蔽加密的聚合值以产生加密的屏蔽聚合值。参考图11更详细地描述屏蔽操作。
解密电路336可以接收加密数据并将其解密以产生未加密的数据。在各种实施方式中,解密电路336从第一数据处理***200接收加密的数据。例如,解密电路336可以从第一数据处理***200接收加密的第一和第二标识符。解密电路336可以解密非对称加密的数据。附加地或替代地,解密电路336可以解密对称和/或阈值加密的数据。在各种实施方式中,解密电路336从第一加密电路332接收一个或多个秘密(例如,秘密密钥等)。例如,解密电路336可以从第一加密电路332接收秘密密钥(例如,EG秘密密钥等),并使用所述秘密密钥来至少部分地解密从第一数据处理***200接收的加密数据。
分析电路338可以接收匿名的(例如,加密的,等等)发布者数据和/或交互数据,并且产生聚合的交互数据(例如,聚合值等)。在各种实施方式中,分析电路338对接收到的数据执行统计操作以产生描述接收到的数据的统计测量。例如,分析电路338可以确定与发布者的在线交互相关联的聚合值。在各种实施方式中,分析电路338促进结合用户标识符。例如,分析电路338可以将来自发布者数据的第一用户标识符与来自交互数据的第二用户标识符结合。在各种实施方式中,分析电路338促进结合加密标识符,从而保护用户隐私。在一些实施方式中,分析电路338有助于在与在线交互相关联的发布者之间分配积分。
第三数据处理***400可以促进安全地分配由第二数据处理***300生成的聚合交互数据(例如,聚合值等)。例如,第三数据处理***400可以从第二数据处理***300接收加密的屏蔽聚合值、解密所加密的屏蔽聚合值以生成屏蔽聚合值,并且将屏蔽聚合值发送给一个或多个发布者。第三数据处理***400可以包括或执行至少一个计算机程序或至少一个脚本。在一些实施方式中,第三数据处理***400包括软件和硬件的组合,诸如被配置为执行一个或多个脚本的一个或多个处理器。
第三数据处理***400被示为包括具有处理器420和存储器430的处理电路410。存储器430可以具有存储在其上的指令,该指令在由处理器420执行时,使处理电路410执行本文所述的各种操作。处理电路410、处理器420和/或存储器430可以类似于如上所述的处理电路14和34、处理器16和36和/或存储器18和38。存储器430可以包括加密电路432、随机化电路434和解密电路436。
加密电路432可以对输入数据实施一种或多种加密功能以产生加密数据。在一些实施方式中,加密电路432实施非对称加密功能(例如,EG、AHE等)。在各种实施方式中,加密电路432类似于第二加密电路42。在一些实施方式中,加密电路432生成加密密钥。例如,加密电路432可以生成公钥(例如,AHE公钥)和秘密密钥(例如,AHE秘密密钥)。在一些实施方式中,加密电路432与***100的其他组件(例如,交互数据提供者计算***30等)共享加密密钥。在各种实施方式中,加密电路432促进了如参考第二加密电路42所述的各种密码功能(例如,加法、标量乘法等)。
随机化电路434可以接收数据并执行各种随机化功能以产生随机化数据。在各种实施方式中,随机化电路434类似于随机化电路248。在一些实施方式中,随机化电路434通过应用随后的加密回合来促进对密文进行重新随机化。例如,随机化电路434可以通过利用用于第一次加密AHE加密值的相同密钥第二次加密AHE加密值来重新随机化AHE加密值。
解密电路436可以接收加密数据并将其解密以产生未加密的数据。在各种实施方式中,解密电路436从第二数据处理***300接收加密数据。例如,解密电路436可以从第二数据处理***300接收加密聚合值和/或加密屏蔽聚合值。解密电路436可以解密非对称加密的数据。附加地或替代地,解密电路436可以解密对称和/或阈值加密的数据。
在各种实施方式中,解密电路436从加密电路432接收一个或多个秘密(例如,秘密密钥等)。例如,解密电路436可以从加密电路432接收秘密密钥(例如,AHE秘密密钥等)并且使用该秘密密钥来至少部分地解密从第二数据处理***300接收到的加密数据。在一些实施方式中,解密电路436促进了协同解密。例如,多个解密电路436可以一起工作以解密加密的数据项(例如,各自去除一部分加密等)。
现在参考图2,根据说明性实施方式,示出了用于安全地传送来自不同实体的数据并确定聚合交互数据的改进的计算机体系结构。简而言之,与发布者计算***10相关联的发布者可以使用客户端设备(例如,智能电话、计算机等)向用户提供内容项。在一些实施方式中,内容项是特定于特定用户的。与交互数据提供者计算***30相关联的交互数据提供者可以检测用户何时与内容项交互。例如,显示视频的用户可以点击该视频。期望测量用户与内容项的交互。例如,提供视频的发布者可能希望知道有多少用户点击了该视频。附加地或可替代地,由于用户与内容项的交互的结果,用户可以与发布者提供的其他内容进行交互。例如,显示视频的用户可以稍后访问该发布者维护的网站,以购买视频中的特色商品。在一些实施方式中,交互是在线转换或与在线转换相关联。在各种实施方式中,测量用户与内容项的交互需要将来自发布者的信息(例如,发布者数据等)与来自交互数据提供者的信息(例如,交互数据等)进行比较。因此,需要一种在***露个人信息的情况下安全且匿名地测量用户与在线内容的交互的***。本文所述的新颖的密码学和计算机体系结构有助于在***露个人信息的情况下安全且匿名地测量用户与在线内容的交互。
在步骤502,第一数据处理***200和第二数据处理***300协同生成EG公钥。在一些实施方式中,第二数据处理***300单独地生成EG公钥。在一些实施方式中,多个第一数据处理***200与第二数据处理***300协同生成EG公钥。在各种实施方式中,EG公钥是通过在椭圆曲线上实施EG加密而生成的EG公钥。
在步骤504,第一数据处理***200将EG公钥传送到发布者计算***10和交互数据提供者计算***30。附加地或替代地,第二数据处理***300可以将EG公钥传送到发布者计算***10和/或交互数据提供者计算***30。例如,第一数据处理***200和第二数据处理***300可以将EG公钥分别发送到发布者计算***10和交互数据提供者计算***30,所述发布者计算***10和交互数据提供者计算***30可以验证从第一数据处理***200和第二数据处理***300接收到的密钥是相同的。
在步骤506,第三数据处理***400将AHE公钥传送到发布者计算***10和交互数据提供者计算***30。在步骤508,发布者计算***10和交互数据提供者计算***30将数据传送到第一数据处理***200。在各种实施方式中,数据被加密。例如,数据的一部分可以利用EG公钥加密,以及数据的一部分可以用AHE公钥加密。在各种实施方式中,发布者计算***10传送加密的发布者数据,而交互数据提供者计算***30传送加密的交互数据。在各种实施方式中,加密的发布者数据包括第一加密标识符。在一些实施方式中,发布者数据包括时间戳和/或交互计数。在各种实施方式中,加密的交互数据包括第二加密标识符和加密值。在一些实施方式中,交互数据包括时间戳和/或倾向数据。在各种实施方式中,第一和第二加密标识符可以利用EG公钥加密,而且加密值可以用AHE公钥加密。
在步骤510,第一数据处理***200将数据传送到第二数据处理***300。在各种实施方式中,对数据进行加密。例如,数据的一部分可以具有带有EC秘密密钥的第一加密层和带有EG公钥的第二部分加密层,而且数据的一部分可以具有带有AHE公钥的加密层。在各种实施方式中,数据包括加密的发布者数据和加密的交互数据。
在步骤512,第二数据处理***300将数据传送到第三数据处理***400。在各种实施方式中,数据被加密。例如,可以利用AHE公钥对数据进行加密。在一些实施方式中,数据被屏蔽。例如,数据可以具有追加的随机整数。在各种实施方式中,数据包括加密的聚合值。在一些实施方式中,数据包括与一个或多个发布者相关联的加密的发布者积分。在各种实施方式中,第三数据处理***400可以将发布者积分传送到一个或多个发布者(例如,发布者计算***10等)。
现在参考图3A-3D,根据说明性实施方式,示出了密钥生成过程600。在各种实施方式中,密钥生成过程600(或其要素)连续发生。例如,***100可以对所处理的每个新数据集执行密钥生成过程600。在一些实施方式中,密钥生成过程600周期性地发生。例如,***100可以每小时、每天、每周等等执行密钥生成过程600。现在具体参考图3A,根据说明性实施方式,示出了用于第一数据处理***200的密钥生成过程600。在步骤602,第一数据处理***200与第二数据处理***300协同生成第一公钥。附加地或替代地,多个第一数据处理***200可以与第二数据处理***300协同生成第一公钥。例如,第一数据处理***200可以是分布式处理***,并且第一数据处理***200的多个分布式组件可以与第二数据处理***300协同生成第一公钥。作为另一示例,可以有第一数据处理***200的许多副本可以与第二数据处理***300协同生成第一公钥。在各种实施方式中,第一公钥是EG公钥。例如,第一公钥可以是通过在椭圆曲线上实施EG加密而生成的公钥。在一些实施方式中,步骤602被省略,并且第二数据处理***300单独地生成第一公钥。
在步骤604,第一数据处理***200生成与第一公钥相关联的第一秘密密钥。在各种实施方式中,第一秘密密钥是EG秘密密钥。在一些实施方式中,第一数据处理***200生成多个第一秘密密钥。例如,第一数据处理***200可以是与第二数据处理***300协同生成第一公钥的分布式处理***,并且第一数据处理***200的多个分布式组件可以各自生成其自己的第一秘密密钥。在各种实施方式中,第一秘密密钥和第一公钥是密钥对。在一些实施方式中,省略步骤604,并且第二数据处理***300单独生成第一公钥。
在步骤606,第一数据处理***200生成第二秘密密钥。在各种实施方式中,第二秘密密钥是EC秘密密钥。例如,第二秘密密钥可以是通过在椭圆曲线上实施EC加密而生成的秘密密钥。在各种实施方式中,用于生成第二秘密密钥的椭圆曲线与上述步骤602中用于生成第一公钥的椭圆曲线相同或相似。在一些实施方式中,第一数据处理***200生成多个第二秘密密钥。例如,第一数据处理***200可以是分布式处理***,并且第一数据处理***200的多个分布式组件可以各自生成它们自己的第二秘密密钥。
现在具体参考图3B,根据说明性实施方式,示出了用于第二数据处理***300的密钥生成过程600。在步骤608,第二数据处理***300与第一数据处理***200协同生成第一公钥。在各种实施方式中,第一公钥是EG公钥。在各种实施方式中,通过在与上述步骤606中所述的用来生成第二秘密密钥的相同椭圆曲线上实施EG加密来生成第一公钥。在一些实施方式中,第二数据处理***300与多个第一数据处理***200协同地生成第一公钥。附加或可替代地,第二数据处理***300可以单独地产生第一公钥。
在步骤610,第二数据处理***300生成与第一公钥相关联的第三秘密密钥。在各种实施方式中,第三秘密密钥是EG秘密密钥。在各种实施方式中,第三秘密密钥和第一公钥是密钥对。
现在具体参考图3C,根据说明性实施方式,示出了用于第三数据处理***400的密钥生成过程600。在步骤612,第三数据处理***400生成第二公钥。在各种实施方式中,第二公钥是AHE公钥。在一些实施方式中,第三数据处理***400生成多个第二公钥。例如,第三数据处理***400可以是分布式处理***,并且第三数据处理***400的多个分布式组件可以各自生成它们自己的第二公钥。
在步骤614,第三数据处理***400生成与第二公钥相关联的第四秘密密钥。在各种实施方式中,第四秘密密钥是AHE秘密密钥。在一些实施方式中,第三数据处理***400生成多个第四秘密密钥。例如,第三数据处理***400可以是分布式处理***,并且第三数据处理***400的多个分布式组件可以各自生成它们自己的第四秘密密钥。在各种实施方式中,第四秘密密钥和第二公钥是密钥对。
现在具体参考图3D,根据说明性实施方式,示出了用于发布者计算***10的密钥生成过程600。在一些实施方式中,发布者计算***10不生成任何密钥。在步骤616,发布者计算***10生成第三公钥。在各种实施方式中,第三公钥是非对称加密公钥。在一些实施方式中,多个发布者可以生成多个第三公钥,每个第三公钥对应于多个发布者中的一个。在一些实施方式中,步骤616包括生成多个第三公钥,每个第三公钥用于不同的交互流(例如,移动、网络等)。
在步骤618,发布者计算***10生成与第三公钥相关联的第五秘密密钥。在各种实施方式中,第五秘密密钥是非对称加密秘密密钥。在各种实施方式中,第五秘密密钥和第三公钥是密钥对。
现在参考图4A-4B,根据说明性实施方式,示出了安全地传输和关联交互数据的方法700。在步骤702,***100执行密钥生成过程。在各种实施方式中,可以如以上参考图3A-3D详细所述来执行密钥生成过程。在步骤710,发布者计算***10使用第一公钥加密第一标识符。在各种实施方式中,第一公钥是从第二数据处理***300接收到的EG公钥。在各种实施方式中,第一标识符是与发布者内容交互(例如,观看广告、点击链接等等)的用户的用户标识符。在步骤712,发布者计算***10将数据传送到第一数据处理***200。在各种实施方式中,数据包括加密的第一标识符。例如,数据可以包括通过使用来自第二数据处理***300的EG公钥所加密的第一标识符。在一些实施方式中,数据包括时间戳和/或数量。
在步骤720,交互数据提供者计算***30使用第一公钥加密第二标识符。在各种实施方式中,第一公钥是EG公钥。在各种实施方式中,第二标识符是完成在线交互(例如,购买等)的用户的用户标识符。在步骤722,交互数据提供者计算***30使用第二公钥加密值。在各种实施方式中,第二公钥是从第三数据处理***400接收的AHE公钥。在各种实施方式中,所述值是与用户完成的在线交互相关联的价值量(例如,购买金额等)。在步骤724,交互数据提供者计算***30将数据传送到第一数据处理***200。在各种实施方式中,数据包括加密的第二标识符和加密值。例如,数据可以包括使用来自第二数据处理***300的EG公钥加密的第二标识符和使用来自第三数据处理***400的AHE公钥加密的值。在一些实施方式中,数据包括时间戳和/或倾向数据。
在步骤730,第一数据处理***200从发布者计算***10接收加密的第一标识符,并从交互数据提供者计算***30接收加密的第二标识符和加密值。在一些实施方式中,第一数据处理***200接收附加信息(例如,时间戳、数量、倾向数据等)。在步骤732,第一数据处理***200通过使用第一秘密密钥,来从加密的第一和第二标识符中去除加密的第一部分,以产生部分加密的第一和第二标识符。在各种实施方式中,第一秘密密钥是由第一数据处理***200生成的EG秘密密钥。例如,第一数据处理***200和第二数据处理***300可以协同地生成需要来自第一数据处理***200的第一EG秘密密钥和来自第二数据处理***300的第二EG秘密密钥解密的EG公钥。在一些实施方式中,步骤732被省略,并且第二数据处理***300单独去除了EG加密。附加地或替代地,多个第一数据处理***200可以从第一和第二标识符协同地去除加密的第一部分。例如,多个第一数据处理***200和第二数据处理***300可以协同地生成需要来自多个第一数据处理***200的每一个的第一数量的EG秘密密钥和来自第二数据处理***300的第二EG秘密密钥解密的EG公钥。在各种实施方式中,加密的第一部分是可以被第一EG秘密密钥去除的EG加密的部分。
在步骤734,第一数据处理***200使用第二秘密密钥对部分加密的第一和第二标识符进行加密,以产生模糊加密的第一和第二标识符。在各种实施方式中,第二秘密密钥是由第一数据处理***200生成的EC秘密密钥。在各种实施方式中,模糊加密的第一和第二标识符具有EG加密的第一部分层和EC加密的第二层。在步骤736,第一数据处理***200对至少一些模糊加密的第一标识符和/或模糊加密的第二标识符执行随机化操作。例如,随机化操作可以包括重新随机化加密密文。在步骤738,第一数据处理***200将数据传送到第二数据处理***300。在各种实施方式中,数据包括模糊加密的第一和第二标识符以及加密值。在一些实施方式中,数据包括附加信息(例如,时间戳、数量、倾向数据等)。
在步骤740,第二数据处理***300从第一数据处理***200接收模糊加密的第一和第二标识符以及加密值。在一些实施方式中,第二数据处理***300接收附加信息(例如,时间戳、数量、倾向数据等)。在步骤742,第二数据处理***300使用第三秘密密钥对模糊加密的第一和第二标识符进行解密,以产生模糊的第一和第二标识符。在各种实施方式中,步骤742包括去除与由第二数据处理***300保存的EG秘密密钥相对应的EG加密的第二部分。在一些实施方式中,第二数据处理***300自身去除整个EG加密(例如,无需第一数据处理***200)。在各种实施方式中,模糊的第一和第二标识符是EC加密的第一和第二标识符。
在步骤750,第二数据处理***300使用模糊的第一和第二标识符以及加密值来执行聚合运算以产生加密的聚合值。在各种实施方式中,聚合运算包括结合模糊的第一和第二标识符、以及分配与加密值相关联的积分。在下文中,参考图5-10更详细地描述聚合运算。在各种实施方式中,加密聚合值是与特定发布者和/或交互路径相关联的价值量。在各种实施方式中,加密聚合值包括多个价值量(例如,每个价值量与不同的发布者和/或交互路径相关联等等)。在各种实施方式中,利用AHE加密对加密的聚合值进行加密。
在步骤760,第二数据处理***300对加密的聚合值执行屏蔽操作以产生加密的屏蔽聚合值。在一些实施方式中,屏蔽操作包括追加随机整数。在下文中,参考图11更详细地描述屏蔽操作。在一些实施方式中,步骤760被省略。在步骤744,第二数据处理***300将加密的屏蔽聚合值传送到第三数据处理***400。在各种实施方式中,加密的屏蔽聚合值可以包括多个值(例如,每个值与不同的发布者和/或交互路径相关联等等。)
在步骤770,第三数据处理***400从第二数据处理***300接收加密的屏蔽聚合值。在各种实施方式中,加密的屏蔽聚合值包括如上所述的多个值。在步骤722,第三数据处理***400使用第四秘密密钥对加密的屏蔽聚合值进行解密以产生屏蔽聚合值。在各种实施方式中,第四秘密密钥是由第三数据处理***400生成的AHE秘密密钥。在各种实施方式中,屏蔽的聚合值是具有追加的随机整数的聚合值。在步骤774,第三数据处理***400将屏蔽的聚合值传送到发布者计算***10。在一些实施方式中,步骤774包括传送多个屏蔽的聚合值。例如,第三数据处理***400可以传送多个屏蔽的聚合值,每个屏蔽聚合值与不同的交互路径和/或不同的发布者相关联。
现在参考图5-10,根据说明性实施方式,更详细地示出了步骤750。在各种实施方式中,第二数据处理***300执行步骤750。在步骤752,第二数据处理***300结合模糊的第一和第二标识符。在各种实施方式中,结合模糊的第一和第二标识符包括比较模糊的第一和第二标识符的密文。例如,具有密文“svf414fal20”的模糊的第一标识符可以与具有密文“svf414fal20”的模糊的第二标识符结合(例如匹配等)。在各种实施方式中,步骤752包括通过模糊标识符将数据以行来分组。
在步骤754,第二数据处理***300在发布者之间分配积分。附加地或替代地,第二数据处理***300可以在交互路径之间分配积分。在各种实施方式中,步骤754包括跨行计算函数以分配积分。在下文中,参考图6-10更详细地描述步骤754。在各种实施方式中,根据基于规则的归因来分配积分。例如,第二数据处理***300可以基于第一印象方案(例如,第一交互接收所有积分)、最后印象方案(例如,最后交互接收所有积分)、线性/相同权重方案(例如,每次交互和/或发布者都接收相同的积分部分)、位置方案(例如,第一个和/或最后一个交互接收积分的第一部分,而其余的交互则接收剩余所述积分的相同部分)、时间衰减方案(例如,类似于线性/相同权重,但包括与较早的交互相关联的惩罚)、自定义方案等等。在一些实施方式中,基于Shapley值来分配积分。在一些实施方式中,基于多元马尔可夫模型(MMM)来分配积分。在步骤756,第二数据处理***300执行求和以产生加密的聚合值。在一些实施方式中,步骤756产生多个价值量。在各种实施方式中,步骤756包括沿着每一列进行聚合。
现在具体参考图6,根据说明性实施方式示出了数据集操作。在各种实施方式中,第二数据处理***300可以包括发布者数据810和交互数据820。在各种实施方式中,发布者数据810包括第一标识符814。第一标识符814可以是EC加密的。在一些实施方式中,第一标识符814是设备标识符。附加地或可替代地,第一标识符814可以是或可以包括另一标识符,诸如与用户账户相关联的标识符。第一标识符814被示为数字,但是应当理解,第一标识符814可以是字母数字密文。在各种实施方式中,第一标识符814与发布者标识符812相关联。发布者标识符812可以标识关联的第一标识符814的来源。在一些实施方式中,发布者数据包括交互路径标识符。在各种实施方式中,交互数据820包括第二标识符822和值824。第二标识符822可以是EC加密的。值824可以是AHE加密的。如上所述,第二标识符822和值824分别被示出为名称和美元金额,但是应当理解,第二标识符822和值824是字母数字密文。在各种实施方式中,值824与第二标识符822相关联。在各种实施方式中,第二标识符822与第一标识符814相关联。在各种实施方式中,发布者数据810和/或交互数据820在被第二数据处理***300接收时是非结构化数据(例如,未排序等)。
在步骤752,第二数据处理***300结合模糊的第一和第二标识符(例如,第一标识符814和第二标识符822)。步骤752可以包括通过匹配第一标识符814和第二标识符822将数据以行来分组。在各种实施方式中,第二数据处理***300基于结合的第一和第二标识符814和822,确定发布者是记录了与用户的交互830还是未记录与用户的交互832。例如,第二数据处理***300可以确定发布者1和3向“ID 3”显示发布者内容,而发布者2则没有。在各种实施方式中,第二数据处理***300基于匹配的第一标识符814和第二标识符822来确定对应于行的特定值(例如,值824)。应该理解到,尽管数据被示出为对应于不同的发布者,但是数据可以附加地或替代地对应于不同的交互路径。
在步骤754,第二数据处理***300在发布者之间分配积分840。在一些实施方式中,积分840是值824的一部分或全部。在一些实施方式中,第二数据处理***300在发布者之间平均分配积分840。例如,第二数据处理***300可以确定发布者1和3向“ID 3”显示发布者内容,而发布者2则没有,并且可以在发布者1和3之间平均分配与“ID 3”相关联的价值“$9”(例如,分别为“$4.50”等等)。附加地或可替代地,第二数据处理***300可以使用定制过程(例如,定制规则等)来分配价值。例如,第二数据处理***300可以将大部分价值分配给首先向用户显示内容的第一发布者,并且可以在第一发布者之后向用户显示内容的各个其他发布者之间分配小部分价值。
在步骤756,第二数据处理***300执行求和以产生聚合值850。步骤756可以包括沿着每一列进行聚合。例如,第二数据处理***300可以对与发布者1相关联的积分840的集合求和以确定总价值850。在各种实施方式中,第二数据处理***300为每个发布者确定总价值850。附加地或可替代地,第二数据处理***300可以为每个交互路径确定总价值。
现在具体参考图7,示出了根据说明性实施方式的数据集操作。在各种实施方式中,图7的数据集操作类似于图6的数据集操作。发布者数据810可以包括时间816。时间816可以与第一标识符814相关联的用户与发布者内容进行交互的时间相关联。在各种实施方式中,时间816包括时间戳。在一些实施方式中,时间816被截断(例如,到小时、天等)和/或批处理,从而保留个人信息。
在各种实施方式中,如上所述执行步骤752。在各种实施方式中,第二数据处理***300确定与每个发布者交互相关联的交互时间834。例如,第二数据处理***300可以确定发布者1在“5/11”向“ID 3”显示发布者内容,发布者3在“5/14”向“ID 3”显示发布者内容,而发布者2则没有记录交互832。在步骤754,第二数据处理***300可以根据最后点击的归因方案,在发布者之间分配积分840。例如,第二数据处理***300可以将与“ID 3”相关联的整个价值量分配给发布者3,因为发布者3是向“ID 3”显示发布者内容的最后一个发布者。附加地或可替代地,第二数据处理***300可以根据第一点击归因方案,在发布者之间分配积分840。在各种实施方式中,如上所述执行步骤756。
现在具体参考图8,示出了根据说明性实施方式的数据集操作。在各种实施方式中,图8的数据集操作类似于图6的数据集操作。发布者数据810可以包括数量818。数量818可以与发布者记录与用户的交互的次数(例如,向用户显示发布者内容等)相关联。
在各种实施方式中,如上所述执行步骤752。在各种实施方式中,第二数据处理***300确定与每个发布者交互相关联的交互数量836。例如,第二数据处理***300可以确定发布者1向“ID 3”显示发布者内容一次,发布者3向“ID 3”显示发布者内容四次,而发布者2未记录交互832。在步骤754,第二数据处理***300可以基于交互数量836,在发布者之间分配积分840。例如,第二数据处理***300可以基于交互数量836对积分840进行加权。作为另外的示例,第二数据处理***300可以将与“ID 3”关联的价值量的五分之四分配给发布者3,而将与“ID 3”相关联的价值量的五分之一分配给发布者1,因为发布者3记录了与“ID 3”相关联的总用户交互的五分之四,而发布者1记录了与“ID 3”相关联的总用户交互的五分之一。在各种实施方式中,如上所述执行步骤756。
现在具体参考图9,示出了根据说明性实施方式的Shapley值的生成。交互数据820可以包括时间826。时间826可以与第二标识符822相关联的用户执行在线交互(例如,购买等)的时间相关联。在各种实施方式中,时间826包括时间戳。在一些实施方式中,时间826被截断(例如,到小时、天等)和/或被批处理,从而保留个人信息(例如,保持隐私和安全性等)。在各种实施方式中,如上所述执行步骤752以确定交互时间834。
在步骤754A,第二数据处理***300确定与每个路径860相关联的交互次数862和总价值864。例如,第一路径860可以包括其中用户与来自发布者1、2和3的发布者内容进行交互的交互,而第二路径860可以包括其中用户仅与来自发布者1的发布者内容进行交互的交互。在一些实施方式中,路径860描述了交互的类型。例如,第一路径860可以包括移动和网络交互,而第二路径可以包括链接推荐。在各种实施方式中,交互次数862是被记录为与特定路径860中定义的要素进行交互的多个用户的总和。在各种实施方式中,路径860是无序的(例如,非顺序的等)。
在步骤754B,第二数据处理***300确定Shapley值852。Shapley值852可以描述发布者在所有可能的路径860上的平均边际贡献。在各种实施方式中,第二数据处理***300将Shapley值852计算为:
Figure BDA0003046079030000311
其中,
Figure BDA0003046079030000312
是xj的Shapley值852,其中xj是用户交互(例如,与发布者标识符812相关联的第一标识符814),其中,j是发布者总数p的索引,其中,P是所有用户交互的集合,其中,
Figure BDA0003046079030000313
是必须包括交互xj的用户交互的一个子集,以及其中,R(S∪{xj})是分配给特定路径860的积分。
例如,发布者1的Shapley值852可以计算为:
Figure BDA0003046079030000314
附加地或可替代地,Shapley值852可以被计算为聚合值850。例如,聚合值850可以被计算为:
Figure BDA0003046079030000315
在一些实施方式中,步骤754B包括步骤756。附加或可替代地,可以基于倾向得分来计算聚合值850。例如,第二数据处理***300可以基于倾向得分对数据进行分组,并且可以基于数据的分组来确定聚合值850。
现在参考图10,示出了根据说明性实施方式的马尔可夫模型的生成。在各种实施方式中,如上所述执行步骤752。在各种实施方式中,第二数据处理***300确定与多个路径870相关联的交互次数862和总价值864。例如,第一路径870可以包括其中用户与来自发布者1的发布者内容、接着是来自发布者2的发布者内容、以及接下来是发布者3的发布者内容进行交互的交互,而第二路径870可以包括其中用户仅与来自发布者1的发布者内容进行交互的交互。在各种实施方式中,路径870是有序的(例如,顺序的,等等)。
在步骤754C,第二数据处理***300生成马尔可夫模型880。马尔可夫模型880可以将路径870建模为经过一系列状态的行程。马尔可夫模型880可以包括节点882和连接884。节点882可以表示交互。例如,用户可以在执行在线交互(例如,购买等)之前与来自发布者1的发布者内容进行交互,然后与发布者3进行交互。在各种实施方式中,马尔可夫模型880包括起点、终点和空节点882。起点节点882可以代表起始地点(例如,在用户与发布者内容进行交互之前等等)。终点节点882可以代表已经执行在线交互的用户。空节点882可以代表尚未执行在线交互的用户。连接884可以表示从第一节点882过渡到第二节点882的概率。在各种实施方式中,第二数据处理***300根据经验确定连接884的概率(例如,基于发布者数据810和交互数据820)。
在步骤754D,第二数据处理***300生成去除效果854。去除效果854可以通过将其中存在特定发布者时所发生的在线交互的数量与其中没有特定发布者时所发生的在线交互的数量进行比较,来对发布者的贡献进行建模。在各种实施方式中,第二数据处理***300将去除效果854计算为:
RE(i)=R-∑ppri
其中,RE(i)是与节点882i相关联的实体的去除效果854,其中,R是总交互率(例如,最终执行在线交互的用户百分比等),以及其中,ppri是与节点882i相关联的路径概率。例如,起点→发布者1→终点的ppri为0.5*0.33=0.16。在一些实施方式中,步骤754D包括步骤756。
在各种实施方式中,第二数据处理***300将去除效果854生成为去除效果854之和的百分比。例如,去除效果854可以计算为:
Figure BDA0003046079030000331
现在参考11,示出了根据说明性实施方式的执行屏蔽操作的步骤760。在各种实施方式中,第二数据处理***300执行步骤760。在步骤762,第二数据处理***300生成随机值。在各种实施方式中,随机值是较大的随机值(例如,128位或更长等等)。在各种实施方式中,步骤762包括生成多个随机值。例如,第二数据处理***300可以为被屏蔽聚合值的每个目的地(例如,为每个发布者等)生成随机值。
在步骤764,第二数据处理***300利用随机值和加密的聚合值执行运算以产生加密的屏蔽的聚合值。在各种实施方式中,该运算包括将随机值追加到加密的聚合值。在步骤766,第二数据处理***300使用第三公钥对随机值进行加密以产生加密的随机值。在各种实施方式中,第三公钥是来自发布者计算***10的非对称加密公钥。在步骤768,第二数据处理***300将加密的随机值传送到发布者计算***10。在各种实施方式中,可以对每个随机值和/或目的地(例如,对每个发布者等)重复步骤766和768。
图12图示了计算***1000的描绘,其可以用于例如实施本公开中描述的示例性***(例如***100等)的任何一个。计算***1000包括总线1005或用于传达信息的其他通信组件,以及耦合到总线1005、用于处理信息的处理器1010。计算***1000还包括主存储器1015,诸如随机存取存储器(“RAM”)或其他动态存储设备,其耦合到总线1005以存储信息以及将由处理器1010执行的指令。主存储器1015还可以被用于在处理器1010执行指令期间,存储位置信息、临时变量或其他中间信息。计算***1000可以进一步包括耦合到总线1005的只读存储器(ROM)1020或其他静态存储设备,以存储用于处理器1010的静态信息和指令。存储设备1025(诸如固态设备、磁盘或光盘)耦合到总线1005以持久地存储信息和指令。
计算***1000可以经由总线1005耦合到显示器1035,诸如液晶显示器或有源矩阵显示器,以向用户显示信息。输入设备1030,诸如包括字母数字和其他键的键盘,可以耦合到总线1005以向处理器1010传达信息和命令选择。在另一实施方式中,输入设备1030具有触摸屏显示器1035。输入设备1030可以包括光标控制,诸如鼠标、轨迹球或光标方向键,以向处理器1010传达方向信息和命令选择并且控制显示器1035上的光标移动。
在一些实施方式中,计算***1000可以包括通信适配器1040,诸如网络适配器。通信适配器1040可以耦合到总线1005,并且可以被配置为能够实现与计算或通信网络1045和/或其他计算***的通信。在各种示例性实施方式中,可以使用通信适配器1040来实现任何类型的网络配置,诸如有线(例如,经由以太网)、无线(例如,经由WiFi、蓝牙等)、预配置、自组、LAN、WAN等。
根据各种实施方式,响应于处理器1010执行包含在主存储器1015中的指令的布置,计算***1000可以实现用于实施本文所述的示例性实施方式的各种处理。这样的指令可以从诸如存储设备1025的另一计算机可读介质被读入主存储器1015中。执行包含在主存储器1015中的指令的布置使得计算***1000执行本文所述的示例性处理。也可以采用多处理布置中的一个或多个处理器来执行包含在主存储器1015中的指令。在替选实施方式中,可以使用硬布线电路代替软件指令或与软件指令结合来实施示例性实施方式。因此,实施方式不限于硬件电路和软件的任何特定组合。
尽管在图12中描述了示例性处理***,但是可以使用其他类型的数字电子电路,或者以计算机软件、固件或硬件(包括在本说明书中公开的结构及其结构等效物)、或它们中的一个或多个的组合来执行本说明书中描述的主题和功能操作的实施方式。
除了以上描述之外,可以向用户提供控件,该控件允许用户就本文所述的***、程序或特征是否以及何时可以启用对用户信息(例如,关于用户的社交网络、社交活动或活动、职业、用户的偏好或用户的当前位置的信息)的收集以及是否从服务器向用户发送了内容或通信进行选择。另外,某些数据在被存储或使用之前可以以一种或多种方式对其进行处理,以便删除个人可识别信息。例如,可以处理用户的身份,使得无法确定该用户的个人可标识信息,或者可以概括其中获得位置信息的用户的地理位置(例如,诸如概括到城市、邮政编码或州级),因此无法确定用户的具***置。因此,用户可以控制收集关于用户的哪些信息、如何使用该信息、以及向用户提供什么信息。在本文描述的***收集有关用户或安装在用户设备上的应用的个人信息或利用个人信息的情况下,为用户提供了对程序或功能部件是否收集用户信息(例如,有关用户的社交网络、社交活动或活动、职业、用户的偏好或用户的当前位置的信息)的控制机会。附加地或替代地,可以在存储或使用某些数据之前以一种或多种方式处理这些数据,以便去除个人信息。
本公开的***和方法相对于现有***提供许多益处。为避免泄露个人信息,差异隐私可能要求聚合的交互度量值不能泄露在计算交互率时是否包含特定个人的信息。因此,需要一种保护隐私方法,该方法可测量聚合交互并在多个发布者之间分配积分。
一种解决方案利用结果测量服务。该结果测量服务可以将发布者数据和交互数据结合,以确定与在线交互相关的总积分。此外,结果测量服务可以使用本文所述的独特的密码学和计算机体系结构方法,安全地分配与发布者之间的在线交互相关联的积分。在各种实施方式中,本文描述的结果测量服务改善了交互测量的领域。此外,与传统***相比,该结果测量服务可以更快和更安全地确定聚合测量,从而改善现有计算机***的功能。
可以使用数字电子电路或以体现在有形介质上的计算机软件、固件或硬件(包括在本说明书中公开的结构及其结构等效物)、或它们中的一个或多个的组合来执行本说明书中描述的主题和操作的实施方式。本说明书中描述的主题的实施方式可以被实施为一个或多个计算机程序,即,计算机程序指令的一个或多个模块,其被编码在一个或多个计算机存储介质上以由数据处理装置执行或控制数据处理装置的操作。替代地或附加地,程序指令可以被编码在人工生成的传播信号上,例如,机器生成的电、光或电磁信号,其被生成为对信息进行编码以传输到合适的接收器装置以由数据处理装置执行。计算机可读存储介质可以是计算机可读存储设备、计算机可读存储基板、随机或串行访问存储器阵列或设备、或者它们中的一个或多个的组合中;或者被包括在上述设备之中。此外,尽管计算机存储介质不是传播信号,但是计算机存储介质可以是编码在人工生成的传播信号中的计算机程序指令的源或目的地。计算机存储介质还可以是一个或多个单独的组件或介质(例如,多个CD、盘或其他存储设备)或者包括在其中。因此,计算机存储介质是有形且非暂时性的。
本说明书中描述的操作可以被实施为由数据处理装置对存储在一个或多个计算机可读存储设备上或从其他源接收的数据执行的操作。
术语“数据处理装置”或“计算设备”涵盖用于处理数据的所有种类的装置、设备和机器,包括例如可编程处理器、计算机、片上***或者上述中的多个或组合。该装置可以包括专用逻辑电路,例如FPGA(现场可编程门阵列)或ASIC(专用集成电路)。除了硬件之外,装置还可以包括为所述的计算机程序创建执行环境的代码,例如,构成处理器固件、协议栈、数据库管理***、操作***、跨平台运行时环境、虚拟机、或者上述中的一个或多个的组合的代码。装置和执行环境可以实现各种不同的计算模型基础结构,诸如网络服务、分布式计算和网格计算基础结构。
计算机程序(也称为程序、软件、软件应用、脚本或代码)可以以任何形式的编程语言(包括编译或解释语言、声明或过程语言)编写,并且可以部署为任何形式,包括独立程序或适合在计算环境中使用的模块、组件、子例程、对象或其他单元。计算机程序可以但不是必须对应于文件***中的文件。程序可以存储在保存其他程序或数据的文件的一部分中(例如,存储在标记语言文档中的一个或多个脚本)、专用于所讨论程序的单个文件中或多个协调文件中(例如,存储一个或多个模块、子程序或部分代码的文件)。计算机程序可以部署为在一个计算机上或者位于一个站点上或分布在多个站点上并且通过通信网络互连的多个计算机上执行。
本说明书中描述的过程和逻辑流可以由执行一个或多个计算机程序的一个或多个可编程处理器执行,以通过对输入数据进行操作并且生成输出来执行动作。过程和逻辑流也可以由专用逻辑电路执行,并且装置也可以被实施为专用逻辑电路,例如,FPGA(现场可编程门阵列)或ASIC(专用集成电路)。可以使用硬件电路(例如,FPG、ASIC等)、软件(存储在一个或多个计算机可读存储介质上并且可由一个或多个处理器执行的指令)或其任意组合来实施本文所利用的电路。
适合于执行计算机程序的处理器包括,例如,通用和专用微处理器,以及任何种类的数字计算机的任何一个或多个处理器。通常,处理器将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的必要元件是用于根据指令执行动作的处理器和用于存储指令和数据的一个或多个存储设备。通常,计算机还将包括或可操作地耦合到用于存储数据的一个或多个大容量存储设备(例如,磁、磁光盘或光盘),以从一个或多个大容量存储设备接收数据或向其传输数据或者两者。但是,计算机不是必须具有这样的设备。此外,计算机可以被嵌入到另一设备中,例如,移动电话、个人数字助理(“PDA”)、移动音频或视频播放器、游戏机、全球定位***(“GPS”)接收器或便携式存储设备(例如,通用串行总线(“USB”)闪存驱动器),仅举几例。适合于存储计算机程序指令和数据的设备包括所有形式的非易失性存储器、介质和存储设备,包括例如:半导体存储设备,例如EPROM、EEPROM和闪速存储器设备;磁盘,例如内部硬盘或可移除磁盘;磁光盘;以及CD-ROM和DVD-ROM盘。处理器和存储器可以由专用逻辑电路补充或并入专用逻辑电路中。
为了提供与用户的交互,可以使用下述计算机来执行本说明书中描述的主题的实施方式,该计算机具有:显示设备,例如CRT(阴极射线管)或LCD(液晶显示器)监视器,以用于向用户显示信息;以及键盘和指点设备,例如,鼠标或轨迹球,用户可以通过其向计算机提供输入。其他种类的设备也可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的感觉反馈,例如,视觉反馈、听觉反馈或触觉反馈;并且可以以任何形式接收来自用户的输入,包括声音、语音或触觉输入。另外,计算机可以通过向用户使用的设备发送文档以及从用户使用的设备接收文档来与用户进行交互;例如,通过响应从网页浏览器收到的请求,将网页发送到用户客户端设备上的网页浏览器。
本说明书中描述的主题的实施方式可以使用下述计算***执行,该计算***包括:后端组件,例如,作为数据服务器;或包括中间件组件,例如,应用服务器;或包括前端组件,例如,具有图形用户界面或网页浏览器的客户端计算机,用户可以通过图形用户界面或网页浏览器与本说明书中描述的主题的实施方式进行交互;或一个或多个这样的后端、中间件或前端组件的任何组合。***的组件可以通过数字数据通信的任何形式或介质(例如,通信网络)互连。通信网络的示例包括局域网(“LAN”)和广域网(“WAN”),网络间(例如互联网)和对等网络(例如自组对等网络)。
计算***可以包括客户端和服务器。客户端和服务器通常彼此远离,并且通常通过通信网络进行交互。在客户端和服务器之间的关系是通过在各自计算机上运行并且彼此具有客户端-服务器关系的计算机程序产生的。在一些实施方式中,服务器将数据(例如,HTML页面)发送到客户端设备(例如,出于向与客户端设备交互的用户显示数据和从其接收用户输入的目的)。在服务器处,可以从客户端设备接收在客户端设备处生成的数据(例如,用户交互的结果)。
在一些示意性实施方式中,本文公开的特征可以实施在智能电视模块(或联网(connected)的电视模块、混合电视模块等)上,该智能电视模块可以包括配置为将互联网连接性与(例如,经由线缆、卫星、空中或其他信号接收的)更传统的电视节目源集成的处理电路。智能电视模块可以物理地并入到电视机中,或者可以包括单独的设备,诸如,机顶盒、蓝光或其他数字媒体播放器、游戏机、酒店电视***以及其他配套设备。智能电视模块可以配置为允许观看者在网络上、在本地有线电视频道上、在***频道上搜索和查找视频、电影、照片和其他内容,或者搜索和查找存储在本地硬盘驱动器上的视频、电影、照片和其他内容。机顶盒(STB)或机顶单元(STU)可以包括信息家电设备,其可以包含调谐器并且连接到电视机和外部信号源,将信号转换成内容,然后将内容显示在电视屏幕或其他显示设备上。智能电视模块可以被配置为提供主屏幕或顶层屏幕,其包括用于多个不同应用的图标,诸如网络浏览器和多个流媒体服务、连接的线缆或卫星媒体源、其他网络“频道”等。智能电视模块可以进一步配置为向用户提供电子节目指南。智能电视模块的伴随应用可以在移动计算设备上操作,以向用户提供关于可用节目的附加信息,以允许用户控制智能电视模块等。在替选实施方式中,所述特征可以实施在膝上型计算机或其他个人计算机、智能电话、其他移动电话、手持计算机、平板型PC或其他计算设备上。
虽然本说明书包含许多具体的实施方式细节,但是这些不应被解释为对任何发明或可能要求保护的范围的限制,而是作为特定于特定发明的特定实施方式的特征的描述。在分开的实施方式的上下文中在本说明书中描述的特定特征也可以组合执行或在单个实施方式中执行。相反,在单个实施方式的上下文中描述的各种特征也可以分开地执行或以任何合适的子组合在多个实施方式中执行。此外,尽管特征可以在以上被描述为以特定组合起作用并且甚至最初如此要求保护,但是在某些情况下可以从组合中排除来自所要求保护的组合的一个或多个特征,并且所要求保护的组合可以针对子组合或子组合的变型。附加地,关于特定标题所描述的特征可以关于在其他标题下所描述的示意性实施方式和/或与在其他标题下所描述的示意性实施方式被组合地利用;所提供的标题仅出于可读性的目的而被包括,并且不应当被解释为限制关于这样的标题所提供的任何特征。
类似地,虽然在附图中以特定顺序描绘了操作,但是这不应当被理解为:为了实现期望的结果要求以所示的特定顺序或顺序次序执行这样的操作,或者执行所有示出的操作。在特定情况下,多任务处理和并行处理可能是有利的。此外,上述实施方式中的各种***组件的分离不应当被理解为在所有实施方式中都需要这种分离,并且应当理解,所描述的程序组件和***通常可以在单个软件产品中集成在一起或者被打包到体现在有形介质上的多种软件产品。
因此,已经描述了主题的特定实施方式。其他实施方式在所附权利要求的范围内。在某些情况下,权利要求中记载的动作可以以不同的顺序执行并且仍然实现期望的结果。另外,附图中描绘的处理不一定需要所示的特定顺序或顺序次序来实现期望的结果。在某些实施方式中,多任务和并行处理可能是有利的。

Claims (20)

1.一种方法,包括:
在第一计算***处接收加密标识符和加密值;
由所述第一计算***对所述加密标识符执行隐藏操作以产生隐藏的加密标识符,其中,所述隐藏操作对所述第一计算***和第二计算***隐藏所述加密标识符,但是启用在所述隐藏的加密标识符之间的匹配;
由所述第二计算***解密所述隐藏的加密标识符以产生隐藏的标识符,以及
由所述第二计算***通过使用所述隐藏的标识符和所述加密值来执行聚合运算以生成加密的聚合值,而无需访问与所述加密值相关联的个人信息。
2.根据权利要求1所述的方法,其中,执行所述隐藏操作包括:
从所述加密标识符中去除第一加密的第一部分,以产生部分加密的标识符;以及
利用第二加密确定性地加密所述部分加密的标识符,以产生所述隐藏的加密标识符。
3.根据权利要求2所述的方法,其中,解密所述隐藏的加密标识符包括从所述隐藏的加密标识符中去除所述第一加密的第二部分以产生隐藏的标识符。
4.根据权利要求1所述的方法,进一步包括由第三计算***解密所述加密的聚合值以产生聚合值。
5.根据权利要求4所述的方法,进一步包括:
由所述第一计算***和所述第二计算***协作地生成第一加密密钥;
由所述第一计算***生成与所述第一加密密钥相关联的第二加密密钥和第三加密密钥;
由所述第二计算***生成与所述第一加密密钥相关联的第四加密密钥;以及
由所述第三计算***生成第五加密密钥和第六加密密钥。
6.根据权利要求5所述的方法,其中,使用所述第一加密密钥对所述加密标识符进行加密,并且使用所述第五加密密钥对所述加密值进行加密,其中,所述隐藏操作使用所述第二加密密钥和第三加密密钥,其中,使用所述第四加密密钥对所述隐藏的加密标识符进行解密,以及其中,使用所述第六加密密钥对所述加密的聚合值进行解密。
7.根据权利要求1所述的方法,其中,所述隐藏操作包括通过使用散列函数生成密文,来对所述加密标识符进行混洗并且对所述加密值进行重新随机化。
8.根据权利要求1所述的方法,其中,所述第三计算***是所述第一计算***的一部分。
9.根据权利要求1所述的方法,其中,所述第一计算***或所述第三计算***中的至少一个是分布式计算***。
10.根据权利要求1所述的方法,进一步包括:
由所述第二计算***生成随机值;
由所述第二计算***通过使用所述随机值和所述加密的聚合值来执行运算以产生结果;以及
由所述第二计算***将所述随机值发送给与所述加密标识符相关联的内容发布者。
11.根据权利要求1所述的方法,其中,所述聚合运算包括通过使用所述隐藏的标识符和与所述隐藏的标识符相关联的时间值来执行加权功能,以产生所述加密的聚合值。
12.一种其上存储有指令的一个或多个计算机可读存储介质,所述指令在由第一计算***和第二计算***中的至少一个计算***的一个或多个处理器执行时:
使所述第一计算***:
接收加密标识符和加密值;以及
对所述加密标识符执行隐藏操作以产生隐藏的加密标识符,其中,所述隐藏操作对所述第一计算***和第二计算***隐藏所述加密标识符,但是启用在所述隐藏的加密标识符之间的匹配;以及
使所述第二计算***:
解密所述隐藏的加密标识符以产生隐藏的标识符,以及
通过使用所述隐藏的标识符和所述加密值来执行聚合运算以生成加密的聚合值,而无需访问与所述加密值相关联的个人信息。
13.根据权利要求12所述的一个或多个计算机可读存储介质,其中,执行所述隐藏操作包括:
从所述加密标识符中去除第一加密的第一部分,以产生部分加密的标识符;以及
利用第二加密确定性地加密所述部分加密的标识符,以产生所述隐藏的加密标识符。
14.根据权利要求13所述的一个或多个计算机可读存储介质,其中,解密所述隐藏的加密标识符包括从所述隐藏的加密标识符中去除所述第一加密的第二部分以产生隐藏的标识符。
15.根据权利要求12所述的一个或多个计算机可读存储介质,其中,所述指令进一步被配置为,在由第三计算***的一个或多个处理器执行时,使所述第三计算***解密所述加密的聚合值以产生聚合值。
16.根据权利要求15所述的一个或多个计算机可读存储介质,其中,所述指令被配置为使所述第一计算***和所述第二计算***协作地生成第一加密密钥;以及
其中,所述指令被配置为使所述第一计算***生成与所述第一加密密钥相关联的第二加密密钥和第三加密密钥;
其中,所述指令被配置为使所述第二计算***生成与所述第一加密密钥相关联的第四加密密钥;以及
其中,所述指令被配置为使第三计算***生成第五加密密钥和第六加密密钥。
17.根据权利要求16所述的一个或多个计算机可读存储介质,其中,使用所述第一加密密钥对所述加密标识符进行加密,并且使用所述第五加密密钥对所述加密值进行加密,其中,所述隐藏操作使用所述第二加密密钥和第三加密密钥,其中,使用所述第四加密密钥对所述隐藏的加密标识符进行解密,以及其中,使用所述第六加密密钥对所述加密的聚合值进行解密。
18.根据权利要求16所述的一个或多个计算机可读存储介质,其中,所述第三计算***是所述第一计算***的一部分。
19.根据权利要求16所述的一个或多个计算机可读存储介质,其中,所述第一计算***或所述第三计算***中的至少一个是分布式计算***。
20.根据权利要求12所述的一个或多个计算机可读存储介质,其中,所述聚合运算包括通过使用所述隐藏的标识符和与所述隐藏的标识符相关联的时间值来执行加权功能,以产生所述加密的聚合值。
CN202080005943.7A 2020-05-26 2020-08-24 对交互之间的积分进行聚合的方法 Pending CN113994333A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US202063029835P 2020-05-26 2020-05-26
US63/029,835 2020-05-26
PCT/US2020/047643 WO2021242290A1 (en) 2020-05-26 2020-08-24 Methods for aggregating credit across interactions

Publications (1)

Publication Number Publication Date
CN113994333A true CN113994333A (zh) 2022-01-28

Family

ID=76301002

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202080005943.7A Pending CN113994333A (zh) 2020-05-26 2020-08-24 对交互之间的积分进行聚合的方法

Country Status (6)

Country Link
US (1) US11841973B2 (zh)
JP (1) JP7461513B2 (zh)
KR (1) KR20230002933A (zh)
CN (1) CN113994333A (zh)
DE (1) DE112020000117T5 (zh)
GB (1) GB2604190A (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11588617B2 (en) * 2020-11-01 2023-02-21 The Toronto-Dominion Bank Validating confidential data using homomorphic computations
US11899823B2 (en) * 2021-02-08 2024-02-13 Snap Inc. Privacy safe anonymized identity matching
CN116629871B (zh) * 2023-07-21 2023-10-17 济南正浩软件科技有限公司 一种订单线上支付***及支付方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8978158B2 (en) 2012-04-27 2015-03-10 Google Inc. Privacy management across multiple devices
US9641332B1 (en) 2013-01-30 2017-05-02 Google Inc. Privacy-preserving measurements of a campaign
US9852163B2 (en) 2013-12-30 2017-12-26 The Nielsen Company (Us), Llc Methods and apparatus to de-duplicate impression information
IL234613A0 (en) * 2014-09-11 2014-12-02 Google Inc Exchange consolidated and encrypted transaction information with a transaction information provider
WO2017187207A1 (en) * 2016-04-29 2017-11-02 Privitar Limited Computer-implemented privacy engineering system and method

Also Published As

Publication number Publication date
JP2023527318A (ja) 2023-06-28
JP7461513B2 (ja) 2024-04-03
KR20230002933A (ko) 2023-01-05
US20220147650A1 (en) 2022-05-12
GB2604190A (en) 2022-08-31
GB202106166D0 (en) 2021-06-16
US11841973B2 (en) 2023-12-12
DE112020000117T5 (de) 2022-01-27

Similar Documents

Publication Publication Date Title
US11962687B2 (en) Methods for protecting privacy
JP7461513B2 (ja) 相互作用全体でクレジットを集計するための方法
CN112789843A (zh) 用于用户标识符集合的交集的私密性保护确定的***和方法
EP3966988B1 (en) Generating sequences of network data while preventing acquisition or manipulation of time data
US20220376928A1 (en) Preventing data manipulation using multiple aggregation servers
JP7401624B2 (ja) 暗号化されたネットワーク値の集約
WO2021242290A1 (en) Methods for aggregating credit across interactions
JP7471475B2 (ja) 安全なユニバーサル測定識別子構築のためのシステムおよび方法
JP7189357B2 (ja) プライバシー保護のためのデータセキュリティ方法
US12021972B2 (en) Aggregating encrypted network values

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination