?

基于格密碼的5G-R車地認證密鑰協商方案

2024-03-07 12:34永,劉雯,張
鐵道學報 2024年2期
關鍵詞:公鑰攻擊者抵抗

陳 永,劉 雯,張 薇

(1.蘭州交通大學 電子與信息工程學院,甘肅 蘭州 730070;2.蘭州交通大學 交通運輸學院,甘肅 蘭州 730070)

5G-R(5G for railway)作為我國下一代高速鐵路移動通信系統,具有大帶寬,和高速率等優點[1]。但是5G-R全新的服務網絡架構使得5G-R網絡接入時更易受到攻擊、篡改和假冒欺騙等安全風險[2],危及行車安全[3]。

5G-R采用5G-AKA (5G-authentication and key agreement)車地認證密鑰協商協議[4],然而,該協議被指出存在諸如接入認證請求消息SUCI(subscription concealed identifier)明文隱私泄露、根密鑰不變、難以抵抗中間人、DoS攻擊等多種安全隱患[5],為使該協議為5G-R提供更多高可信業務,國內外學者進行了大量的研究工作。

針對5G-AKA協議中認證請求消息SUCI明文傳輸易被攻擊者獲取的問題,一般通過采用加密傳輸信息或使用臨時身份代替SUCI在協議中傳輸[6-11]。Dong等[6]使用哈希鏈建立身份池,并采用橢圓曲線協商傳輸密鑰完成認證請求消息,但該方案并未考慮惡意服務器攻擊。Hu等[7]利用公鑰基礎設施機制生成公私鑰,采用非對稱加密方式防止了用戶身份認證請求消息的明文傳輸,但是該方案中根密鑰K未實現動態更新。Yan等[8]使用公鑰對信息加密,避免了SUCI重放攻擊,但該方案中并未實現通信三方的相互認證,不滿足密鑰的前/后向安全性。Zhang等[9]使用歸屬網絡HN的公鑰和隨機數避免了身份認證請求消息的明文傳輸,但是在該方案中參與會話的密鑰K并未進行動態更新,易被攻擊者獲取,并且該方案并未實現通信三方的相互認證,不能夠抵抗中間人等攻擊。Braeken等[10]使用基于橢圓曲線的公鑰加密算法保護SUCI的安全性,但UE與SN之間初次驗證信息是由根密鑰K派生的KSEAF加密之后進行傳輸的,根密鑰K同樣未實現動態更新。Goswami等[11]使用橢圓曲線集成加密方案防止用戶身份明文傳輸,滿足了匿名性的特性,但UE與HN之間的會話安全性依然由共享密鑰K保護,并未進行動態更新。

此外,5G-AKA協議中根密鑰長期不變,易被攻擊者獲取而導致信息泄露,為解決該問題,一系列針對根密鑰更新的方案被提出[12-17]。Munilla等[12]使用動態更新的密鑰代替根密鑰K參與協議的運行,實現了會話密鑰的前向安全性,但是該方案無法抵抗惡意服務器對UE發起的偽裝服務網絡SN攻擊。Liu等[13]通過使用大量隨機數和異或運算實現了UE與HN之間的會話密鑰協商和更新,可抵抗重放等多種攻擊,但是該方案需要消耗較大的計算開銷,存在認證效率低的問題。Ying等[14]采用基于橢圓曲線密碼的自認證公鑰密碼實現通信雙方的密鑰協商,但是該方案無法抵抗同步攻擊。Haq等[15]使用單向哈希函數和橢圓曲線密碼結合的方法,實現了通信雙方的密鑰協商和會話密鑰的動態更新,但是在該方案中服務器身份ID被公開發布,易遭受DoS攻擊。Xiao等[16]采用橢圓曲線和公鑰/私鑰對的方法,實現了會話密鑰的動態更新,但該方案無法抵抗DoS攻擊。Chow等[17]使用橢圓曲線和一次性機密哈希函數,實現了密鑰動態更新,防止了可鏈接性攻擊、中間人攻擊和DoS等攻擊,但是該方案中未實現SUCI身份保護。

綜上,針對SUCI隱私泄露、根密鑰不變和效率低等問題,基于格密碼理論提出一種新型5G-R車地認證方法。研究包括:

1)本文方案使用臨時身份信息GUTI代替SUCI在協議中傳輸,避免了SUCI明文傳輸問題,實現了SUCI的機密性保護。

2)利用基于格上的公鑰密碼機制和近似平滑投射散列函數,并結合密鑰共識算法,實現了根密鑰的動態更新和前后向安全性。

3)通過在車地認證消息中加入時間戳、隨機質詢機制以及消息認證碼,完成了車地通信三方互認證,能夠抵抗中間人攻擊、DoS攻擊、量子攻擊和偽裝SN攻擊等多種惡意攻擊。

4)采用串空間方法驗證了所提方案的安全性。

1 車地認證5G-AKA協議

5G-R網絡采用5G-AKA作為車地之間的安全通信協議[18]。通信系統包括UE設備、服務網絡SN和歸屬網絡HN,符號及含義定義見表1。

表1 符號及含義

5G-AKA協議步驟如下:

Step1UE向鑒權服務功能SEAF發送申請接入請求消息M1:{SUCI}。

Step2SEAF根據SUCI中包含的歸屬網絡標識查找對應的HN,并向AUSF發送M2:{M1,SNN}。

Step3AUSF驗證SNN,若驗證不通過,則終止認證;否則暫時存儲SNN,然后給鑒權證書庫和處理功能ARPF發送M3:{SUCI,SNN}。

Step4ARPF從SUCI中根據共享密鑰解密出SUPI。然后ARPF計算密鑰KAUSF和XRES*。隨后,生成歸屬網絡鑒權向量5G_HE_AV(5G home environment authentication vector),并向AUSF發送M4:{SUPI,5G_HE_AV}。

Step5AUSF保存接收的SUPI和XRES*,計算HXRES*,密鑰KSEAF。根據5G_HE_AV生成鑒權向量5G_AV,移除5G_AV中的密鑰KSEAF得到服務網絡認證向量5G_SE_AV(5G serving environment authentication vector),隨后向SEAF發送M5:{5G_SE_AV}。

Step6SEAF接收到AUSF發送的消息后,保存HXRES*,向UE發送M6:{RAND,AUTN}。

Step7UE計算匿名密鑰AK,通過同步序列號SQN和消息認證碼MAC,計算XMAC,驗證XMAC?=MAC,若相等,則驗證接收消息初步成功,隨之驗證SQN是否正確;若不相等,則終止認證。否則計算RES,RES*、KSEAF,向SEAF發送M7:{RES*}。

Step8SEAF計算HRES*,驗證HRES*?=HXRES*,若不相等,則認證失敗。否則向AUSF發送M8:{RES*}。

Step9AUSF驗證5G_AV是否過期,若過期,則認證失敗;否則,驗證RES*?=XRES*,若不相等,則HN認為鑒權認證失敗。否則AUSF向SEAF發送M9:{SUPI,KSEAF}。SEAF會使用KSEAF用于后續通信會話。

2 5G-AKA協議缺陷分析

1)SUCI泄露易遭受重放攻擊

在Step1中,UE發送SUCI接入請求,歸屬網絡HN接收到SUCI之后分離出身份標識符SUPI,從而獲取到與UE共享的相關信息,但是在車地認證過程中,由于SUCI在空中接口中以明文形式進行傳輸,攻擊者易通過截獲SUCI對歸屬網絡HN發起重放攻擊或冒充UE造成拒絕服務攻擊。

2)根密鑰K的泄露

Step4中,通過根密鑰K派生出的IK、CK、AK等密鑰和SNN、SQN共同生成的KAUSF,并由密鑰KAUSF派生出會話密鑰KSEAF,而會話密鑰的安全性決定車地通信會話的隱私性和可靠性,一旦根密鑰K泄露,將會導致攻擊者推導出會話密鑰KASME繼而發起中間人攻擊。

3)DoS攻擊

在Step1中,UE明文傳輸SUCI作為接入認證請求,并且在Step2中,SN并未對來自UE的消息進行驗證,攻擊者易截獲該消息對SN發起重放攻擊,導致SN拒絕為UE提供服務。

4)鏈路通信信息泄露

UE與SN使用不安全空中接口進行通信,易受到竊聽、篡改、注入等攻擊,一般對該鏈路傳輸的信息采用加密方式以保障傳輸信息的安全性。

3 基于格密碼的5G-R車地認證密鑰協商方案

格上的運算大多是線性運算,具有并行計算、計算開銷小的特點[20]。格密碼的安全設計主要基于格的帶錯誤學習 (learningwitherrors,LWE)求解困難問題,即攻擊者無法在多項式概率時間算法內恢復出秘密向量[21]?;诟竦腖WE求解困難問題被證明在隨機歸約下均屬于NP-hard類問題,可以抵抗量子攻擊[22]。

基于格密碼理論,根據格密碼所具有的高安全性和高效率的特點,提出一種基于格的密鑰協商認證方案。通過格上公鑰密碼機制和近似平滑投射散列函數以及密鑰共識算法實現會話密鑰的動態更新,并加入隨機質詢和消息認證碼抵抗多種攻擊。本文方法主要包括注冊和認證兩個階段,其中在UE進行認證請求之前,需要在HN處完成注冊,之后,則進行認證協議,從而完成車地之間的相互認證和密鑰協商。

3.1 注冊階段

首先,在車地通信時,列車UE在接入到歸屬網絡HN并與HN完成身份認證和密鑰協商之前需要向HN發起身份注冊請求,具體步驟為:

Step1UE選擇身份信息IDUE,計算臨時身份GUTI=SUCI⊕IDUE,通過安全信道發送接入請求M1:{IDUE,GUTI,UE}到HN。

Step2HN收到UE的接入請求后,維護一個GUTI、IDUE與UE的序列。此時,HN和SN利用基于格上的密文攻擊安全公鑰加密體制[23],分別生成公私鑰對(pkHN,skHN)←KeyGen(1k)、(pkSN,skSN)←KeyGen(1k),其中KeyGen()為臨時密鑰生成函數;←為生成符號;k為安全參數;HN通過安全通道發送{pkHN}給UE和SN,SN通過安全通道發送{pkSN}給HN。

公私鑰對的生成方法如下:

令n1,n2∈Z,q為素數,n=n1+n2,m=O(nlnq)∈Z,α,β∈R,其中O(nlnq)為參數m的標準計算方法,α、β為系統參數。

①HN輸入安全參數k,計算(AHN-0,RHN-0)←TrapGen(1n,1m,q)、(AHN-1,RHN-1)←TrapGen(1n,1m,q)、crs←CRSGen(1k),輸出公私鑰對(pkHN,skHN)=((AHN-0,AHN-1,crs),RHN-0),其中TrapGen()為陷門函數,A為矩陣,R為陷門,CRSGen()為公共參數函數,crs為公共參數。

②SN輸入安全參數k,計算(ASN-0,RSN-0)←TrapGen(1n,1m,q)、(ASN-1,RSN-1)←TrapGen(1n,1m,q)、crs←CRSGen(1k),輸出公私鑰對(pkSN,skSN)=((ASN-0,ASN-1,crs),RSN-0)。

Step3UE收到HN的反饋消息之后,保存pkHN。

Step4SN保存pkHN。

Step5HN保存pkSN。

3.2 認證階段

為了保障車地通信過程中信息的安全性、完整性和機密性,列車UE和服務網絡SN都需要和歸屬網絡HN相互完成身份驗證,UE需與HN協商出后續通話所用的共享密鑰SK,該階段步驟如下:

Step1UE→SEAF:Mes1:EpkHN{GUTI,UE,hpUE,cUE=(uUE,vUE),T1}

列車UE在發送身份認證接入請求信息之前,設計了基于格理論的公鑰加密體制對需要傳輸的信息進行加密,EpkHN中的E為加密操作,步驟如下:

①列車UE生成時間戳T1,選取隨機數rUE←r{0,1}*和哈希密鑰hkUE←rK,其中r{}表示隨機選取。

②計算投射密鑰hpUE=Proj(hkUE),其中Proj()為密鑰投射函數。

③計算uUE=f(pkHN,SUPI,rUE),令labelUE:=UE‖HN‖hpUE‖T1,其中label為標簽,其中f為近似平滑投射散列函數中的標準計算函數。

④計算vUE=g(pkHN,labelUE,SUPI,rUE),cUE=(uUE,vUE),其中g為近似平滑投射散列函數中的標準計算函數。

⑤UE計算之后,使用公鑰pkHN加密傳輸信息,并將接入請求Mes1發送到SEAF。

Step2SEAF→AUSF:Mes2:EpkHN{Mes1,RANDSN,SNN}

SEAF收到接入請求消息之后,生成隨機質詢響應消息RANDSN,使用公鑰pkHN加密后,將消息Mes2發送到AUSF,然后SEAF將RANDSN記為RANDSN-OLD并存儲。

Step3AUSF→ARPF:Mes3:{GUTI,UE,hpUE,cUE=(uUE,vUE),T1,SNN}

AUSF接收來自SEAF的消息之后,使用私鑰skHN對消息進行解密,檢索RANDSN是否為初次接收。若是,則保存RANDSN;若不是,則進一步檢查RANDSN是否在存儲空間中,若是則拒絕接入請求,否則,接收接入請求,判斷RANDSN-RANDSN-OLD?=1,若不相等則拒絕接入請求,否則,令RANDSN=RANDSN+1,并將此次接收的RANDSN記為RANDSN-OLD存儲。之后,AUSF檢查網絡序列號SNN是否正確,若不正確,則拒絕身份認證接入請求,否則接受并存儲SNN,將消息Mes3轉發到ARPF。

Step4ARPF→AUSF:Mes4:{hpHN,cHN=(uHN,vHN),w,tk,SUPI,{5G_HE_AV}},步驟如下:

①ARPF收到消息后,保存網絡序列號SNN,生成時間戳T2,判斷是否T2-T1≥ΔT,若是,拒絕接入請求,否則,從GUTI中恢復出SUCI:SUCI=GUTI⊕IDUE,使用用戶標識符解密功能SIDF從SUCI中解密出SUPI。

②根據接收到的信息:hpUE,T1和labelUE:=UE‖HN‖hpUE‖T1驗證密文cUE的有效性。若密文cUE無效,則終止認證;否則,選取隨機數rHN←r{0,1}*和哈希密鑰hkHN←rK。

③計算投射密鑰hpHN=Proj(hkHN)。

④計算uHN=f(pkHN,SUPI,rHN),令labelHN:=UE‖HN‖hpUE‖cUE‖hpHN‖w,其中w為系統安全參數。

⑤計算vHN=g(pkHN,labelHN,SUPI,rHN),cHN=(uHN,vHN),tk=Hash(hpUE,uHN,SUPI,rHN)⊕HhkHN(uUE,SUPI)

⑥使用對稱密鑰共識算法[24]計算HN與UE之間的會話協商密鑰SK:(SK,w)←Con(tk,params),其中,params為系統參數,Con()為概率多項式時間調制函數。ARPF生成RAND,計算AUTN和XRES*,導出KAUSF,生成鑒權向量5G_HE_AV,并向AUSF發送Mes4。

5G_HE_AV的計算式為

MAC=f1(SK,(SQN‖RAND‖AMF‖SNN))·

XRES=f2(SK,RAND)

CK=f3(SK,RAND)

IK=f4(SK,RAND)

AK=f5(SK,RAND)

AUTN=(SQN⊕AK)‖AMF‖MAC

AV=RAND‖XRES‖CK‖IK‖AUTN

XRES*=KDF(CK‖IK,SNN‖RAND‖XRES)

KAUSF=KDF(CK‖IK,SNN‖SQN⊕AK)

5G_HE_AV=RAND‖AUTN‖XRES*‖KAUSF

式中:f1和f2為消息認證函數;f3,f4和f5為密鑰生成函數。

Step5AUSF→SEAF:Mes5:EpkSN{hpHN,cHN=(uHN,vHN),w,KSEAF,SUPI,RANDSN,{5G_SE_AV}}

AUSF保存接收到的SUPI和XRES*,計算HXRES*和密鑰KSEAF,并生成鑒權向量5G_AV,從而得到服務網絡認證向量5G_SE_AV,隨后使用SN公鑰pkSN加密消息,之后向SEAF發送Mes5。5G_SE_AV的計算式為

HXRES*=SHA256(RAND,XRES*)

KSEAF=KDF(KAUSF,SNN)

5G_AV=RAND‖AUTN‖HXRES*‖KSEAF

5G_SE_AV=RAND‖AUTN‖HXRES*

Step6SEAF→UE:Mes6:{hpHN,cHN=(uHN,vHN),w,RANDSN,RAND,AUTN,MACSN}

SEAF接收到AUSF發送的消息之后,使用私鑰skSN解密消息,驗證隨機質詢響應RANDSN-RANDSN-OLD?=1。若不相等則拒絕接受來自HN的身份認證響應消息;否則,保存數據HXRES*、RANDSN、SUPI,建立SUPI與KSEAF一一對應的列表。隨后,SEAF將會計算SN消息認證碼:MACSN=HMAC(KSEAF,RANDSN‖RAND‖AUTN),并向UE發送Mes6。

Step7UE→SEAF:Mes7:{MACUE,RES*}

UE接收到消息之后,執行以下步驟:

①根據接收到的信息:hpHN、w和labelHN:=UE‖HN‖hpUE‖cUE‖hpHN‖w驗證密文cHN的有效性。若密文cHN無效,則終止認證協議;否則計算tk′=HhkUE(uHN,SUPI)⊕Hash(hpHN,uUE,SUPI,rUE),并計算UE與HN之間的會話協商密鑰SK:SK←Rec(tk′,w,params)。

②計算匿名密鑰AK=f5(SK,RAND)。

③從AUTN中提取出SQN和MAC,檢索SQN=(SQN⊕AK)⊕AK,計算XMAC=f1(SK,(SQN‖RAND‖AMF‖SNN)),驗證XMAC?=MAC,若相等則驗證成功。隨之驗證SQN的正確范圍,若不在,則終止認證,否則計算:

RES=f2(SK,RAND)

CK=f3(SK,RAND)

IK=f4(SK,RAND)

RES*=KDF(CK‖IK,SNN‖RAND‖RES)

KAUSF=KDF(CK‖IK,SNN‖SQN⊕AK)

KSEAF=KDF(KAUSF,SNN)

Step8SEAF→AUSF:Mes8:{RES*}

Step9AUSF→SEAF:Mes9:{Result}

AUSF接收到消息后,對接收到的消息和AUSF保存來自ARPF的XRES*進行驗證RES*?=XRES*,若不相等,則從歸屬網絡HN的角度認為鑒權認證失敗,終止協議,并拒接后續通話,否則鑒權認證成功,AUSF向SEAF發送協議認證結果Mes9。

Step10SEAF收到消息之后,若認證結果失敗,則終止認證,否則SEAF使用KSEAF用于后續通信會話,從而完成車地認證。

4 安全性分析

4.1 切換認證協議

1)SUCI保護

在原始5G-AKA協議中,攻擊者可通過多次發起截獲的SUCI進行初始化認證過程,以獲得大量的認證令牌,并從中解析出SQN,進而發起攻擊。本文方案中UE的認證請求消息SUCI不再進行明文傳輸,而使用臨時身份GUTI代替SUCI在信道傳輸。在本文方法中,即使攻擊者截獲了GUTI,由于只有合法的UE和HN才持有IDUE,IDUE在信道中并未進行傳輸,攻擊者無法根據式SUCI=GUTI⊕IDUE獲得SUCI,根本上保證了SUCI的機密性傳輸。

2)前/后向安全性

在原始5G-AKA協議中,會話密鑰KSEAF是由UE與HN之間的共享根密鑰K派生而來,易被攻擊者竊取從而推導出前次/后次的會話密鑰,無法真正保障通信安全性。在本文方案中,通信會話密鑰KSEAF的生成依賴于UE與HN之間的協商密鑰SK,而SK是采用基于格的平滑投射哈希函數和對稱密鑰共識算法生成的。若攻擊者想要破獲SK就要解決帶錯誤學習(learningwitherrors,LWE)格上困難問題,但該問題被證明攻擊者在多項式時間內無法破解[21],故具有密鑰前/后向安全性。

3)抵抗重放攻擊

在原始5G-AKA協議中,攻擊者容易截獲UE與SN之間無線信道中傳輸的消息,從而發起重放攻擊。而在本文方案中,UE與SN無線信道之間傳輸的認證請求消息為:EpkHN{GUTI,UE,hpUE,cUE=(uUE,vUE),T1},此消息中不僅包含時間戳T1,而且還使用基于格上LWE困難問題[21]生成的公鑰pkHN對傳輸信息進行加密,只有合法的HN才擁有公鑰pkHN所對應的私鑰skHN,即使攻擊者截獲該消息,也無法破解該消息,因此可以避免重放攻擊。

4)抵抗偽SN攻擊

5)抵抗中間人攻擊

在原始5G-AKA協議中,由于UE與SN、HN通信三方之間未進行相互認證,故存在攻擊者作為中間人對截獲的消息進行篡改、轉發或監聽的風險。在本文方案中,UE和SN發送的身份認證請求信息通過基于格的公鑰pkHN加密之后發送到HN,只有合法的HN才有對應的私鑰。同樣,HN的響應消息也是由基于格的公鑰pkSN加密之后發送到SN,只有合法的SN才持有對應的私鑰。由此本文所提方案能夠抵抗中間人攻擊。

6)通信三方的相互認證

在原始5G-AKA協議中,由于UE、SN和HN之間通信三方未互認證,導致攻擊者易發起多種誘騙攻擊。而在本文方案中,通信三方能夠實現三方互認證,具體分析如下:

①UE和HN之間的雙向認證。UE向HN發送的身份認證請求信息中包含臨時身份GUTI、密文消息cUE=(uUE,vUE)以及時間戳T1。HN在接收到消息之后,會對時間戳、臨時身份GUTI和密文消息cUE進行驗證,若都驗證成功進行下一步。此外,HN會進行預期響應的驗證RES*?=XRES*。在UE側,通過驗證來自HN的密文cHN和計算消息認證碼XMAC=f1(SK,(SQN‖RAND‖AMF‖SNN))確定HN的合法性。因此,UE與HN完成了彼此的互相認證。

③HN和SN之間雙向認證。只有合法的HN才持有公鑰pkHN所對應的私鑰skHN,并解密SN轉發的消息。隨后,HN驗證隨機質詢響應消息RANDSN-RANDSN-OLD?=1和服務網絡名稱SNN是否一致,若一致則HN完成對SN的認證。同理,在SN側只有合法的SN才持有公鑰pkSN所對應的私鑰skSN,并解密HN的響應消息,之后,通過驗證隨機質詢響應RANDSN-RANDSN-OLD?=1完成對HN的驗證。SN和HN之間的消息是由彼此的公鑰加密之后進行傳輸的,故只有合法的HN和SN才能解密消息,從而對隨機質詢響應消息RANDSN進行操作。因此,HN和SN完成了彼此的互相認證。

從上述三方相互認證分析表明:本文方案能夠保證通信三方的相互認證和不可否認性,從而克服了5G-AKA協議中通信三方無身份認證缺點。

7)抗量子攻擊

在5G-AKA協議中,UE與HN之間的通信易被攻擊者攻擊。而在本文方案中,UE與HN之間的通信信息是由格上困難問題構造的,而格上困難問題被證明能夠抵抗量子攻擊[22],故本文方法能夠抵抗量子攻擊。

4.2 基于串空間的安全性證明

為了驗證本文所提方案的正確性,采用串空間形式化方法進行數學證明。串空間模型是一種分析安全協議的形式化數學模型,該模型能夠有效分析協議安全性[25]。將通信方抽象為UE、SN和HN,本文方法的串空間有向圖見圖1。

根據圖1,初始化定義如下:

1)名稱集合Tname,其中包含了UE、SN、HN。

2)假設串空間為Σ,s、r、t、P∈Σ。

①UE的串(起始串):s∈Init[UE,SN,HN,SUCI,hpUE,cUE,T1,hpHN,cHN,w,RANDSN,RAND,AUTN,RES*],其中Init表示起始串。其軌跡為tr(s)=〈+{{SUCI,UE,hpUE,cUE,T1}pkHN},-{hpHN,cHN,w,RANDSN,RAND,AUTN,MACSN},+{MACUE,RES*}〉,其中,tr(s)〈〉表示串s的跡,+為發送,-為接收,UE、SN、HN∈Tname,pkHN?KP,cUE、cHN形式化為原子項,kp為攻擊者密鑰集合。

②SN的串(響應串):r∈Resp[UE,SN,HN,SUCI,hpUE,cUE,T1,hpHN,cHN,w,RANDSN,SNN,RAND,KSEAF,SUPI,H1,H2,H3,Result],其中Resp表示響應者串。其軌跡為tr(s)=〈-{{SUCI,UE,hpUE,cUE,T1}pkHN},+{{SUCI,UE,hpUE,cUE,T1,RANDSN,SNN}pkHN},-{{hpHN,cHN,w,KSEAF,SUPI,RANDSN,RAND,AUTN,HXRES*}pkSN},+{hpHN,cHN,w,RANDSN,RAND,AUTN,MACSN},-{MACUE,RES*},+{RES*},-{Result}〉,其中UE、SN、HN∈Tname,pkSN?KP,pkHN?KP,KSEAF?KP,hpUE,hpHN,cUE、cHN形式化為原子項,H1、H2和H3是SN需要進行驗證的消息,且H2=SHA256(RAND||H3) ,SHA256表示輸出為256的哈希函數。

③HN的串(服務串):t∈Serv[UE,SN,HN,SUCI,hpUE,cUE,T1,hpHN,cHN,w,RANDSN,SNN,RAND,KSEAF,SUPI,AUTN,HXRES*,RES*,Result],其軌跡為tr(t)=〈-{{SUCI,UE,hpUE,cUE,T1,RANDSN,SNN}pkHN},+{{hpUE,cHN,w,KSEAF,SUPI,RANDSN,RAND,AUTN,HXRES*}pkSN},-{RES*},+{Result}〉,其中UE、SN、HN∈Tname,pkSN?KP,pkHN?KP,KSEAF?KP,hpUE,hpHN,cUE、cHN形式化為原子項,Serv為服務串操作。

④攻擊者的串:p∈P。

3)UE對SN和HN的身份認證,其具體形式化過程如下:

定理1①假設C為一個簇,簇C中包含UE的串:s∈Init[UE,SN,HN,SUCI,hpUE,cUE,T1,hpHN,cHN,w,RANDSN,RAND,AUTN,RES*]。

②pkHN?KP。

③hpUE,cUE,hpHN,cHN,RAND、RANDSN唯一產生于空間Σ。

④簇C還包含HN的串和SN的串。

對定理1的證明過程如下:

首先,進行對協商會話密鑰SK的證明:

①hpUE,cUE唯一產生于節點〈s,1〉,邊〈s,1〉?+〈s,2〉是hpUE,cUE在tk中的出測試,其中?+表示同一個串上的因果前驅。

②由出測試原理[25]可知:存在正常節點m,m#∈C,使得tk是m的分量且m?m#是hpUE、cUE的變換邊。

③由變換邊定義[25]可知:節點m為負節點,假設m為某HN串t#中的結點,串t#∈Serv[UE,SN,HN,SUCI,hpUE#,cUE#,T1,hpHN,cHN,w,RANDSN,SNN,RAND,KSEAF,SUPI,AUTN,HXRES*,RES*,Result],故m=〈t#,1〉,term〈t#,1〉=[hpUE,cUE]

④通過比較〈t#,1〉和HN串中分量可得:hpUE#=hpUE,cUE#=cUE。

同理可證:hpHN#=hpHN,cHN#=cHN,因此,由參數hpUE,cUE,hpHN,cHN生成的協商會話密鑰SK具有新鮮性和安全性。

接著證明定理1:由上述證明可知:SK具有安全性,且SK?KP,由于RAND唯一產生于空間Σ,因此,MAC?AUTN?term〈s,2〉產生于唯一的服務串t,且KSEAF是經由pkSN加密之后傳輸的,因此KSEAF?KP。由于MACSN?term〈s,2〉產生于唯一的響應串r,同時,{hpHN,cHN,w,KSEAF,SUPI′,RANDSN′,RAND,AUTN,H2′}pkSN=term〈r,3〉唯一產生于某個服務器串t′,RAND唯一產生空間Σ且t′=t,則RANDSN′=RANDSN,H2′=HXRES*。

同理可證:{SUCI,UE,hpUE,cUE,T1,RANDSN,SNN}pkHN=term〈t,1〉產生于某個響應串r′,RANDSN唯一產生于空間Σ且r′=r,則:SUCI′=SUCI,其中,term〈t,1〉為串t上第1個節點的項。

綜上,UE完成了對SN與HN的身份認證。

4)HN對SN和UE的身份認證,其具體形式化過程如下:

定理2①假設C為一個簇,簇C中包含HN的串:t∈Serv[UE,SN,HN,SUCI,hpUE,cUE,T1,hpHN,cHN,w,RANDSN,SNN,RAND,KSEAF,SUPI,AUTN,HXRES*,RES*,Result]。

②其中pkSN?KP,pkHN?KP,pkSEAF?KP。

③hpUE,cUE,hpHN,cHN,RAND、RANDSN唯一產生于空間Σ。

④簇C還包含UE的串和SN的串。

對定理2的證明過程如下:

由于SK←Rec(tk′,w,params),SK?KP,故CK?KP、IK?KP,CK‖IK?KP,所以RES*?term〈t,3〉產生于唯一的起始串s∈Init[UE,SN,HN,SUCI,hpUE,cUE,T1,hpHN,cHN,w,RANDSN,RAND′,AUTN′,RES*],且SQN′?AUTN′。同理,MAC′?AUTN′?term〈s,2〉產生于某個服務串t′,RAND唯一產生于空間Σ且t′=t,則SQN′=SQN、AUTN′=AUTN。

因為pkSN加密傳輸服務串t、KSEAF,且KSEAF?KP,又因為MACUE=term〈r,5〉產生于某起始串s′,hpUE,cUE,hpHN,cHN,RAND、RANDSN唯一產生空間Σ且s′=s,比較串中分量可得:RANDSN′=RANDSN,hpUE′=hpUE,cUE′=cUE,hpHN′=hpHN,cHN′=cHN。

綜上所述,HN完成了對UE與SN的身份認證,且HN與UE協商了會話密鑰SK。

5)SN對HN和UE的身份認證,其具體形式化過程如下:

定理3①假設C為一個簇,簇C中包含SN的串:r∈Resp[UE,SN,HN,SUCI,hpUE,cUE,T1,hpHN,cHN,w,RANDSN,SNN,RAND,KSEAF,SUPI,H1,H2,H3,Result]。

②其中pkSN?KP,pkHN?KP,pkSEAF?KP。

③hpUE,cUE,hpHN,cHN,RAND、RANDSN唯一產生于空間Σ。

④簇C還包含UE的串和HN的串。

對定理3的證明過程如下:

因為pkSN?KP,所以:{hpHN,cHN,w,KSEAF,SUPI,RANDSN,RAND,AUTN,HXRES*}pkSN=term〈r,3〉產生于唯一的某個服務串t′∈Serv[UE,SN,HN,SUCI′,hpUE′,cUE′,T1,hpHN′,cHN′,w′,RANDSN,SNN,RAND,KSEAF,SUPI,AUTN′,(HXRES*)′,(RES*)′,Result],其中SUPI′?SUCI′,(hpUE′,cUE′,hpHN′,cHN′,w′)?AUTN′,(hpUE′,cUE′,hpHN′,cHN′,w′)?(HXRES*)′,(hpUE′,cUE′,hpHN′,cHN′,w′)?(RES*)′,且KSEAF由SK派生而來,hpHN,cHN,RAND唯一產生于空間Σ且t′=t,則:hpUE′=hpUE,cUE′=cUE,w′=w,hpHN′=hpHN,cHN′=cHN。同理,{GUTI,UE,hpUE,cUE,T1}pkHN=term〈t,1〉產生于某個響應串r′,RANDSN唯一產生于空間Σ且r′=r,故SUCI′=SUCI。因此,AUTN′=AUTN,(HXRES*)′=HXRES*,(RES*)′=RES*。因為SK?KP,故CK?KP、IK?KP,CK‖IK?KP,所以RES*?term〈t,3〉產生于某個起始串s′∈Init[UE,SN,HN,SUCI,hpUE,cUE,T1,hpHN,cHN,w,RANDSN′,RAND,AUTN′,RES*],且SQN′?AUTN′。同理,MAC′?AUTN′?term〈s,2〉產生于某個服務串t′,RAND唯一產生于空間Σ且t′=t,則SQN′=SQN,AUTN′=AUTN。

因為KSEAF?KP,且MACUE=term〈r,5〉產生于某個起始串s′,hpUE,cUE,hpHN,cHN,RAND、RANDSN唯一產生于空間Σ且s′=s,則:RANDSN′=RANDSN。

綜上證明,SN完成了對UE與HN的身份認證。

5 性能分析

最后將所提方法與文獻[7,11,16]方法從安全性能、計算和通信開銷等方面進行定量比較分析。

首先進行安全性對比,如表2和表3所示。其中,表2中進行傳統安全性能方面的比較,包括前/后向安全性、抗中間人攻擊、抗重放攻擊。表3中列出對5G-AKA協議中SUCI保護、通信三方的相互認證、抗偽裝SN攻擊、根密鑰更新以及抗量子攻擊比較。

表2 傳統安全性能對比

表3 改進安全性能對比

從表2可以看出,原始5G-AKA協議在五種方法中,安全性最低,難以抵抗DoS、中間人、重放攻擊等。文獻[7]方案中,通過公鑰基礎設施機制生成公私鑰,但該方法容易使攻擊者發起針對SN和HN的DoS攻擊。此外,該方案無法抵抗重放攻擊等攻擊,這將導致通信方之間通信信息無法進行完整安全傳輸。文獻[11]方案中設備與UE通信期間實現了密鑰協商,完成了前向安全性并可以抵抗中間人攻擊,但在UE與SN和HN通信期間,根密鑰K并未實現動態更新,而其認證響應消息是基于該共享根密鑰K計算得到,一旦攻擊者獲取該密鑰之后,將會對UE與SN和HN之間的通信信息進行竊取或監聽,故該方案不滿足密鑰前向安全性,也易遭受中間人攻擊。文獻[16]方案基于橢圓曲線實現會話通信密鑰的動態更新,實現了會話密鑰的前/后向安全性,一般情況下該方案可以抵抗DoS攻擊,但當攻擊者為不同的惡意UE時,惡意UE向SEAF發送大量認證請求消息,之后SEAF、AUSF、ARPF未對認證請求消息進行認證檢驗而響應,則惡意UE丟棄返回的認證響應消息,繼續發送認證請求,從而導致SN和HN會受到惡意UE發起的DoS攻擊,且SN和HN的資源被消耗,故該方案中依然無法抵抗DoS攻擊。相較以上方案,本文方案不僅實現了UE與HN之間的密鑰協商,具有密鑰前后向安全性,而且加入了時間戳能夠抵抗重放攻擊等。

從表3進一步可以看出,原始5G-AKA協議存在較大安全隱患,無法有效確保5G-R下車地認證安全。文獻[7]方案和文獻[11]方案根密鑰未實現動態更新,車地通信信息易被截獲。文獻[16]方法較其他對比文獻方法改進了根密鑰更新及三方認證,安全性較高,但無法抵抗量子攻擊。本文方法基于格上LWE困難問題,其可抵抗量子攻擊[22]。綜上安全性能比較,可以看出本文所提方案具有更高的安全性能。

為了進一步對安全性定量分析,采用Bellare量化安全模型[26]對不同方法安全性能進行量化分析。分析時,一般采用優勢函數Adv(t)的偽隨機性來量化安全性。設密鑰長度k=128,則各比較方法加密機制的優勢函數分別為

AdvG-5G-AKA(n)≈(5n2+n)/2128

AdvG-[7](n)≈(5n2+5n)/2128

AdvG-[11](n)≈(5n2+n)/2128

AdvG-[16](n)≈(5n2+2n)/2128

AdvG-[本文](n)≈5n2/2128

從上述優勢函數可知,在密鑰長度相同的情況下,本文方法的優勢函數最小,其被攻擊成功的概率最低,僅為O(n2)×2-128,其中O()為時間復雜度函數,n為問題規模。因而本文方法較其他比較方法安全性更高。

在完成安全性分析后,進行計算開銷和通信開銷對比,結果如表4所示。

表4 計算開銷和通信開銷對比

表4中,各類運算的大小關系如下:Tped>Tecies>Tecm>Ted>Tf>Tcon>Trec[27-29]。在計算開銷方面,原始5G-AKA協議計算開銷最小,這是因為5G-AKA協議使用哈希函數和對稱運算實現協議安全性,其計算開銷最少,但其安全性最低。文獻[16]使用了對稱運算和橢圓曲線點乘運算,相較于非對稱運算所需計算開銷少,故其計算開銷也較少。文獻[11]則使用了少量的非對稱運算、橢圓曲線集成加密等運算,故其所需計算開銷較大于文獻[16],但均無法抵抗DoS攻擊。文獻[7]通過大量非對稱運算保證認證密鑰協商協議中通信信息在公共信道中的安全性,而非對稱運算較對稱運算所需計算開銷增大,故文獻[7]所需計算開銷在五種方法中最大。本文方案通過使用適量的非對稱運算和MAC函數運算,實現了信息安全傳輸和通信三方的相互認證,計算開銷低于文獻[7],并且安全性最高。

在通信開銷方面,5G-AKA協議作所需通信開銷較少,但其安全性也最低。文獻[7]和文獻[11]通信開銷小于文獻[16]和本文方法,但從表2表3可以看出上述方法根密鑰均不能動態更新,不能抵抗DoS攻擊和量子攻擊。文獻[16]需要傳輸較多的認證信息,故其通信開銷最高。本文方案的通信開銷低于文獻[16],原因為本文采用基于格上的公鑰加密機制和平滑投射散列函數降低了通信開銷,但本文方案為了抵抗偽裝SN攻擊和加強通信三方的相互認證,在傳輸信息中加入了隨機質詢和消息認證碼,故通信開銷略高于其他方法。綜合表2表3可知,本文方案安全性最高且認證時間開銷較低。最后,進行不同UE數量對車地認證計算開銷和通信開銷的影響分析。采用單次運算所需的時間作為參考值,其中密鑰/密鑰導出函數/MAC函數/哈希函數等運算為0.067 ms、橢圓曲線集成加密為2.580 ms、橢圓曲線點乘為1.038 ms、對稱運算為0.071 ms、非對稱運算為2.977 ms、密鑰共識加密為0.001 3 ms、密鑰共識解密為0.000 6 ms。將上述數值分別代入表4所得的計算開銷中,首先得到UE數量變化的計算開銷對比結果,見圖2。

圖2 計算開銷對比

從圖2可以看出,在5G-R車地認證過程中,隨著UE數量的增加認證所需的計算開銷也隨之增大。其中,5G-AKA協議在所有比較文獻中所需計算開銷最少,但5G-AKA協議安全性能也最低。文獻[11]和文獻[16]所需的計算開銷次之,但這兩個方案不能夠抵抗DoS攻擊和量子攻擊,安全性較差。文獻[7]采用的非對稱運算使得認證密鑰協商過程中的計算開銷增大。本文方案通過使用格上的公鑰密碼體制并運用了適量非對稱運算,實現通信三方之間通信信令安全、完整的傳輸,還能抵抗偽裝SN攻擊、量子攻擊,具有高安全性。

最后,得到通信開銷方面的影響對比結果,見圖3。

圖3 通信開銷對比

由圖3可以看出,隨著UE數量的增加,認證過程中的傳輸信息量增加,通信開銷也隨之增加。此外,5G-AKA協議的通信開銷最少,但是其安全性能最差。文獻[7]和文獻[11]的通信開銷也較少,但文獻[7]方案并未實現密鑰的動態更新,不滿足密鑰前/后向安全性,安全性能較差。文獻[11]也是在犧牲了安全性能的情況下傳輸較少的通信信息。文獻[16]的通信開銷最高,這是由于該方案為了實現相互認證和密鑰協商,需要相關的認證信息,故其通信開銷最高。本文方案的通信開銷低于文獻[16],這是因為本文方案使用格上的公鑰加密機制、平滑投射散列函數和密鑰共識算法實現車地之間會話密鑰的動態更新,需要傳輸一定的通信信息,此外,為了實現通信三方的相互認證、抵抗偽裝SN攻擊和重放攻擊等安全性能,本文方案還需傳輸隨機質詢消息和消息認證碼等額外信息。

綜上分析,本方案不僅在安全方面有較強的優勢,而且在通信和計算開銷也有一定的優勢,從而驗證了所提方案能夠滿足5G-R車地認證安全性的需求。

6 結論

5G-R作為我國未來的高速鐵路無線通信系統,其安全性對于我國高速鐵路有著至關重要的作用。針對5G-R中存在一系列安全和效率問題,提出一種基于格密碼的5G-R車地認證密鑰協商方案。結果表明:

1)采用臨時身份GUTI代替SUCI明文傳輸,避免了5G-AKA協議中SUCI明文傳輸問題,實現了對SUCI的機密性保護。

2)設計了基于格密碼的根密鑰更新策略,使用格上的公鑰加密機制、近似平滑投射散列函數和密鑰共識算法,實現了UE與HN之間協商會話密鑰的動態更新和前/后向安全性,并使用公鑰加密傳輸消息,確保了認證信息的安全性。

3)加入消息認證碼以及質詢響應消息,實現了5G-R下通信三方互認證,能夠抵抗DoS等多種惡意攻擊。

4)本文所提方案基于格上困難問題構造的,改善了協議的計算效率,能夠抵抗量子攻擊、偽裝SN攻擊等攻擊,具有較高的安全性。研究結果對于5G-R車地之間的安全認證提供了一定的理論依據。

雖然本文所提方案在安全性方面優于對比方法,但采用基于格上公鑰密碼體制及密鑰共識算法設計的認證協商協議仍存在計算復雜等問題。后續研究中將進一步對近似平滑投射散列函數進行優化,以及設計基于環上LWE的密鑰協商協議,來降低計算復雜度,減少通信信令傳輸,以提高協議的性能。

猜你喜歡
公鑰攻擊者抵抗
基于微分博弈的追逃問題最優策略設計
鍛煉肌肉或有助于抵抗慢性炎癥
做好防護 抵抗新冠病毒
iNOS調節Rab8參與肥胖誘導的胰島素抵抗
一種基于混沌的公鑰加密方案
正面迎接批判
HES:一種更小公鑰的同態加密算法
SM2橢圓曲線公鑰密碼算法綜述
有限次重復博弈下的網絡攻擊行為研究
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合