SIM卡与ME的协议交互过程_第1页
SIM卡与ME的协议交互过程_第2页
SIM卡与ME的协议交互过程_第3页
SIM卡与ME的协议交互过程_第4页
SIM卡与ME的协议交互过程_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

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

文档简介

1、 广州市宜通世纪科技有限公司 Guangzhou Eastone Century Technology Co,. Ltd. Page 1 of 23SIMSIM 卡与卡与 MEME 的协议交互过程的协议交互过程责任人:设计开发部 文小明报告提交日期:2005-4-30 广州市宜通世纪科技有限公司 Guangzhou Eastone Century Technology Co,. Ltd. Page 2 of 231 前言前言 .32 缩写和符号的说明缩写和符号的说明 .33 物理层上与项目相关的一些规范物理层上与项目相关的一些规范 .43.1 SIM 卡的两种规格 .43.2 SIM 卡的触点

2、分配 .43.3 SIM 卡触点的电气特性 .43.3.1 电源电压 Vcc.43.3.2 复位 RST.53.3.3 编程电压 Vpp.53.3.4 时钟 CLK.53.3.5 输入/输出 I/O.64 数据链路层上数据链路层上 SIM 卡与卡与 ME 的通信的通信 .64.1 SIM 卡的连接和激活 .64.2 SIM 卡的复位 .64.2.1 SIM 卡的冷复位.74.2.2 SIM 卡的热复位.74.2.3 字符帧传输.74.2.4 ATR 过程.84.2.5 ATR 过程的一个实例.114.2.6 PTS 过程.114.2.7 PTS过程的一个实例.124.3 SIM 卡与 ME 之

3、间命令-响应过程.124.4 SIM 卡与 ME 之间命令-响应过程的一个实例(SELECT).134.5 SIM 卡的释放 .145 SIM 卡的文件系统简介卡的文件系统简介.145.1 文件的三种类型.145.2 文件标识.155.3 基本文件的三种结构.155.4 文件访问控制.155.5 SIM 卡的文件系统示意图 .166 SIM 卡的命令系统简介卡的命令系统简介.186.1 SELECT(命令+命令数据) .186.2 STATUS(命令+响应数据).206.3 READ BINARY(命令+响应数据).206.4 UPDATE BINARY(命令+命令数据).206.5 GET

4、RESPONSE(命令+响应数据).216.6 RUN GSM ALGORITHM(命令+命令数据) .217 登陆登陆 GSM 网络时网络时 SIM 卡要执行的过程卡要执行的过程.21 广州市宜通世纪科技有限公司 Guangzhou Eastone Century Technology Co,. Ltd. Page 3 of 231 前言前言本报告完成的是“Elvis 智能拨测设备”项目中的一个任务,目的是探讨怎样用单片机来模拟 SIM 卡的部分功能(使设备能登陆到 GSM 网络即可) 。报告主要参考了 GSM 11.11 version 5.5.0 和 GSM 11.12 version

5、5.0.0 规范,并同时参考了 ISO7816-1,2,3 规范中的相关内容。2 缩写和符号的说明缩写和符号的说明ACCAccess Control Class 接入控制类别ADAdministrative Data 管理数据APDUApplication Protocol Data Unit 应用协议数据单元ATRAnswer to Reset 复位应答BCCH Broadcast Control Channel 广播控制信道CBMIDCell Broadcast Message Identifier for Data Download 用于下载的小区广播信息标识CHVCard Holder

6、 Verification information 卡支持器检验信息DFDedicated File 专用文件EFElementary File 基本文件etuElementary Time Unit 基本时间单元 FPLMNForbidden PLMN 禁止登陆的 PLMNGSM Global System for Mobile Communications 全球移动通信系统HPLMNHome PLMN 归属 PLMNICCIDIntegrated Circuits Card Identifier 智能卡标识IMSIInternational Mobile Subscriber Identi

7、ty 国际移动用户识别码KcCiphering key 密码本Ki用户鉴权码LOCILocation Information 位置信息LPLanguage Preference 语言选择ME Mobile Equipment 移动设备,包括各种的 GSM 模块MFMaster File 主文件PLMNPublic Land Mobile Network 公众陆地移动电话网PTSProtocol Type Selection 协议类型选择SIM Subscriber Identity Module 用户识别模块SSTSIM Service Table SIM 卡服务表SRESSigned RES

8、ponse 符号响应,鉴权的计算结果XX 用单引号表示十六进制数,如90表示十六进制数 Ox90VOH 最大输出电压,其他类似符号可类推tR tF 脉冲的上升时间和下降时间 广州市宜通世纪科技有限公司 Guangzhou Eastone Century Technology Co,. Ltd. Page 4 of 233 物理层上与项目相关的一些规范物理层上与项目相关的一些规范SIM 卡是智能卡的一种,除非在 GSM 应用中有特殊规定,否则应该符合智能卡的一般规范,即 ISO7816-1,2,3。本节介绍了 SIM 卡的规格以及 SIM 卡上触点的功能分配和电气特性。3.1 SIM 卡的两种规

9、格卡的两种规格早期使用的 SIM 属于 ID-1 型号,如卡片般大小。近期使用的 SIM 一般属于 Plug-in 型号,尺寸是 25mm15mm。Plug-in 型号的 SIM 可以由 ID-1 SIM 切去多余的塑料片后得到。3.2 SIM 卡的触点分配卡的触点分配各触点在 SIM 上的位置可以参考 ISO7816-2,下表是各个触点的编号以及功能分配。触点编号触点编号分配分配触点编号触点编号分配分配C1电源电压 VccC5接地 GNDC2复位 RSTC6编程电压 VppC3时钟 CLKC7输入/输出 I/OC4保留C8保留表 3.2.1 SIM 卡的触点分配3.3 SIM 卡触点的电气特

10、性卡触点的电气特性3.3.13.3.1 电源电压电源电压 VccVcc据 GSM 11.11 规定,SIM 卡应该工作在如下表所示的电压范围内。符号符号最小值最小值最大值最大值单位单位Vcc4,55,5VIcc10mA 注:Icc 是 Vcc 上的电流,下面相关定义与此同表 3.3.1.1 +5V 供电下 Vcc 的电气特性另外,据 GSM 11.12 补充规定,GSM Phase 2 的 SIM 卡应该同时支持+5V 和+3V 供电电压。在+3V 供电时 SIM 卡的工作范围如下: 广州市宜通世纪科技有限公司 Guangzhou Eastone Century Technology Co,.

11、 Ltd. Page 5 of 23符号符号最小值最小值最大值最大值单位单位Vcc2.73.3VIcc6mA 表 3.3.1.2 +3V 供电下 Vcc 的电气特性支持+3V 和+5V 供电技术的 ME 会先用+5V 给 SIM 卡供电。如果 SIM 卡在相关的信息位上置 1 表明支持+3V 供电技术(详见 SELECT 命令的编码规定) ,ME 就可以切换到+3V 供电。但是如果 ME 只支持+3V 供电,它会拒绝只支持+5V 供电的 SIM 卡(详见 GSM 11.12 的规定) 。下面各个触点的电气参数均是在+3V 供电时给出的,+5V 供电的情况请参考 GSM 11.11。3.3.23

12、.3.2 复位复位 RSTRSTME 会用如下参数范围内的 RST 信号去复位 SIM 卡。符号符号条件条件最小值最小值最大值最大值单位单位VOHIOHmax = + 20 A0.8 x VccVcc VVOLIOLmax = -200 A 0 0.2 x VccVtR tFCin = Cout = 30 pF400s表 3.3.2.1 RST 的电气特性SIM 卡详细的复位和复位应答过程(ATR)见 4.2.3 节3.3.33.3.3 编程电压编程电压 VppVppSIM 卡不使用 Vpp。3.3.43.3.4 时钟时钟 CLKCLKSIM 卡应该使用在 CLK 上提供的 1 到 5MHz

13、的外部时钟,不应使用自己的内部时钟。CLK 信号的电气特性如下。符号符号条件条件最小值最小值最大值最大值单位单位VOHIOHmax = + 20 A0.7 x VccVcc VVOLIOLmax = - 20 A 0 0.2 x VccVtR tFCin = Cout = 30 pF50 ns表 3.3.4.1 CLK 的电气特性另外如果 SIM 卡在鉴权或执行 ENVELOPE 命令的过程中需要使用 13/4MHz 的时钟, 广州市宜通世纪科技有限公司 Guangzhou Eastone Century Technology Co,. Ltd. Page 6 of 23应该在相关的信息位上置

14、 1 来表示(详见 SELECT 命令的编码规定) 。GSM Phase 2 的 SIM 卡应该支持“时钟停止模式” ,并在相关的信息位上置 1 来表示(详见 SELECT 命令的编码规定) 。在此模式下 ME 会在启动时钟后经过最少 744 个时钟周期才会发出第一条命令,并在接收最后一位应答字符后经过最少 1860 个时钟周期才会关闭时钟。3.3.53.3.5 输入输入/ /输出输出 I/OI/O这个触点是 SIM 卡与 ME 之间通信的唯一通道。它支持半双工串行通信,有发送和接收两种状态,并且应该在不传输数据时置为接收状态。它的电气特性如下。符号符号条件条件最小值最小值最大值最大值单位单位

15、VIHIIHmax = 20 A 0.7 x VccVcc+0.3 VVILIILmax = + 1 mA - 0.30.2 x VccVVOH IOHmax = + 20 A0.7 x VccVcc VVOLIOLmax = - 1mA0 0.4VtR tFCin = Cout = 30 pF1s表 3.3.5.1 I/O 的电气特性4 数据链路层上数据链路层上 SIM 卡与卡与 ME 的通信的通信ME 和 SIM 卡之间的对话应按如下顺序操作:SIM 卡的连接和激活SIM 卡的复位SIM 卡与 ME 之间命令-响应过程SIM 卡的释放4.1 SIM 卡的连接和激活卡的连接和激活正确连接 M

16、E 和 SIM 卡后(请参阅 ME 的说明) ,ME 按如下顺序激活 SIM 卡:置 RST 为低电平给 Vcc 供电ME 和 SIM 卡的 I/O 口均置为接收状态CLK 上有稳定的时钟信号4.2 SIM 卡的复位卡的复位在激活 SIM 卡后,ME 会冷复位或热复位 SIM 卡。随后,SIM 卡应该复位内部数据并 广州市宜通世纪科技有限公司 Guangzhou Eastone Century Technology Co,. Ltd. Page 7 of 23且发起 ATR 过程。而 ME 根据 ATR 的信息,有可能发起 PTS 过程来进一步商议通信协议和波特率。这些过程正常结束后,ME 和

17、 SIM 卡就可以开始各种命令-响应过程。4.2.14.2.1 SIMSIM 卡的冷复位卡的冷复位正确连接和激活 SIM 卡后,ME 就会立刻对 SIM 卡进行冷复位,复位信号的时序如下图示:注:SIM 卡应当在 RST 被拉高后 400 到 40000 个时钟周期内(t1)发起 ATR 过程。 T0 与 T1 之间间隔 40000 个时钟周期。图 4.2.1.1 SIM 卡的冷复位4.2.24.2.2 SIMSIM 卡的热复位卡的热复位ME 可在 SIM 卡被激活后的任何时间里随时对 SIM 卡进行复位,这称为热复位。热复位时,RST 会先被拉低 40000 个时钟周期,然后再被拉高。SIM

18、 卡的应答则跟冷复位相同。热复位过程如下图示:注:SIM 卡应当在 RST 被拉高后 400 到 40000 个时钟周期内(t1)发起 ATR 过程。 T0 与 T1 之间间隔 40000 个时钟周期。图 4.2.2.1 SIM 卡的热复位4.2.34.2.3 字符帧传输字符帧传输SIM 卡与 ME 之间使用 I/O 进行半双工串行通信(一般是异步的) 。I/O 口上的信息被打包为字符帧来传输,这种字符帧是 SIM 卡与 ME 之间通信的基础,在随后的 ATR 过程,PTS 过程和命令-响应过程中同样要使用。 广州市宜通世纪科技有限公司 Guangzhou Eastone Century Te

19、chnology Co,. Ltd. Page 8 of 234.2.3.14.2.3.1 字符帧的结构字符帧的结构字符帧一共有 10 位,它的结构如下图示:一帧BiSPCS注: S 是开始位,低电平。Bi 是第 i 字节的 8 位有效数据。到底是字节中的低位还是高位先传输见 4.2.4.1。C 是偶奇偶校验位,它可以通过将 Bi 的每一逻辑位进行异或求得。P 是保护时间,一般设定为 2 位图 4.2.3.1.1 字符帧的结构4.2.3.24.2.3.2 字符帧的时序字符帧的时序字符帧内每一位所持续的时间定义为基本时间单元(etu) ,它依赖于时钟频率(f),时钟转换因子(F)和比特调整因子(

20、D)。有如下计算公式:1etu = F / (D*f) 秒另外,保护时间 P 一般为 2etu,如果有特殊需要,可以设定额外保护时间(N) ,那么保护时间 P 有如下计算公式: P=2+N etu参数 F,D 和 N 可以在 ATR 和 PTS 过程中由 SIM 和 ME 商议确定。在没有商定前,使用如下默认值:F=372;D=1;N=04.2.3.34.2.3.3 字符帧的差错控制字符帧的差错控制ISO7816-3 规定了字符帧差错控制的机制,主要是错误检测和字符重发。需要时请参阅。4.2.44.2.4 ATRATR 过程过程ATR 是英文 Answer to Reset 的缩写,即复位应答

21、。 ATR 过程使用默认参数 F=372;D=1;N=0,etu=372/f 秒。例如若 CLK 上是3.579MHz 的时钟,那么 etu=372/3.579MHz,此时波特率=1/etu=9600bps。ATR 过程包含如下信息:传输协议的类型,控制参数和识别信息。ATR 过程由一系列字符组成,应该遵循如下所示的格式: _ _ _ | | | | | | | | | | | | | | | | TS | T0 |TA1 |TB1 |TC1 |TD1 |TA2 |TB2 |TC2 |TD2 | . | T1 | . | TK|TCK| |_|_|_|_|_|_|_|_|_|_|_ _|_|_

22、 _|_|_|注: TS :初始字符(必须传输) 广州市宜通世纪科技有限公司 Guangzhou Eastone Century Technology Co,. Ltd. Page 9 of 23 TO :格式字符 含参数 Y1 和 K(必须传输) TAi :接口字符 含参数 FI,DI (可选传输) TBi :接口字符 含参数 I1,PI1 (可选传输) TCi :接口字符 含参数 N (可选传输) TDi :接口字符 含参数 Yi+1, T (可选传输) T1, . , TK :历史字符 (K 小于等于 15) (可选传输) TCK :奇偶校验字符(是否传输视情况而定)图 4.2.4.1

23、ATR 过程的格式4.2.4.14.2.4.1 初始字符初始字符 TSTSTS 后的字符要传输的 8 位有效数据 Bi(见 4.2.3.1) ,先作如下约定:数据是|b7|b6|b5|b4|b3|b2|b1|b0|,那么 b7 是高位,b0 是低位。b7-b4 是高半字节,b3-b0是低半字节。如何将这一个字节的数据装入字符帧呢?这就要看 TS 规定了哪一种协议。初始字符 TS 定义了其后字符编码的两种协议:正向协议(Direct Convention)和反向协议(Inverse Convention) 。正向协议。在 I/O 线上,高电平代表逻辑 1(正逻辑) ,并且低位 b0 首先被传输。

24、这时 TS 字符帧设为:L-HHLHHHLL-H。在正向协议下 TS 的编码为3B。反向协议。在 I/O 线上,低电平代表逻辑 1(负逻辑) ,并且高位 b7 首先被传输。这时 TS 字符帧设为:L-HHLLLLLL-H。在反向协议下 TS 的编码为3F。ME 能支持上面的任何一种协议。4.2.4.24.2.4.2 格式字符格式字符 T0T0T0 的 8 位有效数据被分成两部分。高半字节代表参数 Y1,它用每一位的逻辑 1 来表示其后 TA1,TB1,TC1 和 TD1 是否被传输,对应关系如下:b4TA1;b5TB1;b6TC1;b7TD1 低半字节代表参数 K, 它是一个 4 位二进制数,

25、取值从 0 到 15。它代表了将要传输的历史字符 T1,T2,TK 的数目。4.2.4.24.2.4.2 接口字符接口字符 TA1TA1它的高半字节代表参数 FI,低半字节代表参数 DI。它们是用来表示 SIM 卡能支持的时钟转换因子 F 和比特调整因子 D,还表示了 SIM 卡能支持的最高时钟频率 f。它们的对应关系如下: 广州市宜通世纪科技有限公司 Guangzhou Eastone Century Technology Co,. Ltd. Page 10 of 23图 4.2.4.2.1 接口字符 TA1 的意义 GSM Phase 2 的 SIM 卡和 ME 除了支持 F=372,D=

26、1 外还应该支持 F=512,D=8。GSM 11.11 规定,如果 TA1 不等于11,那么 ME 就会启动 PTS 过程。4.2.4.34.2.4.3 接口字符接口字符 TB1TB1,TB2TB2TB1,TB2。这两个字符主要是对编程电压 Vpp 和编程电流 Ipp 的要求进行编码。因为 SIM 卡不应该需要使用编程电压 Vpp,GSM 11.11 规定:TB1 =00;TB2 不予传输。如果 TB1 不等于00,那么 ME 设备会拒绝 SIM 卡。4.2.4.44.2.4.4 接口字符接口字符 TC1TC1TC1 上的 8 位有效数据是一个 8 位二进制数,取值从 0 到 255。它代表

27、了额外保护时间 N(见 4.2.3.2)的值,GSM 11.11 规定,N=0 或 255,否则 SIM 卡会被拒绝。而当 N=255时,表示接收和发送时的保护时间是相同的,都是 2etu(即额外保护时间 N=0) 。如果 SIM 卡没有发送 TA1,TB1,TC1 那么 ME 就会使用默认值:F=372;D=1;N=04.2.4.54.2.4.5 接口字符接口字符 TD1TD1这个字符的高半字节表示 Y2,它的含义与 T0 字符中的 Y1 类似,表示其后TA2,TB2,TC2 和 TD2 是否被传输。低半字节表示协议类型 T,它是一个四位二进制数,取值从 0 到 15。最常用的传输协议如下:

28、T=0 表示异步半双工字符传输协议T=1 表示异步半双工块传输协议ME 与 SIM 卡的通信,一般使用 T=0 协议,其字符帧结构和时序和 4.2.3 节描述的一样。如果 TD1 没有被传输,那么默认使用 T=0 协议。如果 SIM 卡除了支持 T=0 协议,还支持其他协议,那么在 TD1 字符,也应该优先表明支持 T=0 协议,再在后面 TD2,TD3 表示支持其他协议。TD1 表示的协议会作为默认的协议使用。4.2.4.64.2.4.6 接口字符接口字符 TA2TA2 广州市宜通世纪科技有限公司 Guangzhou Eastone Century Technology Co,. Ltd.

29、Page 11 of 23这个字符主要用来指明是否使用专用模式,详见 ISO7816-3。SIM 卡与 ME 通信一般使用协商模式,不需要传输这个字符。4.2.4.74.2.4.7 接口字符接口字符 TC2TC2这个字符用于在 T=0 协议下指明工作等待时间整型参数(WI) ,取值从 0 到 255。工作等待时间(W)是指从 SIM 卡发出的任何一个字符的开始上升沿和从 ME 或 SIM 卡发出的前一个字符的开始上升沿之间的最大延迟时间。有如下计算公式:W=960 x D x WI (etu)如果不传输 TC2,而使用 WI 的默认值 10。4.2.4.84.2.4.8 其他接口字符其他接口字

30、符余下的一些接口字符一般在 T=1 协议下使用,在此不再详述。4.2.4.94.2.4.9 历史字符历史字符 T1-TKT1-TK这些字符主要用于表示 SIM 卡的标识等文本信息,在此不再详述。4.2.4.104.2.4.10 校验字符校验字符 TCKTCKTCK 的值等于从字符 T0 到 TK 的作异或运算后的值。如果 SIM 卡在 ATR 过程中表示只支持 T=0 协议,则不需要传输 TCK。4.2.54.2.5 ATRATR 过程的一个实例过程的一个实例名称值意义TS3B正逻辑;低位 b0 先传输T0F0接下来传输 TA1,TB1,TC1,TD1;无历史字符TA194F=512,D=8,

31、1etu=64 个时钟周期,最大时钟频率 5MHzTB100不需使用编程电压 VppTC1 00不需额外保护时间TD140接下来传输 TC2;使用 T=0 协议TC2FF使用最大工作等待时间(大于 250,000 个 etus)4.2.64.2.6 PTSPTS 过程过程在协商模式下,ATR 过程默认使用的参数 F=372,D=1 和 TD1 所表明的协议将会一直使用下去,直到一个成功的 PTS 过程完成。GSM 11.11 规定,如果 TA1 不等于11,那么 ME就会发起 PTS 过程。PTS 过程包括 ME 的 PTS 请求和 SIM 卡的 PTS 应答。在 GSM 应用中,它们一般都由

32、以下4 个字符组成。如下图示:PTSS初始字符 总为FF |PTS0格式字符 高 4 位分别表示后面字符的存在,低半字节表示协议类型 T |PTS1参数字符 高半字节代表 FI,低半字节代表 DI(应与 TA1 匹配) 广州市宜通世纪科技有限公司 Guangzhou Eastone Century Technology Co,. Ltd. Page 12 of 23 |PCK校验字符 PTSS,PTS0 和 PTS1 作异或运算图 4.2.6.1 PTS 过程如果 SIM 卡一直不响应 PTS 请求,则 ME 就会一直使用默认值 F=372,D=1,N=0 和协议T=0。4.2.7 PTS 过

33、程的一个实例过程的一个实例 复位 ME - SIM ATR PTS1=94 PCK =7B PTS 响应 PTSS=FF PTS0=10 PTS1=94 PCK =7B 图 4.2.3.5.1 提速到 F=512,D=8 的 PTS 过程4.3 SIM 卡与卡与 ME 之间命令之间命令-响应过程响应过程SIM 卡在复位,ATR 过程,PTS 过程正常结束后就可以正式接受 ME 的各种命令,并对其作出响应。命令和响应都是用应用协议数据单元(APDU)来承载的。APDU 应该使用=0 协议来传输,它分为命令 APDU 和响应 APDU。命令 APDU 从 ME 发出,由 5 个字符的报头组成,有时

34、还带有数据,格式如下:| CLA | INS | P1 | P2 | P3 | DATA1 |注:CLA是命令类别,在 GSM 应用中固定使用A0INS 是命令代码, 视不同的命令而定 ,是命令参数,视不同的命令而定是数据长度表示命令期间传输数据字符的数目(可以是 ME向 SIM 输入数据的长度 DATA1,也可以是 SIM 向 ME 返回的数据的长度 DATA2) 。当数据从 SIM 卡发出时,=00代表数据长度为个字符。当数据从 ME 发出时,=00代表无数据传输。图 4.3.1. 命令 APDU 的格式响应 APDU 从 SIM 卡发出,包含两个字符的报尾,有时之前还带有数据,格式如下:

35、| DATA2 | SW1 | SW2 |注:SW1,SW2 是状态字,表示命令是否成功执行 广州市宜通世纪科技有限公司 Guangzhou Eastone Century Technology Co,. Ltd. Page 13 of 23SW1,SW2=90, 00表示命令正常结束SW1,SW2=91, XX表示 SIM 卡要传送命令给 MESW1,SW2=9F, XX表示有 XX 长度的响应数据SW1,SW2=94, 04表示找不到文件,或参数错误SW1,SW2=6D, 00表示不明指令其它一些编码请参阅 GSM 11.11 的第 9 章 图 4.3.2 响应 APDU 的格式为了更好的

36、控制 APDU 的时序,ISO7816-3 规定 APDU 是“分节”传输的。ME 首先发送 5 个字节的命令头(CLA,INS,P1,P2,P3) ,然后等待 SIM 回应一个字节的响应(通常就是 APDU 中的 INS 字节) 。SIM 卡回应的这个字节的意义如下表:定义值ME 的动作ACKINSME 将发送所有剩余的数据或者 ME 将准备接收 SIM卡发送的所有数据。ACKINS 取反ME 将发送下一个字节的数据或者 ME 将准备接收SIM 卡发送的下一个字节的数据。NULL0 x60ME 延长一个工作等待时间SW10 x6x 或 0 x9xME 接收下一个状态字 SW2表 4.3.1

37、SIM 卡的响应字节综上,下图列举了 ME 和 SIM 命令响应过程的 4 种情况:情况 1:命令+命令数据_| CLA | INS | P1 | P2 | P3 | INS | DATA | SW1 | SW2 |情况 2:只有命令_| CLA | INS | P1 | P2 | 00 | SW1 | SW2 |情况 3:命令+响应数据(ME 已知其长度)_| CLA | INS | P1 | P2 | P3 | INS | DATA | SW1 | SW2 |情况 4:命令+命令数据+响应数据_| CLA | INS | P1 | P2 | P3 | INS | DATA | INS |

38、L | DATA | SW1 | SW2 |注:1. 红色表示由 ME 发出,蓝色表示由 SIM 卡发出。2. 情况 4 中“L”是 SIM 发出的响应数据的长度。图 4.3.3 ME 和 SIM 的命令响应过程4.4 SIM 卡与卡与 ME 之间命令之间命令-响应过程的一个实例响应过程的一个实例(SELECT)请参考第 6 节内容。下面以 SELECT 命令的执行为例(它的完整执行还需要另外一个辅助命令 GET RESPONSE) 。ME 先发出 SELECT 命令,选择专用文件 DFGSM (文件标识7F20) ,然后等待 SIM卡的第一次响应,得知 SIM 卡将有长度为 23 字节的数据

39、(十六进制为17)要返回。ME 广州市宜通世纪科技有限公司 Guangzhou Eastone Century Technology Co,. Ltd. Page 14 of 23再发出第二条命令 GET RESPONSE(带数据长度参数17) ,SIM 卡则在这时把 SELECT命令应该返回的数据返回给 ME,并表示命令正常结束。过程如下:ME 发送 SELECT 命令(属于命令+命令数据):_| A0 | A4 | 00 | 00 | 02 | A4 | 7F | 20 | 9F | 17 |ME 发送 GET RESPONSE 命令(属于命令+响应数据):_| A0 | C0 | 00

40、| 00 | 17 | C0 | DFGSM的信息(共 23 个字节) | 90 | 00 |注:红色表示由 ME 发出,蓝色表示由 SIM 卡发出。表 4.4.1 SELECT 命令实例4.5 SIM 卡的释放卡的释放当正常结束会话或遇到异常时(如 SIM 卡被抽出) ,ME 会按以下顺序释放 SIM 卡:RST置低电平CLK置低电平I/O 置低电平Vcc 置低电平5 SIM 卡的文件系统简介卡的文件系统简介为了完成模拟 SIM 卡部分功能的任务,有必要先了解一下 SIM 卡的文件系统。5.1 文件的三种类型文件的三种类型SIM 卡中的文件分三种类型,它们是主文件 MF(Master Fil

41、e) ,专用文件DF(Dedicated File)和基本文件 EF(Elementary File) 。其中,MF 的作用相当于根目录,只有一个;DF 相当于子目录,可以有多个;真正储存有用信息的是 EF。在 SIM 卡中,用01代表 MF,用02代表 DF,用04代表 EF。用它们的关系如下图所示: 广州市宜通世纪科技有限公司 Guangzhou Eastone Century Technology Co,. Ltd. Page 15 of 23 图 5.1.1 SIM 卡的文件系统5.2 文件标识文件标识SIM 卡中的文件用 2 个字节(4 位 16 进制数)来标识,如3F00就是 MF

42、 的标识。其中标识中的第一个字节有特别含义,它表示了文件的类型:3F代表根目录 MF7F代表第一层子目录 DF5F代表第二层子目录 DF2F代表根目录下的基本文件 EF6F代表第一层子目录下的基本文件 EF4F代表第二层子目录下的基本文件 EF5.3 基本文件的三种结构基本文件的三种结构基本文件 EF 在 SIM 卡中针对要存储的不同信息,又分别有三种存储结构。它们是:通透的(Transparent)结构 用00编码线性固定的(Linear Fixed)结构用01编码循环的(Cyclic)结构用03编码通透结构的 EF 由一个文件头和一个由字节序列组成的文件体构成。在读写和更新时,我们可以通过

43、给出字节的偏移地址和字节数目来找到要操作的字节序列。文件体第一个字节的偏移地址是0000。文件头指示了文件体的字节数目。这种文件多用于存储 GSM 网络的相关参数。线性固定结构的 EF 由一个文件头和一个由一笔笔有固定长度的记录组成的文件体构成。第一笔记录是一号记录。文件头指示了每一笔记录的长度和文件体的总长度。这种文件多用于存储各种应用信息,如短信内容,电话号码等。循环结构的 EF 与线性固定结构的 EF 类似,也是主要由一笔笔记录构成。所不同的是,由于它的容量 N 固定,所以第 N+1 笔记录会覆盖第 1 笔记录,如此循环。这种文件也是用于存储各种应用信息,如已拨电话号码,已接听电话号码等

44、。 广州市宜通世纪科技有限公司 Guangzhou Eastone Century Technology Co,. Ltd. Page 16 of 235.4 文件访问控制文件访问控制SIM 卡的一个主要作用是保证信息安全。SIM 卡内的每一个文件对不同的命令(参见第 6 节的介绍)设置了不同的访问级别:第 0 级总是允许访问()第 1 级需要 CHV1 认证第 2 级需要 CHV2 认证第 3 级保留以备将来使用第 4 到 14 级管理权限()第 15 级禁止访问()当在某个基本文件 EF 上执行某命令时,它需要 CHV1 认证,那么必须满足如下条件之一:1. 输入了正确的 CHV1 认证码

45、。2. CHV1 认证功能被设定为“不执行” (disabled) 。3. UNBLOCK命令(用于解锁已被锁死的卡)成功执行。认证类似。的权限设定以及它们的访问条件一般由卡的发行者来负责。5.5 SIM 卡的文件系统示意图卡的文件系统示意图下图是 SIM 卡的文件系统示意图,各个文件的作用请参见相关文件的说明。在这里针对这个项目的应用,简要说明几个文件:EFICCID 2FE2通透结构10 字节SIM 卡的唯一标识号码EFLP 6F05通透结构1 到 n 字节SIM 卡支持的语言EFIMSI 6F07通透结构9 字节国际移动用户识别码(IMSI)EFKc 6F20通透结构9 字节密钥 Kc,

46、经常更新EFHPLMN 6F31通透结构1 字节归属 PLMN 搜寻间隔EFSST 6F38通透结构大于 2 字节SIM 支持的服务种类EFBCCH 6F74通透结构16 字节广播控制信道的信息,经常更新EFACC 6F78通透结构2 字节接入控制类别的信息EFFPLMN 6F7B通透结构12 字节禁止登陆的 PLMNEFLOCI 6F7E通透结构11 字节位置区域信息,经常更新EFAD 6FAD通透结构大于 3 字节SIM 卡运作类型,如“测试卡”EFPhase 6FAE通透结构1 字节SIM 卡所属阶段EFCBMID6F48通透结构2n 字节SIM 要存储的小区广播信息 广州市宜通世纪科技

47、有限公司 Guangzhou Eastone Century Technology Co,. Ltd. Page 17 of 23图 5.5.1 SIM 卡的文件系统(Phase 2) 广州市宜通世纪科技有限公司 Guangzhou Eastone Century Technology Co,. Ltd. Page 18 of 23图 5.5.1 SIM 卡的文件系统(Phase 2+) 广州市宜通世纪科技有限公司 Guangzhou Eastone Century Technology Co,. Ltd. Page 19 of 236 SIM 卡的命令系统简介卡的命令系统简介这里针对项目应用

48、,重点介绍几个命令。6.1 SELECT(命令(命令+命令数据)命令数据)这条命令是用于选择一个文件,并且获得文件的相关信息。如果选择的是 MF 或 DF,那么“当前目录”就转到这个 MF 或 DF;如果选择的是 EF,那么“当前文件”就是这个EF。这个命令的参数是文件的标识,响应则分两种情况:如果选择的是 MF 或 DF,那么 SIM 就会返回该文件的标识,可用内存空间,CHV 使能标记,CHV 的状态和其他与 GSM 网络相关的数据。如果选择的是 EF,那么 SIM 就会返回该文件的标识,文件大小,访问条件,是否可用,文件的存储结构等。命令格式如下:命令命令CLASSINSP1P2P3SE

49、LECTA0A4000002命令后紧接的数据是:字节编号字节编号含义含义长度(字节)长度(字节)1 - 2文件标识2如果选择的是 MF 或 DF,那么 SIM 卡返回的数据如下:字节编号字节编号含义含义长度(字节)长度(字节)1 - 2保留以备将来使用(用00填充每个字节)23 - 4所选目录下的剩余空间25 - 6文件标识(如3F00,则第5字节为3F)27文件类型(见5.1)18 - 12保留以备将来使用(用00填充每个字节)513随后数据长度 (第14字节到末尾)114文件特性 (注 1)115目录下包含的 DF 的数目116目录下包含的 EF 的数目117CHV 码和解锁码的数目以及管

50、理编码118保留以备将来使用(用00填充每个字节)119CHV1 码状态(注 2)120解 CHV1 锁码的状态 (注 2)121CHV2 码状态(注 2)122解 CHV2 锁码的状态 (注 2)123保留以备将来使用(用00填充每个字节)124 - 34保留用于管理(可选)0 到 11 广州市宜通世纪科技有限公司 Guangzhou Eastone Century Technology Co,. Ltd. Page 20 of 23注 1:文件特性字节中每一位的意义如下,b8b7b6b5b4b3b2b1b2=0 表示鉴权算法运行时,SIM 最少需要 13/8 MHz 时钟。b2=1 表示鉴

51、权算法运行时,SIM 最少需要 13/4 MHz 时钟。b5=0 表示 SIM 卡只支持+5V 供电;b5=1 表示 SIM 卡支持+3V 供电b7 保留以备将来使用 b8=0 表示 CHV1 认证功能“使能” (enabled) ;b8=1 表示 CHV1 认证功能“取消”(disabled)b1 b3 b4100 允许时钟停止模式,没有优先水平110允许时钟停止模式,优先选择高水平101允许时钟停止模式,优先选择低水平000不允许时钟停止模式010除非选择高水平,否则不允许时钟停止模式001除非选择低水平,否则不允许时钟停止模式注 2:第 19,20,21,22 字节代表各自密码的状态,但

52、字节中每一位有类似的含义。b8b7b6b5b4b3b2b1b4,b3,b2,b1 表示错误输入的剩余次数,若为 0 表示 SIM 卡已被“锁定”b7,b6,b5保留以备将来使用b8为 0 表示密码没有初始化,为 1 表示密码已经初始化。表 6.1.1 SELECT MF 或 DF 后,SIM 卡返回的数据如果选择的是 EF,那么 SIM 卡返回的数据如下:字节编号字节编号含义含义长度(字长度(字节)节)1 - 2保留以备将来使用(用00填充每个字节)23 - 4文件体的大小25 - 6文件标识27文件类型(见5.1)18注119 - 11访问级别(注2)312文件状态 (注3)113随后数据长

53、度114文件存储结构(见5.3)115记录长度(注4)1注 1:若选择的 EF 是循环结构,那么第 7 位 b7=1 表明该文件允许使用INCREASE 命令。若为其他情况,用00填充。注 2:第 9 字节的高半字节代表 READ,SEEK 命令的访问级别,分别用0到F代表 5.4 所指出的 15 个访问级别。低半字节代表 UPDATE 命令的访问级别。第 10 字节的高半字节代表 INCREASE 命令的访问级别,低半字节保留以备将来使用。第 11 字节的高半字节代表 REHABILITATE 命令的访问级别, 广州市宜通世纪科技有限公司 Guangzhou Eastone Century

54、Technology Co,. Ltd. Page 21 of 23低半字节代表 INVALIDATE 命令的访问级别。注 3:这个字节的 b1=0 表示该文件无效,b1=1 表示该文件有效。b3=0 表示当该文件标注为无效时不能读写。b3=1 表示该文件标注为无效时仍然可以读写。注 4:对于线性固定结构和循环结构的 EF,这个字节代表每记录的长度。对于通透结构的 EF,用00填充。表 6.1.2 SELECT EF 后,SIM 卡返回的数据最后值得注意的是 SELECT 命令须配合 GET RESPONSE 命令才能顺利执行,见 4.4节。6.2 STATUS(命令(命令+响应数据)响应数据)这个命令返回当前目录的信息,命令格式:命令命令CLASSINSP1P2P3STATUSA0 F2 00 00长度lgthSIM 卡对该命令的响应与 SELECT MF 或 EF 后相同。ME 可以周期性的运行这条命令来得知 SIM 卡是否有应用工具箱(SIM Application Toolkit)的命令要运行。6.3 READ BINARY(命令(命令+响应数据

温馨提示

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

评论

0/150

提交评论