学习笔记USIM卡与终端命令详解Word格式.docx
《学习笔记USIM卡与终端命令详解Word格式.docx》由会员分享,可在线阅读,更多相关《学习笔记USIM卡与终端命令详解Word格式.docx(71页珍藏版)》请在冰点文库上搜索。
如果UICC卡支持逻辑通道机制,那么最大可获得的逻辑通道数标识在ATR的卡兼容性数据对象中,如果该数据对象不存在,则只支持b2=b1=0的数据通道。
一个运行在支持逻辑通道的UICC上的应用,应该要么在消息校验中,从签名的计算中去除类字节,或者将其设置为缺省值。
移动终端可以改变应用所使用的逻辑通道,与所使用的逻辑通道比较安全消息校验签名。
表10.3:
类字节编码
b8
b7
b6
b5
b4
b3
b2
b1
值
含义
-
'
0X'
参见ISO/IEC
78164
AX'
参见ISO/IEC
78164,除非特殊说明。
8X'
78164
及本文档
X
安全消息标识(参见表10.4)
逻辑通道号
表10.4:
安全消息标识编码
在终端和卡之间不使用SM
私有SM格式
x
按照ISO/IEC7816-4使用安全管理
不鉴别命令头
鉴别命令头
缺省情况下,卡不采用安全消息,除非由应用特别指出。
2.1.2指令字段编码
参见下表
表10.5:
电信应用的指令字节编码
命令
CLA
命令APDUs
SELECTFILE
0X
A4'
STATUS
8X
F2'
READBINARY
B0'
UPDATEBINARY
D6'
READRECORD
B2'
UPDATERECORD
DC'
SEARCHRECORD
A2'
INCREASE
32'
VERIFY
20'
CHANGEPIN
24'
DISABLEPIN
26'
ENABLEPIN
28'
UNBLOCKPIN
2C'
DEACTIVATEFILE
04'
ACTIVATEFILE
44'
AUTHENTICATE
88'
GETCHALLENGE
84'
TERMINALPROFILE
80
10'
ENVELOPE
C2'
FETCH
12'
TERMINALRESPONSE
14'
MANAGECHANNEL
70'
传输导向APDUs
GETRESPONSE
C0'
2.1.3参数字段编码
参数字节P1和P2的使用和具体的命令有关。
如果参数未被使用,则设置未'
00'
。
具体编码方式参见具体的命令。
2.1.4Lc字段的编码
该字段表示数据的长度,其为可选项。
如果该字段存在,则在其后将跟着相应长度的数据字节。
移动设备可以发送1到255各字节。
2.1.5数据体编码
数据体的编码与具体的命令有关。
参见下面章节。
2.1.6Le字段的编码
该字段表示命令发送后所期望的最大返回数据长度,其为可选项。
如果该字段存在,则在响应数据中应包含相应长度的数据。
如果Le设置为'
,则表示移动终端期望最大256个字节的数据,则UICC可返回介于1到256之间长度的数据。
响应APDU结构
响应APDU包含一个可选的数据体和一个必须的状态字,该状态字由两个字节组成:
SW1和SW2。
数据长度由Lr指示。
表10.6:
响应APDU内容
编码
Lr
响应数据字串
SW1
状态字节1
SW2
状态字节2
2.1.7UICC返回的状态字
本章节描述了由UICC返回的各种状态字
正常过程
表10.7:
状态字编码-正常过程
90'
命令正常结束
91'
XX'
命令正常结束,并包含UICC所返回的数据的长度,用'
表示。
延迟过程
表10.8:
状态字编码-延迟过程
错误描述
93'
STK忙,当前不能执行该命令。
警告
表10.9:
状态字编码-警告
62'
无参考信息,非易失内存没有改变
81'
部分返回数据可能损坏
82'
读取文件或记录Le长度时,已经到结尾
83'
所选的文件已经无效
63'
CX'
在内部重试X次后,命令执行成功
-校验失败,还有'
X'
次可试(参见注释)
注释:
对于VERIFYPIN命令,SW1SW2指示命令成功执行,但是PIN不正确,并可以重试'
次。
对于任何其它命令,表示“在内部重试X次后,命令执行成功”
执行错误
表10.10:
状态字编码-执行错误
64'
65'
无参考信息,非易失内存改变
内存错误
检查错误
表10.11:
状态字编码-检查错误
67'
-长度错误
除了SW2='
的情况下,该状态字与命令相关
6B'
错误的参数P1-P2
6D'
指令字段不支持或错误
6E'
类字段不支持
6F'
技术问题,无精确诊断信息
-除了SW2='
CLA字段中的功能不支持
表10.12:
状态字编码-CLA字段中的功能不支持
68'
无参考信息
不支持逻辑通道
不支持安全消息
命令不允许执行
表10.13:
状态字编码-命令不允许执行
69'
命令与该文件结构不兼容
不满足安全条件
鉴权/PIN被禁止
引用的数据失效
85'
使用条件不满足
86'
命令不允许执行(没有选中EF)
错误的参数
表10.14:
状态字编码-错误的参数
6A'
80'
数据体参数不正确
功能不支持
文件没有找到
记录没有找到
参数P1-P2不正确
87'
Lc与P1-P2不一致
引用的数据没有找到
应用错误
表10.15:
状态字编码-应用错误
98'
50'
INCREASE命令不能执行,已经达到最大值
鉴权错误(与应用相关)
应用可以定义自己的错误代码
2.1.8命令的状态字
下表表示对于每一个命令所可能返回的状态字(用*号注明)。
表10.16:
命令和状态字
StatusWords
SELECT
VERIFYPIN
9000
*
91XX
9300
9850
9862
6200
6281
6282
6283
63CX
6400
6500
6581
6700
67XX–(参见注释)
6800
6881
6882
6981
6982
6983
6984
6985
6986
6A80
6A81
6A82
6A83
6A86
6A87
6A88
6B00
6E00
6F00
6FXX–(参见注释)
的情况
只有对支持USAT的移动终端,UICC才可以返回状态字'
91XX'
和'
9300'
2.1.9逻辑通道
使用逻辑通道的命令,用CLA字段的最低两位表示逻辑通道号,范围从0到3。
逻辑通道号0是永久可以获得的。
使用MANAGECHANNEL命令打开和关闭一个逻辑通道,逻辑通道号由UICC分配。
2USIM-ME命令描述
通用命令
这里描述了应用说支持的各种命令和相应的响应状态字。
如果应用不支持某个命令,则应该返回相应的状态字。
2.1.10SELECT
功能描述
本命令用于选择一个文件,参见第8章。
在命令执行成功后,记录的指针并不确定。
输入:
-文件标识符,应用标识符,路径,或空参数。
输出:
-如果选择的文件是MF,DF或者ADF:
∙文件标识符,总文件尺寸,PIN的状态,PIN禁止/使用的标识,及其它应用私有数据。
-如果选择的文件是EF:
∙文件标识符,总文件尺寸,访问条件,无效/有效标识,EF的结构,记录的长度(对于线性定长文件线形定长文件和循环文件)
命令参数和数据
参见第10章
选择控制,见下表
数据的长度或为空
文件标识符,DF名称,或路径,与P1的值相关
空,'
,或者期望的最大数据长度
表11.1:
P1参数配置
选择DF,EF或MF,通过文件标识符
选择当前DF的子DF
选择当前DF的父DF
通过DF名称选择应用-参见注释
以MF为起始,路径选择
以当前DF为起始,路径选择
:
这里指选择应用
表11.2:
P2参数配置
应用进程控制,参见注释2
-激活/重置
-终止
要求返回FCP模板
无数据返回
按照AID选择
-第一次或者仅一次出现的
-最后一个找到的
-下一个
-前一个
注释1:
有无FCI的返回取决与APDU的类型。
注释2:
只适用于当P1指示按照DFNAME的方式选择。
如果P1='
而且数据字段为空,那么P2应该被设置为'
0C'
(“无数据返回”),那么MF被设置为当前的目录。
为了避免歧义,当P1='
时,当以文件标识符作为参数选择文件的时候,按照以下的搜索顺序进行,
-当前DF的之间子文件;
-父DF;
-父DF的直接子文件。
当P1'
时,P2的位b2和b1没有意义,应该设置为0。
当P1='
时,一个右侧数据可截断的AID可以作为输入数据。
响应数据
字节
FCP模板标签='
2(to3)
FCP模板的长度
1或2
3or4toLr
FCP模板数据
响应的数据包含所选择文件的文件控制参数(FCP),其内容与所选择的文件有关。
参见下表。
终端可以忽略其不支持的标签数据。
对于MF,DF或ADF的响应数据
下表为对应于MF,DF,或者ADF的响应数据,
表11.3:
标签
章节
状态
文件描述符
11.1.1.4.3
M
文件标识符
11.1.1.4.4
C1
DF名称(AID)
11.1.1.4.5
C2
专有信息
A5'
11.1.1.4.6
C3
生存周期
8A'
11.1.1.4.9
安全特性
'
8B'
8C'
or'
AB'
11.1.1.4.7
C4
PIN状态模板DO
C6'
11.1.1.4.10
总文件大小
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的响应数据
身存周期
or'
文件大小
11.1.1.4.1
短标识符(SFI)
11.1.1.4.8
文件控制参数
值
02'
3to4
文件中数据字节的长度,除去结构信息
文件的大小介于'
0000'
和'
FFFF'
之间。
对于二进制文件,其是文件数据体的长度。
对于线性定长文件线形定长文件或循环文件,其是记录长度乘以记录的个数。
X,X≥2
3toX+2
文件中数据字节的长度,包含结构信息
如果文件是EF,那么X=2。
对于EF,文件大小范围从'
到'
对于EF,“总文件大小”代表数据的大小和结构信息。
对于DF,“总文件大小”代表所有EF文件和DF文件的“总文件大小”,再加上该DF下剩余空间的大小。
该DF文件本身的结构信息不包含在内。
或'
05'
文件描述符(见下表)
数据编码
21'
5到6
记录长度
C
0001'
到'
00FF'
7
记录个数
01'
FE'
必须
C:
对于线形文件和循环文件是必须的,对其它不适用。
-文件描述符
内容:
参见下表
表11.5: