1.一种保护患者隐私和数据泄漏的在线诊断系统,其特征在于:包括医疗用户终端、医疗云服务器、医疗数据终端;
所述医疗用户终端,包括初始化模块和诊断请求模块;所述初始化模块,用于完成系统初始化;所述诊断请求模块,用于产生临床诊断服务请求并发送给医疗云服务器,接收来自医疗云服务器的响应并获得诊断结果;
所述医疗云服务器,包括注册模块和医疗诊断模块;所述注册模块,用于为用户提供注册;所述医疗诊断模块,用于接收来自用户终端的服务请求和医疗数据终端的分类模型参数,实现分类过程中的安全计算过程,并将计算结果作为响应返还至用户终端;
所述医疗数据终端,包括初始化模块、模型存储模块、份额产生模块、数据处理模块和模型更新模块;所述初始化模块,用于完成系统初始化;所述模型存储模块,用于存储现有的SVM分类器参数;所述份额产生模块,用于产生SVM分类器参数的秘密份额并分配给各医疗云服务器;所述数据处理模块,用于与用户终端交互,协助用户终端获得最终结果;所述模型更新模块,用于对SVM分类器进行更新维护;
医疗用户终端通过向n个不共谋的医疗云服务器分发自己的医疗数据份额发出服务请求,各医疗云服务器从医疗用户终端处接收到医疗数据份额后从医疗数据终端获得SVM分类器参数份额和随机数份额;各医疗云服务器在份额上对用户的医疗数据进行归一化和放缩预处理后,利用预处理过的用户数据份额与分类器参数份额同态计算出决策函数值份额;各医疗云服务器利用随机数份额对决策函数值进行保护,并将带随机数的决策函数值份额返还给医疗用户终端;医疗用户终端利用份额恢复出带有随机数的决策函数值,并与医疗数据终端交互后削除随机数获得分类结果。
2.根据权利要求1所述的保护患者隐私和数据泄漏的在线诊断系统,其特征在于:所述诊断请求模块,包括份额产生子模块和秘密恢复子模块;
所述份额产生子模块,用于构造多项式实现shamir门限方案,产生用户医疗数据的秘密份额,并将份额分发给所有医疗云服务器;所述秘密恢复子模块,用于接收来自各医疗云服务器的秘密份额,并通过拉格朗日插值公式恢复秘密内容。
3.根据权利要求1所述的保护患者隐私和数据泄漏的在线诊断系统,其特征在于:所述医疗诊断模块,包括份额产生子模块和安全计算子模块;
所述份额产生子模块,用于构造多项式实现shamir门限方案,产生SVM分类器参数的秘密份额,并将份额分发给包含自身在内的所有医疗云服务器;所述安全计算子模块,用于接收来自其他医疗云服务器的秘密份额,并利用shamir门限方案的同态性进行安全计算。
4.一种保护患者隐私和数据泄漏的在线诊断方法,其特征在于,包括以下步骤:步骤1:系统初始化;
医疗用户终端与医疗数据终端约定一个大素数p;数据终端将大素数p公开给各医疗云服务器;其中,p≥n+1,n为医疗云服务器的数量;
步骤2:服务请求;
医疗用户终端产生医疗数据的秘密份额,将份额按顺序分发给n个医疗云服务器;各医疗云服务器收到来自用户的医疗数据份额后向医疗数据终端发出分类器参数请求;
其中,医疗用户按照(k,n)‑shamir秘密分割门限方案产生医疗数据的秘密份额,要求n≥2k+1,其中k表示shamir秘密分割方案的门限;用户的医疗数据为m维的向量,表示为t=(t1,…,tm);份额产生方法为:在GF(p)\{0}上随机选择k‑1个系数a1,a2,…,ak‑1构造一个k‑k‑1
1次多项式f(x)≡a0+a1x+…+ak‑1x (modp),系数a0为秘密,GF(p)表示模p的有限域,{(i,f(i))|i=1,2,…,n}表示a0的n个秘密份额,a0秘密分割记作[a0;f]k;用户分别以医疗数据向量的各维为秘密构造m个多项式,产生m组秘密份额,记作[t1;f1]k,t2;f2]k,…,tm;fm]k,将每组的n个秘密份额按顺序分发给n个医疗云服务器;
步骤3:服务响应;
各医疗云服务器计算决策函数值份额;用医疗数据终端选择的随机数R保护决策函数值;
步骤4:响应接收;
医疗用户终端还原带随机数的决策函数值;医疗用户终端与医疗数据终端联合消除随机数干扰;医疗用户终端获得分类结果。
5.根据权利要求4所述的保护患者隐私和数据泄漏的在线诊断方法,其特征在于:步骤
3的具体实现包括以下子步骤:
步骤3.1:医疗数据终端收到来自医疗云服务器的分类器参数请求后,选择随机数R,用于保护后续步骤中计算出的决策函数值;
步骤3.2:医疗数据终端按照(k,n)‑shamir秘密分割门限方案产生SVM分类模型参数和所选随机数的秘密份额;其中k表示shamir秘密分割方案的门限;用户的医疗数据为m维的向量,表示为t=(t1,…,tm);
SVM分类模型为:
其中,SVM分类模型参数包括:支持向量 支持向量对应的标签值 拉格朗日乘子 截距参数b和核函数指数参数d,其中是支持向量的集合;
医疗数据终端向各医疗云服务器分发预处理过程必须的参数;所述预处理方法为:其中 γ为放缩倍 数,σ为所 有训练样 本的 标准差 ,为所有样本的均值;医疗数据终端与计算出αsys以及 后,构造多项式生成预处理参数份额,分类器参数份额和随机数r的份额;用于用户医疗数据预处理的份额包括 用于决策函数值计算的份额包括[xs1;μ1]k,xs2;
μ2]k,…,[xsm;μm]k,[b;ξ]k,[R;τ]k, [1;υ]k, 其中,μ1,μ2,…,μm,ξ、τ、 分别表示各参数的秘密分割所对应的k‑1次多项式;医疗数据终端将上述份额按顺序分发给各医疗云服务器,同时将核函数指数d广播给所有医疗云服务器;
步骤3.3:各医疗云服务器收到来自医疗数据终端的所有份额后利用预处理份额对用户医疗数据份额进行预处理;
步骤3.3.1:各医疗云服务器计算预处理后的医疗数据份额;
针对用户医疗数据的第j维,第i个服务器持有医疗数据份额(i,fj(i)),样本均值份额(i,gj(i)),参数份额(i,h(i));其中,fj、gj、h分别表示tj、 的秘密分割所对应的k‑1次多项式;
根据预处理公式 计算出预处理后的医疗数据向量第j维 的第i个份额(i,h(i)(fj(i)‑gj(i))),对于所有医疗云服务器,表示为他们共同持有 的秘密分割秘密份额上的乘法计算会使门限加倍,新产生的秘密分割的门限会从k上升为2k;
步骤3.3.2:医疗云服务器对预处理后的医疗数据份额进行下降处理,将 的秘密分割门限下降至k;定义函数f′=h(fj‑gj),则各医疗云服务器分别持有份额(i,f′(i)),i=1,2,…,m,由拉格朗日插值公式有:其中 该式对于任意最高次小于n的多项式f′(X)都成立;各医疗云服务器分别以自己持有的预处理后医疗数据份额为秘密产生份额[f′(i);λi]k并分发给包含自己在内的所有医疗云服务器;各医疗云服务器收到所有来自其它医疗云服务器的份额后计算:
即把 下降为 定义 预处理后的医疗数据向量表示为
步骤3.4:各医疗云服务器计算决策函数值份额;
步骤3.4.1:计算核函数底数部分;
核函数形如 计算其底数部分 其中,xs、分别表示支持向量和预处理后的医疗数据向量;
医疗云服务器计算:
对 进行下降,定义函数o表示门限下降后 的秘密分割所对应k‑1次多项式,则下降后的秘密分割记作 接着计算其中,v表示整数1的秘密分割对应的k‑1次多项式;
步骤3.4.2:核函数底数累乘;
医疗云服务器计算:
步骤3.4.3:计算结果下降;
下降后的秘密分割用 表示;重复步骤3.4.2和步骤3.4.3的底数累乘和下降操作直到累乘d‑1次,求得核函数的秘密分割表示为 其中,δ、εs分别表示 的秘密分割对应的k‑1次多项式,表示支持向量的集合;
步骤3.4.4:计算决策函数值份额;
决策函数的形式为:
服务器计算:
后进行下降,下降后的秘密分割用 表示;
再加上截距部分:
算出决策函数值的秘密分割,记作[d(t);π+ξ]k;
步骤3.5:用医疗数据终端选择的随机数R保护决策函数值;
首先对决策函数值进行一次乘二操作得到2d(t)的秘密分割[2d(t);2(π+ξ)]k;由于整个shamir门限方案是在模p的有限域上设计的,最终还原出的秘密也是模p的,即2d(t)modp;后续通过恢复秘密2d(t)modp的最低位判断分类结果:最低位为1表示患者检查结果呈阴性;最低位为0表示患者检查结果呈阳性;
接着用随机数R保护决策函数值得到[2d(t)+R;2(π+ξ)+τ]k,用[2d(t)+R;F]k表示,所有医疗云服务器将各自持有的2d(t)+R的份额发送给医疗用户。
6.根据权利要求5所述的保护患者隐私和数据泄漏的在线诊断方法,其特征在于:步骤
4的具体实现包括以下子步骤:
步骤4.1:还原带随机数的决策函数值;
医疗用户终端接收到所有来自医疗云服务器的秘密份额后,利用拉格朗日插值公式对秘密2d(t)+R进行还原:
步骤4.2:医疗用户终端与医疗数据终端联合消除随机数干扰;
医疗用户终端还原出的秘密记作S=2d(t)+R(modp),其最低位记作S0;诊断结果对应2d(t)modp的最低位,记作V0;R的最低位记作R0;考虑到随机数R的引入可能导致值溢出的现象,即2d(t)+R>p,也就是S<R,进而有:医疗用户终端和医疗数据终端利用安全比较协议比较S与R的大小,结果用一个比特c表示:c=0表示S>R;c=1表示S<R;c由用户获得,同时医疗数据终端将R0发送给医疗用户终端;
步骤4.3:获得分类结果;
医疗用户终端利用比较结果c和来自医疗数据终端的R0计算V0=S0⊕R0⊕c,有: