目 录
3.1.1 GSM鉴权 3-2
3.1.2 UMTS鉴权 3-4
3.2 设置K4 3-6
3.2.1 增加K4 3-6
3.2.2 校验K4 3-7
3.3 设置OP 3-8
3.3.1 增加OP 3-8
3.4 设置KI 3-8
3.4.2 校验KI 3-10
3.4.3 修改卡参数 3-11
插图目录
图3-1 GSM鉴权原理图 3-3
图3-2 UMTS鉴权原理图 3-4
表格目录
表3-1 增加K4参数说明 3-7
表3-2 校验K4参数说明 3-7
表3-3 增加OP参数说明 3-8
表3-4 单用户加载KI参数表 3-9
表3-5 校验用户KI参数表 3-10
表3-6 修改卡参数的参数表 3-11
3 鉴权管理
关于本章
本章描述内容如下表所示。
标题 | 内容 |
3.1 鉴权功能概述 | 本节分别对GSM鉴权和UMTS鉴权加以说明。 |
3.2 设置K4 | 本节主要介绍如何设置K4。 |
3.3 设置OP | 本节主要介绍如何设置OP。 |
3.4 设置KI | 本节主要介绍如何设置KI。 |
| |
本章在简要介绍鉴权基本概念的基础上,说明了如何在SMU Client实现对用户的鉴权管理,主要包括设置K4和设置KI的相关操作。
3.1 鉴权功能概述
在GSM网络和UMTS网络中,鉴权是由MS/UE、VLR/SGSN、HLR/AuC协同工作完成,都是由MS/UE和AuC分别计算出鉴权参数,由VLR/SGSN比较双方的计算结果,完成网络对MS/UE合法性的验证。 UMTS增加了MS/UE对网络合法性的验证功能,从而实现MS/UE与网络双向认证。
HLR鉴权功能包括GSM鉴权和UMTS(Universal Mobile Telecommunications System)鉴权。
以下就这两类鉴权功能分别加以说明。
3.1.1 GSM鉴权
GSM鉴权概述
GSM鉴权功能用以决定用户是否有权接入PLMN网络。通过比较MS提供的鉴权响应和AuC提供的鉴权三元组之间是否一致进行判断的,通过鉴权,可以防止非法用户使用网络提供的服务。
GSM鉴权参数
● 鉴权三元组
鉴权三元组,GSM用于用户鉴权的三个主要参数组成的向量,包括:
− RAND(Random Challenge)
由随机数发生器产生,长16B,主要作为计算三元组中其他两个参数的基础。
− SRES(Signed Response)
RAND和Ki用A3算法计算得出,长4B,用来判断鉴权是否通过。
− Kc(Cipher Key)
RAND和Ki用A8算法计算得出,长8B,用于空中无线信道加密的密钥。 ● MS中SIM卡和AuC中存贮的信息
− SIM卡中:
固化数据:IMSI,Ki,A3和A8(鉴权算法)。这些内容不会更改。
临时的网络数据:TMSI,LAI,Kc,CKSN,被禁止的PLMN
业务相关数据
− AuC中:
用户数据(IMSI,用来对移动签约者身份进行识别);
鉴权密钥Ki(注意:该值与用户SIM卡上的Ki值是一致的);
密码密钥(即密钥K4):K4是Ki的密钥,用来对Ki进行加密和解密,长度为8B。
密钥序号:是K4的索引(数据库中的外密钥),用来获取K4,若其值为0,表明Ki没有用K4加密(即当前的Ki值为解密后的值)。
安全算法(A3和A8):用于产生加密和鉴权。
GSM鉴权原理
AuC的基本功能是产生三元组(RAND、SRES、Kc),其中:
● RAND由随机数发生器产生;
● SRES由RAND和Ki用A3算法得出;
● Kc由RAND和Ki用A8算法得出。
三元组产生后存于HLR中。当需要鉴权时,由MS所在服务区的MSC/VLR从HLR中装载至少一套三元组为此MS/UE服务。
鉴权的原理如图3-1所示。
图3-1 GSM鉴权原理图
3.1.2 UMTS鉴权
UMTS鉴权概述
与GSM鉴权相比,UMTS鉴权不但有网络鉴权用户的功能,还增加了用户鉴权网络的功能和完整性保护功能。另外UMTS鉴权增加了密钥的长度,使用更加安全的加密算法和完整性算法。
UMTS鉴权参数为UMTS鉴权向量五元组(Quintet):RAND,XRES(Expected user Response),CK,IK(Integrity Key),AUTN(Authentication Token);这五个元素组成一个UMTS鉴权向量,即(RAND,XRES,CK,IK,AUTN)。
鉴权的原理如图3-2所示。
图3-1 UMTS鉴权原理图
UMTS鉴权参数
● UMTS鉴权参数说明
− RAND
RAND是网络提供给UE的不可预知的随机数,UE用它来计算鉴权响应参数RES(或RES+RES_EXT)及安全保密参数IK、CK。RAND长度为16 octets。
− AUTN
AUTN的作用是提供信息给UE,使UE可以用它来对网络进行鉴权。AUTN的长度为16octets。
− XRES
XRES是期望的UE鉴权响应参数。用于和UE产生的RES(或RES+RES_EXT)进行比较,以决定鉴权是否成功。XRES的长度为4 octets~16 octets。
− CK
CK为UMTS的加密密钥。CK长度为16 octets。
− IK
UMTS的完整性保护密钥,长度为16 octets。
UMTS鉴权相关的其他参数:
− AUTS
AUTS作用是给网络提供必要的信息以启动再鉴权流程。当MS/UE返回鉴权失败且失败原因为“同步失败”时,带有此参数。AUTS的长度为14 octets。
− SQN(Sequence number)
计算MAC值和AUTN时,需要用SQN。USIM和HE(Home Environment)保存了计数器SQNMS和SQNHE,这个计数器是用来网络鉴权的。系列号SQNHE对每个用户而言都是独立的计数器,SQNMS 指示了USIM收到的最大的系列数值。
− AMF(Authentication and key management field)
可以用来指示生成某一个鉴权向量所使用的算法和密钥。用来指示SQNMS和SQN之间的最大许可差值;如果SQN-SQNMS“AMF而且SQN” SQNMS,则SQN正确。USIM对密钥有一个有效期的限制,其时间可以通过AMF来调整。
− AK(Anonymity key)
作用是加密AUTN中的SQN。它根据RAND和Ki(Auc和HE之间共享的长期有效的密钥)计算得到,或者可以取AK=0。
− MAC(Message authentication code)
包含在AUTN中,根据SQN、RAND、AMF、Ki计算得到。接收者要重新计算MAC并与收到的MAC比较,判断UE收到的五元组是否合法。
● USIM上的鉴权参数
− IMSI号码(唯一识别USIM卡的号码)
− 鉴权密钥Ki(长度为16B,IMSI为Ki的索引,即一个IMSI号码唯一地对应于一个Ki值,但一个Ki值可能被多个IMSI使用)
− 鉴权和加密算法(f1、f2、f3、f4、f5、f1*、f5*、UIE、UIA)
− OP或OPc
− SQNMS
− AuC上的鉴权参数
− 用户数据(IMSI,用来对移动签约者身份进行识别)
− 鉴权密钥Ki(注意:该值与用户SIM卡上的Ki值是一致的)
− 密码密钥(即密钥K4):K4是Ki的密钥,用来对Ki进行加密和解密,长度为8B
− 密钥序号:是K4的索引(数据库中的外密钥),用来获取K4,若其值为0,表明Ki没有用K4加密(即当前的Ki值为解密后的值)
− 鉴权和加密算法(f1、f2、f3、f4、f5、f1*、f5*)
− 用于生成随机数的随机数发生器
− AMF
− OP或OPc
− SQNHE
Op和Opc在USIM卡中烧制其一即可。因为Opc才是Milenage算法的真正输入,如果采用Op,还需要经过计算才能得到Opc,基于运算效率和安全性两方面的考虑,推荐运营商采用Opc。
UMTS鉴权原理