張應輝,李一鳴,李怡飛,鄭 東,3
1.西安郵電大學 網(wǎng)絡空間安全學院,西安710121
2.無線網(wǎng)絡安全技術(shù)國家工程實驗室,西安710121
3.衛(wèi)士通摩石實驗室,北京100070
隨著5G(5th-generation mobile communication technology)網(wǎng)絡的發(fā)展和普及,出現(xiàn)了一些如自動駕駛、云電腦、5G 物聯(lián)網(wǎng)設備等一些低延遲要求的服務。但與此同時,網(wǎng)絡異構(gòu)性和網(wǎng)絡復雜度也在持續(xù)增加。其中,5G 異構(gòu)網(wǎng)絡包括5G 網(wǎng)絡、3GPP 的LTE(long term evolution)網(wǎng)絡、非3GPP 網(wǎng)絡以及屬于不同運營商的5G網(wǎng)絡。多種類型的網(wǎng)絡共存會帶來一系列的安全隱患和挑戰(zhàn)。在5G 安全研究領域,全球各大通信組織和通信設備廠商如:3GPP、5G PPP、NGMN、Huawei 和Nokia 等都發(fā)布了自己的5G 安全需求及標準[1-5]。為了給用戶提供安全高效的網(wǎng)絡服務,需要對接入網(wǎng)絡的每個用戶進行認證。通常情況下,一個認證場景由用戶(user,UE)、接入點(access point,AP)以及具有認證、授權(quán)和計費功能的服務器(authentication,authorization and accounting,AAA)組成。用戶在多種網(wǎng)絡間進行切換時,需要與不同的接入點執(zhí)行切換認證。近年來,一些切換認證方案為了更好地適用于5G 異構(gòu)網(wǎng)絡,在解決相互認證和密鑰協(xié)商、隱私保護、匿名可追溯性以及抵抗各種攻擊等方面做出了大量研究。此外,對于5G異構(gòu)網(wǎng)中存在的各種類型網(wǎng)絡,需要引入一個全局可信的實體來解決全局切換認證問題。
區(qū)塊鏈是由多個區(qū)塊相互連接組成的,它包含一個完整的交易記錄列表,類似傳統(tǒng)的公共賬本。區(qū)塊鏈上交易的合法性驗證就是通過在腳本機制中使用操作碼OP_CODE 來實現(xiàn)的。且操作碼OP_CODE 中OP_RETURN[6]的功能是對區(qū)塊鏈上的交易進行備注,可以將任意信息寫入交易賬本中。由于區(qū)塊鏈具有全局一致性[7]、抗篡改和去中心化的特性,結(jié)合時間戳系統(tǒng)可以建立某個確定時間段內(nèi)某信息的存在性證明。由此可以解決上述方案中缺乏全局可信實體的問題。
此外,在實際場景中,接入點通常要面臨多個用戶發(fā)來的接入請求。多數(shù)切換認證方案未考慮群組用戶切換的情況,當接入點對這些用戶進行逐一認證時,不僅會加大接入點的計算開銷,還會大幅度增加整個認證流程所需的認證時間,進而降低服務質(zhì)量。因此,在提升多設備認證效率的同時還能保證其安全性亟待進一步研究。
本文的主要貢獻總結(jié)如下:
(1)結(jié)合聚合簽名技術(shù)和區(qū)塊鏈技術(shù)提出了一個5G 異構(gòu)網(wǎng)絡中基于群組的切換認證方案,使得用戶可以在不同的網(wǎng)絡間進行無縫切換。并且,該方案針對群組用戶接入的情況還可以執(zhí)行批量驗證。
(2)對所提出的協(xié)議進行規(guī)范化建模,并利用形式化分析軟件AVISPA 進行了安全性分析。根據(jù)分析結(jié)果,該方案不僅滿足相互認證和密鑰協(xié)商,還可以抵抗偽裝攻擊、中間人攻擊、重放攻擊和被動攻擊。
(3)利用仿真實驗和理論分析對所提出協(xié)議的性能表現(xiàn)進行了系統(tǒng)地評估。通過對比和分析,表明該方案是安全高效的。
隨著5G 網(wǎng)絡近年來的發(fā)展與普及,研究者們提出了一系列基于5G網(wǎng)絡的認證和密鑰協(xié)商(5G authentication and key agreement,5G-AKA)方案[8-9]。5G 異構(gòu)網(wǎng)絡中還包含其他網(wǎng)絡:如LTE、LTE-A(LTE-advanced)、WLAN(wireless local area network)和WiMax(world interoperability for microwave access)等。針對目前移動通信網(wǎng)絡中用戶數(shù)目較多的LTE網(wǎng)絡,文獻[10]和文獻[11]提出了相關(guān)的認證和密鑰協(xié)商方案。然而,隨著5G 網(wǎng)絡復雜性與異構(gòu)性的提升,無線網(wǎng)絡環(huán)境中也出現(xiàn)了更多的安全隱患與挑戰(zhàn)。
消息在無線網(wǎng)絡中傳輸可能會暴露用戶的身份信息和其他隱私,研究者們針對于此提出了一些隱私保護方案。文獻[12-13]方案利用假名代替真實身份進行消息傳輸,可以防止真實身份等信息泄露所帶來的損失。Chaum等人在1991年首次提出了群簽名方案[14],群簽名技術(shù)可以有效地保護群成員的身份隱私。驗證者可以通過群公鑰驗證群成員的簽名,間接驗證了其身份的合法性。根據(jù)這一思想,Lai 等人提出了一個基于群簽名的接入認證和密鑰協(xié)商方案[15]極大程度地簡化了群組設備的接入認證過程,該方案首先對首個接入網(wǎng)絡的群成員執(zhí)行完整認證過程,該成員再代替一組內(nèi)的其他成員獲得臨時密鑰和群身份驗證信息,其他群組成員在接入網(wǎng)絡時只需要執(zhí)行簡單的驗證過程。但整個認證過程是匿名進行的,一些用戶可能會利用匿名身份破壞系統(tǒng)。為了解決這個問題,He 等人提出了一種條件隱私保護的切換認證方案[16],該方案可以在匿名用戶出現(xiàn)違法行為時揭露其真實身份,實現(xiàn)了條件隱私保護。為進一步提升認證效率并減少傳輸開銷,Mo 等人提出的匿名認證和密鑰協(xié)商協(xié)議[17]通過兩次消息交換就可以實現(xiàn)相互認證和密鑰協(xié)商。
為了更好地適用于5G異構(gòu)網(wǎng)絡,一些方案[18-19]實現(xiàn)了域間切換認證,但需要依賴兩個接入節(jié)點之間的信任關(guān)系。而Sharma 等人提出的方案[20]需要服務器參與整個切換過程來實現(xiàn)域間切換。為了減輕系統(tǒng)復雜度和傳輸開銷,需要引入一個全局可信的實體。
區(qū)塊鏈以其全局一致性和抗篡改等特性可以作為一個全局受信的實體,在認證過程中引入?yún)^(qū)塊鏈技術(shù)就可以解決上述的問題。許多研究者基于此進行了研究。Almadhoun 等人提出的方案[21]利用霧節(jié)點和以太坊智能合約對接入用戶進行身份驗證,可以減輕用戶端設備的計算開銷。Lin等人提出了一個分布式用戶驗證方案[22],用戶將其身份和加密后的個人信息分別存儲在區(qū)塊鏈和分布存儲系統(tǒng)中,并附加一個智能合約。服務器采用挑戰(zhàn)應答協(xié)議來驗證用戶身份,然后從分布存儲系統(tǒng)中檢索用戶的個人信息。在Wang 等人提出的方案[23]中,證書授權(quán)中心將用戶證書的哈希值存入?yún)^(qū)塊中,驗證者通過比較用戶所提供的參數(shù)和區(qū)塊鏈上存儲的數(shù)據(jù)是否一致完成對用戶的認證。為了進一步降低系統(tǒng)復雜度,Li 等人在2018 年提出了一個基于區(qū)塊鏈的安全認證方案[24],將每個用戶的身份信息記錄到區(qū)塊鏈中,在不借助任何可信中心的情況下實現(xiàn)了接入認證。Cai等人提出了一個區(qū)塊鏈輔助認證系統(tǒng)[25]用于身份驗證,并利用智能合約實現(xiàn)了細粒度的訪問控制。
此外,利用區(qū)塊鏈的共識機制也可以實現(xiàn)跨域認證。Chen 等人提出了一個5G 超密集網(wǎng)絡下的認證方案[26],該方案中接入點群組通過使用聯(lián)盟鏈共享認證結(jié)果來減少認證時延。為了滿足隱私保護的特性,Yao等人提出的方案[27]同樣引入聯(lián)盟鏈在不同接入點間共享認證結(jié)果,但結(jié)合密碼學技術(shù)實現(xiàn)了跨數(shù)據(jù)中心的匿名認證。Zhang 等人提出了一個適用于5G 異構(gòu)網(wǎng)絡的切換認證方案[28],該方案利用OP_RETURN碼在區(qū)塊鏈上存儲變色龍哈希函數(shù)值作為驗證用戶身份的公鑰,不僅滿足相互認證和密鑰協(xié)商的基本要求,還實現(xiàn)了全局切換認證。Wang等人基于區(qū)塊鏈技術(shù)提出了一個多服務器邊緣計算架構(gòu)的切換認證方案[29],利用區(qū)塊鏈技術(shù)和服務器的協(xié)助實現(xiàn)快速切換認證。但上述方案均沒有考慮多個設備接入時的情況。
考慮到實際應用場景中,一個訪問域的服務器可能會收到多個用戶的接入請求消息。進行批量驗證可以縮短認證時延,從而保證服務的連續(xù)性與實時性。Wang等人提出了一個基于條件隱私保護的偽身份批量認證方案[30],實現(xiàn)了匿名批量驗證。Tzeng 等人提出了一個改進的的批量驗證方案[31],進一步提升了安全性。Thumbur 等人提出了一個基于無證書聚合簽名的認證方案[32],該方案中的密鑰由用戶和授權(quán)中心合作生成,解決了密鑰托管問題。由于這些方案中都引入密鑰生成中心作為可信第三方,在進行切換認證時,系統(tǒng)復雜度高且通信開銷大,不適用于5G異構(gòu)網(wǎng)絡。
綜上所述,引入?yún)^(qū)塊鏈技術(shù)可以解決全局切換認證問題。而針對于實際場景中多設備接入的情況,如何在提升效率的同時還能保證整個系統(tǒng)的安全性是本文需要解決的主要問題。
系統(tǒng)模型如圖1 所示,系統(tǒng)共包含以下四類實體:用戶UE、接入點gNB(5G new radio node B)和eNB(evolved node B)、服務器AAA和AAA*以及全局部署的區(qū)塊鏈。此外,根據(jù)網(wǎng)絡架構(gòu)的不同分為兩個域:EPC(evolved packet core)和5GC(5G core network)。
圖1 系統(tǒng)模型圖Fig.1 System model
為了獲取網(wǎng)絡服務,UE 首先要與本地服務器進行初始認證和密鑰協(xié)商。而對于切換場景,根據(jù)用戶數(shù)目的不同,系統(tǒng)分別對單個用戶和群組用戶執(zhí)行切換認證和批量驗證。具體過程如下:
(1)本地用戶接入。在使用5G 新空口技術(shù)的網(wǎng)絡中,UE通過gNB接入到5GC網(wǎng)絡,且用戶、接入點和服務器之間執(zhí)行5G-AKA 協(xié)議[9]。而對于3GPP 的LTE 網(wǎng)絡,每個UE 通過eNB 連接到EPC 網(wǎng)絡,執(zhí)行EPS-AKA(evolved packet system authentication and key agreement)協(xié)議[10]。
(2)切換認證。每個UE 首先通過本地服務器在區(qū)塊鏈上存入一個切換“通行證”供其他實體下載以驗證UE 的身份。UE 同時從區(qū)塊鏈上獲取目標接入點的相關(guān)信息,用于對接入點進行認證。
(3)批量驗證。將屬于同一個域的多個用戶稱為群組用戶。當屬于5GC(或EPC)域內(nèi)的群組用戶需要同時切換至EPC(或5GC)域內(nèi)時,EPC(或5GC)域內(nèi)的接入點結(jié)合區(qū)塊鏈上獲得的多個“通行證”對群組用戶執(zhí)行批量驗證。
在所提出的系統(tǒng)模型中:假設每個UE 都通過gNB或eNB 在其所屬的服務器完成了注冊;接入點gNB 和eNB 都是誠實而好奇的;屬于不同信任域的服務器AAA和AAA*并非是全局可信的;而模型中引入的區(qū)塊鏈類型為公共鏈。此外,UE 與其他接入點間的通信信道是公開信道。
在上述條件下,攻擊者可能會利用用戶發(fā)送的消息發(fā)起各種攻擊:重放攻擊、偽裝攻擊、中間人攻擊。由于使用公共鏈的原因,任何實體都可能利用區(qū)塊鏈上存入的數(shù)據(jù)攻破認證系統(tǒng)。此外,在進行密鑰協(xié)商時,若用于計算會話密鑰的隨機數(shù)被泄露,攻擊者也可能得知該會話密鑰,導致通信雙方傳輸?shù)南⒈恍孤叮@種攻擊方式屬于被動攻擊,難以被發(fā)現(xiàn)和排除。為了實現(xiàn)安全高效地切換認證。需要借助區(qū)塊鏈設計一個基于群組用戶的安全切換認證方法。那么,該協(xié)議需要滿足以下安全特性:
(1)相互認證:不僅要實現(xiàn)接入點對用戶的接入認證,用戶也需要對接入點進行認證。
(2)密鑰協(xié)商和已知隨機性安全:當用戶和接入點完成相互認證后,還需要協(xié)商一個會話密鑰保證后續(xù)通信的機密性。此外,在隨機數(shù)泄露的情況下,也能夠保證當前會話不被泄露。
(3)匿名性和可追溯性:為了保證每個用戶的身份和其他敏感信息等隱私不被泄露,需要在整個切換過程中使用偽身份代替真實身份。此外,可追蹤性是系統(tǒng)對匿名用戶行為的約束。當匿名用戶進行惡意行為時,該用戶注冊域服務器能夠揭露其真實身份。
(4)抵抗各種攻擊:在公開信道上進行消息傳輸時,能夠有效抵抗偽裝攻擊,保證認證參數(shù)不可被偽造;抵抗中間人攻擊,防止消息被隨意篡改;抵抗被動攻擊,會話密鑰的機密性足以抵御被動攻擊;抵抗重放攻擊,防止攻擊者重播消息而欺騙系統(tǒng)。
(5)魯棒性:當注冊到服務器的合法用戶被服務器陷害時,可以向其他任何實體證明自己的合法性。
(6)全局切換認證:由于各個服務器并非全局可信,系統(tǒng)需要引入一個全局可信的實體使用戶在不同域間進行無縫切換。通過建立域間信任關(guān)系,屬于不同域的用戶和接入點之間能夠?qū)崿F(xiàn)切換認證。
該部分主要對方案中的算法進行描述,算法中一些符號的具體含義如表1所示。算法共包含四個階段:初始化階段、注冊階段、切換認證階段和批量驗證階段。具體算法流程如下。
表1 符號含義Table 1 Symbol of notation
設置系統(tǒng)安全參數(shù)λ。再選取一個大素數(shù)p,生成一個非奇異橢圓曲線E:y2+ax+bmodp和一個素數(shù)階加法群G。其中,q為G的階,Q為G的生成元。最后選擇三個安全哈希函數(shù):H0=G→{0,1}λ,H1=G3→和H2=G3×{0,1}λ→。接著,以AAA 為例,各個服務器執(zhí)行以下步驟:
(1)AAA 秘密選取一個隨機數(shù)x0∈作為主密鑰,再計算Y=x0Q作為對應的公鑰。
(2)AAA 利用數(shù)字簽名算法[33]生成密鑰對(skAAA,pkAAA)用于簽名和在區(qū)塊鏈中發(fā)布交易。
(3)最后,AAA 公布系統(tǒng)參數(shù){p,q,G,Q,H0,H1,H2,Y,pkAAA},并秘密保存skAAA。
在該階段,服務器利用區(qū)塊鏈的全局一致性和抗篡改特性為每個注冊用戶建立存在性證明,使UE 可以憑借該證明進行切換。通過引入?yún)^(qū)塊鏈技術(shù)設置切換認證憑證,消除了對第三方可信中心的依賴,并建立了域間信任關(guān)系。具體地,UEi首先通過本地的初始接入點(original access point,APo)與AAA 進行初始接入認證,建立安全信道。對于5G 網(wǎng)絡和3GPP 的LTE 網(wǎng)絡,分別應用5G-AKA 協(xié)議和EPS-AKA 協(xié)議。接著,執(zhí)行以下步驟:
(1)用戶部分密鑰生成:UEi選取一個隨機數(shù)ski∈作為用戶部分私鑰,并計算pki=skiQ作為對應的公鑰。
(2)用戶偽身份申請:UEi選取一個隨機數(shù)xi∈,接著計算:
其中,IDi為UEi的真實身份。最后,UEi向AAA發(fā)送消息:{IDi||PIDi,1||Ki||pki}。
(3)用戶偽身份生成:AAA根據(jù)UEi的消息驗證以下等式是否成立:
若成立,則設置注冊有效期tend以及PIDi,2=Ki。最后生成偽身份PIDi={PIDi,1,PIDi,2,tend}。
(4)服務器部分密鑰:AAA 選取一個隨機數(shù)ri∈,再進行以下計算:
最后,將pski作為服務器生成的部分密鑰,Ri作為對應的公鑰。
(5)切換通行證生成:AAA首先在區(qū)塊鏈上創(chuàng)建一個交易,將這筆交易的標識信息記為TXUEi。并且分別以pkAAA和skAAA作為鎖定腳本和解鎖腳本,使得該筆交易中的資產(chǎn)不可被花費。接著,使用OP_RETURN碼在該交易區(qū)塊上存入一個數(shù)據(jù)PASSi:{Ri||pki||tend}。之后,AAA利用skAAA對{IDi||PASSi}進行簽名得到Sig,并將{PIDi||TXUEi}保存至本地。最后,AAA向UEi發(fā)送消息:{PID||pski||TXUEi||Sig}。
(6)用戶驗證:UEi收到消息后,首先根據(jù)TXUEi定位到交易所在的區(qū)塊,并檢查該交易的輸出腳本是否與pkAAA相關(guān)。檢驗通過后,獲取該區(qū)塊上存入的數(shù)據(jù)PASSi。接著,UEi利用pkAAA、IDi和PASSi檢查Sig的正確性。若驗證通過,則UEi可以確定PASSi是由AAA存入?yún)^(qū)塊鏈的。最后UEi保存{PID||pski||TXUEi||Sig}。用戶注冊階段完成。
與用戶注冊階段類似,每個接入點也執(zhí)行上述步驟。以目標接入點(target access point,APt)為例,APt以真實身份IDAPt注冊到AAA*服務器。APt先選取隨機數(shù)
最后,UEi向APt發(fā)送切換請求消息:
(2)APt收到REQ后先驗證time的新鮮性,再驗證PIDi中的tend是否過期。驗證均通過后,APt根據(jù)TXUEi由本地檢索出PASSi,再計算:
在完成注冊后,各UE 可以進行切換認證。切換認證過程中,各驗證節(jié)點對于切換用戶的驗證也是依賴于區(qū)塊鏈的共識機制。在該階段各驗證節(jié)點從區(qū)塊鏈上獲取相關(guān)參數(shù)不僅可以降低通信開銷,還可以提升切換認證效率。在UEi移動到APt覆蓋范圍前,首先要獲取AAA*的公鑰Y′和PASSAPt。為了簡化這一過程,通過引入合作通信技術(shù)[34]實現(xiàn)上述步驟。接著,UEi向各個鄰居接入點廣播TXUEi。各個接入點根據(jù)TXUEi獲取并保存PASSi至本地。完成上述步驟后,開始執(zhí)行切換認證過程,具體如下:
(1)UEi首先選取兩個隨機數(shù)wi∈和zi∈,接著計算:
最后,APt向UEi發(fā)送回復消息:
(3)UEi收到REQ后先驗證time的新鮮性。驗證通過后,進行以下計算:
并檢驗以下等式是否成立:
若成立,則計算:
并驗證以下等式是否成立:
若成立,則UEi與APt之間會話密鑰建立,切換認證完成,且共享一個會話密鑰K。其中:
針對于群組用戶的切換接入請求,所提出的方案可以對群組用戶進行批量驗證。具體是由聚合簽名技術(shù)的思想設置可聚合的認證參數(shù),使得驗證者能夠?qū)Χ鄠€接入請求執(zhí)行批量驗證。從而減少逐一認證所需的認證時延,極大提升了群組設備的切換效率。
與單個用戶切換情況類似,當短時間內(nèi)AAA 服務器域中的n個用戶:UE1,UE2,…,UEn準備切換到另一個域時,每個用戶首先獲取另一個域內(nèi)服務器的系統(tǒng)公鑰和APt的認證參數(shù)。接著,這些用戶分別廣播自己的交易標識:TXUE1,TXUE2,…,TXUEn至附近所有鄰居接入點。最后,APt對這n個用戶執(zhí)行批量驗證的過程如下:
(1)與切換認證階段類似,這n個用戶分別選擇n個隨機數(shù):w1,w2,…,wn∈和z1,z2,…,zn∈。并計算:W1,W2,…,Wn,Z1,Z2,…,Zn,m1,m2,…,mn和s1,s2,…,sn。最后,分別以偽身份PID1,PID2,…,PIDn發(fā)送n個切換請求消息:REQ1,REQ2,…,REQn。
(2)當APt收到這些切換請求后,首先檢查每個PID中的tend是否過期。驗證通過后,根據(jù)TXUE1,TXUE2,…,TXUEn檢索本地存儲的多個PASS。若檢索過程中出現(xiàn)重復的TXUE或PASS,則根據(jù)時間順序,拒絕重復參數(shù)所對應的兩個消息中最新的一個。接著,繼續(xù)對剩余的用戶執(zhí)行批量驗證。否則,待檢索完成后分別計算最后,根據(jù)以上參數(shù)驗證等式:和
若成立,則APt接收這些消息,并分別與他們建立會話密鑰,群組切換完成。否則,拒絕這些消息。
在該部分,首先對所提出的協(xié)議進行規(guī)范化建模,并利用形式化分析軟件AVISPA 對其進行形式化分析。接著,對該方案所滿足的安全性要求進行了進一步的具體描述。
在該部分對所提出的協(xié)議進行規(guī)范化建模,并通過形式化分析軟件AVISPA對所提出協(xié)議的安全性進行分析。AVISPA 是對安全協(xié)議進行自動化驗證的工具[35],它提供了一種高級協(xié)議語言(high level protocol specification language,HLPSL)[36],可以模塊化地描述協(xié)議和模擬入侵者模型。此外,該工具還集成了如OFMC等各種不同的自動分析后端,可以對協(xié)議進行自動分析。
整個分析過程是在虛擬機環(huán)境下使用形式化自動驗證工具SPAN 和高級協(xié)議建模語言HLPSL 對所提出的協(xié)議進行規(guī)范化描述,圖2 和圖3 分別是對角色UEi和APt會話過程的建模。通過對這兩個角色的規(guī)范化建模,可以分析該協(xié)議是否滿足相互認證和密鑰協(xié)商的安全特性。接著,根據(jù)圖4中三個安全目標對所提出的協(xié)議進行分析。其中,所設立的第一個和第三個目標是為了檢驗UEi和APt間是否能夠?qū)崿F(xiàn)相互認證;第二個目標可以檢測他們之間共享會話密鑰的機密性。
圖2 用戶角色的建模Fig.2 Model of UEs
圖3 接入點角色的建模Fig.3 Model of APs
圖4 安全目標模型Fig.4 Model of security goals
最終,使用OFMC技術(shù)對協(xié)議進行自動分析得到的結(jié)果如圖5 所示。OFMC 通過模擬整個協(xié)議的運行流程,檢查每次會話是否受到重放攻擊。圖中結(jié)果顯示,該協(xié)議滿足預先設立的兩個強認證目標和一個秘密性安全目標。綜上,通過對協(xié)議進行規(guī)范化建模和形式化分析,表明所提出的協(xié)議滿足相互認證和密鑰協(xié)商的安全特性,并能夠抵抗重放攻擊和中間人攻擊。
圖5 分析結(jié)果Fig.5 Analysis results
在該部分,對算法中一些等式的正確性進行了分析,并進一步分析了該協(xié)議還滿足的其他安全特性。
(1)相互認證。由于雙方認證過程類似,這里以APt對UEi的認證過程為例,APt根據(jù)PASSi和REQ檢查等式(3)是否成立,該等式的正確性如下:
(2)密鑰協(xié)商。APt和UEi在切換認證階段共享的會話密鑰為K。其中,等式(6)的正確性如下:
(3)已知隨機性安全。所提出的協(xié)議利用D-H(Diffie-Hellman)密鑰交換協(xié)議的思想進行密鑰協(xié)商。假設選取隨機數(shù)的方法被暴露,攻擊者利用該方法得到了用于協(xié)商會話密鑰的隨機數(shù)。但得益于等式(4)和(5),攻擊者無法利用這些隨機數(shù)得知會話密鑰K,從而實現(xiàn)了已知隨機性安全,并保證了認證雙方之間消息傳輸?shù)臋C密性。
(4)匿名性。UEi只有在注冊階段以真實身份與服務器進行通信,在整個切換認證階段都使用偽身份PIDi代替真實身份IDi進行通信。且除了用戶的注冊服務器以外,任何實體都無法得知用戶的真實身份。
(5)可追溯性。假設UEi利用匿名身份進行非法行為或發(fā)布虛假的信息擾亂整個系統(tǒng)的運作時。其注冊域服務器AAA執(zhí)行以下操作:首先,根據(jù)UEi發(fā)送的接入請求消息REQ檢索區(qū)塊鏈上創(chuàng)建的相關(guān)交易TXUEi,并獲取注冊階段存入的數(shù)據(jù)PASSi。接著,驗證等式(3)是否成立。若成立,則根據(jù)本地存儲的{PIDi||TXUEi}計算:
最后,由AAA揭露惡意用戶的真實身份IDi。
(6)抵抗被動攻擊。由公式(4)和(5)可知,會話密鑰K是由APt和UEi根據(jù)對方所發(fā)送的消息,并分別利用各自的私鑰和ski進行計算而得。會話密鑰K的安全性基于橢圓曲線上的離散對數(shù)困難問題。因此,所提出的協(xié)議可以有效地抵抗被動攻擊。
(7)抵抗偽裝攻擊。所提出的方案還可以抵抗偽裝攻擊。在該協(xié)議中,相互認證是利用橢圓曲線上的離散對數(shù)問題結(jié)合區(qū)塊鏈的抗篡改特性而實現(xiàn)的。其中,任何實體都不能偽造si,等式(2)中包含了UEi的用戶部分私鑰ski和服務器部分私鑰pski,而等式(1)中包含AAA 的私鑰x0。通過偽造si扮演合法用戶進行接入認證需要攻破離散對數(shù)問題。所以,該認證參數(shù)具有不可偽造性。此外,對用于驗證和進行密鑰協(xié)商的參數(shù)Wi和Zi進行偽造需要解決橢圓曲線上的離散對數(shù)問題。綜上,所提出的方案可以抵抗偽裝攻擊。
(8)魯棒性。假設AAA 被攻破,并根據(jù)消息REQ陷害一個誠實的用戶。由于本方案引入了區(qū)塊鏈技術(shù),可以公開自己的身份信息以及簽名Sig。任何第三方實體都可以通過區(qū)塊鏈下載PASSi,并結(jié)合REQ驗證等式(3)是否成立。接著,利用AAA的公鑰pkAAA驗證簽名Sig的正確性。若以上驗證都通過,則可以確定UEi′是注冊到服務器的合法用戶。
(9)全局切換認證。所提出的方案可以實現(xiàn)全局切換認證,使得用戶可以在不同類型的網(wǎng)絡間進行切換。通過引入?yún)^(qū)塊鏈作為一個全局可信的“實體”,驗證者可以利用區(qū)塊鏈上存儲的PASSi計算等式(3)實現(xiàn)對切換用戶合法性的驗證。此外,PASSi是由注冊域服務器AAA在區(qū)塊鏈上存入的,以區(qū)塊鏈的全局一致性、抗篡改特性和共識機制可以在不同信任域的實體間建立域間信任關(guān)系,從而實現(xiàn)全局切換認證。
在該部分,對所提出的方案與文獻[12]方案、文獻[16]方案、文獻[17]方案、文獻[28]方案和文獻[29]方案進行了性能分析和比較。
所提出的方案與文獻[12]方案、文獻[16]方案、文獻[17]方案、文獻[28]方案和文獻[29]方案之間的傳輸開銷對比如表2 所示。本文用δ(0<δ<1)表示UE 和AP之間進行一次消息傳輸所需的傳輸開銷,用ε(0<ε<1)來表示兩個AP 間的傳輸開銷,而AP 和AAA 之間的傳輸開銷用θ(0<θ<1)表示。其中,δ、ε和θ分別代表三個不同的單位。
表2 傳輸開銷對比Table 2 Comparison of transmission overhead
結(jié)果表明,本文方案在傳輸開銷方面優(yōu)于文獻[28]方案和文獻[29]方案。雖然文獻[12]方案、文獻[16]方案和文獻[17]方案與所提出方案的傳輸開銷相同,但在進行相同通信次數(shù)的情況下,這些方案不能滿足一些安全特性。因此,在滿足一定安全性的前提下,本文方案具有傳輸開銷低的優(yōu)勢。
針對上述方案中存在的安全和效率方面的問題,在該部分對比了各方案所滿足的安全性要求和功能。
其中,所提出的方案與文獻[12]方案、文獻[16]方案、文獻[17]方案、文獻[28]方案和文獻[29]方案之間的比較如表3所示??紤]到用戶隱私保護的問題,上述方案均有針對于匿名性的設計,但文獻[17]方案沒有實現(xiàn)對匿名用戶的追蹤。而在系統(tǒng)安全性方面,只有文獻[28]方案和本文方案實現(xiàn)了魯棒性和已知隨機性安全。在場景適用性方面,文獻[17]方案、文獻[28]方案、文獻[29]方案及本文方案可以實現(xiàn)域間切換認證。對于多設備接入場景,文獻[12]方案、文獻[16]方案和本文方案還可以實現(xiàn)批量驗證功能。綜上所述,本文方案相較于上述的方案,不僅具有更強大的安全性保證,并且能適用于更廣泛的應用場景。
表3 安全性及功能對比Table 3 Comparison of security and function
在進行效率分析時,只考慮各個方案在切換認證過程中的雙線性對運算、模指數(shù)運算、映射到群G上一點的哈希運算、群G上的標量乘法運算和群G上的點加運算。并分別以TP、TE、TH、TSM和TA來表示它們的運算時間,而總時間以Ttot表示,其他的運算時間均忽略不計。通過JAVA 編譯器調(diào)用JPBC 庫進行仿真得到以上各個運算時間。為了體現(xiàn)接入點和用戶之間的計算能力差距,分別以Intel i5-8500 CPU@3.00 GHz 8.00 GB memory 的臺式機模擬接入點,Intel i5-5200U CPU@2.20 GHz 4.00 GB memory的筆記本電腦模擬用戶端。以上各個運算在仿真環(huán)境下的運行時間如表4所示。
表4 各個運算運行時間Table 4 Running time of different operations
在進行效率分析時,由于文獻[17]方案,文獻[28]方案以及文獻[29]方案沒有批量驗證功能,所以與批量驗證方案對比多設備接入時的認證時延不具備優(yōu)勢。因此,在該部分本文方案與具有批量驗證功能的文獻[12]方案和文獻[16]方案在切換認證階段的計算開銷和批量驗證時間進行了對比。各批量驗證方案中每個用戶和接入點在切換認證階段所需的計算開銷如表5所示,通過對比可以得出本文方案所需的總計算開銷低于文獻[12]方案和文獻[16]方案。
表5 計算開銷對比Table 5 Computational cost comparison
當群組用戶接入時,本文方案可以對多個用戶執(zhí)行批量驗證。如圖6 所示,是本文方案執(zhí)行批量驗證和一般認證流程的對比情況。由對比結(jié)果可知,本文方案在群組用戶接入的情況下執(zhí)行批量驗證更加高效。為了進一步分析上述方案在進行批量驗證時所需認證時延的差距,對文獻[12]方案、文獻[16]方案以及本文方案的效率進行了對比和分析。如圖7 是隨著用戶數(shù)目的增加,各方案執(zhí)行批量驗證所需時間的變化情況。根據(jù)分析結(jié)果,所提出的方案相較于其他批量驗證方案具有計算開銷低的優(yōu)勢,且在批量驗證方面的效率至少提升了89.8%,能夠很好地適用于5G 網(wǎng)絡環(huán)境。
圖6 認證時延對比Fig.6 Comparison of authentication delay
圖7 各批量驗證方案認證時延對比Fig.7 Comparison of authentication delay of various schemes
考慮到實際場景中群組用戶切換的情況,為了在提升效率的同時還能夠保證認證過程的安全性,本文提出了一個5G異構(gòu)網(wǎng)絡中基于群組的切換認證方案。該方案相較現(xiàn)存方案的優(yōu)勢在于:實現(xiàn)全局切換認證且未增加切換流程的復雜度,通過引入?yún)^(qū)塊鏈技術(shù)和聚合簽名技術(shù)實現(xiàn)了群組用戶的切換認證,并減少了逐一認證的認證時延,利用D-H密鑰交換思想實現(xiàn)了已知隨機性安全。通過使用AVISPA工具對所提出的協(xié)議進行形式化分析以及進一步安全分析,結(jié)果表明該協(xié)議是安全的。最后進行了性能分析,結(jié)果顯示本文方案在效率表現(xiàn)上相較于現(xiàn)存的一些切換認證方案具有明顯優(yōu)勢,并且功能更加完善。