
华为鉴权技术管理文档.doc
18页HUAWEI HLR9820操作手册 用户管理分册表格目录目 录3 鉴权管理 3-13.1 鉴权功能概述 3-23.1.1 GSM鉴权 3-23.1.2 UMTS鉴权 3-43.2 设置K4 3-63.2.1 增加K4 3-63.2.2 校验K4 3-73.3 设置OP 3-83.3.1 增加OP 3-83.4 设置KI 3-83.4.1 单用户加载KI 3-93.4.2 校验KI 3-103.4.3 修改卡参数 3-11文档版本 01 (2007-07-20)华为技术有限公司v插图目录图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-11HUAWEI HLR9820操作手册 用户管理分册3 鉴权管理3 鉴权管理关于本章本章描述内容如下表所示标题内容3.1 鉴权功能概述本节分别对GSM鉴权和UMTS鉴权加以说明3.2 设置K4本节主要介绍如何设置K4。
3.3 设置OP本节主要介绍如何设置OP3.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鉴权参数l 鉴权三元组鉴权三元组,GSM用于用户鉴权的三个主要参数组成的向量,包括:− RAND(Random Challenge)由随机数发生器产生,长16B,主要作为计算三元组中其他两个参数的基础。
− SRES(Signed Response)RAND和Ki用A3算法计算得出,长4B,用来判断鉴权是否通过− Kc(Cipher Key)RAND和Ki用A8算法计算得出,长8B,用于空中无线信道加密的密钥l 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),其中:l RAND由随机数发生器产生;l SRES由RAND和Ki用A3算法得出;l 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-2 UMTS鉴权原理图UMTS鉴权参数l UMTS鉴权参数说明− RANDRAND是网络提供给UE的不可预知的随机数,UE用它来计算鉴权响应参数RES(或RES+RES_EXT)及安全保密参数IK、CKRAND长度为16 octets− AUTNAUTN的作用是提供信息给UE,使UE可以用它来对网络进行鉴权AUTN的长度为16octets− XRESXRES是期望的UE鉴权响应参数用于和UE产生的RES(或RES+RES_EXT)进行比较,以决定鉴权是否成功。
XRES的长度为4 octets~16 octets− CKCK为UMTS的加密密钥CK长度为16 octets− IKUMTS的完整性保护密钥,长度为16 octetsUMTS鉴权相关的其他参数:− AUTSAUTS作用是给网络提供必要的信息以启动再鉴权流程当MS/UE返回鉴权失败且失败原因为“同步失败”时,带有此参数AUTS的长度为14 octets− SQN(Sequence number)计算MAC值和AUTN时,需要用SQNUSIM和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收到的五元组是否合法l 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− SQNHEOp和Opc在USIM卡中烧制其一即可。
因为Opc才是Milenage算法的真正输入,如果采用Op,还需要经过计算才能得到Opc,基于运算效率和安全性两方面的考虑,推荐运营商采用OpcUMTS鉴权原理用户接入网络的时候,如果需要鉴权,则VLR/SGSN选取一组未使用过的鉴权5元组向量并向UE发起鉴权请求该请求消息中携带所选取的鉴权向量中的RAND、AUTN和CKSNUSIM检查参数AUTN是否能被接受,如果不能则鉴权失败;否则继续计算出RES和CK、IK,并将RES回送给VLR/SGSNVLR/SGSN用鉴权向量组中的XRES和UE返回的RES比较,相同则鉴权成功,否则失败鉴权成功后,UE计算并存储在USIM卡中的CK、IK以及VLR/SGSN中保存的鉴权向量组中的CK、IK可用于后续的加密过程如果鉴权失败,则UE删除刚才所保存的CK和IK3.2 设置K4KI值是为用户鉴权而设为了安全起见,需要给KI值加密,并且需要由SIM/USIM卡厂商提供对应的K4加载加密的KI时,必须加载对应的K4,HLR系统才能算出正确的KIKI一般以文本的形式存放在磁盘中,加载KI也就是加载该文件在加载KI时,需要KI的文本文件以及给KI加密用的K4参数所对应的K4序列号。
通常一个KI文件对应一个K4序列号,并且通过选择K4序列号选择加密所需的K43.2.1 增加K4操作说明此操作用来增加K4密钥值或者修改已存在的密钥操作过程执行ADD K4命令增加K4参数说明参数含义如表3-1所示表3-1 增加K4参数说明参数ID参数名称参数含义K4SNOK4序列号K4序列号,值域为1~254,必选参数K4VALUEK4密钥值K4 密钥值,16位的十六进制数字组成的字符串,必选参数举例增加K4,序列号为2,K4值为ABCDEF1234567890命令如下:ADD K4: K4SNO=2, K4VALUE="ABCDEF1234567890";3.2.2 校验K4操作说明此操作用来校验所有K4密钥值操作过程执行CHK K4命令校验K4值参数说明参数含义如表3-2所示表3-2 校验K4参数说明参数ID参数名称参数含义K4SNOK4序列号K4序列号,值域为1~254,可选参数K4VALUEK4 密钥值K4 密钥值,16位的十六进制数字组成的字符串,必选参数举例校验K4,序列号为2,K4值为ABCDEF1234567890命令如下:CHK K4: K4SNO=2, K4VALUE="ABCDEF1234567890";3.3 设置OPOP(Operator Variant Algorithm Configuration Field)即运营商可变算法配置域,使用MILENAGE鉴权算法时引入,是鉴权计算的一个输入参数。
一个运营商的所有用户可以使用相同的OP,以区别于其他运营商的用户HLR系统支持多个OP3.3.1 增加OP操作说明此操作用来在系统中增加OP数据操作过程执行ADD OP命令增加OP数据参数说明参数含义如表3-3所示表3-3 增加OP参数说明参数ID参数名称参数含义OPSNOOP序列号OP序列号,值域为0~16777215,0。