周鳳娟,張躍欣,伍 瑋
(1.福建師范大學計算機與網絡空間安全學院,福建 福州 350117;2.福建師范大學數(shù)學與統(tǒng)計學院,福建 福州 350117)
物聯(lián)網(internet of things, IoT)技術已經深刻影響并改變了人們的生活方式[1].智能家居、智慧城市、智能醫(yī)療保健等物聯(lián)網新興應用既帶來了便利和舒適,也存在不可忽視的安全隱患,需要相應的安全防護技術.密鑰協(xié)商致力于協(xié)助通信雙方或多方建立安全的通信密鑰,支撐后續(xù)的數(shù)據(jù)加密、數(shù)據(jù)認證等密碼算法和安全協(xié)議.然而,傳統(tǒng)的密鑰協(xié)商要求用戶預存儲秘密信息,在智能家居的應用場景中[2],不同公司生產制造的智能家居設備多樣異構,無法統(tǒng)一預存儲秘密信息.因此,在物聯(lián)網的應用場景中,既不需要預存儲秘密信息,也不依賴可信第三方的物理層安全的密鑰提取受到越來越多的關注.基于聲波的物聯(lián)網設備密鑰提取經研究證實在無線通信網絡中滿足物理層安全,但無法確保高的密鑰生成率和低的密鑰不匹配率,并且存在需要人工輔助的問題.
本文通過優(yōu)化密鑰提取算法,設計不需要人工輔助的密鑰提取方案,實現(xiàn)了比特生成率和比特不匹配率的均衡:
第一,高效密鑰提取.新方案利用物聯(lián)網設備周圍的聲音信道提取密鑰,比特生成率可提高至380 bits·s-1,比特不匹配率為9.55%.與同類方案相比,比特生成率提升約10%,比特不匹配率降低約80%.
第二,優(yōu)化密鑰提取算法.通過結合13折線量化和窗函數(shù)算法,減少了丟棄的有效比特數(shù)量,并通過窗函數(shù)算法提高比特的隨機性.信息調和階段,極化碼糾錯進一步降低了誤碼率.
第三,設備實現(xiàn).利用物聯(lián)網設備(移動麥克風、錄音筆和手機)驗證了本文提出的基于聲波的密鑰提取方案的有效性.通過編程控制并量化物聯(lián)網設備錄取同步的音頻信息,解決了不同步導致的比特不匹配率高的問題.
本節(jié)介紹利用無線信道和聲音信道的特點提取密鑰的相關工作.
在物理層密鑰提取方案中,設備可利用無線信道[3]、聲音信道或者光波[4]等提取通信密鑰.在利用無線信道時變性、空間衰落性和互易性的密鑰協(xié)商方案中,量化算法的優(yōu)劣直接影響方案的性能表現(xiàn).2008年,Mathur等人[5]提出雙門限量化算法的密鑰提取方案.該算法設置的兩個門限值分別為和,其中,量化時將小于和大于的RSS值丟棄.比特熵提高至0.7,比特不匹配率降低至50%,比特生成率約1 bit·s-1.2010年,Patwari等人[6]改進Mathur的量化算法,提出自適應量化算法的密鑰生成方案.該方案將RSS值劃分為多個區(qū)間塊,計算每個區(qū)間塊門限值和并量化數(shù)據(jù).分析結果顯示,比特熵接近于1,比特生成率約3 bits·s-1,比特不匹配率降低至45%.
利用聲音信道的時變性、空間衰落性和互易性,可以實現(xiàn)更高效的密鑰協(xié)商.2011年,Schürmann和Sigg[7]提出了音頻指紋技術,通過結合模糊承諾,在2個設備間生成通信密鑰.由于不同設備同步測量音頻的難度較大,所以該方案的比特不匹配率高達60%.2014年,Miettinen[8]等人提出一種基于上下文音頻和亮度的共享熵提取方案,與文獻[7]相比,其無需時間同步.每隔秒,設備抓取個指紋數(shù)據(jù)迭代替換.該方案實現(xiàn)了安全性的提升,但比特生成率降低.2017年,Liu[9]等人提出可穿戴設備的配對方案,比文獻[8]增加了可視化的界面和按鈕.智能手機與其配對均會觸發(fā)可穿戴設備的震動,用戶按下設備上的確認鍵,即可在指定時間內完成噪聲和光的采集,并利用Diffie-Hellman(D-H)協(xié)議建立通信密鑰.2019年,Lu等人[10]利用聽不見的聲音信號提取通信密鑰.該方案選取的聲音頻率為18~22 kHz,采用自適應量化算法和格雷碼的信息調和算法.用戶通過搖晃手機,比特生成率可提高至256 bits·s-1.
為了減少人工輔助并提高效率,本文通過優(yōu)化算法,利用聲波設計了新的密鑰提取方案.
本文利用聲音信道的時變性、空間衰落性和互易性[11],建立物聯(lián)網設備的通信密鑰.
(1)時變性.由于折射和散射,聲音在空氣中經過兩條或者多條路徑傳播到達接收方.
(2)空間衰落性.小規(guī)模衰落理論中聲音信號去相關的距離為半個波長.距離Alice和Bob超過半個波長時,竊聽者Eve得到的信道特征與Alice和Bob提取的信道特征是獨立的.
(3)互易性.Alice和Bob在相干時間內彼此發(fā)送聲音信號,其信道狀態(tài)和高度相關[12].
Alice和Bob為通信的用戶,Eve為竊聽者,他們均配備了手機、麥克風等裝置.假設Eve到Alice和Bob的距離大于半個波長,假設密鑰提取算法是公開的.Eve可竊聽周圍環(huán)境的聲音信息和無線電信息,Eve的目標是獲得Alice和Bob提取的密鑰[13].
本文利用周圍環(huán)境的聲音,設計適用于物聯(lián)網設備的密鑰提取方案(sound-based key extraction scheme,SKES),其核心思想是利用物聯(lián)網設備的錄音功能采集聲音信息,提取安全的通信密鑰.如圖1所示,SKES主要包含聲音信道估計、量化、信息調和、保密增強4個階段[14].
圖1 SKES框架圖
聲音在空氣中通過2條或多條路徑傳播到達接收方.因此,聲音信號在空氣中傳播可表示[15]為
(1)
假設接收信號Y(t)從M個路徑到達接收方,聲音信號x(t)在路徑i的振幅為ai,時延為τi,s(t)是基帶信號,fc是通帶中心頻率,δ(t)是狄拉克函數(shù),h(t)是CIR.
(2)
利用最小二乘法(LS)的信道估計方法[16].假設發(fā)射信號X(i),信道傳輸函數(shù)H(i),接收信號Y(i),即接收信號Y(i)=X(i)×H(i),為了得到信道估計,需要最小化代價函數(shù)
(3)
(4)
圖2 13折線量化圖
13折線的8位編碼分配如表1所示,其中,C1為極性碼,正極為1,負極為0.判定極性后,編碼信號的絕對值,因此只需編碼正極.C2C3C4為段落碼,表示信號絕對值所處段落.C5C6C7C8為段內碼,它的16種編碼(0000~1111)代表每個段落內16個均勻劃分的量化級.該算法的偽代碼如算法1.
算法1 13折線量化算法
表1 8位編碼分配表
量化后,生成的比特串可能會出現(xiàn)連0連1的情況.利用窗函數(shù)可優(yōu)化比特串,增強比特隨機性.窗函數(shù)效果如圖3所示.Alice和Bob量化后可能存在不一致的比特,需要信息調和技術將不一致的比特進行糾正.
圖3 窗函數(shù)
本節(jié)采用極化碼糾錯的信息調和算法.極化碼是Arikan[18]提出的一種新型編碼方式.極化碼的核心思想是信道極化,利用信道聯(lián)合與信道分裂的過程選擇可信信道傳輸信息比特,得到信道容量趨于1 的無噪聲信道和趨于0的純噪聲信道.
研究表明,Eve利用竊聽的信息可以推測出部分密鑰信息.因此,采用2-universal hash[20]函數(shù)的保密增強算法解決該問題.函數(shù)由h:{1,…,M}→{0,1}m構成,h(a,b)(x)=g(a,b)modm,g(a,b)(x)=(ax+b)modPM,執(zhí)行函數(shù)后輸出密鑰k.其中a、b∈{1,…,PM-1},整數(shù)PM是素數(shù)且PM>M.a、b由Alice確定,并發(fā)送給Bob,m是和輸入熵、編碼的比特數(shù)以及信息調和泄露的信息量有關的參數(shù).
辦公環(huán)境下利用小米電腦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折線量化編碼方法的誤碼率優(yōu)于均勻量化編碼方法.
圖4 頻譜圖
圖5 信噪比與誤碼率
實驗分析了采集音頻時長為3 s和5 s的比特生成率,每次分別采集200組數(shù)據(jù)計算均值,共采集了10次2 000組數(shù)據(jù),并計算比特生成率的總平均值,結果如表2和表3所示,可知SKES方案的比特生成率約為380 bits·s-1.
表2 3 s的比特生成率
表3 5 s的比特生成率
實驗分別采集時長為3 s和5 s的音頻,量化編碼后以矩陣的形式存儲.采集時長為5 s可得到的矩陣,共采集10次2 000組數(shù)據(jù),實驗數(shù)據(jù)如表4所示.同樣的,音頻采集時長為3 s可得到131 072×8的矩陣,實驗數(shù)據(jù)如表5所示.相比采集5 s的音頻,采集3 s的音頻比特不匹配率較高.
表4 5 s的比特不匹配率
表5 3 s的比特不匹配率
將SKES方案與現(xiàn)有同樣實現(xiàn)物理層密鑰協(xié)商的方案進行比較分析,包含聽見的聲音信道[4,7]、聽不見的聲音信道[10]和無線信道[6,21],比較分析結果如表6所示.表6結果表明,與同類方案相比,SKES方案實現(xiàn)了比特生成率提高約10%,比特不匹配率降低約80%.
表6 同類方案比較分析
本節(jié)對SKES方案提取的密鑰進行NIST隨機性測試.
在NIST測試中,共有15種不同的統(tǒng)計測試方法.選擇其中常用的9種統(tǒng)計測試方法,滿足所有輸出的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可能竊聽到少量信息,但保密增強后泄密的信息被移除.
本文利用周圍環(huán)境音頻信息設計了適用于物聯(lián)網設備的高效密鑰提取方案SKES.該方案的核心思想是利用聲音信道的特性(包括時變性、空間衰落性和互易性)及物聯(lián)網設備的特點(可感知周圍環(huán)境的聲音、溫度和濕度等信息)實現(xiàn)物聯(lián)網設備無預存儲秘密信息和無可信第三方參與的安全密鑰協(xié)商.SKES方案采樣周圍環(huán)境的音頻,應用改進的13折線量化算法,提高了比特生成率.采用極化碼糾錯方法降低誤碼率和比特不匹配率.實驗數(shù)據(jù)顯示SKES方案的比特不匹配率約為9.55%,比特生成率約為380 bits·s-1,且提取的密鑰比特流通過了NIST隨機性測試.與同類方案相比,新方案實現(xiàn)了比特生成率提高約10%,比特不匹配率降低約80%.