隐私计算 第一篇论文阅读笔记 (未完待续)


一、论文中的生僻词

cryptography —— 密码学
encryption —— 加密
decryption —— 解密
homomorphic encryption —— 同态加密
encrypted —— 加密的
genomic algorithms —— 基因组算法
encrypted genotype and phenotype data—— 加密的基因型和表现型数据
linkage —— 联系,连接,联动装置
disequilibrium —— 不平衡
linear regression —— 线性回归
sequence the human genome —— 人类基因测序
close relatives —— 近亲
de-identified —— 去标识化的
vault —— 金库,保险库
variant —— 变种,变形
polynomials of small degree —— 小次多项式 (低级别的多项式)
genome wide association studies —— 全基因组关联研究
deviation —— 偏差
locus —— 发生地,中心,核心(复数形式为:luci)
genome —— 基因组
haplotype frequencies from genotype counts —— 基因型计数的单倍型频率
allel —— 等位基因(parallel 平行的)
process —— 过程,流程;处理
arbitrary entities —— 任意实体
outsource —— 外包
iterate —— 迭代


二、文章目录

  1. 文章目的
  2. 介绍
  3. 遗传关联研究中的统计算法
    1. Hardy-Weinberg 均衡和 Pearson 拟合优度检验
    2. 连锁不平衡或连锁不均衡
    3. Cochran-Armitage 趋势检验 (CATT)
    4. 线性回归
  4. 实用的同态加密
    1. 同态加密方案
  5. 加密数据计算
    1. 编码基因组数据
    2. 计算基因型和表现型计数
    3. 修改后的算法
    4. 如何设置参数
  6. 性能
  7. 结论和今后的工作

三、文章目的

  1. 为了保护病人的隐私,我们提出在数据库中加密所有的基因数据;
  2. 为了在加密的数据上允许有意义的计算,我们提出使用同态加密
    的策略。
  3. 我们采用遗传关联研究中常用的基本基因组算法,并展示了如何使它们在加密的基因型和表型数据上发挥作用。

四、介绍

1、基本内容

  1. 但是,为了使这些基因数据可用于科学研究,患者将自己暴露在侵犯隐私的风险中。即使数据是匿名的,个体患者的基因组数据也可以被重新识别,并可能使近亲面临类似的风险。
  2. 在允许对数据进行研究的同时保护基因组隐私的各种方法包括:基于政治的解决方案数据去标识化近似查询应答基于密码学的技术解决方案
  3. 新兴的加密解决方案正迅速变得越来越重要。加密是一种工具,它本质上允许人们将数据密封在一个隐喻的保险库中,只有持有秘密解密密钥的人才能打开。
  4. 同态加密 HE允许其他方在不拥有密钥的情况下对数据进行操作(比喻通过手套箱将手伸入保险库并操纵数据)。
  5. 全同态加密 FHE允许对加密数据上的任何函数进行评估,但目前的实现效率很低。
  6. HE 方案的更实用变体只允许对加密数据进行固定数量的计算,同时仍确保正确性和安全性。特别是,实用的 HE 方案允许评估小阶多项式。
  7. 在这项工作中,我们采用了全基因组关联研究(GWAS)中常用的基本基因组算法,并展示了如何使用HE使它们处理加密数据。
  8. 我们发现许多可以用小次多项式进行评估的统计算法,包括:
    1. pearson拟合优度或卡方检验用于测试哈迪-温伯格平衡的偏差
    2. 链接不平衡的D’和r2测量方法用于测试基因中两个地方的基因型的关系
    3. 估计最大化 EM 算法用于估计在基因型计数中的单倍体频率
    4. Cochran-Armitage 趋势测试 CATT用于确定候选等位基因是否与疾病相关
  9. 在我们的方法中,这些统计数据是根据群体中的加密基因型和表型计数计算得出的。因此,对于包含加密表型和基因型的数据库,我们考虑两个阶段:
    1. 在第一阶段,仅使用简单的加法计算加密表型和基因型计数。加密方案的参数以及此阶段计算的运行时间取决于所考虑的总体样本的大小
    2. 在第二阶段,第一阶段获得的加密基因型和表型计数作为输入,并计算上述统计算法的输出。在此阶段,统计算法的运行时间不取决于总体样本的大小,而仅取决于计算所需的参数集

2、数据库

  1. 我们正在考虑单密钥同态加密,这意味着所有数据都在同一对称或非对称加密密钥下加密。
  2. 一个由政府机构、研究机构和医院组成的全球联盟希望汇集所有患者的基因组数据,以用于研究。需要一个通用的基础设施来托管所有这些数据集,并处理分布式存储的需求,从而提供可扩展、弹性、高效和安全的低成本解决方案。(这些是全球联盟在其提案中提出的使用商业云计算基础设施的论点。)
    因此,我们得出了以下要求:由受信任的主机(例如医院或研究机构)收集的数据可能需要在不受信任的云中存储和处理,以实现跨多种边界访问和共享
  3. 相互信任的数据所有者,即医院或医院,可以使用同态加密在单个密钥下加密所有数据。然后,可以处理来自任意实体,如成员组织、已注册的研究人员、临床医生等。可以返回加密结果以响应查询受信任方可以根据管理允许查询的某些策略向注册方提供解密。
    (注意,该策略不应允许任意查询,因为这会使数据面临与未加密的公共数据库相同的重新识别风险。)

3、相关工作

  1. 许多关于基因组隐私的相关工作都集中在基因组序列的模式匹配问题上,这与我们在这里分析的统计算法有很大不同。
    1. 实际上,用于模式匹配和编辑距离的电路比这里考虑的要深得多,因此不太适合作为HE的有效应用。
    2. 另一方面,De Cristofaro等人提出了一种非常高效的私有子字符串匹配算法
    3. 在另一种方法中,Blanton等人使用乱码电路有效地进行序列比较
    4. 最后,Ayday等人展示了如何使用加法同态加密来预测疾病易感性,同时保护患者隐私。
  2. 在最近的几篇论文中也研究了差分隐私技术
    1. Fienberg等人提出发布差异私有的次要等位基因频率卡方统计p值,以及惩罚逻辑回归的差异私有方法
    2. Johnson和Shmatikov提出了一套基于差分隐私技术GWAS数据集的隐私保护数据挖掘算法
  3. 最后,最近一系列研究HE在加密数据外包计算中的实际应用的工作导致了本文的出现:
    1. Lauter等人介绍了HE的医疗应用理念,包括优化、具体参数和性能数据;
    2. Graepel等人将HE应用于机器学习,既可以训练基于加密数据的模型,也可以基于加密的学习模型进行加密预测
    3. Bos等人为HE和医疗保健中预测分析的特定应用提供了优化的性能数字,以及自动选择参数的算法
    4. Yasuda等人给出了HE在安全模式匹配中的应用

五、遗传关联研究中的统计算法

 在本节中,我们详细介绍了遗传关联研究中常用的统计算法。

1、Hardy-Weinberg 均衡和 Pearson 拟合优度检验

  首先来介绍Pearson拟合优度检验,该检验通常被用于确定基因是否处于Hardy-Weinberg 平衡 (HWE)。

  1. Hardy-Weinberg 平衡 (HWE):
    如果一个基因的等位基因频率独立的,则称该基因满足HWE。更具体地说,假设 A 和 a 是所考虑基因的两个等位基因,并设 NAA、NAa、Naa 分别表示观察到的基因型 AA、Aa、aa 的群体计数,同时,设 N 为样本总体中的总人数: N = N A A + N A a + N a a N=N_{AA}+N_{Aa}+N_{aa} N=NAA+NAa+Naa于是对应的基因频率便可以计算出来了: P A A = N A A N , P A a = N A a N , P a a = N a a N P_{AA}=\frac{N_{AA}}{N},P_{Aa}=\frac{N_{Aa}}{N},P_{aa}=\frac{N_{aa}}{N} PAA=NNAAPAa=NNAaPaa=NNaa除此之外,等位基因A和a的频率为: P A = 2 N A A + N A a 2 N , P a = 2 N a a + N A a 2 N = 1 − P A P_A=\frac{2N_{AA}+N_{Aa}}{2N},P_a=\frac{2N_{aa}+N_{Aa}}{2N}=1-P_A PA=2N2NAA+NAaPa=2N2Naa+NAa=1PA如果这些频率是独立的,则称该基因处于平衡状态,换句话说如果: P A A = P A 2 , P A a = 2 P A P a , P a a = P a 2 P_{AA}={P_A}^2,P_{Aa}=2P_AP_a,P_{aa}={P_a}^2 PAA=PA2PAa=2PAPaPaa=Pa2当一个基因处于平衡状态时,它的等位基因频率一代又一代地保持不变,除非受到进化影响的干扰。
    研究人员测试HWE作为测试数据质量的一种方式,并可能丢弃明显偏离平衡的位点。
  2. Pearson 拟合优度检验:
    Pearson 拟合优度检验的主要观察结果是,如果等位基因是独立的(即如果基因处于平衡状态),那么我们期望观察到的计数为: E A A = N ∗ P A 2 , E A a = N ∗ 2 ∗ P A P a , E a a = N ∗ p a 2 E_{AA}={N*{P_A}^2},E_{Aa}={N*2*P_AP_a},E_{aa}={N*{p_a}^2} EAA=NPA2EAa=N2PAPaEaa=Npa2因此,通过将下面的 X2检验统计量 来比作具有 1个自由度的 χ2统计量 (卡方),确定偏离平衡量。在这里插入图片描述 X 2 = ∑ i ∈ { A A , A a , a a } ( N i − E i ) 2 E i X^2=\sum_{i\in\{AA,Aa,aa\}}{\frac{(N_i-E_i)^2}{E_i}} X2=i{AA,Aa,aa}Ei(NiEi)2

2、连锁不平衡或连锁不均衡

 遗传关联研究中的另一个重要概念是连锁不平衡 (LD)。连锁不平衡是基因组中两个位点的基因型之间的关联关系。
 假设 A、a 是位点1的可能等位基因,B、b 是位点2的可能等位基因。在这种情况下,有9种可能的基因型:AABB、AABb、AAbb、AaBB、AaBb、Aabb、aaBB、aaBb、aabb。对于 i, i’ ∈ \in {A, a} 和 j, j’ ∈ \in {B, b},我们使用 Nii’jj’ 来表示观察到的基因型 ii’jj’ 的计数。如前所述,设N为总体样本的总大小:
N = ∑ i , i ′ ∈ { A , a } j , j ′ ∈ { B , b } N i i ′ j j ′ N=\sum_{i,i'\in\{A,a\}j,j'\in\{B,b\}}{N_{ii'jj'}} N=i,i{A,a}j,j{B,b}Niijj我们考虑等位基因 A、a、B、b 的群体频率:
P A = ∑ j , j ′ ∈ { B , b } ( 2 N A A j j ′ + N A a j j ′ ) 2 N , P a = ∑ j , j ′ ∈ { B , b } ( 2 N a a j j ′ + N A a j j ′ ) 2 N P B = ∑ i , i ′ ∈ { A , a } ( 2 N i i ′ B B + N i i ′ B b ) 2 N , P b = ∑ i , i ′ ∈ { A , a } ( 2 N i i ′ b b + N i i ′ B b ) 2 N P_A=\frac{\sum_{j,j'\in\{B,b\}}(2N_{AAjj'}+N_{Aajj'})}{2N},P_a=\frac{\sum_{j,j'\in\{B,b\}}(2N_{aajj'}+N_{Aajj'})}{2N} \\ P_B=\frac{\sum_{i,i'\in\{A,a\}}(2N_{ii'BB}+N_{ii'Bb})}{2N},P_b=\frac{\sum_{i,i'\in\{A,a\}}(2N_{ii'bb}+N_{ii'Bb})}{2N} PA=2Nj,j{B,b}(2NAAjj+NAajj)Pa=2Nj,j{B,b}(2Naajj+NAajj)PB=2Ni,i{A,a}(2NiiBB+NiiBb)Pb=2Ni,i{A,a}(2Niibb+NiiBb)除此之外,真好有4中单倍型需要考虑:AB, Ab, aB, ab。对于 i ∈ \in {A, a} 和 j ∈ \in {B, b},我们使用 Nij 来表示 单倍型ij 的观测计数,并考虑总体频率:
P A B = N A B 2 N , P A b = N A b 2 N , P a B = N a B 2 N , P a b = N a b 2 N P_{AB}=\frac{N_{AB}}{2N},P_{Ab}=\frac{N_{Ab}}{2N},P_{aB}=\frac{N_{aB}}{2N},P_{ab}=\frac{N_{ab}}{2N} PAB=2NNABPAb=2NNAbPaB=2NNaBPab=2NNab在连锁平衡下,我们期望等位基因频率是独立的。换句话说,我们期望:
P A B = P A P B , P A b = P A P b , P a B = P a P B , P a b = P a P b P_{AB}=P_AP_B,P_{Ab}=P_AP_b,P_{aB}=P_aP_B,P_{ab}=P_aP_b PAB=PAPBPAb=PAPbPaB=PaPBPab=PaPb如果等位基因处于连锁不平衡状态,则频率将与上述值偏离一个 标量D,于是:
P A B = P A P B + D , P A b = P A P b − D , P a B = P a P B − D , P a b = P a P b + D P_{AB}=P_AP_B+D,P_{Ab}=P_AP_b-D,P_{aB}=P_aP_B-D,P_{ab}=P_aP_b+D PAB=PAPB+DPAb=PAPbDPaB=PaPBDPab=PaPb+D标量D的计算方法很简单: D = P A B P a b − P A b P a B D=P_{AB}P_{ab}-P_{Ab}P_{aB} D=PABPabPAbPaB。然而,D 的范围取决于频率,这使得它很难用作不平衡的度量。改用两种缩小变体之一,即 D’测量r2测量

一、D’ 测量:
在这里插入图片描述
二、 r2测量:
在这里插入图片描述
其中 Nij 是观察到的计数,Eij = NPiPj 是预期计数。有 |Nij − Eij |= ND,可知:
r 2 = D 2 P A P B P a P b r^2=\frac{D^2}{P_AP_BP_aP_b} r2=PAPBPaPbD2D0 和 r2 的范围均为 [0, 1]。值为 0 表示完全平衡,值为 1 表示完全不平衡
三、EM算法计算单倍体
 D’ 和 r2 所描述的 LD措施 需要知道被观测的单倍体数量或频率。然而,单倍型计数 (或频率) 不能从基因型计数 (或频率) 中准确确定。例如,考虑 2个 具有等位基因 A、a 和 B、b 的 双等位基因位点。观察到的基因型 AaBb 可以是两种可能的单倍型之一:(AB)(ab) 或 (Ab)(aB)。在实践中,估计最大化 (EM) 算法 可用于根据基因型计数估计单倍型频率
 EM算法 使用初始值为任意值的 PAB PAb PaB Pab 作为 单倍体频率,并根据观察到的 基因型计数 迭代更新它们。在每次迭代中,当前估计的 单倍型频率 用于一个计算 预期的基因型频率 (假设初始值是真正的 单倍型频率) 的估计步骤。接下来,在 最大化步骤 中,这些 用于估计下一次迭代的 单倍型频率。当 单倍型频率 稳定时,该算法将停止。
第 m 次估计步骤: 第m次 估计步骤: m次估计步骤:在这里插入图片描述
第 m 次最大化步骤: 第m次 最大化步骤: m次最大化步骤:在这里插入图片描述

3、Cochran-Armitage 趋势检验 (CATT)

 最后,我们考虑了Cochran-Armitage趋势测试 (CATT),该测试用于病例对照研究,以确定候选等位基因是否与疾病相关。我们首先描述了病例对照研究的基本结构,然后描述了 CATT测试。

  1. 病例对照研究:
     病例对照研究用于确定候选等位基因 A 是否与特定疾病相关。这样的研究将患有这种疾病的个体 (病例 Cases) 的基因型与没有这种疾病的个体 (对照组 Controls) 的基因型进行了比较。可以使用此信息构建 3种基因型 以及 病例/对照的2×3列联表,如下所示,其中 Nij 代表多个个体,Ri 是第 i 行的总和,Cj 是第 j 列的总和。在这里插入图片描述
  2. CATT:
     给定如上所述的列联表,CATT 计算统计数据
    T = ∑ i = 0 2 w i ( N 0 i R 1 − N 1 i R 0 ) T=\sum_{i=0}^{2}w_i(N_{0i}R_1-N_{1i}R_0) T=i=02wi(N0iR1N1iR0)

其中 w 是 预定权重向量预定权重向量 常见的设定有:

  1. w = {0, 1, 2} —— 对于 加性 (共显性) 模式;
  2. w = {0, 1, 1} —— 对于 显性模式 (A对a是显性的);
  3. w = {0, 0, 1} —— 对于 隐性模式 (A对等位基因A是隐性的)。

差值 (N0iR1 − N1iR0) 可以被认为是特定基因型的对照和病例的差值 N0i − N1i,在重新权衡表中的行以使其总和相同之后的表现。

 检验统计量 X2 定义为:
X 2 = T 2 V a r ( T ) X^2=\frac{T^2}{Var(T)} X2=Var(T)T2

其中 Var(T) 是 T 的变体:
V a r ( T ) = R 0 R 1 N ( ∑ i = 0 2 w i 2 C i ( N − C i ) − 2 ∑ i = 1 k − 1 ∑ j = i + 1 k w i w j C i C j ) Var(T)=\frac{R_0R_1}{N}(\sum_{i=0}^{2}w_i^2C_i(N-C_i)-2\sum_{i=1}^{k-1}\sum_{j=i+1}^{k}w_iw_jC_iC_j) Var(T)=NR0R1(i=02wi2Ci(NCi)2i=1k1j=i+1kwiwjCiCj)为了确定是否可以推断趋势,CATT 将检验统计量 X2 与具有 1 个自由度的 χ2 统计量进行比较。

4、线性回归

 线性回归用于表现型或性状是一个持续地变量 (例如肿瘤大小) 而不是二元变量 (例如是否存在疾病) 的情况。它假设 性状值基因型 之间存在 线性关系
 输入数据是一组 N 对 (yi, xi),其中 y i ∈ { 0 , 1 , 2 } y_i \in \{0, 1, 2\} yi{0,1,2} 是基因型 (例如 AA是0,Aa是1,aa是2)。 x i ⃗ ∈ R k \vec{x_i} \in R^k xi Rk基因型xi的个体对应的表现值向量。我们定义:在这里插入图片描述
线性回归发现,存在 β ∈ R k 和 ε ∈ R N ,使得 y = X β + ε β \in R^k和ε \in R^N,使得 y=X β+ε βRkεRN,使得y=+ε
 可以使用 最小二乘法 找到线性回归模型,Graepel 等人考虑了在 同态加密数据 上近似最小二乘法的解决方案。他们的工作重点是 Fisher 的 线性判别分类器,但正如那里所指出的,线性回归可以在类似的框架中投射。请读者参考他们的工作以获取更多详细信息。


六、实际应用中的同态加密

 完全同态加密 (FHE) 使人们能够对加密数据执行任意计算,而无需首先解密数据,也无需了解任何秘密解密密钥。计算结果以加密形式给出,只能由私有解密密钥的合法所有者解密。第一个 FHE 的构建由Gentry在200年发表,近年来出现了很多的改进和新构想。

  1. 计算模型
     在 Gentry 的初步工作和许多后续论文中,计算被建模为具有 XOR 和 AND 门的布尔电路,或者等效地,作为 F2 上的算术电路 (F2 上的算术电路具有加法门和乘法门模)。数据是 按位加密 的,这意味着为消息中的 每个位 生成单独的密文。加法和乘法操作随后在加密的位上被执行。不幸的是,将计算分解为位运算会很快导致电路庞大而复杂,从而使同态计算效率非常低下。
     幸运的是,大多数已知的结构允许在更大的消息空间上进行计算。特别是,如果所需的计算只需要计算 整数值的加法和乘法 (与第4节中介绍的所有算法几乎一样),那么数据 不一定需要以位方式表示。事实上,大多数已知的构想都允许对 整数 (或整数的适当编码) 进行加密,并对这些整数值执行 同态加法和乘法。这种方法的优点是显而易见的:密文现在包含的信息比单个数据位多得多,这使得同态计算更加高效。
     需要注意的是,在后一种方法中,只有 加法 (或减法) 和乘法 可能是 同态运算操作。如上所述,目前尚不清楚如何在 不执行低效的按位计算的情况下 执行整数值的 除法。出于实际原因,在这项工作中,我们将 同态运算 限制为仅包括 加法、减法和乘法
  2. 同态水平
     在所有已知的 FHE 方案中,密文本身就包含一定量的 噪声,这会“污染”密文。这种噪声在 同态操作期间增长,如果噪声变得太大,即使使用正确的解密密钥也无法解密密文。
     一种 somewhat homomorphic encryption scheme 是一种可以在噪声变得足够大以导致解密失败之前评估有限数量的操作 (包括加法和乘法) 的加密方案。somewhat homomorphic encryption scheme 通常非常实用。
     为了执行 无限数量的操作 (并实现完全同态加密),密文需要不断刷新以降低其噪声。这是使用称为 引导 的昂贵过程完成的。
    分级同态加密方案 是一种 允许设置参数以便能够评估给定计算 的方案。换句话说,给定一个想要计算的固定函数,可以以一种 允许同态计算指定函数的方式 选择 方案的参数,而无需使用昂贵的 引导 步骤。分级同态方案 具有 完全同态方案的灵活性,因为它们可以 同态计算任何函数,并且非常实用 (尽管不如 somewhat homomorphic encryption scheme)。我们在实现中使用的是 分级同态加密方案

1、同态加密方案

 在实际应用中,作者使用了 L’opez-Alt 和 Naehrig [LN14b] 提出的 同态加密方案的修改版,该方案基于 [SS11、LTV12、Bra12、BLLN13] 方案。该方案是一种 公钥加密方案,由以下算法组成:

  • 密钥生成算法 KeyGen (params),在输入系统参数时,生成 公钥/私钥对 (pk, sk)
  • 加密算法 Encrypt (pk, m),使用 公钥pk 加密 消息m
  • 解密算法 Decrypt (sk, c),用于使用 私钥sk 解密 密文c
  • 同态加法函数 Add (c1, c2),分别对 m1 和 m2 进行加密得到 c1 和 c2,输出 加密总和 m1 + m2 的密文。
  • 同态乘法函数 Mult (c1, c2),分别对 m1 和 m2 进行加密得到 c1 和 c2,输出 加密乘积 m1*m2 的密文。
    1. 系统参数
     该方案在环 R = Z [ X ] ( X n + 1 ) R=\frac{Z[X]}{(X^n+1)} R=(Xn+1)Z[X] 中运算,其元素是 整数系数 小于 n 的多项式。所有消息、密文、加密和解密密钥等都是 环R 中的元素,并具有这种形式。更详细地说,元素 a ∈ R a \in R aR 的形式为 a = ∑ i = 0 n − 1 a=\sum_{i=0}^{n-1} a=i=0n1,其中 a i ∈ Z a_i \in Z aiZ。R 中的加法是在系数中按分量完成的,乘法只是多项式乘法模 Xn + 1。
     该方案还使用整数模量 q。在下文中,我们用 [a]q 表示将 a ∈ R a \in R aR 模 q 的系数减少到集合 { − ⌊ q 2 ⌋ , . . . , ⌊ q 2 ⌋ } \{-\lfloor \frac{q}{2} \rfloor, ..., \lfloor \frac{q}{2} \rfloor\} {2q,...,2q⌋} 的操作。
     最后,该方案在 R 上使用两个概率分布: χ k e y 和 χ e r r \chi_{key} 和 \chi_{err} χkeyχerr,他们在 R 中生成系数最小的多项式。在实际应用中,将 χ k e y \chi_{key} χkey分布 作为在系数属于 {-1, 0, 1} 的多项式上的均匀分布。根据此分布对元素进行采样意味着从 {−1, 0, 1} 均匀采样其所有系数。
  1. 明文空间
  2. 正式定义
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值