基于区块链的医疗数据安全共享模型研究与应用
2023-09-06赵开斌李京昆
滕 亮 陈 兵 赵开斌 徐 涛 李京昆 洪 薇
1(湖北省退役军人事务厅 武汉 430071)
2(襄阳市大数据中心 湖北襄阳 441001)
3(湖北央中巨石信息技术有限公司 武汉 430061)
(8302037@qq.com)
2016年10月,中共中央、国务院印发了《“健康中国2030”规划纲要》,提出“加强健康医疗大数据应用体系建设,推进基于区域人口健康信息平台的医疗健康大数据开放共享、深度挖掘和广泛应用”[1];2022年6月,退役军人事务部等4部门印发了《优抚对象医疗保障办法》的通知[2],推出多项创新举措,明确提出各地应当积极建立完善基本医疗保险、大病保险、医疗救助、优抚对象医疗补助“一站式”费用结算制度机制,推动实现资源协调、信息共享、结算同步.
优抚对象是指按《军人抚恤优待条例》[3]规定享受抚恤优待的群体,医疗补助结算方式包括如下步骤:1)优抚对象提出书面申请;2)经办机构审核材料后人工录入信息;3)医疗保障机构审核信息,手工计算核算已申请的医疗补助;4)将医疗补助拨付至申请人账户[4].
区块链的去中心化、不可篡改等特性[5]更契合当前分布式安全存储的趋势,对于数据的安全性与可靠性更能得到保障,非常适用于跨机构数据共享[6].
1 相关知识
1.1 传统医疗数据共享模型
传统模型采用“中心机构+分支机构”的组织模式,对中心机构人员、技术、资金过度依赖[7],存在透明度不高、历史数据不易追溯、会计工作量大、审计成本高等缺点[8],通常涉及如图1所示的三方:
图1 传统的医疗数据共享模型
数据生产方(data producer, DP).直接产生并直接拥有资源目录的数据,共享数据都是从DP产生的数据汇聚、计算而来.
数据服务方(data steward, DS).负责采集、存储和处理DP产生的数据,并为提供数据共享服务所需要的一切资源.
数据使用方(data user, DU).共享数据上链后,根据自身应用系统的需要获取共享数据并使用.
从数据视角分析,DP持有数据正本,DS,DU在物理逻辑、数据逻辑上只能拥有数据副本;从数据共享交换的行为视角分析,三方在数据供应、传输、存储和共享数据的行为与过程中,各自通过不同的信息系统进行记账,拥有多份“共享交换行为日志”.
随着数据监管不断强化、隐私数据保护力度不断增强,数据共享还可能涉及数据所有方和数据监管方:
数据所有方(data owner, DO).产生数据的直接来源,可以增加、删除、修改、查询数据.
数据监管方(data administrator, DA).对数据的加工过程和数据的加工结果直接参与计算、检测和认证,承担行政和法律责任.
1.2 医疗数据安全共享的制约因素
受合规性要求、数据开放政策、数据安全风险等因素影响,“信息孤岛”仍然普遍存在,各机构“信息壁垒”严重,互信机制不完善[9];保护个人隐私数据的机密性仍具有挑战性[10];数据来源广泛,数据结构和类型各异[11];不同医疗机构的数据标准不统一,各机构之间医疗信息系统的互操作性较低[12];信息安全责任边界模糊[13],在医疗补助报销等具体场景下存在信息化程度不高、异地报销难、监管审计难、网络数据安全防护薄弱等问题.
1.3 区块链网络基础
区块链网络包含共识节点(orderer node, O节点)和对等(peer node, P节点).
O节点是共识服务定义的节点集合,包含每个区块链网络参与者绑定的加密身份材料.它将交易排序到区块中,并分发给连接的对等节点进行验证和提交.共识服务独立于对等流程存在,对网络上的所有区块链进行共识交易,旨在支持开箱即用的共识算法可插拔实现,是整个区块链网络的常见组成部分.
P节点是维护分类账并运行在隔离环境中执行智能合约以对分类账执行读/写操作的网络实体.每条区块链可以拥有多个P节点.其中的1个或多个可静态或动态地充当领导节点,以作为代表与区块链网络共识服务进行通信.共识服务将区块传送到领导节点,然后由领导节点分发给其他P节点.
本文的模型设计时,假设区块链网络已搭建并正在运行,该区块链网络包含O1节点、P1节点和P2节点,O1节点用来作交易共识,P1节点和P2节点用于签名验证用户请求.所有用户包括均已在证书颁发机构(CA)注册并收到必要的加密证书,加密证书用于向区块链网络进行身份验证.
共享智能合约已安装在区块链网络中,智能合约包含定义一组对共享目录的结构说明和商定好的可共享目录的用户集,还设置了如表1所示的共享智能合约的背书策略:
表1 共享智能合约的背书策略
2 数据共享模型架构设计
2.1 数据共享架构设计
遵循安全、可信、稳定、可拓展的原则,系统按照统一规划、分层构建来设计,数据共享系统总体架构分为6层,如图2所示.
图2 数据共享系统总体架构
1) 确权层/规则层:对数据的生产、采集、确权环节制定相关规则标准并进行约束;规则共识过程依赖于全部参与方,共识结果需要发布才能应用.
2) 源数据层/生产数据层:保障采集数据的真实性、合规性、正当性和一致性;数据标识是数据的全局唯一数字签名码.
3) 共识层/计算层:封装各类共识算法;确定统一的“标准、计算、记账”的服务架构.
4) 记账层/上链层:通过智能合约自动执行上链、标识、存证等功能,生产可信数据.
5) 流通层/共享层:建立多方共识的统一标准;管理数据的采集存储状态、生命周期状态;实时监控区块链网络和数据资源状态.
6) 授信层/隐私保护层:建立用户、角色与权限的集合;提供数据分类分级保护[14]、数据脱敏[15]、安全计算沙箱、安全多方计算[16]等安全交换策略;实现数据的可用不可见.
2.2 共享模型设计
2.2.1 上链即共享模型
参照文献[17],将共享数据按照实时、增量或批量等要求直接装载到共享目录,数据共享者将共享目录上链后,其他成员可直接使用数据,即实现数据的上链即共享,如图3所示.
图3 上链即共享模型
该模型流程包括:1)数据共享提案;2)共享提案验证;3)交易共识;4)数据上链;5)数据查询提案;6)查询提案验证;7)获取共享数据.
2.2.2 授信共享模型
在上链即共享的基础上,DP在上链时给数据加锁,授信后才能访问数据,未被授信的无法访问,如图4所示.
图4 授信共享模型
DP具有共享数据的所有权,设置共享数据的授信集(credit set, CS).
1) 若DP主动授信给DU查询权,则当DU在发现共享数据上链后即可查询使用;
2) 若DP授信给DA和DS管理权,未授信给DU查询权,则当DU在发现共享数据上链时,构建授信申请共享数据的请求,追加授信给DU并签名;若DP,DA和DS同意授予查询权,则构造新提案更新授信集并追加到区块链中,确认DU则具备该共享数据的查询权.
2.2.3 安全交换共享模型
在上链即共享模型的基础上,DP不直接将共享数据上链,而是将数据描述、数据结构、脱敏示例等共享数据定义上链,如图5所示.
图5 安全交换共享模型
1) DP构建共享数据定义、DP公钥的请求,完成共享数据定义上链;
2) DU请求DP同意交换共享数据;
3) DP利用密钥交换协议,加密全部共享数据为共享数据密文;
4) DU利用密钥交换协议生成对称密钥,从获取到全部共享数据密文中解密出共享数据后使用.
2.2.4 隐私计算共享模型
基于数据共享定义和数据隐私计算模型,构建数据隐私共享模型,实现数据的可用不可见.
1) DP新增共享数据定义的请求,完成共享数据定义上链;
2) DU向DP发出同意交换共享数据的请求,并将其构建的隐私计算模型上链;
3) DP接收请求并同意后,通过隐私计算模型对数据处理结果上链并通知给DU,DU获取处理结果后使用.
2.2.5 分级授信共享模型
基于数据共享的隐私保护等级和隐私保护方法,结合授信机制构建数据隐私共享模型,实现数据的分类分级保护和授信共享.
1) DP设置共享数据的隐私保护等级及隐私保护方法;
2) DP构建共享数据、隐私保护等级及隐私保护方法的请求,完成已分级的共享数据上链;
3) DU向DP发出授予已分级的共享数据隐私查询权限的请求;
4) 若DP同意请求,则授予DU隐私查询等级并追加到区块链中;
5) DU构建查询共享数据的请求及对应的交易提案,区块链网络节点基于智能合约验证交易提案并确认是否通过隐私保护方法处理共享数据,并将共享数据处理结果返回给DU.
3 数据共享模型应用实践
3.1 数据共享模型应用
本文以优抚对象的医疗费一站式结算流转为典型场景进行案例研究:优抚对象到医疗机构Mi就诊,医生A生成电子处方后通过医疗机构Mi经卫生健康委员会(简称卫健委)和医疗保障局(简称医保局)审核,发布到区块链网络;经办人B审核结算资金时,通过医疗保障机构MSi(退役军人事务部门)调阅对应的电子处方,完成救助金额核算.
3.1.1 角色定义与区块链网络搭建
本案例所有用户的角色定义如表2所示:
表2 用户角色定义
搭建区块链网络,节点定义如表3所示:
表3 区块链网络节点定度
所有用户已在证书颁发机构(CA)注册并收到必要的加密证书,加密证书用于向区块链网络进行身份验证.
3.1.2 规则集上链
医疗机构Mi创建规则集,签名后发送到区块链网络;
卫健委根据规则集创建共识任务,发送给全部共识方:医疗机构Mi、卫健委、医保局和医疗保障机构MSi;
共识方收到共识任务后发起交易并签名,查询共识任务包含的规则详情、区块链网络节点校验签名,确认身份后返回规则详情.
规则集共识证明完成后由医保局将结果写入区块链,指定:1)共享目录数据的角色权限(所有权、管理权、使用权和查询权);2)上链共享目录和共识过程.
3.1.3 数据安全共享
医疗机构Mi按要求生成电子处方,请求审核;医疗机构Mi、卫健委和医保局分别对该电子处方执行本地计算且共识通过后,创建电子处方的数据定义,包含电子处方数据的描述、数据结构和脱敏示例.
1) 电子处方的数据定义上链.
医疗机构Mi构建新增共享数据定义的请求Req1:{Request: Share Data Definition,CreditSet:CS1,PublickKey1:医疗保障机构MSi},设置授信集CS1:{Owner:{优抚对象,医生A,经办人B/医疗保障机构MSi},Manager:{卫健委,医保局},User:{},Inquirer:{医疗机构Mi,医疗保障机构MSi}},对请求Req1签名、构建交易提案后分别发给卫健委、医保局进行提案验证:①交易提案格式正确;②过去尚未提交(重放攻击Replay Attack保护);③签名有效;④提交者被恰当授权在该智能合约上执行建议的操作.
提案验证成功后,卫健委、医保局在本地执行智能合约生成交易事务结果(此时不会对分类账有任何更新),签名后创建卫健委提案响应SPR1、医保局提案响应SPR2,并传回医疗机构Mi,交易事务结果如表4所示:
表4 交易事务结果
医疗机构Mi验证区块链节点签名,比较提案响应SPR1,SPR2是否相同;若通过,检查是否满足更新分类账的签名策略;若满足,则交易Tx1:{Transaction:TP1,SPR1,SPR2}提交至区块链网络Oa节点后按排序;假设按时间正序为Tx1,Tx2,Tx3,则创建区块B:{Block:Tx1,Tx2,Tx3},并将区块B发送给卫健委、医保局.
卫健委、医保局收到区块B后,验证交易签名、交易是否满足背书策略;若验证通过,则交易被标记为有效Valid Tx;卫健委、医保局将全部有效交易Valid Txs写入集Wvt:{Set:Valid Writers}提交到当前状态数据库,并通知所有用户此共享数据定义已不可变地追加到区块链中.
2) 数据共享提案.
优抚对象向医疗保障机构Msi提出医疗补助的书面申请,经办人B产生电子处方的数据使用需求;假设经办人B已被医疗保障机构MSi授信查询权且共享链上存在共享数据定义,经办人B通过医疗保障机构MSi构建安全交换共享数据的请求Req2:{Request: Share Data Definition,PublicKey:医疗保障机构MSi}.
医疗保障机构MSi在本地生成公私钥对,将公钥PublicKey附加在请求中并签名,构建交易提案TP2请求医疗机构Mi同意交换共享数据.
3) 加密共享数据上链.
提案TP2追加到区块链中之后,医疗机构Mi通过密钥交换协议加密共享数据为共享数据密文,并构建共享数据的请求Req3:{Request:Share Data Secret};医疗机构Mi将请求Req3提交至区块链,实现加密共享数据的上链.
4) 获取共享数据.
经办人B通过医疗保障机构MSi获取到全部共享数据密文,根据公钥PublicKey生成的对称密钥Secret解密出共享数据即电子处方数据.
5) 使用存证.
经办人B审核、核算依申请的医疗补助,设置共享数据的隐私保护等级及其隐私保护方法PL:{Level:1~5,Method:隐藏/重排/加密/截断/掩码等},构建新增共享数据的请求Req4:{Request:Share Data,ProtectionLevel:PL},经签名、构建交易提案、共享提案验证、交易共识后完成共享数据上链.
6) 数据隐私查询等级确认.
其他数据使用者DU在发现共享数据上链后,请求医疗保障机构MSi授予共享数据隐私查询等级;
若请求通过,则授予该数据使用方DU隐私查询等级level(1~5)并追加到区块链网络;数据使用方DU在获得共享数据的隐私查询等级后,构建数据请求、签名后,构建交易提案、进行提案验证,并特别验证,若通过则执行智能合约:若共享数据隐私保护等级≤数据使用方DU的隐私查询等级,则将共享数据返回给数据使用方DU;若共享数据隐私保护等级>数据使用方DU的隐私查询等级,则将共享数据经过隐私保护方法处理,然后返回给数据使用方DU,即可进行共享数据的使用.
3.2 应用效果分析
以上应用通过数字签名、加解密、时间戳等技术强化了医疗数据的可追溯性和审计性;通过数据规则集提供统一的数据标准,提高了数据需求和数据供给的匹配程度;基于数据定义流通、智能合约管控和公众主体参与管理等机制,经过授信、可用不可见等控制手段处理后,实现了自动、高效、安全的数据共享,消除人工录入、核算医疗补助的不足,为降低诊疗结算成本、提高就医满意度创造了有利条件.
3.3 应用展望
本文的案例具有较好的普适性,能够应用于多种数据安全共享场景下,但是仍存在以下应用难点:
1) 在数据传输安全性方面,存在链接中断、数据篡改等可能,存在链上链下数据真实性、安全性和一致性的挑战.解决方案包括:基于链上数据鉴别、控制链下数据的改变是否合规.
2) 不同医疗机构的数据标准不一,存量数据标准打通仍需要努力.解决方案包括:建立国家级的统一标准体系,新的医疗数据执行新的存储标准,并逐步审查、替换历史数据,形成统一、可信的医疗电子数据.
4 结 语
本文提出的基于区块链的医疗数据安全共享模型,由角色定义、规则集创建与共识、数据采集、抽取定义、上链、授信、隐私计算、加解密和数据分级等关键环节构成,将传统的多个数据正副本转变为1个数据正本多点维护,实现数据的全局正本化、数据生产者与所有者参与、多方共识统一记账的新型管理方式,引入授信共享、安全交换共享、隐私计算共享、分级共享等多种共享机制,突破医疗数据共享中的互信机制不完善、监管机制缺失等实际问题,有效保障全局数据的一致性、安全性与合规性,协调了医疗数据的开放共享和个人隐私保护关系,推动医疗数据“一站式”费用结算等数据安全共享的应用.