基于云服务的安全隐私保护移动医疗数据交换
摘要
使用移动设备和云计算的医疗保健是工业界和研究领域中一个新兴的关注主题。尽管移动设备的普及和电子健康记录的可用性在提升医疗服务质量方面发挥着重要作用,但也带来了诸多挑战,例如移动设备的电量有限、患者数据的隐私与匿名性、终端用户的可靠性、电子健康记录的互操作性和可用性等。根据HIPAA规定,在多个医疗服务提供者之间共享时,医疗数据必须防止未经授权的泄露。本文聚焦于医生与患者医疗保健服务提供者之间的医疗数据交换。我们开发了一款安卓移动应用程序和一项云服务,以安全且保护隐私的方式在授权用户之间交换患者数据。我们所开发的云服务执行加密计算,与移动应用程序通信,并克服了移动设备的局限性。我们使用真实世界数据集对提出的解决方案进行评估。性能分析证明了我们应用程序的高效性。对提出解决方案的隐私分析表明,我们的系统是安全的,能够保护医疗数据的隐私。
关键词
医疗保健 Cloud 移动云 Privacy Security
1 引言
医疗行业正在不断发展。随着医疗记录的数字化趋势日益明显,由于云计算先进的技术基础设施,医疗领域越来越倾向于使用云应用程序。电子病历(EMR)、电子健康记录(EHR)和个人健康记录(PHR)的应用仍处于初期阶段,甚至在美国等发达国家,也仅有极少数医院建立了全面的记录系统[1]。
已有许多组织积极推动和鼓励采用电子健康记录(EHR),并已观察到一定的进展[2]。使用电子健康记录(EHR)具有诸多益处,包括改善患者护理、加强医生之间的协调、减少医疗错误以及显著提升财务和运营绩效[3]。推荐使用电子健康记录(EHR),因为它能够提高医疗质量,为患者提供更安全的医疗服务。
尽管电子健康记录(EHRs)具有诸多优势,但其安全和隐私问题不可避免。根据《健康保险可携性和责任法案》(HIPAA)[19]的规定,医疗服务提供者在通过电子方式交换数据时,保护电子健康记录的隐私和安全至关重要。如今,保障电子健康记录安全与隐私的主要机制是访问控制[14]。访问控制机制可授权适当人员访问,并记录所有访问和通信情况。当医院、医生或其他医疗服务提供者(MSP)需要通过互联网相互共享电子健康记录时,问题便随之出现。
医疗行业中移动设备的使用量显著增加,尤其是在医生、医学生和教职人员中。为了实现及时高效的医疗相关操作,移动设备充当了有价值的媒介。移动设备在处理能力、电池、存储和带宽方面仍面临限制。由于处理能力有限,移动设备无法运行复杂的安全算法。上述移动设备面临的挑战可以通过云服务解决,因为云服务按需提供网络存储、服务器时间等计算资源,且无需人工干预。图1中的移动云计算机制展示了针对移动设备相关问题的颠覆性创新解决方案。通过使用移动云服务,患者的记录可以存储在云存储中,必要的复杂计算可以在云服务器上完成,而不是在移动设备上进行。然而,云环境也对传输中和云存储中的机密数据带来了更大的隐私和安全威胁。[22–24]提出了利用移动设备实现安全数据传输的机制。本文提出了一种安全且具备隐私保护的机制,用于在医院和医生等授权用户之间通过移动设备共享电子健康记录。为了提高技术效率,我们开发了一项云服务,该服务执行所有计算任务,例如从存储中解密和渲染数据,并将其提供给适当的用户。
2 相关工作
EMR、EHR 和 PHR 需要在多个医疗保健提供者之间共享,例如药房、医生、医院、实验室等,以提高医疗服务质量。在不同情况下,医疗保健提供者会进行数据交换,例如在紧急情况或患者就诊新医生时。[20]提出了一种用于医疗数据交换的实时框架。使用平板电脑、智能手机、笔记本电脑和个人数字助理(PDA)等移动设备进行医疗保健服务和医疗信息交换,能够方便地访问医疗数据,尤其是在紧急情况下,从而改善了医疗保健服务[10]。尽管移动医疗(m‐Healthcare)具有诸多优势,但仍面临终端用户可靠性、效率、隐私和安全方面的挑战[12]。卢等人[11]提出了一种用于移动医疗急救的安全且隐私保护的机会计算框架(SPOC)。SPOC 基于基于属性的访问控制和基于非同态加密的隐私保护标量积计算(PPSPC),允许医疗用户决定具有相似症状的其他医疗用户是否参与个人健康信息的机会计算。在[13]中提出了一种云辅助隐私保护mHealth监控系统(CAM)。为保护服务提供者的知识产权和客户的隐私,CAM 提出了密钥私有代理重加密技术和外包解密技术。在[21]中提出了一种在云计算环境中使用基于属性的密码学和支持关键词搜索的公钥加密的、安全且隐私保护的电子健康记录系统。然而,[20]并未保障医疗保健数据交换的安全性。在[21]中,用户需通过提供隐私机制自行负责其在云中的数据安全。我们提出的解决方案保护了患者敏感信息的隐私,并减轻了用户的开销。此外,在我们的方案中,医疗保健服务提供商承担起用户隐私的责任。
云计算在医疗保健行业中发挥着重要作用,因为它满足了改善医疗服务的各种需求,例如无论患者/医生的地理位置如何都能获取患者数据、提供大型存储设施、实现对数据的便捷快速访问等。为了提高资源的弹性并降低成本开销[5–9],采用电子病历(EMR)与云计算相结合的方式。根据HIPAA规定,保护患者隐私至关重要。尽管云计算具有诸多优势,云服务仍然面临安全和隐私威胁。针对医疗保健云环境中的不同隐私和认证机制已有多种方案被提出[5–9]。
在[5]中,作者提出了一种在云计算环境中对个人健康记录(PHR)进行访问控制的新框架。由于特定患者的PHR可能由多个用户和所有者管理,为降低大量用户之间密钥管理的复杂性,系统被划分为多个安全域(SD)。为保护患者的PHR,采用了多权威属性基加密(MA‐ABE)技术。
3 问题描述
由于健康信息的敏感性,使用云和移动设备进行隐私保护的医疗数据交换具有挑战性。在现实场景中,患者的医院(PH)保存所有患者的医疗记录(RP₁, RP₂, ⋯, RPᵢ, ⋯, RPₙ)。当患者Pᵢ看一位新的医生Dᵢ(Dᵢ ∉ PH)或在紧急情况下需要诊断和治疗患者Pᵢ时,医生Dᵢ需要了解来自患者所在医院(PH)、药房、实验室等相关机构的所有相关医疗记录RPᵢ。
图2展示了医疗数据交换场景的整体视图。在医生、患者、医院、药房等之间通过安全交换电子健康记录/电子病历/个人健康记录。
互联网在医疗保健领域的应用面临挑战,因为医疗数据包含患者敏感信息,而移动设备存在局限性(如处理能力有限、复杂计算等)。医疗数据安全交换的目标是保护患者的保密病历免受未经授权的披露,同时确保授权人员在需要时能够访问患者的记录。利用云和移动设备的医疗保健是电子健康的一个新兴领域,可提供更快速、更便捷地访问患者数据的解决方案,并改善患者护理。除了更快速、更便捷地访问患者数据外,移动设备和云也容易受到安全和隐私威胁。
4 预备知识
4.1 秘密S的阈值秘密共享
本文采用Shamir的(t, n)门限秘密共享方案[18]。Shamir的(t,n)门限秘密共享方案利用了多项式插值。秘密S可由n个用户共享,并且当用于重构的份额数量超过阈值t时,便可实现重构。该秘密共享机制使用阶数为(t − 1)的多项式函数,其构造方式如下:
$$
f(x) = d_0 + d_1x + d_2x^2 + \cdots + d_{t−1}x^{t−1}
$$
这里d₀表示秘密S。
给定任意t个份额⟨x₀, f(x₀)⟩, …, ⟨x_{t−1}, f(x_{t−1})⟩,也可以通过使用拉格朗日插值公式如下所示重构秘密S:
$$
S = \sum_{i=0}^{t−1} \left( \prod_{i≠j} \frac{x_j}{x_j - x_i} \right) f(x_i)
$$
5 提出的解决方案
我们专注于通过移动设备和云服务在互联网上实现医生与其他医疗服务提供者之间的医疗数据交换。电子健康、移动设备、云计算和加密方案相结合,为医生Di在需要从患者持有者处获取患者的病历以进行更好治疗或应对紧急情况时,提供了安全高效的途径,有助于实现更好的患者护理并提升医疗质量。为了从患者持有者处访问患者的病历数据,我们使用移动设备,因为它能够便捷快速地连接并访问患者的病历RPi。在算法1和图3中逐步描述了我们的算法1。我们开发了一个供医生使用的移动应用程序MAD,通过该程序医生可以访问医疗保健云(HCC)。只有授权医生Di才能登录到MAD。当一位Di向患者持有者PH请求获取患者的数据时,PH会从医生所在的医院(DH)和患者处验证该医生的真实性(算法1,第1‐5行)。我们的解决方案通过互联网将加密的患者数据E(RPi)从患者持有者(PH)发送到HCC。为了加密患者数据,可以使用任何标准的公钥加密方案,其中私钥‐公钥对(x; y)由可信第三方(TTP)(例如证书颁发机构(CA))生成,并且仅将公钥y分发给PH。为了增强安全性,TTP生成一个秘密S,并将该秘密分割成n个份额S₁; S₂; …; Si; Sj; ::; Sn,其中n ≥ 4。TTP使用公钥y对秘密S的所有份额进行加密,即Ey(S₁); Ey(S₂); …; Ey(Si); Ey(Sj); …; Ey(Sn)(算法1 第7行)。TTP将公钥y连同Ey(Si)一起发送给PH。在PH端加密数据时,我们使用RSA公钥加密方案[15]。
在提出的解决方案中,我们采用Shamir的门限秘密共享机制[18]。要重构秘密S,至少需要t(其中3 ≤ t ≤ n)个份额,t由TTP确定。PH将患者的记录RPi与Ey(Si)结合,使用公钥y对(RPi; Ey(Si))进行加密,并将Ey((RPi; Ey(Si)))发送给HCC(算法1,第8‐9行)。医生Di登录到MAD,TTP将Ey(Sj)发送给Di(算法1,第9‐10行)。由于我们使用了Shamir的门限秘密共享方案,因此要重构秘密S至少需要t个份额。对任意Sk(其中k ∈ {1, …, t})或Ey(Sk)的任何篡改都将无法再次重构S,并会导致错误。在t个份额中,Ey(Si)属于PH,Ey(Sj)属于Di;因此,其余t − 2个份额由TTP发送给HCC(算法1 第11行)。当HCC拥有全部t个份额后,若能够成功重构S,则HCC向D′发送一个链接至其MAD,否则拒绝访问请求(算法1 第14‐17行)。
5.1 算法1
患者的病历RPi。由可信第三方TTP生成的私钥‐公钥对(x;y)和秘密S。
患者记录RPi存储在医生的移动设备上,且不泄露患者的隐私。
步骤:
1. 医生Di与患者所在医院(PH)联系。
2. PH与患者建立联系以验证医生身份的真实性。
3. 患者向PH发送确认应答ACKP。
4. PH与医生所属医院(DH)联系,以确认该医生是否为授权医生。
5. DH向PH发送医生授权确认应答ACKD。
6. 如果ACKP和ACKD均为真,则可信第三方(TTP)生成一个秘密S。TTP将秘密S分割为n个份额S₁; S₂; …; Si; Sj; ::; Sn,其中n ≥ 4。TTP还生成一个私钥‐公钥对(x; y)。TTP使用公钥y对秘密份额进行加密,得到Ey(S₁); Ey(S₂); …; Ey(Si); Ey(Sj); …; Ey(Sn)。Ey(Si)表示秘密份额Si的密文。
7. TTP将公钥y以及Ey(Si)发送给PH。
8. PH将患者的资料RPi与Ey(Si)结合,生成(RPi; Ey(Si))。PH使用y对(RPi; Ey(Si))进行加密,并将Ey((RPi; Ey(Si)))发送给HCC。我们假设HCC是安全的。
9. 医生Di登录到MAD以查看患者的数据。
10. TTP将Ey(Sj)发送给Di。
11. TTP将私钥x、秘密S以及(t − 2)个秘密S的份额,即S(t−2)(其中Si, Sj ∉ S(t−2)),发送给HCC。我们假设TTP与HCC之间的通信通过安全通道进行。
12. MAD将Ey(Sj)和患者ID(PID)发送给HCC。
13. HCC使用私钥x解密Ey((RPi; Ey(Si))),并从Ey((RPi; Ey(Si)))中提取出Ey(Si)。HCC进一步解密Ey(S₁); …; Ey(Si); Ey(Sj); …; Ey(St),并重构秘密S′。
14. 如果S = S′
15. HCC向MAD发送一个链接,用于查看患者数据RPi。
16. 否则
17. 拒绝访问RPi。
6 分析
6.1 实验分析 实验设置
在我们提出的解决方案中,我们使用了Amazon EC2[17]云t2.micro实例,该实例提供了以微软Windows Server 2008 R2为基础的实例。我们在实例上安装了WAMP服务器,并使用MySQL存储数据。为了创建云服务,连接到医生的移动应用程序(MAD),使用了PHP。我们使用Android Studio开发了我们的移动应用程序。图4显示了MAD的登录界面。我们使用真实世界数据集——皮马印第安人糖尿病数据集[16]来实现我们的系统。
6.2 性能分析
我们在时间效率方面测试了系统的性能。医生登录应用程序MAD并向HCC发送Ey(Sj)、患者ID(PID)后(算法1,第12行),HCC开始执行解密过程。图5显示了医生的移动应用程序MAD与HCC之间的往返时间TRT。TRT包括TCF;TRCS;TD;TR;TMD;和TPR。TCF是连接MAD到HCC并从HCC获取数据所需的时间。TRCS是运行云服务的时间。解密时间为TD,秘密S的重构时间为TR。从(D;S)的组合中提取患者数据需要时间TMD。TPR是从HCC以JavaScript对象表示法(JSON)格式解析数据、渲染JSON对象并在MAD上显示所需的时间。因此,
$$
TRT = TCF + TRCS + TD + TR + TMD + TPR
$$
我们使用真实世界的数据集——皮马印第安人糖尿病数据集来评估所提出的方案[16]。在此数据集中,我们使用了八个属性:妊娠次数、口服葡萄糖耐量试验中2小时血浆葡萄糖浓度、舒张压(毫米汞柱)、三头肌皮褶厚度(毫米)、2小时血清胰岛素(毫单位/毫升)、体重指数(千克/米²)、糖尿病家族史函数、年龄(年)。图5显示了从皮马印第安人糖尿病数据集中提取的200、400、600和800条记录(每条记录包含八个属性)的往返时间TRT。
从图5中可以明显看出,随着存储在HCC中的记录数量增加,往返时间的增量几乎可以忽略不计。对于800条记录,提出的解决方案耗时少于0.14秒。
医生点击HCC发送给MAD的链接(算法1,第15行)后,医生可以查看来自患者’的医疗记录RPi,该记录由HCC提供。图6展示了我们的应用程序在MAD上显示来自HCC的患者数据时的快照。
6.3 隐私分析
在我们提出的解决方案中,我们使用加密方案来保护患者的健康信息隐私。首先,通过验证医生身份的真实性来保护患者隐私(算法1,第1‐5行)。只有有效的授权医生才能登录到MAD。为了保障患者数据在传输过程中的安全,我们将加密的患者病历Ey((RPi; Ey(Si)))从PH发送到HCC(算法1,第8行)。此外,为了增强安全性,在加密患者病历RPi之前,我们将其与加密的秘密共享Ey(Si)结合。我们假设HCC是安全的。由于移动设备容易被盗或丢失,即使医生已登录系统,除非向HCC提供加密的秘密共享Ey(Sj),否则无法查看患者的实际数据。
要重构原始密钥S,需要t个份额密钥Ey(S₁); …; Ey(Si); Ey(Sj); …; Ey(St)(算法1,第13行)。任何对其中任意一项的篡改都将导致秘密S的份额将无法再次重构S。因此,正确S的重构可确保医生Di和患者持有者PH的真实性,并保护患者数据免遭未授权使用。此外,对于特定患者Pi,秘密S和阈值t由可信第三方TTP确定,且每次医生Di向患者持有者PH请求患者Pi的记录RPi时,S和t都会变化:HCC仅在成功重构实际秘密S后,才会向MAD发送查看患者数据的链接(算法1第15行)。我们使用可信第三方TTP生成密钥对(x;y),以避免患者持有者PH中出现物理安全问题和内部攻击。
7 结论
医疗数据交换在提高医疗质量和医疗服务方面起着重要作用。本文提出了一种利用移动设备和医疗云实现安全且保护隐私的医疗数据交换方案。我们开发了一个安卓应用,用于医生与患者所在医院之间的数据交换。在提出的解决方案中,为了实现安全数据交换,我们采用了公钥加密方案和秘密共享机制。实验结果表明,通过云和移动设备,医生与患者所在医院之间的数据交换时间是非常少。我们系统在效率和隐私方面的分析表明,我们的解决方案是高效的,并且能够保护患者敏感健康信息免遭非预期披露。

被折叠的 条评论
为什么被折叠?



