2G3G鉴权加密详解(3)

2018-11-23 12:46

图1-1 GSM鉴权网元功能图

AUC 存储HLR中所有用户的鉴权密钥Ki根据A3和A8算法生成用户的鉴权三元组RAND/Kc/SRESAUC临时存储用户的鉴权三元组,并根据VLR的请求,把鉴权三元组发送给VLR存储所有访问用户的鉴权三元组接入请求RANDHLRMSC/VLRMS SIM卡存储用户的密钥Ki,A3、A8算法Ki算法A3SRESAUC=?SRESMS不相等相等鉴权失败鉴权成功

算法A8KcSRESMS? GSM加密

GSM系统为了确保用户信息(语音或非语音业务)的私密性,在BTS和MS之间交换信息时,专门采用了一个加密流程。在鉴权过程中,当SIM卡计算SRES时,同时用A8算法算出加密密钥Kc。当MSC/VLR把加密模式命令(M)通过BTS发往MS时,MS根据M、Kc及TDMA帧号通过加密算法A5,产生一个加密消息“加密模式完成”,表明MS已经完成加密,并将加密消息回送给BTS。BTS采用相应算法解密,恢复消息M,如果无误则告诉MSC/VLR,表明加密模式完成。

加密算法A5是标准化的,但规范仍然是保密的。它由GSM协会管理并在特许下发放给GSM设备制造商,包括终端制造商和基站制造商。

加密算法的选择是由移动台上报的classmark、BTS支持的加密算法和MSC/VLR配置支持的加密算法取交集,所以MSC/VLR设置支持的加密算法必须与接入侧协商。

图1-2 GSM加密网元功能图 AUC 存储HLR中所有用户的鉴权密钥Ki根据A3和A8算法生成用户的鉴权三元组RAND/Kc/SRESAUC临时存储存储所有用户的鉴访问用户权三元的鉴权三组,并根元组据VLR的请求,把鉴权三元组发送给VLRRANDHLRMSC/VLRBTSMS SIM卡存储用户的密钥Ki,A3、A8算法Ki算法A8加密模式命令MKcTDMA帧号算法A5解密“加密模式完成”消息成功加密模式完成加密模式完成

1.2.2 UMTS鉴权与加密

? UMTS鉴权基本概念

由于2G系统中的鉴权机制是单方面的,即只考虑了网络对用户的认证,而没有考虑用户对网络的识别。由此带来的问题是,可以通过伪装成网络对用户进行攻击。在3G系统中,除了网络设备可以对用户终端的身份进行识别外,还增加了用户终端对网络设备的身份进行识别的功能,即网络和用户终端之间的双向鉴权。双向鉴权的实现是通过对鉴权5元组(RAND/XRES/CK/ IK /AUTN)进行一系列的操作来实现。而且3G系统考虑了安全的可扩展性。

在UMTS鉴权机制中,包含3个实体:

? HE,归属环境,Home Environment,通常指鉴权中心AUC。 ? SN,服务网络,Serving Network。通常指用户当前所在的VLR。 ? 终端,实际上是USIM卡。

UMTS鉴权基本思想是使服务网络通过鉴权请求和鉴权响应来检测用户身份(和GSM网络中的检测机制相同),而USIM卡检测服务网络是否被归属网络授权可以进行用户身份的验证。后者只存在于UMTS中(在GSM中不存在这种机制),通过这种验证,USIM卡可以检测到自己是否接入合法的网络。

鉴权密钥K是双向鉴权机制的基础。鉴权密钥K只存在用户的USIM卡和用户归属环境的鉴权中心AUC。鉴权密钥K是运营商的机密数据。 UMTS的鉴权使用的是5元组,这五个信元分别为:

? RAND,网络鉴权随机数,作用:作为计算XRES的参数,是产生不同鉴权集

的种子。 ? XRES,用户应答的期望值,作用:作为用户合法性检查的参数,是网络鉴权

用户的标准。 ? CK,加密密钥,作用:作为用户信息(语音及其他用户传输的内容)的加密

参数。等同于2G的KC。 ? IK,完整性密钥,作用:作为网络与终端信令的完整性保护参数,是用于信令

加密的。而2G的KC只对用户传输的内容(如语音)等进行加密,无法对信令进行加密。 ? AUTN,鉴权令牌,作用:USIM卡确认网络合法性的参数。

? UMTS鉴权集的产生

图1-3 UMTS鉴权集生成示意图

Generate SQNGenerate RANDSQNAMFKRANDf1f2f3f4f5MACXRESCKIKAKAUTN := SQN ? AK || AMF || MACAV := RAND || XRES || CK || IK || AUTN

上图详细描述了UMTS鉴权5元组的生成。

1、 鉴权集产生的过程是从获得一个合适的SQN开始,SQN是一个不断变大的参

数,使用SQN的目的是让USIM卡能识别由AUC鉴权中心生成的鉴权五元组的合法性(即后一个鉴权五元组中的SQN要大于前一个鉴权五元组中的SQN,否则USIM卡认为后一个鉴权五元组不合法)。 2、 鉴权集的产生还需要伪随机数RAND。

3、 AK是为了保护SQN而存在的,AUTN中不直接携带SQN,而是携带SQN⊕A

K,达到了隐藏SQN的目的。 4、 AMF是指明生成某一个AV所使用的算法和密钥,还可以使用AMF对SQN进

行某些限制,如:为了防止SQN翻转,AMF用来指示SQNMS和SQN之间的最大许可差值,也就是SQNHE - SQNMS < AMF 而且SQNHE > SQNMS,举例:AMF是31,SQNMS是500,SQNHE是536,由于SQNHE - SQNMS > AMF,所以USIM会产生鉴权同步失败(详细描述见5.8 UMTS鉴权同步失败流程)。 5、 加密算法f1,f2,f3,f4,f5在3GPP协议相关文档TS35.205、TS35.206、TS35.207、TS35.208、TS35.209有详细的描述,相关引用信息可见本文1.1.5遵循标准章节。 6、 MAC是USIM卡鉴权网络合法性的关键参数,当USIM计算出来的MAC值与

网络下发的MAC不符时,则USIM卡认为网络非法。

? USIM卡对鉴权集的处理

图1-4 USIM卡对鉴权集的处理

RANDAUTNAMFMACf5AKSQN ? AK?SQNKf1f2f3f4XMACRESCKIKVerify MAC = XMACVerify that SQN is in the correct range

现在来研究USIM卡对鉴权的处理。在AUC的f1-f5算法在USIM卡同样也要使用。但在顺序上有区别。f5在f1之前进行计算,因为f5用来隐藏SQN,这种隐藏可以有效防止窃听者通过SQN获得用户的身份信息。如图4所示,f1的输出在USIM被标记为XMAC。把XMAC和从网络侧收到的MAC(AUTN的一部分)相比较,如果匹配,则

是合法的AUC生成的鉴权5元组(因为生成该五元组的AUC知道鉴权密钥K),网络是合法的。

当然,由于RAND和AUTN是在无线信道传输的,有可能被窃听,攻击者就可以获取到合法的RAND和AUTN。如何防止这种情况呢?这正是SQN产生的原因。USIM卡每次鉴权成功后都会把当前的SQN保存到USIM的flash中。下次鉴权时,要求当前的收到的SQN必须大于flash中保存的SQN。这就意味着网络不能重复使用5元组鉴权集,同时,如果从AUC获取多组鉴权集时,必须按照一定的顺序使用。由于电路交换(CS)和分组交换(PS)的移动管理功能是相互独立的,这就意味着先从AUC获取的鉴权集还是有可能在后面使用的情况,解决的办法就是将电路交换(CS)和分组交换(PS)的鉴权集分开管理。

? SQN的产生

原则上,SQN的管理是由运营商来规定的。当前产生SQN有两种基本的策略:每一个用户有一个个人的SQN,或者SQN的产生可以基于一个全局的计数器。这两种策略的组合也是有可能的。3GPP TS33.102的附录C详细的介绍了SQN的管理,这里就不做详细的介绍了。

? USIM中的SQN检测

SQN的使用可以使USIM卡能检测鉴权集的重复使用。除了保存最大的SQN外,USIM维护着一个收到的SQN数组,SQN数组中由IND索引,数值中每个元素表示某种类型的SQN最大值,目前主要分为三种类型,电路域、分组域、IMS域,每个域可能使用多个SQN数组索引。协议建议IND的长度是5位,则这个数组有32个元素。数组中的第i个元素,是到目前为止收到的IND=i的最大的SQN值。如果收到的SQN大于数组中第i个元素值,SQN被接受,网络鉴权成功,数组中第i个元素值由收到的SQN值代替。如果收到的SQN小于或等于数组中的值,收到的SQN值不被接受,网络鉴权失败。数组中的元素没有改变,同时同步流程被触发。


2G3G鉴权加密详解(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:土壤学习题

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: