隨著移動通信的普及以及移動互聯(lián)網(wǎng)業(yè)務(wù)的迅猛發(fā)展,移動網(wǎng)絡(luò)成為黑客關(guān)注的目標,竊聽、偽裝、破壞完整性、拒絕服務(wù)、非授權(quán)訪問服務(wù)、否認使用/提供、資源耗盡等形形色色的潛在安全犯罪威脅著正常的通信服務(wù)。為了使人們隨時隨地享受便捷無線服務(wù)的同時能得到信息安全的保障,無線接入網(wǎng)提出了認證、鑒權(quán)、加密等一系列安全措施加以應(yīng)對。
3GPP系統(tǒng)的無線接入安全
GSM/GPRS/EDGE系統(tǒng)的無線接入安全
在GSM/GPRS/EDGE系統(tǒng)中,用戶的SIM卡和歸宿網(wǎng)絡(luò)的HLR/AuC共享一個安全密鑰Ki(128bit),基于該密鑰,網(wǎng)絡(luò)可以對用戶進行認證,但用戶無法認證網(wǎng)絡(luò),另外基站和手機間可以對無線鏈路進行加密。
GSM/GPRS系統(tǒng)的認證和加密是基于(RAND,SRES,Kc)三元組實現(xiàn)的,基本過程如下。
1.當需要對用戶進行認證時,服務(wù)網(wǎng)絡(luò)的MSC/VLR(對電路域業(yè)務(wù))或者SGSN(對分組域業(yè)務(wù))會向用戶歸屬的HLR/AuC請求認證向量。
2.HLR/AuC首先產(chǎn)生一個隨機數(shù)RAND,然后基于這個RAND和用戶的根密鑰Ki根據(jù)A3算法計算出移動臺應(yīng)返回的認證響應(yīng)SRES,并基于RAND和用戶的根密鑰Ki用A8算法計算出后續(xù)用于加密的密鑰Kc,HLR/AuC也可能產(chǎn)生多組這樣的認證向量。
3.HLR/AuC將一個或多個(RAND,SRES,Kc)三元組返回給服務(wù)網(wǎng)絡(luò)的MSC/VLR或者SGSN。
4.服務(wù)網(wǎng)絡(luò)的MSC/VLR或者SGSN通過NAS(非接入子層)信令向用戶的手機發(fā)起認證請求,參數(shù)中包含步驟3中所收到的某個RAND。
5.手機將認證請求通過RunGSMAlgorithm指令轉(zhuǎn)給SIM卡,SIM卡基于RAND和自己安全保存的根密鑰Ki用A3算法計算認證響應(yīng)SRES’,同時基于RAND和Ki用A8算法計算加密密鑰Kc。
6.SIM卡將SRES’和Kc返回給手機,同時也將Kc保存在卡上的一個可讀文件EF(Kc)中。
7.終端將SRES’返回給服務(wù)網(wǎng)絡(luò),服務(wù)網(wǎng)絡(luò)的MSC/VLR或者SGSN將它與在步驟3收到的SRES進行比較,相同則用戶認證成功,否則失敗。服務(wù)網(wǎng)絡(luò)的MSC/VLR或者SGSN將Kc轉(zhuǎn)發(fā)給基站。
8.當需要對空口通信進行加密時,終端和服務(wù)地的接入網(wǎng)協(xié)商加密算法,這通常稱為A5算法協(xié)商。標準要求2G終端必須支持A5/1算法和推薦實現(xiàn)A5/3算法。
9.接入網(wǎng)從服務(wù)地的核心網(wǎng)獲得加密密鑰Kc,終端從卡上讀取Kc,各自用它作為密鑰,用所協(xié)商的A5算法計算隨機數(shù),然后用于空口消息/數(shù)據(jù)的加、解密。
3GUMTS系統(tǒng)的無線接入安全
2G接入安全具有如下不足。
1.只能實現(xiàn)網(wǎng)絡(luò)對用戶的認證,無法實現(xiàn)用戶對網(wǎng)絡(luò)的認證,可能存在惡意網(wǎng)絡(luò)誘騙用戶登陸/使用、然后盜取用戶信息和傳播垃圾/病毒信息的威脅。
2.通過PIN碼校驗(而這是非常容易實現(xiàn)的)后,對所有的RunGSMAlgorithm指令,SIM卡都會根據(jù)指令中輸入的隨機數(shù)計算相應(yīng)的SRES認證響應(yīng),攻擊者很容易利用它進行窮舉攻擊(特別是結(jié)構(gòu)性列舉攻擊),以反推用戶密鑰Ki。
3.沒有完整性保護,存在消息/數(shù)據(jù)在中途被攔截和篡改的威脅。
4.一些老算法可以被安全級別更高的新算法替換。
3G系統(tǒng)對以上不足進行了有針對性的改進,在3GUMTS(包括WCDMA和TD-SCMDMA)系統(tǒng)中,用戶的USIM卡和歸宿網(wǎng)絡(luò)的HLR/AuC共享一個安全密鑰K(128bit),基于該密鑰,網(wǎng)絡(luò)可以對用戶進行認證,用戶也可以認證網(wǎng)絡(luò),另外基站和手機間可以對無線鏈路進行加密和完整性保護。
3GUMTS系統(tǒng)的雙向認證、加密和完整性保護是基于(RAND,XRES,CK, IK, AUTN)五元組實現(xiàn)的,基本過程如下。
圖1 五元組生成方法
1.當需要對用戶進行認證時,服務(wù)網(wǎng)絡(luò)的MSC/VLR(對電路域業(yè)務(wù))或者SGSN(對分組域業(yè)務(wù))會向用戶歸屬的HLR/AuC請求認證向量。
2.HLR/AuC首先產(chǎn)生一個隨機數(shù)RAND和一個SQN,然后基于這個RAND、SQN和用戶的根密鑰K按圖1所示進行如下計算:用f2算法生成移動臺應(yīng)返回的認證響應(yīng)XRES,用f3算法生成加密密鑰CK,用f4算法生成完整性保護密鑰IK,用f1和f5算法生成網(wǎng)絡(luò)對應(yīng)的認證響應(yīng)AUTN,HLR/AuC也可能產(chǎn)生多組這樣的認證向量。
3.HLR/AuC將一個或多個(RAND,XRES,CK,IK, AUTN)五元組返回給服務(wù)網(wǎng)絡(luò)的MSC/VLR或者SGSN。
4.服務(wù)網(wǎng)絡(luò)的MSC/VLR或者SGSN通過NAS(非接入子層)信令和用戶的手機/UISM卡執(zhí)行AKA(認證和密鑰協(xié)定)過程。
5.當需要對空口通信進行加密或者完整性保護時,終端和服務(wù)地的接入網(wǎng)(RNC)協(xié)商并激活安全模式。
6.接入網(wǎng)從服務(wù)地的核心網(wǎng)獲得CK和IK,終端從步驟4獲得或者從卡上讀取CK和IK,各自用它們作為密鑰,然后用f8、f9算法進行加/解密和完整性保護。終端和接入網(wǎng)間也可以借完整性保護(IK和f9算法)實現(xiàn)簡單的本地認證功能。
以上過程也可以用圖2表示。
圖2 3G UMTS系統(tǒng)的接入安全