导语:本文对当前的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的影响。