时间:2024-05-04
杨白 陈华强
统计表明,2017年仅在美国出现的重大医疗信息泄露事件就有15次,保守估计,共有约300万名病人的信息被泄露。而在我国,近些年来,这样的安全事件也频频发生。比如2017年9月《法制日报》就报道了一家医院的服务信息系统遭到黑客入侵,被泄露的公民信息多达7亿多条,8000多万条公民信息被贩卖。毫无疑问,卫生医疗信息有着很高的价值,其中包含的患者姓名、年龄、居住地址、电话、病史、银行账户等信息,蕴含着重要的财富价值。正因如此,卫生医疗行业一直是信息窃取的主要目标。另外,卫生医疗信息的爆炸式增长及互联网的迅速发展,致使卫生医疗机构内网的数据逐渐走向公网,然而卫生医疗行业的信息安全保护起步较晚,导致了卫生医疗信息泄露的事故层出不穷。
卫生医疗信息在传递过程中容易被拦截、篡改和泄漏,因此,医疗人员与患者迫切需要一种能够在各卫生医疗机构之间实现卫生医疗信息共享,并能够保证患者信息不会泄露。
卫生医疗信息安全设计
基于CA认证的传统安全机制虽然可以解决大部分环境下的安全问题,但还是存在一定问题。由于其过于依赖CA中心,一旦CA中心被攻破,则无法对人员进行认证,也无法辨别信息真假,将造成不可估量的问题。利用区块链技术信息的去中心化、不可篡改等性质,可以保证卫生医疗信息的安全。因此,本文设计了基于区块链的无中心化安全系统架构。该架构的七层结构分为必须层和可选层,必须层包括数据层、网络层和共识层,是构建区块链的基础,可选层包括激励层、合约层和应用层,分别负责激励制度的发行和分配、个性化合约的制定和基于区块链技术App的开发,其功能与区块链本身的安全性关系较低。
按照区块链的基础架构模型,各层的详细设计如下:
数据层:该层涉及数据存储的格式和方法。数据层存储着病人卫生医疗记录的信息摘要和具体数据在云存储中的位置,结构相同的区块通过链式结构形成数据的链条。系统负责创建创世块,网络节点新产生的区块经过验证后被加入到主链上,形成对交易数据的永久保存。在链中通过时间戳来保证各区块按照时序链接,通过哈希函数来保证数据不被篡改,通过公钥加密实现身份认证,这些技术一起使用保证了安全。
网络层:整个区块链网络层可以看作是一个P2P网络负责节点之间的通信及传播区块,同时还包含验证机制辅助完成区块的验证和共识。网络层的目的是实现网络中各个节点之间的通信,是一个P2P网络。
共识层:该层包含系统的共识机制。区块链的一个关键优势是使所有分布式节点达到对数据有效性的一致,这是节点之间相互信任的基础,因此共识层的设计非常重要。本系统并没有采用传统的PoW和PoS机制,而是采取了多重签名机制。
激励层:激励层提供一定的激励机制鼓励节点参与区块链的交易验证工作。区块链的安全性依赖于众多节点的参与。由于卫生医疗信息系统的区块链不是加密货币,所以不能通过挖矿来产生货币,以激励矿工共同维护公共账本的有效性。在此链中法币将以代币的形式在链中流通,用于支付交易费。在此链中,每笔交易都会产生一定量的交易费,交易费由交易的输入和输出的差值产生,由在挖矿竞赛中获胜的矿工收集,作为挖矿奖励。在此链中,采用了比特币的工作量證明机制,每一个固定的时间周期内会产生一个新的区块。
合约层:合约层继承了比特币区块链的设计,封装了区块链系统的各类脚本代码、算法。可以利用脚本代码规定交易的方式和各项细节,通过合约层的脚本技术,可以实现延时支付、担保交易以及根据外部信息源触发交易事件等类型的应用。
应用层:在此设计的区块链中,主要是实现病人卫生医疗记录的发布、保存和共享,实现如下3个主要功能。卫生医疗记录发布病人在医院看病或者在医院等医疗机构做检查时,医生会为该病人产生病历、检查报告等卫生医疗数据( M)。卫生医疗数据产生后,医生会为卫生医疗数据生成哈希,并将卫生医疗记录的摘( Digest) 、哈希用发行方的私钥( skisser) 签名后发布到此链上。同时将卫生医疗记录用对称密钥( k) 加密,并将加密密钥用病人的公钥( pk patient) 加密后一起发送给病人。卫生医疗记录存储病人从卫生医疗机构收到了自己的卫生医疗数据后,首先验证机构的签名,然后用自己的私钥解密出卫生医疗数据的加密密钥,并解密出原始卫生医疗数据及其签名,然后生成新的加密密钥将卫生医疗数据及其签名加密存放到云存储中保存。卫生医疗记录共享病人的医疗数据的使用权限完全由用户自己控制,病人可以通过访问控制交易授权第3方访问其部分卫生医疗记录,并可以随时收回权限。授权时会将共享记录在云存储中的位置、使用权限、使用期限、用第3方使用者公钥机密的解密密钥一起写入区块链中,云存储管理端会以此设置访问控制策略。
安全性分析
本文从隐私保护、不可修改性和安全存储3个方面进行了安全分析。
隐私保护。基于区块链的特性,病人的个人信息将会被唯一哈希值标识,而不像传统卫生医疗机构中使用用户姓名或者ID标识。病人的卫生医疗记录文件访问权掌握在自己手中,基于密码学的非对称加密技术使得用户可以在每次上传中重新生成公私钥对,这样实现了用户对每个文件的访问权限限定。而卫生医疗机构A,则在加入到区块链网络中时,身份信息已被唯一哈希标识,使其同步的文件具有权威性。本文中区块链网络本质上是保存文件唯一标识的哈希值,因此即使得到了文件哈希,没有用户的私钥也无法解开任何在区块链网络中的任何密文信息。
不可修改性。基于区块链的设计,使得上传到私有网络中的文件带有时间戳,任何操作记录都被同步到所有节点,保证了文件使用透明性。基于区块链特性,每个文件的区块中保存有上一个所存文件的哈希,要想改变当前文件哈希必须保证私有网络中超过50%的节点同意,在一个较大规模的区块链网络中,这几乎是一件不可能事件。所以,对初始文件的任何改变都会实时显示在区块链网络中,保证了本方案私有区块链网络中文件的不可修改性。
安全存储。数据的存储安全是区块链的重要特性,在本文的方案中,病人对自己的卫生医疗记录具有所有权,并完全控制它的使用。从数据的生产到数据的使用过程都是安全的。卫生医疗记录的公共信息( 包括卫生医疗记录元数据、加密记录的存储位置、哈希值、存取权限等) 都存储在区块链上,公共可见无法篡改。卫生医疗机构作为医疗记录生产方,生成记录后即对记录进行哈希,并对哈希值进行签名,然后用病人的记录和签名用病人的公钥进行加密,并存储在链下的云存储中,并把记录的哈希和位置写入区块链,确保了数据来源的机密性、真实性;云存储的分布式存储特点保证数据存储的安全性。病人收到卫生医疗记录后,用自己的私钥解密密文,获得原始记录的哈希和签名,验证记录的完整性和真实性,并将原始记录采用对称密钥进行加密,并将其归集到自己的卫生医疗记录存储空间。只有授权用户才可以获得解密密钥,查看真实记录。敌手即使从存储中获得记录,由于存储的是记录的密文,也无法获得卫生医疗记录的任何真实信息,确保了卫生医疗记录数据的安全。
本文设计的区块链为病人的卫生医疗记录提供了安全的分布式存储机制,使得病人的卫生医疗记录的所有权归病人所有,并由其控制其使用权限,建立起一个共享的、及时的、准确的和广泛的个人卫生健康数据源。
(作者单位:浙江卫健委信息中心,高博技术与战略研究所)
我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!