学习笔记usim卡与终端命令详解_第1页
学习笔记usim卡与终端命令详解_第2页
学习笔记usim卡与终端命令详解_第3页
学习笔记usim卡与终端命令详解_第4页
学习笔记usim卡与终端命令详解_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、etsi ts 102 221uicc 与终端接口;物理和逻辑特性与终端接口;物理和逻辑特性 1 usim-meusim-me 命令结构命令结构 本章节描述了 uicc(usim)所支持的命令和响应 apdu 格式。 1.1 命令命令apduapdu结构结构 本章节描述了一个通用的应用协议数据单元(apdu)的基本结构。apdu 是指在传输层 之上的应用层的数据(移动设备和卡之间)传输协议。 一个命令 apdu 包含数据包头和数据体。见下表,其中,数据包头包含 cla 字段,ins 字段,p1 和 p2 字段,其是命令 apdu 的必要组成部分。数据体部分是可选部分,包括 lc,data 和

2、le。 表 10.1: 命令 apdu 的内容 代码长度描述类属 cla1指令所属的类 ins1指令代码 p11参数 1 p21参数 2 包头 lc0 or 1 命令数据体包含的字节数 datalc命令数据体 le0 or 1响应数据最大字节数 数据体 对于 c-apdu 结构的四种可能组合见下表: 表 10.2: c-apdu 组合 组合结构 1cla ins p1 p2 2cla ins p1 p2 le 3cla ins p1 p2 lc data 4cla ins p1 p2 lc data le 2.1.1 classclass字段编码字段编码 class 类字段的最高 4 位(b8

3、-b5)的含义参见下表,位 4 和 3 表示安全数据标识,位 2 和 1 表示所用的逻辑通道,逻辑通道可以从 0 到 3。如果 uicc 卡支持逻辑通道机制,那 么最大可获得的逻辑通道数标识在 atr 的卡兼容性数据对象中,如果该数据对象不存在, 则只支持 b2 = b1 = 0 的数据通道。 一个运行在支持逻辑通道的 uicc 上的应用,应该要么在消息校验中,从签名的计算中 去除类字节,或者将其设置为缺省值。移动终端可以改变应用所使用的逻辑通道,与所使 用的逻辑通道比较安全消息校验签名。 表 10.3: 类字节编码 b8b7b6b5b4b3b2b1值含义 0000-0x参见 iso/iec

4、7816-4 1010-ax参见 iso/iec 7816-4,除非特殊说明。 1000-8x参见 iso/iec 7816-4 及本文档 -xx-安全消息标识(参见表 10.4) -xx-逻辑通道号 表 10.4: 安全消息标识编码 b4b3含义 00在终端和卡之间不使用 sm 01私有 sm 格式 1x按照 iso/iec 7816-4 使用安全管理 10不鉴别命令头 11鉴别命令头 缺省情况下,卡不采用安全消息,除非由应用特别指出。 2.1.2 指令字段编码指令字段编码 参见下表 表 10.5: 电信应用的指令字节编码 命令命令 clacla insins 命令命令 apdusapdus

5、 select file0xa4 status8xf2 read binary0xb0 update binary0xd6 read record0xb2 update record0xdc search record0xa2 increase8x32 verify0x20 change pin0x24 disable pin0x26 enable pin0x28 unblock pin0x2c deactivate file0x04 activate file0x44 authenticate0x88 get challenge0x84 terminal profile8010 envelo

6、pe80c2 fetch8012 terminal response8014 manage channel0x70 传输导向传输导向 apdusapdus get response0xc0 2.1.3 参数字段编码参数字段编码 参数字节 p1 和 p2 的使用和具体的命令有关。如果参数未被使用,则设置未00。具 体编码方式参见具体的命令。 2.1.4 lclc字段的编码字段的编码 该字段表示数据的长度,其为可选项。如果该字段存在,则在其后将跟着相应长度的 数据字节。移动设备可以发送 1 到 255 各字节。 2.1.5 数据体编码数据体编码 数据体的编码与具体的命令有关。参见下面章节。 2.1

7、.6 lele字段的编码字段的编码 该字段表示命令发送后所期望的最大返回数据长度,其为可选项。如果该字段存在, 则在响应数据中应包含相应长度的数据。如果 le 设置为00,则表示移动终端期望最大 256 个字节的数据,则 uicc 可返回介于 1 到 256 之间长度的数据。 1.2 响应响应apduapdu结构结构 响应 apdu 包含一个可选的数据体和一个必须的状态字,该状态字由两个字节组成: sw1 和 sw2。数据长度由 lr 指示。参见下表 表 10.6: 响应 apdu 内容 编码长度描述 datalr响应数据字串 sw11状态字节 1 sw21状态字节 2 2.1.7 uiccu

8、icc返回的状态字返回的状态字 本章节描述了由 uicc 返回的各种状态字 2.1.7.1 正常过程正常过程 表表 10.710.7:状态字编码:状态字编码- - 正常过程正常过程 sw1sw1sw2sw2 描述描述 9000 -命令正常结束 91xx -命令正常结束,并包含 uicc 所返回的数据的长度,用 xx 表示。 2.1.7.2 延迟过程延迟过程 表表10.8:10.8: 状态字编码状态字编码- - 延迟过程延迟过程 sw1sw1sw2sw2 错误描述错误描述 9300 -stk 忙,当前不能执行该命令。 2.1.7.3 警告警告 表表 10.9:10.9: 状态字编码状态字编码-

9、- 警告警告 sw1sw1sw2sw2 描述描述 6200 -无参考信息,非易失内存没有改变 6281 -部分返回数据可能损坏 6282 -读取文件或记录 le 长度时,已经到结尾 6283 -所选的文件已经无效 63cx -在内部重试 x 次后,命令执行成功 -校验失败,还有x 次可试(参见注释) 注释:对于 verify pin 命令,sw1sw2 指示命令成功执行,但是 pin 不正确, 并可以重试x 次。对于任何其它命令,表示“在内部重试 x 次后,命令执行 成功” 2.1.7.4 执行错误执行错误 表表 10.10:10.10: 状态字编码状态字编码- - 执行错误执行错误 sw1s

10、w1sw2sw2 描述描述 6400 -无参考信息,非易失内存没有改变 6500 -无参考信息,非易失内存改变 6581 -内存错误 2.1.7.5 检查错误检查错误 表表 10.11:10.11: 状态字编码状态字编码- - 检查错误检查错误 sw1sw1sw2sw2 描述描述 6700 -长度错误 67xx -除了 sw2 = 00的情况下,该状态字与命令相关 6b00 -错误的参数 p1-p2 6d00 -指令字段不支持或错误 6e00 -类字段不支持 6f00 -技术问题,无精确诊断信息 6fxx -除了 sw2 = 00的情况下,该状态字与命令相关 2.1.7.5.1 clacla字

11、段中的功能不支持字段中的功能不支持 表表10.12:10.12: 状态字编码状态字编码- - clacla字段中的功能不支持字段中的功能不支持 sw1sw1sw2sw2 描述描述 6800 -无参考信息 6881 -不支持逻辑通道 6882 -不支持安全消息 2.1.7.5.2 命令不允许执行命令不允许执行 表表10.13:10.13: 状态字编码状态字编码- -命令不允许执行命令不允许执行 sw1sw1sw2sw2 描述描述 6900 -无参考信息 6981 -命令与该文件结构不兼容 6982 -不满足安全条件 6983 -鉴权/pin 被禁止 6984 -引用的数据失效 6985 -使用条

12、件不满足 6986 -命令不允许执行(没有选中 ef) 2.1.7.5.3 错误的参数错误的参数 表表10.14:10.14: 状态字编码状态字编码- -错误的参数错误的参数 sw1sw1sw2sw2 描述描述 6a80 -数据体参数不正确 6a81 -功能不支持 6a82 -文件没有找到 6a83 -记录没有找到 6a86 -参数 p1-p2 不正确 6a87 -lc 与 p1-p2 不一致 6a88 -引用的数据没有找到 2.1.7.6 应用错误应用错误 表表10.15:10.15: 状态字编码状态字编码- -应用错误应用错误 sw1sw1sw2sw2 错误描述错误描述 9850 -inc

13、rease 命令不能执行,已经达到最大值 9862 -鉴权错误(与应用相关) 注释: 应用可以定义自己的错误代码 2.1.8 命令的状态字命令的状态字 下表表示对于每一个命令所可能返回的状态字(用*号注明) 。 表 10.16: 命令和状态字 statusstatus wordswords select status update binary update record read binary read record search record increase verify pin change pin disable pin enable pin unblock pin deactiva

14、te 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*

15、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。 2.1.9 逻辑通道逻辑通道 使用逻辑通道的命令,用 cla 字段的最低两位表示逻辑通道号,范围从 0 到 3。逻辑 通道号 0 是永久可以获得的。 使用 manage channel 命令打开和关闭一个逻辑通道,逻辑通道号由 uicc 分配。 2 usim-meusim-me 命令描述命令描述 2.1 通用命令通用命

16、令 这里描述了应用说支持的各种命令和相应的响应状态字。如果应用不支持某个命令, 则应该返回相应的状态字。 2.1.1 select 2.1.1.1 功能描述功能描述 本命令用于选择一个文件,参见第 8 章。在命令执行成功后,记录的指针并不确定。 输入: -文件标识符,应用标识符,路径,或空参数。 输出: -如果选择的文件是mf,df或者adf: 文件标识符,总文件尺寸,pin的状态,pin禁止/使用的标识,及其它应用私有 数据。 -如果选择的文件是ef: 文件标识符,总文件尺寸,访问条件,无效/有效标识,ef的结构,记录的长度 (对于线性定长文件线形定长文件和循环文件) 2.1.1.2 命令参

17、数和数据命令参数和数据 代码代码值值 cla 参见第 10 章 ins 参见第 10 章 p1 选择控制,见下表 p2 选择控制,见下表 lc 数据的长度或为空 data 文件标识符,df 名称,或路径,与 p1 的值相 关 le 空,00,或者期望的最大数据长度 表 11.1: p1 参数配置 b8b8b7b7b6b6b5b5b4b4b3b3b2b2b1b1 含义含义 00000000 选择 df, ef或mf,通过文件标识符 00000001 选择当前df的子df 00000011 选择当前df的父df 00000100 通过df名称选择应用参见注释 00001000 以mf为起始,路径选

18、择 00001001 以当前df为起始,路径选择 注释:: 这里指选择应用 表 11.2: p2 参数配置 b8b8b7b7b6b6b5b5b4b4b3b3b2b2b1b1 含义含义 -xx- 应用进程控制,参见注释 2 -00- - 激活/重置 -10- - 终止 0-00100 要求返回 fcp 模板 0-01100 无数据返回 -xx 按照 aid 选择 -00 - 第一次或者仅一次出现的 -01 - 最后一个找到的 -10 - 下一个 -11 - 前一个 注释 1: 有无 fci 的返回取决与 apdu 的类型。 注释 2: 只适用于当 p1 指示按照 dfname的方式选择。 如果

19、p1 = 00 而且数据字段为空,那么 p2 应该被设置为0c (“无数据返回” ) , 那么 mf 被设置为当前的目录。 为了避免歧义,当 p1 = 00时,当以文件标识符作为参数选择文件的时候,按照以下 的搜索顺序进行, -当前df的之间子文件; -父df; -父df的直接子文件。 当 p1 04时,p2 的位 b2 和 b1 没有意义,应该设置为 0。 当 p1 = 04时,一个右侧数据可截断的 aid 可以作为输入数据。 2.1.1.3 响应数据响应数据 字节字节描述描述长度长度 1 fcp 模板标签 = 62 1 2 (to 3) fcp 模板的长度1 或 2 3 or 4 to l

20、r fcp 模板数据 x 响应的数据包含所选择文件的文件控制参数(fcp) ,其内容与所选择的文件有关。参 见下表。终端可以忽略其不支持的标签数据。 2.1.1.3.1 对于对于mf,mf, dfdf 或或 adfadf的响应数据的响应数据 下表为对应于 mf,df,或者 adf 的响应数据, 表 11.3:对于 mf, df 或 adf 的响应数据 描述描述标签标签章节章节状态状态 文件描述符 8211.1.1.4. 3 m 文件标识符 8311.1.1.4. 4 c1 df 名称(aid) 8411.1.1.4. 5 c2 专有信息 a511.1.1.4. 6 c3 生存周期 8a11.1

21、.1.4. 9 m 安全特性 86, 8b, 8c or ab 11.1.1.4. 7 c4 pin 状态模板 do c611.1.1.4. 10 m 总文件大小 8111.1.1.4.o 2 m:必须。 o:可选。 c1: 对于 df 或 mf,必选。对于 adf,可选。 c2: df 名称只对 adf 是必须的。 c3: 对于 mf,专有信息是必须的,对于 df/adf,是可选的。 c4: 有,且只有一个标签必须有。 2.1.1.3.2 对于对于efef的响应数据的响应数据 下表为对应于 ef 的响应数据, 表 11.4: 对于 ef 的响应数据 描述描述标签标签章节章节状态状态 文件描述

22、符 8211.1.1.4 .3 m 文件标识符 8311.1.1.4 .4 m 专有信息 a511.1.1.4 .6 o 身存周期 8a11.1.1.4 .9 m 安全特性 86, 8b, 8c, or ab 11.1.1.4 .7 c1 文件大小 8011.1.1.4 .1 m 总文件大小 8111.1.1.4 .2 o 短标识符(sfi) 8811.1.1.4 .8 o m:必须。 o:可选。 c1: 有,且只有一个标签必须有。 2.1.1.4 文件控制参数文件控制参数 2.1.1.4.1 文件大小文件大小 字节字节描述描述值值长度长度 1 标签 801 2 长度 021 3 to 4 文

23、件中数据字节的长度,除去结构信息 2 文件的大小介于0000 和ffff 之间。 对于二进制文件,其是文件数据体的长度。对于线性定长文件线形定长文件或循环文 件,其是记录长度乘以记录的个数。 2.1.1.4.2 总文件大小总文件大小 字节字节描述描述值值长度长度 1 标签 811 2 长度 x, x 21 3 to x+2 文件中数据字节的长度,包含结构信息 x 注释:如果文件是 ef,那么 x=2。 对于 ef,文件大小范围从0000 到ffff。 对于 ef, “总文件大小”代表数据的大小和结构信息。 对于 df, “总文件大小”代表所有 ef 文件和 df 文件的“总文件大小” ,再加上

24、该 df 下剩余空间的大小。该 df 文件本身的结构信息不包含在内。 2.1.1.4.3 文件描述符文件描述符 字节字节描述描述状态状态值值长度长度 1 标签 m821 2 长度 m 02 或 05 1 3 文件描述符(见下表) m1 4 数据编码 m211 5 到 6记录长度 c 0001 到 00ff 2 7 记录个数 c 01 到 fe 1 m: 必须 c: 对于线形文件和循环文件是必须的,对其它不适用。 -文件描述符 内容: 参见下表 表表11.511.5:文件描述字节:文件描述字节 b8b8b7b7b6b6b5b5b4b4b3b3b2b2b1b1 含义含义 0x- 文件访问属性文件访

25、问属性 00- 非共享文件 01- 共享文件 0-xxx- 文件类型文件类型 0-000- 工作ef 0-001- 内部ef 0-010- 0-011- 0-100- 0-101- 0-110- rfu 0-111- df 或 adf 0-xxx efef结构结构 0-000 无参考信息 0-001 透明文件(二进制) 0-010 线性定长文件线形定长文件 0-011 0-100 0-101 rfu 0-110 循环文件 0-111rfu 1xxxxxxxrfu -数据编码: 编码方式:参见iso/iec 7816-4。移动终端应该不检查及使用该字节。 -记录长度: 内容:记录的长度。 编码:

26、记录的长度用两个字节表示。 -记录的个数: 内容:表示记录的个数 编码:用一个字节标识 2.1.1.4.4 文件标识符文件标识符 字节字节描述描述值值长度长度 1 标签 831 2 长度 021 3 to 4 文件标识符 2 2.1.1.4.5 dfdf名称名称 字节字节描述描述值值长度长度 1 标签 841 2 长度 1 x 16 1 3 to 2+x df 名称 x df 名称是一个字节串,即 aid,用来唯一标识归属应用的文件。 2.1.1.4.6 专有信息专有信息 字节字节描述描述长度长度 1 专有信息标签 = a5 1 2 长度 1 3 to 2+x 专有信息,格式化的 x 专有信息

27、的描述参见下表。 描述描述标签标签状态状态章节章节 uicc 特性 80c111.1.1.4.6.1 应用电源损耗 81c211.1.1.4.6.2 最小应用时钟频率 82c311.1.1.4.6.3 可以内存大小 83c411.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.11

28、1.1.1.4.6.1uiccuicc 特性特性 字节字节描述描述值值长度长度 1 标签 801 2 长度 011 3 uicc 特性字节,见下表 1 表表 11.6:11.6: uiccuicc 特性字节特性字节 b8b8b7b7b6b6b5b5b4b4b3b3b2b2b1b1 含义含义 -xx-1 时钟停止模式允许 -00-1 无优先级别 -01-1 该级别优先 -10-1 低级别优先 -11-1rfu -xx-0 时钟停止模式不允许 -00-0 从不 -01-0 除非在高级别时 -10-0 除非在低级别时 -11-0rfu -x- 支持电压级别a -x- 支持电压级别b -x- 支持电压

29、级别c x-x- rfu (应该被设置为 0) 如果 b1 为 1,则允许时钟停止在高级别或者低级别,在这种情况下,b3 和 b4 用来 标识优先的级别。 如果 b1 为0,时钟值允许停止在由 b3 = 1 (就是说可以停止在高级别) 或者 b4 = 1 (就是说可以停止在低级别)满足条件的情况下。如果所有的这三位都设置为 0,那么时钟 不允许停止。 所支持的电压级别见上表,如果不支持某电压级别,则编码为 0。 11.1.1.4.6.211.1.1.4.6.2应用电源损耗应用电源损耗 应用的电源损耗由标签为81 的 tlv 结构说明。第一个字节表示进行电源损耗测量时 所处的支持电压。该字节的编

30、码与其在 atr 中的编码相同。第二个字节指定了电源损耗, 以 ma 为单位。第三个字节为进行损耗测量时的时钟频率。 字节字节描述描述值值长度长度 1 标签 811 2 长度 031 3 电源损耗测量时所处的电压级别 1 4 应用电源损耗 01-3c1 5 参考频率 0a-ff1 参考频率的分辨率为 0,1 mhz,就是说0a 是 1 mhz ,fe 为 25,4 mhz。值ff表 示没有参考频率。 11.1.1.4.6.311.1.1.4.6.3最小应用时钟频率最小应用时钟频率 应用的最小时钟频率由标签为82的 tlv 结构指定。该结构指定了应用所需的最小时 钟频率。如果需要的话,应用可以指

31、定一个到多个最小时钟频率。 字节字节描述描述值值长度长度 1 标签 821 2 长度 011 3 应用最小时钟频率 0a-ff1 参考频率的分辨率为 0,1 mhz,就是说0a 是 1 mhz ,fe 为 25,4 mhz。值ff表 示没有参考频率。 11.1.1.4.6.411.1.1.4.6.4 剩余内存剩余内存 在所选择的 df(及在 mf 下的 adf)下的可以用于创建 df 或 ef 的内存大小。 字节字节描述描述值值长度长度 1 标签 831 2 长度 x, x=21 3 to 2+x 大小 x 2.1.1.4.7 安全特性安全特性 2.1.1.4.7.1 紧凑模式紧凑模式 字节字

32、节描述描述值值长度长度 1 标签 8c1 2 长度 x1 3 am 字节 1 x-1 sc 字节 x+2 参见 iso/iec 7816-9。 2.1.1.4.7.2 扩展模式扩展模式 字节字节描述描述值值长度长度注释注释 1 标签 ab1 2 长度 x-21 3 am do 标签8x (参见注 释 1) 1 4 长度 x1 5+xam_do (参见注释 2) x 6+x sc_do 标签(参见注释 2) 1 7+x 长度 y1 8+x+ysc_do (参见注释 2) y 安全规则 #1 3 am do 标签8x (参见注 释 1) 1 4 长度 w1 5+wam_do (参见注释 2) w

33、6+w sc_do 标签(参见注释 2) 1 7+w 长度 z1 8+w+zsc_do (参见注释 2) z 安全规则 #n 注释 1: x的值依赖于 am_do 的用法,参见 7816-9。 注释 2: 参见 iso/iec 7816-9。 2.1.1.4.7.3 索引到扩展模式索引到扩展模式 如果标签 tag8b的数据长度等于03,参见下表: 字节字节描述描述值值长度长度 1 标签 8b1 2 长度 31 3-4 efarr 的文件标识符 2 5 efarr 中对应的记录数 1 如果标签 tag8b的数据长度等于02 + x x 02,参见下表: 字节字节描述描述值值长度长度 1 标签 8

34、b1 2 长度 02 + x x 02 1 3 4 efarr 文件标识符 2 x+4seid1 x+5 efarr 中对应的记录数 注释:: seid 和 efarr 中对应的记录数 是成对出现的。 2.1.1.4.8 短标识符短标识符 字节字节描述描述值值长度长度 1 标签 881 2 长度 00 or 01 1 3 短标识符字节0 或 1 如果该 tlv 结构不存在,那么文件的短标识符就是文件标识符的最低 5 位。 如果该 tlv 结构存在,但是为空(就是说长度为 0) ,那么该文件不支持 sfi。 如果该 tlv 结构存在,并且长度为 1,那么 sfi 用短标识符字节的最高 5 位表示

35、,最 低 3 位应该设置为 0。 2.1.1.4.9 生存周期生存周期 字节字节描述描述值值长度长度 1 标签 8a1 2 长度 11 3 生存周期,见下表 1 表表 11.711.7: 生存周期编码生存周期编码 b8b8b7b7b6b6b5b5b4b4b3b3b2b2b1b1 含义含义 00000000 无参考信息 00000001 创建状态 00000011 初始化状态 000001-1 操作状态 激活 000001-0 操作状态 去活 000011- 终止状态 0xxxx 专有 任何其它值 rfu 2.1.1.4.10 pinpin状态模板状态模板dodo 该 tlv 结构包含了 df/

36、adf 的状态信息,访问 df/adf 及子文件所使用的 pin 等信息。 参见 iso/iec 7816-4。 字节字节描述描述值值长度长度 1 标签 c61 2 长度 1 3 ps_do 标签 901 4 长度 x1 x+4ps_dox x+5 使用限定 do 标签,参见注释 2 951 x+6 长度 011 x+7 使用限定,参见 etsi 102.221 1 x+8 密钥索引标签 831 x+9 长度 011 x+10 密钥索引(pin)参见 efsi102.22 1 1 注释 1: 可能有一个或多个密钥索引标签在 ps_do 之后。 注释 2: 该 tlv 结构对于密钥索引为11(通

37、用 pin)是必须的,否则则为可选的。 2.1.2 statusstatus 2.1.2.1 功能描述功能描述 该命令返回当前目录和应用的相关信息。 也可以用来指示应用的激活过程或终止过程被成功执行。 输入: -无 输出: -以下之一: 当前目录的fcp。 当前选择应用的dfname tlv数据结构 无数据返回 2.1.2.2 命令参数命令参数 代码代码值值 cla 参见 第 10 章 ins 参见 第 10 章 p1 应用状态的指示,见下表 p2 见下表 le 空, 00,或最大的期望数据长度 表表 11.811.8:p1p1参数配置参数配置 b8b8b7b7b6b6b5b5b4b4b3b3

38、b2b2b1b1 含义含义 00000000 无指示 00000001 当前的应用正在被初始化 00000010 终端将要终止当前应用 表表 11.9:11.9: p2p2参数配置参数配置 b8b8b7b7b6b6b5b5b4b4b3b3b2b2b1b1 含义含义 00000000 与select 命令相同 00000001 返回当前选择应用的dfname tlv 00001100 无数据返回. 任意其它值 rfu. 2.1.3 readread binarybinary 2.1.3.1 功能描述功能描述 该命令用于读取一个二进制文件的内容。只有在对文件有 read 权限时,才能执行该命 令。

39、 输入: -地址和长度 输出: -数据输出 2.1.3.2 命令参数命令参数 代码代码值值 cla 参见第 10 章 ins 参见第 10 章 p1 见下表 p2 偏移量低字节 lc 无 data 无 le 读取数据长度 表 11.10: p1 参数配置 b8b8b7b7b6b6b5b5b4b4b3b3b2b2b1b1 含义含义 0xxxxxxx b7-b1 是要读取数据的偏移量 p2 是该 偏移量的低字节 100xxxxx 使用了sfi ,b1-b5既是sfi 。p2 是偏移 量。 响应数据: 字节字节描述描述长度长度 1 le 数据 le 2.1.4 updateupdate binary

40、binary 2.1.4.1 功能描述功能描述 该命令用字节串更新一个二进制文件。只有在对文件有 update 权限时,才能执行该操作。 输入: 地址和数据长度 数据 输出: 无 2.1.4.2 命令参数和数据命令参数和数据 代码代码值值 cla 参见第 10 章 ins 参见第 10 章 p1 参见表 p2 偏移量低字节 lc 数据长度 data 更新数据 le 无 参数 p1 和 p2 与 read binary 命令相同。 2.1.5 readread recordrecord 2.1.5.1 功能描述功能描述 该命令从一个线性定长文件线形定长文件或循环文件中读取一个完整的记录。只有对该

41、文 件有 read 权限的时候才能进行该操作。如果读取操作失败,记录的指针不应该改变。有 四种文件的读取模式: current: 读取当前记录,记录指针没有改变。 absolute: 记录的绝对位置,记录的指针没有改变。记录的绝对位置,记录的指针没有改变。 next:在执行在执行read record命令之前,先增加记录指针,然后再读取该记命令之前,先增加记录指针,然后再读取该记 录。如果该指针在以前没录。如果该指针在以前没有被设置过,则在执行该命令时,读取第一个记 录,并将指针设置为当前记录。 如果指针已经是文件(线性定长文件线形定长文件)的最后一条记录,则该 命令不能改变指针,而且无数据返

42、回。 如果指针已经是文件(循环文件)的最后一条记录,则该命令设置第一条记 录为当前记录,并读取该记录。 previous:previous:在执行read record命令之前,先将记录指针减一,然后再读取该记录。如 果该指针在以前没有被设置过,则在执行该命令时,读取最后一个记录,并 将指针设置为当前记录。 如果指针已经是文件(线性定长文件线形定长文件)的第一条记录,则该命 令不能改变指针,而且无数据返回。 如果指针已经是文件(循环文件)的第一条记录,则该命令设置最后一条记 录为当前记录,并读取该记录。 输入: -读取模式,记录数(只对于绝对模式适用),以及数据的长度。 输出: -记录的数据

43、2.1.5.2 命令参数命令参数 代码代码值值 cla 参见第 10 章 ins 参见第 10 章 p1 记录号 p2 读取模式,见下表 lc 无 data 无 le 所要读取的数据长度 表 11.11:p2 参数配置 b8b8b7b7b6b6b5b5b4b4b3b3b2b2b1b1 含义含义 00000- 当前选择的 ef xxxxx- 简短文件标识符(从 1 到 30) -010 下一个记录 -011 前一个记录 -100 绝对/当前 , 记录数见 p1,如果 p1=00 则指当前记录 对于“下一个记录”和“前一个记录”模式,p1 没有意义,由终端设置为00 。 响应数据: 字节字节描述描

44、述长度长度 1 le 读取的数据 le 2.1.6 updateupdate recordrecord 2.1.6.1 功能描述功能描述 该命令在一个线性定长文件线形定长文件或循环文件中更新一个完整的记录。只有对该文 件有 update 权限的时候才能进行该操作。如果更新操作失败,记录的指针不应该改变。有 四种文件的更新模式(循环文件只允许 previous 模式): current:current:更新当前记录,记录指针没有改变。 absolute:absolute:记录的绝对位置,记录的指针没有改变。 next:next:在执行update record命令之前,先增加记录指针,然后该记录

45、。如果该指 针在以前没有被设置过,则在执行该命令时,更新第一个记录,并将指针设 置为当前记录。 如果指针已经是文件(线性定长文件线形定长文件)的最后一条记录,则该 命令不能改变指针,而且无数据返回。 如果指针已经是文件(循环文件)的最后一条记录,则该命令设置第一条记 录为当前记录,并读取该记录。 previous:previous:在执行update record命令之前,先将记录指针减一,然后该指针的记录。 如果该指针在以前没有被设置过,则在执行该命令时,更新最后一个记录, 并将指针设置为当前记录。 如果指针已经是文件(线性定长文件线形定长文件)的第一条记录,则该命 令不能改变指针,而且无数

46、据返回。 如果指针已经是文件(循环文件)的第一条记录,则该命令设置最后一条记 录为当前记录,并更新该记录。 对于循环文件种最旧的记录的更新,指针设置为当前记录,并为1。 输入: -模式,记录数(仅对据对模式适用),和记录的长度。 -更新数据 输出: -无 2.1.6.2 命令参数和数据命令参数和数据 代码代码值值 cla 参见第 10 章 ins 参见第 10 章 p1 记录号 p2 模式,参见表 lc 数据的长度 data 数据 le 无 参数 p2 与 read record 命令中的相同。 对于“下一个记录”和“前一个记录”模式,p1 没有意义,由终端设置为00 。为 保证向后兼容,ui

47、cc 不应该解释 p1 的值。 2.1.7 searchsearch recordrecord 2.1.7.1 功能描述功能描述 该功能在一个线性定长文件线形定长文件或循环文件中,搜索一个特定的内容。只有在 对该文件有 read 权限的时候,才能执行该操作。搜索的方式有: -在记录的第一个字节(简单搜索) -从给定的记录偏移量开始 -从记录中第一次找到的特定字节开始 响应数据中要么为空,要么包含不超过 le 指定数量的符合搜索条件的记录数。如果找 到多个符合条件的记录,那么记录的指针设置为第一个符合条件的记录指针。 输入: -搜索模式(简单/增强) -偏移量 -搜索目标。 输出: -为空,如果

48、le为空,或者没有找到符合条件的记录 -不超过有le指定的符合条件的记录数。 2.1.7.2 命令参数和数据命令参数和数据 代码代码值值 cla 参见第 10 章 ins 参见第 10 章 p1 记录数(00 指当前记录) p2 见下表 lc 数据长度 data -简单搜索:搜索字串 -增强搜索:搜索指示(2 个字节)和搜索字 串 -专有搜索:专有数据 le 空或最大长度数据 表表11.1211.12: p2p2参数配置参数配置 b b 8 8 b b 7 7 b b 6 6 b b 5 5 b b 4 4 b b 3 3 b b 2 2 b b 1 1 含义含义 00000- 当前算则的 e

49、f xxxxx- 简短文件标识 11111-rfu -0xx rfu (参见注释) -10x 简短搜索。p1 为记录数 -100 从 p1 指定的记录向前搜索。 -101 从 p1 指定的记录向后搜索。 -110 增前搜索 见下表 -111 专有搜索 注释:iso/iec 7816-9 保留 表表 11.13:11.13: 增强搜索中的搜索指示的编码增强搜索中的搜索指示的编码 b b 8 8 b7b7b6b6b5b5b4b4b3b3b2b2b1b1 含义含义 00000- 搜索从由搜索指示的第2个字节指明的记录 数开始 00001- 搜索从第一次找到的由搜索指示的第2个字 节指定的字节的记录开

50、始 -0xx rfu (参见注释) -1xx p1为记录数 -100 从p1指定的记录向前搜索。 -101 从p1指定的记录向后搜索。 -110 从下一个记录向前搜索 -111 从前一个记录向后搜索 任意其它值 rfu 注释:iso/iec 7816-9 保留 响应数据: 字节字节描述描述长度长度 0 le 记录数 le 注释:如果 le 为空,则表示无记录数需返回。 2.1.8 increaseincrease 2.1.8.1 功能描述功能描述 该命令将由终端设备提供的值与当前循环文件中最近增加/更新的记录中的值相加,并 保存到最旧的记录中。只有在对该文件有 increase 权限的时候,才

51、能执行该操作。 increase 权限在访问条件中用 am_do 标签 84指明。 输入: -要增加的值. 输出: -增加后的记录的值 -已经增加的值 2.1.8.2 命令参数和数据命令参数和数据 代码代码值值 cla 参见第 10 章 ins 参见第 10 章 p1 见下表 p200 lc 数据长度 data 要增加的值 le 响应数据长度 表表 11.14:11.14: p1p1参数配置参数配置 b8b8b7b7b6b6b5b5b4b4b3b3b2b2b1b1 含义含义 00000000 增加当前选择的 ef 100xxxxx 使用简短文件标识符 注释:所有其它值保留 在这个命令中,lc

52、值应该 0 lc 128 以及最大的记录长度限制为 127 个字节。 响应数据: 字节字节描述描述长度长度 1 x 增加记录的值 x x+1 x+lc 被增加的值 lc 注释:x 指记录的长度 2.1.9 verifyverify pinpin 2.1.9.1 功能描述功能描述 该命令用于校验用户输入的 pin 是否与 uicc 中存储的 pin 相同。校验的过程以满足下 列条件为前提: -pin没有被禁止 -pin没有被阻塞 如果对某文件的访问条件是校验 pin,那么除非 pin 是被禁止的,否则必须先要校验 pin。 如果校验 pin 是正确的,剩余校验 pin 次数应该设置为初始值 3。

53、 如果校验 pin 是错误的,剩余校验 pin 次数应该减一,而不考虑究竟在哪个逻辑通道上。 当第一次 pin 校验失败后,uicc 应该返回 sw1sw2=63c2 。当连续两次 pin 校验失败后, uicc 应该返回 sw1sw2=63c1 。在连续三次校验失败之后,该 pin 应该被设置为阻塞,并 返回状态字 sw1 sw2 = 63c0。任何这以后的校验 pin 都应该返回状态字 sw1 sw2 = 6983。只有在 unblock pin 命令成功执行后,才可以重新获得访问条件。 输入: -pin标识或为空。 输出: -无 2.1.9.2 重试次数值重试次数值 该值指示了还有几次剩

54、余的校验尝试。可以从下列方法获得: -在verify 命令中的p2指示要获取那个pin的剩余次数 (状态字 sw1, sw2 63cx ,其 中x表示剩余次数)。 -在一次失败的校验之后,并且pin并没有被阻塞的情况下,uicc返回的状态字中sw1, sw2 中(63cx 中的x表示剩余的校验次数)。 2.1.9.3 命令参数命令参数 代码代码值值 cla 参见第10章 ins 参见第10章 p100. p2 参见下表 lc 数据长度= 00 或 08. data pin 值 le 无 表表11.1511.15:p2p2参数配置参数配置 b8b8b7b7b6b6b5b5b4b4b3b3b2b2

55、b1b1 含义含义 00000000 不支持 0- 全局参考数据 1- 特定参考数据 -xx- 00 (其它值保留) -xxxxx 参考数据号(01 到 1f) 命令数据: 字节字节描述描述长度长度 1 - 8 pin 值 8 2.1.10 changechange pinpin 2.1.10.1 功能描述功能描述 该命令用于先进行用户输入 pin 的校验,然后有条件的用新的 pin 替换 uicc 中已经 存在的 pin。一旦在一个逻辑通道中成功的更改了 pin 值,那么该新的 pin 值在所有的逻 辑通道中立即生效。 该功能赋予一个新的 pin 值,应以下列条件位前提: -pin没有被禁止

56、; -pin没有被阻塞。 如果旧的 pin 值校验正确,那么剩余的 pin 校验次数要被重置到初始值 3,新的 pin 值 变为合法值。 如果旧的 pin 值校验错误,那么剩余的 pin 的校验次数要减一,pin 值保持不变。如果连 续三次校验都失败,那么该 pin 值被阻塞。之后所有的文件访问都被禁止,直到正确执行 unblock pin 命令后。 输入: -pin的标识, 旧的pin, 新的pin。 输出: -无 2.1.10.2 命令参数命令参数 代码代码值值 cla 参见第10章 ins 参见第10章 p100. p2 与命令verify pin相同 lc 数据长度= 10. data

57、 旧的 pin 值 value,新的 pin 值 le 无 注意:change pin在iso/iec 7816-8中叫做“交换索引数据”。 字节字节描述描述长度长度 1 8 旧的pin值 8 9 16 新的pin 值 8 2.1.11 disabledisable pinpin 2.1.11.1 功能描述功能描述 该命令用于禁止 pin 的校验,该命令还可以用于是否使用别的全局密钥索引。 在成功执行该命令后,uicc 应该对 se 进行一次校验,因为当前的 se 可能已经改变。 在成功执行该命令后,所有由 pin 来保护的文件现在变成了就好像它们 的访问权限变 成了总是,除非别的全局密钥索引

58、替换了 pin。 如果 pin 的校验是正确的,那么剩余的 pin 校验次数应该被重置为初始值 3,接着 pin 被禁止。 如果 pin 的校验是错误的,那么剩余的 pin 校验次数应该减一,并且 pin 的状态保持 不变。如果连续三次校验都失败,那么该 pin 值被阻塞。之后所有的文件访问都被禁止, 直到正确执行 unblock pin 命令后。 输入: -pin. 输出: -无 2.1.11.2 命令参数命令参数 代码代码值值 cla 参见第10章 ins 参见第10章 p1 参见下笔 p2 与命令verify pin相同 lc 数据长度= 08. data pin的值. le 无 表表

59、11.1611.16:p1p1参数配置参数配置 b8b8b7b7b6b6b5b5b4b4b3b3b2b2b1b1 含义含义 00000000 校验数据在数据体 00000001 iso/iec 7816-8 保留 1- 存在校验数据,参考值代替 -xx- 00 (其它值rfu) -xxxxx 全局密钥索引数据 (01 to 1f) 命令数据: 字节字节描述描述长度长度 1 - 8 pin值 8 2.1.12 enableenable pinpin 2.1.12.1 功能描述功能描述 该命令用于开启使用 pin 校验,其是 disable pin 的反向功能。 在成功执行该命令后,uicc 应该

60、对 se 进行一次校验,因为当前的 se 可能已经改变。 如果旧的 pin 值校验正确,那么剩余的 pin 校验次数要被重置到初始值 3,新的 pin 值变为合法值。 如果旧的 pin 值校验错误,那么剩余的 pin 的校验次数要减一,pin 值保持不变。如 果连续三次校验都失败,那么该 pin 值被阻塞,并可选的设置为“使用 pin 校验” ,之后所 有的文件访问都被禁止,直到正确执行 unblock pin 命令后。 输入: -pin. 输出 -无 2.1.12.2 命令参数命令参数 代码代码值值 cla 参考第10章 ins 参考第10章 p100. p2 与命令verify pin相同

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论