UICC 之 USIM 详解全系列——USIM鉴权函数说明以及鉴权向量结构

Posted 从善若水

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了UICC 之 USIM 详解全系列——USIM鉴权函数说明以及鉴权向量结构相关的知识,希望对你有一定的参考价值。

博主未授权任何人或组织机构转载博主任何原创文章,感谢各位对原创的支持!
博主链接

USIM鉴权函数说明以及鉴权向量结构

一、USIM鉴权函数说明

       USIM鉴权算法分为两类:

  • milenage
  • Tuak

关于这两种算法,可以参考博主下面的文章:
《3GPP USIM milenage算法code》
《5G 3GPP USIM Tuak算法code》

不管是使用哪一种鉴权算法,都会涉及到下面几个函数:

  • f1 : 用于网络鉴权的消息鉴权函数,用来计算XMAC
  • f1* :用于重同步生成 MAC-S 的消息鉴权函数,从f1* 的函数值中无法推算出关于 f1,…, f5, f5* 任何有用信息,反之亦然;
  • f2 :用户鉴权中被用来计算 SRES的消息鉴权函数;
  • f3 :计算加密密钥 CK 的密钥生成函数;
  • f4 :计算完整性保护密钥 IK 的密钥生成函数;
  • f5 :计算匿名密钥 AK 的密钥生成函数 (可选);
  • f5* :在重同步流程中计算 AK 的密钥生成函数, 从f5* 的函数值中无法推算出关于 f1, f1* ,…, f5 任何有用信息,反之亦然;

f5函数也可能不存在
AK是一种匿名密钥,用于隐藏序列号,因为序列号可能会暴露用户的身份和位置。序列号的隐藏仅仅是为了防止被动攻击。如果不需要隐藏,则f5 ≡ 0 (AK = 0)

这些函数在USIM中可能是单独存在也可能是组合的方式存在
       例如,如果是单独存在,则分别有名为 f1、f1*、f2、f3、 f4、 f5、 f5*的函数存在;
       例如,如果是组合的方式存在,则可能有一个函数同时具有f2、f3、 f4、 f5的功能;


二、USIM鉴权向量结构

AUTN👇

  • AUTN 参数长度为16 Bytes, 其中:
    • SQN ^ AK 占 6 Bytes;
    • AMF 占 2 Bytes;
    • MAC 占 8 Bytes;

AMF👇

  • AMF 字段长度为 2 Bytes;
  • ①是 AMF separation bit。接入 5G网络时这个字段必须设置为 “1”;
  • ②1~7 bit 是保留字段,目前没有使用,默认都是 “0”;
  • ③8~15 bit是有专门用途的一个字段,协议中给出几个例子:
    • 通过该字段运营商可以动态切换用于 鉴权和密钥协商的算法类型
    • 通过该字段可以改变 SQN校验参数。例如,USIM 能够对SEQMS(目前接收的最高SEQ)和当前接收到的SEQ之间的差异设置一个限制值 L,通过这个字段可以动态改变参数 L;
    • 设置阈值以限制 加密和完整性保护密钥的生存期

SEQ 是 SQN的组成部分: SQN = SEQ || IND


AUTS👇

  • AUTS 参数长度为14 Bytes, 其中:
    • SQNMS ^ AK 占 6 Bytes;
    • MAC-S 占 8 Bytes;


以上是关于UICC 之 USIM 详解全系列——USIM鉴权函数说明以及鉴权向量结构的主要内容,如果未能解决你的问题,请参考以下文章

UICC 之 USIM 详解全系列——UICC基础知识介绍

UICC 之 USIM 详解全系列——UICC中的Apps与Files结构

5GC基础自学系列 | 5GC基础之:USIM中的5G相关服务和EF文件

5G UE — USIM Card — 身份鉴权

5G安全系列NAS层安全密钥衍生——USIM相关密钥的衍生

5G安全系列NAS层安全密钥衍生——USIM相关密钥的衍生