夏艷東 戚榮鑫 季 賽,
1(南京信息工程大學(xué)網(wǎng)絡(luò)信息中心 江蘇 南京 210044)2(南京信息工程大學(xué)計(jì)算機(jī)與軟件學(xué)院 江蘇 南京 210044)
1999年,美國(guó)麻省理工學(xué)院(MIT)提出了物聯(lián)網(wǎng)的雛形。2005年,國(guó)際電信聯(lián)盟(ITU)發(fā)布了《ITU Internet reports 2005——the Internet of Things》,該報(bào)告正式在全世界范圍內(nèi)提出了“物聯(lián)網(wǎng)”的概念[1]。工業(yè)物聯(lián)網(wǎng)就是將射頻識(shí)別技術(shù)、傳感網(wǎng)和智能分析等技術(shù)應(yīng)用到工業(yè)領(lǐng)域中來(lái),以更高效便捷的方式監(jiān)控工業(yè)生產(chǎn)流程,實(shí)時(shí)收集生產(chǎn)數(shù)據(jù),從而優(yōu)化生產(chǎn)管理,降低生產(chǎn)成本,提高生產(chǎn)效率[2]。然而,工業(yè)物聯(lián)網(wǎng)與傳統(tǒng)物聯(lián)網(wǎng)相比對(duì)數(shù)據(jù)傳輸?shù)目煽啃院蛯?shí)時(shí)性要求高[3]。因此,工業(yè)物聯(lián)網(wǎng)需要滿足時(shí)間同步精確、通信準(zhǔn)確和適應(yīng)性高等要求[4]。隨著工業(yè)物聯(lián)網(wǎng)技術(shù)的廣泛應(yīng)用,工業(yè)物聯(lián)網(wǎng)中的安全問(wèn)題成為其發(fā)展過(guò)程中所面臨的重大挑戰(zhàn)。工業(yè)生產(chǎn)中傳感器節(jié)點(diǎn)采集的數(shù)據(jù)通常在公共信道進(jìn)行傳輸,數(shù)據(jù)易遭受外部威脅和攻擊[5]。此外,工業(yè)物聯(lián)網(wǎng)中的設(shè)備資源有限無(wú)法支持復(fù)雜的計(jì)算操作,現(xiàn)有的認(rèn)證方案大多數(shù)基于非對(duì)稱密碼體制。而基于非對(duì)稱密碼體制的方案需要大量計(jì)算、存儲(chǔ)等資源,因此無(wú)法應(yīng)用于工業(yè)物聯(lián)網(wǎng)中。為了保障采集工業(yè)物聯(lián)網(wǎng)中的數(shù)據(jù)安全和隱私,建立適用于工業(yè)物聯(lián)網(wǎng)的安全且輕量的認(rèn)證與密鑰交換協(xié)議是當(dāng)前研究的熱點(diǎn)方向。Chang等[6]設(shè)計(jì)了一種基于智能卡的移動(dòng)無(wú)線傳感網(wǎng)認(rèn)證協(xié)議,該協(xié)議能夠提供完美前向安全性,但Li等[19]分析認(rèn)為Chang等人的協(xié)議存在缺乏正確的雙向認(rèn)證且無(wú)法抵抗智能卡丟失攻擊等問(wèn)題。為了提高用戶身份驗(yàn)證的安全性,生物特征憑借唯一性、不易復(fù)制性等特性[7-8]而得到廣泛應(yīng)用[9,11]。Li等[19]基于橢圓曲線密碼體制,提出了一種基于生物特征的無(wú)線傳感網(wǎng)認(rèn)證協(xié)議,該協(xié)議解決了Chang等的協(xié)議安全威脅,且能夠抵抗大多數(shù)常見(jiàn)攻擊并提供一些理想的安全屬性。何炎祥等[10]梳理了無(wú)線傳感器網(wǎng)絡(luò)中公鑰密碼機(jī)制研究現(xiàn)狀,指出無(wú)線傳感器網(wǎng)絡(luò)對(duì)外部用戶的認(rèn)證應(yīng)該集中于基于口令、智能卡、生物特征等多因素訪問(wèn)控制方法的研究。Srinivas等[9]提出了一種基于智能卡,生物特征和密碼的三因素用戶認(rèn)證密鑰協(xié)商方案,該方案支持智能卡撤銷(xiāo)以及密碼和生物密鑰更新。Li等[11]提出了一種基于密碼,切比雪夫混沌映射和二次剩余定理的三方認(rèn)證密鑰協(xié)商方案,該方案提供了用戶匿名屬性。Esfahani等[13]提出一種適用于工業(yè)物聯(lián)網(wǎng)中機(jī)器對(duì)機(jī)器(M2M)通信的輕量級(jí)認(rèn)證機(jī)制,該機(jī)制僅使用哈希函數(shù)和異或操作,盡管該協(xié)議適用于資源有限的M2M設(shè)備,但是未考慮網(wǎng)關(guān)節(jié)點(diǎn)(GWN)與M2M設(shè)備之間的認(rèn)證。
針對(duì)上述研究中仍存在的問(wèn)題,本文利用基于物理不可克隆函數(shù)(PUFs)與模糊提取器,提出了一種輕質(zhì)的用戶認(rèn)證與密鑰交換協(xié)議,所提出的協(xié)議利用模糊提取器提取生物特征信息進(jìn)行用戶認(rèn)證,并結(jié)合物理不可克隆函數(shù)提取傳感器設(shè)備物理特征。本協(xié)議僅使用單向函數(shù),異或操作和對(duì)稱加/解密技術(shù)實(shí)現(xiàn)工業(yè)物聯(lián)網(wǎng)中用戶,GWN和傳感器設(shè)備的三重雙向認(rèn)證并建立用戶與傳感器設(shè)備間的安全會(huì)話密鑰,能夠有效減少通信與計(jì)算開(kāi)銷(xiāo)。實(shí)驗(yàn)結(jié)果與分析表明,所提出的協(xié)議適用于資源有限的傳感器設(shè)備,能夠抵抗重放攻擊、偽裝攻擊、特權(quán)內(nèi)部攻擊、中間人攻擊和物理設(shè)備竊取等多種攻擊。
物理不可克隆函數(shù)[12,14]是基于難以處理的復(fù)雜的物理系統(tǒng)將一組挑戰(zhàn)映射到一組響應(yīng)中的函數(shù)。PUF表示物理不可克隆函數(shù),PUF的輸入一般稱為挑戰(zhàn),用c∈C表示,輸出一般被稱為響應(yīng),用r∈R表示。挑戰(zhàn)及其對(duì)應(yīng)的響應(yīng)被稱為挑戰(zhàn)-響應(yīng)對(duì)(Challenge Response Pair,CRP),用CRP(c,r)表示。存在一個(gè)映射關(guān)系PUF:C→R使得PUF(C)=R,對(duì)于每一個(gè)物理不可克隆函數(shù)PUF,挑戰(zhàn)響應(yīng)對(duì)是唯一的。物理不可克隆函數(shù)PUF具有以下屬性:
(1)PUF函數(shù)的輸出必須取決于硬件的物理微結(jié)構(gòu),對(duì)于任意PUF函數(shù),使用相同的挑戰(zhàn)c作為PUF函數(shù)輸入時(shí),在誤差允許的范圍內(nèi),該函數(shù)總是輸出相同的響應(yīng)值r=PUF(c)。
(2)PUF函數(shù)的輸出是不可預(yù)測(cè)的:給定挑戰(zhàn)響應(yīng)對(duì)集合Q={(ci,ri=PUF(ci))|i=1,2,…,n},在一定誤差范圍內(nèi),敵手預(yù)測(cè)響應(yīng)值PUF(ct)是困難的。其中ct是一個(gè)挑戰(zhàn)且滿足條件(ct,rt=PUF(ct)?Q。
(3) 函數(shù)PUF易于實(shí)現(xiàn):給定函數(shù)PUF和輸入c,在多項(xiàng)式時(shí)間內(nèi)計(jì)算出PUF(c)是可行的。
(4) 函數(shù)PUF具有不可克隆性:從物理層面,給定一個(gè)實(shí)體的物理不可克隆函數(shù)PUF,構(gòu)造一個(gè)物理實(shí)體使得該實(shí)體包含的物理不可克隆函數(shù)PUF′對(duì)于任意一個(gè)輸入c∈C在很小的誤差范圍內(nèi)滿足PUF′(c)=PUF(c)是困難的。從數(shù)學(xué)層面,給定一個(gè)物理不可克隆函數(shù),構(gòu)造一個(gè)函數(shù)F使得對(duì)于任意一個(gè)輸入c∈C在很小誤差范圍內(nèi)滿足F(c)=PUF(c)是困難的。因此,函數(shù)PUF是物理不可克隆的。
近年來(lái),模糊提取器(Fuzzy Extractor, FE)[15,17]廣泛應(yīng)用于用戶生物特征信息驗(yàn)證,模糊提取器通常定義為一個(gè)三元組(M,l,t),主要由以下密鑰生成算法和密鑰重構(gòu)算法組成。
Gen(·):密鑰生成算法是一個(gè)概率性算法。用戶以個(gè)人生物信息BIOi作為算法輸入,其中BIOi取自給定的度量空間M,輸出一個(gè)對(duì)應(yīng)的長(zhǎng)度為l比特的生物密鑰σi∈{0,1}l和一個(gè)公共重構(gòu)參數(shù)τi,算法滿足Gen(BIOi)=(σi,τi)。其中,用戶對(duì)于生物密鑰σi保密,公共重構(gòu)參數(shù)τi用于幫助重構(gòu)出初始生物密鑰σi。
本文基于用戶生物特征和傳感器設(shè)備物理特征,提出了一種適用于工業(yè)物聯(lián)網(wǎng)環(huán)境的輕量的用戶認(rèn)證與密鑰交換協(xié)議。該協(xié)議包含6個(gè)步驟:傳感器設(shè)備注冊(cè),用戶注冊(cè),網(wǎng)關(guān)節(jié)點(diǎn)注冊(cè),登錄,身份認(rèn)證與密鑰交換,生物密鑰和密碼更新。用戶、網(wǎng)關(guān)節(jié)點(diǎn)和傳感器設(shè)備分別在注冊(cè)中心注冊(cè),注冊(cè)中心作為一個(gè)可信第三方為用戶,網(wǎng)關(guān)節(jié)點(diǎn)和傳感器設(shè)備生成認(rèn)證所需的身份標(biāo)識(shí)和密鑰,具體的注冊(cè)流程如圖1所示。
圖1 工業(yè)物聯(lián)網(wǎng)初始化注冊(cè)階段
傳感器設(shè)備SDj以離線的方式執(zhí)行以下步驟完成注冊(cè),具體的注冊(cè)步驟如下:
(1) 傳感器設(shè)備SDj輸入挑戰(zhàn)cj,經(jīng)過(guò)函數(shù)PUF得到響應(yīng)值rj,然后利用模糊提取器提取傳感器設(shè)備的物理特征Gen(rj)=(σrj,τrj)得到σrj,并在安全的信道上發(fā)送注冊(cè)請(qǐng)求和σrj給注冊(cè)中心(Register Center,RC)。
(2) 在接收到傳感器設(shè)備SDj的注冊(cè)請(qǐng)求后,RC生成一個(gè)長(zhǎng)度為1 024比特的密鑰keyISDj-GWN并為每個(gè)傳感器設(shè)備生成長(zhǎng)度為128比特的身份標(biāo)識(shí)ISDj。同時(shí),為了保護(hù)密鑰keyISDj-GWN的安全,RC計(jì)算Ej=h(keyISDj-GWN‖ISDj)⊕σrj,然后將ISDj和Ej發(fā)送給傳感器設(shè)備。
(3)傳感器設(shè)備SDj計(jì)算Ej⊕σrj并將ISDj和Ej⊕σrj保存在存儲(chǔ)器中。
用戶Ui在一個(gè)安全的信道上執(zhí)行以下步驟完成注冊(cè),具體注冊(cè)步驟如下:
(1) 用戶Ui選擇一個(gè)128比特長(zhǎng)的身份標(biāo)識(shí)IDi和一個(gè)64比特長(zhǎng)的高熵密碼PWi,通過(guò)指紋提取傳感器取得用戶生物特征信息BIOi,并依據(jù)密鑰生成算法計(jì)算生物密鑰σi。然后,選擇一個(gè)隨機(jī)數(shù)a并計(jì)算RPWi=h(PWi‖σi‖a),將消息〈IDi,RPWi〉發(fā)送給RC。
(2) RC接收到用戶注冊(cè)請(qǐng)求后,生成一個(gè)1 024比特長(zhǎng)的密鑰keyUi-GWN和對(duì)應(yīng)于IDi的臨時(shí)身份標(biāo)識(shí)TIDi,計(jì)算Bi=h(IDi‖keyUi-GWN)⊕RPWi;然后,RC通過(guò)安全信道將消息〈TIDi,Bi〉返回給用戶。
網(wǎng)關(guān)節(jié)點(diǎn)(IGWN)以離線的方式執(zhí)行以下步驟完成注冊(cè):
(1) 網(wǎng)關(guān)節(jié)點(diǎn)IGWN發(fā)送注冊(cè)請(qǐng)求給RC。
(2) RC接收到網(wǎng)關(guān)節(jié)點(diǎn)IGWN的注冊(cè)請(qǐng)求后,為網(wǎng)關(guān)節(jié)點(diǎn)生成一個(gè)128比特長(zhǎng)的身份標(biāo)識(shí)IGWN;然后將用戶信息{TIDi,IDi,keyUi-GWN|i=1,2,…,n}和傳感器信息{ISDj,keyISDj-GWN|j=1,2,…,n}安全地保存到網(wǎng)關(guān)節(jié)點(diǎn)中。
在登錄過(guò)程中,用戶Ui發(fā)送請(qǐng)求訪問(wèn)傳感器設(shè)備,為了減少資源開(kāi)銷(xiāo),在發(fā)送請(qǐng)求前需要先進(jìn)行本地化身份驗(yàn)證,具體的步驟如下:
(3)用戶Ui通過(guò)公共信道發(fā)送消息請(qǐng)求TIDi、M1、M2、M3和TS1給網(wǎng)關(guān)節(jié)點(diǎn)IGWN。
當(dāng)用戶Ui完成本地化身份驗(yàn)證并發(fā)送認(rèn)證請(qǐng)求給目標(biāo)傳感器設(shè)備,認(rèn)證與密鑰交換的過(guò)程如圖2所示。該步驟是為了通過(guò)網(wǎng)關(guān)節(jié)點(diǎn)IGWN與目標(biāo)訪問(wèn)傳感器設(shè)備進(jìn)行雙向認(rèn)證并建立安全會(huì)話密鑰。該步驟包含用戶與網(wǎng)關(guān)節(jié)點(diǎn)、網(wǎng)關(guān)節(jié)點(diǎn)與目標(biāo)傳感器設(shè)備、傳感器設(shè)備與用戶之間的雙向認(rèn)證。因?yàn)楸痉桨覆捎脮r(shí)鐘同步機(jī)制,采用隨機(jī)數(shù)與時(shí)間戳相結(jié)合的方式防止重放攻擊,具體的認(rèn)證與密鑰交換過(guò)程如下。
圖2 用戶認(rèn)證與密鑰交換過(guò)程
該步驟進(jìn)行本地化的生物密鑰與密碼更新,不需要RC的參與,具體的更新過(guò)程如下:
本協(xié)議采用模糊提取器提取用戶生物特征并結(jié)合物理不可克隆函數(shù)提取傳感器設(shè)備物理特征。在保證協(xié)議安全性的前提下提出了一個(gè)適用于工業(yè)物聯(lián)網(wǎng)環(huán)境更輕量的認(rèn)證與密鑰交換協(xié)議。協(xié)議中,我們僅采用對(duì)稱加/解密操作、哈希操作、異或操作來(lái)實(shí)現(xiàn)三重雙向身份并建立用戶與傳感器設(shè)備的會(huì)話密鑰。由于異或操作所需要的計(jì)算開(kāi)銷(xiāo)遠(yuǎn)小于其他操作,我們只考慮模糊提取操作、哈希操作、對(duì)稱加/解密操作和群G1上的標(biāo)量乘法操作。我們以符號(hào)Tfe、Th、Te和Tm分別表示進(jìn)行模糊提取操作、哈希操作、對(duì)稱加/解密操作和群G1上的標(biāo)量乘法操作所需要計(jì)算開(kāi)銷(xiāo)。各操作所需的計(jì)算開(kāi)銷(xiāo)如表 1所示。
表1 各操作計(jì)算開(kāi)銷(xiāo)
在認(rèn)證與密鑰交換階段,Li等[19]的協(xié)議需要的計(jì)算總開(kāi)銷(xiāo)為1Tfe+19Th+6Tm,Li等[20]的協(xié)議需要的計(jì)算總開(kāi)銷(xiāo)為1Tfe+19Th+3Tm+8Te,Wang等[21]的協(xié)議需要的計(jì)算總開(kāi)銷(xiāo)為26Th+4Tm+4Te,本文協(xié)議需要的計(jì)算總開(kāi)銷(xiāo)為2Tfe+19Th+4Te。同時(shí),Li等[19]、Li等[20]、Wang等[21]以及本文協(xié)議中實(shí)體間通信所需的通信開(kāi)銷(xiāo)分別為2 720比特、2 688比特、3 200比特和3 040比特。本文協(xié)議在保證安全的前提下提高了協(xié)議運(yùn)行的效率。本文協(xié)議和其他協(xié)議在認(rèn)證與密鑰交換階段的計(jì)算開(kāi)銷(xiāo)和通信開(kāi)銷(xiāo)如表2所示。表3為各文獻(xiàn)安全屬性對(duì)比??梢钥闯?,本文協(xié)議的計(jì)算總開(kāi)銷(xiāo)與通信總開(kāi)銷(xiāo)遠(yuǎn)小于文獻(xiàn)[19]、文獻(xiàn)[20]和文獻(xiàn)[21],同時(shí)能夠抵抗多種安全威脅。本文協(xié)議與其他協(xié)議相比,支持更多如用戶匿名、不可追蹤等安全屬性,并提升安全性,降低了計(jì)算開(kāi)銷(xiāo),更適合于資源受限的工業(yè)物聯(lián)網(wǎng)中的傳感器設(shè)備。
表2 各方案性能對(duì)比
表3 安全屬性對(duì)比
本文利用物理不可克隆函數(shù)與模糊提取器,提出了一種用于工業(yè)物聯(lián)網(wǎng)的身份認(rèn)證與密鑰交換協(xié)議,該協(xié)議使用模糊提取器實(shí)現(xiàn)了用戶生物特征與傳感器設(shè)備物理特征模式匹配,有效保證了用戶設(shè)備與傳感器設(shè)備的安全。實(shí)驗(yàn)結(jié)果表明本文協(xié)議能夠抵抗多種攻擊且滿足眾多安全需求,有效提高了協(xié)議執(zhí)行的效率。與其他現(xiàn)有的方案相比,本文協(xié)議更適用于資源有限的工業(yè)物聯(lián)網(wǎng)環(huán)境。