论文部分内容阅读
随着科学技术的高速发展,智能卡软硬件资源越来越丰富,人们对作为信息载体的智能卡的要求也越来越高。即便智能卡开发技术相比于10年前得到了很大的提高,智能卡由最初的单应用智能卡技术发展到多应用智能卡技术、由专用平台升级到通用平台、由封闭式的系统研发环境升至开发式的系统研发环境,出现了基于Java虚拟机的开放式的卡片如Java Card。但Java Card由于缺少面向智能卡应用的通用应用开发框架,并且对芯片协处理器速度、存储空间等都有着很高的要求,开发门槛依然很高,很难开发出高效的程序,而且多个程序之间也很难共享代码资源。传统COS是针对某一种特定芯片开发的。事实上,这种操作系统与嵌入在芯片的ROM中的应用程序别无二致。通常芯片生产商都是自己开发COS。因为只有厂商才真正了解芯片底层的技术细节。由于受到处理能力和存储空间的限制,传统的芯片COS是专用的,即一个COS只针对一种芯片,为一种具体应用而实现。由于对不同的智能卡并没有一个通用的开发环境。每次要开发一种新的应用,都需要重新了解新的开发环境。由于所有的智能卡都是在专门的开发环境中开发出来的,不同芯片的生产商生产出来的相同应用的芯片可能并不兼容,这使同一系统中使用不同生产商的芯片变得很复杂。所有这一切导致传统智能卡应用的研发过程漫长,开发成本大、技术不能共享等诸多问题,制约生产发展,不符合市场发展需求。根据上述背景,本文首先深入研究智能卡基本工作原理以及智能卡操作系统内的各主要模块。分析智能卡COS内通信管理模块、文件管理模块、安全模块、硬件资源等模块之间具体的交互关系。其次,通过对现有的不同的COS的体系结构的模型的提取、归类,对不同的类型的COS的体系结构的模型分析优缺点。根据当前应用要求的分析和对现有的COS模型的分析,结合现有应用的研究,提出一个统一的COS的结构模型。并且从时间、空间、安全、实现效率方面阐述和论证该模型的特点。最后在通过分析三种智能卡芯片的基础上,归纳出一虚拟芯片,并以该虚拟芯片为基础,提出智能卡操作系统硬件驱动抽象层的概念。封装底层驱动,实现统一接口,使得智能卡操作系统上层应用与底层驱动的关系为松耦合高内聚,提高了移植的效率。针对于不同智能卡硬件资源,当代码存储空间有限时使用静态加载,可以节省存储空间,如果对于系统的移植性能有较一个要求时,可使用驱动动态加载。通过两种驱动加载方式的灵活使用,可应用于各种不同类型智能卡芯片。从而加快智能卡操作系统应用开发和移植的效率,缩短智能卡操作系统开发的周期,减少智能卡操作系统的研发经费,使其可尽快的投入市场。