本说明书涉及密码学和数据安全性。
背景技术:
1、存在许多密码技术用于防止未授权的数据访问。零知识证明是一种密码协议,用于启发式地证明一方知道或具有一些信息,而不揭示关于信息本身的任何事物。例如,零知识证明可以使一方能够在不揭示任何其他信息的情况下向另一方证明声明是正确的。带误差环学习(rlwe)是零知识证明的一种使用。
技术实现思路
1、通常,本说明书中描述的主题的一个创新方面可以被实施在方法中,该方法包括:接收标识候选数字组件集合的数据元素,并且针对每个候选数字组件,接收候选数字组件的分布参数集合;针对每个候选数字组件,提供候选数字组件的加密选择数据作为密码分析应用的输入,该密码分析应用在客户端设备的可信硬件模块中运行,其中加密选择数据表示候选数字组件的分布参数集合并且使用零知识证明协议进行加密,并且其中密码分析应用被配置为确定选择数据与客户端设备的用户的用户属性之间的匹配度量;以及接收加密结果作为密码分析应用的输出,该加密结果指示选择数据与用户的用户属性之间的匹配度量,其中加密结果是使用零知识证明协议来加密的;解密每个候选数字组件的加密结果;基于每个候选数字组件的匹配度量,从候选数字组件中选择给定数字组件;以及显示给定数字组件。该方面的其他实施例包括被配置为执行该方法的动作、在计算机存储设备上编码的对应系统、装置和计算机程序。
2、这些和其他实现方式可以分别可选地包括以下特征中的一个或多个。在一些方面中,密码分析模块通过将选择数据的每个数据项与用户的对应用户属性进行比较来确定选择数据与用户属性之间的匹配度量。在一些方面中,每个候选数字组件的选择数据包括所选数字组件将被显示的环境的上下文数据。
3、在一些方面中,用户属性数据被存储在可信硬件模块中,并且用户属性数据使用零知识协议来加密。在一些方面中,每个候选数字组件的分布参数集合使用零知识证明协议来加密。
4、在一些方面中,零知识证明协议包括带误差环学习协议。在一些方面中,基于每个候选数字组件的匹配度量从候选数字组件中选择给定数字组件包括:针对每个候选数字组件,基于匹配度量和发布者数量的组合来选择给定数字组件。
5、本说明书中描述的主题可以被实施在特定实施例中,以便实现以下优点中的一个或多个。用户数据的安全性和隐私通过将用户数据存储在用户设备的可信硬件模块中或者使用可信硬件模块来控制对用户数据的访问来保护,而不是通过公共网络(例如互联网)发送用户数据,同时仍允许这种数据被用于定制显示给用户的内容,从而还改进查看数字内容时的用户体验。密码技术(例如零知识证明和带误差环学习)能够使用这种用户数据,同时防止用户以外的其他方访问和获取用户的任何数据的知识。包括零知识证明和带误差环学习的密码技术也可以防止用户访问和获取用于执行选择的任何内容选择标准的知识。通过防止用户学习选择标准的细节,用户数据可以在用户设备上保持私有,但是也防止第三方确定关于选择标准的信息。相对于需要这种数据被传输给远程服务器以进行内容选择的技术,在用户的设备上使用这些密码技术执行内容选择(例如与在用户设备上存储候选内容组合)可以减少显示可证明数字组件时的时延和带宽消耗。
6、减少内容呈现的时延可以减少在等待这种内容被选择和/或从远程服务器到达时发生在用户设备处的误差数量。由于内容通常需要在数百毫秒内到达用户设备并且准备好显示并且移动设备由无线网络连接,因此减少选择和/或提供内容的时延对于防止误差并且减少用户挫折感至关重要。附加地,减少传输数据的需要减少了传输信息所消耗的带宽量,减少了传输信息的时延,并且减少了在电池上运行的设备(例如移动设备)传输信息所需的处理功率和关联电池功率量。与在用户设备处存储用户数据和/或候选内容组合的文档中描述的密码技术提供了提高数据安全性、保护用户隐私并且减少在用户设备处呈现内容的时延的协同效应。
7、前述主题的各种特征和优点在下面关于附图加以描述。附加特征和优点通过本文描述的主题和权利要求书而显而易见。
1.一种计算机实施的方法,包括:
2.根据任何前述权利要求所述的计算机实施的方法,其中,所述密码分析模块通过将所述选择数据的每个数据项与所述用户的对应用户属性进行比较来确定所述选择数据与用户属性之间的所述匹配度量。
3.根据任何前述权利要求所述的计算机实施的方法,其中,每个候选数字组件的所述选择数据包括所选数字组件将被显示的环境的上下文数据。
4.根据任何前述权利要求所述的计算机实施的方法,其中,所述用户属性数据被存储在所述可信硬件模块中,并且所述用户属性数据使用所述零知识协议来加密。
5.根据任何前述权利要求所述的计算机实施的方法,其中,每个候选数字组件的所述分布参数集合使用所述零知识证明协议来加密。
6.根据任何前述权利要求所述的计算机实施的方法,其中,所述零知识证明协议包括带误差环学习协议。
7.根据权利要求1所述的计算机实施的方法,其中,基于每个候选数字组件的所述匹配度量从所述候选数字组件中选择所述给定数字组件包括针对每个候选数字组件,基于所述匹配度量和发布者数量的组合来选择所述给定数字组件。
8.一种系统,包括:
9.一种承载指令的计算机可读存储介质,所述指令在由一个或多个处理器执行时使所述一个或多个处理器执行权利要求1至7中的任一项所述的方法。
10.一种包括指令的计算机程序产品,所述指令在由计算机执行时使所述计算机执行权利要求1至7中的任一项所述的方法的步骤。