UIM卡技术要求(3)

2024-02-24 18:18
文章标签 技术 要求 uim

本文主要是介绍UIM卡技术要求(3),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

6 基于ANSI-41的鉴权本节描述了ME与R-UIM卡之间的接口。6.1节描述了参数存储和流程。5.2节描述了与R-UIM卡相关的基于ANSI-41的安全过程的组成单元。5.3节描述了ME与R-UIM卡之间命令和响应。 6.1 参数存储和流程在R-UIM卡中存储了下列参数: (1) 鉴权的算法和密钥生成的算法。目前基于ANSI-41的安全操作采用CAVE算法。 (2) A-key,仅用于密钥生成运算。A-key可以由运营商直接写入R-UIM或经空中下载过程写入R-UIM。ME无法读取A-key。在一些过程的执行期间,必须保存A-key的新、旧两个值。 (3) SSD,仅用于鉴权和密钥生成过程。ME无法读取SSD。在一些过程的执行期间,必须保存SSD的新、旧两个值。 (4) 鉴权处理后密钥生成所使用的临时保密参数(如每个呼叫中产生的临时参数)。 (5) COUNT,可由ME读取。 (6) IMSI,由IMSI_M 和IMSI_T组成。IMSI_M的低10位数字包含一个MIN。IMSI_T与MIN无关。ME可以读取签约标识。 (7) RUIMID,保存在EF RR-UIM ID中,标识符为‘6F31’。 (8) NAM_LOCK,标识符为‘6F35’。存储NAM的锁/解锁状态。在ME中存储了下列参数: (1) 所有用于话音、用户数据和信令消息加密的算法。 (2) ECMEA 和ECMEA_NF的密钥处理。 (3) ME的ESN。在与安全相关的过程中下列参数从ME传递到R-UIM卡: (1) RAND,统一随机查询。 (2) 最后拨叫的号码,用于识别被叫方的号码的子集。R-UIM卡用这些参数组成“鉴权数据”域。参见TIA/EIA-95-B,表6.3.12.1-1,标题为“Auth_Signature输入参数”。 (3) RANDU,由网络发出的一个单一随机查询。 (4) AUTHBS,在SSD更新过程中从网络发回的鉴权响应。 (5) RANDSeed,用于产生RANDBS 的一个随机数。 (6) RANDSSD,初始化SSD更新时,随SSD更新命令由网络发出的参数。 (7) ME的ESN(ESN_ME),在R-UIM卡插入ME后从ME传递给R-UIM卡。 下列参数在涉及与安全相关的过程中从R-UIM卡传递到ME: (1) AUTHR,是对“统一查询”的响应。 (2) 与鉴权运算有关的密钥,密钥可以是64bit的密钥和不定长的‘VPM’。 (3) AUTHU, 是对单一查询的响应。 (4) RANDBS,用于SSD更新过程的网络鉴权查询。 6.2 基于ANSI-41的安全操作描述 R-UIM卡执行三个主要操作:管理SSD、执行鉴权计算并产生密钥、管理呼叫历史记录参数。 6.2.1 管理SSD SSD用于所有鉴权响应计算和后续的密钥生成。SSD由存储在R-UIM中的“A-key”导出。当网络向手机发出含有RANDSSD参数的UPDATE SSD命令时,SSD开始更新过程。 用 户的归属网络是唯一可以更新用户SSD 的实体。见图6-1。当网络对某个用户发起一个SSD 更新时,用户的手机首先存储RANDSSD参数,然后产生一个随机数RANDSeed 。手机向R-UIM卡传递RANDSeed参数,开始基站查询操作(Base Station Challenge function)。随后,R-UIM卡产生 RANDBS参数。RANDBS与RANDSeed的关系由R-UIM卡的发放者规定。例如,R-UIM卡可以设置RANDBS等于RANDSeed; RANDBS参数可以通过对RANDSeed参数进行伪随机处理导出或忽略RANDSeed而独立产生RANDBS。Base Station Challenge命令使R-UIM卡将RANDBS参数传递给手机再发给网络。 接下来,手机通过向R-UIM卡发送命令执行更新SSD 过程,该命令含有RANDSSD参数。见图6-2。然后R-UIM算出一个SSD值和一个响应RANDBS的值AUTHBS。在R-UIM卡插入ME时根 据EF 6F42的指示已经确定了在这些计算中使用的ESN和IMSI。在网络侧,RANDSSD参数用于为选定的R-UIM卡产生一个新的 SSD值。网络从手机收到RANDBS参数后,与新的SSD一起算出AUTHBS,然后网络将AUTHBS发给手机,见图6-3。手机将收到的 AUTHBS作为Confirm SSD命令的参数发给R-UIM卡。R-UIM卡比较收到的AUTHBS和它自己算出的AUTHBS值,如果两个值相同,则SSD更新过程成功, SSD存入R-UIM卡的半永久内存并用于后面所有的鉴权计算。如果两个AUTHBS值不同,R-UIM就放弃新的SSD值仍保留当前的值,见图6-3。如 果SSD更新过程是OTASP/OTAPA过程值的一部分,则在SSD更新过程执行中,手机应将“处理控制”的bit 2设置为‘1’,这将使R-UIM卡在半永久内存中保留SSD的当前值而用新值重新进行鉴权计算。只有当R-UIM卡接受了网络发出的“Commit Request Message”后,才将SSD换为新值。 6.2.2 执行鉴权计算和产生密钥第二个与安全有关的R-UIM卡操作是执 行鉴权计算和产生密钥,见图6-4。由Run CAVE操作执行,有一个输入参数RAND (对于统一查询) 或RANDU (对于单一查询)。其它由手机发出的参数可以是拨叫号码的一个子集。用于RUN CAVE操作的参数ESN和IMSI在R-UIM卡插入手机时确定。 R- UIM卡存储IMSI_M和IMSI_T,这两个参数的低10位数分别编码为34 bit的两个子参数IMSI_M_S和IMSI_T_S。这两个参数的低7位再编码为24-bit的IMSI_M_S1和IMSI_T_S1, 第8-10位编码为8bit的IMSI_M_S2和IMSI_T_S2。大多数应用的鉴权计算都使用IMSI_M_S1、IMSI_T_S1、 IMSI_M_S2和IMSI_T_S2。这些计算中使用的IMSI在R-UIM卡插入手机时确定。命令Get RESPONSE使R-UIM卡将输出参数AUTHR或AUTHU传递给手机。临时参数可以存储在R-UIM卡上以用于密钥计算。密 钥的计算由Generate Key/VPM操作执行。见图6-5。Generate Key /VPM操作用于处理在Run CAVE 操作的鉴权计算中产生的临时参数。由密钥生成/VPM操作产生的密钥,有些直接用于手机加密,有些则在手机中进一步处理用于ECMEA和ECMEA_NF 加密功能 6.2.3 管理呼叫历史记录参数 CALL COUNT用做一个复制检测器。在接入网络协议的时候,R-UIM卡向网络报告CALL COUNT的值,如果这个值与网络预期的值相同,网络就准予访问。在呼叫进行中可以由网络的命令增加CALL COUNT的值。如果网络确认CALL COUNT的值不符,就查询R-UIM被复制的可能性并采取补救措施。 6.3 保留 6.4 基于ANSI-41的与安全相关的命令描述命令BASE STATION CHALLENGE、Update SSD、Confirm SSD按顺序执行。如果Update SSD或Confirm SSD命令顺序错误,R-UIM卡将返回‘9834’、SW1=98和SW2=34。如果采用T=0协议,则命令APDU的映射按GSM11.11规范9.1节的规定处理。在以下的命令处理过程中,RANDSSD,RANDSeed,RANDBS,AuthBS,RAND,RANDU,AUTHR及AUTHU等参数的编码是按高字节在前。 ESN的编码是按低字节在前,以与存储ESN_ME的EF文件‘6F38’相匹配。 6.4.1 Update SSD BASE STATION CHALLENGE、Update SSD、Confirm SSD按顺序执行。如果执行顺序错误,卡应返回‘9834’。命令 等级 INS P1 P2 Lc Le UPDATE SSD ‘A0’ ‘84’ ‘00’ ‘00’ ‘0F’ ’00’ 命令参数/数据:字节 描述 长度(字节) 1 - 7 RANDSSD 7 8 Process_Control* 1 9-15 ESN 7 *输入参数Process_Control参数编码如下: bit 0保留。 bit 1保留 bit 2说明引发将最新算出的SSD存入半永久内存的条件: ‘000x 00xx’ 表示经Confirm SSD 命令对AUTHBS 的成功确认 ‘000x 01xx’ 表示在OTASP/OTAPA期间接受Commit Request Message命令 bit 3保留 bit 4 说明是否需要保存存储器: ‘0001 0xxx’表示保存存储器ON ‘0000 0xxx’表示保存存储器OFF 如果保存存储器设置为ON,在产生鉴权响应后会使鉴权处理过程维持内部寄存器的状态。 bit 4只与Run CAVE命令有关,在该命令中在生成密钥后可以产生一个鉴权响应。 bit 5-7保留 6.4.2 BASE STATION CHALLENGE 命 令 等级 INS P1 P2 Lc Le BASE STATION CHALLENGE ‘A0’ ‘8A’ ‘00’ ‘00’ ‘04’ ‘04’ 命令参数/数据:字节 描述 长度(字节) 1 - 4 RANDSeed 4 响应参数/数据:字节 描述 长度(字节) 1 - 4 RANDBS 4 6.4.3 Confirm SSD 命 令 等级 INS P1 P2 Lc Le CONFIRM SSD ‘A0’ ‘82’ ‘00’ ‘00’ ‘03’ 空命令参数/数据:字节 描述 长度(字节) 1 - 3 AuthBS 3 响应参数/数据:该命令的执行无响应参数。命令执行成功将SW1 设置为‘90’,SW2设置为‘00’;不成功则SW1设置为‘98’,SW2设置为‘04’。 6.4.4 Run CAVE 命 令 等级 INS P1 P2 Lc Le RUN CAVE ‘A0’ ‘88’ ‘00’ ‘00’ ‘11’ ‘03’ 命令参数/数据:字 节 描 述 长度(字节) 1 RANDTYPE (RAND/RANDU) 1 2 - 5 RAND/RANDU 4 6 DigLength(以bit表示) 1 7 ?C 9 DIGITS 3 10 Process_Control 1 11 - 17 ESN (手机) 7 RANDTYPE编码如下: ‘0000 0000’RAND (统一查询) ‘0000 0001’RANDU (单一查询) RANDTYPE的所有其它值保留。如果RANDTYPE设为RAND,则RAND占用2-5字节;如设为RANDU,则RANDU占用3-5字节,字节2忽略。如 果没有DIGITS作为CAVE算法的输入参数(如登记鉴权或单一查询),则 DigLength=0且命令参数的7-9字节也等于0。如果有DIGITS,则字节9的b1至b4编码为DIGITS的最后一个数字,b5至b8编码为 倒数第二个数字,字节8的b1至b4编码为DIGITS的倒数第三个数字,依次类推至字节7。如果DIGITS小于6个数字,则把字节7-9的相应位填 0。例如,如果DIGITS为“123”,则 Byte 6 = 0000 0011 Byte 7 = 0000 0000 Byte 8 = 0000 0001 Byte 9 = 0010 0011 响应参数/数据:字 节 描 述 长 度(字节) 1 - 3 AUTHR/AUTHU 3 输入参数Process_Control编码如下: bit 0保留 bit 1保留 bit 2说明引发将最新算出的SSD存入半永久内存的条件: ‘000x 00xx’ 表示经Confirm SSD 命令对AUTHBS的成功确认。 ‘000x 01xx’ 表示在OTASP/OTAPA期间接受Commit Request Message命令。 bit 3保留,设置为‘0’ bit 4 说明是否需要保存存储器: ‘0001 0xxx’表示保存存储器ON ‘0000 0xxx’表示保存存储器OFF 如果保存存储器设置为ON,在产生鉴权响应后会使鉴权处理过程维持内部寄存器的状态。 bit 4只与Run CAVE命令有关,在该命令中在生成密钥后产生一个鉴权响应。 bit 5-7保留,设置为‘0’ 6.4.4.1 使用Run CAVE命令的注意事项 Run CAVE命令用于产生鉴权响应并允许调用后续命令计算密钥。如 生成密钥,Run CAVE命令将携带Process_Control参数,且该参数的bit 4设置为‘1’。当鉴权响应经Get Response命令发出后就可以发出密钥生成命令,根据Run CAVE命令执行时(Process_Control字节的bit4设置为‘1’)保存的参数执行密钥生成计算。 6.4.4.2 密钥生成命令的使用在Run CAVE 命令(Process_Control字节的bit4设置为‘1’)执行后,可以随时调用Generate Key/VPM命令。在保存寄存器功能为OFF状态时可以执行一个或多个Run CAVE例程,但Generate Key/VPM的输入参数应该是在保存寄存器功能为ON状态时调用Run CAVE 命令后存储的参数值。在执行了GET RESPONSE命令后,Generate Key/VPM将向主机功能发出主机要求长度的定长64-bit的密钥。 6.4.5 Generate Key/VPM 此命令有赖于Process_Control字节的bit4设置为‘1’的RUN CAVE 命令的成功执行。如果RUN CAVE 命令没有成功执行,应返回状态字SW=‘98’和SW=‘34’。命 令 等级 INS P1 P2 Lc Le GENERATE KEY/VPM ‘A0’ ‘8E’ ‘00’ ‘00’ ‘02’ ‘xx’ 命令参数/数据:字 节 描  述 长 度(字节) 1 输出VPM的第一个字节的偏移地址 1 2 输出VPM的最后一个字节的偏移地址 1 响应参数/数据:字 节 描  述 长 度 1-8 密钥 8 9-* VPM字节 * * 取决于由命令参数规定的输出VPM字节数。 6.5 保留 6.6 ESN管理命令 6.6.1 Store ESN_ME 命令 等级 INS P1 P2 Lc Le Store ESN_ME ‘A0’ ‘DE’ ‘00’ ‘00’ ‘08’ ‘01’ 命令参数/数据:字节 描述 长度 1 ESN_ME的长度 1 2 ?C 8 ESN_ME 7 ESN_ME存入EF ‘6F38’。ESN_ME 长度由字节1的bit0-3表示,其中b3为MSB,b1为LSB。字节1的bit4-7为RFU。响应参数/数据:字节 描述 长度(字节) 1 改变标志 1 字节1的bit 0指示ESN_ME是否与EF 6F38中存储的ESN相同。如果ESN_ME的bit0设置为0表示是相同的;如果设置为1表示已经改变了。如果必要的话,手机可以按照7.1.1节的要求重新登记。 Bit 1 到 7是RFU设为000。 7 附加空中接口过程 7.1 登记过程 7.1.1 插入R-UIM 当R -UIM插入一个开机状态的ME中时,如果Store ESN_ME命令的响应参数/数据中第一字节的比特0为‘1’且REG_ENABLEDS (参数描述见TIA/EIA/95-B)为“YES”时,移动台不管POWER_UP_REGS、REGISTEREDS的状态而执行开机登记过程。 7.1.2 TMSI已分配时ESN改变的登记过程当ME 检测到插入了一个新的R-UIM,就用Store ESN_ME命令将其ESN发给R-UIM。如果该命令的“响应参数/数据”的字节1的bit0设置为1,并且在R-UIM中有一个TMSI (EFTMSI的TMSI_CODES-P域设置为1),ME应执行如下过程: ME将USE_TMSIS的值存入一个临时变量; ME将USE_TMSIS设置为0; ME不管POWER_UP_REGS、REGISTEREDS、REG_ENABLEDS的状态而开始一个开机登记过程; ME从临时变量中保存USE_TMSIS的值。如果由于访问尝试失败而导致登记失败或由于用户发起一个初始化或检测到一个寻呼映射而导致取消登记,ME应通过设置EFTMSI的TMSI_CODES-P域为‘1’删除R-UIM中的TMSI。 7.2 在R-UIM未插入ME时的NAM参数在R-UIM未插入ME时,ME使用下列默认NAM参数集(见TIA/EIA/IS-683-A): - IMSI_M_CLASSP设置为“0”; - MCC_MP、IMSI_M_11_12P、IMSI_M_SP按照IMSI_M的编码值进行设置,IMSI_M的低4位设置为ESNP,直接将二进制转换为十进制,模10000。其它设置为“0”; - IMSI_M_ADDR_NUMP设置为“000”; - IMSI_T_CLASSP设置为“0”; - MCC_TP、IMSI_T_11_12P、IMSI_T_SP按照IMSI_T的编码值进行设置,IMSI_T的低4位设置为ESNP,直接将二进制转换为十进制,模10000。其它设置为“0”; - IMSI_T_ADDR_NUMP设置为“000”; - ACCOLCP根据TIA/EIA-95-B的6.3.5节的描述设置; - HOME_SIDP设置为“0”。 - 其它选定的NAM参数设置为厂商定义的默认值。在未插入R-UIM时,ME应可以执行相关规范允许的任何操作,包括接入网络。 7.3 R-UIM中无IMSI时ME中与IMSI相关的参数 EF IMSI_M的IMSI_M_PROGRAMMED设置为“0”时,ME使用下列与IMSI_M相关的值: - IMSI_M_CLASSP设置为“0”; - MCC_MP、IMSI_11_12P、IMSI_M_SP按照IMSI_M的编码值进行设置,IMSI_M的低4位设置为ESNP,直接将二进制转换为十进制,模10000。其它设置为“0”; - IMSI_M_ADDR_NUMP设置为“000”; - ACCOLCP根据TIA/EIA-95-B的6.3.5节的描述设置。当EF IMSI_T的IMSI_T_PROGRAMMED设置为“0”时,ME使用下列与IMSI_M相关的值: - IMSI_T_CLASSP设置为“0”; - MCC_TP、IMSI_T_11_12P、IMSI_T_SP按照IMSI_T的编码值进行设置,IMSI_M的低4位设置为ESNP,直接将二进制转换为十进制,模10000。其它设置为“0”;; - IMSI_T_ADDR_NUMP设置为“000”; 7.4 首选接入信道移动台ID类型当ME在系统开销信息中收到首选接入信道移动台ID类型PREF_MSID_TYPER且值为“10”时,ME将其设置为“11”。

这篇关于UIM卡技术要求(3)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/742941

相关文章

【专题】2024飞行汽车技术全景报告合集PDF分享(附原数据表)

原文链接: https://tecdat.cn/?p=37628 6月16日,小鹏汇天旅航者X2在北京大兴国际机场临空经济区完成首飞,这也是小鹏汇天的产品在京津冀地区进行的首次飞行。小鹏汇天方面还表示,公司准备量产,并计划今年四季度开启预售小鹏汇天分体式飞行汽车,探索分体式飞行汽车城际通勤。阅读原文,获取专题报告合集全文,解锁文末271份飞行汽车相关行业研究报告。 据悉,业内人士对飞行汽车行业

金融业开源技术 术语

金融业开源技术  术语 1  范围 本文件界定了金融业开源技术的常用术语。 本文件适用于金融业中涉及开源技术的相关标准及规范性文件制定和信息沟通等活动。

AI(文生语音)-TTS 技术线路探索学习:从拼接式参数化方法到Tacotron端到端输出

AI(文生语音)-TTS 技术线路探索学习:从拼接式参数化方法到Tacotron端到端输出 在数字化时代,文本到语音(Text-to-Speech, TTS)技术已成为人机交互的关键桥梁,无论是为视障人士提供辅助阅读,还是为智能助手注入声音的灵魂,TTS 技术都扮演着至关重要的角色。从最初的拼接式方法到参数化技术,再到现今的深度学习解决方案,TTS 技术经历了一段长足的进步。这篇文章将带您穿越时

系统架构设计师: 信息安全技术

简简单单 Online zuozuo: 简简单单 Online zuozuo 简简单单 Online zuozuo 简简单单 Online zuozuo 简简单单 Online zuozuo :本心、输入输出、结果 简简单单 Online zuozuo : 文章目录 系统架构设计师: 信息安全技术前言信息安全的基本要素:信息安全的范围:安全措施的目标:访问控制技术要素:访问控制包括:等保

前端技术(七)——less 教程

一、less简介 1. less是什么? less是一种动态样式语言,属于css预处理器的范畴,它扩展了CSS语言,增加了变量、Mixin、函数等特性,使CSS 更易维护和扩展LESS 既可以在 客户端 上运行 ,也可以借助Node.js在服务端运行。 less的中文官网:https://lesscss.cn/ 2. less编译工具 koala 官网 http://koala-app.

Spring的设计⽬标——《Spring技术内幕》

读《Spring技术内幕》第二版,计文柯著。 如果我们要简要地描述Spring的设计⽬标,可以这么说,Spring为开发者提供的是⼀个⼀站式的轻量级应⽤开发框架(平台)。 作为平台,Spring抽象了我们在 许多应⽤开发中遇到的共性问题;同时,作为⼀个轻量级的应⽤开发框架,Spring和传统的J2EE开发相⽐,有其⾃⾝的特点。 通过这些⾃⾝的特点,Spring充分体现了它的设计理念:在

java线程深度解析(六)——线程池技术

http://blog.csdn.net/Daybreak1209/article/details/51382604 一种最为简单的线程创建和回收的方法: [html]  view plain copy new Thread(new Runnable(){                @Override               public voi

java线程深度解析(二)——线程互斥技术与线程间通信

http://blog.csdn.net/daybreak1209/article/details/51307679      在java多线程——线程同步问题中,对于多线程下程序启动时出现的线程安全问题的背景和初步解决方案已经有了详细的介绍。本文将再度深入解析对线程代码块和方法的同步控制和多线程间通信的实例。 一、再现多线程下安全问题 先看开启两条线程,分别按序打印字符串的

SSM项目使用AOP技术进行日志记录

本步骤只记录完成切面所需的必要代码 本人开发中遇到的问题: 切面一直切不进去,最后发现需要在springMVC的核心配置文件中中开启注解驱动才可以,只在spring的核心配置文件中开启是不会在web项目中生效的。 之后按照下面的代码进行配置,然后前端在访问controller层中的路径时即可观察到日志已经被正常记录到数据库,代码中有部分注释,看不懂的可以参照注释。接下来进入正题 1、导入m

嵌入式技术的核心技术有哪些?请详细列举并解释每项技术的主要功能和应用场景。

嵌入式技术的核心技术包括处理器技术、IC技术和设计/验证技术。 1. 处理器技术    通用处理器:这类处理器适用于不同类型的应用,其主要特征是存储程序和通用的数据路径,使其能够处理各种计算任务。例如,在智能家居中,通用处理器可以用于控制和管理家庭设备,如灯光、空调和安全系统。    单用途处理器:这些处理器执行特定程序,如JPEG编解码器,专门用于视频信息的压缩或解压。在数字相机中,单用途