CN114450919A - 在线隐私保护技术 - Google Patents

在线隐私保护技术 Download PDF

Info

Publication number
CN114450919A
CN114450919A CN202180005490.2A CN202180005490A CN114450919A CN 114450919 A CN114450919 A CN 114450919A CN 202180005490 A CN202180005490 A CN 202180005490A CN 114450919 A CN114450919 A CN 114450919A
Authority
CN
China
Prior art keywords
client device
mpc
mpc server
given
server
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.)
Granted
Application number
CN202180005490.2A
Other languages
English (en)
Other versions
CN114450919B (zh
Inventor
G.王
A.波尔诺莫
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
Publication of CN114450919A publication Critical patent/CN114450919A/zh
Application granted granted Critical
Publication of CN114450919B publication Critical patent/CN114450919B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • 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/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/085Secret sharing or secret splitting, e.g. threshold schemes
    • 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/6227Protecting 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 where protection concerns the structure of data, e.g. records, types, queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0442Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
    • 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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • H04L9/3255Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures using group based signatures, e.g. ring or threshold signatures
    • 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/46Secure multiparty computation, e.g. millionaire problem

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Databases & Information Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Storage Device Security (AREA)

Abstract

本文档描述了防止共享或泄漏用户信息的技术。在一个方面中,一种方法包括由第一MPC服务器接收对客户端设备的用户所属的至少一个兴趣组的选择准则的请求。所接收的请求不向第一MPC服务器显露客户端设备的标识符。响应于接收到该请求,第一MPC服务器确定从第一MPC服务器的高速缓存检索的至少一个兴趣组的有序选择准则的集合。有序选择准则的集合被变换成被保护而不被第二MPC服务器显露的键/值对的集合。第一MPC服务器将键/值对的集合与使得第二MPC服务器能够识别具有最高值的键的数据一起发送到第二MPC服务器。

Description

在线隐私保护技术
技术领域
本说明书涉及在线环境中的数据处理和保护用户隐私。在线用户隐私的增强已经导致许多浏览器开发者改变处理用户数据的方式。例如,一些浏览器不再支持第三方cookie,但是第三方cookie的弃用会导致向用户递送不太相关的内容。
发明内容
通常,本说明书中描述的主题的一个创新方面是一种方法,该方法包括:由多方计算(MPC)集群的第一MPC服务器(在本文中也称为第一MPC系统或第一计算系统)从MPC集群的第二MPC服务器(在本文中也称为第二MPC系统或第二计算系统)接收对于客户端设备的特定用户所属的两个或更多个兴趣组的集合中的至少一个兴趣组的选择准则的请求,其中,所接收的请求不向任一MPC系统显露客户端设备的标识符;响应于接收到所述请求:由第一MPC服务器确定客户端设备的特定用户所属的两个或更多个兴趣组的集合中的至少一个兴趣组的有序选择准则的集合,所述有序选择准则的集合是使用请求中被保护以免被第二MPC服务器显露的部分从第一MPC服务器的高速缓存中检索的,将有序选择准则的集合变换为键/值对的集合,其中,键/值对中的每一个的值被保护以免被第二MPC服务器显露,以及由第一MPC服务器将键/值对的集合与使得第二MPC服务器能够识别具有最高值的键而不将键/值对的集合的值显露给第二MPC服务器的数据一起发送到第二MPC服务器。
在一些实施方式中,该方法还包括:由第一MPC服务器从与第一MPC服务器和第二MPC服务器不同的内容分发系统接收给定兴趣组的给定选择准则,给定兴趣组由内容分发系统预测为包括客户端设备的特定用户;由第一MPC服务器在第一MPC服务器的高速缓存中高速缓存被预测为包括客户端设备的特定用户的给定兴趣组的给定选择准则。
在一些实施方式中,该方法还包括:由内容分发系统接收由客户端设备提交的内容请求;响应于内容请求而生成响应于内容请求的候选选择准则;基于内容请求确定被预测为包括客户端设备的特定用户的给定兴趣组;基于确定给定兴趣组被预测为包括客户端设备的特定用户而生成给定兴趣组的给定选择准则;由内容分发系统将候选分发准则和给定分发准则发送到客户端设备;以及由内容分发系统向第一MPC服务器发送给定兴趣组的给定分发准则但不发送候选分发准则。
在一些实施方式中,该方法还包括:由第二MPC服务器接收第二MPC服务器不可访问的第一加密请求;由第二MPC服务器将第一加密请求转发到第一MPC服务器;从第一MPC服务器接收键/值对的集合;由第二MPC服务器在不显露键/值对的值的情况下识别具有最高值的给定键/值对;生成包括给定键/值对的对第一加密请求的第一加密签名响应,其中,第一签名响应利用第二MPC服务器的私钥来签名;以及,响应于第一加密请求将第一加密签名响应发送到客户端设备。
在一些实施方式中,该方法还包括:由客户端设备接收由第二MPC服务器发送的第一加密签名响应;由客户端设备验证第一加密签名响应由第一MPC服务器签名;由客户端设备从第一签名响应恢复第一兴趣组;由客户端设备验证第一兴趣组包括特定用户;由客户端设备验证给定键/值对的值由第一MPC服务器签名;由客户端设备解密给定键/值对的值以恢复第一选择准则;由客户端设备从内容分发系统接收候选选择准则和给定选择准则;由客户端设备从第一选择准则、给定选择准则和候选选择准则中选择控制选择准则。
在一些实施方式中,该方法还包括:由客户端设备将包括特定用户的兴趣组描绘为第一兴趣组集合和与第一兴趣组集合不同的第二兴趣组集合;由客户端设备将第一加密请求发送到第二MPC服务器,第一加密请求包括包含特定用户的第一兴趣组集合;由客户端设备将第二加密请求发送到第一MPC服务器,第二加密请求包括包含特定用户的第二兴趣组集合;由客户端设备接收由第一MPC服务器发送的第二签名响应;由客户端设备验证第二签名响应由第二MPC服务器签名;由客户端设备从签名响应恢复指定的兴趣组;由客户端设备验证指定的兴趣组包括特定用户;由客户端设备验证给定键/值对的值由第二MPC服务器签名;由客户端设备解密给定键/值对的值以恢复第三选择准则,其中,选择控制选择准则包括从第一选择准则、给定选择准则、候选选择准则和第三选择准则中选择控制选择准则。
在一些实施方式中,该方法还包括:由第一MPC服务器接收第一MPC服务器不可访问的第二加密请求;由第一MPC服务器将第二加密请求转发到第二MPC服务器;从第二MPC服务器接收键/值对的不同集合;由第一MPC服务器识别具有最高值的特定键/值对而不显露不同集合中的键/值对的值;生成包括特定键/值对的、对于第二加密请求的第二签名响应,其中,第一签名响应利用第二MPC服务器的私钥来签名;以及响应于第二加密请求将第二签名响应发送到客户端设备。
通常,本说明书中描述的主题的另一创新方面是一种系统,该系统包括一个或更多个处理器和一个或更多个存储器元件,所述一个或更多个存储器元件包括指令,所述指令在被执行时使得一个或更多个处理器执行包括以下处理的操作:由多方计算(MPC)集群的第一MPC系统服务器从MPC集群的第二MPC服务器接收对客户端设备的特定用户所属的两个或更多个兴趣组的集合中的至少一个兴趣组的选择准则的请求,其中,所接收的请求不向第一MPC系统显露客户端设备的标识符;响应于接收到所述请求:由第一MPC服务器确定客户端设备的特定用户所属的两个或更多个兴趣组的集合中的至少一个兴趣组的有序选择准则的集合,所述有序选择准则的集合是使用请求中被保护以免被第二MPC服务器显露的部分从第一MPC服务器的高速缓存中检索的;将有序选择准则的集合变换为键/值对的集合,其中,键/值对中的每一个的值被保护以免被第二MPC服务器显露;以及由第一MPC服务器将键/值对的集合与使得第二MPC服务器能够识别具有最高值的键而不将键/值对的集合的值显露给第二MPC服务器的数据一起发送到第二MPC服务器。
在一些实施方式中,(由上述系统的一个或更多个处理器执行的)操作还包括:由第一MPC服务器从与第一MPC服务器和第二MPC服务器不同的内容分发系统接收给定兴趣组的给定选择准则,给定兴趣组由内容分发系统预测为包括客户端设备的特定用户;由第一MPC服务器在第一MPC服务器的高速缓存中高速缓存被预测为包括客户端设备的特定用户的给定兴趣组的给定选择准则。
在一些实施方式中,所述操作还包括:由内容分发系统接收由客户端设备提交的内容请求;响应于内容请求而生成响应于内容请求的候选选择准则;基于内容请求确定被预测为包括客户端设备的特定用户的给定兴趣组;基于确定给定兴趣组被预测为包括客户端设备的特定用户而生成给定兴趣组的给定选择准则;由内容分发系统将候选分发准则和给定分发准则发送到客户端设备;以及由内容分发系统向第一MPC服务器发送给定兴趣组的给定分发准则但不发送候选分发准则。
在一些实施方式中,操作还包括:由第二MPC服务器接收第二MPC服务器不可访问的第一加密请求;由第二MPC服务器将第一加密请求转发到第一MPC服务器;从第一MPC服务器接收键/值对的集合;由第二MPC服务器在不显露键/值对的值的情况下识别具有最高值的给定键/值对;生成包括给定键/值对的对于第一加密请求的第一加密签名响应,其中,第一签名响应利用第二MPC服务器的私钥来签名;以及响应于第一加密请求将第一加密签名响应发送到客户端设备。
在一些实施方式中,操作还包括:由客户端设备接收由第二MPC服务器发送的第一加密签名响应;由客户端设备验证第一加密签名响应由第一MPC服务器签名;由客户端设备从第一签名响应恢复第一兴趣组;由客户端设备验证第一兴趣组包括特定用户;由客户端设备验证给定键/值对的值由第一MPC服务器签名;由客户端设备解密给定键/值对的值以恢复第一选择准则;由客户端设备从内容分发系统接收候选选择准则和给定选择准则;由客户端设备从第一选择准则、给定选择准则和候选选择准则中选择控制选择准则。
在一些实施方式中,操作还包括:由客户端设备将包括特定用户的兴趣组描绘为第一兴趣组集合和与第一兴趣组集合不同的第二兴趣组集合;由客户端设备将第一加密请求发送到第二MPC服务器,第一加密请求包括包含特定用户的第一兴趣组集合;由客户端设备将第二加密请求发送到第一MPC服务器,第二加密请求包括包含特定用户的第二兴趣组集合;由客户端设备接收由第一MPC服务器发送的第二签名响应;由客户端设备验证第二签名响应由第二MPC服务器签名;由客户端设备从签名响应恢复指定的兴趣组;由客户端设备验证指定的兴趣组包括特定用户;由客户端设备验证给定键/值对的值由第二MPC服务器签名;由客户端设备解密给定键/值对的值以恢复第三选择准则,其中,选择控制选择准则包括从第一选择准则、给定选择准则、候选选择准则和第三选择准则中选择控制选择准则。
在一些实施方式中,操作还包括:由第一MPC服务器接收第一MPC服务器不可访问的第二加密请求;由第一MPC服务器将第二加密请求转发到第二MPC服务器;从第二MPC服务器接收不同的键/值对的集合;由第一MPC服务器识别具有最高值的特定键/值对而不显露不同集合中的键/值对的值;生成包括特定键/值对的对于第二加密请求的第二签名响应,其中,第一签名响应利用第二MPC服务器的私钥来签名;以及响应于第二加密请求将第二签名响应发送到客户端设备。
通常,本说明书中描述的主题的另一创新方面是一种利用指令编码的非暂时性计算机存储介质,所述指令在由分布式计算系统执行时使分布式计算系统执行包括以下处理的操作:由多方计算(MPC)集群的第一MPC服务器从MPC集群的第二MPC服务器接收对客户端设备的特定用户所属的两个或更多个兴趣组的集合中的至少一个兴趣组的选择准则的请求,其中,所接收的请求不向第一MPC服务器显露客户端设备的标识符;响应于接收到所述请求:由第一MPC服务器确定客户端设备的特定用户所属的两个或更多个兴趣组的集合中的至少一个兴趣组的有序选择准则的集合,所述有序选择准则的集合是使用请求中被保护以免被第二MPC服务器显露的部分从第一MPC服务器的高速缓存中检索的;将有序选择准则的集合变换为键/值对的集合,其中,键/值对中的每一个的值被保护以免被第二MPC服务器显露;以及由第一MPC服务器将键/值对的集合与使得第二MPC服务器能够识别具有最高值的密钥而不将键/值对的集合的值显露给第二MPC服务器的数据一起发送到第二MPC服务器。
在一些实施方式中,(由分布式计算系统执行的)操作还包括:由第一MPC服务器从与第一MPC服务器和第二MPC服务器不同的内容分发系统接收给定兴趣组的给定选择准则,给定兴趣组由内容分发系统预测为包括客户端设备的特定用户;由第一MPC服务器在第一MPC服务器的高速缓存中高速缓存被预测为包括客户端设备的特定用户的给定兴趣组的给定选择准则。
在一些实施方式中,所述操作还包括:由内容分发系统接收由客户端设备提交的内容请求;响应于内容请求而生成响应于内容请求的候选选择准则;基于内容请求确定被预测为包括客户端设备的特定用户的给定兴趣组;基于确定给定兴趣组被预测为包括客户端设备的特定用户而生成给定兴趣组的给定选择准则;由内容分发系统将候选分发准则和给定分发准则发送到客户端设备;以及由内容分发系统向第一MPC服务器发送给定兴趣组的给定分发准则但不发送候选分发准则。
在一些实施方式中,操作还包括:由第二MPC服务器接收第二MPC服务器不可访问的第一加密请求;由第二MPC服务器将第一加密请求转发到第一MPC服务器;从第一MPC服务器接收键/值对的集合;由第二MPC服务器在不显露键/值对的值的情况下识别具有最高值的给定键/值对;生成包括给定键/值对的对于第一加密请求的第一加密签名响应,其中,第一签名响应利用第二MPC服务器的私钥来签名;以及响应于第一加密请求将第一加密签名响应发送到客户端设备。
在一些实施方式中,操作还包括:由客户端设备接收由第二MPC服务器发送的第一加密签名响应;由客户端设备验证第一加密签名响应由第一MPC服务器签名;由客户端设备从第一签名响应恢复第一兴趣组;由客户端设备验证第一兴趣组包括特定用户;由客户端设备验证给定键/值对的值由第一MPC服务器签名;由客户端设备解密给定键/值对的值以恢复第一选择准则;由客户端设备从内容分发系统接收候选选择准则和给定选择准则;由客户端设备从第一选择准则、给定选择准则和候选选择准则中选择控制选择准则。
在一些实施方式中,操作还包括:由客户端设备将包括特定用户的兴趣组描绘为第一兴趣组集合和与第一兴趣组集合不同的第二兴趣组集合;由客户端设备将第一加密请求发送到第二MPC服务器,第一加密请求包括包含特定用户的第一兴趣组集合;由客户端设备将第二加密请求发送到第一MPC服务器,第二加密请求包括包含特定用户的第二兴趣组集合;由客户端设备接收由第一MPC服务器发送的第二签名响应;由客户端设备验证第二签名响应由第二MPC服务器签名;由客户端设备从签名响应恢复指定的兴趣组;由客户端设备验证指定的兴趣组包括特定用户;由客户端设备验证给定键/值对的值由第二MPC服务器签名;由客户端设备解密给定键/值对的值以恢复第三选择准则,其中,选择控制选择准则包括从第一选择准则、给定选择准则、候选选择准则和第三选择准则中选择控制选择准则。
能够实现本说明书中描述的主题的特定实施例以实现以下技术优点中的一个或更多个。例如,使用多方计算(MPC)和其他密码技术来保护用户数据并执行内容选择过程防止参与该过程的实体可用的用户信息泄漏到其他实体。贯穿本文档讨论的技术也保护用户信息,以防止在实体之间共享执行该过程以其他方式所必需的用户信息。本文档中描述的技术划分了不同计算系统内的用户信息和过程操作,以确保如果一个实体的计算机受损,则能够访问的用户信息量被最小化或至少相对于其他技术减少。贯穿本文档讨论的技术也使得能够执行个性化内容选择,同时防止内容选择中涉及的任何系统能够跨多个网站跟踪个体用户。
本文所讨论的技术包括发送包括代替实际数据的代码的消息,使得参与本文所讨论的过程的计算系统不能访问底层数据,但是仍然能够使用这些代码来执行过程操作。即使数据受到损害,例如被盗或泄漏到另一实体,使用代码代替实际数据也保护数据。以这种方式使用查找表和代码相对于保护数据以其他方式所需的加密技术(例如,同态加密技术)减少了用于实现本文所讨论的过程的计算系统上的计算负担。这减少了执行过程所需的必要中央处理单元(CPU)周期(例如,通过不必加密和解密大量数据),减少了执行过程的等待时间,这对于使用该过程来选择用于在用户设备上呈现的内容的实施方式至关重要,并且使整个过程更有效。此外,能够在特定计算系统处本地高速缓存数据,使得针对任何高速缓存数据的未来请求减少等待时间。
减少内容呈现中的等待时间也减少了在等待这样的内容到达的同时在用户设备处发生的错误的数量。由于内容通常需要以毫秒提供并提供给通过无线网络连接的移动设备,因此减少选择和提供内容的等待时间对于防止错误和减少用户沮丧是至关重要的。
所描述的技术还提供了用于维持高隐私级别的简化过程。通过经由MPC技术实现分段过程,该系统为用户隐私提供了高门槛,而不需要来自需求侧平台的大量改变。
在附图和以下描述中阐述了本说明书中描述的主题的一个或更多个实施例的细节。根据说明书、附图和权利要求书,主题的其他特征、方面和优点将变得清楚。
附图说明
图1是其中内容被分发到客户端设备的示例环境的框图。
图2描绘了用于选择内容并向客户端设备提供内容的方法的数据流。
图3是示出用于选择内容的示例过程的一部分的泳道图。
图4是用于选择内容的示例方法的流程图。
图5是示例计算机系统的框图。
各个附图中类似的附图标记和名称指示相同的元件。
具体实施方式
本公开涉及计算机实现的方法和系统,采用防止由在电子内容的选择和向客户端设备的分发中涉及的实体共享或泄漏用户信息的技术。如下面更详细描述的,能够使用多方计算(multi-party computation,MPC)、概率数据结构、加密和/或两级(或n级)高速缓存的组合来实现隐私保护技术。更具体地,用户的客户端设备能够发出针对个性化内容的三个请求。第一请求能够被发送到MPC集群中的一个服务器,第二请求能够被发送到相同MPC集群中的不同服务器,并且第三请求能够被发送到内容分发系统。如本文档通篇所述,发送到MPC集群中的两个服务器的请求能够以这样的方式加密:使得MPC服务器都不能获得足够的信息来跨网站跟踪用户,但是仍然能够访问两级高速缓存以基于包括用户的兴趣组来识别能够提供给用户的可用个性化内容。MPC服务器中的每一个可以利用关于与包括用户的一个或更多个兴趣组相关的内容的一个或更多个部分(例如,数字组件)的信息来响应各个请求。
发送到内容分发系统的第三请求包括与用户正在访问的网站相关的信息(例如,URL),其能够用于识别与网站相关的情境内容,并且也用于推断被预测为包括用户的兴趣组。所识别的情境内容连同关于与推断的兴趣组中的一个或更多个相关的内容的信息一起被传送到客户端设备。关于与一个或更多个兴趣组相关的内容的信息也被存储在高速缓存中以供MPC服务器稍后使用。客户端设备将从自两个MPC服务器和内容分发系统接收的信息中选择要呈现给用户的个性化内容(例如,数字组件)。
除了贯穿本文档讨论的隐私保护技术之外,可以向用户提供控件,该控件允许用户关于本文描述的系统、程序或特征是否以及何时可以使得能够收集用户信息(例如,关于用户的社交网络、社交行为、或活动、职业、用户的偏好或用户的当前位置的信息)以及是否从服务器向用户发送内容或通信进行选择。另外,某些数据可以在其被存储或使用之前以一种或更多种方式被处理,使得个人可识别信息被移除。例如,可以处理用户的身份,使得不能针对用户确定个人可识别信息,或者可以在获得位置信息的情况下将用户的地理位置泛化(诸如到城市、邮政编码或州级别),使得不能确定用户的特定位置。因此,用户可以控制收集关于用户的什么信息、如何使用该信息以及向用户提供什么信息。
图1是其中内容被分发到客户端设备110的环境100的框图。示例环境100包括数据通信网络105,诸如局域网(LAN)、广域网(WAN)、互联网、移动网络或其组合。网络105连接客户端设备110、MPC集群130、需求侧平台(DSP)150、供应侧平台(SSP)170、发布者140和网站142。示例环境100可以包括许多不同的客户端设备110、MPC集群130、DSP 150、SSP170、发布者140和网站142。
客户端设备110是能够通过网络105进行通信的电子设备。示例客户端设备110包括个人计算机、移动通信设备(例如,智能电话)以及能够通过网络105发送和接收数据的其他设备。客户端设备也可以能够包括通过麦克风接受音频输入并通过扬声器输出音频输出的数字助理设备。当数字助理检测到激活麦克风以接受音频输入的“热词”或“热短语”时,能够将数字助理置于收听模式(例如,准备好接受音频输入)。数字助理设备也能够包括相机和/或显示器以捕获图像并在可视地呈现信息。数字助理能够以不同形式的硬件设备来实现,包括可穿戴设备(例如,手表或眼镜)、智能电话、扬声器设备、平板设备或其他硬件设备。客户端设备还能够包括数字媒体设备,例如,插入电视或其他显示器以将视频流式传输到电视、或者游戏设备或游戏控制台的流式传输设备。
客户端设备110通常包括应用112,诸如web浏览器和/或本原应用,以便于通过网络105发送和接收数据。本原应用是为特定平台或特定设备(例如,具有特定操作系统的移动设备)开发的应用。发布者140能够开发本原应用并向客户端设备110提供本原应用,例如,使其可用于下载。例如,响应于客户端设备110的用户在web浏览器的地址栏中输入资源145的资源地址或选择引用资源地址的链接,web浏览器能够向托管发布者140的网站142的web服务器请求资源145。类似地,本原应用能够向发布者的远程服务器请求应用内容。
一些资源、应用页面或其他应用内容能够包括用于呈现具有资源145或应用页面的数字组件的数字组件槽。如贯穿本文档所使用的,短语“数字组件”是指数字内容或数字信息的离散单位(例如,视频剪辑、音频剪辑、多媒体剪辑、图像、文本或其他内容单位)。数字组件能够作为单个文件或文件集合被电子地存储在物理存储器设备中,并且数字组件能够采取视频文件、音频文件、多媒体文件、图像文件或文本文件的形式,并且包括广告信息,使得广告是一种类型的数字组件。例如,数字组件可以是旨在补充由应用112呈现的网页或其他资源的内容的内容。更具体地,数字组件可以包括与资源内容相关的数字内容(例如,数字组件可以涉及与网页内容相同的主题,或者涉及相关主题)。因此,数字组件的提供能够补充并且通常能够增强网页或应用内容。
当应用112加载包括一个或更多个数字组件槽的资源(或应用内容)时,应用112能够请求每个槽的数字组件。在一些实施方式中,数字组件槽能够包括使得应用112向数字组件分发系统请求数字组件的代码(例如,脚本),该数字组件分发系统选择数字组件并将数字组件提供给应用112以呈现给客户端设备110的用户。
一些发布者140使用供应侧平台(“SSP”)170来管理获得用于其资源和/或应用的数字组件槽的数字组件的过程。SSP 170是以硬件和/或软件实现的技术平台,其使获得资源和/或应用的数字组件的过程自动化。SSP 170能够与一个或更多个需求侧平台“DSP”150交互,以获得能够用于为数字组件插槽选择数字组件的信息。如下面更详细描述的,该信息能够包括也能够被称为选择准则或选择参数的准则,其表示或指定数字组件提供者160愿意提供用于呈现数字组件提供者160的数字组件的量。每个发布者140能够具有对应的SSP170或多个SSP 170。一些发布者140可以使用相同的SSP 170。
数字组件提供者160能够创建(或以其他方式发布)在发布者的资源和应用的数字组件槽中呈现的数字组件。数字组件提供者160能够使用DSP 150来管理其数字组件的供应以用于在数字组件槽中呈现。DSP 150是以硬件和/或软件实现的技术平台,其使分发数字组件以与资源和/或应用一起呈现的过程自动化。DSP 150能够代表数字组件提供者160与多个交换机交互,以提供用于与多个不同发布者140的资源和/或应用一起呈现的数字组件。通常,DSP 150能够(例如,直接或通过交换从SSP 170)接收对数字组件的请求,基于请求生成(或选择)关于由一个或更多个数字组件提供者创建的一个或更多个数字组件的选择参数,并将与数字组件相关的数据(例如,数字组件本身)和选择参数提供给SSP 170。
SSP 170选择数字组件的方式和DSP 150分发个性化数字组件(例如,生成选择参数和/或选择参数本身)的方式在历史上包括使用从第三方cookie获得的用户信息(例如,浏览信息、兴趣组信息等),其中,第三方cookie是通过与在客户端设备上正在渲染的网页的域不同的域在客户端设备上找到的cookie。然而,浏览器正在阻止第三方cookie的使用,使得更难以选择和提供个性化数字组件,这意味着通过选择并向用户分发用户不感兴趣的内容会浪费计算资源和带宽。为了克服这个问题,能够使用隐私保护技术,该隐私保护技术使得能够使用用户兴趣组信息,同时挂起跨域跟踪用户,并且同时防止跨计算系统泄漏用户信息。本文档中描述的技术保护该用户信息不被共享或泄漏给其他方。
在一些情况下,接收与用户先前访问和/或交互的网页、应用页面或其他电子资源相关的数字组件对用户是有益的。为了将这样的数字组件分发给用户,当用户访问特定资源或在资源处执行特定动作(例如,与呈现在网页上的特定项目交互或将项目添加到虚拟购物车)时,能够将用户分配到兴趣组。兴趣组是基于浏览行为、自我报告的兴趣和/或张贴到社交网络页面的信息而被识别为对相同主题感兴趣的用户集合。例如,“足球”的兴趣组可以包括已经被识别为对足球感兴趣的用户(例如,通过访问足球相关网页)。在一些实现中,兴趣组能够由数字组件提供者160或DSP 150或SSP 170代表数字组件提供者160来生成和/或更新/维护。例如,当用户访问数字组件提供者160的电子资源时,每个数字组件提供者160能够将用户分配给其用户组。更具体地,当用户访问数字组件提供者的网站的特定页面(诸如产品信息页面)时,数字组件提供者可以将该用户添加到包括对该页面上描述的产品感兴趣的用户的兴趣组。在一些实施方式中,兴趣组能够由发布者140生成。例如,当用户访问发布者140的网站142的电子资源145时,每个发布者140能够将用户分配给他们的用户组。更具体地,当用户访问发布者的网站的特定页面(诸如夏威夷度假页面)时,发布者可以将该用户添加到包括对夏威夷度假感兴趣的用户的兴趣组。
为了保护用户隐私,用户的兴趣组成员资格优选地例如由应用112中的一个仅在用户的客户端设备110处维护。在特定示例中,web浏览器能够为使用web浏览器的用户维护兴趣组标识符的列表(“兴趣组列表”)。兴趣组列表能够包括用户已经被添加到的每个兴趣组的兴趣组标识符。创建兴趣组的数字组件提供者160或发布者140能够为其兴趣组指定兴趣组标识符。兴趣组的兴趣组标识符能够描述该组(例如,园艺组)或表示该组的代码(例如,不是描述性的字母数字序列)。用户的兴趣组列表能够被存储在客户端设备110处的安全存储装置中和/或能够在被存储时被加密。
当应用112呈现与数字组件提供者160相关的资源或应用内容时,资源能够请求应用112向兴趣组列表添加一个或更多个兴趣组标识符。作为响应,应用112能够将一个或更多个兴趣组标识符添加到兴趣组列表并且安全地存储兴趣组列表。如下面更详细描述的,应用112能够将兴趣组列表中的兴趣组标识符连同对于内容的请求(例如,对一个或更多个数字组件的请求)一起发送到MPC集群130。并非发送兴趣组标识符的明文(未加密或未以其他方式保护的可读数据)值,而是应用112能够加密兴趣组标识符并将加密的兴趣组标识符发送到MPC集群130,使得兴趣组标识符的非预期接收者不能访问兴趣组标识符的明文值。
MPC集群130包括执行多方计算过程以基于一个或更多个兴趣组标识符和附加信息来选择数字组件的多个计算系统。在该示例中,MPC集群130包括第一计算系统S1和第二计算系统S2。计算系统S1和S2能够由同一方(例如,浏览器开发者、应用开发者或行业群组)或不同方(例如,一个由浏览器开发者操作,另一个由行业群组操作)拥有和操作。也能够使用其他数量的计算系统,只要该数量大于一。
使用MPC基于兴趣组标识符来选择数字组件通过防止任何一方(包括操作MPC集群130的计算系统的一方)确定用户属于哪些组来保护用户的隐私。MPC过程以及密码技术也防止其他方访问SSP 170和DSP 150的机密信息。在图2和图3中示出了使用MPC和加密技术来选择和分发内容的示例过程。
图2是用于选择内容并向客户端设备提供内容的隐私保护方法200的数据流图。方法200的操作可以由系统100的各种组件执行。例如,方法200的操作能够由与客户端设备110和应用112通信的MPC集群130的计算系统S1和S2、SSP 170和DSP 150来执行。
方法200开始于由客户端设备110的应用112执行的步骤1。在步骤1中,客户端设备110的用户指示应用112导航到特定页面。例如,客户端设备110(例如,智能电话)的用户能够点击指示应用112(例如,web浏览器)导航到例如关于鸟的新闻网站的主页的链接。在应用112导航到特定页面之后,应用112并行地发送两种不同类型的请求(例如,不等待对任何一种类型的请求的响应)。这些请求是对以下的请求:(1)对于与包括用户的一个或更多个特定组相关的数字组件的集合的选择准则,以及(2)对于基于当前正在客户端设备处渲染和/或呈现的页面(或其他在线资源,诸如本原应用界面)的情境识别的数字组件的选择准则。特定组能够是例如兴趣组或客户端设备110的用户所属的另一用户组。兴趣组能够与该组的用户被确定为感兴趣的特定实体、类别或其他感兴趣主题相关联。选择准则能够是例如用户评级、由内容提供者提供的评级、兴趣分数或竞价以及其他准则。请求包括允许过滤组的信息和/或选择准则。关于图3更详细地描述了这样的信息。
该方法继续步骤2,其包括步骤2a和步骤2b。在步骤2a中,应用112生成第一请求并将其发送到S1,并且,在步骤2b中,应用112生成第二请求并将其发送到S2。发送到S1和S2的请求二者能够是对于与包括客户端设备的用户的组(例如,兴趣组)相关的数字组件的选择准则的请求。下面参考图3详细讨论这些请求的生成和传输。步骤2a和2b并行发生。通常,步骤2a和2b能够是对称过程,并且步骤2a的任何描述同样适用于步骤2b,其中,步骤2a相对于包括用户的组的一个子集来执行,并且步骤2b相对于包括用户的组的另一个子集来执行。作为防止S1和S2串通以识别或跟踪用户的一种方式,发送到S1的组的子集将不同于发送到S2的组的子集。
该方法继续步骤3,其中,MPC集群130的两个计算系统S1和S2执行安全的2方计算(2PC)协议,以识别关于与包括用户的一个或更多个兴趣组相关的一个或更多个数字组件的选择准则。在该2PC过程中,S1和S2交换信息,并访问两级高速缓存以识别相关选择准则。S1和S2中的每一个模糊来自另一计算系统的关于用户/客户端设备的信息,使得两个计算系统都不具有与用户/客户端设备相关的信息的完整集合,这防止计算系统跨网站跟踪用户。下面参考图3提供该过程的进一步细节。
该方法继续步骤4,其中,应用112接收针对步骤2a和2b中的每一个的响应。每个响应可以包含关于0或1组(例如,兴趣组)的选择准则的集合。可以被称为选择准则集合的响应能够包括诸如特定兴趣组的标识符、特定兴趣组的选择值(例如,有资格用于为作为特定兴趣组的成员的用户选择数字组件的选择值,其也能够被称为选择准则)的数据,以及与特定兴趣组、用户的交互或应用112导航到的网站相关联的其他数据。每个选择准则集合能够对应于选择准则集合中的选择准则应用到的数字组件。例如,响应能够是{IG_ID,post_revshare_bid,other_metadata}的格式,其中,IG_ID表示兴趣组的标识符,post_revshare_bid表示选择值(例如,竞标值),并且other_metadata表示与兴趣组、对应的数字组件或选择值相关联的其他数据。例如,post_revshare_bid能够包括数字组件、识别数字组件的数据或用于从远程服务器获得数字组件的指令,例如URL或到数字组件的位置的其他链接。在另一示例中,该数字组件或指令能够被包括在元数据中。在步骤4结束时,应用112可以接收关于用户和/或浏览器是其成员的兴趣组的0到2个之间的选择准则集合。下面参考图3提供该过程的进一步细节。
该方法继续步骤5,其中,应用112将情境数字组件请求(“第三请求”)发送到SSP170。例如,应用112(在该示例中,web浏览器)能够将对情境数字组件的请求发送到SSP170。情境数字组件请求能够包括情境信号,利用该情境信号能够识别相关数字组件。情境信号能够是例如正在客户端设备处渲染/呈现的特定网站或网页上呈现的内容的类别、客户端设备110的用户的国家或语言(例如,如由客户端设备设置指定的)以及其他因素。步骤5能够与步骤2并行执行。
该方法继续步骤6,其中,SSP 170将情境数字组件请求转发到任何数量的DSP150。例如,SSP 170能够将请求转发到若干DSP 150,每个DSP 150将有机会用关于数字组件的候选选择准则来响应请求。候选选择准则能够是例如情境选择值或特定情境信号的选择值。情境选择值能够表示或指定数字组件提供者160愿意提供用于呈现数字组件提供者160的数字组件的量。DSP150能够代表数字组件提供者160选择或确定候选选择值。
该方法继续步骤7,其中,一个或更多个DSP 150利用针对使用情境信号识别的数字组件的候选选择准则来响应请求。例如,DSP 150能够用情境选择值和/或一个或更多个情境信号来响应SSP 170的请求。
另外,一个或更多个DSP 150能够可选地返回针对用户的预测组或针对与选择准则相对应的数字组件有资格被分发的另一组的一个或更多个组选择准则(例如,选择准则集合)。不向DSP 150提供标识包括用户的组的信息。相反,DSP使用在情境数字组件请求中包括的情境信号来预测可能包括用户的兴趣组,并返回关于预测的兴趣组的给定选择准则(例如,选择值)。选择值能够被用于为作为兴趣组的成员的用户选择对应的数字组件。
例如,一个或更多个DSP 150能够使用情境信号来预测包括用户的一个或更多个兴趣组,并且返回要由MPC集群130缓存或以其他方式存储的一个或更多个兴趣组选择值集合,以响应未来可能由其他浏览器发出的未来的兴趣组请求,诸如在步骤2a和步骤2b中描述的过程。这些兴趣组选择准则集合的每个能够包括诸如被预测为包括用户的兴趣组的标识符、选择值、数字组件或用于获得选择值所应用的数字组件的指令、营销因素或关于内容项活动的步调的信息的信息。例如,兴趣组选择准则集合可以是{IG_ID,pre_revshare_bid_price,TTL,pacing_info}的形式,其中,IG_ID表示兴趣组的标识符,pre_revshare_bid_price表示在任何收益共享发生之前的选择值,TTL表示生存时间,即MPC集群可以高速缓存竞价的最大时间跨度,并且pacing_info表示关于内容项活动相对于内容项的总体预算和预测效果的步调的信息。例如,能够通过将情境信号输入到机器学习模型中来执行对包括用户的兴趣组的预测,该机器学习模型被训练为基于情境信号输入来输出预测的兴趣组。
兴趣组选择准则集合用作在未来受制于诸如所提供的TTL和步调信息的因素的职责,DSP 150授权SSP 170和MPC集群130提交具有针对未来兴趣组请求2a和2b的指示的选择值的竞标,未来兴趣组请求2a和2b包含与当前情境请求步骤5和步骤6中的请求参数类似的请求参数。例如,如果应用112提交兴趣组请求(诸如在步骤2a或2b中),其中,该兴趣组请求指示与例如IG_ID和当前情境请求中的信号(诸如网站URL、位置、语言等)匹配的信号,则DSP 150能够授权SSP 170和MPC集群130提交具有特定值的兴趣组选择值集合的选择值。
此外,DSP 150能够预测例如由IG_ID标识的兴趣组的哪个集合可以与将访问应用112被引导到的当前网站的用户相关联,并且预先提交兴趣组选择准则集合。所提交的选择值集合能够由MPC集群130高速缓存,以减少响应于未来兴趣组选择准则请求的等待时间和DSP 150服务器负载。例如,如果后续兴趣组选择准则请求包括与预先提交并高速缓存的兴趣组选择准则集合的参数匹配的参数,则MPC集群130能够使用高速缓存的选择准则集合来简单地进行响应。
例如,DSP 150能够使用历史用户交互数据或用于推测性地生成兴趣组选择值或选择值集合、或者预测性地为将访问应用112被引导到的当前网站的用户的兴趣组竞价的其他历史数据。例如,如果DSP 150根据历史数据确定将访问应用112被引导到的当前鸟类新闻网站的用户通常与露营、自然和室外装备的兴趣组相关联,则DSP 150能够推测性地生成关于那些兴趣组的选择值,并将那些选择值存储在MPC集群130的高速缓存中,如下面参考步骤10所讨论的。
该方法继续步骤8,其中,SSP 170将若干过滤准则应用于接收到的候选选择准则,并提供对情境数字组件请求的响应。SSP 170能够将诸如买方排他(buyer exclusion)和/或创新排他(creative exclusion)的过滤器应用于接收的候选者选择准则。例如,SSP 170能够将由发布者140提供给SSP 170或由SSP 170维护的列表上的特定数字组件提供者排除在提供竞价之外。在另一示例中,SSP 170能够排除提供给SSP 170或由SSP 170维护的列表上的特定内容项被包括作为候选。一旦SSP 170已经过滤了候选选择准则,SSP 170就能够通过应用提供给SSP 170或由SSP 170维护的特定定价规则来计算选择值。例如,SSP 170能够通过应用由DSP 150提供的定价规则来计算后收益共享选择值,并在候选中进行选择过程。例如,SSP 170能够在由候选选择准则指定的情境内容项选择值中进行拍卖,并且将获胜的或最高的情境内容项选择值连同计算的选择值一起返回给应用112。例如,SSP 170能够将计算的选择值和数字组件(或用于检索与选择值相对应的选择值的指令)提供给应用112。
在一些实施方式中,SSP 170也能够用针对被预测为包括用户的组的给定选择准则来响应情境数字组件请求。例如,SSP 170能够应用上面讨论的任何处理和/或规则,并且为由DSP 150预测包括用户的任何数量的兴趣组提供选择值或选择准则集合。以这种方式,即使由MPC集群130执行的2PC过程未能返回针对包括用户作为成员的兴趣组的任何选择准则,也向客户端设备110提供针对一个或更多个兴趣组选择准则集合的选择值。例如,如果当应用112在2a和2b中分别向S1和S2发送请求时,MPC集群130的高速缓存不包括关于包含用户的任何兴趣组的任何选择准则,则MPC集群130将不能用任何选择准则来响应应用112。在这种情况下,仍然能够响应于情境数字组件请求而提供针对被预测为包括用户的兴趣组的给定选择准则,使得即使MPC集群130未能用任何兴趣组选择准则集合进行响应,应用112仍然具有至少一个兴趣组选择准则集合以进行评估。
该方法继续步骤9,其中,应用112运行最终选择过程以识别数字组件在客户端设备110处显示。在一些实施方式中,应用112能够通过选择具有最高值的选择值(例如,选择准则)的选择准则集合(或数字组件)来运行拍卖以选择要在客户端设备110处呈现的内容项。例如,能够使用如由SSP 170提供的来自步骤8的获胜情境选择值和对应的数字组件(例如,来自多个候选选择准则的候选选择准则)、从计算系统S1和/或S2接收的任何兴趣组选择准则集合(例如,指定零个和两个兴趣组竞价之间的兴趣组选择准则)、以及预测的选择准则——诸如响应于情境数字组件请求而从SSP 170接收的给定的选择准则(例如,指定关于被预测为包括用户的兴趣组的给定选择值的给定选择准则)——来运行拍卖。应用112过滤预测的选择准则,以便仅考虑与用户和/或浏览器所属的兴趣组相关联的选择准则。因为应用112已经从SSP 170和MPC集群130的计算系统S1和S2接收到关于情境数字组件请求的所计算的选择值,所以应用112能够进行简单的选择过程,诸如第一价格拍卖,以选择具有最高后收益共享值的候选选择值。然后,应用112能够渲染与获胜选择值相关联的数字组件。
该方法能够继续步骤10,其中,SSP 170更新由MPC集群130的计算系统S1和S2维护的兴趣组选择准则。SSP 170通过向MPC集群130的计算系统S1和S2发送第一级密钥和第二级查找表(LUT)来执行步骤10。
例如,SSP 170能够在与关于步骤8描述的过程类似的过程中首先将过滤准则应用于提交的兴趣组选择准则,并应用定价规则以计算结果选择值。SSP 170然后能够从在情境请求中提供的所有信号创建复合消息,在情境请求中提供的信号也是兴趣组请求信号,诸如特定URL、位置、语言以及其他信号。SSP 170然后将复合消息串行化为字节数组,以创建表示请求信号和其他请求信息的加密消息。例如,SSP 170能够使用SHA256算法将字节数组加密散列(cryptohash)成固定大小的数字摘要。为了在本文档中讨论的目的,该数字摘要能够被称为IG_Request_Key。
MPC集群130的计算系统S1和S2每个维护2级LUT高速缓存。例如,第一级能够通过被截断为n比特的SHA256(IG_Request_Key)来键控。第二级本身能够是其键为HMACSHA256(IG_Request_Key,IG_ID)的LUT,其中,IG_ID表示特定兴趣组的标识符,HMAC SHA256表示从SHA-256散列函数构造的基于散列的消息认证码。第二级高速缓存值能够以{post_revshare_bid,metadata}的形式存储。元数据包括诸如TTL值、步调信息、买方账户的标识符、预收益共享选择值和后收益共享选择值的值的信息以及其他信息。SSP170能够使用仅能够由应用112验证或可公开验证的秘密密钥对密码消息的至少一部分进行数字签名。例如,SSP 170能够用其私钥对元数据的整个集合进行数字签名。MPC集群130的计算系统S1和S2然后使用接收到的第一级密钥和第二级LUT独立地更新它们的2级LUT。
除了在步骤10中向MPC集群130的计算系统S1和S2发送关于兴趣组选择准则(例如,选择准则集合)的候选选择准则之外,作为步骤8的一部分,SSP 170可以可选地向应用112发送兴趣组选择准则,其已经包括具有最高值的候选选择准则。在该选项中,对于作为步骤9的一部分由应用112执行的每个最终选择过程,应用112从包括以下(如果可用的话)中的一个或更多个的选择值的若干集合中选择最高选择值:在步骤8中接收的情境选择值;在步骤2a中接收的兴趣组选择值,其被高速缓存在MPC集群130的高速缓存中;在步骤2b中接收的兴趣组选择值,其被高速缓存在MPC集群130的高速缓存中;和/或在步骤8中接收到的尚未被缓存的兴趣组选择值(应用112基于客户端设备110的用户与之相关联的兴趣组的真实列表来进一步过滤这些竞价)。
图3描绘了示出用于选择内容的示例过程300的泳道图。过程300中的步骤的编号对应于方法200中的步骤的编号。例如,过程300的步骤2a-1、2a-2、2a-3和2a-4是可以形成方法200的步骤2a的一部分的示例性步骤。类似地,步骤3a-1至3a-8是可以形成方法200的步骤3的一部分的示例性步骤,并且步骤4a-1和41-s是可以形成方法200的步骤4的一部分的示例性步骤。方法300的操作可以由系统100的各种组件执行。例如,方法300的操作能够至少部分地由与客户端设备110和应用112通信的MPC集群130的计算系统S1和S2来执行。
在一些实施方式中,步骤2a和2b并行完成,并且是对称过程。因此,参考步骤2a讨论图3,但是同样适用于步骤2b,其中,计算系统的操作被颠倒。例如,在相反的情况下,在图3中S1将与S2交换位置,但是图3的其余部分将保持相同以执行步骤2b。
在步骤2a-1中,应用112例如随机地生成两个公钥/私钥对:public_key1、public_key2、private_key1和private_key2。例如,这些公钥/私钥对能够是椭圆曲线密码(ECC)密钥对,诸如NIST P-256密钥对。应用112仅与计算系统S1共享public_key1,并且仅与计算系统S2共享public_key2,使得public_key1和public_key2是临时半公钥。应用112也为请求创建随机数或在密码通信中能够仅使用一次的任意数字。
在步骤2a-2中,应用112将客户端设备110的用户所属的兴趣组的真实列表随机地划分为两个集合G1和G2。假设G2={g2,1,…g2,k}是随机分配给G2的兴趣组的集合。假设客户端设备110的用户以及扩展到应用112与n个兴趣组相关联,则每个兴趣组具有被放入G1或G2的均等概率。在一些实施方式中,集合G1和G2不具有相等的大小。回想一下,应用112优选地维护包括用户的兴趣组列表,因此在该步骤中,应用能够将该兴趣组的列表描绘为兴趣组的两个子集。在一些实施方式中,兴趣组的两个子集具有不重叠的成员。在一些实施方式中,兴趣组的两个子集具有重叠的成员。
应用112与其相关联的任何兴趣组具有不存在于G1或G2中的非零概率p。与应用112不相关联的随机兴趣组存在于G1或G2中的概率是假阳性率(FPR)。因此,创建G1的过程是ε-差分隐私的,其中
Figure BDA0003561277220000191
例如,如果FPR为1%并且p为50%,则具有ε=log(50)=3.9。类似地,创建G2的过程也是ε-差分隐私的,其中,ε=3.9。
应用112通过利用复合键(诸如{IG_Request_Key,nonce})将键控伪随机函数应用于G2中的每个兴趣组,将G2变换为G2 T。例如,
Figure BDA0003561277220000192
Figure BDA0003561277220000193
其中,函数HMAC(clear_text,secret_key)计算键控消息认证码。该算法是键控散列消息认证码,或涉及加密散列函数和秘密加密密钥二者的特定类型的消息认证码(MAC)。
在步骤2a-3中,应用112然后能够选择概率数据结构,诸如布隆(Bloom)过滤器、实现和适当的参数,包括该结构的FPR。在该特定示例中,应用112然后能够分别为集合G1和G2创建布隆过滤器G1'和G2'。由于FPR,
Figure BDA0003561277220000194
Figure BDA0003561277220000195
|G1|<<|G1′|,且|G2|<<|G2′|。通过使用概率数据结构,实际包括用户的兴趣组的每个子集添加有不包括用户的兴趣组的集合,以便例如通过使获得子集中的一个的任何系统更难以通过指纹识别或跟踪用户来帮助保护用户的隐私。
例如,应用112能够创建概率数据结构,诸如布隆过滤器或布谷(cuckoo)过滤器,G2'用于G2 T。布隆过滤器使用k个散列函数来将兴趣组标识符IG_ID散列到m个数组位置中。例如,hj:IG_ID→[0,m),其中,1<=j<=k。H(IG_ID)能够由H(IG_ID)=HMAC(IG_Request_Key,IG_ID)定义,其中,结果以m基数表示…H3H2H1来表示。hm(IG_ID)因此被定义为H(IG_ID)中的第m位,即Hm
在步骤2a-4中,应用112在加密消息中利用单个参数向计算系统S1发送请求。例如,参数能够是PubKeyEncrypt(Stage_1_Lookup_Key||G2′||PubKeyEncrypt(G2 T,S1)||public_key2||nonce,S2)。在该等式中,||表示从一个或更多个简单消息组成复杂消息的任何无损可逆方法。例如,||能够表示简明二进制对象表示(concise binary objectrepresentation)或协议缓冲方法(protocol buffer method)。
在该特定示例中,Stage_1_Lookup_Key是被截断为n比特的SHA256(IG_Request_Key),但是能够使用其他适当的密钥。在该特定示例中,PubKeyEncrypt(clear_text,domain)是应用概率公钥加密算法来使用从域获取的公钥加密clear_text的加密结果。应用112使用的公钥加密算法通常基于ECC。例如,公钥加密算法能够是NIST P-256。
在步骤3a-1中,在假设计算系统S2将保持对应的私钥严格机密的情况下,由于使用应用112利用计算系统S2获取的公钥对请求进行加密,计算系统S1不能够使用接收到的请求来执行除了将其转发到计算系统S2之外的任何过程。通过转发该请求,计算系统S1向计算系统S2隐藏执行应用112的客户端设备的IP地址,使得计算系统S2不能使用与兴趣组请求相关联的客户端设备上的应用的任何IP地址来跟踪用户,从而提供额外层次的隐私保护。
在步骤3a-2中,计算系统S2使用其自己的私钥解密所接收的请求以恢复多个参数。例如,参数包括Stage_1_Lookup_Key、G2'(即,为G2 T构造的布隆过滤器)、PubKeyEncrypt(G2 T,S1)(即,仅计算系统S1能够解密的加密G2 T)、由应用112为当前请求创建的public_key2以及nonce(随机数)。
即使在计算系统S2与例如SSP 170串通的情况下,计算系统S2仍然将不能够使用客户端设备的对兴趣组和情境请求共同的IP地址来基于IP地址将兴趣组请求与来自应用的情境请求相关联。当Stage_1_Lookup_Key具有有限数量的比特时,这种保护甚至更加明显。
在步骤3a-3中,计算系统S2使用Stage_1_Lookup_key查询其2级查找表(“LUT”)。结果是经典LUT,其键是HMAC(IG_Request_Key,IG_ID)。换句话说,计算系统S2使用来自解密请求的Stage_1_Lookup_Key来查询LUT以寻找匹配条目。
在步骤3a-4中,计算系统S2利用布隆过滤器G2'过滤LUT。假设布隆过滤器的假阳性率为1%,则LUT中大致1%的条目将通过过滤器。LUT中的条目的数量大致是由计算系统S2高速缓存的所有条目中的2-n。因此,n控制步骤2a-8到步骤2a-11之间(包括步骤2a-8到步骤2a-11)的通信和计算成本。n越小,通信和计算成本越高,并且与不同IG_Request_Key相关联的LUT中的条目数量越高,这使得计算系统S2更难以与SSP 170串通以基于两种类型的内容项请求中的共同目标信号来将兴趣组和情境请求相关联。
在步骤3a-5中,计算系统S2根据选择准则对经过滤的条目进行排序。例如,计算系统S2能够使用后收益共享选择值(或竞价值)从第一最高到最低对经过滤的条目进行排序。对于每个条目,计算系统S2准备键/值对,其中,键是HMAC(HMAC(IG_Request_Key,IG_ID),nonce)。值是PubKeySign(PubKeyEncrypt(metadata_for_IG,public_key2),MPC2),其中,PubKeySign(clear_text,domain)是用于将clear_text与数字签名级联的函数,该数字签名是domain通过使用其私钥对clear_text应用数字签名算法(诸如ECDSA NIST P-256)而创建的。兴趣组IG的metadata_for_IG能够包括关于与兴趣组相对应的数字组件的选择准则集合。如上所述,选择准则集合能够包括选择值、数字组件或用于获得数字组件的指令等。PubKeyEncrypt是使用公钥public_key2对兴趣组的元数据执行的加密函数,防止计算系统S1学习由IG_ID标识的特定兴趣组的选择值,其中,计算系统S1能够使用该选择值来推断诸如从其生成请求的网站URL的信号。PubKeySign防止计算系统S1假扮计算系统S2以生成错误结果。因此,计算系统S2将兴趣组竞价集合变换为键/值对的有序集合。然后,计算系统S2将键/值对的有序列表和PubKeyEncrypt(G2 T,S1)发送到计算系统S1。
在步骤3a-6中,计算系统S1解密PubKeyEncrypt(G2 T,S1)以恢复明文形式的G2 T。例如,计算系统S1使用其与由应用112仅提供给计算系统S1的公钥相对应的私钥来解密PubKeyEncrypt。
在步骤3a-7中,计算系统S1使用G2 T选择获胜兴趣组,以从有序键/值对的列表中找到其键在G2 T中的第一键/值对。因为有序列表已经按照最高到最低的后收益共享选择值的顺序,所以计算系统S1能够简单地查询G2 T并从有序列表中选择其键在G2 T中的第一键/值对,以选择在应用112与其相关联的兴趣组的真实列表中的、具有最高的后收益共享竞价价格的兴趣组而无需访问键/值对的实际值。所选择的键/值对是结果。
在步骤3a-8中,计算系统S1用其自己的私钥对所选择的键/值对进行签名,以便稍后由应用112进行验证。例如,计算系统S1能够利用其与应用112仅提供给计算系统S1的公钥相对应的私钥对获胜键/值对进行签名。
在步骤4a-1中,计算系统S1将所选择的键/值对或结果发送回应用112。
在步骤4a-2中,应用112如下解密和验证结果。
应用112验证结果由计算系统S1加密和签名。例如,键能够是HMAC(HMAC(IG_Request_Key,Winning_IG_ID),nonce)。值能够是PubKeySign(PubKeyEncrypt(metadata_for_IG,public_key2),S2)。应用112恢复Winning_IG_ID并验证它是G2的成员。应用112能够验证Winning_IG_ID是集合G2的成员,这是因为应用112知道IG_Request_Key、nonce和G2。应用112验证该值由计算系统S2加密和签名。然后,应用112用private_key2解密该值以恢复metadata_for_IG。
加密过程300提供额外的隐私和安全保护。在该过程期间,计算系统S2接收明文的布隆过滤器G2'。基于先前的分析,布隆过滤器G2'是差分隐私的。此外,计算系统S2接收明文形式的Stage_1_Lookup_Key,即被截断为n比特的SHA256(IG_Request_Key)。另外,计算系统S1仅看到明文的客户端IP地址。因此,MPC集群的计算系统都不能访问用户的整个数据,并且不能猜测用户的身份。
图4是用于选择内容的示例隐私保护过程400的流程图。在一些实施方式中,过程或方法400能够由一个或更多个系统执行。例如,过程400能够由图1-图3的客户端设备110、应用112和MPC集群130实现。特别地,过程400能够由包括一个或更多个处理器510和包括指令的一个或更多个存储器元件(例如,图5的存储设备530)的系统来实现,所述指令在被执行时使得一个或更多个处理器执行包括过程400的步骤的操作。在一些实施方式中,过程400能够被实现为存储在非暂时性计算机可读介质上的指令,并且当指令由计算系统(例如,分布式计算系统)执行时,指令能够使计算系统执行过程400的操作。优选地,计算系统包括一个或更多个服务器。分布式计算系统能够包括通过网络连接的多个服务器。
过程400开始于由多方计算(MPC)集群的第一MPC服务器(例如,图1、图2和图3的S2)从MPC集群的第二MPC服务器(例如,图1、图2和图3的S1)接收对客户端设备的特定用户所属的两个或更多个兴趣组的集合中的至少一个兴趣组的选择准则的请求,其中,所接收的请求不向第一MPC服务器显露客户端设备的标识符(402)。例如,如上面关于图2和图3的步骤3a-1所描述的,计算系统S2能够从计算系统S1接收对兴趣组竞价的请求。该请求不向计算系统S2显露应用112的IP地址、客户端设备的标识符。这具有保护用户隐私和保护用户数据的安全的技术效果。例如,仅包括用户作为成员的兴趣组的一部分被提供给MPC集群的每个MPC服务器。因此,哪个MPC服务器都不能确定用户的完整用户兴趣组成员。概率数据结构的使用提供了减少发送到每个MPC服务器的请求的数据大小的额外技术效果,同时进一步保护用户隐私和数据安全。许多请求(例如,每天数千或数百万)的聚合,这导致显著节省带宽和等待时间,并且减少可以发送请求的移动设备的电池消耗。
过程400继续,通过由第一MPC服务器确定客户端设备的特定用户所属的两个或更多个兴趣组的集合中的至少一个兴趣组的有序选择准则的集合来响应所接收的请求(404)。在一些实施方式中,使用请求中被保护以免以未加密或明文形式访问或以其他方式被第二MPC服务器显露的部分,从第一MPC服务器的高速缓存中检索有序选择准则的集合。例如,如上面关于图2和图3的步骤3a-2至3a-5所描述的,计算系统S2(即,第一MPC服务器)能够通过使用请求的一部分来确定从计算系统S2的2级LUT检索的兴趣组竞价的有序集合。这具有在选择过程期间保持数据安全和用户隐私的技术效果。使用该方法防止任一MPC集群获得用户的完整兴趣组成员。此外,该方法防止MPC服务器获得关于为兴趣组提供选择值的DSP的机密数据。
过程400继续,将有序选择准则的集合变换为键/值对的集合,其中,键/值对中的每一个的值被保护以免被第二MPC显露(406)。例如,如上面关于图2和图3的步骤3a-2至3a-5所描述的,计算系统S2能够将有序兴趣组竞价的集合变换为键/值对的集合。这也具有在选择过程期间保持数据安全和用户隐私的技术效果。使用该方法防止任一MPC集群获得用户的完整兴趣组成员。此外,该方法防止MPC服务器获得关于为兴趣组提供选择值的DSP的机密数据。
过程400继续,由第一MPC服务器将键/值对的集合与使得第二MPC服务器能够识别具有最高值的键而不向第二MPC服务器显露键/值对的集合的值的数据一起发送到第二MPC(408)。例如,如上面关于图2和图3的步骤3a-2至3a-5所述,计算系统S2能够与使计算系统S1能够识别具有最高值的键而不允许计算系统S1访问该值的数据一起,将竞价的有序列表作为键/值对的集合发送到计算系统S1。这具有保护用户隐私和数据安全的技术效果。另外,通过仅发送关于获胜兴趣组而不是包括用户作为成员的每个兴趣组的数据,减少了从MPC服务器发送到客户端设备的数据量。
在一些实施方式中,过程400能够包括:在由内容分发系统预测给定兴趣组包括客户端设备的特定用户的条件集合的情境中,由第一MPC服务器从与第一MPC服务器和第二MPC服务器不同的内容分发系统接收给定兴趣组的给定选择准则,并且由第一MPC服务器在第一MPC服务器的高速缓存中高速缓存给定兴趣组的给定选择准则,给定兴趣组被预测为包括客户端设备的特定用户并且与可适用情境相关联。这具有基于兴趣组成员更快地选择数字组件的技术效果。通过高速缓存基于兴趣组成员分发的数字组件的选择准则,MPC服务器能够更快速地识别合格的数字组件(例如,包括用户作为成员的兴趣组的数字组件),并基于高速缓存的选择值来选择获胜数字组件。
例如,如上面关于图2的步骤10所述,SSP 170能够向计算系统S1和S2发送由DSP150提供的推测性或预测性选择值。计算系统S1和S2中的每一个能够独立地更新其各自的2级LUT。
在一些实施方式中,过程400还包括:由内容分发系统接收由客户端设备提交的内容请求,响应于内容请求生成响应于内容请求的候选选择准则,基于内容请求确定被预测为包括客户端设备的特定用户的零个或更多个兴趣组,基于确定给定兴趣组被预测为包括客户端设备的特定用户来生成给定兴趣组的给定选择准则,由内容分发系统将候选分发准则和给定分发准则发送到客户端设备,以及由内容分发系统向第一MPC服务器发送给定兴趣组的给定分发准则而不是候选分发准则。例如,DSP 150能够接收由应用112提交的内容请求,确定在其上运行应用112的客户端设备110的用户可能是特定兴趣组的一部分,并且为兴趣组生成预测竞价。这具有以下技术效果:使得应用能够使用数字组件呈现环境的兴趣组成员资格和情境数据两者来完成对要由应用显示的数字组件的选择过程,而不会将用户数据泄漏给其他方,从而在整个稳健的数字组件选择过程中提高数据安全性,这改善了用户体验。此外,除了基于并行请求在客户端设备处执行最终选择过程之外,可以能够更快地完成选择过程,这可以防止在必须以毫秒选择数字组件的情况下可能发生的错误。
在一些实施方式中,过程400还包括:由第二MPC服务器接收第二MPC服务器不可访问(例如不能被其解密)的第一加密请求,由第二MPC服务器将第一加密请求转发到第一MPC服务器,从第二MPC服务器接收键/值对的集合,由第二MPC服务器在不显露键/值对的值的情况下识别具有最高值的给定键/值对,生成包括给定键/值对的对第一加密请求的第一签名响应,其中,第一签名响应利用第二MPC服务器的私钥来签名,以及响应于第一加密请求将第一签名响应发送到客户端设备。这具有在选择过程期间保持数据安全和用户隐私的技术效果。使用该方法防止任一MPC集群获得用户的完整兴趣组成员。此外,该方法防止MPC服务器获得关于为兴趣组提供选择值的DSP的机密数据。另外,在请求中使用加密和签名保护了数据安全并且防止可能在MPC服务器与客户端设备之间发生的欺诈。使用签名来验证响应确保了加密响应尚未被修改。
例如,计算系统S1能够接收不可由计算系统S1访问或不能由计算系统S1解密的加密请求,并将该请求转发到计算系统S2。然后,计算系统S2能够向计算系统S1提供键/值对的有序集合而不显露所述对的值,并且生成对计算系统S1的响应,该响应包括键/值对的有序集合并对值进行签名。一旦计算系统S1选择了获胜兴趣组竞价,计算系统S1就将所选择的键/值对发送到应用112。
在一些实施方式中,过程400还包括:由客户端设备接收由第二MPC服务器发送的第一加密签名响应,由客户端设备验证第一加密签名响应由第一MPC服务器签名,由客户端设备从第一签名响应恢复第一兴趣组,由客户端设备验证第一兴趣组包括特定用户,由客户端设备验证给定键/值对的值由第一MPC服务器签名,由客户端设备解密给定键/值对的值以恢复第一选择准则,由客户端设备从内容分发系统接收候选选择准则和给定选择准则,由客户端设备从第一选择准则、给定选择准则和候选选择准则中选择控制选择准则。这具有保护用户隐私和数据安全以及防止欺诈的技术效果。
例如,如上面关于图3的步骤4a-1至4a-2所述,应用112能够从计算系统S1接收签名响应,并从响应恢复获胜兴趣组竞价。应用112能够验证响应中的给定键/值对的值被计算系统S2加密和签名。然后,应用112能够解密键/值对的值以恢复获胜兴趣组竞价并接收其他竞价,包括来自计算系统S2的零或一个兴趣组竞价以及来自SSP 170的零或一个情境竞价和零或多个兴趣组竞价。
在一些实施方式中,过程400还包括:由客户端设备将包括特定用户的兴趣组描绘为第一兴趣组集合和与第一兴趣组集合不同的第二兴趣组集合,由客户端设备将第一加密请求发送到第二MPC服务器,第一加密请求包括包含特定用户的第一兴趣组集合,由客户端设备将第二加密请求发送到第一MPC服务器,第二加密请求包括包含特定用户的第二兴趣组集合,由客户端设备接收由第一MPC服务器发送的第二签名响应,由客户端设备验证第二签名响应由第二MPC服务器签名,由客户端设备从签名响应恢复指定的兴趣组,由客户端设备验证指定的兴趣组包括特定用户,由客户端设备验证给定键/值对的值由第二MPC服务器签名,由客户端设备解密给定键/值对的值以恢复第三选择准则,其中,选择控制选择准则包括从第一选择准则、给定选择准则、候选选择准则和第三选择准则中选择控制选择准则。这具有保护用户隐私和数据安全性以及防止欺诈的技术效果。
例如,如上面关于图2的步骤2和图3的步骤2a-1至2a-2所描述的,客户端设备110的应用112能够将兴趣组分离成两个不同的集合。如上面关于图3的步骤2a-1至3a-1所描述的,客户端设备110的应用112能够将加密请求发送到计算系统S2,并且计算系统S2能够将第二加密请求发送到计算系统S1。如上面关于图3的步骤3a-5至4a-2所描述的,应用112能够从计算系统S2接收签名结果,并验证结果的值被计算系统S1加密和签名。然后,应用112能够解密结果并验证结果中的指定兴趣组包括特定用户,这是因为应用112具有用户所属的兴趣组的真实列表。
图5是能够用于执行上述操作的示例计算机系统500的框图。系统500包括处理器510、存储器520、存储设备530和输入/输出设备540。组件510、520、530和540中的每一个能够例如使用系统总线550互连。处理器510能够处理用于在系统500内执行的指令。在一个实施方式中,处理器510是单线程处理器。在另一实施方式中,处理器510是多线程处理器。处理器510能够处理存储在存储器520中或存储设备530上的指令。
存储器520存储系统500内的信息。在一个实施方式中,存储器520是计算机可读介质。在一个实施方式中,存储器520是易失性存储器单元。在另一实施方式中,存储器520是非易失性存储器单元。
存储设备530能够为系统500提供大容量存储。在一个实施方式中,存储设备530是计算机可读介质。在各种不同的实施方式中,存储设备530能够包括例如硬盘设备、光盘设备、由多个计算设备通过网络共享的存储设备(例如,云存储设备)或一些其他大容量存储设备。
输入/输出设备540为系统500提供输入/输出操作。在一个实施方式中,输入/输出设备540能够包括网络接口设备(例如,以太网卡)、串行通信设备(例如,RS-232端口)和/或无线接口设备(例如,802.11卡)中的一个或更多个。在另一实施方式中,输入/输出设备能够包括驱动器设备,其被配置为接收输入数据并将输出数据发送到其他输入/输出设备,例如键盘、打印机和显示设备560。然而,也能够使用其他实施方式,诸如移动计算设备、移动通信设备、机顶盒电视客户端设备等。
尽管已经在图5中描述了示例处理系统,但是本说明书中描述的主题和功能操作的实施方式能够以其他类型的数字电子电路实现,或者以计算机软件、固件或硬件(包括本说明书中公开的结构及其结构等同物)实现,或者以它们中的一个或更多个的组合实现。
媒体不一定对应于文件。媒体可以存储在保存其他文档的文件的一部分中,存储在专用于所讨论的文档的单个文件中,或者存储在多个协调文件中。
本说明书中描述的主题和操作的实施例能够以数字电子电路实现,或者以计算机软件、固件或硬件(包括本说明书中公开的结构及其结构等同物)实现,或者以它们中的一个或更多个的组合实现。本说明书中描述的主题的实施例能够实现为一个或更多计算机程序,即,计算机程序指令的一个或更多模块,其编码在计算机存储介质(或媒介)上,用于由数据处理装置执行或控制数据处理装置的操作。可替代地或另外地,程序指令能够被编码在人工生成的传播信号上,例如,机器生成的电、光或电磁信号,其被生成以对信息进行编码,从而传输到合适的接收器装置以供数据处理装置执行。计算机存储介质能够是计算机可读存储设备、计算机可读存储基板、随机或串行存取存储器阵列或设备、或者它们中的一个或更多个的组合,或者被包括在计算机可读存储设备、计算机可读存储基板、随机或串行存取存储器阵列或设备、或者它们中的一个或更多个的组合中。此外,虽然计算机存储介质不是传播信号,但是计算机存储介质能够是在人工生成的传播信号中编码的计算机程序指令的源或目的地。计算机存储介质也能够是一个或更多个单独的物理组件或介质(例如,多个CD、磁盘或其他存储设备),或者被包括在一个或更多个单独的物理组件或介质(例如,多个CD、磁盘或其他存储设备)中。
本说明书中描述的操作可以能够被实现为由数据处理装置对存储在一个或更多个计算机可读存储设备上或从其他源接收的数据执行的操作。
本文描述的过程、方法、系统和装置(包括系统100、方法200、过程300、过程400和系统500)中的每一个的所有特征可选地加上必要的变更适用于本文描述的其他过程、方法、系统和装置。仅作为示例,方法200和过程300的特征经必要的变更可选地应用于过程400。
术语“数据处理装置”包括用于处理数据的所有类型的装置、设备和机器,包括例如可编程处理器、计算机、片上系统或前述中的多个或组合。该装置能够包括专用逻辑电路,例如FPGA(现场可编程门阵列)或ASIC(专用集成电路)。除了硬件之外,该装置还能够包括为所讨论的计算机程序创建执行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统、跨平台运行时环境、虚拟机或它们中的一个或更多个的组合的代码。装置和执行环境能够实现各种不同的计算模型基础设施,诸如web服务、分布式计算和网格计算基础设施。
计算机程序(也称为程序、软件、软件应用、脚本或代码)能够以任何形式的编程语言编写,包括编译或解释语言、声明或过程语言,并且其能够以任何形式部署,包括作为独立程序或作为模块、组件、子例程、对象或适用于计算环境的其他单元。计算机程序可以但不必对应于文件系统中的文件。程序能够存储在保存其他程序或数据(例如,存储在标记语言文档中的一个或更多个脚本)的文件的一部分中,存储在专用于所讨论的程序的单个文件中,或者存储在多个协调文件(例如,存储一个或更多个模块、子程序或代码部分的文件)中。计算机程序能够被部署为在一个计算机上或在位于一个站点处或分布在多个站点上并通过通信网络互连的多个计算机上执行。
本说明书中描述的过程和逻辑流程能够由执行一个或更多个计算机程序的一个或更多个可编程处理器执行,以通过对输入数据进行操作并生成输出来执行动作。过程和逻辑流程也能够由专用逻辑电路(例如,FPGA(现场可编程门阵列)或ASIC(专用集成电路))执行,并且装置也能够被实现为专用逻辑电路(例如,FPGA(现场可编程门阵列)或ASIC(专用集成电路))。
作为示例,适合于执行计算机程序的处理器包括通用微处理器和专用微处理器两者。通常,处理器将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的基本元件是用于根据指令执行动作的处理器和用于存储指令和数据的一个或更多个存储器设备。通常,计算机还将包括用于存储数据的一个或更多个大容量存储设备,例如磁盘、磁光盘或光盘,或者计算机将可操作地耦接到用于存储数据的一个或更多个大容量存储设备,例如磁盘、磁光盘或光盘,以从其接收数据或将数据发送到其或接收和发送两者。然而,计算机不需要具有这样的设备。此外,计算机能够嵌入在另一设备中,例如,仅举几例,移动电话、个人数字助理(PDA)、移动音频或视频播放器、游戏控制台、全球定位系统(GPS)接收器或便携式存储设备(例如,通用串行总线(USB)闪存驱动器)。适合于存储计算机程序指令和数据的设备包括所有形式的非易失性存储器、介质和存储器设备,包括例如半导体存储器设备,例如EPROM、EEPROM和闪存设备;磁盘,例如内部硬盘或可移动磁盘;磁光盘;以及CD-ROM和DVD-ROM盘。处理器和存储器能够由专用逻辑电路补充或并入专用逻辑电路中。
为了提供与用户的交互,本说明书中描述的主题的实施例能够在具有用于向用户显示信息的显示设备(例如,CRT(阴极射线管)或LCD(液晶显示器)监视器)以及用户能够通过其向计算机提供输入的键盘和指点设备(例如,鼠标或轨迹球)的计算机上实现。也能够使用其他类型的设备来提供与用户的交互;例如,提供给用户的反馈能够是任何形式的感觉反馈,例如视觉反馈、听觉反馈或触觉反馈;并且能够以任何形式接收来自用户的输入,包括声音、语音或触觉输入。另外,计算机能够通过向用户使用的设备发送文档和从用户使用的设备接收文档来与用户交互;例如,通过响应于从web浏览器接收的请求而向用户的客户端设备上的web浏览器发送web页面。
本说明书中描述的主题的实施例能够在计算系统中实现,该计算系统包括后端组件(例如,作为数据服务器),或者包括中间件组件(例如,应用服务器),或者包括前端组件(例如,具有图形用户界面或Web浏览器的客户端计算机,用户能够通过该图形用户界面或Web浏览器与本说明书中描述的主题的实现进行交互),或者包括一个或更多个这样的后端、中间件或前端组件的任何组合。系统的组件能够通过任何形式或介质的数字数据通信(例如,通信网络)互连。通信网络的示例包括局域网(“LAN”)和广域网(“WAN”)、互联网络(例如,互联网)和对等网络(例如,自组织对等网络)。
计算系统能够包括客户端和服务器。客户端和服务器通常彼此远离,并且通常通过通信网络进行交互。客户端和服务器的关系借助于在各个计算机上运行并且彼此具有客户端-服务器关系的计算机程序而产生。在一些实施例中,服务器将数据(例如,HTML页面)发送到客户端设备(例如,出于向与客户端设备交互的用户显示数据和从与客户端设备交互的用户接收用户输入的目的)。能够在服务器处从客户端设备接收在客户端设备处生成的数据(例如,用户交互的结果)。
虽然本说明书包含许多具体实施方式细节,但是这些不应被解释为对任何发明或可能要求保护的范围的限制,而是作为特定于特定发明的特定实施例的特征的描述。在本说明书中在单独实施例的情境中描述的某些特征也能够在单个实施例中组合实现。相反,在单个实施例的情境中描述的各种特征也能够单独地或以任何合适的子组合在多个实施例中实现。此外,尽管上文可以将特征描述为以某些组合起作用并且甚至最初如此要求保护,但是在一些情况下能够从组合中删除来自所要求保护的组合的一个或更多个特征,并且所要求保护的组合能够涉及子组合或子组合的变体。
类似地,虽然在附图中以特定顺序描绘了操作,但是这不应被理解为要求以所示的特定顺序或按顺序执行这些操作,或者执行所有示出的操作,以实现期望的结果。在某些情况下,多任务和并行处理会是有利的。此外,上述实施例中的各种系统组件的分离不应被理解为在所有实施例中都需要这种分离,并且应当理解,所描述的程序组件和系统通常能够一起集成在单个软件产品中或封装到多个软件产品中。
因此,已经描述了主题的特定实施例。其他实施例在以下权利要求书的范围内。在一些情况下,权利要求中记载的动作能够以不同的顺序执行,并且仍然实现期望的结果。另外,附图中描绘的过程不一定需要所示的特定顺序或相继顺序来实现期望的结果。在某些实施方式中,多任务和并行处理会是有利的。

Claims (20)

1.一种方法,包括:
由多方计算(MPC)集群的第一MPC服务器从MPC集群的第二MPC服务器接收对客户端设备的特定用户所属的两个或更多个兴趣组的集合中的至少一个兴趣组的选择准则的请求,其中,所接收的请求不向第一MPC服务器显露客户端设备的标识符;
响应于接收到所述请求:
由第一MPC服务器确定客户端设备的特定用户所属的两个或更多个兴趣组的集合中的所述至少一个兴趣组的有序选择准则的集合,所述有序选择准则的集合是使用请求中被保护以免被第二MPC服务器显露的部分从第一MPC服务器的高速缓存中检索的;
将有序选择准则的集合变换为键/值对的集合,其中,键/值对中的每一个的值被保护以免被第二MPC服务器显露;以及
由第一MPC服务器将键/值对的集合与使得第二MPC服务器能够识别具有最高值的键而不将键/值对的集合的值显露给第二MPC服务器的数据一起发送到第二MPC服务器。
2.根据权利要求1所述的方法,还包括:
由第一MPC服务器从与第一MPC服务器和第二MPC服务器不同的内容分发系统接收给定兴趣组的给定选择准则,给定兴趣组由内容分发系统预测为包括所述客户端设备的特定用户;以及
由第一MPC服务器在第一MPC服务器的高速缓存中高速缓存被预测为包括客户端设备的特定用户的给定兴趣组的给定选择准则。
3.根据权利要求2所述的方法,还包括:
由内容分发系统接收由客户端设备提交的内容请求;
响应于内容请求,生成响应于内容请求的候选选择准则;
基于内容请求,确定被预测为包括客户端设备的特定用户的给定兴趣组;
基于确定给定兴趣组被预测为包括客户端设备的特定用户而生成给定兴趣组的给定选择准则;
由内容分发系统将候选分发准则和给定分发准则发送到客户端设备;以及
由内容分发系统向第一MPC服务器发送给定兴趣组的给定分发准则,但不发送候选分发准则。
4.根据任一前述权利要求所述的方法,还包括:
由第二MPC服务器接收第二MPC服务器不可访问的第一加密请求;
由第二MPC服务器将第一加密请求转发到第一MPC服务器;
从第一MPC服务器接收键/值对的集合;
由第二MPC服务器在不显露所述键/值对的值的情况下识别具有最高值的给定键/值对;
生成包括给定键/值对的对第一加密请求的第一加密签名响应,其中,第一签名响应利用第二MPC服务器的私钥来签名;以及
响应于第一加密请求将第一加密签名响应发送到客户端设备。
5.根据权利要求4所述的方法,还包括:
由客户端设备接收由第二MPC服务器发送的第一加密签名响应;
由客户端设备验证第一加密签名响应由第一MPC服务器签名;
由客户端设备从第一签名响应恢复第一兴趣组;
由客户端设备验证第一兴趣组包括特定用户;
由客户端设备验证给定键/值对的值由第一MPC服务器签名;
由客户端设备解密给定键/值对的值以恢复第一选择准则;
由客户端设备从内容分发系统接收候选选择准则和给定选择准则;以及
由客户端设备从第一选择准则、给定选择准则和候选选择准则中选择控制选择准则。
6.根据权利要求5所述的方法,还包括:
由客户端设备将包括特定用户的兴趣组描绘为第一兴趣组集合和与第一兴趣组集合不同的第二兴趣组集合;
由客户端设备将第一加密请求发送到第二MPC服务器,第一加密请求包括包含特定用户的第一兴趣组集合;
由客户端设备将第二加密请求发送到第一MPC服务器,第二加密请求包括包含特定用户的第二兴趣组集合;
由客户端设备接收由第一MPC服务器发送的第二签名响应;
由客户端设备验证第二签名响应由第二MPC服务器签名;
由客户端设备从签名响应恢复指定的兴趣组;
由客户端设备验证指定的兴趣组包括特定用户;
由客户端设备验证给定键/值对的值由第二MPC服务器签名;以及
由客户端设备解密给定键/值对的值以恢复第三选择准则,其中,选择控制选择准则包括从第一选择准则、给定选择准则、候选选择准则和第三选择准则中选择控制选择准则。
7.根据权利要求4至6中任一项所述的方法,还包括:
由第一MPC服务器接收第一MPC服务器不可访问的第二加密请求;
由第一MPC服务器将第二加密请求转发到第二MPC服务器;
从第二MPC服务器接收不同的键/值对的集合;
由第一MPC服务器在不显露不同集合中的键/值对的值的情况下识别具有最高值的特定键/值对;
生成包括特定键/值对的对第二加密请求的第二签名响应,其中,第一签名响应利用第二MPC服务器的私钥来签名;以及
响应于第二加密请求将第二签名响应发送到客户端设备。
8.一种系统,包括:
一个或更多个处理器;以及
一个或更多个存储器元件,所述一个或更多个存储器元件包括指令,所述指令在被执行时使得所述一个或更多个处理器执行包括以下的操作:
由多方计算(MPC)集群的第一MPC系统服务器从MPC集群的第二MPC服务器接收对客户端设备的特定用户所属的两个或更多个兴趣组的集合中的至少一个兴趣组的选择准则的请求,其中,所接收的请求不向第一MPC服务器显露客户端设备的标识符;
响应于接收到所述请求:
由第一MPC服务器确定客户端设备的特定用户所属的两个或更多个兴趣组的集合中的所述至少一个兴趣组的有序选择准则的集合,所述有序选择准则的集合是使用请求中被保护以免被第二MPC服务器显露的部分从第一MPC服务器的高速缓存中检索的;
将有序选择准则的集合变换为键/值对的集合,其中,键/值对中的每一个的值被保护以免被第二MPC服务器显露;以及
由第一MPC服务器将键/值对的集合与使得第二MPC服务器能够识别具有最高值的键而不将键/值对的集合的值显露给第二MPC服务器的数据一起发送到第二MPC服务器。
9.根据权利要求8所述的系统,所述操作还包括:
由第一MPC服务器从与第一MPC服务器和第二MPC服务器不同的内容分发系统接收给定兴趣组的给定选择准则,给定兴趣组由内容分发系统预测为包括客户端设备的特定用户;以及
由第一MPC服务器在第一MPC服务器的高速缓存中高速缓存被预测为包括客户端设备的特定用户的给定兴趣组的给定选择准则。
10.根据权利要求9所述的系统,所述操作还包括:
由内容分发系统接收由客户端设备提交的内容请求;
响应于内容请求,生成响应于内容请求的候选选择准则;
基于内容请求,确定被预测为包括客户端设备的特定用户的给定兴趣组;
基于确定给定兴趣组被预测为包括客户端设备的特定用户而生成给定兴趣组的给定选择准则;
由内容分发系统将候选分发准则和给定分发准则发送到所述客户端设备;以及
由内容分发系统向第一MPC服务器发送给定兴趣组的给定分发准则,但不发送候选分发准则。
11.根据权利要求8至10中任一项所述的系统,所述操作还包括:
由第二MPC服务器接收第二MPC服务器不可访问的第一加密请求;
由第二MPC服务器将第一加密请求转发到第一MPC服务器;
从第一MPC服务器接收键/值对的集合;
由第二MPC服务器在不显露键/值对的值的情况下识别具有最高值的给定键/值对;
生成包括给定键/值对的对第一加密请求的第一加密签名响应,其中,第一签名响应利用第二MPC服务器的私钥来签名;以及
响应于第一加密请求将第一加密签名响应发送到客户端设备。
12.根据权利要求11所述的系统,所述操作还包括:
由客户端设备接收由第二MPC服务器发送的第一加密签名响应;
由客户端设备验证第一加密签名响应由第一MPC服务器签名;
由客户端设备从第一签名响应恢复第一兴趣组;
由客户端设备验证第一兴趣组包括特定用户;
由客户端设备验证给定键/值对的值由第一MPC服务器签名;
由客户端设备解密给定键/值对的值以恢复第一选择准则;
由客户端设备从内容分发系统接收候选选择准则和给定选择准则;以及
由客户端设备从第一选择准则、给定选择准则和候选选择准则中选择控制选择准则。
13.根据权利要求12所述的系统,所述操作还包括:
由客户端设备将包括特定用户的兴趣组描绘为第一兴趣组集合和与第一兴趣组集合不同的第二兴趣组集合;
由客户端设备将第一加密请求发送到第二MPC服务器,第一加密请求包括包含特定用户的第一兴趣组集合;
由客户端设备将第二加密请求发送到第一MPC服务器,第二加密请求包括包含特定用户的第二兴趣组集合;
由客户端设备接收由第一MPC服务器发送的第二签名响应;
由客户端设备验证第二签名响应由第二MPC服务器签名;
由客户端设备从签名响应恢复指定的兴趣组;
由客户端设备验证指定的兴趣组包括特定用户;
由客户端设备验证给定键/值对的值由第二MPC服务器签名;以及
由客户端设备解密给定键/值对的值以恢复第三选择准则,其中,选择控制选择准则包括从第一选择准则、给定选择准则、候选选择准则和第三选择准则中选择控制选择准则。
14.根据权利要求11至13中任一项所述的系统,所述操作还包括:
由第一MPC服务器接收第一MPC服务器不可访问的第二加密请求;
由第一MPC服务器将第二加密请求转发到第二MPC服务器;
从第二MPC服务器接收不同的键/值对的集合;
由第一MPC服务器在不显露不同集合中的键/值对的值的情况下识别具有最高值的特定键/值对;
生成包括特定键/值对的对第二加密请求的第二签名响应,其中,第一签名响应利用第二MPC服务器的私钥来签名;以及
响应于第二加密请求将第二签名响应发送到客户端设备。
15.一种利用指令编码的非暂时性计算机存储介质,所述指令在由计算系统执行时使计算系统执行包括以下的操作:
由多方计算(MPC)集群的第一MPC服务器从MPC集群的第二MPC服务器接收对客户端设备的特定用户所属的两个或更多个兴趣组的集合中的至少一个兴趣组的选择准则的请求,其中,所接收的请求不向第一MPC服务器显露客户端设备的标识符;
响应于接收到所述请求:
由第一MPC服务器确定客户端设备的特定用户所属的两个或更多个兴趣组的集合中的所述至少一个兴趣组的有序选择准则的集合,所述有序选择准则的集合是使用请求中被保护以免被第二MPC服务器显露的部分从第一MPC服务器的高速缓存中检索的;
将有序选择准则的集合变换为键/值对的集合,其中,键/值对中的每一个的值被保护以免被第二MPC服务器显露;以及
由第一MPC服务器将键/值对的集合与使得第二MPC服务器能够识别具有最高值的键而不将键/值对的集合的值显露给第二MPC服务器的数据一起发送到第二MPC服务器。
16.根据权利要求15所述的非暂时性计算机存储介质,所述操作还包括:
由第一MPC服务器从与第一MPC服务器和第二MPC服务器不同的内容分发系统接收给定兴趣组的给定选择准则,给定兴趣组由内容分发系统预测为包括客户端设备的特定用户;以及
由第一MPC服务器在第一MPC服务器的高速缓存中高速缓存被预测为包括客户端设备的特定用户的给定兴趣组的给定选择准则。
17.根据权利要求16所述的非暂时性计算机存储介质,所述操作还包括:
由内容分发系统接收由客户端设备提交的内容请求;
响应于内容请求,生成响应于内容请求的候选选择准则;
基于内容请求,确定被预测为包括客户端设备的特定用户的给定兴趣组;
基于确定给定兴趣组被预测为包括客户端设备的特定用户而生成给定兴趣组的给定选择准则;
由内容分发系统将候选分发准则和给定分发准则发送到客户端设备;以及
由内容分发系统向第一MPC服务器发送给定兴趣组的给定分发准则,但不发送候选分发准则。
18.根据权利要求15至17中任一项所述的非暂时性计算机存储介质,所述操作还包括:
由第二MPC服务器接收第二MPC服务器不可访问的第一加密请求;
由第二MPC服务器将第一加密请求转发到第一MPC服务器;
从第一MPC服务器接收键/值对的集合;
由第二MPC服务器在不显露键/值对的值的情况下识别具有最高值的给定键/值对;
生成包括给定键/值对的对第一加密请求的第一加密签名响应,其中,第一签名响应利用第二MPC服务器的私钥来签名;以及
响应于第一加密请求将第一加密签名响应发送到客户端设备。
19.根据权利要求18所述的非暂时性计算机存储介质,所述操作还包括:
由客户端设备接收由第二MPC服务器发送的第一加密签名响应;
由客户端设备验证第一加密签名响应由第一MPC服务器签名;
由客户端设备从第一签名响应恢复第一兴趣组;
由客户端设备验证第一兴趣组包括特定用户;
由客户端设备验证给定键/值对的值由第一MPC服务器签名;
由客户端设备解密给定键/值对的值以恢复第一选择准则;
由客户端设备从内容分发系统接收候选选择准则和给定选择准则;以及
由客户端设备从第一选择准则、给定选择准则和候选选择准则中选择控制选择准则。
20.根据权利要求19所述的非暂时性计算机存储介质,所述操作还包括:
由客户端设备将包括特定用户的兴趣组描绘为第一兴趣组集合和与第一兴趣组集合不同的第二兴趣组集合;
由客户端设备将第一加密请求发送到第二MPC服务器,第一加密请求包括包含特定用户的第一兴趣组集合;
由客户端设备将第二加密请求发送到第一MPC服务器,第二加密请求包括包含特定用户的第二兴趣组集合;
由客户端设备接收由第一MPC服务器发送的第二签名响应;
由客户端设备验证第二签名响应由第二MPC服务器签名;
由客户端设备从签名响应恢复指定的兴趣组;
由客户端设备验证指定的兴趣组包括特定用户;
由客户端设备验证给定键/值对的值由第二MPC服务器签名;以及
由客户端设备解密给定键/值对的值以恢复第三选择准则,其中,选择控制选择准则包括从第一选择准则、给定选择准则、候选选择准则和第三选择准则中选择控制选择准则。
CN202180005490.2A 2020-08-14 2021-08-13 在线隐私保护方法和系统 Active CN114450919B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US202063065849P 2020-08-14 2020-08-14
US63/065,849 2020-08-14
PCT/US2021/045888 WO2022036183A1 (en) 2020-08-14 2021-08-13 Online privacy preserving techniques

Publications (2)

Publication Number Publication Date
CN114450919A true CN114450919A (zh) 2022-05-06
CN114450919B CN114450919B (zh) 2023-12-19

Family

ID=77726523

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202180005490.2A Active CN114450919B (zh) 2020-08-14 2021-08-13 在线隐私保护方法和系统

Country Status (6)

Country Link
US (1) US11968297B2 (zh)
EP (1) EP4014427B1 (zh)
JP (1) JP7354427B2 (zh)
KR (1) KR20220052352A (zh)
CN (1) CN114450919B (zh)
WO (1) WO2022036183A1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP4038532B1 (en) * 2020-12-04 2023-07-26 Google LLC Secured management of data distribution restrictions
WO2024144766A1 (en) * 2022-12-28 2024-07-04 Google Llc Privacy-preserving content delivery
WO2024163213A1 (en) * 2023-02-03 2024-08-08 Google Llc Secure and privacy preserving server-to-server content distribution

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104380690A (zh) * 2012-06-15 2015-02-25 阿尔卡特朗讯 用于推荐服务的隐私保护系统的架构
CN104604200A (zh) * 2012-07-16 2015-05-06 阿尔卡特朗讯 用于对用户兴趣简档的隐私保护聚集的方法和装置
CN105009505A (zh) * 2013-08-09 2015-10-28 汤姆逊许可公司 基于矩阵因子分解和岭回归的隐私保护推荐的方法和系统
US20160050070A1 (en) * 2013-04-12 2016-02-18 Nec Europe Ltd. Method and system for accessing device by a user
CN106471539A (zh) * 2014-08-14 2017-03-01 谷歌公司 用于混淆受众测量的系统和方法
CN108475281A (zh) * 2016-05-06 2018-08-31 谷歌有限责任公司 使用聚合用户会话数据的视频注释
CN108509806A (zh) * 2018-04-09 2018-09-07 北京东方网润科技有限公司 一种具有隐私保护的大数据精准营销系统及设备
CN109891424A (zh) * 2017-01-30 2019-06-14 谷歌有限责任公司 在不披露特定识别信息的情况下建立标识符之间的链接
CN110661764A (zh) * 2018-06-29 2020-01-07 阿里巴巴集团控股有限公司 安全多方计算协议的输入获取方法和装置
CN111324895A (zh) * 2014-10-20 2020-06-23 微软技术许可有限责任公司 用于客户端设备的信任服务
US20200259800A1 (en) * 2019-02-12 2020-08-13 Visa International Service Association Fast oblivious transfers

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010135001A2 (en) 2009-05-21 2010-11-25 Intertrust Technologies Corporation Content delivery systems and methods
US9679314B1 (en) 2014-01-31 2017-06-13 Google Inc. Content selection using distribution parameter data
US9832504B2 (en) 2015-09-15 2017-11-28 Google Inc. Event-based content distribution
US11218324B2 (en) 2018-04-05 2022-01-04 Ares Technologies, Inc. Systems and methods authenticating a digitally signed assertion using verified evaluators
EP4044496A1 (en) * 2021-02-10 2022-08-17 Robert Bosch GmbH Distributed secure multi party computation

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104380690A (zh) * 2012-06-15 2015-02-25 阿尔卡特朗讯 用于推荐服务的隐私保护系统的架构
CN104604200A (zh) * 2012-07-16 2015-05-06 阿尔卡特朗讯 用于对用户兴趣简档的隐私保护聚集的方法和装置
US20160050070A1 (en) * 2013-04-12 2016-02-18 Nec Europe Ltd. Method and system for accessing device by a user
CN105009505A (zh) * 2013-08-09 2015-10-28 汤姆逊许可公司 基于矩阵因子分解和岭回归的隐私保护推荐的方法和系统
CN106471539A (zh) * 2014-08-14 2017-03-01 谷歌公司 用于混淆受众测量的系统和方法
CN111324895A (zh) * 2014-10-20 2020-06-23 微软技术许可有限责任公司 用于客户端设备的信任服务
CN108475281A (zh) * 2016-05-06 2018-08-31 谷歌有限责任公司 使用聚合用户会话数据的视频注释
CN109891424A (zh) * 2017-01-30 2019-06-14 谷歌有限责任公司 在不披露特定识别信息的情况下建立标识符之间的链接
CN108509806A (zh) * 2018-04-09 2018-09-07 北京东方网润科技有限公司 一种具有隐私保护的大数据精准营销系统及设备
CN110661764A (zh) * 2018-06-29 2020-01-07 阿里巴巴集团控股有限公司 安全多方计算协议的输入获取方法和装置
US20200259800A1 (en) * 2019-02-12 2020-08-13 Visa International Service Association Fast oblivious transfers

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
彭丽寻;刘丰恺;: "基于个性化k匿名隐私保护的资源推荐算法", 电脑与电信, no. 06 *
李超;: "大数据环境下隐私保护的研究现状分析", 电脑知识与技术, no. 18 *

Also Published As

Publication number Publication date
JP7354427B2 (ja) 2023-10-02
EP4014427A1 (en) 2022-06-22
US11968297B2 (en) 2024-04-23
WO2022036183A1 (en) 2022-02-17
US20220278828A1 (en) 2022-09-01
EP4014427B1 (en) 2023-05-03
JP2022554058A (ja) 2022-12-28
KR20220052352A (ko) 2022-04-27
CN114450919B (zh) 2023-12-19

Similar Documents

Publication Publication Date Title
CN114450919B (zh) 在线隐私保护方法和系统
JP7238213B2 (ja) コンテンツ選択プロセスの完全性を改善するためのセキュアマルチパーティ計算の使用
US20220405407A1 (en) Privacy preserving cross-domain machine learning
WO2022072146A1 (en) Privacy preserving centroid models using secure multi-party computation
CN115088005A (zh) 使用安全mpc和向量计算来在内容分发中保护对信息的访问
JP7471450B2 (ja) セキュアマルチパーティ計算の性能の向上
KR20220167394A (ko) 다자간 컴퓨팅 및 확률적 데이터 구조를 이용한 정보에 대한 액세스 보호
EP4128652B1 (en) Flexible content selection processes using secure multi-party computation
JP7475492B2 (ja) 機密情報を保護するためのマルチパーティ計算およびk-匿名性技法の使用
CN114945932A (zh) 使用秘密共享的反馈控制器
US20240195603A1 (en) Cryptographically secure control using secure multi-party computation
EP4101121B1 (en) Privacy preserving measurements using secure multi-party computation
WO2024030200A1 (en) Single request architecture for increasing efficiency of secure multi-party computations

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
GR01 Patent grant
GR01 Patent grant