# 陳毅 - 讀書會 - 21/07/17 :::info - [x] 閱讀 Netmanias-05-LTE Security I-Concept and Authentication ::: ## 前言:資安的重要性 就跟其他網際網路服務一樣,只要有封包的傳遞就會有被竊聽的風險,為了避免資料被有心人士竄改或是非法使用,移動通訊網路提供了 Security 方面的功能預防未經授權的存取。 ## Scope and Concept of LTE Security 1. LTE Authentication 實施 UE 與網路之間的交互驗證 2. NAS Security performs integrity protection/verification and ciphering (encryption/decryption) of NAS signaling between a UE and an MME. 3. AS Security - performs integrity protection/verification and ciphering of RRC signaling between a UE and an eNB. - performs ciphering of user traffic between a UE and an eNB. ## 4G 資訊安全領域出現的新朋友 ### ASME (Access Security Management Entity) ASME 是指 AS 從 HSS 接收 Top-level 密鑰的實體,在 LTE 網路中,這個腳色由 MME 扮演。 ### AUTN (Authentication Token) AUTN 供 UE 用於網絡授權驗證,跟 JWT 或是 OAuth 的觀念有點像。 ### AV (Authentication Vector) 鑑權向量包含了 4 個參數: - RAND (隨機數) - AUTN - XRES (Expected Response) XRES 是在 UE 端用來校驗用的,下文會提到。 - $K_{ASME}$ $K_{ASME}$ 是根據 CK/IK 以及 ASME 的 PLMNID 推演得到的一個密鑰。 ## 切回主題  ### Authentication > LTE Authentication 旨在鑑別終端與網路端的真偽,防止任何擷取、竄改、偽造可能性。 LTE Authentication 的步驟如下: 1. Attach Request UE 向 MME 發送 Attach Request ,請求內容包含了 $IMSI,\ UE\ Network\ Capability,\ KSI_{ASME} = 7$ 。 2. MME 向 HSS 請求 AVs HSS 會利用 EPS AKA Algorithm 產生 $AUTN_{HSS},\ XRES,\ K_{ASME}$ 後將相關參數回傳給 MME 。  3. MME 回應 UE 鑑別請求 MME 會在 AVs 中選擇一組 AV ,提取 $RAND(i),\ AUTN(i),\ K_{ASME}(i)$ 並為其分配一組 $KSI_{ASME}$ 。 4. UE 對訊息進行校對 UE 收到訊息後,會使用 EPS AKA Algorithm 產生 AUTN 並進行核對,如果核對結果正確, UE 會將 $RES(i)$ 回傳給 MME 。 5. MME 收到 $RES(i)$ 之後,會與 XRES 進行比較。 如果順利做到這一步, UE 與 MME 兩端都會順利拿到 $K_{ASME}$ ,供之後的 NAS/AS Security 使用。 ### NAS Security 1. NAS Security Mode Command 接續上面的 LTE Authentication , MME 較驗完 RES 的值是否正確後,會向 UE 發送 NAS SMC ,內容包含:  2. NAS Security Mode Complete UE 根據 MME 選擇的 NAS 加密/完整性演算法產生密鑰 $K_{NASenc},\ K_{NASint}$ 。 取得密鑰以後,對 NAS Command Complete 的訊息進行加密並回傳給負責的 MME ,當 MME 使用兩把密鑰解密, NAS 的安全設定就完成了。 ### AS Security > AS Security 確保 UE 與 eNB 之間的無線安全。 當 NAS 的安全設置完成,便會開始 AS 的安全設置, AS 的設置流程與 NAS Security 基本上一致,主要差別在 MME 會使用演算法計算出 $K_{eNB}$ 並傳送給 eNodeB ,這時 UE 與 eNodeB 都會使用 $K_{eNB}\ 產生 K_{RRCenc},\ K_{RRCint}\ 以及\ K_{UPenc}$ ,前兩者用於保護 RRC signaling messages ,後者則用於加密 Data Plane 的資料。 接著將 Command Complete 的訊息進行加密並傳回 eNodeB 驗證, AS 的安全性設定就到這邊結束。 當設定完成後, RRC 訊號會受到加密以及完整性的保護,使用者的 IP 封包也會在加密後進行傳輸。 ## 補充: HMAC $HMAC (k,m) = H ( (k\ XOR\ opad ) + H( (k\ XOR\ ipad ) + m ) )$ ## Reference - [一文看懂 LTE 的鑒權](https://kknews.cc/zh-tw/code/65y6x9l.html) - [在 LTE 環境下,具有 DCA 之動態金鑰相互認證的無線通訊系統](http://www.cs.thu.edu.tw/upload_files/99_yifung_02.pdf) - [LTE NAS 金鑰計算](https://frankchang.me/2020/03/19/lte-knas-derivation/) - [用于消息验证的 hash 算法 HMAC](https://www.biaodianfu.com/hmac.html) - [不是祕密的祕密](https://www.ithome.com.tw/voice/127918)
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up