02安全性管理.docx
《02安全性管理.docx》由会员分享,可在线阅读,更多相关《02安全性管理.docx(14页珍藏版)》请在冰豆网上搜索。
02安全性管理
目录
第2章安全性管理2-1
2.1概述2-1
2.2鉴权2-1
2.2.1GSM鉴权2-1
2.2.2UMTS鉴权2-4
2.2.3双模手机鉴权的配合和转换2-7
2.3加密2-10
2.4完整性保护2-11
2.5TMSI重分配2-12
第2章安全性管理
MSOFTX3000在MSC侧支持的安全性管理主要包含鉴权、加密、完整性保护和TMSI重分配四项功能。
2.1鉴权
MSOFTX3000鉴权功能包括GSM鉴权和UMTS鉴权。
2.1.1GSM鉴权
1.GSM鉴权概述
GSM鉴权功能用以决定用户是否有权接入PLMN网络。
通过比较MS提供的鉴权响应和AUC提供的鉴权三参数组之间是否一致进行判断的,通过鉴权,可以防止非法用户(比如盗用IMSI和KI复制而成的卡)使用网络提供的服务。
2.GSM鉴权参数
MS中SIM卡和AUC中存贮的信息
●SIM卡中:
固化数据:
IMSI,Ki,A3(鉴权算法)、A8(加密算法)。
这些内容不会更改。
临时的网络数据TMSI,LAI,Kc,CKSN,被禁止的PLMN
业务相关数据
●AUC中:
用于生成随机数(RAND)的随机数发生器
鉴权键Ki
各种安全算法,这些安全算法和SIM卡中的算法相一致。
3.鉴权的原理
AUC的基本功能是产生三参数组(RAND、SRES、Kc),其中:
●RAND由随机数发生器产生;
●SRES由RAND和Ki用A3算法得出;
●Kc由RAND和Ki用A8算出。
三参数组产生后存于HLR中。
当需要鉴权时,由MS所在服务区的MSC/VLR从HLR中装载至少一套三参数组为此MS服务。
鉴权的原理如图2-1所示。
图2-1GSM鉴权原理图
4.鉴权流程
是否执行鉴权,取决于运营公司要求。
一般每次呼叫建立、位置更新、无呼叫接续建立的补充业务激活、短消息交换(SMS)需执行鉴权,以保护运营商的利益。
GSM鉴权流程如图2-2所示。
图2-1GSM鉴权流程
①MS在第一条层三消息COMPLETELAYER3INFO(呼叫建立/位置更新/补充业务(短消息))中向网络指示它存储的CKSN(密钥序列号)。
②MSC收到COMPLETELAYER3INFO消息后,根据数据配置是否需要鉴权,不需鉴权则越过鉴权过程。
如果需要鉴权,还需检查CKSN的值(MS在上一次业务处理使用的)是否与在本次接入中MS所存储的CKSN值一致,若不一致,MSC向VLR发出“PROCESSACCESSREQUEST"的请求,要求进行鉴权过程。
如果CKSN值一致则越过鉴权过程。
③VLR查看是否还有该MS的鉴权三参数组(或者允许重复使用三参组),如果VLR中已经没有该MS的三参数组,则需首先向HLR取三参数组。
HLR收到取鉴权集请求,向鉴权中心Auc(通常于HLR合为一体)请求生成新的5组鉴权集,然后HLR通过鉴权响应将上述5组鉴权集返回给VLR。
如果VLR中还有该MS的鉴权三参数组,则HLR不参与鉴权过程,VLR直接向MS下发鉴权请求消息。
④VLR向MS送“AUTHENTICATIONREQUEST”鉴权请求消息来触发鉴权过程,该消息中包含一个随机数(RAND)和CKSN号码。
⑤MS收到鉴权请求消息后,通过SIM卡上的用户密钥Ki与该随机数通过A3鉴权算法,产生一个SRES;同时,通过Ki与该随机数通过A8加密算法,产生一个Kc。
MS通过“AUTHENTICATIONRESPONSE”鉴权响应消息将SRES和Kc送回VLR。
⑥网络侧在生成鉴权集时,也采用同样的算法:
Ki与该随机数通过A3鉴权算法,产生一个SRES。
此时VLR比较这两个SRES值是否相同,若相同,则鉴权成功并允许MS接入网络。
若不同则鉴权失败,拒绝MS的继续接入。
2.1.2UMTS鉴权
1.UMTS鉴权概述
与GSM鉴权相比,UMTS鉴权不但有网络鉴权用户的功能,还增加了用户鉴权网络的功能和完整性保护功能。
另外UMTS鉴权增加了密钥的长度,使用更加强壮的加密算法和完整性算法。
UMTS鉴权参数为UMTS鉴权向量为五元组(Quintet):
RAND(网络质询随机数),XRES(用户应答的期望值),CK(加密密钥),IK(完整性密钥),AUTN(网络身份确认标记);这五个元素组成一个UMTS鉴权向量,即(RAND,XRES,CK,IK,AUTN)。
UMTS鉴权五元组:
●RAND
RAND是网络提供给UE的不可预知的随机数,UE用它来计算鉴权响应参数RES(或RES+RES_EXT)及安全保密参数IK、CK。
RAND长度为16octets。
●AUTN(AuthenticationToken)
AUTN的作用是提供信息给UE,使UE可以用它来对网络进行鉴权。
AUTN的长度为16octets。
●XRES
XRES是期望的UE鉴权响应参数。
用于和UE产生的RES(或RES+RES_EXT)进行比较,以决定鉴权是否成功。
XRES的长度为4-16octets。
●CK
CK为UMTS的加密密钥。
CK长度为16octets。
●IK
UMTS的完整性保护密钥,长度为16octets。
UMTS鉴权相关的其他参数:
●AUTS
AUTS作用是给网络提供必要的信息以启动再鉴权流程。
当MS返回鉴权失败且失败原因为“同步失败”时,带有此参数。
AUTS的长度为14octets。
●SQN(Sequencenumber)
计算MAC值和AUTN时,需要用SQN。
USIM和HE(HomeEnvironment)保存了计数器SQNMS和SQNHE,这个计数器是用来网络鉴权的。
系列号SQNMS对每个用户而言都是独立的计数器,它指示了USIM收到的的最大的系列数值。
●AMF(authenticationandkeymanagementfield)
可以用来指示生成某一个鉴权向量所使用的算法和密钥。
用来指示SQNMS和SQN之间的最大许可差值;如果SQN-SQNMSSQNMS,则SQN正确。
USIM对密钥有一个有效期的限制,其时间可以通AMF来调整。
●AK(anonymitykey)
作用是加密AUTN中的SQN。
它根据RAND和K(Auc和HE之间共享的长期有效的密钥)计算得到,或者可以取AK=0。
●MAC(messageauthenticationcode)
包含在AUTN中,根据SQN、RAND、AMF、K计算得到。
接收者要重新计算MAC并与收到的MAC比较,判断是否MAC失败。
2.UMTS鉴权原理
用户接入网络的时候,如果需要鉴权,则VLR/SGSN选取一组未使用过的鉴权5元组向量并向UE发起鉴权请求。
该请求消息中携带所选取的鉴权向量中的RAND、AUTN和CKSN参数。
USIM检查参数AUTN是否能被接受,如果不能则鉴权失败;否则继续计算出RES和CK、IK,并将RES回送给VLR/SGSN。
VLR/SGSN用鉴权向量组中的XRES和UE返回的RES比较,相同则鉴权成功,否则失败。
鉴权成功后,UE计算并存储在USIM卡中的CK、IK以及VLR/SGSN中保存的鉴权向量组中的CK、IK可用于后续的加密过程。
如果鉴权失败,则UE删除刚才所保存的CK和IK。
3.UMTS鉴权流程
UMTS鉴权流程如图2-3所示。
图2-1UMTS鉴权流程
UMTS的鉴权流程总是由网络发起和控制的,然而UE有可能拒绝网络的鉴权质询。
①UE在第一条层三消息COMPLETELAYER3INFO(呼叫建立/位置更新/补充业务(短消息))中向网络指示它存储的CKSN(密钥序列号)。
②MSC/SGSN收到COMPLETELAYER3INFO消息后,检查CKSN的值(UE在上一次业务处理使用的)是否与在本次接入中UE所存储的CKSN值一致。
若一致,则越过鉴权过程,否则,MSC/SGSN向VLR发出消息索取鉴权参数等数据。
③如果VLR没有可用五参数组,则发起到HLR/Auc取鉴权集的消息。
HLR/Auc收到取鉴权集请求,向鉴权中心Auc(通常于HLR合为一体)请求生成新的5组鉴权集,然后HLR通过鉴权响应将上述5组鉴权集返回给VLR。
如果VLR中还有该UE的鉴权五参数组,则HLR不参与鉴权过程,MSC/SGSN直接向MS下发鉴权请求消息。
④MSC/SGSN向UE送“AUTHENTICATIONREQUEST”鉴权请求消息来触发鉴权过程,该消息中包含一个随机数RAND、AUTN和CKSN号码。
⑤UE响应AUTHENTICATIONRESPONSE消息:
(2)UE检查AUTN。
如果其MAC与计算的MAC相同,UE再检查根据AUTN计算得到的SQN(sequencenumber)范围是否正确。
若SQN正确,则UE根据RAND计算出RES(或RES+RES_EXT),并通过“AUTHENTICATIONRESPONSE”消息将RES(或RES+RES_EXT)送给VLR。
(3)在UMTS鉴权质询中,新生成的UMTSCK、IK应该覆盖原来的CK、IK,而且和CKSN一起保存在USIM中。
⑥网络收到AUTHENTICATIONRESPONSE:
(4)网络收到RES后,比较RES(或RES+RES_EXT)和XRES,如果相同,则用户合法,鉴权成功,否则用户非法;
(5)在鉴权失败时,如果UE使用的是TMSI,则网络可以发起识别流程;若UE使用的是IMSI或者网络决定不再发起识别流程,则应该给UE送AUTHENTICATIONREJECT消息。
⑦UE鉴权拒绝AUTHENTICATIONFAILURE:
(6)UE检查AUTN,如果其MAC(MessageAuthenticationCode)与计算的MAC不相同(MACfailure),则发送authenticationfailure消息给网络并终止该流程。
MSC应该启动和HLR之间的鉴权失败报告流程,也根据情况依次启动识别流程及鉴权流程。
若再发起识别流程,网络根据收到的IMSI,确认和前面发的TMSI对应关系是否正确,如果不正确,则重新取鉴权集并再发起鉴权流程。
如果第二次发起鉴权请求时还是MAC无效,手机则把当前小区当作是被禁止使用的小区,直到系统信息被更新为止。
(7)如果MAC正确,MS检查根据AUTN计算得到的SQN(sequencenumber)范围是否正确。
如果超过范围,则发送synchronisationfailure给网络并终止该流程,消息中包含拒绝原因参数“Synchfailure”以及再同步标志参数AUTS(用AUTN、RAND等参数计算得到)。
网络应该用参数AUTS再同步,MSC/VLR删除所有没有用过的鉴权向量组AV(AuthenticationVector),并从HLR重新取AV,再发起鉴权流程。
2.1.3双模手机鉴权的配合和转换
1.双模手机概念
双模手机就是能兼容两种不同移动通讯系统的手机。
它的基本结构便是在中央控制单元的控制下,采用同一个人/机接口,耦合到采用同一个天线的两个独立系统。
在手机使用时,由中央控制单元在两个系统间检测并选择路径。
它可以根据环境或者是实际操作的需要来自由选择使用哪一种移动通讯系统。
这里提到的双模手机是指能兼容GSM(2G)和UMTS(3G)两种通讯系统的手机。
下边介绍的既可以接入BSS又可以接入UTRAN的R99+ME就是这样一种双模手机。
相关的概念:
●UMTS的AKA(Authenticationandkeyagreement)指网络下发鉴权五元组进行鉴权加密的过程。
GSM的AKA指网络下发鉴权三元组进行鉴权加密的过程。
●R98:
指按照R97或R98技术协议设计的networknode或ME。
●R99+:
指按照R99或之后的技术协议设计的networknode或ME。
●UMTS用户包括:
R99+ME带USIM、R98-ME带USIM。
●GSM用户包括:
R99+ME带SIM、R98-ME带SIM。
2.双模手机的鉴权实现
双模手机开户时或者是UMTS用户或者是GSM用户,只能以一种身份开户。
GSM用户在GSM移动通讯系统内进行鉴权需要使用鉴权三元组;UMTS用户在UMTS移动通讯系统内鉴权需要使用鉴权五元组。
但双模手机在GSM和UMTS网络间漫游中时,它的鉴权视不同情况可能使用GSM的三元组鉴权方式也可能使用UMTS的五元组鉴权方式,鉴权时可能需要用到3元组和5元组的相互转换。
具体如下:
●开户为UMTS用户的双模手机的AKA
开户为UMTS用户的双模手机的AKA如图2-4所示。
图2-1开户为UMTS用户的双模手机的AKA
R99+UE带USIM卡的UMTS用户接入UTRAN时,使用UMTS的AKA。
R99+UE带USIM卡的UMTS用户接入GSMBSS,而VLR为R99+时使用UMTS的AKA。
此时Kc由IK和CK计算得到。
R99+UE带USIM卡的UMTS用户接入GSMBSS,而VLR为R98-时使用GSM的AKA。
此时ME的Kc由IK和CK计算得到。
R98-VLR/SGSN使用保存的Kc和RES。
●开户为GSM用户的双模手机的AKA
开户为GSM用户的双模手机的AKA如图2-5所示。
图2-2开户为GSM用户的双模手机的AKA
R99+UE带SIM卡的GSM用户接入UTRAN,使用GSMAKA,接入网和手机使用的IK和CK由GSM的Kc计算得到。
R99+UE带SIM卡的GSM用户接入GSMBSS,VLR/SGSN是R99+时,使用GSMAKA。
R99+UE带SIM卡的GSM用户接入GSMBSS,VLR/SGSN是R98-时,使用GSMAKA。
2.2加密
加密的目的是保证用户数据在空中接口传输的安全性,加密和解密的实施都只在空中接口进行。
GSM加密:
用户信息的加密和解密是在一个无线脉冲的114bit码元与114bit加密序列码之间的异或操作,产生加密码的算法是A5,它利用一个MS与网络约定的Kc和当前脉冲串的帧号进行计算。
Kc是通过鉴权请求消息中的RAND与Ki经A8算法得到的。
UMTS加密:
当网络启动加密模式时,在加密命令中携带加密算法和密钥CK,RNC和UE完成加密算法的协商后启动加密过程。
在加密启动后,UE使用根据RAND计算出来的CK进行加解密,NODEB使用MSC/VLR下发的CK进行加解密。
网络侧向无线接入网侧发送加密信息。
在此过程中,核心网的网络侧将与无线接入网协商对用户终端进行加密的算法,使得用户在后续的业务传递过程中使用此加密算法;并且在终端用户发生切换后,尽可能的仍使用此加密算法——即用于加密的有关参数会送到切换的目的RNC。
加密流程如图2-6所示。
图2-1加密/完整性保护流程
2.3完整性保护
完整性保护目的是通过校验信令数据的合法性,确保信令在发出后未被非法修改,而且信令数据的起源是所要求的发送方。
当网络启动加密模式时,在加密命令中携带完整性保护算法和密钥IK,RNC和UE完成完整性保护算法的协商后启动完整性保护过程。
在完整性保护启动后,UE使用根据RAND计算出来的IK进行完整性保护处理,NODEB使用MSC/VLR下发的IK进行完整性保护处理。
完整性保护流程如图2-6所示。
①CN发SECURITYMODECOMMAND,该消息启动安全模式控制流程,并给出UTRAN可用的加密(如果有)和完整性保护算法。
②UTRAN收到SECURITYMODECOMMAND消息后,UTRAN根据UE/UTRAN的能力,从中选择合适的算法,然后触发运行相应无线接口流程,并启动加密设备(如果适用)和完整性保护。
(1)当UTRAN的无线接口流程成功运行完成后,UTRAN返回SECURITYMODECOMPLETE消息,内容包含所选用的完整性保护和加密算法。
信令数据始终用最后收到的加密信息进行加密和最后收到的完整性信息进行完整性保护。
(2)如果UE或UTRAN不支持列表中指定的加密算法或完整性算法,则返回SECURITYMODEREJECT消息,原因值为“要求的加密算法或/和完整性算法不支持”。
如果无线接口安全控制流程失败,则返回SECURITYMODEREJECT,原因值为“无线接口控制流程失败”。
如果加密或完整性保护已激活,CN要求改变算法,但UE或UTRAN不支持改变后的算法,则返回SECURITYMODEREJECT,原因值为“改变的加密算法或/和完整性算法不支持”。
2.4TMSI重分配
TMSI即临时移动用户识别码,由MSC/VLR管理,TMSI重分配的目的是通过在空中无线接口使用TMSI保证IMSI的安全,防止第三方通过用户的IMSI跟踪用户的活动。
当用户在某MSC/VLR控制区域活动时,MSC/VLR根据特定的TMSI分配原则分配一个在该MSC/VLR唯一标识该用户的TMSI给移动用户,以后网络通过TMSI识别用户,所有的信令数据交互不再使用IMSI,从而达到保密目的。
TMSI重分配的实现在用户位置更新、呼叫建立和补充业务等过程都可以执行,当新的TMSI重分配成功后,前一次分配的TMSI将被删除。
在位置更新时进行的TMSI重分配流程,是与位置更新接受融合在一起的。
如图2-7所示。
图2-1位置更新时的TMSI重分配图
①MSC/VLR发起TMSI重分配流程,MSC/VLR产生一个新的TMSI,存储TMSI与IMSI的对应关系,同时发送新的TMSI和新的LAI给MS。
②MS收到新分配的TMSI后,自动删除旧TMSI并记录新的TMSI,然后回发一个响应消息给MSC/VLR。
MSC/VLR收到响应后,删除旧的TMSI与IMSI的对应关系。