技术领域
[0001] 本发明涉及数据安全计算的技术领域,尤其涉及一种基于安全多方计算的敏感数据安全关联分析方法及装置。
相关背景技术
[0002] 随机信息科技的发展,数据信息的越发重要,而基于敏感数据的关联分析也应用不同的行业(例如基因疾病研究、卫星轨迹测量等)。由于各项数据可能涉及个人隐私或企业机密,一旦泄露可能会被人恶意使用,因此在处理时需要进行安全保护。
[0003] 为了能提升数据的安全性,其中一种常用的数据处理方法是利用可信执行环境SKSES进行计算,此方法是通过软硬件结合方式实现安全关联分析,具体是将不敏感但需参与分析处理的数据保存在可信执行环境的外部文件,将敏感数据存放在可信执行环境内,结合外部文件和可信执行环境进行综合计算。虽然上述方式能保护敏感数据,但在计算时,一旦外部文件或可信执行环境被攻击或被恶意串改,数据处理会中断,而且外部文件被串改会导致计算出错,进而降低了分析的精度和数据处理的稳定性。
具体实施方式
[0064] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0065] 为了解决上述问题,下面将通过以下具体的实施例对本申请实施例提供的一种基于安全多方计算的敏感数据安全关联分析方法进行详细介绍和说明。
[0066] 参照图1,示出了本发明一实施例提供的一种基于安全多方计算的敏感数据安全关联分析方法的流程示意图。
[0067] 为了方便理解,在一实施例中,本发明研究的敏感数据是基因组数据,该基因组数据可以表示为一个或多个个体的基因组数据。
[0068] 其中,作为示例的,所述基于安全多方计算的敏感数据安全关联分析方法,可以包括:
[0069] S11、在获取由多个参与方的敏感数据组成的待处理数据集后,将多个基因组数据秘密共享给预设的安全三方计算框架包含的三个计算方,所述敏感数据是关于基因的基因组数据。
[0070] 在一实施例中,假设有t个研究参与者,分别为{SP1、SP2……SPt},每个参与者均输入他们的基因组数据,例如{D1、D2……Dn}。其中,第i个参与者的基因数据Di可以包含一个或多个个体的基因组数据。
[0071] 可以通过安全多方计算协议将上述这些基因组数据随机发送给安全三方计算框架的三个计算方,分别为P1、P2和P3进行后续的计算。
[0072] 在一具体的实现方式中,每个参与者SPi也可以通过安全数据共享方式将基因组数据Di发送给三个计算方。
[0073] 具体来说,以秘密共享数据Dt为例,拥有该数据的研究参与者在本地选择三个数满足Dt=Dt1+Dt2+Dt3,这样Dt的算术秘密共享即为(Dt1,Dt2,Dt3),然后分别将相应的秘密共享发送给三个计算方,具体来说,发送(Dt1,Dt2)给P1,发送(Dt2,Dt3)给2,发送(Dt3,Dt1)给P3。这样,数据Dt就被安全地秘密共享在三个计算方之间。
[0074] 需要说明的是,计算方的数量固定为3个,使用到的安全三方计算协议能够提供更加高效的隐私计算基因数据分析协议。
[0075] S12、控制每个所述计算方对分配得到的基因组数据依次进行过滤处理和主成分提取处理得到主成分数据。
[0076] 在一实施例中,可以让每个计算方对其分配得到的基因组数据依次进行过滤处理和主成分提取处理得到主成分数据,通过过滤和主成分提取处理,安全地过滤掉低质量样本数据,能筛选出有用的数据,在保护数据隐私的前提下,实现高效的数据分析和处理。
[0077] 在一可选的实施例中,所述过滤处理可以包括以下子步骤:
[0078] S121、控制每个所述计算方按照预设的隐私计算协议调用过滤器,对分配得到的待处理数据进行特征计算,得到特征数据,所述特征计算:个体杂合性计算、个体样本基因型缺失率计算、次等位基因频率计算、SNP基因型缺失率计算、哈迪‑温伯格平衡定律计算。
[0079] 在一实施例中,所述个体杂合性过滤计算,如下式所示:
[0080]
[0081] 上式中, 表示Di的第j个SNP是否为杂合子,hij∈{0,1}表示Di的第j个SNP是否缺失,Di表示每个基因组数据的基因样本数据。高水平的杂合性意味着基因样本的质量低。当杂合度大于上限UB1时,表明个体的样本不适合下一次GWAS分析,则相应的基因样本Di则会被删除
[0082] 所述个体样本基因型缺失率计算,如下式所示:
[0083]
[0084] 上式中, 表示SNP缺失率在所有m个SNP中的比例。
[0085] 在一实施例中,具有异常数量的缺失基因型的个体样本表明该基因样本的质量差,应将此样本从数据集中删除。基因型缺失阈值的常见UB2为5%左右。
[0086] 所述次等位基因频率计算,如下式所示:
[0087]
[0088] 上式中,Xij∈{0,1,2}代表Di的第j个SNP的基因型, 其中表示Di的第j个SNP是纯合替代、杂合或纯合参考等位基
因,LB3表示下限值, 表示次等位基因频率。
[0089] 在一实施例中,两个等位基因中较罕见的频率通常被称为MAF。具有低MAF的SNP更容易受到基因分型错误的影响,需要删除掉这个SNP位点。
[0090] 例如,如果SNP仅显示100个个体中的一个个体的变异,则在统计分析上没有用处。较小的MAF会降低统计效率并可能导致错误结果。
[0091] 所述SNP基因型缺失率计算,如下式所示:
[0092]
[0093] 上式中, 表示所有n个样本中缺失SNP的比例。
[0094] 需要说明的是,对于每个基因样本数据Di, 表示所有n个样本中缺失SNP的比例。SNP的高缺失率意味着该SNP难以进行基因分型。缺失基因型比例较高的SNP应该被删除。传统的UB4一般设置为为5%左右。
[0095] 所述哈迪‑温伯格平衡定律计算,如下式所示:
[0096]
[0097] 上式中,yi∈{0,1}代表基因样本
Di的表型,n是样本总数,
[0098] 需要说明的是,也可以采用特定场景领域的过滤器筛选数据,例如,对于全基因组关联分析,可以采用Hardy‑Weinberg平衡(Hardy‑Weinberg Equilibrium,HWE)过滤器。
[0099] S122、从所述特征数据中筛选满足预设阈值范围的数据得到过滤数据。
[0100] 在一实施例中,在利用各个过滤器进行计算后,可以将每个计算结果与对应的阈值进行比较,判断过滤器的统计结果是否大于其对应的过滤阈值,若是,则满足预设阈值范围,可以筛选出这部分数据,得到过滤数据。
[0101] 在一实际操作中,在三个计算方各自可以利用隐私计算协议完成上述5个计算,并调用大小比较协议判断某个基因样本或者SNP位点是否符合要求(根据给定的上限或下限判断),比较结果被公开,不符合要求的基因样本或者SNP位点会被删除,对应可以看成在原有输入矩阵上删除某些行或列以后剩下的数据,并将筛选处理的数据构建成一个矩阵,供后续步骤使用。
[0102] 另外,每个计算方在进行阈值大小比较时,也可以调用如下半诚实安全模型下的比较协议,比较协议的目的是比较两个值的大小,并返回0或1表示比较结果。
[0103] 例如,令计算方P1和P2各持有关于x和c的秘密份额,分别是[x]A和 (k
是环2 域,需要满足环域上的性质)。然后分如下两个阶段处理数据:在预处理阶段,P1和P2B
分别抽取两个随机值 和 P1再生成r1的符号位的布尔分享[MSB(r1)] ,
具体地,MSB是指一个元素的最高位,这里即表示符号位,MSB(r1)是指r1的符号位。
[0104] 在线阶段,各方在本地完成隐私减法计算[m]A=[x]A‑[c]A,P1向P3发送r1+m1+r2+m2,P2向P3发送r1 m3‑r2,P3通过将r1+m1+r2+m2和r1 m3‑r2相加来重构r1 m,然后P3秘密地将r1 m的符号MSB(r1m)以布尔共享的形式共享给三方,最后,各方本地计算从而得到比较结果。
[0105] 在一可选的实施例中,所述过滤处理可以包括以下子步骤:
[0106] S123、利用主成分分析算法对所述过滤数据得到降维后的主成分数据;
[0107] S124、将所述成分数据投影到预设的随机子空间得到投影矩阵,所述预设的随机子空间为每个所述计算方共同抽样一个随机矩阵并利用所述随机矩阵计算的空间矩阵。
[0108] S125、通过矩阵分解算法提取投影矩阵的标准正交基,并利用所述标准正交基计算协方差矩阵。
[0109] S126、将所述协方差矩阵转化为小维矩阵并进行重构得到的主成分数据。
[0110] 在一可选的实施例中,所述成分数据,如下式所示:
[0111]
[0112] 上式中,Xij表示第i个样本的第j个SNP的基因型,μj是列的均值,δj是对于每个SNP j的标准差,Hij是表示Xij中缺失的数据;
[0113] 其中μj和δj的计算公式如下:
[0114]
[0115] 其中,np表示总的基因样本数量。
[0116] 具体地,应用主成分分析算法对过滤数据的矩阵输入进行降维处理,使用i表示行的索引,j表示列的索引,每列数据的主要成分为成分数据,如下式所示:
[0117]
[0118] 在一具体实现方式中,假设三个计算方P1、P2和P3最初持有一个基于算术共享的共A享矩阵[X],并商定一个过采样参数α,若干次迭代β,以及最终得到的主成分数。
[0119] 具体的主成分分析计算如下,各方共同抽样一个随机矩阵 每个计算方计算随机子空间 将 投影到随机子空间上。
[0120] 上述操作将矩阵 化简到随机子空间,这可以显著减少后续步骤的通信和计算。
[0121] 接着,可以通过QR分解(指一种矩阵分解算法)提取随机子空间YT的标准正交基Q,T T然后计算Z=XQ,接下来各计算方可以计算协方差矩阵ZZ,ZAI将协方差矩阵Z Z转化为小维‑1/2
(t+a)*(t+a)矩阵的计算特征分解,最后,可以通过计算Uψ=ZQ′(L′) 来重构想要得到的主成分数据。
[0122] 在本实施例中,通过主成分分析提取主成分数据,可以是对上一步质量控制的结果数据进行降维处理,通过大量矩阵乘法运算以及底层使用优化的矢量乘法协议,减小带来的误差,从而能利用优化后的数据进行后续的数据处理,以提升后续分析与计算的精度。
[0123] 另外,也可以通过调用三方安全计算中的安全子协议,例如安全乘法协议,可以安全地执行上述计算。在完成主成分分析阶段后,主成分分析后得到的结果保留了更为重要的信息,通过主成分分析一些不重要的信息被去除了。
[0124] S13、调用三个所述计算方采用所述主成分数据进行安全关联分析,所述安全关联分析包括数据的关联度计算、数据与标签的关联度计算和恶意安全环境计算。
[0125] 在本实施例中,在计算得到主成分数据后,可以让三个计算方通过基于秘密共享进行安全关联分析,从而计算得出数据的相关性。
[0126] 其中,可以让半诚实安全的线性回归算法以上一步的主成分数据为输入,计算主成分数据与某个已知标签、已知数据之间的关联,进而能根据其关联进行进一步的数据安全分析。
[0127] 在其中一种的实施例中,所述数据的关联度计算可以包括以下子步骤:
[0128] S21、串联三个所述计算方对应的主成分数据以及所述协方差矩阵形成串联矩阵。
[0129] S22、通过矩阵分解算法提取所述串联矩阵的基底并利用所述基底构建基底空间。
[0130] S23、将所述过滤数据以及所述基因组数据对应的标签数据分别投影至所述基底空间,得到所述过滤数据与所述基因组数据对应的标签数据的数据关联度。
[0131] 在一实施例中,关于数据间的关联度分析计算,其输入是来自通过上述主成分分析的秘密共享原理的主成分数据以及相关特征(例如,年龄)。
[0132] 具体地,输入包括经过质量控制后过滤得到的过滤 每个基A n×1
因组数据样本输入时已知的标签数据[y] ∈{0,1} ,主成分分析计算得出的主成分数据还有一个在主成分分析时计算得到的协方差矩阵
A
[0133] 在处理时,首先,各计算方串联主成分数据 的矩阵和协方差矩阵[C] 获得串A A联矩阵[Q′],然后使用QR(矩阵分解算法)分解协议来获得U′的基底[Q′]。之后双方将向量xj和y投射到基底Q的子空间上,得到所述过滤数据与所述基因组数据对应的标签数据的数据关联度。
[0134] 投射具体如下式所示:
[0135]
[0136]
[0137] 此外还需要计算关于j变量的
[0138]
[0139] 其中,
[0140] 在其中一种的实施例中,所述数据与标签的关联度计算可以包括以下子步骤:
[0141] S31、控制每个所述计算方调用比较协议计算关于秘密值的秘密份额值。
[0142] S32、采用每个所述计算方对应的秘密份额值与预设的近似函数将所述主成分数据转换成每个所述计算方对应的隐藏值。
[0143] S33、相互共享每个所述计算方对应的隐藏值,以供每个所述计算方在接收隐藏值后调用混合乘法协议计算数据与标签的关联度。
[0144] 在一实施例中,所述秘密份额值,如下式所示:
[0145]
[0146] 在一实施例中,本发明将非线性逻辑函数f(x)分割为几个(例如m)区间,并选择一系列线性多项式来近似它们。
[0147] 具体地说,所述预设的近似函数是将非线性逻辑函数分割为多个区间,并选择多个线性多项式进行近似得到,所述近似函数,如下式所示:
[0148]
[0149] 在一实施例中,本发明的各个协议采用了精度损失可以忽略不计的逼近方法来提高非线性逻辑函数的效率。
[0150] f(x)函数表示如下的式子:
[0151]
[0152] 其中,di=MSB(x‑ci)∈{0,1},当di意味着x‑ci<0。在函数中,值ai,bi和ci是公开常数,因为函数f(x)是公开已知的。
[0153] 为了在三方之间安全地计算上述的方程,在线性回归协议中,各方调用比较协议以安全地计算得到关于秘密值di的秘密份额 其中根据安全三方计算协议可知,具体每一个计算方得到的关于秘密值di的秘密份额为:P1知道(di1,di2),P2知道(di2,di3),P3知道(di3,di1)。
[0154] 然后对于i∈{1,...,m},各个计算方可以计算di((ai‑1x+bi‑1)‑(aix+bi))。
[0155] 需要说明的是,注意到di是在布尔分享中的秘密份额,但是x是在算术共享中的秘密份额。可以让gi(x)=((ai‑1x+bi‑1)‑(aix+bi))。由于所有的ai和bi是公共的,因此函数gi(x)能够在本地并行地计算。
[0156] 然后各个计算方可以调用混合乘法协议隐私地计算两个数di和gi(x)乘法即[digiA B A(x)]=[di][gi(x)]。
[0157] 在一实施例中,[gi(x)]A=(gi(x)1,gi(x)2,gi(x)3)和[di]B[gi(x)]A能够写成[di]BA B B[gi(x)]=gi(x)2[di]+(gi(x)1+gi(x)3)[di]。
[0158] 需要说明的是,计算[di]B[gi(x)]A能够简化成计算di(gi(x))2和((gi(x))1+(gi(x))3)di,这可以通过三方不经意传输来执行。
[0159] 具体地,[di]B[gi(x)]A的计算细节如下。
[0160] 假设P1(发送者)选取一个随机数r3和定义两个信息,两个信息分别为和
然后P2(接受者)可以在使用不经意传输技术在不知道 的情况下获得
[0161] 在这样做的过程中,接收方P2只能获得发送方发送的两条消息中的一条,例如di(gi(x))2‑r3,并且发送方不能知道关于b2的任何信息。
[0162] 同样,当计算((gi(x))1,(gi(x))3)di时,P2(作为发送方)对一个随机数r4进行抽样,并定义了两个消息, 和P2(作为接收端)可以使用不经意
传输可以知道((gi(x))1,(gi(x))3)di‑r4。P2可以得到gi(x)di‑r3‑r4。为了秘密地将gi(x)di共享给三方,使用一对零共享(s1,s2,s3)和(s′1,s′2,s′3)。
[0163] 其中,两个零共享的集合具体是2个0的不同的秘密共享(同一个数可以生成不一样的秘密份额,使得两个0的秘密共享不一样,不存在集合或者相应的特殊关系)。
[0164] 可以令[gi(x)di]A=(s1+s′1+r3,gi(x)d‑r3‑r4+s2+s′2,s3+s′3+r4)。为了使其成为一个有效的复制共享,P2将gi(x)d‑r3‑r4+s2+s′2发送给P1,P2将s1+s′1+r3发送给P3。这样才满足了三方安全计算方案的复制构造,即每个计算方拥有某个秘密值的秘密份额中的两份。进而能让各个计算方利用秘密份额中的数据进行计算,以得到数据与标签的关联度。
[0165] 在其中一种的实施例中,所述恶意安全环境的计算,包括:
[0166] S41、调用每个所述计算方生成并相互共享关于所述主成分数据的共享符号。
[0167] S42、当所述计算方确定本地生成的共享符号和接收到共享符号相同时,按照乘法协议对本地存储的数据进行比较计算,得到比较结果。
[0168] 在一实施例中,为了将上述各个步骤的计算协议扩展到恶意安全领域,以上各个计算协议可以使用一个新的恶意安全比较协议。
[0169] 可以与上述比较协议一样,在进行计算前,各个计算方需要进行一个预处理。需要说明的是,本实施例的比较协议是安全地实现两个数的大小比较,这两个数以及大小比较结果都是秘密共享形式存在的,输入的两个数和比较结果的安全性都得到保证。
[0170] 具体地,各个计算方需要使用到秘密共享的乘法三元组([r]A,[r1]A,[r2]A),其中r=r1r2,每个计算方都拥有三个秘密值r,r1和r2的部分秘密份额,秘密共享的乘法三元组的生成也可以通过使用剪切和选择技术批量生成。
[0171] 在开始时,各个计算方持有两个值x和c的算术秘密份额[x]A和[C]A,以及一个正确A A A的乘法三重([r] ,[r1] ,[r2]),比较协议的目的是得到两个值x和c的大小比较结果(用m表示),如果x<c,则m=1,如果x>c,则m=0。在预处理阶段的开始,通过并行调用能够把秘密值公开给某一个计算方的重构函数Freconstruct,r1被重构给P1和P3,r2被重构给P2和P3。具体如下所示:
[0172] 参数:各方拥有份额[x]A和下标j∈{1,2,3}。
[0173] 1)参与方Pj+1和Pj‑1分别发送Xj‑1给Pj。
[0174] 2)Pj检查Pj+1和Pj‑1的份额是否相等,如果相等就输出。
[0175] X=Xj+Xj‑1+Xj+1;否则⊥。然后协议Πreconstruct安全计算功能Freconstruct。
[0176] 其次,r1和r2的符号通过称为Fshare‑sign分别共享给各方,该符号可以共享三方中两方持有的秘密符号。具体如下所示:
[0177] 参数:Pj+1和Pj拥有变量x∈Z2k。
[0178] 1)参与方Pj+1生成布尔分享x的符号[MSB(x)]B∈{0,1}和
[0179] 发送 给Pj, 发送给Pj‑1。
[0180] 2)参与方Pj‑1发送 给Pj。Pj可以重构MSB(x),以检查MSB(x)是否正确。
[0181] 如果不正确的话,就会发送⊥给其它的参与方,并终止。
[0182] 由于现在计算的双方持有一致正确的共享[MSB(r1)]B和[MSB(r2)]B。最后,各方在本地计算 从而得到值r的布尔共享此外,各方在本地完成计算得到比较结果m
A A A
的算术分享[m]=[x]‑[c]。
[0183] 然后在在线阶段,各方通过调用恶意安全模型下的乘法协议计算两个数r和m乘法Arm,并获得有效的共享[rm] 。接下来各方调用Freconstruct将rm重构给P1和P2。类似地,各方调B
用Fshare‑sign来共享rm的符号。因此,双方持有[MSB(rm)]的正确份额。最后,各方在本地设置两个数的比较结果m的秘密共享 得到正确的两
B
个数x和c的大小比较结果m的布尔共享[MSB(m)]。
[0184] 本发明的方案是完成安全的数据统计分析,旨在进行大数据分析的过程中保护数据的安全(主要是隐私性),即在不泄漏原始输入数据的情况下对数据中所蕴含的信息通过上述所涉及的各种计算进行提取和分析后得到有用的结果,在整个对数据的统计分析过程中,基于安全三方计算协议完成的计算保证输入数据的安全性。上述操作中,对两个数值进行比较是数据统计分析会涉及的二值运算,因为做比较运算的两个数值是敏感数据,所以需要保证安全性。
[0185] 另外,需要说明的是,本发明的恶意安全环境是密码学领域安全模型的一种定义,它相对于“半诚实安全”的安全层级更高。所以,将协议扩展到恶意安全领域执行的计算具体是指在恶意环境下进行计算。其中,在恶意安全环境下的攻击者具备篡改数据或篡改计算的能力,可以不按照事先约定的计算步骤执行。而半诚实安全环境下的攻击者不具备不按照事先约定的计算步骤执行的能力,只能窃听计算过程中存储、传输的信息。
[0186] 通过恶意安全模型下的乘法协议和比较协议可以将前述半诚实安全模型下的质量控制、主成分分析、趋势性检验、线性回归协议扩展为恶意安全。
[0187] 此外,将半诚实安全模型下协议扩展到恶意安全时,需注意线性回归协议在两种安全模型下的区别。在半诚实安全模型下,线性回归协议调用混合乘法协议来简化不同秘密共享方案中两个值相乘的计算。但是,在恶意安全模型下,这种混合乘法协议不再安全。B A
因此,计算方必须首先利用恶意安全共享转换协议将[b]转换为[b] ,然后通过调用恶意安A A
全乘法协议计算[a]转换为[b]。
[0188] 参照图2,示出了本发明一实施例提供的一种基于安全多方计算的敏感数据安全关联分析方法的操作流程图。
[0189] 具体地,其操作可以包括以下步骤:
[0190] 第一步,获得多个参与方的输入敏感数据。
[0191] 第二步,执行基于安全多方计算的质量控制,过滤低质量数据。
[0192] 第三步,执行基于安全多方计算的主成分分析算法。
[0193] 第四步,执行基于安全多方计算的趋势性检验,计算数据之间的关联性。
[0194] 第五步,执行基于安全多方计算的线性回归函数,计算数据与标签的关联性。
[0195] 第六步,扩展上述半诚实安全的计算至恶意安全的计算。
[0196] 在本实施例中,本发明实施例提供了一种基于安全多方计算的敏感数据安全关联分析方法,其有益效果在于:本发明在获取敏感的基因组数据后,将基因组数据随机发送给安全三方计算框架三个计算方,再由安全三方计算框架的三个计算方对数据进行过滤、主成分提取以及安全关联分析,通过安全三方计算框架进行处理可以提升数据处理的稳定性,即使任意一计算方被攻击,也能调用剩余两个计算方对数据进行计算,进而能避免处理中断的情况,并且各个计算方在计算或比较时是秘密共享形式处理,能避免数据被串改或泄露,确保能提升计算与比较的精度以及可以确保数据的安全性。
[0197] 本发明实施例还提供了一种基于安全多方计算的敏感数据安全关联分析装置,参见图3,示出了本发明一实施例提供的一种基于安全多方计算的敏感数据安全关联分析装置的结构示意图。
[0198] 其中,作为示例的,所述基于安全多方计算的敏感数据安全关联分析装置可以包括:
[0199] 获取与分配模块301,用于在获取由多个参与方的敏感数据组成的待处理数据集后,将多个基因组数据秘密共享给预设的安全三方计算框架包含的三个计算方,所述敏感数据是关于基因的基因组数据;
[0200] 过滤与提取模块302,用于控制每个所述计算方对分配得到的基因组数据依次进行过滤处理和主成分提取处理得到主成分数据;
[0201] 分析处理模块303,用于调用三个所述计算方采用所述主成分数据进行安全关联分析,所述安全关联分析包括数据的关联度计算、数据与标签的关联度计算和恶意安全环境计算。
[0202] 可选地,所述过滤处理,包括:
[0203] 控制每个所述计算方按照预设的隐私计算协议调用过滤器,对分配得到的待处理数据进行特征计算,得到特征数据,所述特征计算:个体杂合性计算、个体样本基因型缺失率计算、次等位基因频率计算、SNP基因型缺失率计算、哈迪‑温伯格平衡定律计算;
[0204] 从所述特征数据中筛选满足预设阈值范围的数据得到过滤数据。
[0205] 可选地,所述个体杂合性过滤计算,如下式所示:
[0206]
[0207] 上式中, 表示Di的第j个SNP是否为杂合子,hij∈{0,1}表示Di的第j个SNP是否缺失,Di表示每个基因组数据的基因样本数据;
[0208] 所述个体样本基因型缺失率计算,如下式所示:
[0209]
[0210] 上式中, 表示SNP缺失率在所有m个SNP中的比例;
[0211] 所述次等位基因频率计算,如下式所示:
[0212]
[0213] 上式中,Xij∈{0,1,2}代表Di的第j个SNP的基因型, 其中表示Di的第j个SNP是纯合替代、杂合或纯合参考等位基
因,LB3表示下限值, 表示次等位基因频率;
[0214] 所述SNP基因型缺失率计算,如下式所示:
[0215]
[0216] 上式中, 表示所有n个样本中缺失SNP的比例;
[0217] 所述哈迪‑温伯格平衡定律计算,如下式所示:
[0218]
[0219] 上式中,yi∈{0,1}代表基因样本
Di的表型,n是样本总数,
[0220] 可选地,所述主成分提取处理,包括:
[0221] 利用主成分分析算法对所述过滤数据进行降维处理得到成分数据;
[0222] 将所述成分数据投影到预设的随机子空间得到投影矩阵,所述预设的随机子空间为每个所述计算方共同抽样一个随机矩阵并利用所述随机矩阵计算的空间矩阵;
[0223] 通过矩阵分解算法提取投影矩阵的标准正交基,并利用所述标准正交基计算协方差矩阵;
[0224] 将所述协方差矩阵转化为小维矩阵并进行重构得到的主成分数据。
[0225] 可选地,所述成分数据,如下式所示:
[0226]
[0227] 上式中,Xij表示第i个样本的第j个SNP的基因型,μj是列的均值,δj是对于每个SNP j的标准差,Hij是表示Xij中缺失的数据;
[0228] 其中,其中μj和δj的计算公式如下:
[0229]
[0230] 其中,np表示总的基因样本数量。
[0231] 可选地,所述数据的关联度计算,包括:
[0232] 串联三个所述计算方对应的主成分数据以及所述协方差矩阵形成串联矩阵;
[0233] 通过矩阵分解算法提取所述串联矩阵的基底并利用所述基底构建基底空间;
[0234] 将所述过滤数据以及所述基因组数据对应的标签数据分别投影至所述基底空间,得到所述过滤数据与所述基因组数据对应的标签数据的数据关联度。
[0235] 可选地,所述数据与标签的关联度计算,包括:
[0236] 控制每个所述计算方调用比较协议计算关于秘密值的秘密份额值;
[0237] 采用每个所述计算方对应的秘密份额值与预设的近似函数将所述主成分数据转换成每个所述计算方对应的隐藏值;
[0238] 相互共享每个所述计算方对应的隐藏值,以供每个所述计算方在接收隐藏值后调用混合乘法协议计算数据与标签的关联度。
[0239] 可选地,所述秘密份额值,如下式所示:
[0240]
[0241] 所述预设的近似函数是将非线性逻辑函数分割为多个区间,并选择多个线性多项式进行近似得到,所述近似函数,如下式所示:
[0242]
[0243] 所述隐藏值的计算如下式所示:
[0244]
[0245] 其中,di=MSB(x‑ci)∈{0,1},值ai,bi和ci是公开常数。
[0246] 可选地,所述恶意安全环境的计算,包括:
[0247] 调用每个所述计算方生成并相互共享关于所述主成分数据的共享符号;
[0248] 当所述计算方确定本地生成的共享符号和接收到共享符号相同时,按照乘法协议对本地存储的数据进行比较计算,得到比较结果。
[0249] 所属技术领域的技术人员可以清楚地了解到,为方便的描述和简洁,上述描述的装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0250] 进一步的,本申请实施例还提供了一种电子设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述实施例所述的基于安全多方计算的敏感数据安全关联分析方法。
[0251] 进一步的,本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行程序,所述计算机可执行程序用于使计算机执行如上述实施例所述的基于安全多方计算的敏感数据安全关联分析方法。
[0252] 以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。