移动通信鉴权算法之三Milenage

UMTS/WCDMA,LTE,5G NR基本鉴权算法都是一致的,为Milenage。 UMTS是一个基于五元组的鉴权 鉴权五元组(RAND,XRES,IK,CK,AUTN)。 LTE鉴权是一个基于四元组的鉴权:Kasme、AUTN、RAND、XRES,鉴权流程为:
1) UE向NAS层MMS发起鉴权请求;
2) MME(Mobility Management Entity) 则向HSS(Home Subscriber Server)索要鉴权向量;
3) HSS返回一套或多套EPS鉴权向量给MME,其中包括AMF分割符,1代表LTE/SAE,0代表非LTE/SAE;
4) MME收到后保存XRES,Kasme并将RAND和AUTN发送给UE;
5) UE通过AUTN对网络进行鉴权,并根据AUTN和RAND计算出RES和CK/IK,进一步计算出Kasme;
6) UE与MME根据Kasme推导出NAS层与AS层所需的CK、IK。当UE从ACTIVE到IDLE态时将删除这些密钥 VLR通过基站-手机发送 RAND和AUTN到USIM卡
RAND由AuC用f0算法生成
AUTN= SQN [AAK] || AMF || MAC_A


USIM用f1 计算XMAC,输入为 SQN || RAND || AMF
若 XMAC = MAC_A ,且SQN在有效范围, 则认为网络是合法网络,不是伪基站(其实伪基站这个叫法不对,但民间都这么称呼)

USIM用f2 计算RES

当SQN不在有效范围时,用f1*进行同步 TD-LTE USIM卡和TD-SCDMA USIM卡USIM应用和SIM应用均使用Milenage算法, LTE卡支持AMF分隔符为1的LTE模式。 外在表现主要差异在于EF_UST(6F38)文件中声明支持EPS Mobility Management Information服务和Call control on EPS PDN connection by USIM服务。
在文件系统中ADF下新增EPS_LOCI(6FE3)和EPS_NSC(6FE4)两个文件由终端访问和存储鉴权中间值。 实例分析:
00 A4 08 04 02 

A4 

7F FF 

61 34 


00 C0 00 00 34 

C0 

62 32 82 02 78 21 83 02 7F F0 84 10 A0 00 00 00 

87 10 02 FF 86 FF 03 89 FF FF FF FF A5 03 80 01 

71 8A 01 05 8B 03 2F 06 04 C6 09 90 01 40 83 01 

01 83 01 81 

90 00 



00 88 00 81 (80=2g,81=3g, 82=vgcs, 84=gba) 22 

88 

10 

D3 5E 1C AD 1F 84 8C 90 69 66 39 D3 0E 12 7F 32  (RAND)

10 

58 11 8D A8 EE 70(SQN@AK)-- F2 4C (AMF) ---2B 33 55 DC B7 26 43 8E (MAC_A) (AUTN)

61 2C 



其中,AUTN实际由SQN xor AK, AMF 和 MAC 三部分组成^M

AK = f5(Ki,RAND)^M

XMAC = f1(Ki,RAND,SQN,AMF)^M

如果XMAC与MAC相等, 则认为UE将要接入的网络是合法的^M



00 C0 00 00 2C 

C0 

DB      --DB表示成功, DC表示SQN需要重新同步

08 

F8 CD 98 87 CA 77 04 8F    --RES

10 

D3 EF 06 E5 86 28 F1 94 3A 57 2B 4B 20 06 1B F4 --CK

10 

AF 9B 2F 86 F5 92 85 8F 03 21 24 8A BB F3 A1 5A --IK

08 
2B 33 55 DC B7 26 43 8E  (MAC_A)

90 00 
鉴权管理字段

对AMF的使用没有标准化。除了参与AUTN的计算以外,3GPP提出了三种用法
1.用于在多个鉴权算法、多个密钥中进行选择。
2.用于动态改变SQN验证所用的参数L
3.初步确定使用该项功能:用于指定CK/IK密钥生命周期的阈值。
理由:
AMF用于动态更新threadhold,如果KASUMI算法有问题,通过增大CK、IK的更新频度提高使用KASUMI算法的安全程度。

考虑到AMF还没有标准化,并且今后可能用于中国移动特定的功能,设置AMF = 0x00 0x01 也就是分离比特位 如果网络类型为LTE, AUTN中的AMF字段的”分离比特位”应该设置为1, 向ME指明 认证向量 仅用于 EPS上下文的AKA认证.
如果”分离比特位”为0, 向量仅能用于 非EPS上下文(如GSM, UMTS)的AKA认证.

对于”分离比特位”为1的认证向量, AKA认证过程产生的密钥CK和IK 应该驻留在HSS中
分离比特位 是 AMF字段的最低位, 不应再被用于其他用途 AMF(authentication and key management field):AMF用来指示SQNMS(移动站的)和SQN(VLR或Auc的)之间的最大许可差值;其用来指示生成某一个鉴权向量所使用的密钥和算法。USIM对密钥有一个有效期限制,通过AMF来调整它的时间。
若SQN – SQNMS < AMF 且SQN > SQNMS,则SQN正确
AUTS:它的长度为14个字节,当MS鉴权失败并且返回失败原因是”同步失败”时,带有AUTS参数,其作用是为启动再鉴权流程而给网络提供必要的信息。 “Synchronisation failure” tag = ‘DC’ “Successful 3G authentication” tag = ‘DB’

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注