安全是有分量的

海外高防_cdn安全防御_方法

2022-01-11 23:50栏目:防护

海外高防_cdn安全防御_方法

请注意,有效的DDos防御,本文是一篇实践性的、应用性的、比较性的文章,并不试图解释差异隐私的所有细节。有关差异隐私的更多背景信息,请参阅本文末尾的参考资料。

差异隐私的承诺(更确切地说,ε-差异隐私)是在公开发布私有数据集上的聚合数据时,提供一种平衡隐私和数据准确性的可测量方法

假设您有一个滑块,当设置为最左端时,它可以保留数据集中个人的全部隐私,但作为一种权衡,会给数据添加大量噪声,使聚合统计不准确。同样的滑块,如果设置在最右端,将使聚合统计数据非常精确,但代价是暴露数据集中个人的私人信息。这里的重点是,这个滑块可以设置为两者之间的任何一点,以适应特定的用例。

数据如何转换

ε-差分隐私让您平衡隐私和准确度水平与一个名为ε(epsilon)的正值。如果ε很小,则会保留更多隐私,但数据准确性会变差。如果ε很大,百度云ddos防御,隐私性会更差,但数据的准确性会得到保持。注意ε从0到无穷大。

差分隐私库实现了各种技术,将ε参数作为输入,并将随机噪声添加到原始数据集中的值中,与给定ε参数成比例。因此,epsilon值越小,添加到值中的噪声就越多。

有些库将采用比ε更多的参数,并允许控制如何将随机噪声添加到原始数据集中的值中,例如从中提取随机数的概率分布(拉普拉斯,正态,

其中一些库还实现了隐私预算的概念,即每次调用库中的函数都会占用用户定义的原始分配隐私预算。这背后的理论是,每次发布新信息时,服务器ddos防御怎么弄,攻击者检索数据集中某个人信息的概率都会增加。一旦隐私预算用完,库可能会引发错误而不是返回值。

DP库的比较

我们将研究三个现有差异隐私库之间的一些差异,以及使用以下库应用相同的差异隐私技术时对给定数据集的影响:

IBM/差异隐私库(Python)google/differential privacy(C++)brubinstein/diffpriv(R)

我们将了解数据集大小如何影响准确性,以及所需的隐私级别(epsilon)如何影响数据准确性。对于每种情况,我们将比较使用各种不同隐私库获得的结果。

测试数据集

我们随机生成一个数据集,其中包含一个单列,即一个人的重量(以千克为单位)。我们会认为一个人的体重是应该保密的明智的信息。每个权重都是一个双值

权重是按照正态分布随机生成的,数据集中的平均权重为70公斤,标准差为30。

为了研究的需要,我们将使数据集大小成为一个输入参数,以便生成各种大小的数据集。

以下是用于简单生成权重数据集的代码:

1234567891011213导入随机定义生成权重数据集(数据集大小):outpath=f"weights_{dataset_size}.csv"mu=70#平均西格玛=30#以开放(outpath,"w+")为fout的标准差:对于范围内的i(数据集大小):random\u weight=random.normalvariate(mu,sigma)#正态分布随机#权重=abs(随机Š权重)Š确保权重为正随机Š权重=round(随机Š权重,1)Š舍入到1位小数行=f{随机Š权重}打印(行,文件=fout)

例如,当数据集大小为10600时,生成的数据如下:

数据集的实际平均值应该大约为70,因为我们使用了平均值为70的正态分布。但是,这不是它的确切值,因为权重是随机抽取的,除此之外,我们取权重的绝对值,这样人们就不会有负权重,最后的值被四舍五入到一位小数。实际上,金盾能防御cc么,实际平均权重为70.34812570579449,本例中的标准差为29.488380395675765。

然而,请注意,这样做的唯一目的是拥有一个真实的数据集,数据集中值的分布不会影响我们将要讨论的度量。

库的使用

在我们开始之前,让我们看看库将如何使用。我们将始终比较具有相同参数的库。例如,将提供相同的epsilon值作为输入。我们将用于测量的操作是数据集的平均值。这些库使用向值添加随机噪声的底层机制来实现均值、方差、和等操作。一个常见的机制是使用拉普拉斯噪声。这里的平均操作的选择是任意的,并且允许覆盖使用相同底层机制的所有操作的测试。

使用IBM的库(Python),我们按照以下方式计算DP平均值:

123456789import diffprivlib.tools.utils def DP琰mean(weights,epsilon,upper):DP琰mean=diffprivlib.tools.utils.mean(weights,epsilon=epsilon,range=upper)return dp\u mean upper=max(weights)epsilon=1.0dpm=dp\u mean(weights,防火墙如何防御ddos攻击,epsilon,upper)

使用Google的库(C++),计算使用的dp平均值的过程是:

1234567891011213141516 double dp\u mean(std::listweights,double epsilon,double lower),双上限){std::unique\u ptrmean\u algorithm=differential\u privacy::BoundedMean::Builder().SetEpsilon(epsilon).SetLower(0.0).SetUpper(upper).Build().ValueOrDie();对于(自动权重:权重){mean_算法->加法(权重);}双重隐私预算=1.0;自动输出=平均\算法->部分结果(隐私\预算).ValueOrDie();返回differential_privacy::GetValue(输出);}

请注意,每次使用Google的库时,我们都使用1.0的完整隐私预算,因为IBM库没有将该参数作为输入。

对于diffpriv(R),DP平均值的计算方式是:

1234567891011121314library(diffpriv)DPŠmean