已阅读5页,还剩70页未读, 继续免费阅读
(计算机系统结构专业论文)java智能卡applet安全下载机制的研究与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 j a v a 智能卡技术以其平台无关、一卡多用、动态下载的特点成为智能卡领域 的热门技术,采用a p p l e t 方式实现行业应用,已经成为跨行业、多应用智能卡的 首选实现方式。但是j a v ac a r d 规范并没有提供对a p p l e t 安全下载这方面的支持, 这使得j a v a 智能卡平台存在重大安全隐患。 为了防止应用程序在下载前被恶意篡改,或者未被授权用户向卡内下载应用 程序,设计并实现一种安全下载机制,具有十分重要的现实意义。 本文首先对a p p l e t 安全下载的研究现状进行了调研;其次对g l o b a lp l a t f o r m 技术进行了研究,提出符合g p 规范的j a v a 智能卡操作系统模型;然后,根据g p 卡规范,设计了一套a p p l e t 安全下载方案,对g p 卡规范中的双向认证协议进行 了分析与改进,并用b a n 逻辑对协议的安全性进行了证明;最后,将本文提出的 以g l o b a lp l a t f o r m 技术为依据,以密钥集的管理和使用为基础,以安全通道协议 为支撑的a p p l e t 安全下载方案进行了编码实现与仿真测试。 关键词:, j a v a 智能卡环球平台双向认证安全通道 a b s t r a c t j a v as m a r tc a r dt e c h n o l o g yh a sb e c o m eap o p u l a rt e c h n o l o g yi nt h ef i e l do fs m a r t c a r dr e s e a r c ha n dd e v e l o p m e n t ,w i t hi t sf e a t u r eo fp l a t f o r m i n d e p e n d e n t ,m u l t i p u r p o s e c a r da n dd y n a m i cd o w n l o a d i n g u s i n ga p p l e tt oi m p l e m e n ti n d u s t r ya p p l i c a t i o n s ,h a s b e c o m eap r e f e r r e dw a yt ot h ec r o s s - i n d u s t r ya n dm u l t i a p p l i c a t i o ns m a r tc a r d b u tj a v ac a r ds p e c if i c a t i o nd o e sn o tp r o v i d es e c u r i t ys u p p o r ta b o u ta p p l e t d o w n l o a d i n g t h e r e f o r e ,j a v as m a r tc a r dp l a t f o r mw i l lf a c es i g n i f i c a n ts e c u r i t yr i s k s a n dm a l i c i o u sc o d ea t t a c k s i no r d e rt op r e v e n ta p p l i c a t i o n st ob em a l i c i o u s l yt a m p e r e d b e f o r ed o w n l o a d i n g ,o rm a l i c i o u sa p p l i c a t i o n st ob ed o w n l o a d e di n t ot h ec a r dw i t h o u t a u t h o r i z a t i o n ,d e v e l o p e r ss h o u l dd e s i g n a n di m p l e m e n tas e c u r e d o w n l o a d i n g m e c h a n i s m ,w h i c hh a sv e r yi m p o r tp r a c t i c a ls i g n if i c a n c e f i r s t l y ,t h i sp a p e ri n v e s t i g a t e st h er e s e a r c hs t a t u so f s e c u r ea p p l e td o w n l o a d i n go n j a v as m a r tc a r d s e c o n d l y ,w ed os o m er e s e a r c ho ng l o b a lp l a t f o r mt e c h n o l o g y ,a n d d e s i g naj a v as m a r tc a r do p e r a t i n gs y s t e mm o d e l ,w h i c ha c c o r d sw i t ht h eg l o b a l p l a t f o r mc a r ds p e c i f i c a t i o n s t h i r d l y ,a c c o r d i n gt og l o b a lp l a t f o r ms p e c i f i c a t i o n s ,t h e p a p e rp u t sf o r w a r das e c u r ea p p l e td o w n l o a d i n gm e c h a n i s mo nj a v as m a r tc a r d b e s i d e s ,w ea n a l y z ea n di m p r o v et h em u t u a la u t h e n t i c a t i o np r o t o c o lo fg l o b a lp l a t f o r m c a r ds p e c i f i c a t i o n ,a n dp r o v et h es e c u r i t yo fi m p r o v e dp r o t o c o lw i t hb a n l o g i c f i n a l l y , w ei m p l e m e n ta n dt e s tt h es e c u r ea p p l e td o w n l o a d i n gm e c h a n i s mo nj a v as m a r tc a r d , w h i c hb a s e do ng l o b a lp l a t f o r mt e c h n o l o g y ,m a n a g e m e n ta n du s eo fs e c r e tk e y s ,a n d s e c u r ec h a n n e lp r o t o c 0 1 k e y w o r d s :j a v as m a r tc a r d g l o b a lp l a t f o r mm u t u a la u t h e n t i c a t i o n s e c u r ec h a n n e l 西安电子科技大学 学位论文独创性( 或创新性) 声明 秉承学校严谨的学风和优良的科学道德,本人声明所呈交的论文是我个人在 导师指导下进行的研究工作及取得的研究成果。尽我所知,除了文中特别加以标 注和致谢中所罗列的内容以外,论文中不包含其他人已经发表或撰写过的研究成 果;也不包含为获得西安电子科技大学或其他教育机构的学位或证书而使用过的 材料。与我一同工作的同志对本研究所做的任何贡献均己在论文中做了明确的说 明并表示了谢意。 申请学位论文与资料若有不实之处,本人承担一切相关责任。 本人签名:立迭勃日期鲎三丝 西安电子科技大学 关于论文使用授权的说明 本人完全了解西安电子科技大学有关保留和使用学位论文的规定,即:研究 生在校攻读学位期间论文工作的知识产权单位属西安电子科技大学。学校有权保 留送交论文的复印件,允许查阅和借阅论文;学校可以公布论文的全部或部分内 容,可以允许采用影印、缩印或其它复制手段保存论文。同时本人保证,毕业后 结合学位论文研究课题再攥写的文章一律署名单位为西安电子科技大学。 ( 保密的论文在解密后遵守此规定) 本学位论文属于保密,在一年解密后适用本授权书。 本人签名:皇选 导师签名: 日期塑望:! 乡 日期 第一章绪论 第一章绪论 本章分析了j a v a 智能卡a p p l e t 下载当前所面临的主要安全性问题,在国内 外研究的基础上,将j a v a 智能卡技术与环球平台( g l o b a lp l a t f o r m ) 技术结合起来, 确定了课题的主要研究内容和研究思路。 1 1 课题背景 j a v a 智能卡是一种能够运行j a v a 语言、支持动态下载的多应用智能卡,用户 可根据自己的需求按照s u n 公司发布的j a v ac a r da p p l e t 丌发规洲l j 开发各类应用 程序,一方面,提高了用户开发应用程序的灵活性与方便性,这使得j a v a 智能卡 平台更具通用性;另一方面,这种开放性也直接导致了j a v a 智能卡平台计算环境 的安全性将面临更大的威胁。这是因为,从某种意义上讲,j a v a 智能卡平台已成 为一个小型的多应用系统;因此,恶意的应用程序以及未被授权的应用程序可能 会与合法应用程序一样被下载到j a v a 智能卡中。从而像p c 平台一样,遭受恶意 代码的攻击,导致j a v a 智能卡平台的安全性将面临更大的威胁。 应用程序的丌发快捷和动念下载是j a v a 智能卡的重要技术。为了防止应用程 序在下载前被恶意篡改,或者未被授权的用户向卡内下载、安装恶意应用程序等 各种非法操作,设计并实现一种安全下载机制,确保只有经过授权的、可信的应 用程序才能被下载到卡内,从而提高整个智能卡平台的安全性,具有十分重要的 理论意义与应用前景。 此外,伴随互联网和移动通信技术的发展,j a v a 智能卡以其平台无关、多通 道、多应用、安全性高的特点成为了智能卡研究和丌发领域的热门技术,成为未 来智能卡市场的发展趋势【2 】。特别是在欧美等西方国家,j a v a 智能卡的应用已经 非常的普及【3 j 。因此,对j a v a 智能卡及其应用技术进行深入的研究,开发具有自 主知识产权的j a v a 智能卡产品,以适应不断发展的网络时代的应用需求,正是本 课题研究的意义之一。 针对上述问题,北京大明五洲科技有限公司结合自身发展需求,提出了“基 于可信计算的j a v a 智能卡系统”的研究课题,其核心思想是以j a v a 智能卡为基 础,将j a v a 虚拟机移植到安全设备智能密码钥匙u s b k e y 中,使j a v a 语言开发多 应用程序的灵活性与u s b k e y 的安全性相结合,从而实现一种可应对各类安全计 算应用需求的“可信通用讨算平台”。本人作为该课题的丌发和测试人员之一, 参与了“j a v a 智能卡安全运行时环境( j c r e 部分) ”的开发,单元测试、集成测试 以及后续的代码移植等工作:此外,依据g l o b a lp l a t f o r m 卡规范,结合j a v a 智能 j a v a 智能譬a p p l e t 安全卜载机制的研究与实现 卡a p p l e t 下载的特点,研究、分析并设计了一套a p p l e t 安全下载机制,最后将安 伞下载机制进行编码实现以及p c 机的仿真环境测试。 1 2 当前的研究现状 随着社会信息化和数字化程度的逐渐加深,智能卡不再仅仅局限于负责金融 和电信领域安全的传统应用,面是渗透到全球r 常生活的方方面面;智能卡在智能 卡服务系统中的角色也发生了变化,简单的数据存取和身份识别已经不能满足用户 的要求。 从智能卡的发展历程上看,可以分为基于文件系统的单应用智能卡和基于对 象存储的多应用智能卡。而j a v a 智能卡是一种支持动态下载的多应用智能卡,j a v a 智能卡应用又称为a p p l e t ,其应用下载技术解决方案主要有以下两种: ( 1 ) 基于数据下载的技术:将用户服务用规范的标记语言开发,这些标记语言 以数据的形式下载到卡上,卡上预制一个解释器,对数据进行解释。这样的好处在 于可以基于传统的智能卡技术进行开发,操作系统的结构简单,问题是解释器开发 升级困难,标记语言功能简单,难以实现复杂功能。 ( 2 ) 基于程序下载的技术:用户应用作为程序开发,操作系统仅仅提供一个应 用部署的平台,不同应用没有类似之处,应用和操作系统完全分开。好处在于可以 实现相对比较复杂的功能,升级比较灵活和方便。 目前,国内外针对j a v a 智能卡a p p l e t 下载的主要研究力量有:大唐微电子技 术公司对基于数据下载技术的s t k ( s i mt o o l k i t ) 卡的研究,并由中国移动提出了 s t k 卡梦网短信业务菜单空中下载规范【4 】,s u n 、g e m p l u s 等公司对基于程序下载 的s a t ( s i ma p p l i c a t i o nt o o l k i t ) 技术研究,由3 g p p 和e t s i 给出了基于j a v a 智能 卡技术的s a t 框架结构【5 l 。概括起来讲,目前j a v a 智能卡a p p l e t 下载方式主要有 通过p c 机智能卡读写设备直接下载应用程序和空中下载o t a ( o v e rt h ea i r ) 两种 方式。 ( 1 ) 应用程序直接下载技术是通过p c 机、智能卡读写设备直接将应用程序 a p p l e t 下载到智能卡内,不需要网络的支持。 ( 2 ) o t a 空中下载技术是通过移动通信( g s m 或c d m a ) 的空中接口对s i m 卡 数据及应用进行远程管理的技术。空中接口可以采用w a p 、g p r s 、c d m a l x 以 及最为普及的短消息技术。o t a 技术的应用,使用户能方便快捷地将各种应用程 序a p p l e t 利用短消息机制下载到j a v a 智能昔内。 不论采用哪一种应用程序下载方式,都需要对卡外实体进行身份鉴权,因为根 据j a v a 智能卡规范【1 】丌发出来的j a v a 智能卡系统不安全,因为j a v a 智能卡开发规 范没何提供对应用程序安全下载这方嘶的支持,这使得j a v a 智能卡平台存在重大 第一章绪论 的安全隐患。由于缺少身份鉴权,导致任何人都可以随时下载应用程序a p p l e t 到 j a v a 智能卡上去,当然也包括各种增加、删除、修改操作,而j a v a 智能卡上保存 着多个不同丌发商所提供的应用程序,通常存储着各种如电子钱包、密码、指纹等 高度敏感的信息,所以需要为j a v a 智能卡平台制定完备的安全保障机制。 为此,我们在j a v a 智能卡系统中引入环球平台技术( g l o b a lp l a t f o r m ) 1 引,以期 望能够进一步地解决j a v a 智能卡当日矿所面临的a p p l e t 安全下载问题。 1 3 论文的研究思路与内容组织 本文将对j a v a 智能卡a p p l e t 下载所面对的安全性问题进行讨论,对j a v a 智 能卡技术规范2 2 1 l 】中规定的j a v a 智能卡卡内下载安装模块进行改进,结合g l o b a l p l a t f o r m 技术,改进并实现一套基于g l o b a lp l a t f o r m 技术的j a v a 智能卡a p p l e t 安 全下载方案,以期提高和增强j a v a 智能卡应用程序下载的安全性。本文的研究内 容主要包括两部分,即j a v a 智能卡技术和g l o b a lp l a t f o r m 技术的研究,以及基于 g l o b a lp l a t f o r m 技术的j a v a 智能卡a p p l e t 安全下载机制的设计与实现。 本论文的结构安排如下: 第一章绪论,简要介绍j a v a 智能卡a p p l e t 安全下载的研究背景、研究目的 和意义以及研究现状,指出了当前j a v a 智能卡a p p l e t 下载所面临的安全问题, 结合g l o b a lp l a t f o r m 卡规范的应用程序安全管理技术,确定本文的主要研究内容 和研究思路。 第二章对j a v a 智能卡技术和环球平台技术进行了研究,首先分析了j a v a 智 能卡参考模型的实现原理、体系结构及相对于传统智能卡的优势:然后对坏球平 台技术进行了简要的介绍,详细阐述了g l o b a lp l a t f o r m 组织的目的、g l o b a l p l a t f o r m 卡的安全架构和生命周期管理技术;最后提出一种符合g l o b a lp l a t f o r m 卡规范的适合于j a v a 智能卡的多应用智能卡操作系统模型。 第三章对j a v a 智能卡a p p l e t 下载的安全技术进行了研究,本章首先介绍了 g l o b a lp l a t f o r m 卡规范中a p p l e t 的下载指令逻辑,然后详细说明了g l o b a lp l a t f o r m 卡规范在j a v a 智能卡上的应用解决方案,主要包括基于非对称的卡内外实体的双 向认证机制和消息的安全通道机制,并对安全通道协议进行了分析与改进,以及 对改进后安全通道协议的b a n 逻辑证明与形式化分析,从而形成了a p p l e t 安全 下载的解决方案。 第四章针对第三章提出的j a v a 智能卡a p p l e t 安全下载方案进行了编码实现与 p c 机仿真环境测试,主要包括基于g l o b a lp l a t f o r m 技术的双向认证机制、安全通 道机制,以及根据j a v a 智能专a p p l e t 下载特点而设计的防止重复下载机制和 a p p l e t 下载时的失败p i 滚机制。通过以上各种安令机制的实现,实现了j a v a 智能 4 j a v a 智能譬a p p l e t 安令卜载机制的研究0 实现 卡内外实体i 日j 的双向身份认证和a p d u 消息的安全保密传输,进一步提高了j a v a 智能卡平台计算环境的安全性。 第血章阐述论文所做的工作在本研究领域的地位和作用,说明存在的问题和 不足之处,并提出需要进一步研究和解决的问题。 1 4 本章小结 本章首先介绍了j a v a 智能卡a p p l e t 安全下载当前所存在的安全性问题、课题 来源和研究意义;然后介绍了课题的发展历史和当前的研究现状,总结出目前研 究工作的重点,并阐述了本课题的研究目标和方向;最后,对本论文的主要内容 安排作了一个总体介绍。 第_ 二章j a v a 智能r 及环球平台技术研究 第二章j a v a 智能卡及环球平台技术研究 本章研究和分析了j a v a 智能卡和环球平台的相关技术,首先详细介绍了j a v a 智能卡的体系结构、技术原理和优势;然后介绍g l o b a lp l a t f o r m 卡规范的目的、 g l o b a lp l a t f o r m 卡的安全架构和应用程序安全管理技术:最后提出了符合g l o b a l p l a t f o r m 卡规范的适用于j a v a 智能卡的多应用智能卡操作系统模型。 2 1j a v a 智能卡技术 j a v a 智能卡是一种能运行采用j a v a 语言丌发的应用程序的多应用智能卡, 它是在资源有限的智能卡环境中支持j a v a 语言的一个子集,是j a v a 嵌入到智能 卡中的一种新的应用【7 1 。j a v a 智能卡的出现,使得原有嵌入式设备只能实现单一 或局限行业应用的局面得以改观,使得真j 下意义上的“一卡通”成为现实。 2 1 1 智能卡技术简介 智能卡是一种内部封装了集成电路芯片、具有存储信息和进行复杂运算功能 的塑料卡片,又称为集成电路卡,即i c 卡。在智能卡的芯片上,集成了微处理器、 存储器以及输入输出单元等,其组成结构可以称得上是一个微型计算机系统。与 目f i i f 仍在广泛使用的磁卡相比,具有安全性高、存储容量大等许多优点,它可以 承载比磁卡多达1 0 0 倍的信息,并能与终端进行复杂的运算。 按照智能卡是否内嵌微处理器芯片,可以分为两大类:一类是存储器卡,另 一类是微处理器卡,又称c p u 卡。存储器卡仅仅被用于存储器数据;c p u 卡有 数据处理的功能:它有自己的c p u 、i o 端口、存储器和操作系统,可以被看作 是一台微型电脑,可以安装并运行小的应用程序,通过串行通信接口与外部通信。 c p u 卡的硬件模型1 8 】如下图2 1 所示: i o t i m e r r s t v c c g r o u n d 图2 1 钾能k 的埂什模删 j a v a 智能 a p p l e t 安全卜- 载机制的研究j 实现 从智能卡的硬件模型可以看出,智能卡没有供电模块,必须配合智能卡读写 设备( 如i f d ,i n t e r f a c ed e v i c e :或者c a d ,c a r da c c e s sd e v i c e ) a 能f 常工作。 当自,j 广泛应用于各行业的智能卡是单应用智能卡,所谓单应用智能卡是只能 与同一类终端配合、提供单一行业服务的智能卡。单应用智能卡的应用由单个服 务提供商丌发,只有针对特定a p d u 命令的处理逻辑,只有一套文件系统来维护 数据,用同一套p i n 码和密钥保证文件数据的安全读写。单应用卡的应用和卡操 作系统往往绑定在一起,优点是结构紧凑、系统简单,但在卡的升级和增加a p d u 处理逻辑方面存在困难。 通过单应用智能卡的特点可以看出,用户需要使用多张智能卡才能得到不同 行业的智能卡服务,由此可能会带来如下问题: ( 1 ) 用户需保管多张智能卡,增加了用户携带和管理卡的难度。 ( 2 ) 智能卡数据存储空间和处理能力未得到充分利用,造成硬件资源浪费。 ( 3 ) 不同行业在开发自己服务的时候,需要各自开发操作系统和数据服务, 造成操作系统、同类指令处理逻辑的重复丌发。 ( 4 ) 发卡后,无法动态添加应用程序,尤其是不同行业的应用添加困难、增 值服务丌发部署的困难。 ( 5 ) 不同行业约定的具体a p d u 指令内容不同,不利于终端的标准化和终端 多应用的实现。 为了解决单应用智能卡的缺点和诸多不便之处,多应用智能卡技术应运而生。 当前智能卡提供的服务主要可分为3 类:数据存储、身份认证、电子支付。通过 合理的系统设计,完全可以将以上的服务集成到同一张卡上。多应用智能卡技术 可以充分利用智能卡的硬件资源,减少持卡人携卡数量,降低卡的使用成本,使 之成为真i f 的“一卡通”。应用提供商丌发的应用的多样化,要求必须改变传统 的基于文件系统的单应用智能卡结构;由于各个行业都有不同的规范,因此要能 够在一张卡上提供多个行业应用;还要满足应用程序的动态下载到卡上。 目前多应用智能卡技术有s u n 公司提出的j a v ac a r d 技术和m i c r o s o r 公司提 出的p o w e rs m a r tc a r d 技术和m a s t e rc a r d 力事达公司提出的m u l t o s 技术。 2 1 2j a v a 智能卡技术简介 1 9 9 6 年l o 月2 9 同,s u n 公司宣布完成了j a v ac a r da p i1 0 的规范化工作; 之后s u n 公司丌发了j a v ac a r d1 1 版本作为智能卡设备的j a v a 技术平台;随后 于9 7 年1 1 月,公布了j a v ac a r d2 0 版本,提出了面向对象编写j a v ac a r d 应用程 序a p p l e t 的方法,而且更加详细地定义了程序的应用运行环境。9 9 年3 月,j a v a c a r d2 1 发布,提出了包括j a v ac a r d2 1a p i 技术要求、j a v ac a r d2 1 运行环境技 第:章j a v a 智能i 及环球i f 台技术研究 术要求以及j a v ac a r d2 1 虚拟机技术要求在内的完整j a v a 智能卡技术规范,使真 正j a v a 智能卡a p p l e t 应用交互操作成为可能,标志着j a v a 智能卡技术走向成熟。 j a v ac a r d2 1 的h e a p 管理机制比较简单,而且不支持垃圾回收,使得动态的创建 和删除对象受到限制,为了克服这些问题,0 2 年升级为2 2 版本,提供了对多个 逻辑通道的支持,以实现多应用的并发操作,而后s u n 于0 3 年和0 6 年分别发布 了2 2 1 和2 2 2 版本的规范,主要是为虚拟机提供更大的寻址空间,添加了j a v a 卡非接触界面支持和生物识别接口 9 - 1 2 l ,目前最新的3 0 版本正在制订中。 j a v a 智能卡技术是在智能卡技术基础上发展起来的,是j a v a 技术和智能卡技 术的结合。j a v a 智能卡是在智能卡硬件的基础之上,在卡片内通过软件构造的一 个支持j a v a 程序下载、安装并运行的软硬件系统【l3 m j 。它在有限资源的智能卡环 境中支持j a v a 语言的一个子集,成为j a v a 嵌入到智能卡中的一个新应用。引进 j a v a 技术后,充分利用了j a v a 的平台无关性,在保留原有智能卡的方便、安全性 的基础上,将j a v a 智能卡应用程序的丌发同智能卡硬件系统相分离,使得j a v a 技术“一次编写,到处运行”的理念在智能卡上得以实现。 2 1 3j a v a 智能卡的优势 j a v a 智能卡采用j a v a 语言丌发应用程序,将面向对象的思想引入到智能卡应 用丌发的过程中来。如此一来,应用程序的开发只需要考虑应用的功能,而不必 关心底层的实现细节问题,真正体现出了j a v a 的跨平台优势,从而实现开发一次、 可运行在任何硬件平台的j a v a 智能卡系统上。传统智能卡应用程序一般都是在专 用的开发环境下,使用汇编语言或c 语言等面向过程的语言进行开发。由于不同 的智能卡生产厂商对其智能卡定义了特定的a p d u 指令集和编程接口a p i ,开发 人员需要花费大量的时l 日j 和精力柬熟悉底层通信接口协议、内存管理等智能卡硬 件细节;此外,由于不同智能卡的丌发环境不具有通用性,使得开发的应用程序 在不同生产商的卡上进行移植变得非常复杂和困难。相对于传统类型的智能卡应 用丌发的诸多不便,j a v a 智能卡克服了智能卡硬件和软件开发技术太专业、丌发 周期长等阻碍智能卡普及的缺点,允许智能卡以及其它作了限制的存储设备运行 j a v a 编写的应用程序。 与传统的智能卡相比,j a v a 智能卡具有如下优势: ( 1 ) 跨平台性:采用j a v a 语言编写的a p p l e t ,只要符合j a v a 智能卡a p p l e t ) t :发 规范,都能够运行在由不同;b 0 造商发行的、可能由不同芯片设计的j a v a 智能卡中。 ( 2 ) 支持一卡多用和蕈用:j a v a 智能卡允许多个由不同应用丌发商丌发的应用 程序安全地运行在同一卡上,实现真i f 意义上的“一卡通”;另外,j a v a 智能旨 j a v a 智能 a p p l e t 安伞卜载机制的研究与实现 支持动态下载,从而可以在不更换卡片的情况下,根据需要动念添加或删除卡中 的应用。 ( 3 ) 灵活性:j a v a 语言的面向对象特性使得编程极为灵活,用户可利用通用的 j a v a j i :发工具进行应用程序的丌发。 ( 4 ) 安全性:j a v a 智能卡继承 j a v a 语言的安全特性,提供了一个安全的运 行坏境,包括原子性、事务处理、应用防火墙、字节码校验等。 ( 5 ) 与国际智能卡标准兼容:j a v a 智能卡a p i 和智能卡国际标准良好的兼容 性。工业规范标准如g l o b a lp l a t f o r m 、e t s l ( e u r o p e a nt e l e c o m m u n i c a t i o n ss d a n d a r d s i n s t i t u t e ,欧洲电信标准协会) 都引用了j a v a 智能卡技术。 由于j a v a 智能卡独特的优势,现已经成为智能卡的主流发展趋势。j a v a 智能卡 现己广泛应用于社会工作生活的各个领域,极大方便了人们的日常工作和生活。 2 1 4j a v a 智能卡的体系结构 j a v a 智能卡技术是j a v a 技术和智能卡技术的结合,是在智能卡硬件系统的基 础之上在卡内通过软件构造的一个支持j a v a 程序下载、安装和运行的软硬件系 统。通过引入j a v a 虚拟机技术,j a v a 智能卡在保留了原有智能卡应用的便捷、安 全等特性的同时,继承了j a v a 技术的硬件无关特性,将智能卡应用程序的开发同 智能卡硬件系统相分离,简化了应用程序的开发,提高了应用程序的可重用性, 实现了j a v a 设计者所宣称的: “( 应用程序) 一次写完,到处运行”的理念。 j a v a 智能卡的体系结构图如图2 2 所示: l 铆i “! 。:一“_ i - 9 rj 厅。:i 一j r 一l l n 圳州o r k - l 妇:4 磊貅c v m 等拟a 嚣i 斛;i i j) ip r 一_ l 川,;l 车t 一一i ! o了,胂=二j_。槭nalive方m溅ethodjcr e ,;j 。对象管理器 i a p d i i 命令 幽2 2j a v a 智能 体系结构。5 7 第二章j a v a 午7 能g - 及环球平台技术研究 9 通过图2 2 ,可以看出,j a v a 智能卡系统主要包括以下功能模块: ( 1 ) j a v a 智能卡应用程序:该层位于体系结构的最上层,主要由运行在j a v a 智能卡平台的一些应用程j j f 终【成,称为a p p l e t 。每个a p p l e t 是通过a i d ( a p p l i c a t i o n i d e n t i f i c a t i o n ,应用程序标识符) 来识别的。 ( 2 ) j a v a 智能卡运行环境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 a 智 能卡卡内虚拟机( 卡内的字节码解释器) 、本地方法、a p i 类库、安装器( i n s t a l l e r ) 、 事务处理、数据通信。主要负责应用程序包的下载和a p p l e t 的安装,以及实现整 个j a v a 智能卡的调度工作,其中包括初始化、通信和逻辑通道的管理。 ( 3 ) j a v a 智能卡基础类库j c a p i ( j a v ac a r da p i ) 。a p i 类库主要为开发人员定 义了一整套编程接口类,描述了a p i 包和类的核心和扩展,提供了编写智能卡应 用程序所需要的接口。 ( 4 ) j a v a 智能卡虚拟机j c v m ( j a v ac a r dv i r t u a lm a c h i n e ) 。j c v m 分为卡外虚 拟机和卡内虚拟机。卡外虚拟机也称为转换器,卡内虚拟机称为解释器。j c v m 是在智能卡硬件系统上通过软件构造的用于解释执行字节码的虚拟计算机。 ( 5 ) j a v a 智能卡硬件系统。包括c p u 、易失性存储器( r a m ) 和非易失性存储 8 ( e 2 p r o m ) 、通信电路、加密协处理器等模块。 ( 6 ) 与智能卡硬件系统相关的本地方法集。完成基本的i o 信、存储、加密 等对硬件进行控制操作的本地方法集( n a t i v em e t h o d ) 。主要是硬件提供的本地支 持,如e 2 p r o m 空间的申请和访问,各种加解密算法提供的c 语言接口等。 ( 7 ) j a v a 智能卡应用管理组件( j c r eo b jm a n a g e o 。完成对卡上a p p l e t 的安 装、注册和删除。 ( 8 ) 智能卡本地操作系统( c a r do p e r a t i o ns y s t e m ) 。j a v a 智能卡系统可以建立 在原本已有操作系统的智能卡上。这样的j a v a 卡可以进一步提高多应用性,也可 以保留原有的智能卡应用。此外,还可大大降低j a v a 智能卡系统的构造复杂度。 2 1 5j a v a 智能卡工作原理 j a v a 智能卡虚拟机( j c v m ) 分为卡外虚拟机和卡内虚拟机。卡外虚拟机也称 为转换器,卡内虚拟机也常称为解释器。由于虚拟机的结构特点,j a v a 智能卡技 术定义的计算平台,在时| 日j 上和空间上分布在j a v a 智能卡和p c 机计算环境之间。 下面简要介绍一下j a v a 智能卡的工作原理,a p p l e t 的丌发流程如下图2 3 所 不: 1 0 j a v a 智能pa p p l e t 安伞卜载机制的研究与实现 l l j 一一c i j a v a ce x e 7 u j 一_ i 一一划 l ljl j l1 i a v a 。c l a s s f, ;i 良 良垂州盈弘簖恬卜e ;! il i 4 i ;:io f f - c a r dj c :v m l j c r e ;巨u a 9 e 蛩 a p d u d a t a il o t h e r - l a n g u a g e 面目 图2 3a p p l e t 开发卜载流群图 ( 1 ) 编译:采用j a v a 语言开发的应用程序源代码( j a v a ) 经过j a v a 编译器( j a v a c ) 编译后产生类文件( c l a s s ) ,也称为字节码。 ( 2 ) 转换:j a v a 智能卡卡外虚拟机一转换器将类文件( c l a s s ) 转换成一个c a p 文件( c a p ) 。转换器主要的功能是对字节码文件进行优化以适合在卡中有限的内存 中运行。 ( 3 ) 下载:通过j c r e 中的通信接e l 与p c 机进行通信,通过a p d u t o o l 将c a p 文件下载到j a v a 智能卡中。其中每一个a p p l e t 都会被赋予的一个特定a i d 作为 标识。下载过程中包括对a p p l e t 各个组件的预解析和注册表的管理。 当一个包含a p p l e t 的应用程序包被下载到卡内后,就需要对包内的a p p l e t 进行安装,a p p l e t 的生命周期转换流程如下图2 4 所示: 幽2 4a p p l e t 生命周期转换流挫幽 ( 4 ) 安装:当一个a p p l e t 被i f 确f 载到j a v a 智能卡中,其各个组件均被预解析 存储在e 2 p r o m 巾,并与j a v a 智能卡类库和卡上的其它库关联后,j c r e 就调用该 a p p l e t 的安装方法i n s t a l l 来安装该a p p l e t 。i n s t a l l 是一种公共静态方法,用来创建 第:章j a v a 午7 能譬及环球平台技术研究 a p p l e t 的一个实例,i n s t a l l 方法的具体实现过程是通过j c r e 调用解释器来完成创建 a p p l e t 实例的工作。同时,j c r e 也会修改a p p l e t 注册表,在其中记录创建的实例。 ( 5 ) 选择:安装在长上的a p p l e t j d 3 需要被显式地选择后才会被激活。当j c r e 接受到“s e l e c ta p d u ”命令时。j c r e 暂停当前选中的a p p l e t ,并调用i , 亥a p p l e t 的d e s e l e c t 方法进行清理。然后,j c r e 根据命令中的a i d 在a p p l e t 注册中查找对应 的a p p l e t ,并将其选中,调用i 亥a p p l e t 的s e l e c t 方法。s e l e c t 方法让该a p p l e t 做好接 收a p d u 命令的准备。j c r e 将所有接收到的a p d u 命令发送给当前选中a p p l e t 的 p r o c e s s 方法,此时j c r e 会调用解释器,将系统的控制权交给解释器,直到它接收 到下一个“s e l e c ta p d u ”命令为止。解释器启动后,首先需要进行必要的初 始化,然后就跳转至当f i i f a p p l e t 的p r o c e s s 方法中,根据具体的字节码进行解释执 行。当j a v a 栈中为空时,解释器会将系统控制权转交还给j c r e 。在解释执行的过 程中,解释器如同翻译官,使得采用j a v a 语言编写的应用程序可以运行在不同的 系统上,从而使j a v a “一次编写,到处运行”的理念得以实现。 2 2 环球平台技术 j a v a 智能卡以其平台无关、开放性、动态下载和多应用成为目前智能卡发展 的趋势,这也给智能卡的安全管理带来一系列问题。比如如何保证动态下载代码 的安全性和完整性,以及智能卡外实体的可信性? 如何保证不同应用提供商对智 能卡上应用程序的安全管理,以及如何分配智能卡的管理权限? 要解决这一系列 问题,就要有标准统一的多应用智能卡管理架构和管理体系以及智能卡和外部交 互的标准接口。 环球平台( g l o b a lp l a t f o r m ,以下简称g p ) 组织提出了多应用智能卡的安全管 理框架,其目的是为智能卡厂商提供跨行业、动态多应用卡的通用安全管理架构, 而没有强制定义卡的底层架构和操作系统属性,智能卡厂商通过密码学协议来保 证卡的通信安全和内容的安全管理。 2 ,2 1g p 卡规范概述 标准的j a v a 智能卡a p p l e t 下载需要符合g l o b a lp l a t f o 咖卡规范1 1 6 - z 0 1 定义的 下载要求。g p 规范是一套专门为实现跨行业智能卡协同工作而提出的舰范标准, 是为实施g p 卡两制定的跨行业的、与特定产品无关的丌发规范,旨在降低甚至 消除不同行业| 日j 的多应用智能卡在通信方面的局限性。它规定了包括智能卡、终 端设备、以及后端支持系统的一系列通信接口、安全框架、标准指令等实现方面 的具体要求,使得基于不同技术,不同平台开发的多应用智能卡能够在不刚的终 l a v af ¥能0a p p l e t 宣伞r 拭目【制f n 研究j 吱m 端以及小同的后端支持系统中自由的j ,作,真i 实现小行q k 之日j 的智能卡的“通 川忡”从而实现其证意义j 硼“卡通”。 g p 忙规范的制定自以f 州个的:是胤定 如何管理智能 本身和应用 稗序,以及 外实体和卡之问的通信方式;一是定义了保护卡及其应用样序的安 全机制。从最初的向卡内下载应川程序,到应j j 程序生命蒯期内的管理,再 最 终从卡内删除该应用程序,g p 卡规范涵盖了卡内j 虹用程序管理的所有方面。 g p 卡规范提供的安全框架和传统智能卡操作系统c o s ( c a r do p c r a t i n g s y s t e m ) 的区别在于:c o s 只强调摹本系统的实现,目的是实现a p d u 发送接收 状态机| 1 7 1 8 1 从而完成应用程序运行耶境的管理:而g p 强调的是仁的开放机制、 安全内容管理,使智能卡相关的应用提供商在卡上都有代表各个应片 可以协同 工作,并保证卡和终端的安全通信1 1 0 2 0 1 。 2 2 2g p 卡的安全架构 g p 仁的目的是解决支持动忐下载的多应用智能f 所面临的安全性问题,提 供呵供多方参i 的安全与管理框架。保i j :g p 卡的安全主要通过卡上的模块和卡 外实体的罄权和安全通信机制完成。g p 采用的安全技术包括:数据保密性机制、 数据完整性机制、资源可用性机制以及双向认证机制等。 g p 仁的体系结构如图2 5 所示,主要包括智能卡微处理器( c p u ) 、运行时环 境( r t e ) 、o p e n 、应用程序( a p p l i c a t i o n l 、安全域( s e c u r i t yd o m a i n ) 、g pa p i 和 安全管理器r s c c u n t vm a n a g e r ) 等各个逻辑或物理组件。 】芏| 2 5gl o b a l p l a t f o 邢l 的体系结柑 第r 二章j a v a 智能i 及环球平台技术研究 2 2 2 1g p 卡安全域( s e c u r i t yd o m a i n ) 安全域,可以理解为应用程序提供商住智能卡的代表,其本质上也是一个应 用程序,每个应用提供商郜对应着卡上的一个安全域。安全域主要包括发卡商安 全域和应用提供商安全域两种。 ( 1 ) 发卡商安全域( c a r di s s u e rs e c u r i t yd o m a i n ) 发卡商安全域( i s d ) 是卡上权限最高的应用程序,是发卡商在卡上的代表, 在卡上以卡发行者的身份存在,代表了发行者对卡的权利,还控制着发行者的应 用程序。它的主要职责是在卡上执行发行者的职
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 办公规范操作与要求手册
- 湖南省邵阳市洞口县2025年四年级数学第二学期期末教学质量检测试题含解析
- 延迟交货情况说明及催办函5篇范文
- 申请增加月度订单配额函7篇范文
- 材料采购与验收规范手册
- 湖南省衡阳市蒸湘区2025届数学三年级下学期期中质量检测模拟试题(含解析)
- 房地产营销策略与创新模式分析手册
- 新手父母学习儿童心理发展科学育儿指导书
- 关于安排我方前往贵司进行产品展示的商洽函7篇
- 烹饪技巧家常菜谱省时高效手册
- 广东省深圳市福田区2023-2024学年七年级下学期期末数学试题
- 一年级下册《读读童谣和儿歌》试题及答案共10套
- 《新编数学教学论》涂荣豹,王光明等
- 水务行业信息化建设与智慧水务
- 三层电梯PLC控制系统设计(S7-200)含程序
- 部编2023版道德与法治六年级下册活动园问题及答案
- GB/T 3098.21-2014紧固件机械性能不锈钢自攻螺钉
- GB/T 18983-2017淬火-回火弹簧钢丝
- 《预拌混凝土作业指导书》
- 人教版八年级物理第三章第四节升华和凝华课件
- 储能项目质量管理制度
评论
0/150
提交评论