ImageVerifierCode 换一换
格式:DOCX , 页数:31 ,大小:448.55KB ,
资源ID:28150085      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/28150085.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(SIM卡与ME的协议交互过程分析.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

SIM卡与ME的协议交互过程分析.docx

1、SIM卡与ME的协议交互过程分析SIM卡与ME的协议交互过程责任人:设计开发部 文小明报告提交日期:2005-4-301 前言 32 缩写和符号的说明 33 物理层上与项目相关的一些规范 43.1 SIM卡的两种规格 43.2 SIM卡的触点分配 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

2、 字符帧传输 74.2.4 ATR过程 84.2.5 ATR过程的一个实例 114.2.6 PTS过程 114.2.7 PTS过程的一个实例 124.3 SIM卡与ME之间命令-响应过程 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

3、BINARY(命令+响应数据) 206.4 UPDATE BINARY(命令+命令数据) 206.5 GET RESPONSE(命令+响应数据) 216.6 RUN GSM ALGORITHM(命令+命令数据) 217登陆GSM网络时SIM卡要执行的过程 211 前言本报告完成的是“Elvis智能拨测设备”项目中的一个任务,目的是探讨怎样用单片机来模拟SIM卡的部分功能(使设备能登陆到GSM网络即可)。报告主要参考了GSM 11.11 version 5.5.0和GSM 11.12 version 5.0.0规范,并同时参考了ISO7816-1,2,3规范中的相关内容。2 缩写和符号的说明AC

4、C Access Control Class 接入控制类别AD Administrative Data 管理数据APDU Application Protocol Data Unit 应用协议数据单元ATR Answer to Reset 复位应答BCCH Broadcast Control Channel 广播控制信道CBMID Cell Broadcast Message Identifier for Data Download用于下载的小区广播信息标识CHV Card Holder Verification information 卡支持器检验信息DF Dedicated File 专用

5、文件EF Elementary File 基本文件etu Elementary Time Unit 基本时间单元 FPLMN Forbidden PLMN 禁止登陆的PLMNGSM Global System for Mobile Communications 全球移动通信系统HPLMN Home PLMN 归属PLMNICCID Integrated Circuits Card Identifier 智能卡标识IMSI International Mobile Subscriber Identity 国际移动用户识别码Kc Ciphering key 密码本Ki 用户鉴权码LOCI Loca

6、tion Information 位置信息LP Language Preference 语言选择ME Mobile Equipment 移动设备,包括各种的GSM模块MF Master File 主文件PLMN Public Land Mobile Network 公众陆地移动电话网PTS Protocol Type Selection 协议类型选择SIM Subscriber Identity Module 用户识别模块SST SIM Service Table SIM卡服务表SRES Signed RESponse 符号响应,鉴权的计算结果XX 用单引号表示十六进制数,如90表示十六进制数

7、Ox90VOH 最大输出电压,其他类似符号可类推tR tF 脉冲的上升时间和下降时间3 物理层上与项目相关的一些规范SIM卡是智能卡的一种,除非在GSM应用中有特殊规定,否则应该符合智能卡的一般规范,即ISO7816-1,2,3。本节介绍了SIM卡的规格以及SIM卡上触点的功能分配和电气特性。3.1 SIM卡的两种规格早期使用的SIM属于ID-1型号,如卡片般大小。近期使用的SIM一般属于Plug-in型号,尺寸是25mm15mm。Plug-in型号的SIM可以由ID-1 SIM切去多余的塑料片后得到。3.2 SIM卡的触点分配各触点在SIM上的位置可以参考ISO7816-2,下表是各个触点的

8、编号以及功能分配。触点编号分配触点编号分配C1电源电压VccC5接地GNDC2复位RSTC6编程电压VppC3时钟CLKC7输入/输出I/OC4保留C8保留表3.2.1 SIM卡的触点分配3.3 SIM卡触点的电气特性3.3.1 电源电压Vcc据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卡的工作范围如下

9、:符号最小值最大值单位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.2 复位RSTME会用如下参数范围内的RST信号去复位SIM卡。符号条件最小值最大值单位VOHIOHmax = + 20 A

10、0.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.3 编程电压VppSIM卡不使用Vpp。3.3.4 时钟CLKSIM卡应该使用在CLK上提供的1到5MHz的外部时钟,不应使用自己的内部时钟。CLK信号的电气特性如下。符号条件最小值最大值单位VOHIOHmax = + 20 A0.7 x VccVcc VVOLIOLmax = - 20 A 0 0.2 x VccVtR tFCin = Cout = 3

11、0 pF50 ns 表3.3.4.1 CLK的电气特性另外如果SIM卡在鉴权或执行ENVELOPE命令的过程中需要使用13/4MHz的时钟,应该在相关的信息位上置1来表示(详见SELECT命令的编码规定)。GSM Phase 2的SIM卡应该支持“时钟停止模式”,并在相关的信息位上置1来表示(详见SELECT命令的编码规定)。在此模式下ME会在启动时钟后经过最少744个时钟周期才会发出第一条命令,并在接收最后一位应答字符后经过最少1860个时钟周期才会关闭时钟。3.3.5 输入/输出I/O这个触点是SIM卡与ME之间通信的唯一通道。它支持半双工串行通信,有发送和接收两种状态,并且应该在不传输数

12、据时置为接收状态。它的电气特性如下。符号条件最小值最大值单位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卡的连接和激活正确连接

13、ME和SIM卡后(请参阅ME的说明),ME按如下顺序激活SIM卡: 置RST为低电平 给Vcc供电 ME和SIM卡的I/O口均置为接收状态 CLK上有稳定的时钟信号4.2 SIM卡的复位在激活SIM卡后,ME会冷复位或热复位SIM卡。随后,SIM卡应该复位内部数据并且发起ATR过程。而ME根据ATR的信息,有可能发起PTS过程来进一步商议通信协议和波特率。这些过程正常结束后,ME和SIM卡就可以开始各种命令-响应过程。4.2.1 SIM卡的冷复位正确连接和激活SIM卡后,ME就会立刻对SIM卡进行冷复位,复位信号的时序如下图示:注:SIM卡应当在RST被拉高后400到40000个时钟周期内(t

14、1)发起ATR过程。 T0与T1之间间隔40000个时钟周期。 图4.2.1.1 SIM卡的冷复位4.2.2 SIM卡的热复位ME可在SIM卡被激活后的任何时间里随时对SIM卡进行复位,这称为热复位。热复位时,RST会先被拉低40000个时钟周期,然后再被拉高。SIM卡的应答则跟冷复位相同。热复位过程如下图示:注:SIM卡应当在RST被拉高后400到40000个时钟周期内(t1)发起ATR过程。 T0与T1之间间隔40000个时钟周期。 图 4.2.2.1 SIM卡的热复位4.2.3 字符帧传输SIM卡与ME之间使用I/O进行半双工串行通信(一般是异步的)。I/O口上的信息被打包为字符帧来传输

15、,这种字符帧是SIM卡与ME之间通信的基础,在随后的ATR过程,PTS过程和命令-响应过程中同样要使用。4.2.3.1 字符帧的结构字符帧一共有10位,它的结构如下图示:注: S是开始位,低电平。 Bi是第i字节的8位有效数据。到底是字节中的低位还是高位先传输见4.2.4.1。 C是偶奇偶校验位,它可以通过将Bi的每一逻辑位进行异或求得。 P是保护时间,一般设定为2位 图 4.2.3.1.1字符帧的结构4.2.3.2 字符帧的时序字符帧内每一位所持续的时间定义为基本时间单元(etu),它依赖于时钟频率(f),时钟转换因子(F)和比特调整因子(D)。有如下计算公式:1etu = F / (D*f

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

17、Hz,此时波特率=1/etu=9600bps。ATR过程包含如下信息:传输协议的类型,控制参数和识别信息。ATR过程由一系列字符组成,应该遵循如下所示的格式: _ _ _ | | | | | | | | | | | | | | | | TS | T0 |TA1 |TB1 |TC1 |TD1 |TA2 |TB2 |TC2 |TD2 | . | T1 | . | TK|TCK| |_|_|_|_|_|_|_|_|_|_|_ _|_|_ _|_|_|注: TS :初始字符 (必须传输) TO :格式字符 含参数Y1和K (必须传输) TAi :接口字符 含参数FI,DI (可选传输) TBi :接口

18、字符 含参数 I1,PI1 (可选传输) TCi :接口字符 含参数N (可选传输) TDi :接口字符 含参数 Yi+1, T (可选传输) T1, . , TK :历史字符 (K小于等于15) (可选传输) TCK :奇偶校验字符 (是否传输视情况而定) 图 4.2.4.1 ATR过程的格式4.2.4.1 初始字符TSTS后的字符要传输的8位有效数据Bi(见4.2.3.1),先作如下约定:数据是|b7|b6|b5|b4|b3|b2|b1|b0|,那么b7是高位,b0是低位。b7-b4是高半字节,b3-b0是低半字节。如何将这一个字节的数据装入字符帧呢?这就要看TS规定了哪一种协议。初始字符

19、TS定义了其后字符编码的两种协议:正向协议(Direct Convention)和反向协议(Inverse Convention)。 正向协议。在I/O线上,高电平代表逻辑1(正逻辑),并且低位b0首先被传输。这时TS字符帧设为:L-HHLHHHLL-H。在正向协议下TS的编码为3B。 反向协议。在I/O线上,低电平代表逻辑1(负逻辑),并且高位b7首先被传输。这时TS字符帧设为:L-HHLLLLLL-H。在反向协议下TS的编码为3F。ME能支持上面的任何一种协议。4.2.4.2 格式字符T0T0的8位有效数据被分成两部分。高半字节代表参数Y1,它用每一位的逻辑1来表示其后TA1,TB1,TC

20、1和TD1是否被传输,对应关系如下:b4TA1;b5TB1;b6TC1;b7TD1 低半字节代表参数K, 它是一个4位二进制数,取值从0到15。它代表了将要传输的历史字符T1,T2,TK的数目。4.2.4.2 接口字符TA1它的高半字节代表参数FI,低半字节代表参数DI。它们是用来表示SIM卡能支持的时钟转换因子F和比特调整因子D,还表示了SIM卡能支持的最高时钟频率f。它们的对应关系如下: 图4.2.4.2.1 接口字符TA1的意义 GSM Phase 2的SIM卡和ME除了支持F=372,D=1外还应该支持F=512,D=8。GSM 11.11规定,如果TA1不等于11,那么ME就会启动P

21、TS过程。4.2.4.3 接口字符TB1,TB2TB1,TB2。这两个字符主要是对编程电压Vpp和编程电流Ipp的要求进行编码。因为SIM卡不应该需要使用编程电压Vpp,GSM 11.11 规定:TB1 =00;TB2不予传输。如果TB1不等于00,那么ME设备会拒绝SIM卡。4.2.4.4 接口字符 TC1TC1上的8位有效数据是一个8位二进制数,取值从0到255。它代表了额外保护时间N(见4.2.3.2)的值,GSM 11.11规定,N=0或255,否则SIM卡会被拒绝。而当N=255时,表示接收和发送时的保护时间是相同的,都是2etu(即额外保护时间N=0)。如果SIM卡没有发送TA1,

22、TB1,TC1那么ME就会使用默认值:F=372;D=1;N=04.2.4.5 接口字符 TD1这个字符的高半字节表示Y2,它的含义与T0字符中的Y1类似,表示其后TA2,TB2,TC2和TD2是否被传输。低半字节表示协议类型T,它是一个四位二进制数,取值从0到15。最常用的传输协议如下: T=0表示异步半双工字符传输协议 T=1表示异步半双工块传输协议ME与SIM卡的通信,一般使用T=0协议,其字符帧结构和时序和4.2.3节描述的一样。如果TD1没有被传输,那么默认使用T=0协议。如果SIM卡除了支持T=0协议,还支持其他协议,那么在TD1字符,也应该优先表明支持T=0协议,再在后面TD2,

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

24、=1协议下使用,在此不再详述。4.2.4.9 历史字符T1-TK这些字符主要用于表示SIM卡的标识等文本信息,在此不再详述。4.2.4.10 校验字符TCKTCK的值等于从字符T0到TK的作异或运算后的值。如果SIM卡在ATR过程中表示只支持T=0协议,则不需要传输TCK。4.2.5 ATR过程的一个实例 名称 值 意义 TS 3B 正逻辑;低位b0先传输 T0 F0 接下来传输TA1,TB1,TC1,TD1;无历史字符 TA1 94 F=512,D=8,1etu=64个时钟周期,最大时钟频率5MHz TB1 00 不需使用编程电压Vpp TC1 00 不需额外保护时间 TD1 40 接下来传

25、输TC2;使用T=0协议 TC2 FF 使用最大工作等待时间(大于250,000个etus)4.2.6 PTS过程在协商模式下,ATR过程默认使用的参数F=372,D=1和TD1所表明的协议将会一直使用下去,直到一个成功的PTS过程完成。GSM 11.11规定,如果TA1不等于11,那么ME就会发起PTS过程。PTS过程包括ME的PTS请求和SIM卡的PTS应答。在GSM应用中,它们一般都由以下4个字符组成。如下图示:PTSS 初始字符 总为FF |PTS0 格式字符 高4位分别表示后面字符的存在,低半字节表示协议类型T |PTS1 参数字符 高半字节代表FI,低半字节代表DI(应与TA1匹配

26、) |PCK 校验字符 PTSS,PTS0和PTS1作异或运算图4.2.6.1 PTS过程如果SIM卡一直不响应PTS请求,则ME就会一直使用默认值F=372,D=1,N=0和协议T=0。4.2.7 PTS过程的一个实例 复位 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)来

27、承载的。 APDU应该使用=0协议来传输,它分为命令APDU和响应APDU。 命令APDU从ME发出,由5个字符的报头组成,有时还带有数据,格式如下:| CLA | INS | P1 | P2 | P3 | DATA1 |注:CLA 是命令类别,在GSM应用中固定使用A0 INS 是命令代码, 视不同的命令而定 , 是命令参数,视不同的命令而定 是数据长度表示命令期间传输数据字符的数目(可以是ME向SIM输入数据的长度DATA1,也可以是SIM向ME返回的数据的长度DATA2)。当数据从SIM卡发出时,=00代表数据长度为个字符。当数据从ME发出时,=00代表无数据传输。 图4.3.1. 命令

28、APDU的格式 响应APDU从SIM卡发出,包含两个字符的报尾,有时之前还带有数据,格式如下:| DATA2 | SW1 | SW2 |注:SW1,SW2 是状态字,表示命令是否成功执行 SW1,SW2=90,00表示命令正常结束 SW1,SW2=91,XX表示SIM卡要传送命令给ME SW1,SW2=9F,XX表示有XX长度的响应数据 SW1,SW2=94,04表示找不到文件,或参数错误 SW1,SW2=6D,00表示不明指令 其它一些编码请参阅GSM 11.11的第9章 图4.3.2 响应APDU的格式 为了更好的控制APDU的时序,ISO7816-3规定APDU是“分节”传输的。ME首先发送5个字节的命令头(CLA,INS,P1,P2,P3),然后等待SIM

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

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