新一代智能卡操作系统NOP的分析与解读
文章出处:http://www.nexussmartsolutions.com 作者:东信和平智能卡股份有限公司 人气: 发表时间:2011年09月29日
一、NOP智能卡操作系统的开发动机
1、智能卡软件发展的三个阶段:
说明:
(1)安全性是智能卡软件的核心问题。
(2)智能卡软件是向后兼容的,第三阶段也包括第一、二阶段的功能。
(3)应用程序我国企业已经完全掌握了,具有国际竞争性。
(4)开放平台由于版权和技术的问题,在我国尚未推广,虽然在国外已经普及,但并没有严重影响国内市场。
(5)智能卡行业现在正处在一个全面的产业升级阶段。
2、智能卡操作系统的机遇与挑战:
(1)经过十多年的技术积累,我国智能卡企业已经基本具备了参与第三次产业升级的能力。
(2)在进行第三次产业升级的同时解决第二阶段中遗留的问题。
(3)国外企业为了重新拉开与我国企业的差距,最近几年加大了对新一代智能卡操作系统的研发力度。
(4)新一代智能卡操作系统的复杂性大大提高,特别是开放、并发的系统安全性。
二、 NOP智能卡操作系统的历史
1.何为NOP?NOP=National/New Open Platform
2.NO智能卡操作系统发展的三个阶段:
NOP第一期:理论、工具、和方法研发。
(1)理论基础:密码学、信息安全等
(2)需求开发:挖掘需求,规范需求,管理需求
(3)分析设计:结构化方法,形式化方法,半形式化方法
(4)在线调试:模拟级,仿真级,目标板
(5)在线分析:跟踪、性能、覆盖率、内存分析等
(6)多处理器:硬件和虚拟机混合在线调试与分析
以上六个阶段为新一代智能卡集成开发所需要的环境。
NOP第二期:核心技术、和新技术研发。
(1)开放技术:硬件的防火墙,微浏览器,解释器,虚拟机等
(2)通信技术:USB,MMC,SWP,HTTP(S),TCP/IP,ISO14443等
(3)并发处理:多通道等因素造成并发性,因此需要同时处理
(4)图形界面:传统的为APDU命令行方式,现需要图形化界面
(5)其它技术:断电保护,补丁,安全文件系统,卡片管理等
以上技术可以组合成多种产品。
三、NOP智能卡操作系统的特点:
特点1:基于栈和寄存器的面向对象的虚拟机
用户可以通过高级编程语言开发应用程序,通过虚拟机执行。虚拟机为基于栈和寄存器的面向对象的解决方案,它比其它虚拟机的时空效率高出大约20-25%。
特点2:多个高速对外通道
除了传统的ISO7816、ISO14443等通道,还有更多种类的接口,如SWP和高速通道,如MMC,IC_USB(2.0)等。
不同种类通道的软件通讯接口采用统一的Socket方式,它不但可以作为输入输出的,也可作为网络编程、任务间通讯的统一形式的API接口。SOCKET方式不仅功能完善、而且也为普通的软件开发人员所熟悉。
特点3:并发处理
由于智能卡的特殊性,针对不同的系统部件采用不同的并发处理模式。例如在通讯模块采用协作方式,因为通讯程序对时间的准确性要求比较高;在用户程序层面采用轮回方式,因为每个应用程序往往需要平等的执行机会;在系统内核和系统服务层面则采用抢先多任务方式,这样,系统程序将有更高的优先级别,以便更好地管理整个系统和为应用程序提供服务。
特点4:网络编程
卡内置TCP/IP协议栈,应用程序通过Socket编程接口进行网络编程。Socket接口不仅作为网络编程接口,而且作为点对点通讯和文件系统访问和任务间通讯的统一接口。网络编程不仅可以实现网络结点间的数据交换,而且通过一定的协议,还可以实现例如远程方法调用等功能,这样,可以更好地支持分布式系统。
特点5:图形化的人机界面
传统的智能卡只能通过类似于命令行的方式(如APDU)与外界交互。随着行业的发展,和用户要求的提高,一个友好的图形化用户界面对智能卡程序而言变得越来越重要。NOP为智能卡程序员提供很方便的开发图形化界面的程序(类似与VC++的编程方法)。
特点6:主动运行程序
传统的智能卡只能以slave的身份被动地为master提供service,而无法以client的身份主动地要求slave提供service。这种限制来自于通讯协议和智能卡程序模式等多各方面。显然,这种模式大大限制了智能卡程序的发展。而理想的模式应该是既支持被动方式,也支持主动方式,既对等模式(Peer to Peer)。NOP支持智能卡主动地运行程序。
特点7:集成开发环境
首先,NOP采用面向对象的高级语言(如C++等)开发应用程序;
其次,NOP为用户提供集成化的开发环境(包括需求开发、分析、设计、编程、测试等,还包括例子代码、文档等);
最后,NOP为应用提供多种框架代码,这不但方便了应用开发,提高了应用程序的质量,而且也增强了整个系统的安全型。
特点8:安全文件系统
采用内置文件系统作为可配置多应用的解决方案,为第三方的应用程序提供安全文件系统的支持,并为系统的内部管理提供服务。
特点9:管理
以文件系统作为存储机制,以文件系统的操作作为管理接口,对卡片、程序进行统一的管理,分别包括:卡片平台管理、应用程序管理、应用程序安装与卸载管理、应用程序运行管理。
特点10:安全
设计时,采用形式化与半形式化的方式进行设计和证明。
采用多种安全机制,如系统程序和应用程序、应用程序之间的防火墙机制,设置用户访问权限,运行中检测访问者的身份与权限等。
进行安全分析和测试。准备安全认证,如CC认证。
四、NOP智能卡操作系统应用程序集成开发环境
五、 NOP智能卡操作系统的安全性
1.简单化,在不影响功能和性能的前提下,采用简单明了的软件体系结构。
2.系统化,全面地设计、开发、测试整个系统的安全性。
3.标准化,采用符合国际标准的方法,如CC,开发与认证系统安全。
4.此外,其它的安全措施。如通过软、硬件相结合,提高系统的防攻击性;如采用多种保护措施(再AES加密等)例如DES加密后。