综述:基于区块链的可搜索公钥加密在云环境医疗数据共享中的安全性分析

《Journal of Information Security and Applications》:Security analysis on blockchain-based public key encryption with keyword search for medical data sharing in cloud environment

【字体: 大 中 小 】 时间:2026年08月30日 来源:Journal of Information Security and Applications 4.4

编辑推荐:

  Banik和Kumar(《信息安全与应用杂志》2023年)提出了一种基于区块链的公钥可搜索加密(PEKS)方案,用于云环境中的医疗数据共享。在本评论文章中,研究人员表明Banik-Kumar方案从密文和陷门两方面泄露关键词信息。

  
Banik和Kumar(《信息安全与应用杂志》2023年)提出了一种基于区块链的公钥可搜索加密(PEKS)方案,用于云环境中的医疗数据共享。在本评论文章中,研究人员表明Banik-Kumar方案从密文和陷门两方面泄露关键词信息。
1. 引言

公钥可搜索加密(PEKS)由Boneh等人于2004年提出,在理论和应用领域均得到广泛研究,包括安全数据共享等场景。为检索加密数据,需要为目标关键词生成陷门(即搜索查询)。然而,众所周知,由于任何持有陷门的人都可以为任意关键词生成密文,并检查该陷门是否与加密关键词匹配,因此PEKS中陷门会泄露关键词信息。为应对这种关键词猜测攻击(KGA),公钥认证可搜索加密(PAEKS)被提出,其中发送方在加密关键词时,除接收方公钥外还需使用自身秘密密钥。Banik和Kumar提出了一种基于区块链的PEKS方案,用于云环境中的医疗数据共享。在该方案中,关键词从电子健康数据(EHD)中提取,例如HIV、癌症、抑郁和怀孕等。他们通过采用PAEKS来考虑陷门的关键词信息泄露问题。在他们的系统中,区块链作为去中心化且防篡改的层,用于管理和共享加密数据及关联元数据,如可搜索索引。具体而言,密文和关键词相关信息通过区块链记录和引用,从而在参与实体之间实现安全数据共享和可审计性。本文证明Banik-Kumar PEKS方案从密文和陷门两方面泄露关键词信息。首先,密文中关键词信息的泄露即使在不访问明文的情况下也揭示了加密数据的性质,导致严重隐私泄露。其次,陷门中关键词信息的泄露揭示用户正在查询的医疗状况,即使不访问加密数据,也可能暴露用户的兴趣或医疗问题,造成严重隐私风险。当与基于区块链的存储相结合时,这种泄露的影响会被“放大”。如果密文或陷门记录在公共区块链上,任何观察者都能利用泄露推断敏感关键词信息,导致永久且全球可见的隐私泄露。即使在访问受限的联盟链或私有链中,泄露也能使参与者或内部实体之间发生非预期的医疗信息推断。这表明该漏洞与部署模式无关,从根本上危害所有场景下的机密性。区块链虽然确保完整性和可用性,但无法弥补底层密码设计的弱点,甚至可能因其透明性和不可变性而加剧影响。此外,由于交易和加密记录引用可能随时间保持可链接性,重复观察可揭示长期医疗活动模式;交易时间和访问频率等元数据可能提供关于用户和记录的额外信息,而区块链的不可变性使隐私影响持久化。需澄清的是,Banik和Kumar已发布勘误,但仅涉及实现方面,不涵盖本文识别的关键词信息泄露。

2. Banik-Kumar PEKS方案

Banik-Kumar PEKS方案定义如下。设??和????为素数阶p的群,g∈??为生成元,e:??×??→????为对称配对。??1:????→{0,1}??、??2:{0,1}*→??、??3:??×{0,1}??→?p为哈希函数。??∈?为安全参数。数据用户(DU)的秘密密钥为????????∈?p,公钥为????????=g????????;数据所有者(DO)的秘密密钥为????????∈?p,公钥为????????=g????????。令w为关键词。加密算法????????和陷门生成算法????????????????定义如下(省略云服务器公钥????????,因为与攻击无关):
- ????????(????????,????????,w):选择随机数r∈?p,计算??1=??1(e(g,????????)),??p=??3(e(g????????,??1)),??2=????????r,??3=gr,??w=(??2(w)??p)r,输出密文??=(??2,??3,??w)。
- ????????????????(????????,????????,w):选择随机数s∈?p,计算??1=??1(e(g,g????????)),??2=????????(s未使用),??3=gs,??w=(??2(w)??3(????????,??1))s,输出陷门??=(??2,??3,??w)。

Banik和Kumar定义了密文不可区分性(CI)和陷门不可区分性(TI)。在两种定义中,敌手??获取所有公钥,声明挑战关键词w*0和w*1。挑战者选取硬币????????∈{0,1},在CI中返回挑战密文??*←????????(????????,????????,w*????????);在TI中返回挑战陷门??*←????????????????(????????,????????,w*????????)。??输出????????′∈{0,1},若????????=????????′则获胜。本文攻击无需访问任何预言机。

3. 提出的攻击

首先澄清,尽管密文或陷门的某些部分涉及????????或????????,但由于??p=??3(e(g????????,??1))=??3(e(????????,??1)),且??1=??1(e(g,g????????))=??1(e(g,????????)),因此任何人都可以在不使用任何秘密密钥的情况下为任意关键词计算密文和陷门。此外,若密文是关键词w的加密,则e(??2(w)??p,??3)=e(??w,g)成立;若陷门是针对关键词w的,则e(??2(w)??3(????????,??1),??3)=e(??w,g)成立。攻击如下。

3.1 密文不可区分性攻击

- ??接收????????和????????。
- ??声明满足??2(w*0)≠??2(w*1)的挑战关键词w*0和w*1。
- 挑战者选择硬币????????并返回挑战密文??*=(??*2,??*3,??*w)。
- ??计算??1=??1(e(g,????????))和??p=??3(e(????????,??1))。
- 若e(??2(w*0)??p,??*3)=e(??*w,g)成立,则输出????????=0;否则输出????????=1。

3.2 陷门不可区分性攻击

- ??接收公钥,声明挑战关键词。
- 挑战者返回挑战陷门??*=(??*2,??*3,??*w)。
- ??计算??1=??1(e(g,????????))。
- 若e(??2(w*0)??3(????????,??1),??*3)=e(??*w,g)成立,则输出????????=0;否则输出????????=1。

这些攻击需要三或四次配对计算。根据PBC网站基准,对称配对约需757毫秒,因此总计算时间在几秒内,表明攻击在计算复杂性上是实际的。

3.3 关键词恢复

上述攻击是基于不可区分性的。虽然不可区分性是密码学标准安全概念,但非密码学研究者可能认为过强,因为敌手仅区分哪个关键词生成了密文或陷门。因此进一步研究是否可通过离线KGA从密文或陷门恢复底层关键词。使用医学词典作为关键词源,该词典包含超过45,000个医学相关条目。若密文是关键词w的加密,则e(??2(w)??p,??3)=e(??w,g)成立。敌手可按以下步骤恢复关键词:1) 计算??1、??p和D=e(??w,g);2) 从医学词典中选择关键词w;3) 若e(??2(w)??p,??3)=D成立,则输出w;否则返回第2步。对于45,000个医学关键词的关键词空间,正确关键词可在约9.5小时内恢复。类似的攻击也适用于陷门。这表明当使用医学关键词时信息泄露的实际影响。需注意,该结果假设关键词选自医学词典,但实际医疗环境中关键词集很可能选自领域特定医学概念,因此离线KGA更加实际。

4. 讨论

有人可能考虑使用非对称配对e:??1×??2→????来缓解攻击,因为DDH假设在??1和??2中均成立,且非对称配对通常更高效。然而,即使这种修改能阻止特定攻击,根本问题依然存在:Banik-Kumar方案最关键的问题在于任何人都可以在不使用秘密密钥的情况下为任意关键词计算密文和陷门。这意味着CI安全和TI安全都不可能实现。具体而言,在CI游戏中,敌手可以为挑战关键词计算陷门并与挑战密文运行测试算法,从而始终获胜;TI游戏中同理。这表明方案需要完全重新设计而非简单修补。Li和Boyen已经提出了PAEKS的通用构造,能够实现高效实例化(例如基于Diffie-Hellman非交互密钥交换(NIKE)和HMAC的无配对构造),因此修复Banik-Kumar方案收益有限,本文不尝试进一步修复。

区块链特定隐私影响:上述攻击在基于区块链的医疗数据共享系统中具有特别严重的影响。区块链部署可能通过交易链接性、元数据暴露和历史记录持久性放大关键词泄露的影响。因此,从泄露密文或陷门中推断出的信息可能长期可观察,并更容易跨多次观察关联。此外,一旦易受攻击的密文、陷门或关键词相关引用被记录在链上,后续对策无法完全消除已暴露的信息。区块链不仅可能增加本文识别泄露的可见性,还可能使其隐私影响更难缓解。

5. 结论

本文分析了Banik和Kumar提出的基于区块链的PEKS方案,并证明其无法实现基本安全保证。具体而言,本文表明密文和陷门均泄露关键词信息。进一步阐明了这种泄露在医疗数据共享背景下的实际影响。由于关键词源自电子健康数据,泄露揭示了底层数据的敏感语义信息以及用户的搜索查询,导致严重隐私风险。此外,这些风险在区块链部署中被加剧,因为数据可能被广泛访问且永久记录。本文强调,在评估实际部署前仔细分析底层密码协议的重要性,特别是在医疗数据共享等隐私敏感应用中。
相关新闻
生物通微信公众号
微信
新浪微博

热点排行

    今日动态 | 人才市场 | 新技术专栏 | 中国科学人 | 云展台 | BioHot | 云讲堂直播 | 会展中心 | 特价专栏 | 技术快讯 | 免费试用

    版权所有 生物通

    Copyright© eBiotrade.com, All Rights Reserved

    联系信箱:

    粤ICP备09063491号