作者:黃子權 / 臺灣大學計算機及資訊網路中心程式設計組幹事
4G網路提供了數位內容共享、多方連線遊戲等功能。在網路上的身分管理更是不該被忽視,而所謂網路身份管理就是在網路上管理使用者的識別身份和存取控制。其主要目的就是防止他人的冒用及預防洩密。因此需要有一份健全的認證協議,這份協議必須架構於網路用戶與網路提供商之間,並且可使得兩者的驗證和授權訊息不會被第三者取得。
改良GPRS與IMS認證
作者提出了一種代理授權方式,加入4G行動通訊系統中,改良了Linet et al.提出的UMTS(通用行動通訊系統)一次性GPRS(通用封包無線服務技術)與IMS(IP多媒體子系統)認證協定[1],以及Zhang et al.提出的安全性的分析與提高3GPP認證金鑰管理協定[2],使得VLR(訪客位置記錄器)除了首次通訊需要與HLR(本籍位置記錄器)交換訊息,取得代理金鑰TKi,MS可利用VLR所回傳的參數計算出代理金鑰TKi,往後的通訊,MS與VLR使用該把代理金鑰來產生認證所需要的參數,如此一來可減少VLR至HLR的頻寬,解決了HLR需要儲存MS大量認證參數的問題。
圖一 4G核心網路架構 [3]
圖二 行動通訊系統基本架構圖 [4]
代理式GPRS-AKA協定
在原有的協定中,加入了時戳T(T是MS第一次啟動認證時的時間),並且利用T來使得SGSN能夠產生代理金鑰,有了代理金鑰,SGSN只有在MS第一次的通訊時需要與HLR/AuC(認證中心)要求這把代理金鑰,往後MS只要在該SGSN的訊號範圍內,皆不需要再與HLR/AuC要求金鑰或是其他的認證參數,因為SGSN能夠自行產生這些認證參數,下列步驟是我們改良過後的協定內容。
● 步驟1.當MS在SGSN的訊號範圍內,MS向該SGSN請求通訊,MS會傳送他的TMSI以及當下時間T給SGSN,請求代理式GPRS-AKA認證。
● 步驟2.SGSN接收到TMSI與T之後,SGSN會向其他的SGSN來查詢用戶的IMSI,接著將IMSI及T傳送給HLR/AuC。
● 步驟3.HLR/AuC使用IMSI找到用戶的金鑰K並且利用所收到的T,透過f5函數,計算出代理金鑰TKi= f5K(T),接著將TKi傳送給SGSN。
● 步驟4.SGSN接收到TKi之後,首先產生一個隨機的亂數RANDi(i表示MS與SGSN 的第i 次通訊,每次通訊RANDi值均不同),接著使用代理金鑰TKi與RANDi計算出XRES、CK、IK與AUTHi,並將RANDi與AUTHi傳給MS。
● 步驟5.MS接收到後,首先使用MS所記錄的時間T與本身的金鑰K,透過f5函數得到代理金鑰TKi。接著檢查傳送過來的AUTHi是否與MS所計算出來的AUTHi’相等,若不相等,判定該次認證失敗;反之,若相等,則使用這代理金鑰TKi與RANDi算出RES、CK及IK,再將RES傳送至SGSN。
● 步驟6.SGSN檢查REX與XRES的值是否相等,若不相等,判定該次認證失敗;反之,若相等,則判定認證成功,並傳送認證成功訊息給MS,接著SGSN選出CK與IK,準備與MS通訊。
往後,當用戶長期處於同一SGSN範圍內時,使用行動通訊設備時,便不需再向HLR要求認證參數,由SGSN執行代理,因此只需要執行步驟1、4、5、6即可。
一旦MS與SGSM間建立連線,MS為了取得IP及其他與連結有關的參數,於是執行PDP context activation。代理式GPRS-AKA協定其金鑰產生分為三個部分。
圖三 代理式 GPRS-AKA 認證
HLR/AuC部分
當MS首次在SGSN訊號範圍內請求通訊時,SGSN請求HLR/AuC發派代理金鑰TKi,SGSN同時也會傳送MS的IMSI與時戳T給予HLR/AuC,這時HLR/AuC會從資料庫中尋找與該IMSI所對應的金鑰K,並利用這把金鑰K與T透過f5函數產生代理金鑰TKi,
,接著將TKi傳送給SGSN。
SGSN部分
當SGSN接收到由HLR/AuC傳送過來的TKi後,SGSN開始執行下列步驟:
1. 產生一個隨機的亂數RANDi,i代表第幾次通訊。
2. 使用TKi及RANDi,分別透過f2、f3、f4、f1函數計算出XRES、CK、IK、AUTHi。
3. 將RANDi與AUTHi傳送至MS
MS部分
MS 接收到訊息之後,將會取出先前儲存的時戳T,接著執行下列步驟:
1. 使用時戳T與本身的秘密金鑰K,透過f5函數計算出代理金鑰。
2. 使用代理金鑰TKi與RANDi透過f1函數計算出AUTHi’, ,來檢驗由SGSN所傳送過來的AUTH是否與AUTHi’所計算的值相同。
3. 若相等,則使用 TKi及RANDi,分別透過f2、f3、f4函數計算出RES、CK、IK。
4. 傳送RES給SGSN,SGSN比對RES是否與XRES相等,若相等,即可證明MS是合法的用戶。
IMS認證
由於代理式GPRS認證,對於IMS認證沒有任何的影響,所以IMS認證協定並沒有其他的更動。
代理式GPRS-AKA效率
成功解決了所提出GPRS三項缺點,使用代理金鑰TKi後,SGSN不需要再向HLR/AuC要求認證參數,所以頻關問題已經不存在,且SGSN能夠獨立產生參數,不需要再經由HLR/Auc,用戶的等待認證時間也就縮短,至於儲存空間的問題,SGSN在協定中,僅僅只需儲存代理金鑰TKi便可自行產生其他參數,比起原先必須儲存五個參數,減少了許多,效率上也大大提升。
令GPRS-AKA每次產生五組AV供SGSN與MS認證使用,若該五組AV使用完畢,則須重新向HLR/AuC認證,令n代表第n次通訊,GPRS-AKA供需( )次的訊息傳送。而代理式認證不需要重新向HLR/AuC認證,代理式GPRS-AKA則需要 次訊息傳送,GPRS-AKA認證與代理式GPRS-AKA認證訊息次數比較,由表可知,代理式GPRS-AKA認證確實能夠有效減少GPRS-AKA認證訊息交換次數。
表一 GPRS-AKA與代理式GPRS-AKA比較
安全性
在協定設計時,安全性及私密性就是一個重要的要點,安全性方面分析如下:
1. 身分隱私(Identity privacy):在協定內,使用TMSI來隱藏用戶INSI,提高用戶身分隱密性,避免用戶的IMSI被竊取。
2. 相互認證(Mutual authentication):協定內,HLR/AuC 發送AUTH經由SGSN給予MS,使得MS可以驗證該訊息是由真的HLR/AuC所發送,在MS 方面使用挑戰回應機制,要求MS回傳RES給SGSN,如此一來便達到相互認證的安全性要求。
3. 機密性(Confidentiality):在往後的通訊中,使用CK讓用戶以加密金鑰對欲傳送的資料加密,以確保無法從無線通訊中被竊取。
4. 完整的保護(Integrity protection):以完整金鑰對接收的資料進行完整性驗證,以確保該資料沒有被竄改。
5. 重送保護(Replay protection):我們在協定中加入了時戳T,若△T超過容許的範圍內,則系統判斷為重送攻擊,中止協定進行,此外還有原系統中的亂數RAND,來杜絕重送攻擊。
6. 中間人攻擊保護(Man-in-the-middle attack protection):由於該協定內,已具有相互認證、CK、IK,所以竊取者只從中竊取得加密過後的資料,但竊取者還是無法解密取得秘密資料。
7. 金鑰的產生(Key derivation):該協定內的認證參數以及金鑰,是由f1至f5的密碼機制演算法,是由公開的MILENAGE演算法所推演而來的。
8. 亂數產生器(Random number generation):使用系統隨機產生的亂數,使得每次認證時的變數均不相同,如此可以防範重送攻擊。
結論
第四代行動通訊開拓了一個無線通訊的新世界,過去許多固定式的服務,經由4G 的架構而變成了行動式,例如網際網路電話、多媒體視訊會議以及多方連線遊戲等,4G讓人們的生活變得更豐富、更便利,往後4G的普及率更會不斷的提高,使用了代理授權方式解決了頻寬、儲存空間以及VLR/SGSN無法獨自產生認證參數的缺點,並且結合了原作者改良的IMS認證,使得整個認證系統更有效率,此外我們也達成了身分隱私、相互認證、機密性等的安全性的顧慮,我們提出了幾點安全性的分析,包含了身分隱私、互相認證、機密性、亂數RAND的產生、重送攻擊、中間人攻擊法、暴力破解法、字典攻擊法、金鑰的產生為第四代行動網路通訊達成更為完善的協定。
參考資料
[1] Y. B. Lin, M. F. Chang, M. T. Hsu, L. Y. Wu, “One-Pass GPRS and IMS Authentication Procedure for UMTS”, IEEE Journal on Selected Areas in Communications, VOL. 23, NO. 6, PP. 1233-1239, June 2005.
[2] M. Zhang, and Y. Fang, “Security Analysis and Enhancements of 3GPP Authentication and Key Agreement Protocol,” IEEE Transactions on Wireless Communications, VOL. 4, NO. 2, PP. 734-742, March 2005.
[3] 王贊彬及黃志文,“校園行動訊息系統的設計與實作”,靜宜 大學資訊管理學系-碩士論文,民國九十五年七月。
[4] 3GPP, Overview of 3GPP Release 8 V0.2.3.
[5] 3GPP, TS 36.300 V10.4.0, Evolved Universal Terrestrial Radio Access (E-UTRA) and Evolved Universal Terrestrial Radio Access Network (E-UTRAN); Overall description; Stage 2(Release 10).
[6] 3GPP, TS 36.321 V10.2.0, Evolved Universal Terrestrial Radio Access (E-UTRA); Medium Access Control (MAC) protocol specification(Release 10).
[7] 3GPP, TS 36.331 V10.2.0, Evolved Universal Terrestrial Radio Access (E-UTRA); Radio Resource Control (RRC); Protocol specification (Release 10).
[8] 3GPP, TS 23.401 V10.4.0, General Packet Radio Service (GPRS) enhancements for Evolved Universal Terrestrial Radio Access Network (E-UTRAN) access (Release 10).