首页 学习笔记-USIM卡与终端命令详解

学习笔记-USIM卡与终端命令详解

举报
开通vip

学习笔记-USIM卡与终端命令详解ETSI TS 102 221UICC与终端接口;物理和逻辑特性 USIM-ME命令结构 本章节描述了UICC(USIM)所支持的命令和响应APDU格式。 命令APDU结构 本章节描述了一个通用的应用协议数据单元(APDU)的基本结构。APDU是指在传输层之上的应用层的数据(移动设备和卡之间)传输协议。 一个命令APDU包含数据包头和数据体。见下表,其中,数据包头包含CLA字段,INS字段,P1和P2字段,其是命令APDU的必要组成部分。数据体部分是可选部分,包括Lc,Data和Le。 表10.1: 命令APD...

学习笔记-USIM卡与终端命令详解
ETSI TS 102 221UICC与终端接口;物理和逻辑特性 USIM-ME命令结构 本章节描述了UICC(USIM)所支持的命令和响应APDU格式。 命令APDU结构 本章节描述了一个通用的应用 协议 离婚协议模板下载合伙人协议 下载渠道分销协议免费下载敬业协议下载授课协议下载 数据单元(APDU)的基本结构。APDU是指在传输层之上的应用层的数据(移动设备和卡之间)传输协议。 一个命令APDU包含数据包头和数据体。见下表,其中,数据包头包含CLA字段,INS字段,P1和P2字段,其是命令APDU的必要组成部分。数据体部分是可选部分,包括Lc,Data和Le。 表10.1: 命令APDU的内容 代码 长度 描述 类属 CLA 1 指令所属的类 包头 INS 1 指令代码 P1 1 参数1 P2 1 参数2 Lc 0 or 1 命令数据体包含的字节数 数据体 Data Lc 命令数据体 Le 0 or 1 响应数据最大字节数         对于 C-APDU 结构的四种可能组合见下表: 表10.2: C-APDU组合 组合 结构 1 CLA INS P1 P2 2 CLA INS P1 P2 Le 3 CLA INS P1 P2 Lc Data 4 CLA INS P1 P2 Lc Data Le     Class字段编码 Class类字段的最高4位(b8-b5)的含义参见下表,位4和3表示安全数据标识,位2和1表示所用的逻辑通道,逻辑通道可以从0到3。如果UICC卡支持逻辑通道机制,那么最大可获得的逻辑通道数标识在ATR的卡兼容性数据对象中,如果该数据对象不存在,则只支持b2 = b1 = 0的数据通道。 一个运行在支持逻辑通道的UICC上的应用,应该要么在消息校验中,从签名的计算中去除类字节,或者将其设置为缺省值。移动终端可以改变应用所使用的逻辑通道,与所使用的逻辑通道比较安全消息校验签名。 表 10.3: 类字节编码 b8 b7 b6 b5 b4 b3 b2 b1 值 含义 0 0 0 0 - - - - '0X' 参见 ISO/IEC78164 1 0 1 0 - - - - 'AX' 参见ISO/IEC78164,除非特殊说明。 1 0 0 0 - - - - '8X' 参见ISO/IEC78164及本文档 - - - - X X - - - 安全消息标识(参见表 10.4) - - - - - - X X - 逻辑通道号                     表 10.4: 安全消息标识编码 b4 b3 含义 0 0 在终端和卡之间不使用SM 0 1 私有SM格式 1 x 按照 ISO/IEC 7816-4使用安全管理 1 0 不鉴别命令头 1 1 鉴别命令头       缺省情况下,卡不采用安全消息,除非由应用特别指出。 指令字段编码 参见下表 表10.5: 电信应用的指令字节编码 命令 CLA INS 命令 APDUs     SELECT FILE 0X 'A4' STATUS 8X 'F2'       READ BINARY 0X 'B0' UPDATE BINARY 0X 'D6' READ RECORD 0X 'B2' UPDATE RECORD 0X 'DC'       SEARCH RECORD 0X 'A2' INCREASE 8X '32'       VERIFY 0X '20' CHANGE PIN 0X '24' DISABLE PIN 0X '26' ENABLE PIN 0X '28' UNBLOCK PIN 0X '2C'       DEACTIVATE FILE 0X '04' ACTIVATE FILE 0X '44'       AUTHENTICATE 0X '88' GET CHALLENGE 0X '84'       TERMINAL PROFILE 80 '10' ENVELOPE 80 'C2' FETCH 80 '12' TERMINAL RESPONSE 80 '14' MANAGE CHANNEL 0X '70'       传输导向 APDUs     GET RESPONSE 0X 'C0'             参数字段编码 参数字节P1和P2的使用和具体的命令有关。如果参数未被使用,则设置未'00'。具体编码方式参见具体的命令。 Lc字段的编码 该字段表示数据的长度,其为可选项。如果该字段存在,则在其后将跟着相应长度的数据字节。移动设备可以发送1到255各字节。 数据体编码 数据体的编码与具体的命令有关。参见下面章节。 Le字段的编码 该字段表示命令发送后所期望的最大返回数据长度,其为可选项。如果该字段存在,则在响应数据中应包含相应长度的数据。如果Le设置为'00',则表示移动终端期望最大256个字节的数据,则UICC可返回介于1到256之间长度的数据。 响应APDU结构 响应APDU包含一个可选的数据体和一个必须的状态字,该状态字由两个字节组成: SW1 和 SW2。数据长度由Lr指示。参见下表 表10.6: 响应APDU内容 编码 长度 描述 Data Lr 响应数据字串 SW1 1 状态字节1 SW2 1 状态字节2       UICC返回的状态字 本章节描述了由UICC返回的各种状态字 正常过程 表 10.7:状态字编码- 正常过程 SW1 SW2 描述 '90' '00' 命令正常结束 '91' 'XX' 命令正常结束,并包含UICC所返回的数据的长度,用'XX' 表示。       延迟过程 表10.8: 状态字编码- 延迟过程 SW1 SW2 错误描述 '93' '00' STK忙,当前不能执行该命令。       警告 表 10.9: 状态字编码- 警告 SW1 SW2 描述 '62' '00' 无参考信息,非易失内存没有改变 '62' '81' 部分返回数据可能损坏 '62' '82' 读取文件或 记录 混凝土 养护记录下载土方回填监理旁站记录免费下载集备记录下载集备记录下载集备记录下载 Le长度时,已经到结尾 '62' '83' 所选的文件已经无效 '63' 'CX' 在内部重试X次后,命令执行成功 - 校验失败,还有'X' 次可试(参见注释) 注释: 对于VERIFY PIN命令,SW1SW2 指示命令成功执行,但是PIN不正确,并可以重试'X' 次。对于任何其它命令,表示“在内部重试X次后,命令执行成功”       执行错误 表 10.10: 状态字编码- 执行错误 SW1 SW2 描述 '64' '00' 无参考信息,非易失内存没有改变 '65' '00' 无参考信息,非易失内存改变 '65' '81' 内存错误       检查错误 表 10.11: 状态字编码- 检查错误 SW1 SW2 描述 '67' '00' - 长度错误 '67' 'XX' 除了SW2 = '00'的情况下,该状态字与命令相关 '6B' '00' 错误的参数 P1-P2 '6D' '00' 指令字段不支持或错误 '6E' '00' 类字段不支持 '6F' '00' 技术问题,无精确诊断信息 '6F' 'XX' - 除了SW2 = '00'的情况下,该状态字与命令相关       CLA字段中的功能不支持 表10.12: 状态字编码- CLA字段中的功能不支持 SW1 SW2 描述 '68' '00' 无参考信息 '68' '81' 不支持逻辑通道 '68' '82' 不支持安全消息       命令不允许执行 表10.13: 状态字编码-命令不允许执行 SW1 SW2 描述 '69' '00' 无参考信息 '69' '81' 命令与该文件结构不兼容 '69' '82' 不满足安全条件 '69' '83' 鉴权/PIN被禁止 '69' '84' 引用的数据失效 '69' '85' 使用条件不满足 '69' '86' 命令不允许执行(没有选中EF)       错误的参数 表10.14: 状态字编码-错误的参数 SW1 SW2 描述 '6A' '80' 数据体参数不正确 '6A' '81' 功能不支持 '6A' '82' 文件没有找到 '6A' '83' 记录没有找到 '6A' '86' 参数P1-P2不正确 '6A' '87' Lc 与P1-P2不一致 '6A' '88' 引用的数据没有找到       应用错误 表10.15: 状态字编码-应用错误 SW1 SW2 错误描述 '98' '50' INCREASE 命令不能执行,已经达到最大值 '98' '62' 鉴权错误(与应用相关) 注释: 应用可以定义自己的错误代码       命令的状态字 下表表示对于每一个命令所可能返回的状态字(用*号注明)。 表10.16: 命令和状态字 Status Words SELECT STATUS UPDATE BINARY UPDATE RECORD READ BINARY READ RECORD SEARCH RECORD INCREASE VERIFY PIN CHANGE PIN DISABLE PIN ENABLE PIN UNBLOCK PIN DEACTIVATE FILE ACTIVATE FILE AUTHENTICATE GET CHALLENGE TERMINAL PROFILE ENVELOPE FETCH TERMINAL RESPONSE MANAGE CHANNEL 90 00 * * * * * * * * * * * * * * * * * * * * * * 91 XX * * * * * * * * * * * * * * * * * * * * * * 93 00                                     *       98 50               *                             98 62                               *             62 00 * * * * * * * * * * * * * * * * * * * * * * 62 81         * *                                 62 82         * * *                               62 83 *                         *                 63 CX     * *       * * * * * *                   64 00 * * * * * * * * * * * * * * * * * * * * * * 65 00     * *       * * * * * * * * *   * * * * * 65 81     * *       * * * * * *     *             67 00     * * * * * * * * * * *     *   * * * *   67 XX – (参见注释) * * * * * * * * * * * * * * * * * * * * * * 68 00 * * * * * * * * * * * * * * * * * * * * * * 68 81 * * * * * * * * * * * * * * * * * * * * * * 68 82 * * * * * * * * * * * * * * * * * * * * * * 69 81     * * * * * *                             69 82     * * * * * *         * * *             69 83                 * * * * *                   69 84     * * * * * * * * * * *     *             69 85                               *             69 86     * * * * * *           * *               6A 80             *             * *               6A 81 * * * * * * * * * * * * * * * * * * * * * * 6A 82 *   * * * * * *           * *               6A 83       *   * *                               6A 86 * * * * * * * * * * * * * * * * * * * * * * 6A 87 *                         * *               6A 88                 * * * * *     *             6B 00 * * * * * * * * * * * * * * * * * * * * * * 6E 00 * * * * * * * * * * * * * * * * * * * * * * 6F 00 * * * * * * * * * * * * * * * * * * * * * * 6F XX – (参见注释) * * * * * * * * * * * * * * * * * * * * * * 注释: 除了SW2 = '00'的情况                                               只有对支持USAT的移动终端,UICC才可以返回状态字'91 XX'和'93 00'。 逻辑通道 使用逻辑通道的命令,用CLA字段的最低两位表示逻辑通道号,范围从0到3。逻辑通道号0是永久可以获得的。 使用MANAGE CHANNEL 命令打开和关闭一个逻辑通道,逻辑通道号由UICC分配。 USIM-ME命令描述 通用命令 这里描述了应用说支持的各种命令和相应的响应状态字。如果应用不支持某个命令,则应该返回相应的状态字。 2.1.1 SELECT 功能描述 本命令用于选择一个文件,参见第8章。在命令执行成功后,记录的指针并不确定。 输入: l 文件标识符,应用标识符,路径,或空参数。 输出: l 如果选择的文件是MF,DF或者ADF: l 文件标识符,总文件尺寸,PIN的状态,PIN禁止/使用的标识,及其它应用私有数据。 l 如果选择的文件是EF: l 文件标识符,总文件尺寸,访问条件,无效/有效标识,EF的结构,记录的长度(对于线性定长文件线形定长文件和循环文件) 命令参数和数据 代码 值 CLA 参见第10章 INS 参见第10章 P1 选择控制,见下表 P2 选择控制,见下表 Lc 数据的长度或为空 Data 文件标识符,DF名称,或路径,与P1的值相关 Le 空,'00',或者期望的最大数据长度     表 11.1: P1参数配置 b8 b7 b6 b5 b4 b3 b2 b1 含义 0 0 0 0 0 0 0 0 选择 DF, EF或MF,通过文件标识符 0 0 0 0 0 0 0 1 选择当前DF的子DF 0 0 0 0 0 0 1 1 选择当前DF的父DF 0 0 0 0 0 1 0 0 通过DF名称选择应用-参见注释 0 0 0 0 1 0 0 0 以MF为起始,路径选择 0 0 0 0 1 0 0 1 以当前DF为起始,路径选择 注释:: 这里指选择应用                   表 11.2: P2参数配置 b8 b7 b6 b5 b4 b3 b2 b1 含义 - X X - - - - - 应用进程控制,参见注释2 - 0 0 - - - - - - 激活/重置 - 1 0 - - - - - - 终止 0 - - 0 0 1 0 0 要求返回 FCP 模板 0 - - 0 1 1 0 0 无数据返回 - - - - - - X X 按照AID选择 - - - - - - 0 0 - 第一次或者仅一次出现的 - - - - - - 0 1 - 最后一个找到的 - - - - - - 1 0 - 下一个 - - - - - - 1 1 - 前一个 注释1: 有无FCI的返回取决与APDU的类型。 注释2: 只适用于当P1指示按照DFNAME的方式选择。                   如果P1 = '00' 而且数据字段为空,那么P2应该被设置为'0C' (“无数据返回”),那么MF被设置为当前的目录。 为了避免歧义,当P1 = '00'时,当以文件标识符作为参数选择文件的时候,按照以下的搜索顺序进行, l 当前DF的之间子文件; l 父DF; l 父DF的直接子文件。 当P1 '04'时,P2的位 b2 和 b1 没有意义,应该设置为0。 当P1 = '04'时,一个右侧数据可截断的AID可以作为输入数据。 响应数据 字节 描述 长度 1 FCP 模板标签 = '62' 1 2 (to 3) FCP模板的长度 1 或 2 3 or 4 to Lr FCP 模板数据 X       响应的数据包含所选择文件的文件控制参数(FCP),其内容与所选择的文件有关。参见下表。终端可以忽略其不支持的标签数据。 对于MF, DF 或 ADF的响应数据 下表为对应于MF,DF,或者ADF的响应数据, 表11.3:对于MF, DF 或 ADF的响应数据 描述 标签 章节 状态 文件描述符 '82' 11.1.1.4.3 M 文件标识符 '83' 11.1.1.4.4 C1 DF 名称(AID) '84' 11.1.1.4.5 C2 专有信息 'A5' 11.1.1.4.6 C3 生存周期 '8A' 11.1.1.4.9 M 安全特性 '86', '8B', '8C' or 'AB' 11.1.1.4.7 C4 PIN状态模板DO 'C6' 11.1.1.4.10 M 总文件大小 '81' 11.1.1.4.2 O M: 必须。 O: 可选。 C1: 对于DF或MF,必选。对于ADF,可选。 C2: DF名称只对ADF是必须的。 C3: 对于MF,专有信息是必须的,对于DF/ADF,是可选的。 C4: 有,且只有一个标签必须有。         对于EF的响应数据 下表为对应于EF的响应数据, 表11.4: 对于EF的响应数据 描述 标签 章节 状态 文件描述符 '82' 11.1.1.4.3 M 文件标识符 '83' 11.1.1.4.4 M 专有信息 'A5' 11.1.1.4.6 O 身存周期 '8A' 11.1.1.4.9 M 安全特性 '86', '8B', '8C', or 'AB' 11.1.1.4.7 C1 文件大小 '80' 11.1.1.4.1 M 总文件大小 '81' 11.1.1.4.2 O 短标识符(SFI) '88' 11.1.1.4.8 O M: 必须。 O: 可选。 C1: 有,且只有一个标签必须有。         文件控制参数 文件大小 字节 描述 值 长度 1 标签 '80' 1 2 长度 '02' 1 3 to 4 文件中数据字节的长度,除去结构信息   2         文件的大小介于'0000' 和'FFFF' 之间。 对于二进制文件,其是文件数据体的长度。对于线性定长文件线形定长文件或循环文件,其是记录长度乘以记录的个数。 总文件大小 字节 描述 值 长度 1 标签 '81' 1 2 长度 X, X ≥ 2 1 3 to X+2 文件中数据字节的长度,包含结构信息   X 注释: 如果文件是EF,那么X=2。         对于EF,文件大小范围从'0000' 到'FFFF'。 对于EF,“总文件大小”代表数据的大小和结构信息。 对于DF,“总文件大小”代表所有EF文件和DF文件的“总文件大小”,再加上该DF下剩余空间的大小。该DF文件本身的结构信息不包含在内。 文件描述符 字节 描述 状态 值 长度 1 标签 M '82' 1 2 长度 M '02' 或 '05' 1 3 文件描述符(见下表) M   1 4 数据编码 M '21' 1 5 到6 记录长度 C '0001' 到 '00FF' 2 7 记录个数 C '01' 到 'FE' 1 M: 必须 C: 对于线形文件和循环文件是必须的,对其它不适用。           l 文件描述符 内容:    参见下表 表11.5:文件描述字节 b8 b7 b6 b5 b4 b3 b2 b1 含义 0 X - - - - - - 文件访问属性 0 0 - - - - - - 非共享文件 0 1 - - - - - - 共享文件 0 - X X X - - - 文件类型 0 - 0 0 0 - - - 工作EF 0 - 0 0 1 - - - 内部EF 0 - 0 1 0 - - - RFU 0 - 0 1 1 - - - 0 - 1 0 0 - - - 0 - 1 0 1 - - - 0 - 1 1 0 - - - 0 - 1 1 1 - - - DF 或 ADF 0 - - - - X X X EF结构 0 - - - - 0 0 0 无参考信息 0 - - - - 0 0 1 透明文件(二进制) 0 - - - - 0 1 0 线性定长文件线形定长文件 0 - - - - 0 1 1 RFU 0 - - - - 1 0 0 0 - - - - 1 0 1 0 - - - - 1 1 0 循环文件 0 - - - - 1 1 1 RFU 1 X X X X X X X RFU                   l 数据编码: 编码方式:    参见ISO/IEC 7816-4。移动终端应该不检查及使用该字节。 l 记录长度: 内容:    记录的长度。 编码:    记录的长度用两个字节表示。 l 记录的个数: 内容:    表示记录的个数 编码:    用一个字节标识 文件标识符 字节 描述 值 长度 1 标签 '83' 1 2 长度 '02' 1 3 to 4 文件标识符   2         DF名称 字节 描述 值 长度 1 标签 '84' 1 2 长度 1 ≤ X ≤ 16 1 3 to 2+X DF名称   X         DF名称是一个字节串,即AID,用来唯一标识归属应用的文件。 专有信息 字节 描述 长度 1 专有信息标签 = 'A5' 1 2 长度 1 3 to 2+X 专有信息,格式化的 X       专有信息的描述参见下表。 描述 标签 状态 章节 UICC 特性 '80' C1 11.1.1.4.6.1 应用电源损耗 '81' C2 11.1.1.4.6.2 最小应用时钟频率 '82' C3 11.1.1.4.6.3 可以内存大小 '83' C4 11.1.1.4.6.4 C1: UICC属性对于MF是必须的。 C2: 对于ADF是可选的。并且不适用于MF,EF和DF。 C3: 对于ADF是可选的。并且不适用于MF,EF和DF。 C4: 对于ADF,MF,DF是可选的。并且不适用于EF。         一个应用可以提供一个或多个电源损耗数据,或一个或多个最小时钟频率数据。 11.1.1.4.6.1    UICC 特性 字节 描述 值 长度 1 标签 '80' 1 2 长度 '01' 1 3 UICC 特性字节,见下表   1         表 11.6: UICC 特性字节 b8 b7 b6 b5 b4 b3 b2 b1 含义 - - - - X X - 1 时钟停止模式允许 - - - - 0 0 - 1 无优先级别 - - - - 0 1 - 1 该级别优先 - - - - 1 0 - 1 低级别优先 - - - - 1 1 - 1 RFU - - - - X X - 0 时钟停止模式不允许 - - - - 0 0 - 0 从不 - - - - 0 1 - 0 除非在高级别时 - - - - 1 0 - 0 除非在低级别时 - - - - 1 1 - 0 RFU - - - X - - - - 支持电压级别A - - X - - - - - 支持电压级别B - X - - - - - - 支持电压级别C X - - - - - X - RFU (应该被设置为 0)                   如果b1为 '1',则允许时钟停止在高级别或者低级别,在这种情况下,b3 和b4用来标识优先的级别。 如果b1为'0',时钟值允许停止在由b3 = '1' (就是说可以停止在高级别) 或者b4 = '1' (就是说可以停止在低级别)满足条件的情况下。如果所有的这三位都设置为0,那么时钟不允许停止。 所支持的电压级别见上表,如果不支持某电压级别,则编码为0。 11.1.1.4.6.2    应用电源损耗 应用的电源损耗由标签为'81' 的TLV结构说明。第一个字节表示进行电源损耗测量时所处的支持电压。该字节的编码与其在ATR中的编码相同。第二个字节指定了电源损耗,以mA为单位。第三个字节为进行损耗测量时的时钟频率。 字节 描述 值 长度 1 标签 '81' 1 2 长度 '03' 1 3 电源损耗测量时所处的电压级别   1 4 应用电源损耗 '01-3C' 1 5 参考频率 '0A'-'FF' 1         参考频率的分辨率为0,1 MHz,就是说'0A' 是1 MHz ,'FE' 为25,4 MHz。值'FF'表示没有参考频率。 11.1.1.4.6.3    最小应用时钟频率 应用的最小时钟频率由标签为'82'的TLV结构指定。该结构指定了应用所需的最小时钟频率。如果需要的话,应用可以指定一个到多个最小时钟频率。 字节 描述 值 长度 1 标签 '82' 1 2 长度 '01' 1 3 应用最小时钟频率 '0A'-'FF' 1         参考频率的分辨率为0,1 MHz,就是说'0A' 是1 MHz ,'FE' 为25,4 MHz。值'FF'表示没有参考频率。 11.1.1.4.6.4    剩余内存 在所选择的DF(及在MF下的ADF)下的可以用于创建DF或EF的内存大小。 字节 描述 值 长度 1 标签 '83' 1 2 长度 X, X>=2 1 3 to 2+X 大小   X         安全特性 紧凑模式 字节 描述 值 长度 1 标签 '8C' 1 2 长度 X 1 3 AM字节   1 X-1 SC 字节   X+2         参见ISO/IEC 7816-9。 扩展模式 字节 描述 值 长度 注释 1 标签 'AB' 1   2 长度 X-2 1   3 AM DO 标签 '8X' (参见注释1) 1 安全规则 #1 4 长度 X 1 5+X AM_DO (参见注释2) X 6+X SC_DO 标签 (参见注释2) 1 7+X 长度 Y 1 8+X+Y SC_DO (参见注释2) Y ……………………………………………… ……………………………………………… ……………………………………………… 3 AM DO标签 '8X' (参见注释1) 1 安全规则 #N 4 长度 W 1 5+W AM_DO (参见注释2) W 6+W SC_DO标签 (参见注释2) 1 7+W 长度 Z 1 8+W+Z SC_DO (参见注释2) Z 注释1: 'X'的值依赖于AM_DO 的用法,参见7816-9。 注释2: 参见ISO/IEC 7816-9。           索引到扩展模式 如果标签tag'8B'的数据长度等于'03',参见下表: 字节 描述 值 长度 1 标签 '8B' 1 2 长度 3 1 3-4 EFARR 的文件标识符   2 5 EFARR 中对应的记录数   1         如果标签tag'8B'的数据长度等于'02' + X x '02',参见下表: 字节 描述 值 长度 1 标签 '8B' 1 2 长度 '02' + X x '02' 1 3 – 4 EFARR 文件标识符   2 X+4 SEID   1 X+5 EFARR 中对应的记录数     注释:: SEID和EFARR 中对应的记录数 是成对出现的。         短标识符 字节 描述 值 长度 1 标签 '88' 1 2 长度 '00' or '01' 1 3 短标识符字节   0 或 1         如果该TLV结构不存在,那么文件的短标识符就是文件标识符的最低5位。 如果该TLV结构存在,但是为空(就是说长度为0),那么该文件不支持SFI。 如果该TLV结构存在,并且长度为1,那么SFI用短标识符字节的最高5位表示,最低3位应该设置为0。 生存周期 字节 描述 值 长度 1 标签 '8A' 1 2 长度 1 1 3 生存周期,见下表   1         表 11.7: 生存周期编码 b8 b7 B6 b5 b4 b3 b2 b1 含义 0 0 0 0 0 0 0 0 无参考信息 0 0 0 0 0 0 0 1 创建状态 0 0 0 0 0 0 1 1 初始化状态 0 0 0 0 0 1 - 1 操作状态 – 激活 0 0 0 0 0 1 - 0 操作状态 -去活 0 0 0 0 1 1 - - 终止状态 0 X X X X 专有 任何其它值 RFU                   PIN状态模板DO 该TLV结构包含了DF/ADF的状态信息,访问DF/ADF及子文件所使用的PIN等信息。参见ISO/IEC 7816-4。 字节 描述 值 长度 1 标签 'C6' 1 2 长度   1 3 PS_DO标签 '90' 1 4 长度 X 1 X+4 PS_DO   X X+5 使用限定 DO标签,参见注释2 '95' 1 X+6 长度 '01' 1 X+7 使用限定,参见ETSI 102.221   1 X+8 密钥索引标签 '83' 1 X+9 长度 '01' 1 X+10 密钥索引(PIN) 参见EFSI102.221 1 注释1: 可能有一个或多个密钥索引标签在PS_DO之后。 注释2: 该TLV结构对于密钥索引为'11'(通用PIN)是必须的,否则则为可选的。         STATUS 功能描述 该命令返回当前目录和应用的相关信息。 也可以用来指示应用的激活过程或终止过程被成功执行。 输入: l 无 输出: l 以下之一: l 当前目录的FCP。 l 当前选择应用的DFNAME TLV数据结构 l 无数据返回 命令参数 代码 值 CLA 参见 第10章 INS 参见 第10章 P1 应用状态的指示,见下表 P2 见下表 Le 空, '00',或最大的期望数据长度     表 11.8:P1参数配置 b8 b7 b6 b5 b4 b3 B2 B1 含义 0 0 0 0 0 0 0 0 无指示 0 0 0 0 0 0 0 1 当前的应用正在被初始化 0 0 0 0 0 0 1 0 终端将要终止当前应用                   表 11.9: P2参数配置 b8 b7 b6 b5 b4 b3 b2 b1 含义 0 0 0 0 0 0 0 0 与SELECT 命令相同 0 0 0 0 0 0 0 1 返回当前选择应用的DFNAME TLV 0 0 0 0 1 1 0 0 无数据返回. 任意其它值 RFU.                   READ BINARY 功能描述 该命令用于读取一个二进制文件的内容。只有在对文件有READ权限时,才能执行该命令。 输入: l 地址和长度 输出: l 数据输出 命令参数 代码 值 CLA 参见第10章 INS 参见第10章 P1 见下表 P2 偏移量低字节 Lc 无 Data 无 Le 读取数据长度     表 11.10: P1参数配置 b8 B7 B6 b5 b4 b3 b2 b1 含义 0 X X X X X X X b7-b1 是要读取数据的偏移量 – P2 是该偏移量的低字节 1 0 0 X X X X X 使用了SFI ,b1-b5既是SFI 。P2 是偏移量。                   响应数据: 字节 描述 长度 1 – Le 数据 Le       UPDATE BINARY 功能描述 该命令用字节串更新一个二进制文件。只有在对文件有UPDATE权限时,才能执行该操作。 输入: 地址和数据长度 数据 输出: 无 命令参数和数据 代码 值 CLA 参见第10章 INS 参见第10章 P1 参见表 P2 偏移量低字节 Lc 数据长度 Data 更新数据 Le 无         参数P1 和P2 与READ BINARY命令相同。 READ RECORD 功能描述 该命令从一个线性定长文件线形定长文件或循环文件中读取一个完整的记录。只有对该文件有READ权限的时候才能进行该操作。如果读取操作失败,记录的指针不应该改变。有四种文件的读取模式: CURRENT:    读取当前记录,记录指针没有改变。 ABSOLUTE:    记录的绝对位置,记录的指针没有改变。 NEXT:    在执行READ RECORD命令之前,先增加记录指针,然后再读取该记录。如果该指针在以前没有被设置过,则在执行该命令时,读取第一个记录,并将指针设置为当前记录。 如果指针已经是文件(线性定长文件线形定长文件)的最后一条记录,则该命令不能改变指针,而且无数据返回。 如果指针已经是文件(循环文件)的最后一条记录,则该命令设置第一条记录为当前记录,并读取该记录。 PREVIOUS:    在执行READ RECORD命令之前,先将记录指针减一,然后再读取该记录。如果该指针在以前没有被设置过,则在执行该命令时,读取最后一个记录,并将指针设置为当前记录。 如果指针已经是文件(线性定长文件线形定长文件)的第一条记录,则该命令不能改变指针,而且无数据返回。 如果指针已经是文件(循环文件)的第一条记录,则该命令设置最后一条记录为当前记录,并读取该记录。 输入: l 读取模式,记录数(只对于绝对模式适用),以及数据的长度。 输出: l 记录的数据 命令参数 代码 值 CLA 参见第10章 INS 参见第10章 P1 记录号 P2 读取模式,见下表 Lc 无 Data 无 Le 所要读取的数据长度     表 11.11:P2参数配置 b8 b7 B6 b5 b4 b3 b2 b1 含义 0 0 0 0 0 - - - 当前选择的 EF X X X X X - - - 简短文件标识符(从1 到 30) - - - - - 0 1 0 下一个记录 - - - - - 0 1 1 前一个记录 - - - - - 1 0 0 绝对/当前 , 记录数见P1,如果P1='00' 则指当前记录                   对于“下一个记录”和“前一个记录”模式,P1没有意义,由终端设置为'00' 。 响应数据: 字节 描述 长度 1 – Le 读取的数据 Le       UPDATE RECORD 功能描述 该命令在一个线性定长文件线形定长文件或循环文件中更新一个完整的记录。只有对该文件有UPDATE权限的时候才能进行该操作。如果更新操作失败,记录的指针不应该改变。有四种文件的更新模式(循环文件只允许PREVIOUS模式): CURRENT:    更新当前记录,记录指针没有改变。 ABSOLUTE:    记录的绝对位置,记录的指针没有改变。 NEXT:    在执行UPDATE RECORD命令之前,先增加记录指针,然后该记录。如果该指针在以前没有被设置过,则在执行该命令时,更新第一个记录,并将指针设置为当前记录。 如果指针已经是文件(线性定长文件线形定长文件)的最后一条记录,则该命令不能改变指针,而且无数据返回。 如果指针已经是文件(循环文件)的最后一条记录,则该命令设置第一条记录为当前记录,并读取该记录。 PREVIOUS:    在执行UPDATE RECORD命令之前,先将记录指针减一,然后该指针的记录。如果该指针在以前没有被设置过,则在执行该命令时,更新最后一个记录,并将指针设置为当前记录。 如果指针已经是文件(线性定长文件线形定长文件)的第一条记录,则该命令不能改变指针,而且无数据返回。 如果指针已经是文件(循环文件)的第一条记录,则该命令设置最后一条记录为当前记录,并更新该记录。 对于循环文件种最旧的记录的更新,指针设置为当前记录,并为1。 输入: l 模式,记录数(仅对据对模式适用),和记录的长度。 l 更新数据 输出: l 无 命令参数和数据 代码 值 CLA 参见第10章 INS 参见第10章 P1 记录号 P2 模式,参见表 Lc 数据的长度 Data 数据 Le 无     参数P2与READ RECORD命令中的相同。 对于“下一个记录”和“前一个记录”模式,P1没有意义,由终端设置为'00' 。为保证向后兼容,UICC不应该解释P1的值。 SEARCH RECORD 功能描述 该功能在一个线性定长文件线形定长文件或循环文件中,搜索一个特定的内容。只有在对该文件有READ权限的时候,才能执行该操作。搜索的方式有: l 在记录的第一个字节(简单搜索) l 从给定的记录偏移量开始 l 从记录中第一次找到的特定字节开始 响应数据中要么为空,要么包含不超过Le指定数量的符合搜索条件的记录数。如果找到多个符合条件的记录,那么记录的指针设置为第一个符合条件的记录指针。 输入: l 搜索模式(简单/增强) l 偏移量 l 搜索目标。 输出: l 为空,如果Le为空,或者没有找到符合条件的记录 l 不超过有Le指定的符合条件的记录数。 命令参数和数据 代码 值 CLA 参见第10章 INS 参见第10章 P1 记录数('00' 指当前记录) P2 见下表 Lc 数据长度 Data -简单搜索:搜索字串 -增强搜索:搜索指示(2个字节)和搜索字串 -专有搜索:专有数据 Le 空或最大长度数据     表11.12: P2参数配置 b8 b7 B6 b5 B4 b3 b2 b1 含义 0 0 0 0 0 - - - 当前算则的EF X X X X X - - - 简短文件标识 1 1 1 1 1 - - - RFU - - - - - 0 X X RFU – (参见注释) - - - - - 1 0 X 简短搜索。P1为记录数 - - - - - 1 0 0 从P1指定的记录向前搜索。 - - - - - 1 0 1 从P1指定的记录向后搜索。 - - - - - 1 1 0 增前搜索– 见下表 - - - - - 1 1 1 专有搜索 注释:ISO/IEC 7816-9 保留                   表 11.13: 增强搜索中的搜索指示的编码 b8 b7 b6 b5 b4 b3 b2 B1 含义 0 0 0 0 0 - - - 搜索从由搜索指示的第2个字节指明的记录数开始 0 0 0 0 1 - - - 搜索从第一次找到的由搜索指示的第2个字节指定的字节的记录开始 - - - - - 0 X X RFU – (参见注释) - - - - - 1 X X P1为记录数 - - - - - 1 0 0 从P1指定的记录向前搜索。 - - - - - 1 0 1 从P1指定的记录向后搜索。 - - - - - 1 1 0 从下一个记录向前搜索 - - - - - 1 1 1 从前一个记录向后搜索 任意其它值 RFU                   注释:    ISO/IEC 7816-9保留   响应数据: 字节 描述 长度 0 – Le 记录数 Le 注释: 如果Le为空,则表示无记录数需返回。       INCREASE 功能描述 该命令将由终端设备提供的值与当前循环文件中最近增加/更新的记录中的值相加,并保存到最旧的记录中。只有在对该文件有INCREASE权限的时候,才能执行该操作。INCREASE 权限在访问条件中用AM_DO标签 '84'指明。 输入: l 要增加的值. 输出: l 增加后的记录的值 l 已经增加的值 命令参数和数据 代码 值 CLA 参见第10章 INS 参见第10章 P1 见下表 P2 '00' Lc 数据长度 Data 要增加的值 Le 响应数据长度     表 11.14: P1参数配置 b8 b7 b6 b5 b4 b3 b2 b1 含义 0 0 0 0 0 0 0 0 增加当前选择的EF 1 0 0 X X X X X 使用简短文件标识符 注释: 所有其它值保留                   在这个命令中,Lc值应该0 < Lc < 128 以及最大的记录长度限制为127个字节。 响应数据: 字节 描述 长度 1 – X 增加记录的值 X X+1 – X+Lc 被增加的值 Lc 注释: X 指记录的长度       VERIFY PIN 功能描述 该命令用于校验用户输入的PIN是否与UICC中存储的PIN相同。校验的过程以满足下列条件为前提: l PIN没有被禁止 l PIN没有被阻塞 如果对某文件的访问条件是校验PIN,那么除非PIN是被禁止的,否则必须先要校验PIN。 如果校验PIN是正确的,剩余校验PIN次数应该设置为初始值3。 如果校验PIN是错误的,剩余校验PIN次数应该减一,而不考虑究竟在哪个逻辑通道上。当第一次PIN校验失败后,UICC应该返回SW1SW2=’63C2’。当连续两次PIN校验失败后,UICC应该返回SW1SW2=’63C1’。在连续三次校验失败之后,该PIN应该被设置为阻塞,并返回状态字SW1 SW2 = '63C0'。任何这以后的校验PIN都应该返回状态字SW1 SW2 = '6983'。只有在UNBLOCK PIN命令成功执行后,才可以重新获得访问条件。 输入: l PIN标识或为空。 输出: l 无 重试次数值 该值指示了还有几次剩余的校验尝试。可以从下列方法获得: l 在VERIFY 命令中的P2指示要获取那个PIN的剩余次数 (状态字 SW1, SW2 '63CX' ,其中X表示剩余次数)。 l 在一次失败的校验之后,并且PIN并没有被阻塞的情况下,UICC返回的状态字中SW1, SW2 中('63CX' 中的X表示剩余的校验次数)。 命令参数 代码 值 CLA 参见第10章 INS 参见第10章 P1 '00'. P2 参见下表 Lc 数据长度= '00' 或 '08'. Data PIN 值 Le 无     表11.15:P2参数配置 b8 b7 b6 b5 b4 b3 b2 b1 含义 0 0 0 0 0 0 0 0 不支持 0 - - - - - - - 全局参考数据 1 - - - - - - - 特定参考数据 - X X - - - - - '00' (其它值保留) - - - X X X X X 参考数据号('01' 到 '1F')                   命令数据: 字节 描述 长度 1 8 PIN 值 8       CHANGE PIN 功能描述 该命令用于先进行用户输入PIN的校验,然后有条件的用新的PIN 替换UICC中已经存在的PIN。一旦在一个逻辑通道中成功的更改了PIN值,那么该新的PIN值在所有的逻辑通道中立即生效。 该功能赋予一个新的PIN值,应以下列条件位前提: l PIN没有被禁止; l PIN没有被阻塞。 如果旧的PIN值校验正确,那么剩余的PIN校验次数要被重置到初始值3,新的PIN值变为合法值。 如果旧的PIN值校验错误,那么剩余的PIN的校验次数要减一,PIN值保持不变。如果连续三次校验都失败,那么该PIN值被阻塞。之后所有的文件访问都被禁止,直到正确执行UNBLOCK PIN 命令后。 输入: l PIN的标识, 旧的PIN, 新的PIN。 输出: l 无 命令参数 代码 值 CLA 参见第10章 INS 参见第10章 P1 '00'. P2 与命令VERIFY PIN相同 Lc 数据长度= '10'. Data 旧的PIN 值value,新的PIN值 Le 无     注意:"Change PIN"在ISO/IEC 7816-8中叫做“交换索引数据”。 字节 描述 长度 1 – 8 旧的PIN值 8 9 – 16 新的PIN 值 8       DISABLE PIN 功能描述 该命令用于禁止PIN的校验,该命令还可以用于是否使用别的全局密钥索引。 在成功执行该命令后,UICC应该对SE进行一次校验,因为当前的SE可能已经改变。 在成功执行该命令后,所有由PIN来保护的文件现在变成了就好像它们 的访问权限变成了"总是",除非别的全局密钥索引替换了PIN。 如果PIN的校验是正确的,那么剩余的PIN校验次数应该被重置为初始值3,接着PIN被禁止。 如果PIN的校验是错误的,那么剩余的PIN校验次数应该减一,并且PIN的状态保持不变。如果连续三次校验都失败,那么该PIN值被阻塞。之后所有的文件访问都被禁止,直到正确执行UNBLOCK PIN 命令后。 输入: l PIN. 输出: l 无 命令参数 代码 值 CLA 参见第10章 INS 参见第10章 P1 参见下笔 P2 与命令VERIFY PIN相同 Lc 数据长度= '08'. Data PIN的值. Le 无     表 11.16:P1参数配置 b8 b7 b6 b5 b4 b3 b2 b1 含义 0 0 0 0 0 0 0 0 校验数据在数据体 0 0 0 0 0 0 0 1 ISO/IEC 7816-8 保留 1 - - - - - - - 存在校验数据,参考值代替 - X X - - - - - '00' (其它值RFU) - - - X X X X X 全局密钥索引数据 ('01' to '1F')                   命令数据: 字节 描述 长度 1 8 PIN值 8       ENABLE PIN 功能描述 该命令用于开启使用PIN校验,其是DISABLE PIN的反向功能。 在成功执行该命令后,UICC应该对SE进行一次校验,因为当前的SE可能已经改变。 如果旧的PIN值校验正确,那么剩余的PIN校验次数要被重置到初始值3,新的PIN值变为合法值。 如果旧的PIN值校验错误,那么剩余的PIN的校验次数要减一,PIN值保持不变。如果连续三次校验都失败,那么该PIN值被阻塞,并可选的设置为“使用PIN校验”,之后所有的文件访问都被禁止,直到正确执行UNBLOCK PIN 命令后。 输入: l PIN. 输出 l 无 命令参数 代码 值 CLA 参考第10章 INS 参考第10章 P1 '00'. P2 与命令VERIFY PIN相同 Lc 数据长度= '08'. Data PIN 值. Le 无     命令数据: 字节 描述 长度 1 8 PIN值 8       UNBLOCK PIN 功能描述 该功能用于重置PIN的重试次数到初始值,并有条件的设置一个新的PIN值。 如果命令UNBLOCK PIN 输入的PIN值是正确的,那么PIN的初始值设置为10,被解缩的PIN的初始值设置为3。 如果命令UNBLOCK PIN输入的PIN值是错误的那么该PIN的重试次数应该减一,并且在重试10次失败之后,该PIN值应该被锁定,UICC返回状态字SW1 SW2 = '63C0',任何UNBLOCK命令都会返回状态字SW1 SW2 = '6983。 输入: l PIN的标识, UNBLOCK PIN的PIN值 和新的PIN值或为空 输出: l 无。 重试次数值 可重试的次数: l 在 UNBLOCK PIN 命令的P2参数中指定,在返回的数据中SW1, SW2 ='63CX', 其中X 就是允许的重试次数。 l 对于任何一次失败的UNBLOCK PIN 命令,在返回的数据中SW1, SW2 ='63CX', 其中X 就是允许的重试次数。 命令参数 代码 值 CLA 参见第10章 INS 参见第10章 P1 '00'. P2 与命令VERIFY PIN相同 Lc 数据长度= '00' 或'10'. Data UNBLOCK PIN值,新的PIN值 Le 无     命令数据: 字节 描述 长度 1 8 UNBLOCK PIN 值 8 9 16 新的PIN值 8       DEACTIVATE FILE 功能描述 该功能用于禁止一个EF文件。在执行该命令后,文件属性的LCSI_DO数据要相应的改变。只有在对该文件有DEACTIVATE FILE 权限时,才能执行该操作。 一个被禁止的文件不能被任何命令访问,除了SELECT 和ACTIVATE FILE命令。 输入: l 文件标识符,路径或空。 输出: l 空 命令参数 代码 值 CLA 参见第10章 INS 参见第10章 P1 选择控制,参见下表. P2 00 Lc 数据长度或为空 Data 文件标识符或路径 Le 无     表11.17: P1参数配置 b8 b7 b6 b5 b4 b3 b2 b1 含义 0 0 0 0 0 0 0 0 通过文件标识符选择 0 0 0 0 1 0 0 0 以MF为起始按路径选择 0 0 0 0 1 0 0 1 以当前DF为起始按路径选择 所有其它值保留                   如果P1 = P2 = '00' 而且数据体为空,那么该命令应用到当前EF。 ACTIVATE FILE 功能描述 该功能用于激活一个EF文件。在执行该命令后,文件属性的LCSI_DO数据要相应的改变。只有在对该文件有ACTIVATE FILE 权限时,才能执行该操作。 输入: l 文件标识符,路径或空。 输出: l 空 命令参数和数据 代码 值 CLA 参见第10章 INS 参见第10章 P1 与DEACTIVATE命令相同 P2 00 Lc 数据长度或空 Data 文件标识符,路径 Le 无     如果P1 = P2 = '00' 而且数据体为空,那么该命令应用到当前EF。 AUTHENTICATE 功能描述 该功能用于网络和USIM之间的鉴权过程。并且能生成相应的CK和IK。该命令使用保存在USIM中K进行计算。 该命令只与USIM相关,除非USIM应用已经被选择和激活,并且当前目录为USIM ADF或其子目录,并且相应的PIN被正确校验,否则该命令不能执行。 该命令可以被用于两种安全环境: l 3G安全环境:3G的鉴权参数 (RAND, CK, IK, AUTN) 是可以获得的(就是说用户设备位于UTRAN中,或者GSM的无线网接入到与3G兼容的或2G的VLR/SGSN中)。 l GSM安全环境:只有GSM的鉴权参数可以获得(就是说用户设备位于GSM无线网中,并接入到非3G的VLR/SGSN中) 3G 安全环境 USIM首先计算匿名密钥AK = f5K (RAND) ,然后得到SQN = (SQN AK) AK。 然后USIM计算XMAC = f1K (SQN || RAND || AMF),并比较其是否与在AUTN中的MAC值相同。如果值不同,则鉴权过程终止。 然后USIM检查是否是否符合要求。参见TS 33.102。 如果USIM检查到序列号非法,这被认做是同步失败,USIM终止鉴权过程。在这种情况下,返回的数据为AUTS。 如果序列号在正确的范围内。USIM计算RES = f2K (RAND),CK = f3K (RAND)和IK = f4K (RAND) ,并将其发送会终端。 如果服务n°27 是 "可获得的",USIM计算GSM的响应参数KC。 输入: l RAND, AUTN (AUTN := SQN AK || AMF || MAC). 输出: l RES, CK, IK(如果服务n°27 是 "不可获得") 或者 l RES, CK, IK, KC (如果服务n°27 是 "可获得") 或着 l AUTS. GSM 安全环境 如果服务n°38 是“可以获得的”,USIM按照GSM的安全环境鉴权。 USIM计算RES = f2K (RAND), CK = f3K (RAND) 和IK = f4K (RAND)。然后USIM计算GSM的响应数据SRES 和KC。 输入: l RAND. 输出: l SRES; KC. 命令参数和数据 代码 值 CLA 参见第10章 INS '88' P1 '00' P2 见下表 Lc 见下表 Data 见下表 Le '00',或最大数据长度     P2 编码 b8-b1 含义 '1-------' 特定的索引数据(例如,与 DF/应用相关的密钥) '-XXXXXX-' '000000' '-------X' 鉴权的安全环境: 0 GSM 安全环境 1 3G 安全环境     所有其它值保留。 命令参数和数据 字节 描述 长度 1 RAND的长度 (L1) 1 2 to (L1+1) RAND L1 (L1+2) AUTN的长度 (L2) (见注释) 1 (L1+3) to (L1+L2+2) AUTN (见注释) L2 注释:只有在3G安全环境中才有效。       响应数据:3G安全环境,命令执行成功 字节 描述 长度 1 "成功执行3G鉴权" 标签 = 'DB' 1 2 RES长度 (L3) 1 3 to (L3+2) RES L3 (L3+3) CK长度 (L4) 1 (L3+4) to (L3+L4+3) CK L4 (L3+L4+4) IK长度 (L5) 1 (L3+L4+5) to (L3+L4+L5+4) IK L5 (L3+L4+L5+5) KC 长度(= 8) (见注释) 1 (L3+L4+L5+6 to (L3+L4+L5+13) KC (见注释) 8 注释: 只有在服务n°27 是 "可获得的"时,才存在。       响应数据:3G安全环境,同步失败 字节 藐视 长度 1 "同步失败" 标签 = 'DC' 1 2 AUTS长度 (L1) 1 3 to (L1+2) AUTS L1       响应数据:GSM安全环境,命令执行成功 字节 描述 长度 1 SRES的长度 (= 4) 1 2 to 5 SRES 4 6 KC 的长度(= 8) 1 7 to 14 KC 8       返回状态字 安全管理 SW1 SW2 错误描述 '98' '62' 鉴权错误,不正确的MAC '98' '64 鉴权错误,不支持GSM安全环境       命令的状态字 命令的状态字 Status Words AUTHENTICATE 90 00 * 91 XX * 93 00   98 50   98 62 * 98 64 * 62 00 * 62 81   62 82   62 83   63 CX   64 00 * 65 00 * 65 81 * 67 00 * 67 XX – (see note) * 68 00 * 68 81 * 68 82 * 69 81   69 82 * 69 83   69 84 * 69 85 * 69 86   6A 80   6A 81 * 6A 82   6A 83   6A 86 * 6A 87   6A 88 * 6B 00 * 6E 00 * 6F 00 * 6F XX – (see note) * NOTE: Except SW2 = '00'.     MANAGE CHANNEL 功能描述 该命令打开或者关闭一个路径通道。打开功能打开一个非基本通道“0”的逻辑通道。UICC负责分配逻辑通道号。关闭通道功能关闭一个逻辑通道。一个被成功关闭的逻辑通道可以被重新分配。逻辑通道0总是可以获得的,并且不可被关闭。 输入: l 无. 输出: l 无 l 由UICC分配的逻辑通道号 命令参数和数据 代码 值 CLA 参见第10章 INS 参见第10章 P1 逻辑通道操作代码,见下表 P2 见下表 Lc 无 Data 无 Le 无或期望的数据长度     表 11.19: P1参数配置 b8 b7 b6 b5 b4 b3 b2 b1 含义 0 0 0 0 0 0 0 0 打开逻辑通道 1 0 0 0 0 0 0 0 关闭逻辑通道 注释: 其它所有值保留                   表 11.20: P2参数配置 b8 b7 b6 b5 b4 b3 b2 b1 含义 0 0 0 0 0 0 0 0 如果P1='00': UICC内部分配逻辑通道号 如果P1≠'00': 保留 0 0 0 0 0 0 0 1 逻辑通道号1 0 0 0 0 0 0 1 0 逻辑通道号2 0 0 0 0 0 0 1 1 逻辑通道号3 注释1: 所有其它值保留 注释2: 值'01', '02', '03'只适用于P1='80'时                   响应数据: 字节 描述 长度 1 逻辑通道号 1       只有在P1-P2的值是'0000'时才有返回数据。 GET CHALLENGE (R4) 功能描述 该功能用于产生一个随机数,该随机数与在GET CHANLLENGE的CLA中定义的逻辑通道有关。返回的随机数的最大长度由Le指定。 由此命令生成的随机数的质量是有应用程序来决定的,并不在本 规范 编程规范下载gsp规范下载钢格栅规范下载警徽规范下载建设厅规范下载 定义的范围内。 生成的随机数会被UICC中的应用程序来内部使用。如果应用程序没有特殊指定,随机数的有效性至少应持续到在同一逻辑通道的GET CHANLLENGE的下一个命令。引用的随机数通常是所引用命令的CLA指定的逻辑通道中产生的最新的随机数。 输入: l 无 输出: l 随机数. 命令参数和数据 代码 值 CLA 参见第10章 INS 参见第10章 P1 '00' P2 '00' Lc 无 Data 无 Le 最大数据长度     响应数据: 字节 描述 长度 1 – Lr 随机数 Lr       USAT命令 TERMINAL PROFILE 功能描述 该功能将终端所支持的USAT兼容性信息传递给UICC上的应用。 输入: l 终端配置 输出: l 无 命令参数和数据 代码 值 CLA 参见第10章 INS 参见第10章 P1 '00'. P2 '00'. Lc 数据长度 Data 参见TS131111。 Le 无     ENVELOPE 功能描述 该功能用于从用户终端传输USAT信息到UICC。 输入: l 参见TS 131 111。 输出: l 参见TS 131 111。 命令参数和数据 代码 值 CLA 参见第10章 INS 参见第10章 P1 '00'. P2 '00'. Lc 数据长度 Data 参见131111。 Le 空或期望的最大数据长度     响应数据: l 参见TS 131 111。 FETCH 功能描述 该功能用于从UICC传输一个USAT命令到移动终端。 输入: l 无 输出: l 一个USAT命令。 命令参数和数据 代码 值 CLA 参见第10章 INS 参见第10章 P1 '00'. P2 '00'. Lc 无 Data 无 Le 期望数据的长度     响应数据: l 参见TS 131 111。 TERMINAL RESPONSE 功能描述 该功能用于从终端传输响应数据到UICC。 输入: l 响应数据 输出 l 无 命令参数和数据 代码 值 CLA 参见第10章 INS 参见第10章 P1 '00'. P2 '00'. Lc 数据长度 Data 参见TS131111。 Le 期望数据的长度     传输相关的命令 本条列出了所有与传输有关的命令,目前这样的命令只有一条。 T=0 相关的命令 GET RESPONSE 功能描述 该命令用于传输卡到终端的APDU,因为它不能通过协议层传输。 响应数据取决于此前执行的命令,是否有返回数据见于控制字节(参见表7.1)或状态字节(参见表7.2)。 GET RESPONSE 应在相关命令后立即执行(中间不能有其他命令),如果不这样,被选择的应用在执行GET RESPONSE后将返回如下信息:“技术错误,无准确诊断”。 响应的数据在相应命令的条款中定义。 命令参数 表12.1: GET RESPONSE参数 编码 值 CLA 参见10.1.1 INS 参见10.1.2 P1 '00' P2 '00' Lc 无 Data 无 Le '00' 或之前命令的SW2值     响应参数和数据: 响应的数据在相应命令的条款中定义。 注:对于GSM终端,由于在UICC激活后会隐含选择MF,所以允许GET RESPONSE作为激活后的首条命令。3G 终端则应发送SELECT MF或 带FCP的STATUS命令。 独立于应用的文件 EFDIR EFDIR是一个MF下的线性定长文件,由发卡商控制。 表13.1: MF层的EFDIR 标识符: '2F00' 类型: 线性定长 必选 SFI: 必选   记录长度: X 字节 更新频率: 低 访问条件: READ ALW UPDATE ADM DEACTIVATE ADM ACTIVATE ADM 字节 描述 M/O 长度 1 - X 应用TLV对象模版 M X 字节               该文件包括一个或多个纪录,每个记录可以控制一个入口。每一个EFDIR的入口都是一个数据对象(DO)模版,遵循ISO/IEC 7816-5规定。一个DO模版应用是一个构建好的BER-TLV对象,最大长度为127字节,包含必选的AID DO。在先由文件范围内,所有其它的DO都是可选项。 在表13.2中列出了现有文档中必选的DO和可选的DO的特殊意思。所有其它的DO遵循ISO/IEC7816-5。 表13.2: 一个应用模版入口的编码 长度 描述 状态 1 应用模版标签 = '61' M 1 应用模版长度= '03'-'7F' M 1 应用标识标签 = '4F' M 1 AID 长度= '01'-'10' M '01' - '10' AID 值. 3G应用参见TS131110 M 1 应用标识= '50' O 1 应用标识长度 O see note 1 应用标识值 O 备注: 应用标签是一个数据对象,它包括应用提供商给用户的信息例如运营商名称。应用标签的值的部分要遵从附件A进行编码。在 ISO/IEC 7816-5中应用标签最长为16字节,现有文档推荐不超过32字节。 备注 2: 据应用提供商判断,其他符合ISO/IEC 7816-5的数据对象也可以推荐。      
本文档为【学习笔记-USIM卡与终端命令详解】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_624976
暂无简介~
格式:doc
大小:755KB
软件:Word
页数:66
分类:互联网
上传时间:2019-01-27
浏览量:95