專利名稱:一種lte協(xié)議監(jiān)測(cè)分析中對(duì)nas信令解密裝置及方法
技術(shù)領(lǐng)域:
本發(fā)明屬于通信網(wǎng)絡(luò)協(xié)議監(jiān)測(cè)分析技術(shù)應(yīng)用領(lǐng)域。
背景技術(shù):
作為3G(Third Generation)的演進(jìn)技術(shù),LTE不僅可以提供更高的數(shù)據(jù)速率和容量、更大的覆蓋范圍,還可以降低業(yè)務(wù)的延遲以及系統(tǒng)的運(yùn)營成本,有利于運(yùn)營商推出更多實(shí)時(shí)性、高速率業(yè)務(wù),從而吸引更多的高端用戶。而相對(duì)于UMTS系統(tǒng),LTE系統(tǒng)的網(wǎng)絡(luò)結(jié)構(gòu)和協(xié)議也發(fā)生了很大的變化,LTE網(wǎng)絡(luò)結(jié)構(gòu)示意圖如圖1所示。LTE系統(tǒng)的無線接入部分由增強(qiáng)節(jié)點(diǎn)B (Enhanced Node B) 一種節(jié)點(diǎn)組成,核心網(wǎng)部分主要由移動(dòng)管理實(shí)體(Mobility Management Entity, MME), S-Gff(ServingGateway) 實(shí)體、分組數(shù)據(jù)網(wǎng)絡(luò)網(wǎng)關(guān)(Packet DataNetwork Gateway, PDNGateway)實(shí)體及策略與計(jì)費(fèi)規(guī)則功能(Policy andCharging Rules Function, PCRF)實(shí)體等組成,歸屬用戶服務(wù)器 (HomeSubscriber Server,HSS)為所有移動(dòng)網(wǎng)絡(luò)的共享實(shí)體。本發(fā)明的技術(shù)方案涉及到的接口和協(xié)議如以下所述Sl-MME接口,eNodeB實(shí)體和MME實(shí)體之間的接口,該接口上傳輸?shù)氖荢l接口應(yīng)用部分協(xié)議(Sl-interface Application Part protocol, S1AP)協(xié)議,并在 SlAP 消息中會(huì)嵌套傳輸非接入層(Non-Access-Mratum,NAS)協(xié)議消息,而本發(fā)明的目的就是對(duì)該接口上傳輸?shù)腘AS消息進(jìn)行解密。SlO接口,為MME實(shí)體之間的接口,在該接口上傳輸?shù)氖荊TP控制協(xié)議版本2 (GTP Control Plane version2, GTPv2-C)協(xié)議消息。S6a接口,為MME實(shí)體與HSS實(shí)體之間的接口,該接口上傳輸?shù)氖荄iameter協(xié)議消肩、ο在LTE網(wǎng)絡(luò)系統(tǒng)中,UE和MME實(shí)體之間的非接入層協(xié)議NAS的主要功能是實(shí)現(xiàn) UE的移動(dòng)性管理,會(huì)話管理以及安全控制,因此在監(jiān)測(cè)分析LTE網(wǎng)絡(luò)協(xié)議的技術(shù)應(yīng)用中,對(duì) NAS協(xié)議的監(jiān)測(cè)分析是至關(guān)重要的。但是在LTE網(wǎng)絡(luò)中,UE和MME實(shí)體之間經(jīng)過安全控制、 啟動(dòng)加密保護(hù)后,NAS消息會(huì)被加密傳輸,如果對(duì)監(jiān)測(cè)到的NAS消息不進(jìn)行解密,LTE協(xié)議監(jiān)測(cè)分析系統(tǒng)是無法實(shí)現(xiàn)對(duì)NAS消息的正確解碼和分析的,所以本發(fā)明的主要目的是在不改動(dòng)LTE網(wǎng)絡(luò)部署及配置的情況下,從相關(guān)的網(wǎng)絡(luò)接口捕獲監(jiān)測(cè)消息,提取相關(guān)信息,在 LTE網(wǎng)絡(luò)協(xié)議監(jiān)測(cè)分析系統(tǒng)中實(shí)現(xiàn)對(duì)捕獲到的NAS消息進(jìn)行解密,使監(jiān)測(cè)系統(tǒng)對(duì)NAS協(xié)議正確解碼和分析。在通用移動(dòng)通信系統(tǒng)(UniversalMobile TelecommunicationSystem, UMTS)網(wǎng)絡(luò)協(xié)議監(jiān)測(cè)分析系統(tǒng)中,可以對(duì)Iub接口上的非接入層協(xié)議(GPRS Mobility Management、 GMM,GPRS Session Management、GSM)消息進(jìn)行解密。圖2為UMTS網(wǎng)絡(luò)結(jié)構(gòu)的簡單示意圖, 其中Uu接口和Iub接口上的非接入層協(xié)議消息是加密傳輸?shù)?,而在Iu接口上傳輸?shù)姆墙尤雽訁f(xié)議消息是不加密的,在Iub接口上進(jìn)行監(jiān)測(cè)分析協(xié)議時(shí)可直接從Iu接口上的消息提取出密鑰對(duì)其加密的消息進(jìn)行解密。
這樣的技術(shù)方案無法應(yīng)用于LTE網(wǎng)絡(luò)協(xié)議監(jiān)測(cè)分析,因?yàn)榇嬖谌缦氯毕萦捎贚TE 網(wǎng)絡(luò)系統(tǒng)相對(duì)于UMTS網(wǎng)絡(luò)系統(tǒng),其網(wǎng)絡(luò)結(jié)構(gòu)、接口、協(xié)議都發(fā)生了很大的變化,不能簡單的從一個(gè)接口上提取信息,就能實(shí)現(xiàn)消息的解密,而且LTE網(wǎng)絡(luò)系統(tǒng)比UMTS網(wǎng)絡(luò)系統(tǒng)在安全機(jī)制上更加完善,因此現(xiàn)有的近似方案是無法實(shí)現(xiàn)LTE網(wǎng)絡(luò)協(xié)議監(jiān)測(cè)分析時(shí)對(duì)加密的消息解密。為了克服上述缺陷,就需要解決下述技術(shù)問題對(duì)NAS消息進(jìn)行解密而需要的相關(guān)安全參數(shù)的獲取、計(jì)算推導(dǎo)及維護(hù)。對(duì)NAS消息進(jìn)行解密所需要的所有安全參數(shù)要從LTE 網(wǎng)絡(luò)多個(gè)接口上不同協(xié)議消息中獲取,并根據(jù)相關(guān)參數(shù)進(jìn)行計(jì)算推導(dǎo)出必要的密鑰,而有的參數(shù)是動(dòng)態(tài)變化的,因此對(duì)NAS消息解密的安全參數(shù)的獲取、計(jì)算及維護(hù)要與LTE網(wǎng)絡(luò)中 UE和MME中的安全上下文Security Context)同步一致。 此外,還需要解決下述技術(shù)問題對(duì)SlO接口上特定的GTPV2-C協(xié)議消息中的安全參數(shù)進(jìn)行分析提取,對(duì)S6a接口上特定的Diameter消息中的安全參數(shù)進(jìn)行分析提取,以及對(duì)Sl-MME接口上特定的NAS消息中的安全參數(shù)進(jìn)行分析提取。
發(fā)明內(nèi)容
為了解決上述的技術(shù)問題,本發(fā)明提出了一種LTE協(xié)議監(jiān)測(cè)分析中對(duì)NAS信令解密處理的方法,包括如下步驟第一步,從Sl-MME接口、S6a接口,或SlO接口上的和UE安全相關(guān)的消息中提取 NAS解密需要的解密參數(shù)及UE標(biāo)識(shí)信息;第二步,利用提取的UE標(biāo)識(shí)信息在NAS解密參數(shù)存儲(chǔ)維護(hù)模塊中查找或建立該UE 的NAS消息解密參數(shù)數(shù)據(jù)結(jié)構(gòu),用提取出的解密參數(shù)對(duì)該UE的NAS消息解密參數(shù)數(shù)據(jù)結(jié)構(gòu)成員賦值,并根據(jù)賦值后的參數(shù)推導(dǎo)出解密參數(shù)數(shù)據(jù)結(jié)構(gòu)其他成員值;第三步,利用與需要解密的NAS消息對(duì)應(yīng)的UE標(biāo)識(shí)在NAS解密參數(shù)存儲(chǔ)維護(hù)模塊中查找到該UE的NAS消息解密參數(shù)數(shù)據(jù)結(jié)構(gòu),利用結(jié)構(gòu)中成員信息對(duì)加密NAS消息進(jìn)行解
滋
Γ t [ O根據(jù)本發(fā)明的一個(gè)方面,NAS消息解密參數(shù)數(shù)據(jù)結(jié)構(gòu)包括如下成員LENGTH 為需要解密的NAS消息的長度,以比特為單位;DIRECTION 表示此解密NAS消息的傳輸方向,1比特,0表示上行消息,1表示下行消息,規(guī)定UE到MME為上行方向,MME到UE為下行方向;BEARER 為承載ID,長度為5比特,對(duì)于解密NAS消息時(shí),該值為常量0 ;COUNT =NAS消息的計(jì)數(shù),長度為32比特,其分為上行NAS消息的COUNT (UPLINK NAS COUNT)和下行 NAS 消息 COUNT (DOWNLINK NAS COUNT);KEY 為NAS消息加解密使用的密鑰Knasenc,長度為128比特,此密鑰需要在NAS 交互的上下文中計(jì)算推導(dǎo)出;EEA 為NAS消息的加密解密算法,由相應(yīng)的算法ID進(jìn)行標(biāo)識(shí),ID長度為一個(gè)字節(jié),該ID值在NAS交互的相應(yīng)消息中給出。根據(jù)本發(fā)明的一個(gè)方面,從S6a接口上的與UE安全相關(guān)的消息中提取解密參數(shù)的具體處理過程為,第一步,輸入針對(duì)某個(gè) UE 的 Authentication Information Request 禾口Authentication Information Response 消息對(duì);第二步,從該消息對(duì)的Authentication Information Response中檢查是否含有該UE的E-UTRAN相關(guān)鑒權(quán)信息,沒有則結(jié)束過程,有則繼續(xù)執(zhí)行;第三步,從消息中提取針對(duì)該UE的E-UTRAN鑒權(quán)信息,即提取各個(gè)鑒權(quán)四元組信息;第四步,對(duì)該UE的AuthVector數(shù)組內(nèi)容進(jìn)行刪除,并用提取的E-UTRAN鑒權(quán)向量對(duì)AuthVector數(shù)組進(jìn)行重新賦值,結(jié)束過程。根據(jù)本發(fā)明的一個(gè)方面,從SlO接口上的與UE安全相關(guān)的消息中提取解密參數(shù)的具體處理過程為第一步,輸入和UE安全相關(guān)的GTPv2_C協(xié)議Identification Request和 Identification Response, 或 Context Request 禾口 Context Response, 或 Forward Relocation Request 禾口 Forward Relocation Response 消息。判斷消息中是否含有 UE 的移動(dòng)管理上下文信息(MM Context),如果沒有則結(jié)束過程,有則判斷MM Context中是否含有UE的狀態(tài)為Current的安全上下文信息(Security Context),沒有則結(jié)束過程,有則繼續(xù)處理;第二步,從Current的安全上下文信息中提取出安全參數(shù)KSIASME,Number ofQuadruplet,Used NAS Cipher, NAS Downlink Count, NAS UplinkCount,KASME 參數(shù),以及可能的 Authentication Quadruplet
參數(shù);第三步,判斷UE的參數(shù)中是否含有狀態(tài)為Current的NAS_DeCrypti0n_Para數(shù)據(jù)結(jié)構(gòu)實(shí)例,沒有則新生成一個(gè)該NAS_DeCrypti0n_Para數(shù)據(jù)結(jié)構(gòu)實(shí)例,實(shí)例中的Mate成員設(shè)置成Current狀態(tài),有則將該實(shí)例中的所有成員參數(shù)進(jìn)行重置,其Mate成員仍設(shè)置成 Current 狀態(tài);第四步,用從Current的安全上下文信息中提取的參數(shù)對(duì)該Current狀態(tài)NAS_ Decryption_Para數(shù)據(jù)結(jié)構(gòu)實(shí)例進(jìn)行成員賦值,并用得到的Kasme,EncryptionID和相應(yīng)的公式計(jì)算出加解密密鑰Knasenc ;第五步,如果從匪Context中提取出了 UE的鑒權(quán)四元組信息,則利用提取的 Number ofQuadrup let 禾口 Authentication Quadruplet
UE 的 AuthVector
例進(jìn)行重新賦值;第六步,判斷匪Context信息中是否含有UE的狀態(tài)為Not Current的安全上下文,沒有則結(jié)束整個(gè)過程,有則繼續(xù)執(zhí)行;第七步,從MM Context 信息中提取 old KSIASME, old KASME 參數(shù);第八步,判斷UE參數(shù)中是否含有狀態(tài)為Not Current的NAS_Decryption_Para數(shù)據(jù)結(jié)構(gòu)實(shí)例,沒有則新生成一個(gè)該數(shù)據(jù)結(jié)構(gòu)實(shí)例,成員State設(shè)置成Not Current狀態(tài),有則將該實(shí)例中所有參數(shù)進(jìn)行重置,其Mate仍然設(shè)置成Not Current狀態(tài);第九步,用從匪Context中提取的Not Current的安全上下文信息對(duì)該狀態(tài)為 Not Current 的 NAS_Decryption_Para 數(shù)據(jù)結(jié)構(gòu)實(shí)例進(jìn)行賦值,其 KSI 等于 old KSIASME, Kasme等于old KASME,其他參數(shù)仍為無效值;第十步,結(jié)束該過程。根據(jù)本發(fā)明的一個(gè)方面,從 Sl-MME 接口上的 Authenticationrequest/response消息中提取解密參數(shù)的具體處理過程為第一步,輸入針對(duì)某個(gè) UE 的 Authentication request 禾口 Authentication response 消息對(duì),從 Authentication request 消息中提取 RAND,AUTN,KSIasme 參數(shù)信息, /人 Authentication response fflE^HlX RES (Response);第二步,利用提取的RAND,AUTN,RES三個(gè)參數(shù)一起作為關(guān)鍵值,在UE的 AuthVector數(shù)組結(jié)構(gòu)中查找相應(yīng)的鑒權(quán)向量AV,其鑒權(quán)向量中的RAND,AUTN,XRES與提取的RAND,AUTN,RES三個(gè)參數(shù)分別相等;第三步,判斷是否查找到相應(yīng)鑒權(quán)向量AV,沒有找到則結(jié)束過程,找到則從鑒權(quán)向量中提取Kasme ;第四步,判斷當(dāng)前UE參數(shù)中是否有狀態(tài)為Not Current的NAS_Decryption_Para 數(shù)據(jù)結(jié)構(gòu)實(shí)例,沒有則新生成一個(gè)該NAS_DeCrypti0n_Para數(shù)據(jù)結(jié)構(gòu)實(shí)例,其Mate成員設(shè)置成Not Current狀態(tài);有則對(duì)該NAS_DeCryption_Para數(shù)據(jù)結(jié)構(gòu)實(shí)例中所有成員進(jìn)行充值,其Mate成員仍然設(shè)置成Not Current狀態(tài);第五步,利用上面提取的參數(shù)對(duì)Not Current狀態(tài)的NAS_Decryption_ Para數(shù)據(jù)結(jié)構(gòu)實(shí)例進(jìn)行賦值,KSI等于提取的KSIasme,Kasme等于提取的Kasme, UplinkNasOverflow, UplinkNasSQN, DownlinkNasOverflow, DownlinkNasSQN 都等于 0,其他成員為無效值;第六步,結(jié)束過程。根據(jù)本發(fā)明的一個(gè)方面,從 Sl-MME 接口上的 Security modecommand/complete 消息中提取解密參數(shù)的具體處理過程為第一步,輸入針對(duì)某個(gè)UE 的 Security mode command禾口 Securitymodecomplete 消息,從 Security mode command 消息中提取出 NAS KSI、Type of chipering algorithm 參數(shù),下行NAS消息的計(jì)數(shù)Downlink NASSN,從kcurity modecomplete消息消息中提取上行 NAS消息計(jì)數(shù)UplinkNAS SN, Security modecomplete消息作用是可判斷UE和MME實(shí)體之間的SMC過程成功執(zhí)行;第二步,利用提取的NAS KSI在UE的參數(shù)中查找相應(yīng)的NAS_Decryption_Para數(shù)據(jù)結(jié)構(gòu)實(shí)例;判斷是否查找到相應(yīng)的實(shí)例,沒有找到則結(jié)束過程,找到則繼續(xù)執(zhí)行;第三步,查看找到的該NAS_DeCrypti0n_Para數(shù)據(jù)結(jié)構(gòu)實(shí)例的狀態(tài),判斷是否為 Current,是貝U用提取白勺 Type of chipering algorithm f言;窗、更 fi亥 NAS_Decryption_Para 數(shù)據(jù)結(jié)構(gòu)實(shí)例中的EncryptionID成員,用提取的uplink Nas SN更新UplinkNasOverflow、 UplinkNasSQN 成員,用提取的 downlink Nas SN 更新 DownlinkNasOverflow、 DownlinkNasSQN成員,并用相應(yīng)的公式重新計(jì)算出NAS加解密密鑰Knasenc,結(jié)束過程;不是則執(zhí)行第四步;第四步,當(dāng)在第三步找到的NAS_DeCrypti0n_Para數(shù)據(jù)結(jié)構(gòu)實(shí)例的狀態(tài)為Not Current時(shí),判斷UE參數(shù)是否存在另外的狀態(tài)為Current的NAS_Decryption_Para數(shù)據(jù)結(jié)構(gòu)實(shí)例,存在則刪除該實(shí)例,不存在則繼續(xù)執(zhí)行第五步;第五步,利用提取的Type of chipering algorithm信息設(shè)置查找到的狀態(tài)為Not Current的NAS_Decryption_Para數(shù)據(jù)結(jié)構(gòu)實(shí)例成員EncryptionID,用相應(yīng)的公式計(jì)算出成員Knasenc,并將將該實(shí)例的狀態(tài)State設(shè)置成Current ;
第六步,結(jié)束過程。根據(jù)本發(fā)明的一個(gè)方面,對(duì)加密NAS消息進(jìn)行解密采用如下的方式第一步,輸入針對(duì)某個(gè)UE的加密NAS消息,即該NAS消息頭里的kcurity header type字段等于0010或0100,以及該NAS消息的上下行方向;第二步,判斷當(dāng)前該UE的參數(shù)中是否含有狀態(tài)為Current的NAS_DeCrypti0n_ Para數(shù)據(jù)結(jié)構(gòu)實(shí)例,不存在則直接結(jié)束過程;存在則繼續(xù)執(zhí)行。第三步,對(duì)輸入的NAS消息計(jì)算出加密部分的長度Length ;提取出NAS消息頭里的SN參數(shù),并利用輸入的NAS消息上下行信息對(duì)Current狀態(tài)的NAS_Decryption_Para數(shù)據(jù)結(jié)構(gòu)實(shí)例中的消息計(jì)數(shù)相關(guān)成員賦值;利用相應(yīng)的公式計(jì)算出NAS Count ;第四步,利用Current狀態(tài)的NAS_Decryption_Para數(shù)據(jù)結(jié)構(gòu)實(shí)例中Knasenc,NAS 消息加密部分的長度Length,計(jì)算出的NAS Count,輸入的NAS消息上下行信息,Current狀態(tài)的NAS_Decryption_Para數(shù)據(jù)結(jié)構(gòu)實(shí)例中EncryptionID指定的算法計(jì)算出密鑰流KEY STREAM ;第五步,利用計(jì)算出的密鑰流KEY STREAM與NAS消息的加密部分進(jìn)行按比特異或運(yùn)算,完成NAS消息加密部分的解密,輸入解密后的NAS消息明文;第六步,結(jié)束解密過程。本發(fā)明還提出了一種LTE協(xié)議監(jiān)測(cè)分析中對(duì)NAS信令解密處理的設(shè)備,包括NAS消息解密參數(shù)提取模塊,用于從Sl-MME接口上與UE安全相關(guān)的NAS消息中提取NAS解密需要的參數(shù)及UE標(biāo)識(shí)信息,及從S6a接口上與UE安全相關(guān)的diameter消息中提取NAS解密需要的參數(shù)及UE標(biāo)識(shí)信息,或從SlO接口上與UE安全相關(guān)的GTPv2_C消息中提取NAS解密需要的參數(shù)及UE標(biāo)識(shí)信息;NAS消息解密參數(shù)存儲(chǔ)維護(hù)模塊,用于對(duì)輸入的NAS消息解密參數(shù)進(jìn)行存儲(chǔ)維護(hù), 以及根據(jù)相關(guān)參數(shù)進(jìn)行推導(dǎo)計(jì)算出其他NAS解密參數(shù);NAS消息解密執(zhí)行模塊,用于根據(jù)從NAS解密參數(shù)存儲(chǔ)維護(hù)模塊輸出的參數(shù)及加密NAS消息本身的參數(shù)信息實(shí)現(xiàn)對(duì)輸入的加密NAS消息的解密。通過本發(fā)明的技術(shù)方案,從S1_MME、S10、或S6a接口上的特定消息提取和UE安全相關(guān)的信息,用來建立、推導(dǎo)、維護(hù)NAS消息解密必須的密鑰等相關(guān)參數(shù)??梢圆恍枰淖?LTE網(wǎng)絡(luò)的相關(guān)配置、以及對(duì)LTE網(wǎng)絡(luò)協(xié)議監(jiān)測(cè)分析系統(tǒng)預(yù)先進(jìn)行和UE解密相關(guān)數(shù)據(jù)的配置,就可以實(shí)現(xiàn)協(xié)議監(jiān)測(cè)分析系統(tǒng)對(duì)捕獲的加密NAS消息進(jìn)行解密操作。此外,在本發(fā)明中,還設(shè)計(jì)了 UE解密參數(shù)的數(shù)據(jù)結(jié)構(gòu),并且對(duì)應(yīng)每個(gè)UE最多有兩個(gè)該數(shù)據(jù)結(jié)構(gòu)的實(shí)例,分為兩種狀態(tài)。通過方案中的解密參數(shù)建立維護(hù)過程以及NAS消息解密過程對(duì)UE解密參數(shù)數(shù)據(jù)結(jié)構(gòu)的操作,可實(shí)現(xiàn)解密參數(shù)數(shù)據(jù)結(jié)構(gòu)中的信息與LTE網(wǎng)絡(luò)中UE和MME實(shí)體中的安全上下文信息同步,保證了協(xié)議監(jiān)測(cè)分析系統(tǒng)對(duì)NAS消息的正確解密。
下面結(jié)合附圖及具體實(shí)施例對(duì)本發(fā)明再作進(jìn)一步詳細(xì)的說明附圖1所示為LTE網(wǎng)絡(luò)結(jié)構(gòu)圖;附圖2所示為UMTS網(wǎng)絡(luò)結(jié)構(gòu)示意圖;附圖3所示為NAS消息解密裝置結(jié)構(gòu)框附圖4所示為NAS消息解密方法處理步驟;Ρ5Authentication Information Request/Response fflE^hSWil 程;附圖6所示為相關(guān)GTPv2_C消息處理的過程;Pt 7Authentication request/response E^hSilfM ;附圖 8 所示為 Security mode command/complete 消息處理過程;附圖9所示為NAS消息的解密過程。
具體實(shí)施例方式在LTE協(xié)議監(jiān)測(cè)分析時(shí),本技術(shù)方案可實(shí)現(xiàn)對(duì)抓取的移動(dòng)終端UE和MME實(shí)體之間交互的NAS消息的解密功能,其NAS消息包括上行和下行方向的所有加密NAS消息。如圖3所示,方框中的部分為本發(fā)明裝置的組成結(jié)構(gòu)圖。其中,方塊部分描述的是 NAS消息解密裝置結(jié)構(gòu)框圖,方塊以外部分是LTE網(wǎng)絡(luò)結(jié)構(gòu)示意圖,圖中箭頭描述的是本發(fā)明裝置及組成模塊的輸入與輸出。NAS消息解密裝置由三部分組成NAS消息解密參數(shù)提取模塊、NAS消息解密參數(shù)存儲(chǔ)維護(hù)模塊以及NAS消息解密執(zhí)行模塊。其中,各組成部分實(shí)現(xiàn)的功能如下NAS消息解密參數(shù)提取模塊用于從Sl-MME接口上與UE安全相關(guān)的NAS消息中提取NAS解密需要的參數(shù)及UE標(biāo)識(shí)信息,及從S6a接口上與UE安全相關(guān)的diameter消息中提取NAS解密需要的參數(shù)及UE標(biāo)識(shí)信息,或從SlO接口上與UE安全相關(guān)的GTPv2_C消息中提取NAS解密需要的參數(shù)及UE標(biāo)識(shí)信息。NAS消息解密參數(shù)存儲(chǔ)維護(hù)模塊用于對(duì)輸入的NAS消息解密參數(shù)進(jìn)行存儲(chǔ)維護(hù), 以及根據(jù)相關(guān)參數(shù)進(jìn)行推導(dǎo)計(jì)算出其他NAS解密參數(shù)。NAS消息解密執(zhí)行模塊根據(jù)從NAS解密參數(shù)存儲(chǔ)維護(hù)模塊輸出的參數(shù)及加密NAS 消息本身的參數(shù)信息實(shí)現(xiàn)對(duì)輸入的加密NAS消息的解密。附圖4示出了對(duì)加密的NAS消息進(jìn)行解密處理的方法,主要包括三大步驟1)從Sl-MME接口、S6a接口,或SlO接口上的和UE安全相關(guān)的消息中提取NAS解密需要的參數(shù)及UE標(biāo)識(shí)信息。2)利用步驟1輸出的UE標(biāo)識(shí)信息在NAS解密參數(shù)存儲(chǔ)維護(hù)模塊中查找或建立該 UE的NAS消息解密參數(shù)數(shù)據(jù)結(jié)構(gòu),并用步驟1輸出的解密參數(shù)對(duì)該UE的NAS消息解密參數(shù)數(shù)據(jù)結(jié)構(gòu)成員賦值,并根據(jù)相關(guān)參數(shù)推導(dǎo)出解密參數(shù)數(shù)據(jù)結(jié)構(gòu)其他成員值。3)利用與需要解密的NAS消息對(duì)應(yīng)的UE標(biāo)識(shí)在NAS解密參數(shù)存儲(chǔ)維護(hù)模塊中查找到該UE的NAS消息解密參數(shù)數(shù)據(jù)結(jié)構(gòu),利用結(jié)構(gòu)中成員信息對(duì)加密NAS消息進(jìn)行解密。在LTE系統(tǒng)內(nèi)對(duì)NAS協(xié)議消息進(jìn)行解密的參數(shù)不是固定的,而是隨著NAS信令的交互動(dòng)態(tài)變化的,因此需要相應(yīng)的數(shù)據(jù)結(jié)構(gòu)實(shí)時(shí)記錄存儲(chǔ)NAS協(xié)議解密需要的參數(shù)。對(duì)NAS協(xié)議進(jìn)行解密需要的參數(shù)及進(jìn)行存儲(chǔ)的相應(yīng)數(shù)據(jù)結(jié)構(gòu)如下LENGTH 為需要解密的NAS消息的長度,以比特為單位;DIRECTION 表示此解密NAS消息的傳輸方向,1比特,0表示上行消息,1表示下行消息,規(guī)定UE到MME為上行方向,MME到UE為下行方向;BEARER 為承載ID,長度為5比特,對(duì)于解密NAS消息時(shí),該值為常量0 ;
COUNT =NAS消息的計(jì)數(shù),長度為32比特,其分為上行NAS消息的COUNT (UPLINK NAS COUNT)和下行 NAS 消息 COUNT (DOWNLINK NAS COUNT);KEY 為NAS消息加解密使用的密鑰Knasenc,長度為128比特,此密鑰需要在NAS 交互的上下文中計(jì)算推導(dǎo)出;EEA 為NAS消息的加密解密算法,由相應(yīng)的算法ID進(jìn)行標(biāo)識(shí),ID長度為一個(gè)字節(jié),該ID值在NAS交互的相應(yīng)消息中給出。以上輸入?yún)?shù)中,BEARER為常量,LENGTH、DIRECTION由相應(yīng)的加密NAS消息直接得到,EEA的ID由相應(yīng)NAS消息給出,而C0UNT、KEY則需要由相應(yīng)的數(shù)據(jù)推導(dǎo)計(jì)算,推導(dǎo)計(jì)算如下COUNT = 0x00 NAS OVERFLOW | NAS SQN (1)其公式(1)中,NAS SQN為COUNT的最后8比特,該值在每個(gè)NAS消息中傳輸;NAS OVERFLOW為COUNT中間16比特,當(dāng)NAS SQN值累加溢出時(shí),NAS OVERFLOW就加1。Knasenc = f (Kasme, 0x15 | 0x011 0x00011 algorithmic! (AES/SN0W) 0x0001) (2)其公式(2)中,f為密鑰導(dǎo)出函數(shù) KDF (KEY DERIVED FUNCTION),Kasme 為 Knasenc 的導(dǎo)出密鑰,長度為256比特,由HSS實(shí)體產(chǎn)生,在鑒權(quán)向量AV(AUTHENTICATION VECTOR) 中傳輸;algorithmic!為使用的加解密算法EEA的ID。以上為NAS消息進(jìn)行解密的參數(shù),本發(fā)明中的NAS消息解密參數(shù)存儲(chǔ)結(jié)構(gòu)用C++ 描述如下
Struct NAS—Decryption—Para{
intKSI;
intState;
unsigned char Kasme[32];
intEncryptionID;
unsigned char Knasenc[16];
intUplinkNasOverflow;
intUplinkNasSQN;
intDownlinkNasOverflow;
intDownlinkNasSQN;
};其中,KSI為LTE中和UE相關(guān)的安全上下文標(biāo)識(shí),每個(gè)Kasme都由一個(gè)KSI唯一關(guān)聯(lián),該值由MME進(jìn)行分配,在NAS消息中傳輸;State為UE安全上下文的狀態(tài),其有兩種狀態(tài),CURRENT 和 NOT CURRENT ;EncryptionID 為加解密算法 ID ;UplinkNasOverflow, UplinkNasSQN、DownlinkNasOverflow、DownlinkNasSQN 分別為上下行 NAS COUNT 的組成部分。在使用時(shí),該參數(shù)數(shù)據(jù)結(jié)構(gòu)和LTE中UE的安全上下文對(duì)應(yīng),也由KSI進(jìn)行唯一標(biāo)識(shí),對(duì)于每個(gè)UE有兩個(gè)數(shù)據(jù)結(jié)構(gòu)的實(shí)例,一個(gè)對(duì)應(yīng)于CURRENT狀態(tài)的安全上下文,一個(gè)對(duì)應(yīng)于NOT⑶RRENT狀態(tài)的安全上下文。為記錄保存對(duì)UE進(jìn)行鑒權(quán)認(rèn)證的鑒權(quán)向量AV(AUTHENTICATIONVECTOR),其數(shù)據(jù)
存儲(chǔ)結(jié)構(gòu)如下(C++語言描述)
Struct NAS_AV{ unsigned char Kasme[32]; unsigned char RAND口; unsigned char AUTN口;
unsigned char XRES口; };
NAS_AV AuthVector[];其中,Kasme、RAND, AUTN, XRES為鑒權(quán)向量4元組的組成部分,由網(wǎng)絡(luò)HSS實(shí)體產(chǎn)生,在相應(yīng)的diameter和GTPv2-C消息中攜帶傳輸;AuthVector為保存多個(gè)鑒權(quán)向量AV的數(shù)組。使用時(shí),對(duì)于每個(gè)UE都有一個(gè)該AuthVector數(shù)組結(jié)構(gòu)對(duì)應(yīng),存儲(chǔ)從diameter和 GTPv2-C消息中提取出的針對(duì)該UE的鑒權(quán)向量信息。NAS消息解密參數(shù)的提取與維護(hù)過程主要是從Sl-MME、S10、S6a接口上的與UE 安全相關(guān)的消息中提取出解密參數(shù)信息,完成NAS解密參數(shù)的存儲(chǔ)、推導(dǎo)、維護(hù)操作。針對(duì)不同接口上的不同消息,其解密參數(shù)的提取與維護(hù)處理過程也不同,下面以接口為單位進(jìn)行描述。1.從S6a接口上的與UE安全相關(guān)的消息中提取解密參數(shù)該過程從diameter消息中提取出對(duì)UE的鑒權(quán)向量信息。S6a接口上和UE安全相關(guān)的消息為 Diameter 協(xié)議的 Authentication InformationRequest 禾口 Authentication Information Response 消息。具體過程如圖5所示第一步,輸入針對(duì)某個(gè) UE 的 Authentication Information Request 禾口 Authentication Information Response 消息對(duì);第二步,從該消息對(duì)的Authentication Information Response中檢查是否含有該UE的E-UTRAN相關(guān)鑒權(quán)信息,沒有則結(jié)束過程,有則繼續(xù)執(zhí)行;第三步,從消息中提取針對(duì)該UE的E-UTRAN鑒權(quán)信息,即提取各個(gè)鑒權(quán)四元組信息;第四步,對(duì)該UE的AuthVector數(shù)組內(nèi)容進(jìn)行刪除,并用提取的E-UTRAN鑒權(quán)向量對(duì)AuthVector數(shù)組進(jìn)行重新賦值,結(jié)束過程。2.從SlO接口上的與UE安全相關(guān)的消息中提取解密參數(shù)該過程從GTPv2_C協(xié)議消息中提取出關(guān)于UE的安全上下文信息Security Context)。SlO 接口上和 UE 安全相關(guān)的 GTPv2-C 協(xié)議消息為,Identification Request禾口 Identification Response 消息,ContextRequest 禾口 Context Response 消息,F(xiàn)orward Relocation Request 禾口 Forward Relocation Response 消息。具體過程描如附圖6所示第一步,輸入和UE安全相關(guān)的GTPv2_C協(xié)議Identification Request和 Identification Response, 或 Context Request 禾口 Context Response, 或 Forward Relocation Request 禾口 Forward Relocation Response 消息。判斷消息中是否含有 UE 的移動(dòng)管理上下文信息(MM Context),如果沒有則結(jié)束過程,有則判斷MM Context中是否含有UE的狀態(tài)為Current的安全上下文信息(Security Context),沒有則結(jié)束過程,有則繼續(xù)處理;第二步,從Current的安全上下文信息中提取出安全參數(shù)KSIASME,Number ofQuadruplet,Used NAS Cipher, NAS Downlink Count, NAS UplinkCount,KASME 參數(shù),以及可能的 Authentication Quadruplet
參數(shù);第三步,判斷UE的參數(shù)中是否含有狀態(tài)為Current的NAS_DeCrypti0n_Para數(shù)據(jù)結(jié)構(gòu)實(shí)例,沒有則新生成一個(gè)該NAS_DeCrypti0n_Para數(shù)據(jù)結(jié)構(gòu)實(shí)例,實(shí)例中的Mate成員設(shè)置成Current狀態(tài),有則將該實(shí)例中的所有成員參數(shù)進(jìn)行重置,其Mate成員仍設(shè)置成 Current 狀態(tài);第四步,用從Current的安全上下文信息中提取的參數(shù)對(duì)該Current狀態(tài)NAS_ Decryption_Para數(shù)據(jù)結(jié)構(gòu)實(shí)例進(jìn)行成員賦值,并用得到的Kasme,EncryptionID和公式2 計(jì)算出加解密密鑰Knasenc ;第五步,如果從匪Context中提取出了 UE的鑒權(quán)四元組信息,則利用提取的 Number ofQuadrup let 禾口 Authentication Quadruplet
UE 的 AuthVector
例進(jìn)行重新賦值;第六步,判斷匪Context信息中是否含有UE的狀態(tài)為Not Current的安全上下文,沒有則結(jié)束整個(gè)過程,有則繼續(xù)執(zhí)行;第七步,從MM Context 信息中提取 old KSIASME, old KASME 參數(shù);第八步,判斷UE參數(shù)中是否含有狀態(tài)為Not Current的NAS_Decryption_Para數(shù)據(jù)結(jié)構(gòu)實(shí)例,沒有則新生成一個(gè)該數(shù)據(jù)結(jié)構(gòu)實(shí)例,成員State設(shè)置成Not Current狀態(tài),有則將該實(shí)例中所有參數(shù)進(jìn)行重置,其Mate仍然設(shè)置成Not Current狀態(tài);第九步,用從匪Context中提取的Not Current的安全上下文信息對(duì)該狀態(tài)為 Not Current 的 NAS_Decryption_Para 數(shù)據(jù)結(jié)構(gòu)實(shí)例進(jìn)行賦值,其 KSI 等于 old KSIASME, Kasme等于old KASME,其他參數(shù)仍為無效值;第十步,結(jié)束該過程;3.從Sl-MME接口上的與UE安全相關(guān)的消息中提取解密參數(shù)該過程從NAS消息中提取出UE的安全參數(shù)。Sl-MME接口上和UE安全信息相關(guān)的 NAS 消息有 Authentication request 禾口 Authenticationresponse 消息,Security mode command和kcurity mode complete消息。這兩對(duì)消息含有的安全信息和作用都不同,以下分別描述對(duì)他們的處理過程。1) X^t Authentication request/response E^hSilfM具體過程描述如圖7所示
第一步,輸入針對(duì)某個(gè) UE 的 Authentication request 禾口 Authentication response 消息對(duì)。從 Authentication request 消息中提取 RAND,AUTN,KSIasme 參數(shù)信息, 從 Authentication response fftl、巾 11 RES (Response)。第二步,利用提取的RAND,AUTN,RES三個(gè)參數(shù)一起作為關(guān)鍵值,在UE的 AuthVector數(shù)組結(jié)構(gòu)中查找相應(yīng)的鑒權(quán)向量AV,其鑒權(quán)向量中的RAND,AUTN,XRES與提取的RAND,AUTN,RES三個(gè)參數(shù)分別相等。第三步,判斷是否查找到相應(yīng)鑒權(quán)向量AV,沒有找到則結(jié)束過程,找到則從鑒權(quán)向量中提取Kasme。第四步,判斷當(dāng)前UE參數(shù)中是否有狀態(tài)為Not Current的NAS_Decryption_Para 數(shù)據(jù)結(jié)構(gòu)實(shí)例,沒有則新生成一個(gè)該NAS_DeCrypti0n_Para數(shù)據(jù)結(jié)構(gòu)實(shí)例,其Mate成員設(shè)置成Not Current狀態(tài);有則對(duì)該NAS_DeCryption_Para數(shù)據(jù)結(jié)構(gòu)實(shí)例中所有成員進(jìn)行充值,其Mate成員仍然設(shè)置成Not Current狀態(tài);第五步,利用上面提取的參數(shù)對(duì)Not Current狀態(tài)的NAS_Decryption_ Para數(shù)據(jù)結(jié)構(gòu)實(shí)例進(jìn)行賦值,KSI等于提取的KSIasme,Kasme等于提取的Kasme, UplinkNasOverflow, UplinkNasSQN, DownlinkNasOverflow, DownlinkNasSQN 都等于 0,其他成員為無效值。第六步,結(jié)束過程;2)對(duì) Security mode command/complete 消息處理過程具體過程描述如圖8所示第一步,輸入針對(duì)某個(gè)UE 的 Security mode command禾口 Securitymodecomplete 消息,從 Security mode command 消息中提取出 NAS KSI、Type of chipering algorithm 參數(shù),下行NAS消息的計(jì)數(shù)Downlink NASSN,從kcurity modecomplete消息消息中提取上行 NAS消息計(jì)數(shù)UplinkNAS SN, Security modecomplete消息作用是可判斷UE和MME實(shí)體之間的SMC過程成功執(zhí)行。第二步,利用提取的NAS KSI在UE的參數(shù)中查找相應(yīng)的NAS_Decryption_Para數(shù)據(jù)結(jié)構(gòu)實(shí)例;判斷是否查找到相應(yīng)的實(shí)例,沒有找到則結(jié)束過程,找到則繼續(xù)執(zhí)行。第三步,查看找到的該NAS_DeCrypti0n_Para數(shù)據(jù)結(jié)構(gòu)實(shí)例的狀態(tài),判斷是否為 Current,是貝U用提取白勺 Type of chipering algorithm f言;窗、更 fi亥 NAS_Decryption_Para 數(shù)據(jù)結(jié)構(gòu)實(shí)例中的EncryptionID成員,用提取的uplink Nas SN更新UplinkNasOverflow、 UplinkNasSQN 成員,用提取的 downlink Nas SN 更新 DownlinkNasOverflow、 DownlinkNasSQN成員,并用公式2重新計(jì)算出NAS加解密密鑰Knasenc,結(jié)束過程;不是則執(zhí)行第四步。第四步,當(dāng)在第三步找到的NAS_DeCrypti0n_Para數(shù)據(jù)結(jié)構(gòu)實(shí)例的狀態(tài)為Not Current時(shí),判斷UE參數(shù)是否存在另外的狀態(tài)為Current的NAS_Decryption_Para數(shù)據(jù)結(jié)構(gòu)實(shí)例,存在則刪除該實(shí)例,不存在則繼續(xù)執(zhí)行第五步。第五步,利用提取的Type of chipering algorithm信息設(shè)置查找到的狀態(tài)為Not Current的NAS_Decryption_Para數(shù)據(jù)結(jié)構(gòu)實(shí)例成員EncryptionID,用公式2計(jì)算出成員 Knasenc,并將將該實(shí)例的狀態(tài)State設(shè)置成Current。第六步,結(jié)束過程。
對(duì)加密NAS消息執(zhí)行解密的過程主要是利用從NAS消息中提取的信息和Current 狀態(tài)的NAS_DeCrypti0n_Para數(shù)據(jù)結(jié)構(gòu)實(shí)例中的成員信息計(jì)算出密鑰碼流,實(shí)現(xiàn)對(duì)加密 NAS消息的解密。具體過程描述如圖9所示第一步,輸入針對(duì)某個(gè)UE的加密NAS消息,即該NAS消息頭里的kcurity header type字段等于0010或0100,以及該NAS消息的上下行方向。第二步,判斷當(dāng)前該UE的參數(shù)中是否含有狀態(tài)為Current的NAS_DeCrypti0n_ Para數(shù)據(jù)結(jié)構(gòu)實(shí)例,不存在則直接結(jié)束過程;存在則繼續(xù)執(zhí)行。第三步,對(duì)輸入的NAS消息計(jì)算出加密部分的長度Length ;提取出NAS消息頭里的SN參數(shù),并利用輸入的NAS消息上下行信息對(duì)Current狀態(tài)的NAS_Decryption_Para數(shù)據(jù)結(jié)構(gòu)實(shí)例中的消息計(jì)數(shù)相關(guān)成員賦值;利用公式1計(jì)算出NAS Count ;第四步,利用Current狀態(tài)的NAS_Decryption_Para數(shù)據(jù)結(jié)構(gòu)實(shí)例中Knasenc,NAS 消息加密部分的長度Length,計(jì)算出的NAS Count,輸入的NAS消息上下行信息,Current狀態(tài)的NAS_Decryption_Para數(shù)據(jù)結(jié)構(gòu)實(shí)例中EncryptionID指定的算法計(jì)算出密鑰流KEY STREAM。第五步,利用計(jì)算出的密鑰流KEY STREAM與NAS消息的加密部分進(jìn)行按比特異或運(yùn)算,完成NAS消息加密部分的解密,輸入解密后的NAS消息明文。第六步,結(jié)束解密過程。本領(lǐng)域的技術(shù)人員應(yīng)該理解,本發(fā)明的方法和裝置可以采用硬件、軟件、或硬件和軟件相結(jié)合的方式,通過微處理器、數(shù)字信號(hào)處理器、現(xiàn)場(chǎng)可編程邏輯單元、或門陣列等各種方式實(shí)現(xiàn)。綜上所述,雖然本發(fā)明已以優(yōu)選實(shí)施例披露如上,然而其并非用以限定本發(fā)明。本發(fā)明所屬技術(shù)領(lǐng)域的普通技術(shù)人員,在不脫離本發(fā)明的精神和范圍內(nèi),可作各種變動(dòng)與修飾。因此,本發(fā)明的保護(hù)范圍當(dāng)視后附的權(quán)利要求所界定的范圍為準(zhǔn)。
權(quán)利要求
1.一種LTE協(xié)議監(jiān)測(cè)分析中對(duì)傳輸非接入層(NAQ信令解密處理的方法,其特征在于, 包括如下步驟第一步,從Sl-MME接口、S6a接口,或SlO接口上的和UE安全相關(guān)的消息中提取NAS解密需要的解密參數(shù)及UE標(biāo)識(shí)信息;第二步,利用提取的UE標(biāo)識(shí)信息在NAS解密參數(shù)存儲(chǔ)維護(hù)模塊中查找或建立該UE的 NAS消息解密參數(shù)數(shù)據(jù)結(jié)構(gòu),用提取出的解密參數(shù)對(duì)該UE的NAS消息解密參數(shù)數(shù)據(jù)結(jié)構(gòu)成員賦值,并根據(jù)賦值后的參數(shù)推導(dǎo)出解密參數(shù)數(shù)據(jù)結(jié)構(gòu)其他成員值;第三步,利用與需要解密的NAS消息對(duì)應(yīng)的UE標(biāo)識(shí)在NAS解密參數(shù)存儲(chǔ)維護(hù)模塊中查找到該UE的NAS消息解密參數(shù)數(shù)據(jù)結(jié)構(gòu),利用結(jié)構(gòu)中成員信息對(duì)加密NAS消息進(jìn)行解密。
2.如權(quán)利要求1所述的方法,其特征在于,NAS消息解密參數(shù)數(shù)據(jù)結(jié)構(gòu)包括如下成員 長度(LENGTH):為需要解密的NAS消息的長度,以比特為單位;方向(DIRECTION)表示此解密NAS消息的傳輸方向,1比特,0表示上行消息,1表示下行消息,規(guī)定UE到MME為上行方向,MME到UE為下行方向;承載(BEARER):為承載ID,長度為5比特,對(duì)于解密NAS消息時(shí),該值為常量0 ; 計(jì)數(shù)(COUNT) =NAS消息的計(jì)數(shù),長度為32比特,其分為上行NAS消息的COUNT和下行 NAS 消息 COUNT ;密鑰(KEY)為NAS消息加解密使用的密鑰Knasenc,長度為128比特,此密鑰需要在 NAS交互的上下文中計(jì)算推導(dǎo)出;加解密算法(EEA)為NAS消息的加密解密算法,由相應(yīng)的算法ID進(jìn)行標(biāo)識(shí),ID長度為一個(gè)字節(jié),該ID值在NAS交互的相應(yīng)消息中給出。
3.如權(quán)利要求1所述的方法,其特征在于,從S6a接口上的與UE安全相關(guān)的消息中提取解密參數(shù)的具體處理過程為第一步,輸入針對(duì)某個(gè)UE的鑒權(quán)信息請(qǐng)求(Authenticatior^nformation Request)和鑒權(quán)信息響應(yīng)(Authentication InformationResponse)消息對(duì);第二步,從該消息對(duì)的鑒權(quán)信息響應(yīng)中判斷是否含有該UE的E-UTRAN相關(guān)鑒權(quán)信息, 如果沒有則結(jié)束過程,否則繼續(xù)執(zhí)行;第三步,從該消息中提取針對(duì)該UE的E-UTRAN鑒權(quán)信息,即提取各個(gè)鑒權(quán)四元組信息;第四步,對(duì)該UE的鑒權(quán)向量數(shù)組內(nèi)容進(jìn)行刪除,并用提取的E-UTRAN鑒權(quán)向量對(duì)鑒權(quán)向量數(shù)組進(jìn)行重新賦值,結(jié)束過程。
4.如權(quán)利要求1所述的方法,其特征在于,從SlO接口上的與UE安全相關(guān)的消息中提取解密參數(shù)的具體處理過程為第一步,輸入和UE安全相關(guān)的GTPv2_C協(xié)議識(shí)別請(qǐng)求(Identification Request)和識(shí)別響應(yīng)(Identification Response),或上下文請(qǐng)求(Context Request)和上下文響應(yīng) (Context Response),或轉(zhuǎn)發(fā)重定位請(qǐng)求(Forward Relocation Request)禾口轉(zhuǎn)發(fā)重定位口向應(yīng)(i^rward Relocation Response)消息,判斷消息中是否含有UE的移動(dòng)管理上下文信息 (MM Context),如果沒有則結(jié)束過程,否則進(jìn)一步判斷移動(dòng)管理上下文信息中是否含有UE 的狀態(tài)為Current的安全上下文信息(Security Context),沒有則結(jié)束過程,否則繼續(xù)處理;第二步,從Current的安全上下文信息中提取出安全參數(shù)KSIASME,Number ofQuadruplet,Used NAS Cipher, NAS Downlink Count, NAS UplinkCount,KASME 參數(shù),以及可能的 Authentication Quadruplet
參數(shù);第三步,判斷UE的參數(shù)中是否含有狀態(tài)為Current的NAS_DeCryption_Para數(shù)據(jù)結(jié)構(gòu)實(shí)例,如果沒有則新生成一個(gè)該NAS_DeCrypti0n_Para數(shù)據(jù)結(jié)構(gòu)實(shí)例,其中實(shí)例中的狀態(tài) (State)成員設(shè)置為Current狀態(tài),如果有則將該實(shí)例中的所有成員參數(shù)進(jìn)行重置,其中狀態(tài)成員仍設(shè)置為Current狀態(tài);第四步,用從Current的安全上下文信息中提取的參數(shù)對(duì)該Current狀態(tài)NAS_ Decryption_Para數(shù)據(jù)結(jié)構(gòu)實(shí)例進(jìn)行成員賦值,并用得到的Kasme,EncryptionID,利用公式Knasenc = f (Kasme, 0x15 | OxOl | 0x00011 algorithmic! (AES/SN0W) 0x0001) 計(jì)算出加解密密鑰Knasenc,其中,f為密鑰導(dǎo)出函數(shù)KDF(KEYDERIVED FUNCTION), Kasme為Knasenc的導(dǎo)出密鑰,長度為256比特,由HSS實(shí)體產(chǎn)生,在鑒權(quán)向量 AV (AUTHENTICATION VECTOR)中傳輸,algorithmic!為使用的加解密算法 EEA 的 ID ;第五步,如果從移動(dòng)管理上下文信息中提取出了 UE的鑒權(quán)四元組信息,則利用提取的 Number ofQuadruplet 禾口 Authentication Quadruplet
對(duì)UE 的鑒權(quán)向量數(shù)組實(shí)例進(jìn)行重新賦值;第六步,判斷移動(dòng)管理上下文信息中是否含有UE的狀態(tài)為NotCurrent的安全上下文, 沒有則結(jié)束整個(gè)過程,否則繼續(xù)執(zhí)行下一步;第七步,從移動(dòng)管理上下文信息中提取old KSIASME, old KASME參數(shù); 第八步,判斷UE參數(shù)中是否含有狀態(tài)為Not Current的NAS_DeCryption_Para數(shù)據(jù)結(jié)構(gòu)實(shí)例,如果沒有則新生成一個(gè)該數(shù)據(jù)結(jié)構(gòu)實(shí)例,并將Mate成員設(shè)置成Not Current狀態(tài),如果有則將該實(shí)例中所有參數(shù)進(jìn)行重置,其Mate成員仍然設(shè)置成Not Current狀態(tài); 第九步,用從移動(dòng)管理上下文信息中提取的Not Current的安全上下文信息對(duì)該狀態(tài)為Not Current的NAS_Decryption_Para數(shù)據(jù)結(jié)構(gòu)實(shí)例進(jìn)行賦值,其KSI等于old KSIASME, Kasme等于old KASME,其他參數(shù)仍為無效值; 第十步,結(jié)束該過程。
5.如權(quán)利要求1所述的方法,其特征在于,從Sl-MME接口上的鑒權(quán)請(qǐng)求/響應(yīng) (Authentication request/response)消息中提取解密參數(shù)的具體處理過程為第一步,輸入針對(duì)某個(gè)UE的鑒權(quán)請(qǐng)求(Authentication request)和鑒權(quán)響應(yīng) (Authentication response)消息對(duì),從鑒權(quán)請(qǐng)求消息中提取RAND,AUTN, KSIasme參數(shù)信息,從鑒權(quán)響應(yīng)消息中提取RES參數(shù)(Response);第二步,利用提取的RAND,AUTN,RES三個(gè)參數(shù)一起作為關(guān)鍵值,在UE的鑒權(quán)向量數(shù)組結(jié)構(gòu)中查找相應(yīng)的鑒權(quán)向量AV,其鑒權(quán)向量中的RAND,AUTN, XRES與提取的RAND,AUTN, RES 三個(gè)參數(shù)分別相等;第三步,判斷是否查找到相應(yīng)鑒權(quán)向量AV,如果沒有找到則結(jié)束過程,否則從鑒權(quán)向量中提取Kasme ;第四步,判斷當(dāng)前UE參數(shù)中是否有狀態(tài)為Not Current的NAS_DeCryption_Para數(shù)據(jù)結(jié)構(gòu)實(shí)例,如果沒有則新生成一個(gè)該NAS_DeCrypti0n_Para數(shù)據(jù)結(jié)構(gòu)實(shí)例,其Mate成員設(shè)置成Not Current狀態(tài);否則對(duì)該NAS_Decryption_Para數(shù)據(jù)結(jié)構(gòu)實(shí)例中所有成員進(jìn)行充值,其中State成員設(shè)置成Not Current狀態(tài);第五步,利用上面提取的參數(shù)對(duì)Not Current狀態(tài)的NAS_Decryption_Para數(shù)據(jù)結(jié)構(gòu)實(shí)例進(jìn)行賦值,KSI等于提取的KSIasme,Kasme等于提取的Kasme,UplinkNasOverflow, UplinkNasSQN, DownlinkNasOverflow, DownlinkNasSQN 都等于 0,其他成員為無效值; 第六步,結(jié)束過程。
6.如權(quán)利要求1所述的方法,其特征在于,從Sl-MME接口上的安全模式命令/完成 (Security mode command/complete)消息中提取解密參數(shù)的具體處理過程為第一步,輸入針對(duì)某個(gè)UE的安全模式命令(Security mode command)和安全模式完成(Security modecomplete)消息,從安全模式命令消息中提取出NAS KSI、Type of chipering algorithm參數(shù),下行NAS消息的計(jì)數(shù)Downlink NAS SN,從安全模式完成消息中提取上行NAS消息計(jì)數(shù)(Uplink NAS SN),安全模式完成消息的作用是可判斷UE和MME 實(shí)體之間的SMC過程成功執(zhí)行;第二步,利用提取的NAS KSI在UE的參數(shù)中查找相應(yīng)的NAS_DeCrypti0n_Para數(shù)據(jù)結(jié)構(gòu)實(shí)例;判斷是否查找到相應(yīng)的實(shí)例,如果沒有找到則結(jié)束過程,否則繼續(xù)執(zhí)行下一步;第三步,查看找到的該NAS_DeCrypti0n_Para數(shù)據(jù)結(jié)構(gòu)實(shí)例的狀態(tài),判斷是否為Current,如果是則用提取的Type of chipering algorithm信息更新該NAS_ Decryption_Para數(shù)據(jù)結(jié)構(gòu)實(shí)例中的EncryptionID成員,用提取的uplink Nas SN 更新 UplinkNasOverflow、UplinkNasSQN 成員,用提取的 downlink Nas SN 更新 DownlinkNasOverflow, DownlinkNasSQN 成員,并用公式Knasenc = f (Kasme, 0x15 | OxOl | 0x00011 algorithmic! (AES/SN0W) 0x0001) 重新計(jì)算出NAS加解密密鑰Knasenc,結(jié)束過程;否則執(zhí)行第四步; 第四步,當(dāng)在第三步找到的NAS_DeCrypti0n_Para數(shù)據(jù)結(jié)構(gòu)實(shí)例的狀態(tài)為Not Current時(shí),判斷UE參數(shù)是否存在另外的狀態(tài)為Current的NAS_Decryption_Para數(shù)據(jù)結(jié)構(gòu)實(shí)例,如果存在則刪除該實(shí)例,否則繼續(xù)執(zhí)行第五步;第五步,利用提取的Type of chipering algorithm信息設(shè)置查找到的狀態(tài)為Not Current的NAS_Decryption_Para數(shù)據(jù)結(jié)構(gòu)實(shí)例成員EncryptionID,用前述公式計(jì)算出成員Knasenc,并將將該實(shí)例的狀態(tài)State設(shè)置成Current ; 第六步,結(jié)束過程。
7.如權(quán)利要求1所述的方法,其特征在于,對(duì)加密NAS消息進(jìn)行解密采用如下的方式 第一步,輸入針對(duì)某個(gè)UE的加密NAS消息,即該NAS消息頭里的kcurity header type字段等于0010或0100,以及該NAS消息的上下行方向;第二步,判斷當(dāng)前該UE的參數(shù)中是否含有狀態(tài)為Current的NAS_DeCryption_Para數(shù)據(jù)結(jié)構(gòu)實(shí)例,如果不存在則直接結(jié)束過程;否則繼續(xù)執(zhí)行下一步;第三步,對(duì)輸入的NAS消息計(jì)算出加密部分的長度(Length);提取出NAS消息頭里的 SN參數(shù),并利用輸入的NAS消息上下行信息對(duì)Current狀態(tài)的NAS_Decryption_Para數(shù)據(jù)結(jié)構(gòu)實(shí)例中的消息計(jì)數(shù)相關(guān)成員賦值;利用公式 COUNT = OxOO I INAS OVERFLOW | | NAS SQN計(jì)算出NAS Count,其中,NAS SQN為COUNT的最后8比特,該值在每個(gè)NAS消息中傳輸,NAS OVERFLOW為COUNT中間16比特,當(dāng)NAS SQN值累加溢出時(shí),NAS OVERFLOW就加1 ; 第四步,利用Current狀態(tài)的NAS_Decryption_Para數(shù)據(jù)結(jié)構(gòu)實(shí)例中Knasenc,NAS消息加密部分的長度Length,計(jì)算出的NAS Count,輸入的NAS消息上下行信息,Current狀態(tài)的NAS_Decryption_Para數(shù)據(jù)結(jié)構(gòu)實(shí)例中EncryptionID指定的算法計(jì)算出密鑰流KEY STREAM ;第五步,利用計(jì)算出的密鑰流KEY STREAM與NAS消息的加密部分進(jìn)行按比特異或運(yùn)算,完成NAS消息加密部分的解密,輸入解密后的NAS消息明文; 第六步,結(jié)束解密過程。
8. 一種LTE協(xié)議監(jiān)測(cè)分析中對(duì)NAS信令解密處理的設(shè)備,其特征在于,包括 NAS消息解密參數(shù)提取模塊,用于從Sl-MME接口上與UE安全相關(guān)的NAS消息中提取 NAS解密需要的參數(shù)及UE標(biāo)識(shí)信息,及從S6a接口上與UE安全相關(guān)的diameter消息中提取NAS解密需要的參數(shù)及UE標(biāo)識(shí)信息,或從SlO接口上與UE安全相關(guān)的GTPv2_C消息中提取NAS解密需要的參數(shù)及UE標(biāo)識(shí)信息;NAS消息解密參數(shù)存儲(chǔ)維護(hù)模塊,用于對(duì)輸入的NAS消息解密參數(shù)進(jìn)行存儲(chǔ)維護(hù),以及根據(jù)相關(guān)參數(shù)進(jìn)行推導(dǎo)計(jì)算出其他NAS解密參數(shù);NAS消息解密執(zhí)行模塊,用于根據(jù)從NAS解密參數(shù)存儲(chǔ)維護(hù)模塊輸出的參數(shù)及加密NAS 消息本身的參數(shù)信息實(shí)現(xiàn)對(duì)輸入的加密NAS消息的解密。
全文摘要
本發(fā)明提出了一種LTE協(xié)議監(jiān)測(cè)分析中對(duì)NAS信令解密處理的裝置,由三部分組成NAS消息解密參數(shù)提取模塊、NAS消息解密參數(shù)存儲(chǔ)維護(hù)模塊以及NAS消息解密執(zhí)行模塊。通過本發(fā)明的技術(shù)方案,從S1-MME、S10、或S6a接口上的特定消息提取和UE安全相關(guān)的信息,用來建立、推導(dǎo)、維護(hù)NAS消息解密必須的密鑰等相關(guān)參數(shù)??梢圆恍枰淖僉TE網(wǎng)絡(luò)的相關(guān)配置、以及對(duì)LTE網(wǎng)絡(luò)協(xié)議監(jiān)測(cè)分析系統(tǒng)預(yù)先進(jìn)行和UE解密相關(guān)數(shù)據(jù)的配置,就可以實(shí)現(xiàn)協(xié)議監(jiān)測(cè)分析系統(tǒng)對(duì)捕獲的加密NAS消息進(jìn)行解密操作。
文檔編號(hào)H04W12/02GK102438241SQ20111045633
公開日2012年5月2日 申請(qǐng)日期2011年12月30日 優(yōu)先權(quán)日2011年12月30日
發(fā)明者劉元?jiǎng)P, 劉繼秋, 張立, 朱明新, 李春林, 王升平, 賈林 申請(qǐng)人:北京中創(chuàng)信測(cè)科技股份有限公司