Gsm系統(tǒng)如何鑒權(quán)與加密
隨著移動(dòng)通信技術(shù)的發(fā)展,通信中的安全問題受到人們?cè)絹碓蕉嗟年P(guān)注。由于空中接口的開放性,為確保用戶訪問網(wǎng)絡(luò)資源的合法性,安全性及服務(wù)網(wǎng)絡(luò)的真實(shí)性,各種移動(dòng)通信系統(tǒng)普遍采用了相應(yīng)的安全機(jī)制。下面我就來和大家一起分析一下Gsm系統(tǒng)如何鑒權(quán)與加密。
一、鑒權(quán)加密過程的三參數(shù)組
客戶的鑒權(quán)加密過程是通過系統(tǒng)提供的客戶三參數(shù)組來完成的,客戶三參數(shù)組的產(chǎn)生是在GSM系統(tǒng)的AUC鑒權(quán)中心中完成。每個(gè)客戶在GSM網(wǎng)中注冊(cè)登記時(shí),就被分配一個(gè)客戶電話號(hào)碼(MSISDN)和客戶身份識(shí)別碼(IMSI)。IMSI通過SIM寫卡機(jī)來寫入客戶的SIM卡中,同時(shí)在寫卡機(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)和加密過程。在AUC中RAND和Ki經(jīng)過A3算法(鑒權(quán)算法)產(chǎn)生了一個(gè)響應(yīng)數(shù)SRES同時(shí)經(jīng)過A8加密算法產(chǎn)生了一個(gè)密鑰。因而由該RAND、Kc、SERS一起組成了該客戶的一個(gè)三參數(shù)組,傳送給HLR并存儲(chǔ)在該客戶的客戶資料庫中。一般情況下,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ù)組。
二、Gsm鑒權(quán)過程
當(dāng)MSC與BSS的SCCP層建立起來之后,就可以來決定是否觸發(fā)鑒權(quán)加密過程。而判斷是否進(jìn)行鑒權(quán)過程的關(guān)鍵在于查看網(wǎng)絡(luò)一端所存儲(chǔ)的上一次業(yè)務(wù)處理所使用的該移動(dòng)臺(tái)的Kc值是否與本次接入中移動(dòng)臺(tái)所存儲(chǔ)的Kc值是否一致,若一致則可越過鑒權(quán)過程直接利用該Kc值來參與加密過程,若不一致,則需通過鑒權(quán)過程來算出新的Kc值。由于需要保密的緣故,因而移動(dòng)臺(tái)不直接通過無線路徑來向網(wǎng)絡(luò)發(fā)送Kc值進(jìn)行驗(yàn)證。所以在這里我們引入了一個(gè)Kc的序列號(hào)碼的概念,在規(guī)范中被稱為CKSN(密鑰序列號(hào)碼),該號(hào)碼是移動(dòng)臺(tái)在上一次接入網(wǎng)絡(luò)時(shí),由MSC/VLR提供的,并通過鑒權(quán)請(qǐng)求報(bào)文發(fā)送給移動(dòng)臺(tái)的,并于計(jì)算出的Kc一同存儲(chǔ)在SIM卡中,同時(shí)也存于MSC/VLR中。當(dāng)MS初始接入時(shí),通過SABM幀的初始化報(bào)文業(yè)務(wù)請(qǐng)求字段把CKSN的消息一起送到MSC/VLR中,MSC/VLR將它與上一次使用的CKSN號(hào)進(jìn)行校驗(yàn),如果不一致,則在加密之前要進(jìn)行鑒權(quán)過程,若CKSN=0則表示沒有分配KC。
MSC/VLR會(huì)向移動(dòng)臺(tái)發(fā)送一條鑒權(quán)請(qǐng)求(Authentication request)的報(bào)文來觸發(fā)鑒權(quán)過程,這是一條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再通過A8算法得出一64bit的Kc,并將它保存在SIM卡內(nèi),以后按系統(tǒng)指令決定是否激活加密傳輸),MS再通過一條鑒權(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ā)加密過程;若不同則鑒權(quán)失敗,系統(tǒng)會(huì)拒絕MS的繼續(xù)接入。此時(shí)鑒權(quán)過程結(jié)束。
一般在MSC/VLR和HLR/AUC都可執(zhí)行A3和A8算法,但MSC/VLR算起來比較麻煩,而HLR/AUC存有Ki值算起來簡(jiǎn)單的多而且可以很好的解決保密性和漫游的的問題,但卻增加了HLR至MSC的信令量,因而每次計(jì)算,HLR/AUC都會(huì)將這三個(gè)結(jié)果值送到MSC/VLR中,即RAND,SRES和KC,以被選用。
三、Gsm加密過程
當(dāng)鑒權(quán)過程結(jié)束后,此時(shí)MSC會(huì)向BSC發(fā)一條加密命令(BSSMAP Ciphering Mode Command)的消息,在該消息中包含著密鑰Kc,BSC接著會(huì)向MS發(fā)出加密命令(RR Ciphering Mode Command)來通知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)生加密碼的算法稱為A5算法,它是利用移動(dòng)臺(tái)和網(wǎng)絡(luò)都同意的密鑰(64比特)值和當(dāng)前脈沖串的幀號(hào)碼(22比特)進(jìn)行計(jì)算的,以產(chǎn)生一個(gè)114比特的加密序列來和突發(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重新分配過程
在鑒權(quán)加密過程完畢之后,系統(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)離開這個(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,無法被系統(tǒng)所識(shí)別(如此時(shí)數(shù)據(jù)庫發(fā)生故障),則移動(dòng)臺(tái)需提供其IMSI。此時(shí)在TMSI再分配程序啟動(dòng)之前應(yīng)先啟動(dòng)識(shí)別程序來向移動(dòng)臺(tái)請(qǐng)求提供其IMSI號(hào)。
識(shí)別程序是通過向移動(dòng)臺(tái)發(fā)起識(shí)別請(qǐng)求(identity request)消息,在收 到該消息后,移動(dòng)臺(tái)發(fā)起識(shí)別響應(yīng)(identity response)消息來向網(wǎng)絡(luò)提供 其IMSI號(hào)碼。在此程序完成之后,系統(tǒng)再根據(jù)其需要來進(jìn)行鑒權(quán)加密和TMSI再分配過程。
小知識(shí)之GSM
GSM,是當(dāng)前應(yīng)用最為廣泛的移動(dòng)電話標(biāo)準(zhǔn)。全球超過200個(gè)國(guó)家和地區(qū)超過10億人正在使用GSM電話。GSM標(biāo)準(zhǔn)的無處不在使得在移動(dòng)電話運(yùn)營(yíng)商之間簽署"漫游協(xié)定"后用戶的國(guó)際漫游變得很平常。 GSM 較之它以前的標(biāo)準(zhǔn)最大的不同是他的信令和語音信道都是數(shù)字式的,因此GSM被看作是第二代 (2G)移動(dòng)電話系統(tǒng)。










