Java智能卡的安全性分析与研究

Java智能卡的安全性分析与研究

论文摘要

Java智能卡(Java Card)是一种运行Java程序的接触式微处理器智能卡,是一种将智能卡(Smart Card)与Java语言相结合的技术,它深化了Java的应用层次,克服了智能卡硬件和软件开发专业性强、开发周期长等阻碍智能卡普及的缺点,制定了一个安全、便捷且多功能的平台。由于Java智能卡的广泛使用,其安全性已经成了非常重要的一个因素。本文目的在于深入研究Java智能卡安全技术,分析Java智能卡的安全性能。通过对Java Card安全技术的研究,提出了一些能运用于实践的构想并在此基础上进行设计应用。首先,从全局进行考虑,在系统研究的基础上,着重对Java智能卡的以下三个方面进行了分析:1、防火墙和对象共享机制Java智能卡平台通过防火墙机制为卡上的多个应用提供安全的运行环境。卡上的应用被防火墙隔离,独立于其他的应用。它提供了对含有共享执行对象的存贮数据所使用的详细控制,防止了开发过程中经常出现的安全问题。本文对两种机制进行了介绍,并针对其在实际应用中涉及的一些问题进行了讨论。2、垃圾回收机制现在Java智能卡技术最主要的瓶颈是硬件平台环境太小,导致其运行性能得不到很大的提升。基于这个特点,对内存空间的有效利用就显的尤为重要。垃圾回收器是Java语言的一个特色,尤其对Java智能卡而言。它不但可以简化Java智能卡程序的编写,而且能够实现动态的释放内存。本文就目前垃圾回收的研究现状进行讨论,并提出适合Java智能卡环境的垃圾回收机制。3、事务管理机制原子性(atomicity)表示在发生掉电或编程错误的情况下,数据或者全部更新或者全部不变,这样就可以避免留下不可预知的数值。JCRE为交易的原子性提供了强大的支持,因此如果一项交易没有完成,那么卡中的所有数据都会恢复到交易开始前的状态。这种机制保证了交易进行期间不会受到意外的干扰,本文将详细分析Java智能卡的事务机制。然后,文章介绍了Opencard Framework和Global Platform的概念,并详细说明了Opencard Framework的框架结构以及Global Platform应用程序安全下载的设计和实现,包括密钥管理设计、APDU命令的实现等。之后对GlobalPlatform的安全机制进行了分析,并有针对性的提出了相应的改进方案。在对Java智能卡的安全性的分析基础上,结合参考资料,实现了以下两个模型:1、加密及签名模型。Java智能卡本身的安全性体现在对数据的保护上,Java智能卡API中的Javacard.security和Javacardx.cryptos包提供了当前通用的各种加密算法和技术。其中包括对称/公开密钥算法、数字签名和验证、pin码管理等。在对AES、ECC、椭圆曲线签名算法分析的基础上,引入了组合公钥的思想,提出了一种混合密钥系统。该系统具有保密和鉴别(数字签名)的功能。之后根据Java Card开发步骤,设计出AES、ECC算法、椭圆曲线签名算法的类模块及时序图,而后运行成功,证明该方案具有实际可行性。2、在分析Java智能卡的工作原理基础上,结合Global Platform系统的安全性,完善了一种Java智能卡平台安全性的方案。该方案以密钥集的管理和应用为基础,通过划分不同密钥集的认证管理权限和提供安全通道,实现不同卡外实体对卡上内容的安全管理。本文主要完成了以下两个方面的创新:1、在Java Card中引入了组合公钥思想,实现了集成了AES、ECC及椭圆曲线签名算法的混合密钥系统,并在模型中优化了相关算法;2、完善了一个Java智能卡的密钥管理方案。

论文目录

  • 摘要
  • Abstract
  • 第1章 绪论
  • 1.1 课题的来源及意义
  • 1.2 智能卡
  • 1.3 Java智能卡
  • 1.3.1 Java智能卡的结构
  • 1.3.2 Java智能卡的生命周期
  • 1.3.3 Java智能卡系统工作流程
  • 1.3.4 Java智能卡的技术规范
  • 1.4 Java智能卡的研究现状
  • 1.5 论文结构
  • 第2章 Java智能卡安全性的研究和分析
  • 2.1 防火墙机制和对象共享机制
  • 2.1.1 上下文
  • 2.1.2 JCRE入口点对象
  • 2.1.3 Java智能卡的访问机制
  • 2.1.4 防火墙的实现
  • 2.1.5 关于防火墙机制的思考
  • 2.2 垃圾回收机制
  • 2.2.1 垃圾回收算法
  • 2.2.2 Java智能卡垃圾回收的研究现状
  • 2.2.3 关于Java智能卡的垃圾回收的一些讨论
  • 2.3 事务管理机制
  • 2.3.1 原子性
  • 2.3.2 事务处理
  • 2.4 Java智能卡安全性的其它方面
  • 第3章 Opencard Framework和Global Platform
  • 3.1 Opencard Framework
  • 3.1.1 OCF中的智能卡终端层
  • 3.1.2 OCF中的智能卡服务层
  • 3.1.3 与PC/SC的比较
  • 3.2 Global Platform
  • 3.2.1 GP的体系结构
  • 3.2.2 应用程序安全下载的实现
  • 3.2.3 应用程序安全通信的实现
  • 3.2.4 安全域的密钥管理
  • 3.2.5 安全机制的分析和改进
  • 第4章 基于Java智能卡的应用
  • 4.1 混合密钥系统
  • 4.1.1 AES算法
  • 4.1.2 椭圆曲线密码系统
  • 4.1.3 混合密钥系统
  • 4.2 Java智能卡安全模型
  • 结论
  • 参考文献
  • 致谢
  • 攻读学位期间参与的科研项目
  • 学位论文评阅及答辩情况表
  • 相关论文文献

    标签:;  ;  ;  

    Java智能卡的安全性分析与研究
    下载Doc文档

    猜你喜欢