1. 引言
为了提高医疗资源的利用率,使处在偏远地区的用户能够享受到优质的医疗资源,各种医疗数据共享和协作医疗网络方案被提出。然而,随着隐私保护意识增强,现有方案大多无法满足对更高隐私保护的需求。此外,随着物联网设备在医疗中越来越广泛的研究和使用,物联网设备的安全性也走入了人们的视野,医用物联网设备也存在着丢失和被破坏的可能,会导致身份冒充和医疗数据丢失或被窃取的风险。
建立安全可靠的通信信道是安全的进行数据共享的方式之一,而如何安全地在各个实体之间建立数据共享信道是密钥交换方案主要解决的问题。近年来,国内外在物联网(IoT) [1]-[3]、无线医疗传感器网络(WMSN) [4]-[7]和工业物联网(IIoT) [8]等领域的匿名认证密钥交换方案取得了大量的进展。在物联网环境中,轻量级的密钥交换方案成为研究热点,关联数据加密(AEAD)和物理不可克隆函数(PUF)技术被应用于匿名认证密钥交换方案中。但密钥交换方案在使用物联网设备的场景中仍面临一些安全漏洞和计算开销的挑战。例如,为了保护用户行为不可追溯,Das等人[9]提出了使用动态ID技术的轻量级身份验证协议,但由于设计简单而难以避免很多已知的攻击。随后,提出了许多基于动态ID的身份验证方案[10]-[13]。后续改进方案中,Xie等人[13]使用公钥加密ID来实现匿名性,并抵御同步攻击,而Kumari [14]等人则通过假名来提升方案安全性,但匿名性问题仍未完全解决。在V2G网络中,为了实现匿名的身份验证,已经提出了很多认证密钥交换方案,现有认证密钥交换(AKE)方案虽然提供了安全的数据交换机制,但仍普遍存在计算成本高、易受中间人攻击(MITM)和重放攻击等问题。Gope和Sikdar [15]提出的隐私AKE方案在成本效益上有所突破,但仍存在登录不同步和冒充攻击的漏洞,后续Irshad等人[16]则通过改进方案进一步增强了安全性。在无线医疗传感器网络(WMSN)中,针对植入式传感器节点的资源受限特性,研究者提出了基于PUF和生理数据的轻量级双向认证与密钥协商方案[17],显著降低了通信和存储成本。然而,现有方案如Turkanovic等人[18]的轻量级认证协议在匿名性和不可链接性保护方面存在不足,Farash等人[19]和Yuanbing等人[20]提出的方案逐步解决了特权内部攻击和离线密码猜测攻击等问题。在工业物联网(IIoT)领域,随着边缘计算的兴起,区块链技术被广泛应用于跨域认证[21]-[23],解决了传统证书颁发机构(CA)的瓶颈问题。Rani等人[24]提出的基于区块链的匿名认证密钥交换方案,使用财团区块链实现用户身份跨域认证。
针对现有的隐私安全问题,本文提出了一种基于协作医疗网络的匿名认证密钥交换方案,在满足用户身份认证性的同时也提供了隐私性和不可链接性的保护。本方案首先围绕协作医疗数据共享网络,根据用户、医疗机构和物联网设备等实体的功能需求给出了方案的系统模型并针对相应的安全及隐私需求给出了安全模型和形式化定义。然后利用零知识证明、ASCON加密、累加器以及区块链等密码学工具给出了方案的构建。
最后,本文设计并实现了面向医疗数据共享支持匿名性和不可链接性的身份认证方案的系统,给出了性能分析结果,该结果表明所提出的方案较现有同类方法存在安全性、功能性及性能三个维度均有不同的提高,可以有效解决医疗数据共享方案中存在的隐私问题,因此具有一定的实际应用意义。
2. 基础知识
2.1. 零知识证明系统
在零知识证明中,证明者
需要向验证者
证明其持有的陈述是正确的,并且保证验证者除了能够确定陈述的正确性以外,不能从证明中获取任何知识。
令R表示一种有效的可计算的关系(Relationship)且满足(x, w) ∈ R,x是陈述(Statement),w是证据(Witness)。
,其中L是满足R的NP语言。如果一对概率多项式时间内的算法
是零知识的,则满足以下性质:
1) 完整性(Completeness):对于任意(x, w) ∈ R,满足
。
2) 可靠性(Soundness):对于任意x ∉ L,(x, w) ∉ R及任何不诚实的证明者
,都满足
。
3) 零知识性(Zero-knowledge):对于任意x ∈ L,模拟器
及陷门
,满足
,即验证者不会学到任何关于证据的知识。
2.2. ASCON加密
ASCON是一种轻量级的关联数据加密算法,专为资源受限设备设计。它具有单次处理和无逆运算的特点。单次处理意味着在一次操作中同时完成加密和认证,提高了效率;无逆运算的设计避免了复杂的逆运算,适合硬件实现。
ASCON的加密过程可以描述为:
。
其中,EK表示加密操作,输入为共享密钥K、随机数N、关联数据AD和明文PT,输出为密文CT和消息认证码MAC。
ASCON的解密过程可以描述为:
。
其中,DK表示解密操作,输入为共享密钥K、随机数N、关联数据AD、密文CT和消息认证码MAC。如果MAC验证成功,则输出明文PT;否则,输出错误标志⊥。
2.3. 累加器
累加器是一种用于管理和验证集合成员关系的重要密码学工具,累加器将多个元素累加成一个较小的值,并且生成相应的证据
,并允许用户通过累加器的成员证据
,证明他所持有的元素是累加器的一部分,而不必透露集合中的其他成员。本文的方案中使用了一种基于强RSA假设的正动态累加器[25],本文使用以下算法描述基本类型累加器:
:选择两个
位的素数
和
,其中
和
也是素数,计算
。累加器的私钥
,随机选择一个整数
,令
,输出私钥sk和累加器值
,
为维护累加器可能需要的任何辅助值。
:对于加法和动态累加器,将元素
添加到累加器中(D是累加器的域),从而产生更新的累加器值
,并产生元素x对应的成员证据
,还要向所有证据持有人发送一条广播消息
,旨在让所有证据持有人都能更新他们所持有的证据,此外还要更新辅助值
。
:对于减法和动态累加器,从累加器中删除元素
,产生新的累加器值
和非成员证据
,并更新辅助值
,产生更新消息
。
:使用成员证据
验证元素x在累加器中的成员资格,若验证成功,则返回1,否则返回0。
本文使用正动态累加器,只验证元素的成员证明,支持从累加器中增加和删除元素。
3. 匿名认证密钥交换方案设计
3.1. 初始化阶段
这一阶段是生成全局公共参数和各个实体的公私钥的算法。定义如下:
:由RC执行,以安全参数
为输入,输出全局公共参数pp。
:由RC执行,以pp为输入,生成密钥对
。
:由用户
执行,以pp为输入,输出用户的公私钥对
。
:由医疗机构HS执行以pp为输入,输出医疗机构的公私钥对
。
:医疗机构调用累加器执行,以pp和
为输入,输出累加器的私钥
和累加器值
,
只需要被调用一次,其生成的秘钥和累加器值由医疗机构成员之间共享。
:由
执行,以pp为输入,生成医用物联网设备的加密密钥
。
3.2. 注册阶段
在注册阶段,用户和物联网设备与医疗机构进行交互,进行身份合法性注册。
:该算法由用户
执行,生成私钥的持有型验证,向医疗机构证明用户拥有
所对应的私钥
,并向医疗机构发送用户所选择的用于添加到累加器的撤销句柄rh。
:由HS调用,通过用户的公钥
,验证的中间参数a,
,用户名
,验证想要在医疗机构进行身份注册的用户的私钥持有性。
:医疗机构将用户的撤销句柄rh,利用累加器的私钥
和累加器的累加器值
添加到累加器,计算出用户的撤销句柄rh对应已添加到累加器的证据
和更新消息
,本文使用的累加器只有在进行删除操作时才更新累加器的累加值,因此进行添加操作时,
。并且将
返回给用户。
:此操作由用户执行,生成用户登录信息,输入用户身份
、密码
、生物特征
、撤销句柄rh和证据
,通过ASCON加密计算存储用户的私钥
的密文CT和用于登录验证的消息认证码MAC。
:由医用物联网设备执行,物联网设备将真实身份
,匿名身份
和加密密钥
发送给医疗机构进行注册,医疗机构将注册信息存入区块链。
3.3. 密钥交换阶段
密钥交换阶段包括用户登录,医疗机构与用户、医疗机构与物联网设备身份的相互认证,然后生成会话密钥,用于后续敏感医疗数据在用户、物联网设备和医疗机构三个实体之间的传输。
:此算法由用户执行,用户首先通过输入用户身份
、密码
、生物特征
和用户登录设备内存储的密文
和用于登录验证的消息认证码
,以及协助登录验证的参数,进行用户登录认证,只有拥有正确的用户身份
、密码
和生物特征
的用户才能通过身份验证,并获得由ASCON加密方式存储的用户私钥
、撤销句柄
和证据
,并进行后续的步骤,否则,验证不通过,终止进程。
:由用户调用,生成身份验证信息,输入用户的撤销句柄rh、证据
和累加器值
,医疗机构的公钥
,时间戳
,输出密文
,以及辅助认证参数c、
和
。
:此算法由医疗机构执行,输入辅助认证参数cc、
和
,医疗机构的私钥
,密文
,计算对称密钥
,解密密文
,获得撤销令牌
与时间戳,通过零知识证明验证撤销令牌和时间戳,如果验证通过则进行后续步骤,否则终止。
:此操作由医疗机构执行,生成身份认证信息,输入目标物联网设备的真实身份标识
,用于匿名认证的临时身份标识
,物联网设备的加密密钥
和医疗机构的公钥
,输出用于验证的消息
,
为辅助认证的参数,密文C,
消息认证码
,时间戳
,密文
,密文
中包含密钥生成参数
。
:物联网设备首先检验时间戳
,然后通过输入的辅助参数
,消息认证码
,密文
,医疗机构公钥
,加密密钥
,输出密文
,设置
,密钥生成参数
,消息认证码
,如果
与
不一致,则终止。
:物联网设备执行,生成会话密钥。
:此算法由物联网设备调用,输入辅助参数
,密文
和
,密钥生成参数
,时间戳
,以验证消息
,使用
和
将
秘密传输的密文X作为输出,并连同时间戳一并发送给医疗机构,作为物联网设备的身份认证信息。
:物联网设备更新加密密钥和临时身份。
:此算法由医疗机构执行,在此过程中通过传递过来的X和医疗机构计算生成的密文
、
解密出密钥生成参数
,并结合时间戳
,密钥生成参数
,验证消息
等验证物联网设备的身份,如果输出1,则认为物联网设备为目标设备,并传递了正确的密钥生成参数
。
:此算法由医疗机构调用,输入密钥生成参数,计算会话密钥。
:由医院调用,生成医疗机构向用户证明身份的认证信息。
:医疗机构调用此算法更新存储的物联网设备加密密钥和临时身份。
:由用户调用此算法,验证医疗机构身份,并解密获得密钥生成参数
和
以及指明收集医疗数据需要使用的物联网设备的身份
。
:由用户执行此算法,生成用于后续医疗数据在三个实体之间安全传输的会话密钥
。
4. 方案安全性及性能分析
4.1. 安全性分析
本节将对本文满足的用户匿名性、物联网设备匿名性、用户不可链接性、医疗数据的隐私性、会话密钥的前向安全性、抗重放攻击等进行非正式的安全性分析。
1) 用户匿名性:本方案采用零知识证明的方式实现用户的匿名性,正如2.3节所述,零知识证明可以在不泄露任何证据的情况下,使验证者相信该陈述是真实有效的。因此,在用户合法成员身份认证阶段,用户需要生成关于撤销句柄和证据的持有性证明,即撤销令牌
为证据。
本文通过采用
启发式零知识证明方案构建证明,使得医疗机构相信陈述的真实性。并由难题假设保障在概率多项式时间内不会有任何敌手能够从认证信息中获得用户的身份信息。
2) 身份相互认证性:医疗机构作为医疗服务的提供者,本文方案假设它在加入系统之前已经经过权威机构的身份验证,并具有公开的公钥。在这种情况下,当用户与医疗机构建立连接时,相互认证的安全性取决于认证信息的不可伪造性。在本文的方案中,撤销令牌和对称密钥的不可伪造就意味着用户生成的成员身份认证信息是不可伪造的,而ASCON加密很好的保障了物联网设备认证信息的不可伪造性,因此在本方案中只有授权的实体能够成功参加会话密钥的生成过程,协商会话密钥。
3) 物联网设备匿名性:在医疗机构与物联网设备相互认证的阶段,本方案采用ASCON加密结合动态更新物联网设备密钥和临时身份的思想,实现物联网设备的匿名性,只有同时持有物联网设备密钥和临时身份与真实身份的实体,才能认证彼此的身份,并通过ASCON加密保证认证信息的完整性和不可篡改性,由于在概率多项式时间内不会有任何敌手能够破坏ASCON加密,因此在概率多项式时间内不会有任何敌手能够破坏物联网设备的匿名性。
5) 医疗数据的隐私性和前向隐私:在本文方案中,在共享敏感的医疗数据之前,用户、医疗机构和物联网设备会通过密钥交换协商一个会话密钥,以此来加密后续通信的敏感医疗数据,保证医疗数据的隐私。如果敌手获取了当前时刻的会话密钥,敌手也无法通过当前的会话密钥推测出过去时刻的会话密钥并解密过去时刻用会话密钥加密通信的医疗数据。
6) 会话密钥的前向安全性:敌手会通过腐败用户的登录设备、物联网设备和医疗机构来获得实体中长期存储的信息,并且结合监听到的信息来推断过去成功协商的会话密钥,以此解密密文,获得用户的敏感医疗数据。身份认证和密钥协商的过程中,用户使用随机值生成会话密钥的生成参数,且患者的成员证据使用多认证因素加密存储在用户的设备内,增加了攻击的成本和难度。物联网设备使用动态的更新密钥和临时身份,并且敌手即使获得了当前时刻的物联网设备的密钥、临时身份和真实身份,由于ASCON加密、随机值和动态更新密钥和身份的思想的结合使用,敌手根据能够获取的信息也无法推测出过去的物联网设备使用的密钥和临时身份,更不能进一步推测出过去的会话密钥。因此,会话密钥的前向安全性得到了保证,进而保护了用户敏感的医疗数据。
7) 用户不可链接性:对于外部敌手,由于加密和随机数的使用,无法将窃听到的密钥交换消息链接到同一个源。而对于诚实且好奇的医疗机构,医疗机构会试图将获得的多个用户身份认证消息链接到同一个信息源,但是由于累加器结合零知识证明的使用,并且每次都使用不同的临时选择的随机子,医疗机构也无法通过获得的信息来推测消息的来源,保证了用户身份更强的隐私。
8) 可以抵御重放攻击、中间人攻击等常见攻击形式。为了抵御这些攻击,使用临时选择的随机值、时间戳和哈希函数,保证消息的新鲜度和完整性,而消息中包含着敌手无法伪造的信息,因此任何一个敌手都不能采取这些攻击方式冒充合法用户破坏会话密钥的安全性。
4.2. 性能分析
表1给出了各个实体的理论时间代价。其中,
代表ASCON加密,
代表椭圆曲线点乘运算,
模糊提取器,
代表哈希函数,
代表对称加密,
代表对称解密,
表示累加器初始化,
表示累加器添加,
表示累加器验证,
表示撤销令牌生成,
表示撤销令牌验证。
Table 1. Theoretical time cost
表1. 理论时间代价
实体 |
理论时间代价 |
用户 |
|
医疗机构 |
|
物联网设备 |
|
总计 |
|
5. 总结
本文提出了一种面向协作医疗网络数据共享的匿名认证密钥交换方案。该方案通过利用累加器、零知识证明、区块链、ASCON加密而提升了整体安全性。与传统方案相比,本方案提供了更强的安全隐私保护,考虑了更多的实际安全需求。该方案不仅有效提升了用户身份的安全性,还具有较强的灵活性和可扩展性,适应现代医疗数据共享的多样化需求。