背景原因
1.数据共享会有隐私安全问题
2.即使数据可以共享,数据集中也会产生严重的后果
数据集中问题
1.单点故障
2.不适用于敏感数据
普通的分散的数据共享系统
1.避免单点故障,实现了数据共享
2.许多这些系统依赖于诚实但好奇或可信的第三方假设
3.没有考虑到计算实体和数据提供者都可能是恶意的。
提出新系统:Drynx
1.在UnLynx中引入的一些技术的基础上进行改进和使用
2.这是一个可操作的、分散的和安全的系统,它使查询器能够计算统计函数,并在不同来源的数据(即分布式数据集)上训练和评估机器学习模型
Drynx设计
CNs:共同处理系统中的计算,就是所有的计算节点,从Q的角度来看,它们模拟一个中央服务器,并为她的查询提供答案
DPs:所有数据提供商
1.初始化。每个CNi、DPi和Qi生成自己的公私密钥对(ki, Ki)。然后将CNs的公共密钥相加,就是 CNs的公共集体密钥K,用于加密所有处理过的数据。
2.查询Q,明确地制定了通过CNs广播到DP的查询。尽管查询器可以直接与DP通信,但我们的选择简化了通信方案和系统内的同步,因为CNs必须知道查询并接收DP的输入,以便在剩余步骤中执行计算。查询定义了操作、计算操作的属性、参与的DP和(可选的)过滤条件。Drynx独立于查询语言工作。
3.检索与编码。DP通过遵循运算编码(定义1)中定义的ρ来计算它们的局部答案。为此,它们首先在本地检索相应的数据。
4.加密。DP在K下加密他们的编码,并将相应的密文发送回中枢网络CNs。
Elgamal
5.集合树聚合(CT A)CNs基于UnLynx[16]中定义的Collective Aggregation(集体聚合)协议,通过执行CT A协议对所有DP的响应进行聚合,这些CN被组织成树状结构,这样每个CN都等待从它的子CN接收聚合结果,并在将结果传递给它自己的父CN之前对它们进行汇总.
6.集体树键交换(CTKS)。CNs集体地将在K下加密的聚合结果转换为在Q的公钥K’下加密的相同结果,而不需要解密。该协议(protocol 1)是UnLynx[16]中提出的一种新的密钥交换结构。从概念上讲,每个CN部分解密m,并使用Q的公钥K0重新加密m。
CTKS 集体树键交换
输入:是使用Eigamal加密算法处理后的密文(C1,C2)和Q的公钥K’
输出:Q的公钥K’加密后的密文
1.选择CN1树根节点将C1传送给CNs,就是所有的计算节点
2.每个CNi产生一个秘密随机的nonce αi并计算wi,1= αiB ,wi,2=−(C1)ki+αiK‘
3.CNs集合(即使用CT A)所有的wi,1和wi,2。
4.CN1最后计算(C’1,C’2)
7.解密。Q对查询结果进行解密和解码。
后面内容有时间再补