(计算机软件与理论专业论文)智能卡中间件.pdf_第1页
(计算机软件与理论专业论文)智能卡中间件.pdf_第2页
(计算机软件与理论专业论文)智能卡中间件.pdf_第3页
(计算机软件与理论专业论文)智能卡中间件.pdf_第4页
(计算机软件与理论专业论文)智能卡中间件.pdf_第5页
已阅读5页,还剩86页未读 继续免费阅读

(计算机软件与理论专业论文)智能卡中间件.pdf.pdf 免费下载

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

文档简介

独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作 及取得的研究成果。据我所知,除了文中特别加以标注和致谢的地方 外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含为 获得电子科技大学或其它教育机构的学位或证书而使用过的材料。与 我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的 说明并表示谢意。 签名: 与垒! 日期:z 。2 年1 6 月;日 关于论文使用授权的说明 本学位论文作者完全了解电子科技大学有关保留、使用学位论文 的规定,有权保留并向国家有关部门或机构送交论文的复印件和磁盘, 允许论文被查阅和借阅。本人授权电子科技大学可以将学位论文的全 部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描 等复制手段保存、汇编学位论文。 ( 保密的学位论文在解密后应遵守此规定) 签名:导师签名 日期:2 以年6 月弓日 摘要 摘要 随着智能卡在金融、保险、证券等国民经济领域的应用前景以及在计算机网 络安全领域不可替代的作用f 益明显,我们又不得不面对各种智能卡、智能卡读 卡器和通信信道之间互不兼容的尴尬局面。在这两难的境地,智能卡中间件应运 而生,为用户提供智能卡应用的开放性平台。而对于应用程序来说,不需要关心 到底使用的是什么智能卡、智能卡读卡器和通信信道,可以无缝的在各种智能卡、 智能卡读卡器和通信信道上移植,这样可以有效的减少智能卡应用的开发工作。 智能卡中间件的研制可以解决以前那种只要更换智能卡、智能膏读卡器和通信信 道中的任何一种设备及相关的软件或软件库就必须从新修改程序甚至从新开发 的问题,必将成为一种全新的技术和观念得到发展及应用。 本文主要包括以下部分: 1 介绍了智能卡、智能卡读卡器的相关背景知识。 2 基于应用环境和中间件技术,提出了操作模式、物理模型和逻辑模型, 为智能卡中间件提供了概念性架构。 3 对系统进行了用例分析,是对物理模型和逻辑模型的进一步深入,对系 统应该完成什么样的功能,各模块应该承担的任务以及之f 司的关系有了 清晰认识。 4 率先提出了通信信道协议、智能卡读卡器协议和智能卡协议,给出了配 置文件设计以及c 语言的数据结构。 5 给出两个成功应用案例。 关键词: 智能卡,通信信道,智能卡读卡器,智能卡中间件 a b s t r a c t a b s t r a c t i ti s b e c o m i n gm o r ea n dm o r ep o p u l a ra n di m p o r t a n tf o r t h es m a r t c a r d a p p l i c a t i o ni nt h en e t w o r ks e c u r i t ya r e aa n dt h ee c o n o m i ca r e a so ff i n a n c e ,i n s u r a n c e a n ds e c u r i t i e se t c ,b u ti t sd e p r e s s e df o rt h ei n c o m p a t i b i l i t yo fs m a r t c a r d ,i n t e r f a c e d e v i c ea n dc o m m u n i c a t i o nc h a n n e l t h es m a r t c a r dm i d d l e w a r ee m e r g e si nt h i s s i t u a t i o n i tc o m b i n e st h es m a r t c a r dt e c h n o l o g yw i t ht h em i d d l e w a r et e c h n o l o g y f o r t h es m a r t c a r da p p l i c a t i o n ,i td o e sn o tn e e dt oc o n c e mt h eb r a n do fs m a r t c a r d ,i f da n d c m cw h e nr u n n i n go nt h ep l a t f o r mo fs m a r t c a r dm i d d l e w a r ea n dt r a n s p l a n t i n gf o r t h ec i r c u m s t a n c ec h a n g e i tc a ne c o n o m i z eh u m a nr e s o u r c e so nt h ed e v e l o p m e n ta n d t r a n s p l a n t a t i o np h a s ea n di m p r o v et h ec o m p a t i b i l i t ya n dt h ee x t e n s i b i l i t y w h e na n y o fs m a r t c a r d ,i f da n dc m cc h a n g e d ,w en e e dt od on o t h i n g i t ss u r et h a tt h e s m a r t c a r dm i d d l e w a r ew i l la c ta ni m p o r t a n tr o l ei nt h ef u t u r es m a r t c a r da p p l i c a t i o n s t h i st h e s i si n c l u d e st h ef o l l o w i n ge l e m e n t s : 1 t h eb a c k g r o u n dk n o w l e d g eo fs m a r t c a r da n di f di si n t r o d u c e d 2 t h ea r c h i t e c t u r eo fs m a r t c a r dm i d d l e w a r e ,b ym e a n so fm i d d l e w a r e t e c h l l o l o g y , f o r m st h r o u g ho p e r a t i o nm o d e p h y s i c a lm o d e la n dl o g i cm o d e l i nt h ea p p l i c a t i o nc i r c u m s t a n c e 3 t h er e q u i r e m e n t sa n a l y s i so ft h es m a r t c a r dm i d d l e w a r ec a ng i v ec l e a r k n o w l e d g ea n dc o m p r e h e n s i o na b o u th o wa l l t h ec o o p e r a t i v em o d u l e s w o r k i n ga n dw h a tf u n c t i o ne v e r ym o d u l ei m p l e m e n t i n g 4 t h ep r o t o c o l so fs m a r t c a r dl a y e r ,i f dl a y e ra n dc m cl a y e ra r ep u tf o r w a r d f i r s tb ym y s e l ga n dt h ed a t as t r u c t u r eb a s e d0 1 1cl a n g u a g ea n dt h e c o n f i g u r a t i o nf i l e sa r ed e s i g n e df o rr e a l l yd e v e l o p m e n t 5 t w oa p p l i c a t i o ne x a m p l e si m p l e m e n t i n go nt h es m a r t c a r dm i d d l e w a r e k e y w o r d s : s m a r t c a r d ,c o m m u n i c a t i o nc h a n n e l ,i n t e r l a c ed e v i c e ,s m a r t c a r dm i d d l e w a r e 背景知识栅述 1 1 引言 第一章背景知识概述 在当今信息时代,先进的科学技术以前所未有的惊人速度改变着人类的生活 方式,创造着社会财富。而在这场信息革命中,计算机的诞生几乎是以里程碑的 形式出现的,随着网络应用开始变得更加重要的今天,信息的安全却成为了最主 要的障碍之一。电子方式的识别代替传统的面对面认证对安全性和保密性提出更 高的要求。全球互联网的出现,公司网络的扩展要求更安全的解决方案来代替原 有已不能胜任的方案。安全的解决方案已经成为网络应用的巨大推动力,很难想 象基于不安全的网络平台的应用会是一种什么样的情况,系统无法得到安全可靠 的运行用户数据无法得到安全可靠的保护。当用户发现系统无法为其提供已承 诺的服务,自己的信息得到非法的肆无忌惮的修改或者复制,自己的信用卡被不 知名的实体随意的支付而得不到任何的法律的保护的时候,结果只会是这个系统 将没有任何存在的意义。所以信息安全已经成为网络发展和应用中重要的基本组 成部分。有理由相信信息安全将是未来发展最迅速的领域之一。 面向用户的安全解决方案的很多部分必须无缝的紧密结合,同时对用户来说 必须使用方便。智能卡就是安全解决方案中必须考虑的一个部分。其他的部分包 括( 但不局限于) 加密体系、密钥管理、通信协议等。和智能卡应用密切相关的 还有智能卡读卡器、通信信道、操作系统和u n i x 终端等相关设备及技术。 1 2 智靛卡介绍 从智能卡的分类开始进行介绍,然后对c p u 卡的内部结构、功能模块划分、 文件系统和安全体系结构进行介绍。 背景知识慨述 1 2 1 智能卡分类 i c 卡的概念是7 0 年代提出的,法国b u l l 公司首创智能卡产品,并将这项 技术应用到金融、交通、医疗、身份证明等多个方面。智能昔的核心是集成电路 芯片,一般为3 u m 以下半导体技术制造。智能卡具有写入数据和存储数据的能 力。根据各种的集成电路的不同,i c 卡可以分为以下三类: 存储器卡:卡中的集成电路为e e p r o m ( 电可擦除可编程只读存储器) 。它 仅有数据存储能力,没有数据处理能力。存储器卡上的信息与磁卡上的信息一 样,很容易读出,也能修改,所以其安全性也是有问题,一般用在对安全要求不 太高的场合,如健康卡等。存储器卡的容量一般在i k b 到1 6 k b ( b 为位) 之间。 逻辑加密卡: 中的集成电路具有加密逻辑和e e p r o m 。在对卡中的数据 进行操作前,必须验证每个卡的操作密码。密码的验证是由卡中的芯片完成,而 不是由读卡终端完成。逻辑加密卡一般在卡内存放密码,仅当外界输入的密码与 卡内所存密码相符时,才允许使用该卡,因此与存储器比较提高了安全性。目前 的逻辑加密卡存储容量还不够大,在某些应用领域,其安全性也不能满足要求, 所以发展c p u 卡是必然的趋势。 c p u 卡:卡中的集成电路包括c p u ( 中央处理器) 、e e p r o m 、r a m ( 随机存 储器) 以及固化在r o m ( 只读存储器) 巾的c o s ( l 内操作系统) 。其唯一的工作方 式为“用户方式”,分为通用型和专用型两种,专用形是指其中的c p u 为专用的、 保密的,与通用型的主要差别在于其有很好的物理保护措施。 c p u 卡中一般有r o m ,r a m 和e e p r o m 三种存储器。r o m 中存放的是 程序,程序是为智能 的c p u 专门设计的。智能卡应用系统根据应用需要由智 能卡读卡器送一系列命令到智能卡,通过改变命令的内容和命令的顺序就可以满 足不同的需要,因此有较高的灵活性。同时因为c p u 有计算功能,存储容量又 大,可以进行比较复杂的加密或者解密运算,极大提高了安全性,e e p r o m 主 要用来存放一些应用数据,其容量比逻辑加密卡大,可实现一卡多用。 如按卡与外界的数据传送形式来分,智能卡可分为接触型和非接触型两种。 当前广泛使用的接触型智能卡,在这种卡的左上角有印制版,上面有8 个触点可 2 背景知i f ;! 概述 与外部接触。非接触型智能卡的集成电路不向外引出触点,因此它除了有上述智 能卡的电路外,还带有射频收发电路及其相关电路( 非接触智能卡也分为存储器 卡,逻辑加密卡及c p u 卡) 。 1 2 2c p u 卡内部结构 内部结构组成如下:微处理器( c p u ) 及加密逻辑、内存( r a m ) 、程序区 ( r o m ) 、数据区( e e p r o m ) 及通讯端口( i o ) 五部分组成,是一个相当完 整的计算安全体系。用户数据放在被加密逻辑保护的e e p r o m 中,c o s 掩膜在 r o m 中,以保汪代码安全。在操作卡片过程中,过程密钥被生成后放在r a m 空间中,并且一些临时数据也将保存在r a m 中,掉电后自动丢失,保证其安全 性。 复健 鲢钝 v c c 地 鞠嫩 i ,o 1 2 3 功能模块化划分 图1 1 智能卡内部结构 基本操作方式为:从接l 设备接收一条命令,然后经过内部处理器处理后返 回应答信息给接1 2 设备。其处理过程如下图所示: 3 背景知识概述 命令处理过程: 命令应答过程 每条命令的处理都要经过上述四个模块,如果其中的任意一个模块在处理中 发现错误都将返回相应的出错信息。 1 2 4 文件系统 1 2 4 1 文件系统的组织结构 具体的层次结构如下图所示 1 主控文件( m a s t e r f i l e m f ) 主控文件是整个文件系统的根( 可看作根目录) ,每张卡有且只有一个主控 文件。它是在卡的个人化过程中首先被建立起来的,在卡的整个生命周期内一直 背景知识概述 存在并保持有效,可存储卡的公共数据信息并为各种应用服务。由个人化建立起 来的主控文件包括文件控制参数以及文件安全属性等信息。在物理上,主控文件 占有的存储空间包括m f 文件头的大小以及m f 所管理的e f 和d f 的所有存储 空间。 2 专用文件( d e d i c a t e df i l e ,d f ) 在m f 下针对不同的应用建立起来的一种文件,是位于m f 之下的含有e f 的一种文件结构( 可看作文件目录) ,它存储了某个应用的全部数据以及与应用 操作相关的安全数据。 d f 由创立文件命令建立:它的大小在建立后被确定,此后不能更改。对d f 的建立操作由m f 的安全属性控制, 为了保证各个d f 的相互独立,只能从文件系统的m f 层次选择一个d f , 对d f 下的数据进行的操作由各当前系统的状态机控制。 3 基本文件( e l e m e n t a r yf i l e ,e f ) 基本文件存储了各种应用的数据和管理信息,它存在于m f 和d f 下。e f 从存储内容上分为两类:安全基本文件和工作基本文件。 安全基本文件( s e c r e te l e m e n t a r yf i l e ,s e f ) 的内容包含用于用户识别和与加 密有关的保密数据( 个人识别码、密钥等) ,卡将利用这些数据进行安全管理。s e f 要在m f 或d f 建立后,才能建立。建立后每个k e y 都可以定义不同的修改权 限。安全基本文件的内容不可被读出,但可使用专门的指令来写入和修改。在 m f 和每个d f 下只能建立一个安全基本文件,但每个文件中的k e y 和p i n 的 类型由用户指定。 工作基本文件( w o r k i n ge l e m e n t a r yf i l e ,w e f ) 包含了应用的实际数据,其内 容不被卡解释。在符合w e f 的读、修改安全属性时,可对其内容进行读取、修 改。工作文件的个数和大小受到m f 或d f 所拥有空间的限制。 整个文件系统的空间在m f 、d f 和e f 建立时被分配和确定,以后在物理上 不会发生变化。当访问e f 时,必须先选择相应的m f 或d f 。 ) 背景知识概述 1 - 2 4 2 基本文件结构 定义了下列e f 的结构。 透明结构一在接口处e f 可看作为一序列数据单元。 记录结构一在接口处e f 可看作为一序列各自可标识的记录。为按记录 构成的e f 定义了下列属性: 记录的长度:固定的或可变的。 记录的组织结陶:按顺序( 线性结构) 或者按环形( 循环结构) 。 为了构造e f ,卡至少应支持下列四种方法之一。 透明e f 。 带有固定长度记录的线性e f 。 带有可变长度记录的线性文件。 带有固定长度记录的循环e f 。 1 2 5 安全体系结构 安全状态 安全状态表示完成下列动作后所获得的可能的当前状态 复位应答( a t r ) 和可能的协议类型选择( p t s ) f n 或; 单个命令或一序列命令,可能执行的认证规程。 安全状态也可以从完成与所包含实体( 如果有) 的标识有关的安全规程中产 生,例如,通过证明了解口令;通过证明了解密钥;通过安全报文交换。 考虑了三种安全状态: 全局安全状态它可以通过完成与m f 相关的鉴别规程进行修改f 例如, 通过连接到m f 的口令或密钥的实体鉴别) ; 文件特定安全状态它可以通过完成与d f 相关的鉴别规程进行修改( 例 6 背景知 ! 概述 如,通过连接到特定d f 的口令或密钥的实体鉴别) ;它可以通过文件选择进行维 护、恢复或被丢失:这种修改只与鉴别规程所属的应用相关; 命令特定安全状态仅在执行涉及使用安全报文交换的命令期间,它才存 在:这种命令可以保留未变化的其他安全状态。 如果逻辑信道的概念适用,则特定安全状态可以依赖于逻辑信道。 安全属性 当安全属性存在时,它定义了允许的动作以及完成这种动作要执行的规程。 安全属性可以与每个文件相关,并且安排为了允许对文件进行操作而应该满 足的安全条件。文件的安全属性依赖于:它的种类( d f 或e f ) ;在它的文件控制信 息中的和或在其父辈文件的文件控制信息中的任选参数。 安全机制 定义了下列安全机制: 使用口令的实体鉴别卡对从外界接收到的数据同保密的内部数据进行 比较。该机制可阻用来保护用户的权利。 使用密钥的实体鉴别待鉴别的实体必须按鉴别规程来证明了解的相关 密钥。 数据鉴别使用保密的或公开的内部数据,卡校验从外界接收到的冗余数 据。另一种方法是使用保密的内部数据,卡计算数据元( 密码的校验和或者数字 签名) ,并且将其插入发送给外界的数据中。该机制可以用来保护提供者的权利。 数据加密使用保密的内部数据,卡解密在数据字段中接收到的密文。另 一种方法是,使用秘密的或公开的内部数据,卡计算密码,并将其插入数据字段 中,尽可能与其他数据一起进行。该机制可以用来提供保密性服务,例如,用于 密钥管理和有条件的访问。除了密码机制外,数据保密性可以通过数据伪装来获 得。在此情况下,卡计算伪装字节串,并通过“异或”运算将其加到从外界接收 到的数据字节中,或将其加到发送给外界的数据字节中。该机制可以用来保护秘 密,并且减少报文过滤的可能性。 背景知i 只概述 1 2 6 命令与应答机制 智能卡与智能卡读卡器之间使用命令与应答的通信机制,即智能 读卡器发 送命令,智能卡接收并处理后发送响应给接口设备。这种机制包括两种数据单元 命令应用数据单元与响应应用数据单元。 命令应用数据单元包含两部分:固定的四个字节命令头和长度可变的命令 体,其内容参见如下表格: 命令头命令体 c l ai n sp lp 2l c 数据域1 l e c l a 字节指出命令的类型。如下表所述 b 7b 6b 5b 4 b 3b 2 b 1b 0 定义 l外部命令 0 内部命令 1安全报文传送 o 不附加安全报文件传送 i n s 字节表示命令编码,p l 和p 2 为具体命令参数。 l c 字节表示数据的长度只有一个字节表示,取值范倒为1 2 4 9 。如果l c 为0 表示没有数据域。 l e 表示期望智能卡返回的数据长度,由单字节表示,取值范围1 2 4 9 。 响应应用数据单元也包括两部分:可能存在的响应数据体( 应答体) 和两个 状态字节( 应答尾部) ,如下表所示: l应答体应答尾部 响应数据体s w ls w 2 背景知识概述 1 3 智能卡读卡器介绍 智能卡读卡器和智能卡之| _ k t j 的电气连接在i s 0 7 8 1 6 系列规范中进行了说明, 这里不做介绍,也不是智能卡中间件所要讨论的重点,因为智能卡中间件使用的 都是智能卡读卡器厂商提供的产品。智能卡中间件关心的是如何形成完整和正确 的数据包,如何解析响应数据包。所以下面主要介绍几个智能卡读卡器的数据传 输规则。 1 3 1 s t a r 智能卡读卡器介绍 为了适应安全和金融领域发展的为了趋势,s t a r 智能卡读乍器支持 i s 0 7 8 1 6 规范,支持各种存储卡、逻辑加密卡和c p u 卡。 1 3 1 1 数据通信协议 数据格式是由下面的数据组成 其中 b y t e 3 :命名号 b y t e 2 :d a t a 的字节数+ 1 d a t a :传输的数据,长度不超过2 5 0 个字节 l r c :b y t e l ,b y t e 2 ,b y t e 3 ,d a t a 的异或值 当形成智能卡读卡器的数据包的时候,除e t x 外均要转化成a s c i i 码格式, 采用比特拆分法原则,即将一个字节拆分成高低四位两部分,分别加上前缀码0 ( 3 0 h ) ,然后按先高位后低位字节的顺序传送。 例如上电命令( 1 0 h ) 为: 9 背景知识概述 6 0 h0 l l o hl r c0 3 h , 传送数据,即智能卡读卡器数据包为 3 6 h + 3 0 h + 3 0 h + 3 1 h + 3l h 一3 0 h + l r c h + i 。r c + 0 3 h 1 3 1 2 读写命令集 c p u 卡上电复位命令( 6 e h ) 智能卡读卡器发送数据包:6 0 h + o i h + 6 e h + l r c + 0 3 h 响应数据包:6 0 h + a r t 长度+ a r t + l r c + 0 3 h c p u 卡下电命令( 4 d h ) 智能卡读苦器发送数据包:6 0 ;1 + 0 l t i + 4 d t i + l r c + 0 3 h 响应数据包:6 0 h + o i h + 状态字节+ l r c + 0 3 h c p u 卡输入命令( d a h ) 智能卡读卡器发送数据包:6 0 h 一( 数据k 度+ 1 ) + d a h + 数据+ l r c + 0 3 h 响应数据包:6 0 1 卜数据长度+ 数据+ l r c 0 3 h c p u 卡输出命令( d b h ) 智能卡读卡器发送数据包:6 0 h + ( 数据长度一1 ) 一d b h + 数据一- l r c + 0 3 h 响应数据包:6 0 h + 数据长度+ 数据+ l r c = 0 3 t 返回状态字节含义如下 0o 【 a o h a 2 h a 3 h a 4 h a 引i 命令正确执行 不能处理此类卡 智能卡读卡器内无号片 命令未执行 下电 密码错多次,该卡不可使用 背景知识概述 a 6 h a 7 h a o t l a 9 h 密码错 不能校验密码 密码未校验 密码已校验 1 3 2 g u o g u a n g 智能卡读卡器介绍 1 3 2 1 数据通信协议 数据格式是由下面的数据组成 b y t e l + b y t e 2 + b y t e 3 十d a t a + l r c 其中: b y t e l :7 e h b y t e 2 :命名号 b y t e 3 :d a t a 的字节数 d a t a :传输的数据 l r c :b y t e l ,b y t e 2 ,b y t e 3 ,d a t a 的异或值 除7 e lj 、命令号和l r c 外,其余的数据均应拆分后传送( 即对于数据包中的 1 6 进制数x 1 x 2 h ,应拆分为3 x 1 3 x 2 h ) ,但是数据包中的长度值仍应为未拆分前 的长度。如对卡上电复位后执行命令( 0 0a 40 40 00 e3 1 5 04 l5 92 e5 35 9j 3 2 e4 44 44 63 03 1 ) ,则应发送的数据包为:7 e ( 命令头) 5 2 ( 命令号) 3 1 3 3 ( 长度为1 3 t 1 ) 3 0 3 03 a 3 43 0 3 43 0 3 03 0 3 e3 3 3 13 5 3 03 4 3 13 5 3 93 2 3 e3 5 3 33 5 3 9 3 5 3 33 2 3 e3 4 3 43 4 3 43 4 3 6 3 3 3 03 3 3 l2 b ( l r c ) 。 1 3 2 2 读写命令集 c p u 卡上电复位 智能卡读卡器发送数据包:7 e h + 5 1 h * 3 0 h + 3 i h + w a i tt i m e ( 2b y t e s ) + l r c 背景知识概述 响应数据包:7 e + 3 0 + a r t 长度+ a t r + l r c c p u 卡下电命令 智能卡读卡器发送数据包:7 e l + s a h - 一3 0 h + 3 0 1 i - l r c 响应数据包:7 e h + 3 0 h + o o + l r c c p u 卡输入命令 智能卡读卡器发送数据包:7 e h + 5 2 h + 数据长度+ 数据+ i r c 响应数据包:7 e h 一- 3 0 h + 数据长度+ 数据+ l r c c p u 卡输出命令 智能卡读告器发送数据包:7 e h + 5 2 h + 数据长度+ 数据+ l r c 响应数据包:7 e h + 3 0 h + 数据长度+ 数据+ l r c 返回状态字节含义 7 e h + 3 1 h + o o h + l r c操作失败 7e f + 3 2 h + o o h + l r c 通讯错误 7 e h 一3 3 h + o o 卅l r c错误命令 t e h + 3 4 1 1l _ o o h + l r c 拔卡中断 7 e h 一- 3 5 hl _ o o h + l r c 等卡超时( 只有复位命令才有此响应) 1 3 3 n e w l a n d 智能卡读卡器介绍 1 3 3 1 数据通信协议 发送数据格式是由下面的数据组成 b y t e1 + b y t e 2 一b y t e 3 d a t a + l r c 苴中 b y t e l :l b h 背景知识概述 b y t e 2 :命名号 b y t e 3 :d a t a 的字节数 d a t a :传输的数据 l r c :b y t e 3 ,d a t a 的异或值 响应数据格式是由下面的数据组成 b y t e l + b y t e 2 十d a t a + l r c 其中 b y t e l :状态标示 b y t e 2 :d a t a 的字节数 d a t a :传输的数据 l r c :b y t e 2 ,d a t a 的异或值 除1 b h 和命令号以及响应时候的状态标示外,其余的数据均应比特拆分后 传送,将一个比特拆分成高低四位两部分,分别加上前缀码0 ( i i e x :3 0 h ) , 然后按先高字节,后低字节的顺序传送。这里所指的传输包括双向数据传输。 例如:智能卡读卡器要把上电信息( h e x ) 0 6 1 ( 数据长度) ,2 4 h 、o o h 、8 0 h 、 7 2 h 、o a 4 h 、4 5 h ( 6 个数据) ,3 l h ( l r c 校验) 返回主机,智能卡读卡器发送的 数据为( h e x ) 3 0 h 、3 6 h 、3 2 h 、3 d h 、3 0 h 、3 0 h 、3 8 h 、3 0 h 、3 7 h 、3 2 h 、3 a h 、3 4 h 、 3 4 h 、3 5 h 、3 3 h 、3 】h 。 1 3 3 2 读写命令集 c p o 卡上电复位 智能卡读卡器发送数据包:i b h + 5 5 h 响应数据包:7 0 h + a r t 长度+ a t r + l r c c p u 卡下电命令 智能卡读卡器发送数据包:i b h 一4 4 h 3 背景知识概述 h 向应数据包:7 0 h c p u 卡输入命令 智能卡读卡器发送数据包:i b h 一5 7 h + 数据长度。数据一l r c 响应数据包:7 0 f t + 数据长度+ 数据+ l r c c p u 卡输出命令 智能卡读卡器发送数据包:i b h + 5 7 h + 数据长度+ 数据+ l r c 响应数据包:7 0 h + 数据长度+ 数据+ l r c 返回状态字节含义: q ( 7 1 h ) 操作失败 1 4 系统目的和前景 为了提高智能卡和智能卡读卡器的行业间互操作性,国际标准化组织( i s o ) 制定了i s 0 7 8 1 6 标准,它主要专著于在物理、电气和数据链路层。在1 9 9 6 年r 又由 三 大银行 组织 : e u r o p a y ( w v _ w e u r o p a y c o i n ) 、 m a s t e r c a r d ( w w w m a s t e r c a r d c o t l l ) 、v i s a ( v 。x w v 、r i s ac o m ) 根据1 s 0 7 8 16 标准制定 了一个智能乍的工业化标准( e m v ) ,它还根据金融领域的特殊需要规定了附加 的数据类型和编码规则。欧洲电信工业也根据i s 0 7 81 6 标准制定了针对移动电话 用户的全球移动通信系统( g s m ) 的智能卡标准。后来又由m i c r o s o f t 、i b m 等 几大公司制定了同样基于i s 0 7 8 1 6 标准的p c s c 规范。然而所有的这些标准( i s o 7 8 1 6 、e m v 、g s m 、p c s c ) 都太面向底层或特定领域的应用。都试图让智能卡 生产商或智能卡读卡器生产商遵循这样的标准,但是现实的情况却非如此。还有 一个非常不幸的事情是i s 0 7 8 1 6 标准只是定义了一致的文件系统、以及访问卡上 安全服务的协议( t - o 和t = 1 ) ,却没有对如何建立文件系统,以及涉及到非密钥 体系的加密、解密、签名和认证等没有来得急进行规范。而这正好又是当前智能 卡在公钥基础设施r p k i ) 体系中的一个巨大应用。有必要针对这些现实的情况, 屏蔽下层的差异,提供统一的接口,这就是智能卡中间件所要解决的问题。 智能卡中间件,为用户提供智能 应用的开放性平台。而对于应用程序来说, 1 4 背景知识概述 它不需要关心到底使用的是什么样的智能卡、智能卡读卡器和通信信道。 随着智能卡在金融、保险、证券等国民经济领域的应用前景以及在计算机网 络安全领域不可替代的作用日益明显;我们又不得不面对各种智能卡、智能卡读 卡器和通信信道之间的互不兼容的尴尬局面。在这两难的境地,智能卡中问件可 以让应用程序无缝的在各种智能卡、智能卡读卡器和通信信道上移植。这样可以 有效的减少智能卡应用的开发 :作,可以说会彻底的解决以前那种只要更换智能 卡、智能卡读卡器和通信信道中的任何种设备及相关的软件或软件库就必须从 新修改程序甚至从新开发的问题。智能卡中间件必将成为一种全新的技术和观念 得到发展及应用。 1 5 定义、缩写词、略语 i f d ( i n t e r f a c ed e v i c e ) ,也称为智能卡读卡器,种终端通信设备,当操作 过程中,为智能卡提供电气连接的设备。 i c c ( i n t e g r a t e dc i r c u i tc a r d ) ,集成电路卡。当然在这里指的是一种镶嵌有 集成电路芯片的塑料制卡,是符合i s 0 7 8 1 6 标准的,在本论文中如果没有特殊说 明,都是特指带c p u 的智能卡。 c m c ( c o m m u n i c a t i o n c h a n n e l ) ,通信信道,在数据到达智能卡读卡器( i f d ) 之前所有经过的实体都称为通信信道,这可能包括串口、电缆、u n i x 终端、u n i x 终端的辅口等相关设备。 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 ) ,应用协议数据单元。在本文中用来 特指在满足i s 0 7 8 1 6 - 4 的协议数据单元,只是对i c c 而言的。 a t r ( a n s w e r t o - r e s e t ) ,是i c c 作为对智能卡读卡器发出的r e s e t ( 复位) 的响应传输数据。 d f ( d e d i c a t e df i l e ) ,专用目录文件,包括文件的控制信息和可以分配的存 储空间。它可以是基本文件或下层专用目录文件的父专用目录文件。 m f ( m a s t e rf i l e ) ,代表整个i c c 的强制的唯一的根专用目录文件。 e f ( e l e m e n t a r yf i l e ) ,基本文件,众多数据单元或记录共享同一个文件标示 15 背景知识溉述 符的集合。它不可以在作为其他文件的父文件。 c l a ( c l a s s ) ,命令数据的类单元。在1 s 0 7 8 1 6 中是a p d u 的第个字节单 兀。 i n s ( i n s t r u c t i o n ) ,命令数据的命令单元,在1 s 0 7 8 1 6 中是a p d u 的第二个 字节单元。 p 1 ( 2 ) ,参数单元,在1 s 0 7 8 1 6 中是a p d u 的第三和第四个字节单元。 p i n ( p e r s o n a li d e n t i f i c a t i o n n u m b e r ) ,个人识别数据。 1 6 本章小结 智能卡可以分为存储卡、逻辑加密乍和c p u 卡三种,而c p u 卡以其具有处 理能力而成为i c 卡中功能最强大的一种,也将是未来应用中最主要的一种。 c p u 卡组成如下:微处理器( c p u ) 及加密逻辑、内存( r a m ) 、程序区( r o m ) 、 数据区( e e p r o m ) 及通讯端口( i o ) 五部分,是一个相当完整的计算安全体 系。 c p u 卡基本操作方式为:从接l j 设备接收一条命令,然后经过内部处理器 处理后返回应答信息给接口设备,都要经过四个模块的处理,这四个模块分别是 传输管理、加密运算、命令解释和文件管理。 c p u 卡的文件系统的组织结构基本可以分为主控文件和专用文件以及基本 文件三种,而基本文件有可以分为安全基本文件和工作基本文件两种。基本文件 结构可以分为透明文件和记录文件。 c p u 卡的安全体系结构主要从三个方面来进行讨论和研究:安全状态、安 全属性和安全机制。考虑了三种安全状态:全局安全状态、文件特定安全状态和 命令特定安全状态。当安全届性存在时,它定义了允许的动作以及完成这种动作 要执行的规程,安全属性可以与每个文件相关。定义了下列安全机制:使用r 丁令 的实体鉴别、使用密钥的实体鉴别、数据鉴别、数据加密。 c p u 卡的命令和应答机制定义了智能卡与智能卡读卡器之间使用命令与应 答的通信机制,即智能卡读卡器发送命令,智能卡接收并处理后发送响应给接口 l6 背景知识概述 设备。这种机制包括两种数据单元:命令应用数据单元与口i q 应应用数据单元。 智能卡读卡器作为于智能卡通信最直接的接i z i 设备,主要介绍了s t a r 、 g u o g u a n g 和n e w l a n d 三种智能卡读卡器的数据通信协议和读写命令集。 读写命令集主要包括c p u 乍上电复位命令、c p u 卡下电命令、c 凡卡输入命令、 c p ij 卡输出命令以及返回状态字节含义。 定义了在本文中要经常使用到的术语以及缩写词、略语,其中包括比如i f d ( 智能卡读卡器) 、i c e ( 智能卡) 和c m c ( 通信信道) 等相关术语。 1 7 系统模型 2 1 操作模式 第二章系统模型 在实际的应用中,到底会是如何来使用智能卡系统的。这可以分成几种操作 模式来进行详细的分析。主要有w i n d o w s 系统操作模式、u n i x 系统主机操 作模式和u n i x 终端操作模式- i 十,下面将详细的一一进行讨论。 w i n d o w s 系统操作模式:智能卡读卡器通过直接于w i n d o w s 系统 平台的主机连接进行通信,比如w i n d o w s 平台下的串口或者u s b 接 u 都可以来和智能卡读卡器进行连接,因为w i n d o w s 系统对串口或 者u s b 接口的控制是非常舰范的,所以,这种模式相对来说对通信信 道的控制和操作比较简单一些。下面给出这种模式的模式图,如图2 1 。 w i 智能卡读卡器和智能卡 图2 1w i n d o w s 操作模式 。;|爹 $ ; ,。 系统模型 u n i x 系统主机操作模式:智能卡读号器通过直接于u n i x 系统平台的 _ ;i 二机连接进行通信,比如u n i x 平台下的串口或者u s b 接口部可以来 和智能卡读卡器进行连接,因为u n i x 系统对串口或者u s b 接1 2 的控 制是非常规范的,所以,这种模式相对来说对通信信道的控制和操作比 较简单一些。下面给出这种模式的模式图,如图2 2 。 智能卡读卡器和智能卡 图2 2u n i x 操作模式 u n i x 终端操作模式:在这种模式f ,智能卡读卡器不是和u n i x 主机 进行通信,而是通过u n i x 终端来进行通信的。u n i x 终端在金融系统 中应用相当广泛,所以这种模式就显得比较重要,也是最复杂的一种。 u n i x 终端在u n i x 系统中是作为一个进程而被实际管理起来的,而智 能卡读卡器通过u n i x 终端辅e l 和u n i x 终端相连,在这种模式下,通 信信道的控制和操作比较复杂,因为涉及到了u n i x 终端辅口的控制和 操作。下面给出这种模式的模式图,如图2 3 。 9 i 魏洛 系统模型 2 2 系统功能 智能卡凄卡器和智能卡 图2 3u n i x 终端操作模式 智能卡中间件要实现以下的功能目的 只要是满足i s 0 7 8 1 6 的智能卡都能够得到支持。( 规范性) 满足在不同的操作系统上对智能卡应用都能得到支持。( 操作系统无关 性) 。 使得各智能卡、智能卡凄卡器、u n i x 终端等外围设备提供商的产品都 能够得到支持。( 外围设备供应商无关性) 。 2 0 魏糍飘魏鬻 系统模刑 使得基于智能卡的应用程序不用因为选用的智能卡、智能卡读卡器、 u n i x 终端、操作系统都外围因素的改变而需要重新设计或修改( 应用 程序级无关性) 。 提供撮简单和有效的智能卡中间件的应用a p i ,使得智能卡应用程序便 于开发。( 简单性) 尽量对智能卡在多方面的应用进行支持。( 通用性) 2 3 物理模型 为了清楚的给出智能卡中问件是如何在实际的智能卡应用中扮演角色,提出 了基于应用的物理模型,为了详细的描述智能卡中间件本身的构成,提出了智能 卡中间件的四层模型。 2 3 1 基于应用的物理模型 根据一个完整的应用服务,提出图2 4 的智能卡中间件的应用模型。从这个 模型中可以比较清楚地看到智能卡中间件在应用中所处的地位以及完整的应用 层次结构。在这个应用模型中,智能卡中间件扮演着下层服务的总调度师以及为 上层提供服务的职责。 应用 a p i i 周用 响应 c m c 响应报,i f d 响应报、 一 智能卡中f b q 、通信信i 。 _ 终端读 件 【、, 堕 墨f 、c m c 数据报、i f d 数据报7 t 、 i c c 数据报 i c c 响应报 to 或t - 1 链路协议 l 一一a p d u 响 智能卡 ,a p d 图2 4 基于应用的物理模型 c o s 支持的功能 2 渺一 系统模型 对模型说明如下 a 应用程序调用智能卡中问件提供的统一的接e 1 ,它不用去关心特定的通 信信道、智能卡读帚器、智能一p - 的差异。 b 智能卡中间件必须有一个自举的过程,这个过程是为了有效获取下层通 信信道、智能卡读卡器、智能卡的信息。可以通过读配置文件或通过读数据库来 完成。 c 智能卡中间件接收到上层应用程序的a p i 调用,根据a p i 调用,再根据 自举获取的下层通信信道、智能卡读卡器、智能卡的信息,形成加报头、报尾、 校验信息和a p d u 的数据包,称为i c c 数据包,然后再形成智能卡读 器数据 包,称其为i f d ( i n t e r f a c ed e v i c e ,即智能卡读卡器) 数据包。需要说明的是i f d 数据包的报头和报尾严格的与智能卡读卡器有关。而i c c 数据包严格的与智能 卡有关( 指那些i s 0 7 8 1 6 - 4 没有规范的如建立文件系统、非对称密钥体系的加密、 解密、数字签名和认证等) ,

温馨提示

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

评论

0/150

提交评论