丁佳蓉, 鐘伯成, 房保綱, 張家磊
(上海工程技術(shù)大學(xué) 電子電氣工程學(xué)院,上海 201620)
隨著電子醫(yī)療系統(tǒng)的發(fā)展,無線體域網(wǎng)正在興起,它可以監(jiān)控患者的健康信息并傳輸至遠(yuǎn)程醫(yī)療中心提供智能醫(yī)療服務(wù)。典型的無線體域網(wǎng)通常由人身體上的可穿戴式傳感器組成,可采集人體的重要生理數(shù)據(jù),如心電圖(ECG)、脈搏、腦電圖(EEG)等數(shù)據(jù)傳送至控制單元,控制單元在初步分析后,將數(shù)據(jù)傳送至遠(yuǎn)程監(jiān)控中心,進(jìn)一步判斷患者的身體狀況[1]。然而,由于傳輸信息的敏感性及無線信號(hào)具有在空中自由傳播的特性,醫(yī)療數(shù)據(jù)在傳輸及存儲(chǔ)過程中很容易引起安全問題。如果傳感器之間傳遞的消息被偽造或篡改,可能會(huì)引發(fā)病人的生命危險(xiǎn),因此,病人生理數(shù)據(jù)的隱私性極為重要[2]。
體域網(wǎng)中必須利用身份認(rèn)證以及保密機(jī)制確保傳感器之間的安全通信[3]。傳統(tǒng)的密鑰分發(fā)技術(shù)在密鑰的生成與管理中計(jì)算開銷大、續(xù)航時(shí)間少、靈活性差等,無法滿足體域網(wǎng)內(nèi)的能耗需求;基于生理特征的密鑰提取信號(hào)噪音大,對(duì)硬件的要求較高,對(duì)信號(hào)預(yù)處理的過程較為復(fù)雜;基于信道特征進(jìn)行密鑰提取過程中,由于無線信道的不完全互易性,通常需要引入信息協(xié)調(diào)來保證密鑰的一致[4]。在之前基于信道特征進(jìn)行密鑰提取的研究中,通過信息協(xié)調(diào)來改善不匹配率,會(huì)增加可穿戴設(shè)備的能源開銷,且無法保證認(rèn)證率和密鑰強(qiáng)度同時(shí)滿足。
因此,本文設(shè)計(jì)了基于信道特征的密鑰協(xié)商協(xié)議,將信道特征與雙線性結(jié)合起來,實(shí)現(xiàn)體域網(wǎng)中體上傳感器之間的安全溝通。
假設(shè)G和G0為兩個(gè)素?cái)?shù)階為p的乘法循環(huán)群,g是G的一個(gè)生成元,e為雙線性映射,定義為e:G×G→G0,雙線性映射e必須滿足幾個(gè)性質(zhì):1)雙線性:對(duì)于任意的m,n∈G和α,β∈Zp,都存在e(mα,nβ)=e(m,n)αβ。其中Zp={1,2,…,p,-1},是階為p的伽羅化域。2)非退化性:滿足e(g,g)≠1時(shí),1是G0的單位元。3)可計(jì)算性:對(duì)于任意m,n∈G,可以計(jì)算出e(m,n)。
基于系統(tǒng)安全參數(shù)選擇G且g是G的生成元,?a,b,c,z∈Zp,在多項(xiàng)式時(shí)間內(nèi),攻擊者幾乎不能從(g,ga,gb,gc,(g,g)z)判斷出元組(g,ga,gb,gc,(g,g)abc)。
本文用接收信號(hào)強(qiáng)度(received signal strength,RSS)作為通信傳感器的共享密鑰的來源。RSS隨時(shí)間的變化是由運(yùn)動(dòng)和多徑衰落引起的,且無線信道迅速解耦距離大約半個(gè)波長,對(duì)于半波長以外的信道可以被假定為獨(dú)立的,在不同的時(shí)間和環(huán)境中是無法預(yù)測(cè)的。對(duì)于體上的傳感器而言,雖然信號(hào)傳播受到人體復(fù)雜形態(tài)和不同組織的影響,但是在非常近的距離下(通常小于1 m),直接路徑是所有多路徑分量中的主要路徑。對(duì)于體外傳感器而言,它與體上傳感器之間的作用導(dǎo)致了多普勒頻移,改變了來自不同路徑的相位和振幅[5]。因此,當(dāng)離體收發(fā)器在一定距離外時(shí),多徑分量的疊加會(huì)導(dǎo)致衰落幅度的大規(guī)模快速變化,接收端會(huì)出現(xiàn)顯著的RSS變化,意味著RSS的變化不能被體外的傳感器預(yù)測(cè),除非它與通信傳感器的物理距離很近,但這在實(shí)際操作中很難實(shí)現(xiàn)的[6]。
1)系統(tǒng)初始化:(1λ)→(e,G,PK,MK)
2)RSS指紋特征的生成:(RSS)→(R)
控制單元將采集的RSS信號(hào)作為輸入,輸出RSS指紋特征R。為了提高辨識(shí)率,并考慮到各種場景下的RSS指紋特征的差異,可提前將不同場景下合法節(jié)點(diǎn)的RSS指紋存放在控制單元上。
圖1顯示了傳感器節(jié)點(diǎn)與控制單元之間的通信時(shí)序圖。在指定的測(cè)試場景中,將互相發(fā)送探針信號(hào)的合法通信節(jié)點(diǎn)稱為Alice和Bob,它們收到對(duì)方的響應(yīng)信號(hào)后每隔500 ms互相發(fā)送PING數(shù)據(jù)包,直到聚集足夠的信號(hào)后發(fā)送OK信號(hào)。合法傳感器在收到OK消息后,立即向CU發(fā)送Hello信號(hào),得到響應(yīng)后將接收到的信號(hào)序列發(fā)送給CU。
圖1 通信時(shí)序圖
在通信中,Alice和Bob讀取用于PING數(shù)據(jù)包的無線電信道特征RSS值,除此之外,PING數(shù)據(jù)包還帶有其他統(tǒng)計(jì)數(shù)據(jù),例如時(shí)間校準(zhǔn),電池消耗等,由于這些數(shù)據(jù)并不敏感,認(rèn)證過程幾乎沒有額外的數(shù)據(jù)包消耗和能量負(fù)擔(dān)。當(dāng)Alice和Bob之間交換多個(gè)數(shù)據(jù)包時(shí),每個(gè)數(shù)據(jù)包都會(huì)建立一個(gè)RSS的時(shí)間序列,先通過低通濾波進(jìn)行降噪處理,再將原始的RSS數(shù)據(jù)量化為比特串,可以用向量Ri來表示。量化是基于指定上下限之間的閾值完成的,下限和上限之間的值被刪除,大于上限的值被編碼為1,小于下限閾值編碼為0。經(jīng)過以上處理,可獲得注冊(cè)特征模板R={Ri},其中Ri={ri1,ri2,…,riN},N的大小取決于具體的應(yīng)用場景。
3)身份認(rèn)證:(R)→(IC)
控制單元將注冊(cè)指紋特征作為輸入,輸出每一個(gè)傳感器的認(rèn)證證書。遍歷RSS的指紋特征,用皮爾森相關(guān)系數(shù)計(jì)算兩個(gè)分離數(shù)據(jù)段的相關(guān)性以及注冊(cè)指紋特征與歷史模板之間的相關(guān)性
(1)
CU通過合法模板與注冊(cè)模板之間的相關(guān)性以及分離的注冊(cè)模板之間的相關(guān)性實(shí)現(xiàn)對(duì)Alice和Bob的雙重認(rèn)證,若相關(guān)性大于0.9,則認(rèn)為是合法,而在合法傳感器之間的共享指紋中,竊聽者的相關(guān)性低于0.3[7]。
如果Alice為合法節(jié)點(diǎn),CU將選擇隨機(jī)數(shù)NA∈ZP,并計(jì)算出證書ICA=H′(RA,NA)通過安全信道發(fā)送給Aliec,其中,H′為哈希函數(shù):{0,1}*×ZP→ZP;類似地,CU也將選擇隨機(jī)數(shù)NB∈ZP計(jì)算出ICB=H″(RB,NB)通過安全信道發(fā)送給Bob,其中,H″為哈希函數(shù):ZP×ZP×G0→(0,1)λ。
4)密鑰提?。?IC,PK,MK)→(k)
CU將合法傳感器的IC,公鑰PK和系統(tǒng)主密鑰MK作為輸入,對(duì)于每一個(gè)傳感器,產(chǎn)生一個(gè)隨機(jī)數(shù)并計(jì)算出密鑰k。對(duì)于Alice,CU選擇隨機(jī)數(shù)A∈Zp,計(jì)算kA并發(fā)送給Alice
(2)
對(duì)于Bob,CU選擇隨機(jī)數(shù)B∈Zp,同理計(jì)算kB并發(fā)送給Bob。
5)密鑰協(xié)商:(IC,PK)→(W) (IC,k,PK,T)→(K)
階段一:Alice和Bob將對(duì)方的IC,公鑰g1作為輸入,輸出中間密鑰信息WA和WB。Alice選擇隨機(jī)數(shù)x∈ZP,計(jì)算WA,并發(fā)送至Bob
(3)
Bob選擇隨機(jī)數(shù)y∈ZP,同理計(jì)算WB,并發(fā)送至Alice:
階段二:將Alice和Bob的所有中間信息作為輸入,輸出最終密鑰k。
Alice方計(jì)算出
(4)
KAB=H″(ICB,ICA,TAB)
(5)
Bob方用同樣的方法計(jì)算出TBA和KBA。
安全協(xié)議中所提到的密鑰協(xié)商方案依賴于RSS信道特征的提取以及傳感器對(duì)隨機(jī)數(shù)選擇,因此當(dāng)系統(tǒng)主密鑰以及傳感器之間生成的密鑰被泄露時(shí),最終會(huì)話密鑰也無法推斷;另外,在之前基于信道特征進(jìn)行密鑰提取的研究方案中,會(huì)話密鑰只依賴于信道特征,只能通過物理距離避免攻擊者收集到同樣的RSS指紋特征從而計(jì)算會(huì)話密鑰,相比之下,本文的安全協(xié)議可靠性更高,只要通信雙方在經(jīng)過密鑰協(xié)商后,通信雙方需滿足TAB=TBA即可保證密鑰正確可行。
定理:如果DBDH假設(shè)成立,則不存在敵手能夠在多項(xiàng)式時(shí)間內(nèi)成功攻破本協(xié)議。
證明:采用反證法,假設(shè)存在一個(gè)敵手E以不可忽略的優(yōu)勢(shì)ε在游戲中獲勝。構(gòu)造一個(gè)模擬者S,它能利用E的能力以不可忽略的概率ε/2從隨機(jī)元組中區(qū)分出DBDH元組,即證明DBDH假設(shè)不成立。
e:G×G→G0是一個(gè)有效可計(jì)算的雙線性映射,G的素?cái)?shù)階為P,G的一個(gè)生成元為g。首先,挑戰(zhàn)者A執(zhí)行公平的拋幣協(xié)議,選擇隨機(jī)數(shù)a,b,c∈ZP,v∈{0,1}。當(dāng)v=0時(shí),F=e(g,g)abc;當(dāng)v=1時(shí),F=e(g,g)z。在游戲中,挑戰(zhàn)者給出〈g,A,B,C,F〉=〈g,ga,gb,gc,F〉,ΠCij為會(huì)話問答器。
初始化:攻擊者E初始化會(huì)話并發(fā)送(Cij,M)給S。
挑戰(zhàn)階段:在多項(xiàng)式時(shí)間內(nèi),E可以在階段一中向m個(gè)傳感器節(jié)點(diǎn)發(fā)送私鑰詢問請(qǐng)求;E可以通過階段二初始化會(huì)話并重復(fù)執(zhí)行n次;E想要通過以上兩個(gè)階段獲取會(huì)話密鑰,可以重復(fù)執(zhí)行τ次,S也將在(0,τ)中隨機(jī)選擇一個(gè)T,為第i或第j個(gè)正在協(xié)商會(huì)話密鑰的傳感器節(jié)點(diǎn)的挑戰(zhàn)問答器。如果在初始化階段之前T=C,則認(rèn)為Cij是游戲系統(tǒng)的組成部分,S將終結(jié)游戲,否則S將發(fā)出信號(hào)接受這個(gè)會(huì)話并從L2中返回K值給S;如果在E發(fā)出私鑰詢問請(qǐng)求后C≠T,S終結(jié)游戲,否則,S將從L2返回K值給A。
猜測(cè)階段:攻擊者E輸出一個(gè)對(duì)μ的猜測(cè)μ′∈{0,1},此時(shí)模擬者S根據(jù)攻擊者猜測(cè)的不同結(jié)果也在DBDH中做出相應(yīng)的猜測(cè)。若攻擊者E給出了正確的猜想μ=μ′,則模擬者S在與挑戰(zhàn)者的游戲中輸出猜想v=0且T=e(g,g)abc,此時(shí)E有不可忽略的優(yōu)勢(shì)去贏得比賽,S也可辨別出是否e(g,g)abc=e(g,g)z;若E給出錯(cuò)誤猜想μ≠μ′,則S在與挑戰(zhàn)者的游戲中輸出猜想v=1且T=e(g,g)abc。如果敵手E成功獲得會(huì)話密鑰,S就可以解決DBDH問題,可能性為
Pr=(τ-1)/τ·(1/τ)·ζ
因此,在多項(xiàng)式時(shí)間內(nèi),這個(gè)密鑰協(xié)商是安全的。
本文的安全協(xié)議于普通節(jié)點(diǎn)的存儲(chǔ)空間來說是完全可以接受。通信的體上傳感器只需要存儲(chǔ)他們各自獨(dú)特的ID(IDA和IDB)分別為8個(gè)字符;所接收到的信道特征RA和RB各為128 bit;以及它們分別選擇隨機(jī)數(shù)A,B分別為1個(gè)字符,和提取的密鑰kA,kB,中間密鑰信息(WA和WB)為20個(gè)字節(jié),約為(93+|RSS|)字節(jié)。而開銷較大的部分公鑰存儲(chǔ)在控制單元中,因此,對(duì)于身體上的可穿戴設(shè)備,本協(xié)議的存儲(chǔ)成本遠(yuǎn)遠(yuǎn)小于傳統(tǒng)的密碼學(xué)方案。
通信開銷的評(píng)估是基于一種資源有限的ATmega128L單片機(jī)作為體上傳感器的節(jié)點(diǎn),發(fā)送一個(gè)字節(jié)的開銷約為53.6 μJ,接收一個(gè)字節(jié)的開銷約為25.8 μJ。在認(rèn)證過程中,體上的通信傳感器之間先互相發(fā)送Hello信號(hào)收集RSS特征,然后將各自的ID和接收到的RSS指紋特征發(fā)送給控制單元CU,CU將兩個(gè)通信雙方所收集的RSS進(jìn)行比較,確認(rèn)通信雙方的信息后發(fā)送密鑰k;在會(huì)話密鑰協(xié)商過程中,通信主要開銷為互相發(fā)送中間密鑰信息W,總共的能源消耗約3.87+0.053 6|RSS|mJ,遠(yuǎn)低于傳統(tǒng)的密鑰分發(fā)方
案,如表1。由于較大部分的計(jì)算開銷由控制單元來執(zhí)行,控制單元的運(yùn)算能力遠(yuǎn)遠(yuǎn)大于體上傳感器,所以暫時(shí)不考慮。從表1中可見,本文方案的通信代價(jià)也是遠(yuǎn)遠(yuǎn)小于傳統(tǒng)的秘鑰分發(fā)機(jī)制以及基于生理特征的密鑰協(xié)商等。
表1 不同方案總耗能的比較
針對(duì)無線體域網(wǎng)中傳輸生理數(shù)據(jù)的隱私與安全問題,本文提出了一種靈活高效的認(rèn)證和密鑰協(xié)商方案。利用在通信過程中收集到的RSS信號(hào)并集成雙線性配對(duì)以協(xié)商體上傳感器的會(huì)話密鑰,并通過DBDH假設(shè)證明了該方案安全可行。相較于基于信道特征的密鑰提取協(xié)議,不再依賴于物理距離來避免攻擊者收到同樣的RSS指紋,且將信息協(xié)調(diào)的負(fù)擔(dān)轉(zhuǎn)移至控制單元上,提高了密鑰協(xié)調(diào)的準(zhǔn)確率;相對(duì)于傳統(tǒng)的密鑰分配協(xié)議來說,避免了密鑰分發(fā)的過程,可靈活添加新的沒有預(yù)分配密鑰的體上傳感器,也極大地減小了能耗。