移动通信网中的密码算法演进之一、二分别介绍了机密性、完整性保护两个基础能力,本篇主要介绍在移动通信发展过程中认证算法及其使用方法的变化历程。

【1】移动通信网中的密码算法演进之一——机密性保护

【2】移动通信网中的密码算法演进之二——完整性保护

每谈到移动通信网的安全问题,首先蹦出来的几个词肯定是“复制卡”、“伪基站”、“电信诈骗”、“垃圾短信”、“改号”……其实这些问题或漏洞或多或少都和认证相关。

认证是网络与用户之间相互识别的过程。认证解决“你是谁?”和“你是不是你?”的问题。

一般情况下,认证可基于被认证方拥有一个独特的、不可复制的构件;或者双方都知道的一个秘密;又或者被认证方的某种唯一特征。除第一代模拟通信外,从2G开始的移动通信网络的认证综合了前两种方式:一个共同的秘密(密钥)和被认证方一个独特的构件(SIM/USIM卡)。

移动通信网认证机制中通过SIM/USIM中携带的用户身份IMSI解决“你是谁?”的问题;而解决“你是不是你?”的问题都植根于这个密钥,配合一些其他的参数,基于一定的认证算法和协议过程而展开。本质上来讲,移动通信网络中的认证过程采用的是古老的“Challenge - Response”(挑战 -响应)的机制,即认证方向被认证方发送一个“挑战”——一般是一个随机数;被认证方基于双方共有密钥,以及挑战中所包含的信息计算一个“响应”;显然只有拥有密钥的参与方才能正确计算出这个响应。

在移动通信网络中,这个密钥分别存放在运营商网络的AuC(Authentication Center)和用户的SIM/USIM卡里面。这个密钥一旦启用,理论上就不会出现在这两个地方之外。在用户这一侧,基于这个密钥的计算都在卡里面进行,不会出现在终端的内存里面。后续通信需要使用的其它密钥,也基于这个密钥通过不可逆的函数衍生出来。AuC的安全和卡的安全是移动通信网安全的基石之一。AuC在运营商网络之内,有“重兵”把守,在物理上、管理机制上、安全防护手段上都有严格的要求。卡则散落在用户手里,是不可控的环境。通常卡都采用抵制篡改(tamper-resist)的硬件设计,即要求不能从卡内读出卡内的信息,从而防止信息的泄露。严格意义上来说,用户自己也无法获知自己的密钥是什么,但拥有卡就相当于用户掌握了这个独一无二的密钥。

那么认证机制在什么情况下会失效呢?归纳来说,导致认证机制失效的可能性主要有两个:一是认证的算法/密钥被破解,导致攻击者可以冒充用户或网络进行认证;二是认证的流程不完备,可能导致网络冒充(伪基站)。

从2G到5G,认证算法、卡的形态都在不断演进和发展,下面我们先给大家介绍2/3/4/5G中的安全认证机制变化历史,并为大家逐一解析这些漏洞的真伪及原因。

1、模拟通信(第一代移动通信系统)

第一代移动通信系统在1978年由贝尔实验室首先研制成功,并在1983年投入全美商用,后续欧洲多个国家也迅速跟进。在模拟通信中对用户认证是相对简单的,分配给每一部手机一个独有电子序号(ESN)和网络编码移动标识号(MIN)。当用户(MS)需要接入网络时,手机会自动将自己的ESN和MIN发送至网络。如果手机的ESN和MIN与网络的ESN和MIN两者匹配,就能实现接入网络。

很显然,这个认证机制仅验证了“你是谁?”,没有验证“你是不是你?”,ESN和MIN可被不同的人重复使用,是很容易被伪冒的。

2、2G(GSM)

1982年GSM小组建立,GSM的认证则利用上面说到的网络与用户的共享密钥(GSM中成为Ki)以及专门用于安全目的的智能卡—SIM卡(Subscriber Identity Module即“用户识别卡”)。

相比于通信所用的会话密钥,Ki是一个长期存放在SIM卡里固定不变的密钥,不是通过认证过程衍生出来的。所以在后来的标准里面,它被称为长期密钥(long term key)。省略较多的细节,简单来说,认证过程分为6步:

Step1:当需要认证的时候,用户的归属网络生成一个随机数,一般称为RAND,即前面提到的所谓“挑战”;归属网络认证服务器(AuC)通过安全认证算法使用Ki对RAND进行系列运算,生成运算结果(认证信息XRES、会话密钥Kc);在参数的命名上,XRES中的X代表eXpected,即期待的响应值,这种命名方式一致延伸到5G;

Step2:将运算结果作为认证向量(RAND、XRES、Kc)发送到拜访网络;

Step3:拜访网络将RAND发送到终端,要求终端进行身份认证;

Step4: SIM卡通过安全认证算法使用Ki对RAND进行系列运算,由于算法、密钥、输入的信息(RAND)都一致,运算结果(终端侧认证信息SRES、会话密钥Kc)也应当一样;

Step5:终端(SIM卡)将运算的结果上报到拜访网络,网络侧对运算结果进行核对(即验证XRES=SRES?)并确定是否正确;

Step6:核对认证结果无误,执行用户接入网络的后续步骤。

通常来说,在这个6步的过程里面同时实现了认证和会话密钥协商,称为AKA(Authentication and Key Agreement,会话与密钥协商)协议

在上面的流程里面,涉及到归属网络、拜访网络和终端。通常,认证相关的参数都是由归属网络生成,因为归属网络,也就是用户签约的网络,存储了最核心的密钥,不会泄露。而认证的执行,通常在拜访网络进行,即用户漫游所在地网络,这样效率更高。这里体现了归属网络对拜访网络的相互信任,即拜访网络用归属网络提供的认证材料对使用网络的用户进行认证,而归属网络则认可拜访网络的认证结果。

GSM网络与用户通过代号为A3/A8算法[1]框架实现AKA;这两个算法一般合并实现,且有多种实现方式。其中A3用于将Ki和RAND作为输入参数来计算发送给网络的响应值SRES(32bits),A8用于基于Ki和RAND来生成后续用于通信加密的会话密钥Kc(64bits)。与全球大部分运营商一样,中国移动选择COMP128-1[2]为A3/A8的实现方法,COMP128-1算法于1987年设计,并在1991年投入使用。具体如下图所示。

但不久之后,GSM网络面临了两个重要的安全风险。一是算法强度不高,导致克隆卡问题;二是认证流程存在缺陷,导致伪基站的问题。

1 认证算法自身与克隆卡

COMP128-1算法的设计较为简单,其实现仅需20行代码;在最初设计与使用时,由所有参与方签订MoU协议对方法进行保密。但在1998年算法被泄露,随即在1999年即被破解,在2000年即出现了对应的SIM卡破解软件。

由于输入的信息(128bits)大于输出的信息(96bits,即SRES+Kc),因此必然会出现不同的输入产生相同的输出,我们称为“碰撞”。而且由于字节压缩得很厉害,很容易找到“碰撞”;最初的破解中,攻击者输入大量连续的数据就能轻易获得碰撞,以此来推算出密钥Ki。一旦计算出Ki,SIM卡就可被复制。因此,对SIM卡的破解并不是从智能卡中读取了机密信息,而是利用算法的脆弱性实施了计算破解。

此后,中国移动在2003、2008又两次对COMP128-1算法进行了增强,其中2008年自主研发的“防克隆SIM卡”具有对攻击的主动防御能力,有力保障了SIM卡的安全使用至今。

可能有同学会问:有的时候看到网上看到“小广告”说,可以仅通过你提供的手机号就能克隆出一张卡,然后还能监听这个号码的正常通话和短信,是真的吗?答案是:这是个利用部分网络电话中可以任意输入主叫号码的能力设计的骗局,千万不要相信。

2 单向认证机制与伪基站

在GSM中,认证机制最大的一个缺陷是“单向认证”,就是说只有网络认证用户的真实性,而用户不认证网络。正是因为移动通信在设计之初未充分考虑安全性,导致了后面“伪基站”的问题。

“伪基站”是一种干扰公共通信的违法行为,自2009年OpenBTS软件发布之后逐渐增多。一般由主机和笔记本电脑组成,再加上一个射频装置(也就是常说的天线)。伪基站设备运行时,会用自身发射的高强度非法信号干扰和屏蔽一定范围内的运营商合法信号,而手机则会自动连接信号强度最高的基站,从而被强制连接到伪基站设备上。

由于伪基站一般并不具备模拟真实的移动通信网络能力,在“吸入”用户后并不能形成通话,而只能向用户发送短信。但是利用伪基站确实是可以伪装成任意号码下发短信,因此可能会有伪装为95588、95533、10086等银行或通信运营商的客服号码,具有较强的迷惑性;同时,因为采用伪基站发送的短信不经过运营商网络,所以也难以监察到。

3、3G(UMTS)

在2000年ITU确定3G空口传输标准制式的时候,针对2G智能卡及网络的破解攻击已经存在。因此,在3G网络认证标准制定时,采用了两个增强措施:(1)采用“用户ßà网络”的双向认证机制;(2)选用更加安全的认证算法,并将智能卡升级为USIM卡(Universal Subscriber Identity Module,全球用户识别卡),具有更大容量、更强的运算能力和扩展应用能力。这两个增强与我们上面提到的GSM认证中的风险是相关的。

首先,3G采用了双向认证机制,在2G的“挑战-响应”的机制上,增加了终端侧对拜访网络的检查,检查拜访网络是否经过了归属网络的授权来发起对终端的认证请求。关于“挑战-响应”机制,跟GSM的方式基本是一致的:网络侧发送一个随机数作为挑战,终端侧用这个随机数和长期密钥K计算出响应,网络比对终端侧计算出的响应是否与网络侧的一致。请大家注意到,这里的长期密钥K,在GSM网络里面称为Ki,自3G之后就称为K了;为了与GSM AKA做出区分,3G的AKA机制也称为UMTS AKA。

终端对于拜访网络的检查,依赖于拜访网络下发给终端的一个AUTN(Authentication Token)参数。从拜访网络下发给终端的这个参数来自于归属网络,这个参数是通过终端与归属网络之间的共享密钥K,以及一些其他输入参数计算得出。如果终端计算出来的AUTN与拜访网络下发的一致,则证明拜访网络确实是从归属网络获得的这个参数,因为只有归属网络拥有K,能计算出这个参数,从而就认为归属网络获得了拜访网路的授权来对用户进行认证。其基本流程如下,其步骤与GSM的较为类似,关键是用户认证向量发送了变化。

从上面的3G认证过程可以看出,3G的认证向量,即由归属网络发送给拜访网络的用于认证的参数由五元组(RAND, XRES, CK, IK, AUTN)构成,其中AUTN用于实现用户对网络的认证,前面已经提到。XRES用于实现网络对用户的认证,即用于比对用户终端对挑战所计算出来的响应是否与该值匹配,RAND是作为“挑战”的随机数。这三个参数是认证相关的。CK是机密性保护密钥,与GSM的Kc对应,IK是完整性保护密钥,这是因为3G中引入了通信的完整性保护,这两个参数后面不做展开。

在认证流程Step2、Step3中,网络侧将AUTN信息发送给了终端侧的USIM卡,USIM能有效鉴别网络的真伪,冒充网络的行为无法实现。

其次,使用代号为f1-f5的算法来产生认证向量。3GPP并没有强制f1-f5应使用什么算法,因为这个算法应用于卡和AuC之间,不涉及到运营商之间的互操作,所以可以由运营商自己来决定使用什么算法。但同时,3GPP还是推荐了MILENAGE算法簇作为3G的f系列算法,用于产生认证向量[3-7]。MILENAGE算法使用分组加密,加密分组和密钥长度都是128比特,目前我们使用AES作为MILENAGE的核心算法来使用。相比COMP-128,使用AES的MILENAGE具有极高的安全性,攻击者在持有USIM卡后无法推算用户长期密钥K。

下面,我们基于上图说明一下两个认证参数的生成过程。XRES=f2(K,RAND)。 AUTN=SQN⊕AK ||MAC || AMF,其中MAC = f1(SQN, AFM, K),AK = f5(K, RAND)。以上的计算里面涉及到的几个参数说明如下:

SQN:48bit序列号,通过序列号确保每个认证向量不会被重放;

AK:48bit用于隐藏序列号的临时密钥,基于K和RAND生成;

MAC:64bit,用于构成AUTN的主要变量,由于包含了K的计算,可用于作为网络认证;

AMF:Authentication Management Field,共16bit,未标准化。在4G的时候,最高位被用于区分AMF所在的认证向量是4G的认证向量还是3G的认证向量,因为4G和3G可能会共用HSS/AuC。

理论上来说,在3G认证过程实施之后就不会再出现伪基站了,但也有一些例外情况,如为了方便2G存量用户的使用,3G网络在推荐使用USIM卡接入的基础上、同时也允许SIM卡直接认证后接入;因此,对于使用SIM卡接入网络的用户还是容易受到2G伪基站的攻击。

另外,3G认证协议标准化不久,就发现易受到重定向攻击 (redirection attack) [8]。这种类型的攻击在2017年的黑帽大会上有针对4G网络攻击案例被披露,因此我们后面继续谈到这一点。

4、4G(LTE,Long Term Evolution)

3G的认证功能是比较经得住考验的,因此在4G认证的标准过程中,基本沿用了3G认证的协议流程和认证算法,只在卡的兼容性和后续密钥的衍生方面有少量的修改,称为EPS-AKA;其中EPS(Evolved Packed Call)指的是4G的核心网。下面我们就对这些不同之处进行阐述。

首先,LTE采用与3G相同的USIM卡,但LTE仅允许USIM卡接入,不允许SIM卡接入,意味着双向认证和信令的完整性保护是必选的,因此伪基站无法与用户手机(USIM卡)进行有效认证,自然无法进行后续通信了。这样在4G网络上就不会存在由于单向认证引起的安全问题。所以,原来那些使用2G SIM卡的3G用户,如果想要享受LTE高速网络,除了买一部LTE手机外,还必须换成USIM卡。

但在少量特殊的情况下(例如4G过载),4G可能向2G进行切换,留下了一个重定向导致伪基站的缺口,这个机制在《通信网络安全算法演进之完整性》中已有描述,本文不再赘述。

可能还有同学发现2017年的黑帽大会上曝出了一个“呼叫劫持”漏洞。其实该漏洞也是利用了呼叫时被叫因为不支持VoLTE而被切换到2G,且2G没有对被叫强制要求身份认证;攻击者不断在空中监测2G寻呼信道,若在现网2G流程中没有进行被叫用户认证的话,一旦发现2G寻呼请求则迅速冒充被叫进行响应,在毫秒之间劫持通话。这个漏洞发现殊为不易,但解决方案则很简单,运营商只需要对被叫100%开启认证就可以了。

此外,为了支持WLAN的接入方式,4G还使用了扩展的EAP-AKA[9]和EAP-AKA’[10]认证。EAP-AKA是将AKA认证过程使用EAP协议进行封装,其核心参数仍然是AKA认证向量,从而可以将蜂窝网的认证能力扩展到其他接入网络(例如WLAN)当中。在WLAN接入网络当中,可使用EAP-AKA和EAP-AKA’均可实现终端与归属网络的相互认证,参与认证的网元有UE、AC、AAA Server、HSS。

较EAP-AKA相比,EAP-AKA’将散列算法由SHA1替换为SHA256,并且在认证过程中生产密钥时增加了接入网的网络标识(AN-ID),实现了对WLAN接入网的认证。

5、5G

AKA的安全性经过了3G、4G时代的检验,5G也将继承AKA作为5G接入的认证方式之一。但伴随着网络接入方式的增加,以及运营商商业环境日益复杂,还有5G将承诺更好地支持物联网和垂直行业的雄心壮志,5G认证机制较4G相比增加了新的考虑,最重要的点包括认证体系的扩展,对EPS AKA的增强以及将EAP AKA’提升到一种主要的认证方法,下面我们就对这几个问题进行阐述。

5G的认证体系

在从2G-4G的标准里面,认证结束之后,就可以在终端和网络之间建立会话了。会话既可以是基于电路交换的语音通话(在GSM中),也可以是数据连接(在GPRS, 3G, 4G中)。在5G中,如果要建立一个到外部数据网络的数据会话,外部数据网络可以基于5G网络来向终端进行一次额外的认证,从而在5G中有Primary authentication和Secondary authentication的概念。其中Primary authentication即终端接入到网络时所进行的认证,类似于5G之前的AKA认证;而Secondary authentication指的是终端为了建立与连接到5G移动网络上的外部网络之间的会话,向外部数据网络提供的一次认证。

Secondary authentication在终端和外部数据网络的AAA Server之间进行(在标准中外部数据网络的AAA称为DN-AAA, Data Network AAA)。目前来看,二次认证通过EAP来实现。这种认证方式与独立于移动网络的第三方认证方式相比,第一是使用了移动网络中的网元(SMF,Session Management Function,相当于原来的PDN GW的信令控制部分)作为EAP Authenticator,代理外部AAA Server来完成认证的逻辑;第二是如果外部数据网络要求使用Secondary authentication,则必须经过Secondary authentication才能建立5G网络的数据连接。下图是一个简单的例子。

在5G的认证体系里面,还有一个问题,目前尚未在5G一阶段的标准里面讨论清楚,将在5G二阶段标准里面进一步讨论,即切片的认证问题。5G的网络可以虚拟成不同的切片,为不同场景服务(如:大规模物联网场景、高可靠低延迟通信服务场景等)。尽管不同切片里的用户和数据在同一个运营商的网络承载内,但由于各个切片之间的用户和数据可能是不同的,切片之间是需要隔离的。可以把不同的切片看成不同的虚拟网络。在5G的愿景里面,切片可以由运营商配置并自己使用以支持通信服务,客户对切片无感知;切片也可以作为一个服务提供给第三方客户,客户可以自己使用切片的通信服务,也可以基于切片构建自己的通信服务并再提供给其他客户使用,此时客户可以对切片进行配置管理。在这种情况下,当终端接入网络时,由于客户可能不信任网络的认证结果或者有额外的身份信息认证需求,除了必选的运营商首次认证,网络还需要支持客户对终端接入切片服务的认证需求,以及客户独立配置切片认证方法或订阅者信息库的需求,这些事情跟切片运营的信任模型及切片服务内容相关,将在5G二阶段的标准里面进一步讨论。

5G-AKA认证

5G也采用AKA机制,但认证过程相对于4G又有所增强。主要是增强了归属网络对认证的控制。在5G以前,归属网络将认证向量交给拜访网络之后,就不再参与后续认证流程,在5G的时候这个情况发生了变化。这是由于在漫游场景中,拜访地运营商能够向归属地运营商获取漫游用户的完整认证向量,有运营商利用漫游用户的认证向量伪造用户位置更新信息,也就是“内鬼”,从而伪造话单产生漫游费用。5G-AKA认证机制对该问题的应对是对认证向量进行一次单向变换,拜访地运营商仅能获取漫游用户经过变换之后的认证向量,在不获取原始认证向量的情况下实现对漫游用户的认证,并将漫游用户反馈的认证结果发送给归属地,增强归属地认证控制。如下图所示。

在上图中,表示了归属网络、拜访网络、用户终端(简化起见,没有将用户终端分为ME和USIM两个部分,而看成一个整体)分别有用什么样的参数,这些参数是如何产生的?如有些是预置的,如K;有些是归属网络生成并发送给其他参与认证实体的,如RAND;有些是通过计算产生的如XRES*(预期响应)和RES*(终端发送的实际的响应)。下面我们来看看这些参数的关系,并如何基于他们来认证,其中涉及到上面的几个关键步骤。

Step1、归属网络使用K和RAND计算一个预期响应XRES*=KDF(K,RAND),并用XRES*和RAND计算HXRES*=SHA256(XRES*,RAND),这个参数从XRES*用安全的单向函数生成,首字母的H代表的就是单向函数;所以从HXRES*是推不出XRES*的。归属网络将RAND和HXRES*分享给拜访网络。

Step4、终端用K和RAND计算出RES*,并发送给拜访网络,正常情况下,这个参数与XRES*是相同的。

Step6、拜访网络用RES*和RAND,计算出HRES*,这个参数和归属网络下发的HXRES*比对,就可以知道,用户终端是不是拥有K,从而完成对终端的认证。

Step8、拜访网络把终端发过来的RES*进一步发送给归属网络,归属网络比对RES*和XRES*,从而知道拜访网络确认通过认证从终端处获得了RES*,因为从归属网络发送给拜访网络的HXRES*是推导不出XRES*的,拜访网络必须从终端处获得才行,也就是必须完成一次认证才行,从而无法欺骗归属网络。

3 EAP认证

为了支持WLAN等非3GPP接入网络(non 3GPP access network)能接入3GPP核心网,3GPP支持EAP认证框架,这点在4G认证的部分已经提及。在5G之前,这种支持是一种补充的方式,仅用于WLAN等接入方式,且在架构上有一套独立于AKA认证的网元,如AAA Server来支持。

5G采用了统一的认证框架,即各种接入方式可以用一套认证体来支持。EAP认证框架是目前所知最能满足5G统一认证需求的备选方案。“统一”一方面体现在3GPP接入,即在使用5G无线网接入的时候,也可以采用EAP-AKA’认证方式,EAP-AKA’认证方式提升到了和5G-AKA并列的位置;另一方面,EAP-AKA’认证和5G-AKA认证在网络架构上使用了同样的网元,意味着5G的认证网元在标准上必须同时支持这两种认证方式。

EAP在5G受到青睐还有一个重要原因是5G被期望支持各种各样的网络场景,包括物联网、工业互联网等[11],对于这些网络,可能已经存在一些认证方式和认证基础设施,5G希望在支持这些网络场景时,既能支持既有的环境,又能实现良好的扩展性。EAP框架非常灵活,既可运行在数据链路层上,不必依赖于IP协议,也可以运行于TCP或UDP协议之上。由于这个特点,EAP具有很普遍的适用性,支持多种认证协议,如EAP-PSK[12],EAP-TLS[13],EAP-AKA、EAP-AKA’等。当然,对各种网络的支持目前只是预期,因此在5G安全标准的正文里面只支持了EAP-AKA’,而在附录里面阐述了5G对EAP-TLS的支持。

4 认证信息的存储

如前文所提到,2G的时候,认证相关的信息(包括IMSI、长期密钥)、用于认证的算法程序等都存放在SIM卡中。3G时代,采用了更为安全的USIM卡,但也兼容SIM卡,使用SIM卡的终端还可以接入到3G网络中。4G仍然采用USIM卡来存放认证信息,但不再兼容SIM卡。5G的时代,由于强调对物联网、工业互联网、第三方业务的支持等,终端不再是手机形态占绝对统治地位,终端形态会更加多样,相应地,卡的形态也会多样化。3GPP为此留下了一定的灵活性,在5G的标准里面提出长期密钥的存储、认证算法的计算等都应该在一个tamper resistant secure hardware component里面[14],但目前的版本限定存储在UICC中。

5 未解决的问题

(1)、长期密钥泄露

AKA协议依靠分别存储在USIM和HSS中的长期密钥K实现UE和网络之间的相互认证,并推导出会话密钥。其安全的假设条件是长期密钥K除了网络运营商外,别人都不知道。然而,报告[15]表明,这种假设并不总是正确的,因为长期密钥K可能在USIM卡的生产阶段就已泄露。因此,被动攻击者可以使用长期密钥K以及UE和网络之间交换消息衍生会话密钥,从而能窃听通信。一个主动攻击者可能会利用偷来的大量长期密钥伪造基站而发起中间人攻击。尽管上述几种情况攻击难度相当高,实现可能性相对要小些,3GPP还是成立了一个关于长期密钥更新的项目试图解决此问题[16],但目前没有定论。

(2)、关联性攻击

AKA协议可能会遭受关联性攻击[17],因为在UE认证网络失败时可能会发送两个不同类型的错误消息(MAC_FAIL,SYNC_FAIL)到UE。为了检测UE是否在某一区域,主动攻击者捕获一个发给UE的包含(RAND,AUTN)的合法认证请求消息,并将其与该UE绑定。攻击者不需要获取UE的IMSI,只需要重播包含之前捕获的含有(RAND,AUTN)的认证请求消息,根据错误消息的类型来判断任何UE是否是最初绑定的UE。 如果攻击者接收到SYNC_FAIL消息,则可以确定需要跟踪的UE在特定区域里。这违反了用户位置的机密性要求[18]。同样,由于这种类型的攻击很难实现,且收益相对低,所以3GPP也未更新AKA来抵消这个问题。

随着攻击的变化和风险的变化,移动通信网网络的认证方式也将不断变化以适应安全需求。

6、总结

通信网络的认证协议,基于“挑战-响应”的AKA协议是一条贯穿始终的线索。但从2G到5G,AKA也一直在演进以适应形势的变化。所谓形势,主要是新的威胁的出现,或一些预期的安全风险逐渐变成现实。毕竟,算力在不断强大,而网络越来越复杂。AKA的演进,在AKA的前缀上表现出来:在2G的时候,AKA就叫AKA;在3G的时候,应对伪基站风险,增加了双向认证,解决了用户对网络的信任问题,3G的AKA被称为UMTS AKA;在4G的时候,Authentication部分没有变化,但Key Agreement发生了变化,针对无线网络、核心网络,衍生出不同的密钥,解决了无线网和核心网的互信问题,4G的AKA被称为EPS AKA;5G的AKA增强了归属网络的控制,解决归属网络和拜访网络的互信问题,并被称为5G AKA。

相对来说,算法变动倒是相对小些,在2G被证明不安全的COMP128在3G之后就被可以以AES为核心的MILENAGE替代,目前这个部分仍然被认为是安全的。

在AKA这条主脉络之外,5G作为一个“野心勃勃”的网络,在认证上也体现出与以往几代不同之处,如EAP。在4G的时候可以作为WLAN接入的认证方式,但并非特别重要。在5G中,EAP还承载了为外部数据网络提供认证服务、为垂直行业应用提供认证服务的职能,充分体现了5G希望超越“人与手机”的单一形态,从设计上就契合物联网、工业互联网等形态的需求。且由此,存储认证参数和算法的设备,也将从SIM卡、USIM卡演变到更多的形态。

参考文献

  1. A3/A8.http://www.gsm-security.net/papers/a3a8.shtml.

  2. COMP128. http://www.scard.org/gsm/a3a8.txt.

  3. 3GPP TS 35.205: Specification of the MILENAGEAlgorithm Set: An example algorithm set for the 3GPP authentication and keygeneration functions f1, f1*, f2, f3, f4, f5 and f5*; Document 1: General.

  4. 3GPP TS 35.206: Specification of the MILENAGEAlgorithm Set: An example algorithm set for the 3GPP authentication and keygeneration functions f1, f1*, f2, f3, f4, f5 and f5*; Document 2: AlgorithmSpecification.

  5. 3GPP TS 35.207: Specification of the MILENAGEAlgorithm Set: An example algorithm set for the 3GPP authentication and keygeneration functions f1, f1*, f2, f3, f4, f5 and f5*; Document 3: Implementors"Test Data.

  6. 3GPP TS 35.208: Specification of the MILENAGEAlgorithm Set: An example algorithm set for the 3GPP authentication and keygeneration functions f1, f1*, f2, f3, f4, f5 and f5*; Document 4: DesignConformance Test Data.

  7. 3GPP TR 35.909: Specification of the MILENAGEAlgorithm Set: An example algorithm set for the 3GPP authentication and keygeneration functions f1, f1*, f2, f3, f4, f5 and f5*; Document 5: Summary andresults of design and evaluation.

  8. Zhang and Y. Fang. Security analysis andenhancements of 3GPP authentication and key agreement protocol. IEEETransactions on Wireless Communications, 4(2):734–742, 2005.

  9. IETF RFC 4187, Extensible Authentication ProtocolMethod for 3rd Generation Authentication and Key Agreement (EAP-AKA).

  10. IETF RFC 5448, Improved Extensible AuthenticationProtocol Method for 3rd Generation Authentication and Key Agreement (EAP-AKA").

  11. 3GPP TS 22.261: Service requirements for nextgeneration new services and markets.

  12. IETF RFC 4764. The EAP-PSK Protocol: A Pre-SharedKey Extensible Authentication Protocol (EAP) Method.

  13. IETF RFC 5216, The EAP-TLS Authentication Protocol.

  14. 3GPP TS 33.501: Security architecture andprocedures for 5G system.

  15. The Great SIM Heist – How Spies Stole the Keys tothe Encryption Castle. https://theintercept.com/2015/02/19/great-sim-heist/.

  16. 3GPP TR 33.834: Study on Long Term Key UpdateProcedures.

  17. M. Arapinis etc., New Privacy Issues in MobileTelephony: Fix and Verification. CCS’12, October 16–18, 2012, Raleigh, NorthCarolina, USA.

  18. 3GPP TS 33.102: 3G Security; Security architecture.

声明:本文来自禾云安全,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如有侵权,请联系 anquanneican@163.com。