论文部分内容阅读
随着我国信息化建设的不断推进和信息技术的持续发展,Java卡在身份认证、电子支付和信息安全领域得到了广泛应用。Java卡是一种能运行Java语言程序的智能卡,相对于传统native智能卡,它以支持多应用和拥有良好的安全性、面向对象的编程环境、应用程序的动态下载、安装、删除等众多优点成为智能卡技术在当前的主流应用,同时也使这一技术成为智能卡领域研究和发展的热点。课题基于北京市嵌入式系统重点实验室开发的双界面智能卡芯片BES2416。在此款native智能卡芯片基础上,设计并实现符合Oracle公司的Java智能卡相关协议要求的Java卡运行时环境(run-time Environment)。最终实现芯片的多功能应用。论文根据嵌入式系统设计思想,以Java卡规范和CPU卡相关协议为理论基础,包括ISO/IEC7816、ISO/IEC14443等国际标准和中国金融集成电路(IC)卡规范2.0国内标准,结合BES2416芯片FPGA设计硬件平台,采用C语言开发,使用KEIL集成开发环境,对系统进行优化设计与实现。并利用实验室开发的读卡器设备对系统进行测试。在综合考虑所选用芯片的硬件结构基础上,提出了纯软件实现的Java智能卡运行时环境的整体架构,在native智能卡芯片上实现了Java智能卡的功能;为了提高Java智能卡的运行效率,提出了新型的Java智能卡运行框架的软件架构,通过C语言开发代替Java语言,使Java卡运行框架的运行直接由硬件CPU进行解释和执行,而不需要通过软件实现的Java卡虚拟机运行;基于“以碎治碎”的思想,设计了新型的EFLASH存储空间分配机制,解决了Java卡存储空间碎片化的问题;在实现协议规定的Java智能卡防火墙功能基础上,设计了安全域管理机制,解决了卡片内不同应用之间的安全管理问题。并对系统进行优化设计,增加了低功耗设计和防掉电设计,以保证实用过程中的数据的完整性。论文从嵌入式软件的统一测试模型入手,分析了嵌入式软件测试的特点。根据Java卡的总体架构、软件实现以及应用特点,确定了Java卡测试内容,主要包括基本功能测试、安全性测试和性能测试,最后,对测试结果进行了分析。并提出了改进与展望。目前已完成Java卡运行时环境的建立,经测试表明此设计具有较好的稳定性和安全性。论文提出的Java卡运行时环境设计方法和测试方案是在实际项目基础上完成的,对Java卡系统的开发、相关协议测试具有一定的参考意义。