CN110611567B - 基于非确定性有限自动机的隐私保护医学诊疗系统 - Google Patents

基于非确定性有限自动机的隐私保护医学诊疗系统 Download PDF

Info

Publication number
CN110611567B
CN110611567B CN201910891804.8A CN201910891804A CN110611567B CN 110611567 B CN110611567 B CN 110611567B CN 201910891804 A CN201910891804 A CN 201910891804A CN 110611567 B CN110611567 B CN 110611567B
Authority
CN
China
Prior art keywords
treatment
encrypted
patient
medical
key
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201910891804.8A
Other languages
English (en)
Other versions
CN110611567A (zh
Inventor
杨旸
黄欣迪
郭文忠
刘西蒙
刘耿耿
程航
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fuzhou University
Original Assignee
Fuzhou University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fuzhou University filed Critical Fuzhou University
Priority to CN201910891804.8A priority Critical patent/CN110611567B/zh
Publication of CN110611567A publication Critical patent/CN110611567A/zh
Application granted granted Critical
Publication of CN110611567B publication Critical patent/CN110611567B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • G06F21/6263Protecting personal data, e.g. for financial or medical purposes during internet communication, e.g. revealing personal data from cookies
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H50/00ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics
    • G16H50/20ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics for computer-aided diagnosis, e.g. based on medical expert systems
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H80/00ICT specially adapted for facilitating communication between medical practitioners or patients, e.g. for collaborative diagnosis, therapy or health monitoring
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • H04L67/025Protocols based on web technology, e.g. hypertext transfer protocol [HTTP] for remote control or remote monitoring of applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy

Landscapes

  • Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Security & Cryptography (AREA)
  • Medical Informatics (AREA)
  • Signal Processing (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Theoretical Computer Science (AREA)
  • Public Health (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Biomedical Technology (AREA)
  • Bioethics (AREA)
  • Epidemiology (AREA)
  • Pathology (AREA)
  • Databases & Information Systems (AREA)
  • Primary Health Care (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Medical Treatment And Welfare Office Work (AREA)

Abstract

本发明涉及一种基于非确定性有限自动机的隐私保护医学诊疗系统。包括密钥生成中心,负责生成系统公共参数,分发服务器的私钥、用户的公/私钥,并执行远程医疗授权操作;医院,针对不同的疾病设计不同的医疗模型,并将其加密的医疗模型外包给云平台以提供远程诊疗服务;患者,将加密的医疗数据发送给云平台以请求获得诊疗服务,并使用自己的密钥来解密云服务器返回的诊疗结果;云平台,为医院提供加密医疗模型的存储服务;计算服务器,当接收到患者的远程诊疗请求后,计算服务器和云平台交互执行安全外包计算协议,并计算出最佳的加密治疗过程。本发明可以为患者推荐最佳的加密治疗建议,并且不会泄露患者的隐私。

Description

基于非确定性有限自动机的隐私保护医学诊疗系统
技术领域
本发明涉及一种基于非确定性有限自动机的隐私保护医学诊疗系统。
背景技术
随着人口老龄化和慢性病的流行,许多社会问题日益加剧。远程诊疗系统可以用于缓解这些社会问题:利用信息技术远程提供可访问的、低成本且优质的临床医疗服务,使患者可以在家里继续接受治疗,并通过远程诊疗系统及时获取用药和治疗方法建议。医疗物联网通过在患者身上部署无线可穿戴(或可植入)的传感器来收集生命体征和生理数据,在远程诊疗中发挥着关键作用。监测到的生理参数被远程发送到医院用于医疗诊断,从而提供比简单的疾病描述更丰富的量化疾病数据。利用详细的医疗物联网监测数据,医生可以为患者提出及时有效的治疗建议(例如治疗方法和药物调整建议)。在远程诊疗系统中,医生的专业知识和经验是影响诊断准确性的重要因素,但是不同的医生的业务水平参差不齐。
医疗模型是根据(对疾病发展过程的)客观医学研究总结出来的,可用于规范治疗过程并提供标准化的优质医疗服务。有限自动机(FA:finiteautomata)可用于表示医疗模型,与基于流程图或框图的模型相比,基于FA的医疗模型具有表达规范化、便于疾病状态评估以及可扩展性好等优势。FA可以分为两类:确定性有限自动机(DFA:deterministicfinite automata)和非确定性有限自动机(NFA:nondeterministic finite automata)。确定性有限自动机的“确定性”是指:对于某个给定的输入,其状态每次只能转移到一个特定状态;而非确定性有限自动机的“非确定性”是指:对于某个给定的输入,其状态每次可能转移到多个状态。因此,DFA可视为NFA的特例;而 NFA的功能更全面,因为它能够用于表达非确定性的状态转移,并允许空转移(ε-move),即 NFA也可在无符号输入的情况下进行状态转移。NFA是一种重要的建模工具并广泛应用于现实中的多个领域,例如正则语言处理,程序词法分析和医学建模等。基于NFA的医疗模型已被用于疾病监测、诊疗、病毒基因检测等领域。
由于云平台具有高可用性、易接入性以及算力强等优势,基于NFA的医疗模型可以外包给云平台,以根据(医疗物联网监测的)患者生理数据来进行实时的诊断决策和治疗方法推荐。基于医疗模型的定量分析,可以提高诊断的准确性。尽管远程诊疗技术有很多优点,但如果没有适当的安全和隐私保护机制,医疗服务提供者和患者仍然会对这项技术持保留态度。由于优质的NFA医疗模型通常被视为一个医疗机构的知识产权和核心竞争力,因此其所面临的一个主要挑战是如何在提供医疗服务过程中保护医疗模型的隐私。另一方面,患者健康状况的隐私性受法律保护,在未授权的情况下应该禁止访问。此外,患者接受的治疗过程和方法也是个人敏感数据,不应被云平台或其他第三方获取或访问。
Verma等人提出了一种基于云平台和物联网的疾病诊断框架,用于分析医疗物联网检测到的患者生理数据,并据此诊断患者可能患有的疾病。Kumar等人利用基于模糊规则的神经分类器来构建基于云平台和物联网的移动诊疗系统,用于监测和诊断疾病。Alkhaldi等人构建了以患者为中心的实时诊疗系统,通过基于离散事件的动态分析系统来辅助治疗已出院的患者。针对妊娠糖尿病患者,Caballero-Ruiz等人设计了一个临床决策支持系统,利用有限自动机来推断患者的代谢状况并提出治疗建议。以上这些方案实现了基于明文医疗数据的在线诊疗,但没有提供隐私保护机制。
在医疗系统中,为了防止患者敏感医疗数据或诊疗结果的泄露,必须考虑隐私性保护问题。 Yang等人提出了一种轻量级的加密医疗数据可共享、可追踪方案,用于安全可控地接入电子医疗文档,并保护医疗数据的隐私。Rahulamathavan等人设计了基于支持向量机和Paillier同态加密方案的临床决策支持系统,但其在诊断过程中需要服务器和医生之间进行多轮交互。Zhu等人基于非线性核支持向量机算法提出了保护隐私的在线医疗预诊断方案,该方案利用了多项式聚合技术。Zhang等人提出了一种基于单层感知学习器和随机矩阵算法的安全疾病预测系统,其过程包括疾病样本的学习阶段和疾病预测阶段。
个性化医疗可以通过分析患者的DNA信息来做出诊疗决策。Blanton等人利用有限自动机的外包计算方法,构建了保护隐私的DNA容错检索方案。该方案将DNA序列作为输入,利用有限自动机来表示基因测试模型,在两者都是密文的前提下进行隐私匹配计算。Keshri等人提出了脑电图癫痫棘波自动检测方法,并利用DFA来进行系统功能建模。Mohassel等人将DFA 隐私计算方案用于DNA安全模式匹配。Selvakumar等人利用DFA模型来表示胆固醇代谢的变化情况,并提出了基于DFA的监测方案,用于优化(针对胆固醇代谢紊乱的)诊断过程和治疗方法。Sasakawa等人提出基于同态加密算法的NFA隐私计算方案,可用于保护隐私的病毒基因检测。然而,该解决方案要求NFA的持有者和基因组数据持有者之间进行多轮交互。
发明内容
本发明的目的在于针对现有的医学诊疗方案中:隐私性保护级别不高、难以在保证数据隐私的前提下提供治疗过程建议,以及需要复杂的预处理和多轮交互等问题,提供一种基于非确定性有限自动机的隐私保护医学诊疗系统。
为实现上述目的,本发明的技术方案是:一种基于非确定性有限自动机的隐私保护医学诊疗系统,包括密钥生成中心、医院、患者、云平台、计算服务器;
所述密钥生成中心,负责生成系统公共参数,分发服务器的私钥、用户的公/私钥,并执行远程医疗授权操作;
所述医院,针对不同的疾病设计不同的医疗模型,医院在执行加密操作后将其加密的医疗模型外包给云平台以提供远程诊疗服务;
所述患者,将加密的医疗数据发送给云平台以请求获得诊疗服务,患者使用自己的密钥来解密云服务器返回的诊疗结果;
所述云平台,为医院提供加密医疗模型的存储服务,在收到患者的远程诊疗请求后,根据存储的加密的医疗模型为患者计算出最佳的治疗方案;
所述计算服务器,当接收到患者的远程诊疗请求后,计算服务器和云平台交互执行安全外包计算协议,并计算出最佳的加密治疗过程。
在本发明一实施例中,所述密钥生成中心,生成系统公共参数、分发服务器的私钥、用户的公/私钥,并执行远程医疗授权操作的过程具体如下,
通过运行门限Paillier密码系统中的KeyGen算法,密钥生成中心生成系统公共参数 PP=(g,N)和主密钥SK=λ;然后,执行SkeyS算法分别为云平台和计算服务器生成部分密钥 SK1=λ1和SK2=λ2;接着,密钥生成中心为医院A生成私钥和公钥skA=a、pkA=ga,并为患者B 生成私钥和公钥skB=b、pkB=gb,其中a、b是ZN中的随机数;
若患者B要向医院A请求远程诊疗服务,A将为B定义有效服务时间SP;然后,密钥生成中心根据SP生成证书序列号CN以及授权证书CERA,B:<cer=(CN,A,B,SP,pkσ),Sig(cer,SK)>,其中Sig表示数字签名算法,授权公钥和私钥为
Figure GDA0003279868470000031
sk σ ∈ ZN ;密钥生成中心将授权私钥skσ秘密发送给B。
在本发明一实施例中,所述KeyGen算法实现如下:
κ是安全参数,p和q是两个大素数,
Figure GDA0003279868470000032
计算N=pq,λ=lcm(p-1,q-1)/2,lcm 表示两个数的最小公倍数;定义函数
Figure GDA0003279868470000033
选择生成元g并且g的阶为ord(g)=(p-1)(q-1)/2;而后,生成系统公共参数为PP=(g,N),主密钥为SK=λ;接着,系统为每位用户i生成私钥ski∈ZN和公钥
Figure GDA0003279868470000034
在本发明一实施例中,所述医院,针对不同的疾病设计不同的基于NFA的加权医疗模型,可表示为:
Figure GDA0003279868470000041
其中,
Figure GDA0003279868470000042
表示疾病状态的集合,q0表示初始状态,
Figure GDA0003279868470000043
表示治疗方法的集合,
Figure GDA0003279868470000044
表示接受状态集合
Figure GDA0003279868470000045
δ表示在进行治疗后疾病状态的变化,并用空符号ε表示没有实施任何治疗,每一个状态转移过程均设定有权重w,其中w的值与对应疗法的推荐度成反比。
而后,医院A将基于NFA的加权医疗模型加密为
Figure GDA0003279868470000046
其中加密的状态集合为
Figure GDA0003279868470000047
加密的治疗方法集合为
Figure GDA0003279868470000048
加密的接受状态集合为
Figure GDA0003279868470000049
加密的状态转移权重集合为
Figure GDA00032798684700000410
空符号ε加密为
Figure GDA00032798684700000425
在本发明一实施例中,所述患者,请求远程诊疗服务时,将最近m天的疾病状态Φ=(φ1,...,φm) 加密为
Figure GDA00032798684700000411
并发送给云平台,从而获取诊疗结果。
在本发明一实施例中,当接收到患者的远程诊疗请求后,计算服务器和云平台交互执行安全外包计算协议,并计算出最佳的加密治疗过程的具体实现方式如下:
治疗过程遍历:云平台遍历医疗模型
Figure GDA00032798684700000412
中的所有治疗过程,得到加密治疗过程集合
Figure GDA00032798684700000413
其中加密治疗过程
Figure GDA00032798684700000414
中包含加密疾病状态集合
Figure GDA00032798684700000415
加密治疗方法集合
Figure GDA00032798684700000416
和状态转移权重集合
Figure GDA00032798684700000417
治疗过程的权重计算:云平台和计算服务器根据
Figure GDA00032798684700000418
Figure GDA00032798684700000419
计算出治疗过程
Figure GDA00032798684700000420
的权重
Figure GDA00032798684700000426
因此,可以得到加权治疗过程集合
Figure GDA00032798684700000421
其中
Figure GDA00032798684700000422
治疗过程填充:由于
Figure GDA00032798684700000423
中的元素可能包含不同数量的加密疾病状态和治疗方法,因此计算服务器和云平台可以利用其长度信息辨别出诊断结果;所以为了提高安全性,需要通过填充加密的假位符号来统一各治疗过程的长度,从而获得填充的加权治疗过程集合
Figure GDA00032798684700000424
最佳治疗过程选择:通过安全top-k最佳治疗过程选择协议BPS-k计算出top-k个最佳的治疗过程,即这k个治疗过程对应的权重是最低的。
相较于现有技术,本发明具有以下有益效果:
1.保护隐私的NFA安全外包计算。NFA的隐私计算是实现正则表达式匹配和模式匹配算法的基础:给定一个加密的NFA模型和一组加密的符号集,NFA隐私计算算法通过对两者的安全外包计算获得加密的匹配结果,并且在计算过程中不向云服务器泄露任何中间运算结果。由于NFA的状态转移图中包含多个状态、转移过程、环和自环,因此如何在保护数据隐私的前提下确定(由输入符号引起的)内部状态转移过程成为了重要挑战。本发明提出了一种基于加密 NFA模型的新型匹配算法,可以在多种应用场景下进行NFA的安全计算。
2.实时安全的自动医疗诊断。本系统利用安全协议对(患者的)加密疾病状态和(医疗服务提供者的)基于NFA的加密医疗模型进行计算。疾病状态匹配协议根据(由医疗物联网监测到的) 患者的(多维定量)加密医疗数据,在(基于NFA的)加密医疗模型中找到该数据的匹配状态。本发明通过连续分析患者在一段时间内的疾病状态,利用安全外包计算协议诊断出患者的疾病。
3.安全的治疗过程推荐算法。在基于NFA的医疗模型中,本发明(根据不同治疗方法的疗效)为每个状态转移过程分配权重,这些权重值在医疗模型外包之前也进行了加密。根据安全医疗诊断协议的诊断结果,本系统通过遍历算法为患者搜索出所有匹配的治疗过程,并根据疗效计算对应的推荐指数。本发明设计的最佳治疗过程安全选择协议,会为患者筛选出最优的k 个治疗过程,同时在整个选择过程中保护患者医疗数据的隐私和(筛选出的)治疗过程的隐私。
4.无需患者和云服务器之间进行多轮信息交互。在请求远程医疗服务之前,患者无需对医疗数据进行任何复杂的预处理,仅需对(医疗物联网监测到的)医疗数据进行加密并提交给云服务器进行诊断询问。患者和云服务器之间的交互只有一轮:患者只需提交加密医疗数据,云服务器就会返回k个最佳的加密治疗过程建议。
本发明系统利用NFA的非确定性状态转移特点灵活地表示医疗模型,其中包括疾病状态,治疗方法和由不同的治疗方法所引起的状态转移。加密的医疗模型被外包给云平台以提供远程医疗服务。利用该系统,可以进行以患者为中心的实时诊疗,同时保证患者的疾病状态和治疗方法建议的保密性。此外,本发明系统还提出了一种保护隐私的基于NFA的安全外包计算方法,对加密的NFA医疗模型和加密数据集进行外包计算并得到加密的匹配结果,该方法避免了繁琐的内部状态转移过程判别。本发明为患者推荐最佳的加密治疗建议,且不会泄露患者的隐私。
附图说明
图1为系统模型。
图2为有限自动机的例子。
图3为加权NFA的例子。
图4为基于加权NFA的医疗模型例子。
图5为加密的加权NFA例子。
图6为疾病状态加密的例子。
图7为系统框架。
图8为SMinn协议的运行过程。
具体实施方式
下面结合附图,对本发明的技术方案进行具体说明。
本发明提供了一种基于非确定性有限自动机的隐私保护医学诊疗系统,包括密钥生成中心、医院、患者、云平台、计算服务器;
所述密钥生成中心,负责生成系统公共参数,分发服务器的私钥、用户的公/私钥,并执行远程医疗授权操作;
所述医院,针对不同的疾病设计不同的医疗模型,医院在执行加密操作后将其加密的医疗模型外包给云平台以提供远程诊疗服务;
所述患者,将加密的医疗数据发送给云平台以请求获得诊疗服务,患者使用自己的密钥来解密云服务器返回的诊疗结果;
所述云平台,为医院提供加密医疗模型的存储服务,在收到患者的远程诊疗请求后,根据存储的加密的医疗模型为患者计算出最佳的治疗方案;
所述计算服务器,当接收到患者的远程诊疗请求后,计算服务器和云平台交互执行安全外包计算协议,并计算出最佳的加密治疗过程。
以下为本发明的具体实现过程。
1.1系统架构
图1为本发明的系统架构,系统包括以下五个实体。
1.密钥生成中心(KGC:key generation center)。密钥生成中心是可信的,负责生成系统公开参数,分发服务器的私钥、用户的公/私钥,并执行远程医疗授权操作。
2.医院。医院会针对不同的疾病设计不同的医疗模型。为了便于表述,本发明假设每个医院拥有一个医疗模型。医院在执行加密操作后将其加密医疗模型外包给云平台以提供远程诊疗服务。
3.患者。患者的生理状态由医疗物联网进行监测,并将加密的医疗数据发送给云平台以请求获得诊疗服务,然后使用自己的密钥来解密云服务器返回的诊疗结果。
4.云平台(CP:cloudplatform)。云平台拥有强大的存储和计算能力,为医院提供加密医疗模型的存储服务。在收到患者的远程诊疗请求后,根据(医院外包存储的)加密医疗模型为患者计算出最佳的治疗方案。
5.计算服务器(CSP:computing service provider)。CSP拥有强大的计算能力,并提供在线计算服务。当接收到患者的远程诊疗请求后,CSP和CP交互执行安全外包计算协议,并计算出最佳的加密治疗过程。
1.2、系统基础部件
表Ⅰ列出了本发明中使用的重要符号。
Figure GDA0003279868470000071
1.2.1、有限自动机(FA:FiniteAutomata)
在计算理论中,DFA和NFA是两种最重要的有限自动机。在DFA中,当给定起始状态和输入符号时,下一个状态是确定的;且每个状态转移都需要一个输入符号。而在NFA中,给定起始状态和输入符号时,下一个状态是不确定的,即下一个跳转状态有多种可能。此外,NFA 还允许空字符串ε作为输入,这种状态转移称为“ε-转移”。非确定性有限自动机
Figure GDA0003279868470000072
是由五元组
Figure GDA0003279868470000073
表示的:
Figure GDA0003279868470000074
是一个有限的状态集合,
Figure GDA0003279868470000075
是一个有限的符号集合,
Figure GDA0003279868470000076
是初始状态,
Figure GDA0003279868470000077
是接受状态集合,
Figure GDA0003279868470000078
是状态转移函数,其中∑ε=∑∪{ε},
Figure GDA0003279868470000079
Figure GDA00032798684700000710
的幂集(即
Figure GDA00032798684700000711
中所有的子集构成的集合)。
假设
Figure GDA00032798684700000712
是符号集合,并满足
Figure GDA00032798684700000713
非确定性有限自动机
Figure GDA00032798684700000714
接受符号集
Figure GDA00032798684700000715
的条件是存在一个
Figure GDA00032798684700000716
中的状态序列
Figure GDA00032798684700000717
满足:1)r0=q0,2)当i=0到n0-1时,有δ(ri,yi+1)=ri+1, 3)
Figure GDA00032798684700000718
若自动机
Figure GDA00032798684700000719
接受
Figure GDA00032798684700000720
则表示为
Figure GDA00032798684700000721
否则表示为
Figure GDA00032798684700000722
若自动机
Figure GDA00032798684700000723
接受所有
Figure GDA00032798684700000724
并拒绝所有
Figure GDA00032798684700000725
则称非确定性有限自动机
Figure GDA00032798684700000726
能识别语言L,并称 L为正则语言。DFA和NFA的示例如图2所示。
加权NFA能实现带有权重的状态转移,其中权重表示进行状态转移的成本(例如消耗的资源或时间),或是能成功进行状态转移的概率或可靠性。一个(定义在半环S上的)加权非确定性有限自动机
Figure GDA0003279868470000081
可表示为
Figure GDA0003279868470000082
Figure GDA0003279868470000083
∑,q0,
Figure GDA0003279868470000084
δ与NFA中的定义一致,
Figure GDA0003279868470000085
是状态转移权重函数;
Figure GDA0003279868470000086
分别是转移进入和转移离开一个状态时的权重函数。μ(y)是一个
Figure GDA0003279868470000087
维的矩阵,其元素(qi,qj)(即
Figure GDA0003279868470000088
)表示状态转移
Figure GDA0003279868470000089
的权重w,并可用
Figure GDA00032798684700000810
表示加权状态转移。为了便于表示,令
Figure GDA00032798684700000811
以省略函数γ1、γ2,并用
Figure GDA00032798684700000812
来表示加权NFA。图3为加权NFA的一个示例。
1.2.2、门限Paillier密码系统
本发明利用具有门限解密功能的Paillier密码作为基础密码算法。该密码系统包括以下算法:密钥生成(KeyGen),加密(Enc),弱密钥解密(WDec),主密钥解密(SDec),主密钥分裂(SkeyS),部分解密步骤一(PD1),部分解密步骤二(PD2)和密文更新(CR)。
密钥生成(KeyGen):κ是安全参数,p和q是两个大素数,
Figure GDA00032798684700000813
计算N=pq,λ=lcm(p-1,q-1)/2(lcm表示两个数的最小公倍数)。定义函数
Figure GDA00032798684700000814
选择生成元g并且g的阶为ord(g)=(p-1)(q-1)/2。系统公共参数为PP=(g,N),主密钥为SK=λ。然后,系统为每位用户i生成私钥ski∈ZN和公钥
Figure GDA00032798684700000815
加密(Enc):对于输入的明文m∈ZN,用户随机选择r∈ZN,使用其公钥pki将明文m加密成密文
Figure GDA00032798684700000816
其中
Figure GDA00032798684700000817
C2=grmod N2
弱密钥解密(WDec):输入密文
Figure GDA00032798684700000818
和用户私钥ski,解密算法能够恢复出明文
Figure GDA00032798684700000819
使用主密钥SK进行解密(SDec):利用系统的主密钥SK=λ,通过对
Figure GDA00032798684700000820
的计算就能对(使用任意公钥加密生成的)密文
Figure GDA00032798684700000821
进行解密。若gcd(λ,N)=1(gcd表示两个数的最大公约数)成立,则有
Figure GDA00032798684700000822
主密钥分裂(SkeyS):主密钥SK=λ被随机分裂成两个部分SK1=λ1和SK2=λ2,使得λ12=0modλ且λ12=1mod N2
使用子密钥SK1进行部分解密(PD1):对于输入的密文
Figure GDA00032798684700000823
利用SK1=λ1计算
Figure GDA00032798684700000824
使用子密钥SK2进行部分解密(PD2):对于输入的密文
Figure GDA0003279868470000091
Figure GDA0003279868470000092
利用SK2=λ2计算
Figure GDA0003279868470000093
并计算
Figure GDA0003279868470000094
从而恢复出明文。
密文更新(CR):将密文
Figure GDA0003279868470000095
更新成新的密文
Figure GDA0003279868470000096
使其满足m=m′。随机选择r'∈ZN,计算C1′=C1·(pki)r′mod N2,C2′=C2·gr′mod N2
该密码系统具有同态性,满足
Figure GDA0003279868470000097
Figure GDA0003279868470000098
特别地,当r=N-1时,有
Figure GDA0003279868470000099
1.2.3、隐私保护协议
本发明利用以下协议作为基本的隐私保护算法。令pkA和pkB为用户A和B的公钥。pkσ是用户A对B的授权公钥,授权私钥skσ用于解密相应的密文。给定关键字X(任意语言的任意符号),安全关键字和密文转换算法(K2C:secure keywordto ciphertext algorithm)将其编码为ZN中的某个唯一元素并输出密文
Figure GDA00032798684700000922
给定
Figure GDA00032798684700000910
Figure GDA00032798684700000911
安全加法协议(SAD:secure addition protocol)输出
Figure GDA00032798684700000912
安全乘法协议(SMD:secure multiplicationprotocol)输出
Figure GDA00032798684700000913
大于或相等安全比较协议(SGE:secure greater or equalprotocol)输出
Figure GDA00032798684700000914
当 X≥Y时,u*=1;当X<Y时,u*=0。小于或相等安全比较协议(SLE:secure less or equal protocol) 输出
Figure GDA00032798684700000915
当X≤Y时,u*=1;当X>Y时,u*=0。安全小于比较协议(SLT:secure less than protocol)输出
Figure GDA00032798684700000916
当X<Y时,u*=1;当X≥Y时,u*=0。安全大于比较协议(SGT:secure greater than protocol)输出
Figure GDA00032798684700000917
当X>Y 时,u*=1;当X≤Y时,u*=0。安全相等比较协议(SET:secure equivalent test protocol)输出
Figure GDA00032798684700000918
若X=Y;u*=1;若X≠Y;u*=0。给定
Figure GDA00032798684700000919
Figure GDA00032798684700000920
安全范围比较协议(SRC:secure range comparison protocol)输出
Figure GDA00032798684700000921
若Y1≤X≤Y2,u*=1;否则, u*=0。
1.3、系统算法
1.3.1、密钥分发和用户授权
通过运行门限Paillier密码系统中的KeyGen算法,KGC生成系统公共参数PP=(g,N)和主密钥SK=λ。然后,执行SkeyS算法分别为CP和CSP生成部分密钥SK1=λ1和SK2=λ2。接着,KGC 为医院A生成私钥和公钥skA=a、pkA=ga,并为患者B生成私钥和公钥skB=b、pkB=gb,其中a、b 是ZN中的随机数。
如果患者B要向医院A请求远程诊疗服务,A将为B定义有效服务时间(SP:servicetime period),格式为SP=“20190101-20191231”(表示有效服务时间为2019年1月1日至2019年12 月31日)。然后,KGC根据SP生成证书序列号CN以及授权证书 CERA,B:<cer=(CN,A,B,SP,pkσ),Sig(cer,SK)>,其中Sig表示数字签名算法,授权公钥和私钥为
Figure GDA0003279868470000101
sk σ ∈ ZN 。KGC将授权私钥skσ秘密发送给B。
1.3.2基于加权NFA的医疗模型表示
基于NFA的医疗模型可表示为
Figure GDA0003279868470000102
其中1)
Figure GDA0003279868470000103
表示疾病状态的集合; 2)
Figure GDA0003279868470000104
表示治疗方法的集合;3)δ表示在进行特定治疗后疾病状态的变化;4)ε表示没有实施任何治疗;5)非确定性的状态转移表示治疗过程中的个体差异性。例如,假设有若干患者都处于疾病状态qi并且接受相同的治疗yi,由于个体差异,他们的病情可能转移到不同的疾病状态。
图4展现了基于NFA的妊娠糖尿病医疗模型的例子,其中有8个状态表示疾病状态,5个输入符号表示治疗方法。初始状态为q0(代表“妊娠糖尿病”),接受状态集合为(q6,q7)=(“治愈”,“住院”)。初始状态q0在输入空符号ε后可能转移到q1或q2,表示患有妊娠糖尿病的患者在没有任何医疗手段干预的情况下,病情可能转移到状态q1(代表“中度糖尿病”)或q2(代表“轻度糖尿病和中度高血压”)。如果患者处于状态q3并接受治疗y3=“疗法C”,由于个体的差异,其病情可能转移到q3,q4或q6。其中,疾病状态可以用血压,血糖等生理指标来衡量。
为了更精确地为患者提供治疗建议,医疗模型的设计者为模型
Figure GDA0003279868470000105
的每一个状态转移过程设定权重w,其中w的值与对应疗法的推荐度成反比(推荐度由疗法的有效性、副作用和性价比等来衡量),基于NFA的加权医疗模型可以表示为
Figure GDA0003279868470000106
在图4中,能够让疾病状态跳转到q6=“治愈”的转移过程具有较低的权重,表明其对应的治疗方法是更可取的;而另一方面,能够让疾病状态跳转到q7=“住院”的转移过程被设置为高权重。
1.3.3、加密医疗模型和查询
医院A将基于NFA的加权医疗模型加密为
Figure GDA0003279868470000107
其中加密的状态集合为
Figure GDA0003279868470000108
加密的治疗方法集合为
Figure GDA0003279868470000109
加密的接受状态集合为
Figure GDA00032798684700001010
加密的状态转移权重集合为
Figure GDA00032798684700001011
空符号ε加密为
Figure GDA00032798684700001012
(为了表达简便,此处省略了A 的加密密钥pkA)。例如,图4中的医疗模型经过加密后可表示成图5所示的模型,并可利用加权状态转移表(如表Ⅱ所示)来表示图5中的加密状态转移函数
Figure GDA0003279868470000111
和加密的状态转移权重函数
Figure GDA0003279868470000112
表Ⅱ所示的加权状态转移表是二维表格:一个维度表示当前状态,另一维度表示下一个状态,行/列交点表示从当前状态转移到下一个状态的输入符号和转移权重。
患者B请求远程诊疗服务时,将最近m天的疾病状态Φ=(φ1,...,φm)加密为
Figure GDA0003279868470000113
并发送给CP,从而获取诊疗结果。
表Ⅱ加权状态转移表
Figure GDA0003279868470000114
1.3.4、疾病状态表示和状态匹配协议
疾病状态表示。在医疗领域中,通常是用疾病的症状和患者的各项生理指标来表示相应的疾病状态。前者可以由患者进行描述,而后者可以使用医疗物联网监测得到。本发明采用了这种医学常用的表示方法(图6中举例说明了疾病状态q、φ及其加密后的形式)。人体的五个重要生命体征是体温(BT:body temperature),血压(BP:bloodpressure),血糖(BG:blood glucose level),呼吸频率(RR:respiratory rate)和心率(HR:heart rate);它们常用的单位分别为℃,mmHg,mmol/L,呼吸次数/分钟和心跳数/分钟。在图6中,疾病状态q中的五个生命体征由区间值进行描述,而疾病的症状由相应的医学术语描述(症状按英文字母序排列)。患者B的疾病状态φ由(医疗物联网监测到的)具体的生理指标(而不是区间值)来表示。如果生理指标值是一个小数,则需以整数(例如,10或100)乘以该值,使得该小数被映射到ZN域。医院A和患者B之间的乘法操作必须保持一致,然后使用K2C算法加密疾病症状和治疗方法。
状态匹配测试。安全疾病状态匹配协议(SSM:secure illness state match)将
Figure GDA0003279868470000115
作为输入,并输出匹配结果
Figure GDA0003279868470000116
其中u*=1表示q和φ匹配;否则,u*=0。由于不可能详尽地列举所有疾病的不同状态,本发明使用图6中的例子来解释说明设计SSM协议的方法(如算法1所示)。
Figure GDA0003279868470000121
在算法1中,第2行的步骤计算患者B的体温BTB是否在[BTA,1,BTA,2]的范围内,若成立,则 u1=1(否则,u1=0)。第3-5行的步骤计算患者B的血压BPB,1/BPB,2是否在[BPA,1/BPA,2,BPA,3/BPA,4] 范围内,若成立,则u2=1(否则,u2=0)。其中,BPB,1/BPB,2表示“收缩压/舒张压”。第6行的步骤计算患者B的血糖水平BGB是否在[BGA,1,BGA,2]的范围内,若成立,则u3=1(否则,u3=0)。第7行的步骤计算患者B的呼吸频率是否满足RRB>RRA,若成立,则u4=1(否则,u4=0)。第 8行的步骤计算患者B的心率是否满足HRB<HRA,若成立,则u5=1(否则,u5=0)。第9-11 行的步骤计算患者B的症状(SB,1,SB.2)是否与q中的(SA,1,SA.2)相匹配,若成立,则u6=1(否则, u6=0)。第12-13行的步骤计算患者B的疾病状态φ是否与q匹配,若成立,则u*=1(否则,u*=0)。
1.4、系统流程
1.4.1、系统总览
本系统由以下四个阶段组成(图7)。
治疗过程遍历。CP遍历医疗模型
Figure GDA0003279868470000122
中的所有治疗过程,得到加密治疗过程集合
Figure GDA0003279868470000123
其中加密治疗过程
Figure GDA0003279868470000124
中包含加密疾病状态集合
Figure GDA0003279868470000125
加密治疗方法集合
Figure GDA0003279868470000126
和状态转移权重集合
Figure GDA0003279868470000127
治疗过程的权重计算。CP和CSP根据
Figure GDA0003279868470000128
Figure GDA0003279868470000129
计算出治疗过程
Figure GDA00032798684700001210
的权重
Figure GDA00032798684700001313
因此,可以得到加权治疗过程集合
Figure GDA0003279868470000131
其中
Figure GDA0003279868470000132
治疗过程填充。由于
Figure GDA0003279868470000133
中的元素可能包含不同数量的加密疾病状态和治疗方法,因此CP和SCP可以利用其长度信息辨别出诊断结果。所以为了提高安全性,需要通过填充加密的假位符号来统一各治疗过程的长度,从而获得填充的加权治疗过程集合
Figure GDA0003279868470000134
最佳治疗过程选择。安全top-k最佳治疗过程选择协议(BPS-k:secure top-kbest treatment procedure selectionprotocol)计算出top-k个最佳的治疗过程(即这k个治疗过程对应的权重是最低的)。BPS-k协议利用安全最小权值选择协议SMin(secureminimum selectionprotocol)和SMinn (secure minimum selection from ntreatmentprocedures protocol)作为子协议进行计算(这两个子协议分别从两个或n个治疗过程中选择具有最低权重的治疗过程)。
1.4.2治疗过程遍历
安全治疗过程遍历算法(TPT:secure treatment procedure traverse)遍历寻找
Figure GDA0003279868470000135
中(从初始状态
Figure GDA0003279868470000136
到接受状态集合
Figure GDA0003279868470000137
)的所有治疗过程。从计算理论的角度分析,TPT算法找出非确定性有限自动机
Figure GDA0003279868470000138
的正则语言;从图论的角度分析,TPT算法从
Figure GDA0003279868470000139
的图中找出从
Figure GDA00032798684700001310
Figure GDA00032798684700001311
的所有路径(包含环和自环)。为了防止遍历过程中的无限循环,医院A需要指定(每个状态能够在一条路径中出现的)最大访问次数MVisit和(每个治疗过程所能包含的)最大状态数MState。
Figure GDA00032798684700001312
Figure GDA0003279868470000141
给定
Figure GDA0003279868470000142
MVisit、MState作为输入,TPT(算法2)输出
Figure GDA0003279868470000143
其中
Figure GDA0003279868470000144
包含疾病状态集合
Figure GDA0003279868470000145
治疗方法集合
Figure GDA0003279868470000146
(为了方便表达,将加密的空符号
Figure GDA00032798684700001416
也表示为相同形式)以及状态转移权重集合
Figure GDA0003279868470000147
Figure GDA0003279868470000148
Figure GDA0003279868470000149
中的元素顺序是根据
Figure GDA00032798684700001410
的有向图路径来排列的。对于一个特定的
Figure GDA00032798684700001411
CP仅需运行一次TPT算法并将遍历结果
Figure GDA00032798684700001412
存储在云服务器中。TPT算法的基本思想概括为以下步骤。
1)将
Figure GDA00032798684700001413
压入堆栈Q。
2)将堆栈Q顶部的加密疾病状态设置为α。计算是否存在满足以下条件的疾病状态:在
Figure GDA00032798684700001414
的有向图中存在疾病状态α到该疾病状态的状态转移,并且该转移未被访问过。
3)如果在图中存在满足步骤2中条件的疾病状态,则将该状态压入堆栈Q;否则,从Q中弹出元素α。
4)如果Q的栈顶元素不属于
Figure GDA00032798684700001415
且Q中包含的元素数量已达到最大疾病状态数MState,则将Q的栈顶元素从Q中弹出;否则,TPT算法成功地找出从
Figure GDA0003279868470000151
Figure GDA0003279868470000152
的一个治疗过程,将其记录到
Figure GDA0003279868470000153
中,然后弹出Q中的顶部元素。
5)重复步骤2-4行,直到堆栈Q为空。
TPT算法中的符号介绍如下。
·count(·)。一维数组count(·)包含n1+1个元素,元素countI(0≤I≤n1)表示堆栈Q中加密疾病状态
Figure GDA0003279868470000154
的数量。
·value(·,·)、weight(·,·)。二维数组value(·,·)和weight(·,·)包含n1+1行和n1+1列。算法2首先根据
Figure GDA0003279868470000155
的状态转移表对value(·,·)和weight(·,·)进行初始化,第一个(或第二个)维度的标签表示当前(或下一个)状态。value(·,·)(或weight(·,·))中的元素表示(使当前状态跳转到下一个状态的) 的加密治疗方法(或加密状态转移权重)。
·visit(·,·,·)。三维数组visit(·,·,·)是一个矩阵数组,其包含(MVisit+1)个矩阵,其中每个矩阵有 n1+1行和n1+1列。由于每个状态
Figure GDA0003279868470000156
在治疗过程中最多可能出现MVisit次,并使用countI记录其在Q中的出现次数。对于在Q中出现第countI次的状态
Figure GDA0003279868470000157
visitcount[I],I,j=1表示从
Figure GDA0003279868470000158
Figure GDA0003279868470000159
的状态转移被访问过,而visitcount[I],I,j=0则表示该状态转移未被访问过。
1.4.3治疗过程的安全权重计算
治疗过程的安全权重计算协议(TPW:secure treatment procedure weightcalculation)以 MWeight,
Figure GDA00032798684700001510
作为输入,输出加密的加权治疗过程集合
Figure GDA00032798684700001511
其中
Figure GDA00032798684700001512
Figure GDA00032798684700001513
中的元素
Figure GDA00032798684700001514
Figure GDA00032798684700001515
Figure GDA00032798684700001516
中的相同,
Figure GDA00032798684700001517
是加密的治疗过程权重。TPW协议如算法3所示。
Figure GDA00032798684700001518
Figure GDA0003279868470000161
TPW算法的结果分为以下两种情况:(1)若患者B的疾病状况集合
Figure GDA0003279868470000162
没有在治疗过程
Figure GDA0003279868470000163
中出现过,则有
Figure GDA0003279868470000164
(2)若患者B的疾病状况集合
Figure GDA0003279868470000165
Figure GDA0003279868470000166
中至少出现过一次(由于可能存在环路径,所以
Figure GDA0003279868470000167
Figure GDA0003279868470000168
中可能出现不止一次),则有
Figure GDA0003279868470000169
其中
Figure GDA00032798684700001610
是第一次匹配的状态集合。
1.4.4、安全治疗过程的填充和选择
安全治疗过程填充。为了统一加权治疗过程的长度,通过填充加密的假位符号
Figure GDA00032798684700001611
Figure GDA00032798684700001612
填充为
Figure GDA00032798684700001613
使得其每个元素
Figure GDA00032798684700001614
满足
Figure GDA00032798684700001615
Figure GDA00032798684700001616
安全最佳治疗过程选择。该选择操作由三个协议实现,分别为:安全最小权值选择协议(SMin: secure minimum selection protocol),n个治疗过程的最小权值选择协议(SMinn:secure minimum selection from n treatment procedures protocol)和安全top-k最佳治疗过程选择协议(BPS-k:secure top-kbest treatment procedureselection protocol))。SMin是从两个治疗过程中选择最佳的治疗过程;SMinn利用SMin作为子协议,从n个治疗过程中选择最佳的治疗过程;BPS-k利用SMinn作为子协议,在保护隐私的前提下选择k个最佳的治疗过程(即这k个治疗过程的权重最小)。
1)安全最小权值选择协议(SMin):输入
Figure GDA00032798684700001617
Figure GDA00032798684700001618
SMin协议输出
Figure GDA00032798684700001619
满足WMin=min(W1,W2)。
Figure GDA00032798684700001620
分别是对应的加密疾病状态和加密治疗方法。SMin协议要求CP和CSP无法判别出
Figure GDA00032798684700001621
是来自
Figure GDA00032798684700001622
还是
Figure GDA00032798684700001623
步骤1:CP计算
Figure GDA0003279868470000171
然后掷硬币s(s∈{0,1})并随机选择r0′、r0、r1、r2,I、r3,I∈ZN(1≤I≤MState-1),使其满足
Figure GDA0003279868470000172
Figure GDA0003279868470000173
随后,CP计算:
Figure GDA0003279868470000174
Figure GDA0003279868470000175
Figure GDA0003279868470000176
Figure GDA0003279868470000177
接着CP计算
Figure GDA0003279868470000178
并发送(l0′,l0,l1,l2,i,l3,i),1≤I≤MState-1给CSP。
步骤2:CSP计算
Figure GDA0003279868470000179
Figure GDA00032798684700001710
CSP令t=0,并计算
Figure GDA00032798684700001711
Figure GDA00032798684700001712
CSP令t=1,并计算 l4=CR(l1)、l5,I=CR(l2,I)、l6,I=CR(l3,I)。随后将
Figure GDA00032798684700001713
发送CP。
步骤3:CP计算:
Figure GDA00032798684700001714
Figure GDA00032798684700001715
Figure GDA00032798684700001716
Figure GDA00032798684700001717
并令
Figure GDA00032798684700001718
其中
Figure GDA00032798684700001719
Figure GDA00032798684700001720
(为了表达简便,此处省略了加密密钥pkσ)。
2)n个治疗过程的安全最小权值选择协议(SMinn):输入
Figure GDA00032798684700001721
SMinn协议输出
Figure GDA00032798684700001722
并满足WMin=min(W1,...,Wn)。
Figure GDA00032798684700001723
分别是其加密疾病状态和加密治疗方法。SMinn协议要求CP和CSP无法判别出
Figure GDA00032798684700001724
是来自集合
Figure GDA00032798684700001725
中的哪个元素。
图8展示了SMinn协议使用SMin作为子协议计算出
Figure GDA00032798684700001726
的过程。算法在每层相邻两个治疗过程中选择出最佳治疗过程,重复执行该过程直至到达顶端。
3)安全Top-k治疗过程选择协议(BPS-k):以
Figure GDA0003279868470000181
作为输入,BPS-k(算法4)输出
Figure GDA0003279868470000182
其中
Figure GDA0003279868470000183
是top-k个权值最低的权重。
Figure GDA0003279868470000184
分别是其加密疾病状态和加密治疗方法,其中1≤i≤k。本协议要求CP和CSP 无法判别出
Figure GDA0003279868470000185
是来自集合
Figure GDA0003279868470000186
中的哪些元素。BPS-k的基本思想是在每轮中找到对应权重最低的治疗过程。然后,将其权重乘以MWeight,而其他治疗过程的权重保持不变。重复k轮之后,算法找到top-k个最佳治疗过程。
Figure GDA0003279868470000187
综上,本发明提出了一种基于非确定性有限自动机(NFA)的隐私保护远程诊疗系统。该系统利用NFA的非确定性状态转移特点灵活地表示医疗模型,其中包括疾病状态,治疗方法和由不同的治疗方法所引起的状态转移。加密的医疗模型被外包给云平台以提供远程医疗服务。利用该系统,可以进行以患者为中心的实时诊疗,同时保证患者的疾病状态和治疗方法建议的保密性。此外,本发明还提出了一种保护隐私的基于NFA的安全外包计算方法,对加密的NFA医疗模型和加密数据集进行外包计算并得到加密的匹配结果,该方法避免了繁琐的内部状态转移过程判别。本发明为患者推荐最佳的加密治疗建议,且不会泄露患者的隐私。
以上是本发明的较佳实施例,凡依本发明技术方案所作的改变,所产生的功能作用未超出本发明技术方案的范围时,均属于本发明的保护范围。

Claims (3)

1.一种基于非确定性有限自动机的隐私保护医学诊疗系统,其特征在于,包括密钥生成中心、医院、患者、云平台、计算服务器;
所述密钥生成中心,负责生成系统公共参数,分发服务器的私钥、用户的公/私钥,并执行远程医疗授权操作;
所述医院,针对不同的疾病设计不同的医疗模型,医院在执行加密操作后将其加密的医疗模型外包给云平台以提供远程诊疗服务;
所述患者,将加密的医疗数据发送给云平台以请求获得诊疗服务,患者使用自己的密钥来解密云服务器返回的诊疗结果;
所述云平台,为医院提供加密医疗模型的存储服务,在收到患者的远程诊疗请求后,根据存储的加密的医疗模型为患者计算出最佳的治疗方案;
所述计算服务器,当接收到患者的远程诊疗请求后,计算服务器和云平台交互执行安全外包计算协议,并计算出最佳的加密治疗过程;
所述密钥生成中心,生成系统公共参数、分发服务器的私钥、用户的公/私钥,并执行远程医疗授权操作的过程具体如下,
通过运行KeyGen算法,密钥生成中心生成系统公共参数PP=(g,N)和主密钥SK=λ,其中g为群G中的元素,N和λ均为正整数;然后,为云平台和计算服务器生成部分密钥SK1=λ1和SK2=λ2,使得λ12=0modλ且λ12=1 mod N2,其中符号mod表示模运算;接着,密钥生成中心为医院A生成私钥和公钥skA=a、pkA=ga,并为患者B生成私钥和公钥skB=b、pkB=gb,其中a、b是ZN中的随机数,ZN表示取值在1到N之间的整数;
若患者B要向医院A请求远程诊疗服务,A将为B定义有效服务时间SP;然后,密钥生成中心根据SP生成证书序列号CN以及授权证书CERA,B:<cer=(CN,A,B,SP,pkσ),Sig(cer,SK)>,其中A表示医院,B表示患者,SP表示有效服务时间,授权公钥和私钥为
Figure FDA0003279868460000011
Sig表示数字签名算法,cer表示消息元组(CN,A,B,SP,pkσ),SK表示主密钥,Sig(cer,SK)表示用主密钥SK对消息cer产生的数字签名;密钥生成中心将授权私钥skσ秘密发送给B;
所述KeyGen算法实现如下:
κ是安全参数,p和q是两个大素数,
Figure FDA0003279868460000012
其中符号
Figure FDA0003279868460000013
表示比特长度;计算N=pq,λ=lcm(p-1,q-1)/2,lcm表示两个数的最小公倍数;定义函数L(x)=(x-1)/N,选择群G的生成元g并且g的阶为ord(g)=(p-1)(q-1)/2;随后,生成系统公共参数为PP=(g,N),主密钥为SK=λ;接着,系统为每位用户i生成私钥ski∈ZN和公钥
Figure FDA0003279868460000021
其中ZN表示取值在1到N之间的整数,符号mod表示模运算;
所述医院,针对不同的疾病设计不同的基于非确定性有限自动机NFA的加权医疗模型,表示为:
Figure FDA0003279868460000022
其中,
Figure FDA0003279868460000023
表示疾病状态的集合,q0表示初始状态,
Figure FDA0003279868460000024
表示治疗方法的集合,
Figure FDA0003279868460000025
表示接受状态集合
Figure FDA0003279868460000026
δ表示在进行治疗后疾病状态的变化,并用空符号ε表示没有实施任何治疗,每一个状态转移过程均设定有权重w,其中w的值与对应疗法的推荐度成反比,μ表示状态转移权重函数;
而后,医院A将基于非确定性有限自动机NFA的加权医疗模型加密为
Figure FDA0003279868460000027
其中加密的状态集合为
Figure FDA0003279868460000028
加密的治疗方法集合为
Figure FDA0003279868460000029
加密的接受状态集合为
Figure FDA00032798684600000210
加密的状态转移权重集合为
Figure FDA00032798684600000211
空符号ε加密为
Figure FDA00032798684600000212
其中pkA表示医院A的公钥,
Figure FDA00032798684600000213
表示用公钥pkA对m进行加密,
Figure FDA00032798684600000214
C2=gr mod N2,r为ZN中选取的随机数。
2.根据权利要求1所述的基于非确定性有限自动机的隐私保护医学诊疗系统,其特征在于,所述患者,请求远程诊疗服务时,将最近t天的疾病状态Φ=(φ1,...,φt)加密为
Figure FDA00032798684600000215
并发送给云平台,从而获取诊疗结果。
3.根据权利要求2所述的基于非确定性有限自动机的隐私保护医学诊疗系统,其特征在于,当接收到患者的远程诊疗请求后,计算服务器和云平台交互执行安全外包计算协议,并计算出最佳的加密治疗过程的具体实现方式如下:
治疗过程遍历:云平台遍历医疗模型
Figure FDA00032798684600000216
中的所有治疗过程,得到加密治疗过程集合
Figure FDA00032798684600000217
其中加密治疗过程
Figure FDA00032798684600000218
中包含加密疾病状态集合
Figure FDA0003279868460000031
加密治疗方法集合
Figure FDA0003279868460000032
和状态转移权重集合
Figure FDA0003279868460000033
治疗过程的权重计算:云平台和计算服务器根据
Figure FDA0003279868460000034
Figure FDA0003279868460000035
计算出治疗过程
Figure FDA0003279868460000036
的权重[[WI]];因此,得到加权治疗过程集合
Figure FDA0003279868460000037
其中
Figure FDA0003279868460000038
治疗过程填充:由于
Figure FDA0003279868460000039
中的元素包含不同数量的加密疾病状态和治疗方法,因此计算服务器和云平台利用其长度信息辨别出诊断结果;所以为了提高安全性,需要通过填充加密的假位符号dummy symbol来统一各治疗过程的长度,从而获得填充的加权治疗过程集合
Figure FDA00032798684600000310
最佳治疗过程选择:通过安全top-k最佳治疗过程选择协议BPS-k计算出top-k个最佳的治疗过程,即这k个治疗过程对应的权重是最低的。
CN201910891804.8A 2019-09-20 2019-09-20 基于非确定性有限自动机的隐私保护医学诊疗系统 Active CN110611567B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910891804.8A CN110611567B (zh) 2019-09-20 2019-09-20 基于非确定性有限自动机的隐私保护医学诊疗系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910891804.8A CN110611567B (zh) 2019-09-20 2019-09-20 基于非确定性有限自动机的隐私保护医学诊疗系统

Publications (2)

Publication Number Publication Date
CN110611567A CN110611567A (zh) 2019-12-24
CN110611567B true CN110611567B (zh) 2022-01-18

Family

ID=68892932

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910891804.8A Active CN110611567B (zh) 2019-09-20 2019-09-20 基于非确定性有限自动机的隐私保护医学诊疗系统

Country Status (1)

Country Link
CN (1) CN110611567B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111967048B (zh) * 2020-08-19 2022-11-29 西安电子科技大学 面向基因组数据相似度的高效匹配及隐私保护方法、系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101203170A (zh) * 2005-06-02 2008-06-18 美的派特恩公司 计算机辅助检测系统和方法
CN104287706A (zh) * 2014-10-29 2015-01-21 云南大学 一种人体健康状态实时监测及诊疗推荐系统
CN109872822A (zh) * 2019-01-18 2019-06-11 深圳壹账通智能科技有限公司 医疗协助方法、装置、设备及介质

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9251440B2 (en) * 2012-12-18 2016-02-02 Intel Corporation Multiple step non-deterministic finite automaton matching
CN109194523B (zh) * 2018-10-01 2021-07-30 西安电子科技大学 隐私保护的多方诊断模型融合方法及系统、云端服务器

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101203170A (zh) * 2005-06-02 2008-06-18 美的派特恩公司 计算机辅助检测系统和方法
CN104287706A (zh) * 2014-10-29 2015-01-21 云南大学 一种人体健康状态实时监测及诊疗推荐系统
CN109872822A (zh) * 2019-01-18 2019-06-11 深圳壹账通智能科技有限公司 医疗协助方法、装置、设备及介质

Non-Patent Citations (7)

* Cited by examiner, † Cited by third party
Title
《A web-based clinical decision support system for gestational diabetes: Automatic diet prescription and detection of insulin needs》;Estefanía Caballero-Ruiz et al.;《International Journal of Medical Informatics》;20170306;全文 *
《An Efficient Privacy-Preserving Outsourced Calculation Toolkit With Multiple Keys》;Ximeng Liu et al.;《IEEE Transactions on Information Forensics and Security》;20160527;全文 *
《Hybrid privacy-preserving clinical decision support system in fog–cloud computing》;Ximeng Liu et al.;《Future Generation Computer Systems》;20170318;正文2-5节 *
《Privacy-preserving Medical Treatment System through Nondeterministic Finite Automata》;Yang Yang et al.;《IEEE Transactions on Cloud Computing》;20200604;全文 *
《Privacy-Preserving Reinforcement Learning Design for Patient-Centric Dynamic Treatment Regimes》;Ximeng Liu et al.;《IEEE TRANSACTIONS ON EMERGING TOPICS IN COMPUTING》;20190130;正文第I-V节 *
《基于EFPN的模糊离散事件系统可诊断性分析》;佘维等;《计算机科学》;20140731;全文 *
Ximeng Liu et al..《Privacy-Preserving Reinforcement Learning Design for Patient-Centric Dynamic Treatment Regimes》.《IEEE TRANSACTIONS ON EMERGING TOPICS IN COMPUTING》.2019, *

Also Published As

Publication number Publication date
CN110611567A (zh) 2019-12-24

Similar Documents

Publication Publication Date Title
US20220129892A1 (en) System and methods for validating and performing operations on homomorphically encrypted data
Yang et al. Privacy-preserving smart IoT-based healthcare big data storage and self-adaptive access control system
Benil et al. Cloud based security on outsourcing using blockchain in E-health systems
Zhang et al. PPDP: An efficient and privacy-preserving disease prediction scheme in cloud-based e-Healthcare system
Chen et al. Secure dynamic access control scheme of PHR in cloud computing
Ying et al. A lightweight policy preserving EHR sharing scheme in the cloud
JP2017073829A (ja) デバイス及びユーザの認証
CN107635018B (zh) 支持紧急接入访问控制和安全去重的跨域医疗云存储系统
Djatmiko et al. Secure evaluation protocol for personalized medicine
Jeet et al. [Retracted] Secure Model for IoT Healthcare System under Encrypted Blockchain Framework
Mantey et al. Maintaining privacy for a recommender system diagnosis using blockchain and deep learning.
Mishra et al. Hybrid blockchain based medical data sharing with the optimized CP-ABE for e-Health systems
CN110611567B (zh) 基于非确定性有限自动机的隐私保护医学诊疗系统
Qamar Healthcare data analysis by feature extraction and classification using deep learning with cloud based cyber security
CN109801688A (zh) 区域医疗电子病历安全协同整合系统及方法
Yang et al. Privacy-preserving medical treatment system through nondeterministic finite automata
Liu et al. Design of secure access control scheme for personal health record‐based cloud healthcare service
CN110660450A (zh) 一种基于加密基因组数据的安全计数查询与完整性验证装置和方法
Sun et al. Fine-grained ranked multi-keyword search over hierarchical data for IoT-oriented health system
Liu et al. RASS: Enabling privacy-preserving and authentication in online AI-driven healthcare applications
CN113517065B (zh) 医疗数据隐私保护的云辅助决策树模型诊断系统及方法
CN115473743A (zh) 一种抗内部关键字猜测攻击的可搜索医疗数据共享方法
Liu et al. Secure medical data on cloud storage via DNA homomorphic encryption technique
Divya et al. Efficient Key Generation Techniques for Wireless Body Area Network
Vivekrabinson et al. Medical data sharing using blockchain with secure patient/doctor interaction

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant