(通信与信息系统专业论文)利用pc对移动通信终端usim卡管理的研究应用.pdf_第1页
(通信与信息系统专业论文)利用pc对移动通信终端usim卡管理的研究应用.pdf_第2页
(通信与信息系统专业论文)利用pc对移动通信终端usim卡管理的研究应用.pdf_第3页
(通信与信息系统专业论文)利用pc对移动通信终端usim卡管理的研究应用.pdf_第4页
(通信与信息系统专业论文)利用pc对移动通信终端usim卡管理的研究应用.pdf_第5页
已阅读5页,还剩90页未读 继续免费阅读

下载本文档

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

文档简介

摘要 摘要 随着移动通信技术的发展,手机成为人们日常生活中必不可少的通信 工具,而s i m u s i m 卡在第二代移动通信和第三代移动通信系统中担任了 重要的角色,卡片内不仅存储着用户重要的帐户信息,还能完成鉴权加密 等简单计算,并配合网络端完成鉴权和加密等功能,对用户来说, s i m u s i m 卡就是一个个人电话号码帐户,卡内还存储着个人电话簿和短 信息等私人信息,随着s i m u s i m 卡容量的增大,卡片内存储的信息必然 增加,手机终端的便携性另一方面也导致了其容易丢失,因此我们有必要 对卡片内的私人信息进行备份和管理,利用性能强大的计算机对u s i m 卡 进行管理是比较方便和可行的办法。因此需要了解u s i m 卡的工作原理以 及其通信方式,这样可以根据需要开发出各种管理u s i m 卡文件的工具软 件。 本文首先给出s i m 卡的概念,并介绍了其发展过程和在即将到来的第 三代移动通信系统内将使用到的u s i m 卡,文章以u s i m 卡为对象介绍了 卡片的结构及卡内的文件系统,分析了u s i m 卡和外部器件的通信原理和 过程,并分析了卡片通信的指令的结构开发过程将这个系统分为两部分, 一部分是通信终端通信系统的开发,另一部分是计算机端系统的开发,两 个系统通过串口进行通信。通信终端部分包括u s i m 卡的驱动过程,上层 s a p 模块通过u s i m 驱动获取文件内容过程,以及上层a t 命令和底层交 互过程,并详细说明了关于对短消息、p i n 码、电话簿操作的a t 命令过 程,并详细分析了关于短消息p d u 的几种编解码方法。在计算机端系统 中,针对常用需求给出软件总体设计构架和具体功能模块的组成,并分析 各功能模块功能如何实现 文章最后介绍了系统界面和测试运行,并针对目前的不足对今后进一 步的工作进行了总结 关键词:s i m 卡u s i m 卡a t 指令p d u 编解码 n l 重庆邮电大学硕士论文 a b s t r a c t w i t ht h er a p i dd e v e l o p m e n to f m o b i l ec o m m u n i c a t i o nt e c h n o l o g y ,m o b i l e p h o n eb e c o m et h ea b s o l u t e l yn e c e s s a r i l yc o m m u n i c a t i o nt o o l si np e o p l e s d a i l yl i f e ,a n dt h es i m u s i mc a r dp l a y sa ni m p o r t a n tr o l ei nt h e2 n da n d3 r d g e n e r a t i o nw i r e l e s sc o m m u n i c a t i o ns y s t e m ,i tn o to n l ys t o r e st h ea c c o u n t i n f o r m a t i o nb u ta l s oc o m p u t ec i p h e rf o ra u t h e n t i c a t i o na n de n c r y p t i o nw i t h n e t w o r kc o o p e r a t i o n ,t oo u rn o r m a lu s e r s ,t h ec a r di sj u s tap e r s o n a lm o b i l e p h o n en u m b e ra c c o u n t ,a n di ts t o r e sp e r s o n a li n f o r m a t i o nj u s tl i k ep h o n eb o o k a n ds h o r tm e s s a g e s w i t ht h ed e v e l o p m e n to ft h ec a p a c i t yo fc a r d ,u s i mc a r d w i l ls t o r em o r ei n f o r m a t i o nt h a nb e f o r e ,t oe s c a p ef r o mt h el o s so fp e r s o n a l i n f o r m a t i o no ft h ec a r dw h e nl o s i n gm o b i l ep h o n e ,w eh a v et ob a c k u po u r p e r s o n a li n f o r m a t i o no fo u rc a r d ,a n di ti sac o n v e n i e n tw a yt or e a c ho u rg o a l b yu s i n gp e r s o n a lc o m p u t e r s oi t i s n e c e s s a r yt ok n o wt h eu s i mc a r d w o r k i n g a n dc o m m u n i c a t i o n p r i n c i p l e w e l lt o d e v e l o p u s i mc a r d m a n a g e m e n ts o f t w a r e a tf i r s t ,t h ep a p e ri n t r o d u c e st h ed e f i n i t i o n ,d e v e l o p m e n to fs i mc a r d , a n du s i mc a r dw h i c hw i l lb eu s e di nt h ec o m i n g3 r dg e n e r a t i o nw i r e l e s s c o m m u n i c a t i o ns y s t e m ,a n dt h e ni ti n t r o d u c e st h ec o n s t r u c t i o na n df i l es y s t e m o fu s i m c a r d ,a n a l y z ei t sc o m m u n i c a t i o np r o c e s s ,s t r u c t u r eo fc o m m a n d sa n d r e s p o n s e s t h ep a p e rd e m a r c a t e st h es y s t e mi n t ot w om o d u l e s ,o n ei st h eu s e r e q u i p m e n tc o m m u n i c a t i o ns y s t e m ,a n o t h e ro n ei st h ep e r s o n a lc o m p u t e r m a n a g e m e n ts y s t e m ,a n dt h et w os y s t e m s i sc o n n e c t e d b y s e r i a l c o m m u n i c a t i o n t h eu es i d ei n c l u d eu s i mc a r dd r i v ep r o c e s s ,t h es a p m o d u l ew h i c hi st h eu pl a y e ro fd r i v em o d u l eg e t su s i mf i l eb yc a l l i n gu s i m d r i v em o d u l e ,i ta l s oa n a l y z et h ea tc o m m a n d e x c h a n g ep r o c e s sb e t w e e nh i g h l e v e la n du n d e r l a y e ra b o u ts m s ,p i nc o d ea n dp h o n eb o o k ,a n df i n a l l y a n a l y z es e v e r a le n c o d e ,d e c o d ea r i t h m e t i ca b o u ts m sp d u i nt h ec o m p u t e r s i d e ,i ta n a l y z e sa n dd e s i g n st h es y s t e mr e q u i r e m e n ta n dt h er e a l i z a t i o no fi t s s p e c i f i cm o d u l e f i n a l l y , t h ep a p e ri n t r o d u c e st h es y s t e mi n t e r f a c ed e s i g na n do p e r a t i o n t e s t ,a n ds u m m a r i z e st h ed e s i g ne x p e r i e n c ea n dt h ew o r kt h a ts h a l lb ed o n ei n f u t u r e k e yw o r d s :s i mc a r d u s i mc a r da tc o m m a n dp d ue n c o d e d e c o d e 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作及 取得的研究成果。据我所知,除了文中特别加以标注和致谢的地方外,论 文中不包含其他人已经发表或撰写过的研究成果,也不包含为获得重庞 整曳太堂或其他教育机构的学位或证书而使用过的材料。与我一同工作 的同志对本研究所做的任何贡献均己在论文中作了明确的说明并表示谢 意。 学位论文作者签名: 诬锯 , 签字日期:2 年,月抄日 学位论文版权使用授权书 本学位论文作者完全了解重废鲣盥太堂有关保留、使用学位论 文的规定,有权保留并向国家有关部门或机构送交论文的复印件和磁盘, 允许论文被查阅和借阅。本人授权重庆邮电盔堂可以将学位论文的 全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等 复制手段保存、汇编学位论文。 ( 保密的学位论文在解密后适用本授权书) 学位论文作者签名 万韶 导师签名: 签字日期:勘7 年f 月知日签字日期 1 1 日 聊 中期 敛 年 芬印 第一章绪论 1 1 研究背景 第一章绪论 随着移动通信和电子技术的不断发展,手机越来越成为人们日常生活 工作中不可缺少的通讯工具,据信产部预计,2 0 0 6 年底我国移动电话用户 数将达4 5 9 亿,占电话用户总数的5 5 1 6 ,随着第三代移动通信网络的 建设及运营,将会有越来越多的人使用移动电话服务。而作为移动终端中 识别个人用户最重要的设备s i m 卡也显得越来越重要。因为现在我国所使 用的主要是基于g s m 技术和c d m a 技术的第二代网络( 模拟无线网络为 第一代) ,它将会被升级到2 5 g 和3 g 网络,这从速度和性能来讲是一个 非常大的跨越,虽然世界各地实旅下一代网络的技术和时间表各不相同, 但各地的服务提供商们都意识到,在网络升级的过程中和升级以后,保持 s i m 卡正常工作的重要性,因为s i m 卡要管理数据在不同级别的网络和不 同物理位置之间的漫游,而对我们普通用户来说,s i m 卡上不仅存储着我 们作为某个无线网络合法用户的帐户信息更重要的是它存储着我们的个 人隐私,例如电话簿信息,收发短信的信息,如果卡内置s t k 功能 15 】, 还有移动银行,移动炒股帐户等重要信息,在3 g 时代随着s i m 卡更换为 功能和容量更为强大的u s i m 卡,卡片将存储更多的信息资料l i 引。 而现实情况是很多用户并没有经常对u s i m 卡中资料进行备份的习 惯,许多联系人的电话或者重要的短信都存储于u s i m 卡中,这些都是工 作和生活中宝贵的资源,一旦手机丢失,这些重要的信息将伴随着u s i m 卡一起丢失现在国内运营商已经有了保号服务,即u s i m 卡丢失,更换 新的卡片后仍能保留原来的号码,但是除了帐户信息,卡中的其它信息将 是空白的,为了保护用户u s i m 卡中的重要信息,某些发达地区的运营商 推出了一种电话簿上传的服务,即将用户u s i m 卡中的信息上传至网络端 服务器中保存,如果用户手机丢失,补办新的u s l m 卡后仍能通过网络将 原来在网络端备份的电话簿信息下载至新u s i m 卡中,尽量减少用户的损 失,但是在国内大陆的运营商还没有推出这项服务,因此我们希望通过功 能强大而且十分普及的计算机对u s i m 卡中的重要信息进行本地管理和备 份,纵然3 g 服务开通后,运营商可能也会提供u s i m 卡内资料上传备份 的服务,但是不难想象,自己利用计算机对自己的信息备份仍然是一种方 重庆邮电大学硕士论文 便快捷经济的方式。 本文主要是通过u s i m 卡文件管理应用平台的工程研发,详细地剖析 了u s i m 卡的文件结构。u s i m 卡与外部的通信机制,终端上层模块如何 获得关于u s i m 卡文件内容的信息,最后讲述了通过计算机对u s i m 卡中 文件进行管理和存储,从而全面的分析了管理u s i m 卡文件的整个系统, 这对以后深入开发相关系统是有帮助的,文章中我们列举了对部分文件的 管理,在实际的工程中我们可以根据需要对卡片内的任何可操作文件进行 操作管理。 1 2s lm 卡的基本概念 s i m 卡是s u b s c r i b e ri d e n t i t ym o d u l e 的缩写,是国际移动用户身份识 别模块,简称用户识别卡,它是一张符合g s m 规范的“智能卡”,是g s m 数字移动电话的核心它将一个集成电路芯片镶嵌于塑料基片中,封装成 卡的形式,其外形与覆盖磁条的磁卡相似。早期的s i m 卡典型的有3 k 字 节内存,运行速度是每秒三分之一m i p ( m i l l i o ni n s t r u c t i o np e rs e c o n d , 百万条指令每秒) ,现在大多数s i m 卡有6 4 k 字节内存,速度为每秒二分 之一m i p ,为了处理虚拟机和更大的应用程序,现在高端的s i m 卡已经能 够支持1 2 8 k 内存存储容量的s i m 卡l l 】。 s i m 卡的制作是严格按照i s 0 7 8 1 6 国际标准和规范来完成的。一张 s i m 卡可以插入任何一部符合g s m 规范的移动电话中,实现电话号码“随 卡不随机”的功能,而通话费则自动记到持卡用户的账单上,与所用的手 机无关。这样,每一张s i m 卡就代表一个移动电话用户因而能有效地避 免“并机”行为,保护用户的利益不受损失s i m 卡的功能,主要是存储 数据和在安全条件下完成用户身份鉴权和用户信息算法的全过程。s i m 卡 存储用户的有关资料以及难以破译和复制的个人密码等许多信息,同时它 还有一个记忆系统,可作为个人电话簿,以及存储短信等有用的信息。 1 2 1s l 能卡的发展过程 在从开始被使用到最近的一段时间里,s i m 卡都是一个8 位的控制器, 通常是i n t e l8 0 5 1 或者m o t o r o l a6 8 0 5 。s i m 卡中的内存数量却一直在增长, 最初只是由2 5 6 字节的r a m 和3 k 字节的e p r o m 组成,现在r a m 已经 增长到1 0 2 4 字节,e p r o m 也增长到3 2 k 字节。s i m 卡使用的所有软件一一 操作系统,文件处理系统和a p d u 的代码都被烧入固化在3 2 k 或6 4 k 字 2 第一章绪论 节大小的r o m 中。8 0 多个数据文件则保存在e e p r o m 中,r a m 则被用 作s i m 卡与手机之间通信的i o 缓冲区。这就是s i m 卡执行加密操作以及 提供一些其它不太重要的相关服务( 例如存储经常使用的电话簿) 所需要 的一切1 6 1 。 从2 0 世纪9 0 年代中期开始,很多新的应用开始在手机上出现;s i m 卡也逐渐开始演变为功能很强的应用平台。很显然,这给s i m 卡操作系统 及硬件带来了很大的压力。软件也逐渐向虚拟机方向( 尤其是j a v a 虚拟机) 发展以便容纳非电信应用,硬件在计算能力以及内存容量上有了很大提 高。 可以将s i m 卡简单分为3 代。第一代s i m 卡就是s i m 卡,只包含纯 粹的s i m 卡功能,s i m 卡所能做的也只是s i m 卡功能,智能卡硬件也仅 仅是提供s i m 卡功能。 二至亟匹二 三互叵互至 g s l1 1 1 1 用户标识模块一一移动装备 ( s i - 一e ) 接口 叵亟互曼圈 剀1 1 第一代s i l l 卡体系结构 第二代s i m 卡中,则可以添加很多其它的应用,s i m 卡仍是主要应用, 但是它可以调用其它应用来为用户创建客户服务 臣互巫堕巫口 图1 2 第二代s i np 体系结构 3 重庆邮电大学硕+ 论文 在当前第三代s i m 卡中,s i m 卡本身已经成为一种应用,并且所有的 应用在平台上都具有平等的地位。 匝亘互亘互囹 匪堕互受固 臣互互垂圃 i l s o7 8 1 8 - 4 文件系统 i 图1 3 第三代s i m 一体系结构 1 2 2s i m 卡与u s i m 卡的区别 g s m 的s i m 卡仅是一种单应用卡,它仅遵循g s m l l 1 1 规范,该规范 中定义s i m 卡上只能有一个应用,即g s m 应用。因此,它不能直接添加 额外的应用,而我们平时在使用的移动炒股、移动银行等应用都是通过 s t k ( s i k l 卡应用工具包) 来实现的1 9 】要不然,就是需要再在手机当中安 装额外的应用卡片来实现其它应用,技术的复杂可想而知而3 g 的u s i l 4 卡则不存在这种问题,它实现了平台和应用的分离。为此,3 g p p 组织专 门制定了u i c c 多应用平台规范u s i m 应用只是u i c c 平台上的第一个应 用,像以上提到的非电信应用或电信的增值应用其实就可以完全建立在 这个平台上,而且每个应用都可以遵循各自的行业规范,如e m v 、p b o c 、 社保规范,无需再安装其它的卡片,这种好处是显而易见的”】 为了实现u s i m 卡对多应用的支持,除了定义u i c c 平台外,u s i m 卡 的相关规范中还定义了其它一些变化 i 传输协议和平台特性:除支持t = o 外还要求支持t = i ;平台可以 支持4 逻辑通道。 2 应用和文件结构:引进了a d f 的概念和d i r 文件结构。 3 p i n 管理模式:采用通用p i n 、应用p i n 、本地p i n 的分级管理模 式。 4 第一章绪论 4 命令:各命令参数、状态字的变化;引入短文间标识符( s f i ) ,增 加w a n a g ec h a n e l 命令以支持多逻辑通道。 这些变化使u s i l 4 卡更加符合智能卡i s 07 8 1 6 规范,从而使多种应用 添加在u i c c 平台上成为可能。 u s i l 4 卡并不是只能做单纯的认证功能,事实证明它正在逐步向移动 商务平台、乃至最后的多应用平台过渡,在手机上实现电子钱包、电子 信用卡、电子票据等其它应用已不再是难事。这一特点使u s i w 卡成为了 不同行业跨领域合作、相互渗透经营的媒介,如银行可以参与电信的经 营,反之亦然【1 4 l 。 除能够支持多应用之外,u s i l 4 卡还在安全性方面对算法进行了升级, 并增加了卡对网络的认证功能,这种双向认证可以有效防止黑客对卡片 的攻击 1 3 本文研究的主要内容 本文在研究u s i m 卡文件结构、u s i m 卡通信过程、a t 指令、p d u 编 解码的基础上,对在u e 端中具体实现如何同u s i m 卡通信做了设计,包 括底层的u s i m 驱动模块部分,对u s i m 卡文件读取起控制作用的s a p 模 块部分,分离传送来自u e 端中m m i 和p c 端a t 命令的a t f i l 模块部分, 以及串口通信部分,并结合p c 的强大功能,设计并实现在p c 端对u s i m 卡文件的管理软件,在设计时考虑了系统的实用性、方便性和可扩展性。 在设计短信管理功能时。系统除了要能读取并解码来自普通移动和联通的 手机的短信,还可以读取并解码来自任意长度号码的咨询台的短信。其他 功能,如电话簿管理,p i n 码管理等都很方便实用 i 。4 论文结构 本文共分五章,各章的内容安排如下: 第一章介绍了对s i m 卡资料进行管理备份的意义,s i m 卡的概念和发 展,以及s i m 卡和u s i m 的区别。 第二章介绍了u s i m 卡的结构和文件系统,及其与外部的通信过程, 进而具体分析了u s i m 卡的传输协议和通信的指令结构,并结合实验室所 使用终端芯片分析其通信过程。 第三章从版图级结构介绍了关于u e 端控制u s i m 卡传输的几个模块 的功能,以及部分模块的结构设计,并详细讲述了控制u s i m 卡相关文件 重庆邮电大学硕十论文 操作的a t 指令的具体命令交互过程。 第四章介绍了在p c 端软件的功能需求,分析了关于短信p d u 编码的 详细格式,并给出了其编解码算法,最后介绍完成这些功能的具体模块的 实现方式。 第五章总结了本文所做工作,并探讨了进一步的研究方向。 6 第二章峪i - 卡的结构及通信方法 第二章u s i m 卡的结构及通信方法 2 1s im 卡的结构 s i m 卡是带有微处理器的芯片卡,内有5 个模块,每个模块对应一个 功能1 2 】:c p u ( 8 位) 、程序存储器r o h ( 6 1 6 k b i t ) 、工作存储器r a m ( 1 2 8 2 5 6 k b i t ) 、数据存储器e e p r o m ( 8 3 2 k b i t ) 和串行通信单元,这5 个 模块集成在一块集成电路中s i h 卡在与手机连接时,最少需要5 个连接 线( 触点) : 电源( v c c ) 时钟( c l k ) 数据i o 口( d a t a ) 复位( r s t ) 接地端( g n d ) 图2 1 接触式集成电路 7 重庆邮电大学硕+ 论文 表2 1 触点功能 触点功能触点编 功能 编号号 c lv c o ( 电源电压)c 5 g n d ( 接地) c 2 r s t ( 复位信号) c 6 v p p ( 编程电压) c 3 c l k ( 时钟) c 7i o ( 数据) c 4保留将来使用c 8 保留将来使用 s i w 卡内保存的数据可以归纳为以下四种类型【8 】: 由s i m 卡生产厂商存入的系统原始数据。 由g s m 网络运营商在将卡发放给用户时注入的网络参数和用户 数据 包括: 鉴权和加密信息k i ( k c 算法输入参数之一:密钥号) ; 国际移动用户识别号( i m s i ) ; a 3 :i w s i 认证算法: a 5 :加密密钥生成算法; a 8 :密钥( k c ) 生成前,用户密钥( k c ) 生成算法 由用户自己存入的数据。比如:电话簿,短信息,固定拨号,缩 位拨号,性能参数,话费记数等 用户在用卡过程中自动存入和更新的网络接续和用户信息类数 据。包括最近一次位置登记时的手机所在位置区识别号( l a i ) ,设置的周 期性位置更新间隔时间,临时移动用户识别号( t w s i ) 等 这些数据都存放在各自的目录项内,第一类数据放在根目录,当电源 开启后首先进入根目录,再根据指令进入相关的子目录,每种目录及其内 部的数据域均有各自的识别码保护,只有经过核对判别以后才能对数据域 中的数据进行查询、读出和更新。上面第一类数据通常属永久性的数据, 由s i m 卡生产厂商注入以后无法更改,第二类数据只有网络运营商的专 门机构才允许查阅和更新,而第三、四类数据中的大部分允许用户利用任 何手机对其进行读写操作s i w 卡能够储存多少电话号码取决于卡的 e e p r o m 的容量( 有8 k 、1 6 k 、3 2 k 容量,现在一般是3 2 k ) 另外有一种特殊的s i w 卡一一s t k 卡,s t k 是s i wc a r dt o o lk i t 的 缩写,意思是s i m 卡开发工具包,使用它可以对s i m 卡进行软件开发,从 而使其具备特殊的功能。s t k 可以理解为用于开发增值业务的小型编程语 第二章u s i - 脚自结构及通信方法 言,它允许基于智能卡的用户身份识别模块( s i m 卡) 运行自己的应用软 件。s t k 技术为s i m 卡的增值业务提供了可开发的环境,即一个简单、易 操作的开发平台。s t k 智能卡主要有5 种类型;记忆卡、处理器卡、电子 钱包卡、安全卡和j a v a 卡。 s t k 卡与普通s i m 卡相比,功能更强,容量更大,可以满足用户不同 的业务需求,及大容量电话簿的要求。目前,s t k 卡主要包括手机银行卡、 手机证券卡、移动梦网卡等。s t k 卡的容量有6 4 k 、1 2 8 k 的( 指的是其 e e p r o m 的容量) ,目前已经有了l m 容量的卡。一般说来,6 4 k 的s t k 卡能够支持5 0 条短信和1 5 0 组电话号码记录的存储。 2 2u sim 卡文件系统 由于u s i m 卡本质上是一张智能卡,也就是说它是一个单片机,因此, 它有自己的卡内操作系统( c h i p0 p e r a t i o ns y s t e m ) 和文件系统,c o s 是由芯片制造商在芯片制造时就已经固化在卡中。文件系统是c o s 的重 要模块之一,它负责组织、管理、维护u s i m 卡内存储的所有数据根据 树状的卡内文件结构,可以将文件划分为3 种不同的类型: 瞄2 2 卡片文件逻辑结构 2 2 1 主文件m f ( m a inf ii e ) 每张卡片文件系统的文件树中都只存在着一个根文件,其他所有文件 都是该文件的子( 孙) 文件,这个文件也是整个卡片的入口,每张卡片中 9 重庆邮电大学硕士论文 有且只有一个m f 。m f 也是文件系统中,最重要的一个文件,对卡片的操 作通常从选择m f 开始,由于这一操作的普遍性,c o s 在卡片复位时都自动 选择m f ,将其作为当前文件。此外,由于m f 的特殊性,通常将m f 的标识 符定义为o x 3 f 0 0 ,这样,对于不同的卡片,通常都可以通过这一默认的标 识符进行m f 的选择操作【3 1 。由于m f 不存在父文件,在卡片的应用阶段又 必须存在,所有在卡片的初始化阶段就必须建立m f ,除此之外m f 的其它 属性和d f 完全类似。 2 2 2 专用文件d f ( d e f :in i t i o nf ii e ) 在文件树中,除了m f 之外,所有包含子文件的文件都称为d f ( d e f i n i t i o nf i l e ,也叫做专用文件) ,d f 类似于p c 文件系统中的目录 文件,一般情况下,也可以将m f 看作是特殊的d f 。 如果把m f 看作卡片的逻辑映射的话,一个d f 往往可以看作是一类数 据或者一个应用在卡内的映射。通常,同级的d f 之间完全独立,c o s 能够 确保它们之间的数据独立性和安全性:对于不同级的d f 之间,包括具有 父子关系的d f ,在实际的应用阶段可以根据实际应用的定义实现隔绝或者 托管的安全逻辑。 为了标识不同的o f ,每一个d f 具有一个同级d f 下唯一的文件标识符 ( f i l ei d e n t i t y 简称f i d ) 和一个卡内全局唯一的应用标识符 ( a p p l i c a t i o ni d e n t i t y ,简称a i d ) 。 在实现上,f i d 通常采用一个w o r d 类型的整数来标识,而且其值为 o x l 0 0 的倍数,例如o x 3 f 0 0 ( 用于标识m f ) ,o x 4 f 0 0 ,o x 5 f 0 0 等等。o x l f 0 0 和o x 2 f 0 0 通常保留作为系统特殊文件标识应用标识符a i d 通常是一个 有限长的二进制串,通常作为该d f 对应的应用的简单描述使用f i d 和 a i d 都可以对当前文件子层d f 文件进行检索,如果使用o x 3 f 0 0 作为f i d 检索条件,则c o s 自动选择m f ;如果卡片资源允许的话,c o s 也可以实现 对卡片内所有d f 或者当前d f 以下包含的所有子( 孙) d f 文件进行检索, 这时一般采用a i d 作为检索条件 第二章u si 卡的结构及通信方法 表2 2g s w 应崩的d f 及其i d d f 文件名f i l ei dd f 文件名f i l ei d d f i r i d i u m 5 f 3 0 d f m e x e 5 f 3 c d f o l o b a l s t a r 0 5 f 3 1 d f e i a i t i a 5 5 3 5 f 4 0 d f j c o 5 f 3 2 d f c t s 。5 f 6 0 d f a c e s 5 f 3 3 d f s o l s a 。5 f 7 0 1 根据d f 以下是否还包含子d f ,我们可以将d f 分为d d f 和a d f 两类。 目录专用文件d d f : 如果在一个d f 下还包含子d f 的话,也就是,在文件树中如果子结点 不全为叶子节点的话,这样的d f 被称为d d f ( d i r e c t o r yd e f i n i t i o nf i l e , 也叫目录专用文件) 。一般的,d d f 可以作为一组应用( d f ) 的集合,也可 以作为一个复杂多层次应用的入口。在多应用卡中,m f 下通常包含了多个 d f ,这时的m f 就是一个典型的d d f ,为了维护和管理d d f 下所有的d f , 在每一个d d f 下一般可以包含一个系统文件,朝d i r 文件,记录所有子d f 的入口 应用专用文件a d f : 如果在一个d f 下不包含有其它的子d f 的话,也就是,在文件树中如 果所有的子结点全部都是叶子结点的话,这样的d f 称为a d f ( a p p l i c a t i o n d e f i n i t i o nf i l e ,也叫做应用专用文件) 一般的,a d f 是一个应用在卡 内的逻辑映射,a d f 下包含的都是数据文件,从卡外来看,一个a d f 可以 看作是一个只包含了文件控制信息和数据对象的集合 c o s 对多层次d f 结构的支持可以带来很大的灵活性,但是同时也造成 c o s 开发的复杂度大大提升d f 层次的选择和卡片面向的应用有很大的关 系,可以根据不同的应用需求来进行选择。例如,在只支持单一应用的c o s 中,可以直接将m f 作为a d f ,不支持d d f 的应用,对于卡片资源丰富可以 支持复杂应用的模式,建立动态应用体系的卡片来说,可以选择实现3 层 甚至多层d f 的模式 从理论上,只要卡片空间允许,在卡内可以建立无数多层的文件结构。 但是,从卡片的实际应用看来,很少有应用会要求超过3 层的d f 结构, 即m f 、d d f 、a d f ;更一般的来看,如果卡片资源有限,应用目标明确的话, 例如只有u s i l 4 应用,c o s 可以只支持两层d f 结构,即m f 、a d f 。 重庆邮电大学硕士论文 图2 3u i c c 和u s i m 卡文件系统组织形式 2 2 3 基本数据文件e f ( e i e m e n t a r yf i i e ) 在文件树中,如果一个文件没有子节点,也就是说它本身是一个叶子 节点的话,这样的文件称为e f ( e l e m e n t a r yf i l e ,基本数据文件) ,e f 是卡内数据的基本载体,根据不同的形式,e f 文件可以分为不同的类型, c o s 根据e f 的各种类型定义了不同的文件操作逻辑在卡内,e f 都隶属 于某一个d f ,c o s 采用两种方式来标识e f ,一个是e f 的文件标识符f i d , 一般的e f 和其父d f 的f i d 高字节相同,e f 的f i d 低字节作为e f 的短文 件标识符s f i ,在同一d f 下所有e f 的s f i 都不相同。对e f 操作之前要求 先选择其父d f 作为当前文件,对e f 的选择在具体的操作命令中隐式进行, 对e f 的选择方式有两种,一是通过s f i 进行选择,s f i 在当前d f 下惟一; 二是通过文件类型选择,主要针对一些系统文件的操作,例如个人密码p i n t i l d t f i l e s 第二章岭i - 卡的结构及通信方法 文件等【h 】。 卡内保存的数据可以分为两类,一类是透明的流数据,具体的数据内 容和格式在卡外进行解释,卡内解释为一个连续的二进制数据流;第二类 是结构数据,数据以记录的形式存在,c o s 能够将数据解释为若干条二进 制的记录流。根据所存储数据的结构不同,e f 可以分为不同的类别,不同 结构的e f 对应了不同类型的操作。 l i n e a rf i x e d l i n e a rv a r i a b l e c y c l i cf i x e d 国匡 图2 4e f 文竹结构 1 透明二进制文件 透明二进制文件是卡内所有文件的基础,卡片将数据作为一个字节流 来进行处理,二进制文件的主要属性只有文件体的大小。对二进制文件的 操作包括文件数据的读、写两种模式。数据的读写操作包括以下两种方式。 文件体全都数据的读写操作。 文件体某一区段数据的读写操作,在读写操作之前,必须给出要读 写区段起始位置在文件体的偏移量和要读写区段的长度。 2 定长记录文件 在定长记录文件中,文件体划分为n 个等长的区段,每一个区段对应 一条数据记录定长记录文件的主要属性包括:所容纳的记录每一条的大 小,能够容纳的总的记录条数在实际的使用阶段,为了标识记录的有效 性,还可以包括当前已经写入的记录数目,为了进行记录的逐一检索,还 需要记录当前操作的记录序号等当前操作的记录序号由c o s 来进行自动 维护,在文件第一次被自动选择时自动置为空,以后根据实际长度进行修 改对定长记录文件的操作都以记录为对象进行,包括记录的读、写、添 加3 种模式 记录的读写操作包括几种方式。 指定记录序号的记录读写操作,这一操作不改变当前操作记录序号。 相对当前记录位置的定位方式,包括当前记录的前一条、后一条记 录号等, 如果当前记录号为空时,如果访问前一条记录的话,返回第一条记录, 并且置当前记录为第一条记录:如果访问前一条记录的话,返回最后一条 重庆邮电大学硕十论文 记录,并置当前记录为最后一条记录。 相对全局记录位置的定位方式,例如第一条、最后一条记录等,这 一操作将把该记录设置为当前记录。 在定长记录的操作中,需要严格检查记录号是否在文件中包含记录数 的范围内,当前记录号对应的记录数据是否等效等。 记录的添加操作即在最后一条记录的后面添加新的记录。 如果逻辑上最后一条记录不是物理上的最后一条,即其后还有空闲 的记录空间,新的记录顺序添加在后面,同时将新的记录设置为逻 辑的“最后一条记录” 如果逻辑上的最后一条记录是物理上的最后一条记录,即其后没有 空 闲的空间了,则添加操作失败,卡片返回相应的错误代码。 3 变长记录文件 变长记录文件和定长记录文件一样,文件体的数据区被划分成为多个 记录段,但是每个记录段的长度都不同,卡片必须根据每一条记录的实际 长度来进行定位 变长记录文件的属性包含文件体的大小,也就是所有记录长度之和可 能达到的最大值此外,还有当前文件中包含的所有记录总数。由于记录 的长度都不确定,和定长记录文件中只保存每一条记录体内容不同的是, 变长记录体中的每一条记录体中还必须包含该条记录的实际数据长度。同 时,卡片还需要记录当前操作的记录序号等。 当前操作的记录序号由c o s 来进行维护,在文件第一次被选择时自动 置为空,以后根据实际访问进行修改。 对变长记录文件操作也以记录为对象进行自动维护,在文件第一次被 选中时自动置为空,以后根据实际访问进行修改。 对变长记录文件的操作以记录为对象进行,包括了记录的读、写、添 加等操作。对记录的读写操作包含了如下几种形式。 指定记录序号的读写操作,这一操作不改变当操作记录号 相对当前记录位胃的定位方式,包括当前记录的前一条、后一条记 录等。如果当前记录号为空时,如果访问前一条记录的话,返回第 一条记录,并置当前记录为第一条记录;如果访问后一条记录的话, 返回最后一条记录,并置当前记录为最后一条记录。 相对全局记录位置的定位方式,例如第一条、最后一条记录等,这 一操作将把该条记录设置为当前记录。 1 4 第二章u si _ 卡的结构及通信方法 对变长记录的存储一般使用链式存储方式,对变长记录的写操作必须 遵循的重要原则是;新的数据长度必须和原有数据长度等长,这也是进行 写操作处理时要重点检查的内容。同时,还需检查操作指定的记录号是否 有效。 对记录的添加操作是在文件最后一条记录的后面添加新的记录。新的 记录添加成功以后将成为新的最后一条记录进行添加操作时,卡片需要 重点检查此时文件体的剩余空间是否能够容纳该记录体,包括记录的实际 数据长度和可能需要的长度指示字节等指示字节。 4 环形定长记录文件 环形定长记录文件和定长记录文件类似,文件体被划分为多个等长的 记段区别在于记录之间的关系。定长记录文件逻辑上的第一条和最后一条 与物理意义上的基本相符,但是在环形定长文件中数据空间物理意义上的 第一条记录和最后一条记录相连组成了一个记录环,逻辑上的第一条和最 后一条记录相连组成了一个记录环,逻辑上的第一条和最后一条记录表示 的是最早添加和最新添加的记录项。 环形定长记录文件的属性包括所容纳的每一条记录的大小,能够容纳 的记录数。还由于是一个环形结构,需要记录逻辑第一和逻辑最后一条的 记录位置。同时,卡片还需要记录当前操作的记录号等当前操作的记录 序号由c o s 来进行自动维护,在文件第一次被选择时自动置为空,以后根 据实际访问进行修改7 对环形定长记录文件的操作也以记录为对象进行,包括了记录的读、 写、添加等操作。对记录的读写操作包含了如下几种形式。 指定记录序号的记录读写操作,这一操作不改变当前操作记录序号 相对当前记录位置的定位方式,包括当前记录的前一条、后一条记 录等如果当前记录号为空时,如果访问前一条记录的话,返回第 一条记录,并置当前记录为第一条记录;如果访问后一条记录的话, 返回最后一条记录,并置当前记录为最后一条记录。 相对全局记录位置的定位方式,例如第一条、最后一条记录等,这 一操作将把该记录设置为当前记录 和定长记录文件不同在于,每一条记录都有下一条记录和上一条记录 的概念,可以无限循环进行,此外,第一条、最后一条等都是逻辑概念, 应该和物理意义上的概念区分丌来 对记录的添加操作是在文件体中逻辑上最后一条记录后面添加新的 记录 重庆邮电人学硕士论文 如果在最初记录环还没有完全充满的时候,添加新的记录将占用一 个空的位置,成为新的“最后一条”,逻辑上的第一条记录位置不变。 如果在记录环已经完全充满以后,可以设想,这时逻辑上的第一条 和最后一条相邻,“第一条”是“最后条”的“下一条记录”,“最 后一条”是“第一条”的“上一条记隶”,这时添加新记录的话,新 记录将占用原来“第一条记录”的空间,旧的记录内容就被覆盖了。 新的记录将成为“最后一条记录”,原“第一条记录”的下一条记录 将成为新的“第一条记录”。 所以在进行添加操作时,卡片需要根据记录环的占用情况决定环的指 示指针更新,和不定长记录文件的添加不一样的在于,环形记录文件可以 无限次的进行添加操作。 表2 3e f f d n 文件描述 一 i d e n t 隋e fb f 3 b p s t r u c t u r e :i i n e a rf l x e d , o p t i o n a l , 3 - r e c o ml e n g t h :x + 1 4b y t e s 】 u p d a t ea c t i v i t y :l o w * 。赶c e s sc o n d i t i o n s :* , r e a dp l n u p b a t ep i n 2 * d e a c t i q ea d m a c ”ea d m p o b y t e s pd e s c r i p t i o r 伊 m ,o f l e n g t h p - 1t ox p a l p h ai d e n t i f l e r e 0 x b y i e s p - x + 1 , l e n g t ho fb c dn u m b e r s s cc o n t e n t s , 3 m p1b y t e , , , - + 2 pt o na n dn p i = m 一1b

温馨提示

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

评论

0/150

提交评论