已阅读5页,还剩66页未读, 继续免费阅读
(通信与信息系统专业论文)智能卡应用安全管理平台.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
智能卡应用安全管理平台 摘要 j a v a 卡是能运行j a v a 程序的智能卡,它将智能卡技术和j a v a 语言的开发和 应用技术很好地结合起来,并定义了标准的应用编程接口和运行环境。j a v a 卡以 其多应用的支持、良好的安全特性、面向对象的编程环境、应用程序动态下载等 众多优点成为智能卡技术在网络时代的主流应用,可以在同一张卡上保存不同开 发商提供的应用程序,这些优点使得j a v a 卡的应用范围越来越广泛:从银行的 借贷卡,存放个人医疗信息的医疗卡,到手机中的s i m 卡等,j a v a 卡的应用可 以说已涉及到各个领域。 与j a v a 卡需求量急剧上升所对应的是,它受到非法入侵、修改以及信息截 取等各种形式的攻击的机会将会更多。而卡上保存的数据一般有个人i d 、指纹、 私人密钥、账号等高度敏感的信息,需要完备的安全机制保护这些信息不被非法 获取。因此近几年来关于j a v a 卡系统平台安全的研究成为越来越多技术人员关 注的热点,但是目前安全性方面的研究更多的是限于对卡端的安全性,对服务器 端的研究涉及较少,本课题就是对服务器端平台即管理平台,进行研究和分析, 并设计了一种安全有效的管理平台。 文章首先对j a v a 卡平台的基本技术、协议规范以及相关的p k i 和加密技术 进行介绍,分析了目前j a v a 卡系统平台面临的安全问题;然后对当前j a v a 卡平 台特别是服务器端存在的安全性隐患进行了分析,在此基础上,结合当前智能卡 业务面临的安全问题,提出了一种服务器端管理平台的框架,该方案遵循 g l o b a l p l a t f o r m 相关规范,支持多种应用业务的服务,实现服务器端的安全管理 以及与卡端的安全通信。方案使用p k i 体系、混合密钥、数字信封、数字签名、 消息摘要等技术,在通信过程中采用了动态密码的加密方式;提出在服务器端引 入安全域,确保来自不同应用提供商的应用程序和数据可以在安全管理平台上共 存,且不破坏每个应用提供商的隐私性和完整性;采用安全通道机制,保证安全 管理平台与外部实体通信的安全性;结合j a v a 卡协议,并考虑到实际的安全管 理平台上的一些特殊的应用需求,即平台上可能也会开发具体应用,提出在服务 器端利用原子性和事务机制、a p p l c t 防火墙和共享机制对a p p l e t 进行安全管理 和维护;对用户分角色按照不同权限,利用多密钥系统进行管理,即使用一套密 钥加密数据,使用另一套密钥对用户进行身份识别。 关键字:j a v a 卡g l o b a l p l a t f o r m 密钥安全域 s 【a r tc a r da p p l i c a t i o ns e c u r i t y m l 蝌a g e m e n tp l a t f o r m a b s t r a c t j a v ac a r di sak i n do fs m a r tc a r dw h i c hc a nr u nj a v ap r o g r a m s i tp e r f e c t l yc o m b i n e st h e s m a r tc a r dt e c h n i q u ew i t hj a v al a n g u a g ea n di ta l s od e f i n e st h es t a n d a r da p ia n dn m t i m e e n v i r o n m e n t j a v ac a r di sb e c o m i n gt h em a i n s t r e a mi nt h en e t w o r kp e r i o df o ri t sa d v a n t a g e ss u c h a sm u l t i - a p p l i c a t i o ns u p p o r t ,g o o ds e c u r i t yc h a r a c t e r i s t i c ,o b j e c t - o r i e n t e dp r o g r a m m i n g e n v i r o n m e n t - d y n a m i ca p p l i c a t i o nd o w n l o a d sa n ds oo n i ta l s os u p p o r t sa p p l i c a t i o n sd e v e l o p e d b yd i f f e r e n td e v e l o p e rt ob es a v e di no n ec a r d t h e s ee x c v l l e n c e sm a k et h eu o f j a v ac a r dm o r e a n dm o r eb r o a d l y :f r o mt h eb a n k sd e b i t - c r e d i tc a r d ,t h em e d i c a lt r e a t m e n tc a r ds t o r i n gt h e p e r s o n a lt r e a t m e n ti n f o r m a t i o n ,t ot h es i mc a r du s e di nt h ec e l l p h o n e n eu 鹳o fj a v ac a r dh a s a l m o s tc o m ed o w nt oa l la r e a s c o r r e s p o n d i n gt ot h es h a r pa s c e n to ft h ej a v ac a r d sn e e d ,t h ec h a n c et h a ti ti sa s s a u l t e di n t h ef o r mo f b e i n gl a w l e s s l yi n v a d e d ,m o d i f i e da n di n t e r c e p t e d ,w i l lb em u c hm o r e b e c a u s et h e r e a r eg e n e r a l l yh i g h l ys e n s i t i v ei n f o r m a t i o n ss a v e di nt h ec a r ds u c ha sp e r s o n a li dn u m b e r s 、 f i n g e r p r i n t s 、p r i v a t ek e y 3 、a c c o u n t sa n ds oo n as o u n ds e c u r i t ym e c h a n i s m i sn e e d e dt op r o t e c t t h e s ei n f o r m a t i o n sf r o mb e i n gl a w l e s s l yg o t t e n s oi nt h er e c e n t sy e a r s ,r e s e a r c h e s0 1 1s e c u r i t yo f t h ej a v ac a r ds y s t e mp l a t f o r mh a sa t t r a c t e dm o r ea n dm o r ea t t e n t i o n s b u tr e s e a r c h e s0 1 1t h e s e c u r i t y 勰m o r ea b o u tt h ec a r d ss e c u r i t y ,l e s sa b o u tt h es e r v e l s t h i sp a p e ri sg o i n gt od o r e s e a r c ha n da n a l y s e0 1 1t h es c l v c rp l a t f o r me s p e c i a l l yo ni t ss e c u r i t y t h i sp a p e rf i r s ti n t r o d u c e sb a s i ct e c h n o l o g y ,丛w e l la st h er e l e v a n tp r o t o c o ls p e c i f i c a t i o n p k ia n de n c r y p t i o nt e c h n o l o g yi n t r o d u c t i o no fj a v ac a r dp l a t f o r m i ta l s oa n a l y s e st h ec u r r e n t s e c u r i t yp r o b l e m st h a tt h ej a v ac a r dp l a t f o r mi sf a c e d 、航t h t h e ni ta n a l y s e st h eh i d d e nt r o u b l e e x i s t i n gi nt h ej a v ac a r dp l a t f o r me s p e c i a l l yi nt h es e r v c tp a r t o nt h i sb a s i s ,c o m b i n i n gw i t ht h e c u r r e n ts e c u r i t yp r o b l e m sf a c e db yt h es m a r tc a r ds e r v i c e ,ak i n do fs e r v e r - s i d em a n a g e m e n t p l a t f o r mf i - a m e w o r ki sb r o u g h tf o r w a r di n t h i sp a l x r i tf o l l o w st h eg l o b a l p l a t f o r ms p e c i f i c a t i o n a n ds u p p o r t sm u l t i - a p p l i c a t i o ns e r v i c e s i ti m p l e m e n t st h es e r v e rp a r t ss e c u r i t ym a n a g e m e n ta n d t h es e c u r ec o m m u n i c a t i o n 、i mt h ec a r dp a r t s o m et e c h n o l o g ys u c h 勰p k i ,m i x e dk e ) ,s ,d i g i t a l v e n v e l o p e ,d i g i t a ls i g n a t u r e ,n e w ss u m m a r ya n ds oo na r ep u tf o r w a r dt ob eu s e di nt h es c h e m e a n dd y n a m i ce n c r y p t i o ni sg o i n gt ob ea d o p t e di nt h ec o m m u n i c a t i o np r o c e s si nt h i sf r a m e w o r k a c c o r d i n gt o t h ej a v ac a r dp r o t o c o l , a sw e l la sc o n s i d e r i n gs o m es p e c i a ld e m a n d st h a t a p p l i c a t i o n sa r et ob ed e v e l o p e do nt h ep l a t f o r m ,a t o m i c i t ya n dt r a n s a c t i o n sm e c h a n i s ma n d a p p l e tf i r e w a ua n ds h a r e a b l em e c h a n i s ma r ep r o p o s e d t ob ei n t o d u c e dt om a n a g ea n d m a i n t e n a n c et h es y s t e mi nt h es a v e rs i d e m u l t i - k e ys y s t e mi sa d v i s e dt ob ei n t r o u c e dt om a n a g e u s e r sw i t hd i f f e r e n tr o l e sa c c o r d i n gt od i f f e r e n tp r i v i l e g e sw h i c hm e a l l st h a tas e to fk e y si su s e dt o e n c r y p td a t aa n da n o t h e ro n eu s e do nt h ei d e n t i f i c a t i o n k e yw o r d s :j a v ac a r d g l o b a l p l a t f o r m k e ys e c u r i t yd o m a i n 独创性( 或创新性) 声明 本人声明所呈交的论文是本人在导师指导下进行的研究工作及取得的研究 成果。尽我所知,除了文中特别加以标注和致谢中所罗列的内容以外,论文中不 包含其他人已经发表或撰写过的研究成果,也不包含为获得北京邮电大学或其他 教育机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任 何贡献均已在论文中作了明确的说明并表示了谢意。 申请学位论文与资料若有不实之处, 本人签名:磊。名莹毒为lv y j ”, 本人承担一切相关责任。 日期: 2 皇! 丞。;芝g 关于论文使用授权的说明 学位论文作者完全了解北京邮电大学有关保留和使用学位论文的规定,即: 研究生在校攻读学位期间论文工作的知识产权单位属北京邮电大学。学校有权保 留并向国家有关部门或机构送交论文的复印件和磁盘,允许学位论文被查阅和借 阅;学校可以公布学位论文的全部或部分内容,可以允许采用影印、缩印或其它 复制手段保存、汇编学位论文。( 保密的学位论文在解密后遵守此规定) 保密论文注释:本学位论文属于保密在一年解密后适用本授权书。非保密论 文注释:本学位论文不属于保密范围,适用本授权书。 本人签名: 孤海海 日期:2 翌垒& 至:型 导师签名:1 幸为刁笛沪日期:2 婴蕴二二啡 1 1 课题研究的背景 第一章前言 j a v a 卡是智能卡的一种。智能卡是由一个或多个集成电路芯片组成,并被封装成 的便于人们携带的卡片,它具有暂时或永久性的数据存储能力,其内容可供外部读取 或供内部处理、判断,并具有逻辑和数学运算处理能力,用于识别和响应外部提供的 信息和芯片本身的处理需求。早期的智能卡主要是以一种介质形式出现的,它可以在 卡体内存储金额,从而能在公共电话机或自动售货机上被使用。它完成的是一种存储 信息的应用。这时卡的需求量并不大。同时卡的应用也不多。而近来,随着智能卡地 越来越“智能”,智能卡的优点越来越被人认可,它的应用范围也越来越广泛:从银行 的借贷卡,存放个人医疗信息的医疗卡,到有线和无线网络的安全模块卡等等。智能 卡的应用可以说是涉及到了各个领域,几乎每个人都要与智能卡打交道。市场的需求 量急剧上升,同时越来越多的智能卡新应用也随之诞生。 但与智能卡需求量急剧上升矛盾的是:智能卡应用的研发是一个复杂漫长的过 程。尽管对智能卡的结构大小和通信协议,国际规范i s 0 7 8 1 6 早已规定,但各个卡生 产商对智能卡的研制都各不相同,各个卡生产商对自己的智能卡操作都有自己独特的 一套指令集。 此外,智能卡编程接口( a p i s ) 非常复杂,用之编程,需要开发人员非常熟悉低 层通信接口协议,内存管理和一些智能卡硬件的细节。因此,在开发智能卡应用之前, 开发人员就需要花费大量时间来了解智能卡的复杂开发环境,而且在他们研究后会发 现并不存在现代化的开发工具( 象v i s u a l s t u d i o 那样工具) 更糟糕的是:对不同的 智能卡并没有一个通用的开发环境。每次你要开发一种新的应用,可能你都必须从新 了解一种新的开发环境。 情况有可能还没有这么简单。由于所有的智能卡都是在专门的开发环境中开发出 来的,不同的卡的生产商生产出来的相同应用的卡可能并不兼容,这使同一系统中使 用不同生产商的卡变得很复杂。 据估计,2 0 0 1 年,智能卡的需求量就已经达到1 0 - 3 0 亿片。而了解智能卡编程的 人员少之又少。智能卡编程的复杂性,不统一性严重阻碍智能卡的发展,同时市场的 需求又为智能卡的发展提出了新的要求。然而这一切将随着j a v a 卡的出现改变了。 1 1 j a v a 卡与以前的智能卡相比有以下优点: 开发时间和开发难度降低:j a v a 卡的j a v a 虚拟机能够执行j a v a 字节码 ( a p p l c t ) ,它提供一整套标准的j a v a 卡编程的a p i ,使得开发人员无需了 解复杂的智能卡硬件和智能卡专用的技术,就可以进行智能卡应用的开发, 从而大大减少开发时间和降低开发难度。据粗略的统计,用j a v a 来编程可以 比用c 语言来编程节约6 0 的开发时间,如果与智能卡特殊的汇编语言来 比,这种优势将更为明显。同时由于j a v a 虚拟机的使用,j a v a 卡的a p p l e t 能够在不同卡片的j c a e ( j a v a c a r da p p l i c a t i o ne n v i r o n m e n t ) 上执行,即透 过j a v a 虚拟机的机制来达到跨平台的能力。j a v a 是一种面对对象的编程语 言,智能卡的基于对象的a p i 大大简化了卡内a p p l e t 与终端或后台服务器的 通信。 调试卡应用程序的复杂度降低:开发人员可以任意选择他们所熟悉和喜欢的 开发工具。由于对j a v a 卡的编程是用j a v a 语言,所有几乎当今所有流行的 j a v a 开发环境,如e c l i p s e 、j b u i l d e r 、v j + + ,v c a f e 等,都可以被用来进行 j a v a 卡的开发。正因如此,快速完成和调试j a v a 卡的应用程序也变为了可能。 而在这之前,调试卡的应用程序是一个极其复杂漫长的过程,因为应用程序 首先要被装载到卡的r o m 中,而装载到卡的r o m 中的程序是无法更新的, 所以对一个应用程序的调试将占用大量的时间。 支持一卡多用和重用:支持一卡多用是指j a v a 卡上可以同时存在多个不同的 应用。这些应用可以来自同一个卡供应商,也可以来自不同的卡供应商。这 样一张j a v a 卡就可以完成不同的功能,例如,它可以有电子钱包功能,同时 也可以有身份鉴别功能。重用是指j a v a 卡上的应用可以根据需要进行删除或 重新添加新的应用,而无需更换新的智能卡,这样大大增强智能卡的灵活性。 拥有众多潜在的开发人员:由于任何j a v a 开发人员都可以变为j a v a 卡开发 人员,这就为智能卡的发展提供了强有力的保证 综上所述,j a v a 卡的出现统一了智能卡的编程接口( a p i ) ,统一了智能卡的编 程语言( j a v a 语言) ,为智能卡的更大范围的使用提供了基础,真正使智能卡行业成 为一个统一标准的产业。 g l o b a l p l a f f o r m 是一个致力于设定智能卡多应用平台的国际组织,其制定的相关 规范、测试计划及测试用例是智能卡行业的国际通用技术准则。g l o b a l p l a t f o r m 卡技 术规范的目的是为发卡商提供一个统一的安全框架,通过这个框架实现跨行业多应用 卡和单应用卡的安全与管理。它对卡上的管理模块进行了标准化的定义,实现了安全 2 框架的平台无关性和通用性。g l o b a l p l a t f o r m 卡技术规范提供的框架可以按实际需要 进行裁剪,开发者可以根据行业的特点和需求对系统的框架进行调整。 1 2 智能卡应用安全管理平台研究的意义 j a v a 卡是能运行j a v a 语言的智能卡,它将智能卡技术和j a v a 语言的开发和应用 技术很好地结合起来,定义了标准的应用编程接口和运行环境。j a v a 卡以其多应用的 支持、良好的安全特性、面向对象的编程环境、应用程序动态下载等众多优点使得智 能卡技术成为在网络时代的主流应用,并且支持在同一张卡上保存不同开发商提供的 应用程序,这些优点使得j a v a 卡的应用范围越来越广泛:从银行的借贷卡,存放个 人医疗信息的医疗卡,到手机中的s i m 卡,j a v a 卡的应用可以说已涉及到各个领域。 与j a v a 卡需求量急剧上升相对应的是,它受到非法入侵、修改以及信息截取等各 种形式的攻击的机会将会更多。而卡上保存的数据一般有个人d 、指纹、私人密钥、 账号等高度敏感的信息,需要完备的安全机制保护这些信息不被非法获取。因此近几 年来关于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 语言提供了类型和程序的名字空间管理;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 语言的安全性有什么优势呢? 首先,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 卡应用防火墙、安全性和加密 3 类等内容。事务处理指对稳定数据的一组逻辑更新。原子性定义了事务处理 过程中发生异常时j a v a 卡如何处理。原子性规定事务处理过程仅存在两种可 能:事务处理正常完成,相应内存全部更新;或者事务处理异常相应内存全 部不变。j a v a 卡平台通过防火墙机制为卡上的多个应用提供安全的运行环 境。卡上的应用被防火墙隔离,独立于其它的应用。防火墙机制是j a v a 卡运 行环境的一个安全特性,它提供对含有共享执行的对象中存贮数据使用的详 细控制。防火墙机制在内存中为每个应用提供一块私有空间。因此,即使某 个应用出现错误或者有敌意应用都不能影响其它应用。j a v a 卡防火墙防止了 开发过程中经常出现的安全性问题。加密方面,j a v a c a r d s e c u r i t y 包提供了 一个j a v a 卡平台支持的加密功能框架。它基于j a v a s e c u r i t y 设计。它定义了 一个密钥生成类k e y b u i l d e r 和各种说明对称( d e s ) 及非对称( d s a 和r s a ) 加密算法的加密密钥的接口。 a p p l e t 间的安全性:a p p l e t 间既相互独立又可以共享数据和方法。一方面, 为了防止一个a p p l e t 的敏感数据不被别的程序非法访问,为每个a p p l e t 都 定义了一个特定的应用上下文环境( c o n t e x t ) 它代表一个a p p l e t 的运行环境 属性,防火墙就是不同c o n t e x t 之间的界限,属于同一个c o n t e x t 的a p p l e t , 数据访问是被允许的,而不同c o n t e x t ,之间的数据访问则需要通过防火墙的 认证检测。另一方面,在j a v a 卡中a p p l e t 中有些数据或方法允许让别的a p p l e t 访问,因此根据s u n 公司的j a v a 卡规范定义的安全共享机制将那些需要提供 给属于别的包里对象的数据以特定的方式标记出来实现共享。 通信的安全性:卡端与服务器端的通信利用加解密技术并遵循g l o b a l p l a t f o r m 协议,实现安全通信。在卡上通过卡管理a p p l e t 对密钥集进行管理和维护, 实现利用不同的密钥集来区分权限、进行身份认证以及生成临时会话密钥的 机制,可以达到如下目的:卡上应用可以认证卡外实体的合法性及身份,决 定是否为卡外实体提供相应的服务:卡外实体也可以鉴别卡上应用的身份, 卡上应用提供的服务是否安全以及安全级别;为卡外实体和卡上应用提供秘 密通信机制,根据安全需求在每次通话的时候生成临时会话密钥,保证通信 的保密性和完整性这样,只有通过特定权限认证的实体才能完成具有特定权 限的操作,如修改卡的内容、进行应用的管理和服务调用,克服了j a v a 卡因 平台开放、多应用、动态下载带来的安全威胁。 服务器端安全性:服务器端因为要与卡端交互,所以基本的功能结构应与卡 端对应实现,但与j a v a 卡安全实现不同的是,服务器端因为要应对大数据量、 4 多应用程序的处理和多用户的访问,对安全性应有更加严格的要求,这需要 设计人员和开发人员对此设计开发颇为合理有效的系统。服务器端的体系结 构也应该严格遵循的g l o b a i p l a t f o r m 协议,除此以外还应有其独特的安全考 虑。 服务器部分是整个系统的核心,对一般的商业服务器而言,面对的经常是大数据 量的处理、多应用程序的请求及多用户的访问,因此其对安全性有着更加严格的安全 性要求。但据笔者了解,目前j a v a 卡系统安全性方面的研究更多的是限于对卡端的 安全性,对服务器端的研究涉及较少,并没有一个完整的框架进行控制,服务器端的 安全性主要靠a p p l c t 本身来控制,这样对于一个复杂的系统而言,不可避免的会因 为人为的或客观的原因带来一些安全性隐患,本文将就j a v a 卡系统的安全性特别是 服务器端的安全性进行较深入的探讨和论述。 1 3 作者的主要工作及贡献 作者的主要工作有: 1 掌握j a v a 卡平台的基本技术、协议规范以及相关的p k i 和加密技术,分析 了目前j a v a 卡系统平台面临的安全问题 2 根据卡端多应用程序运行的安全性要求,分析了g l o b a l p l a t f o r m 协议中的 j a v a 卡端的安全机制,并结合实际需求总结出服务器平台需要注意的安全性 问题j - 3 结合当前智能卡业务面临的安全问题,根据g l o b a l p l a t f o r m 规范、j a v a 卡协 议和实际应用的需求,提出了一种服务器端管理平台的框架 4 对j a v a 卡系统设计进行了总结,对服务器端设计的安全隐患进行了分析,对 j a v a 卡将来在社会生活中的发展前景进行了展望。 5 第二章j a v a 卡相关技术分析 本章主要是对j a v a 卡的相关技术做简单的介绍,然后对j a v a 卡平台的安全性需 要注意的几个方面做了简单分析,最后对平台中引入的密码学和p 技术进行了简单 介绍。 2 1j a v a 卡与其他智能卡的比较 早期的智能卡主要是以一种介质形式出现的,它可以在卡体内存储金额,从而能 在公共电话机、自动售货机等设备上被使用,它完成的是一种存储信息的应用。这时 卡的需求量并不大,同时卡的应用也不多。而近些年来,随着智能卡地越来越“智能”, 由于智能卡的优点越来越被人认可,它的应用范围也越来越广泛:从银行的借贷卡, 存放个人医疗信息的医疗卡,到有线和无线网络的安全模块卡等等。智能卡的应用可 以说是涉及到了各个领域,几乎每个人都要与智能卡打交道。市场的需求量急剧上升, 同时越来越多的智能卡新应用也随之诞生。但与智能卡需求量急剧上升相矛盾的是智 能卡应用的研发是一个复杂漫长的过程;另外,尽管对智能卡的结构大小和通信协议, 国际规范i s 0 7 8 1 6 早已规定,但各个卡生产商对智能卡的研制都各不相同,而且各个 卡生产商对自己的智能卡操作都有自己独特的一套指令集。此外,智能卡编程接口 ( a p i s ) 非常复杂,用之编程,需要开发人员非常熟悉低层通信接口协议,内存管理 和一些智能卡硬件的细节。因此,在开发智能卡应用之前,开发人员就需要花费大量 时间来了解智能卡的复杂开发环境,而且不存在现代化的开发工具( 如v i 刚s t u d i o ) 。 更糟糕的是:对不同的智能卡并没有一个通用的开发环境。每次你要开发一种新的应 用,可能你都必须重新了解一种新的开发环境。不仅如此,由于所有的智能卡都是在 专门的开发环境中开发出来的,不同的卡的生产商生产出来的相同应用的卡可能并不 兼容,这使同一系统中使用不同生产商的卡变得很复杂。然而这一切将随着j a v a 卡 的出现而改变。 j a v a 卡是一种可以运行j a v a 程序的微处理器智能卡,在卡中运行的程序叫a p p l e t 。 a 耐e t 可以动态装载到j a v a 卡上。j a v a 卡的a p i 为智能卡制定了一个j a v a 语言的特 殊子集。如今大多数制造商已经支持了j a v a 卡的a p i 。j a v a 卡和j a v a 卡a p i 的出现 使智能卡的编程变得既快又简单,同时这些卡的应用程序( a p p l e t ) 可以在任何支持 j a v a 卡a p i 的智能卡上运行。可以说j a v a 卡的出现立刻解决了j a v a 卡出现之前智能 卡所遇到的问题。 6 在j a v a 卡内有一个能执行j a v a 字节码( a p p l e t ) 的j a v a 虚拟机,它提供一整套 标准的j a v a 卡编程的a p i ,使得开发人员无需了解复杂的智能卡硬件和智能卡专用 的技术,就可以进行智能卡应用的开发,从而大大减少开发时间和降低开发难度。同 时由于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 语言,所有几乎当今所有流行的j a v a 开发环境都 可以被用来进行j a v a 卡的开发。正因如此,快速完成和调试j a v a 卡的应用程序也变 为了可能。而在这之前,调试卡的应用程序是一个极复杂漫长的过程,因为应用程序 首先要被装载到卡的r o m 中,而装载到卡的r o m 中的程序是无法更新的,所以对 一个应用程序的调试将占用大量的时间。同时由于任何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 卡的出现统一了智能卡的编程接口( a p i ) ,统一了智能卡的编程 语言( j a v a 语言) ,为智能卡的更大范围的使用提供了基础,真正使智能卡行业成为 一个统一标准的产业。 2 2j a v a 卡结构 j a v a 卡是一种可以运行j a v a 程序的微处理器智能卡,在卡中运行的程序叫a p p l e t 。 a p p l e t 可以动态装载到j a v a 卡上。j a v a 卡的a p i 为智能卡制定了一个j a v a 语言的特 殊子集。如今9 5 的智能卡制造商已经支持了j a v a 卡的a p i 。j a v a 卡和j a v a 卡a p i 的出现使智能卡的编程变得既快又简单,同时这些卡的应用程序( a p p l e t ) 可以在任 何支持j a v a 卡a p i 的智能卡上运行。j a v a 卡的出现立刻解决了j a v a 卡出现之前智能 卡所遇到的问题。 j a v a 卡是j a v a 平台中最小的子集。j a v a 卡有点象一部功能齐全,但规模较小的电 脑,其硬件主要是为了保证j a v a 卡的运行环境的需要,其最小的硬件配置要求为: 7 5 1 2 b y t e s r a m :主要用于存放程序执行时的堆栈、暂存资料以及做为i o 的缓冲 区。 2 4 k b r o m :主要用于存放操作系统以及运行环境( r u n t i m e e n v i r o n m e n t ) ,如j a v a 虚拟机、a p p l e t 等。 8 k b e e p r o m :用于储存我们开发并装载至j a v a 卡上的a p p l e t 。 8 - b i t p r o c e s s o r :j a v a 卡需要至少8 位的处理器支持。 根据上述的硬件介绍,j a v a 卡的内部结构由o s 、n a t i v e f u n c t i o n s 、j a v a v m ( j a v a 虚拟机) 、j a v a f r a m e w o r k 以及架构在此上的应用程序( a p p l c t ) 所构成。下图即为j a v a 卡内部结构: 图2 - 1j a v a 卡内部结构【1 1 在此结构中,最底层的o s ( 操作系统) a n d n a t i v e f u n e t i o n s ( 基本函数) 是负责 低层的处理工作,如同p c 的操作系统。 j a v a 虚拟机处于o s a n d n a t i v e f 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 do nc l a s s e s 则是服务方所提供的类,使得企业与公司能够提供属于自 己的服务程序,例如,如果这张卡是g s m 网络的s i m 卡,那么这一层就是s i m 卡 所需的接口类。 j a v a 卡的最上层就是所谓的j a v a 卡a p p l e t ,也就是我们要进行开发的应用。如图 所示,一个j a v a 卡可以执行多个j a v a 卡a p p l e t 。每个a p p l e t 是靠a i d ( 应用i d 号) 8 来识别的。但是要特别注意,j a v a 卡的执行环境并不支持多线程,所以一次只能执行 一个a p p l e t ,并且a p p l e t 与a p p l e t 之间也有防火墙的阻隔。 2 3j a v a 卡的生命周期 当j a v a 卡的o s ,虚拟机,编程接口( a p i ) 类库装载到卡的r o m 之后,j a v a 卡即开始了它的工作使命。这个把j a v a 卡的固定不变的组件放入芯片的不可重写区 域( r o m ) 的过程叫掩膜( m a s k ) 不过,要使j a v a 卡真正能使用还要两个必须 的过程:初始化和个人化。初始化是指:在卡体内( 一般在e e p r o m 中) 创建文件 结构。这个文件结构是大家都有的,它的具体内容是与你这张j a v a 卡的功能有关。 比如:你的卡是银行卡,那么卡内结构就是由银行业规定的结构;如卡是s i m 卡, 那么卡的结构就要根据g s m 规范来定。初始化并没有涉及到个人信息。如果卡要发 行给指定的某个人,就要通过个人化过程来完成。个人化就是把个人信息附于卡。它 可以是物理过程,如打印某人的照片;也可以是电子过程:把个人信息写入卡中。如 你的d 号,p i n 码等等。初始化和个人化可以由制卡商或发行商来完成当初始化 和个人化完成后,这张j a v a 卡就可以被使用了你可以把卡插入读卡器,对它发出 a p d u 指令,或下载更多的a p p l e t 。j a v a 卡的生命期将一直持续到它被物理损害,被 不正确的操作锁死或卡的应用过期。 j a v a 卡虚拟机的生命期:与p c 中的j a v a 虚拟机不同,j a v a 卡中的虚拟机将 永远运行。哪怕掉电后,卡上的信息也将被保存下来。所以j a v a 卡虚拟机的 生命期是与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 被安装并在卡的注册表中注 册,终止于a p p l e t 被从注册表中注销。一般a p p l e t 在卡中是没有被激活的, 只有当这个a p p l e t 被终端“选择”( s e l e c t ) 到时,a p p l e t 才被激活。 2 4j a v a 卡a p p l e t a p p l e t 是运行在j a v ac a r d 最上层的应用程序,一个j a v a 卡平台的安全运行需要 使用合乎规范的有效的a p p l e t 程序,卡上可有多个a p p l e t ,每个a p p l e t 代表1 种 应用,如电子钱包或用户身份证。不同的a p p l e t 用a p p l i c a t i o ni d e n t i f i e r ( a i d ) 来 标识a p p l e t 可以动态装载到卡上或者从卡上删除,a p p l e t 是这样工作的:读卡器向 9 卡发出选择命令,通过a i d 指定要提供服务的a p p l e t ,卡上的j c r e 将这个a p p l e t 激 活,读卡器发出的后续命令就由这个激活的a p p l e t 处理并返回执行结果j a v a 卡可 以同时支持4 个逻辑通道,读卡器同时可以多个a p p l e t 为其提供服务而不会相互影 响j c r e 在不同a p p l e t 之间设置了防火墙,a p p l e t 之间不能非法访问,故不同a p p l e t 之间不会相互妨碍a p p l e t 的存在、私密信息和功能。为了完成合法的穿越防火墙访 问,j c r e 提供了服务共享的机制。如果1 个a p p l e t 希望为其他a p p l e t 提供自己的 某些服务,可以通过服务共享机制允许其他的a p p l e t 穿越防火墙访问自己共享的服 务。j a v a 卡的a p p l e t 生成大致如下图【2 】: 图2 - 2j a v a 卡a p p l e t 生成时一些重要文件转换的简单过程 2 5j a v a 卡平台的安全 2 5 1j 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 卡平台仅仅支持j a v a 语言的一个 子集。这个子集能够很好地与智能卡以及其它一些微型设备编程相匹配,同时对j a v a 卡平台的安全性也产生了一定的影响。 j a v a 卡平台支持的j a v a 语言特性有:短基本数据类型:b o o l e a n ,b y t e , s h o r t ;一维数组:接口,异常; j a v a 面向对象特性:继承、虚方法、 重载、动态类创建、访问范围和绑定规则;关键词硫和3 2 位整形选择性 支持。 j a v a 卡平台不支持的j a v a 语言特性有:长基本数据类型,如l o n g ,d o u b l e , f l o a t ,c h a r , 多维数组;动态类加载;安全管理器;内存碎片回收; 1 0 多线程;对象串联、复制对象。 j a v a 卡平台所支持的j a v a 语言子集的安全性与j a v a 语言的安全性相比优势在于: 首先,j a v a 语言安全性面对的一个很大难题是如何保护类型安全同时又允许动态类加 载。在j a v a 卡平台中不支持动态类加载,这可以加强类型安全性。因此在这个
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年上海市老旧住宅楼加装电梯可行性研究报告
- 员工职场忠诚度培育方案
- 酒店服务员中式餐饮服务礼仪与菜品知识考核试卷及答案
- 塑料厂物料管理细则
- 培训机构月度复盘规范
- 金融企业保密员考试、客户身份信息脱敏处理专业试卷及答案
- 食品厂添加剂使用规范
- 建筑安全教育试题及答案
- 技能考试实操试题及答案
- 混凝土质量控制标准培训试题及答案
- 2026年电焊工技能比武理论考试试题(含答案)
- 2026年陕西二级造价工程师土建工程考试真题及答案
- 眼外伤的紧急处理与后续护理
- 新课程视域下小学语文教材助学系统的深度剖析与实践应用
- 2026年大学生人文知识竞赛题库及答案
- 智慧楼宇管理员培训课件
- 《2026年》科研管理岗位高频面试题包含详细解答
- 雨课堂学堂在线学堂云《柴油机电站运行与控制(火箭军工程)》单元测试考核答案
- 2026年四川事业单位招聘考试真题试卷及答案
- 广东省2025年1月自学考试10177设计基础试题答案及评分参考
- 2025年《产品认证基础》知识考试题库及答案解析
评论
0/150
提交评论