已阅读5页,还剩62页未读, 继续免费阅读
(计算机应用技术专业论文)基于指纹识别技术的电子证卡研究与设计.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 基于指纹识别技术的电子证卡研究与设计 摘要 智能卡操作系统( c h i po p e r a t i n gs y s t e m ,简称c o s ) 是智能卡在软件 层面的核心技术。其研究和开发对智能卡技术的发展和普及有很大的促进 作用。 自动指纹识别技术是利用人类指纹的唯一性,通过对指纹图案的采 样、特征信息提取并与库存样本相比较的过程来实现身份识别的技术。该 技术已经逐步在门禁、考勤、金融、公共安全和电子商务等领域得到应用。 j a v ac a r d 平台是一个多应用程序环境,j a v a 卡的出现统一了智能卡的编 程接口和编程语言,为智能卡的多应用奠定了基础。本文介绍了指纹识别 和j a v a 智能卡的相关技术,该应用完善了身份认证和信息安全保护的功 能。 本文开发的基于指纹识别的电子证卡,在c o s 平台的整体设计上, 采用合理的层次化结构,使上层的应用与底层硬件分离,便于平台的移植 操作、维护性好,便于动态的下载和删除应用:在文件系统设计上,采用 了多应用的文件系统,使平台具有良好的通用性和拓展性;在安全性上做 了充分的设计,增加了指纹信息的模式匹配和互认证中指纹信息的随机加 密。在指纹算法的研究中,增加了对指纹细化后去除伪特征点算法的研究, 并给出了实验结论。 北京化工大学硕士学位论文 关键词:u i c c ,c o s 平台,自动指纹识别,特征提取,模式匹配 i i b a s e do nf i n g e r p r i n ti d e n t i f i c a t i o n t e c h n o l o g yr e s e a r c ha n dd e s i g no fe c a r d a b s t r a c t t h ek e r n e lt e c h n i q u eo fs o f t w a r ei st h eo p e r a t i n gs y s t e m ( a b b r c o s ) t h e p o w e r f u lc o s c a ng r e a t l yp r o m o t et h ec a r ds y s t e mt ob ea c c e p t a b l ea n d f e a s i b l e a u t o m a t i cf i n g e r p r i n ti d e n t i f i c a t i o nt e c h n i q u eu s eo ft h eu n i q u e n e s so f t h eh u m a nf i n g e r p r i n ta n dh a st h ea b i l i t yt oa c h i e v ei d e n t i f i c a t i o nt h r o u g ht h e f i n g e r p r i n tp a t t e r n o ft h es a m p l ea n dt h ep r o c e s so ff e a t u r ee x t r a c t i o n c o m p a r e dw i t ha n ds a m p l ei n v e n t o r y t h et e c h n o l o g yh a sb e e ng r a d u a l l yu s e d i na c c e s s ,a t t e n d a n c e ,f i n a n c e ,p u b l i cs e c u r i t ya n de - c o m m e r c ea p p l i c a t i o n s f i e l d s j a v ac a r d p l a t f o r m i sa m u l t i a p p l i c a t i o n e n v i r o n m e n t t h e d e v e l o p m e n to fj a v ac a r d su n i f i e di cc a r dp r o g r a m m i n gi n t e r f a c e sa n d p r o g r a m m i n gl a n g u a g e sa n dl a i dt h ef o u n d a t i o nf o rt h em u l t i a p p l i c a t i o ni c c a r d t h i sa r t i c l ei n t r o d u c e st h ef i n g e r p r i n tr e c o g n i t i o na n dj a v ai cc a r d t e c h n o l o g y t h ea p p l i c a t i o n i nt h ei dc a r dh a s i m p r o v e di d e n t i t y a u t h e n t i c a t i o na n di n f o r m a t i o ns e c u r i t yp r o t e c t i o n i nt h i sa r t i c l e ,t h ed e v e l o p m e n to ff i n g e r p r i n ti d e n t i f i c a t i o nb a s e do nt h e e l e c t r o n i cc a r d ,i nt h eo v e r a l ld e s i g no ft h ec o sp l a t f o r m ,t h er e a s o n a b l el e v e l o fs t r u c t u r e ,s ot h a tt h eu p p e ra p p l i c a t i o na n dt h eu n d e r l y i n gh a r d w a r e 1 1 1 北京化工大学硕士学位论文 s e p a r a t i o n ,t of a c i l i t a t et h et r a n s f e rp l a t f o r mo p e r a t i o n ,m a i n t e n a n c e ,a n de a s y t od o w n l o a da n dd y n a m i cd e l e t ea p p l i c a t i o n s ;i nt h ef i l es y s t e md e s i g nu s i n g t h em u l t i - a p p l i c a t i o nf i l es y s t e m ,s ot h a tt h ep l a t f o r mh a sg o o dv e r s a t i l i t ya n d e x p a n s i o n ;i nt h es e c u r i t yt o d oaf u l ld e s i g n ,a l li n c r e a s eo ft h ep a t t e r n m a t c h i n gf i n g e r p r i n t i n f o r m a t i o na n d i n t e r o p e r a b i l i t y o f f i n g e r p r i n t a u t h e n t i c a t i o nr a n d o me n c r y p t i o no fi n f o r m a t i o n f i n g e r p r i n ta l g o r i t h mi nt h e s t u d y , t h ei n c r e a s e dr e f i n e m e n to ft h ef i n g e r p r i n tf e a t u r ep o i n t sa f t e rt h e r e m o v a lo fp s e u d o a l g o r i t h ma n de x p e r i m e n t a lr e s u l t sa r eg i v e n k e y w o r d s : u i c c ,p l a t f o r m o f c o s ,a u t o m a t i c f i n g e r p r i n t i d e n t i f i c a t i o n ,m i n u t i a ee x t r a c t i n g ,p a t t e r nm a t c h i n g i v 英文缩略词 英文缩略词 a p d u ( a p p l i c a t i o np r o t o c o ld a t au n i t )应用协议数据单元 a p i ( a p p l i c a t i o np r o g r a m m i n gi n t e r f a c e ) c l a ( c l a s s ) c o s ( c h i po p e r a t i n gs y s t e m ) d i r ( d i r e c t o r y ) a d f ( a p p l i c a t i o nd e s c r i p t o rf i l e ) d f ( d e d i c a t e df i l e ) e f ( e l e m e n t a r yf i l e ) m f ( m a s t e rf i l e ) f c p ( f i l ec o n t r o lp a r a m e t e r ) f m d ( f i l em a n a g e m e n td a t a ) g p ( g l o b a lp i n ) 应用程序接口 类别字节 片内操作系统 目录 应用专用文件 专用文件 基本文件 主文件 文件控制参数 文件管理数据 全局p i n i n s ( i n s t r u c t i o nb y t e so ft h ec o m m a n dm e s s a g e ) 指令字节 l p ( l o c a lp i n )局部p i n u i c c ( u n i v e r s a li n t e g r a t e dc i r c u i tc a r d )通用集成电路卡 s m ( s e c u r i t ym e s s a g ee x c h a n g e )安全报文交换 d e s ( d a t a e n c r y p t i o ns t a n d a r d )对称密钥密码算法 r s a ( r a d i os e c t i o na d a p t a t i o n )非对称密钥密码算法 j c r e ( j a v ac a r dr u n t i m ee n v i r o n m e n t )j a v ac a r d 运行环境 j c v m ( j a v ac a r dv i r t u a lm a c h i n e )j a v ac a r d 虚拟机 北京化工大学硕士学位论文 m d 5 ( m e s s a g e d i g e s ta l g o r i t h m5 )信息摘要算法 c c d ( c h a r g ec o u p l e dd e v i c e )电荷耦合器件 a f i s ( a u t o m a t e d f i n g e r p r i n ti d e n t i f i c a t i o ns y s t e m 自动指纹识别系统 f a r ( f a l s e a c c e p t a n c er a t e ) f r r ( f a l s e r e j e c t i o nr a t e ) i d ( i d e n t i f i c a t i o n ) o s ( o p e r a t i n gs y s t e m ) x 错误的接受率 错误的拒绝率 身份标识号码 操作系统 北京化工大学位论文原创性声明 本人郑重声明:所呈交的学位论文,是本人在导师的指导下,独立 进行研究工作所取得的成果。除文中已经注明引用的内容外,本论文不含 任何其他个人或集体已经发表或撰写过的作品成果。对本文的研究做出重 要贡献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声 明的法律结果由本人承担。 作者签名: 季畴 日期:知莎参 关于论文使用授权的说明 学位论文作者完全了解北京化工大学有关保留和使用学位论文的规 定,即:研究生在校攻读学位期间论文工作的知识产权单位属北京化工大 学。学校有权保留并向国家有关部门或机构送交论文的复印件和磁盘,允 许学位论文被查阅和借阅;学校可以公布学位论文的全部或部分内容,可 以允许采用影印、缩印或其它复制手段保存、汇编学位论文。 保密论文注释:本学位论文属于保密范围,在2 年解密后适用本授 权书。非保密论文注释:本学位论文不属于保密范围,适用本授权书。 作者签名:冷嘞 日期: 曲国 导师签名:z 知篆一 日期: 习石、弓 第一章绪论 1 1 课题背景 1 1 1 智能卡发展和应用前景 第一章绪论 智能卡的名称来源于英文名词“s m a r tc a r d ,又称集成电路卡( i n t e g r a t e dc i r c u i t c a r d ) ,即i c 卡。智能卡的概念是七十年代中期提出来的,其发明人是法国人罗兰莫 瑞诺( r o l a n dm o r e n o ) 。1 9 7 6 年,法国b u l l 公司的m i c h e l v g o n 制造出了第一 片智能卡。第一代智能卡实际上并不拥有任何“智慧”,而且是采用接触式的读取方式。 它首先被法国应用于电话卡上,后来通过存储器和微电脑的结合使卡片有了“智慧”, 并制造出了非接触式智能卡。它一出现,就以其超小的体积、先进的集成电路芯片技 术以及特殊的保密措施和无法被破译及仿造的特点受到普遍欢迎。它将微电子技术和 计算机技术结合在一起,提高了人们生活和工作的现代化程度。智能i c 卡是把包含 有存储、加密及数据处理能力于一体的集成电路芯片镶嵌在塑料基片中的卡片。智能 i c 卡具有暂时性或永久性的数据存储能力,其内容根据需要可以有条件的供外部读写 或供内部信息处理判定之用。这种既具有智能性又便于携带的卡片,为现代信息的处 理和交换提供了一种全新的手段。1 9 8 7 年,国际标准化组织为智能i c 卡制定了国际 标准。这些标准的制定,为智能i c 卡在世界范围内的推广和应用莫定了基础【l j 。 智能卡的应用范围越来越广,从单纯记忆卡扩展到能够进行复杂计算的多处理器 卡。目前智能卡又推出新的应用:作为多功能认证和安全的装置。这种智能卡含有特 定的半导体和存储元件。最新版的智能卡甚至不用插入槽内,而是采用无线或者电感 回路来工作。现在实验室里已经开发出具有小型显示、键盘和电池的芯片卡,更像一 个小型电脑。 智能卡的安全特性是首位的。但是面临的挑战是,要满足两个相互矛盾的需求: 开放的平台和足够的安全性【2 1 。目前,在现有智能卡片安全体系中加入其他识别方法, 诸如指纹分析、签字、声音和容貌的自动识别、虹膜扫描或者手的几何形状的识别等 现代生物方法,从而使得智能卡安全水平越来越高。随着电子证卡的广泛使用,具有 安全级别高的智能卡也逐渐被人们所采纳,在电子证卡中加入指纹识别应用,实现了 生物识别和卡片校验的双重安全保障。 1 1 2 电子证卡的基础知识 电子证卡就是依托智能卡技术,以智能i c 卡为信息存储载体,在卡上面开发具 北京化工大学硕士学位论文 体应用系统,适合不同场合的需求,应用在金融、交通、公安、税务、社保、工商等 多种行业。比如:银行卡,公交卡,和身份验证卡等。智能i c 卡作为信息传输、存 储、处理及交换等的中间媒介,对有关信息的安全保护起着举足轻重的作用。 i c 卡芯片具有写入数据和存储数据的能力,i c 卡存储器中的内容根据需要可以 有条件地供外部读取,或供内部信息处理和判定之用。根据卡中内嵌的集成电路的不 同可以分成以下三类p j : l 、存储器卡:卡中的集成电路为e e p r o m ( 可用电擦除的可编程只读存储器) 。 2 、逻辑加密卡:卡中的集成电路具有加密逻辑和e e p r o m 。 3 、c p u 卡:卡中的集成电路包括中央处理器c p u 、e e p r o m 、随机存储器r a m 以及固化在只读存储器r o m 中的片内操作系统c o s ( c h i po p e r a t i n gs y s t e m ) 。严格地 讲,只有c p u 卡才是真正的智能卡,但为了应用的需要,本文对其他种类的卡也进 行了简单介绍。 按卡片应用领域来分,i c 卡有金融卡和非金融卡两种。金融卡又有信用卡( c r e d i t c a r d ) 和现金卡( c a s hc a r d ) 等。信用卡主要由银行发行和管理,持卡人用它作为消费时 的支付工具,可以使用预先设定的透支限额资金。现金卡可用作电子存折和电子钱包, 不允许透支。非金融卡往往出现在各种事物管理、安全管理场所。如身份证明、健康 记录和职工考勤等。 按卡与外界数据传送的形式来分,有接触型i c 卡和非接触型i c 卡两种。当前使 用广泛的是接触型i c 卡,在这种卡片上,i c 芯片有8 个触点可与外界接触。非接触 型i c 卡的集成电路不向外引出触点,因此它除了包含前述三种i c 卡的电路外,还带 有射频收发电路及其相关电路【4 】。在i c 卡推出之前,从世界范围来看,磁卡已经得到 广泛应用,为了从磁卡平稳过渡到i c 卡,也是为了兼容,在i c 卡上仍保留磁卡原有 的功能,也就是说在i c 卡上仍贴有磁条,因此i c 卡也可同时作为磁卡使用,i c 卡的 外观:j 下面中左侧的小方块中有8 个触点,其下面为凸型字符,背面有磁条。正面还 可印刷各种图案,甚至人像。卡的尺寸、触点的位置与用途、磁条的位置及数据格式 等均有相应的国际标准予以明确规定。无论是磁卡还是i c 卡,卡上都有唯一的发行 人和持卡人的识别标志,这种卡有时称之为识别卡。随着现代社会信息化程度的提高, 不管是政府部门还是民间组织,都将信息视为最宝贵的资源,更加重视有关信息的安 全及保密。特别是在我国,随着“金卡工程等智能卡应用工程的推广实施,作为信 息载体的电子证卡也将有着广阔的市场前景。 1 1 3 生物识别技术的原理 生物识别,指利用人们的生理特征或行为特征进行自动识别。本质上说,它采用 了个体的独特特征,与传统的暗语、信物相比,具有高可靠性、不易伪造的特点。可 2 第一章绪论 以说生物识别提供了一种适应信息化时代、高节奏社会的身份鉴定方式。 生物识别系统,即指利用个体的某一生理特征或某一行为特征来进行身份验证、 鉴定的系统。其结构框图如图1 1 所示。 登记 数 一 l 据 i 生物特征卜一采集 霄口【淀印l 库 上 l 生物特征卜_叫采集l 叫特征提取卜 匹 配 i p 结果 识别 图1 - 1 生物鉴定系统框图 f i g 1 - 1b i o l o g i c a li d e n t i f i c a t i o ns y s t e mb l o c kd i a g r a m 由图1 1 可知,生物识别系统可分为两个逻辑单元:1 ) 登记单元;2 ) 验证单元。 在登记( e n r o l l m e n t ) 单元,个体的生物特征经采集仪器采集后转化为数字信息,再 通过处理部分提取特征数据,制成模板,并根据需要保存在硬盘上或者磁卡上等。而 验证( f i c a t i o n ) 单元,采集仪器采集待验证的个体的生物特征,并将其转化为数 字信息,之后这些信息通过类似的处理单元,抽取特征数据,并将之与原先保存的模 板相比对,从而得出鉴定结果。此外这两个单元对时间的要求不同。登记单元,一定 程度上可以说是离线部分,对处理时间要求不高,而验证单元直接面向用户,被称为 在线部分( o n l i 。n e ) ,对处理时间有苛刻的要求。 一般而言,生物鉴定系统可以分为两种工作模式:1 ) 验证;2 ) 识别。在验证系 统中,系统根据用户先前输入的,并保存在系统中的特征来对用户身份进行验证。也 可称为“一对一 比对,多数系统使用这种工作模式,如网络接入、门禁系统等等。 用户在验证过程中,首先输入帐号、名字,或者提供某种信物如磁卡、i c 卡等,接着 用户将生物特征输入系统中,如将指纹输入等。而传统的系统中,用户输入的是口令、 密码等。这样生物特征取代了传统的口令和密码。验证系统回答的问题是“某人是否 为其宣称的那个人 。在识别系统中,用户不输入帐号等标识身份的信息,而直接输 入指纹,由系统将输入的指纹与系统数据库中保存的指纹一一比对,最后系统鉴定出 输入指纹对应的身份。这种模式可以说是“一对多”比对。它回答“此人是谁”这种 问题。此外系统可以分为“在线系统 和“离线系统 。显然,两种模式下的系统结 构不尽相同,其要求也不相同。验证系统相对简单,但其离线部分对时间要求比识别 系统高,另外对存储要求也不高。而识别系统相对复杂,保存着众多的特征数据,一 般要对特征数据进行分类,以加速识别过程。本文所研究的系统为前者与后者的结合, 即指纹验证系统,即系统需回答“此人是否是他宣称的那个人 ,也需要在服务器的 北京化工大学硕士学位论文 指纹库中去搜索来回答“此人是谁”,这样系统的工作量比较大,但是可靠性高。 1 2 课题目的 随着智能卡在身份认证领域的运用,以及计算机图像处理和模式识别技术的发 展。指纹识别技术也广泛地应用于金融证券、公安、海关、社保、医疗及其他民用安 全控制领域等需要辨明个人身份的场合。指纹识别的唯一性弥补了智能卡的可替代 性,同时指纹识别的高安全性弥补了智能卡在持卡人身份认证上的不足。指纹识别与 智能卡结合的新型电子证卡也将以其方便可靠的性能得到广泛的应用。基于指纹识别 的电子证卡系统可以有效地解决传统身份认证中存在的第三方攻击和口令窥视等问 题,为身份验证提供更好的安全性保障。 针对于上述情况,本文提供了一种基于指纹识别的电子证卡的研制方案,在通用 性、安全性、安装应用等方面做了充分的设计,目的是打造一个统一的基础c o s 平 台,其上可实现指纹识别和通信、消费等多种扩展应用,在安全性上设计充分:并且 适于电子钱包消费、证件、票卡等各种业务的实际应用项目的开发。 1 3 论文的组织 本文共分八章: 第一章绪论部分主要介绍一些智能卡、生物识别的相关知识和应用发展情况。 第二章介绍智能卡的整体框架介绍,通过合理的层次结构设计,使得应用协议模 块只调用应用层的a p d u 通信接口函数,而不与具体的硬件打交道,从而使上层应 用与底层硬件剖离,便于系统的移植、维护性好。 第三章对j a v a 虚拟机和卡片指令的设计进行详细的介绍。 第四章对平台上的文件系统进行了讲解,平台采用u i c c 规范定义的多文件系统 结构,不仅实现了多文件系统,而且具有很好的通用性。 第五章介绍安全体系的设计,包括对安全系统的概述,指纹技术安全机制的实现。 增强了平台的安全性。 第六章描述指纹识别的算法理论,指纹识别系统的性能,在指纹图像预处理阶段 提出了改进算法,并给出了实验结论。 第七章智能卡平台上指纹应用技术的实现,针对项目的试验结果进行了分析。 第八章结束语部分,对论文工作进行了总结,并指出了下一步需要的研究工作。 4 第二章智能卡总体结构设计 第二章智能卡总体结构设计 2 1 智能卡的系统构 2 1 1 智能卡的芯片构成 一般智能卡所使用的主要芯片分为通用芯片和专用芯片两大类。通用芯片就是普 通的集成电路芯片,比较适合于初期的对安全性要求不高的智能卡应用。而专用芯片 是专为智能卡而设计、制造的芯片。这种芯片有很好的物理保护措施,符合目前智能 卡的i s o 国际标准、具有较高的安全性。智能卡芯片的构成如图2 1 嘲所示。 触点 i 0 接口 微处理器加密运算协处理器 只读存储器 随机存储器电可擦除可编程只读存储器 图2 1 智能卡芯片硬件结构图 f i g 2 - 1s m a r tc a r dc h i ph a r d w a r es t r u c t u r e 其中n p u 称为加密运算协处理器,主要用在带有非对称算法( 如r s a ) 的智能 卡中,另外很多智能卡芯片为了密码运算的速度也实现了对称算法( 如d e s ) 的协处 理器,另外现在大多数的智能卡芯片也内置了硬件随机数发生器,也正由于n p u 等 额外部分的使用使得芯片的成本大大提高。 2 1 2 智能卡应用系统的构成 l 、智能卡卡片:无论是接触卡、非接触卡还是双界面卡,卡内都包括了芯片、 软件、数据等几个组成部分。 2 、读卡器:读卡器是对智能卡操作的最直接设备,严格意义上的读卡器只包括 了读卡头和设备驱动,读卡器和卡片的接口通常满足一定的国际规范,标准读卡器一 般是通用的。 北京化工大学硕士学位论文 3 、应用程序:应用程序是应用逻辑控制的核心,根据应用的不同,应用程序的 规模、运行、形式都有很大区别。 一个基于卡的应用在智能卡内的表现形式分为软件和数据两个部分,软件也称为 代码,通常是应用逻辑控制在卡内的表现形式,数据通常是应用的核心,即包含一般 的用户个人信息,也包含一些重要的用户资料,例如帐户密码、资金等。根据应用中 包含的软件、数据情况,一般可以分为只有数据、只有代码和既包含数据又包含代码 的应用三种。最后一种应用是最多、最普遍的,其对卡片的要求较高,不仅在卡内保 存应用数据,还要放置相应的逻辑控制代码。智能卡芯片内含有微处理器,能够提供 各种计算功能和逻辑控制能力,应用代码也能够从普通的p c 机延伸到卡片内,增加 了应用的灵活度,同时在卡片内对代码的执行还提供安全保护能力,可以实现安全计 算和安全控制逻辑。 随着微电子技术、计算机通信和信息安全技术的进步,智能卡技术得到了进一步 的发展。由于智能卡内嵌有微处理器和f l a s h 存储器,可进行数据存储、数据处理和 加解密运算,实现了电子证卡较高的安全性和“一卡多用 的功能,为添加应用提供 了广阔的发展前景。 2 2 智能卡的操作系统 2 2 1c o s 的概念 智能卡操作系统的英文名称是c a r do p e r a t i o ns y s t e m ( 片内操作系统) ,通常缩写 为c o s ,智能卡之所以能支持这么多复杂的应用,其便利和安全的基础就是卡内操作 系统。从本质上说它是智能卡芯片内的一个监控软件,用于接收和处理外界发给智能 卡的各种信息,管理卡内的存储器,并给出相应的应答信息。 c o s 在智能卡中的地位和作用类同于个人电脑上使用的各种操作系统的地位和 作用,是用户在卡中构建自己应用的操作平台,它将直接负责智能卡内的各种硬件模 块管理和使用,把硬件平台和用户的使用隔离开来,并对用户的操作和使用做出了统 一的规范和限制,从而保证了智能卡的实用性和安全性。c o s 一般是紧紧围绕着它所 服务的智能卡的特点而开发的。在很大程度上不同于通常所能见到的微机上的操作系 统。首先,c o s 是一个专用系统而不是通用系统。即:一种c o s 般都只能应用于 特定的某种智能卡,不同卡内的c o s 一般是不相同的。智能卡的操作系统又称为安 全操作系统,c o s 不仅必须极少有错误,而且还必须是非常可靠的,决不允许其功能 以及安全性被来自外界的任何命令所损害。在任何情况下都不允许发生由于错误的命 令而导致系统的崩溃或失控反应p j 。 一个智能卡操作系统的主要任务是从智能卡传出和传入数据控制命令的执行,管 6 第二章智能卡总体结构设计 理文件,管理和执行加密算法。 c o s 的系统模块如图2 1 【6 】所示。 图2 - 2c o s 系统模块图 f i g 2 - 2s y s t e mb l o c kd i a g r a m c o s 通过智能卡芯片上的触点或者是射频天线与外界进行信息交换,因此在c o s 中一定有通信模块,一般称它为传送管理模块,负责c o s 与外界数据流( 信息) 的 正确往来。外部信息通过传送管理模块进入c o s 之后,首先将接受安全管理模块对 它进行信息的合法性检查;其后要接受对输入信息内容的可执行性判断,这由应用管 理模块执行;最后c o s 根据合法且有效的信息对芯片中的e e p r o m 执行相应的操作 ( e e p r o m 中的数据以文件形式存放) ,该操作由文件管理模块实现。我们把读写设备 发出命令到卡给出响应的一个完整的过程划分为四个阶段,即四个功能模块:传输管 理模块、命令管理模块、安全管理模块和文件管理模块。 2 2 2u i c c 平台及整体框架 u i c c 平台是一个多应用平台( 多文件系统平台) ,可以在发卡( c o s 下载) 后的 各个阶段来进行文件系统的创建和预个人化。为了达到这个目的,u i c c 引入了a d f 的概念,基于a d f 的u i c c 多文件系统平台具有以下特色【| 7 】: ( 1 ) 可以有多个独立的文件系统同时存在( 包括它们各自独立的安全机制) ,文件 不再一定是主文件m f 下的一个子节点或子系统。 ( 2 ) 可以动态的创建新的文件系统,删除当中的e f 文件,随时进行文件系统的 预个人化。 ( 3 ) 所有的文件系统的访问遵循一个统一的接口( 标准的a p d u 命令) 。所有的安 全遵从统一的访问管理机制。 本文u i c c 平台的设计,采用横向层次化的设计原则,从底层到上层,层与层之 间有严格的a p i 的定义,每一层都是个完整的模块,都具有相对的独立性,只通过 规范的接口和相邻的层发生关系,而与接口的具体实现无关。这样的一个好处是增强 7 北京化工大学硕士学位论文 了系统的可移植性。 设计中通讯模块只和相关的接口函数打交道,而与具体的硬件无关,实现了上层 应用与底层硬件的无关性。 作为多应用框架,u i c c 平台的管理模块复杂,如文件系统的动态删除和创建、 预个人化,应用的添加和删除操作等,都需要严密的认证机制来保证。在安全的环境 下,可以实行文件系统的动态变化。u i c cc o s 平台整体框架具体分为以下部分: 硬件相关部分:i o ;m e m o r y :软件框架部分:传输协议;存储管理;文件系 统;应用协议;p i n 管理;系统调度【9 1 。 图2 - 3u i c cc o s 平台整体结构图 f i g 2 - 3u i c cc o so v e r a l ls t r u c t u r eo ft h ep l a t f o r m 整体框架分为左右两大部份,左边的a p d u 通信模块和右边的协议处理模块。左 边的a p d u 通信模块负责a p d u 数据的发送和接收,为右边的协议模块提供通信a p i , a p d u 通信模块按照层次化的结构开发,由应用协议模块值调用应用层的a p d u 通信 a p i 而不与具体的硬件打交道。右边的协议处理模块也采用层次化的结构,在硬件相 关的读写操作上,有一层硬件无关的读写操作,在硬件无关的读写操作基础上,管理 和维护符合规范的多文件系统结构。在维护文件系统的基础上,是文件操作和p i n 的 管理应用程序处理模块。最上层是通道和应用的管理模块,负责维护整个框架和提供 应用程序的入口。这样的框架设计使得c o s 应用开发和上层函数的设计都与底层硬 件无关,实现了上层应用与底层硬件的剖离。 2 2 3j a v ac a r d 运行环境及其a p i 的设计 j a v ac a r d 是一个多应用程序环境。j a v ac a r d 技术提供了一种开放式开发构架。 现在的智能卡开发者可以开发出在多种智能卡上应用的程序。不同的应用程序可以在 同一个卡上运行。卡片上可能存在一个或多个j a v ac a r d 小应用程序,还有卡片的操 作系统和j a v ac a r d 运行时环境( j c r e ) 一起。j c r e 由j a v ac a r d 虚拟机、j a v ac a r d 8 第二章智能卡总体结构设计 f r a m e w o r k 和应用程序编程接口以及一些扩展应用程序编程接口组成。所有的j a v a c a r d 小应用程序扩展a p p l e t 基本类,并且必须实现i n s t a l l 0 和p r o c e s s 0 方法;j c r e 在 安装小应用程序的时候调用i n s t a l l 0 ,并且在每次有一个进入的用于小应用程序的 a p d u 的时候调用p r o c e s s 0 。j a v ac a r d 小应用程序在被装载的时候实例化,并且在断 电的时候保持运行。j a v ac a r d 小应用程序起一个服务器的作用,并且是无源的。在一 张卡片被加电以后,每个小应用程序都保持非运行的状态直到它被选择,在此时可能 会做初始化。小应用程序只有在一个a p d u 被发送给它以后才被激活。如下图2 4 是 j a v ac a r d 结构示意图: 图2 - 4j a v a c a r d 结构示意图 f i g 2 - 4j a v ac a r ds t r u c t u r eo ft h ep l a t f o r m 该结构中,最底层是操作系统( o s ) 和基本函数( n a t i v ef u n c t i o n s ) ,封装了硬 件平台的细节,负责低层的处理工作,如同p c 的操作系统。j a v a 虚拟机( j 越,a c a r d v m ) 处于o s 和n a t i v ef u n c t i o n s 之上,它的存在实现了卡接口的统一和编程语言的 统一。同时,也隐藏了不同卡片供应商在卡片底层技术上的差别。j a v a 卡f r a m e w o r k 为开发人员定义了一整套编程接口类,主要负责执行j a v a 卡a p p l e t 以及提供a p p l e t 执行所需要的环境。i n d u s t r ya d d o nc l a s s e s 则是服务方所提供的类,使得企业与公 司能够提供属于自己的服务程序,例如:如果这张卡是g s m 网络的s i m 卡,那么这 一层就是s i m 卡所需的接口类。 j a v ac a r d 结构的最上层是a p p l e t ,也就是我们要进行开发的应用。如上图所示, 一张j 怂,a 卡内可以包含多个a p p l e t ,不同的a p p l e t 可依靠a i d ( 应用i d 号) 来识 别,并且用防火墙将他们隔离,确保各自的独立性。由于j a v a 卡的执行环境并不支 持多线程,所以工作时,一次只能执行一个a p p l e t 。 在j a v ac a r d 2 1 规范中规定了一些a p i ,这只是j a v aa p i 中很小的一个子集,这 主要是由于j a v ac a r d 硬件条件所限。整个平台的结构从底层到上层,层与层之间有严 格的a p i 的定义,每一层都是一个完整的模块,都具有相对的独立性,只通过规范的 接口和相邻的层发生关系,而与接口的具体实现无关。j a v ac a r d a p i 专门用于智能卡 9 北京化工大学硕士学位论文 的编程,包含3 个核心包和1 个扩展包,3 个核心包是j a v a l a n g 、j a v a c a r d f r a m e w o r k 和j a v a c a r d s e c u r i t y ,扩展包是j a v a c a r d x c r y p t o 。 下图是a p i 的整体结构f 1 7 1 。 a p a u a p i a p a u 的买现 数据传输a p i 数据的发送接收实现 i ,0 a p i 基本的i o 实现 2 2 4 卡片程序总体流程 应用t 按收a p d u 进行处理,调用下层的文件基本 操作a p i 文件基本操作a p i 文件基本操作实现 文件头和文件体的基本操作a p i 文件头和文件体的基本操作实现 高层存储操作a p l 高层存储操作实现 基本存储操作a p i 基本的存储操作实现 图2 - 5 a p i 的整体结构 f i g 2 - sa p is t r u c t u r eo ft h ep l a t f o r m 图2 - 6 总体流程图 f i g 2 - 6t h eo v e r a l lf l o wc h a r t 1 0 第三章j a v ac a r d 虚拟机和a p d u 指令设计 第三章j a v ac a r d 虚拟机和a p d u 指令设计 3 1 虚拟机的基本原理 虚拟机是建立在实际的处理器基础上的假想计算机。它是对真实计算机资源环境 的一个抽象,它为解释性语言程序提供一套完整的虚拟机接口。虚拟机接口定义了一 个虚拟命令集合,为解释语言开发的应用程序和计算机资源之间提供一个可移植的接 口。在解释执行时,每次提交一个虚拟命令给虚拟机执行。图3 1 为一般性虚拟机原 理器: 图3 - l 一般性虚拟机原理器 f i g 3 - 1t h eg e n e r a lp r i n c i p l eo fa v i r t u a lm a c h i n ed e v i c e j a v ac a r d 虚拟机( j c v m ) 规范定义了j a v a 程序设计语言的一个子集和一个用于智 能卡的兼容j a v a 的虚拟机,包括二进制数据表示和文件格式,以及j c v m 指令集。 用于j a v ac a r d 平台的虚拟机是两部分实现,一部分在卡外,一部分运行在卡本 身。卡上的j a v ac a r d 虚拟机解释字节码、管理类和对象等等。外部j a v a 虚拟机部分 是一个开发工具,一般称为j a v ac a r d 转换工具,装载、检验和进一步地准备卡片小 应用程序j a v a 类,用于在卡上执行。转换工具输出的是一个c o n v e r t e da p p l e t ( c a p ) 文件,这是一个包含一个j a v a 程序包中所有类的文件。转换程序检验类是否遵循j a v a c a r d 规范。 j c v m 只支持j a v a 程序设计语言的一个有限的子集,然而它保留了许多熟悉的特 性,包括对象、继承、程序包、动态对象创建、虚拟方法、接口和异常。j c v m 规范 放弃了对许多语言元素的支持,因为这些语言元素可能会用掉很多智能卡本来就很有 限的内存。 j c v m 的生命周期与卡片本身的生命周期一致:在卡片制造并测试之后至发行到 持卡人手中的一段时间内它就开始了生命周期,当卡片丢失或者毁坏的时候它的生命 周期也就结束了。卡片没有电力的时候j c v m 也不会停止,因为它的状态被保存在 卡片的非易失性存储器中。启动j c v m 初始化j c r e 并且创建所有的j c r e 框架对象, 这些在j c v m 的整个生命周期都是运转着的。j c v m 启动之后,与卡片所有的相互作 用原则上都是被卡片上的某个小应用程序控制。当卡片没电的时候,保存在r a m 中 北京化工大学硕士学位论文 的任何数据都会丢失,但是保存在永久性存储器中的任何状态都被保留。当再次加电 以后,虚拟机又再次激活,这时虚拟机和对象的状态被恢复,并且重新开始执行等待 进一步地输入。 3 2 虚拟机执行指令的流程 虚拟机执行指令分为两步,第一步根据当前p c 指针读取将要执行的指令,第二 步根据指令执行相应的操作。程序在执行第一条指令前,由虚拟机建立m a i n 方法的 f r a m e ,并把它压入j a v a 栈中,以后每调用一个方法,就建立该方法的f r a m e ,并压 入j a v a 栈。每当一个方法调用返回时,就弹出它的f r a m e ,当程序结束时,也就是从 m a i n 方法返回时,j a v a 栈就为空,所以可以用j a v a 栈是否为空来判断虚拟机是否该 结束。 i n v o k em a i n ( ) ; 建立m a i n 方法的f r a m e ,并把它压入j a v a 栈中 w h i l e ( j a v a s t a c k 1 e n g t h 0 ) 用j a v a 栈是否为空来判断虚拟机是否该结束 g e ti n s t r u c t i o n0 ;根据当前p c 指针读取将要执行的指令 i n t e r p r e t0 ; 根据指令执行相应的操作 3 3a p d u 指令的设计 3 3 1a p i ) u 报文结构 a p d u 报文实现了电子证卡与外界的交互相应。应用协议中的一个步骤由发送命 令、接收实体处理以及发回的响应组成。因此,特定的响应对应于特定的命令称作为 命令响应对。 消息传递模型是所有j a v ac a r d 通信的基础。它的核心就是应用程序协议数据单 元( a p d u ) ,c a d 和j a v ac a r d 框架之间交换的一个逻辑数据包。j a v a c a r d 框架接收 任何c a d 发送进来的a p d u 命令并且传送到相应的小应用程序中。小应用程序处理 a p d u 命令,然后返回一个响应a p d u 。那些a p d u 遵守国际标准规格i s o i e c7 8 1 6 3 和7 8 1 6 4 。读卡器和卡之间的通信通常基于下面两种连接协议的一种,面向字节 的t = 0 ,或者面向数据块的t = 1 。 应用协议数据单元( a p d u ) 可包含有命令报文、响应报文。它从接口设备,发送 到卡或者相反地由卡发送到接口设备。每当有一个进
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 冬天心血管最怕什么 - 大寒前后课件
- 《认识系统中的控制》教学设计-2026-2027学年川教版(新版)小学信息科技六年级上册
- 2026年酒店管理与服务考试试题及答案
- 2026年汽车设计外观造型设计师试题及答案
- 项目3-1 知识技能:云计算概述
- 2026年药理学药剂模拟习题(含答案)
- 2026年输液港维护操作三基年度培训方案
- 2026年养老机构消防安全培训试题库(附答案)
- 2026年危化品防护装备使用题库及答案
- 2026年食品风险排查处置考试试卷试题及答案
- 丽声北极星分级绘本第一级上Fox and Mother Hen课件
- 2025年城市地下管网改造研究报告
- 2026年陕西事业编制招聘在哪里看参考题库附答案
- 2025北京国际风能大会暨展览会(CWP2025):大型长柔风电叶片新型失效模式分析与设计验证方法
- 中医考核人文试题及答案
- 2025年河北西学中题库及答案
- 班主任职业能力大赛课件
- 肿瘤靶向药物治疗及护理讲课件
- 传统蒙学在现代儿童德育中的创造性运用研究
- 国家电网公司招聘高校毕业生应聘登记表
- 青少年心理发展与教育(硕士)
评论
0/150
提交评论