Java智能卡的安全性研究

来源 :电脑知识与技术(学术交流) | 被引量 : 0次 | 上传用户:aspl12315
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要: Java智能卡是一种能运行Java语言程序的智能卡。现在Java智能卡已普遍使用,其安全性也越来越重要。针对此问题,对Java语言、Java智能卡平台的安全性及其安全机制进行了研究,讨论了Java智能卡的安全性。
  关键词: Java智能卡;安全性;防火墙
  中图分类号:TP393.08文献标识码:A文章编号:1009-3044(2009)22-0000-00
  
  智能卡(Smart Card)也称为CPU卡,是将集成电路芯片封装在一个塑料基片上,通过芯片内的通信模块,智能卡可以和外部设备通信,完成数据传输、存储和处理,实现各种业务。早期的智能卡实际上并不是严格意义下的智能卡,只是一种存储卡。因为它没有片上微处理器,而只有少量的存储单元和固化的逻辑电路。随着技术的发展,出现了微处理器卡,能够提供更高的安全性和更多的功能。这种卡不能直接和外部交换数据,而是通过外部设备对微处理器发送一组指令,再由微处理器执行相关的操作,并把数据返回给外部设备。
  由于Java语言的平台无关性、高安全性和易开发性,在智能卡应用中有相当的优势。Java智能卡(Java Smart Card)是能运行Java语言的智能卡, 它将智能卡技术和Java语言的开发和应用技术很好地结合起来,定义了标准的应用编程接口和运行环境。由于Java语言特有的平台无关性,可以在同一张卡上保存不同开发商提供的应用程序,使得Java卡的应用范围越来越广泛:打IC电话的IC卡,手机里的SIM卡,银行里的IC银行卡和无线网络的安全模块卡等,Java智能卡的应用可以说已涉及到各个领域。
  
  1 Java智能卡概述
  
  Java智能卡通常由8位处理器和有限的RAM及非易失性存储器(EEPROM或Flash)组成。高端的Java卡还带有RSA加解密专用芯片以及32位处理器,可以把Java卡看成是一种安装了Java虚拟机的智能卡。由于Java智能卡芯片的运行速度以及卡上内存大小的限制,所以Java智能卡虚拟机并不支持普通Java语言的一些数据类型和功能,如基本数据类型中的float、double、long和char类型以及多维数组、安全管理器、安全管理器、多线程、垃圾回收等等功能。
  Java 智能卡解决方案是用只支持具有Java语言特征的子集和分开的模型来实现Java智能卡虚拟机。因此Java 智能卡技术基本上定义的是一个平台。Java智能卡平台分为虚拟机(JCVM)和API两部分,这两部分合起来定义了所谓的Java卡运行环境(JCRE),JCRE应用提供接口。任何按照标准JCRE开发的应用可以在任意的Java卡平台上运行。为 Java 卡平台编写的应用程序称为Applet。
  
  2 Java智能卡的安全性研究
  
  Java智能卡同传统的智能IC卡相比有许多优点,其中,作为新一代智能卡,Java智能卡平台提供了比传统的智能卡更为完善的安全机制。由于智能卡的广泛使用,其安全性已经成了非常重要的一个因素。Java智能卡安全性应从整个系统全局进行考虑。
  2.1 Java语言的安全性
  Java语言是一种强安全性语言,Java语言有很多固有的安全特性可以保障Java卡平台的安全性。如:Java语言是一种面向对象语言;Java语言提供了类型和程序的名字空间管理;Java语言是强类型语言,而且不支持指针:Java语言支持透明的内存分配,等等。但是,由于智能卡资源有限,因此Java卡平台仅仅支持Java语言的一个子集。这个子集能够很好地与智能卡以及其它一些微型设备编程相匹配,同时对Java卡平台的安全性也产生了一定的影响。
  Java语言安全性面对的一个很大难题是如何保护类型安全同时又允许动态类加载。在Java卡平台中不支持动态类加载,这可以加强类型安全性。因此在这个问题上Java卡平台就要比完整的Java语言有更好的安全性。另外,线程的使用和实现都很困难,而且线程还会大大增加虚拟机的开销,影响虚拟机的性能。不支持线程使应用程序代码的安全性分析变得更加容易。当然,舍去一部分Java语言特性也会给Java卡平台安全性带来一些风险,比如多应用安全性问题等。Java卡平台也提供更多的安全机制来保证它的安全性。
  2.2 Java智能卡平台的安全性
  在Java平台运行时间,安全以沙盒模型思想中心,一个Applet可以围绕着它的沙盒运行但不能超出它。沙盒模型是由Applet防火墙来补充的,JCRE为每个运行Applet分配一个上下文(context),对一个对象的访问是由Java卡解释器控制的,它的控制基于被访问对象的类型和当前活动的context是否是该对象的context。除此而外,Java卡运行时间规则指定了一组JCRE执行要求以保证运行时间安全。
  Java卡平台的安全性由Java语言的安全性和定义在Java卡平台之上的附加安全保护机制组成。由于智能卡有许多的安全考虑,发行者期望智能卡有一个能够满足特定要求的安全计算平台, Java卡平台上的附加安全特性有:临时和永久对象;原子体和事务;Applet防火墙;对象共享;Applet中固有方法。
  2.3 Java智能卡平台的安全机制
  项目对有关Java卡平台安全机制的设计要求如下:
  1)由于卡在实际应用中会出现误操作或读卡机断电等异常情况需要保证出现这种情况后卡上数据不会丢失。
  2)因为Java卡可以动态下载Applet,要求能有效防止一些恶意的Applet 窃取或修改卡上原有Applet 的重要数据。
  下面将分别给出这两个问题的解决方案。
  2.3.1 原子性和事务处理
  在Java卡平台中数据被存储在实例中,由于在对数据的操作中可能会出现操作失败或断电,为保持这种情况下的操作前后的数据一致性,因此对Java卡的数据操作规定了安全保障。
  Java卡平台必须保证一个域的更新是原子性操作,也就是说,当更新出现错误或读卡机突然断电时,平台能保证域中的内容在下次启动时恢复为更改前的值。
  对一些数据块的更新也必须是原子性操作,这就是事务处理的含义。 要么数据块的所有值都更新,要么所有数据值都恢复到原先的值。 它与原子性的含义一样,只是处理的数据块范围更广,可以是一个字节,也可以是一个Java对象实例的所有数据。
  之所以将原子性及事务处理操作的具体实现放在虚拟机中完成,而将控制权交给虚拟机上层的系统类库,这是因为Java卡虚拟机只是解释运行Java 语言,并不知道应该对哪些数据进行原子性或事务处理操作,那些需要进行原子性或事务操作的数据可以通过在编写时调用系统类库的方法来指定。
  2.3.2 Java应用防火墙
  Java卡平台通过防火墙机制为卡上的多个应用提供安全的运行环境,多个不同的Applet能够共存在一张单独的卡上,所以为了保证一个Java智能卡应用程序(Applet)中的账户密码等信息不被别的Applet随意访问,需要在Applet之间设置防火墙来隔离非法访问。防火墙机制是Java智能卡运行环境的一个安全特性,它提供的对含有共享执行的对象中存贮数据使用的详细控制。防火墙机制在内存中为每个应用提供一块私有空间。因此,即使某个应用出现错误或者有敌意应用都不能影响其它应用。
  在开发过程中由于开发者的错误或者设计上的漏洞所引起的一个应用程序的敏感数据可以被其它应用程序访问,Java卡防火墙可有效地防止了经常出现的这种安全性问题。防火墙的本质是将Java卡平台的对象系统划分为互相独立被保护的对象空间,这些对象空间被称为上下文。所有的在同一个Java包中的应用实例共享一个上下文。这些应用实例之间都有防火墙,因此任意一个应用实例可以自由地访问处于同一个Java包中的其它应用实例。JCRE有它自己的上下文,这个上下文与其它的应用实例的上下文不同,它有特殊的系统权限,以至于它可以执行应用实例的上下文所不能执行的操作。
  
  3 结论
  
  在智能卡的使用中,安全性总是最重要的方面。Java语言由于其良好的安全性能,自然成为了对安全性、保密性和可靠性等要求严格的智能卡应用的首选。 通过在Java卡虚拟机中实现事务处理机制,在应用中可以保证卡的数据不会因误操作或读卡器的不正常中断而受到破坏。 而且Java卡中的防火墙技术保证了Applet能在一个高安全模式下建立、安装和运行,防止了有恶意的程序对系统其他部分的破坏,同时Java卡平台也保证发行者可以通过扩展加密算法类库,来定义进一步的安全性要求和策略以满足它们特定产业的要求。正因为Java卡平台能提供这些多方面的安全性能,所以它的应用范围也越来越广泛。
  
  参考文献:
  [1] 陈华,李大兴. 智能卡的安全性[J]. 通信保密,2000,83(3):26-29.
  [2] Wolfgang Rankl,Wolfgang Effing. 智能卡大全----智能卡的结构功能应用(第3版)[M].北京:电子工业出版社,2005.
  [3] 刘慧. Java智能卡的安全性分析与研究[硕士学位论文][D]. 济南:山东大学,2008
  [4] 王爱英.智能卡技术[M].北京:清华大学出版社,1996.
  [5] 刘嵩岩. 毛志刚. 叶以正. Java 卡的研究与实现[J]. 微电子学,2000,1(6).
  [6] 马多贺. Java智能卡开发及应用技术研究[D]. 哈尔滨工业大学学报, 2006,6.
其他文献
摘要:文章简单介绍了ARP协议,分析了ARP攻击的原理,从机制上说明了流行的防治方法的有效性。提出交换机双向绑定是目前较全面又持久的解决方案,它是由网络的管理和硬件的配置共同实现的。  关键词:网络安全;ARP攻击;双向绑定  中图分类号:TP393文献标识码:A文章编号:1009-3044(2008)36-2611-01  Schemes for ARP Disease Solving  YAN
摘要:本文结合作者设计制作多媒体课件的经验体会,讨论了利用Authorware制作多媒体课件过程中遇到的一些问题,以实例制作方式详细介绍了解决这些问题的方法和技巧,旨在提高制作多媒体课件水平。  关键词:Authorware;课件;应用  中图分类号:TP37 文献标识码:A文章编号:1009-3044(2008)15-20000-00    The Application of Authorwa
摘要:WEB信息系统交付一组复杂的内容和功能给大量的终端用户,使与服务器连接的所有客户机都能共享使用WEB信息系统提供的内容和功能。WEB信息系统测试通常包括:功能测试、性能测试、可用性测试、安全性测试、系统兼容性测试和接口测试。  关键词:WEB信息系统;测试  中图分类号:TP393文献标识码:A文章编号:1009-3044(2009)04-1004-02  WEB Information S
摘要:从世界范围来看,无论东方还是西方,13世纪中叶至19世纪是女性受压迫最深重的时代,这一时段的女性开始反抗压迫、追求爱情、萌生独立意识。在这一阶段的文学作品中,反映女性生活的叙事文学更好地体现了丰富的女性形象。本文将从莎士比亚戏剧和元明清戏曲文学作品中女性形象的同质与异质进行探讨。  关键词:中西文学作品 女性形象 同质 异质  一、前言  文学大师莎士比亚在他的戏剧中以人物形象的刻画著称,在
摘要:短信的发送需要GSM模块和处理器协作完成,GSM模块与ARM处理器通过串口连接,处理器向串口发送接收AT命令与GSM模块形成通信回路。中文短信的发送采用PDU模式,根据PDU模式标准形成PDU发送包,实现短信发送。本文根据无线电话项目的短信发送模块的实际开发流程编写,本文内容通过测试。  关键词:GSM;SMS;AT命令;PDU   中图分类号:TN929文献标识码:A文章编号:1009-3
摘要:本文首先分别介绍了IPSEC和NAT-PT的基本原理和工作方式,然后,作者试图说明两者同时使用会出现的矛盾,提出了一种新的改进策略。多层安全机制的协议改进策略是针对翻译机制的安全问题提出的一种改进策略,该策略中包含IPSEC机制和SSL/TLS安全机制。  关键词:IPSEC;NAT-PT;SSL/TLS安全机制  中图分类号:TP393文献标识码:A文章编号:1009-3044(2008)
纵观我国古代语文教育发展史可以发现,不论是在科举盛行的封建社会,还是在自由民主的现代社会,作文都是衡量语文学习的一把重要标尺。“一篇文章定终身”可谓是古代社会的真实写照,作文也因此受到人们的高度重视。因此,古代文人终身致力于探索写作方法技巧,其著作中保留着珍贵的理论成果。清代教育家唐彪和王筠都曾在其论著中阐述他们的教学思想,其中同异皆存。唐彪受制于八股取士的时代背景,将学习的最终目的定为考取功名,
摘要:随着嵌入式系统越来越广泛的应用,Linux由于其自身的特点成为最受欢迎的嵌入式操作系统之一。该文阐述了Linux在嵌入式系统中的应用,重点介绍了Linux可加载内核模块机制的基本原理和特点,以及编写和加载内核模块基本方法。  关键词:嵌入式Linux内核;可加载  中图分类号:TP316文献标识码:A文章编号:1009-3044(2008)26-1759-02    1 引言    一直以来
摘要:王选教授发明激光照排机,改变了汉字的处理方式,使计算机迈进了报业。随着计算机及其网络的快速升级和应用,报业得以突飞猛进地发展,并加速进入了数字时代。数字报业作为“多位一体”的新媒体,将会面临哪些挑战与应对,又会有什么样的发展瓶颈呢?该文将逐项分析。  关键词:计算机;报业;数字化;思考  中图分类号:G215文献标识码:A文章编号:1009-3044(2008)35-2312-03  Com
中学语文教材中的现当代文学作品或多或少、或显或隐地蕴含着传统文化,当代大家的经典散文尤其如此。汪曾祺是学生在中学时代接触较多的当代文学大家,他的作品诸如《昆明的雨》《葡萄月令》《胡同文化》《端午的鸭蛋》《受戒(节选)》《金岳霖先生》等,选入各版本的语文教材,适合作为课外阅读的文章更是数不胜数。汪曾祺的文风凝练而不失平易,亲切且更兼典雅,其中蕴含着大量传统文化元素,阅读其作品对于学生积累知识、培养情