一种隐私保护方法和装置与流程

文档序号:23793389发布日期:2021-01-30 07:13阅读:77来源:国知局
一种隐私保护方法和装置与流程

[0001]
本申请涉及终端领域,尤其涉及一种隐私保护方法和装置。


背景技术:

[0002]
为了提供给终端用户更好的体验,需要搜集终端侧的用户数据进行智能分析。比如统计用户在某款应用(application,app)上的平均使用时间,或者收集用户侧的本地人工智能(artificial intelligence,ai)模型的参数,以便在服务器侧进行ai模型的聚合。若明文传输用户数据,容易导致用户的隐私泄露。为了防止用户隐私泄露,如图1所示,用户的终端设备可以利用差分隐私(differential privacy,dp)技术对需要统计的原始数据进行保护,即通过差分隐私加噪模块对原始数据进行处理得到隐私保护数据,再将隐私保护数据存储到数据库。数据使用者在数据库进行查询(query)时,仅可以查询隐私保护数据的统计值(隐私保护查询结果),无法获取每个用户的原始数据,从而保护了用户数据。
[0003]
现有基于差分隐私技术的方法,主要是通过对用户数据添加拉普拉斯(laplace)噪声实现的。如图2所示,每个终端设备(用户1的终端设备或用户2的终端设备)上报自身训练得到的神经网络的权值ω时,可以为ω添加噪声(例如,laplace噪声),而后将添加了laplace噪声的ω提交给计算服务器。计算服务器对多个终端设备的上报值求和以及求均值时,可以近似抵消laplace噪声,从而获取原始用户数据的和以及均值。
[0004]
但是,在采用拉普拉斯方法为用户数据添加拉普拉斯噪声时,为了保证数据的降噪精度,需要使用浮点数,从而导致通信开销较大。


技术实现要素:

[0005]
本申请实施例提供一种隐私保护方法和装置,能够减少通信开销。
[0006]
第一方面,本申请实施例提供一种隐私保护方法,包括:终端设备获取第一数据类型的隐私数据对应的差分隐私配置参数,差分隐私配置参数包括至少两个待上报的整数;终端设备确定第一数据类型的隐私数据对应的整数,第一数据类型的隐私数据对应的整数为至少两个待上报的整数的其中一个;终端设备向服务器上报第一数据类型的隐私数据对应的整数。
[0007]
基于本申请实施例提供的方法,终端设备可以根据第一数据类型的隐私数据上报整数,即对第一数据类型的隐私数据添加随机噪声,保护了用户的隐私信息。并且,由于上报值为整数,相比上报浮点数可以节省通信开销。
[0008]
在一种可能的实现方式中,差分隐私配置参数还包括隐私预算,第一数据类型的隐私数据的最大值和第一数据类型的隐私数据的最小值中的至少一个。
[0009]
在一种可能的实现方式中,终端设备确定第一数据类型的隐私数据对应的整数包括:终端设备根据差分隐私配置参数确定上报至少两个待上报的整数中每个整数的概率;终端设备根据上报至少两个待上报的整数中每个整数的概率确定第一数据类型的隐私数据对应的整数。可选的,终端设备可以根据上报至少两个待上报的整数中每个整数的概率
和终端设备产生的随机数确定第一数据类型的隐私数据对应的整数。
[0010]
在一种可能的实现方式中,终端设备根据差分隐私配置参数确定上报至少两个待上报的整数中每个整数的概率包括:终端设备根据第一数据类型的隐私数据的最大值和第一数据类型的隐私数据的最小值对第一数据类型的隐私数据进行线性化运算得到x,x大于0且小于等于1;终端设备根据x和隐私预算确定上报至少两个待上报的整数中每个整数的概率。
[0011]
在一种可能的实现方式中,若至少两个待上报的整数包括1和0,终端设备根据x和隐私预算确定上报至少两个待上报的整数中每个整数的概率包括:
[0012]
p(1)=(1+(exp(ε)-1)*x)/(exp(ε)+1);
[0013]
p(0)=(exp(ε)-(exp(ε)-1)*x)/(exp(ε)+1);
[0014]
其中,p(1)表示上报1的概率,p(0)表示上报0的概率,ε表示隐私预算,exp表示以自然对数底数e为底数的指数运算。
[0015]
这样,终端设备可以根据隐私数据上报有限的整数,不必上报浮点数。例如,若待上报的整数包括0和1,终端设备可以上报0或者1,上报一个整数的开销只需要1个bit,通信开销小。
[0016]
在一种可能的实现方式中,若至少两个待上报的整数包括0到n,n为大于或等于1的整数,终端设备根据x和隐私预算确定上报至少两个待上报的整数中每个整数的概率包括:
[0017]
p(i)=(1+(exp(ε)-1)*x)/[((1-n)*x+n)+exp(ε)*((n-1)*x+1)],i=1,2,

,n;
[0018]
p(0)=(exp(ε)-(exp(ε)-1)*x)/[((1-n)*x+n)+exp(ε)*((n-1)*x+1)];
[0019]
其中,p(i)表示上报i的概率,p(0)表示上报0的概率,ε表示隐私预算,exp表示以自然对数底数e为底数的指数运算。
[0020]
这样,终端设备可以根据隐私数据上报有限的整数,不必上报浮点数。例如,若待上报的整数包括0-3,终端设备可以上报0-3中的任一个数,上报一个整数的开销只需要2个bit,通信开销小。并且,待上报的整数包括0到n,相比待上报的整数包括0和1,上报值的种类更多,对用户隐私的保护能力更好。
[0021]
第二方面,本申请实施例提供一种隐私保护方法,包括:服务器接收多个终端设备发送的整数,每个终端设备发送的整数中包括第一数据类型的隐私数据对应的整数;服务器确定第一数据类型的隐私数据对应的整数的和;服务器确定第一数据类型的隐私数据对应的整数的均值;服务器根据第一数据类型的隐私数据对应的整数的均值确定第一数据类型的隐私数据的均值。
[0022]
基于本申请实施例提供的方法,服务器可以接收多个终端设备发送的第一数据类型的隐私数据对应的整数,相比现有技术中服务器接收隐私数据对应的浮点数,可以节省通信开销。服务器可以根据第一数据类型的隐私数据对应的整数的均值确定第一数据类型的隐私数据的均值,但服务器无法通过用户的一个上报值判断出用户的真实信息(原始隐私数据),从而保护了用户的隐私信息,符合差分隐私要求。
[0023]
在一种可能的实现方式中,服务器根据第一数据类型的隐私数据对应的整数的均值确定第一数据类型的隐私数据的均值包括:服务器根据第一数据类型的隐私数据对应的整数的均值和差分隐私配置参数确定第一数据类型的隐私数据的均值,差分隐私配置参数
包括隐私预算、第一数据类型的隐私数据的最大值以及第一数据类型的隐私数据的最小值中的至少一个。
[0024]
在一种可能的实现方式中,若多个终端设备发送的整数包括1和0,服务器根据第一数据类型的隐私数据对应的整数的均值和差分隐私配置参数确定第一数据类型的隐私数据的均值包括:
[0025]
avg(t)=avg(x)*(max-min)+min;
[0026]
avg(x)=(avg(y)*(exp(ε)+1)-1)/(exp(ε)-1);
[0027]
其中,avg(t)表示第一数据类型的隐私数据的均值,avg(y)表示第一数据类型的隐私数据对应的整数的均值,min表示第一数据类型的隐私数据的最小值,max表示第一数据类型的隐私数据的最大值,ε表示隐私预算,exp表示以自然对数底数e为底数的指数运算。
[0028]
可以理解的是,由于终端设备上报的整数为0或1,服务器无法通过用户的一个上报值判断出用户的真实信息(原始隐私数据),从而保护了用户的隐私信息,符合差分隐私要求。
[0029]
在一种可能的实现方式中,若多个终端设备发送的整数包括0到n,n为大于或等于1的整数,服务器根据第一数据类型的隐私数据对应的整数的均值和差分隐私配置参数确定第一数据类型的隐私数据的均值包括:
[0030]
avg(t)=avg(x)*(max-min)+min;
[0031]
avg(x)=[(n+1)/2-avg(y)*(n+(exp(ε))]/[(n-1)*(exp(ε)-avg(y))-(exp(ε)-1)(n+1)/2];
[0032]
其中,avg(t)表示第一数据类型的隐私数据的均值,avg(y)表示第一数据类型的隐私数据对应的整数的均值,min表示第一数据类型的隐私数据的最小值,max表示第一数据类型的隐私数据的最大值,ε表示隐私预算,exp表示以自然对数底数e为底数的指数运算。
[0033]
可以理解的是,由于终端设备上报的整数为0-n中的至少一个整数,服务器无法通过用户的一个上报值判断出用户的真实信息(原始隐私数据),从而保护了用户的隐私信息,符合差分隐私要求。
[0034]
第三方面,本申请实施例提供一种终端设备,包括:获取单元,用于获取第一数据类型的隐私数据对应的差分隐私配置参数,差分隐私配置参数包括至少两个待上报的整数;确定单元,用于确定第一数据类型的隐私数据对应的整数,第一数据类型的隐私数据对应的整数为至少两个待上报的整数的其中一个;发送单元,用于向服务器上报第一数据类型的隐私数据对应的整数。
[0035]
在一种可能的实现方式中,差分隐私配置参数还包括隐私预算,第一数据类型的隐私数据的最大值和第一数据类型的隐私数据的最小值中的至少一个。
[0036]
在一种可能的实现方式中,确定单元用于:根据差分隐私配置参数确定上报至少两个待上报的整数中每个整数的概率;根据上报至少两个待上报的整数中每个整数的概率确定第一数据类型的隐私数据对应的整数。
[0037]
在一种可能的实现方式中,确定单元用于:根据第一数据类型的隐私数据的最大值和第一数据类型的隐私数据的最小值对第一数据类型的隐私数据进行线性化运算得到
x,x大于0且小于等于1;根据x和隐私预算确定上报至少两个待上报的整数中每个整数的概率。
[0038]
在一种可能的实现方式中,若至少两个待上报的整数包括1和0,确定单元用于进行以下运算:
[0039]
p(1)=(1+(exp(ε)-1)*x)/(exp(ε)+1);
[0040]
p(0)=(exp(ε)-(exp(ε)-1)*x)/(exp(ε)+1);
[0041]
其中,p(1)表示上报1的概率,p(0)表示上报0的概率,ε表示隐私预算,exp表示以自然对数底数e为底数的指数运算。
[0042]
在一种可能的实现方式中,若至少两个待上报的整数包括0到n,n为大于或等于1的整数,确定单元用于进行以下运算:
[0043]
p(i)=(1+(exp(ε)-1)*x)/[((1-n)*x+n)+exp(ε)*((n-1)*x+1)],i=1,2,

,n;
[0044]
p(0)=(exp(ε)-(exp(ε)-1)*x)/[((1-n)*x+n)+exp(ε)*((n-1)*x+1)];
[0045]
其中,p(i)表示上报i的概率,p(0)表示上报0的概率,ε表示隐私预算,exp表示以自然对数底数e为底数的指数运算。
[0046]
第四方面,本申请实施例提供一种服务器,包括:接收单元,用于接收多个终端设备发送的整数,每个终端设备发送的整数中包括第一数据类型的隐私数据对应的整数;确定单元,用于确定第一数据类型的隐私数据对应的整数的和;确定单元,还用于确定第一数据类型的隐私数据对应的整数的均值;确定单元,还用于根据第一数据类型的隐私数据对应的整数的均值确定第一数据类型的隐私数据的均值。
[0047]
在一种可能的实现方式中,确定单元用于:根据第一数据类型的隐私数据对应的整数的均值和差分隐私配置参数确定第一数据类型的隐私数据的均值,差分隐私配置参数包括隐私预算、第一数据类型的隐私数据的最大值以及第一数据类型的隐私数据的最小值中的至少一个。
[0048]
在一种可能的实现方式中,若多个终端设备发送的整数包括1和0,确定单元用于进行以下运算:
[0049]
avg(t)=avg(x)*(max-min)+min;
[0050]
avg(x)=(avg(y)*(exp(ε)+1)-1)/(exp(ε)-1);
[0051]
其中,avg(t)表示第一数据类型的隐私数据的均值,avg(y)表示第一数据类型的隐私数据对应的整数的均值,min表示第一数据类型的隐私数据的最小值,max表示第一数据类型的隐私数据的最大值,ε表示隐私预算,exp表示以自然对数底数e为底数的指数运算。
[0052]
在一种可能的实现方式中,若多个终端设备发送的整数包括0到n,n为大于或等于1的整数,确定单元用于进行以下运算:
[0053]
avg(t)=avg(x)*(max-min)+min;
[0054]
avg(x)=[(n+1)/2-avg(y)*(n+(exp(ε))]/[(n-1)*(exp(ε)-avg(y))-(exp(ε)-1)(n+1)/2];
[0055]
其中,avg(t)表示第一数据类型的隐私数据的均值,avg(y)表示第一数据类型的隐私数据对应的整数的均值,min表示第一数据类型的隐私数据的最小值,max表示第一数据类型的隐私数据的最大值,ε表示隐私预算,exp表示以自然对数底数e为底数的指数运
算。
[0056]
第五方面,本申请实施例还提供了一种装置,该装置可以是终端设备或芯片。该装置包括处理器,用于实现上述第一方面提供的任意一种隐私保护方法。该装置还可以包括存储器,用于存储程序指令和数据,存储器可以是集成在该装置内的存储器,或设置在该装置外的片外存储器。该存储器与该处理器耦合,该处理器可以调用并执行该存储器中存储的程序指令,用于实现上述第一方面提供的任意一种隐私保护方法。该装置还可以包括通信接口,该通信接口用于该装置与其它设备(例如,服务器)进行通信。
[0057]
第六方面,本申请实施例还提供了一种装置,该装置可以是网络设备或芯片。该装置包括处理器,用于实现上述第二方面提供的任意一种隐私保护方法。该装置还可以包括存储器,用于存储程序指令和数据,存储器可以是集成在该装置内的存储器,或设置在该装置外的片外存储器。该存储器与该处理器耦合,该处理器可以调用并执行该存储器中存储的程序指令,用于实现上述第二方面提供的任意一种隐私保护方法。该装置还可以包括通信接口,该通信接口用于该装置与其它设备(例如,终端设备)进行通信。
[0058]
第七方面,本申请实施例提供一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行上述第一方面或第二方面提供的隐私保护方法。
[0059]
第八方面,本申请实施例提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面或第二四方面提供的隐私保护方法。
[0060]
第九方面,本申请实施例提供了一种芯片系统,该芯片系统包括处理器,还可以包括存储器,用于实现上述第一方面或第二方面提供的隐私保护方法。该芯片系统可以由芯片构成,也可以包含芯片和其他分立器件。
[0061]
第十方面,本申请实施例提供了一种隐私保护系统,所述系统包括第三方面中的终端设备和第四方面中的服务器。
附图说明
[0062]
图1为现有技术中的一种差分隐私加噪方法的示意图;
[0063]
图2为现有技术中的一种对参数ω进行差分隐私加噪的示意图;
[0064]
图3为本申请实施例提供的一种适用于隐私保护方法的架构示意图;
[0065]
图4为本申请实施例提供的一种终端设备的结构示意图;
[0066]
图5为本申请实施例提供的一种终端设备的软件模块的示意图;
[0067]
图6为本申请实施例提供的一种服务器的结构示意图;
[0068]
图7为本申请实施例提供的一种服务器的软件模块的示意图;
[0069]
图8为本申请实施例提供的一种具有不同的参数b的laplace噪声函数分布示意图;
[0070]
图9为本申请实施例提供的一种适用于隐私保护方法的信号交互示意图;
[0071]
图10为本申请实施例提供的又一种终端设备的结构示意图;
[0072]
图11为本申请实施例提供的又一种服务器的结构示意图。
具体实施方式
[0073]
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。其
中,在本申请的描述中,除非另有说明,“至少一个”是指一个或多个,“多个”是指两个或多于两个。另外,为了便于清楚描述本申请实施例的技术方案,在本申请的实施例中,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分。本领域技术人员可以理解“第一”、“第二”等字样并不对数量和执行次序进行限定,并且“第一”、“第二”等字样也并不限定一定不同。
[0074]
本申请实施例提供一种隐私保护方法和装置,应用于对用户数据进行隐私保护的场景。如图3所示,为本申请实施例提供的一种适用于隐私保护方法的系统架构示意图,该系统架构可以包括服务器20以及与服务器20连接的一个或多个终端设备,例如用户设备(user equipment,ue)10、ue11和ue12。
[0075]
本申请实施例图3中的终端设备或服务器,可以由一个设备实现,也可以是一个设备内的一个功能模块,本申请实施例对此不作具体限定。可以理解的是,上述功能既可以是硬件设备中的网络元件,也可以是在专用硬件上运行的软件功能,或者是平台(例如,云平台)上实例化的虚拟化功能,或者是芯片系统。本申请实施例中,芯片系统可以由芯片构成,也可以包含芯片和其他分立器件。
[0076]
例如,用于实现本申请实施例提供的终端设备的功能的装置可以通过图4中的装置400来实现。图4所示为本申请实施例提供的装置400的硬件结构示意图。该装置400中包括至少一个处理器401,用于实现本申请实施例提供的终端设备的功能。装置400中还可以包括通信总线402以及至少一个通信接口404。装置400中还可以包括存储器403。
[0077]
在本申请实施例中,处理器可以是中央处理器(central processing unit,cpu),通用处理器、网络处理器(network processor,np)、数字信号处理器(digital signal processing,dsp)、微处理器、微控制器、可编程逻辑器件(programmable logic device,pld)。处理器还可以是其它任意具有处理功能的装置,例如专用集成电路(application-specific integrated circuit,asic),现场可编程门阵列(field programmable gate array,fpga)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件、软件模块或者其任意组合。
[0078]
通信总线402可用于在上述组件之间传送信息。
[0079]
通信接口404,用于与其他设备或通信网络通信,如以太网,无线接入网(radio access network,ran),无线局域网(wireless local area networks,wlan)等。通信接口404可以是接口、电路、收发器或者其它能够实现通信的装置,本申请不做限制。通信接口404可以和处理器401耦合。本申请实施例中的耦合是装置、单元或模块之间的间接耦合或通信连接,可以是电性,机械或其它的形式,用于装置、单元或模块之间的信息交互。
[0080]
在本申请实施例中,存储器可以是只读存储器(read-only memory,rom)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,ram)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(electrically erasable programmable read-only memory,eeprom)、只读光盘(compact disc read-only memory,cd-rom)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器可以是独立存在,也可以与处理器耦合,例如通过通信总线
402。存储器也可以和处理器集成在一起。
[0081]
其中,存储器403用于存储程序指令,并可以由处理器401来控制执行,从而实现本申请下述实施例提供的隐私保护方法。处理器401用于调用并执行存储器403中存储的指令,从而实现本申请下述实施例提供的隐私保护方法。
[0082]
可选的,本申请实施例中的计算机执行指令也可以称之为应用程序代码,本申请实施例对此不作具体限定。
[0083]
可选的,存储器403可以包括于处理器401中。
[0084]
在具体实现中,作为一种实施例,处理器401可以包括一个或多个cpu,例如图4中的cpu0和cpu1。
[0085]
在具体实现中,作为一种实施例,装置400可以包括多个处理器,例如图4中的处理器401和处理器407。这些处理器中的每一个可以是一个单核(single-cpu)处理器,也可以是一个多核(multi-cpu)处理器。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的处理核。
[0086]
在具体实现中,作为一种实施例,装置400还可以包括输出设备405和输入设备406。输出设备405和处理器401耦合,可以以多种方式来显示信息。例如,输出设备405可以是液晶显示器(liquid crystal display,lcd),发光二级管(light emitting diode,led)显示设备,阴极射线管(cathode ray tube,crt)显示设备,或投影仪(projector)等。输入设备406和处理器401耦合,可以以多种方式接收用户的输入。例如,输入设备406可以是触摸屏设备或传感设备等。
[0087]
本实施例中所述的终端设备,可以为手机、平板电脑、桌面型、膝上型、手持计算机、笔记本电脑、超级移动个人计算机(ultra-mobile personal computer,umpc)、上网本、蜂窝电话、以及个人数字助理(personal digital assistant,pda)、可穿戴式设备(如智能手表)、物联网(internet of things,iot)设备、增强现实(augmented reality,ar)\虚拟现实(virtual reality,vr)设备、传感器、含有智能芯片的交通工具等,本实施例对该终端设备的具体形式不做特殊限制。
[0088]
上述终端设备的存储器可以用于存储本申请实施例提供的隐私保护方法所涉及的软件模块,处理器可以通过运行该软件模块来实现隐私保护方法。如图5所示,该软件模块可以包括参数配置模块501、模型存储模块502、差分隐私模块503和联合学习模块504。
[0089]
其中,参数配置模块501用于实现差分隐私配置参数的设置和管理。参数配置模块501可以根据(第一数据类型的)差分隐私配置参数初始化差分实例,调用该差分实例,可以确定(第一数据类型的)隐私数据对应的整数。
[0090]
模型存储模块502用于存储本地ai模型。
[0091]
差分隐私模块503:可以从模型存储模块获取本地ai模型,对该本地ai模型中待上报的ai模型参数(即隐私数据)进行差分隐私加噪,实现数据匿名化处理。差分隐私加噪是根据ai模型参数确定ai模型参数对应的整数的过程。
[0092]
联合学习模块504:生成差分隐私数据报告,差分隐私数据报告包括加噪后的数据(即ai模型参数对应的整数)。而后,可以进一步采用安全聚合(security aggregation,sa)技术,对加噪后的数据进行干扰,实现更彻底的隐私保护。
[0093]
例如,用于实现本申请实施例提供的服务器的功能的装置可以通过图6中的装置
600来实现。图6所示为本申请实施例提供的装置600的硬件结构示意图。该装置600中包括至少一个处理器601,用于实现本申请实施例提供的服务器的功能。装置600中还可以包括通信总线602以及至少一个通信接口604。装置600中还可以包括存储器603。
[0094]
通信总线602可用于在上述组件之间传送信息。
[0095]
通信接口604,用于与其他设备或通信网络通信,如以太网,ran,wlan等。通信接口604可以是接口、电路、收发器或者其它能够实现通信的装置,本申请不做限制。通信接口604可以和处理器601耦合。
[0096]
其中,存储器603用于存储程序指令,并可以由处理器601来控制执行,从而实现本申请下述实施例提供的隐私保护方法。例如,处理器601用于调用并执行存储器603中存储的指令,从而实现本申请下述实施例提供的隐私保护方法。
[0097]
可选地,存储器603可以包括于处理器601中。
[0098]
在具体实现中,作为一种实施例,处理器601可以包括一个或多个cpu,例如图6中的cpu0和cpu1。
[0099]
在具体实现中,作为一种实施例,装置600可以包括多个处理器,例如图6中的处理器601和处理器607。这些处理器中的每一个可以是一个单核处理器,也可以是一个多核处理器。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的处理核。
[0100]
在具体实现中,作为一种实施例,装置600还可以包括输出设备605和输入设备606。输出设备605和处理器601耦合,可以以多种方式来显示信息。例如,输出设备605可以是lcd,led显示设备,crt显示设备,或投影仪等。输入设备606和处理器601耦合,可以以多种方式接收用户的输入。例如,输入设备606可以是触摸屏设备或传感设备等。
[0101]
上述服务器的存储器可以用于存储本申请实施例提供的隐私保护方法所涉及的软件模块,处理器可以通过运行该软件模块来实现隐私保护方法。如图7所示,该软件模块可以包括参数配置模块701、去噪处理模块702、差分数据汇总模块703和模型存储模块704。
[0102]
其中,参数配置模块701用于实现差分隐私配置参数的设置和管理。
[0103]
差分数据汇总模块703,用于根据差分事件id或统计周期等维度,对从多个终端设备接收到的整数进行分拣和汇总,将属于同一个差分事件和同一个数据类型(例如,第一数据类型)的整数汇总到一起。其中,一个差分事件可以对应一个或多个数据类型。
[0104]
去噪处理模块702,用于根据(第一数据类型的)隐私数据对应的整数的均值确定(第一数据类型的)隐私数据的均值。
[0105]
模型存储模块704用于存储全局ai模型,全局ai模型的参数可以是根据隐私数据的均值(多个终端设备的本地ai模型的参数的均值)确定的。
[0106]
为了下述各实施例的描述清楚简洁,首先给出相关概念或技术的简要介绍:
[0107]
差分隐私:是对隐私泄露问题提出的一种隐私定义,在此定义下,数据库的计算处理结果对于某个用户数据的变化是不敏感的,也就是说,单个用户数据在数据集中或者不在数据集中,对计算结果的影响微乎其微。这样,一个用户数据因其加入到数据集中所产生的隐私泄露风险被控制在极小的、可接受的范围内,服务器侧或者攻击者无法通过观察计算结果而获取任何用户的准确的数据信息。
[0108]
现有的基于差分隐私技术的方法,主要是通过对用户数据添加拉普拉斯
(laplace)噪声实现的。laplace噪声的计算方式如式(1)所示:
[0109]
f(x|u,b)=1/2b*exp(-|x-u|/b)
ꢀꢀꢀꢀꢀꢀꢀ
式(1)
[0110]
其中,x是随机产生的laplace噪声,u是laplace噪声的均值,通常设置为0,exp是以自然对数底数e为底数的指数运算。b=f/ε。ε是隐私预算,δf是全局敏感度,表示更改数据集中任何数据记录时算输出的变化,例如可以取0.01。
[0111]
上述通过添加拉普拉斯噪声的差分隐私方法存在以下几个问题:
[0112]
第一,公式(1)中,δf不易确定。由于不同用户上传的ai参数的变化幅度可能不同,对应的敏感度也会不同。而且ai模型往往本身的可解释性较弱,无法确定某个参数在整个系统中的所起的作用,从而难以确定该参数的敏感度。
[0113]
第二,拉普拉斯噪声的幅度可能是非常大的(理论上可以达到正无穷或负无穷),在实际应用中会对噪声幅度进行限制,这样就不能完全符合差分隐私的定义。如图8所示,为具有不同的参数b的laplace噪声函数分布示意图,显示了不同的b值下laplace噪声函数分布的变化情况,该函数分布图关于laplace噪声=0对称。其中,横坐标表示laplace噪声的大小,纵坐标表示差分隐私预算ε。laplace噪声的大小理论上可以达到正无穷或负无穷,具体实现时,可以根据不同的b值取(-5,5)、(-10,10)或(-15,15)等,这样就会对噪声幅度造成限制,不能完全符合差分隐私的定义。
[0114]
第三,在采用拉普拉斯方法为用户数据添加拉普拉斯噪声时,为了保证数据的降噪精度,需要使用浮点数,从而导致通信开销较大。
[0115]
为了解决上述问题,本申请实施例提供一种隐私保护方法,终端设备获取第一数据类型的隐私数据对应的差分隐私配置参数,差分隐私配置参数包括至少两个待上报的整数;终端设备确定第一数据类型的隐私数据对应的整数,第一数据类型的隐私数据对应的整数为至少两个待上报的整数的其中一个;终端设备向服务器上报第一数据类型的隐私数据对应的整数。服务器接收多个终端设备发送的整数,每个终端设备发送的整数中包括第一数据类型的隐私数据对应的整数;服务器确定第一数据类型的隐私数据对应的整数的均值;服务器根据第一数据类型的隐私数据对应的整数的均值确定第一数据类型的隐私数据的均值。基于本申请实施例提供的方法,终端设备可以根据(第一数据类型的)隐私数据上报(第一数据类型的隐私数据对应的)整数,相当于对隐私数据添加随机噪声,保护了隐私数据的安全。服务器可以根据整数的均值确定隐私数据的均值,但服务器无法通过用户的一个上报值判断出用户的真实信息,从而保护了隐私数据的安全,符合差分隐私要求。
[0116]
本申请实施例中,由于上报值是大小有限的整数(例如0和1),不存在进行幅度限制的情况。并且,由于上报值为整数,相比上报浮点数可以节省通信开销。另外,终端设备上报隐私数据时无需考虑每个隐私数据的敏感度。
[0117]
为了便于理解,以下结合附图对本申请实施例提供的隐私保护方法进行具体介绍。
[0118]
如图9所示,本申请实施例提供一种隐私保护方法,包括:
[0119]
901、终端设备获取第一数据类型的隐私数据对应的差分隐私配置参数,差分隐私配置参数包括至少两个待上报的整数。
[0120]
隐私数据即待统计的用户数据,例如隐私数据可以待上报的ai模型的参数。隐私数据可以是多值变量,例如,隐私数据可以是布尔型变量、字符串型变量或字符串型变量。
[0121]
隐私数据可以有多个,不同的隐私数据可以对应不同的数据类型。不同数据类型的隐私数据可以对应同一个差分事件(差分任务)或不同的差分事件。例如,第一数据类型的隐私数据和第二数据类型的隐私数据可以对应第一差分事件,假设第一差分事件是“上报ai模型的中间参数”,ai模型的中间参数包括2个参数,第一个参数可以是第一数据类型的隐私数据,第二个参数可以是第二数据类型的隐私数据。再例如,第三数据类型的隐私数据、第四数据类型的隐私数据和第五数据类型的隐私数据可以对应第二差分事件,第三数据类型的隐私数据可以是第二差分事件待统计的第一个参数、第四数据类型的隐私数据可以是第二差分事件待统计的第二个参数,第五数据类型的隐私数据可以是第二差分事件待统计的第三个参数。为理解方便起见,本申请实施例以隐私数据为第一数据类型的隐私数据为例进行说明。
[0122]
第一数据类型的隐私数据对应的差分隐私配置参数可以是由服务器发送给终端设备的,也可以是预存储在终端设备中的,本申请不做限定。
[0123]
第一数据类型的隐私数据对应的差分隐私配置参数中至少两个待上报的整数可以是连续的多个整数,例如0和1或者1-10或者1-100;或者,该至少两个待上报的整数可以是不连续的多个整数,例如5、8、9、10等等,本申请不做限定。
[0124]
902、终端设备确定第一数据类型的隐私数据对应的整数,第一数据类型的隐私数据对应的整数为至少两个待上报的整数的其中一个。
[0125]
终端设备根据差分隐私配置参数确定上报至少两个待上报的整数中每个整数的概率。第一数据类型的隐私数据对应的差分隐私配置参数还可以包括隐私预算(隐私保护预算),第一数据类型的隐私数据的最大值和第一数据类型的隐私数据的最小值中的至少一个。其中,隐私预算反映算法的隐私保护水平,ε越小,隐私保护水平越高,数据可用性越低。
[0126]
首先,终端设备可以根据第一数据类型的隐私数据的最大值和最小值对第一数据类型的隐私数据进行线性化运算得到x,x大于0且小于等于1。例如,如式(2)所示:
[0127]
x=(t-min)/(max-min)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀ
式(2)
[0128]
其中,t表示第一数据类型的隐私数据,min表示第一数据类型的隐私数据的最小值,max表示第一数据类型的隐私数据的最大值。
[0129]
而后,终端设备根据x和隐私预算确定上报至少两个待上报的整数中每个整数的概率。
[0130]
在一种可能的设计中,若至少两个待上报的整数包括1和0,上报1和0的概率分别如式(3)和式(4)所示:
[0131]
p(1)=(1+(exp(ε)-1)*x)/(exp(ε)+1)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
式(3)
[0132]
p(0)=(exp(ε)-(exp(ε)-1)*x)/(exp(ε)+1)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀ
式(4)
[0133]
其中,p(1)表示上报1的概率,p(0)表示上报0的概率,ε表示隐私预算,exp表示以自然对数底数e为底数的指数运算。
[0134]
在另一种可能的设计中,若至少两个待上报的整数包括0到n,n为大于或等于1的整数,上报0到n中每个整数的概率分别如式(5)和式(6)所示:
[0135]
p(i)=(1+(exp(ε)-1)*x)/[((1-n)*x+n)+exp(ε)*((n-1)*x+1)],i=1,2,

,n 式(5)
[0136]
p(0)=(exp(ε)-(exp(ε)-1)*x)/[((1-n)*x+n)+exp(ε)*((n-1)*x+1)]
ꢀꢀꢀꢀ
式(6)
[0137]
其中,p(i)表示上报i的概率,p(0)表示上报0的概率,ε表示隐私预算,exp表示以自然对数底数e为底数的指数运算。
[0138]
本申请实施例中,p(1)=

=p(n)。例如,假设n=5,待上报的整数包括0、1、2、3、4、5,则p(1)=p(2)=p(3)=p(4)=p(5)。
[0139]
然后,终端设备根据上报至少两个待上报的整数中每个整数的概率确定第一数据类型的隐私数据对应的整数。
[0140]
在一种可能的设计中,终端设备可以生成一个随机数,根据随机数和上报至少两个待上报的整数中每个整数的概率确定第一数据类型的隐私数据对应的整数。
[0141]
举例来说,假设待上报的整数包括0和1,p(0)=0.7,p(1)=0.3,p(0)表示上报0的概率,p(1)表示上报1的概率。若终端设备产生的随机数在0-0.3(该取值区间是根据p(1)=0.3确定的)之间,例如0.2,终端设备确定第一数据类型的隐私数据对应的整数为1;若产生的随机数在0.3-1(该取值区间是根据p(0)=0.7确定的)之间,例如0.5,终端设备确定第一数据类型的隐私数据对应的整数为0。或者,若终端设备产生的随机数在0-0.7(该取值区间是根据p(0)=0.7确定的)之间,例如0.3,终端设备确定第一数据类型的隐私数据对应的整数为0;若产生的随机数在0.7-1(该取值区间是根据p(1)=0.3确定的)之间,例如0.5,终端设备确定第一数据类型的隐私数据对应的整数为1。
[0142]
又例如,假设待上报的整数包括0、1和2,p(0)=0.5,p(1)=0.25,p(2)=0.25,p(0)表示上报0的概率,p(1)表示上报1的概率,p(2)表示上报2的概率。若终端设备产生的随机数在0-0.5(该取值区间是根据p(0)=0.5确定的)之间,例如0.2,终端设备确定第一数据类型的隐私数据对应的整数为0;若产生的随机数在0.5-0.75(该取值区间是根据p(1)=0.25确定的)之间,例如0.6,终端设备确定第一数据类型的隐私数据对应的整数为1;若产生的随机数在0.75-1之间(该取值区间是根据p(2)=0.25确定的),例如0.9,终端设备确定第一数据类型的隐私数据对应的整数为2。或者,若终端设备产生的随机数在0-0.25(该取值区间是根据p(1)=0.25确定的)之间,例如0.1,终端设备确定第一数据类型的隐私数据对应的整数为1;若产生的随机数在0.25-0.5(该取值区间是根据p(2)=0.25确定的)之间,例如0.6,终端设备确定第一数据类型的隐私数据对应的整数为2;若产生的随机数在0.5-1(该取值区间是根据p(0)=0.5确定的)之间,例如0.9,终端设备确定第一数据类型的隐私数据对应的整数为0。
[0143]
这样,终端设备可以根据隐私数据上报有限的整数,不必上报浮点数。例如,若待上报的整数包括0和1,终端设备可以上报0或者1,上报一个整数的开销只需要1个bit,通信开销小。或者,若待上报的整数包括0-3,终端设备可以上报0-3中的任一个数,上报一个整数的开销只需要2个bit,通信开销小。当然,待上报的整数包括0到n,相比待上报的整数包括0和1,上报值的种类更多,对用户隐私的保护能力更好。
[0144]
903、终端设备向服务器上报第一数据类型的隐私数据对应的整数。
[0145]
终端设备可以通过联合学习模块将第一数据类型的隐私数据对应的整数发送到服务器。联合学习模块的处理流程为:1)初始化差分实例,生成差分隐私数据报告,差分隐私数据报告包括第一数据类型的隐私数据对应的整数;2)终端设备将差分隐私数据报告进行消息封装,并保存到本地数据库中,后续通过安全连接并用相应的子任务上传到服务器,
以实现对用户数据的隐私保护。
[0146]
904、服务器接收多个终端设备发送的整数,每个终端设备发送的整数中包括第一数据类型的隐私数据对应的整数。
[0147]
其中,多个终端设备中的每个终端设备可以执行上述步骤901-903。
[0148]
可以理解的是,多个终端设备中的每个终端设备可以发送多个整数。服务器可以根据差分事件id和/或数据类型对多个终端设备发送的整数进行整理,将对应同一个差分事件以及同一个数据类型的整数进行汇总。
[0149]
举例来说,假设有3个终端设备(例如,ue1、ue2和ue3)针对第一差分事件向服务器上报整数,第一差分事件可以是“上报ai模型的中间参数”,假设ai模型的中间参数包括2个参数,第一个参数为第一数据类型的隐私数据,第二个参数为第二数据类型的隐私数据。每个终端设备确定出第一数据类型的隐私数据对应的整数以及第二数据类型的隐私数据对应的整数后,可以根据预设顺序向服务器发送第一数据类型的隐私数据对应的整数和第二数据类型的隐私数据对应的整数(例如,先发送第一数据类型的隐私数据对应的整数,而后发送第二数据类型的隐私数据对应的整数),并携带差分事件id和终端设备id。服务器接收多个终端设备发送的整数,基于差分事件id和终端设备id将第一数据类型的隐私数据对应的整数和第二数据类型的隐私数据对应的整数分别进行汇总。
[0150]
或者,服务器可以根据统计周期对多个终端设备发送的整数进行整理,将对应同一个差分事件以及同一个数据类型的整数进行汇总。例如,服务器可以确定多个终端设备在预设时间段1(例如,18:00-19:00)内发送的整数是对应第一差分事件的,针对第一差分事件对应的不同数据类型,可以设置更细粒度的统计周期(例如,18:00-18:10内发送的整数对应第一差分事件的第一数据类型的隐私数据)进行统计,在此不做赘述。
[0151]
905、服务器确定第一数据类型的隐私数据对应的整数的和。
[0152]
即服务器确定多个终端设备发送的第一数据类型的隐私数据对应的整数的和。
[0153]
906、服务器确定第一数据类型的隐私数据对应的整数的均值。
[0154]
第一数据类型的隐私数据对应的整数的均值即第一数据类型的隐私数据对应的整数的和与终端设备的个数的商。例如,假设终端设备的个数为2,例如分别为ue1和ue2,假设ue1发送的第一数据类型的隐私数据对应的整数为0,ue2发送的第一数据类型的隐私数据对应的整数为1,则第一数据类型的隐私数据对应的整数的和为0+1=1,第一数据类型的隐私数据对应的整数的均值为1/2=0.5。
[0155]
907、服务器根据第一数据类型的隐私数据对应的整数的均值确定第一数据类型的隐私数据的均值。
[0156]
在一种可能的设计中,服务器可以根据第一数据类型的隐私数据对应的整数的均值和差分隐私配置参数确定第一数据类型的隐私数据的均值。差分隐私配置参数包括隐私预算、第一数据类型的隐私数据的最大值以及第一数据类型的隐私数据的最小值中的至少一个。
[0157]
示例性的,若多个终端设备发送的整数的值包括1和0,如式(7)和式(8)所示,服务器可以根据第一数据类型的隐私数据对应的整数的均值、隐私预算、第一数据类型的隐私数据的最大值以及第一数据类型的隐私数据的最小值确定第一数据类型的隐私数据的均值:
[0158]
avg(t)=avg(x)*(max-min)+min
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(7)
[0159]
avg(x)=(avg(y)*(exp(ε)+1)-1)/(exp(ε)-1)
ꢀꢀꢀ
(8)
[0160]
其中,avg(t)表示第一数据类型的隐私数据的均值,avg(y)表示第一数据类型的隐私数据对应的整数的均值,min表示第一数据类型的隐私数据的最小值,max表示第一数据类型的隐私数据的最大值,ε表示隐私预算,exp表示以自然对数底数e为底数的指数运算。
[0161]
若多个终端设备发送的整数的值包括0到n,n为大于或等于1的整数,如式(9)和式(10)所示,服务器根据第一数据类型的隐私数据对应的整数的均值、隐私预算、第一数据类型的隐私数据的最大值以及第一数据类型的隐私数据的最小值确定第一数据类型的隐私数据的均值:
[0162]
avg(t)=avg(x)*(max-min)+min
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(9)
[0163]
avg(x)=[(n+1)/2-avg(y)*(n+(exp(ε))]/[(n-1)*(exp(ε)-avg(y))-(exp(ε)-1)(n+1)/2]
ꢀꢀꢀꢀ
(10)
[0164]
其中,avg(t)表示第一数据类型的隐私数据的均值,avg(y)表示第一数据类型的隐私数据对应的整数的均值,min表示第一数据类型的隐私数据的最小值,max表示第一数据类型的隐私数据的最大值,ε表示隐私预算,exp表示以自然对数底数e为底数的指数运算。
[0165]
可以理解的是,服务器可以根据多个终端设备的隐私数据的均值(例如,多个终端设备的ai模型参数的均值),得出全局ai模型的参数,以便在服务器侧进行ai模型的聚合。
[0166]
基于本申请实施例提供的方法,终端设备可以根据第一数据类型的隐私数据上报整数,即对第一数据类型的隐私数据添加随机噪声,保护了用户的隐私信息。并且,由于上报值为整数,相比上报浮点数可以节省通信开销。服务器可以根据整数的均值确定隐私数据的均值,但服务器无法通过用户的一个上报值判断出用户的真实信息,从而保护了用户的隐私信息,符合差分隐私要求。
[0167]
上述本申请提供的实施例中,分别从终端设备、服务器以及终端设备和服务器之间交互的角度对本申请实施例提供的方法进行了介绍。为了实现上述本申请实施例提供的方法中的各功能,终端设备和服务器可以包括硬件结构和/或软件模块,以硬件结构、软件模块、或硬件结构加软件模块的形式来实现上述各功能。上述各功能中的某个功能以硬件结构、软件模块、还是硬件结构加软件模块的方式来执行,取决于技术方案的特定应用和设计约束条件。
[0168]
在采用对应各个功能划分各个功能模块的情况下,图10示出了上述实施例中所涉及的装置10的一种可能的结构示意图,该装置可以为终端设备,该终端设备包括:获取单元1001、确定单元1002和发送单元1003。在本申请实施例中,获取单元1001,用于获取差分隐私配置参数,差分隐私配置参数包括至少两个待上报的整数;确定单元1002,用于根据隐私数据确定上报至少两个待上报的整数中每个整数的概率;发送单元1003,用于根据上报至少两个待上报的整数中每个整数的概率向服务器上报其中一个整数。
[0169]
在图9所示的方法实施例中,获取单元1001用于支持终端设备执行图9中的过程901。确定单元1002用于支持终端设备执行图9中的过程902。发送单元1003用于支持终端设备执行图9中的过程903。其中,上述方法实施例涉及的各步骤的所有相关内容均可以援引
到对应功能模块的功能描述,在此不再赘述。
[0170]
在采用对应各个功能划分各个功能模块的情况下,图11示出了上述实施例中所涉及的装置11的一种可能的结构示意图,该装置可以为服务器,该服务器包括:接收单元1101和确定单元1102。在本申请实施例中,接收单元1101,用于接收多个终端设备发送的整数;确定单元1102,用于确定多个终端设备发送的整数中第一数据类型的隐私数据对应的整数的和;确定单元1102,还用于确定第一数据类型的隐私数据对应的整数的均值;确定单元1102,还用于根据第一数据类型的隐私数据对应的整数的均值确定第一数据类型的隐私数据的均值。
[0171]
在图9所示的方法实施例中,接收单元1101用于支持终端设备执行图9中的过程904。确定单元1102用于支持终端设备执行图9中的过程905-907。其中,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。
[0172]
本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,另外,在本申请各个实施例中的各功能模块可以集成在一个处理器中,也可以是单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。示例性地,在本申请实施例中,接收单元和发送单元可以集成至收发单元中。
[0173]
本申请实施例提供的方法中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、网络设备、用户设备或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机可以存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如,数字视频光盘(digital video disc,dvd))、或者半导体介质(例如,固态硬盘(solid state drives,ssd))等。
[0174]
显然,本领域的技术人员可以对本申请实施例进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请实施例的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1