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

上传人:b****3 文档编号:953148 上传时间:2022-10-14 格式:DOCX 页数:66 大小:44KB
下载 相关 举报
学习笔记USIM卡与终端命令详解资料.docx_第1页
第1页 / 共66页
学习笔记USIM卡与终端命令详解资料.docx_第2页
第2页 / 共66页
学习笔记USIM卡与终端命令详解资料.docx_第3页
第3页 / 共66页
学习笔记USIM卡与终端命令详解资料.docx_第4页
第4页 / 共66页
学习笔记USIM卡与终端命令详解资料.docx_第5页
第5页 / 共66页
点击查看更多>>
下载资源
资源描述

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

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

学习笔记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

*

*

*

*

*

*

*

*

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

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1