GSM系統(tǒng)一個(gè)顯著的優(yōu)點(diǎn)就是它在安全性方面比模擬系統(tǒng)有了顯著的改進(jìn),它主要是在以下部分加強(qiáng)了保護(hù):在接入網(wǎng)絡(luò)方面通過(guò)AUC鑒權(quán)中心采取了對(duì)客戶鑒權(quán);在無(wú)線路徑上采取了對(duì)通信信息的保密;對(duì)移動(dòng)設(shè)備通過(guò)EIR設(shè)備識(shí)別中心采用了設(shè)備識(shí)別;對(duì)客戶身份識(shí)別碼IMSI用臨時(shí)識(shí)別碼TMSI保護(hù);SIM卡用PIN碼保護(hù)。
一、鑒權(quán)加密過(guò)程的三參數(shù)組客戶的鑒權(quán)加密過(guò)程是通過(guò)系統(tǒng)提供的客戶三參數(shù)組來(lái)完成的,客戶三參數(shù)組的產(chǎn)生是在GSM系統(tǒng)的AUC鑒權(quán)中心中完成。每個(gè)客戶在GSM網(wǎng)中注冊(cè)登記時(shí),就被分配一個(gè)客戶電話號(hào)碼(MSISDN)和客戶身份識(shí)別碼(IMSI)。IMSI通過(guò)SIM寫(xiě)卡機(jī)來(lái)寫(xiě)入客戶的SIM卡中,同時(shí)在寫(xiě)卡機(jī)中又產(chǎn)生了一個(gè)對(duì)應(yīng)此IMSI的唯一客戶鑒權(quán)鍵Ki,它被分別存儲(chǔ)在客戶的SIM卡和AUC中,這是永久性的信息。在AUC中還有個(gè)偽隨機(jī)碼發(fā)生器,用于產(chǎn)生一個(gè)不可預(yù)測(cè)的偽隨機(jī)數(shù)RAND。在GSM規(guī)范中還定義了A3、A8和A5算法分別用于鑒權(quán)和加密過(guò)程。在AUC中RAND和Ki經(jīng)過(guò)A3算法(鑒權(quán)算法)產(chǎn)生了一個(gè)響應(yīng)數(shù)SRES同時(shí)經(jīng)過(guò)A8算法(加密算法)產(chǎn)生了一個(gè)Kc。因而由該RAND、Kc、SERS一起組成了該客戶的一個(gè)三參數(shù)組,傳送給HLR并存儲(chǔ)在該客戶的客戶資料庫(kù)中。一般情況下,AUC一次產(chǎn)生5組三參數(shù)傳送給HLR,HLR自動(dòng)存儲(chǔ)。HLR可存儲(chǔ)10組三參數(shù),當(dāng)MSC/VLR向HLR請(qǐng)求傳送三參數(shù)組時(shí),HLR又一次性的向MSC/VLR傳送5組三參數(shù)組。MSC/VLR一組一組的使用,當(dāng)用到剩兩組時(shí),就回再向HLR請(qǐng)求傳送三參數(shù)組。
在下面的流程中我們會(huì)比較詳細(xì)的看到參數(shù)的傳遞過(guò)程。
二、 鑒權(quán)過(guò)程正如上一節(jié)所講到的,當(dāng)MSC與BSS的SCCP層建立起來(lái)之后,就可以來(lái)決定是否觸發(fā)鑒權(quán)加密過(guò)程。而判斷是否進(jìn)行鑒權(quán)過(guò)程的關(guān)鍵在于查看網(wǎng)絡(luò)一端所存儲(chǔ)的上一次業(yè)務(wù)處理所使用的該移動(dòng)臺(tái)的Kc值是否與本次接入中移動(dòng)臺(tái)所存儲(chǔ)的Kc值是否一致,若一致則可越過(guò)鑒權(quán)過(guò)程直接利用該Kc值來(lái)參與加密過(guò)程,若不一致,則需通過(guò)鑒權(quán)過(guò)程來(lái)算出新的Kc值。由于需要保密的緣故,因而移動(dòng)臺(tái)不直接通過(guò)無(wú)線路徑來(lái)向網(wǎng)絡(luò)發(fā)送Kc值進(jìn)行驗(yàn)證。所以在這里我們引入了一個(gè)Kc的序列號(hào)碼的概念,在規(guī)范中被稱(chēng)為CKSN(密鑰序列號(hào)碼),該號(hào)碼是移動(dòng)臺(tái)在上一次接入網(wǎng)絡(luò)時(shí),由MSC/VLR提供的,并通過(guò)鑒權(quán)請(qǐng)求報(bào)文發(fā)送給移動(dòng)臺(tái)的,并于計(jì)算出的Kc一同存儲(chǔ)在SIM卡中,同時(shí)也存于MSC/VLR中。當(dāng)MS初始接入時(shí),通過(guò)SABM幀的初始化報(bào)文業(yè)務(wù)請(qǐng)求字段把CKSN的消息一起送到MSC/VLR中,MSC/VLR將它與上一次使用的CKSN號(hào)進(jìn)行校驗(yàn),如果不一致,則在加密之前要進(jìn)行鑒權(quán)過(guò)程,若CKSN=0則表示沒(méi)有分配KC。
MSC/VLR會(huì)向移動(dòng)臺(tái)發(fā)送一條鑒權(quán)請(qǐng)求(Authentication request)的報(bào)文來(lái)觸發(fā)鑒權(quán)過(guò)程,這是一條DTAP信令消息。系統(tǒng)在鑒權(quán)請(qǐng)求消息中包含一個(gè)隨機(jī)數(shù)(RAND)和CKSN號(hào)碼,RAND共128bit,SIM卡上的用戶密鑰Ki與這個(gè)隨機(jī)數(shù)經(jīng)GSM規(guī)范的A3算法,產(chǎn)生一個(gè)32bit的應(yīng)答數(shù)SRES (與此同時(shí)MS還要將Ki和RAND再通過(guò)A8算法得出一64bit的Kc,并將它保存在SIM卡內(nèi),以后按系統(tǒng)指令決定是否激活加密傳輸),MS再通過(guò)一條鑒權(quán)響應(yīng)(Authentication response)報(bào)文將SERS送回系統(tǒng)。因Ki值作為用戶數(shù)據(jù)存在VLR或HLR中,在系統(tǒng)一側(cè)也會(huì)進(jìn)行與MS相同的A3和A8算法,產(chǎn)生一個(gè)SRES數(shù)和Kc存在VLR中,系統(tǒng)則會(huì)將這兩個(gè)SRES值相比較,若相同則鑒權(quán)成功允許接入網(wǎng)絡(luò),之后MSC將繼續(xù)觸發(fā)加密過(guò)程;若不同則鑒權(quán)失敗,系統(tǒng)會(huì)拒絕MS的繼續(xù)接入。此時(shí)鑒權(quán)過(guò)程結(jié)束。
一般在MSC/VLR和HLR/AUC都可執(zhí)行A3和A8算法,但MSC/VLR算起來(lái)比較麻煩,而HLR/AUC存有Ki值算起來(lái)簡(jiǎn)單的多而且可以很好的解決保密性和漫游的的問(wèn)題,但卻增加了HLR至MSC的信令量,因而每次計(jì)算,HLR/AUC都會(huì)將這三個(gè)結(jié)果值送到MSC/VLR中,即RAND,SRES和KC,以被選用。
三、加密過(guò)程當(dāng)鑒權(quán)過(guò)程結(jié)束后,此時(shí)MSC會(huì)向BSC發(fā)一條加密命令(BSSMAP Ciphering Mode Command)的消息,在該消息中包含著密鑰Kc,BSC接著會(huì)向MS發(fā)出加密命令(RR Ciphering Mode Command)來(lái)通知MS進(jìn)入加密模式(這時(shí)基站也進(jìn)入解密的模式下 ),MS收到該指令后就會(huì)轉(zhuǎn)入加密模式的發(fā)送與接收,并向系統(tǒng)發(fā)出發(fā)出加密完成(RR Ciphering Mode COMPLETE)消息,此時(shí)該報(bào)文已經(jīng)是加密的了。是否采用加密由系統(tǒng)決定,產(chǎn)生加密碼的算法稱(chēng)為A5算法,它是利用移動(dòng)臺(tái)和網(wǎng)絡(luò)都同意的Kc(64比特)值和當(dāng)前脈沖串的幀號(hào)碼(22比特)進(jìn)行計(jì)算的,以產(chǎn)生一個(gè)114比特的加密序列來(lái)和突發(fā)脈沖的114比特的信息位進(jìn)行異或操作。網(wǎng)絡(luò)在上行鏈路和下行鏈路使用兩個(gè)相同的加密序列,對(duì)于每一個(gè)突發(fā),一個(gè)序列用于移動(dòng)臺(tái)內(nèi)的加密并作為BTS中的解密序列,一個(gè)序列用于BTS的加密并作為移動(dòng)臺(tái)的解密。
四、 TMSI重新分配過(guò)程
在鑒權(quán)加密過(guò)程完畢之后,系統(tǒng)要向MS發(fā)出CM SERVICE ACCEPT消息 或TMSI 的重新分配命令(TMSI reallocation command)的報(bào)文.
當(dāng)移動(dòng)臺(tái)在定位區(qū)內(nèi)第一次注冊(cè)時(shí),就會(huì)將一個(gè)TMSI分配給移動(dòng)臺(tái),當(dāng)移動(dòng)臺(tái)離開(kāi)這個(gè)定位區(qū)時(shí)釋放這個(gè)TMSI。當(dāng)MS收到TMSI 的重新分配 命令時(shí),它將在存儲(chǔ)器內(nèi)存儲(chǔ)收到的TMSI和LAI,并向網(wǎng)絡(luò)發(fā)送TMSI再分配完成(TMSI reallocation complete)的報(bào)文。MSC對(duì)所收到的位置更新請(qǐng) 求(location update request)的答復(fù)即位置更新接受(location update accept) 的報(bào)文可以在TMSI再分配完成之后發(fā)送也可以同TMSI 的重新分配命令組 合在同一個(gè)報(bào)文中發(fā)送。
若在網(wǎng)絡(luò)中由移動(dòng)臺(tái)提供的TMSI,無(wú)法被系統(tǒng)所識(shí)別(如此時(shí)數(shù)據(jù)庫(kù)發(fā)生故障),則移動(dòng)臺(tái)需提供其IMSI。此時(shí)在TMSI再分配程序啟動(dòng)之前應(yīng)先啟動(dòng)識(shí)別程序來(lái)向移動(dòng)臺(tái)請(qǐng)求提供其IMSI號(hào)。
識(shí)別程序是通過(guò)向移動(dòng)臺(tái)發(fā)起識(shí)別請(qǐng)求(identity request)消息,在收 到該消息后,移動(dòng)臺(tái)發(fā)起識(shí)別響應(yīng)(identity response)消息來(lái)向網(wǎng)絡(luò)提供 其IMSI號(hào)碼。在此程序完成之后,系統(tǒng)再根據(jù)其需要來(lái)進(jìn)行鑒權(quán)加密和TMSI再分配過(guò)程。
問(wèn)題研究:使用TMSI的目的是為了盡量減少在空中接口上使用IMSI,TMSI是由LAI和臨時(shí)分給指定用戶的一組數(shù)字組成(TIC),大多數(shù)無(wú)線接入是在MS已經(jīng)注冊(cè)的LAC中進(jìn)行,因此TIC就足以對(duì)應(yīng)一個(gè)MS,而LAI是一個(gè)隱含值,只有MS在一個(gè)新的定位區(qū)的一個(gè)小區(qū)內(nèi)必須完成位置更新嘗試時(shí)時(shí)才要使用完整的TMSI。TMSI是由MSC/VLR管理,當(dāng)MS首次在一個(gè)LAC中注冊(cè)時(shí)才分配給它,并在離開(kāi)該LAC時(shí)注銷(xiāo),TMSI的注銷(xiāo)是自動(dòng)的,當(dāng)MS收到新的TMSI時(shí)自動(dòng)取代原TMSI 。
TIC長(zhǎng)為4個(gè)字節(jié),而IMSI由15個(gè)數(shù)字組成(可被編碼為包括長(zhǎng)度指示的9個(gè)字節(jié)),在允許TIC單獨(dú)使用時(shí),TIC長(zhǎng)度較短可以節(jié)約無(wú)線信道的頻譜。尤其對(duì)于尋呼消息,如果使用TIC,可以用一條消息最多尋呼4個(gè)移動(dòng)臺(tái)。
聯(lián)系客服