周凤娟,张跃欣,伍 玮
(1.福建师范大学计算机与网络空间安全学院,福建 福州 350117;2.福建师范大学数学与统计学院,福建 福州 350117)
物联网(internet of things, IoT)技术已经深刻影响并改变了人们的生活方式[1].智能家居、智慧城市、智能医疗保健等物联网新兴应用既带来了便利和舒适,也存在不可忽视的安全隐患,需要相应的安全防护技术.密钥协商致力于协助通信双方或多方建立安全的通信密钥,支撑后续的数据加密、数据认证等密码算法和安全协议.然而,传统的密钥协商要求用户预存储秘密信息,在智能家居的应用场景中[2],不同公司生产制造的智能家居设备多样异构,无法统一预存储秘密信息.因此,在物联网的应用场景中,既不需要预存储秘密信息,也不依赖可信第三方的物理层安全的密钥提取受到越来越多的关注.基于声波的物联网设备密钥提取经研究证实在无线通信网络中满足物理层安全,但无法确保高的密钥生成率和低的密钥不匹配率,并且存在需要人工辅助的问题.
本文通过优化密钥提取算法,设计不需要人工辅助的密钥提取方案,实现了比特生成率和比特不匹配率的均衡:
第一,高效密钥提取.新方案利用物联网设备周围的声音信道提取密钥,比特生成率可提高至380 bits·s-1,比特不匹配率为9.55%.与同类方案相比,比特生成率提升约10%,比特不匹配率降低约80%.
第二,优化密钥提取算法.通过结合13折线量化和窗函数算法,减少了丢弃的有效比特数量,并通过窗函数算法提高比特的随机性.信息调和阶段,极化码纠错进一步降低了误码率.
第三,设备实现.利用物联网设备(移动麦克风、录音笔和手机)验证了本文提出的基于声波的密钥提取方案的有效性.通过编程控制并量化物联网设备录取同步的音频信息,解决了不同步导致的比特不匹配率高的问题.
本节介绍利用无线信道和声音信道的特点提取密钥的相关工作.
在物理层密钥提取方案中,设备可利用无线信道[3]、声音信道或者光波[4]等提取通信密钥.在利用无线信道时变性、空间衰落性和互易性的密钥协商方案中,量化算法的优劣直接影响方案的性能表现.2008年,Mathur等人[5]提出双门限量化算法的密钥提取方案.该算法设置的两个门限值分别为和,其中,量化时将小于和大于的RSS值丢弃.比特熵提高至0.7,比特不匹配率降低至50%,比特生成率约1 bit·s-1.2010年,Patwari等人[6]改进Mathur的量化算法,提出自适应量化算法的密钥生成方案.该方案将RSS值划分为多个区间块,计算每个区间块门限值和并量化数据.分析结果显示,比特熵接近于1,比特生成率约3 bits·s-1,比特不匹配率降低至45%.
利用声音信道的时变性、空间衰落性和互易性,可以实现更高效的密钥协商.2011年,Schürmann和Sigg[7]提出了音频指纹技术,通过结合模糊承诺,在2个设备间生成通信密钥.由于不同设备同步测量音频的难度较大,所以该方案的比特不匹配率高达60%.2014年,Miettinen[8]等人提出一种基于上下文音频和亮度的共享熵提取方案,与文献[7]相比,其无需时间同步.每隔秒,设备抓取个指纹数据迭代替换.该方案实现了安全性的提升,但比特生成率降低.2017年,Liu[9]等人提出可穿戴设备的配对方案,比文献[8]增加了可视化的界面和按钮.智能手机与其配对均会触发可穿戴设备的震动,用户按下设备上的确认键,即可在指定时间内完成噪声和光的采集,并利用Diffie-Hellman(D-H)协议建立通信密钥.2019年,Lu等人[10]利用听不见的声音信号提取通信密钥.该方案选取的声音频率为18~22 kHz,采用自适应量化算法和格雷码的信息调和算法.用户通过摇晃手机,比特生成率可提高至256 bits·s-1.
为了减少人工辅助并提高效率,本文通过优化算法,利用声波设计了新的密钥提取方案.
本文利用声音信道的时变性、空间衰落性和互易性[11],建立物联网设备的通信密钥.
(1)时变性.由于折射和散射,声音在空气中经过两条或者多条路径传播到达接收方.
(2)空间衰落性.小规模衰落理论中声音信号去相关的距离为半个波长.距离Alice和Bob超过半个波长时,窃听者Eve得到的信道特征与Alice和Bob提取的信道特征是独立的.
(3)互易性.Alice和Bob在相干时间内彼此发送声音信号,其信道状态和高度相关[12].
Alice和Bob为通信的用户,Eve为窃听者,他们均配备了手机、麦克风等装置.假设Eve到Alice和Bob的距离大于半个波长,假设密钥提取算法是公开的.Eve可窃听周围环境的声音信息和无线电信息,Eve的目标是获得Alice和Bob提取的密钥[13].
本文利用周围环境的声音,设计适用于物联网设备的密钥提取方案(sound-based key extraction scheme,SKES),其核心思想是利用物联网设备的录音功能采集声音信息,提取安全的通信密钥.如图1所示,SKES主要包含声音信道估计、量化、信息调和、保密增强4个阶段[14].
图1 SKES框架图
声音在空气中通过2条或多条路径传播到达接收方.因此,声音信号在空气中传播可表示[15]为
(1)
假设接收信号Y(t)从M个路径到达接收方,声音信号x(t)在路径i的振幅为ai,时延为τi,s(t)是基带信号,fc是通带中心频率,δ(t)是狄拉克函数,h(t)是CIR.
(2)
利用最小二乘法(LS)的信道估计方法[16].假设发射信号X(i),信道传输函数H(i),接收信号Y(i),即接收信号Y(i)=X(i)×H(i),为了得到信道估计,需要最小化代价函数
(3)
(4)
图2 13折线量化图
13折线的8位编码分配如表1所示,其中,C1为极性码,正极为1,负极为0.判定极性后,编码信号的绝对值,因此只需编码正极.C2C3C4为段落码,表示信号绝对值所处段落.C5C6C7C8为段内码,它的16种编码(0000~1111)代表每个段落内16个均匀划分的量化级.该算法的伪代码如算法1.
算法1 13折线量化算法
表1 8位编码分配表
量化后,生成的比特串可能会出现连0连1的情况.利用窗函数可优化比特串,增强比特随机性.窗函数效果如图3所示.Alice和Bob量化后可能存在不一致的比特,需要信息调和技术将不一致的比特进行纠正.
图3 窗函数
本节采用极化码纠错的信息调和算法.极化码是Arikan[18]提出的一种新型编码方式.极化码的核心思想是信道极化,利用信道联合与信道分裂的过程选择可信信道传输信息比特,得到信道容量趋于1 的无噪声信道和趋于0的纯噪声信道.
研究表明,Eve利用窃听的信息可以推测出部分密钥信息.因此,采用2-universal hash[20]函数的保密增强算法解决该问题.函数由h:{1,…,M}→{0,1}m构成,h(a,b)(x)=g(a,b)modm,g(a,b)(x)=(ax+b)modPM,执行函数后输出密钥k.其中a、b∈{1,…,PM-1},整数PM是素数且PM>M.a、b由Alice确定,并发送给Bob,m是和输入熵、编码的比特数以及信息调和泄露的信息量有关的参数.
办公环境下利用小米电脑Air 13.3连接欧凡麦克风和赛达麦克风验证方案的可行性.利用Matlab控制Alice和Bob采集音频并量化.小米手机10(8G +256G)作为窃听者Eve.利用Python 3.9.2编程,完成极化码纠错及NIST随机性测试.
声音信号的另一种表示方式为S(z)=U(z)·G(z)·R(z)·SNR.可以看出,信噪比SNR直接影响声音信号质量.实验中利用两个设备通过Matlab获取音频的频谱并进行滤波操作,选择800~3 300 Hz的频率,得到频谱图和频率响应,如图4所示.
为了仿真不同信噪比的误码率,实验中加入了不同分贝的噪声.实验中设置的信噪比范围是SNR=0∶20,步长为2,当误码率近至为0可忽略时,坐标轴上不显示.如图5所示,在信噪比大于16时误码率未显示,可认为信噪比大于16时的误码率近似为0.且从图5中可知8位13折线量化编码方法的误码率优于均匀量化编码方法.
图4 频谱图
图5 信噪比与误码率
实验分析了采集音频时长为3 s和5 s的比特生成率,每次分别采集200组数据计算均值,共采集了10次2 000组数据,并计算比特生成率的总平均值,结果如表2和表3所示,可知SKES方案的比特生成率约为380 bits·s-1.
表2 3 s的比特生成率
表3 5 s的比特生成率
实验分别采集时长为3 s和5 s的音频,量化编码后以矩阵的形式存储.采集时长为5 s可得到的矩阵,共采集10次2 000组数据,实验数据如表4所示.同样的,音频采集时长为3 s可得到131 072×8的矩阵,实验数据如表5所示.相比采集5 s的音频,采集3 s的音频比特不匹配率较高.
表4 5 s的比特不匹配率
表5 3 s的比特不匹配率
将SKES方案与现有同样实现物理层密钥协商的方案进行比较分析,包含听见的声音信道[4,7]、听不见的声音信道[10]和无线信道[6,21],比较分析结果如表6所示.表6结果表明,与同类方案相比,SKES方案实现了比特生成率提高约10%,比特不匹配率降低约80%.
表6 同类方案比较分析
本节对SKES方案提取的密钥进行NIST随机性测试.
在NIST测试中,共有15种不同的统计测试方法.选择其中常用的9种统计测试方法,满足所有输出的P值大于0.01即通过测试.从表7的测试结果可以看出,所有P值都大于0.01,即本方案提取的密钥通过了NIST随机性测试[22].
表7 NIST随机性检测的P-Value
信道估计阶段,Eve可以窃听Alice和Bob配对时所有的声音信号.由于声音信道的空间衰落性,窃听者Eve距离Alice和Bob超过半个波长8.29 cm时(空气中传播的速度为340 m·s-1时),其无法获取任何有用信息.量化和信息调和阶段,Eve可能窃听到少量信息,但保密增强后泄密的信息被移除.
本文利用周围环境音频信息设计了适用于物联网设备的高效密钥提取方案SKES.该方案的核心思想是利用声音信道的特性(包括时变性、空间衰落性和互易性)及物联网设备的特点(可感知周围环境的声音、温度和湿度等信息)实现物联网设备无预存储秘密信息和无可信第三方参与的安全密钥协商.SKES方案采样周围环境的音频,应用改进的13折线量化算法,提高了比特生成率.采用极化码纠错方法降低误码率和比特不匹配率.实验数据显示SKES方案的比特不匹配率约为9.55%,比特生成率约为380 bits·s-1,且提取的密钥比特流通过了NIST随机性测试.与同类方案相比,新方案实现了比特生成率提高约10%,比特不匹配率降低约80%.