时间:2024-09-03
◆杨径山
基于区块链的病历操作记录的隐私保护方案
◆杨径山
(四川大学网络空间安全学院 四川 610000)
本文针对电子病历操作记录的安全性及隐私性问题,提出了一种基于区块链的病历操作记录的隐私保护方案。通过基于RSA数字签名的身份认证方案为加入区块链网络的符合条件的医疗机构提供身份证明,通过群签名方案来实现必要时节点可跟踪,通过CA公钥加密使得即使区块链上的群管理员节点被入侵也无法获得隐私信息。通过该方案可以实现保护数据隐私的前提下信息可追溯,同时即使区块链中的群管理员节点被入侵,也可保护数据隐私。
区块链;群签名;RSA;信息安全;隐私保护
区块链是一种分布式数据库,由于其去中心化、不可篡改、可追溯、多方共同维护等优点[1],被广泛地应用在金融、医疗数据共享、物流等领域。区块链上存储的信息对于所有的链上节点而言都是公开的,这种方式的优点是节点可以快速达成共识,保证区块链上所存储的信息是可信的,缺点是信息发布者的地址与发布的信息中的隐私数据也会泄露。而对于病历操作记录,发布者的身份与病历操作记录中的数据往往都是高度隐私且极其敏感的,因此对于病历操作记录而言,保护链上数据隐私就显得非常重要。针对保护链上数据隐私的问题,本文提出了一种基于区块链的病历操作记录的隐私保护方案。
2008年,Nakamoto在比特币白皮书中首次提出了区块链的概念[2]。作为比特币的底层技术,区块链本质就是将数据区块按照时间顺序组成链式数据结构,以密码学技术保证链上数据的不可篡改和不可伪造[3]。区块链中,每个节点通过哈希算法与Merkle树将固定时间段内的交易封装到一个有时间戳的区块中,之后通过区块哈希与上一个区块链接起来形成区块链[4],区块结构如图1所示。
区块链根据其开放程度可以分为三种类型:公有链、私有链和联盟链。公有链允许任何节点加入,比特币和以太坊均为公有链。私有链一般为企业搭建,只有企业内员工可以加入,企业外的用户不能够加入。联盟链介于公有链和私有链之间,只有经过许可的节点才可入链。
图1 区块结构
群签名是由ChaumD[5]等人在1991年提出。群签名机制允许多个签名人形成一个群组,群组中的任意一个成员可代表整个群组匿名生成某个信息的签名。群组有个群管理员负责维护群组中成员的群组资格,并在必要时识别生成某个签名的签名人的身份[6]。群成员可以验证签名是否正确,而无法确定签署者的身份。
RSA公钥加密算法是1977年由Ron Rivest、Adi Shamirh和LenAdleman开发的[7]。RSA是目前最有影响力的公钥加密算法,它能够抵抗到目前为止已知的所有密码攻击,已被ISO推荐为公钥数据加密标准。RSA算法基于一个十分简单的数论事实:将两个大素数相乘十分容易,但想要对其乘积进行因式分解却极其困难,因此可以将乘积公开作为加密密钥。
病历操作记录上传需要医疗机构实名认证,这样做的目的一是为了验证医疗机构上传的数据是真实可查的,二是防止发生医疗纠纷后无法确定诊断机构。为保证实名认证操作下数据的隐私安全,加入病历操作记录区块链前需要对医疗机构的资质进行认真审查,确保真实与符合要求,为此本文提出了基于区块链的病历操作记录隐私保护方案。方案包括医疗机构身份认证和隐私数据上传两个模块。医疗机构身份认证模块是在链下对医疗机构进行实名认证,认证通过后由区块链上的群管理员节点为其发放群证书。隐私数据上链是链上节点通过认证加密结合方式来保证上传的医疗数据能够安全存储,确保即使群管理员节点被入侵,也无法获得隐私数据。
医疗机构在加入区块链网络之前都必须完成身份认证,获得惟一身份证书以确保身份的真实性和安全性,采用基于RSA数字签名的身份认证方案为加入区块链网络的用户提供匿名可验证身份。
基于RSA数字签名的身份认证方案由医疗机构(A)、认证服务器(B)和可信授权中心(CA)三部分组成,其中认证服务器同时也是区块链上的群管理员节点,可信授权中心不上链。首先A将自身资质和名称等隐私信息发送给CA认证,CA根据医疗机构要求审核A,审核通过后,CA向A发放合格证书和密钥对。之后A通过合格证书向B证明自己是通过审核的医疗机构,B确认合格证书后,将A加入到区块链网络中并为其发放群证书。整个过程中,A的隐私信息只有A自身与CA接触,认证服务器即群管理员节点并不知道A的具体信息。整个认证过程包括医疗机构注册,加入区块链网络两个阶段。
(1)注册阶段
在加入区块链网络之前,A必须首先到可信授权中心(CA)注册。A将自己的身份信息(包括医院名称、地址、联系方式、资质等信息)发送给CA,CA首先根据要求审核,审核通过后CA根据RSA密钥生成算法生成密钥对,然后CA将合格证书与密钥对发送给A,最后A才能将合格证书交给B验证。
具体步骤如下:
①医疗机构A将身份信息msg发送给CA。
②CA对照医疗机构要求逐条审核msg,并确认其是否真实可信。若不通过,CA就向A发送审核不通过的消息,通过就进行下一步。
③CA随机选取p和q两个大质数,计算n=p*q。
④计算L,即p-1和q-1的最小公倍数。
⑤计算e,e要满足两个条件:1 ⑥计算d,d要满足两个条件:1 ⑦CA将“确认合格”信息与生成的公钥使用自己的私钥加密,生成合格证书s。 ⑧CA将该机构身份信息与其密钥对记录下来,方便必要时可确定身份信息。 ⑨CA将合格证书s、公钥(n,e)与私钥(n,d)发送给医疗机构A。A将其保存下来,为之后加入区块链网络提供支持。 (2)加入节点阶段 在加入节点阶段,A先向B发送审核合格的消息,B确认审核合格消息为真后,B为A分配群证书,同时将其加入区块链中。 具体步骤如下: ①A生成审核合格消息m1。 ②A使用哈希函数生成m1的摘要m2。 ③A使用私钥加密m2,生成数字签名m3。之后将m3与s附在m1的上面生成m4。 ④A将m4发送给B。 ⑤B接受到m4后,首先使用CA的公钥解密s,获取到合格消息与A的公钥。 ⑥B使用A的公钥对m3解密获取到m5,之后B对m1进行哈希运算得到m6,对比m5和m6。若不同则说明信息有误,B向A发送加入节点失败的消息。若相同则进行下一步。 ⑦B向A发放群证书,并且将A即医疗机构节点加入到区块链网络中,同时记录A的公钥与其节点地址的键值对。 对于要上链的病历操作记录,将其分为记录明文与记录密文两个部分。记录明文包括病历操作类型(更新、删除等)、病历操作时间,病历索引。记录密文包括病历操作人(某医院某科室某医生)。 为了实现链上数据在必要时可追踪到发布者,同时保护数据隐私和防止数据泄露,本方案中的上链信息使用多重认证与加密相结合的方式。具体方式如下: (1)对于记录明文使用哈希函数生成摘要,之后用节点的私钥加密摘要生成数字签名a1。这样做的目的是出现问题时可验证信息是否被篡改。 (2)使用可信授权中心的公钥,将记录密文加密生成a2。这样做的目的是为了保证即使群管理员节点被入侵,病历操作记录中的病历操作人的身份信息也不会泄露。 (3)节点使用获得的群证书对记录明文生成群签名a3。这样做的目的一是其他成员节点可以验证信息是否为群成员签署,二是为了实现必要时群管理员可以追踪到发布者身份。 当新区块产生后,链上的节点可以利用群公钥验证区块中的信息是否为群成员发布。如果出现医疗纠纷,首先群管理员使用群私钥验证群证书得到群成员身份,之后对照存储的键值对得到该成员的公钥,之后对记录明文使用哈希函数生成摘要,并与信息中的摘要对比,确定信息未被篡改。之后请求可信授权中心解密记录明文。如果需要确定发布者的身份,则群管理员可以根据节点公钥请求可信授权中心获取到发布者的身份信息。而如果群管理员节点被入侵,其可以得到代表群成员身份的哈希值,以及区块中存储的明文信息,但由于其没有可信授权中心私钥,无法获得病历操作记录中的病历操作人的身份信息。 (1)匿名性 一方面,医疗机构加入区块链的过程,其真实身份只有自身与可信授权中心知道,对于链上的其他节点包括群管理员节点而言只能确定其是符合要求的医疗机构,但不知道其真实的身份信息。另一方面,使用群签名算法结合区块链的方案,使得链上节点可以验证是否为群成员发布的消息,而无法确定发布者的具体身份。 (2)可跟踪性 一旦发生医疗纠纷,需要确定具体的病历操作人时,群管理员可以使用群私钥确定节点地址,之后根据记录的键值对获取到该节点的公钥,确定信息未被更改,之后可请求可信授权中心解密信息中的加密内容。如果需要确定信息的发布者,群管理员节点根据节点的公钥可以请求可信授权中心获取到发布者的身份信息。 (3)安全性 对于上链信息,链上使用私钥签名来防篡改,使用群签名来保护身份,链下通过可信授权中心保证身份信息。多重机制保证了即使链上某个节点包括群管理员节点被入侵,也无法获得有效信息。 病历操作记录作为电子病历中的关键数据,首先需要保护记录中的隐私数据,其次还要保证数据不被篡改,在必要时,还能够追踪到病历的发布者与病历中的关键信息。基于此,本文提出了基于区块链的病历操作记录的隐私保护方案。本方案通过群签名、RSA数字签名与区块链相结合的方式,保证了病历操作记录能够在保护数据隐私的前提下安全存储在链上,必要时也可追踪到发布者。 [1]邵奇峰,金澈清,张召,等.区块链技术:架构及进展[J].计算机学报,2018. [2]NAKAMOTO S.Bitcoin:a peer-to-peer elect-ronic cash system[EB/OL].[2019-07-11].https:∥bitcoin.org/bitcoin.pdf. [3]刘炜,彭宇飞,田钊,等.基于区块链的医疗信息隐私保护研究综述[J].郑州大学学报(理学版),2021. [4]袁勇,王飞跃.区块链技术发展现状与展望[J].自动化学报,2016. [5]ChaumD,Heyst V E.Group signatures[G]// LNCS 547:Proc of the 10th Annual Int Conf on Theory and Application of Cryptographic Techniques (EUROCRYPT'91). Berlin:Springer,1991. [6]程朝辉.数字签名技术概览[J].信息安全与通信保密,2020. [7]袁磊,张艳丽,罗刚.5G时代的教育场景要素变革与应对之策[J].远程教育杂志,2019.2.2 隐私数据上传与安全存储
2.3 方案安全性分析
3 结束语
我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!