为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

SIM卡读卡器的研究与设计

2013-01-30 5页 pdf 231KB 25阅读

用户头像

is_978427

暂无简介

举报
SIM卡读卡器的研究与设计 SIM卡读卡器的研究与设计 周劼男,石江宏,王 � 洪 (厦门大学 � 福建 厦门 � 361005) 摘 � 要: GSM 数字蜂窝通信系统中的用户识别模块( SIM 卡)是一种带微处理器的封装在塑料片上的 IC 卡, 他提供两个 方面的功能:业务的保密接入性能和数据的可移植性。着重研究了接触式集成电路 IC 卡标准 ISO7816,提出了一种 SIM 卡 读卡器的设计方案,并给出了具体测试步骤与测试结果,证明了该设计的可行性。 关键词: SIM 卡;读卡器; ISO7816 标准; GSM 中图分类号: T N92�...
SIM卡读卡器的研究与设计
SIM卡读卡器的研究与 周劼男,石江宏,王 � 洪 (厦门大学 � 福建 厦门 � 361005) 摘 � 要: GSM 数字蜂窝通信系统中的用户识别模块( SIM 卡)是一种带微处理器的封装在塑料片上的 IC 卡, 他提供两个 方面的功能:业务的保密接入性能和数据的可移植性。着重研究了接触式集成电路 IC 卡标准 ISO7816,提出了一种 SIM 卡 读卡器的设计,并给出了具体测试步骤与测试结果,证明了该设计的可行性。 关键词: SIM 卡;读卡器; ISO7816 标准; GSM 中图分类号: T N92� � � � � 文献标识码: B � � � � � 文章编号: 1004 373X( 2007) 08 051 05 Research and Design on Subscriber Identity Module Reader ZH OU Jienan, SH I Jianghong, WANG H ong ( Xiamen U niversity , Xiamen, 361005, China) Abstract: In GSM digital cellular telecommunication system, the Subscr iber Identity Module ( SIM card) is a kind of int e� g rated cir cuit card encapsulated on plast ic sheet. SIM cards, w ith the micropr ocesso rs, pr ov ide tw o functions: priv ately ser vice access and data t ransplantat ion. T he internat ional standa rd ISO7816 on contact integ rated circuit card is mainly r esear ched. A design on SIM card reader is pr oposed, the deta iled test st eps and result s are also presented in this paper, w hich show the feasi� bility of design. Keywords: SIM card; card r eader; ISO 7816; GSM 收稿日期: 2006 09 01 1 � 引 � 言 SIM 卡( Subscriber Identity Module) , 即用户识别模 块,是一张符合 GSM 规范的�智慧卡 。SIM 卡可以插入 任何一部符合 GSM 规范的移动电话中, � 实现电话号码随 卡不随机的功能 ,而通话费则自动计入持卡用户的帐单 上,与手机无关[ 1]。 SIM 卡作为智能卡中特殊的一类卡,采用标准的接触 式 IC卡。他受到 ISO7816 标准(接触式集成电路 IC卡的 规定)和 ETSI( 欧洲电信标准委员会)的 GSM11. 11 等标 准的规范。他沿袭了智能卡在安全中的特色,并在移动用 户认证和移动商务中扮演重要的角色[ 2]。 目前手机用户将一些重要的电话号码都储存在手机 的 SIM 卡上。如果手机失窃,用户可以买一部新的, 但是 储存的号码怎么办呢? 如果用户能事先将储存在 SIM 卡 上的电话号码做一份电子拷贝,这样就算手机丢失了, 用 户还是可以很容易地将保存的号码写入到新的 SIM 卡 里。为此, 研究并设计了 SIM 卡读卡器,通过他可以将手 机 SIM 卡中信息读取到电脑中,方便地实现电话簿和短 消息的编辑、备份和管理。为经常使用手机的用户提供了 一个经济、便捷的信息备份管理解决方案。 2 � SIM卡常识 SIM 卡是一张符合 GSM 规范� 智能卡 , 他实际上是 一个装有微处理器的芯片卡,内部有 5 个模块, 且每个模 块都对应一个功能: CPU ( 8位)、程序存储器( 3~ 8 kb)、工 作存储器( 6~ 16 kb)、数据存储器( 128~ 256 kb)和串行通 信单元。SIM 卡能实现存储数据(电话本、短消息等)和在 安全条件下(个人身份号码 PIN、鉴权钥 Ki 正确 )完成客 户身份鉴权和客户信息加密算法的全过程。这些功能都 是由 SIM 卡内的一部具有操作系统的微处理机完成。 SIM 卡具有机卡分离 ( SIM�ME 接口 )、通信安全可靠、成 本低等特点[3]。 ( 1) SIM 卡的物理特征: 可以分尺寸为 54 mm ! 84 mmID�1 SIM( 大卡 ) 和尺寸为 25 mm ! 15 mmPlug�in SIM(小卡)两种。 ( 2) SIM 卡的存储容量:一般 SIM 卡有 8 kB的存储 容量,另外还有容量分别为 16 k 和 32 k 的 SIM 卡, 即 STK SIM 卡。 ( 3) SIM 卡的使用温度:标准温度- 25~ + 70 ∀ ,极 限温度- 35 ~ 85 ∀ , 极限情况下每次使用不得超过 4小时,总共使用不得超过 100 次。 ( 4) SIM 卡的使用寿命:物理寿命是取决于客户的插 拔次数,约在 1万次左右;而集成电路芯片的寿命取决于数 51 #现代电子技术∃2007年第 8期总第 247期 � � 新型元器件 据存储器的写入次数, 不同厂家其指标有所不同, 就 Mo� t orola经试验室试验约 5万次左右。平均寿命约为 4 年。 3 � SIM卡与移动台设备的接口 SIM 卡芯片有 8 个触点,与移动台设备相互接通[ 3] : ( 1) 电源 VCC(触点 C1) : 4. 5~ 5. 5 V, ICC< 10 mA ; ( 2) 复位 RST (触点 C2) ; ( 3) 时钟 CLK(触点 C3) :卡时钟 3. 25 MH z; ( 4) 不提供(触点 C4) ; ( 5) 接地端 GND(触点 C5) ; ( 6) 编程电压 VPP(触点 C6) ; ( 7) 数据 I/ O口(触点 C7) ; ( 8) 不提供(触点 C8)。 SIM 卡同移动台设备连接时至少需 5 个连接线:数据 I/ O 口( Data)、复位 ( RST )、接地端 ( GND)、电源 ( VCC)、 时钟( CLK )。他与基带单元的接口电路如图 1 所示。其 中 SIM CD为 SIM 卡检测脚, 用于检测 SIM 卡的拔插; SIM CLK 为ME提供的读/写 SIM 卡的参考时钟; SIM RST 为 SIM 卡复位信号; SIM IO 为串行数据输入/输出 线,由 20 k� 上拉电阻上拉至高电平; SIM RnW 为读/写 控制信号,用以指示当前 SIM IO 线上数据传输的方向; SIM PWCTRL 为功率控制信号,可在空闲方式时控制 SIM 卡上的电源关闭,从而降低功耗,延长待机时间。 图 1 � SIM 卡与基带单元的接口电路图 4 � SIM卡内部数据结构 SIM 卡共有 3 类数据文件: 主文件 ( Mast er File, MF)、专用文件 ( Dedicate File, DF )、基本文件 ( Element File, EF) [4]。组织结构规定如下: 0x3F00代表根目录, 0x2FXX 代表根目录下的基本 文件; 0x7FXX代表一级子目录, 0x6FXX代表一级子目录 下的基本文件; 0x5FXX代表二级子目录, 0x4FXX代表二级子目录 下的基本文件。 5 � SIM卡上电复位流程 SIM 卡符合国际标准 ISO7816的要求,按照中的 规定, SIM 应有 8 个触点,包括电源接口、复位控制接口、 时钟输入接口、数据输入输出接口, SIM 卡工作时整体电 流消耗小于 10 mA。SIM 卡的时钟频率可由外部提供,在 指定时间内运行鉴权过程时至少需要 13/ 4 MHz 的时钟 频率,其他情况下, 使用最小为 13/ 8 MH z 的时钟频率。 I/ O 端口的数据传输波特率为时钟频率的 1/ 372[ 4]。 5. 1 � 触点接通与冷复位时序( Act iv at ion and co ld re� set ) � � 初始时,所有端口皆处于低电平( L)态,电压范围 0~ 0. 4 V; VCC电源电压先上电( H 态 ) , 后提供 VPP 编程电 压,在智能 SIM 卡中, VPP端无用, 电压范围 5 V % 0. 4 V; VCC电源端稳定一段时间后,将 IO端口置为接收方式( H 态) ,并提供稳定的 CLK 时钟信号 (注: IO口需在提供 CLK 信号前或在提供 CLK信号后 200个时钟周期内( ta)置为接 收方式) ; RST 复位信号需在提供 CLK 信号后 400 个时钟 周期内( tb)保持 L 态,之后才可置为H 态;提供复位信号后 400~ 40 000个时钟周期内( tc ) , I/ O口有复位应答。 图 2� 触点接通与冷复位时序 5. 2 � 热复位时序( Warm reset) 热复位在冷复位失败情况下使用, 过程中保持 VCC 为H 态, 且有稳定的 CLK 时钟信号; 热复位时需保持 RST 端为 L 态的时间至少为 400个时钟周期( te ) ;在 RST 端置 L 态之前或之后 200 个时钟周期时间内( td ) , IO 口应 置为接收方式;在 RST 置为 H 态后的 400~ 40 000 个时 钟周期内, I/ O 口有复位应答。 5. 3 � 时钟停止时序( Clock stop) 外部控制停止时钟,可使 SIM 卡通信暂时中断,过程 中保持 VCC端与复位端 RST 为 H 态;要停止时钟, 需在 I/ O 口输出最后一个字符之后等待至少 1 860 个时钟周期 ( tg ) ;恢复时钟后至少等待 700个时钟周期( th ) , I/ O 开始 有字符输出。 5. 4 � 触点释放时序( Deact ivat ion) 将 RST 端置为 L 态;结束 CLK 输入并将 I/ O 口置为 L 态;最后将 VCC端置为 L 态。 5. 5 � SIM 卡的复位应答 SIM 卡的触点被激活之后,终端启动一个冷复位。如 52 消 费 电 子 周劼男等: SIM 卡读卡器的研究与设计 果 SIM 卡在冷复位后回送的字节数不符, 或在 19 200 个 初始 etu之内复位应答未完成,终端不立即终止卡片操作 过程,而是再发一个热复位信号。如果仍然得到同样的结 果,那么,接口设备应释放触点,否则卡将继续进行后续操 作。流程如图 6所示[ 5]。 图 3� 热复位时序 图 4 � 时钟停止时序 图 5 � 触点释放时序 复位应答最多为 32个字节(包括历史字符,不包括初 始字符) ,其中历史字符最多为 15 个字符,协议分为 T = 0 与 T= 1两种,一张 SIM 卡只支持其中的一种协议。位持 续时间:在 IO 上的位持续时间被定义为一个基本时间单 元 etu。复位应答期间的位持续时间称为� 初始 etu 。初 始 etu= 372/ f s= 372个时钟周期。复位应答之后的位持 续时间称为� 当前 etu ,当前 etu= F/ D / f s。F 为时钟频 率变换因数, D为比特率调整因数,均在 SIM 卡复位应答 的接口字符 TA1 中给出,缺省值为 F= 372, D= 1,即复位 应答之后的当前 etu= 初始 etu。复位应答过程中相连两 字符起始位前沿之间的最小时间间隔为 12 个初始 etu,最 大时间间隔为 9 600 个初始 etu,所有应答字符在19 200个 初始 etu 的时间内传送完,即从第一个字符的起始位前沿 到最后一个字符起始位前沿后的 12 个初始 etu结束)。 图 6 � 复位应答流程图 复位应答格式: T S TO TA1 TB1 TC1 TD1 TA2 TB2 TC2 TD2 & T 1 & TK TCK TS � 初始字符( 强制性的) , 确定后续字符传送顺序 (高位先送还是低位先送) ; TO � 格式字符(强制性的) ; TA1/ TB1/ TC1/ TD1~ TAi/ TBi/ TCi/ TDi � 接口字 符(选择性的) ; T 1~ TK � 历史字符(选择性的) ; TCK � 校验字符(有条件的) T= 0 时不出现。 6 � SIM卡信息交互规程 6. 1 � SIM 卡信息交互指令格式[ 3] 6. 1. 1 � 命令格式 CLA INS P1 P2 P3 DATA CLA � 命令类别代码, GSM 为 0xA0; INS � 指令编码; P1/ P2/ P3 � 指令参量, P3 由 INS决定,代表通讯的数 据信息长度,有指令与响应两个方向; DATA � 指令附加数据。 6. 1. 2 � 应答格式 DAT A SW1 SW2 DATA :响应数据; 53 #现代电子技术∃2007年第 8期总第 247期 � � 新型元器件 Apple 高亮 SW1/ SW2:返回命令状态。 6. 1. 3 � 通用错误返回代码表 返回代码 错误 0x6E 0xXX CLA 错误 0x6D 0xXX INS无法识别 0x67 0xXX P3参量不正确 0x 6B 0xXX P1或 P2参量不正确 0x 6F 0xXX 技术问,无法识别错误返回 6. 2 � 常用的基本指令 6. 2. 1 � 目录或文件选择指令( SELECT ) 选择一个文件,选择成功后,对线性固定型文件,记录 指针不确定。对循环型文件,记录指针指向最近更新或增 加的一条记录。 0x A0 0xA4 0x 00 0x00 0x02 CLA= A0, 命令类别代码, GSM 为 0xA0; INS: 指令 编码, SELECT 为 A4; P1= 00, 按文件标识符选择; P2= 00,应答: DATA SW1 SW2 目录地址: Addres s High Byte Address Low Byte 正确命令响应为: 0x9F 0xXX 0x9F代表命令正确执行, XX 为 SIM 卡返回的数据 长度;返回 0x94/ 0x04, 代表给出的目录地址是错误的。 在复位应答之后( ATR) ,主要文件( MF)被默认为选中,成 为当前目录。然后, 可采用符合下列原则的 SELECT 功 能来选择每种文件[ 4] : ∋ 选择 DF 或 MF 设为当前目录; DF是在选择任何 他的 EF 之前被先选择出来 ( 选择 EF设为当前文件, DF 或 MF 是 EF的上层。 当前 EF 总是当前目录的下层。 可选择的文件包括: 属于当前目录的直接子文件; 属 于当前 DF的父文件的直接子 DF; 当前目录的上层; 当前 DF; MF。 6. 2. 2 � 取前一命令应答数据指令( GET RESPONSE) 0xA0 0xC0 0x 00 0x00 Length( R ) Length( R ) :响应数据最大长度。 全部命令响应为: DAT A( 35 b ytes) 0x90 0x00 0x90/ 0x00代表命令正确执行。 6. 2. 3 � 从透明的数据文件中读取以二进制形式存储的 字节串指令( READ BINARY) 0xA0 0xB0 Of fset Of f set Length( R ) Off set :要读取数据的偏移地址; Length( R ) :响应数据最大长度。 全部命令响应为: DAT A( 35 b ytes) 0x90 0x00 0x90/ 0x00代表命令正确执行; 返回 0x94/ 0x00,代表 没有数据文件被选中,即当前被选中的可能是目录而不是 文件;返回 0x94/ 0x08,代表当前目录或数据文件与指令 不一致, 即当前数据不是以二进制形式存储的; 返回 0x98/ 0x04,代表本次操作不满足存取安全规则, 密码认证 未通过。 7 � SIM卡数据读写测试 SIM 卡数据读写测试的具体步骤及其结果如下: St ep1 � SIM 卡首先上电复位,原则是先接通触点,后 启动冷复位,若冷复位失败,启动热复位,若热复位也不成 功,则释放触点并报错。冷复位或热复位成功后, SIM 卡 应输出复位应答。 实验测试中取得的复位应答信号如下: 0x3B 0x67 0x00 0x00 0x29 0x30 0x 00 0x32 0x68 0x9F 0x22 0x3B代表协议为正向约定; 0x67 代表 TB1与 T C1出 现,历史字符字节数为 7; 0x00 代表不需要 VPP; 0x29~ 0x22为 7个历史字符。 Step2 � 复位成功后,发送目录选择指令,将当前目录 选取到 GSM 目录,指令如下: 0xA0 0xA4 0x00 0x00 0x02 0x7F 0x20 7F20为 GSM 目录地址; SIM 卡返回: 0x9F 0x22 代表命令正确执行,且响应字符有 34个字节。 Step3 � 发送取命令响应数据指令: 0xA0 0x C0 0x00 0x00 0x22 54 消 费 电 子 周劼男等: SIM 卡读卡器的研究与设计 Apple 高亮 0x22代表指令返回数据最大为 34 个字节; SIM 卡返回: 0xC0 0x00 0x00 0x00 0x05 0x7F 0x20 0x02 0x00 0x00 0x00 0x00 0x00 0x15 0x91 0x00 0x18 0x02 0x00 0x83 0x8A 0x83 0x8A 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x90 0x00 0xC0 代表响应数据对应的指令为 SELECT ; 0x90/ 0x00代表命令正确执行。 Step4 � 再次发送目录选择指令, 将当前目录选取到 IMSI目录,指令如下: 0x A0 0xA4 0x 00 0x00 0x02 0x6F 0x07 6F07 为 IMSI数据目录; SIM 卡返回: 0x9F 0x0F 代表命令正确执行,且响应字符有 15个字节。 Step5:发送取命令响应数据指令: 0x A0 0xC0 0x 00 0x00 0x0F 0x0F代表指令返回数据最大为 15 个字节; SIM 卡返回: 0xC0 0x00 0x00 0x00 0x09 0x 6F 0x07 0x04 0x00 0x14 0xFF 0x14 0x01 0x02 0x00 0x00 0x90 0x00 0xC0 代表响应数据对应的指令为 SELECT ; 0x90/ 0x00代表命令正确执行。 Step6 � 选取到所需要进行操作的目录后,执行读取 数据指令,由于 IMSI号是以二进制形式存储的,所以使用 二进制数据读取指令: 0x A0 0xB0 0x 00 0x00 0x09 0x00代表数据偏移地址为 0,即从第一个字节开始读 数据; 0x09表示 IMSI信息有 9个字节; SIM 卡返回: 0x B0 0x08 0x49 0x 06 0x00 0x 10 0x40 0x55 0x59 0x24 0x90 0x00 0xB0代表响应数据对应的指令为 READ BINARY; 0x08代表 IMSI号有 8个字节数据; 0x90/ 0x00 代表命令 正确执行。按照协议,该 SIM 卡 IMSI号即为: 460 00 0104559542, 符合国际移动用户识别码 IMSI ( Internat ional Mobile Subscriber Ident ificat ion Number)的 编码规则,即 IMSI (国际移动用户识别码) = MCC( 移动 国家号) + MNC(移动网号) + MSISDN(移动用户号码)。 8 � 结 � 语 SIM 卡符合 GSM 规范,采用标准的接触式 IC卡,受 到 ISO7816标准的规范。本文在研究接触式集成电路 IC 卡国际标准 ISO7816 的基础之上,提出了一种 SIM 卡读 卡器的设计方案,针对 SIM 卡信息交互规程给出了具体 的测试步骤,测试结果证明了该设计的可行性,读卡器能 够稳定可靠地工作。 参 � 考 � 文 � 献 [ 1] [美] Sco tt B Gothery , T imot hy M Jurgensen. 智能卡开发者 指南[ M ] .邵建平, 陈清, 夏凌, 等, 译. 北京: 电子工业出版 社, 2000. [ 2] 深圳亚科希资讯. 智能卡应用全书 [ M ] . 深圳: 亚社国际出 版社出版, 2001. [ 3] 王卓人,邓晋钧, 刘宗祥. IC 卡的技术与应用[ M ] . 北京: 电 子工业出版社, 1999. [ 4] Int ernational O rganizat ion of St andardization ( ISO ) . Excerpt from ISO Draft International Standard 7816- 4: Smar t Card Standard Par t 4� Int erindustr y Commands for Interchange. URL : http: / / ww w . cardw erk. com/ smartcards/ smar tcard st andard ISO7816�4. [ 5] [德] Wolfgang Rankl, Wolfgang Effing . 智能卡大全: 智能 卡的结构) 功能) 应用[ M ] . 3 版. 王卓人, 王锋,译. 北京: 电子工业出版社, 2002. [ 6] 叶伟春.金卡工程[ M ] . 上海:上海译文出版社, 2003. 作者简介 � 周劼男 � 女, 1982年出生 ,四川成都人, 硕士研究生。主要研究方向为无线通信。 石江宏 � 男, 1968年出生 ,福建福州人, 讲师。主要研究方向为无线通信。 王 � 洪 � 男, 1982年出生 ,福建福州人, 助理工程师。主要研究方向为无线通信。 欢迎订阅 2007年度#现代电子技术∃(半月刊) 邮发代号: 52- 126 � 定价: 15元/期 � 360元/年价 电话: 029- 85393376 � � 传真: 029- 85397961 55 #现代电子技术∃2007年第 8期总第 247期 � � 新型元器件 Apple 高亮
/
本文档为【SIM卡读卡器的研究与设计】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索