杜心雨,王化群
(南京郵電大學(xué)計(jì)算機(jī)學(xué)院,南京 210023)
(?通信作者電子郵箱whq@njupt.edu.cn)
隨著移動(dòng)互聯(lián)網(wǎng)業(yè)務(wù)和物聯(lián)網(wǎng)(Internet of Things,IoT)業(yè)務(wù)的發(fā)展,LTE(Long Term Evolution)網(wǎng)絡(luò)逐漸難以適應(yīng)新業(yè)務(wù)的需求或者網(wǎng)絡(luò)運(yùn)營(yíng)的新需求。近幾年來(lái),LTE 的標(biāo)準(zhǔn)化組織3GPP(3rd Generation Partnership Project)一直致力于LTE 網(wǎng)絡(luò)的演進(jìn)和增強(qiáng),即LTE-A(Long Term Evolution-Advanced)網(wǎng)絡(luò)。相較于LTE 網(wǎng)絡(luò),LTE-A 網(wǎng)絡(luò)在網(wǎng)絡(luò)容量、數(shù)據(jù)傳輸效率、信令開(kāi)銷以及網(wǎng)絡(luò)的運(yùn)營(yíng)能力上都有了顯著的優(yōu)化[1]。
機(jī)器類通信(Machine Type Communication,MTC),也稱為機(jī)器對(duì)機(jī)器(Machine to Machine,M2M)通信,被視為未來(lái)無(wú)線通信的下一個(gè)復(fù)雜技術(shù),已經(jīng)引起了3GPP等標(biāo)準(zhǔn)化組織的廣泛關(guān)注。與當(dāng)前無(wú)線網(wǎng)絡(luò)中設(shè)計(jì)的傳統(tǒng)人與人(Human to Human,H2H)通信不同,MTC 是實(shí)體之間的一種特殊類型的數(shù)據(jù)通信,它可以交換和共享數(shù)據(jù),而無(wú)需任何形式的人為干預(yù)。由于MTC 不需要人工干預(yù)、低功耗和低成本的特點(diǎn),因此它將成為下一代實(shí)時(shí)網(wǎng)絡(luò)應(yīng)用的市場(chǎng)變革力量(例如公共安全、智能交通系統(tǒng)、環(huán)境監(jiān)控、智能電網(wǎng)和醫(yī)療保健服務(wù))。由于高吞吐量和低傳輸延遲,MTC被認(rèn)為是LTE-A網(wǎng)絡(luò)中的一種重要的移動(dòng)通信技術(shù)[2]。
相對(duì)于普通用戶設(shè)備(User Equipment,UE)而言,MTC設(shè)備(Machine Type Communication Device,MTCD)的通信帶來(lái)了一些新的挑戰(zhàn),包括更低的功耗和大規(guī)模的設(shè)備傳輸。根據(jù)Fadlullah 等[3]的研究可知,MTCD 的數(shù)量將是普通UE 數(shù)量的1 000 倍;根據(jù)ABI 研究機(jī)構(gòu)在萬(wàn)物互聯(lián)(Internet of Everything,IoE)中的數(shù)據(jù)可知,到2020 年,無(wú)線連接設(shè)備數(shù)量超過(guò)300億[4]。雖然LTE-A網(wǎng)絡(luò)在性能上有了顯著的優(yōu)化,但是由于LTE-A網(wǎng)絡(luò)的設(shè)計(jì)原則和網(wǎng)絡(luò)中基本的工作機(jī)制決定了LTE-A 網(wǎng)絡(luò)并不能完全地解決信令擁塞問(wèn)題[1]。3GPP為MTC 設(shè)備標(biāo)準(zhǔn)化了協(xié)議——演進(jìn)的分組系統(tǒng)認(rèn)證和密鑰協(xié) 商(Evolved Packet System Authentication and Key Agreement,EPS-AKA)實(shí)現(xiàn)認(rèn)證和密鑰協(xié)商(Authentication and Key Agreement,AKA)[5-6]。但是,由于MTCD 數(shù)量的日益增長(zhǎng)[3-4],EPS-AKA 協(xié)議面臨著信令擁塞的挑戰(zhàn)。當(dāng)大量設(shè)備在短時(shí)間內(nèi)請(qǐng)求訪問(wèn)網(wǎng)絡(luò)時(shí),用戶將遭受較高的網(wǎng)絡(luò)訪問(wèn)延遲和身份認(rèn)證信令擁塞。因此,LTE-A 網(wǎng)絡(luò)仍然需要一種更安全高效的身份認(rèn)證和密鑰協(xié)商方案,用于避免大量設(shè)備連接的擁塞。
近些年來(lái),很多學(xué)者致力于研究家庭網(wǎng)絡(luò)(Home Network,HN)中的MTCD 和服務(wù)網(wǎng)絡(luò)(Service Network,SN)中的高效的身份認(rèn)證與密鑰協(xié)商方案。文獻(xiàn)[7]中提出了一種新的避免擁塞的MTCD 分組算法,可以極大減少網(wǎng)絡(luò)流量負(fù)載;然而,該方案研究的是數(shù)據(jù)的傳輸,并沒(méi)有涉及到身份認(rèn)證過(guò)程。文獻(xiàn)[8]中采用雙線性配對(duì)技術(shù)和聚合簽名方案對(duì)LTE 網(wǎng)絡(luò)中的MTC 組進(jìn)行身份認(rèn)證,該認(rèn)證方案使MTC 服務(wù)器可以同時(shí)信任一組MTCD,并與每個(gè)MTCD 生成會(huì)話密鑰;然而,該方案的計(jì)算成本比較大,這不適用于移動(dòng)設(shè)備。文獻(xiàn)[9]中提出了一種新穎的分組方式為大量的MTCD 分組,以降低認(rèn)證的復(fù)雜性;但是該方案的分組方法具有局限性,并不適用于通用的LTE-A網(wǎng)絡(luò)。文獻(xiàn)[10]中基于線性多項(xiàng)式和文獻(xiàn)[11]中基于對(duì)稱二元多項(xiàng)式分別提出了兩個(gè)基于組的認(rèn)證方案,可以有效地實(shí)現(xiàn)組認(rèn)證;但是,該類方案在認(rèn)證過(guò)程中無(wú)法實(shí)現(xiàn)密鑰協(xié)商,而且容易受到重放攻擊和中間人攻擊。文獻(xiàn)[12]在文獻(xiàn)[10]研究的基礎(chǔ)上提出了一種基于線性多項(xiàng)式的組認(rèn)證和密鑰協(xié)商方案,可以減少信令的擁塞,但是該方案通過(guò)在認(rèn)證消息中加入了時(shí)間戳,以減少重放攻擊的可能,還是不能完全避免重放攻擊。
針對(duì)網(wǎng)絡(luò)中大規(guī)模機(jī)器通信設(shè)備的身份認(rèn)證過(guò)程中信令擁塞和密鑰協(xié)商安全問(wèn)題,在文獻(xiàn)[11]方案的基礎(chǔ)上,本文提出了一種基于動(dòng)態(tài)組的有效身份認(rèn)證和的密鑰協(xié)商方案。本文方案的主要特點(diǎn)如下:
1)本文所提出的方案實(shí)現(xiàn)了MTCD 組和SN 的相互認(rèn)證與密鑰協(xié)商,極大地減少了由于網(wǎng)絡(luò)中并發(fā)大規(guī)模訪問(wèn)請(qǐng)求而引起的信令擁塞,并且本文方案支持多次身份認(rèn)證。
2)在本文方案中,MTCD 可以自主完成身份認(rèn)證和密鑰建立,而無(wú)需任何其他受信任的密鑰生成中心(Key Generator Center,KGC),并且在身份認(rèn)證過(guò)程中保證了LTE-A 網(wǎng)絡(luò)中MTCD的隱私。
3)本文所提出的方案中,當(dāng)組內(nèi)MTCD 動(dòng)態(tài)加入或者離開(kāi)時(shí),通過(guò)合理的計(jì)算和LTE-A 網(wǎng)絡(luò)中少量的傳輸成本更新訪問(wèn)策略。
4)本文方案可確保抵抗多種現(xiàn)有的安全攻擊,例如:重定向攻擊(Redirection Attack)、拒絕服務(wù)(Denial of Service,DoS)攻擊等。本文對(duì)現(xiàn)有的攻擊進(jìn)行了分析,驗(yàn)證了本文方案在幾種惡意攻擊下的安全性。
Shamir[13]基于線性多項(xiàng)式提出了(t,n)門限秘密分享方案,在有限域上的t-1次多項(xiàng)式f(x)構(gòu)造秘密分享的(t,n)門限秘密分享方案,可以描述如下。
1)選擇隨機(jī)素?cái)?shù)q>max(s,n),其中s是秘密值,s在有限域GF(q)中,n是系統(tǒng)內(nèi)參與者個(gè)數(shù),Ui(i=1,2,…,n)是組內(nèi)成員,公開(kāi)隨機(jī)數(shù)q。
2)在有限域GF(q)上隨機(jī)選取t-1 次多項(xiàng)式f(x),其系數(shù)為a1,a2,…,at-1,這些系數(shù)在生成秘密份額前是秘密值,生成秘密份額后可以銷毀。
3)使用ai和秘密s生成如下所示t-1次多項(xiàng)式:
多項(xiàng)式滿足s=f(0)。
4)通過(guò)計(jì)算多項(xiàng)式f(x)對(duì)n個(gè)不同點(diǎn)的xi取值可以得到成員Ui的秘密份額yi=f(xi)modq(i=1,2,…,n)。每個(gè)點(diǎn)(xi,yi)對(duì)應(yīng)二維平面上的曲線y=f(x)的一個(gè)點(diǎn),每個(gè)yi對(duì)應(yīng)著xi的秘密份額si。由于t個(gè)點(diǎn)可以唯一確定t-1次多項(xiàng)式,所以秘密s可以從t個(gè)秘密份額重構(gòu)。給定t個(gè)秘密份額s1,s2,…,st,由Lagrange內(nèi)插公式重構(gòu)的多項(xiàng)式為:
許多可驗(yàn)證的秘密分享方案[11,14-15]使用了二元多項(xiàng)式。t-1次二元多項(xiàng)式可以表示為:
當(dāng)系數(shù)滿足ai,j=aj,i,?i,j∈[0,t-1],則二元 多項(xiàng)式f(x,y)是對(duì)稱的多項(xiàng)式。
通過(guò)計(jì)算多項(xiàng)式f(x,y)對(duì)n個(gè)不同點(diǎn)的xi取值可以得到成員Ui的秘密份額f(xi,y)modq(i=1,2,…,n)。對(duì)于成員Ui,每個(gè)份額f(xi,y)是度為t-1的線性多項(xiàng)式。對(duì)于對(duì)稱多項(xiàng)式,由于系數(shù)滿足ai,j=aj,i,?i,j∈[0,t-1],所以f(xi,xj)=f(xj,xi)。因此,使用對(duì)稱二元多項(xiàng)式可以為成員Ui和成員Uj建立成對(duì)的共享密鑰。
(t,m,n)組認(rèn)證方案(Group Authentication Scheme,GAS)中:t是秘密分享方案的閾值,m是參與身份認(rèn)證過(guò)程的成員數(shù)量,n是組內(nèi)成員數(shù)量,三者滿足關(guān)系t≤m≤n。該方案是由Harn[10]提出,可以有效地實(shí)現(xiàn)異步組認(rèn)證,并且可以抵御t-1個(gè)成員合謀,文獻(xiàn)[10]中方案描述如下:
1)組管理員(Group Manager,GM)選擇一組t-1 的線性多項(xiàng)式,利用這些多項(xiàng)式計(jì)算并公開(kāi)驗(yàn)證參數(shù)h(s),并通過(guò)對(duì)多項(xiàng)式的計(jì)算,為組內(nèi)成員Ui計(jì)算隱私的令牌tokeni(i=1,2,…,n)。
2)當(dāng)組內(nèi)有m個(gè)成員需要進(jìn)行身份認(rèn)證時(shí),每個(gè)成員都根據(jù)自己的令牌tokenj計(jì)算得到拉格朗日分量Lcj(j=1,2,…,m)。
3)通過(guò)將拉格朗日分量Lcj的聚合計(jì)算的結(jié)果與驗(yàn)證參數(shù)h(s)進(jìn)行對(duì)比,對(duì)m個(gè)成員身份認(rèn)證。
但是,該方案在認(rèn)證過(guò)程中無(wú)法實(shí)現(xiàn)密鑰協(xié)商,容易受到重放攻擊和中間人攻擊。本文將該方案融合了對(duì)稱二元多項(xiàng)式,提出了組認(rèn)證和密鑰協(xié)商方案,以實(shí)現(xiàn)LTE-A 網(wǎng)絡(luò)中MTCD的安全認(rèn)證和密鑰協(xié)商。
根據(jù)3GPP 提出的場(chǎng)景,圖1 展示了當(dāng)前機(jī)器類通信的網(wǎng)絡(luò)架構(gòu)。該體系結(jié)構(gòu)由三部分組成:MTC設(shè)備域、LTE-A網(wǎng)絡(luò)域和MTC應(yīng)用程序域。
圖1 機(jī)器類通信網(wǎng)絡(luò)架構(gòu)Fig.1 Architecture of MTC network
1)MTC設(shè)備域中包括各種各樣的MTCD,MTCD基于現(xiàn)有的分組方法和某些原理(例如具有相同的特征或行為,存在于相同區(qū)域中并且屬于相同用戶)組成一組。
2)LTE-A網(wǎng)絡(luò)域中,MTCD通過(guò)基站與LTE-A網(wǎng)絡(luò)進(jìn)行通信。MTCD 接入LTE-A 網(wǎng)絡(luò)后,包含所有網(wǎng)絡(luò)運(yùn)營(yíng)商的用戶信息的歸屬用戶服務(wù)器(Home Subscriber Server,HSS)通過(guò)移動(dòng)管理實(shí)體(Mobile Management Entity,MME)對(duì)MTCD 組進(jìn)行身份認(rèn)證。
3)MTC 應(yīng)用域 中 MTC 服務(wù)器(Machine Type Communication Service,MTCS)通過(guò)LTE-A 網(wǎng)絡(luò)與MTCD 通信,MTC 用戶通過(guò)可訪問(wèn)的接口與MTCS 通信。當(dāng)MTCD 連接到LTE-A 網(wǎng)絡(luò)時(shí),授權(quán)的MTC 用戶可以使用一個(gè)或多個(gè)MTC服務(wù)器提供的服務(wù)操作大量MTCD。
為了保證網(wǎng)絡(luò)中的安全,MME 與MTCD 建立安全的會(huì)話密鑰之前,必須通過(guò)HSS 對(duì)MTCD 進(jìn)行身份認(rèn)證。為了避免攻擊,在每次組身份認(rèn)證和組內(nèi)成員有變化時(shí),本文方案可以更新所有MTCD 的訪問(wèn)權(quán)限。本文提出的基于動(dòng)態(tài)組的有效身份認(rèn)證和密鑰協(xié)商方案中的實(shí)體描述如下:
1)MTCD:MTC設(shè)備。只有具有訪問(wèn)權(quán)限的MTCD才能接入網(wǎng)絡(luò),為了保證系統(tǒng)安全和通信安全,接入網(wǎng)絡(luò)之后MTCD必須進(jìn)行身份認(rèn)證和密鑰協(xié)商。
2)組長(zhǎng)。根據(jù)組內(nèi)每個(gè)MTCD 的通信能力、存儲(chǔ)狀態(tài)和電池狀態(tài),選出性能最好并且可信的MTCD 作為該組的組長(zhǎng)。組長(zhǎng)將大量請(qǐng)求聚合到一個(gè)請(qǐng)求中,以減少核心網(wǎng)絡(luò)上的信令開(kāi)銷。
3)MME:移動(dòng)管理實(shí)體。MME 負(fù)責(zé)控制與MTCD 有關(guān)的信令,管理身份認(rèn)證,并在設(shè)備切換信令中扮演重要角色。
4)HSS:歸屬用戶服務(wù)器。HSS 是一個(gè)主數(shù)據(jù)庫(kù),用于存儲(chǔ)設(shè)備信息,該信息用于設(shè)備觸發(fā)、授權(quán)和認(rèn)證。
5)GM:組管理員。組管理員在注冊(cè)過(guò)程中為組內(nèi)成員分配用于成員身份認(rèn)證和組密鑰建立的令牌,在更新訪問(wèn)策略時(shí)為網(wǎng)絡(luò)生成更新參數(shù)。
本章將詳細(xì)描述LTE-A網(wǎng)絡(luò)中基于動(dòng)態(tài)組的有效身份認(rèn)證和密鑰協(xié)商方案,以及動(dòng)態(tài)訪問(wèn)策略更新。本文方案包括三個(gè)階段:1)準(zhǔn)備和注冊(cè)階段;2)基于組的身份認(rèn)證和密鑰協(xié)商階段;3)更新階段。
這個(gè)階段中,要先對(duì)MTCD 進(jìn)行初始化操作,設(shè)置安全參數(shù),并為每個(gè)組內(nèi)MTCD分配基于身份的認(rèn)證令牌(token)。
3.1.1 初始化MTCD
將網(wǎng)絡(luò)中的MTCD 基于現(xiàn)有的分組方法和某些原理分成幾個(gè)MTC 組,每個(gè)組共享一個(gè)秘密身份認(rèn)證參數(shù)s。設(shè)集合{MTCD1,MTCD2,…,MTCDn}表示組Grp1中MTCD 成員,每個(gè)MTCD被分配唯一的組身份標(biāo)識(shí)符IDMTCDi(i=1,2,…,n)。選擇一個(gè)性能好的且可信的設(shè)備作為每個(gè)組的組長(zhǎng)Grp1?leader,并為其分配了唯一的組身份標(biāo)識(shí)符IDleader1。
3.1.2 初始化安全參數(shù)
GM 為組內(nèi)的MTCD 分配組認(rèn)證令牌,用于成員身份認(rèn)證和組密鑰建立。只有首次向網(wǎng)絡(luò)注冊(cè)時(shí),GM才需要執(zhí)行以下操作:
步驟1 GM 首先選擇并公開(kāi)兩個(gè)安全大素?cái)?shù)p和q,其中p是q-1 的大素?cái)?shù)因子。GM 選擇并公開(kāi)一個(gè)哈希函數(shù)h,用于認(rèn)證實(shí)體在認(rèn)證過(guò)程中生成消息認(rèn)證碼(Message Authentication Code,MAC)。
步驟2 GM選擇一個(gè)t-1次對(duì)稱多項(xiàng)式f(x,y):
令f(0,0)=s,q>max(s,n),t≤n,參 數(shù)ai,j∈GF(p),并且系數(shù)滿足ai,j=aj,i,?i,j∈[ 0,t-1 ]。
步驟3 GM 為參與認(rèn)證的實(shí)體計(jì)算認(rèn)證令牌。GM 用對(duì)稱多項(xiàng)式f(x,y)對(duì)身份標(biāo)識(shí)符進(jìn)行計(jì)算,得到MTCDi的認(rèn)證令牌modp。MME 和HSS 的認(rèn)證令牌也是用這種方法計(jì)算,tokenMME(y)=f(IDMME,y)modp,tokenHSS(y)=f(IDHSS,y)modp。GM將令牌以安全的方式發(fā)送給相應(yīng)的實(shí)體。
3.1.3 計(jì)算認(rèn)證參數(shù)
本文方案支持多次組認(rèn)證,在每次組認(rèn)證之前,GM 為該次組認(rèn)證生成一個(gè)新的認(rèn)證參數(shù)給HSS。
步驟4 GM 在GF(p)中選擇一個(gè)生成元gθ,認(rèn)證參數(shù)GM 選擇一個(gè)哈希函數(shù)H,公開(kāi)參數(shù){gθ,H(sθ)},θ=1,2,…,k,其中k是方案中可支持的安全組通信的數(shù)量。
在此階段,假設(shè)組長(zhǎng)、MME 和HSS 是誠(chéng)實(shí)可信的,HSS 通過(guò)MME 對(duì)請(qǐng)求訪問(wèn)LTE-A 網(wǎng)絡(luò)的MTCD 進(jìn)行身份認(rèn)證,并建立MTCD 和MME 之間的會(huì)話密鑰。該過(guò)程在圖2 中給出,詳細(xì)描述如下:
圖2 本文方案中基于組的身份認(rèn)證和密鑰協(xié)商過(guò)程Fig.2 Group based identity authentication and key agreement process in proposed scheme
步驟1 設(shè)在Grp1組內(nèi)有m個(gè)參與認(rèn)證的MTCD 成員,集合為{MTCD1,MTCD2,…,MTCDm},t≤m≤n。m個(gè)MTCD 成員通過(guò)組長(zhǎng)Grp1?leader發(fā)送訪 問(wèn)請(qǐng)求,Grp1?leader將請(qǐng)求轉(zhuǎn)發(fā)給MME。
步驟2 MME向組長(zhǎng)Grp1?leader發(fā)送身份認(rèn)證請(qǐng)求。
步驟3 組長(zhǎng)Grp1?leader計(jì)算組認(rèn)證消息AUTHGrp1,并發(fā)送給MME,具體過(guò)程如下:
1)MTCDi(i=1,2,…,m)用認(rèn)證令牌(y)計(jì)算認(rèn)證分量,并發(fā)送給組長(zhǎng)Grp1?leader:
2)組長(zhǎng)Grp1?leader對(duì)認(rèn)證分量dMTCDi(i=1,2,…,m)進(jìn)行計(jì)算,生成組認(rèn)證參數(shù)
步驟4 MME 將組認(rèn)證消息AUTHGrp1發(fā)送給HSS,并且為了檢查基站的真?zhèn)涡?,MME 將基站的位置信息(POSition informations,POS)一起發(fā)送給HSS。
步驟5 HSS 收到認(rèn)證信息,先進(jìn)行驗(yàn)證,再計(jì)算HSS 的認(rèn)證消息:
1)首先通過(guò)檢驗(yàn)MACGrp1驗(yàn)證接收到的消息的完整性,接著檢驗(yàn)組認(rèn)證消息。若H≠H(sθ),則組內(nèi)存在不合法的MTCD,或者AUTHGrp1是已經(jīng)認(rèn)證過(guò)的消息,則HSS 拒絕此次組身份認(rèn)證請(qǐng)求;反之,通過(guò)驗(yàn)證說(shuō)明AUTHGrp1是有效的,并且組內(nèi)所有MTCD都是合法的,HSS接受此次組身份認(rèn)證。
2)HSS用令牌tokenHSS(y)計(jì)算:
AUTHHSS=(dHSS‖MACHSS) 為HSS 的認(rèn)證消息,其 中MACHSS=h(dHSS)。把認(rèn)證消息AUTHHSS作為認(rèn)證響應(yīng)發(fā)送給MME。
步驟6 組內(nèi)成員身份都通過(guò)HSS 的認(rèn)證之后,MME 將認(rèn)證消息AUTHMME=(IDMME‖AUTHHSS)發(fā)送給組長(zhǎng)Grp1?leader。
步驟7 收到AUTHMME=(IDMME‖dHSS‖MACHSS),組長(zhǎng)使用dHSS通過(guò)如下計(jì)算式得到
通過(guò)驗(yàn)證后,組長(zhǎng)Grp1?leader將為組內(nèi)成員建立通信時(shí)的密鑰生成消息(Key Generation Message,KGM):
步驟8 當(dāng)MME 需要和Grp1組內(nèi)某個(gè)MTCDi建立回話時(shí),需要檢查AUTHleader1?MME,MME 計(jì)算與MTCDi的對(duì)話密鑰為需要檢查MME 的認(rèn)證消息,MTCDi計(jì)算與MME 的對(duì)話 密鑰為
在此階段,當(dāng)MTCD 加入或離開(kāi)LTE-A 網(wǎng)絡(luò)時(shí),訪問(wèn)策略將動(dòng)態(tài)更新。在本文方案中可以通過(guò)簡(jiǎn)單的方式實(shí)現(xiàn)此目標(biāo),并且不需要再次初始化每個(gè)MTCD 成員。具體細(xì)節(jié)描述如下:
步驟1 當(dāng)有MTCD 離開(kāi)組Grp1,GM 首先選擇一個(gè)更新參數(shù)Δa,并將(Δa‖MACGM)發(fā)送給MME,MACGM=h(Δa)。此時(shí),多項(xiàng)式f(x,y)更新為:
步驟2 MME先對(duì)(Δa‖MACGM)驗(yàn)證,通過(guò)驗(yàn)證的Δa,使用通信密鑰加密,將發(fā)送給組內(nèi)相應(yīng)MTCD成員。
若新成員加入了組Grp1,則訪問(wèn)策略更新過(guò)程遵循相同的步驟,并為新成員MTCDnew分配新的更新令牌
4.1.1 組內(nèi)成員身份認(rèn)證
在3.2節(jié)的步驟3中MTCDi用認(rèn)證令牌計(jì)算得到認(rèn)證分量:
4.1.2 HSS身份認(rèn)證
在3.2 節(jié)的步驟5~步驟7 中,HSS 用令牌tokenHSS(y)計(jì)算得到ωHSS=tokenHSS(0)·為了方便理解,本文在對(duì)HSS 進(jìn)行身份認(rèn)證計(jì)算時(shí),將HSS 作為第m+1個(gè)參與認(rèn)證的MTCD成員:
根據(jù)文獻(xiàn)[16-21]中定義的安全要求,在本節(jié)中將對(duì)方案進(jìn)行安全目標(biāo)分析,以驗(yàn)證所提出的方案能夠滿足所要求的安全。
4.2.1 相互認(rèn)證
在本文方案中,MTCD 通過(guò)批量的組認(rèn)證形式與HSS 相互認(rèn)證。為了認(rèn)證組內(nèi)MTCD 的身份,MTCDi需要根據(jù)隱私的令牌計(jì)算得到認(rèn)證分量,再由組長(zhǎng)計(jì)算出組認(rèn)證參數(shù)HSS通過(guò)驗(yàn)證H≠H(sθ)是否成立認(rèn)證組內(nèi)MTCD 的身份。另一方面,HSS的認(rèn)證信息AUTHHSS中包含由HSS 的令牌tokenHSS(y)計(jì)算得到的dHSS,組長(zhǎng)通過(guò)對(duì)dHSS的計(jì)算對(duì)HSS進(jìn)行身份認(rèn)證。
4.2.2 密鑰協(xié)商
每個(gè)MTCD 都將與MME 協(xié)商不同的會(huì)話密鑰。每個(gè)會(huì)話密鑰由MTCD 和MME 分別利用雙方隱私的令牌計(jì)算得到,而無(wú)需通過(guò)通信通道進(jìn)行傳輸,這可以防止這些密鑰被攔截或泄露。
4.2.3 信令擁塞的優(yōu)化
在本文方案中,為了優(yōu)化信令擁塞,通過(guò)現(xiàn)有的分組方法和某些原理將大量的MTCD 分成幾個(gè)組,并選擇一個(gè)性能好且可信的MTCD 作為領(lǐng)導(dǎo)者,即組長(zhǎng)。組內(nèi)的MTCD 需要根據(jù)秘密的令牌生成認(rèn)證分量,聚合認(rèn)證分量得到組認(rèn)證消息,組長(zhǎng)Grp1?leader只需要向MME 發(fā)送一個(gè)組認(rèn)證消息。另一方面,MME 將組認(rèn)證消息AUTHGrp1發(fā)給HSS,HSS 能夠通過(guò)AUTHGrp1同時(shí)對(duì)一組MTCD 進(jìn)行統(tǒng)一身份認(rèn)證,并通過(guò)向組長(zhǎng)Grp1?leader發(fā)送單個(gè)信令與每個(gè)MTCD 建立不同的會(huì)話密鑰。因此本文方案通過(guò)將大量請(qǐng)求聚合到組認(rèn)證消息中,以減少通信開(kāi)銷并減輕MTCD、MME和HSS之間通信的負(fù)擔(dān)。
4.2.4 訪問(wèn)策略更新
在本文方案中,當(dāng)MTCD 加入或離開(kāi)該組時(shí),不需要再次初始化組內(nèi)每個(gè)MTCD。本文方案通過(guò)更新多項(xiàng)式,以更改身份認(rèn)證令牌和此時(shí)對(duì)應(yīng)的組身份認(rèn)證參數(shù),從而更新訪問(wèn)策略。
在本文方案中,HSS、MME和組長(zhǎng)是可信任的。本文針對(duì)攻擊者可能假冒MTCD 和基站發(fā)起的重放攻擊(Replay Attack)、重定向攻擊、中間人攻擊(Man-in-the-Middle Attack)、模擬攻擊(Impersonate Attack)和DoS 攻擊[22]進(jìn)行了安全分析。
本文方案可以抵抗以下攻擊:
1)重放攻擊。在本文方案中,下次組認(rèn)證之前,GM 會(huì)在GF(p)中選擇并公開(kāi)一個(gè)新的生成元gθ′,gθ′≠gθ(θ′,θ=1,2,…,k),計(jì)算得到新的認(rèn)證參數(shù)。按照3.2 節(jié)中的計(jì)算步驟,參與身份認(rèn)證的實(shí)體在使用隱私令牌計(jì)算認(rèn)證分量時(shí),都會(huì)用modq進(jìn)行計(jì)算。這樣,攻擊者無(wú)法在新的身份認(rèn)證過(guò)程中再次使用上一次的認(rèn)證消息。不僅如此,每個(gè)認(rèn)證消息都可以通過(guò)認(rèn)證碼驗(yàn)證是否被偽造。
2)中間人攻擊。在本文方案中,每個(gè)MTCD 和MME 在本地通過(guò)密鑰協(xié)商方案計(jì)算相應(yīng)的會(huì)話密鑰。由于本文密鑰協(xié)商方案是安全的,即使攻擊者能夠通過(guò)通信信道攔截和竊取所有身份認(rèn)證消息,它們?nèi)匀粺o(wú)法計(jì)算MTCD 和MME 的會(huì)話密鑰,具體分析見(jiàn)4.2.2 節(jié)。所以,本文方案可以抵抗中間人攻擊。不僅如此,在本文方案中,每次認(rèn)證時(shí),GM會(huì)重新生成認(rèn)證參數(shù),這可以防止認(rèn)證消息被重用。
3)重定向攻擊。攻擊者可以通過(guò)偽裝成基站向MTCD 發(fā)起重定向攻擊,并假冒合法的MTCD 向MME 發(fā)起重定向攻擊,這種攻擊也稱為偽基站攻擊。在本文方案中將基站信息附加到認(rèn)證信息中給HSS 驗(yàn)證抵抗重定向攻擊,這種方法已被廣泛采用[12,23-25]。如果基站信息未能通過(guò)HSS的認(rèn)證,則身份認(rèn)證請(qǐng)求被拒絕。因此,攻擊者無(wú)法偽裝成合法的MTCD。
4)模擬攻擊。假設(shè)在同一個(gè)組中的兩個(gè)MTCD 分別為MTCDi和MTCDj,惡意的MTCDi想要冒 充MTCDj與MME 通信。雖然同一個(gè)組中的成員共享同一個(gè)身份認(rèn)證參數(shù)sθ和同一個(gè)MME 身份標(biāo)識(shí)IDMME。但是,由于不知道,因此無(wú)法構(gòu)造與MME的會(huì)話密鑰skMME?MTCDi=tokenMTCDi(IDMME)。
5)DoS 攻擊。假設(shè)惡意的攻擊者在運(yùn)營(yíng)商的基礎(chǔ)架構(gòu)上造成嚴(yán)重的過(guò)載,從而聚集合法用戶訪問(wèn)網(wǎng)絡(luò)。本文方案中,組長(zhǎng)將大量請(qǐng)求聚合到一個(gè)組認(rèn)證消息中,避免了核心網(wǎng)絡(luò)中大量訪問(wèn)請(qǐng)求,可以有效抵御非法MTCD 的訪問(wèn)申請(qǐng),避免了核心網(wǎng)絡(luò)的信令擁塞,可以有效地抵御DoS攻擊。
本文方案的應(yīng)用場(chǎng)景和參與認(rèn)證的實(shí)體與文獻(xiàn)[12]方案相似,并且都是采用(t,m,n)組認(rèn)證方案。在本章中將本文所提的基于對(duì)稱二元多項(xiàng)式的方案和文獻(xiàn)[12]中的基于線性多項(xiàng)式的方案進(jìn)行了性能對(duì)比分析。
為了分析帶寬消耗,假設(shè)當(dāng)前有x個(gè)MTCD 分配給y個(gè)組。為了更直觀地對(duì)比兩個(gè)方案的帶寬消耗,對(duì)兩個(gè)方案中相同參數(shù)的長(zhǎng)度進(jìn)行了統(tǒng)一,表1給出了帶寬相關(guān)參數(shù)。
表1 帶寬相關(guān)參數(shù)Tab.1 Bandwidth related parameters
5.1.1 文獻(xiàn)[12]方案的帶寬分析
文獻(xiàn)[12]方案中組長(zhǎng)和MME 之間(HN 和SN 之間)的每個(gè)認(rèn)證消息(Authentication Message,AM)的大小計(jì)算如下:
1)身份響應(yīng):|AM1|=|ID|+2?|MAC|+|TS|=273 bit。
2)認(rèn)證數(shù)據(jù)請(qǐng)求:|AM2|=|AM1|+|POS|=313 bit。
3)認(rèn)證數(shù)據(jù)響應(yīng):|AM3|=|LC|+|TS|+|MAC|=209 bit。
4)訪問(wèn)響應(yīng):|AM4|=|AM3|+|EK|=401bit。
5)MME 的通信密鑰的認(rèn)證消息:|AM5|=x?|EK|+|ID|+|MAC|=192x+192 bit。
文獻(xiàn)[12]方案中組長(zhǎng)和每個(gè)成員之間(HN 內(nèi))的身份認(rèn)證消息的大小計(jì)算為:
1)成員向組長(zhǎng)發(fā)送認(rèn)證請(qǐng)求:|AM6|=|LC|+|EK|=320 bit。
2)組長(zhǎng)向成員發(fā)送認(rèn)證響應(yīng):|AM7|=|EK|+|ID|+|MAC|=384 bit。
在組長(zhǎng)和MME 之間y次組認(rèn)證中,對(duì)x個(gè)MTCD 進(jìn)行身份認(rèn)證的帶寬為:
組長(zhǎng)和每個(gè)成員之間的認(rèn)證帶寬為:
5.1.2 本文方案的帶寬分析
本文方案中組長(zhǎng)和MME 之間(HN 和SN 之間)的每個(gè)認(rèn)證消息的大小計(jì)算如下:
1)身份響應(yīng):|AM1|=|ID|+2?|MAC|=256 bit。
2)認(rèn)證數(shù)據(jù)請(qǐng)求:|AM2|=|AM1|+|POS|=296 bit。
3)認(rèn)證數(shù)據(jù)響應(yīng):|AM3|=|d|+|MAC|=192 bit。
4)訪問(wèn)響應(yīng):|AM4|=|AM3|+|ID|=320 bit。
5)MME 的通信密鑰的認(rèn)證消息:|AM5|=(x+1)?|ID|+|MAC|=128x+192 bit。
本文方案中組長(zhǎng)和成員之間(HN 內(nèi))的身份認(rèn)證消息的大小計(jì)算為:
1)成員向組長(zhǎng)發(fā)送認(rèn)證請(qǐng)求:|AM6|=|d|+|ID|=256 bit。
2)組長(zhǎng)向成員發(fā)送認(rèn)證響應(yīng):|AM7|=2?|ID|+|MAC|=320 bit。
在組長(zhǎng)和MME 之間y次組認(rèn)證中,對(duì)x個(gè)MTCD 進(jìn)行身份認(rèn)證的帶寬為:
組長(zhǎng)和每個(gè)成員之間的認(rèn)證帶寬為:
通過(guò)帶寬分析,在每次組認(rèn)證過(guò)程中,相較于文獻(xiàn)[12]方案,本文方案在HN 和SN 之間的帶寬消耗降低了132 bit,在HN內(nèi)的帶寬消耗降低了18.2%。
在本節(jié)中,為了更直觀地展示計(jì)算的時(shí)間開(kāi)銷,假設(shè)每次只認(rèn)證一個(gè)組,組內(nèi)有x個(gè)MTCD。用于估算計(jì)算成本的主要耗時(shí)的操作及其說(shuō)明如下:TL為計(jì)算拉格朗日分量的時(shí)間;Td為計(jì)算認(rèn)證分量的時(shí)間;Tp?mul為執(zhí)行點(diǎn)乘法運(yùn)算的時(shí)間;Tmul為執(zhí)行模乘運(yùn)算的時(shí)間;TH為執(zhí)行哈希運(yùn)算的時(shí)間;Texp為執(zhí)行模冪運(yùn)算的時(shí)間。
將本文方案中的身份認(rèn)證和密鑰協(xié)商階段與文獻(xiàn)[12]方案的身份認(rèn)證和密鑰協(xié)商階段進(jìn)行對(duì)比,對(duì)涉及到的實(shí)體進(jìn)行了計(jì)算成本的評(píng)估,對(duì)比結(jié)果如表2所示。從表2中可以看出,本文方案中組長(zhǎng)將大量請(qǐng)求聚合到一個(gè)請(qǐng)求中,以減少核心網(wǎng)絡(luò)上的計(jì)算成本,但是由于組長(zhǎng)的計(jì)算性能要比組內(nèi)MTCD 的計(jì)算性能更優(yōu)[12,24],因此在實(shí)際實(shí)驗(yàn)中,本文方案的總的計(jì)算成本并不高。
表2 不同方案計(jì)算成本對(duì)比Tab.2 Comparison of computational cost of different schemes
基于現(xiàn)代計(jì)算技術(shù),實(shí)現(xiàn)了所提出的方案,并給出了方案的計(jì)算性能。在模擬實(shí)驗(yàn)中用到了GMP(GMP-6.1.2)和PBC庫(kù)(pypbc-1.0.0),基于Python 語(yǔ)言實(shí)現(xiàn)了本文方案,實(shí)驗(yàn)環(huán)境配置如下:1)CPU 為Intel Core i7-4870HQ CPU @2.50 GHz;2)內(nèi)存為16 GB DDR3 1 600 MHz;3)操作系統(tǒng)為macOS 10.14.6 Mojave。
圖3 給出了網(wǎng)絡(luò)中身份認(rèn)證和密鑰協(xié)商階段的計(jì)算成本。組內(nèi)參與認(rèn)證的MTCD 數(shù)量為x,閾值為t。在圖3 中,假設(shè)兩個(gè)變量的關(guān)系為x=t。根據(jù)圖3 可知,隨著組內(nèi)MTCD數(shù)量的增加,本文方案的計(jì)算成本要比文獻(xiàn)[12]方案的計(jì)算成本低。
圖3 不同方案計(jì)算時(shí)間對(duì)比Fig.3 Comparison of calculation time of different schemes
通過(guò)模擬實(shí)驗(yàn)可知,本文所提出的方案的計(jì)算成本低于文獻(xiàn)[12]方案的計(jì)算成本;且通過(guò)帶寬分析可知,不管是HN和SN 之間的消息傳輸還是HN 中的消息傳輸,本文所提出的方案的帶寬消耗遠(yuǎn)低于文獻(xiàn)[12]方案。綜合帶寬分析和模擬實(shí)驗(yàn)分析可知,本文所提出的方案是有效可行的。
針對(duì)LTE-A 網(wǎng)絡(luò),本文提出了一種基于動(dòng)態(tài)組的有效身份認(rèn)證和密鑰協(xié)商方案。與現(xiàn)有的身份認(rèn)證方案相比,本文方案不僅可以同時(shí)對(duì)多個(gè)MTCD 進(jìn)行身份認(rèn)證,還可以支持動(dòng)態(tài)更新其訪問(wèn)策略,以適應(yīng)動(dòng)態(tài)場(chǎng)景,而且本文方案還支持多次組身份認(rèn)證。安全分析結(jié)果表明本文方案是正確且安全的,在認(rèn)證過(guò)程中能保證MTCD 隱私且能夠抵抗各種典型攻擊。性能分析通過(guò)帶寬消耗和模擬實(shí)驗(yàn)驗(yàn)證了本文方案的性能,表明本文方案的帶寬消耗和計(jì)算成本遠(yuǎn)低于文獻(xiàn)[12]方案,有效緩解了信令擁塞的問(wèn)題。本文方案是基于組長(zhǎng)可信的前提條件下提出的,如何在組長(zhǎng)不可信的情況下保證群組內(nèi)用戶身份認(rèn)證和密鑰協(xié)商的安全,還需要進(jìn)一步研究。