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

上传人:b****2 文档编号:922233 上传时间:2023-04-30 格式:DOCX 页数:71 大小:44.04KB
下载 相关 举报
学习笔记USIM卡与终端命令详解.docx_第1页
第1页 / 共71页
学习笔记USIM卡与终端命令详解.docx_第2页
第2页 / 共71页
学习笔记USIM卡与终端命令详解.docx_第3页
第3页 / 共71页
学习笔记USIM卡与终端命令详解.docx_第4页
第4页 / 共71页
学习笔记USIM卡与终端命令详解.docx_第5页
第5页 / 共71页
学习笔记USIM卡与终端命令详解.docx_第6页
第6页 / 共71页
学习笔记USIM卡与终端命令详解.docx_第7页
第7页 / 共71页
学习笔记USIM卡与终端命令详解.docx_第8页
第8页 / 共71页
学习笔记USIM卡与终端命令详解.docx_第9页
第9页 / 共71页
学习笔记USIM卡与终端命令详解.docx_第10页
第10页 / 共71页
学习笔记USIM卡与终端命令详解.docx_第11页
第11页 / 共71页
学习笔记USIM卡与终端命令详解.docx_第12页
第12页 / 共71页
学习笔记USIM卡与终端命令详解.docx_第13页
第13页 / 共71页
学习笔记USIM卡与终端命令详解.docx_第14页
第14页 / 共71页
学习笔记USIM卡与终端命令详解.docx_第15页
第15页 / 共71页
学习笔记USIM卡与终端命令详解.docx_第16页
第16页 / 共71页
学习笔记USIM卡与终端命令详解.docx_第17页
第17页 / 共71页
学习笔记USIM卡与终端命令详解.docx_第18页
第18页 / 共71页
学习笔记USIM卡与终端命令详解.docx_第19页
第19页 / 共71页
学习笔记USIM卡与终端命令详解.docx_第20页
第20页 / 共71页
亲,该文档总共71页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

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

《学习笔记USIM卡与终端命令详解.docx》由会员分享,可在线阅读,更多相关《学习笔记USIM卡与终端命令详解.docx(71页珍藏版)》请在冰点文库上搜索。

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

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

ETSITS102221UICC与终端接口;物理和逻辑特性

1USIM-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

0or1

命令数据体包含的字节数

数据体

Data

Lc

命令数据体

Le

0or1

响应数据最大字节数

对于C-APDU结构的四种可能组合见下表:

表10.2:

C-APDU组合

组合

结构

1

CLAINSP1P2

2

CLAINSP1P2Le

3

CLAINSP1P2LcData

4

CLAINSP1P2LcDataLe

2.1.1Class字段编码

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/IEC 78164

1

0

1

0

-

-

-

-

'AX'

参见ISO/IEC 78164,除非特殊说明。

1

0

0

0

-

-

-

-

'8X'

参见ISO/IEC 78164 及本文档

-

-

-

-

X

X

-

-

-

安全消息标识(参见表10.4)

-

-

-

-

-

-

X

X

-

逻辑通道号

表10.4:

安全消息标识编码

b4

b3

含义

0

0

在终端和卡之间不使用SM

0

1

私有SM格式

1

x

按照ISO/IEC7816-4使用安全管理

1

0

不鉴别命令头

1

1

鉴别命令头

缺省情况下,卡不采用安全消息,除非由应用特别指出。

2.1.2指令字段编码

参见下表

表10.5:

电信应用的指令字节编码

命令

CLA

INS

命令APDUs

SELECTFILE

0X

'A4'

STATUS

8X

'F2'

READBINARY

0X

'B0'

UPDATEBINARY

0X

'D6'

READRECORD

0X

'B2'

UPDATERECORD

0X

'DC'

SEARCHRECORD

0X

'A2'

INCREASE

8X

'32'

VERIFY

0X

'20'

CHANGEPIN

0X

'24'

DISABLEPIN

0X

'26'

ENABLEPIN

0X

'28'

UNBLOCKPIN

0X

'2C'

DEACTIVATEFILE

0X

'04'

ACTIVATEFILE

0X

'44'

AUTHENTICATE

0X

'88'

GETCHALLENGE

0X

'84'

TERMINALPROFILE

80

'10'

ENVELOPE

80

'C2'

FETCH

80

'12'

TERMINALRESPONSE

80

'14'

MANAGECHANNEL

0X

'70'

传输导向APDUs

GETRESPONSE

0X

'C0'

2.1.3参数字段编码

参数字节P1和P2的使用和具体的命令有关。

如果参数未被使用,则设置未'00'。

具体编码方式参见具体的命令。

2.1.4Lc字段的编码

该字段表示数据的长度,其为可选项。

如果该字段存在,则在其后将跟着相应长度的数据字节。

移动设备可以发送1到255各字节。

2.1.5数据体编码

数据体的编码与具体的命令有关。

参见下面章节。

2.1.6Le字段的编码

该字段表示命令发送后所期望的最大返回数据长度,其为可选项。

如果该字段存在,则在响应数据中应包含相应长度的数据。

如果Le设置为'00',则表示移动终端期望最大256个字节的数据,则UICC可返回介于1到256之间长度的数据。

响应APDU结构

响应APDU包含一个可选的数据体和一个必须的状态字,该状态字由两个字节组成:

SW1和SW2。

数据长度由Lr指示。

参见下表

表10.6:

响应APDU内容

编码

长度

描述

Data

Lr

响应数据字串

SW1

1

状态字节1

SW2

1

状态字节2

2.1.7UICC返回的状态字

本章节描述了由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'次可试(参见注释)

注释:

对于VERIFYPIN命令,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'

鉴权错误(与应用相关)

注释:

应用可以定义自己的错误代码

 

2.1.8命令的状态字

下表表示对于每一个命令所可能返回的状态字(用*号注明)。

表10.16:

命令和状态字

StatusWords

SELECT

STATUS

UPDATEBINARY

UPDATERECORD

READBINARY

READRECORD

SEARCHRECORD

INCREASE

VERIFYPIN

CHANGEPIN

DISABLEPIN

ENABLEPIN

UNBLOCKPIN

DEACTIVATEFILE

ACTIVATEFILE

AUTHENTICATE

GETCHALLENGE

TERMINALPROFILE

ENVELOPE

FETCH

TERMINALRESPONSE

MANAGECHANNEL

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–(参见注释)

*

*

*

*

*

*

*

*

*

*

*

*

*

*

*

*

*

*

*

*

*

*

注释:

除了SW2='00'的情况

只有对支持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的结构,记录的长度(对于线性定长文件线形定长文件和循环文件)

命令参数和数据

代码

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'时,当以文件标识符作为参数选择文件的时候,按照以下的搜索顺序进行,

-当前DF的之间子文件;

-父DF;

-父DF的直接子文件。

当P1'04'时,P2的位b2和b1没有意义,应该设置为0。

当P1='04'时,一个右侧数据可截断的AID可以作为输入数据。

响应数据

字节

描述

长度

1

FCP模板标签='62'

1

2(to3)

FCP模板的长度

1或2

3or4toLr

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

3to4

文件中数据字节的长度,除去结构信息

2

文件的大小介于'0000'和'FFFF'之间。

对于二进制文件,其是文件数据体的长度。

对于线性定长文件线形定长文件或循环文件,其是记录长度乘以记录的个数。

总文件大小

字节

描述

长度

1

标签

'81'

1

2

长度

X,X≥2

1

3toX+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:

对于线形文件和循环文件是必须的,对其它不适用。

-文件描述符

内容:

参见下表

表11.5:

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 临时分类 > 批量上传

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2