本发明涉及一种针对医疗数据的基于区块链的医疗数据机器学习隐私训练方法,属于多源数据的机器学习模型隐私训练技术领域。
背景技术:
随着人工智能和机器学习理论与技术的发展,利用现有的大量医疗数据,医疗服务公司可以构建智能医疗诊断系统。病人自助式地将病情输入医疗诊断系统,系统返回给医生和病人病情的预诊断结果。根据预诊断结果,病人可以采取最贴切的就医措施,另一方面,预诊断过程也减轻了医生的工作量。
一个准确的智能医疗诊断模型需要大量的训练数据。“数据为王”,谷歌的研究人员通过3亿张图片的分类研究,发现机器学习模型的性能会随着训练数据量呈线性增长(c.sun,a.shrivastava,s.singh,anda.gupta.revisitingunreasonableeffectivenessofdataindeeplearningera.in2017ieeeinternationalconferenceoncomputervision(iccv),pages843–852,oct2017.)。然而,医疗数据包含病人的隐私信息,隐私信息的泄露会给病人的正常生活造成不便;某些稀有疾病的医疗数据分散在多家医院,不同医院之间的医疗数据难以共享。其次,医疗服务公司没有合适的途径来获得权威官方的医疗数据。病人无法得知构造医疗诊断系统的数据来源,也就不会信任该系统的诊断结果。由此,在传统的针对医疗数据的机器学习隐私训练中,构建智能医疗诊断系统将面对以下三大难题:
1、医疗数据涉及病人隐私,各个医院无法共享医疗数据。医疗数据包含病人的隐私信息,敏感性极高。共享病人的医疗数据显然是违背道德和法律约束的,各个医院必然不会共享医疗数据。无法得到医疗数据,医疗服务公司就成了无米之炊,也就无法构造医疗诊断系统。
2、没有官方认证渠道,医疗服务公司获得的数据没有可信度和真实性的保证。数据的质量与医疗诊断系统的准确率息息相关,在互联网造就的全民无隐私的现状下,网络上存在着一些非官方的数据获取渠道,这些数据的真伪难以检验,而一旦医疗服务公司使用了从这些渠道获取的数据,将会使得预诊断结果的准确度得不到保障,从而造成经济损失。
3、病人难以对医疗诊断系统建立起信任。若医疗服务公司无法证明构造系统的数据来源,病人难以信任其构造的医疗诊断结果。
因此,为了能够同时满足针对医疗数据的隐私训练需求,必须设计一种安全的可追踪的隐私训练方法。
技术实现要素:
本发明的目的在于提供一种针对医疗数据的基于区块链的医疗数据机器学习隐私训练方法,以解决上述背景技术中提出的问题。
本发明可实现以下目的:
1、病人的医疗信息不泄露。医疗信息具有极高的敏感度,任何病人都不愿意自己的病情被他人获知。为了保护病人隐私,医院不会将病人的医疗信息直接分享给任何方,其他方无法透过医院了解到任何病人的情况。在进行疾病预测时,病人的疾病信息和预测结果公司不能得知。
2、医院与医疗服务公司的身份真实可靠。我们的平台旨在构造安全可信的医疗预诊断系统。虚假信息和未被认证的服务都将严重损害病人的身体健康,因此我们引入可信的认证中心对这两方进行账号注册,为平台中各个角色的身份提供信任保障。
3、医疗数据来源可追溯。病人对医疗诊断结果不信任的主要原因是用于构造系统的医疗数据的权威性无法保证。公开医院和医疗服务公司之间的交互行为,可以向病人证明医疗诊断系统提供的服务得到了医院的支持,使得病人对医院的信任能够传递至对诊断结果的信任。
为实现上述目的,本发明提供一种针对医疗数据的基于区块链的机器学习隐私训练方法,包括如下内容:
(1)医院和医疗服务公司分别向认证中心证明自己的身份,填写机构身份信息和公钥,注册账户;
(2)认证中心将机构身份信息与上传的公钥进行绑定,为其分配具有相应权限的角色;也就是,医院和医疗服务公司获得唯一的账户标识,认证中心根据唯一的账户标识构造认证交易,并对认证交易签名后广播至区块链网络中;
(3)医院整理医疗数据包,构造提供医疗数据包描述信息的数据交易,并对数据交易签名后广播至区块链网络中,公示目前可提供的医疗数据包;
(4)医疗服务公司从区块链网络中选中要购买的包含医疗数据包描述信息的数据交易,引用该交易id构造数据购买交易,并对数据购买交易签名后广播至区块链网络中,此时医疗服务公司获得第一个医疗数据包购买凭证:数据购买交易;
(5)医疗服务公司以数据购买交易为凭证,与医院进行金钱转账,转账完成后,医疗服务公司获得第二个医疗数据包购买凭证:金钱转账凭证;
(6)医疗服务公司获得两个医疗数据包购买凭证后,标志着医疗数据包购买成功,医疗服务公司凭借两个医疗数据包购买凭证向医院索要相应的密文医疗数据包,密文医疗数据包是医院用自己的公钥在本地进行加密的医疗数据包;
(7)得到密文医疗数据包后,医疗服务公司利用密态数据分析技术(同态加密、安全多方计算等),安全地无隐私泄露地构造医疗预诊断系统(机器学习模型);
(8)病人想要通过医疗服务公司构造的医疗预诊断系统进行疾病预测,首先病人从区块链上查询构造医疗预诊断系统的医疗数据包来源,然后病人根据医疗数据包来源,选择医疗预诊断系统,并请求该医疗预诊断系统的预诊断服务;
(9)病人将自己的病情数据在本地用自己的公钥加密,得到密文病情数据;病人将密文病情数据发送给医疗服务公司,医疗服务公司通过医疗预诊断系统,利用密态数据分析技术,基于密文病情数据,计算得到病人预诊断结果的密文,并将密文结果返回给病人,病人用自己的私钥解密预诊断结果,得到明文的病情预测结果。
作为本发明的第二方面,本发明提供一种基于区块链的医疗数据机器学习隐私训练方法,包括以下步骤:
(1)经认证的医院整理医疗数据包,构造提供医疗数据包描述信息的数据交易,并对数据交易签名后广播至区块链网络中,公示目前可提供的医疗数据包;
(2)经认证的医疗服务公司从区块链网络中选中要购买的包含医疗数据包描述信息的数据交易,引用该交易id构造数据购买交易,并对数据购买交易签名后广播至区块链网络中,此时医疗服务公司获得第一个医疗数据包购买凭证:数据购买交易;
(3)医疗服务公司以数据购买交易为凭证,与医院进行金钱转账,转账完成后,医疗服务公司获得第二个医疗数据包购买凭证:金钱转账凭证;
(4)医疗服务公司获得两个医疗数据包购买凭证后,标志着医疗数据包购买成功,医疗服务公司凭借两个医疗数据包购买凭证向医院索要相应的密文医疗数据包,密文医疗数据包是医院用自己的公钥在本地进行加密的医疗数据包;
(5)得到密文医疗数据包后,医疗服务公司利用密态数据分析技术,安全地无隐私泄露地构造医疗预诊断系统。
作为优选,所述经认证的医院和医疗服务公司的认证过程为:医院和医疗服务公司分别向认证中心证明自己的身份,填写机构身份信息和公钥,注册账户;认证中心将机构身份信息与上传的公钥进行绑定,为其分配具有相应权限的角色;也就是,医院和医疗服务公司获得唯一的账户标识,认证中心根据唯一的账户标识构造认证交易,并对认证交易签名后广播至区块链网络中。
作为本发明的第三方面,本发明提供一种基于区块链的医疗数据机器学习隐私训练方法的疾病诊断方法,包括以下内容:
当病人想要通过医疗服务公司构造的医疗预诊断系统进行疾病预测,首先病人从区块链上查询构造医疗预诊断系统的医疗数据包来源,然后病人根据医疗数据包来源,选择医疗预诊断系统,并请求该医疗预诊断系统的预诊断服务;
病人将自己的病情数据在本地用自己的公钥加密,得到密文病情数据;病人将密文病情数据发送给医疗服务公司,医疗服务公司通过医疗预诊断系统,利用密态数据分析技术,基于密文病情数据,计算得到病人预诊断结果的密文,并将密文结果返回给病人,病人用自己的私钥解密预诊断结果,得到明文的病情预测结果。
作为本发明的第四方面,本发明提供一种基于区块链的医疗数据出售方法,包括以下内容:经认证的医院整理医疗数据包,构造提供医疗数据包描述信息的数据交易,并对数据交易签名后广播至区块链网络中,公示目前可提供的医疗数据包;并用自己的公钥在本地进行加密后得到密文医疗数据包;在医疗服务公司购买后将密文医疗数据包提供给医疗服务公司。
作为优选,所述经认证的医院的认证过程为:医院向认证中心证明自己的身份,填写机构身份信息和公钥,注册账户;认证中心将机构身份信息与上传的公钥进行绑定,即医院获得唯一的账户标识,认证中心根据唯一的账户标识构造认证交易,并对认证交易签名后广播至区块链网络中。
作为优选,所述购买至少包括区块链数据购买交易和付款交易两项内容。
作为本发明的第五方面,本发明提供一种基于区块链的医疗数据购买方法,包括以下内容:经认证的医疗服务公司从区块链网络中选中要购买的包含医疗数据包描述信息的数据交易,引用该交易id构造数据购买交易,并对数据购买交易签名后广播至区块链网络中,此时医疗服务公司获得第一个医疗数据包购买凭证:数据购买交易;医疗服务公司以数据购买交易为凭证,与医院进行金钱转账,转账完成后,医疗服务公司获得第二个医疗数据包购买凭证:金钱转账凭证;医疗服务公司获得两个医疗数据包购买凭证后,凭借两个购买凭证向医院索要相应的密文医疗数据包。
作为优选,所述经认证的医疗服务公司的认证过程为:医疗服务公司向认证中心证明自己的身份,填写机构身份信息和公钥,注册账户;认证中心将机构身份信息与上传的公钥进行绑定,即医疗服务公司获得唯一的账户标识,认证中心根据唯一的账户标识构造认证交易,并对认证交易签名后广播至区块链网络中。
有益效果
对比现有技术,本发明具有以下特点:
本发明方法中,构造了一种针对医疗数据的基于区块链的机器学习隐私训练方法。医院发布的数据说明通过数据交易放入链上,数据本体加密存于医院本地,形成轻量级区块链;加密数据本地存储降低了区块链链上的数据存储量,避免“同步难”的问题,进而提高交易的吞吐率。
本发明方法利用区块链公开、透明和可追溯的特点,在各个医院和医疗服务公司之间搭建了安全数据共享平台。医疗服务公司通过区块链与医院进行数据交易,这为医疗服务公司获取真实可靠的医疗数据提供保障。
本发明方法通过密态数据分析技术,在密文医疗数据包上进行机器学习模型训练得到医疗预诊断系统。采用的密态数据分析技术不仅可保证用于训练医疗预诊断系统的医疗数据包的机密性,保护了医疗数据包中的敏感数据;而且可保证医疗预诊断系统依旧保持与非密文机器学习模型训练方法相一致的准确性。
附图说明
下面结合附图和具体实施方式来详细说明本发明。
图1为本发明的一种针对医疗数据的基于区块链的医疗数据机器学习隐私训练方法流程示意图。
图2为本发明的公司将与医院的交易记录展示示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例1:
如图1所示,本发明提供一种针对医疗数据的基于区块链的医疗数据机器学习隐私训练方法,包括以下内容:
“疾病去无踪”公司是一家医疗服务公司,想要基于机器学习算法—支持向量机来构建医疗预诊断系统。通过该医疗预诊断系统,病人可以自助式地将病情输入医疗预诊断系统,系统返回给病人病情的预诊断结果。现有3家医院有构建该医疗预诊断系统的医疗数据。这三家医院分别是:医院1、医院2和医院3。现“疾病去无踪”公司和三家医院进行下面步骤,可在不泄露医疗数据包中的敏感信息,医院与医疗服务公司的身份真实可靠,并且医疗数据来源可追溯的前提下,得到基于支持向量机的医疗预诊断系统。
“疾病去无踪”公司和医院1、医院2和医院3三家医院通过本发明方法构造医疗预诊断系统的步骤如下:
(1)医院1、医院2、医院3和“疾病去无踪”公司分别向认证中心证明自己的身份,填写机构身份信息和公钥,注册账户并获得唯一的账户标识。
在实际实施时,此处的认证中心是除了医院和公司之外的第三类机构,如ca。医院和公司提供相应的资质文件来“向认证中心证明自己的身份”。
(2)认证中心将机构身份信息与上传的公钥进行绑定,为医院1、医院2、医院3和“疾病去无踪”公司分配具有相应权限的角色。也就是,医院和“疾病去无踪”公司获得唯一的账户标识。认证中心根据唯一的账户标识构造认证交易。认证中心对认证交易签名后广播至区块链网络中。
本实施例中,设定两种身份:医院和医疗服务公司。认证中心将分别给予医院1、医院2、医院3医院身份,给予“疾病去无踪”公司医疗服务公司身份。这里的“绑定”指:在认证交易中包括唯一的账户标识和公钥信息。“认证交易”是写入区块链中的区块。下文中所有关于“交易”类型的描述都是指写入区块链中的区块,不在赘述。
(3)医院1、医院2、医院3分别在本地整理医疗数据包,构造提供医疗数据包描述信息的数据交易。医院对有医疗数据包描述信息的数据交易签名后广播至区块链网络中,公示目前可提供的医疗数据包;
此处的“医疗数据包描述信息”举例为:支气管炎数据包,12维,1200条记录。
(4)“疾病去无踪”公司从区块链网络中选中要购买的包含医疗数据包描述信息的数据交易,也就是医院1、医院2、医院3的医疗数据包,引用该交易id构造数据购买交易。“疾病去无踪”公司对数据购买交易签名后广播至区块链网络中。此时医疗服务公司获得第一个医疗数据包购买凭证:数据购买交易;
“交易id”解释为:每个区块链中的区块都有一个唯一标识的id。“引用该交易id”指的是,“疾病去无踪”公司在构造数据购买交易时,将数据交易的id写入数据购买交易。
(5)“疾病去无踪”公司以数据购买交易为凭证,与医院进行线下金钱转账。转账完成后,“疾病去无踪”公司获得第二个医疗数据包购买凭证:线下金钱转账凭证。
(6)“疾病去无踪”公司获得两个医疗数据包购买凭证后,标志着医疗数据包购买成功。“疾病去无踪”公司凭借两个医疗数据包购买凭证向医院索要相应的密文医疗数据包。密文医疗数据包是用相对应医院的公钥,在医院本地进行加密的医疗数据包。
这里的公钥加密方案由步骤(7)中选择的密态数据分析技术决定。
(7)得到密文医疗数据包后,“疾病去无踪”公司利用密态数据分析技术,安全地无隐私泄露地构造医疗预诊断系统。
现在已有多种密态数据分析技术可以实现安全地无隐私泄露地构造机器学习模型,即医疗预诊断系统。以支持向量机模型(一种机器学习模型)为例,“疾病去无踪”公司可以通过已有的密态数据分析技术(例如:francisco-javiergonzlez-serrano,ngelnavia-vzquez,andadrinamormartn.trainingsupportvectormachineswithprivacy-protecteddata.patternrecogn.,72(c):93–107,december2017.),基于医院提供的密文医疗数据包安全地无隐私泄露地构造医疗预诊断系统。
步骤(1)-(5)完成了一个基于区块链的轻量级加密医疗数据共享平台。医院发布的数据说明放入链上,数据本体加密存于医院本地,降低了区块链链上的数据存储量,避免“同步难”的问题,进而提高交易的吞吐率。
步骤(6)-(7),通过密态数据分析技术,在密文上进行机器学习模型训练得到医疗预诊断系统。这可保证用于训练医疗预诊断系统的医疗数据的机密性,保护了病人的敏感数据,且预诊断系统依旧保持与传统训练方法相一致的准确性。
(8)接着上述步骤(7),病人选择“疾病去无踪”公司进行疾病预测的步骤如下:
(8.1)病人从区块链上通过数据购买交易查询构造医疗预诊断系统的医疗数据包来源。
(8.2)病人根据医疗数据包来源,选择医疗预诊断系统,并请求该医疗预诊断系统的预诊断服务。
通过读取区块链上相关数据,如图2所示为区块链上数据购买交易的片段展示,病人读取到“疾病去无踪”公司用于构造医疗预诊断系统的医疗数据包来自于自己信任的医院:医院2,所以病人选择“疾病去无踪”公司提供的预诊断服务。
(9)病人通过“疾病去无踪”公司进行疾病预测的步骤如下:
(9.1)病人将自己的病情数据在本地用自己的公钥加密,得到密文病情数据。
这里的公钥加密方案由步骤(9.3)中选择的密态数据分析技术决定。
(9.2)病人将密文病情数据发送给医疗服务公司。
(9.3)医疗服务公司通过医疗预诊断系统,利用密态数据分析技术,基于密文病情数据,计算得到病人预诊断结果的密文,并将密文结果返回给病人。
现在已有多种密态数据分析技术可以实现安全地无隐私泄露地计算得到病人预诊断结果。以上文提到的支持向量机模型为例,“疾病去无踪”公司可以通过已有的密态数据分析技术(例如:bostr,popara,tus,etal.machinelearningclassificationoverencrypteddata[c]//ndss.2015,4324:4325.),基于病人提供的密文病情数据安全地无隐私泄露地计算得到病人预诊断结果的密文。
(9.4)病人用自己的私钥解密预诊断结果,得到明文的病情预测结果。
步骤(8)-(9),由于区块链技术提供了内容一旦写入则不可篡改的信任空间,通过查询区块链上的交易,病人对医疗预诊断系统的数据来源得以信任。通过公开医院和医疗服务公司之间的交互行为,可以向病人证明医疗诊断系统提供的服务得到了医院的支持,使得病人对医院的信任能够传递至对诊断结果的信任。
为了说明本发明的内容及实施方法,本说明书给出了上述具体实施例。但是,本领域技术人员应理解,本发明不局限于上述最佳实施方式,任何人在本发明的启示下都可得出其他各种形式的产品,但不论在其形状或结构上作任何变化,凡是具有与本申请相同或相近似的技术方案,均落在本发明的保护范围之内。