一种面向边缘计算的数据采集隐私保护方法与流程

专利2022-05-09  129


本发明涉及信息安全技术领域,具体而言涉及一种面向边缘计算的数据采集隐私保护方法。



背景技术:

随着物联网技术的飞速发展,边缘计算的网络计算模式将云中心的任务卸载到边缘侧,边缘计算有效解决了云计算场景中服务器计算压力大,网络带宽负载高,终端数据处理效率低等问题,但是从隐私保护的角度,边缘计算的中心服务器是不可信的,容易发生隐私泄露的问题,其次,边缘节点往往负责一个区域内与终端设备的交互,相较于中心服务器,其能力有限,抵御隐私攻击的能力更差;此外,边缘计算中的数据规模大、相关性强以及多源异构等特性使得在面对数据收集任务时,传统的隐私保护手段很难发挥作用;

在现有技术中,对隐私保护的工作通常使用本地差分隐私技术完成客户端到服务器的键值对隐私数据收集任务,但在边缘计算的场景下想要完成键值数据高频项的识别以及其频率和均值估计等任务,直接使用传统的方法不太合适,主要面临以下问题:

1、边缘节点计算资源的浪费,边缘节点有一定的数据收集和处理能力,虽然在整个架构中属于不可信的计算节点,但是如果合理利用其计算能力,将会提高整个隐私数据收集框架的效率和数据可用性;

2、使用grr相关的机制时,通信开销为o(logd),但是准确性较差,而使用基于ue的相关方法时,通信开销为o(d),这里的d是用户拥有的所有可能的值的个数,即key域的大小,通信开销和d成正相关,在边缘计算中,数据传输的场景较多,对通信开销比较敏感,面对维度过大的数据时,通信开销和存储开销较难接受;

3、传统的隐私预算划分方式对于key-value数据收集任务来说利用率不高,没有符合边缘计算场景的预算分配方式。



技术实现要素:

本发明的目的在于提供一种面向边缘计算的数据采集隐私保护方法,以解决现有技术中的问题。

为实现上述目的,本发明提供如下技术方案:

一种面向边缘计算的数据采集隐私保护方法,通过包括用户端、边缘节点、以及中心服务器的系统实现,当用户端所有用户数据映射至各个边缘计算节点时,针对所有边缘计算节点执行以下步骤:

步骤ⅰ、针对每个边缘计算节点对应的用户,按照预设比例数量随机划分为用户组a、用户组b、用户组c三组,进行数据的分组交互;

针对用户组a,从用户组a对应的用户私有集中随机获取一个键值对<k,v>,键值k、键值v分别对应一种用户属性,对用户组a中键值k对应的所有属性k进行哈希值计算并对哈希值进行扰动,将扰动值、以及哈希函数上传至边缘计算节点,随后进入步骤ⅱ;

步骤ⅱ、分别针对各个边缘计算节点值域内的所有属性k,遍历所有属性k对应的用户,筛选出所有符合候选条件的用户,对应生成筛选向量,并将筛选向量发送至中心服务器;

中心服务器接收所有边缘计算节点对应的筛选向量后,对筛选向量进行聚合,生成候选集;

步骤ⅲ、随机选取用户组b中的任一用户私有集与所述步骤ⅱ中获得的候选集取交集,得到交集长度,获得交集长度对应的扰动值,将扰动值上传至边缘计算节点,更新边缘计算节点中的数据,生成筛选向量,并将筛选向量发送至中心服务器,对筛选向量进行聚合,获取用户私有集的填充长度;

步骤ⅳ、针对用户组c,将用户组c中的用户私有集长度处理成与填充长度一致的集合,从集合中随机获取一个键值对<k,v*>,对键值对中的v*进行离散,并更新键值对,获得待上传键值对,随后进入步骤ⅴ;

步骤ⅴ、将待上传键值对转换为一维向量并进行二次扰动,将二次扰动后的一维向量发送至中心服务器,计算键值k在候选集中出现的频率,以及与键值k对应的v的均值。

进一步地,步骤ⅰ中,对键值对中的键值k进行哈希值计算并对哈希值进行扰动,包括以下步骤:

步骤ⅰ-1、从哈希函数族中随机选取一个输出域为的哈希函数h,得到键值对<k,v>中键值k的哈希值为x=h(k);

步骤ⅰ-2、将哈希值x通过以下公式(1),获得扰动值y:

式(1)中,pr[]为概率,ε为本地差分隐私的隐私预算参数,m(x)为扰动函数。

进一步地,步骤ⅱ具体包括以下步骤:

步骤ⅱ-1、针对各个边缘计算节点对应的所有用户,结合步骤ⅰ中用户上传的扰动值、以及哈希函数,筛选出符合候选条件的用户;

所述候选条件根据公式(2)计算:

c(k)=|{j|hj(k)=yj}|(2),

式(2)具体表示为,根据上传至边缘计算节点的扰动值和哈希函数,对所有j个用户依次进行筛选,筛选出符合等式成立条件的用户,构成符合候选条件的用户集合,hj(k)为第j个用户键值k的哈希值,yj为hj(k)的扰动值,c(k)为符合候选条件的用户j所组成的集合的长度;

步骤ⅱ-2、边缘计算节点将公式(2)筛选出的用户对应的用户私有集组成筛选向量,并将筛选向量发送至中心服务器,中心服务器接收所有筛选向量,对筛选向量进行求和得到向量;

步骤ⅱ-3、针对用户端值域内的所有属性k对应的用户,根据公式(3)计算属性k在对应边缘计算节点中的出现频数:

式(3)中,为用户组a中与属性k相关的键值对在边缘节点中的出现频数,na为用户组a中用户的数量,p=eε/eε g-1;

步骤ⅱ-4、对用户组a中与每个属性k相关的键值对在边缘节点中的出现频率进行排序,将序列前2kt项的键值k取出,构成候选集,其中,kt为预设的筛选数量。

进一步地,步骤ⅲ中,将用户组b的用户私有集与候选集生成交集s,结合公式(2)、以及公式(3),获得交集s中与属性k相关的键值对在边缘节点中的出现频数s的取值范围为1至2kt,根据公式(4)获得交集s中各个元素的填充长度l:

获得最接近0.9的长度值作为填充长度l,填充长度l满足的条件为,填充长度l小于用户私有集和候选集的交集的长度。

进一步地,步骤ⅳ中,包括以下步骤:

步骤ⅳ-1、针对用户组c,获得用户组c对应的用户私有集与候选集的交集,比较交集长度和填充长度,当交集长度大于填充长度时,将用户私有集截成长度与填充长度相同的集合,并更新用户私有集;

当交集长度小于填充长度时,生成填充项对交集进行填充,并更新用户私有集,随后进入步骤ⅳ-2;

步骤ⅳ-2、从更新后的用户私有集中随机获取一个键值对<k,v*>,对键值对中的键值v*对应的属性v*进行离散,根据公式(5):

更新v*为v,获得经过离散后的待上传键值对<k,v>,w.p.为概率。

进一步地,步骤ⅴ中,包括以下步骤:

步骤ⅴ-1、对待上传键值对<k,v>中的各个属性进行二次扰动,将待上传的键值对<k,v>转换为由1、-1、0组成的一维向量,扰动方式为:

通过以下公式(6)对键值k取值对应位置处,键值对的属性v进行二次扰动:

式(6)中,a=eε/eε 1;

分别对其它位的属性v,通过以下公式(7)进行二次扰动:

式(7)中,v为任意其它位的键值v对应的属性扰动值,

步骤ⅴ-2、将扰动后的向量发送至中心服务器;

步骤ⅴ-3、统计中心服务器上所有用户候选集中的各个键值k,以及用户候选集中1、-1的个数,分别记为n1、n2,根据公式(8)计算并修正键值k在候选集中的出现频率:

式(8)中,为键值k对应的属性k在候选集中的出现频率,nc为用户组c中的用户数量,l为填充长度;

根据公式(9)计算键值k对应的属性v的均值:

式(9)中,

本发明所述一种面向边缘计算的数据采集隐私保护方法,采用以上技术方案与现有技术相比,具有以下技术效果:

本发明将聚合和估计的计算任务卸载到边缘节点,提高算法执行效率,同时生成候选集的方式对原始数据进行精确降维,提高结果估计的准确性,通过分组的方式完成各阶段估计任务从而避免了划分隐私预算带来的额外误差,相较于现有技术在大规模数据集上进行数据采集,本发明提供的技术方案在进行高频项的识别、频率估计、以及均值估计等一些任务计算中的准确率更高,相较于小数据集,也有更高的数据可用性。

附图说明

图1为本发明示例性实施例的数据采集隐私保护方法流程图;

图2为本发明示例性实施例的数据采集隐私保护的时序流程图

图3为本发明示例性实施例的数据交互示意图。

具体实施方式

为了更了解本发明的技术内容,特举具体实施例并配合所附图进行如下示例性的说明。

在本发明中参照附图来描述本发明的各方面,附图中示出了许多说明性实施例。本发明的实施例不局限于附图所示。应当理解,本发明通过上面介绍的多种构思和实施例,以及下面详细描述的构思和实施方式中的任意一种来实现,这是因为本发明所公开的构思和实施例并不限于任何实施方式。另外,本发明公开的一些方面可以单独使用,或者与本发明公开的其他方面的任何适当组合来使用。

下面结合附图1-附图3所示,更加具体的描述本发明的实现。

结合图1所示的本发明示例性实施例的数据采集隐私保护方法的流程,一种面向边缘计算的数据采集隐私保护方法,通过包括用户端、边缘节点、以及中心服务器的系统实现,当用户端所有用户数据映射至各个边缘计算节点时,设置边缘计算节点个数为8,针对所有边缘计算节点执行以下步骤:

步骤ⅰ、针对每个边缘计算节点对应的用户,按照预设比例数量随机划分为用户组a、用户组b、用户组c三组,进行数据的分组交互,如图2、3所示;

针对用户组a,从用户组a中的所有用户对应的用户私有集中随机获取一个键值对<k,v>,键值k、键值v分别对应商品编号、商品评价,用户私有集中包括多个键值对,每个用户对应唯一的键值对,在一个用户组成的集合中,同一个商品编号可以对应多个商品评价,对键值k对应的商品编号进行哈希值计算并对哈希值进行扰动,将扰动值、以及哈希函数上传至边缘计算节点,随后进入步骤b;

用户组a对应的用户私有集样例如下:

u1={(2125,1.0)}

u2={(20,0.6),(48,1.0),(1244,1.0),(2696,0.6),(58,0.6)}

其中用户u1私有集只有一项,商品编号k为2125,商品评价v为1.0;用户u2的私有集则拥有5个项;

对键值对中的键值对应的所有属性k进行哈希值计算并对哈希值进行扰动,包括以下步骤:

步骤ⅰ-1、从哈希函数族中随机选取一个哈希种子为0的哈希函数h,对应输出域为得到键值对<213,1.0>中键值k=213的哈希值为x=h(213)=77;

步骤ⅰ-2、将哈希值77通过公式(1),获得扰动值y=135:

其中,pr[]为概率,ε为本地差分隐私的隐私预算参数,隐私预算参数ε控制隐私保护程度的大小,ε设置得越小,所添加的噪声越大,隐私保护程度越高。这里将隐私预算参数ε设为4;

将扰动值、以及哈希种子上传至边缘计算节点,具体发送的键值为<135,0>。

步骤ⅱ、分别针对各个边缘计算节点值域内的所有属性k,遍历所有属性k对应的用户,筛选出所有符合候选条件的用户,对应生成筛选向量,并将筛选向量发送至中心服务器;

中心服务器接收所有边缘计算节点对应的筛选向量后,对筛选向量进行聚合,生成候选集,具体包括以下步骤:

步骤ⅱ-1、针对各个边缘计算节点对应的所有用户,结合步骤ⅰ中用户上传的扰动值、以及哈希函数,筛选出符合候选条件的用户;

所述候选条件根据公式(2)计算:

c(k)=|{j|hj(k)=yj}|(2)

具体表示为,根据上传至边缘计算节点的扰动值和哈希函数,对所有j个用户依次进行筛选,筛选出符合等式成立条件的用户,构成符合候选条件的用户集合,hj(k)为第j个用户键值k的哈希值,yj为hj(k)的扰动值,c(k)为符合候选条件的用户j所组成的集合的长度;

步骤ⅱ-2、边缘计算节点将公式(2)筛选出的用户对应的用户私有集组成筛选向量,并将筛选向量发送至中心服务器,8个边缘节点发送的筛选向量如下:

[35,49,36,36,32,54,38,61,…,33,25,22]

[36,54,53,40,33,46,49,55,…,22,25,24]

[30,52,39,41,33,49,32,53,…,27,35,17]

[33,43,42,32,29,50,37,66,…,43,26,22]

中心服务器接收所有筛选向量,对筛选向量进行求和得到向量z=[282,420,322,307,271,377,311,481,…,252,234,208];

步骤ⅱ-3、针对用户端值域内的所有属性k对应的用户,根据公式(3)计算属性k在对应边缘计算节点中的出现频数:

其中,为用户组a对应的所有属性k在边缘节点中的出现频率,n为用户组a中所有用户数量,p=eε/eε g-1;

k的频率估计如下:

[123.13215809432066,374.15166079217653,198.03313873803572,121.10780726611213,70.49903656089926,285.08022435100185,183.86268294057612,511.8075171103556,64.4259840762737,117.05910560969511,…];

步骤ⅱ-4、对用户组a中与每个属性k相关的键值对在边缘节点中的出现频率进行排序,将序列前2kt项的键值k取出,构成候选集,其中,kt为预设的筛选数量,候选集为:

[8,48,21,2,11,101,30,98,28,6,15,18,17,31,89,3,7,13,67,20,32,38,64,142,93,1314,34,57,40,49,1731,1973,1,16,3236,3867,4410,4,80,24]。

步骤ⅲ、随机选取用户组b中的任一用户私有集与所述步骤ⅱ中获得的候选集取交集,得到交集长度,获得交集长度对应的扰动值,将扰动值上传至边缘计算节点,用户组b中某一用户私有集与候选集的交集为{101,1314},则交集长度为2,经过扰动,最终发送给边缘节点的键值为<56,1>

更新边缘计算节点中的数据,生成筛选向量,并将筛选向量发送至中心服务器,对筛选向量进行聚合,获取用户私有集的填充长度,用户私有集的填充长度l=2,

将用户组b的用户私有集与候选集生成交集s,结合公式(2)、以及公式(3),获得交集s中与属性k相关的键值对在边缘节点中的出现频数s的取值范围为1至2kt,根据公式(4)获得交集s中各个元素的填充长度l:

其中,获得最接近0.9的长度值作为填充长度l,填充长度l满足的条件为,填充长度始终小于用户私有集和候选集的交集的长度,即当填充长度为2时,至少有90%的用户私有集和候选集的交集长度大于填充长度2。

步骤ⅳ、针对用户组c,将用户组c中的用户私有集长度处理成与填充长度一致的集合,从集合中随机获取一个键值对<k,v*>,对键值对中的v*进行离散,并更新键值对,获得待上传键值对,具体包括以下步骤:

步骤ⅳ-1、针对用户组c,获得用户组c对应的用户私有集候选集的交集,比较交集长度和填充长度,当交集长度大于填充长度时,将用户私有集截成长度与填充长度相同的集合,并更新用户私有集;具体的,若用户组c中某用户交集i={(1731,0.2),(21,1.0),(6,1.0)},i的大小大于2,因此截断,变成s′={(1731,0.2),(21,1.0)};

当交集长度小于填充长度时,生成填充项对交集进行填充,并更新用户私有集,随后进入步骤ⅳ-2,具体的,若用户组c中某用户交集为空集,生成l-|i|个填充项,使用填充项将i填充为长度为l的集合s′;

步骤ⅳ-2、从更新后的用户私有集中随机获取一个键值对<5851,0>,对键值0对应的属性v*进行离散,根据公式(5):

更新0为1,w.p.为概率,获得经过离散后的待上传键值对<5851,1>,随后进入步骤ⅴ。

步骤ⅴ、将待上传键值对转换为一维向量并进行二次扰动,将二次扰动后的一维向量发送至中心服务器,计算键值k在候选集中出现的频率,以及与键值k对应的v的均值;

步骤ⅴ-1、将待上传键值对<5851,1>中的各个属性通过二次扰动,转换为由1、-1、0组成的一维向量,<5851,1>对应的向量为[0,0,0,…,1,0],第5851位为1,其余为0,扰动方式为:

对键值k取值对应位置处,第5851位的键值对对应的属性v,通过公式(6)进行二次扰动:

其中,a=eε/eε 1;

对其它位的属性v,通过以下公式(7)进行二次扰动:

其中,v为任意其它位的键值v对应的属性扰动值,

步骤ⅴ-2、将扰动后的向量[0,0,0,…,-1,0]发送至中心服务器;

步骤-3、统计中心服务器上所有用户候选集中的各个键值k,以及对应第k位1、-1的个数,分别记为n1、n2,根据公式(8)计算并修正键值k在候选集中的出现频率:

其中,为键值k对应的属性k在候选集中的出现频率,nc为用户组c中的用户数量,l为填充长度;

根据公式(9)计算键值k对应的属性v的均值:

其中,

具体的,对于候选集c中的key,其频率估计结果为:[0.016364325567077113,0.013912581994899044,0.011460838422720989,0.011460838422720989,0.008542096074889963,0.012861834749679878,0.010643590565328305,0.0073745991357575492,0.013095334137506359,…];

其对应的均值估计结果为:

[1.0349043247097953,0.46372580983681078,1.2364304722633681,1.0755939880665071,1.2677814124865838,0.81511605084822936,0.99581954441337772,0.71862180659389674,0.16715447001752318,…]。

虽然本发明已以较佳实施例揭露如上,然其并非用以限定本发明。本发明所属技术领域中具有通常知识者,在不脱离本发明的精神和范围内,当可作各种的更动与润饰。因此,本发明的保护范围当视权利要求书所界定者为准。


技术特征:

1.一种面向边缘计算的数据采集隐私保护方法,其特征在于,通过包括用户端、边缘节点、以及中心服务器的系统实现,当用户端所有用户数据映射至各个边缘计算节点时,针对所有边缘计算节点执行以下步骤:

步骤ⅰ、针对每个边缘计算节点对应的用户,按照预设比例数量随机划分为用户组a、用户组b、用户组c三组;

针对用户组a,从用户组a对应的用户私有集中随机获取一个键值对<k,v>,对用户组a中键值k进行哈希值计算并对哈希值进行扰动,将扰动值、以及哈希函数上传至边缘计算节点,随后进入步骤ⅱ;

步骤ⅱ、分别针对各个边缘计算节点值域内的所有属性k,遍历所有属性k对应的用户,筛选出所有符合候选条件的用户,对应生成筛选向量,并将筛选向量发送至中心服务器;

中心服务器接收所有边缘计算节点对应的筛选向量后,对筛选向量进行聚合,生成候选集;

步骤ⅲ、随机选取用户组b中的任一用户私有集与所述步骤ⅱ中获得的候选集取交集,获得交集长度对应的扰动值,将扰动值上传至边缘计算节点,更新边缘计算节点中的数据,生成筛选向量,并将筛选向量发送至中心服务器,对筛选向量进行聚合,获取用户私有集的填充长度;

步骤ⅳ、针对用户组c,将用户组c中的用户私有集长度处理成与填充长度一致的集合,从集合中随机获取一个键值对<k,v*>,对键值对中的v*进行离散,并更新键值对,获得待上传键值对,随后进入步骤ⅴ;

步骤ⅴ、将待上传键值对转换为一维向量并进行二次扰动,将二次扰动后的一维向量发送至中心服务器,计算键值k在候选集中出现的频率,以及与键值k对应的v的均值。

2.根据权利要求1所述的一种面向边缘计算的数据采集隐私保护方法,其特征在于,所述步骤ⅰ中,对键值对中的键值k进行哈希值计算并对哈希值进行扰动,包括以下步骤:

步骤ⅰ-1、从哈希函数族中随机选取一个输出域为的哈希函数h,得到键值对<k,v>中键值k的哈希值为x=h(k);

步骤ⅰ-2、将哈希值x通过公式,获得扰动值y,其中,pr[]为概率,ε为本地差分隐私的隐私预算参数,m(x)为扰动函数。

3.根据权利要求1所述的一种面向边缘计算的数据采集隐私保护方法,其特征在于,所述步骤ⅱ具体包括以下步骤:

步骤ⅱ-1、针对各个边缘计算节点对应的所有用户,结合步骤ⅰ中用户上传的扰动值、以及哈希函数,利用公式:c(k)=|{j|hj(k)=yj}|,筛选出符合候选条件的用户集合,其中,hj(k)为第j个用户键值j的哈希值,yj为hj(k)的扰动值,c(k)为符合候选条件的用户j所组成的集合的长度;

步骤ⅱ-2、边缘计算节点将筛选出的用户对应的用户私有集组成筛选向量,将筛选向量发送至中心服务器,中心服务器接收所有筛选向量,对筛选向量进行求和得到向量;

步骤ⅱ-3、针对用户端值域内的所有属性k对应的用户,根据公式:计算属性k在对应边缘计算节点中的出现频数,其中,为用户组a中与属性k相关的键值对在边缘节点中的出现频数,na为用户组a中所有用户数量,p=eε/eε g-1;

步骤ⅱ-4、对用户组a中与每个属性k相关的键值对在边缘节点中的出现频率进行排序,将序列前2kt项的键值k取出,构成候选集,其中,kt为预设的筛选数量。

4.根据权利要求3所述的一种面向边缘计算的数据采集隐私保护方法,其特征在于,所述步骤ⅲ中,将用户组b的用户私有集与候选集生成交集s,获得交集s中与属性k相关的键值对在边缘节点中的出现频数s的取值范围为1至2kt,根据公式:获得交集s中各个元素的填充长度l,填充长度l满足的条件为,小于用户私有集和候选集的交集的长度。

5.根据权利要求1所述的一种面向边缘计算的数据采集隐私保护方法,其特征在于,所述步骤ⅳ中,包括以下步骤:

步骤ⅳ-1、针对用户组c,获得用户组c对应的用户私有集与候选集的交集,比较交集长度和填充长度,当交集长度大于填充长度时,将用户私有集截成长度与填充长度相同的集合,并更新用户私有集;

当交集长度小于填充长度时,生成填充项对交集进行填充,并更新用户私有集,随后进入步骤ⅳ-2;

步骤ⅳ-2、从更新后的用户私有集中随机获取一个键值对<k,v*>,根据公式:对键值对中的键值v*对应的属性v*进行离散,更新v*为v,获得经过离散后的待上传键值对<k,v>,w.p.为概率。

6.根据权利要求1所述的一种面向边缘计算的数据采集隐私保护方法,其特征在于,所述步骤ⅴ中,包括以下步骤:

步骤ⅴ-1、将待上传键值对<k,v>中的各个属性通过二次扰动,转换为由1、-1、0组成的一维向量,根据公式:

对键值k取值对应位置处键值对的属性v进行二次扰动,其中,a=eε/eε 1;

根据公式:

分别对其它位的属性v进行二次扰动,其中,v为任意其它位的键值v对应的属性扰动值,

步骤ⅴ-2、将扰动后的向量发送至中心服务器;

步骤ⅴ-3、统计中心服务器上所有用户候选集中的各个键值k,以及用户候选集中1、-1的个数,分别记为n1、n2,根据公式:

计算并修正键值k在候选集中的出现频率,其中,为键值k对应的属性k在候选集中的出现频率,此时n为用户组c中的用户数量,l为填充长度;

根据公式:

计算键值k对应的属性v的均值,其中,

技术总结
本发明公开了一种面向边缘计算的数据采集隐私保护方法,涉及信息安全技术领域,通过划分用户组,进行数据的分组交互,在用户组中采集键值对数据并进行扰动,中心服务器接收扰动值,并生成对应的候选集,根据各个用户组之间的交集长度,估计填充长度,对用户私有集进行处理,估计键值的出现频率及其对应的均值。通过本发明的技术方案,解决了面向边缘计算系统数据采集过程中的隐私泄露问题,同时,提高算法执行效率,通过分组的方式避免划分隐私预算带来的额外误差,提供频率估计和均值估计的准确率。

技术研发人员:徐小龙;范泽轩;段卫华
受保护的技术使用者:南京邮电大学
技术研发日:2021.03.31
技术公布日:2021.08.03

转载请注明原文地址:https://doc.8miu.com/read-2268.html

最新回复(0)