(计算机应用技术专业论文)pcsc框架中若干关键技术的研究.pdf_第1页
(计算机应用技术专业论文)pcsc框架中若干关键技术的研究.pdf_第2页
(计算机应用技术专业论文)pcsc框架中若干关键技术的研究.pdf_第3页
(计算机应用技术专业论文)pcsc框架中若干关键技术的研究.pdf_第4页
(计算机应用技术专业论文)pcsc框架中若干关键技术的研究.pdf_第5页
已阅读5页,还剩47页未读 继续免费阅读

(计算机应用技术专业论文)pcsc框架中若干关键技术的研究.pdf.pdf 免费下载

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

文档简介

华中科技大学硕士学位论文 摘要 智能卡是保护电子商务客户端数据安全的最佳选择,并在各种电子商务的活 1 动中得到了极其广泛的应用。为了顺应这种日益增长的智能卡应用需要,增强 智能卡、智能卡操作系统、智能卡读写终端、操作系统以及上层应用之间的互 操作性,提出了p c s c ( i n t e r o p e r a b i l i t ys p e c i f i c a t i o n f o ri c c sa n dp e r s o n a l c o m p u t e r 的重要部 ) 框架。智能卡服务提供者和加密服务提供者是p c s c 框架中 智能卡服务提供者向上层应用提供最基本的智能卡服务,它包括最基本的与 智能卡通讯、智能卡认证、文件的访问以及其他行业相关的服务的封装。针对 智能卡特殊的运行模型,类比w e b 智能代理技术,采用缓存和预取技术提高智 能卡的访问效率,提出了一种改进的l r u 缓冲区置换策略:并借鉴数据库的事 务模型,提出了智能卡事务模型,用于协调多个应用对串行的智能卡访问的关 系。利用事务冲突图t c g 对事务进行并发控制,并根据智能卡事务的特性提出 了一种改进的f c f s 算法对智能卡事务进行调度。 、 加密服务提供者向上层应用提供通用的加密服务,它包括加密服务对象的管 理、加密服务对象的访问控制和各种加密服务等。主要讨论了在智能卡有限的 存储空间下如何实现各种加密对象的高效的存储、在智能卡操作系统不支持文 件删除的条件下如何实现对象的删除并根据加密服务的特性最大限度的减少删 除后的碎片。对于加密服务对象的访问控制提出了r & t 模型,并在会话管理中 得到简单的实现。 关键词:智能卡;p c s c智能卡服务白;加密服务7 :暗蛾i ,蓝 一 胃 华中科技大学硕士学位论文 a b s t r a c t s m a r tc a r ds e e m st ob et h eb e s ts o l u t i o nt op r o t e c tt h es e n s i t i v ed a mo fc l i e n t s i d ei ne l e c t r o n i cc o m m e r c e i th a sb e e nw i d e l yu s e di nv a r i o u sa c t i v i t yo fe l e c t r o n i c c o m m e r c e p c s ci saf r a m e w o r kt os p e c i f i ct h ei n t e r o p e r a b i l i t yo fs m a r t c a r d ,s m a r t c a r d o p e r a t i o ns y s t e m s m a r t c a r d r e a d e r ,o p e r a t i o ns y s t e m a nt h e t o p l e v e l a p p l i c a t i o n s s m a r t c a r ds e r v i c e p r o v i d e r a n d c r y p t o s e r v i c e p r o v i d e r a r et w o i m p o r t a n tp a r t si np c s cf r a m e w o r k s m a r tc a r ds e r v i c ep r o v i d e rp r o v i d e st h eb a s i cf u n c t i o no fs m a r tc a r d ,w h i c h i n v o l v et h ec o m m u n i c a t i o nt ot h es m a r tc a r d ,s m a r tc a r da u t h e n t i c a t i o n ,f i l ea c c e s s , a n do t h e rf u n c t i o no fc e r t a i na p p l i c a t i o ns c o p e t h ee x e c u t i o nm o d e lw e r e a n a l y z e d a n dc o m p a r et od ew e ba c c e s ss m a r ta g e n t ,b u f f e r i n ga n d p r e - g e tt e c h n o l o g yw e r e u s e dr e d u c et h ec o m m t m i c a t i o nt i m e st os m a r tc a r d a ni m p r o v e dl r ua r i t h m e t i c w a su s e dt od e c i d ew h i c hf i l ew o u l db es w a po u tw h e nt h eb u f f e rs i z ei sl i m i t e d s m a r tc a r dt r a n s a c t i o nm o d e lw e r ed i s c n s s e di m i t a t e dt h et r a d i t i o n a l d a t a b a s e t r a n s a c t i o nm o d e lt oc o n c i l i a t et h ea c c e s st ot h es m a r tc a r dw h i c hi sas e r i a lt o k e n w h e n m u l t i - a p p l i c a t i o nw o r k o nt h es m a r tc a r ds y n c h r o n o u s l y at c g d i a g r a m w a s u s e dt oe l i m i n a t et h ec o n f l i c to fd i f f e r e n tt r a n s a c t i o n st h a ti sc u r r e n tr u n n i n g f c f s a r i t h m e t i cw h e r e c h a n g e d t of i tt h en e e df o rs m mc a r dt r a n s a c t i o ns c h e d u l e c r y p t o s e r v i c e p r o v i d e rp r o v i d e s c o m m o nc r y p t of u n c t i o n sf o r u p l e v e l a p p l i c a t i o n s i ti n v o l v e st h em a n a g e m e n to fc r y p t os e r v i c eo b j e c t ,t h ea c c e s sc o n t r o l o f c r y p t os e r v i c eo b j e c t a n dg e n e r a lm t h m e t i co fc r y p t o i tm a i n l yd i s c u s sh o wt o s t o r et h e e r y p t os e r v i c eo b j e c to nl i m i t e ds m a r tc a r dn v m ,h o wt o i m p l e m e n t d e l e t i n ge r y p t os e r v i c eo b j e c ta l t h o u g ht h ed e l e t i n go ff i l ei sn o ts u p p o r t e db ys m a r t c a r do p e r a t i o n s y s t e m ,h o w t or e u s et h ef r a g m e n ti e ra f t e r f r e q u e n t l yc r e a t ea nd e l e t e o b j e c t s ,h o wt o u s et h es p e c i a lf e a t u r e so fc r y p t o a p p l i c a t i o n st or e d u c et h o s e f r a g m e n t f u r t h e s t ar & tm o d e lw a s g i v e n t od e s c r i b et h ea c c e s sc o n t r o lo f o b j e c t s k e yw o r d s :s m a r tc a r d ;p c s c ;s m a r tc a r ds e r v i c e p r o v i d e r ; c r y p t os e r v i c ep r o v i d e r i l 擒漱 华中科技大学硕士学位论文 1 绪论 1 1 研究背景、目的及意义 电子商务是计算机网络技术应用的全新发展方向,但它是在i n t e r n e t 这个开 放的环境中进行的。参与交易的各方主体间没有绝对的信任关系,因此面临着 许多潜在的安全威胁。安全性是电子商务生命力的重要保障,同时又是目前制 约电子商务发展的瓶颈因素之一。电子商务的安全是计算机应用研究的前沿和 热点,由此产生了一系列的电子商务安全技术,如s e t 、s s l 和p k i 等“。这 些安全技术有力的保障了电子商务交易的安全性,但是它们都很少提及甚至是 忽略了电子商务客户端的安全,即如何保证客户端的敏感信息能够安全的存储 和使用。 为保证电子商务客户端数据的安全,智能卡是一种理想的客户端机密数据 的安全载体【2 】。相对于其他的数据载体来说,智能卡具有无法比拟的优势。即 安全性和方便性【3 4 】。智能卡有天然的物理的安全性,利用智能卡操作系统,可 以使得机密信息( 如私钥) 在产生、使用、修改到删除的整个生命周期中,外 部都无法通过任何方式获取该机密信息的内容,从而最大限度的保证了该机密 信息的安全。而且,智能卡可以鉴别持卡人的合法性,只有合法的持卡人才能 使用该智能卡,从而保证了智能卡在丢失的情况不被他人冒用,避免了机密信 息被恶意的使用。同时,智能卡是一种可移动的数据载体,体积轻小,便于携 带,方便使用。 综上所述,智能卡作为一种安全的数据存储载体加入到电子商务系统中, 提高了电子商务客户端的数据安全。但是,由于长期以来智能卡及智能卡技术 都是在一种相对无序的状态下发展的,智能卡的应用往往是基于某种特定的智 能卡读写器以及智能卡操作系统而开发的,很难将系统中的读写器或智能卡替 换成其他厂家的产品。造成了智能卡应用的互操作性以及兼容性很差,进而大 大的限制了智能卡的更加广泛的应用【5 】口 华中科技大学硕士学位论文 1 2国内外研究概况 为了规范智能卡和智能卡应用,增强其互操作性,产生了一系列的标准和规 范,它们在不同层面和不同角度对智能卡和智能卡应用进行了规定。 i s 0 7 8 1 6 系列规范是针对智能卡本身的规范,它规定了智能卡的物理和电气 特性以及智能卡的底层协议l 锕。但是该规范给智能卡开发留有很大的回旋余 地,随着智能卡应用的不断扩展,不同的厂家在该规范的基础上产生了不同的 变化或者扩展,甚至是不同的解释和理解,于是便形成了如下局面:虽然不同 的厂家的智能卡产品都声称遵循i s 0 7 8 1 6 规范,但它们之阉相互兼容却比较圈 难。而对于上层应用如何使用智能卡,i s 0 7 8 1 6 更是很少提及。智能卡应用发 展到今天,i s 0 7 8 1 6 越来越难于适应智能卡应用的飞速发展。 除了i s 0 7 8 1 6 系列规范之外,还产生了一系列的针对不同应用范围的行业 规范。如电信行业的e n7 2 6 t 8 1 、金融行业的e m v 以及健康保险系统的e u g 7 w g 7 等【9 。1 2 】。相应的,国内也出现了针对这些行业的规范。这些规范针对于不 同的应用领域做了细致而严格的规范。但是,随着多应用智能卡的发展,一张 卡上往往会出现多个应用,如金融应用和社会保障应用共存于一张卡上:同时 一个上层应用也有可能需要操作多种类型的智能卡。这就需要个更通用更具 有扩展性的框架来规范智能卡的使用。 o p e n c a r d 组织成立于1 9 9 7 年3 月,其成员主要是计算机( 特别是网络计算 机) 制造商。这些计算机制造商认为需要制定一个统一的框架用于支持基于智 能卡的用户登录控制和个性化桌面。o p e n c a r d 最初设想的智能卡应用类似于 g s m 移动电话中的s i m ( s u b s c r i b e ri d e n t i f i c a t i o nm o d u l e ) 卡。后来o d e n c a r d 才发展为为使用智能卡的计算机提供了一个面向对象的通用框架,即0 1 ) e n c 缸d f r a m e w o r k ( o c f ) ,并利用j a v a 实现操作系统的无关性【1 3 - 1 5 1 。但是由于o p e n c a r d - 的先天不足,使得其支持者( 特别是智能卡制造商) 寥寥。 p c s c ( i n t e r o p e r a b i l i t ys p e c i f i c a t i o nf o ri c c sa n dp e r s o n a lc o m p u t e r s y s t e m s ) 工作组成立于1 9 9 6 年3 月,它的成员包括:c p 8 t r a n s a c ( b u l l ) 、g e m p l u s 、 h e w l e t t - l ? a c k a r dc o m p a n y 、i b m 、m i c r o s o f t c o r p o r a t i o n 、s c h l u m b e r g e r s a 、 华中科技大学硕士学位论文 s i e m e n s n i x d o r f i n f o r m a t i o n s s y s t e m e a g 、s u n m i c r o s y s t e m s 、t o s h i b a 和 v e r i f o n e 。并制定了p c s c1 0 。主要规范了智能卡,智能卡读写终端、操作系 统以及上层智能卡应用的工作方式。由于制定该规范的成员分别都是智能卡制 造商,智能卡读写终端制造商以及操作系统制造商,使得p c s c 得到了飞速的发 展,p c s c 的一个关键部件资源管理器已经在m i c r o s o f t w i n d o w s 中得到了支 持,同时也出现了一系列支持p c s c 的智能卡读写器f 1 6 - 1 9 1 。 p k c s l 5 和p k c s l l 是由r s a 公司制定的口0 2 1 l ,它不是特别针对智能卡的 规范,而是针对所有的提供通用的加密服务的设备的规范,p k c s l 5 规范规定了 加密设备上的各种数据的存储格式,而p k c s l l 则规范了这些加密设备需要呈 现的外部接口。它虽然是特定于加密应用的规范,但是它对智能卡的访问与 p c s c 有很多相通之处。 1 3主要研究工作 p c s c 由于得到了m i c r o s o r 的支持,展现了旺盛的生命力,本文将讨论在 p c s c 框架中的两个关键部件智能卡服务提供者和加密服务提供者的实现技 术: 1 智能卡服务提供者 智能卡服务提供者向上层应用提供基本的智能卡服务,是智能卡操作系统的 封装和扩展。主要包括智能卡文件的访问以及文件的访问控制、智能卡的认证、 以及智能卡事务的处理等。 2 加密服务提供者 加密服务提供者管理各种加密服务对象并向上层应用提供各种类型的加密 服务。主要包括加密服务对象的存储管理、加密服务对象的访问控制、以及加 密服务的提供等。 华中科技大学硕士学位论文 2p c s c 体系结构 随着智能卡需求不断的增加,智能卡作为一种安全、方便、可移动的数据载 体得到了广泛的应用,各大智能卡制造厂商以及系统集成商逐渐意识到需要建 立一个将智能卡集成到p c 应用程序的统一的标准。p c s c 成立于1 9 9 6 年,目 的是在有关安全和电子商务的p c 应用程序中集成使用智能卡。p c s c 的成员 中,除m i c r o s o f t 之外,其他的全都是智能卡制造厂商。p c s c 在已有的智能卡 相关的国际规范( 如:i s o7 8 1 6 ,c e np r e n7 2 6 和e m v 等) 的基础上着重规 范了智能卡、智能卡读写器的互操作性以及如何将智能卡读写器集成到 w i n d o w s 操作系统中。 图2 1 为p c s c 的体系结构,下面分别对各个部件进行介绍: 智能卡读写器( s m a r tc a r dr e a d e r ) 是智能卡的读写设备,它必须遵循 i s 0 7 8 1 6 所规定的与智能卡的通讯协议。为了保证p c s c 的上层应用对智能卡 访问的设备无关性,读写器驱动( r e a d e rh a n d l e r ) 实现操作系统和特定的读写 器设备之间的功能映射,它包括一些基本的功能,如:智能卡的插入检测,智能 卡的上电、下电、复位以及向智能卡发送a p d u 命令并接收智能卡返回的数据, 也有可能包括用于用户认证的密码键盘、指纹扫描仪、视网膜扫描仪等。 资源管理器( r e s o u r c em a n a g e r ) 是p c s c 中最重要的部件,它一般由操作 系统完成,负责管理所有的对智能卡以及对智能卡读写器的访问。同时资源管 理器还需要管理各种智能卡服务提供者以及各种智能卡的服务。 智能卡服务提供者( s m a r tc a r ds e r v i c ep r o v i d e r s ) 通过特定的接口向上层应 用程序提供智能卡的各种服务。智能卡接口包含一系列的预定义的智能卡服务、 调用这些服务所需要遵循的协议以及这些服务之间的逻辑关系规则等。智能卡 服务负责维护与智能卡的通讯环境,同时可以提供其他的扩展的功能,如:智 能卡的认证、智能卡文件的访问等。智能卡可以申明支持某个由g u i d ( g l o b a l l y u n i q u ei d e n t i f i e r ) 标识的接口。在智能卡第一次引入系统时完成智能卡与其接 口的绑定( 通常是在智能卡服务提供者安装的过程中完成该绑定) 。智能卡资源 4 华中科技大学硕士学位论文 管理器根据智能卡的复位信息a t r 识别不同的智能卡,然后根据智能卡的类型 选择不同的智能卡服务提供者以及不同的智能卡服务。 应用 智能卡服1 加密服务 务提供者l 提供者 7 、 资源管理器 ,、 , 、 读写器驱动 读写器驱动 读写器驱动 l 。 i ii 。 b 霉主善一- 薯嚣;一- 雪磊罢一 图2 1p c s c 体系结构 加密服务提供者是一个可选的部件。它提供诸如:密钥的产生、密钥的管 理、密钥的导入导出、签名校验、摘要和加密解密等通用的加密服务。上层应 用仅需要选择不同的加密服务提供者,而通过统一的c r y p t o a p i 来使用各种不 同的加密服务。 谴篷燃辽 华中科技大学硕士学位论文 1 智能卡服务提供者( s c s p s m a r tc a r ds e r v i c ep r o v i d e r ) 智能卡服务提供者向上层的应用提供基本的通用智能卡服务,主要包含以下 功能: ( 1 ) 屏蔽c o s 指令( a p d u ) 的细节,向上层应用提供简单易用的接口 c o s 指令( a p d u ) 由一系列的毫无意义的二进制串组成,其自身很难清楚 明了的表达自己所实现的功能。上层应用的开发者要想完全弄清楚a p d u 的细 节将是一个十分漫长而困难的过程。而通过智能卡服务提供者,使得上层应用 的开发者可以从艰深、晦涩的a p d u 指令细节中解脱出来,大大提高上层应用 开发者的效率。 智能卡应用发展到今天,其应用范围远远超过的现有的国际国内关于智能卡 应用标准的范围。各c o s 开发厂家不断的丰富智能卡的功能,一方面满足了现 实应用中的多种多样的需求,另一方面,由于这些功能是在没有标准、无序的 状态下扩展的,对于同一种功能,不同厂家,甚至相同厂家的不同版本,可能 由不同的a p d u ( 或者a p d u 系列) 完成。这样造成了不同厂家或不同版本智 能卡的互操作性的困难。而智能卡服务提供者可以屏蔽不同厂家、不同版本智 能卡之间的差异,向上层应用提供统一的接口,增强应用的兼容性和互操作性。 ( 2 ) 向上层应用提供统一而且唯一的基于文件的逻辑视图 智能卡是串行存储设备,对智能卡的存取操作是一个相对较慢的过程,各个 应用( 或各个进程) 可能会保存一个智能卡中相关文件的映象,以减少与智能 卡交互的次数。但是,由于应用( 进程) 的相互独立性,一个应用( 进程) 对 智能卡上相关文件修改不能迅速的被另外一个应用( 进程) 觉察,如果二者同 时访问相同的文件,会造成意想不到的后果。通过智能卡服务提供者,在不影 响数据安全的前提下,向上层应用通过统一且唯一的卡内文件的逻辑映象,以 文件为单位进行访问控制,协调各个应用、各个进程对文件的操作,维护文件 的一致性和完整性。不影响数据的安全是指:智能卡服务提供者只对非敏感的 数据( 如明文的二进制、记录文件) 进行映象,而不对敏感数据( 如工作文件、 密钥文件) 进行映象,事实上,由于智能卡的保护,在使用过程中智能卡服务 提供者不可能保存这些敏感数据的映象,即使保存了映象,也不可能减少与智 6 华中科技大学硕士学位论文 能卡的交互的次数。 ( 3 ) 卡操作的事务管理 ,由于智能卡本身是串行设备,卡内不会存在同时运行着两条a p d u 的情况, 即单条a p d u 具有原子性,但是这还远远不够,因为实现某项应用所需的功能, , 往往需要系列的a p d u 完成,而各个a p d u 之间往往有着上下文联系,这个 a p d u 系列形成一个整体,不能分割,在其中插入其他的a p d u 指令有可能造 成失败,即这个a p d u 系列具有事务的特性:原子性。在多进程、多线程的环 境下,如果不提供事务一级的管理,很难预期事务的执行结果。通过智能卡服 务提供者,可以有效地对智能卡事务进行管理,保障事务的原子性,使智能卡 按照应用预期的目的完成相关的操作。 ( 4 ) 卡状态维护 对于智能卡操作的某个事务,甚至是整个应用往往是依赖于智能卡某个特定 的全局唯一状态( 如:选择的某个目录、校验p 矾) 运行的,而在多应用、多 进程的情况下,往往会被其他的应用改变,其结果是应用最终无法得到智能卡 的当前状态,从而无法作出相关的处理。智能卡服务提供者可以跟踪卡的当前 状态,帮助上层应用程序保持或恢复其所需的状态。 2 加密服务提供者( c s p , c r y p t o g r a p h i c s e r v i c ep r o v i d e r ) 加密服务提供者主要有以下的功能 ( 1 ) 各种加密对象的管理 这些加密对象包括:证书、密钥以及一般的数据对象等,对这些对象的创建、 删除、查找等进行管理。向上层应用提供简单的对象的逻辑视图。 ( 2 ) 对象的访问控制 加密服务提供者根据各类对象的安全属性利用智能卡操作系统对各类对象 进行不同级别的保护,并根据用户所扮演的角色以及所需要完成的任务进行访 问控制 ( 3 ) 各种加密服务 提供各种类型的通用的加密服务,它包括:加密解密服务、报文摘要服务、 签名校验服务、密钥的产生和随机数的产生等。 了 撼趣 华中科技大学硕士学位论文 3 智能卡服务提供者实现技术 3 1 智能卡的运行模型 由于智能卡的安全性、方便性以及可移动性,智能卡广泛的应用于银行、 社会保障、移动电话付费电视等领域。这些应用归结起来可以分为三类: 1 可移动的数据存储( p o r t a b l ea n dp e r s o n a ld a t af i l e s ) :智能卡用于存储持 卡人个人的相关信息,如社会保障卡,学生卡、交通卡等。这些数据在卡中以 一定的目录结构以文件的方式存在。数据的存储和访问在相对安全的环境中进 行或者在通过相应的认证过程( 通常是p i n 或外部认证) 后进行; 2 访问控制( a c c e s sc o n t r 0 1 ) :智能卡作为应用鉴别过程中的一种安全组 件,用于标识持卡人的某种特定的身份。如:g s m 系统中的s i m 卡,w a p 中 的w i m 卡,以及付费电视中的智能卡均是用户身份的种标识; 3 支付( p a y m e n t ) :在这种类型的应用中,智能用于安全电子支付。公用 电话卡、信用卡等就是很好的例子。 在以上的各种应用中,智能卡扮演着两种角色,即数据服务器和应用服务器。 由此而产生了智能卡的两种运行模型:数据服务模型和应用服务模型口2 1 。 3 1 1 数据服务模型 如图3 1 所示,智能卡作为数据的载体,存储外部应用所需的相关的信息, 外部应用根据实际的需要创建相应的数据对象,同时设置数据对象的相关属性, 并在达到相应的权限之后对数据对象进行读写操作。i c 只负责根据外部应用所 设定的权限对数据对象的读写进行访问控制,而对数据对象本身的内容不作解 释,对读或写的时机和方式也不加干预,如用户的姓名、住址等公共信息等。 这种由外部应用的直接控制并解释的数据对象y - n # b 部数据对象。智能卡操作 系统利用基本工作文件( b w f ) ,如:二进制文件和记录文件等来支持外部数据 对象的存储。 i 。镒戮惑 华中科技大学硕士学位论文 八 写 一 7 外部数厂、外部数厂、 外 读 、据对象u据对象i , 部 1 应 写 一 外部数厂、f 外部数】f 、 智 用读 i l 据对象据对象, 能 u 应用应用 卡 3 1 2 应用服务模型 图3 1 数据服务模型 如图3 2 所示,智能卡除了作为外部数据对象的载体之外,还保存有与特定 八 写 7 外部数,、外部数厂、 外 读 、据对象,据对象, 部 应 内部数内部数 用 据对象据对象 智 应用定义的 能 操作 应用应用卡 一 图3 2 应用服务模型 的应用相关的数据对象,即内部数据对象。这种内部数据对象完全由智能卡操作 华中科技大学硕士学位论文 图3 3 智能卡服务提供者结构图 系统控制,根据特定应用的相应的逻辑对数据进行相应的操作( 读、写、或者 以这个数据为参数的某种运算,该运算可能对数据对象进行改变,也可能不改 变该数据对象) ,如:电子钱包的充值与消费、基于一个私钥的签名等。而外部 1 0 魄 引i 华中科技大学硕士学位论文 应用程序无法直接对内部数据对象进行读写操作,只能在达到应用所确定的特 定的状态后,通过特定的a p d u 间接的访问该对象。智能卡操作系统利用专用 工作文件( d w f ) ,如私钥文件和钱包文件等来支持内部数据对象的存放。 3 2 智能卡服务提供者的结构 智能卡服务提供者向上层应用提供最底层、最基本的一系列智能卡服务。 般由一系列的c o m 接口提供,便于操作系统的资源管理器根据智能卡的类型 选择到不同的接口。其内部结构如图3 3 所示。 i s c a r d 包含一些基本的智能卡访问功能,如:智能卡的查找、连接、上电、 下电、复位以及智能卡命令的发送和接收。同时它还包含智能卡事务的处理; i s c a r d c m d 用于形成特定格式的a p d u ;i s c a r d l s 0 7 8 1 6 封装了i s 0 7 8 1 6 规范 a p d u 指令;i s c a r d f i l e a c e e s s 协助上层应用对各种文件的访问,包括文件 的创建、文件的选择、文件的读写等。i s c a r d a u t h 和i s c a r d v e r i f y 为智能卡的 认证服务,其中i s c a r d a u t h 是建立在外部认证基础上的,而i s c a r d v e r i f y 是建 立在简单的p i n 校验基础上的。智能卡还可以根据不同行业的需要提供不同的 服务,如用于加密应用的i s c a r d c r y p t o 和用于金融应用的i s c a r d f i n a n c e 等。 3 3 智能卡的认证服务 在任何一个运行时候,在智能卡上均存在一个唯一的安全状态,只有在当前 的安全状态满足某个文件的安全属性时,外部应用程序才可以对该文件进行允 许的操作。改变该状态的唯一途径便是通过智能卡的认证。智能卡认证的方式 有两种,即简单p n 校验和外部认证。 简单的p i n 校验即智能卡将用户p i n 保存在一个完全不可外读的存储区中, 实际使用时,用户输入其p i n ,传递给智能卡,智能卡在其内部进行比对,而 仅将比对的结果传出卡外。这种方式每次传递给智能卡的认证信息都是一样的, 这就需要给智能卡读写器配备专用的密码键盘,或者是该认证过程在相对安全 的环境中进行,以防止恶意的攻击者通过截获通讯口的信息而获取用户的p i n 信息。简单p i n 校验的另一个缺陷是般智能卡对输入p i n 的串类型和长度做 “麓燃瞧 华中科技大学硕士学位论文 了限制,如大多数智能卡的p i n 必须是b c d 码且其长度不能超过6 个字节,这 显然不能满足很多应用,特别是安全要求较高的应用的需求( 这些应用往往需 要p i n 有一定的长度和复杂度,以抵御字典攻击) 。 外部认证则采用挑战应答协议,使得每次在通讯口中传递的信息是动态的, 从大大提高了认证的安全性。其具体描述如下: 假设在智能卡中已经装入了一条不可外读的对称密钥k ,使得k = f ) ,其 中,为单向散列函数,m 为用户需要输入的认证信息。 1 用户输入用户认证信息m ; 2 智能卡服务提供者向智能卡取随机数( g e t c h a l l e n g e ) r : 3 智能卡服务提供者计算k = 厂b ) : 4 智能卡服务提供者计算m = e k ,r ) ,并将m 发送给智能卡。其中e 表 示加密,即利用足对r 加密; 5 智能卡接收m 利用k 对m 进行解密,得到r ,= o ( k ,m ) 。如果r = r 则认证通过,而如果r ,则认证失败。 这种外部认证完全可以用来代替p i n 校验,其中单向函数的引入使得用户 可以输入任意长度,任意类型的信息进行校验,从而大大的提高了上层应用的 灵活性。 3 4 智能卡文件访问的缓存管理 智能卡是一种低速的串行设备,假如某个应用频繁的访问某个文件,而每次 都直接与智能卡交互的话,会大大降低智能卡访问的效率。虽然各个应用可以 分别保持对自己访问的文件的缓存,这对某时刻仅有一个应用访问智能卡是没 有问题的,但是当多个应用同时访问智能卡时,特别是它们需要访问同一个文 件时,由于进程之间的隔离性,使得一个应用感觉不到另一个应用的存在,从 而某个应用保存的某个文件的映像很有可能不能反映该文件最新的更改,造成 缓存中的映像与智能卡中的文件的内容不一致,而由此产生的后果可能是致命 的。这就需要智能卡服务提供者提供一个全局的缓冲区,对上层应用所有的对 文件的访问进行统筹管理,从而可以最大限度的提高智能卡的访问效率。 华中科技大学硕士学位论文 i缓存技术的使用原则安全性原则 智能卡是作为一种安全组件加入到系统中的,所以访问的安全性是第一位 的,而访问的效率则是第二位的。即提高智能卡的访问效率是以不损害智能卡 固有的安全性为前提的。缓存技术的安全性原则主要体现在两个方面:首先, 对于诸如二进制文件、记录文件等用于保存外部数据对象的文件和诸如私钥文 件、钱包文件等用于保存内部数据对象的文件应该分别处理,对于前者可以使 用缓存技术,而后者则应该尽量减少该文件在卡外驻留的时间。其次是当智能 卡当前的安全状态改变时,缓存中在当前安全状态下不能访问的文件应该立即 删除,即缓冲区中只能保存当前安全状态下可见的视图,防止非法应用窃取其 他应用的信息。 2 c a c h e 的置换策略 假定新请求文件的大小是5 ,而且不在缓冲区之中。 传统的l r u 算法是,当缓冲区之中的自由空间小于s 时,重复替换那些驻 留时间最久而又未被使用的文件直到缓冲区之中的自由空间至少为s 。l r u 算 法有可能会为一个较大的文件而替换掉许多小文件,从而降低了文件访问在缓 冲区中的命中率。为了最大限度的提高文件在缓冲区中的命中率,这里提出了 两种l r u 的改进算法 2 3 , 2 4 : l r u - m i n 算法力图使被替换的文件个数最少,设三代表文件表,丁表示一 个尺寸的整数。 ( 1 ) 设r 为j ; ( 2 ) 设为尺寸不小于r 的文件列表( 三可以为空) ; ( 3 ) 从三中替换掉最久未使用的文件直到三为空或缓冲区之中的自由空间至 少为死 【4 ) 如果缓冲区之中的自由空间小于j 时,设t = t 2 返回( 2 ) 。 l r u - t h o l d 算法基本上和l r u 算法相同,只是当文件的大小超过一定的 域值时便不对该文件进行缓存。 为了比较三种算法的优劣,我们对l r i j 、l r u m i n 、l r u t h o l d 三种缓 冲区置换算法迸行了仿真实验,籍以确定命中率的大小和缓存尺寸的要求,其 华中科技大学硕士学位论文 结果如表3 1 所示。 表3 1 三种置换算法的比较 命中率c a c h e b y t e生命期s 算法 最小最大最小最大最小最大 l r u2 3 82 6 42 2 96 1 41 31 5 o l r u m q2 7 44 0 82 3 06 2 82 8 4 7 3 l r u t h o l d2 9 53 2 91 4 82 6 _ 27 21 5 1 6 实践表明,就命中率来说,l r u 的表现最差;l r u t h o l d 需要计算域值, 因此l r u m i n 是其中较好的策略,这种策略不需要参数且在大多数情况下表 现良好;另一方面,l r u t h o l d 需要较小的缓冲区空间,随着缓冲区空间的 减少,其命中率下降的相对缓慢。 为此采用了一种适应性的策略,先使用l r u m i n 算法,当c a c h e 大小接近 可用缓冲区空间时改用l r u t h o l d 算法,l r u t h o l d 使用的域值逐渐减小 直至c a c h e 减小至q 较低水平。 3 预取技术 对智能卡上的文件的访问是有规律可徇的,特别是针对于特定的行业的应用 更是如此,如:金融应用中,一般都会先读取个人信息文件。基于此,可以采 用预取技术,在智能卡空闲时预先将这类数据读入缓冲区中,以提高访问的效 率。下面给出一种预测算法来选择预取的文件【2 鲥。 预测算法收集所有的文件访问历史记录并预测下一步要访问的文件。本方案 中,采用了两种计数器,即文件访问计数器和文件关联计数器。对于每一个文 件a 都有一个文件计数器巳,另外,如果在访问一的相同的会话中访问了曰, 则称4 和b 相互关联,使用计数器c f 。1 。每次上层应用访问4 时,a 加一; 同样访问a 的同时访问了b 则c “。、加一。 使用条件概率p ( s i4 ) 表示上层应用在访问文件a 后访问文件b 的概率。则 当上层应用正在访问a 时,对于所有与a 相关联的文件鼠,其访问的概率为: 1 4 华中科技大学硕士学位论文 r, p c b 1 4 ) = l ( 4 髟 一a 预取技术通过概率p 来选择预取的文件。 3 5 智能卡事务模型 一个智能卡事务是一系列智能卡a p d u 指令按照一定的顺序的组合,是并 发控制的基本单位 2 6 - 3 2 1 。智能卡事务的a p d u 往往需要维持在特定的上下文环 境中执行。与一般数据库的事务不同的是,有些事务提交后是不可恢复的。智 m 能卡在智能卡事务模型中可以看作是一系列的文件( 和对象) 集合即c ;u t 。 l = l 事务r 可以抽象为一个初始状态和一系列对文件的操作的组合,则事务丁 可以表示为: t = ( s ,b 。,o p k 就b :,o p ( x :强,g 。,d p g 。) ) ) 其中$ 代表该事务需要维持的状态,为了简化起见,此处不讨论在事务执行 的过程中存在状态变迁的事务,这类事务其实可以从状态变迁点划分为一系列 的小的事务进行讨论:而代表文件;o p ( x , ) 代表对文件x j 的操作,操作是绝对不 可分割的的a p d u 系列,它可以是一条a p d u ,也可能是多条a p d u ,如外部 认证操作,取随机数a p d u 和外部认证a p d u 之间不能插入任何其他的a p d u , 否则会造成失败。存在两种不同类型的操作,即读和写, o p g ) r ,形 。任 何不引起智能卡上数据的改变的操作均视为读操作,反之,任何引起智能卡上 数据改变的操作为写操作。 事务系统r 是一组事务的集合,即f = t ,r 的一个调度s 是r 按( 可 鬲 能) 互相交错的方式的一次执行,但在s 中,每一个事务必须按其原来的顺序 执行其读写操作,如果一个调度s 没有交错执行,则它是顺序的,一事务丁对 某个文件x 进行读操作记做墨( x ) ,对x 进行写操作记做。 对智能卡事务进行调度时,一般采用f c f s 策略。但是如上所述,智能卡事 务一般都是在一个特定的前提状态下执行的,如果简单的采用f c f s 策略,就 。蕊瀵列 华中科技大学硕士学位论文 有可能是智能卡在不同的状态下不停的切换,这样造成了访问的效率下降,故 应仅f c f s 略加改进,使得前提状态相同的事务尽量在一起执行。 定义3 1 :一事务r 的所有读( 写) 对象读集合称为该事务的读( 写) 集, 记做r s ( r x w s ( r ) ) ;其读集和写集的并集称为事务r 的操作集, m s ( 丁) = r s i 丁) u w s i r ) 。 定义3 2 :假定两事务正和砟均对一个对象x 进行操作,如果至少存在一个 关于x 的写操作,且没有其他事务对x 进行操作,则称正和正对于对象工是冲 突的,记做z 山l 。 定义3 3 :事务系统r 的一个调度s 关于对象工的冲突图咒。g & ) 是一个有向 图,陀g g ) = ( 矿g l e g ) ) ,其中y g ) 是所有对x 进行操作的事务, 矿( x ) = 奴。,& :,k :e b ) = k ,x ,矗,) i 瓦j 耳,。 定义3 4 :事务系统r 的一个调度s 冲突图t c g ( 简称事务冲突图) 是一个 有向图,t c g = ( 矿,e ) ,其中,v = u 矿g ) :e = u e ( x ) 。 抛c托c 定义3 5 :在事务冲突图t c g 中,如果有边f 三一r ,则称乃为t j 的父事 务,乃为正的子事务;如果存在一条从乃到死的路径正山一山山r , 则称正为t j 的祖先事务,正为正的子孙事务:没有子事务的事务称为端点事务。 定义3 6 :对于一个调度s ,如果存在一个顺序调度s ,其所有的冲突操作 的执行次序与其在s 中的执行次序相同,则称调度s 是冲突可顺序化的。 定理3 1 :当且仅当调度s 对应的事务冲突图是无圈的时,调度s 是冲突可 顺序化的。 由定理3 1 知,如果保持事务冲突图无圈,则可保证事务的执行是冲突可顺 序化的,在对智能卡访问的并发控制中,如果事先知道每一事务的读集和写集, 则可对事务间的冲突操作进行预定序,构造一个无圈的事务冲突图,并将其作 为并发控制的工具,这就可以保证智能卡上数据的一致性。 在并发控制时,事务必须遵循下述原则: 1 对一对象操作时,必须得到此对象的控制权; 1 6 华中科技大学硕士学位论文 2 操作完毕时,放弃此控制权; 3 仅当所有父事务都放弃对一对象的控制权时,才能获得对其控制权:当 没有父事务时,可以得到任何对象的控制权; 4 在执行前,首先向系统提交其操作集,在以下并发控制算法中,系统根 据事务提交的操作集,构造一个用于并发控制的无圈事务冲突图t c g ,在t c g 中,每一个对象x 有一个子图t c g ( x ) ,z c g g ) 实际上是用于对x 进行并发控制 的控制流程图。 算法中,t b 是信号量,用来保证事务对t c g 的操作是顺序的,s t a t e ( 0 1 表 示t g ( o ) 中的端点事务对此对象的操作类型,5 t 嘲( o ) r e a d ,w r i t e ,肌盯) ,其 中n u l l 表示没有事务对0 操作,j o 竹仃) 表示t 的子事务的集合,丘纳p r 口) 表示 t 的父事务的集合,s i n k ( t c g ( d ) ) 表示亿l g ( d ) 端点事务的集合,g r a n t ( t ,d ) 表 示将对象d 的控制权交给r 。 当收到事务t 的操作集 舔仃) = r s 仃) u 臃p ) 时,系统就对原t c g 进行扩 展,使其包括事务丁,算法如下: 1 1 0 e k ( r s ) , 2 对所有的0 埘s p ) 执行f ,嚣p ,f 口,0 ) ; 3 u n l o c k (

温馨提示

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

评论

0/150

提交评论