论文部分内容阅读
智能IC卡是从70年代初由法国人Roland Moreno首次发明的,自从它诞生以来,以其超小的体积、先进的集成电路芯片技术、特殊的保密措施、难以被破译和仿造的特点而受到普遍欢迎。随着30多年来的技术和应用的发展,智能IC卡技术已经广泛应用在金融、交通、医疗、政务、海关、零售及身份认证等很多领域或行业。作为IC卡技术的核心,COS(片内操作系统)的开发由于片内容量、存储、运算速度等的限制,要达到高可靠性、快速运行、极佳的安全性能,就需要全面的系统架构、完善的模块设计和更优化的算法模型。而直接在芯片的模拟开发环境中进行设计和开发,工作量是很大的,并且很难做完整的功能和可靠性测试。本文从辅助COS研发的角度出发,提出虚拟智能卡系统的想法和设计,目标是为智能卡COS提供一个原型开发和完整检测的平台,同时也为刚刚接触智能卡技术的人提供了一个更容易接触、学习和理解的环境。本文先从智能卡的概念和行业标准上予以阐述,详细介绍了智能卡操作系统的基本框架结构;然后用一定的篇幅介绍了智能卡在PC上的应用接口规范PC/SC,对本文在虚拟智能卡的开发过程中涉及到的部分做了详细的描述。在虚拟智能卡系统的开发中,重点是虚拟智能卡读卡器驱动的开发,以及软件模拟COS的模块设计和实现。为了较全面地验证虚拟智能卡系统的运行,本文最后介绍了如何在Windows开发平台上,开发基于PC/SC规范的CSP(加密服务提供者)中间件;同时在指令方面的设计,也涉及到公钥系统的加密类指令。最后,希望能通过这个虚拟平台,能更好地设计应用在各种行业领域的COS,比如软件加密狗、EMV银行卡、USB钥等。通过在虚拟平台上的原型设计、实现和检测等手段,找到各种应用在COS开发上的独特性,提前发现设计的安全缺陷和可靠性方面的弱点。