APP下载

一种基于联盟链的中医药海量异构数据安全共享解决方案*

2019-01-18马金刚王振国

世界科学技术-中医药现代化 2019年8期
关键词:异构医疗机构区块

生 慧,周 扬,马金刚,王振国

(山东中医药大学理工学院 济南 250355)

随着互联网、云计算、物联网技术的快速发展,数据规模急剧增加,大数据应运而生,中医药医疗健康大数据也随之而来。基于整体观思想,中医药大数据体量大、范围广、结构复杂,涉及患者的健康医疗数据、个人生活轨迹以及医疗保险等信息,这些数据的积累是进行中医药真实世界科学研究的宝贵素材。

然而,如何解决患者隐私保护与医疗数据开放共享之间的协调平衡,成为亟待解决的首要问题。一方面患者对个人的医疗数据有强烈的隐私保护的需求和数据使用权限管理的要求;另一方面,中医药临床研究与科学研究需要海量中医药医疗数据的支撑,需要获取到能保留中医药特色、真实可靠的数据。当前,开放的中医药医疗数据十分有限,开放共享方式也不够灵活,主要表现在以下几个方面:首先,数据孤岛仍未打通。患者的医疗数据分散在各级医疗机构,各医疗机构之间的数据孤岛问题因政策、技术等各种原因仍未解决。其次,中医药特色难以体现。中医药临床数据中的辨病辨证多以文本的形式存在于中医电子病历中,然而当前医疗数据多以关系数据库进行存储,对非结构化数据难以进行友好地支持,因此,中医药特色难以体现。最后,数据安全值得担忧。2017年,WannaCry 蠕虫病毒爆发,很多医院HIS 系统受到攻击,由于容灾备份机制的缺失,造成大量医疗数据丢失;另外,医疗行业已成为数据泄露的重灾区,医疗数据的使用权限管理混乱,患者对个人医疗数据的权限控制未能实现,对患者隐私造成极大影响。

上述问题严重阻碍了智慧医疗和中医药大数据的发展。然而,随着区块链技术的诞生,为解决这种医疗数据集中存储、医疗数据共享困难、患者个人缺乏对数据的控制权等问题提供了新思路。区块链技术被预言将引领互联网发生颠覆性变化,各国都在部署区块链发展路径,我国也将其发展布局写入了《“十三五”国家信息化规划》之中。区块链率先在金融领域引起了广泛的关注,其在医疗领域的实践也逐渐受到越来越多的重视[1-4]。国际上,BITHEALTH 公司已将区块链技术运用于医疗行业,致力于实现全球范围内的医疗数据安全传输[5];麻省理工学院在区块链上设计登记合约、患者提供商合约和总结合约3 类智能合约以解决医疗数据的互操作和权限管理问题[6]。国内,李剑锋[7]等从电子健康档案、基因工程、医药防伪及虚拟货币支付4 个方面,针对区块链技术在医药行业的应用和问题与对策进行了研究;叶华[8]等将区块链技术运用于医疗服务,能有效加强医院服务的诚信度。上述各研究表明区块链+医疗的探索已然开始,但所做研究缺少对中医药特色异构数据存储的考虑,缺少针对中医药大数据共享存储从顶层设计到实现细节的全面的研究与分析。因此,本文基于联盟区块链设计一种中医药海量异构数据安全存储共享方案,以实现去中心化、安全高效、可智能共享、能体现中医药特色的医疗数据安全存储。

1 区块链技术

区块链技术最早出现于化名“中本聪”(Satoshi Nakamoto)的学者于2008年发表的论文《比特币:一种点对点电子现金系统》中。同物联网、云计算、大数据的发展规律一样,区块链是在传统信息技术基础之上的创新与发展[9-12]。狭义的讲,区块链是一种能按照时间顺序以链式结构存储数据,并利用密码学技术保证数据的不可伪造和不可篡改性的分布式数据库。广义的讲,区块链是一种全新的分布式框架和计算范式。

区块链的发展到目前为止共经历了3 个阶段(图1)。区块链的技术起源包括P2P 网络、非对称加密算法、数据库技术和数字货币;2009 年,比特币作为一种虚拟货币正式上线;以区块为单位的链式数据机构、共享账本、非对称加密和开源代码是区块链1.0 的重要特征;2014 年前后,业界逐渐认识到区块链的应用价值,区块链2.0 中出现了可编程的业务逻辑即智能合约,并将其应用于数字货币以外的各种分布式应用(DAAP)领域;区块链3.0 的应用领域逐渐扩展到科学、教育、医疗等各领域各行业,可实现完全去中心化的网络信任,从而广泛而深刻地改变人们的生活方式。

图1 区块链演进路径

区块链系统根据应用场景和设计体系的不同,一般分为公有链、专有链和联盟链,如图2 所示。其中:①公有链:允许任何节点自由加入,所有节点可以在任何位置参与共识过程,网络结构扁平化,不存在信任中心,写入速度每秒3-20 次,速度较慢;②私有链:只允许一个组织或者一个公司范围内的节点加入,写入权限内部控制,读出权限适当开放,不能完全解决信任问题,适用于机构内部使用,可改善组织内部可审计性,每秒可实现1 000 次以上写入;③联盟链:被授权的组织或者公司可以加入组成利益联盟,通过授权控制参与共识、写入及查询操作,共同维护区块链运行,每秒可实现1000次以上写入。

图2 区块链类型图

2 中医药海量异构数据安全共享存储

联盟链技术是未来区块链发展的一个趋势,可实现数据在链上与链下的协同治理。为推动中医药健康医疗大数据相关机构的合作更加深入和全面,本文设计基于联盟链的中医药大数据安全共享模型,打造面向中医药大健康的生态服务和产业协同发展体系,实现产业链内医疗机构的多方共赢。模型的构建目标包括以下3个方面:①提升医疗数据共享效率,实现区块链链上数据资产锁定以后,在链下或链外做处理;②设计更加高频高效的共识算法;③实现用户对个人医疗数据的控制权[13-16]。

2.1 分层存储

在医疗联盟链中主要有医生、病人和第3 方机构(如科研机构等)3 类交易主体,医生可以来自不同的医疗机构,负责给病人进行诊断治疗并为病人提供医疗记录;病人可以在不同的医疗机构看病,拥有对个人的医疗记录的所有权和支配权;医院及第3 方机构可以以有偿的方式使用病人的医疗记录,进而实现一些增值服务。

中医药医疗数据的存储既要保证数据的真实可靠防篡改,又要保证数据开放共享;既要充分利用联盟链的安全特性,又要考虑其存储容量限制。因此本模型中,中医药医疗数据存储采用联盟式区块链和链下分布式数据库分层存储的方式(图3)。

图3 中医药海量异构数据共享存储模型

联盟链系统首先建立创世块,后续产生的医疗数据上传至区块链之前利用公钥加密算法进行身份认证,经过共识验证之后,按照时间顺序加入到主链上永久保存。在联盟链中每个节点都保存上一节点的哈希值,以此保证数据不被篡改与可追溯。

联盟链上存储的数据都是公开的。为了保护患者隐私,链上只存储医疗数据的元数据和数据摘要。元数据是定义数据的数据,如患者的电子病历记录,可以抽取其患者id、中医诊断、医疗数据在链下数据库中的存储位置等作为元数据存入链中。利用哈希函数计算医疗数据的数据摘要,借助哈希函数的抗碰撞性防止对数据的伪造和篡改。

医疗行业对于数据隐私的保护非常重视,隐私保护具有独特的法律法规要求,如美国医疗行业必须遵守1996 年颁发的《健康保险隐私及责任法案》(HIPAA);在 我 国,2018 年5 月1 日 实 施 的GB/T 35273-2017《信息安全技术个人信息安全规范》,从个人信息的收集、保存、使用、共享、转让、公开披露等环节出发,提出了保护个人信息安全应遵循的原则和安全要求。因此,为保证医疗数据隐私,个人医疗记录都以加密的形式存放在链下的分布式数据库中,并利用智能合约执行访问控制策略从而保证数据访问者只能查看被授权的医疗数据[17-20]。

2.2 异构中医药数据存储

基于中医整体观思想,中医药医疗大数据是多种数据的集合,包括患者临床数据、社会行为数据、环境空间数据以及遗传和分子研究数据,其中患者临床数据又包括来自电子病历系统、放射科管理系统、药事管理系统、影像归档和通信系统和检验科信息管理系统等各类临床数据[21](图4)。

中医药大数据的异构性给数据的共享存储和数据分析挖掘带来了很大的障碍。大多数机器学习技术和数据挖掘方法都不能很好地处理异构数据。为了高效地存储与利用海量的异构中医药数据,不能简单地对中医临床异构数据进行格式化转换,而需要针对不同的中医药大数据进行分类存储,例如,病人的个人信息,如病人身份,帐单编号,年龄,将以数字形式储存;还有一些医疗指标,如体温、血压和血糖值等将以数值的形式存储;中医电子病历则更适合以文档的形式存储;而医学影像信息适合以图片的形式存储。这就要求链下数据存储时采用对非结构化数据更加友好的NOSQL 数据库进行存储。MongoDB 是NoSQL 数据库的典型代表,支持非结构化数据存储,属于文档型数据库,具有无模式、易扩展、高性能等优点。结合中医药医疗数据特色,MongoDB 可以很好地适用于中医药电子病历等多样异构数据的存储[22-25]。

图4 中医药海量异构数据来源网

根据中医药临床和科研需求,为方便同类疾病间做关联分析,联盟链下采用疾病库--患者数据集合--GridFS 分区3级方式进行异构医疗数据的存储。首先按照疾病类型对中医药大数据分类,基于疾病种类建立数据库,如将“中风病”的各种格式和类型的数据存储到同一库中建立中风库;在疾病库中为便于快速纵向关联分析,基于患者ID 创建集合,集合中存储同一患者的各种格式和类型的病历文档和数据;在同一库中,利用MongoDB 中的GridFS 分区存储医学影像文件等大文件,分区与患者集合相对应。基于此,根据疾病种类、患者ID以及文件属性等信息便可以实现对中医药大数据的关联查询与访问[26]。基于联盟链的中医药异构数据存储结构如图5所示。

图5 中医药海量异构数据存储结构图

2.3 共识过程

授权股份证明机制(Delegate proof of stake,DPOS)是一种高效灵活的区块链共识机制。它在所有的授权节点中采用民主投票的方式选出101 个权益代表,进而降低参与记账的节点数量,实现区块链的高效共识验证。为了选出更具影响力的医疗机构进行记账查询服务,在本文采用改进的DPOS模型。

行业背景研究发现,中医药信息化过程中,大的医疗机构信息化进程起步早,程度高,数据积累丰富,小的医疗机构信息化进程起步相对较晚,信息化程度低,数据积累不足,因此目前的中医药数据中心主要建设在大的医疗机构。基于行业现状,可对DPOS 算法进行改进。预选节点的选择依据卫生部颁发的《医疗机构基本标准》和《医院分级管理办法》,对医院及其信息中心从硬件设施、服务水平,社会效益等多个维度进行评分,选取排在前101 位的医疗机构信息中心作为联盟链的预选节点,从而实现更加高效的共识。设置医疗机构信用积分制度,预选节点在进行区块签署时若进行虚假或者无效签署,积分将会丢失,预选节点依据信用积分动态变化[27]。

2.4 访问控制

目前,医疗数据大多存储在医院数据库中,患者获取个人医疗记录程序繁琐,病人对个人医疗数据缺少知情权和控制权,并且难以追溯。区块链的去信任机制推动了智能合约的发展,智能合约可以理解为编写在区块链上的一段代码,不需要人为干预便可智能执行,而区块链的分布式维护账本原理也保障了智能合约的公正透明。基于此,本系统设计医疗联盟链访问控制协议,个人医疗记录的使用权限完全由病人自己控制,病人可以授予某个主体访问相关数据的权限,也可以及时撤销其权限。

数据所有者将主体对资源的权限写入到联盟链中,通过智能合约的方式设置医疗数据权限集合Permission,包括共享条件、时长和次数等参数,然后加上有效期和签名。链下数据存储会按照联盟链中存储的数据权限集合Permission 来控制不同用户对数据的访问,自动响应不同数据请求者的共享请求。当被授予的权限Permission 为空集时,表明撤销其所有权限[28]。在访问控制交易中,医疗数据资源用URL 表示,主体用数据使用者的公钥PUK 表示,医疗数据解密密钥K用访问对象公钥PUK加密。

为保证医疗数据的安全共享,采用对称加密和公钥加密相结合的方案进行数据传输和访问控制,具体流程如下:(1)提出共享访问请求

输入:数据请求方ID、数据请求方公钥证书和所需医疗记录请求信息。

(2)访问授权

患者作为医疗记录拥有者,拥有对数据的控制权,根据请求方身份,制定访问约束条件Permission,如数据共享范围、时效、次数等,在联盟链中生成访问控制交易。

(3)共享数据发送

联盟链基于访问约束条件执行智能合约:

首先生成会话密钥K,使用K 对授权数据进行加密;然后利用数据请求方公钥PUK 加密该会话密钥K;将授权数据密文和加密后的会话密钥{EK(DATA),EPUK(K)}发送给数据请求方。

(4)数据访问

数据请求方先利用自己私钥PRK 解密会话密钥K,DPRK(EPUK(K));然 后 利 用K 解 密 授 权 数 据DK(EK(DATA)),从而实现医疗数据的安全共享。

基于公钥加密的特性,上述方案可保证只有被授权的用户才能正确解密会话密钥,从而进一步使用会话密钥解密所申请的医疗数据。

3 应用场景

医疗数据应用的痛点主要在于患者敏感信息隐私保护的需求与多方机构的数据共享需求之间的矛盾。区块链作为一种多方维、全量备份、信息安全的分布式记账技术,为医疗数据共享带来的创新思路是很好的突破点。基于联盟链的中医药大数据共享平台可实现以下四个方面的增值服务和应用(图6)。

3.1 历史医疗数据获取

医疗联盟链中的数据具有安全,防篡改,可追溯的特性,可满足医生、患者、第三方医疗机构的医疗数据检索需求,保证数据请求者获取到真实可靠的历史医疗数据。

3.2 辅助治疗和健康咨询

第三方医疗机构可以通过共享的医疗数据对特定类型的疾病进行建模分析,从而达到更好的辅助决策和治疗的目的。

3.3 支付管理

通过区块链独特的共享账本管理,可简化支付流程,提高医疗费用结算透明度;对社保机构、医疗保险机构一方面可有效防止医疗保险欺诈行为,另一方面可缩短医疗保险理赔时效,大幅减少患者等待理赔的空窗期。

图6 基于联盟链的中医药共享平台应用场景

3.4 医疗耗材、药品的溯源管理

通过区块链对每一次医疗耗材、中药材的流转进行登记,实现医疗耗材、中药材从原材料的生产地、到生产制造、到销售流转过程、及进入医院后患者使用信息的全过程追溯管理,有效实现医疗耗材和中药材的溯源管理和防伪鉴定。

4 总结

基于联盟链的中医药海量异构数据存储提供了安全的分布式存储机制,使得医疗数据的所有权重归患者,并由患者控制医疗数据使用权限,从而建立起一个安全、及时、准确、可共享和广泛的中医药医疗健康数据源。本系统充分考虑了海量异构中医药数据的存储需求,结合当前流行的MongoDB 数据库分类存储中医药医疗数据,在保证中医药特色的前提下,允许患者、医院和第三方机构之间共享医疗数据,辅助疾病的预防与诊治,提高挖掘探索中医药宝库的效率。另外,基于联盟链的医疗数据存储具有良好的容灾性能,去中心化的数据存储使数据分布在网络的不同节点,可有效解决单点失效问题。需要指出的是,基于联盟链的医疗数据共享存储在具体的实施中还会遇到很多问题与挑战,如医疗机构与政府部门的协调合作以及区块链使用的交互性问题都需要随着中医药区块链应用的发展不断改进和完善。

猜你喜欢

异构医疗机构区块
ETC拓展应用场景下的多源异构交易系统
试论同课异构之“同”与“异”
区块链:一个改变未来的幽灵
区块链:主要角色和衍生应用
区块链将给媒体业带来什么
区块链+媒体业的N种可能
异构醇醚在超浓缩洗衣液中的应用探索
医生集团为什么不是医疗机构?
医疗机构面临“二孩”生育高峰大考
基层医疗机构到底啥问题?