当前位置:首页 > 教学设计 > UMTS鉴权原理及其与GSM鉴权兼容性 伪基站的原理
 

UMTS鉴权原理及其与GSM鉴权兼容性 伪基站的原理

发布时间:2019-01-03 04:06:59 影响了:

  文章编号:1006-6268(2008)09-0048-05   摘要:介绍了第三代移动通讯系统UMTS的安全体系,重点介绍UMTS的鉴权流程,鉴权原理和相关算法,并且对UMTS和GSM的鉴权兼容性进行了探讨。
  关键词:3G;3GPP;GSM;UMTS;鉴权;加密;密钥
  中图分类号:TN914 文献标识码:A
  
  UMTS Authentication and Compatibility with GSM
  SONG Wen-xin1,LIU Chang-ming2
  (1.Beijing Jiaotong University,Beijing100044,China;
  2.Motorola (China) Technology, Ltd,Beijing 100089,China)
  Abstract: This document introduce security architecture for 3rd mobile communication system-UMTS, it will give emphasis to authentication flow, theory and related algorithm. It also discuss authentication compatibility for UMTS and GSM.
  Keywords:3G;3GPP;GSM;UMTS;authentication;encrypt;key
  
  1 概 述
  
  由于WCDMA网络提供了较GSM更为丰富的业务,更多的内容提供商以及更多的运营商的加入,使系统将更为复杂。另外,3G系统将会和各种不同的网络类型共存和互动。因此就必须提供更为可靠的安全机制。
  3GPP(3rd generation partnership project) 由各个区域标准化组织以及各个洲和国家的相关组织共同建立,负责UMTS(universal mobile telecommunications system)的标准化工作。1999年,3GPP 成立了Security Group,研究、定义UMTS的安全问题,现在UMTS 安全问题的标准化已经日臻成熟。
  在现有的2G和3G移动网络中,只有具有有效IMSI号码的用户才有权得到服务。鉴权,即识别有效用户IMSI的过程。它是移动网络安全性管理的一部分,用来实现移动网络的保密性、数据完整性。
  本文将着重对UMTS系统安全体系中的鉴权进行相对完整的概括总结,并介绍UMTS系统与GSM系统的兼容性。
  
  2 3G系统的安全机制
  
  3G系统(以下简称3G)的安全机制是和2G系统(以下简称2G)相对而言的,用来保证新业务及其环境的安全。3G的安全机制[1]具有以下三个特点:
  (1)3G基于2G安全机制。不但3G安全机制应与2G系统兼容,而且还保留了2G系统中的一些参数,如用户接入时的鉴权、对空中接口的加密、用户身份保密等等;且在3G中,实现了用户与网络的相互认证,通过验证XRES与RES是否相同,实现了VLR/SGSN对Mobile Station(MS)的认证;通过比较XMAC与MAC是否相同,实现了MS对HLR/AUC的认证。
  (2)3G高于2G安全机制。3G安全机制防止了已经存在和潜在的GSM和其他2G系统的弱点。避免了受到"伪基站"的攻击,加密密钥和鉴权数据在网络里的非透明传输、提供数据的完整性保护等等;对于2G中一段用64 bit密钥加密的密文,采用强行攻击(Brute-force)的方法,尝试所有可能的密钥,从计算复杂程度看, 取得最终明文已不再困难。显然,随着计算机处理器速度的不断提高,GPRS的数据加密算法的加密密钥Kc(64 bit)长度太短,无法抵抗穷举攻击。而3G的加密算法f8其密钥K长度为128 bit,在相当长的时间内能有效抗击这种类型的攻击。
  (3)提供新的安全机制。该安全机制将对3G系统提供的业务进行安全保护,在网络结构上进行相应改变;增强的UMTS鉴权和密钥协商机制、信令信息的完整性保护、USIM 卡控制加密/完整性密钥使用、加密/完整性保护等等。2G没有提供信令信息完整性保护机制,无法保证信令数据在传输过程中的完整性。3G增加了信令信息完整性保护机制,防止非授权方随意更改信令数据,这些更改包括篡改、插入、重演或删除,3G的信令信息完整性保护机制保证了信令数据在传输过程中的完整性。
  
  3 UMTS的鉴权流程
  
  在3G系统中,SGSN/VLR接收到来自MS的RES后,将RES与认证向量AV中的期望认证应答XRES进行比较,相同则认证成功,否则认证失败。
  UMTS系统中的鉴权包括下面步骤,如图1所示。
  
  图1 UMTS系统的鉴权流程
  
  (1)生成鉴权五元组:MS向SGSN/VLR发出接入请求。从VLR/SGSN收到鉴权数据请求组后,HLR/AuC生成n鉴权向量,每个向量由下列5个元素组成:随机数字RAND,期望响应XRES, 密钥 CK, 完整性密钥IK和鉴权令牌AUTN。
  (2)将鉴权五元组发送到请求的VLR/SGSN。
  (3)从得到的多个五元组中选择一个,发送RAND(i), AUTN(i)到用户。
  (4)USIM卡检查AUTN(i)可否接受,例如AUTN(i)是由有效的鉴权令牌组成。
  (5)MS接收到认证请求后,首先计算消息认证码XMAC,并与认证令牌AUTN中的消息认证码MAC比较,如果不同,则向SGSN/VLR发出拒绝认证消息,并放弃认证过程。同时MS验证接收到的序列号SQN是否在有效的范围内,若不在有效的范围内,MS则向SGSN/VLR发送同步失败消息,放弃认证过程。
  (6)当以上验证通过以后,才产生响应RES(i),然后送回VLR/SGSN;由VLR/SGSN比较RES(i) 和XRES(i)。 USIM卡同时计算CK和IK, 用于在空中接口加密和完整性保护。
  
  4 鉴权和密钥管理
  
  UMTS 鉴权和密钥协定协议[2](authentication and key agreement, AKA)用来保证与GSM系统的最大兼容,并且最易于从GSM向UMTS演进。GSM与3G系统的认证过程由MS、SGSN/VLR和HLR/AUC三方共同完成。认证方为AUC(认证中心)和用户的SIM卡。GSM和3G系统的认证与密钥协商过程分别是基于MS和HLR/AUC之间的共享密钥Ki和K,认证过程均由SGSN/VLR发起,相对于GSM 协议,增强了以下几方面:
  HLR 对用户的鉴权;
  用户和VLR/SGSN之间Integrity Key(IK)协定;
  用户和VLR/SGSN之间保证最新的Cipher Key(CK)和IK;
  使用UMTS系统进行用户鉴权时,主要进行以下两方面的处理:在HLR/Auc上计算鉴权五元组和在USIM卡上进行鉴权处理。
  
  4.1 HLR/Auc上的鉴权处理
  HLR/AuC 在收到鉴权申请信息后,将产生1个新的序列号SQN和随机数RAND。对于每个用户,HLR/AuC上存储着计数器SQNHE、用户相关的密钥K和运营商相关的AMF(authentication management field),AMF包含在每个鉴权向量的鉴权标志中。这就是计算五元组的输入数据。如图2所示。
  下面是鉴权处理后的输出:f1~f5,是3G安全结构定义的认证与密钥协商算法。
  消息鉴权码MAC =f1K(SQN || RAND || AMF),f1是消息鉴权功能。
  期望响应XRES =f2K(RAND),f2是可能截断的消息鉴权功能。
  加密密钥CK = f3K(RAND),f3是密钥生成功能。
  完整性密钥IK = f4K(RAND),f4是密钥生成功能。
  匿名密钥AK = f5K(RAND),f5是密钥生成功能。
  鉴权令牌由公式AUTN =SQN �AK || AMF || MAC生成。
  最后的五元组就是由RAND、XRES、CK、IK、 AUTN 共同构成的。
  
  图2 HLR/Auc上鉴权五元组的生成
  
  4.2USIM卡的鉴权处理
  当VLR/SGSN初始化鉴权和密钥后, 从有序矢量数组中选取鉴权向量,收到RAND和AUTN后,USIM卡将按照如下的过程进行鉴权、新加密和完整性密钥的建立的处理,如图3所示。
  USIM卡首先计算匿名密钥AK = f5K (RAND)然后检索出序列号SQN=(SQN�AK) �AK;
  然后USIM计算XMAC = f1K(SQN || RAND || AMF),比较XMAC和包含在AUTN中的MAC。如果不同,用户发送user authentication reject 到VLR/SGSN,然后中止此过程,与此同时VLR/SGSN会生成一个鉴权失败报告给HLR。
  如果MAC确认成功,比较USIM接受到的SQN是否在正确的范围。
  如果序列号在正确的范围,USIM计算RES = f2K(RAND),然后在发送到SN中的user authentication response中包含这个参数。最后,USIM计算加密密钥CK = f3K (RAND) 和完整性保护密钥IK = f4K (RAND)。收到user authentication response后, SN将比较RES和从选择的鉴权五元组中期望的响应XRES。如果XRES等于RES,则用户鉴权通过。SN同时从所用的鉴权向量中选择合适的加密密钥CK和完整性保护密钥IK。USIM和VLR将保存原始的CK和IK直到下一个AKA成功完成。而若XRES不等于RES, VLR/SGSN会向HLR发送一个鉴权失败报告,此时VLR/SGSN则需要向用户初始化一个新的鉴权。
  
  图3 USIM卡上的鉴权处理
  
  如果不在正确的范围,USIM卡发送synchronization failure到VLR/SGSN,包含可接受的序列号(经完整性保护)。然后SN发送synchronization failure到HLR/Auc请求更新鉴权组。
  通过对应的加密密钥CK,完整性保护密钥IK,实现了USIM和VLR/SGSN之间的鉴权。另外,通过核实AUTN中MAC,用户保证了VLR/SGSN发送的随机数RAND是由用户所在的HLR/Auc产生的,并相信HLR/Auc处理后产生的鉴权组。
  
  5 UMTS和GSM混合网络的鉴权兼容性
  
  今后相当长的一段时间里,WCDMA和GSM这两种网络将会并存,会出现SIM/USIM、2G/3G手机、BSS/RNS和2G/3G HLR/Auc的多种网元的组合[3]。这意味着GSM的用户可以通过GSM的SIM卡或者一个GSM/UMTS的双模手机去访问3G的网络。
  
  5.12G/3G鉴权参数的转换
  2G/3G交互操作中存在一个明显的问题就是在两个系统中密钥的长度不同。3G鉴权后,USIM 和SN/HE都有一致的共同的128位密码和完整性密钥CK和IK。在2G鉴权完成后,只有64位密钥Kc服务于网络并与SIM/USIM一致。故需要一种转换功能, 转换3G密钥的长度以符合2G的长度,反之亦然。
  2G、3G鉴权变换中需要支持的几个功能如下:
  c1是将128位的3G随机数转换为128位2G随机数,数值相同、格式相同。
  RAND2G = RAND3G
  c2是转换3G的XRES为2G的RES(VLR/SGSN/Auc中)或者转换3G的RES为2G的SRES(在USIM中完成)。
  RES2G = c2(XRES3G)
  SRES2G = c2(RES3G)
  c3,将3G的128位CK和IK转换为64位的2G密钥Kc。
  Kc = CK1 xor CK2 xor IK1 xor IK2
  c4转换64位2G Kc到128位3G CK。
  CK = Kc || Kc
  c5转换64位2G Kc到128位3G IK。
  IK = (Kc1 xor Kc2) || Kc || (Kc1 xor Kc2)
  
  5.23G USIM卡的漫游
  
  下面简介一个3G用户漫游到2G网络后的鉴权,3G的手机、3G的USIM卡、3G的HLR/Auc,接入时使用的是2G的BSS和2G VLR/SGSN,这是在引入3G技术之后非常常见的一种情形,见图4中阴影部分。
  (1)当接收到2G VLR/SGSN的鉴权请求后,用户归属HLR/Auc生成3G五元组(RAND, XRES, CK, IK, AUTN)
  (2)将3G五元组转换成新的2G三元组(RAND, RES, Kc),具体过程如下:
  用c2将XRES转换到RES,
  c3将CK和IK转换成Kc,
  RAND保持不变,
  AUTN被丢弃不用。
  (3)将2G三元组发送到VLR/SGSN,在与USIM之间进行2G鉴权的过程中,用RAND发请求、回应SRES(需要使用双模的手机才行)。
  
  图4 USIM漫游的各种情形
  
  6 结束语
  
  UMTS用户鉴权的安全性相对于2G有极大的改善,能够提供给用户前所未有的安全等级,并且提供了2G/3G之间的相互兼容的解决方案。
  
  参考文献
  【1】Security principles and objectives-3GPP TS 33.120 V4.0.0 (2001-03).
  【2】Formal Analysis of the 3G Authentication Protocol-3GPP TR 33.902 V4.0.0 (2001-09).
  【3】Guide to 3G security-3GPP TR 33.900 V1.2.0 (2000-01) .
  【4】SIM/USIM internal and external interworking aspects-3GPP TR 31.900 V7.1.0 (2006-03).省略

猜你想看
相关文章

Copyright © 2008 - 2022 版权所有 职场范文网

工业和信息化部 备案号:沪ICP备18009755号-3