双向隐私保护的医疗诊断服务查询系统及方法

文档序号:9813929阅读:643来源:国知局
双向隐私保护的医疗诊断服务查询系统及方法
【技术领域】
[0001] 本发明属于信息安全技术领域,具体设及一种医疗用户和服务提供方隐私保护技 术,可用于在大数据背景下为医疗用户终端提供准确高效的医疗诊断服务,并实现对医疗 用户终端查询信息和服务提供方数据资产的有效隐私保护。
【背景技术】
[0002] 随着机器学习算法的发展和网络终端设备的普适性,医疗诊断系统能够随时随地 为用户提供诊断服务,给人们的生活带来了很大的便利。支持向量机分类算法可W处理高 维空间中的大数据集,现已被广泛应用于医疗诊断服务查询系统中。传统的医疗诊断服务 是当医疗用户终端请求查询医疗诊断服务时,根据自己的医疗信息发送查询请求给服务提 供方,服务提供方将医疗用户的查询信息与存储的数据资源进行运算后,为医疗用户终端 返回医疗诊断结果。运样的系统由于未设及到医疗用户查询信息和服务提供方数据资源的 隐私保护,不仅泄露了医疗用户终端的查询信息,而且使得服务提供方也面临数据资源泄 露的风险。

【发明内容】

[0003] 本发明目的在于针现有技术的不足,提出一种双向隐私保护的医疗诊断服务查询 系统及方法,W保证在正常提供医疗诊断服务的前提下保护用户查询信息和服务提供方数 据资源的隐私。
[0004] 为实现上述目的,本发明的双向隐私保护的医疗诊断服务查询系统,包括:
[000引医疗诊断服务器,医疗用户终端,其特征在于:
[0006] 医疗诊断服务器包括:
[0007] 系统初始化及注册模块,用于完成系统初始化和提供注册;
[0008] 数据存储模块,用于存储使用现有医疗数据库建好的非线性支持向量机SVM模型 数据;
[0009] 医疗诊断模块,用于接收医疗用户终端发送的服务查询请求,与存储的非线性支 持向量机SVM模型数据进行运算,生成查询响应结果,并将该查询响应结果发送给医疗用户 终端;
[0010] 服务器安全支持模块,用于提供医疗诊断服务器所需的加密算法和哈希算法;
[0011] 医疗用户终端包括:
[0012] 诊断请求模块,用于根据医疗信息生成服务查询请求,发送给医疗诊断服务器,并 对接收到的医疗诊断服务器返回的查询响应结果进行解密,得到预诊断结果;
[0013] 医疗用户安全支持模块,用于提供医疗用户所需的加密算法和哈希算法。
[0014] 为实现上述目的,本发明双向隐私保护的医疗诊断服务查询方法,包括:
[001引(1)系统参数初始化:
[0016] (Ia)医疗诊断服务器选择一个安全参数K;
[0017] Qb)医疗诊断服务器通过运行生成双线性映射群的函数Gen(K),得到双线性映射 参数的,扣G,G',,,巧,其中q是一个K比特的素数,G是一个生成元为g、阶为q的循环群,Gt是一 个生成元为別、阶为q的循环群,却)为双线性映射函数;
[0018] (Ic)医疗诊断服务器随机选择SKspEZq*作为自己的私钥,同时根据生成元g计算 与其私钥SKsp对应的公钥=/?,表示阶为q的整数群中的非零集合.
[0019] (Id)医疗诊断服务器选择一个安全的非对称加密算法EO和一个安全的杂凑函数 HO;
[0020] (1日)医疗诊断服务器保存自己的私钥5帖,公开系统参数<9,&打,馬,<?,,《。,,巧),巧)>;
[0021] (2)注册及密钥分发:
[0022] (2a)医疗用户终端化在注册时,随机选择gZ/作为自己的私钥,同时根据生 成元g计算与其私钥5?/,对应的公钥,并将该公钥/??发送给医疗诊断服务 器;
[0023] (2c)医疗诊断服务器收到医疗用户终端发送的公钥?.后,对该公钥进行签名, 并将签名后的公钥信息发送给医疗用户终端;
[0024] (3)数据资源预处理:
[0025] (3a)将医疗诊断服务器存储的非线性SVM模型的决策函数表示为:
[0027] 其中X为待医疗用户终端发送的明文查询信息,X = (G,,…,0,',。..,馬)€巧|,曰康示医 疗用户明文查询信息X的第i维的值;Xj为第j个支持向量,Xj- = 0>...,V...VjJe巧,Vj康 示第j个支持向量Xj的第i维的值,i = l,…,n,j = l,…,m,n表示支持向量的维度,满足n < 232,m表示支持向量的总个数;yj是支持向量X乃4应的分类标签,且7^£{+1,-1};0;为第占'个 支持向量^对应的支撑数值,且e巧,;丫是非线性支持向量机SVM的模型参数;0表示训练 非线性SVM模型的所有训练样例的均方差,b明最优偏置值;q功医疗诊断服务器随机选择 的大素数,满足qi。32, C,,表示阶为qi的有限域,巧 1表示有限域上的n维向量,S即0为 符号函数;
[0028] (3b)将所有的支持向量按照其分类标签yj的正负进行分组,即将分类标签yj =+l 的支持向量分为第一组P,将分类标签为yj = -l的支持向量分为第二组N;设第一组P中的支 持向量的个数为1,则第二组N中的支持向量的个数为m-1;
[0029] (4)医疗用户终端获得自己的明文查询信息X =柄,…,取,...,A:)€巧;后,生成加密 的服务查询请求发送给医疗诊断服务器;
[0030] (5)医疗诊断服务器提供服务:
[0031] (5a)医疗诊断服务器接收到医疗用户终端发送的服务查询请求后,验证服务查询 请求的有效性:若服务查询请求有效,则医疗诊断服务器使用私钥SKsp解密该服务查询请求 得到第一次交互的密文查询信息,并将该密文查询信息与支持向量进行多项式聚合运算, 生成第一次交互的响应结果发送给医疗用户终端;否则,医疗诊断服务器舍弃该服务查询 请求,拒绝提供诊断服务;
[0032] (5b)医疗用户终端接收到医疗诊断服务器发送的第一次交互的响应结果后,验证 该响应结果的有效性:若第一次交互的响应结果有效,则医疗用户终端使用私钥对该 响应结果进行解密得到第一交互的运算结果,并对该运算结果进行多项式聚合运算和随机 隐藏,生成第二次交互查询请求发送给医疗诊断服务器;否则,医疗用户终端舍弃该响应结 果,重新发送服务查询请求;
[0033] (5c)医疗诊断服务器接收到医疗用户终端发送的第二次交互查询请求后,验证该 查询请求的有效性:若第二次交互查询请求有效,则医疗诊断服务器使用私钥SKsp对该查询 请求进行解密,得到第二次交互的运算结果,并将该第二次交互的运算结果与支持向量的 支撑数值进行多项式聚合运算,得到最终的查询结果;否则医疗诊断服务器舍弃该查询请 求,拒绝提供诊断服务;
[0034] (6)医疗用户终端获得预诊断结果:
[0035] (6a)医疗用户终端接收到医疗诊断服务器发送的最终的查询结果后,验证查询结 果的有效性:若查询结果有效,则医疗用户终端利用自己的私钥解密对该查询结果进 行加密,得到分类正量护、分类负量r、随机正量M+和随机负量r,执行步骤(6b),否则,医疗 用户终端舍弃该查询结果,重新发送服务查询请求;
[0036] (6b)将随机正量r与医疗用户终端在生成加密的服务查询请求时秘密保存的大 整数随机数S的逆元s'进行模乘法运算得到消除秘密的随机正量W+ = M+ ? S'mod P,同时将 随机负量r与生成加密的服务查询请求时医疗用户终端秘密保存的大整数随机数S的逆元 s'进行模乘法运算得到消除秘密的随机负量W-=M- ? S'mod P,再将N+,N-,W+和W-带入诊断 决策公式:
,计算出符号函数SgnO 的函数值,且YE {+1,0,-1},
[0037] 其中a是医疗用户终端在生成加密的服务查询请求时所选择的一个长度为k2的大 素数,P是医疗用户终端生成加密的服务查询请求所选择一个长度为ki比特的大素数,且ki 和k2是医疗用户选择的两个长度不同的安全参数;
[0038] (6c)根据Y的正负得到医疗用户终端查询请求信息的预诊断结果:若Y〉0,则医疗 用户得知预诊断结果为阳性,即医疗用户已经感染某种疾病,否则,预诊断结果为阴性,即 医疗用户没有感染该种疾病。
[0039] 医疗用户根据预诊断结果确定是否到医院检查确诊。
[0040] 本发明具有如下优点:
[0041] 1.实现了医疗用户查询信息的隐私保护。
[0042] 本发明中医疗用户终端在给医疗诊断服务器发送服务查询请求前,首先通过轻量 级的随机隐藏技术对自己的查询信息进行加密,使得医疗用户终端的查询信息不会被医疗 诊断服务器和黑客得到,确保了医疗用户查询信息的隐私保护。
[0043] 2.实现了非线性SVM模型数据的隐私保护。
[0044]本发明中医疗诊断服务器在对医疗用户终端的查询信息进行多项式聚合运算时, 通过加入随机数来保护自己存储的非线性SVM模型数据,使得一个医疗用户终端虽然获得 了预诊断结果,但无法获得非线性SVM模型数据,确保了非线性SVM模型数据的隐私保护。 [004引3.能实现高效的医疗诊断查询服务。
[0046] 本发明中由于医疗诊断服务器通过对医疗用户加密的查询信息进行多项式聚合 运算提供诊断服务,具有较高的查询效率,能支持多用户同时在线查询。
【附图说明】
[0047] 图1为本发明系统的方框图;
[0048] 图2为本发明方法的总流程图;
[0049] 图3是本发明中医疗诊断服务子流程图。
【具体实施方式】
[0050] 下面结合附图对本发明做进一步的详细描述。
[0051] 参照图1,本发明系统包括医疗诊断服务器和医疗用户终
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1