5G規範安全性和協議漏洞分析(上篇)
一、概述
第三代合作計劃(3GPP)在2018年3月,釋出了第15版移動通訊系統規範,為第五代行動通訊(5G)奠定了基礎。5G網路的目標是提供無處不在的高速、低延遲網路連線,以更好的應用於高清視訊和物聯網的場景,同時服務於大規模通訊以及實時控制的需求。因此,最新一代行動通訊的設計原則是支援更高承載量、支援更高資料速率、減少延遲、支援大規模裝置連線,從而實現觸覺網際網路(Tactile Internet)、增強現實(AR)、虛擬現實(VR)以及智慧車輛互聯。
與此前的2G、3G和4G(LTE)一樣,安全性對於5G通訊網路和服務至關重要,因為目前,移動系統正在為全世界數十億人提供連線。此外,蜂窩通訊網路是當前新型關鍵基礎設施的連線基石,包括智慧電網、第一響應單元(First Responder Units)和先進的軍事自組織網路。5G的出現將誕生新的網路和應用,包括用於輔助駕駛或自動駕駛的下一代車載網路,以及智慧城市和智慧社群。
傳統的2G網路存在著一些安全弱點,最嚴重的一個問題就是網路和使用者裝置(UE)之間缺乏相互認證。正因如此,從3G開始,安全性便始終成為了行動通訊的關鍵設計考慮要素之一。LTE實現了強大的加密和完整性保護演算法,支援基於對稱金鑰的相互認證系統,該系統安全的儲存在通用使用者識別模組(USIM)或SIM中,以及運營商的歸屬使用者伺服器(HSS)上。然而,近年來的安全研究又發現了LTE協議固有的一系列漏洞。例如,大量的預身份驗證訊息以明文形式傳送,並且該訊息可以被利用發起拒絕服務(DoS)攻擊,並從使用者裝置(UE)處獲得移動使用者的位置資訊。
LTE規範的第一版,Release 8,釋出於2007年。在很久之後,安全研究人員才發現其主要的安全漏洞,並首次在公開文獻中報告。之所以時隔這麼久,一個原因在於沒有可用且價格合理的LTE安全研究工具。直到最近幾年,在個人計算機上執行的LTE軟體庫和能夠使用現有商業軟體定義的無線電外設才達到足夠的成熟度。只有這些環境可以被安全研究者使用,他們才能對LTE進行深入的研究,從而也就能夠取得良好的研究成果,發現許多協議上的漏洞。
在5G網路的定義和規範建立過程中,安全性被作為一個關鍵的考慮要素和核心問題。自從NR和5GC的通訊協議建立以來,他們已經在解決已知的LTE協議漏洞方面付出了大量的努力,特別是在防範國際移動使用者識別符號(IMSI)捕獲器Stingrays這一方面。因此,5G協議引入了使用者永久識別符號(Subscriber Permanent Identifier,SUPI)和使用者隱藏識別符號(Subscriber Concealed Identifier,SUCI)的概念。更重要的是,5G規範中引入了基於公鑰基礎設施(PKI)的安全體系結構,允許驗證和鑑別源自5GC的控制面訊息(Control Plane Messages)。
儘管5G協議在努力設計其安全架構,但仍然存在許多不安全協議的邊緣案例。攻擊者可利用這些案例,來對使用者實現拒絕服務攻擊,或者攔截敏感使用者資訊。此外,5G協議規範所基於的場景可能難以符合實際,從而導致不安全的網路配置。具體而言,5G所有安全性的基礎都是SIM卡中儲存的運營商公鑰,只有在“全世界所有移動裝置的所有SIM卡中都儲存了全世界所有運營商的公鑰”這一種情況下,才能保證該協議的絕對安全。此外,所有的運營商也必須負責保證自己的私鑰是安全的。在全世界範圍內,金鑰管理和輪換機制顯然是不可行的,並且也不在標準規範之中。並且,受政治因素影響,金鑰分配機制可能不會被全球所有國家和地區所採用。一旦上述過程中出現了任何問題,都可能會導致不安全的協議實現或ISMI捕獲的風險。
本文對當前的5G協議安全規範進行了全面分析。作為本次研究的一部分,我們列舉了協議存在的漏洞,並將其帶入實際場景,分析潛在的安全威脅。此外,我們還討論了5G安全性的要求和前提條件,重點關注了全球採用(Global Adoption)及其產生的結果。最後,我們還分析了無線電接入網安全相關的體系結構和過程。但是,關於5GC安全性的分析不在本文的討論範疇之內。
本文主要內容如下:第二章中介紹了5G安全體系結構和組成部分,第三章討論了3GPP Release 15規範中提出的5G安全要求和過程,第四章詳細分析了5G規範的主要安全挑戰,重點說明了其存在的協議漏洞利用和敏感資訊洩漏的潛在風險,第五章分析已知LTE協議漏洞是否會影響到5G的安全性,最後在第六章中總結了我們的研究結果。
二、5G安全體系結構
5G的安全體系結構由使用者裝置(UE)、無線電接入網路(RAN)、核心網路(CN)和應用組成。該體系結構可以簡化為應用層、服務層和傳輸層。下圖為服務層和傳輸層的簡化圖:
在整個網路和終端使用者元件之中,分別定義了不同的安全特性,這些特性組合在一起,共同建立了一個安全的系統設計方案:
1、網路訪問安全性(I):使使用者裝置(UE)能夠經過認證,並且安全的訪問網路服務的一系列功能或機制。
2、網路域安全(II):使核心網路節點能夠安全地交換信令資料(Signaling Data)和使用者平面資料(User Plane Data)的一系列功能。
3、使用者域安全(III):保護使用者訪問移動裝置和移動服務的一系列功能。
4、基於服務的體系結構(SBA)和域安全性(IV):SBA域中的一系列功能,包括網元註冊、發現和授權,以及對基於服務的介面的保護。
5、安全性的可見與可配置(未在圖1標明):使使用者能夠獲知安全功能是否正在執行,同時使使用者能夠對安全功能進行配置。
5G規範定義了許多網路功能及其介面,允許無線電接入網路(RAN)、核心網路(CN)和外部網路之間的資料流傳遞。下圖展示了簡化後的5G網路結構。5G網路功能和安全功能為5G移動通訊系統的開發提供了靈活而又安全的設計。
下面列舉了一些重要的3GPP網路概念和元件,用於定義和分析5G的安全體系結構、要求和過程:
(1)5G-GUTI:5G全球唯一臨時識別符號(5G Global Unique Temporary Identifier),考慮到安全需要,用於限制SUPI的信令。
(2)5GC:5G核心網(5G Core)。
(3)AKA:認證和金鑰協議(Authentication and Key Agreement),用於蜂窩網路中無線網路接入的安全協議。
(4)ARPF:認證憑據儲存和處理功能(Authentication Credential Repository and Processing Function),將長期安全證書和金鑰儲存在5G-C中。
(5)AUSF:認證伺服器功能(Authentication Server Function),用於歸屬網路的5G安全過程。
(6)CP:控制面(Control Plane),用於控制資料信令層面。
(7)EAP:可擴充套件身份驗證協議(Extensible Authentication Protocol),認證框架,用於金鑰和引數的傳輸。
(8)EPC:演進分組核心網(Evolved Packet Core),LTE無線核心網路。
(9)EPS:演進分組系統(Evolved Packet System),LTE無線電接入和核心網路。
(10)HE:歸屬環境(Home Environment),包含使用者配置檔案、識別符號和訂閱資訊的資料庫。
(11)IMSI:國際移動使用者識別碼(International Mobile Subscriber Identity),用於2G、3G、4G系統,作為識別使用者的唯一方式。
(12)MCC-MNC:移動國家程式碼-行動網路程式碼(Mobile Country Code – Mobile Network Code),由基站廣播,作為識別運營商的唯一方式。
(13)ME:移動裝置(Mobile Equipment),移動終端。
(14)NAS:非接入層(Non-Access Stratum),與認證、其他安全功能和控制面機制相關的網路層。
(15)PKI:公鑰基礎設施(Public Key Infrastructure),分層金鑰的一種,用於建立、管理、分發和使用數字證書以及管理公鑰加密。
(16)RRC:無線資源控制(Radio Resource Control),在RAN管理上層的無線電資源。
(17)SBA:基於服務的體系結構(Service-Based Architecture),支援切片(Slicing)和虛擬化,從而在每個服務的基礎上優化網路效能。
(18)SEAF:安全錨功能(Security Anchor Function),是5G-C功能之一,建立統一的錨鍵,提供給UE使用,在網路中用於主要的認證和後續通訊保護。
(19)SMF:會話管理功能(Session Management Function),是5G-C中SBA的一部分,負責協議資料單元與UE進行交換,包括策略和計費。
(20)SN:服務網路(Serving Network),為UE的網路,可以是歸屬網路或訪客網路。
(21)SUCI:使用者隱藏識別符號(Subscription Concealed Identifier),使用運營商的公鑰對SUPI進行加密。
(22)SUPI:使用者永久識別符號(Subscription Permanent Identifier),是5G使用者的永久身份,相當於IMSI。
(23)TAU:跟蹤區域更新(Tracking Area Update),由處於空閒狀態的UE傳送的訊息,以通知網路其跟蹤區域(TA)。
(24)UDM:統一資料管理(Unified Data Management),支援ARPF的5GC功能。
(25)UE:使用者裝置(User Equipment),由ME和USIM組成,提供對使用者服務的訪問。
(26)UP:使用者面(User Plane),使用者資料信令層面。
(27)USIM:通用使用者識別模組(Universal Subscriber Identity Module),也稱為SIM,硬體安全儲存,其中包含IMSI(或SUPI),以及用於使用者身份驗證和其他AKA功能的金鑰。
三、3GPP 5G規範安全需求及實現
5G的安全體系結構是在定義了一系列安全要求、功能和實現的基礎之上構建的。因此,我們將繼續進行分析。下面列出了5G無線電接入網路(RAN)的主要安全要求和相應的實現。在其中,包含了一些可能導致安全漏洞的要求和實現,我們將會在後續章節中進一步討論這些安全漏洞及其潛在影響。
(1)通用
安全需求:
a. 緩解Bidding Down攻擊。
b. 相互進行認證。
c. 使用者裝置、訪問和服務網路授權。
d. 允許未經認證的緊急服務。
實現:
在身份驗證過程中,使用EAP-AKA和5G AKA方法。
(2)使用者裝置與5G基站(UE and gNB)
安全需求:
a. 通過加密,保護使用者和信令資料。一旦連線到5G基站,就考慮啟用使用者裝置安全功能和服務網路的安全功能。支援零加密(Null Encryption)。保密性保護可以選擇是否啟用。
b. 使用者和信令資料完整性保護和重放保護。一旦連線到5G基站,就考慮啟用使用者裝置安全功能和服務網路的安全功能。支援零完整性保護(Null Integrity Protection)。使用者資料的完整性保護可以選擇是否啟用。RRC和NAS信令保護強制啟用,但存在例外,比如未經認證的緊急會話。
實現:
從金鑰體系中匯出、分發和協商金鑰,支援128位和256位金鑰加密。對於網路實體中的每一個金鑰,使用者裝置負責儲存相應的金鑰,根金鑰儲存在USIM中。
(3)使用者裝置(UE)
安全需求:
a. 通過使用防篡改的安全硬體元件,實現對使用者憑據的安全儲存和安全處理。
b. 通過使用臨時或隱藏的使用者識別符號(5G-GUTI和SUPI)獲取使用者隱私。支援零計劃(Null-scheme)方案,在歸屬網路未提供公鑰時使用,該歸屬網路控制使用者隱私及金鑰的提供和更新。
實現:如果由歸屬運營商提供,USIM將儲存用於隱藏SUPI的歸屬網路公鑰。
(4)5G基站(gNB)
安全需求:
a. 通過證書授權設定和配置,屬於可選項。
b. 金鑰管理,可選用基於5G PKI的架構。
c. 金鑰的安全環境,UP和CP資料儲存及處理。
實現:
認證和金鑰匯出可以由網路發起,因為操作方決定什麼時間存在活動的NAS連線。
3.1 核心框架
5G的安全實現基於分層的金鑰派生、分發和管理框架之上。金鑰儲存在很多網路實體之中。長期金鑰K由UDM層的ARPF負責儲存,USIM保留該對稱金鑰在使用者那裡的副本。其他的所有金鑰,都是從該金鑰派生而來的。
3.2 認證和歸屬控制
3GPP建立了EAP-AKA和5G AKA的認證方法,並要求5G UE和5GC必須支援這兩種認證方法。這些安全模式用於相互身份驗證和後續服務安全性保證。5G UE在其註冊請求中需要使用安全的5G-GUTI或SUCI,並從中選擇一種認證方法來啟動認證過程。當使用EAP-AKA時,UE作為對等體,而5GC SEAF和AUSF分別作為傳遞伺服器和後端認證伺服器。5G AKA則是通過向歸屬網路提供UE從訪客網路成功認證的證明,來增強EPS AKA的安全性。
增加的歸屬控制(Home Control)被認為能夠有效防止某些型別的欺騙。擬定的5G框架中支援實施這樣的過程,但它們被認為超出了標準規範的範圍:歸屬網路採取什麼樣的方式進行認證確認(或不進行認證確認)取決於運營商的策略,而不是標準化的過程。針對其他的安全實現,也有很多功能超出了協議規範的範圍,可能會導致不安全的邊緣情況發生。
3.3 安全上下文
5G安全規範為不同的場景定義了許多安全上下文,包括單個5G服務網路、跨多個服務網路、5G和EPS網路之間。當UE向兩個服務網路註冊時,這兩個網路必須獨立地維護和使用其自身的安全上下文。當UE註冊到同一個公共陸地移動網(Public Land Mobile Network)中的兩個服務網路時(3GPP和非3GPP),UE會與這些網路建立兩個獨立的NAS平面連線,但會使用由一組金鑰和安全演算法組成的公共NAS安全上下文。
3.4 狀態轉換和網路切換
此外,還定義了在狀態轉換和網路切換的過程中,維持或忽略安全上下文的實現方式。規範中提出,如何配置切換過程中的安全性,取決於運營商的策略。這一部分實際上要在運營商的安全需求中體現,因此在切換期間的安全性是一個可選項,沒有通過標準來強制執行,這可能導致許多運營商實施不安全的切換過程。
3.5 非接入層
在公共NAS安全上下文中,具有其中每個NAS連線的引數,支援對兩個活動NAS連線的加密分離和重放保護。NAS使用128位加密演算法來保證完整性和機密性。但是需要注意的是,這裡也支援零加密和零完整性保護。如果UE不存在NAS安全上下文,那麼初始的NAS訊息將會以明文傳送,其中包含使用者識別符號(例如SUCI或GUTI)和UE安全特性等內容。
3.6 無線資源控制
RRC的完整性和機密性保護由UE和nGB之間的分組資料匯聚協議(Packet Data Convergence Protocol,PDCP)層提供,並且PDCP下面的層不會受到完整性保護。當完整性保護啟用時,除非所選的完整性保護演算法是NIA0(零完整性保護),否則應該同時啟用重放保護。RRC完整性檢查會同時在ME和gNB中執行。如果在完整性保護啟動後,發現有訊息沒有通過完整性檢查,那麼相關訊息會被丟棄。
3.7 使用者層
在PDU會話建立過程中,SMF應為gNB的協議資料單元(PDU)會話提供使用者面(UP)安全策略。如果沒有為資料無線承載(DRB)啟用使用者面完整性保護,那麼gNB和UE就不會為DRB實現完整性保護。如果沒有為DRB啟用使用者面加密,那麼gNB和UE就不會加密DRB業務的流量。本地SMF能夠覆蓋從歸屬SMF接收的使用者面安全策略中的機密性選項。
3.8 使用者ID隱私保護
SUCI是5G永久使用者標識SUPI的隱藏版本,從而防止暴露SUPI。SUCI使用運營商的公鑰,由SUPI生成。零保護方案適用於三種情況:未認證的緊急會話、歸屬網路進行了相應配置、尚未提供運營商公鑰。
5G規範還定義了臨時識別符號5G-GUTI,從而盡最大程度防止SUPI或SUCI的洩露。5G-GUTI將由UE觸發重新分配,而重分配的時間間隔是在具體實現中確定的。
本篇文章先介紹到這裡,下篇文章我們將講述5G的安全挑戰和潛在漏洞以及LTE協議漏洞利用對5G的影響。