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

文档序号:9813929阅读:来源:国知局
4早于T4且I T4-TS41卽T,则执行步骤7.2),否则,该查询结果 无效,其中Nt为系统的最大通信时延;
[0123] 7.2)医疗用户终端将加密的第二次交互的运算结果R2和第二次交互医疗诊断服 务器时间戳TS4共同作为杂凑函数HO的输入,计算得到第二次交互的医疗诊断服务杂凑值 也=H(R2 I I TS4),并将该杂凑值也、生成元g、第二次交互医疗诊断服务器的签名5?苗,及医 疗诊断服务器的公钥PKsp带入双线性映射函数SO,判断等式P(狂姆二為PA'.w./-/4)是否 成立,若该等式成立,则该查询结果有效,否则,该查询结果无效。
[0124] 7.3)若查询结果有效,则医疗用户终端利用自己的私钥解密对该查询结果进 行加密,得到分类正量护、分类负量r、随机正量M+和随机负量r,执行步骤7.4),否则,医疗 用户终端舍弃该查询结果,重新发送服务查询请求;
[0125] 7.4)将随机正量r与医疗用户终端生成加密的服务查询请求时秘密保存的大整 数随机数S的逆元s'进行模乘法运算得到消除秘密的随机正量r = M+ ? s'mod P,同时将随 机负量1^^医疗用户终端生成加密的服务查询请求时秘密保存的大整数随机数3的逆元3' 进行模乘法运算,得到消除秘密的随机负量W- = M- ? s'mod P,再将r,N-,W+和W-带入诊断决 策公式:
,计算出符号函数SgnO的 函数值,且 YE{+l,〇,-l},
[0126] 其中a是医疗用户终端在生成加密的服务查询请求时所选择的一个长度为k2的大 素数,P是医疗用户终端生成加密的服务查询请求所选择一个长度为ki比特的大素数,即ki 和k2是医疗用户选择的两个长度不同的安全参数;
[0127] 7.5)根据Y的正负得到医疗用户终端查询请求信息的预诊断结果:若Y〉0,则医疗 用户得知预诊断结果为阳性,即医疗用户已经感染某种疾病,否则,预诊断结果为阴性,即 医疗用户没有感染该种疾病。
[0128] 医疗用户根据预诊断结果确定是否到医院检查确诊。
[0129] W上描述仅是本发明的一个具体事例,不构成对本发明的任何限制。显然对于本 领域的专业人员来说,在了解了本
【发明内容】
和原理后,都可能在不背离本发明原理、结构的 情况下,进行形式和细节上的任何修正和改变,但是运些基于本发明思想的修正和改变仍 在本发明的权利要求保护范围之内。
【主权项】
1. 一种双向隐私保护的医疗诊断服务查询系统,包括:医疗诊断服务器,医疗用户终 端,其特征在于: 医疗诊断服务器包括: 系统初始化及注册模块,用于完成系统初始化和提供注册; 数据存储模块,用于存储使用现有医疗数据库建好的非线性支持向量机SVM模型数据; 医疗诊断模块,用于接收医疗用户终端发送的服务查询请求,与存储的非线性支持向 量机SVM模型数据进行运算,生成查询响应结果,并将该查询响应结果发送给医疗用户终 端; 服务器安全支持模块,用于提供医疗诊断服务器所需的加密算法和哈希算法; 医疗用户终端包括: 诊断请求模块,用于根据医疗信息生成服务查询请求,发送给医疗诊断服务器,并对接 收到的医疗诊断服务器返回的查询响应结果进行解密,得到预诊断结果; 医疗用户安全支持模块,用于提供医疗用户所需的加密算法和哈希算法。2. 根据权利要求1所述的双向隐私保护的医疗诊断服务查询系统,其中医疗诊断模块 包括: 诊断认证子模块,用于对接收到的医疗用户终端发送的服务查询请求进行验证,将通 过验证的服务查询请求中加密的密文查询信息发送给数据处理子模块,并对数据处理子模 块返回的加密的运算结果进行签名,生成查询响应结果,发送给医疗用户终端; 数据处理子模块,用于对非线性SVM模型数据进行分组,使用医疗诊断服务器的私钥解 密诊断认证子模块发送的加密的密文查询信息,得到密文查询信息,并对密文查询信息进 行多项式聚合运算得到运算结果,再对该运算结果使用公钥加密得到加密的运算结果,发 送给诊断认证子模块。3. 根据权利要求1所述的双向隐私保护的医疗诊断服务查询系统,其中诊断请求模块 包括: 医疗用户认证子模块,用于完成注册,对数据加密子模块发送的公钥加密的密文查询 信息进行签名,生成服务查询请求发送给医疗诊断服务器,并对接收到的医疗诊断服务器 发送的查询响应结果进行验证,将通过验证的查询响应结果发送给数据解密子模块; 数据加密子模块,用于根据医疗信息生成密文查询信息,使用医疗诊断服务器公钥加 密该密文查询信息,并将该加密的密文查询信息发送给医疗用户认证子模块; 数据解密子模块,用于对医疗用户认证子模块发送的通过验证的查询响应结果进行解 密,获得预诊断结果。4. 一种双向隐私保护的医疗诊断服务查询方法,包括: (1)系统参数初始化: (la)医疗诊断服务器选择一个安全参数K; (化)医疗诊断服务器通过运行生成双线性映射群的函数Gen(K),得到双线性映射参数 (夺,矿氏馬,句,其中q是一个K比特的素数,G是一个生成元为g、阶为q的循环群,Gt是一个生 成元为刮g,g)、阶为q的循环群,蹲)为双线性映射函数; (Ic)医疗诊断服务器随机选择SKspEZq^乍为自己的私钥,同时根据生成元g计算与其私 钥SKsP对应的公钥巧:w = g?-,马;表示阶为q的整数群中的非零集合. (Id)医疗诊断服务器选择一个安全的非对称加密算法E()和一个安全的杂凑函数Η (); (1 e)医疗诊断服务器保存自己的私钥SKsp,公开系统参数< 各,G. (,V,么V,,巧),>; (2) 注册及密钥分发: (2a)医疗用户终端化在注册时,随机选择S馬4 G Z/作为自己的私钥,同时根据生成元g 计算与其私钥对应的公钥巧,并将该公钥发送给医疗诊断服务器; (2b)医疗诊断服务器收到医疗用户终端发送的公钥/>AV后,对该公钥进行签名,并将 签名后的公钥信息发送给医疗用户终端; (3) 数据资源预处理: (3a)将医疗诊断服务器存储的非线性SVM模型的决策函数表示为:其中X为待医疗用户终端发送的明文查询信息,X =知,…,屯,||,,馬)€巧%3康示医疗用 户明文查询信息X的第i维的值;X巧第j个支持向量,x,.=0>…,V…v,,,)e巧',vw表示第 j个支持向量Xj的第i维的值,i = l,…,n,j = l,…,m,n表示支持向量的维度,满足η。32,111 表示支持向量的总个数;yj是支持向量^对应的分类标签,且yjE {+1,-1} 为第j个支持 向量^对应的支撑数值,且< ; 丫是非线性支持向量机SVM的模型参数;0表示训练非线 性SVM模型的所有训练样例的均方差,巧%最优偏置值;qi为医疗诊断服务器随机选择的大 素数,满足qi。32,馬表示阶为qi的有限域,巧:表示有限域上的η维向量,sgn()为符号 函数; (3b)将所有的支持向量按照其分类标签y非勺正负进行分组,即将分类标签yj = + l的支 持向量分为第一组P,将分类标签为yj = -l的支持向量分为第二组N;设第一组P中的支持向 量的个数为1,则第二组N中的支持向量的个数为m-1; (4) 医疗用户终端获得自己的明文查询信息X--的,,〇,,)E巧i后,生成加密的服 务查询请求发送给医疗诊断服务器; (5) 医疗诊断服务器提供服务: (5a)医疗诊断服务器接收到医疗用户终端发送的服务查询请求后,验证服务查询请求 的有效性:若服务查询请求有效,则医疗诊断服务器使用私钥SKsp解密该服务查询请求得到 第一次交互的密文查询信息,并将该密文查询信息与支持向量进行多项式聚合运算,生成 第一次交互的响应结果发送给医疗用户终端;否则,医疗诊断服务器舍弃该服务查询请求, 拒绝提供诊断服务; (5b)医疗用户终端接收到医疗诊断服务器发送的第一次交互的响应结果后,验证该响 应结果的有效性:若第一次交互的响应结果有效,则医疗用户终端使用私钥S馬4对该响应 结果进行解密得到第一交互的运算结果,并对该运算结果进行多项式聚合运算和随机隐 藏,生成第二次交互查询请求发送给医疗诊断服务器;否则,医疗用户终端舍弃该响应结 果,重新发送服务查询请求; (5c)医疗诊断服务器接收到医疗用户终端发送的第二次交互查询请求后,验证该查询 请求的有效性:若第二次交互查询请求有效,则医疗诊断服务器使用私钥SKsp对查询请求进 行解密,得到第二次交互的运算结果,并将该第二次交互的运算结果与支持向量的支撑数 值进行多项式聚合运算,得到最终的查询结果;否则医疗诊断服务器舍弃该查询请求,拒绝 提供诊断服务; (6)医疗用户终端获得预诊断结果: (6a)医疗用户终端接收到医疗诊断服务器发送的最终的查询结果后,验证查询结果的 有效性:若查询结果有效,则医疗用户终端利用自己的私钥S吟解密对该查询结果进行加 密,得到分类正量护、分类负量r、随机正量M+和随机负量矿,执行步骤(6b),否则,医疗用户 终端舍弃该查询结果,重新发送服务查询请求; (6b)将随机正量M+与医疗用户终端生成加密的服务查询请求时秘密保存的大整数随机 数S的逆元s'进行模乘法运算得到消除秘密的随机正量r=M+ · s'mod P,同时将随机负量 与医疗用户终端生成加密的服务查询请求时秘密保存的大整数随机数S的逆元s'进行模 乘法运算得到消除秘密的随机负量W- = M- · s'mod P,再将N+,N-,W+和W-带入诊断决策公式:.计算出符号函数sgn()的函数 值,且YE { + 1,0,-1}, 其中α是医疗用户终端在生成加密的服务查询请求时所选择的一个长度为k2的大素数, P是医疗用户终端生成加密的服务查询请求所选择一个长度为ki比特的大素数,且ki和k2是 医疗用户选择的两个长度不同的安全参数; (6c)根据Y的正负得到医疗用户终端查询请求信息的预诊断结果:若Υ〉0,则医疗用户 得知预诊断结果为阳性,即医疗用户已经感染某种疾病,否则,预诊断结
当前第4页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1