丁佳蓉, 钟伯成, 房保纲, 张家磊
(上海工程技术大学 电子电气工程学院,上海 201620)
随着电子医疗系统的发展,无线体域网正在兴起,它可以监控患者的健康信息并传输至远程医疗中心提供智能医疗服务。典型的无线体域网通常由人身体上的可穿戴式传感器组成,可采集人体的重要生理数据,如心电图(ECG)、脉搏、脑电图(EEG)等数据传送至控制单元,控制单元在初步分析后,将数据传送至远程监控中心,进一步判断患者的身体状况[1]。然而,由于传输信息的敏感性及无线信号具有在空中自由传播的特性,医疗数据在传输及存储过程中很容易引起安全问题。如果传感器之间传递的消息被伪造或篡改,可能会引发病人的生命危险,因此,病人生理数据的隐私性极为重要[2]。
体域网中必须利用身份认证以及保密机制确保传感器之间的安全通信[3]。传统的密钥分发技术在密钥的生成与管理中计算开销大、续航时间少、灵活性差等,无法满足体域网内的能耗需求;基于生理特征的密钥提取信号噪音大,对硬件的要求较高,对信号预处理的过程较为复杂;基于信道特征进行密钥提取过程中,由于无线信道的不完全互易性,通常需要引入信息协调来保证密钥的一致[4]。在之前基于信道特征进行密钥提取的研究中,通过信息协调来改善不匹配率,会增加可穿戴设备的能源开销,且无法保证认证率和密钥强度同时满足。
因此,本文设计了基于信道特征的密钥协商协议,将信道特征与双线性结合起来,实现体域网中体上传感器之间的安全沟通。
假设G和G0为两个素数阶为p的乘法循环群,g是G的一个生成元,e为双线性映射,定义为e:G×G→G0,双线性映射e必须满足几个性质:1)双线性:对于任意的m,n∈G和α,β∈Zp,都存在e(mα,nβ)=e(m,n)αβ。其中Zp={1,2,…,p,-1},是阶为p的伽罗化域。2)非退化性:满足e(g,g)≠1时,1是G0的单位元。3)可计算性:对于任意m,n∈G,可以计算出e(m,n)。
基于系统安全参数选择G且g是G的生成元,∀a,b,c,z∈Zp,在多项式时间内,攻击者几乎不能从(g,ga,gb,gc,(g,g)z)判断出元组(g,ga,gb,gc,(g,g)abc)。
本文用接收信号强度(received signal strength,RSS)作为通信传感器的共享密钥的来源。RSS随时间的变化是由运动和多径衰落引起的,且无线信道迅速解耦距离大约半个波长,对于半波长以外的信道可以被假定为独立的,在不同的时间和环境中是无法预测的。对于体上的传感器而言,虽然信号传播受到人体复杂形态和不同组织的影响,但是在非常近的距离下(通常小于1 m),直接路径是所有多路径分量中的主要路径。对于体外传感器而言,它与体上传感器之间的作用导致了多普勒频移,改变了来自不同路径的相位和振幅[5]。因此,当离体收发器在一定距离外时,多径分量的叠加会导致衰落幅度的大规模快速变化,接收端会出现显著的RSS变化,意味着RSS的变化不能被体外的传感器预测,除非它与通信传感器的物理距离很近,但这在实际操作中很难实现的[6]。
1)系统初始化:(1λ)→(e,G,PK,MK)
2)RSS指纹特征的生成:(RSS)→(R)
控制单元将采集的RSS信号作为输入,输出RSS指纹特征R。为了提高辨识率,并考虑到各种场景下的RSS指纹特征的差异,可提前将不同场景下合法节点的RSS指纹存放在控制单元上。
图1显示了传感器节点与控制单元之间的通信时序图。在指定的测试场景中,将互相发送探针信号的合法通信节点称为Alice和Bob,它们收到对方的响应信号后每隔500 ms互相发送PING数据包,直到聚集足够的信号后发送OK信号。合法传感器在收到OK消息后,立即向CU发送Hello信号,得到响应后将接收到的信号序列发送给CU。
图1 通信时序图
在通信中,Alice和Bob读取用于PING数据包的无线电信道特征RSS值,除此之外,PING数据包还带有其他统计数据,例如时间校准,电池消耗等,由于这些数据并不敏感,认证过程几乎没有额外的数据包消耗和能量负担。当Alice和Bob之间交换多个数据包时,每个数据包都会建立一个RSS的时间序列,先通过低通滤波进行降噪处理,再将原始的RSS数据量化为比特串,可以用向量Ri来表示。量化是基于指定上下限之间的阈值完成的,下限和上限之间的值被删除,大于上限的值被编码为1,小于下限阈值编码为0。经过以上处理,可获得注册特征模板R={Ri},其中Ri={ri1,ri2,…,riN},N的大小取决于具体的应用场景。
3)身份认证:(R)→(IC)
控制单元将注册指纹特征作为输入,输出每一个传感器的认证证书。遍历RSS的指纹特征,用皮尔森相关系数计算两个分离数据段的相关性以及注册指纹特征与历史模板之间的相关性
(1)
CU通过合法模板与注册模板之间的相关性以及分离的注册模板之间的相关性实现对Alice和Bob的双重认证,若相关性大于0.9,则认为是合法,而在合法传感器之间的共享指纹中,窃听者的相关性低于0.3[7]。
如果Alice为合法节点,CU将选择随机数NA∈ZP,并计算出证书ICA=H′(RA,NA)通过安全信道发送给Aliec,其中,H′为哈希函数:{0,1}*×ZP→ZP;类似地,CU也将选择随机数NB∈ZP计算出ICB=H″(RB,NB)通过安全信道发送给Bob,其中,H″为哈希函数:ZP×ZP×G0→(0,1)λ。
4)密钥提取:(IC,PK,MK)→(k)
CU将合法传感器的IC,公钥PK和系统主密钥MK作为输入,对于每一个传感器,产生一个随机数并计算出密钥k。对于Alice,CU选择随机数A∈Zp,计算kA并发送给Alice
(2)
对于Bob,CU选择随机数B∈Zp,同理计算kB并发送给Bob。
5)密钥协商:(IC,PK)→(W) (IC,k,PK,T)→(K)
阶段一:Alice和Bob将对方的IC,公钥g1作为输入,输出中间密钥信息WA和WB。Alice选择随机数x∈ZP,计算WA,并发送至Bob
(3)
Bob选择随机数y∈ZP,同理计算WB,并发送至Alice:
阶段二:将Alice和Bob的所有中间信息作为输入,输出最终密钥k。
Alice方计算出
(4)
KAB=H″(ICB,ICA,TAB)
(5)
Bob方用同样的方法计算出TBA和KBA。
安全协议中所提到的密钥协商方案依赖于RSS信道特征的提取以及传感器对随机数选择,因此当系统主密钥以及传感器之间生成的密钥被泄露时,最终会话密钥也无法推断;另外,在之前基于信道特征进行密钥提取的研究方案中,会话密钥只依赖于信道特征,只能通过物理距离避免攻击者收集到同样的RSS指纹特征从而计算会话密钥,相比之下,本文的安全协议可靠性更高,只要通信双方在经过密钥协商后,通信双方需满足TAB=TBA即可保证密钥正确可行。
定理:如果DBDH假设成立,则不存在敌手能够在多项式时间内成功攻破本协议。
证明:采用反证法,假设存在一个敌手E以不可忽略的优势ε在游戏中获胜。构造一个模拟者S,它能利用E的能力以不可忽略的概率ε/2从随机元组中区分出DBDH元组,即证明DBDH假设不成立。
e:G×G→G0是一个有效可计算的双线性映射,G的素数阶为P,G的一个生成元为g。首先,挑战者A执行公平的抛币协议,选择随机数a,b,c∈ZP,v∈{0,1}。当v=0时,F=e(g,g)abc;当v=1时,F=e(g,g)z。在游戏中,挑战者给出〈g,A,B,C,F〉=〈g,ga,gb,gc,F〉,ΠCij为会话问答器。
初始化:攻击者E初始化会话并发送(Cij,M)给S。
挑战阶段:在多项式时间内,E可以在阶段一中向m个传感器节点发送私钥询问请求;E可以通过阶段二初始化会话并重复执行n次;E想要通过以上两个阶段获取会话密钥,可以重复执行τ次,S也将在(0,τ)中随机选择一个T,为第i或第j个正在协商会话密钥的传感器节点的挑战问答器。如果在初始化阶段之前T=C,则认为Cij是游戏系统的组成部分,S将终结游戏,否则S将发出信号接受这个会话并从L2中返回K值给S;如果在E发出私钥询问请求后C≠T,S终结游戏,否则,S将从L2返回K值给A。
猜测阶段:攻击者E输出一个对μ的猜测μ′∈{0,1},此时模拟者S根据攻击者猜测的不同结果也在DBDH中做出相应的猜测。若攻击者E给出了正确的猜想μ=μ′,则模拟者S在与挑战者的游戏中输出猜想v=0且T=e(g,g)abc,此时E有不可忽略的优势去赢得比赛,S也可辨别出是否e(g,g)abc=e(g,g)z;若E给出错误猜想μ≠μ′,则S在与挑战者的游戏中输出猜想v=1且T=e(g,g)abc。如果敌手E成功获得会话密钥,S就可以解决DBDH问题,可能性为
Pr=(τ-1)/τ·(1/τ)·ζ
因此,在多项式时间内,这个密钥协商是安全的。
本文的安全协议于普通节点的存储空间来说是完全可以接受。通信的体上传感器只需要存储他们各自独特的ID(IDA和IDB)分别为8个字符;所接收到的信道特征RA和RB各为128 bit;以及它们分别选择随机数A,B分别为1个字符,和提取的密钥kA,kB,中间密钥信息(WA和WB)为20个字节,约为(93+|RSS|)字节。而开销较大的部分公钥存储在控制单元中,因此,对于身体上的可穿戴设备,本协议的存储成本远远小于传统的密码学方案。
通信开销的评估是基于一种资源有限的ATmega128L单片机作为体上传感器的节点,发送一个字节的开销约为53.6 μJ,接收一个字节的开销约为25.8 μJ。在认证过程中,体上的通信传感器之间先互相发送Hello信号收集RSS特征,然后将各自的ID和接收到的RSS指纹特征发送给控制单元CU,CU将两个通信双方所收集的RSS进行比较,确认通信双方的信息后发送密钥k;在会话密钥协商过程中,通信主要开销为互相发送中间密钥信息W,总共的能源消耗约3.87+0.053 6|RSS|mJ,远低于传统的密钥分发方
案,如表1。由于较大部分的计算开销由控制单元来执行,控制单元的运算能力远远大于体上传感器,所以暂时不考虑。从表1中可见,本文方案的通信代价也是远远小于传统的秘钥分发机制以及基于生理特征的密钥协商等。
表1 不同方案总耗能的比较
针对无线体域网中传输生理数据的隐私与安全问题,本文提出了一种灵活高效的认证和密钥协商方案。利用在通信过程中收集到的RSS信号并集成双线性配对以协商体上传感器的会话密钥,并通过DBDH假设证明了该方案安全可行。相较于基于信道特征的密钥提取协议,不再依赖于物理距离来避免攻击者收到同样的RSS指纹,且将信息协调的负担转移至控制单元上,提高了密钥协调的准确率;相对于传统的密钥分配协议来说,避免了密钥分发的过程,可灵活添加新的没有预分配密钥的体上传感器,也极大地减小了能耗。