Thursday, December 26, 2019

5G Security Architecture 安全架構初探

引言
理論上,5G(第五代流動通信)不但具有更快的速度、更高的頻譜效益,還有更高的安全性。 其中一個具體例子,就是手機註冊流程。相比起 4G 使用的 EPS-AKA,5G 使用的 5G AKA 既能更加有效防止竊聽者的追蹤,也能減少在漫遊下,手機身分被盜用的風險。

本文章會先分析 5G Core 中,與保安相關的 Functional Entities 的名稱及功能。然後在下一篇文章,會詳細解釋 5G-AKA 的運作原理,以及與 4G EPS-AKA 的異同之處。

基本保安架構
名詞解釋:
  • ME = Mobile Equipment 
  • USIM = Unique Subscriber Identity Module
  • 3GPP / Non-3GPP AN = 3GPP / Non-3GPP Access Network
  • SN = Serving Network
  • HE = Home Environment
簡單來說,就是 ME(手機)會與 USIM(電話卡)交換資料,為上層的應用提供保安。
而手機會利用 3GPP AN(例如基地台)或 Non-3GPP AN(例如 Wi-Fi 熱點)與 Serving Network(最就近的網絡)溝通。同時,Serving Network 也需要索取有關你 USIM 的資料,用作認證身分。而且,Serving Network 有時未必是 Home Environment(你訂購的網絡)(例如漫遊情況下)。所以,兩者會一起合作,為上層提供保安。

四個主要的保安個體 (Four Fundamental Entities)

  • UE (User Equipment) - 毋庸置疑,手機終端是最重要的個體。
    手機中會插著 USIM 卡,而且手機正正就是資料的使用者。
  • AMF (Access and Mobility Management Function) - 它與 4G EPC 的 MME (Mobility Management Entitiy) 十分相似。與 MME 不同:它不會處理與 Session 相關的工作,只會把 Session 相關的訊息 forward 去 SMF 處理。但是,與 MME 相似:它也會處理 Mobility Event 的 Notification。在保安方面,它只會負責做 SEAF (Security Anchor Functionality),把 SUPI / SUCI 的 request / response forward 去 AUSF / UE。
  • AUSF (Authentication Server Function) - 它只負責做 Authentication 相關的工作,也就是處理所有來自 3GPP / Non 3GPP AN 的 5G AKA / EAP-AKA' / EAP-TLS 的請求。
  • UDM (User Data Function) - 又稱 ARPF (Authentication credential Repository and Processing Function)。它就是一個儲存 SUPI 和所有 secret key 的倉庫。與 4G 的 HSS 一樣,它只會回應合法的請求。而且,它保證所有 Secret keys 都不會離開它,因為它只會回應 hashed keys / calculated keys。而與 4G HSS 不同:4G HSS 有很多其他功能,而 UDM 只有這一個功能,所以相對簡單。
5GC 的明確分工,不但有助防止伺服器過度繁忙,更令局部強化變得簡單。例如:如果有非常多人進行 5G-AKA,只需要開多一台 AUSF 即可解決。又例如,如果某一天需要改掉 secret key 的加密方法,我們只需要更新一下 UDM 就可以,而不會影響 HSS 的其他功能。

註:SMF (Session Management Function) 與 4G 的 SGW 相似,它只做 Session Management,並不提供保安相關功能。而 UPF (User Plane Function) 也一樣,只根據用戶身分,進行 application detection 和 QoS control,同樣不會提供保安相關功能。

---

參考:

[1] 3GPP 23.501 V15.7 - https://portal.3gpp.org/desktopmodules/Specifications/SpecificationDetails.aspx?specificationId=3144

[2] 3GPP 33.501 - V15.2 - https://portal.3gpp.org/desktopmodules/Specifications/SpecificationDetails.aspx?specificationId=3169