2G/3G互通時的無線接入安全
當2GSIM卡接入3G網(wǎng)絡(luò)時,為了避免要求2G用戶必須換卡才能接入3G網(wǎng)絡(luò)和使用3G業(yè)務,運營商通常選擇允許用戶用2GSIM卡接入3G網(wǎng)絡(luò),為此需要終端和網(wǎng)絡(luò)支持如下附加功能。
1.3G終端能支持2GSIM卡接口。
2.3G服務網(wǎng)絡(luò)的MSC/VLR與SGSN能和2GHLR/AuC互通,能接受三元組認證向量。
3.3G終端和3G接入網(wǎng)支持Kc到CK和IK的密鑰轉(zhuǎn)換。
此時的認證過程和2G系統(tǒng)基本相同,有區(qū)別的地方是:3G服務網(wǎng)絡(luò)的MSC/VLR或者SGSN需要通過標準的轉(zhuǎn)換函數(shù)將Kc轉(zhuǎn)換為CK和IK,然后將CK和IK傳給3G服務基站;終端從SIM卡得到Kc后,也需要通過同樣的轉(zhuǎn)換函數(shù)將Kc轉(zhuǎn)換為CK和IK;后續(xù)終端和3G服務基站間可以用3G的f8、f9算法,以及CK、IK進行加密和完整性保護。
當3GUSIM卡接入2G網(wǎng)絡(luò)時,為了利用2G對3G的覆蓋補充和支持更廣泛的漫游,運營商也會選擇允許用戶用3GUSIM卡接入2G網(wǎng)絡(luò),為此需要USIM卡和網(wǎng)絡(luò)支持如下附加功能。
1.3GUSIM卡支持轉(zhuǎn)換函數(shù),能將XRES’轉(zhuǎn)為SRES’,將CK和IK轉(zhuǎn)為Kc。
2.3GUSIM卡支持2GSIM接口,從而能被只支持SIM卡的2G終端使用,這樣的卡通常被稱為USIM/SIM混合卡。混合卡上的SIM接口安全算法是基于USIM安全算法+轉(zhuǎn)換函數(shù)實現(xiàn)的。
3.3GHLR/AuC能支持五元組到三元組的轉(zhuǎn)換,從而可以向服務地的2GMSC/VLR或者SGSN返回三元組認證向量。
4.服務網(wǎng)絡(luò)如果采用2G接入網(wǎng)+3G核心網(wǎng)(即BS是2G的,但MSC/VLR與SGSN為3G的)的組網(wǎng)方式,MSC/VLR與SGSN應支持CK+IK到Kc的轉(zhuǎn)換。
當用戶用的是3G/2G混合終端或者是支持USIM的高版本2G終端時,此時使用的是混合卡上的USIM功能,認證實現(xiàn)分以下兩種情況。
1.當服務地的核心網(wǎng)是3G時,認證過程和3GUMTS系統(tǒng)的描述基本相同,有區(qū)別的地方是:服務網(wǎng)絡(luò)的3GMSC/VLR或者SGSN需要通過標準的轉(zhuǎn)換函數(shù)將CK和IK轉(zhuǎn)換為Kc,然后將Kc傳給2G服務基站;除了CK和IK,混合卡還會將用轉(zhuǎn)換函數(shù)依據(jù)CK和IK生成的Kc也返回給終端。終端會忽略CK和IK,而只用Kc;后續(xù)如果需要,終端和服務地2G基站間能用所協(xié)商的A5算法和Kc進行加密傳輸,但不能進行完整性保護。
2.當服務地的核心網(wǎng)是2G時,認證過程和2G系統(tǒng)的描述基本相似,有區(qū)別的地方是:收到服務地網(wǎng)絡(luò)的認證向量請求后,用戶歸屬的3GHLR/AuC首先生成五元組,然后將它們通過標準轉(zhuǎn)換函數(shù)轉(zhuǎn)為三元組,再將三元組返回給服務網(wǎng)絡(luò);終端向卡發(fā)送的是帶GSM安全上下文的Authenticate指令;混合UISM卡首先生成XRES、CK和IK,然后將XRES轉(zhuǎn)換為SRES’,將CK+IK轉(zhuǎn)換為Kc,最后只將SRES’和Kc返回給終端。
當用戶用的是不支持USIM的低版本2G終端時,此時使用的是混合卡上的SIM功能,認證實現(xiàn)也分為兩種情況。
1.當服務地的核心網(wǎng)是3G時,認證過程和2G系統(tǒng)相似,有區(qū)別的地方是:收到服務地網(wǎng)絡(luò)的認證向量請求后,用戶歸屬的3GHLR/AuC生成的是五元組,返回的也是五元組;服務網(wǎng)絡(luò)的3GMSC/VLR或者SGSN需要通過標準的轉(zhuǎn)換函數(shù)將XRES轉(zhuǎn)換為SRES、將CK和IK轉(zhuǎn)換為Kc,然后將Kc傳給2G服務基站;服務網(wǎng)絡(luò)用戶認證請求消息中的AUTN參數(shù)會被2G終端忽略,2G終端僅將RAND參數(shù)通過RunGSM Algorithm指令發(fā)給混合卡;混合卡用RAND和K首先生成XRES’、CK和IK,然后將XRES’轉(zhuǎn)換為SRES’,將CK+IK轉(zhuǎn)換為Kc,最后只將SRES’和Kc返回給終端。
2.當服務地的核心網(wǎng)是2G時,認證過程和2G系統(tǒng)基本相同,有區(qū)別的地方是:收到服務地網(wǎng)絡(luò)的認證向量請求后,用戶歸屬的3GHLR/AuC首先生成五元組,然后將它們通過標準轉(zhuǎn)換函數(shù)轉(zhuǎn)為三元組,再將三元組返回給服務網(wǎng)絡(luò);混合卡首先生成XRES’、CK和IK,然后將XRES’轉(zhuǎn)換為SRES’,將CK+IK轉(zhuǎn)換為Kc,最后只將SRES’和Kc返回給終端。
3 GPP2系統(tǒng)的接入安全
cdma20001x系統(tǒng)的接入安全
在cdma20001x系統(tǒng)中,用戶的RUIM卡和歸宿網(wǎng)絡(luò)的HLR/AC會共享一個安全密鑰A-key(64bit),基于該密鑰,網(wǎng)絡(luò)可以對用戶進行認證,基站和手機間也可以對信令消息、語音和數(shù)據(jù)應用不同的加密方式。
cdma20001x系統(tǒng)支持兩種認證觸發(fā)方式。
1.通過層2功能實現(xiàn)的全局挑戰(zhàn)(GlobalChallenge):服務網(wǎng)絡(luò)可以將在尋呼信道上廣播的接入?yún)?shù)消息中的AUTH字段置為‘01’,從而要求所有終端在使用反向接入信道發(fā)送消息時(Order消息、AuthenticationChallengeResponse消息、Status Response消息和Extended Status Response消息除外),必須在消息的層2參數(shù)域攜帶基于SSD(共享安全數(shù)據(jù))的前64bit、隨機數(shù)和消息中特定信息域計算的認證簽名AUTHR。
2.通過層3功能實現(xiàn)的獨特挑戰(zhàn)(UniqueChallenge):當需要時,服務網(wǎng)絡(luò)可以向特定終端發(fā)送AuthenticationChallenge消息,終端中的卡基于消息中的隨機數(shù)RANDU,用SSD的前64bit計算AUTHU,再用AuthenticationChallenge Response消息返回,網(wǎng)絡(luò)然后檢查終端返回的AUTHR或AUTHU是否正確。如果HLR/AC向服務網(wǎng)絡(luò)共享了SSD,這個檢查由服務網(wǎng)絡(luò)完成,否則需請求HLR/AC進行。
SSD(128bit)是cdma20001x認證中的一個特有設(shè)計,引入SSD是為了避免過度使用用戶的根密鑰A-key和避免需要將A-key共享給服務網(wǎng)絡(luò)。SSD的生成和后續(xù)更新只能在HLR/AC和RUIM卡之間進行,HLR/AC可以選擇將某個SSD共享給服務網(wǎng)絡(luò)并可以設(shè)定該SSD的生命周期,但RUIM卡不會把SSD透露給終端。SSD更新過程通過網(wǎng)絡(luò)向終端/卡發(fā)送SSDUpdate消息觸發(fā),消息中包含一個隨機數(shù)RNADSSD。為了防止虛假服務網(wǎng)絡(luò)惡意更新SSD,卡會產(chǎn)生一個隨機數(shù)RANDBS然后由終端通過BSChallenge Order消息發(fā)送給網(wǎng)絡(luò),僅當網(wǎng)絡(luò)返回的AUTHBS響應是正確的,卡才會用CAVE算法根據(jù)A-Key、RANDSSD、UIMID等計算出的值更新SSD。SSD的前64bit用于各種認證運算,包括AUTHR/AUTHU/AUTHBS的計算和檢驗,它們都使用CAVE算法根據(jù)相應的隨機數(shù)輸入計算得到。
基于SSD的后64bit可以用CAVE生成私有長碼掩碼(PrivateLCM)、消息加密密鑰SMEKey和數(shù)據(jù)加密密鑰。cdma20001x用私有長碼掩碼加擾的方式實現(xiàn)語音加密;用SMEKey密鑰和CMEA(或者ECMEA)算法實現(xiàn)信令消息加密;用數(shù)據(jù)密鑰和ORYX算法實現(xiàn)用戶數(shù)據(jù)加密。終端和服務網(wǎng)絡(luò)間可以通過層3消息協(xié)商是否使用加密。
cdma20001xEV-DO系統(tǒng)的接入安全
為了支持標準的cdma20001xEV-DO接入認證,用戶需要用更高版本的RUIM卡(至少是C.S0023Rev.B以后版本的卡),用戶的RUIM卡和歸屬AN-AAA間會共享一個HRPD SS(HRPD共享密鑰,為可變長度,常取128bit),卡還要能支持MD5算法和存儲用戶在EV-DO中的ID(稱之為HRPD NAI)。基于該HRPD SS,網(wǎng)絡(luò)可以對用戶進行認證,基站和手機間也可以對消息和數(shù)據(jù)進行加密。
當用戶需要建立EV-DO會話時,在終端和AN(即EV-DO基站)進行PPP和LCP協(xié)商期間,AN會向終端發(fā)送CHAPChallenge,消息中包含CHAPID和一個隨機數(shù),終端把這個挑戰(zhàn)轉(zhuǎn)給RUIM卡,卡用MD5算法根據(jù)HRPDSS和隨機數(shù)計算響應,響應被卡/終端通過CHAP Response返回給AN,AN再通過A12接口把它傳給AN-AAA,AN-AAA基于自己存儲的該用戶HRPD SS驗證這個響應是否正確。
終端通過了A12認證并建立了EV-DO會話后,后續(xù)當終端需要請求EV-DO無線連接時,可以僅執(zhí)行較簡單、快捷的EV-DO空口認證簽名過程:終端和網(wǎng)絡(luò)先通過Diffie-Hellman算法建立一個共享的會話密鑰;終端利用SHA-1算法,用該會話密鑰和時間戳對接入信道上的分組進行簽名。
EV-DO系統(tǒng)采用AES算法標準對用戶數(shù)據(jù)和信令信息進行加密保護;用SHA-1算法實行完整性保護。EV-DO用基于時間、計數(shù)器的安全協(xié)議產(chǎn)生密碼系統(tǒng),以產(chǎn)生變化的加密掩碼。
1x/EV-DO互通時的接入安全
當EV-DORUIM卡接入1x網(wǎng)絡(luò)時,支持DO接入認證的RUIM卡也會同時支持1xCAVE認證,并且隱秘保存有A-key。EV-DORUIM卡在1x網(wǎng)絡(luò)中將使用CAVE認證,這如同1x RUIM卡在1x網(wǎng)絡(luò)中一樣。
當用1xRUIM卡接入EV-DO網(wǎng)絡(luò)時,為了讓1x用戶不需要換卡就能接入EV-DO網(wǎng)絡(luò)和使用EV-DO服務,需要EV-DO終端和網(wǎng)絡(luò)支持如下附加功能。
為了計算CHAPResponse,終端需要能向1xRUIM卡發(fā)送RunCave指令,即CHAP中實際使用的是CAVE認證算法。終端還要能根據(jù)卡中的1x ID信息生成HRPD NAI。
網(wǎng)絡(luò)側(cè)的AN-AAA能識別卡使用的是CAVE算法;提供附加的、連向卡所對應的HLR/AC的接口,并能將自己模擬為VLR向HLR請求認證結(jié)果和/或SSD。
評論
查看更多