百科解釋
我們知道,手機(jī)在做位置更新、發(fā)起呼叫時必須首先進(jìn)行鑒權(quán)和加密。通過鑒權(quán),系統(tǒng)可以為合法的用戶提供服務(wù),對不合法的用戶拒絕服務(wù)。那么鑒權(quán)和加密是如何實現(xiàn)的呢?我們先看下面一個用戶開機(jī)并成功進(jìn)行IMSI ATTACH位置更新的信令流程: MSC/VLR通過IU口收到手機(jī)開機(jī)的消息后,判斷該IMSI是否為新用戶(即VLR里不存在數(shù)據(jù)的,華為MSOFTX3000可以通過DEL MS命令實現(xiàn)刪除VLR數(shù)據(jù))。如果是新用戶,就向HLR/AUC發(fā)起取鑒權(quán)集請求的消息(SEND_AUTHENTICATION_INFO_REQ);作為響應(yīng),HLR/AUC給MSC/VLR回取鑒權(quán)集證實消息(SEND_AUTHENTICATION_INFO_CNF): 我們看看取鑒權(quán)集請求消息里面有什么內(nèi)容,首先,它包含有該用戶的IMSI信息,其次,還包含有VLR向HLR/AUC所請求的鑒權(quán)集的組數(shù)(5組),如下: 我們再看看HLR/AUC給MSC/VLR回的取鑒權(quán)集證實消息里面有什么東西: 我們可以看出HLR/AUC一共給VLR回了4組[font color=#000000]鑒權(quán)[/font]集,每組鑒權(quán)集包含3個參數(shù),分別是rand(隨機(jī)數(shù))、sres(符號響應(yīng))、kc(密鑰)。這3個參數(shù)即是我們平時常說的鑒權(quán)三參組,由此,我們判斷出該用戶是2G用戶。此處愛立信HLR/AUC只給回了4組鑒權(quán)集,正常情況下是會回5組鑒權(quán)集的(華為HLR不存在這樣的問題);我就此事詢問過廣州愛立信HLR的現(xiàn)場技術(shù)人員,對方表示也不清楚原因。 MSC/VLR取到鑒權(quán)集后,會使用4組鑒權(quán)集中的1組,通過IU口向手機(jī)發(fā)出鑒權(quán)請求消息(AUTHENTICATION_REQUEST),其余3組留著供下次的鑒權(quán)使用;隨后,手機(jī)給MSC/VLR回鑒權(quán)響應(yīng)消息(AUTHENTICATION_RESPONSE): 我們來看一看鑒權(quán)請求消息里面有什么我們需要關(guān)注的東西: 可以看出VLR將第1組鑒權(quán)集里面的[font color=#000000]rand參數(shù)的值[/font]通過該消息下發(fā)給手機(jī)。 手機(jī)收到網(wǎng)絡(luò)下發(fā)的rand參數(shù)的值后,在SIM卡進(jìn)行如下運(yùn)算: KI(IMSI) + rand + A3 ---------> sres KI(IMSI) + rand + A8 ---------> kc 在此有必要說明,KI是制卡的時候就以特殊工藝燒進(jìn)SIM卡的一個參數(shù)值,由32個十六進(jìn)制的字符組成,如D17F20239EEDBE1520F64A851F3C44C9,每個字符以二進(jìn)制表示的話,長度是32×4=128位。KI值并不在空中傳送;KI值必須在開戶時在HLR定進(jìn)去的,華為HLR的相關(guān)命令是ADD KI;而愛立信HLR的相關(guān)命令是AGSUI。 手機(jī)用A3算法計算出sres以后,通過IU口以鑒權(quán)響應(yīng)消息回給MSC/VLR。同時,手機(jī)以A8算法計算出密鑰kc。利用密鑰kc,手機(jī)再對加密之前的消息M以A5算法進(jìn)行如下加密運(yùn)算,得出加密后的消息M': M + kc + A5 ---------> M' 該算法是可逆的,即MSC/VLR收到IU口上加過密的消息M'后,能以同樣的運(yùn)算法則進(jìn)行解密將消息還原: M' + kc + A5 ---------> M 至此我們應(yīng)該知道,鑒權(quán)是通過sres參數(shù)來實現(xiàn)的,而加密是通過kc參數(shù)來實現(xiàn)。下面再來看看鑒權(quán)響應(yīng)消息里面的sres是什么: 響應(yīng)消息里的sres的值為f7 6c 0a 8d,與第1組鑒權(quán)集里面的sres一致;所以該用戶鑒權(quán)通過,視為合法用戶。 如果鑒權(quán)響應(yīng)消息里面的sres值與VLR內(nèi)的sres值不一致,那么該用戶將被VLR判為鑒權(quán)失敗,屬于非法用戶;我們來看一個鑒權(quán)失敗的用戶的消息跟蹤: 該用戶就因為回的sres與VLR不一致被視為鑒權(quán)失敗,MSC/VLR直接給HLR/AUC發(fā)出鑒權(quán)失敗報告,并給IU口回鑒權(quán)拒絕消息,導(dǎo)致接下來的位置更新不能夠繼續(xù)進(jìn)行。 出現(xiàn)這種情況的原因是因為SIM卡內(nèi)的KI值與HLR開戶的KI不一致所致。所以一個企圖盜打的SIM卡,光燒有別人的IMSI號還不行,還必須燒入別人的KI值,而這個KI值是很難從SIM卡讀取出來的;就算知道KI,如何將其燒進(jìn)SIM卡,其特殊的工藝也是一個難題。 如果鑒權(quán)成功,那么MSC/VLR將給HLR發(fā)位置更新請求消息(UPDATE_LOCATION_REQ),HLR向VLR插用戶數(shù)據(jù),VLR回插用戶數(shù)據(jù)響應(yīng)消息,HLR再回應(yīng)MSC/VLR位置更新證實消息(UPDATE_LOCATION_CNF)。這一系列步驟完成之后,MSC/VLR將向手機(jī)發(fā)出身份請求消息(IDENTITY_REQUEST),該消息請求手機(jī)必須響應(yīng)IMEI碼: 看手機(jī)在身份響應(yīng)消息(IDENTITY_RESPONSE)回的IMEI是多少: MSC/VLR會對該手機(jī)的IMEI碼進(jìn)行檢查,如果是合法的設(shè)備,那么到此為止位置更新成功。SECURITY_MODE_COMMAND消息是MSC/VLR用來通知手機(jī)進(jìn)行加密的,SECURITY_MODE_COMPLETE消息則是手機(jī)響應(yīng)MSC/VLR的,標(biāo)明以后的消息將加密后才在空中接口傳送 。 3G用戶的鑒權(quán)加密與2G大同小異,不同的是三參組變成了五元組,我們來看看3G用戶的取鑒權(quán)集證實消息(SEND_AUTHENTICATION_INFO_CNF)里面的鑒權(quán)集是什么: 可以看到鑒權(quán)集里面有5個參數(shù)值,它們分別是:rand(網(wǎng)絡(luò)質(zhì)詢隨機(jī)數(shù))、xres(用戶應(yīng)答的期望值)、ck(加密密鑰)、ik(完整性密鑰)、autn(網(wǎng)絡(luò)身份確認(rèn)標(biāo)記)。3G鑒權(quán)與2G最大的不同是多了一個autn(網(wǎng)絡(luò)身份確認(rèn)標(biāo)記)值。我們前述知道,sres是網(wǎng)絡(luò)用來對手機(jī)進(jìn)行鑒權(quán)的,而autn卻是手機(jī)用來對網(wǎng)絡(luò)進(jìn)行鑒權(quán)。我們看到autn會在鑒權(quán)請求消息里通過IU口與rand一起下發(fā): 手機(jī)收到autn后是如何對網(wǎng)絡(luò)進(jìn)行鑒權(quán)的,這里不再深究。我們看看xres與2G里的sres有何不同,觀察鑒權(quán)響應(yīng)消息里帶的xres值: 發(fā)現(xiàn)xres值由兩部分組成:一部分是4字節(jié)長的ff a0 88 6f(與sres等長);另一部分是擴(kuò)展部分(ext):00 ad f1 8c 26 89 85 76 da 16 6f 26;兩部分在一起即構(gòu)成了xres的值。相當(dāng)于xres = sres + ext。 每次MSC/VLR從HLR/AUC取得5組鑒權(quán)集,只使用1組,其余4組留給以后的鑒權(quán)和加密使用。手機(jī)在做位置更新、發(fā)起呼叫時,如MSC/VLR判斷其IMSI為舊卡(即VLR里已經(jīng)存在數(shù)據(jù)的),則調(diào)用VLR中的一個五數(shù)組,不再到HLR/AUC去取新的鑒權(quán)集
移動通信網(wǎng) | 通信人才網(wǎng) | 更新日志 | 團(tuán)隊博客 | 免責(zé)聲明 | 關(guān)于詞典 | 幫助